小白也能理解的MTCNN(上)

大白话讲MTCNN

  • MTCNN
  • 图像金字塔
  • P-net
  • R-net
  • O-net

MTCNN

它是2016年中国科学院深圳研究院提出的用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测。这三个级联的网络分别是快速生成候选窗口的P-Net、进行高精度候选窗口过滤选择的R-Net和生成最终边界框与人脸关键点的O-Net。和很多处理图像问题的卷积神经网络模型,该模型也用到了图像金字塔、边框回归、非最大值抑制等技术。
MTCNN,Multi-task convolutional neural network(多任务卷积神经网络),将人脸区域检测与人脸关键点检测放在了一起,它的主题框架个人感觉和VGG模型有点相像。总体可分为P-Net、R-Net、和O-Net三层网络结构。

图像金字塔

小白也能理解的MTCNN(上)_第1张图片
为了大家更好的理解图像金字塔,这里先贴上一张倒金字塔。我们可以看到从上到下,逐渐变小。假设最上层金字塔面积s的话,给人的直观感觉是似乎每一层都按照一个比例因子在渐渐变小。而图像金字塔也是类似的道理。通过不同的缩放系数factor对图片进行缩放,每次缩小为原来的factor大小。这个factor大约是0.709.很多小伙伴会疑惑为什么是这个比例,根据发表mtcnn论文里面的内容,图片金字塔缩放时,默认把宽,高都变为原来的1/2,缩放后面积变为原来的1/4;如果认为1/4的缩放幅度太大那就试试把面积缩放为原来的1/2。很直观的想法,所以这里的缩放因子0.709 ≈ sqrt(2)/2,这样宽高变为原来的sqrt(2)/2,面积就变为原来的1/2。好处有很多,最重要的就是生成了更多的原样本,那么识别起来就更多数据能够更准,缺点也很明显,时间太长。
小白也能理解的MTCNN(上)_第2张图片

P-net

到了第一个网络,P-net。刚开始输入进来,经过这个网络之后就产生很多框框。P-net对图像进行人脸识别。咦,我觉得这个耳朵可能是人脸,嘿,我觉得这个花花草草像。P-net当于是筛子一样,把有可能是人脸的全筛选进来了。这一步可能会产生好几百个框。那太多了也影响程序速度啊,就发明了NMS和bbr,他们的作用就是调整框框位置,筛选一些比如说觉得花花草草也是人脸的框框。可以看到基本上框框都在人的脸轮廓附近了。
小白也能理解的MTCNN(上)_第3张图片

R-net

如果说P-net是筛子,那R-net就是美图秀秀,美图秀秀功能更强大,精修某个地方。它可以让这个图上的框变得更少,变得更准。同样的也是经过NMS和bbr操作,一步一步优化。
小白也能理解的MTCNN(上)_第4张图片

O-net

O-net就是亚洲四大邪术之一–Ps,它可以在R-net基础上优化更多。可以说是非常准。其实不难发现,这三个网络是层层递进的,一步步优化,是不是又有点金字塔的感觉了呢?博主学完这个网络觉得这个很像VGG,但是实际上这三个网络就是一些卷积操作一步步提取特征来的。而且不光能够锁定人脸,还能锁定人面部5个特征:左眼右眼,左嘴角右嘴角,鼻子。
小白也能理解的MTCNN(上)_第5张图片
博主的介绍可能对于一些有基础的小伙伴没什么用,但是个人认为对于从来没接触过的小伙伴还是有启蒙意义的哟。下一篇,博主来教你怎么傻瓜式用mtcnn。不需要写几百行代码也能调用。
另外,博主觉得这个作者讲的特别好,有些地方博主讲的不深也是由于水平有限,大家可以看看这个up主讲的mtcnn。
https://www.bilibili.com/video/BV1fJ411C7AJ?from=search&seid=14620475020801029309

你可能感兴趣的:(小白也能理解的MTCNN(上))