CVPR 2020
论文链接:
https://arxiv.org/abs/2003.11712.
代码链接:
https://github.com/aim-uofa/AdelaiDet.
Instance segmentation (实例分割)能够实现多种计算机视觉应用,比如autonomous driving(自动驾驶)和robot navigation(机器人导航)。Instance segmentation将目标检测和为像素分配类别标签结合起来,因此是计算机视觉中最具有挑战性的任务之一。
深度卷积神经网络(CNN)的最新进展已在实例分割方面取得了巨大进展,比如 《Mask RCNN》.、《Mask scoring R-CNN》.、《Fully convolutional instance-aware semantic segmentation》.、《Path aggregation network for instance segmentation》.。迄今为止,实例分割主流方法是由Mask R-CNN率先采用的two-stage方法,几乎所有具有挑战性的COCO benchmark上排名最高的方法都是基于Mask R-CNN。 相比之下,one-stage方法无法与Mask R-CNN竞争,这主要是由于紧凑地Mask 表示的难度,使得one-stage方法的设计非常具有挑战性。但是two-stage的解决方案效率不高,因为它们在运行时受到图像中发中实例数量的限制。而one-stage的模型直接处理整个图像,无论存在多少对象,速度都稳定。
一些工作尝试把Mask prediction合并到FCNs中,从而形成一阶段实例分割框架,这些算法的共同点是使用一组轮廓系数来对 object shape 进行编码。比如ESE-Seg 为每个实例设计了一个““inner-center radius”形状特征,并用切比雪夫多项式进行拟合。 PolarMask使用质心与轮廓之间的密集距离进行回归。 这些基于轮廓的方法具有易于优化和快速推断的优点。这些方法的主要问题是,预测的Mask可能不可避免地表现出“hollow decay”,因为它们只能描绘具有单个轮廓的实例,如下图所示。”
总结来说,就是没有很好的把物体内轮廓分割出来,上图中Contour-Based的方法中矩形框也就是背景也和前景分割到一起了,相比之下Mask-Based的方法要好一些。
对于mask prediction来说,non-parametric mask representation是更加自然。由于natural object masks 不是随机的并且类似于 natural images,因此instance mask的固有尺寸远低于像素空间的固有尺寸。所以作者想是否可以在固定的低维空间去预测 object mask ,并且仍然能实现好的accuracy?因此作者提出了mask encoding based instance segmentation (MEInst),即通过一个learned dictionary 来对instance mask进行编码,以便只需要几个scalar coefficients 便可以表示每个mask。这个学习框架可以通过在one-stage检测器增加一个可以预测fixed-dimensional mask coefficients的分支来进行扩展,作者使用的是FCOS检测器,因为它比较简单,检测性能比较好。
模型主要是在 FCOS上进行扩展 Mask Regression Branch,模型主要包括四个模块:
目标检测和预测Mask向量是同时进行的
现有的Mask表示包含冗余信息,并且可以高度压缩而损失可忽略不计。
最后,作者通过在训练集上最小化 u u u和 u ~ \tilde{u} u~之间的 reconstruction error来得到矩阵 T T T和 R R R,数学表达式如下:
作者遵循DUpsampling中的策略,并通过使用主成分分析(PCA)来优化此目标。
实验中, £ d e t \pounds_{det} £det中的所有balance weights 都为1, λ d d e t = λ m a s k = 1 \lambda _{ddet}=\lambda _{mask}=1 λddet=λmask=1。
通常,实例分割和目标检测是密不可分的,作者认为更好的bounding box可改善Mask分支的整体性能,下面就是做的实验来证明这个想法。
以 A P b b AP^{bb} APbb为度量标准,与Mask-RCNN相比,FCOS实现更好的目标检测性能。但是对应的分割结果没有得到很大的提升(表中第一列 A P AP AP)。此外,我们还观察到,除 A P 50 b b AP_{50}^{bb} AP50bb以外,FCOS在所有常规指标下的效果都更好,这表明FCOS预测的框是准确的位置,但假阳性(FP)较多。
图(a)展示了box和mask的correlation,可以看到FCOS整体的检测结果要比Mask-RCNN好,但是实例分割结果与Mask-RCNN相同或者甚至更差。
图(b)使用不同模型预测的bounding boxes的平均数量,可以看到FCOS预测的数量明显要比Mask-RCNN的多,这是因为Mask-RCNN是two-stage方法,即 first proposes candidates and then refines the boxes,先提取候选框,然后再精炼bound ing boxes,这样可以有效过滤掉不需要的框框;而FCOS是one-stage方法,它会直接生成结果,导致很多 redundant boxes,大多数的one-stage方法都会存在这种问题。作者提出 larger receptive field可以缓解这个问题,理论感受野要比实际感受野小,因为CNN趋向于捕获中心区域的信息,ERF不足可能导致许多假阳性(FP)框,因为网络无法“看到”物体,所以作者在 multi-head branches 的 last vanilla convolutional layer 分别使用了deformable convolution 来增大感受野,具体的效果可以看实验部分。
Dataset:
Training Details :
Inference Details:inference process和FCOS一样,为了避免不必要的计算,在进行NMS(the highest scoring 100 samples)之后执行mask reconstruction
Analysis of Upper Bound
reconstruction error 随着the number of components(N)的增大而而持续减小,甚至在N=100时降低到2.5%。
Dimension of Encoding Representation
随着N的增大,性能会变好,当N=60达到饱和,实验中N设置为60。
Learning without Explicit Encoding
Learning with mask encoding实现更好的性能。
Loss Function:
l 2 l_{2} l2 loss的效果比较好,实验中采用的是 l 2 l_{2} l2 loss
Large Receptive Field
DC(deformableconvolution )的效果比LK( large kernel)好,大的感受野会提升性能。
结果比大多数one-stage方法好,但是没有TensorMask好,原因有两个:(1) Tensormask使用很长的训练时间(2)使用bipyramid和 aligned representation
这些在本实验中都没有使用。
MEInst能更好地处理“ disjointed ”物体。
MEInst检测小物体的效果要比MaskR-CNN好,但是大物体来说效果相对较差,作者分析主要原因如下:
(1)对于小物体来说,single feature vector 在本文工作中是没有问题的,但是 Mask R-CNN要求 mask prediction head 去label每个像素,当物体非常大时就比较困难。
(2)对于大物体来说,compact representation vector表示难以表示mask的所有细节,这种情况下非参数像素标记表现得就比较好。