关键点回归——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.整体框架

关键点回归——MTCNN_第1张图片

阶段一:全卷积网络(P-Net),输出预测框回归向量,采用NMS合并高度重叠的回归框

阶段二:阶段一的输出结果送入另一个CNN(R-Net),将大量不符合条件的预测框去除,接着进行NMS

阶段三:和阶段二相似,除了人脸区域外,还要输出人脸关键点坐标

B.CNN架构

人脸检测与其他多类别目标检测和分类任务相比,人脸检测网络每层可能需要更少数量的滤波器。

关键点回归——MTCNN_第2张图片

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.在线硬采样的有效性

关键点回归——MTCNN_第3张图片

C.联合检测任务和对齐任务的有效性

关键点回归——MTCNN_第4张图片

D.人脸检测的有效性

关键点回归——MTCNN_第5张图片

E.人脸对齐的有效性

关键点回归——MTCNN_第6张图片

F.运行效率

关键点回归——MTCNN_第7张图片

转载于:https://www.cnblogs.com/listia/articles/8616090.html

你可能感兴趣的:(关键点回归——MTCNN)