一种基于多任务渐进配准网络的旋转不变人脸检测方法与流程

文档序号:19156685发布日期:2019-11-16 00:54阅读:224来源:国知局
一种基于多任务渐进配准网络的旋转不变人脸检测方法与流程

本发明属于图像处理技术领域,特别涉及基于卷积神经网络的旋转不变人脸检测方法。



背景技术:

包含人脸的图像对基于智能视觉的人机交互是必不可少的,人脸检测为上述目标进行智能分析提供了丰富的视觉信息,可以用于鉴别图像中感兴趣对象。同时,对于人脸检测的研究也成为图像处理、计算机视觉和模式识别领域中一个难以回避的基础性问题,一直广受研究者的关注。在人脸检测上所取得的进展,对于计算机视觉和模式识别领域的诸多问题起到了重要的支撑作用,例如人脸识别、视频跟踪、头部姿态估计和性别识别等。

利用计算机视觉手段对人体目标实施人脸检测的研究经历了数十年的发展,但很多人脸检测算法的性能都不足以满足实际应用中的需求。与受控环境相比,真实场景下的人脸在图片中有着不同的呈现:受控环境下人脸基本处于正面朝上状态,仅头部有着轻微的几何变形;而真实场景下的人脸姿态更为复杂,最大特点在于人脸目标与成像设备之间有着不确定的平面旋转角度。现有的典型dcnn人脸检测网络一个重要的不足是,缺乏对诸如图像旋转变化、尺度变化等的鲁棒性。



技术实现要素:

针对以上现有技术中的不足,本发明的目的在于提供一种对平面内旋转角度变化较为鲁棒的人脸检测方法。

为实现上述目的本发明采用的技术方案如下:一种基于多任务渐进配准网络的旋转不变人脸检测方法,包括以下步骤:

s1、图像预处理,构建并训练级联的多层卷积神经网络;

s2、输入测试图像,使用图像金字塔的方式产生不同分辨率的图像集合,然后送入所述级联的多层卷积神经网络开始检测;

s3、每一层卷积神经网络过滤掉部分非人脸窗口,根据边框回归结果调整候选框位置,同时预测出人脸的旋转角度;

s4、根据预测出的旋转角度通过翻转图像操作进行配准,并将配准图像判断为人脸图像。

进一步,所述图像预处理包括:

a1、将widerface数据集图像按任意角度旋转,产生大量包含平面内旋转角度变化的人脸图像,其人脸位置信息也进行相应旋转变化;

a2、将lfw数据集图像按任意角度随机旋转,产生大量包含平面内旋转角度变化的人脸图像,其人脸关键点位置信息也进行相应旋转变化。

进一步,所述级联的多层卷积神经网络采用三层级联架构,第一层包括4个卷积层和1个最大池化层,第二层包括3个卷积层、2个最大池化层和2个全连接层,第三层包括4个卷积层、3个最大池化层和2个全连接层。

本发明的优点及有益效果如下:

本发明主要针对目前流行的基于深度卷积神经网络的人脸检测方法缺乏对图像旋转变化的鲁棒性,设计了一种基于多任务渐进配准网络的旋转不变人脸检测方法。充分考虑实际场景中,可能会出现由于人脸目标与成像设备之间有着不确定的平面旋转角度造成无法对人脸区域进行检测的情况。采用多任务学习的方式在人脸检测任务、人脸关键点检测任务及角度配准任务间进行知识传递,实现各相关任务间的有效学习,以获得高效、鉴别力强和高鲁棒性的实用人脸检测器。此外,充分考虑到了人脸关键点位置坐标包含的平面内人脸图像旋转角度信息,为了提升本方法在人脸角度变化时关键点检测的鲁棒性,因此重新定义人脸关键点回归损失函数,有效的提高了算法对平面内旋转角度变化的容忍能力。本方法获得了较好的检测效果。

附图说明

图1是本发明实施例提供的旋转不变的人脸检测的实现流程图;

图2是本发明实施例提供的多级联的卷积神经网络第一级网络结构图;

图3是本发明实施例提供的多级联的卷积神经网络第二级网络结构图;

图4是本发明实施例提供的多级联的卷积神经网络第三级网络结构图;

图5是本发明实施例提供的旋转不变的人脸检测的效果图;

图6是本发明实施例提供的旋转不变人脸检测的方法s4的具体实现流程图;

图7是人脸图像上特征点的标签位置展示图。

具体实施方式

本发明实施例基于级联的多层卷积神经网络实现,待测图像一次通过各级多层卷积神经网络,每级多层卷积神经网络均执行人脸分类、人脸候选框回归、人脸关键点检测及角度识别任务。最后根据预测出的旋转角度通过翻转图像操作进行配准,并将配准图像判断为人脸图像。

为了说明本发明所述的技术方案,下面结合附图和具体实施例作说明。

图1示出了本发明实施例提供的旋转不变的人脸检测的实现流程,详述如下:

s1、构建并训练级联的多层卷积神经网络;

s2、输入测试图像,使用图像金字塔的方式产生不同分辨率的图像集合,然后送入所述的级联的多层卷积神经网络开始检测;

s3、每一级网络过滤掉部分非人脸窗口,根据边框回归结果调整候选框位置,同时预测出人脸的旋转角度;

s4、根据预测出的旋转角度通过翻转图像操作进行配准。

所述的级联的多层卷积神经网络采用三层级联架构设计,每一级由浅层卷积神经网络构成,同时完成人脸检测、角度识别和关键点定位任务,在速度和精度方面取得良好的效果。

进一步的,步骤s1利用多任务间的关联性,结合人脸检测、角度识别和关键点定位任务,构建并训练了基于三层级联架构的多任务卷积神经网络,具体实施步骤如下:

第一级网络、第二级网络和第三级网络的网络结构图分别如图2、图3和图4所示。我们把旋转不变人脸检测分解为人脸/非人脸的二分类问题、人脸的角度识别问题和人脸候选框回归问题,即判断输入图像是否为人脸和使得检测框的输出结果无限接近其真实值。具体地:

a、如图2所示,第一级网络的网络结构从上至下依次是:第一层,卷积层,卷积核大小为3×3,卷积核数目为16;第二层,最大池化层,池化区间为2×2;第三层,卷积层,卷积核大小为3×3,卷积核数目为32;第四层,卷积层,卷积核大小为3×3,卷积核数目为64;第五层分四个子层,分别与第四层串联,这四个子层均为卷积层,卷积核为1×1,使用的监督信息分别为:人脸与非人脸二分类信息、人脸的位置信息和人脸关键点的位置信息;

b、如图3所示,第二级网络的网络结构从上至下依次是:第一层,卷积层,卷积核大小为3×3,卷积核数目为24;第二层,最大池化层,池化区间为3×3;第三层,卷积层,卷积核大小为3×3,卷积核数目为48;第四层,最大池化层,池化区间为3×3;第五层,卷积层,卷积核大小为2×2,卷积核数目为96;第六层,全连接层,神经元个数为196;第七层分四个子层,分别与第六层串联,这四个子层均为全连接层,使用的监督信息分别为:人脸与非人脸二分类信息、人脸的位置信息和人脸关键点的位置信息;

c、如图4所示,第三级网络的网络结构从上至下依次是:第一层,卷积层,卷积核大小为3×3,卷积核数目为24;第二层,最大池化层,池化区间为3×3;第三层,卷积层,卷积核大小为3×3,卷积核数目为48;第四层,最大池化层,池化区间为3×3;第五层,卷积层,卷积核大小为2×2,卷积核数目为96;第六层,最大池化层,池化区间为2×2;第七层,卷积层,卷积核大小为2×2,卷积核数目为192;第八层,全连接层,神经元个数为254;第九层分三个子层,分别与第八层串联,这四个子层均为全连接层,使用的监督信息分别为:人脸与非人脸二分类信息、人脸的位置信息和人脸关键点的位置信息;

d、测试阶段,第一级网络和第二级网络只输出人脸与非人脸的判断结果f、人脸候选框的位移t以及人脸方向g,第三级网络只输出人脸与非人脸的判断结果f、人脸候选框的位移t以及人脸关键点位置p;

e、训练该卷积神经网络时,使用随机梯度下降算法,使用交叉熵函数计算人脸/非人脸二分类任务的损失,根据计算公式(1)所示:

lcls=ylogf+(1-y)log(1-f)(1)

其中,y表示真实的人脸分类结果。

同样地,使用交叉熵函数计算角度识别任务的损失,根据计算公式(2)所示:

lcal=xlogg+(1-x)log(1-g)(2)

其中,x表示真实的角度分类结果。

人脸候选框的回归任务使用的是欧式距离函数,其计算公式如下所示:

其中,表示真实的人脸位置坐标值。

最后,充分考虑到了人脸关键点位置坐标包含的平面内人脸图像旋转角度信息,提升本方法在人脸角度变化时关键点检测的鲁棒性,因此重新定义人脸关键点回归损失函数,其计算公式如下所示:

其中,式中的n为参与人脸关键点任务的训练样本总数,d为预测点与真实点的欧式距离,θ为该样本的旋转角度值,满足θ∈[-45°,45°]。

f、在本发明实例中,使用公开人脸数据集widerface和lfw作为训练集。widerface包含了32203张图像、393703个人脸检测框位置标记。其中50%的人脸数据用来训练人脸分类和候选框回归任务,40%用作测试集,剩下的10%用作验证集。lfw数据集用来训练角度识别任务人和脸对齐任务。

进一步的,步骤s2将图像输入所述级联的多层卷积神经网络,输出产生人脸候选框位移、候选框得分、关键点位置和人脸旋转角度,具体实施步骤如下:

a、待测试图像首先经过尺度缩放生成图像金字塔。第一级网络的输入是12×12×3,其中,3代表输入图像色彩通道为3通道,即rgb图像。输入图像通过第一级网络产生的输出是人脸候选框位移t、候选框得分f及人脸方向g。此时人脸角度识别任务被看作一个二分类任务,即人脸方向朝上和人脸方向朝下,分别记做1、0;

训练第一层网络角度识别中使用样本的标注值θ为该样本的旋转角度值;

令所述标注值f1为0和1的样本参与训练第一层网络角度识别。

b、第二级网络的输入是24×24×3,输入图像通过第二级网络产生的输出是人脸候选框位移t、候选框得分f及人脸方向g;此时人脸角度识别任务被看作一个三分类任务,即人脸方向朝上、人脸方向朝左和人脸方向朝右,分别记做0、1、2;

训练第二层网络角度识别中使用样本的标注值θ为该样本的旋转角度值;

令所述标注值f2为0、1和2的样本参与训练第二层网络角度识别任务。

进一步的,在步骤s3中网络输出的人脸旋转角度,通过翻转图像操作进行配准,具体实施步骤如下:

a、如步骤s2所述,待测图像通过第一级网络后,产生人脸方向得分g,对应平面内旋转角度的计算公式是其中,0°代表正脸朝上,180°代表正脸朝下。

b、旋转角度p为0°时,图像不翻转;旋转角度p为180°时,图像则翻转180°;此时,平面内人脸旋转角度的范围由[-180°,180°]缩小到[-90°,90°]。图像翻转操作简单、计算花费少,能够实现平面内高效、快速的人脸图像配准;

c、如步骤s2所述,待测图像通过第二级网络后,产生人脸方向得分g,根据公式(5)将人脸方向得分转化为方向标签:

id=argmaxgi,i∈[0,1,2](5)

其中,id表示方向标签,g0,g1,g2分别表示人脸方向朝左、上、右的方向得分。

其对应平面内旋转角度的计算公式是其中,0°代表正脸朝上,90°代表正脸朝左,-90°代表正脸朝右。

d、旋转角度p为0°时,图像不翻转;旋转角度p为90°时,图像则右旋90°;旋转角度p为-90°时,图像则左旋90°。此时,平面内人脸旋转角度的范围由[-90°,90°]缩小到[-45°,45°]。

进一步的,步骤s2将图像输入最后一级多任务卷积神经网络,输出产生人脸候选框位置t、候选框得分f和关键点位置p,具体实施步骤如下:

a、最后一级网络的输入是48×48×3,与第一级、第二级网络结构不同的是,输入图像通过第三级网络产生的输出是人脸候选框位移t、候选框得分f及人脸关键点位置p。

b、待测图像通过第一级网络的目的是用一个全卷积网络快速产生候选窗口、以一种较为粗糙的方式预测图像旋转角度。通过第二级网络的目的是用一个复杂的卷积神经网络对第一级产生的候选窗口不断精细化,丢掉大量重叠窗口同时预测图像旋转角度。

进一步的,步骤s4利用步骤s2输出的人脸候选框位置和人脸关键点之间的几何信息,计算出旋转角度,通过翻转图像进行配准,得到检测人脸图像,具体实施步骤如下:

a、如图6(a)所示,待测图像通过第三级网络进行人脸检测和关键点定位,第三级网络的输出图像确定为人脸图像,平面内人脸旋转角度的范围为[-45°,45°]。

b、如图6(b)所示,我们知道人眼到头顶之间的距离相比其他关键点到头顶之间的距离更为接近。基于这一先验知识,首先通过计算左眼、右眼到四个边界框之间的距离和确定人脸检测框的正向。

c、如图7所示,在一张标准的、正脸朝上的人脸图像上,左眼与鼻尖之间的连线形成的夹角α等于鼻尖与头顶之间的连线形成的夹角β。如图6(d)所示,利用人脸检测框和关键点之间的几何关系,人脸图像旋转角度的计算公式为θ=(α-β)÷2。

本发明实施例提供的旋转不变的人脸检测的效果,如图5所示。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1