MTCNN:一个人脸检测和对其一体化的框架

MTCNN分为三个网络:PNET,RNET,ONET
下面是该方法的流程图,可以看出也是三阶级联(与CascadeCNN一样)
在这里插入图片描述
PNET: 在构建图像金字塔的基础上,利用全连接来进行检测,粗略提取脸部的候选框和回归量,然后利用回归 和 NMS来进行修正。(注意:这里的全卷积网络与R-CNN里面带反卷积的网络是不一样的,这里只是指只有卷积层,可以接受任意尺寸的输入,靠网络stride来自动完成滑窗)

  • train时三分支:score(人脸概率),box offset,landmark(人脸关键点),输入为12X12
  • test时两分支:不需要landmark,输入可以是任意大小

RNET: 将通过PNET的所有窗口输入作进一步判断,同时也要做回归和 NMS。

  • 输入为24X24

ONET: 和RNET相似,只不过增加了更强的约束:5个人脸关键点。

接下来详细介绍这三个网络

PNET:
在这里插入图片描述

输入是一个12X12大小的图片,所以训练前需要把生成的训练数据(通过生成bounding box,然后把该bounding box 剪切成12X12大小的图片),转换成12X12X3的结构。
1、通过10个3X3X3的卷积核,2X2的Max Pooling(stride=2)操作,生成10个5*5的特征图
2、通过16个3X3X10的卷积核,生成16个3X3的特征图
3、通过32个3X3X16的卷积核,生成32个1X1的特征图。
4、针对32个1X1的特征图,可以通过2个1X1X32的卷积核,生成2个1X1的特征图用于分类;4个1X1X32的卷积核,生成4个1X1的特征图用于回归框判断;10个1X1X32的卷积核,生成10个1X1的特征图用于人脸轮廓点的判断。

RNET:
在这里插入图片描述

在这里插入图片描述
TRAING:
我们利用三项任务来训练我们的CNN探测器:面部/非面部分类,边界框回归和面部地标定位。
1、class:交叉熵,二分法
在这里插入图片描述
2、box:l2_loss
在这里插入图片描述
3、landmark:l2_loss
在这里插入图片描述
4、多源训练
在这里插入图片描述
因为在训练时并不是对每个输入都计算上面的三个loss,因此通过4来控制不同输入计算不同loss,ONET的alpha最大,因为只有ONET才输出landmark,P、R重点在过滤beta:比如非人脸输入,则只计算class loss。
5、在线硬样本挖掘:与原始分类器训练后进行传统硬样本挖掘不同,我们在面部分类任务中进行在线硬样本挖掘,以适应训练过程。
特别是,在每个小批量中,我们对来自所有样本的前向传播阶段计算的损失进行排序,并选择其中前70%作为硬样本。 然后我们只计算后向传播阶段中硬样本的梯度。 这意味着我们忽略了在训练时不太有助于加强探测器的简单样本。 实验表明,该策略无需手动选择样本即可获得更好的性能。

实验:

  • A 训练数据:
    训练样本分为:TP,FP,部分样本,关键点样本(5个)
    从数据中随机选出边框,然后和GT计算IOU,大于0.65为TP,大于0.4小于0.65为部分样本,小于0.4为FP。其中, TP,FP用于面部分类任务,TP和部分样本用于边界框回归,关键点样本用于面部标志定位。

  • B 硬样本的影响
    在这里插入图片描述
    为了评估拟议的在线硬样本挖掘策略的贡献,我们训练两个ONET(有和没有在线硬样本挖掘)并比较它们的损失曲线。 为了更直接地进行比较,我们仅训练面部分类任务的ONET。 包括网络初始化在内的所有训练参数在这两个ONET中是相同的。 为了更容易地比较它们,我们使用修复学习率。 很明显,采样硬采样有利于提高性能。

  • C 联合检测和对齐的有效性
    为了评估联合检测和对齐的贡献,我们评估两个不同的O-Nets(联合面部标志回归任务并且不联合它)在FDDB上的性能(使用相同的P-Net和R-Net进行公平比较)。 我们还比较了这两个O-Nets中边界框回归的性能。 图3(b)表明联合地标定位任务学习对于面部分类和边界框回归任务都是有益的。

在这里插入图片描述

  • D.面部检测评估
    为了评估我们的人脸检测方法的性能,我们将我们的方法与FDDB中最先进的方法[1,5,6,11,19,26,27,28,29]进行了比较, WIDER FACE中最先进的方法[1,24,11]。图4(a) - (d)表明,我们的方法在两个基准测试中都大大优于所有先前的方法。我们还评估了我们对一些挑战照片1的方法。
  • E.面部对齐评估
    在这一部分中,我们将我们的方法的面部对齐性能与以下方法进行比较:RCPR [12],TSPM [7],Luxand face SDK [17],ESR [13],CDM [15],SDM [21],和TCDCN [22]。在测试阶段,我们的方法无法检测到13个图像。因此,我们裁剪这13幅图像的中心区域,并将它们视为O-Net的输入。平均误差通过估计的界标与地面实况之间的距离来测量,并相对于眼间距离进行归一化。图4(e)表明我们的方法优于所有最先进的方法。
  • F.运行时效率
    鉴于级联结构,我们的方法可以在关节面检测和对准中实现非常快的速度。它在2.60GHz CPU上需要16fps,在GPU上需要99fps(Nvidia Titan Black)。
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值