MTCNN论文笔记



脸部检测及landmarks标记

背景

  1. 论文: Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
  2. 代码地址: Github
  3. 作者博客

概况

  • 论文提出了一种深层的级联multi-task框架
  • 三个阶段的深度卷积网络由粗到细的检测人脸及预测landmark location
  • 论文提出了一种有效的online hard sample mining的策略来提升性能.(在每个mini-batch中选择前向计算误差前70%大的样本用来BP)

方法

1.总体框架


2.三步骤
  • pre:先将图片resize,叠成“金字塔”
  • stage1:采用P-Net获得候选窗口以及bounding box回归向量,然后用估计的bounding box回归向量去校准候选窗口。然后使用非极大值抑制(NMS,non-maximum supression)来合并高度重合的候选窗口。(非极大值抑制:首先对每个窗口按照score(置信度)进行递降排序,取score最大的窗口,然后计算剩下的与最大的窗口之间的IOU,也就是重叠面积,如果大于一定阈值就将框删除,然后一直重复上述步骤直到候选窗口为空)
  • stage2:将所有的候选数据喂给R-Net进一步消除不合适的候选窗口,并且通过bounding box回归及NMS去校准
  • stage3:与2类似,不同的是这一阶段的目的是输出脸部细节,即五个脸部的landmarks位置


3.CNN结构
  • 将5x5大小的滤波窗口减小到3x3大小的滤波窗口以减少计算
  • 增加深度以更好的提取特征
4.训练
  • face classification损失函数(2分类,交叉熵损失)


  • bounding box regression损失(计算预测坐标向量和真实坐标向量的欧氏距离)


  • facial landmark localization损失(欧式距离)


  • multi-source,alpha为任务重要性,beta为样本类型索引取值为0或1,样本种类包括{negative(IoU<0.3), positive(IoU>0.65), part face(0.4<IoU<0.65), landmark face};在计算训练的总体损失的时候,classifier, bounding box regression和landmarks detection的权重是不一样的;训练数据共分为4类,比例为


  • online hard sample mining,在每个mini-batch中选择前向计算误差前70%大的样本用来BP)

实验结果

  • online hard sample mining效果


  • 联合检测及校准的效果


  • 检验脸部检测的效果


  • 检验脸部校准的效果