MTCNN 论文理解

Multi-task convolutional neural networks 人脸对齐

MTCNN是2016年ECCV上的一篇文章,做的事情就是人脸检测,以及人脸部分关键点标定.MTCNN的过程和思想都集中在下面这个图.
MTCNN 论文理解_第1张图片
这个图片大概就是说,MTCNN是由3个网络结构组成(P-Net,R-Net,O-Net)的.下面分别介绍一下MTCNN的这个3个网络结构.
Proposal Network (P-Net):该网络结构主要获得了人脸区域的候选窗口和边界框的回归向量。并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框。
Refine Network (R-Net):该网络结构还是通过边界框回归和NMS来去掉那些false-positive区域。只是由于该网络结构和P-Net网络结构有差异,多了一个全连接层,所以会取得更好的抑制false-positive的作用。
Output Network (O-Net):该层比R-Net层又多了一层卷基层,所以处理的结果会更加精细。作用和R-Net层作用一样。但是该层对人脸区域进行了更多的监督,同时还会输出5个地标(landmark)。
论文中也给出了详细的网络结构如下图:
MTCNN 论文理解_第2张图片
MTCNN还有更加详细的prototxt的网络结构,可以看这篇博客:https://blog.csdn.net/qq_14845119/article/details/52680940,或者是自己将https://github.com/kpzhang93/MTCNN_face_detection_alignment/tree/master/code/codes/MTCNNv1/model这里面的prototxt文件可视化之后观察.

训练过程的损失函数

MTCNN特征描述子主要包含3个部分,人脸/非人脸分类器,边界框回归,地标定位。

人脸分类:

这里写图片描述这是人脸分类的交叉熵损失函数,其中, pi p i 为是人脸的概率, ydeti y i d e t 为背景的真实标签。

边界框回归:

这里写图片描述这个式子是通过欧氏距离计算的回归损失。其中,带尖的y为通过网络预测得到,不带尖的y为实际的真实的背景坐标。其中,y为一个(左上角x,左上角y,长,宽)组成的四元组。

地标定位:

这里写图片描述 和边界回归一样,这个式子还是计算网络预测的地标位置和实际真实地标的欧式距离,并最小化该距离。其中,带尖的y为通过网络预测得到,不带尖的y为实际的真实的地标坐标。由于一共5个点,每个点2个坐标,所以,y属于十元组。

多个人的情况:

MTCNN 论文理解_第3张图片
整个的训练学习过程就是最小化上面的这个函数,其中,N为训练样本数量, αj α j 表示任务的重要性, βji β i j 为样本标签, Lji L i j 为上面的损失函数。在训练过程中,为了取得更好的效果,作者每次只后向传播前70%样本的梯度,这样来保证传递的都是有效的数字。

参考文章:

https://blog.csdn.net/qq_14845119/article/details/52680940
https://blog.csdn.net/sinat_24143931/article/details/78778656

你可能感兴趣的:(深度学习论文阅读及算法详解)