MTCNN技术要点总结

MTCNN里面的技术关键点包括:

  1. iou(交并比)
  2. nms(非极大值抑制)
  3. convert_to_square(转正方形)
  4. 偏移量计算(生成标签时)
  5. 图像金字塔(侦测时)
  6. 图像坐标反算(侦测时)

本文简单的总结这6个技术要点

1.iou

iou表示两个框重叠的比例,iou越大,表示两个框重叠部分越多,越有可能框的是同一个物体

P_Net和R_Net:交集比并集
交集比并集
iou

O_Net:交集比最小框
交集比最小框
交集比最小框
O_NET中更多的是出现大框套小框的情况,因此以交集比最小框的比值作为iou。

2.nms

nms的作用是去除重复框,流程如下:
nms流程图

3.convert_to_square(转正方形)

在侦测的时候,P_NET的人脸预测框需要先转化为正方形,然后在原图上裁剪出对应的图片,resize为(24,24)之后才能把图片输入R_NET。同样,R_NET的人脸预测框也需要转化为正方形,然后裁剪原图,resize为(48,48),输入O_NET最终预测人脸区域。

在这里插入图片描述
如图,蓝色框为预测框,红色框为预测框转化成的正方形。
正方形框左上角的坐标值 = 左上角的坐标值+0.5框边长-0.5最大边长。

len_side = max(w, h)
_x1 = x1 + 0.5 * w - 0.5 * len_side

预测框和转化后的正方形框中心点不变。不过在特殊情况,如原图中人脸太靠近图片边缘,预测框转正方形后正方形的边可能超过图片边缘,此时中心点可略作调整,使正方形位于图片内部。

4.偏移率计算

生成标签的时候需要进行偏移率计算。
标签包括1个类别(正样本为1, 负样本为0,部分样本为2), 4个边框偏移率,10个人脸关键点的坐标值偏移率,即一个15维的向量。
偏移率代表的是真实框相对于建议框的偏移的比率。
offset =(真实框坐标值-建议框坐标值)/建议框的边长
P_NET,R_NET,O_NET的建议框分别为12*1224*2448*48的正方形
在这里插入图片描述

5.图像金字塔

侦测的时候,将原图输入P_NET,可以得到(1, C, H, W)形状的特征图,特征图上的每个点的感受野为12*1212*12的区域是很小的,无法预测原图上比较大的人脸,因此可以把原图进行缩放,传入P_NRT,原图上的人脸变小之后,P_NET才能准确预测人脸框。

6.图像坐标反算

在侦测的时候进行做图像坐标反算,反算分为两个部分:
1.根据索引,计算出建议框在原图上的坐标值
如图有4个建议框,分别为红,绿,黄,蓝,每个建议框对应特征图上的一个点,比如红色框对应特征图上(0,0)这个点,绿色框对应特征图上(0,1)这个点。每个建议框和特征图上的点一一对应,因此,根据特征图上的索引,可以反算得到建议框在原图上的坐标。
特征图共有5个通道,分别为:
1.置信度:模型预测出的建议框内含有人脸的概率
2.预测框相对于建议框左上角X1的偏移率:offset_x1
3.预测框相对于建议框左上角y1的偏移率:offset_y1
4.预测框相对于建议框右下角X2的偏移率:offset_x2
5.预测框相对于建议框右下角y2的偏移率:offset_y2

在这里插入图片描述

2.根据偏移率,计算实际预测框在原图上的坐标值
网络输出实际预测框相对于建议框的偏移率,因此可以根据建议框在原图上的坐标,加上建议框边长乘以对应的偏移率,得到实际预测框在原图上的坐标值
在这里插入图片描述

xmind:

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值