天天看点

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

文章出自中科院深圳先进技术研究院乔宇老师组,是2016年的ECCV论文

摘要

在不受约束的环境中,由于各种姿态、光照和光线的影响,人脸检测和对齐都具有挑战性。最近的研究表明深度学习方法能够在这两个任务上取得令人称赞的表现。

关键词

人脸检测,人脸对齐,级联卷积神经网络

简介

人脸检测与对齐对于很多人脸应用来说是很有必要的,如人脸识别和面部表情分析。然而,人脸的巨大视觉变化,例如遮挡、大姿态变化和极端的光照,在现实应用中给这些任务带来了巨大的挑战。

方法

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

A. 整体框架

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

图1

方法的整体途径如图1所示。给定一个图像,我们首先将其调整到不同的比例,以构建一个图像金字塔,这是以下三级级联框架的输入:

阶段1:利用一个全卷积神经网络,叫做Proposal Network(P-Net),来得到候选人脸窗口及其边框回归向量。然后基于估计的边框回归向量对候选窗口进行校准。之后使用非极大值抑制(NMS)合并高度重叠的候选窗口。

阶段2:所有候选窗口被提供给另一个CNN,称为Refine Network (R-Net),该CNN进一步去除大量错误候选窗口,使用边框回归进行校准,并执行NMS。

阶段3:这一阶段与阶段2相似,但在这一阶段我们的目标是识别更为精确的人脸区域。特别地,该网络将输出5个面部特征点的位置。

B. CNN架构

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

通过这些改进,与以前的体系结构相比,可以用更少的运行时间获得更好的性能(训练阶段的结果如表1所示,为了公平比较,在每组中使用相同的训练和验证数据)。

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

图2

CNN架构如图2所示。在卷积和全连接层之后,将PReLU作为非线性激活函数(输出层除外)。

C. 训练

利用三个任务来训练我们的CNN检测器:人脸/非人脸分类、边框回归、面部特征点定位。

1)人脸分类:学习目标是一个二分类问题。对每一个样本,使用交叉熵损失

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

2)边框回归:对于每个候选窗口,预测它与最近的ground truth之间的偏移量(边界框的左顶点、高、宽),学习目标被定义为回归问题,对每一个样本使用欧几里德损失

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

3)人脸特征点定位:与边框回归任务类似,面部特征点定位被定义为一个回归问题,最小化欧几里德损失:

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

4)多任务训练:由于在每个CNN中使用不同的任务,在学习过程中会有不同类型的训练图像,比如人脸、非人脸和部分对齐的人脸。这种情况下,一些损失函数未被使用,例如,对于背景区域的样本,只需要计算

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

,其他两类损失被设为0。这可以通过样本类型指示器直接实现。那么整体学习目标可被定义为:

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

5)在线困难样本挖掘:与原来的分类器经过训练后进行传统的困难样本挖掘不同,我们在人脸/非人脸分类任务中进行在线困难样本挖掘,这是一种适应训练过程的方法。

实验

在这一部分,首先评估了提出的困难样本挖掘策略的有效性。然后将我们的人脸检测与对齐方法与最先进的方法在FDDB、WIDER FACE和AFLW上进行对比。最后评估了人脸检测器的计算效率。

A. 训练数据

由于我们共同执行人脸检测与对齐,这里我们在训练过程中使用了四种不同的数据注释方式:

(i)负样本:相对于ground-truth交并比小于0.3的人脸区域

(ii)正样本:相对于ground-truth交并比大于0.65的人脸区域

(iii)部分人脸:相对于ground-truth交并比大于0.4且小于0.65的人脸区域

(iv)面部特征点:标记了5个面部特征点的人脸

部分样本与负样本的差距并不明显,而不同的人脸注释应该是有差异的,所以选择IOU间距在0.3和0.4之间

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

B. 在线困难样本挖掘的有效性

C. 联合人脸检测与对齐的有效性

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)
基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

D. 人脸检测评价

为了评估人脸检测方法的性能,将我们的方法与最先进的方法在FDDB和WIDER FACE上进行比较。图4(a)-(d)显示我们的方法在这两个评测基准中始终较大程度的优于所有的方法。

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

图5

E. 人脸对齐评价

在这一部分,我们与下面几种方法比较人脸对齐性能:RCPR,TSPM,Luxand face SDK,ESR,CDM,SDM和TCDCN。平均误差是用估计的面部特征点与ground truths之间的距离来衡量的,并根据两眼间的距离归一化。图5显示我们的方法优于所有最先进的方法,且嘴角的定位优势较小,可能是因为表情变化较小,这在训练数据中对嘴角位置是有很大影响的。

基于多任务级联卷积神经网络的联合人脸检测与对齐(MTCNN)

F. 运行效率

通过级联结构,可以达到较高的联合人脸检测与对齐速度,我们与最先进的方法在GPU上进行比较,如表2所示。值得注意的是,我们目前的实现是基于未优化的MATLAB代码。

结论

本文提出了一种基于联合人脸检测与对齐框架的多任务级联卷积神经网络。实验结果表明,我们的方法是一贯的在几个具有挑战性的基准测试中超过最先进的方法(包括FDDB和WIDER FACE人脸检测评测标准,AFLW人脸对齐评测标准),同时实现对于640*480 VGA图像的实时性,其中最小面部尺寸为20*20。对性能改进的三个主要贡献是精心设计的级联CNNs架构、在线困难样本挖掘策略和联合人脸对齐学习。

原文:https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html

代码:https://github.com/kpzhang93/MTCNN_face_detection_alignment

继续阅读