Amodal Instance Segmentation with KINS Dataset论文理解

解决什么问题

对看不见的部分进行实例分割,这种数据集和方法现在都很少


本文创新点\贡献

  1. 新的数据集,新的任务,数据集是增强的KITTI
  2. 提出Multi-Level Coding,利用现有的一些分割网络来预测看不见的部分

前人方法

[ Amodal instance segmentation ] 2016
[ Learning to see the invisible: End-toend trainable amodal instance segmentation ] 2019
[ Semantic amodal segmentation] 2017


方法

方法概括

先使用一个常见的分割网络,在box的回归和分类的分支加上个遮挡的分支,这个新的分支用来预测当前RoI有没有发生遮挡,如果发生遮挡的话,通过MLC,将box分支、遮挡分类分支、mask分支的所有特征融合到一起,再做mask处理,得到最后的Amodal分割。

Multi-Level Coding

作者的方法是提取高级语义信息来指导分割分支来更好的推理遮挡的部位。

现在一些方法backbone和mask head之间的距离很长,容易丢失一些信息,而MLC能放大mask预测中的全局信息,这个分支只针对正的RoIs,只有正RoI的特征会被提取,送到MLC中作为全局指导。

正样本就是带有遮挡的RoI吧

bbox和遮挡的分类分支的大小是7×77\times 7,mask分支的大小是14×1414 \times 14,所以在送入mask分支之前,要做一些处理,这里有两个模组,分别用来提取和合并
Amodal Instance Segmentation with KINS Dataset论文理解

这里的卷积核的大小是C×C×3×3C\times C \times 3 \times 3,步长和填充都是1,CC是通道的数量

?通道 x 通道,这个像之前通道注意力机制出现的,可能就是换了个说法吧

提取
合并类和遮挡信息到全局特征中

把对应的特征图都融合到一块

box和遮挡分类特征被连接到一块,然后用2C×C×3×32C\times C \times 3 \times 3的卷积核做反卷积操作(就是个上采样,为了融合两个特征的信息),然后上采样特征被送入两个卷积层,再加个ReLu

融合
混合全局特征和局部mask特征来帮助分割,为了在mask分支中加入全局和特殊的局部线索,将提取层的特征和mask特征融合,然后扔到三个级联的卷积层,再加个ReLU。
最后的卷积层减少一半的通道,让输出的维度和mask分支一样,输出的特征送到mask分支做最后的分割。

总结就是在mask的feature后面,又融合了两个分类的信息,做完了之后再做mask

Occlusion Classification Branch

只有全局框特征还不够,因为很多实例都有可能存在于一个RoI,其他的实例的特征可能造成mask预测的两可性

这不废话吗,一直有的问题啊

所以引入了occlusion classification branch来判断遮挡的位置的可能存在,用这个分支来判断遮挡是否存在RoI中

实验表明,这个分支能提供不少看不到的特征

Amodal Instance Segmentation with KINS Dataset论文理解
一般情况下,从具有128个前景roi的RPN结果中抽取512个建议。

作者统计,40个RoI,就能满足大部分需求了。

但是,遮挡的区域大概只有1-10个像素,遮挡和非遮挡的比例极度失衡,基于RoI特征提取后,极小区域的特征被削弱甚至丢失,只将重叠面积大于总掩码5%的区域作为遮挡样本,为了解决不平衡问题,设置正RoI的权重loss为8。

遮挡的太少就不管了


训练

网络结构

Amodal Instance Segmentation with KINS Dataset论文理解

之前的分割网络都可以拿来用,比如Mask RCNN和 PANet,只要输入是amodal就可以预测出被遮挡的mask。

作者利用的全局信息来推断遮挡的区域,该结构上层RPN有三个分支,box分类,box回归,遮挡分类。前两个分支,除了最后的两个FC层都是共享权重,分别用最后的FC来预测,这样的结构关注整体感知,其中的特征可用于帮助整体实例推理。下层是一个Mask分支,会通过MLC来融合特征,做最终的预测。

就是说这个共享的特征很重要,里面有全局信息?

细节是,所有分支的输入都是RoI,每个分支由四个级联卷积和ReLu操作组成,为了对遮挡部分进行预测,提出了多层编码(MLC)方法,这个MLC的结果会送到Amodal分割中,能够同时通过可见的线索和对整体区域的固有感知来完成实例。

实验显示,迭代多了会过拟合,随着迭代次数的增加,遮挡区域缩小或消失,可见部分的预测趋于稳定

我怀疑这个图贴反了,明明是右侧的mask更多一些
Amodal Instance Segmentation with KINS Dataset论文理解

构造分析

就CNN的性质讨论了过拟合的原因:

  1. 卷积能捕捉精准的局部特征,然后损失了对于这个分割区域的全局信息

    所以加attention能解决?

  2. 全连接操作通过聚合空间和通道信息,让网络全方位的理解instance。

现存的一些实例分割框架,mask head通常是四个卷积网络和一个反卷积头组成,能充分利用局部信息

所以如何利用全局信息?

但是没有全局信息或先验知识,很难预测不可见的区域,看不见的还是遮住了

没有预知的3D模型也很难搞
Path aggregation network for instance segmentation 2018
这个讲了下不挨着的物体的全局信息的重要性,可以看看

所以,全局信息的强感知能力是网络识别遮挡区域的关键。

这句话作者特别重视

Loss

RPN,box识别,遮挡分类,mask预测的系数都设置为1

L=Lcls+Lbox+Locclusion+Lmaska+Lmaski L = L_{cls} + L_{box} + L_{occlusion} + L_{mask_a} + L_{mask_i}
推理的时候还不太一样,根据box分支和推荐位置,来回归box,然后再把更新的box放进box分支来提取class和遮挡特征,选NMS后的box来做mask预测。

是说先预测个结果,再根据推荐位置,推测出个box结果,此时,再用这box来提取特征,顶算是微调了一次bbox呗