Mask RCNN个人解读

**

Mask RCNN个人解读

**

摘要:

作者提出了一个概念上简单,灵活和通用的对象实例分割框架。 我们的方法能够高效地检测图像中的对象,同时为每个实例生成高质量的分割掩膜(mask)。给每个RoI增加一个和边界框回归(Faster_R-CNN)平行的分支区预测目标的掩膜(mask),该分支是小弟FCN。易训练,泛化能力强。

改进

使用RoIAlign替换RoIPooling,不适用空间量化,保留真实确定的空间位置。影响很大:mask精度极大提高,定位精度大幅度提高。其次,分离掩膜和类别预测的很重要。RoI分类主要是预测类别,mask给每个类一个二进制掩膜,不需要在类别间进行竞争,FCN对每个像素分类,成功连接segment和classfication

相关工作

R-CNN发展史:R-CNN是在原始图像上提取proposal,每个都要输入到深度网络中去,进行分类回归。后来进行改进,一整张图输入进去,在特征图上提取proposal,速度加快。faster-R-cnn是改进了提取proposal的方法,使用RPN替代选择性搜索的方法(SS),进一步加快速度,提高精度
实例分割:实力分割比较老的方法是产生分割proposal ,输入到fast-rcnn网络中去进行分类,速度慢,精度低。其后比较好的的方法是:提出发杂的多阶段级联网络,从边界框中预测分割proposal,然后再进行分类。最近提出了一种方法是将目标检测系统和产生分割proposal的系统结合在一起,用于全卷积实例分割。主要是预测一系列对位置敏感的全卷积输出信道。这些信道能够同时检测目标的类别,边界框,掩膜,速度很快,但是在遇到目标发生重叠时,会产生虚假边界。语义分割驱动的实例分割,聪明和每个像素分类结果开始,试图把同类别的像切割到每个实例,这些方法是分段优先的策略,Mask-RCNN是基于实例优先的策略。这两种方法可以进行结合
Mask的输出需要提取更精细的空间布局。Mask-R-CNN的关键元素:像素到像素的对齐(Fast/Faster-R-CNN除妖缺失部分)。一千的方法是费雷取决于mask预测,Mask-RCNN采用了和fast-RCNN一样的方式,使他们平行发生。

Mask-RCNN损失函数分成3部分:
在这里插入图片描述
Lcls和Lbox与fast-RCNN中定义的一样,Lmask使mask分支上的损失函数,输出大小为Kmm,其编码分辨率为mm的K个二进制mask,即K个类别每个对应一个二进制mask,对每个像素使用sigmoid 函数,Lmask是平均二进制交叉熵损失。RoI的groundtruth类别为k,Lmask只定义在第k个Mask上,其余的mask属于对它没有影响(也就是说在训练的时候,虽然每个点都会有K个二进制mask,但是只有一个k类mask对损失有贡献,这个k值是分类branch预测出来的)。
Mask-RCNN没有类间竞争,因为其他类别不贡献损失。mask分支对每个类别都有预测,依靠分类层选择输出mask(此时大小应该是m
m,之预测了一个类别出来,只需要输出该类别对应的mask即可),使用FCN的一般方法是对每个像素使用softmax以及多项交叉熵损失,会出现类间竞争。二值交叉熵会使得每一类的 mask 不相互竞争,而不是和其他类别的 mask 比较 。
类间竞争的问题再次解释一下:softmax会产生FCIS的 ROI inside map与ROI outside map的竞争
mask表示:全连接层(fc)不能保存空间结构,但是全卷积网络(FCN)可以(可能是padding),类别标签以及box偏移量经过fc,不可避免重叠成为短输出向量,mask经过FCN可以实现像素到像素的对应,但是这个操作需要RoI特征(小特征向量)很好的对齐,保留每个像素的空间对应。

区域不匹配问题转自知乎的应该作者,链接在文章上面,解释的很清楚。
在这里插入图片描述
RoIPool:提取小特征图的标准操作,本质其实是量化,先把RoI的浮点输出量化称特征图的力度,然后继续按照自身定义的空间bin把量化后的RoI继续细分,最后每个bin聚龙输出(通常最大池化实现)。但是这种量化操作会造称像素错位。对预测像素精度的mask会造成给很大影响。

RoIAlign(对齐):改进了RoIPool苛刻池化的方式,将特征与输入对齐。就是避免了RoI边界或者bin的量化

在这里插入图片描述

将特征图划分成网格,(在faster-RCNN中,输入图像大小固定,因此特征图大小固定,因此网格数和大小每次都是一样的,只是每个RoI可能大小不一样),在每个RoI的bin中,有4个周期采样的位置,利用附近的网格点的值计算采样点的值,季孙方法:双线性插值。最后汇总结果(最大值或者平均值,可以池化进行,文中使用双线性插值到1414,再pooling到77)。没有任何池化操作,因此,采样点的位置和个数影响不大(不敏感)。

网络结构:1.提取特征的网络主干结构。2.边界框识别(包括分类和回归)的网络头。3.mask预测独立作用每个RoI。
在这里插入图片描述
操作的一些技巧:Lmask实在正RoI上定义。mask的目标就是RoI和相关的真实mask的交集。测试阶段先进行box预测枝,才进行mask。不是并行的三条线。

提升效果的一些方法:1.数据蒸馏。自训练的一种策略,在带标签的数据上进行训练,预测未标记的数据,然后谁用预测结果继续训练模型。2.模型的重要性,包括non-local(NL)模型。3.增强数据集。

写的不好的地方欢迎指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值