欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

论文笔记:MTCNN

发布时间:2025/3/21 31 豆豆
生活随笔 收集整理的这篇文章主要介绍了 论文笔记:MTCNN 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

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

MTCNN

1、四个问题

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

    2.1、总体结构

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

    2.2、三个子网络

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

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

    • Output Network(O-Net):
      • 以R-Net预测得到的回归框信息作为输入,对原始图片切片,随后resize到固定尺寸。
      • 输入为:48×48×348 \times 48 \times 348×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、参考资料

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

    以上是生活随笔为你收集整理的论文笔记:MTCNN的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。