基于多任务级联卷积网络的人脸联合检测与对准

摘要

无约束环境下的 抽象人脸检测和比对由于其不同的姿态、光照和遮挡而具有挑战性。最近的研究表明,深度学习方法可以在这两个任务上取得显著的性能。本文提出了一种基于深度级联的多任务框架,利用它们之间的内在相关性来提高性能,特别是采用了分三个阶段精心设计的级联结构。在学习过程中,我们提出了一种新的在线硬样本挖掘策略,它可以在不需要人工选择样本的情况下自动提高人脸挖掘的性能,在挑战Fddb和宽人脸检测基准上,我们的方法在保持实时性能的同时,获得了比现有技术更高的精度。

关键字:人脸检测,人脸对齐,级联卷积神经网络

一、引言

人脸检测和对齐是人脸识别和面部表情分析等多种人脸应用中必不可少的技术,然而,人脸的视觉变化,如遮挡、姿态变化和极端光照等,对这些任务的实际应用提出了极大的挑战。

Viola和Jones提出的级联人脸检测器利用类haar特征和adaboost训练级联分类器,具有很好的实时性,但大量的工作表明,即使具有更先进的特征和分类器,该检测器在人脸视觉变化较大的现实应用中也会出现明显的退化。 除了级联结构外,还引入了可变形部分模型(DPM)来进行人脸检测,取得了显著的效果,但在训练阶段往往需要很高的计算开销和代价,近年来,卷积神经网络(CNNs)在图像分类、人脸识别等多种计算机视觉任务中取得了显著的进展。

由于CNNs在计算机视觉任务中的良好性能,近年来提出了一些基于CNNs的人脸检测方法。对人脸属性识别的深层卷积神经网络进行训练,使其在人脸区域获得较高的响应,从而进一步产生人脸的候选窗口。然而,由于CNN结构复杂,这种方法在实际中花费了很大的时间。使用级联CNNs进行人脸检测,但需要对人脸检测进行bounding box标定,需要额外的计算费用,而忽略了人脸地标定位与bounding box回归之间的内在相关性。

人脸对齐也引起了广泛的兴趣。基于回归的方法和模板拟合方法是两种流行的方法。我们提出用人脸属性识别作为辅助任务,利用深层卷积神经网络提高人脸对齐性能。

然而,现有的人脸检测和人脸对齐方法大多忽略了这两项任务之间的内在联系。虽然有几项工作试图共同解决,但这些工作仍然存在局限性。例如,Chen等人联合使用像素值差的特征与随机森林进行比对和检测。但是,所使用的手工特征限制了其性能。我们使用多任务cnn来提高多视点人脸检测的精度,但弱人脸检测器产生的初始检测窗口限制了检测精度。

另一方面,在训练过程中挖掘硬样本是增强检测能力的关键,但是传统的硬样本挖掘通常采用离线方式,这大大增加了人工操作,因此设计一种适合于当前训练过程的在线硬样本挖掘方法进行人脸检测和对齐是非常必要的。 

 

 

本文提出了一种利用多任务学习的统一级联cnn集成这两个任务的新框架,所提出的cnn由三个阶段组成,在第一阶段,它通过浅层cnn快速生成候选窗口,然后通过一个更复杂的cnn细化窗口以拒绝大量的非面窗口。最后,它使用更强大的cnn来细化结果和改进结果。输出面部地标位置。由于这种多任务学习框架,算法的性能可以显著提高。本文的主要贡献如下:

提出了一种新的基于级联CNN的人脸检测和对齐框架,并详细设计了一种实时性能的轻量级CNN体系结构。(2)提出了一种有效的在线硬样本挖掘方法,提高了系统的性能。(3)在具有挑战性的基准上进行了大量的实验,表明与现有的人脸检测和人脸对齐任务相比,该方法的性能有了显著的提高。  

二、方法

在这一部分中,我们将描述我们的联合人脸检测和对齐的方法。

我们的方法的总体框架如图所示:

                                                    

级联框架的流程图,包括三级多任务深卷积网络。首先,通过快速建议网络(p-net)生成候选窗口,然后通过一个细化网络(r-net)对候选窗口进行细化,在第三阶段,输出网络(o-net)生成最后的包围框和面部标志位置。

1.给定一个图像,我们最初将其调整为不同的尺度,以构建图像金字塔,该金字塔是以下三级级联框架的输入:

第一阶段:我们开发一个全卷积网络,称为提议网络(p-net),以类似于[]的方式获得候选窗口及其bounding box 回归向量,然后使用估计的bounding box 回归向量来校准候选值。然后,我们使用非极大抑制(NMS)来合并高度重叠的候选数据。第二阶段:所有候选人都被输入另一个cnn,称为细化网络(r-net),后者进一步拒绝接受。大量虚假候选,通过bounding box 回归和nms候选合并进行校准。

 

  1. CNN架构

在[19]中,多个CNN被设计用于人脸检测,但是我们注意到它的性能可能受到以下因素的限制:(1)一些滤波器缺乏不同的权重,从而限制了它们产生区分性描述。(2)与其他多类目标检测和分类任务相比,人脸检测是一种具有挑战性的二值分类任务,需要更少的滤波器数目,但需要更多的识别,为此,我们减少了滤波器的数量,将5×5滤波器改为3×3滤波器,以减少计算量,同时增加运算深度以获得更好的性能。[19]我们可以更少的运行时间获得更好的性能(结果如表1所示)。 为了进行公平的比较,我们对两种方法都使用了相同的数据),我们的CNN架构如图所示:

p网、r网和o网的体系结构,其中“MP”表示最大池,“conv”表示卷积,在卷积和池中的步长分别为1和2。 

  1. 训练

 

训练我们利用三项任务来训练我们的CNN探测器:人脸/非人脸分类、bounding box 回归和面部地标定位。1)人脸分类:将学习目标表述为两类分类问题,对每个样本采用交叉熵损失:

                                                             L_i^{det}=-(y_i^{det}log(p_i)+(1-y_i^{det})(1-log(p_i)))

其中pi是由网络产生的概率,它表示一个样本是一张脸。{}表示地面真理的标签.

bounding box回归:对于每个候选窗口,我们预测其与最近的地面真相(即边框的左上方、高度和宽度)之间的偏移量。学习目标被表述为一个回归问题,我们对每个样本x采用欧几里德损失:

                                                                                L_i^{box}=\left \| \hat{y_i}^{box}-y_i^{box} \right \|_2^2

其中,从网络和\hat{y_i}^{box}得到的y_i^{box}回归目标是地面-真实坐标,有四个坐标,包括左顶、高和宽,因此y_i^{box}\in R^4

人脸地标定位:与bounding box 回归任务类似,人脸地标检测被描述为一个回归问题,我们将欧几里德损失最小化:

                                                         L_i^{landmark}=\left \| \hat{y_i}^{landmark}-y_i^{landmark} \right \|_2^2

其中\hat{y_i}^{landmark}是从网络中获得的面部地标坐标,而y_i^{landmark}是地面-真实坐标。其中有5个面部地标,包括左眼、右眼、鼻子、左嘴角和右嘴角,因此y_i^{landmark}\in R^{10}

多源训练:由于我们在每个CNN中使用不同的任务,因此在学习过程中有不同类型的训练图像,例如脸、非人脸和部分对齐的脸。在这种情况下,有些损失函数(即eq)。(1)-(3)不使用。

例如,对于背景区域的样本,我们只计算L_i^{det},另外两个损失设置为0。这可以直接用一个样本类型指标来实现。然后,可以将整个学习目标表述为:

                                                                min\sum_{i=1}^{N}\sum_{j\in \left \{ det,box,landmark \right \}}\alpha _j\beta _i^jL_i^j

训练样本的数量。\alpha _j表示任务的重要性。我们在p-net和r-net中使用(\alpha _{det}=1,\alpha _{box}=0.5,\alpha _{landmark}=0.5),而在o-net中使用(\alpha _{det}=1,\alpha _{box}=0.5,\alpha _{landmark}=1)来更精确地定位面部标志。\beta _i^j\in \left \{ 0,1 \right \}是样本类型的指标。在这种情况下,使用随机梯度下降来训练CNN是很自然的。

在线硬样本挖掘:与原分类器训练后进行的传统硬样本挖掘不同,我们在人脸分类任务中进行在线硬样本挖掘,以适应训练过程。 特别地,在每个小批量中,我们从所有样本中对前向传播阶段计算的损失进行排序,并选择其中的前70%作为硬样本,然后只计算后向传播阶段的硬样本的梯度。这意味着我们忽略了那些在训练时对增强检测器没有帮助的简单样本。实验表明,该策略在不需要人工选择样本的情况下获得了更好的性能,其有效性在第三节中得到了验证。

三、实验

在这一部分中,我们首先评估了所提出的硬样本挖掘策略的有效性,然后将我们的人脸检测器和对齐方法与人脸检测数据集和基准(Fddb)[25]、宽人脸和野外标注的面部地标(Aflw)基准的最新方法进行了比较。fddb数据集包含了一组2845幅图像中5171张人脸的注释。更宽的人脸数据集由393703个有标记的人脸数据集组成。32203幅图像的人脸包围盒中,50%的图像根据图像的难度被测试成三个子集,40%用于训练,其余的用于验证。FALW包含了24386张人脸的面部标记注释,我们使用了与[22]相同的测试子集。最后,我们评估了我们的人脸检测器的计算效率。

  1. 训练数据

由于我们联合进行人脸检测和对齐,这里我们在训练过程中使用了四种不同类型的数据注释:(一)负数:交叉超并(IOU)比小于0.3的区域与任何地面真实人脸的比值;(二)正面:IOU高于0.65的区域对地面真实脸;(三)部分人脸:IOU在0.4到0.65之间与地面真实脸;和(Iv)地标人脸:标记为5个地标位置的人脸。负数和正字用于人脸分类任务,正脸和部分面用于边框回归,地标面用于面部地标定位。每个网络的训练数据如下:1)p-net:我们从较宽的脸[24]中随机裁剪几个补丁,收集正面、底片和部分面。然后,我们将明星的人脸作为地标脸进行裁剪。 2)r-net:我们利用框架的第一阶段从更宽的脸中检测人脸,[24]收集正面、底片和部分人脸,而从明星[23]中检测出具有里程碑意义的人脸。3)o-net:类似于r-net来收集数据,但我们使用框架的前两个阶段来检测人脸。

  1. 在线硬样本挖掘的有效性

为了评估所提出的在线硬样本挖掘策略的贡献,我们训练了两个o-网(有和没有在线硬样本挖掘)并比较了它们的损失曲线。为了使比较更加直接,我们只为人脸分类任务训练o-网。在这两个o-网中,包括网络初始化在内的所有训练参数都是相同的。为了比较它们,我们使用了固定学习率。3(A)给出了两种不同训练方式下的损失曲线,很明显,硬样本挖掘有利于性能的提高。

                           

(A)有或没有硬样本挖掘的o-net的验证损失。(B)“ja”表示联合人脸对齐学习,“no ja”表示不连接它;“no ja in BBR”表示在训练CNN进行包围盒回归时不连接它。

  1. 联合检测和调整的有效性

为了评价联合检测和对齐的贡献,我们评估了两种不同的o-网(联合人脸地标回归任务和不联合它)在fddb上的性能(使用相同的p-网和r-网进行公平比较),并比较了这两种o-网中边界盒回归的性能。3(B)认为联合地标定位任务学习有利于人脸分类和包围盒回归任务。

  1. 人脸检测评价

为了评估我们的面部检测方法的性能,我们比较了我们的方法与最先进的方法[1,5,6,11,18,19,26,27,28,29]和最先进的方法[1,24,11]在更宽的脸上。4(A)-(D)表明,我们的方法在两个基准上都明显优于以往的所有方法。我们还在一些挑战照片上评估了我们的方法。

(A)对fddb的评价(b-d)对三个宽面子集的评价。按该方法计算的数表示平均精度。(E)对flw进行脸对齐的评价。

  1. 对脸对齐的评价

在这一部分中,我们比较了该方法与以下方法的人脸对准性能:Rcpr[12]、TSPM[7]、LimoandFaceSDK[17]、ESR[13]、CDM[15]、SDM[21]和tcdcn[22],在测试阶段,我们的方法没有检测到面部的13幅图像,因此我们对这13幅图像的中心区域进行了裁剪,并将它们作为o-net的输入。由估计的地标和地面真相之间的距离来测量,并且相对于眼间距离标准化。4(E)表明,我们的方法在一定程度上优于所有最先进的方法。

  1. 运行时效率

在给定级联结构的情况下,我们的方法可以实现快速的人脸检测和比对,在2.60ghz CPU上使用16 fps,在GPU(Nvidia Titan Black)上使用99 fps,我们目前的实现是基于未优化的MATLAB代码。

  • 结论

本文提出了一种基于多任务级联CNN的人脸联合检测与比对框架,实验结果表明,在保持实时性能的同时,我们的方法在几个具有挑战性的基准(包括Fddb和更宽的人脸检测基准,以及更宽的人脸对齐基准)上,始终优于现有的方法,进一步提高了人脸检测的

猜你喜欢

转载自blog.csdn.net/weixin_38241876/article/details/84975549
今日推荐