face detection[Multi-view face detection MTCNN]

因为这两篇论文感觉内容较短,故而合并到一个博文中。

Multi-view face detection

本文来自《Multi-view Face Detection Using Deep Convolutional Neural Networks》的解读。时间线是2015年4月。

本文考虑的是多角度的人脸检测问题。在当前已经有很多这方面的工作,而当前最好的方法都需要对人脸关键点进行标注,如TSM,或者需要对人脸姿态进行标注,同时还需要训练十几个模型,从而能够在所有方向上抓取所有的人脸,例如HeadHunter方法中需要22个模型。而本文提出深度密度人脸检测(deep dense face detector,DDFD),不需要姿态或者关键点标注,而且能够用一个单一的模型区抓取各个方向上的人脸。而且不需要额外的组件,比如分割,候选框回归,或者SVM分类器等等。此外,还分析了本文的方法:发现

1)所提出的方法能够从不同的角度检测面部,并且可以在一定程度上处理遮挡;

2)似乎训练集中正样本的分布与本文提出的人脸检测器的得分之间有一定相关性。

后者表明,通过使用更好的采样策略和更复杂的数据增强技术,可以进一步提高该模型的性能。

0.引言

2001年,Viola和Jones当初发明的级联人脸检测器,将人脸检测的速度大大提升,算是人脸发展史的一个里程碑。然而他们的方法却只能处理差不多是正脸且正向的人脸,而对不同方向不同姿态的人脸就没办法了。

face detection[Multi-view face detection MTCNN]


对于这二十几年在多角度人脸检测上的工作,大致可以分成以下三个类别:

基于级联的:这些方法多是在Viola和Jones检测器上进行扩展;

基于DPM的:这些方法基于可变形部件模型,其中人脸被定义为不同部件的组合。 这些部件是通过无监督或有监督训练定义的,并且训练潜在SVM分类器以及这些部件之间的几何关系。 这些人脸检测器对部分遮挡是比较鲁棒,因为即使某些部件不存在,它们也可以探测到其他部件并组合成人脸。 然而,这些方法是计算密集型的

因为1)它们需要为每个候选位置求解潜在的SVM;

2)必须训练和组合多个DPM以实现最好的效果。 此外,在某些情况下,基于DPM的模型需要用于训练的人脸关键点标注数据:

基于神经网络的:使用神经网络来做人脸检测的历史也是挺长的。

多角度人脸检测中的难点是传统模型使用的特征不够鲁棒,不足以表征不同姿态的人脸,因此导致分类器也无法正确分类。然而随着DL的发展,这个问题被不断的逼近解决。本文提出的单一神经网络模型,就是不需要额外的关键点和姿态标注数据,且不需要引入额外的如SVM的分类器。

1. 本文方法

首先准备数据对AlexNet网络进行微调,然后通过对正样本进行裁剪然后使用IOU超过50%的作为正样本填充,并通过随机翻转等打到了一共200K个正样本和20百万个负样本。然后统一缩放到227x227,并用来微调一个经过预训练的Alexnet。然后作者采用了划窗的方法,不断的从输入图片中提取图片块,先经过Alexnet做特征映射,然后将全连接层reshape成二维的,再通过一个人脸分类器。该人脸分类器是由一个5层CNN+3层全连接层组成的网络。

ps:个人认为,就是不断的划窗,然后对一堆窗口进行分类是否是人脸,然后再进行NMS

MTCNN 0 引言

MTCNN的灵感来自《A convolutional neural network cascade for face detection》,凯鹏认为,

该作者卷积层中的滤波器缺少多样化限制了模型的判别能力;

相比其他多累目标检测和分类任务,人脸检测就是一个极具挑战的二分类任务,所以每一层需要更少数量的滤波器。

所以凯鹏减少了滤波器的个数,并将5x5的大小变成3x3的大小,然后加深了网络的通道数量。

face detection[Multi-view face detection MTCNN]


上图就是MTCNN的网络层与级联CNN的网络层的对比。

MTCNN主要贡献就是一个框架可以同时预测人脸区域并且同时预测人脸关键点,且能够在线进行硬样本的挖掘,从而提升性能。通过采用多任务学习将级联CNN进行统一起来,该提出的CNN框架中包含三个阶段:

通过一个浅层CNN快速的生成候选框;

然后通过一个更复杂的CNN拒绝大量的非人脸框;

最后使用一个更强劲的CNN去再次调整结果,并输出5个关键点位置。

1 结构

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzwgjz.html