1、简介
计算机视觉方面一直在疯狂地追求更大更硬更强的神经网络模型。但有时候,更大更硬更强并不是件好事,模型太大,显存不够放不进去,很麻烦,更别提应用到移动设备上了。
模型不够大就不够强,不够小就不够快。
而MTCNN,就是在计算机视觉人脸检测和矫正中,兼顾小而准的代表作品。
也就是利用滑动窗口的方法,在图片当中将小框框每次向右移动一定的长度,然后获得下一个框框,当框框移动到第一行的最后的时候,则第一行取完了 之后向下平移,此时当做第二行。简单总结就是将框框按照一定的长度平移,遍历整张图片,从而找到人脸的位置。
MTCNN将原始图像缩放到不同尺度,形成图像金字塔。
MTCNN由三个级联的网络组成,分别是P-Net, R-Net, O-Net
图片经过预处理,先经过P-Net网络,将结果给R-Net网络,R-Net网络的输出再传给O-Net网络,O-Net最后得到输出结果。
MTCNN的三层结构:
- 阶段一:先使用全卷积网络,即P-Net,来获取到获选的人脸框和其对应的向量。随后根据回归框向量对候选框进行校正。之后使用非极大抑制(NMS)来去除高度重合的候选框。
- 阶段二:P-Net得到的回归框都送入到R-Net中,随后拒绝大量错误框,再对回归框做校正,并使用NMS去除重合框。
- 阶段三:与阶段二类似,但是这里会额外进行人脸特征点(5个)的检测。
要解决的问题:同时进行人脸检测(face detection)和人脸对齐(face alignment)任务。
解决方法:1、提出了一个基于深度学习的级联结构。
2、提出了一种新的训练策略,称为online hard sample mining strategy, 用于提升训练精度。
DATE
imput: resized image(P-Net: 12x12x3, R-Net: 24x24x3, O-Net: 48x48x3)
lable: image is face or not(bool)
roi: bbox in rw image(各层输入图像中人脸位置框图坐标)