Mask R-CNN网络结构

目录

RoIAlign

Mask分支

Mask R-CNN损失


Mask R-CNN主体结构还是Faster R-CNN,后端并联了一个mask分支

Mask R-CNN有两种:一种不带FPN特征金字塔结构的,一种带FPN的,现今以采用FPN结构的为主

RoIAlign

RoIAlign的提出是为了解决在网络两次取整操作中所导致的Misalignments问题

将原图点映射到特征层上,步距为32,会出现无法整除,RoIPooling进行四舍五入这样就会导致误差。

同样将原图点映射到特征层上,出现小数不进行四舍五入直接对应特征图上,例如(0.3125,3.875)带小数的形式。将蓝色的矩形框均分为2X2几个子区域,由于2X2均分不存在四舍五入操作。对于每个子区域要求取输出涉及到sampleing ratio参数,即每个子区域需要采样多少个点。原论文sampleing ratio=2,此处假设sampleing rati=1找到四个点的中心点,如橙色点,确定距离橙色点最近的四个特征点。利用双线性插值计算公式获取距离橙色点的数值。

RoIAlign的结果对于采样点位置以及采样点的个数并不敏感。

Mask分支

Mask R-CNN包括两个分支,一个是类别分支一个是Mask分支

Mask分支与分类分支不共用一个RoI,Mask分支需要更多的细节信息所以没有池化到7X7大小,而是池化到14 X14的大小

Mask分支针对每个类别都预测了一个模板且模板大小均为28X28。

MaskRCNN之前的网络对每一个像素每一个类别都会预测一个概率分数,之后会对每一个像素沿channel方向做一个softmax处理,会得到每一个像素归属每一个类别的概率分数,这样不同类别间存在竞争关系,每一个像素沿channel方向的概率之和等于1,所以各个类别存在竞争关系。MaskRCNN不会对每一个像素沿channel方向做一个softmax处理,而是针对类别分支预测的类别信息带入Mask分支中,将针对该类别的模板提取出来使用,类别间不存在竞争关系。

预测的时候只需要最准确的目标边界框

Mask R-CNN损失

相较于之前的FaterRCNN增加了一个Mask分支

图片输入给骨干网络通过下采样得到最终不同特征层的特征图,通过RPN得到多个Proposals这里的Proposals都是正样本,将这些Proposals送入RoIAlign,会根据Proposals大小在对应的特征层进行裁剪得到14X14的特征。再将特征送入Mask分支,就会每一个类别都预测一个Mask,因此得到Mask分支得到的logits。虽然Mask分支没有进行softmax处理,但是会经过sigmoid激活,即将每一个点映射到[0,1]之间。Proposals回到原图去裁剪对应的区域,在缩放到28x28大小得到真实Mask,真实Mask中目标区域为1,真实区域为0。与预测Mask送入损失函数中去计算损失。

得到Mask为28X28大小,经过双线性插值放大到与预测边界框一样大小,放到原图对应的位置区域。

一些浅显的总结,后续还会继续完善。。。

文章内容主要来源于:Mask R-CNN网络详解_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值