关键点回归——MTCNN
论文地址:https://arxiv.org/abs/1604.02878
作者官网:https://kpzhang93.github.io/MTCNN_face_detection_alignment/
Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks (Submitted on 11 Apr 2016)
1、摘要
在不受约束的场景下,人脸检测和对齐问题有很大的挑战。最近的研究表明,深度学习方法在两个任务中有很好的效果。这篇论文中,作者提出了深度卷积多任务框架,利用检测和对齐任务的相关性来改善性能。使用三个阶段由粗到细的级联架构来预测人脸和关键点位置。另外,作者提出使用在线硬采样策略改善性能。该方法在FDDB和WIDER FACE上取得了最好的结果。
2、介绍
论文提出三阶段级联的卷积网络。阶段一通过浅层CNN产生候选框,阶段二使用一个更复杂的CNN拒绝大量非人脸窗口,阶段三使用更powerful的CNN输出人脸定位点。
文章主要贡献:(1)提出新型级联CNN网络处理人脸检测和对齐问题,针对实时性设计了轻量级CNN;(2)提出有效的在线更新方法改善性能;
3、方法
A.整体框架
阶段一:全卷积网络(P-Net),输出预测框回归向量,采用NMS合并高度重叠的回归框
阶段二:阶段一的输出结果送入另一个CNN(R-Net),将大量不符合条件的预测框去除,接着进行NMS
阶段三:和阶段二相似,除了人脸区域外,还要输出人脸关键点坐标
B.CNN架构
人脸检测与其他多类别目标检测和分类任务相比,人脸检测网络每层可能需要更少数量的滤波器。
C.训练
CNN检测器有三个任务需要训练:人脸/非人脸分类,边界框回归,和面部关键点回归。
(1)人脸分类:使用交叉熵损失函数训练
(2)边界框回归:使用欧式距离损失函数(边界框使用坐上点坐标、宽度、高度表示)
(3)面部关键点回归:使用欧式距离损失函数
(4)多源训练:
(5)在线硬采样:
在人脸/非人脸分类任务中采用在线硬采样。具体来说,选择前向传播损失函数排在前70%的样本进行反向传播。
4、实验
A.训练数据
数据集分类:(i)负样本:IoU小于0.3 (ii)正样本:IoU大于0.65 (iii)部分脸:IoU在0.4和0.65之间 (iv)关键点
比例3:1:1:2
训练数据收集:
1)P-Net:从WIDER FACE随机裁剪收集正样本、负样本和部分脸。从CelebA上裁剪图片获取关键点。
2)R-Net:使用阶段一检测WIDER FACE数据集,进行收集正样本、负样本和部分脸收集;检测CelebA数据集进行关键点收集
3)O-Net:和R-Net类似,但是使用前两个阶段检测人脸并收集数据
B.在线硬采样的有效性
C.联合检测任务和对齐任务的有效性
D.人脸检测的有效性
E.人脸对齐的有效性
F.运行效率