一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

人脸检测方法、装置、电子设备以及可读存储介质与流程

2021-11-24 21:11:00 来源:中国专利 TAG:

人脸检测方法、装置、电子设备以及可读存储介质
1.分案说明
2.本公开是2021年2月23日提交的申请号为202110202066.9、发明名称为“人脸检测方法、装置、电子设备以及可读存储介质”的发明专利申请的分案申请。
技术领域
3.本公开涉及人脸识别技术领域,具体涉及一种人脸检测方法、装置、电子设备以及可读存储介质。


背景技术:

4.随着人体身份识别核验技术和图像智能检测识别技术的不断发展,人脸识别技术也日趋成熟,人脸识别应用越来越趋于终端,web端,并且输入条件的降低使人机交互更加便利。一般来说人脸识别技术包含人脸检测技术、人脸关键点定位技术、人脸特征提取技术和人脸属性分析技术。本发明人发现,现有人脸检测算法计算量大,耗时多难以在终端(例如门禁)中部署。


技术实现要素:

5.为了解决相关技术中的问题,本公开实施例提供一种人脸检测方法、装置、电子设备以及可读存储介质。
6.第一方面,本公开实施例中提供了一种人脸检测方法。
7.具体地,所述人脸检测方法,包括:
8.通过主干卷积神经网络处理人脸图像数据,其中,所述主干卷积神经网络包括多个处理阶段,每个所述处理阶段输出第一特征图;
9.通过特征融合网络处理多个所述第一特征图,得到多个第二特征图;
10.基于所述多个第二特征图,确定多个预测框;
11.获取在柔性最大值运算下表明置信度的第一阈值;
12.将所述第一阈值转化为在加减运算下表明置信度的第二阈值;
13.基于所述预测框和所述第二阈值确定预测结果。
14.结合第一方面,本公开在第一方面的第一种实现方式中,通过下式将所述第一阈值转化为所述第二阈值:
15.其中,t1为第一阈值,t2为第二阈值。
16.结合第一方面,本公开在第一方面的第二种实现方式中,所述主干卷积神经网络包括交替设置的多个普通卷积层和多个深度可分离卷积层。
17.结合第一方面、第一方面的第一种或第二种实现方式中的任一项,本公开在第一方面的第三种实现方式中,所述通过特征融合网络处理多个所述第一特征图,得到多个第二特征图包括:
18.通过第一融合子网络处理多个所述第一特征图,用于在所述第一特征图之间融合特征,得到多个第三特征图;
19.通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图。
20.结合第一方面的第三种实现方式,本公开在第一方面的第四种实现方式中,多个所述第一特征图至少包括特征图c1和特征图c2,所述特征图c1的尺寸大于特征图c2的尺寸,所述通过第一融合子网络处理多个所述第一特征图,用于在所述第一特征图之间融合特征,得到多个第三特征图包括:
21.分别通过1
×
1的卷积层处理所述特征图c1和c2,得到通道数相同的特征图m1和p2;
22.对p2上采样得到特征图m2_up,并与m1叠加,得到特征图m1_add;
23.通过3
×
3的卷积层处理m1_add,得到特征图p1,
24.其中,p1和p2为第三特征图,所述上采样使用最近邻插值算法实现。
25.结合第一方面的第三种实现方式,本公开在第一方面的第五种实现方式中,所述通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图包括对每个第三特征图p执行以下操作:
26.通过具有第一输出通道数的卷积层处理p,得到特征图s1;
27.通过具有第二输出通道数的卷积层处理p,得到特征图t;
28.通过两个卷积通道分别处理t,得到特征图s2和s3,其中,s2和s3的通道数为所述第二输出通道数;
29.按通道叠加s1、s2和s3,得到具有预定通道数的第二特征图f。
30.结合第一方面、第一方面的第一种至第五种实现方式中的任一项,本公开在第一方面的第六种实现方式中,所述基于所述多个第二特征图,确定多个预测框包括:
31.基于所述第二特征图中的像素点确定锚点位置;
32.基于所述第二特征图的尺寸确定锚点框的尺寸,其中,所述第二特征图的尺寸与所述锚点框的尺寸之间呈负相关关系;
33.基于所述第二特征图的下采样倍率和所述锚点框的尺寸确定各个锚点位置产生的预测框的密度;
34.基于所述锚点位置、锚点框的尺寸以及各个锚点位置产生的预测框的密度确定多个预测框,每个所述预测框包括以下信息:所述预测框的位置和尺寸,所述预测框为正样本的第一置信度以及所述预测框为负样本的第二置信度。
35.结合第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,所述基于所述预测框和所述第二阈值确定预测结果包括:
36.基于所述第一置信度和所述第二置信度的差值,确定预测得分大于第二阈值的预测框;
37.通过二叉树插值和中序排序算法对所述预测得分大于第二阈值的预测框按照预测得分排序,得到排序结果;
38.根据所述排序结果,通过非极大值抑制处理所述预测得分大于第二阈值的预测框,以过滤重复的预测框,得到预测结果。
39.结合第一方面、第一方面的第一种至第七种实现方式中的任一项,本公开在第一
方面的第八种实现方式中,该方法还包括:
40.获得样本图像;
41.将所述样本图像的亮度映射到特定区间,以构造增广图像;
42.基于所述样本图像和所述增广图像训练包括所述主干卷积神经网络和特征融合网络在内的人脸检测模型。
43.第二方面,本公开实施例中提供了一种人脸检测装置。
44.具体地,所述人脸检测装置,包括:
45.特征提取模块,被配置为通过主干卷积神经网络处理人脸图像数据,其中,所述主干卷积神经网络包括多个处理阶段,每个所述处理阶段输出第一特征图;
46.特征融合模块,被配置为通过特征融合网络处理多个所述第一特征图,得到多个第二特征图;
47.预测框确定模块,被配置为基于所述多个第二特征图,确定多个预测框;
48.阈值获取模块,被配置为获取在柔性最大值运算下表明置信度的第一阈值;
49.阈值转化模块,被配置为将所述第一阈值转化为在加减运算下表明置信度的第二阈值;
50.结果确定模块,被配置为基于所述预测框和所述第二阈值确定预测结果。
51.第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种到第八种实现方式中任一项所述的方法。
52.第四方面,本公开实施例中提供了一种计算机可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种到第八种实现方式中任一项所述的方法。
53.根据本公开实施例提供的技术方案,通过将柔性最大值的阈值比较转化为加减运算的阈值比较,极大地节省了计算量,提高了处理效率,也降低了在终端部署模型的难度。
54.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
55.结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
56.图1示出根据本公开实施例的人脸检测方法的流程图;
57.图2示出根据本公开实施例的通过特征融合网络处理多个所述第一特征图,得到多个第二特征图的流程图;
58.图3示出根据本公开实施例的通过第一融合子网络处理多个所述第一特征图,得到多个第三特征图的流程图;
59.图4示出根据本公开实施例的通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图的流程图;
60.图5示出根据本公开实施例的第二融合子网络的结构示意图;
61.图6示出根据本公开实施例的基于所述多个第二特征图,确定多个预测框的流程
图;
62.图7a~图7d示出根据本公开实施例的锚点框扩充的示意图;
63.图8示出根据本公开实施例的基于所述预测框和所述第二阈值确定预测结果的流程图;
64.图9示出根据本公开实施例的模型训练方法的流程图;
65.图10示出根据本公开实施例的人脸检测装置的框图;
66.图11示出根据本公开实施例的电子设备的框图;
67.图12示出根据本公开实施例的适于实现人脸检测方法的计算机系统的结构示意图。
具体实施方式
68.下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
69.在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
70.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
71.图1示出根据本公开实施例的人脸检测方法的流程图。
72.如图1所示,该方法包括操作s110~s160。
73.在操作s110,通过主干卷积神经网络处理人脸图像数据,其中,所述主干卷积神经网络包括多个处理阶段,每个所述处理阶段输出第一特征图;
74.在操作s120,通过特征融合网络处理多个所述第一特征图,得到多个第二特征图;
75.在操作s130,基于所述多个第二特征图,确定多个预测框;
76.在操作s140,获取在柔性最大值运算下表明置信度的第一阈值;
77.在操作s150,将所述第一阈值转化为在加减运算下表明置信度的第二阈值;
78.在操作s160,基于所述预测框和所述第二阈值确定预测结果。
79.根据本公开实施例的技术方案,通过将柔性最大值的阈值比较转化为加减运算的阈值比较,极大地节省了计算量,提高了处理效率,也降低了在终端部署模型的难度。
80.根据本公开实施例,人脸图像数据可以是单张图像的图像数据,也可以是视频帧的图像数据。人脸图像数据例如可以通过摄像头采集,例如门禁系统可以收集摄像头采集的图像数据,利用人脸识别算法识别图像中是否包含有权限的人的人脸,从而控制门禁的状态。
81.根据本公开实施例,主干卷积神经网络例如可以采用各种已有的神经网络模型,用于提取图像的特征。主干卷积神经网络分为多个处理阶段,每个处理阶段执行完成后输出一个第一特征图。可选地,主干卷积神经网络在输入层到输出层的方向上,数据的尺寸逐渐减小,因此,在先的处理阶段输出的第一特征图的尺寸大于在后的处理阶段输出的第一特征图的尺寸,从而形成特征金字塔。
82.根据本公开实施例,特征融合网络用于进一步挖掘多个第一特征图中的特征,形
98.当第一阈值t1确定时,ln(t1)

ln(1

t1)是常量,设该常量为t2,即:
[0099][0100]
当第一阈值t1固定时,只需计算一次t2值,便可直接用第一置信度a1和第二置信度a0的差值计算得分是否满足条件。
[0101]
本公开实施例提供的方法通过计算一次常量巧妙比对softmax阈值,与针对每个对象计算softmax的方法相比,二者的效果一致。当输入网络的大小固定时,例如可以产生8208个预测框,如果每个预测框都计算softmax,需要计算8208次softmax运算,而本方案只需要计算一次第二阈值,就可以把大量的softmax运算简化为加减运算,因此,本公开实施例的方法可以在数据后处理阶段大大降低计算量,提高检测效率。
[0102]
根据本公开实施例,所述主干卷积神经网络包括交替设置的多个普通卷积层和多个深度可分离卷积层。
[0103]
通过采用深度可分离卷积替代普通卷积来提取特征,在保证足够的网络深度的同时,可以进一步降低参数量,进而降低计算量。
[0104]
假设卷积核大小为k
h
×
k
w
,输入通道数为c
in
,输出通道数为c
out
,输出特征图的宽和高分别为w和h,这里忽略偏置项。
[0105]
对于标准卷积层:
[0106]
参数数量为:params=k
h
×
k
w
×
c
in
×
c
out
[0107]
每秒所执行的浮点运算次数flops为:params
×
h
×
w
[0108]
而对于深度可分离卷积:
[0109]
在进行depthwise卷积时只使用了一种维度为in_channels的卷积核进行特征提取(没有进行特征组合);在进行pointwise卷积时只使用了output_channels种维度为in_channels 1
×
1的卷积核进行特征组合,按照不同比例(可学习的参数)进行相加的。
[0110]
参数数量由原来的k
h
×
k
w
×
c
in
×
c
out
变为了k
h
×
k
w
×
c
in
×
1 1
×1×
c
in
×
c
out
,若k
h
=3,k
w
=3,c
out
=64,参数量大约会减少到原来的1/8~1/9。
[0111]
根据本公开实施例,主干神经网络结构例如可以实现为表1所示的形式。其中conv表示普通卷积层后接批标准化层(batch normalization,bn)和激活层(例如relu),conv dw表示深度可分离卷积层后接批标准化层和激活层,s2代表步长为2,s1代表步长为1,padding模式为same模式。其中c1,c2,c3为三个分支的输出,即三个第一特征图。
[0112]
表1
[0113]
卷积类型/步长卷积核尺寸输入尺寸conv/s23
×3×3×
8192
×
128
×
3conv dw/s13
×3×
8dw96
×
64
×
8conv/s11
×1×8×
1696
×
64
×
8conv dw/s23
×3×
16dw96
×
64
×
16conv/s11
×1×
16
×
3248
×
32
×
16conv dw/s13
×3×
32dw48
×
32
×
32conv/s11
×1×
32
×
3248
×
32
×
32
conv dw/s23
×3×
32dw48
×
32
×
32conv/s11
×1×
32
×
6424
×
16
×
32conv dw/s13
×3×
64dw24
×
16
×
64conv/s1(c1)1
×1×
64
×
6424
×
16
×
64conv dw/s23
×3×
64dw24
×
16
×
64conv/s11
×1×
64
×
12812
×8×
64conv dw/s13
×3×
128dw12
×8×
128conv/s11
×1×
128
×
12812
×8×
128conv dw/s13
×3×
128dw12
×8×
128conv/s11
×1×
128
×
12812
×8×
128conv dw/s13
×3×
128dw12
×8×
128conv/s11
×1×
128
×
12812
×8×
128conv dw/s13
×3×
128dw12
×8×
128conv/s1(c2)1
×1×
128
×
12812
×8×
128conv dw/s23
×3×
128dw12
×8×
128conv/s11
×1×
128
×
2566
×4×
128conv dw/s13
×3×
256dw6
×4×
256conv/s1(c3)1
×1×
256
×
2566
×4×
256
[0114]
根据本公开实施例,特征融合网络例如可以包括第一融合子网络和第二融合子网络。
[0115]
图2示出根据本公开实施例的通过特征融合网络处理多个所述第一特征图,得到多个第二特征图的流程图。
[0116]
如图2所示,操作s120可以包括操作s210和s220。
[0117]
在操作s210,通过第一融合子网络处理多个所述第一特征图,用于在所述第一特征图之间融合特征,得到多个第三特征图;
[0118]
在操作s220,通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图。
[0119]
通过两次融合,可以增加不同的感受野,可注意到不同尺寸的人脸,有助于改善人脸检测效果。
[0120]
根据本公开实施例,多个所述第一特征图至少包括特征图c1和特征图c2,所述特征图c1的尺寸大于特征图c2的尺寸。如上文所述,第一特征图例如可以包括c1,c2和c3。
[0121]
图3示出根据本公开实施例的通过第一融合子网络处理多个所述第一特征图,得到多个第三特征图的流程图。
[0122]
如图3所示,操作s210可以包括操作s310~s330。
[0123]
在操作s310,分别通过1
×
1的卷积层处理所述特征图c1和c2,得到通道数相同的特征图m1和p2;
[0124]
在操作s320,对p2上采样得到特征图m2_up,并与m1叠加,得到特征图m1_add;
[0125]
在操作s330,通过3
×
3的卷积层处理m1_add,得到特征图p1,其中,p1和p2为第三特征图。
[0126]
根据本公开实施例,所述上采样例如可以通过最近邻插值算法实现。如下所示:左侧为小特征图,右侧为上采样两倍的最近邻插值得到的特征图:
[0127][0128][0129]
通过最近邻值插值算法,可以在上采样的过程中最大程度地保留特征图的语义信息(有利于分类),从而与上采样过程中相应的具有丰富的空间信息(高分辨率,有利于定位)的特征图进行融合,从而得到既有良好的空间信息又有较强烈的语义信息的特征图。
[0130]
本公开的一种实施方式中,该第一融合子网络例如可以参见表2所示意的形式。
[0131]
表2
[0132][0133]
根据本公开实施例,主干网络得到c1,c2和c3三个分支的输出后,送入特征融合网络将顶层的特征与底层特征进行特征融合,特征融合即自顶向下的过程通过上采样(up

sampling)的方式将顶层的小特征图放大到上一个阶段的特征图一样的大小。
[0134]
如表2所示,c1,c2,c3层分别先经过1
×
1卷积,改变特征图的通道数(所有m层的通道数一致,例如本公开实施例中设置d=64)得到m1,m2,m3。m3通过上采样得到m3_up,再和m2对应位置相加,得到m2_add。m2_add通过上采样得到m2_up,再和m1对应位置相加,得到m1_add。m1_add,m2_add层特征图再经过3
×
3卷积(减轻最近邻近插值带来的混叠影响,周围的数都相同),得到最终的p1,p2,p3层特征,即第三特征图。
[0135]
可以了解,表2所示意的实施例中的c2、c3、m2、p3(m3)、m3_up、m2_add和p2分别相当于操作s310~s330中描述的c1、c2、m1、p2、m2_up、m1_add和p1。其原因是表2所示意的实施例中存在三个第一特征图,因而导致序号移位。
[0136]
根据本公开实施例,特征融合层后将p1,p2,p3通过第二融合子网络进一步融合不同感受野的信息。
[0137]
图4示出根据本公开实施例的通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图的流程图。
[0138]
如图4所示,操作s220可以包括操作s410~s440。
[0139]
在操作s410,通过具有第一输出通道数的卷积层处理p,得到特征图s1;
[0140]
在操作s420,通过具有第二输出通道数的卷积层处理p,得到特征图t;
[0141]
在操作s430,通过两个卷积通道分别处理t,得到特征图s2和s3,其中,s2和s3的通道数为所述第二输出通道数;
[0142]
在操作s440,按通道叠加s1、s2和s3,得到具有预定通道数的第二特征图f。
[0143]
下面参照图5所示意的第二融合子网络进行说明。
[0144]
图5示出根据本公开实施例的第二融合子网络的结构示意图。
[0145]
如图5所示,第二融合子网络可以是一个三分支网络。对于任一第三特征图,例如p1,首先执行卷积核大小为3
×
3,输出通道为32的普通卷积,然后进行批标准化,得到s1;p1再经过卷积核3
×
3输出通道为16的卷积、批标准化层、relu激活层之后得到t2,t2再经过卷积核3
×
3输出通道为16的卷积层、批标准化层得到s2;t2经过另一个卷积核3
×
3输出通道为16的卷积层、批标准化层、relu激活层之后得到t3,t3经过卷积核3
×
3输出通道为16的卷积层、批标准化层得到s3,最后将s1,s2,s3按通道维度进行拼接之后经过relu激活层得到第二特征图f1,f1仍然是64通道的特征图。同理,可以对p2和p3分别进行以上处理得到f2和f3。
[0146]
类似地,以上所示意的实施例中的p1和t2分别相当于操作s410~s440中描述的p和t。
[0147]
本发明人发现,现有检测算法还存在对较小人脸检测效果不佳的问题,为此,本公开实施例提出了在生成预测框时对较小视野下的锚点框的数量进行扩充的方案。
[0148]
图6示出根据本公开实施例的基于所述多个第二特征图,确定多个预测框的流程图。
[0149]
如图6所示,操作s130可以包括操作s610~s640。
[0150]
在操作s610,基于所述第二特征图中的像素点确定锚点位置;
[0151]
在操作s620,基于所述第二特征图的尺寸确定锚点框的尺寸,其中,所述第二特征图的尺寸与所述锚点框的尺寸之间呈负相关关系;
[0152]
在操作s630,基于所述第二特征图的下采样倍率和所述锚点框的尺寸确定各个锚点位置产生的预测框的密度;
[0153]
在操作s640,基于所述锚点位置、锚点框的尺寸以及各个锚点位置产生的预测框的密度确定多个预测框。
[0154]
根据本公开实施例,第二特征图f1,f2,f3的大小与原始输入图像之间的下采样倍率例如分别是8,16,32。由于经过的卷积层越多,下采样倍率越高,对应的感受野也越大。本公开实施例可以定义多种不同尺寸的锚点框,例如可以定义分别为16
×
16,32
×
32,64
×
64,128
×
128,256
×
256以及512
×
512的锚点框。在下采样倍率较小的第二特征图(尺寸较大的第二特征图)上使用较小尺寸的锚点框预测,在下采样倍率较大的第二特征图(尺寸较
小的第二特征图)上使用较大尺寸的锚点框预测。例如,在f1上使用16
×
16和32
×
32两种尺寸的锚点框预测,在f2上使用64
×
64和128
×
128两种尺寸的锚点框预测,在f3上使用256
×
256和512
×
512两种尺寸的锚点框预测。
[0155]
通常地,每个锚点位置预测一组不同宽高比和不同尺寸的锚点框,例如,在宽高比为1:1、1:1.5和1.5:1,尺寸为16
×
16和32
×
32的情况下,每个锚点位置预测3
×
2=6个锚点框。在本公开实施例中,宽高比固定为1:1,对于特征图f1而言,每个锚点位置预测16
×
16和32
×
32两个锚点框,而对于特征图f3而言,每个锚点位置预测256
×
256和512
×
512两个锚点框。
[0156]
显然,在这种情况下,较小尺寸的锚点框相对于大尺寸的锚点框会比较稀疏。这也是为什么小目标检测效果不佳的重要原因。为了解决上述问题,本公开实施例提出增加部分特征图的锚点框的密度。增加锚点框密度是指,在每个锚点位置,对于各个宽高比和锚点框尺寸的组合,都预测多个锚点框。例如,可以对密度不足的锚点框以中心进行偏移加倍,如图7a

图7d所示。
[0157]
可以定义16
×
16尺寸的锚点框密度增加4倍,32
×
32尺寸的锚点框密度增加2倍,64
×
64尺寸的锚点框密度增加2倍,这样使得f1特征层每个像素位置得到4
×
4 2
×
2=20个预测偏移量(16个16
×
16的锚点框和4个32
×
32的锚点框),f2特征层每个像素位置预测2
×
2 1
×
1=5个预测偏移量(4个64
×
64的锚点框和1个128
×
128的锚点框),f3特征层每个像素位置预测1
×
1 1
×
1=2个预测偏移量(1个256
×
256的锚点框和1个512
×
512的锚点框)。
[0158]
表3示意出本公开实施例的不同尺寸的锚点框的选择、各锚点框对应的密度以及锚点框的步长除以锚点框尺寸的比例。
[0159]
表3
[0160]
锚点框尺寸下采样倍率锚点框密度锚点框步长比例16
×
168n=42=8/42/16=1/832
×
328n=24=8/24/32=1/864
×
6416n=28=16/28/64=1/8128
×
12816n=116=16/116/128=1/8256
×
25632n=132=32/132/256=1/8512
×
51232n=132=32/132/512=1/16
[0161]
如表3所示,定义锚点框的步长为下采样的倍率除以锚点框的密度,并且定义锚点框的步长除以锚点框的尺寸比例为固定值(例如1/8,其中锚点框尺寸512
×
512的情况下为保证锚点框密度不低于1,该比例确定为1/16)。
[0162]
即,f1特征图大小为24
×
16,每个像素负责预测4
×
4个尺寸为16的锚点框和2
×
2个尺寸为32的锚点框,每个像素得到20个预测框;f2特征图大小为12
×
8,每个像素负责预测2
×
2个尺寸为64的锚点框和1
×
1个尺寸为128的锚点框,每个像素得到5个预测框;f3特征图大小为6
×
4,每个像素负责预测1
×
1个尺寸为256的锚点框和1
×
1个尺寸为512的锚点框,每个像素得到2个预测框。总共产生24
×
16
×
20 12
×8×
5 6
×4×
2=8208个预测框。
[0163]
根据本公开实施例,每个所述预测框包括以下信息:所述预测框的位置和尺寸,所述预测框为正样本的第一置信度以及所述预测框为负样本的第二置信度,例如可以表示为(x,y,w,h,a1,a0),其中,x,y为预测框相对于锚点的偏移量,w,h为预测框相对于锚点框的变
化量,a1,a0为正样本的第一置信度以及所述预测框为负样本的第二置信度,该些数据基于第二特征图生成。
[0164]
本公开实施例的方法增加用于预测较小人脸的锚点框的密度,提高较小人脸的检测率。
[0165]
图8示出根据本公开实施例的基于所述预测框和所述第二阈值确定预测结果的流程图。
[0166]
如图8所示,操作s160可以包括操作s810~s830。
[0167]
在操作s810,基于所述第一置信度和所述第二置信度的差值,确定预测得分大于第二阈值的预测框;
[0168]
在操作s820,通过二叉树插值和中序排序算法对所述预测得分大于第二阈值的预测框按照预测得分排序,得到排序结果;
[0169]
在操作s830,根据所述排序结果,通过非极大值抑制处理所述预测得分大于第二阈值的预测框,以过滤重复的预测框,得到预测结果。
[0170]
根据本公开实施例,得到f1,f2,f3特征层的预测结果后,进入到预测框的后处理阶段,例如,可以利用上文所述阈值转换的方法将预测分值低于0.3的预测框认为是负样本过滤掉,预测分值高于0.3的预测框根据预测分值进行降序排序,然后进行nms(非极大值抑制)把iou(重叠区域面积除以并集面积)大于0.5的框认为是重复的预测框进一步过滤掉,得到预测结果。可选地,还可以进一步根据系统定义的另一阈值(比如0.8或0.5)将保留下来的并且得分大于该阈值的预测框作为预测结果进行输出。
[0171]
在使用nms(非极大值抑制)过滤重复预测框时,需要根据得分进行排序,以保留置信度最高的预测框,抑制重复的得分较低的预测框。常规排序算法的时间复杂度为o(n2),本公开实施例可以采用二叉树插值和二叉树中序查找使得排序的时间复杂度为o(log2n)到o(n)之间,进一步提高处理效率。
[0172]
此外,本发明人发现,现有人脸检测算法在逆光,暗光,戴口罩等复杂场景下,人脸漏检率高,误报率高。因此,本公开实施例提出通过对训练样本进行增广的方法缓解上述问题,提高复杂场景下的人脸检测率。
[0173]
图9示出根据本公开实施例的模型训练方法的流程图。
[0174]
如图9所示,该方法在图1~图8所示意的任一实施例的基础上,还可以包括操作s910~s930。
[0175]
在操作s910,获得样本图像;
[0176]
在操作s920,将所述样本图像的亮度映射到特定区间,以构造增广图像;
[0177]
在操作s930,基于所述样本图像和所述增广图像训练包括所述主干卷积神经网络和特征融合网络在内的人脸检测模型。
[0178]
根据本公开实施例,可以对输入的视频帧或者图像的rgb数据进行预处理,例如,可以采用线性拉伸处理图像中各个像素的亮度值:
[0179]
y=(x

min(x))
×
(dmax

dmin))/(max(x)

min(x) 1.0) dmin
[0180]
其中x代表输入图像,min(x)代表图像中像素亮度的最小值,max(x)代表图像中像素亮度的最大值,dmax,dmin分别代表将图片映射到目标区域的最大值和最小值。
[0181]
出于对逆光情况的数据增强考虑,使用最大最小值线性拉伸方式调节训练图像亮
度,随机地将训练数据亮度映射到特定区间,例如155

255,使训练样本中出现一定数量的过曝光或逆光场景下的数据,从而使训练后的模型能对逆光和光照强烈的数据有更好的泛化能力。
[0182]
类似地,也可以将亮度映射到较小的数值区间,以增强模型对黑暗场景的数据的泛化能力。
[0183]
本公开实施例提供了一种基于深度可分离卷积神经网络的人脸检测方法,通过人机接口输入视频帧或图像的rgb数据,对数据进行归一化预处理,将预处理后的数据输入主干卷积神经网络以获取三个不同阶段的初步特征图。然后将不同阶段的特征图输入特征融合层进行特征融合并输出融合后的三个特征图,再将每个特征层进行三个分支的卷积神经网络以进一步提取特征,将每个特征层用于不同尺寸的预测框的预测。最后经过后处理过滤掉负样本和重叠度较高的预测框,将置信度得分高于阈值的预测框进行输出。该方法能够降低运算量并提高对较小人脸的检测能力。
[0184]
图10示出根据本公开实施例的人脸检测装置的框图。其中,该装置1000可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。
[0185]
如图10所示,所述信息处理装置1000包括特征提取模块1010、特征融合模块1020、预测框确定模块1030、阈值获取模块1040、阈值转化模块1050以及结果确定模块1060。
[0186]
特征提取模块1010,被配置为通过主干卷积神经网络处理人脸图像数据,其中,所述主干卷积神经网络包括多个处理阶段,每个所述处理阶段输出第一特征图;
[0187]
特征融合模块1020,被配置为通过特征融合网络处理多个所述第一特征图,得到多个第二特征图;
[0188]
预测框确定模块1030,被配置为基于所述多个第二特征图,确定多个预测框;
[0189]
阈值获取模块1040,被配置为获取在柔性最大值运算下表明置信度的第一阈值;
[0190]
阈值转化模块1050,被配置为将所述第一阈值转化为在加减运算下表明置信度的第二阈值;
[0191]
结果确定模块1060,被配置为基于所述预测框和所述第二阈值确定预测结果。
[0192]
根据本公开实施例,通过下式将所述第一阈值转化为第二阈值:
[0193]
其中,t1为第一阈值,t2为第二阈值。
[0194]
根据本公开实施例,所述主干卷积神经网络包括交替设置的多个普通卷积层和多个深度可分离卷积层。
[0195]
根据本公开实施例,所述通过特征融合网络处理多个所述第一特征图,得到多个第二特征图包括:
[0196]
通过第一融合子网络处理多个所述第一特征图,用于在所述第一特征图之间融合特征,得到多个第三特征图;
[0197]
通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图。
[0198]
根据本公开实施例,多个所述第一特征图至少包括特征图c1和特征图c2,所述特征图c1的尺寸大于特征图c2的尺寸,所述通过第一融合子网络处理多个所述第一特征图,得到多个第三特征图包括:
[0199]
分别通过1
×
1的卷积层处理所述特征图c1和c2,得到通道数相同的特征图m1和
p2;
[0200]
对p2上采样得到特征图m2_up,并与m1叠加,得到特征图m1_add;
[0201]
通过3
×
3的卷积层处理m1_add,得到特征图p1,
[0202]
其中,p1和p2为第三特征图,所述上采样使用最近邻插值算法实现。
[0203]
根据本公开实施例,所述通过第二融合子网络分别处理所述多个第三特征图,得到多个第二特征图包括对每个第三特征图p执行以下操作:
[0204]
通过具有第一输出通道数的卷积层处理p,得到特征图s1;
[0205]
通过具有第二输出通道数的卷积层处理p,得到特征图t;
[0206]
通过两个卷积通道分别处理t,得到特征图s2和s3,其中,s2和s3的通道数为所述第二输出通道数;
[0207]
按通道叠加s1、s2和s3,得到具有预定通道数的第二特征图f。
[0208]
根据本公开实施例,所述基于所述多个第二特征图,确定多个预测框包括:
[0209]
基于所述第二特征图中的像素点确定锚点位置;
[0210]
基于所述第二特征图的尺寸确定锚点框的尺寸,其中,所述第二特征图的尺寸与所述锚点框的尺寸之间呈负相关关系;
[0211]
基于所述第二特征图的下采样倍率和所述锚点框的尺寸确定各个锚点位置产生的预测框的密度;
[0212]
基于所述锚点位置、锚点框的尺寸以及各个锚点位置产生的预测框的密度确定多个预测框,每个所述预测框包括以下信息:所述预测框的位置和尺寸,所述预测框为正样本的第一置信度以及所述预测框为负样本的第二置信度。
[0213]
根据本公开实施例,所述基于所述预测框和所述第二阈值确定预测结果包括:
[0214]
基于所述第一置信度和所述第二置信度的差值,确定预测得分大于第二阈值的预测框;
[0215]
通过二叉树插值和中序排序算法对所述预测得分大于第二阈值的预测框按照预测得分排序,得到排序结果;
[0216]
根据所述排序结果,通过非极大值抑制处理所述预测得分大于第二阈值的预测框,以过滤重复的预测框,得到预测结果。
[0217]
根据本公开实施例,该装置还可以包括训练模块,被配置为获得样本图像,将所述样本图像的亮度映射到特定区间,以构造增广图像,以及基于所述样本图像和所述增广图像训练包括所述主干卷积神经网络和特征融合网络在内的人脸检测模型。
[0218]
本公开还公开了一种电子设备,图11示出根据本公开的实施例的电子设备的结构框图。
[0219]
如图11所示,所述电子设备1100包括存储器1101和处理器1102,其中,所述存储器1101用于存储支持电子设备执行上述任一实施例中的信息处理方法或代码生成方法的程序,所述处理器1102被配置为用于执行所述存储器1101中存储的程序。
[0220]
根据本公开实施例,所述存储器1101用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器1102执行以实现如上文任一实施例所描述的人脸检测方法。
[0221]
图12示出根据本公开实施例的适于实现人脸检测方法的计算机系统的结构示意
图。
[0222]
如图12所示,计算机系统1200包括处理单元1201,其可以根据存储在只读存储器(rom)1202中的程序或者从存储部分1208加载到随机访问存储器(ram)1203中的程序而执行上述实施例中的各种处理。在ram1203中,还存储有系统1200操作所需的各种程序和数据。处理单元1201、rom 1202以及ram 1203通过总线1204彼此相连。输入/输出(i/o)接口1205也连接至总线1204。
[0223]
以下部件连接至i/o接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至i/o接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。其中,所述处理单元1201可实现为cpu、gpu、tpu、fpga、npu等处理单元。
[0224]
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。
[0225]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0226]
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
[0227]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
[0228]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献