人脸关键点:MTCNN-Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

创新点:
1. 首次将级联和多任务结合起来,之前有单纯级联的DCNN,单纯多任务的TCDCN
2. 提出 a new online hard sample mining strategy,没接触过hard sample mining ,知道的同学介绍介绍呗~

2016年,Zhang等人提出一种多任务级联卷积神经网络(MTCNN, Multi-task Cascaded Convolutional Networks)用以同时处理人脸检测和人脸关键点定位问题。作者认为人脸检测和人脸关键点检测两个任务之间往往存在着潜在的联系,然而大多数方法都未将两个任务有效的结合起来,本文为了充分利用两任务之间潜在的联系,提出一种多任务级联的人脸检测框架,将人脸检测和人脸关键点检测同时进行。
MTCNN包含三个级联的多任务卷积神经网络,分别是Proposal Network (P-Net)、Refine Network (R-Net)、Output Network (O-Net),每个多任务卷积神经网络均有三个学习任务,分别是人脸分类、边框回归和关键点定位。网络结构如图所示:
这里写图片描述
这里写图片描述

MTCNN实现人脸检测和关键点定位分为三个阶段。首先由P-Net获得了人脸区域的候选窗口和边界框的回归向量,并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框。然后将P-Net得出的候选框作为输入,输入到R-Net,R-Net同样通过边界框回归和NMS来去掉那些false-positive区域,得到更为准确的候选框;最后,利用O-Net输出5个关键点的位置。
在具体训练过程中,作者就多任务学习的损失函数计算方式进行相应改进。在多任务学习中,当不同类型的训练图像输入到网络时,有些任务时是不进行学习的,因此相应的损失应为0。例如,当训练图像为背景(Non-face)时,边界框和关键点的loss应为0,文中提供计算公式自动确定loss的选取,公式为这里写图片描述
其中, αj 表示任务的重要程度,在P-Net和R-Net中 αdet=1,αbox=0.5,αlandmark=0.5 , ,在R-Net中,由于要对关键点进行检测,所以相应的增大任务的重要性, αdet=1,αbox=0.5,αlandmark=1 。 作为样本类型指示器。
为了提升网络性能,需要挑选出困难样本(Hard Sample),传统方法是通过研究训练好的模型进行挑选,而本文提出一种能在训练过程中进行挑选困难的在线挑选方法。方法为,在mini-batch中,对每个样本的损失进行排序,挑选前70%较大的损失对应的样本作为困难样本,同时在反向传播时,忽略那30%的样本,因为那30%样本对更新作用不大。
实验结果表明,MTCNN在人脸检测数据集FDDB 和WIDER FACE以及人脸关键点定位数据集LFPW均获得当时最佳成绩。在运行时间方面,采用2.60GHz的CPU可以达到16fps,采用Nvidia Titan Black可达99fps。

代码实现:
Matlab:https://github.com/kpzhang93/MTCNN_face_detection_alignment
Caffe:https://github.com/dlunion/mtcnn
Python:https://github.com/DuinoDu/mtcnn

胡思乱想:
1. 文章提到 the detection accuracy is limited by the initial detection windows produced by a weak face detector. , 不仅在这篇文章提到,在DCNN里也提到这个问题。可以猜想,级联的一大作用就是解决人脸边框“不稳定”的问题。采用了级联,相当于针对本任务定制了一个人脸边框检测器,于是乎输入给真正做关键点检测的网络时,输入数据的差异性更小了一点。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值