MTCNN
2020-03-03 13:41:37 0 举报
AI智能生成
登录查看完整内容
MTCNN神经网络模型梳理
作者其他创作
大纲/内容
原理
Proposal Network
结构
采用全卷积FCN模型,该网络模型由一层卷积(3*3)一层池化(2*2)再加两层卷积(3*3)构成
Proposal Network 结构图
作用
生成候选窗
通过NMS剔除重叠的候选窗,以减小后续网络工作压力
Refine Network
由两组卷积(3*3)池化(3*3)和一层卷积(2*2)以及一层全连接层构成
Refine Network 结构图
接收Proposal Network的输出,并判断PNet的输出区域内是否有检测目标,通过NMS过滤掉部分重叠的框
Output Network
两组卷积(3*3)池化(3*3)和一组卷积(3*3)池化(2*2)以及一层卷积(2*2)和一层全连接层构成
Output Network 结构图
接收Refine Network输出的区域,判断输出区域是否有目标,通过NMS过滤掉重叠的框之后进行输出
Multi Task Cascaded Convolutional Network
采用全卷积模型后,网络在处理图片数据时,可以忽略图片尺寸,只关注通道数,以此来提高网络的通用性
卷积层用来提取图片特征全链接层对各通道数据特征进行融合
Trainer
样本
标签
文件名
置信度
部分样本:2
正样本:1
负样本:0
偏移量
首先确定截取区域和原始标签,然后使标签减去截取区域左上角在原图中的坐标,得到人脸在截取图片中的偏移量,再使偏移量比上截取区域尺寸,进行归一化处理
数据
正样本
计算截取区域与标签给定区域的IOU值,结果大于0.9为正样本
部分样本
同样计算两个区域的IOU值,大于0.3小于0.6为部分样本
负样本
两区域的IOU值小于0.2为负样本
train
激活函数
中间层:PReLU
偏移量:y=x
置信度:Cross Entropy
损失函数
偏移量损失计算
损失函数采用:MSE
在计算偏移量损失时,需通过索引掩码将网络输出结果中的负样本剔除,尽计算正样本和部分样本的损失
置信度损失计算
损失函数采用:Cross Entropy
adam优化器
Detect
网络顺序
首先p网络对接收到的数据进行预处理,根据图片尺寸输出相应的特征向量矩阵,然后筛选出置信度高的向量组做NMS处理,再将输出结果再交由r网络进行处理,r网络做过NMS处理后,再交由O网络进行筛选,O网络筛选完成后,将结果进行输出
图像金字塔
对原始图片进行等比例缩放,直到达到给定的终止条件为止
坐标反算
左上坐标=索引换轴*总步长/缩放比例
右下坐标=(索引换轴*总步长+总卷积核尺寸)/缩放比例
NMS
先将各特征向量根据置信度进行倒序排列,然后计算两两之间的iou,将iou结果较大的向量剔除
IOU
p和r网络使用:交集比并集
o网络使用:交集比最小面积用来筛除一个集合真包含另一个集合的情况
在制作标签时建议单独写入记事本中,此举可加快数据集加载速度
效果展示
0 条评论
回复 删除
下一页