MTCNN 论文解读
预备知识
难度系数:2 颗星
缘起
所有的论文一脉相承,灵感来自于
- Joint cascade face detection and alignment
- Improving multiview face detection with mul-ti-task deep convolutional neural networks
- A convolutional neural network cascade for face detection,
现状
人脸检测和人脸对齐是人脸应用(人脸识别,人脸表情分析)的基础
现在人脸检测问题:
传统方法:
- [2]在现实应用性能严重降低
- DPM 的方法([5],[6],[7])需要大量的标签
深度学习方法:
- [11]时间开销很大
- [19] 额外的计算和忽略的 facial landmark location 和 bounding box regression
人脸对齐的问题
- [20] 方法和本文一样,但是人脸检测太烂了。
- [18] 随机森林,手工特征限制了性能
提出问题
- 已有的方法没有考虑人脸检测和对齐的内在关系,虽然有考虑该方面考虑的,做的也不好,因此作者尝试解决该问题。
- Ming hard sample 对人脸检测非常关键,但是传统 mining hard sample 必须是离线的,因此作者提出了 online hard sample mining
理论基础
- coarse-to-fine 的策略:第一步通过浅层的 CNN 选出候选窗口;第二步用更复杂的 CNN 过滤掉没有脸部的窗口;第三步用更强大的 CNN 调优结果。
- online hard sample mining:每个 mini-batch,对 loss 排序,取前 70% 作为 hard sample,
已有
架构亮点
已有的人脸识别的 CNN 架构的缺点
- 一些卷积层过滤器的大小缺少多样化,用图像金字塔(pyramid)
- 相比与其他多分类物体检测和分类任务,人脸检测是二分类问题,因此,需要更少的卷积核。因此,将卷积核由 5 \times 5 变为 3 \times 3 并增加深度。
人脸分类
其中
- 输入:
- 预测:
- groundtruth label :
边框回归(bounding box regression)
其中
- :预测值边框
- :真值框(groundtrue box)
- y 值为 (y, x , h, w) 其中 y, x 为左上角坐标
人脸 Landmark 定位(facial landmark localization)
其中
- :预测值
- : 真值
- 包括,左眼,右眼,鼻子,左嘴角,右嘴角 5 个点。
多源训练
由于采用了多源的训练(multi source training)方式,训练过程中,采用了不同的训练图片,比如包含人脸的,不包含人脸的,部分对齐的等等。上面的损失函数公式并不是都采用,比如,对于背景区域的采样,只用了 L_i^{det},因此,整个学习目标用下面公式表示:
其中
- 为任务的重要程度
- 为 {0,1} 的指示器(idicator)
其中
在 P-Net 和 R-Net 中 \alpha_{det} = 1, \alpha_{box} = 0.5,\alpha_{\text{landmark}} = 0.5;
在 O-Net 中 \alpha_{det} = 1, \alpha_{box} = 0.5,\alpha_{\text{landmark}} = 1.0
OHSM(online hard sample mining)
- 在前向传播中,对于全部的样本,根据 loss 进行由大到小进行排序,选择前 70%
- 在反向传播中,只对这前 70% 的样本进行反向传播,这样,忽略了对检测更有帮助的 easy example,加强了对检测更有帮助的 hard example 的惩罚。
训练
算法
将输入图片 resize 到不同的大小
- P-Net(Proposal Net) :获取候选脸部窗口和边界框回归向量 (bounding box regression vector),用边界框回归向量(bounding box regression vector)校准候选脸部窗口。之后 NMS 合并窗口。
- R-Net(Refinement Net):继续过滤大量的 false candidate,用边界框回归(bounding box regression)校准候选脸部窗口。之后 NMS 合并窗口。
- O-Net(Output Net) :同步骤2,但是输出 five facial landmark’s position
Positive : 与真值人脸(groundtrue face) 的 IoU > 0.65 来自 WIDER FACE
Negative : 与真值人脸(groundtrue face) 的 IoU < 0.3 来自 WIDER FACE
Part faces : 与真值人脸(groundtrue face) 的 IoU 0.4-0.65 来自 WIDER FACE
Landmark face: 5 个 landmark 来自 CelebA
negative/positive/part faces/landmark = 3:1:1:2
negative 和 positive 用于人脸分类
positive 和 part faces 用于边框回归
landmark face 用于 facial landmark localization
测试
在 FDDB 和 WIDER FACE 上测试人脸检测
AFLW 上测试人脸对齐
结果
- 比较 PNet 有与没有 OHEM 的区别,获得 1.5% 的提高。
- 比较 ONet 有与没有联合人脸检测和人脸对齐,联合人脸检测和人脸对齐获得更好的性能。
- 99 FPS
人脸检测
- TP/FP 在 FDDB 数据集上
- Easy Set,Mudium Set, Hard Set 都在 WIDER FACE 数据集
人脸对齐
总结
作者的方法总结起来就是
- 三阶段的级联(cascaded)架构
- coarse-to-fine 的方式
- new online hard sample mining 策略
- 同时进行人脸检测和人脸对齐
- state-of-the-art 性能
的确,在后续的很多人脸识别论文中,都以 MTCNN 为基础,这是后话。