一种用于人脸检测的自适应锚点匹配方法
文献发布时间:2023-06-19 15:47:50
技术领域
本发明涉及人脸识别的技术领域,尤其是指一种用于人脸检测的自适应锚点匹配方法。
背景技术
人脸检测在计算机视觉领域是一项基础性的图像处理任务,很多基于人脸的生物特征识别算法都需要使用人脸检测技术,如人脸识别、人脸对齐、人脸跟踪、人脸属性识别和年龄估计等。作为通用的检测算法,人脸检测器性能的好坏直接影响到后续人脸分析算法的性能。
在实际的社会生产生活中,人脸检测技术具有广泛的应用场景,如视频监控系统、安保系统、金融支付系统、公共交通系统、社区门禁系统等。得益于深度卷积神经网络(Convolutional Neural Network,CNN)的发展,基于CNN的人脸检测网络的性能迎来了巨大的提升。近年来,基于锚点的单阶段人脸检测网络在速度和精度上都表现出卓越的性能优势,因而逐渐成为人脸检测网络的主流设计。然而,现有的基于锚点的单阶段人脸检测网络在进行锚点匹配时,仍存在以下局限性:1)忽略了锚点和目标人脸之间的内在联系;2)使用固定的匹配阈值,这无法满足人脸检测网络在训练时对目标人脸的不断变化的需求;
3)现有的锚点尺寸设置是基于经验的,这导致训练数据中大量的(超过20%)微小人脸被忽略掉。综合上述分析,由于现有的锚点匹配方法存在一定的局限性,这使得人脸检测网络的训练效率较低,从而导致其检测准确率低的问题,尤其是对微小人脸的检测。因此,如何克服现有锚点匹配方法存在的缺陷,仍是一个亟待解决的问题。
综合以上论述,发明一种用于人脸检测的自适应锚点匹配方法,具有较高的实际应用价值。
发明内容
本发明的目的在于克服现有技术的缺点与不足,提出了一种用于人脸检测的自适应锚点匹配方法,通过对目标人脸和锚点进行编码,有选择性地为不同尺寸的目标人脸匹配合适的锚点;通过对训练数据进行统计分析,结合人脸检测网络中不同特征尺度的差异,科学、精准地设置锚点尺寸;通过构建训练状态估计器,自适应地实时调整锚点的匹配阈值,从而形成一套灵活、自适应的锚点匹配方法。本发明涉及的自适应锚点匹配方法,能够极大地提升人脸检测网络的训练效率和最终的人脸检测性能。另外,本发明对现有的锚点匹配方法进行优化和改进,因此适用于所有基于锚点的检测器的训练,包括人脸检测器和物体检测器。
为实现上述目的,本发明所提供的技术方案为:一种用于人脸检测的自适应锚点匹配方法,包括以下步骤:
1)准备训练数据和构建人脸检测网络;
所述训练数据包括输入图像X和其中包含人脸的标注信息Y,标注信息Y包含目标类别
所述人脸检测网络能够在三个不同的特征尺度上对输入图像X进行处理,并分别在每个特征尺度上输出预测结果,包括类别预测
2)设置锚点,锚点具有中心坐标和尺寸两个属性;对于每个特征尺度,在由其空间尺寸确定的一个矩形范围内,以其中每一个空间位置为中心,预先设定的长宽为尺寸,在每个空间位置上依次铺设A
3)开启迭代:选择性目标匹配,首先根据预先设定的面积阈值T
4)将步骤1)中的输入图像X,送入人脸检测网络上进行前向推理,得到总类别预测D
5)自适应IoU阈值调整,利用步骤4)中的正负样本类别预测p
6)根据步骤4)中的损失L,使用梯度下降法对人脸检测网络的参数进行优化和更新;当损失值小于预先设定的阈值时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
进一步,在步骤1)中,要获得输入图像X,需要对训练数据中的图像进行预处理,包括随机裁剪、随机水平翻转、色彩随机扰动和归一化以及像素和尺寸归一化。
进一步,在步骤1)中,人脸检测网络的结构具体如下:
输入:输入图像X;
第一部分:残差卷积模块Conv1;
第二部分:残差卷积模块Conv2;
第三部分:残差卷积模块Conv3,输出记为C3;
第四部分:残差卷积模块Conv4,输出记为C4;
第五部分:残差卷积模块Conv5,输出记为C5;
第六部分:特征金字塔模块FPN,输入为C3、C4和C5,输出为P3、P4和P5;
第七部分:端部检测模块,包含三个特征尺度不同、结构相同的预测分支,预测分支l∈{1,2,3}的结构为:
输入:P[l+2],表示预测分支1,2,3的输入分别为P3,P4,P5;
第一层:特征增强模块SSH;
第二层:包含三个子分支,分别是:类别预测模块,输出为
进一步,在步骤2)中,锚点的尺寸设置依据训练数据中人脸的面积大小、纵横比以及各面积区间的人脸样本数量进行设定,在各个特征尺度的不同位置上铺设的锚点尺寸是相同的。
进一步,在步骤3)中,对人脸框坐标
其中,
对锚点a
其中,P
锚点
其中,
对正样本匹配对的筛选规则为:
其中,h
进一步,在步骤4)中,关键点回归损失函数的计算公式为:
其中,m
人脸框回归损失的计算公式为:
分类损失的计算公式为:
其中,f
总损失L的计算公式为:
L=μ
其中,μ
进一步,在步骤5)中,样本类别预测p
其中,
其中,β为控制训练状态估计器更新速度的超参数,k为当前的迭代次数;
锚点a
其中,
进一步,在步骤6)中,对步骤4)中得到的总损失L进行反向传播,利用梯度下降法计算人脸检测网络各个参数的梯度值,最后完成对网络参数的优化和更新;当损失值小于预先设定的阈值时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明涉及的自适应锚点匹配方法,针对现有固定的锚点匹配方法进行了优化和改进,能够极大地提升人脸检测器的训练效率和检测性能。另外,本发明适用于其它基于锚点的检测器的训练,包括人脸检测器和物体检测器。
2、本发明采用选择性的目标匹配方法,并根据训练数据的统计特征科学,精准地设置了锚点尺寸,有利于人脸检测网络充分利用不同尺寸的目标人脸,从而提升其在大范围人脸尺度变化下的鲁棒性。
3、本发明使用自适应的锚点匹配阈值调整方法,能够根据当前的训练状态,如人脸检测网络对数据的拟合程度,自动地调整不同特征尺度上的锚点匹配阈值,可以满足人脸检测网络在不同的训练阶段对于不同目标人脸的需求,有利于进一步提升网络的训练效率和人脸检测性能。
附图说明
图1为本发明方法的框架流程图。
图2为人脸检测网络的结构图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1和图2所示,本实施例提供一种用于人脸检测的自适应锚点匹配方法,包括以下步骤:
1)准备训练数据和构建人脸检测网络;
选择用于训练的人脸检测数据集为WIDER FACE,收集了32203张图像,其中包含了393703个带有标注信息Y的人脸。第i个人脸的标注信息包括目标类别
构建人脸检测网络,该网络能够在三个不同的特征尺度上对输入图像X进行处理,并分别在每个特征尺度上输出预测结果,包括类别预测
输入:输入图像X,形状为840×840×3;
第一部分:残差卷积模块Conv1,输出形状为420×420×64;
第二部分:残差卷积模块Conv2,输出形状为210×210×256;
第三部分:残差卷积模块Conv3,输出记为C3,形状为105×105×512;
第四部分:残差卷积模块Conv4,输出记为C4,形状为53×53×1024;
第五部分:残差卷积模块Conv5,输出记为C5,形状为27×27×2048;
第六部分:特征金字塔模块FPN,输入为C3、C4和C5,输出为P3、P4和P5,形状分别为105×105×512,53×53×1024,27×27×2048;
第七部分:端部检测模块,包含三个特征尺度不同、结构相同的预测分支,预测分支l∈{1,2,3}的结构为:
输入:P[l+2],表示预测分支1,2,3的输入分别为P3,P4,P5;其形状记为W
第一层:特征增强模块SSH,输出形状为W
第二层:包含三个子分支,分别是:类别预测模块,输出为
2)设置锚点,锚点具有中心坐标和尺寸两个属性;对于每个特征尺度,在由其空间尺寸确定的一个矩形范围W
经过对训练数据WIDER FACE进行统计分析,设定特征尺度1的锚点尺寸为[8,16,32],即在该特征尺度的每个空间位置上铺设A
3)开启迭代;选择性目标匹配,首先根据预先设定的面积阈值T
具体地,对人脸框坐标
其中,
对锚点a
其中,P
锚点
其中,
对正样本匹配对的筛选规则为:
其中,h
4)将步骤1)中的输入图像X,送入人脸检测网络上进行前向推理,得到总类别预测D
具体地,关键点回归损失函数的计算公式为:
其中,m
人脸框回归损失的计算公式为:
分类损失的计算公式为:
其中,f
总损失L的计算公式为:
L=μ
其中,μ
5)自适应IoU阈值调整,利用步骤4)中的正负样本类别预测p
具体地,样本类别预测p
其中,
其中,β=0.99为控制训练状态估计器更新速度的超参数,k为当前的迭代次数;
锚点a
其中,
6)根据步骤4)中的损失L,选取学习率为5e-4,使用随机梯度下降法(StochasticGradient Descent,SGD)对人脸检测网络的参数进行优化和更新。当总损失L小于5.0时,则终止训练;否则,重复步骤3)至步骤6),进入下一轮迭代。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。