MTCCNN人脸侦测(Pytorch实现)

人脸侦测(MTCNN实现)

MTCNN思想

在这里插入图片描述
在这里插入图片描述

网络结构(三级级联神经网络)

第一层网络:P网络
在这里插入图片描述
设计特点:1、全连接层是为了限制输入图片的大小
2、池化层多加了一层一方面是为了提取更加丰富的人物轮廓特征信息,另一方面则是为了减少运
算的参数量
3、输入图片扩大了一倍是因为多加了一层池化,因此要让输入的信息量足够大
4、五层网络,训练速度最慢,但精度最高
第二层网络:R网络
在这里插入图片描述
设计特点:1、全连接层是为了限制输入图片的大小
2、池化层多加了一层一方面是为了提取更加丰富的人物轮廓特征信息,另一方面则是为了减少运
算的参数量
3、输入图片扩大了一倍是因为多加了一层池化,因此要让输入的信息量足够大
4、四层网络,训练速度较慢,但精度较高
第二层网络:O网络**
在这里插入图片描述

数据集和标签制作

数据集制作
在这里插入图片描述
IOU的计算(代码实现:https://blog.csdn.net/qq_39086406/article/details/103183879)
1、IOU=交集面积/并集面积
2、交集面积计算方法:假设矩形A:[x1,y1,x2,y2],矩形B:[x3,y3,x4,y4],则交集C:[Max(x1,x3),Max(y1,y3),Min(x2,x4),Min(y2,y4)],Sj=max(0,x2-x1)*max(y2-y1)
3、并集面积=两个矩形面积之和-交集面积
在这里插入图片描述
标签制作
在这里插入图片描述
**代码实现:**https://blog.csdn.net/qq_39086406/article/details/103183820

网络训练

训练注意要点:
1、由于训练时三个网络互不相关,因此三个网络可以同时训练
2、对于置信度的损失函数选用BCELoss,对于偏移量的损失函数选用MSELoss
3、部分样本不参与置信度损失的计算
4、负样本不参与偏移量损失的计算
**代码实现:**https://blog.csdn.net/qq_39086406/article/details/103183782

网络测试(使用)

测试流程图
在这里插入图片描述
图像金字塔:做图像金字塔的目的是为了适应不同大小人脸尺寸的图片,因为扫描框是12x12固定不变的
NMS(非极大值抑制):做NMS的原因是因为每个网络输出的同一张人脸的框可能有很多个,而我们只需要置
信度最大的框(代码实现:https://blog.csdn.net/qq_39086406/article/details/103183879)
代码实现:https://blog.csdn.net/qq_39086406/article/details/103183782

效果展示

在这里插入图片描述
在这里插入图片描述
召回率:97.56% 精确度:98.23%

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值