使用MTCNN进行面部关键点检测和对齐

论文来自https://arxiv.org/abs/1604.02878
英语渣渣的阅读和翻译


使用MTCNN进行面部关键点的检测和对齐

  • 摘要:由于各种姿势,照明和遮挡,在任意的环境中进行面部检测和对齐具有挑战性。最近的研究表明深度学习的方法在这两个任务上具有令人印象深刻的表现。在这篇论文里,我们提出了一个深层级联的多任务框架,该框架利用它们之间固有的关联性来提高其性能。尤其是,我们的框架采用了三级精心设计的深层卷积网络从初略到精细地预测面部和关键点的位置。此外,在学习的过程中,我们还使用了一种新的在线难例挖掘策略,这个策略可以自动提高性能而不需要手动去选择样本。我们的方法在FDDBWIDER FACE以及AFLW进行人脸对齐方面达到了比当前技术更高的精度,同时也保持了实时性。
  • 关键词:人脸检测,人脸对齐,级联卷积神经网络

Ⅰ.引言

  • 人脸检测和对齐对很多面部应用是必不可少的,例如人脸识别和面部表情分析。但是在现实的应用中,由于诸如遮挡,较大的姿势变化和极端的照明条件等因素,使这些任务变得十分具有挑战性。
  • Viola和Jones[2]提出的级联人脸检测器利用Haar-LikeAdaBoost来训练级联分类器,从而可以实时的获得良好的表现。但是,有相当多的工作[1,3,4]表明,即使是使用更好的分类器,在人脸较大的视觉变化下,该检测器在实际的应用中也会出现严重的退化现象。除了级联机构外,[5,6,7]还引入了用于面部检测的可变形零件模型(DPM),并获得了卓越的性能。但是它们需要大量的计算,并且在训练的阶段往往需要有大量的注释。最近卷积神经网络(CNNs)在各种计算机视觉任务中取得了很大的进步,例如图像分类[9]和人脸识别[10]。受CNNs在计算机视觉方面表现良好的影响,近年来已经提出了一些基于CNNs的面部检测方法。杨等人[11]为面部属性识别训练深度卷积神经网络来在面部区域获得很高的响应。从而进一步产生人脸的候选窗口。但是由于其复杂的CNN结构,这种方法在实践中会耗费大量的时间。李等人[19]使用级联的CNNs来对人脸进行检测,但是它需要额外的计算费用来从人脸检测中进行边界框校准,同时它还忽略了人脸标志定位和边界框回归之间的内在联系。
  • 人脸对齐也引起了广泛的兴趣。基于回归的方法[12,13,6]和模板拟合法[14,15,7]是两个流行的类别。最近张等人[22]提出使用面部属性识别作为辅助任务,以使用深度卷积神经网络提高面部对齐的性能。
  • 但是大多数可行的面部检测和面部对齐的方法都忽略了这两个任务之间的内在联系。尽管存在一些工作来尝试一块解决它们,但是这些工作任存在一些局限性。例如陈等人[18]利用像素值差的特征与随机森林联合进行对齐和检测。但是手工的特点限制了它的性能,张等人[20]使用多任务CNN来提高多视角的人脸检测的准确性,但是检测的精度受到弱人脸检测器产生的初始检测窗口的限制。
  • 另一方面,在训练的过程中,难例挖掘对增强检测器的能力特别重要,但是传统的难例挖掘基本上是以离线的方式进行,这就大大增加了手工操作。这就需要我们设计一种用于面部检测和对齐的在线难例挖掘方法,且需要该方法能够自动适应当前的训练过程。
  • 在这篇论文中,我们提出了一个新框架,该框架通过多任务学习使用统一的级联CNNs来集成这两个任务。这个CNNs包括三个阶段,首先会通过浅层的CNN快速生成候选窗口。然后通过更加复杂的CNN来优化窗口以舍弃大量的非面部窗口。最后,它使用功能更加强大的CNN细化结果并输出面部标志位置。由于这种多任务学习的框架,该算法的性能能够显著提高。本文的主要贡献如下:(1)我们提出了一个新的基于CNNs的级联框架来用于人脸检测和对齐,并且仔细地设计一个轻量级的CNN架构来获取实时性能。(2)我们提出了一种有效的方法来进行在线难例挖掘以提高性能。(3)在具有挑战性的数据上进行了很多的实验,以表明与人脸检测和人脸对齐任务中的最新技术相比,所提出的方法具有更高的性能。

图1

图1.我们级联的管道包含了三级多任务深度卷积网络。首先,通过快速的提案网络(P-Net)生成候选框。之后,我们会在下一阶段通过优化网络(R-Net)来优化这些候选框。在第三阶段,输出网络(O-Net)生成最终的边界框和面部的特征位置

Ⅱ.方法

  • 在这一节中,我们将描述实现面部检测和对齐的方法。
  • A.总体框架
    • 我们方法的整体流程如图1所示。对于给定的图像,我们首先将其调整为不同比例来构建图像金字塔,这是以下三级级联框架的输入:
    • 第一级:我们利用称为提案网络(P-Net)的全卷积网络,以类似[29]的方式获取候选窗口及其边界框回归向量。然后我们使用估计的边界框回归向量来校准候选框,之后,我们采用非最大抑制(NMS)合并高度重叠的候选对象。
    • 第二级:将所有的候选框喂给另一个称为优化网络(R-Net)的CNN,该网络进一步舍掉大量的错误的候选框,使用边界框回归进行校准,并且合并NMS候选框。
    • 第三级:类似于第二级,但是这一级旨在更详细地描述面孔。尤其是,该网络将会输出五个面部标志的位置。
      表1

表1.我们的CNNs和以前的CNNs[19]的速度和准确度比较

  • B.CNN架构
    • 在[19]中,为面部检测设计了多个CNN,但是,我们注意到它的性能可能受到以下事实的限制:(1)一些过滤器缺少权重的多样性,这可能会限制它们产生歧视性的描述。(2)与其他的多类异物检测和分类任务相比,人脸检测是一项具有挑战性的二分类任务,因此它可能需要较少数量的过滤器,但需要更多的区分度。为此,我们减少了过滤器的数量,并将5 × \times × 5的过滤器变为3 × \times × 3的过滤器以减少训练量,同时增加深度以获得更好的性能。通过这些改进,与[19]中的体系结构相比,我们可以在更短的时间内获得更好的性能(结果如表1所示。为了公平,我们对两种方法使用相同的数据)。我们的CNN架构如图2所示。
  • C.训练
    • 我们利用三个任务来训练CNN检测器:面部/非面部分类,边界框回归和人脸标志定位
    • (1)面部分类:这个学习目标可以看作一个二分类任务,对每一个样例 x i x_i xi ,我们使用交叉熵损失:
      L i d e t = − ( y i d e t l o g ( p i ) + ( 1 − y i d e t ) ( 1 − l o g ( p i ) ) ) L_i^{det}=-(y_i^{det}log(p_i)+(1-y_i^{det})(1-log(p_i))) Lidet=(yidetlog(pi)+(1yidet)(1log(pi)))                        (1)
      p i p_i pi表示为网络产生的样本是面孔的概率, y i d e t ∈ { 0 , 1 } y_i^{det} \in \{0,1\} yidet{0,1}表示真实的标签。
    • (2)边界框回归:对每个候选窗口,我们预测与之最接近的真实框之间的偏移量(即边界框的左上角,高度和宽度)。学习目标可以看作回归问题,我们对每个样本采用欧几里得损失:
      L i b o x = ∣ ∣ y ^ i b o x − y i b o x ∣ ∣ 2 2 L_i^{box}=||\hat{y}_i^{box}-y_i^{box}||_2^2 Libox=y^iboxyibox22                       (2)
      y ^ i b o x \hat{y}_i^{box} y^ibox表示从网络中产生的回归目标, y i b o x y_i^{box} yibox表示真实的坐标。共有四个坐标,包括左上角的坐标,高度和宽度,因此 y i b o x ∈ R 4 y_i^{box}\in\mathbb{R}^4 yiboxR4
    • (3)人脸标志定位:类似于边界框回归任务,将人脸标志定位看作一个回归任务,我们最小化欧几里得损失:
      L i l a n d m a r k = ∣ ∣ y ^ i l a n d m a r k − y i l a n d m a r k ∣ ∣ 2 2 L_i^{landmark}=||\hat{y}_i^{landmark}-y_i^{landmark}||_2^2 Lilandmark=y^ilandmarkyilandmark22                       (3)
      y ^ i l a n d m a r k \hat{y}_i^{landmark} y^ilandmark是从网络中获取的人脸关键点的坐标, y i l a n d m a r k y_i^{landmark} yilandmark表示为真正的坐标。共有五个面部关键点,包括左眼、右眼、鼻子、左嘴角、右嘴角,因此 y i l a n d m a r k ∈ R 10 y_i^{landmark}\in\mathbb{R}^{10} yilandmarkR10
    • (4)多源训练:由于我们在每个CNNs采用不同的任务,因此在学习的过程中会有不同的训练图像,例如面部、非面部和部分对齐的面部。在这种情况下,有些损失函数(即等式(1)-(3))就不会被使用。例如,对于背景区域的样本,我们只计算 L i d e t L_i^{det} Lidet其他的两个损失置为0。这可以直接通过一个样本的类型指示器实现,所以总体的学习目标可以表述为:
      m i n ∑ i = 1 N ∑ j ∈ { d e t , b o x , l a n d m a r k } α j β i j L i j min\sum_{i=1}^N\sum_{j\in\{det, box, landmark\}}\alpha_j\beta_i^jL_i^j mini=1Nj{det,box,landmark}αjβijLij                       (4)
      N N N是训练样本的数量, α j \alpha_j αj是任务的权重。我们在P-NetR-Net中使用的权重是( α d e t = 1 , α b o x = 0.5 , α l a n d m a r k = 0.5 \alpha_{det}=1,\alpha_{box}=0.5,\alpha_{landmark}=0.5 αdet=1,αbox=0.5,αlandmark=0.5),在O-Net中为了获得更准确的面部关键点的坐标,我们使用的权重是( α d e t = 1 , α b o x = 0.5 , α l a n d m a r k = 1 \alpha_{det}=1,\alpha_{box}=0.5,\alpha_{landmark}=1 αdet=1,αbox=0.5,αlandmark=1)。 β i j ∈ { 0 , 1 } \beta_i^j\in\{0,1\} βij{0,1}表示样本指示器,在这个情况下,我们很自然地采用随机梯度下降算法来训练CNNs。
    • (5)在线难例挖掘:与训练初始的分类器后进行传统的难例挖掘不同,我们在人脸分类任务中进行在线难例挖掘以适应训练过程。
      • 特别是在每个小批量中,我们对所有样本在前向传播阶段计算出的损耗进行排序,并选择其中的前70%作为难样本。然后我们在后向传播阶段仅计算来自难样本的梯度。这意味着我们在训练的时候忽略了那些对增强检测器没有多大帮助的简单样本。实验表明这种策略无需手动选择样本即可获得更好的性能,在第三节将证明其有效性。
        图2

图2.P-Net,R-Net,O-Net的体系结构,其中“MP”表示最大池化,“Conv”表示卷积。卷积层和池化层的步长分别是1和2

Ⅲ.实验

  • 在这一节,我们首先证明提出的难例挖掘策略的有效性,然后我们将我们的人脸检测器和人脸对齐与当前的方法在FDDB[25],WIDER FACE[24]和ALFW[8]上进行比较。FDDB的数据集包含2845张图像,其中有5171个人脸的注释。WIDER FACE数据集有32203张图像,其中有393703个带标签的面部边界框,且其中的50%根据图像难度分为三个子集进行测试,40%用于训练,其余的用于验证。AFLW包含24386张面孔的面部标志注释,并且我们使用与[22]相同的测试子集。最后,我们证明了人脸检测器的计算效率。
  • A.训练数据
    • 由于我们共同进行面部检测和对齐,所以我们在训练的过程中使用四种不同类型的数据注释:(ⅰ)负集:与任何真实的人脸交集比率不超过0.3;(ⅱ)正集:与真实人脸交集超过0.65;(ⅲ)局部人脸集:与真实人脸的交集在0.4到0.65之间;(ⅳ)人脸标志集:标有5个关键点位置的人脸。负集和正集用于人脸分类任务,正集和局部人脸集用于边界框回归,而人脸标志集用于人脸的标志定位。每个网络的训练数据描述如下:
    • 1)P-Net:我们从WIDER FACE[24]中随机选取几块来收集正集,负集和局部人脸集。然后,我们将CelebA[23]中的面孔裁剪为人脸标志集
    • 2)R-Net:我们使用框架的第一阶段来检测来自WIDER FACE[24]中收集的正集,负集,局部人脸集的人脸,而从CelebA[23]中检测人脸标志集
    • 3)O-Net:类似于R-Net来收集数据,但我们使用框架的前两个阶段来检测人脸
  • B.在线难例挖掘的效率
    • 为了评估我们提出的在线难例挖掘,我们训练了两个O-Net(有和没有在线难例挖掘)并比较了他们的损失曲线。为了更直接地进行比较,我们仅训练O-Net进行人脸分类任务。在这两个O-Net中,包括网络初始化在内的所有训练参数都相同。为了更轻松地比较它们,我们使用固定学习率。图3(a)显示了两种不同训练方式的损耗曲线。很明显,难例挖掘有助于提高性能。
  • C.联合检测和对齐的有效性
    • 为了评估联合检测和对齐,我们评估了FDDB(具有相同的P-Net和R-Net以进行公平比较)上的两个不同的O-Net(联合面部的标志的回归任务和不联合的回归任务)的性能。我们还比较了这两个O-Net中边界框回归的性能。图3(b)表明,联合标志任务学习对于人脸分类和边界框回归任务都是有益的。
  • D.人脸检测评估
    • 为了评估人脸检测方法的性能,我们将我们的方法与FDDB中的最新方法[1、5、6、11、18、19、26、27、28、29]和WIDER FACE中最先进的方法[1、24、11]进行了比较。图4(a)-(d)表明,我们的方法在两个测试中均始终以较大的优势胜过所有之前的方法。我们评估了我们的方法在一些具有挑战性的照片1
  • E.人脸对齐评估
    • 在这一部分,我们将我们的方法与下列方法在人脸对齐的性能上进行了比较:RCPR[12],TSPM[7],Luxand face SDK[17],ESR[13],CDM[15],SDM[21]和TCDCN[22]。在测试阶段,有13张图像使用我们的方法无法检测到。因此,我们裁剪了这13张图像的中心区域,并将它们作为O-Net的输入,平均误差是将估计的标志和真实的差距来计算的,同时相对于眼见距离归一化。图4(e)展示了我们方法在性能上优于所有最新方法。
  • F.运行效率
    • 给定级联结构,我们的方法可以在面部关键点检测和对齐中表现地非常快。在2.60GhzCPU上是16fps,在GPU(Nvidia Titan Black)上是99fps。当前我们的实现是基于未优化的MATLAB代码。
      图3

图3.(a)是有和没有难例挖掘时,O-Net的验证损失。(b)“JA”表示联合面部对齐学习,“No JA”是没有联合面部对齐学习,“No JA in BBR”表示在训练CNN进行边界框回归时不联合

图4

图4.(a)在FDDB上的评估。(b-d)在WIDER FACE三个子集上的评估,方法后的数字表示平均精度。(e)在AFLW上的人脸对齐评估

Ⅳ.结论

  • 在这篇论文中,我们提出了一种基于多任务级联CNNs的框架,用于联合人脸检测和对齐。实验结果表明,在保持实时性能的同时,我们的方法在多个具有挑战性的数据集(包括用于面部检测FDDB和WIDER FACE,以及用于人脸对齐的AFLW)上始终由于最新的方法。将来,我们将利用人脸检测与其他人脸分析任务之间的内在关联性来进一步提高性能。

参考文献

  • [1] B. Yang, J. Yan, Z. Lei, and S. Z. Li, “Aggregate channel eatures for
    multi-view face detection,” in IEEE International Joint Conference on
    Biometrics, 2014, pp. 1-8.
  • [2] P. Viola and M. J. Jones, “Robust real-time face detection. International
    journal of computer vision,” vol. 57, no. 2, pp. 137-154, 2004
  • [3] M. T. Pham, Y. Gao, V. D. D. Hoang, and T. J. Cham, “Fast polygonal
    integration and its application in extending haar-like features to improve
    object detection,” in IEEE Conference on Computer Vision and Pattern
    Recognition, 2010, pp. 942-949.
  • [4] Q. Zhu, M. C. Yeh, K. T. Cheng, and S. Avidan, “Fast human detection
    using a cascade of histograms of oriented gradients,” in IEEE Computer
    Conference on Computer Vision and Pattern Recognition, 2006, pp.
    1491-1498.
  • [5] M. Mathias, R. Benenson, M. Pedersoli, and L. Van Gool, “Face detection
    without bells and whistles,” in European Conference on Computer Vision,
    2014, pp. 720-735.
  • [6] J. Yan, Z. Lei, L. Wen, and S. Li, “The fastest deformable part model for
    object detection,” in IEEE Conference on Computer Vision and Pattern
    Recognition, 2014, pp. 2497-2504.
  • [7] X. Zhu, and D. Ramanan, “Face detection, pose estimation, and landmark
    localization in the wild,” in IEEE Conference on Computer Vision and
    Pattern Recognition, 2012, pp. 2879-2886.
  • [8] M. Köstinger, P. Wohlhart, P. M. Roth, and H. Bischof, “Annotated facial
    landmarks in the wild: A large-scale, real-world database for facial landmark localization,” in IEEE Conference on Computer Vision and Pattern
    Recognition Workshops, 2011, pp. 2144-2151.
  • [9] A. Krizhevsky, I. Sutskever, and G. E. Hinton, “Imagenet classification
    with deep convolutional neural networks,” in Advances in neural information processing systems, 2012, pp. 1097-1105.
  • [10] Y. Sun, Y. Chen, X. Wang, and X. Tang, “Deep learning face representation by joint identification-verification,” in Advances in Neural Information Processing Systems, 2014, pp. 1988-1996.
  • [11] S. Yang, P. Luo, C. C. Loy, and X. Tang, “From facial parts responses to
    face detection: A deep learning approach,” in IEEE International Conference on Computer Vision, 2015, pp. 3676-3684.
  • [12] X. P. Burgos-Artizzu, P. Perona, and P. Dollar, “Robust face landmark
    estimation under occlusion,” in IEEE International Conference on Computer Vision, 2013, pp. 1513-1520.
  • [13] X. Cao, Y. Wei, F. Wen, and J. Sun, “Face alignment by explicit shape
    regression,” International Journal of Computer Vision, vol 107, no. 2, pp.
    177-190, 2012.
  • [14] T. F. Cootes, G. J. Edwards, and C. J. Taylor, “Active appearance models,”
    IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 23,
    no. 6, pp. 681-685, 2001.
  • [15] X. Yu, J. Huang, S. Zhang, W. Yan, and D. Metaxas, “Pose-free facial
    landmark fitting via optimized part mixtures and cascaded deformable
    shape model,” in IEEE International Conference on Computer Vision,
    2013, pp. 1944-1951.
  • [16] J. Zhang, S. Shan, M. Kan, and X. Chen, “Coarse-to-fine auto-encoder
    networks (CFAN) for real-time face alignment,” in European Conference
    on Computer Vision, 2014, pp. 1-16.
  • [17] Luxand Incorporated: Luxand face SDK, http://www.luxand.com/
  • [18] D. Chen, S. Ren, Y. Wei, X. Cao, and J. Sun, “Joint cascade face detection
    and alignment,” in European Conference on Computer Vision, 2014, pp.
    109-122.
  • [19] H. Li, Z. Lin, X. Shen, J. Brandt, and G. Hua, “A convolutional neural
    network cascade for face detection,” in IEEE Conference on Computer
    Vision and Pattern Recognition, 2015, pp. 5325-5334.
  • [20] C. Zhang, and Z. Zhang, “Improving multiview face detection with multi-task deep convolutional neural networks,” IEEE Winter Conference
    on Applications of Computer Vision, 2014, pp. 1036-1041.
  • [21] X. Xiong, and F. Torre, “Supervised descent method and its applications to
    face alignment,” in IEEE Conference on Computer Vision and Pattern
    Recognition, 2013, pp. 532-539.
  • [22] Z. Zhang, P. Luo, C. C. Loy, and X. Tang, “Facial landmark detection by
    deep multi-task learning,” in European Conference on Computer Vision,
    2014, pp. 94-108.
  • [23] Z. Liu, P. Luo, X. Wang, and X. Tang, “Deep learning face attributes in the
    wild,” in IEEE International Conference on Computer Vision, 2015, pp.
    3730-3738.
  • [24] S. Yang, P. Luo, C. C. Loy, and X. Tang, “WIDER FACE: A Face Detection Benchmark”. arXiv preprint arXiv:1511.06523.
  • [25] V. Jain, and E. G. Learned-Miller, “FDDB: A benchmark for face detection in unconstrained settings,” Technical Report UMCS-2010-009, University of Massachusetts, Amherst, 2010.
  • [26] B. Yang, J. Yan, Z. Lei, and S. Z. Li, “Convolutional channel features,” in
    IEEE International Conference on Computer Vision, 2015, pp. 82-90.
  • [27] R. Ranjan, V. M. Patel, and R. Chellappa, “A deep pyramid deformable part model for face detection,” in IEEE International Conference on Biometrics Theory, Applications and Systems, 2015, pp. 1-8.
  • [28] G. Ghiasi, and C. C. Fowlkes, “Occlusion Coherence: Detecting and
    Localizing Occluded Faces,” arXiv preprint arXiv:1506.08347.
  • [29] S. S. Farfade, M. J. Saberian, and L. J. Li, “Multi-view face detection using
    deep convolutional neural networks,” in ACM on International Conference
    on Multimedia Retrieval, 2015, pp. 643-650.

  1. 样例展示在http://kpzhang93.github.io/SPL/index.html上 ↩︎

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值