1. 摘要
2. 引言
3. 实验
4. 结论
1. 摘要
①由于各种姿势、光照、遮挡造成了人脸检测与对准具有一定挑战性;
②深度学习对于这两个任务具有较好的新能。本论文提出深度多任务级联框架来提升实现这两个任务的性能;
③这个框架通过三个CNN来进行检测和对准。通过一种新的在线困难样本挖掘策略来提升精度。
④MTCNN在保持实时性的同时,相对目前的检测技术,在FDDB、WIDER FACE、AFLW 数据集上都有较高的精度。
2. 引言
人脸检测及对准是人脸识别和表情分析的基础。级联人脸检测由Viola 和Jines提出,利用 Haar-Like特征和AdaBoost来实现分类器。但是,由于姿势、光照、遮挡等原因,在实际应用中,这个方法性能并不理想。除了级联结构,还引入了DPM来提升性能。但这需要高昂的计算代价和标注训练数据。近年来deep CNN在计算机视觉方面取得巨大成就。Yang等人训练的deep CNN在面部属性识别上获得高响应,进一步获取了人脸候选框。但网络结构复杂,实践代价高昂。Li等人采用级联CNNs进行人脸检测,但需要在人脸检测中增加额外的bounding box校准计算开销,忽略了bounding box 回归和人脸标注之间的内在关系。
人脸对准可以粗略的分为两类:回归法和模板匹配法。Zhang等人提出采用人脸属性识别作为辅助任务来增强人脸对准性能。
然而,之前大多数研究忽略了人脸检测和人脸对准之间的相关性。尽管少数研究尝试联合解决这两个问题,但仍然存在局限性。如,Chen等人基于不同像素值特征,通过随机森林联合进行检测和对准,但人工特征限制了其性能。Zhang等采用多任务CNN提高了多视角人脸检测的准确度,但召回率受限于弱人脸分类器产生的初始检测窗口。
另一方面,困难样本的挖掘对检测器的性能起着决定性的作用。然而传统的困难样本挖掘采用离线方式,这严重增加了人工参与。期望能够设计一种在线困难样本挖掘方法,使其能够自动适应当前的训练状态。
本文中,提出了标准多任务级联CNNs用于多任务学习。CNNs由三个步骤构成:
①由一个较浅的CNN快速产生候选框;
②通过一个更复杂的CNN来剔除非人脸窗口
③通过一个性能更良好的CNN再次提炼窗口,并输出5个人脸标注。

本论文的贡献:
①设计了一个具有实时性能的轻量级CNN结构;
②提出一种在线困难样本挖掘方法有效改善性能;
③相对目前前言技术,具有优越的性能。
2. 方法
2.1 总体框架
首先需要将图片调整为不同尺寸,构建图片金字塔以作为框架输入。
Stage 1:通过一个全连接网络,Proposal Network(P-Net),获取候选框及其bounding box回归向量。然后基于预估的bounding box回归向量对候选框进行校准。随后通过NMS对高重叠的候选框进行合并。
Stage 2:所有候选框喂进另一个CNN,Refine Network(R-Net),进一步剔除非人脸候选框,使用bounding box回归进行校准和NMS。
Stage 3:类似第二步,在更强的监督条件下,确定人脸区域,输出5个人脸位置标注点。
2.2 CNN架构
在A Convolutional Neural Network Cascade for Face Detection中设计一种级联的CNNs用于人脸检测,但其性能可能受限于以下因素:①卷积层的filter缺乏多样性,限制了识别能力;②相比于多类目标检测和分类任务,人脸检测是一个二分类任务,所以在,每一层可能只需要更少的filters。因此,我们减少filters的数量、修改5x5filters为3x3filters以减少计算量,同时增加深度来获取更好的性能。下表展示了在相同训练集和验证集上不同深度网络的运行时间和准确率:


2.3 训练
我们采用三个任务来训练CNN检测器:人脸/非人脸分类,bouding box回归,人脸标注点。
(1)人脸分类
学习目标是一个二分类任务,对于每一个样本,采用cross-entropy loss:

(2)bounding box回归
对于每一个候选框,我们预测其与最近一个ground truth之间的偏移量,采用欧几里得距离来衡量loss:

(3)人脸标注点
类似于bounding box回归:

(4)多源训练
由于不同的任务,需要不同的训练图片,如face, non-face, aligned face。因此部分loss函数不能使用,如对于背景,仅计算人脸分类loss,故需要将三个loss函数统一:


(5)在线困难样本挖掘
在每一个mini-batch,对于正向计算得到的loss进行排序,选取top 70%的样本作为困难样本。在后向传播过程中仅仅计算困难样本的梯度,忽略了容易样本。
3. 实验
本节首先评价困难样本挖掘的有效性,然后在不同数据集上进行测试。
(1)训练数据
由于我们同时进行人脸检测和对比,在训练过程中需要四种不同的数据标注:①负样本:IoU小于0.3(与ground-truth);②正样本:IoU大于0.65;③部分人脸:IoU介于0.4-0.65;④标注点人脸:含5个标注坐标信息。由于人脸和非人脸之间的模糊性,所以我们选择了0.3到0.4的gap来区别face/non-face。负样本用于人脸分类任务,正样本和部分人脸样本用于bounding box回归和人脸标注点。总的训练数据比例为3:1:1:2。
P-Net:随机裁取WIDER FACE 收集positives, negatives and part face,裁取CelebA获取landmark faces。
R-Net:采用P-Net的输出
O-Net:采用P-Net和R-Net的输出
(2)在线困难样本挖掘的有效性
通过P-Net评价,性能提升1.5%。
(3)联合检测和对比的有效性
通过O-Net评价,joint landmark localization有助于人脸分类和bounding box回归。