MTCNN 论文解读

预备知识

难度系数:2 颗星

缘起

所有的论文一脉相承,灵感来自于

  1. Joint cascade face detection and alignment
  2. Improving multiview face detection with mul-ti-task deep convolutional neural networks
  3. A convolutional neural network cascade for face detection,

现状

人脸检测和人脸对齐是人脸应用(人脸识别,人脸表情分析)的基础

现在人脸检测问题:

传统方法:

  1. [2]在现实应用性能严重降低
  2. DPM 的方法([5],[6],[7])需要大量的标签

深度学习方法:

  1. [11]时间开销很大
  2. [19] 额外的计算和忽略的 facial landmark location 和 bounding box regression

人脸对齐的问题

  1. [20] 方法和本文一样,但是人脸检测太烂了。
  2. [18] 随机森林,手工特征限制了性能

提出问题

  1. 已有的方法没有考虑人脸检测和对齐的内在关系,虽然有考虑该方面考虑的,做的也不好,因此作者尝试解决该问题。
  2. Ming hard sample 对人脸检测非常关键,但是传统 mining hard sample 必须是离线的,因此作者提出了 online hard sample mining

理论基础

  1. coarse-to-fine 的策略:第一步通过浅层的 CNN 选出候选窗口;第二步用更复杂的 CNN 过滤掉没有脸部的窗口;第三步用更强大的 CNN 调优结果。
  2. online hard sample mining:每个 mini-batch,对 loss 排序,取前 70% 作为 hard sample,
    已有
架构亮点

已有的人脸识别的 CNN 架构的缺点

  1. 一些卷积层过滤器的大小缺少多样化,用图像金字塔(pyramid)
  2. 相比与其他多分类物体检测和分类任务,人脸检测是二分类问题,因此,需要更少的卷积核。因此,将卷积核由 5 \times 5 变为 3 \times 3 并增加深度。

人脸分类

Ldeti=ydetilog(pi)+(1ydeti)(1log(pi)) L i d e t = − y i d e t l o g ( p i ) + ( 1 − y i d e t ) ( 1 − l o g ( p i ) )

其中

  1. 输入: xi x i
  2. 预测: pi p i
  3. groundtruth label : ydeti y i d e t

边框回归(bounding box regression)

Lboxi=||ŷ boxiyboxi||2 L i b o x = | | y ^ i b o x − y i b o x | | 2

其中

  1. ŷ boxi y ^ i b o x :预测值边框
  2. yboxi y i b o x :真值框(groundtrue box)
  3. y 值为 (y, x , h, w) 其中 y, x 为左上角坐标

人脸 Landmark 定位(facial landmark localization)

Li=||ŷ landmarkiylandmarki|| L i = | | y ^ i l a n d m a r k − y i l a n d m a r k | |

其中

  1. ŷ landmarki y ^ i l a n d m a r k :预测值
  2. ylandmarki y i l a n d m a r k : 真值
  3. 包括,左眼,右眼,鼻子,左嘴角,右嘴角 5 个点。 ylandmarkiR10 y i l a n d m a r k ∈ R 10

多源训练

由于采用了多源的训练(multi source training)方式,训练过程中,采用了不同的训练图片,比如包含人脸的,不包含人脸的,部分对齐的等等。上面的损失函数公式并不是都采用,比如,对于背景区域的采样,只用了 L_i^{det},因此,整个学习目标用下面公式表示:

minNi=1jdet,box,landmarkαjβjiLji m i n ∑ i = 1 N ∑ j ∈ d e t , b o x , l a n d m a r k α j β i j L i j

其中

  1. αj α j 为任务的重要程度
  2. βji β i j 为 {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)

  1. 在前向传播中,对于全部的样本,根据 loss 进行由大到小进行排序,选择前 70%
  2. 在反向传播中,只对这前 70% 的样本进行反向传播,这样,忽略了对检测更有帮助的 easy example,加强了对检测更有帮助的 hard example 的惩罚。

训练

算法

将输入图片 resize 到不同的大小

  1. P-Net(Proposal Net) :获取候选脸部窗口和边界框回归向量 (bounding box regression vector),用边界框回归向量(bounding box regression vector)校准候选脸部窗口。之后 NMS 合并窗口。
  2. R-Net(Refinement Net):继续过滤大量的 false candidate,用边界框回归(bounding box regression)校准候选脸部窗口。之后 NMS 合并窗口。
  3. 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 上测试人脸对齐

结果

  1. 比较 PNet 有与没有 OHEM 的区别,获得 1.5% 的提高。
  2. 比较 ONet 有与没有联合人脸检测和人脸对齐,联合人脸检测和人脸对齐获得更好的性能。
  3. 99 FPS

人脸检测

MTCNN 论文解读_第1张图片

  1. TP/FP 在 FDDB 数据集上
  2. Easy Set,Mudium Set, Hard Set 都在 WIDER FACE 数据集

人脸对齐

MTCNN 论文解读_第2张图片

总结

作者的方法总结起来就是

  1. 三阶段的级联(cascaded)架构
  2. coarse-to-fine 的方式
  3. new online hard sample mining 策略
  4. 同时进行人脸检测和人脸对齐
  5. state-of-the-art 性能

的确,在后续的很多人脸识别论文中,都以 MTCNN 为基础,这是后话。

你可能感兴趣的:(人脸识别,深度学习)