本发明属于人脸检测技术领域,具体地涉及一种基于深度的级联多任务人脸检测与配准方法。
背景技术:
人脸检测与配准对于许多的人脸应用有着至关重要的作用,例如人脸编辑、人脸识别与人脸表情分析等。但是在现实世界中,由于光照、尺寸、姿态变化等因素的影响,使人脸检测与配准变得困难。
在人脸检测方面,目前比较经典的是paulviola和michaeljones提出的vj人脸检测方法,这种方法提出积分图像,快速计算haar-like特征并利用adaboost学习算法进行特征选择和分类器训练,把弱分类器组合成强分类器。
在人脸配准方面,大多是利用回归的思想,比较有代表性的是监督下降法。这种方法属于解决非线性最小化问题的一种方法,在初始化特征点的基础上,利用点的sift特征对点进行回归得到新的特征点位置,然后对新得到的点进行回归,一直到得到最为接近真实的特征点的位置。
技术实现要素:
本发明的目的在于针对现有技术的缺陷或问题,提供一种基于深度的级联多任务人脸检测与配准方法,其具有模型小,速度快,对光线与姿态等外界因素变化的鲁棒性好的优势。
本发明的技术方案如下:一种基于深度的级联多任务人脸检测与配准方法包括以下步骤:步骤1:调整图像尺寸形成图像金字塔;步骤2:将步骤1得到的不同尺寸的图像分别送入p-net网络,预测得到原图像人脸候选框;步骤3:将步骤2得到的所有人脸框内的图像尺寸设定为n×n后输入r-net网络,进行人脸或非人脸的判断,并对人脸框进行boundingbox回归,其中,n为正整数;步骤4:将步骤3得到的所有人脸框内的图像尺寸设定为m×m后输入o-net网络,进行人脸或非人脸的判断,并对人脸框进行boundingbox回归,同时输出左右眼睛中心以及鼻尖、左右嘴角位置的坐标,其中,m为正整数;步骤5:将步骤4得到的所有人脸框内的图像尺寸设定为k×k后输入l-net网络,最后得到原图像头部姿态的三维角度大小和若干个特征点的位置,其中,k为正整数。
优选地,步骤2所述p-net网络为全卷积神经网络。
优选地,步骤5所述头部姿态的三维角度分别是yaw、pitch、roll三种角度,分别代表左右翻转、上下翻转、平面内旋转的角度。
本发明提供的技术方案具有如下有益效果:
1、本发明基于深度的级联多任务人脸检测与配准方法,利用人脸检测与人脸配准的内在联系,通过网络同时输出人脸位置和特征点位置,提高了预测性能;
2、本发明基于深度的级联多任务人脸检测与配准方法,利用头部姿态三维角度和人脸特征点的内在联系,通过网络同时输出头部姿态三维角度大小和人脸特征点位置,提高了预测性能;
3、本发明基于深度的级联多任务人脸检测与配准方法,利用四个浅层神经网络,由粗略到精细来级联预测人脸框、特征点位置以及头部姿态三维角度的大小,最后训练得到的四个模型体积非常小,预测速度比较快。
附图说明
图1为本发明实施例提供的基于深度的级联多任务人脸检测与配准方法的流程图;
图2是图1所示基于深度的级联多任务人脸检测与配准方法中p-net网络的结构图;
图3是图1所示基于深度的级联多任务人脸检测与配准方法中r-net网络的结构图;
图4是图1所示基于深度的级联多任务人脸检测与配准方法中o-net网络的结构图;
图5是图1所示基于深度的级联多任务人脸检测与配准方法中l-net网络的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的术语“和/或”涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组合。
如图1所示,本发明实施例提供的基于深度的级联多任务人脸检测与配准方法包括如下步骤:
步骤1、原图像预处理
例如,将原图像尺寸设定,选取缩小因子0.709,使其逐步缩小到约12×12,形成图像金字塔。
步骤2、预测原图像人脸候选框
将步骤1得到的不同尺寸的图片分别送入p-net网络,输出原图像的候选框位置。其中,所述p-net网络为全卷积神经网络,而且,如图2所示,所述p-net网络中,conv表示卷积,步长为1;mp表示maxpooling,步长为2。
在训练时,人脸分类采用交叉熵损失函数,boudingbox回归采用欧氏距离计算损失,并以2:1的比例组成计算整个p-net网络的损失。
步骤3、判断人脸或非人脸以及微调人脸框位置
将步骤2得到的所有人脸框内的图像尺寸设定为n×n后输入r-net网络,进行人脸或非人脸的判断,并对人脸框进行boundingbox回归,其中,n为正整数。
例如,将步骤2得到的所有人脸框内的图像resize为24×24后输入r-net网络,进行人脸/非人脸判断,并对人脸框进行boundingbox回归。其中,所述r-net网络为全卷积神经网络,而且,如图3所示,所述r-net网络网络中,conv表示卷积,步长为1;mp表示maxpooling,步长为2。
在训练时,人脸分类采用交叉熵损失函数,boudingbox回归采用欧氏距离计算损失,并以2:1的比例组成计算整个r-net网络的损失。
步骤4、进一步判断人脸或非人脸、微调框并预测若干个特征点的位置
将步骤3得到的所有人脸框内的图像尺寸设定为m×m后输入o-net网络,进行人脸或非人脸的判断,并对人脸框进行boundingbox回归,同时输出左右眼睛中心以及鼻尖、左右嘴角位置的坐标,其中,m为正整数。
例如,将步骤3得到的所有人脸框内的图像resize为48×48后输入o-net网络,进行人脸/非人脸判断,并对人脸框进行boundingbox回归,同时输出左右眼睛中心以及鼻尖、左右嘴角位置的5个点的坐标。其中,所述r-net网络为全卷积神经网络,而且,如图4所示,所述r-net网络网络中,conv表示卷积,步长为1;mp表示maxpooling,步长为2。
在训练时,人脸分类采用交叉熵损失函数,boudingbox回归和特征点定位均采用欧氏距离计算损失,并以2:1:2的比例组成计算整个o-net网络的损失。
步骤5、输出头部姿态三维角度与若干个特征点的位置
将步骤4得到的所有人脸框内的图像尺寸设定为k×k后输入l-net网络,最后得到原图像头部姿态的三维角度大小和若干个特征点的位置,其中,k为正整数。
例如,将步骤4得到的所有人脸框内的图像resize为48x48后输入l-net网络,输出原图像头部姿态的三维角度大小和68个特征点的位置。其中,所述r-net网络为全卷积神经网络,而且,如图5所示,所述r-net网络网络中,conv表示卷积,步长为1;mp表示maxpooling,步长为2。
在训练时,人脸特征点定位和头部姿势估计均采用欧氏距离计算损失,为了得到更精确的特征点定位效果,以100:1的比例组成计算整个l-net网络的损失。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。