MTCNN算法



该MTCNN算法出自深圳先进技术研究院,乔宇老师组,是今年2016的ECCV。


采用级联的卷积神经网络进行人脸五官特征点检测,其流程如下图所示。


     

6级联卷积神经网络流程图


首先,将给定的图片缩放到不同尺度,形成图像金字塔,以达到尺度不变。通过上述流程图可知,该模型有三个步骤组成:


Stage 1Proposal Network(P-Net):使用P-Net全卷积网络用来生成候选窗和边框回归向量(boundingbox regression vectors)。使用Bounding box regression的方法来校正候选窗,使用非极大值抑制(NMS)合并重叠的候选框。P-Net网络结构如图7所示。

  

7 P-Net

Stage 2 Refine Network(R-Net):使用R-Net改善候选窗。将通过P-Net的候选窗输入R-Net中,拒绝掉大部分false的窗口,继续使用Bounding box regressionNMS合并。R-Net网络结构如图8所示。

 

8 R-Net

Stage 3 Output Network(O-Net):最后使用O-Net输出最终的人脸框和特征点位置。和第二步类似,但是不同的是生成5个特征点位置。O-Net网络结构如图9所示。


9 O-Net

其中MTCNN算法还可以参考博客http://blog.csdn.net/qq_14845119/article/details/52680940

bounding box regression算法可以参考博客http://blog.csdn.net/Bixiwen_liu/article/details/53840913

算法原文及代码链接https://kpzhang93.github.io/MTCNN_face_detection_alignment/index.html?from=timeline&isappinstalled=1

算法NMS可以参考http://blog.csdn.net/zhang_shuai12/article/details/52716952