Self-Guided and Cross-Guided Learning for Few-Shot Segmentation
论文
代码
摘要
小样本分割由于能够有效地用少量的带注释的样本分割不可见对象类而受到广泛关注。现有的方法大多使用掩码全局平均池(GAP)将带注释的支持图像编码为特征向量,以方便查询图像分割。然而,由于平均操作,该操作不可避免地丢失了一些有区别的信息。在本文中,我们提出了一种简单而有效的自我引导学习方法,即挖掘丢失的关键信息。具体来说,通过对标注的支持图像进行初始预测,将覆盖和未覆盖的前景区域分别用掩码GAP编码为主支持向量和辅助支持向量。通过主支持向量和辅助支持向量的融合,对查询图像获得了较好的分割性能。在我们的1 shot 分割自我引导模块的启发下,我们提出了一个多次分割的交叉引导模块,其中最终混合使用来自多个带注释的样本的预测,高质量的支持向量贡献更多,反之亦然。该模块改进了推理阶段的最终预测,无需再训练。大量实验表明,我们的方法在pascal -5i和coco -20i数据集上都实现了新的最先进的性能。
1 Introduction
随着深度神经网络特别是全卷积网络(FCN)[18]的发展,语义分割取得了很大的进展。依靠足够和准确的像素级标注数据,先进的语义分割方法可以产生令人满意的分割结果。然而,这些方法很大程度上依赖于大量标注数据。在未知类或者没有足够标注数据的情况下,这些方法性能就急剧下降。
小样本分割[8,14,20,24]是一种很有前途的解决这一问题的方法。相对于完全监督语义分割[3,5,11,13]可以单独分割训练集中相同的类,小样本分割的目的是利用一个或几个标注的样本对新的类进行分割。具体来说,将小样本分割中的数据分为两组:支持集和查询集。该任务需要支持集中一个或多个注释图像分割查询集图像,。因此,该任务的关键挑战是如何利用来自支持集的信息。大多数方法[6,17,30,35,32,26]采用暹罗卷积神经网络(SCNN)对支持和查询图像进行编码。为了利用来自支持图像的信息,他们主要使用掩码全局平均池(GAP)[38]或其他增强的方法[19]提取前景[30、35、16]或背景[30]作为一个特征向量,这是作为一个原型来和查询图像计算余弦距离[36]或[35]做密集比较。
使用从支持图像中提取的支持特征向量有利于查询图像分割,但它不能携带足够的信息。图1显示了一个极端的例子,其中支持图像和查询图像完全相同。然而,即使现在性能最好的方法也无法精确的分割查询图像。我们认为,当使用掩模GAP或其他方法[19]将支持图像编码为特征向量时,由于平均操作,不可避免地会丢失一些有用的信息。使用这样的特征向量来指导分割不能对需要丢失信息作为支持的像素进行精确的预测。此外,对于5-shot分割等多样本情况,通常的做法是使用5张独立支持图像的预测的平均值作为最终预测[36],或者使用5个支持向量的平均值作为最终支持向量[30]。然而,不同支持图像的质量是不同的,使用平均操作迫使所有支持图像共享相同的贡献。
在本文中,我们提出了一种简单而有效的自我引导和交叉引导学习方法(SCL),以克服上述缺点。具体来说,我们设计了一个自引导模块(Self-Guided Module, SGM)从支持集中提取综合的支持信息。通过使用初始原型对标注的支持图像进行初始预测,将覆盖和未覆盖的前景区域分别编码到主支持向量和辅助支持向量中。通过聚合主支持向量和辅助支持向量,对查询图像获得了较好的分割性能。
在我们提出的SGM的启发下,我们提出了一种用于multiple shot分割的交叉引导模块(CrossGuided Module, CGM),我们可以使用其他标注的支持图像来评估每个支持图像的预测质量,从而使高质量的支持图像对最终融合的贡献更大,反之亦然。与注意力机制等其他复杂方法相比[35,34],我们的CGM不需要对模型进行再训练,在推理过程中直接应用CGM可以提高最终的性能。大量的实验表明,我们的方法在PASCAL-5i和coco -20数据集上取得了新的最先进的性能。
我们的贡献总结如下:
我们发现,使用平均操作来获取支持向量不可避免地会丢失一些有用的关键信息。为了解决这一问题,我们提出了一种自引导机制,通过增强这些容易丢失的支持信息来挖掘更全面的支持信息,从而对查询图像预测准确的分割掩码。
我们提出了一个交叉引导模块来融合来自不同支持图像的多个预测,用于multiple shot分割任务。不需要对模型进行再训练,就可以在推理过程中直接使用它来提高最终的性能。
我们的方法可以应用于不同的基线,以