深度学习自学(二):人脸检测MTCNN学习总结

一、MTCNN关键参数

nms_threshold:非极大值抑制nms筛选人脸框时的IOU阈值,三个网络可单独设定阈值,值设置的过小,nms合并的少,会产生较多冗余计算。示例nms_threshold[3] = { 0.5, 0.7, 0.7 };。

threshold:人脸框得分阈值,三个网络可单独设定阈值,值设置的太小,会有很多框通过,也就增加了计算量,还有可能导致最后不是人脸的框错认为人脸。示例threshold[3] = {0.8, 0.8, 0.8};
minsize :最小可检测图像,该值大小,可控制图像金字塔的阶层数的参数之一,越小,阶层越多,计算越多。示例minsize = 40;
factor :生成图像金字塔时候的缩放系数, 范围(0,1),可控制图像金字塔的阶层数的参数之一,越大,阶层越多,计算越多。示例factor = 0.709;
在这里插入图片描述
​​​​

二、生成图像金字塔

前面提到,输入图片的尺寸,minsize和factor共同影响了图像金字塔的阶层数。也就是说决定能够生成多少张图。
缩放后的尺寸minL=org_L*(12/minisize)*factor^(n),n={0,1,2,3,…,N},缩放尺寸最小不能小于12,也就是缩放到12为止。n的数量也就是能够缩放出图片的数量。

三、Pnet运算

一般Pnet只做检测和人脸框回归两个任务。忽略下图中的Facial landmark。

在这里插入图片描述

虽然网络定义的时候input的size是12123,由于Pnet只有卷积层,我们可以直接将resize后的图像喂给网络进行前传,只是得到的结果就不是112和114,而是mm2和mm4了。这样就不用先从resize的图上截取各种12123的图再送入网络了,而是一次性送入,再根据结果回推每个结果对应的1212的图在输入图片的什么位置。
针对金字塔中每张图,网络forward计算后都得到了人脸得分以及人脸框回归的结果。人脸分类得分是两个通道的三维矩阵m
m2,其实对应在网络输入图片上mm个12*12的滑框,结合当前图片在金字塔图片中的缩放scale,可以推算出每个滑框在原始图像中的具体坐标。
首先要根据得分进行筛选,得分低于阈值的滑框,排除。

四、Rnet

Rnet仍然只做检测和人脸框回归两个任务。忽略下图中的Facial landmark。

在这里插入图片描述

Rnet的作用是对Pnet得到的人脸框进一步打分筛选,回归人脸框。
将Pnet运算出来的人脸框从原图上截取下来,并且resize到24243,作为Rnet的输入。输出仍然是得分和BBox回归结果。
对得分低于阈值的候选框进行抛弃,剩下的候选框做nms进行合并,然后再将BBox回归结果映射到原始图像的像素坐标上。
所以,Rnet最终得到的是在Pnet结果中精选出来的人脸框。

五、Onet

Onet将检测,人脸框回归和特征点定位,一起做了。
Onet的作用是对Rnet得到的人脸框进一步打分筛选,回归人脸框。同时在每个框上都计算特征点位置。
在这里插入图片描述
将Rnet运算出来的人脸框从原图上截取下来,并且resize到48483,作为Onet的输入。输出是得分,BBox回归结果以及landmark位置数据。
分数超过阈值的候选框对应的Bbox回归数据以及landmark数据进行保存。
将Bbox回归数据以及landmark数据映射到原始图像坐标上。
再次实施nms对人脸框进行合并。

经过这层层筛选合并后,最终剩下的Bbox以及其对应的landmark就是我们苦苦追求的结果了。

MTCNN解读:Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks
https://blog.csdn.net/fuwenyan/article/details/73201680

MTCNN人脸及特征点检测—代码应用详解(基于ncnn架构)
https://blog.csdn.net/fuwenyan/article/details/77573755

如何应用MTCNN和FaceNet模型实现人脸检测及识别
https://www.itcodemonkey.com/article/3536.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值