本发明涉及视频监控及图像处理技术领域,特别涉及一种基于尺度估计的人脸检测及对齐方法、装置、存储介质。
背景技术:
随着科技的快速发展,计算机视觉在社会生活中日渐流行,人脸检测及对齐技术便是其中的一个研究热点,在现实生活中有着众多应用,如刷脸门禁、手机解锁、安全监控、身份查验等等,人脸检测及对齐技术的应用给日常生活带来了较大的便利。在实际场景中,一幅图像可能同时包含不同尺度的人脸,例如小尺度与大尺度人脸,为了能够同时检测不同尺度的人脸,现有做法中,一是使用均匀分布的图像金字塔,在密集的金字塔图像上进行检测;二是设计一个大的网络在多尺度的特征图上进行检测。但是,这些方法具有计算复杂度高的缺点。此外,为了减少金字塔个数,有的检测技术中会使用尺度估计方法,而该方法在图像中存在多尺度人脸时,容易忽略小尺度的人脸,造成人脸漏检测的错误,给人脸检测的应用带来诸多不便。
技术实现要素:
本发明要解决的技术问题是如何提供一种计算复杂度较低、不易忽略小尺度人脸的人脸检测及对齐的方法及装置。
为了解决上述技术问题,本发明的技术方案为:
一种基于尺度估计的人脸检测及对齐方法,包括步骤:
将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,所述尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;所述尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度的图像;
将多个尺度的所述图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
将所述预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据所述检测框提取出对应的人脸特征点。
优选地,所述尺度估计网络的训练包括:
人脸尺度向量标注:预设多个尺度区间,将人脸宽和高的均值作为人脸尺度,如存在属于一区间尺度的人脸,则分数向量上对应的分数置为1;如不存在属于此区间尺度的人脸,则分数向量上对应的分数置为0;
制作人脸注意力图:制作人脸掩模,并根据人脸尺度预分配注意力权重,预分配注意力权重的公式包括:
其中s为人脸尺度,σ与μ为概率分布参数;
使用尺度的多类二分类损失losss以及人脸注意力图的二分类损失lossa作为损失函数,训练损失loss=losss λlossa,其中λ为权重系数。
优选地,
优选地,
优选地,anchorpnet及anchorrnet的模型训练过程包括:
anchorpnet训练:anchorpnet为全卷积网络,预设不同比例的k个anchor,若anchor对应的预定义框与标注框的交并比值大于第一预设值则标记该anchor为正样本,同时参与分类与回归计算;若所述交并比值小于第二预设值,则认为负样本,只参与分类,不参与回归计算;若所述交并比值大于第二预设值且小于第一预设值,则样本不进行分类判断,只参与回归;训练时需同时对k个anchor进行分类与检测;
anchorrnet训练:将anchorpnet检测后的结果和标注框与预设的anchor来生成所需的训练数据,训练时同时进行任务,任务包括对预设的k个anchor进行人脸分类、边界框回归以及特征点定位。
优选地,通过非极大值抑制算法去除非人脸候选框,以及执行步骤:使用非极大值抑制算法去除冗余框得到检测框时,
还包括局部极大必须覆盖数量为nn的非极大的限制条件,其中,nn为覆盖量阈值。
优选地,所述尺度估计网络包括特征提取模块、注意力辅助预测模块及预测模块;
所述特征提取模块,为全卷积网络,用于生成特征;
所述注意力辅助预测模块,将特征图反卷积为原图大小,用于学习人脸注意力图,学习人脸注意力特征;
所述预测模块,结合特征模块特征与人脸注意力特征来得到尺度概率向量,将尺度概率向量大于预设阈值的尺度输出。
第二方面,本发明还提出了基于尺度估计的人脸检测及对齐系统,包括:
尺度估计模块:将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,所述尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;所述尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
缩放模块:将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度的图像;
anchorpnet模块:将多个尺度的所述图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
anchorrnet模块:将所述预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据所述检测框提取出对应的人脸特征点。
第三方面,本发明还提出一种基于尺度估计的人脸检测及对齐的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的人脸尺度检测及对齐的方法的步骤。
第四方面,本发明还提出一种基于尺度估计的人脸检测及对齐的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时间实现上述的基于尺度估计的人脸检测及对齐方法的步骤。
采用上述技术方案,由于本发明采用了基于anchor的级联人脸检测方法,先用简单快速的anchorpnet来提取人脸的候选区域,之后再用相对复杂的anchorrnet逐步修正,使得人脸检测能够更加快速与准确,可以适应一定范围的尺度,增强了对尺度估计结果的适应性,同时进行了人脸检测与对齐两个任务,由于两个网络的相互适应,使得使用小的网络结构便能达到不错的性能。此外,本发明采用了基于注意力的人脸尺度估计网络,使得其无需针对不同场景调节金字塔进行调参,从而能够自适应不同的场景,基于注意力的尺度估计网络对小尺度人脸有更高的检出,可以避免检测时对小尺度人脸的忽略。
附图说明
图1为本发明基于尺度估计的人脸检测及对齐方法一实施例的步骤流程图;
图2为发明基于尺度估计的人脸检测及对齐的待处理的原图;
图3为发明基于尺度估计的人脸检测及对齐的制作好的人脸注意力图;
图4为尺度估计网络模块图;
图5为anchorpnet结构图;
图6为anchorrnet结构图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明技术方案提出了基于尺度估计的人脸检测及对齐方法,包括步骤:
s10:将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
s20:将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度图像;
s30:将多个尺度图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
s40:将预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据检测框提取出对应的人脸特征点。
步骤s10中,尺度估计网络的训练过程为:
人脸尺度向量标注:预设多个尺度区间,将人脸宽和高的均值作为人脸尺度,如存在属于一区间尺度的人脸,则分数向量上对应的分数置为1;如不存在属于此区间尺度的人脸,则分数向量上对应的分数置为0;制作人脸注意力图:制作人脸掩模,并根据人脸尺度预分配注意力权重;使用尺度的多类二分类损失losss以及人脸注意力图的二分类损失lossa作为损失函数,训练损失loss=losss λlossa,其中λ为权重系数。
采用上述技术方案,由于本发明采用了基于anchor的级联人脸检测方法,先用简单快速的anchorpnet来提取人脸的候选区域,之后再用相对复杂的anchorrnet逐步修正,使得人脸检测能够更加快速与准确,可以适应一定范围的尺度。增强了对尺度估计结果的适应性,同时进行了人脸检测与对齐两个任务,由于两个网络的相互适应,使得使用小的网络结构便能达到不错的性能。此外,本发明采用了基于注意力的人脸尺度估计网络,使得其无需针对不同场景调节金字塔进行调参,从而能够自适应不同的场景,基于注意力的尺度估计网络对小尺度人脸有更高的检出,可以避免检测时对小尺度人脸的忽略。
本发明的一实施例中,实现人脸尺度估计的步骤包括:
步骤一:基于注意力的人脸尺度估计。
设计一个基于注意力的尺度估计网络用于生成尺度概率向量,然后将人脸尺度概率向量大于阈值t1的作为最终尺度s={s1,s2,s3.............sn};
具体步骤如下:
步骤1:基于注意力的尺度估计网络训练
参照图4,尺度估计网络由特征提取模块、注意力辅助预测模块与预测模块组成。特征提取模块是一个全卷积网络,用于生成特征;注意力辅助预测模块将特征图反卷积为原图大小,学习人脸注意力图,学习人脸注意力特征;预测模块结合特征模块特征与人脸注意力特征来得到尺度概率向量,将尺度概率向量大于预设阈值的尺度输出。
步骤1.1人脸尺度向量标注制作。由于检测网络的适应性,人脸尺度的尺度间隔可以设置大些,尺度间隔可为21。预设尺度x={22.5,23.5,24.5........2n},应的尺度空间为xs={(22,23),(23,24)..........(2n-0.5,2n 0.5)},标注人脸尺度s为人脸宽高的均值,根据对应的预设尺度对每个尺度区间标注0或1。实施中,预设尺度x={22,23,24........28},总共7个尺度空间,尺度范围为[22,28]。
步骤1.2人脸注意力图制作。取人脸标注框内切椭圆组成的二值分割图作为人脸mask(掩模),并根据人脸尺度对图像中的人脸预先分配注意力权重,预分配注意力权重公式如下所示:
其中s为人脸尺度,σ与μ为概率分布参数;
如图所示,其中图2为原图,图3为制作好的人脸注意力图。
步骤1.3使用多任务损失函数。
训练的损失由两部分组成,一为尺度的多类二分类损失lossa,二为人脸注意力图的二分类损失lossa。训练损失loss=losss λlossa。
其中,
步骤2:基于注意力的尺度估计网络测试。
步骤2.1测试时,注意力辅助预测模块并不参与,只需前向特征提取模块与预测模块。具体实施为将图片降采样到256×256,然后输入到基于注意力的尺度估计网络中,得到一个1×7的尺度概率向量。将大于阈值t0的作为建议的人脸尺度s={s1,s2..........sn}。
步骤二:基于anchor的级联人脸检测与对齐方法,参照图5、图6。
基于anchor的级联人脸检测与对齐方法由两个卷积神经网络级联组成,分别为anchorpnet、anchorrnet。先用简单快速的anchorpnet来提取人脸的候选区域,之后再用相对复杂的anchorrnet逐步修正,使得人脸检测能够更加快速与准确。具体步骤如下:
步骤1:基于anchor的级联人脸检测与对齐方法训练
步骤1.1:anchorpnet训练。
anchorpnet是一个全卷积网络,通过设计不同比例的k个anchora={a1,a2..........an}与标注框匹配来进行训练。若anchor对应的预定义框与标注框的iou值大于0.65则标记该anchor为正样本,同时参与分类与回归计算;若小于0.3则认为负样本,只参与分类不参与回归计算;对于[0.4,0.65]的样本不进行分类判断,只参与回归。训练时需同时对k个anchor进行分类与检测。
anchor可设置任意长宽比,实施中,为了方便,将长宽比设为1,使用下式来得到多个anchor:ak=γ*ak-1,其中,a1=16,γ=0.709,anchor数目为3;在16×16的图上的3个虚线框即为预设的3个anchor。
步骤1.2:训练anchorrnet。
将anchorpnet检测后的结果和标注框与预设的anchor来生成所需的训练数据,训练时需同时进行三个任务,即对预设的k个anchor进行人脸a={a1,a2.........ak}分类、边界框回归、特征点定位,其输入为48×48。实施时anchor的设计规则与步骤1.1一致,a1=48,γ=0.709,anchor数目为3。
步骤2:基于anchor的人脸检测与对齐方法测试
步骤2.1:anchorpnet生成候选框。将使用尺度估计网络得到的尺度s={s1,s2.....sn}对图像进行缩放,得到多个尺度图像。由于anchorpnet为全卷积网络,可以接受任意大小的输入,将多个尺度的图像依次输入到pnet中,得到的大量候选框。经测试发现,候选框密集的地方是人脸的概率的很大,而孤立的候选框大概率是非人脸区域。因此,使用改进的非极大值抑制算法可以去除更多的非人脸候选框。改进的非极大值抑制算法为在非极大值抑制算法的基础上加上局部极大必须覆盖数量为nn的非极大的限制条件。改进的非极大值抑制算法过程如下:
其中iou表示交并比,
本实施例中,覆盖量阈值nn=2,nms阈值nt=0.5,置信度阈值t1=0.6。
步骤2.2:anchorrnet得到最终结果。将第一阶段生成的候选框在原图上剪裁并缩放到48×48大小,输入到anchorrnet中,一个48×48输入将得到k个候选框,分别对应于k个anchor,将大于阈值t2的检测框使用非极大值抑制算法去除冗余框得到检测框,并根据检测框提取出对应的人脸特征点。非极大值抑制算法过程如下:
实施中,nms阈值nt=0.5,置信度阈值t2=0.7。
本发明还提出了一种基于尺度估计的人脸检测及对齐系统,包括:
尺度估计模块:将图片输入尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
缩放模块:将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度图像;
anchorpnet模块:将多个尺度图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
anchorrnet模块:将预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据检测框提取出对应的人脸特征点。
本发明还提出一种基于尺度估计的人脸检测及对齐的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的人脸尺度检测及对齐的方法的步骤。该方法包括:
将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
:将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度图像;
将多个尺度图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
将预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据检测框提取出对应的人脸特征点。
本发明还提出一种基于尺度估计的人脸检测及对齐的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时间实现上述的人脸尺度检测及对齐的方法的步骤。
该方法包括:
将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度图像;
将多个尺度图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
将预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据检测框提取出对应的人脸特征点。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。
1.一种基于尺度估计的人脸检测及对齐方法,其特征在于,包括步骤:
将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,所述尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;所述尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度的图像;
将多个尺度的所述图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
将所述预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据所述检测框提取出对应的人脸特征点。
2.根据权利要求1所述的基于尺度估计的人脸检测及对齐方法,其特征在于,所述尺度估计网络的训练包括:
人脸尺度向量标注:预设多个尺度区间,将人脸宽和高的均值作为人脸尺度,如存在属于一区间尺度的人脸,则分数向量上对应的分数置为1;如不存在属于此区间尺度的人脸,则分数向量上对应的分数置为0;
制作人脸注意力图:制作人脸掩模,并根据人脸尺度预分配注意力权重,预分配注意力权重的公式包括:
其中s为人脸尺度,σ与μ为概率分布参数;
使用尺度的多类二分类损失losss以及人脸注意力图的二分类损失lossa作为损失函数,训练损失loss=losss λlossa,其中λ为权重系数。
3.根据权利要求2所述的基于尺度估计的人脸检测及对齐方法,其特征在于:
4.根据权利要求2所述的基于尺度估计的人脸检测及对齐方法,其特征在于:
5.根据权利要求1所述的基于尺度估计的人脸检测及对齐方法,其特征在于:anchorpnet及anchorrnet的模型训练过程包括:
anchorpnet训练:anchorpnet为全卷积网络,预设不同比例的k个anchor,若anchor对应的预定义框与标注框的交并比值大于第一预设值则标记该anchor为正样本,同时参与分类与回归计算;若所述交并比值小于第二预设值,则认为负样本,只参与分类,不参与回归计算;若所述交并比值大于第二预设值且小于第一预设值,则样本不进行分类判断,只参与回归;训练时需同时对k个anchor进行分类与检测;
anchorrnet训练:将anchorpnet检测后的结果和标注框与预设的anchor来生成所需的训练数据,训练时同时进行任务,任务包括对预设的k个anchor进行人脸分类、边界框回归以及特征点定位。
6.根据权利要求1所述的基于尺度估计的人脸检测及对齐方法,其特征在于:在执行步骤:通过非极大值抑制算法去除非人脸候选框,以及执行步骤:使用非极大值抑制算法去除冗余框得到检测框时,
还包括局部极大必须覆盖数量为nn的非极大的限制条件,其中,nn为覆盖量阈值。
7.根据权利要求1所述的基于尺度估计的人脸检测及对齐方法,其特征在于,所述尺度估计网络包括特征提取模块、注意力辅助预测模块及预测模块;
所述特征提取模块,为全卷积网络,用于生成特征;
所述注意力辅助预测模块,将特征图反卷积为原图大小,用于学习人脸注意力图,学习人脸注意力特征;
所述预测模块,结合特征模块特征与人脸注意力特征来得到尺度概率向量,将尺度概率向量大于预设阈值的尺度输出。
8.一种基于尺度估计的人脸检测及对齐装置,其特征在于,包括:
尺度估计模块:将图片输入至尺度估计网络,将尺度概率向量大于预设阈值的尺度输出;其中,所述尺度估计网络在训练时,根据人脸尺度对图像中的人脸预先分配注意力权重,以制作人脸注意力图;所述尺度估计网络在训练时的损失函数包括人脸注意力图的二分类损失;
缩放模块:将待检测的图像通过尺度估计网络获得的尺度进行缩放,获得多个尺度的图像;
anchorpnet模块:将多个尺度的所述图像输入至anchorpnet中,获得多个候选框,通过非极大值抑制算法去除非人脸候选框,获得预处理候选框;
anchorrnet模块:将所述预处理候选框在原图上剪裁并缩放到预设大小,输入至anchorrnet中,使用非极大值抑制算法去除冗余框得到检测框,并根据所述检测框提取出对应的人脸特征点。
9.一种基于尺度估计的人脸检测及对齐的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现权利要求1-7任一项所述的基于尺度估计的人脸检测及对齐方法的步骤。
10.一种基于尺度估计的人脸检测及对齐的存储介质,其上存储有计算机程序,其特征在于:该计算机程序被处理器执行时间实现权利要求1-7任一项所述的基于尺度估计的人脸检测及对齐方法的步骤。
技术总结