#Multi-task convolutional neural networks 人脸对齐

\quad MTCNN是2016年ECCV上的一篇文章,做的事情就是人脸检测,以及人脸部分关键点标定.MTCNN的过程和思想都集中在下面这个图.

MTCNN 论文理解_.net

这个图片大概就是说,MTCNN是由3个网络结构组成(P-Net,R-Net,O-Net)的.下面分别介绍一下MTCNN的这个3个网络结构.

\quad Proposal Network (P-Net):该网络结构主要获得了人脸区域的候选窗口和边界框的回归向量。并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框。

\quad Refine Network (R-Net):该网络结构还是通过边界框回归和NMS来去掉那些false-positive区域。只是由于该网络结构和P-Net网络结构有差异,多了一个全连接层,所以会取得更好的抑制false-positive的作用。

\quad Output Network (O-Net):该层比R-Net层又多了一层卷基层,所以处理的结果会更加精细。作用和R-Net层作用一样。但是该层对人脸区域进行了更多的监督,同时还会输出5个地标(landmark)。

\quad 论文中也给出了详细的网络结构如下图:

MTCNN 论文理解_最小化_02

MTCNN还有更加详细的prototxt的网络结构,可以看这篇博客,或者是自己将https://github.com/kpzhang93/MTCNN_face_detection_alignment/tree/master/code/codes/MTCNNv1/model这里面的prototxt文件可视化之后观察.

##训练过程的损失函数

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

###人脸分类:

MTCNN 论文理解_损失函数_03这是人脸分类的交叉熵损失函数,其中, p i p_i pi​为是人脸的概率, y i d e t y_i^{det} yidet​为背景的真实标签。

###边界框回归:

MTCNN 论文理解_最小化_04这个式子是通过欧氏距离计算的回归损失。其中,带尖的y为通过网络预测得到,不带尖的y为实际的真实的背景坐标。其中,y为一个(左上角x,左上角y,长,宽)组成的四元组。

###地标定位:

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

###多个人的情况:

MTCNN 论文理解_.net_06

\quad 整个的训练学习过程就是最小化上面的这个函数,其中,N为训练样本数量, α j \alpha_j αj​表示任务的重要性, β i j \beta_i^j βij​为样本标签, L i j L_i^j Lij​为上面的损失函数。在训练过程中,为了取得更好的效果,作者每次只后向传播前70%样本的梯度,这样来保证传递的都是有效的数字。


维护了一个微信公众号,分享论文,算法,比赛,生活,欢迎加入。

MTCNN 论文理解_最小化_07