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

一种用于人脸检测的自适应锚点匹配方法

2022-06-29 17:58:30 来源:中国专利 TAG:


1.本发明涉及人脸识别的技术领域,尤其是指一种用于人脸检测的自适应锚点匹配方法。


背景技术:

2.人脸检测在计算机视觉领域是一项基础性的图像处理任务,很多基于人脸的生物特征识别算法都需要使用人脸检测技术,如人脸识别、人脸对齐、人脸跟踪、人脸属性识别和年龄估计等。作为通用的检测算法,人脸检测器性能的好坏直接影响到后续人脸分析算法的性能。
3.在实际的社会生产生活中,人脸检测技术具有广泛的应用场景,如视频监控系统、安保系统、金融支付系统、公共交通系统、社区门禁系统等。得益于深度卷积神经网络(convolutional neural network,cnn)的发展,基于cnn的人脸检测网络的性能迎来了巨大的提升。近年来,基于锚点的单阶段人脸检测网络在速度和精度上都表现出卓越的性能优势,因而逐渐成为人脸检测网络的主流设计。然而,现有的基于锚点的单阶段人脸检测网络在进行锚点匹配时,仍存在以下局限性:1)忽略了锚点和目标人脸之间的内在联系;2)使用固定的匹配阈值,这无法满足人脸检测网络在训练时对目标人脸的不断变化的需求;
4.3)现有的锚点尺寸设置是基于经验的,这导致训练数据中大量的(超过20%)微小人脸被忽略掉。综合上述分析,由于现有的锚点匹配方法存在一定的局限性,这使得人脸检测网络的训练效率较低,从而导致其检测准确率低的问题,尤其是对微小人脸的检测。因此,如何克服现有锚点匹配方法存在的缺陷,仍是一个亟待解决的问题。
5.综合以上论述,发明一种用于人脸检测的自适应锚点匹配方法,具有较高的实际应用价值。


技术实现要素:

6.本发明的目的在于克服现有技术的缺点与不足,提出了一种用于人脸检测的自适应锚点匹配方法,通过对目标人脸和锚点进行编码,有选择性地为不同尺寸的目标人脸匹配合适的锚点;通过对训练数据进行统计分析,结合人脸检测网络中不同特征尺度的差异,科学、精准地设置锚点尺寸;通过构建训练状态估计器,自适应地实时调整锚点的匹配阈值,从而形成一套灵活、自适应的锚点匹配方法。本发明涉及的自适应锚点匹配方法,能够极大地提升人脸检测网络的训练效率和最终的人脸检测性能。另外,本发明对现有的锚点匹配方法进行优化和改进,因此适用于所有基于锚点的检测器的训练,包括人脸检测器和物体检测器。
7.为实现上述目的,本发明所提供的技术方案为:一种用于人脸检测的自适应锚点匹配方法,包括以下步骤:
8.1)准备训练数据和构建人脸检测网络;
9.所述训练数据包括输入图像x和其中包含人脸的标注信息y,标注信息y包含目标
类别人脸框坐标和面部关键点坐标下标i表示输入图像中第i个人脸的索引;
10.所述人脸检测网络能够在三个不同的特征尺度上对输入图像x进行处理,并分别在每个特征尺度上输出预测结果,包括类别预测人脸框坐标预测和面部关键点坐标预测表示特征尺度的索引;三个特征尺度中的类别预测合并为d
cls
,记作总类别预测,三个特征尺度中的人脸框坐标预测合并为d
box
,记作总人脸框坐标预测,三个特征尺度中的面部关键点坐标预测记作总面部关键点坐标预测d
lmk
;其中,不同特征尺度的预测结果具有不同的空间尺寸,同一特征尺度上的三类预测具有相同的空间尺寸;
11.2)设置锚点,锚点具有中心坐标和尺寸两个属性;对于每个特征尺度,在由其空间尺寸确定的一个矩形范围内,以其中每一个空间位置为中心,预先设定的长宽为尺寸,在每个空间位置上依次铺设a
l
个尺寸不同的锚点;最后,根据每个锚点aj的中心坐标和尺寸,输出其边界框坐标j为锚点的索引,分别为锚点aj边界框的左上角横坐标、左上角纵坐标、右下角横坐标和右下角纵坐标;记p
l
为第l个特征尺度上所有锚点的集合;
12.3)开启迭代:选择性目标匹配,首先根据预先设定的面积阈值t0和t1,对步骤1)中的每个人脸框坐标进行编码,得到编码然后根据步骤2)中每个锚点aj所在的特征尺度,对其进行编码,得到编码接着,依次计算每个人脸框坐标与每个锚点aj的交并比iou
ij
和它们对应的编码内积然后,根据锚点aj当前的iou阈值hj,选择iou
ij
大于此阈值的匹配对同时加上与人脸框坐标相关的目标类别面部关键点坐标和编码内积合并输出作为正样本,记其数量为n
pos
,记所有正样本中锚点aj的索引集合为pos;最后,对于不满足iou阈值的匹配对,根据iou
ij
对其进行降序排序,选择前n
neg
个匹配对作为负样本输出,记所有负样本中锚点aj的索引集合为neg;
13.4)将步骤1)中的输入图像x,送入人脸检测网络上进行前向推理,得到总类别预测d
cls
、总人脸框坐标预测d
box
和总面部关键点坐标预测d
lmk
;由于锚点aj与上述预测中的每个空间位置是一一对应的,根据步骤3)中的正样本索引集合pos和负样本索引集合neg,从d
cls
中筛选出正负样本类别预测pj,j∈{pos,neg},从d
box
中筛选出正样本人脸框坐标预测tj,j∈pos和从d
lmk
中筛选出正样本面部关键点坐标预测mj,j∈pos;最后,根据预先定义的损失函数计算关键点回归损失l
lmk
、人脸框回归损失l
box
和分类损失l
cls
,并输出总损失l;
14.5)自适应iou阈值调整,利用步骤4)中的正负样本类别预测pj,j∈{pos,neg}和其对应的类别标签计算本次迭代中网络预测正确的样本数量n
tp
;根据正样本索引集合pos,计算本次迭代中正样本的总数量n
p
;最后,使用预先定义的iou阈值调整函数,计算并更新步骤3)中每个锚点的iou匹配阈值,用于下一次迭代过程中的目标匹配;
15.6)根据步骤4)中的损失l,使用梯度下降法对人脸检测网络的参数进行优化和更
新;当损失值小于预先设定的阈值时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
16.进一步,在步骤1)中,要获得输入图像x,需要对训练数据中的图像进行预处理,包括随机裁剪、随机水平翻转、色彩随机扰动和归一化以及像素和尺寸归一化。
17.进一步,在步骤1)中,人脸检测网络的结构具体如下:
18.输入:输入图像x;
19.第一部分:残差卷积模块conv1;
20.第二部分:残差卷积模块conv2;
21.第三部分:残差卷积模块conv3,输出记为c3;
22.第四部分:残差卷积模块conv4,输出记为c4;
23.第五部分:残差卷积模块conv5,输出记为c5;
24.第六部分:特征金字塔模块fpn,输入为c3、c4和c5,输出为p3、p4和p5;
25.第七部分:端部检测模块,包含三个特征尺度不同、结构相同的预测分支,预测分支l∈{1,2,3}的结构为:
26.输入:p[l 2],表示预测分支1,2,3的输入分别为p3,p4,p5;
[0027]
第一层:特征增强模块ssh;
[0028]
第二层:包含三个子分支,分别是:类别预测模块,输出为人脸框坐标预测模块,输出为面部关键点坐标预测模块,输出为
[0029]
进一步,在步骤2)中,锚点的尺寸设置依据训练数据中人脸的面积大小、纵横比以及各面积区间的人脸样本数量进行设定,在各个特征尺度的不同位置上铺设的锚点尺寸是相同的。
[0030]
进一步,在步骤3)中,对人脸框坐标编码的计算公式为:
[0031][0032]
其中,分别为人脸框的左上角横坐标、左上角纵坐标、右下角横坐标和右下角纵坐标;为人脸框的面积;t0和t1为预先设定的两个面积阈值;
[0033]
对锚点aj编码的计算公式为:
[0034][0035]
其中,p1为第1个特征尺度上所有锚点的集合,p2为第2个特征尺度上所有锚点的集合,p3为第3个特征尺度上所有锚点的集合;
[0036]
锚点与人脸框坐标的交并比计算公式为:
[0037][0038]
其中,为锚点aj的面积;∩和∪分别表示两者的交集和并集;
[0039]
对正样本匹配对的筛选规则为:
[0040][0041]
其中,hj为锚点aj的匹配阈值。
[0042]
进一步,在步骤4)中,关键点回归损失函数的计算公式为:
[0043][0044]
其中,mj是网络对锚点aj位置的关键点坐标预测,和是锚点aj的匹配到的关键点标签和人脸框编码,来自步骤3)中的正样本匹配对点标签和人脸框编码,来自步骤3)中的正样本匹配对是l1损失函数;α是控制样本权重的超参数;
[0045]
人脸框回归损失的计算公式为:
[0046][0047]
分类损失的计算公式为:
[0048][0049]
其中,f
ce
是交叉熵损失函数。
[0050]
总损失l的计算公式为:
[0051]
l=μ1l
cls
μ2l
lmk
μ3l
box
[0052]
其中,μ1,μ2,μ3是用于控制上述三种损失权重的超参数。
[0053]
进一步,在步骤5)中,样本类别预测pj=(p

,p

)具有两个维度,p

表示属于人脸的预测值,p

表示不属于人脸的预测值;首先,从pj中筛选出满足对应类别标签为1且p

>p

的预测,记其索引的集合为tp(true positive),并统计tp中元素的数目,记作n
tp
;接着,对正样本索引集合pos中的元素进行计数,得到n
p
;最后,计算并更新各个特征尺度的iou阈值,公式如下:
[0054][0055]
其中,表示更新后三个特征尺度上iou阈值,r1×3表示形状为1
×
3的实数向量空间,和为iou阈值的初始值和下限值,与具有相同的维度;t
(k)
为训练状态估计器,用于估计网络对数据的拟合程度;γ和η为控制训练状态估计器工作范围的上限值和下限值的超参数;t
(k)
的计算公式为:
[0056][0057]
其中,β为控制训练状态估计器更新速度的超参数,k为当前的迭代次数;
[0058]
锚点aj的阈值hj更新规则为:
[0059]aj
∈p
l
[0060]
其中,表示取中的第l个元素,即首先确定锚点aj所在特征尺度的序号l,然后根据该序号从中确定更新后的阈值hj。
[0061]
进一步,在步骤6)中,对步骤4)中得到的总损失l进行反向传播,利用梯度下降法计算人脸检测网络各个参数的梯度值,最后完成对网络参数的优化和更新;当损失值小于预先设定的阈值时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
[0062]
本发明与现有技术相比,具有如下优点与有益效果:
[0063]
1、本发明涉及的自适应锚点匹配方法,针对现有固定的锚点匹配方法进行了优化和改进,能够极大地提升人脸检测器的训练效率和检测性能。另外,本发明适用于其它基于锚点的检测器的训练,包括人脸检测器和物体检测器。
[0064]
2、本发明采用选择性的目标匹配方法,并根据训练数据的统计特征科学,精准地设置了锚点尺寸,有利于人脸检测网络充分利用不同尺寸的目标人脸,从而提升其在大范围人脸尺度变化下的鲁棒性。
[0065]
3、本发明使用自适应的锚点匹配阈值调整方法,能够根据当前的训练状态,如人脸检测网络对数据的拟合程度,自动地调整不同特征尺度上的锚点匹配阈值,可以满足人脸检测网络在不同的训练阶段对于不同目标人脸的需求,有利于进一步提升网络的训练效率和人脸检测性能。
附图说明
[0066]
图1为本发明方法的框架流程图。
[0067]
图2为人脸检测网络的结构图。
具体实施方式
[0068]
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
[0069]
参见图1和图2所示,本实施例提供一种用于人脸检测的自适应锚点匹配方法,包括以下步骤:
[0070]
1)准备训练数据和构建人脸检测网络;
[0071]
选择用于训练的人脸检测数据集为wider face,收集了32203张图像,其中包含了393703个带有标注信息y的人脸。第i个人脸的标注信息包括目标类别人脸框坐标包含了人脸框的左上角和右下角两个点的横、纵坐标;面部关键点坐标包含了双眼、鼻尖和双嘴角五个关键点位置的横、纵坐标,r表示实数向量空间;要获得输入图像x,需要对训练数据中的图像进行预处理,包括随机裁剪、随机水平翻转、色
彩随机扰动和归一化以及像素和尺寸归一化。其中,随机裁剪的具体细节为:首先以某个缩放率(从[0.3,0.45,0.6,0.8,1.0]中随机选择)从原始图像中裁剪一个方形的图块,然后将该图块缩放至840
×
840的尺寸。rgb三个色彩通道被归一化为[104,117,123];
[0072]
构建人脸检测网络,该网络能够在三个不同的特征尺度上对输入图像x进行处理,并分别在每个特征尺度上输出预测结果,包括类别预测人脸框坐标预测和面部关键点坐标预测表示特征尺度的索引;三个特征尺度中的类别预测合并为d
cls
,记作总类别预测,三个特征尺度中的人脸框坐标预测合并为d
box
,记作总人脸框坐标预测,三个特征尺度中的面部关键点坐标预测记作总面部关键点坐标预测d
lmk
;其中,不同特征尺度的预测结果具有不同的空间尺寸,同一特征尺度上的三类预测具有相同的空间尺寸;如图2所示,人脸检测网络的具体结构如下:
[0073]
输入:输入图像x,形状为840
×
840
×
3;
[0074]
第一部分:残差卷积模块conv1,输出形状为420
×
420
×
64;
[0075]
第二部分:残差卷积模块conv2,输出形状为210
×
210
×
256;
[0076]
第三部分:残差卷积模块conv3,输出记为c3,形状为105
×
105
×
512;
[0077]
第四部分:残差卷积模块conv4,输出记为c4,形状为53
×
53
×
1024;
[0078]
第五部分:残差卷积模块conv5,输出记为c5,形状为27
×
27
×
2048;
[0079]
第六部分:特征金字塔模块fpn,输入为c3、c4和c5,输出为p3、p4和p5,形状分别为105
×
105
×
512,53
×
53
×
1024,27
×
27
×
2048;
[0080]
第七部分:端部检测模块,包含三个特征尺度不同、结构相同的预测分支,预测分支l∈{1,2,3}的结构为:
[0081]
输入:p[l 2],表示预测分支1,2,3的输入分别为p3,p4,p5;其形状记为w
l
×wl
×cl
,其中w
l
和c
l
分别表示p[l 2]的空间尺寸和通道数;
[0082]
第一层:特征增强模块ssh,输出形状为w
l
×wl
×
256;
[0083]
第二层:包含三个子分支,分别是:类别预测模块,输出为形状为w
l
×wl
×al
×
2;人脸框坐标预测模块,输出为形状为w
l
×wl
×al
×
4;面部关键点坐标预测模块,输出为形状为w
l
×wl
×al
×
10。a
l
为该特征尺度的每个位置上铺设的锚点数目。
[0084]
2)设置锚点,锚点具有中心坐标和尺寸两个属性;对于每个特征尺度,在由其空间尺寸确定的一个矩形范围w
l
×wl
内,以其中每一个空间位置为中心,预先设定的长宽为尺寸,在每个空间位置上依次铺设a
l
个尺寸不同的锚点;最后,根据每个锚点aj的中心坐标和尺寸,输出其边界框坐标j为锚点的索引,分别为锚点aj边界框的左上角横坐标、左上角纵坐标、右下角横坐标和右下角纵坐标;记p
l
为第l个特征尺度上所有锚点的集合;其中,锚点的尺寸设置依据训练数据中人脸的面积大小、纵横比以及各面积区间的人脸样本数量进行设定,在各个特征尺度的不同位置上铺设的锚点尺寸是相同的;
[0085]
经过对训练数据wider face进行统计分析,设定特征尺度1的锚点尺寸为[8,16,
32],即在该特征尺度的每个空间位置上铺设a1=3种锚点,形状为方形;设定特征尺度2的锚点尺寸为[64,128],a2=2形状为方形;设定特征尺度3的锚点尺寸为[256,512],a3=2,形状为方形。
[0086]
3)开启迭代;选择性目标匹配,首先根据预先设定的面积阈值t0和t1,对步骤1)中的每个人脸框坐标进行编码,得到编码然后根据步骤2)中每个锚点aj所在的特征尺度,对其进行编码,得到编码接着,依次计算每个人脸框坐标与每个锚点aj的交并比iou
ij
和它们对应的编码内积然后,根据锚点aj当前的iou阈值hj,选择iou
ij
大于此阈值的匹配对同时加上与人脸框坐标相关的目标类别面部关键点坐标和编码内积合并输出作为正样本,记其数量为n
pos
,记所有正样本中锚点aj的索引集合为pos;最后,对于不满足iou阈值的匹配对,根据iou
ij
对其进行降序排序,选择前n
neg
=8n
pos
个匹配对作为负样本输出,记所有负样本中锚点aj的索引集合为neg。
[0087]
具体地,对人脸框坐标编码的计算公式为:
[0088][0089]
其中,分别为人脸框的左上角横坐标、左上角纵坐标、右下角横坐标和右下角纵坐标;为人脸框的面积;通过对训练数据进行统计分析,设置面积阈值t0=2048和t1=32768;
[0090]
对锚点aj编码的计算公式为:
[0091][0092]
其中,p1为第1个特征尺度上所有锚点的集合,p2为第2个特征尺度上所有锚点的集合,p3为第3个特征尺度上所有锚点的集合;
[0093]
锚点与人脸框坐标的交并比计算公式为:
[0094][0095]
其中,为锚点aj的面积;∩和∪分别表示两者的交集和并集;
[0096]
对正样本匹配对的筛选规则为:
[0097][0098]
其中,hj为锚点aj的匹配阈值。这里hj是根据网络对数据的拟合程度自适应变化的。
[0099]
4)将步骤1)中的输入图像x,送入人脸检测网络上进行前向推理,得到总类别预测d
cls
、总人脸框坐标预测d
box
和总面部关键点坐标预测d
lmk
;由于锚点aj与上述预测中的每个空间位置是一一对应的,根据步骤3)中的正样本索引集合pos和负样本索引集合neg,从d
cls
中筛选出正负样本类别预测pj,j∈{pos,neg},从d
box
中筛选出正样本人脸框坐标预测tj,j∈pos和从d
lmk
中筛选出正样本面部关键点坐标预测mj,j∈pos;最后,根据预先定义的损失函数计算关键点回归损失l
lmk
、人脸框回归损失l
box
和分类损失l
cls
,并输出总损失l;
[0100]
具体地,关键点回归损失函数的计算公式为:
[0101][0102]
其中,mj是网络对锚点aj位置的关键点坐标预测,和是锚点aj的匹配到的关键点标签和人脸框编码,来自步骤3)中的正样本匹配对点标签和人脸框编码,来自步骤3)中的正样本匹配对是l1损失函数;α=1.2是控制样本权重的超参数;
[0103]
人脸框回归损失的计算公式为:
[0104][0105]
分类损失的计算公式为:
[0106][0107]
其中,f
ce
是交叉熵损失函数。
[0108]
总损失l的计算公式为:
[0109]
l=μ1l
cls
μ2l
lmk
μ3l
box
[0110]
其中,μ1=1.0,μ2=1.0,μ3=2.0是用于控制上述三种损失权重的超参数。
[0111]
5)自适应iou阈值调整,利用步骤4)中的正负样本类别预测pj,j∈{pos,neg}和其对应的类别标签计算本次迭代中网络预测正确的样本数量n
tp
;根据正样本索引集合pos,计算本次迭代中正样本的总数量n
p
;最后,使用预先定义的iou阈值调整函数,计算并更新步骤3)中每个锚点的iou匹配阈值,用于下一次迭代过程中的目标匹配;
[0112]
具体地,样本类别预测pj=(p

,p

)具有两个维度,p

表示属于人脸的预测值,p

表示不属于人脸的预测值;首先,从pj中筛选出满足对应类别标签为1且p

>p

的预测,记其索引的集合为tp(true positive),并统计tp中元素的数目,记作n
tp
;接着,对正样本索引集合pos中的元素进行计数,得到n
p
;最后,计算并更新各个特征尺度的iou阈值,公式如下:
[0113][0114]
其中,表示更新后三个特征尺度上iou阈值,r1×3表示形状为1
×
3的实数向量空间;设置iou阈值的初始值和下限值与具有相同的维度;t
(k)
为训练状态估计器,用于估计网络对数据的拟合程度;设置控制训练状态估计器工作范围的上限值和下限值的超参数γ=0.2和η=0.7;t
(k)
的计算公式为:
[0115][0116]
其中,β=0.99为控制训练状态估计器更新速度的超参数,k为当前的迭代次数;
[0117]
锚点aj的阈值hj更新规则为:
[0118]aj
∈p
l
[0119]
其中,表示取中的第l个元素,即首先确定锚点aj所在特征尺度的序号l,然后根据该序号从中确定更新后的阈值hj。
[0120]
6)根据步骤4)中的损失l,选取学习率为5e-4,使用随机梯度下降法(stochastic gradient descent,sgd)对人脸检测网络的参数进行优化和更新。当总损失l小于5.0时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
[0121]
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献