目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)

多任务级联卷积网络

该网络可以称之为目标检测应用的开山之作。但是由于其网络层次复杂,识别速度慢,目前的工程领域并不常用,其核心思想却在各个常用的目标检测算法中经常使用。
一、图像金字塔

当网络对一张图片进行特征提取时,我们设定的框往往不能够框住图片上的目标(对于任意一张图片我们并不知道目标在图片上所占的比例),如下图所示,由于设定窗口(蓝框)太小,无论如何移动,也框不到我们想得到的人脸。
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第1张图片
使用图像金字塔对图片进行缩放,如下图,当被缩放图片的最小边长小于设定框时,x 目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第2张图片
二、IOU(交并比、重叠度)
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第3张图片
如上图所示,红色框为真实框A,绿色框为预测框B。IOU表示两个框的重叠度。公式如下:
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第4张图片
IOU的计算为NMS提供基础。
三、NMS(非极大抑制)
文章中所提到的NMS方法,在其他很多地方应用也很广。
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第5张图片
这是举例说明,我们首先选取0.98的框,将其他所有框的得分与0.98做IOU,设定阈值为0.3,与0.98做IOU大于0.3的框被淘汰,其余保留。很明显,左一0.75和0.85框都被淘汰(抑制)。0.98被保留,剩下其余六个框。其中0.90最大,剩下的得分再与0.90做IOU,同上。以此循环。最后剩下的框不一定是三个,至于为什么可以自己领悟。
四、P-Net(proposal Net)
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第6张图片
在这里插入图片描述
经过前面的图像金字塔处理,通过一个FNC进行初步特征提取与标定边框,并通过NMS对大部分窗口进行过滤,Bound ing-Box Regression调整窗口。
P-Net 是一个人脸区域建议网络,将提取到的特征输入该网络的三个卷积层后,通过一个分类器判断该区域是否存在人脸,同时使用Bound ing-Box Regression和面部关键点的定位器来初步标记人脸区域.P网络中将输出很多可能存在人脸的候选框,交给R-Net做处理.(此时可以将P-Net预想为公司招聘时的HR面,只是将可能存在脸部的框保留了下来,并没有考虑精度)

五、R-Net(Refine Net)
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第7张图片
相比第一层P-Net,在第二次卷积之后增加了一个池化层,最后一次卷积完后增加了一个全连接层.R-Net网络将过滤掉输入进来的效果不好的候选框,最后对选定的候选框进行Bound ing-Box regression和NMS进一步优化预测结果.
六、O-Net(Output Net)
目标检测(人脸识别)经典算法—MTCNN(Multi-task Cascaeded Convolutional Networks)_第8张图片
结构上相比于R-Net 多了一个卷积层和一个池化层,全连接层也由128增加到256.此时会通过更多的监督进行识别面部的区域.而且会对人的面部特征点进行回归,最终输出五个人脸面部特征点.

你可能感兴趣的:(深度学习,目标检测,深度学习,人脸识别,机器学习,MTCNN)