论文笔记:MTCNN

Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks

MTCNN

1、四个问题

  1. 要解决什么问题?
    • 人脸检测(face detection)和人脸对齐(face alignment)。
  2. 用了什么方法解决?
    • 提出了一个深度级联网络结构,分成了三个阶段,从粗到精对人脸进行检测、定位人脸特征点、对齐。
    • 此外,还提出了一个在线的难分样本挖掘策略(online hard sample mining strategy),可以提升训练精度。
  3. 效果如何?
    • 模型的实时性很好。
    • 在FDDB和WIDER FACE两个数据集中的人脸检测以及AFLW数据集中的人脸对齐任务任务达到 state-of-the-art。
  4. 还存在什么问题?
    • 训练时间较长,收敛较慢。

2、模型结构

2.1、总体结构

在这里插入图片描述

  • MTCNN的三层结构如上图。
    • 阶段一:先使用全卷积网络,即P-Net,来获取到获选的人脸框和其对应的向量。随后根据回归框向量对候选框进行校正。之后使用非极大抑制(NMS)来去除高度重合的候选框。
    • 阶段二:P-Net得到的回归框都送入R-Net中,随后拒绝大量错误框,再对回归框做校正,并使用NMS去除重合框。
    • 阶段三:与阶段二类似,但是这里会额外进行人脸特征点(5个)的检测。

2.2、三个子网络

在这里插入图片描述

  • Proposal Network(P-Net):
    • 原始图片先resize到不同尺度,再输入。因为图片上不同人脸的大小可能不一致。
    • 每次取一个 12 × 12 × 3 12 \times 12 \times 3 12×12×3的区域作为输入,输出有三个:
      1. 人脸分类:是否有人脸,2个输出;
      2. 边界框回归:回归得到的框的起始点的xy坐标和框的长宽,4个输出;
      3. 人脸特征点定位:5个人脸特征点的xy坐标,10个输出。

在这里插入图片描述

  • Refine Network(R-Net):
    • 以P-Net预测得到的回归框信息作为输入,先对原始图片进行切片,随后resize到固定尺寸。
    • 输入为: 24 × 24 × 3 24 \times 24 \times 3 24×24×3,与P-Net的输出一样。

在这里插入图片描述

  • Output Network(O-Net):
    • 以R-Net预测得到的回归框信息作为输入,对原始图片切片,随后resize到固定尺寸。
    • 输入为: 48 × 48 × 3 48 \times 48 \times 3 48×48×3,与R-Net的输出一样。

2.3、损失函数

  • 分类损失,预测输入是否是人脸,采用交叉熵损失:

在这里插入图片描述

  • bounding box回归损失,计算的是预测框和ground truth之间的偏差:

在这里插入图片描述

  • 人脸特征点回归误差,预测人脸的5个特征点:双眼、鼻子、两个嘴角。使用L2损失:

在这里插入图片描述

  • 由于会使用多个数据集进行训练,对于不同的训练数据,三类误差要有不同的权重,使用下式计算:

在这里插入图片描述

  • Online Hard sample mining:在每个mini-batch中计算所有sample的loss,并按照降序排序,取前70%的sample用来训练。

2.4、训练数据构建

  • 使用四种不同数据注释:
    • positives:与ground truth的IOU高于阈值。
    • negatives:与ground truth的IOU低于阈值。
    • part faces:与ground truth的IOU处于前面两个阈值之间。
    • landmark faces:有landmark标签。

3、参考资料

  1. Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值