[MTCNN]3.级联卷积神经网络理解vlog3

MTCNN 级联卷积神经网络的理解Vlog3

一、论文复现-问题分析

1.问题分析
1)怎么侦测多目标?
方法一:图像不变,建议框改变,使用多个建议框来框取多个目标-YOLO的思想
方法二:建议框不变,图像改变-MTCNN思想

2)选取多大的步长?

1> 框的大小定了,使用12x12的框(相当于卷积核)从左到右从上到下扫描图片,那么使用多大的步长呢			
2> 我们这里通过实验可以得到选择12x12的框,以步长为2在图片上进行扫描
3> 这时候会出现一个人脸上会出现多个框,这个问题是可以通过NMS进行解决的,因此,整个的多目标侦测的问题就得到了解决,因此有了多目标侦测的一种解决方案MTCNN

3)如何判断哪些框是多余的?如何去除多余的框?利用IOU和NMS

4)解决方案

1> 利用12x12的,步长为2的框,相当于一个但目标侦测的网络,在12x12的区域内进行但目标侦测,通过对图片进行不同尺度的缩放,形成图像金字塔,单独拿出一个尺寸,从左到右,从上到下进行扫描,得到一堆框
2> 将经过图像金字塔得到的一堆框进行筛选,得到侦测人脸最好的一个框,技术:使用NMS对框进行筛选

总结:这是整个网络最精妙的地方之一:k=12x12,s=2的组合网络的使用
第一步:通过图像金字塔技术,使用单个框对人脸进行侦测
第二步:单个框(k=12x12,s=2)实际上是一个但目标侦测网络;该网络是一个卷积核12x12步长为2的网络,通过组合网络代替这个框
第三步:经过上面的操作,使得一个人脸会有许多框,因此提出NMS筛选框,得到最好的

二、工具

  1. 图像金字塔
    [MTCNN]3.级联卷积神经网络理解vlog3_第1张图片

  2. IOU
    当conf<0.5时,负样本中的框丢掉
    [MTCNN]3.级联卷积神经网络理解vlog3_第2张图片

  3. NMS
    非极大值抑制(Non-Maximum Suppression)
    抑制不是最大值的

    [MTCNN]3.级联卷积神经网络理解vlog3_第3张图片
    [MTCNN]3.级联卷积神经网络理解vlog3_第4张图片

  4. 图像正方形转换
    [MTCNN]3.级联卷积神经网络理解vlog3_第5张图片

  5. 图像正方形转换
    [MTCNN]3.级联卷积神经网络理解vlog3_第6张图片

  6. 图像坐标反算
    (图片有借鉴其他博客)[MTCNN]3.级联卷积神经网络理解vlog3_第7张图片[MTCNN]3.级联卷积神经网络理解vlog3_第8张图片

  7. 级联卷积
    [MTCNN]3.级联卷积神经网络理解vlog3_第9张图片

级联卷积
(1)级联的意思:
级联的意思就是指使用多个工具做一件事情,好比流水线工作,各个环节首尾相连,最终获得一个完整的工作链。
(2)级联的作用:
级联卷积的作用主要体现在使用网络的时候,p网络的输出经过处理之后,输入R网络,R网络的输出进过处理之后,输入O网络,O网路的输出处理之后,作为最终的结果。
(3)级联的思想:
级联的思想就是将复杂的任务进行分解,将要解决的复杂问题,转换成若干简单的问题。提高处理问题的效率和效果。
在训练三个网络的时候,是可以同时训练的,因为三个网络样本不一样。

三、使用流程

MTCNN使用流程
[MTCNN]3.级联卷积神经网络理解vlog3_第10张图片

(1) 输入一张图片
(2) 得到N张金字塔图像
(3) 每次输入一张金字塔图像到P-Net
(4) P-Net输出包含置信度和偏移量三维特征图
(5) 留下置信度conf达标的反算到原图
(6) 将反算到原图上的预测框做NMS
(7) 将留下的预测框在原图上转成正方形裁剪
(8) 缩放到R/O网络需要的大小
(9) 让R/O网络做更精确的置信度筛选和回归
(10) R需要反算到原图在转成正方形,O不需要
(11) 最终得到输出结果,画出预测框

你可能感兴趣的:(MTCNN)