用于 Few Shot 分割的自引导和交叉引导学习(CVPR2021)
论文地址
摘要
Few Shot Segmentation由于能够有效地分割少量带注释样本的未见对象类而备受关注。现有的方法大多使用掩码全局平均池化(GAP)将带注释的支持图像编码为特征向量,以方便查询图像分割。然而,由于平均操作,这一操作不可避免地丢失了一些判别信息。在本文中,我们提出了一种简单但有效的自我引导学习方法,其中丢失的关键信息被挖掘。具体来说,通过对标注的支持图像进行初始预测,将覆盖和未覆盖的前景区域分别用masked GAP转换成主支持向量和辅助支持向量。通过主支持向量和辅助支持向量的融合,可以获得较好的图像分割效果。受我们用于一次分割的自引导模块的启发,我们提出了一个用于多次分割的交叉引导模块,最终掩码来自于多个注释样本,高质量的支持向量贡献更多,反之亦然。该模块在无需再训练的情况下改进了推理阶段的最终预测。
目前存在的问题
为了利用支持图像的信息,目前的方法主要使用masked GAP或其他方法来提取前景或背景作为一个特征向量,将这个特征向量作为一个原型(prototype)来对查询图像计算余弦距离或做密集比较(dense comparison)。
使用从支持图像中提取的支持特征向量确实有助于查询图像分割,但它没有携带足够的信息。下图显示了一个极端的例子,其中支持图像和查询图像完全相同。然而,即使是现有的最佳性能方法也不能准确分割查询图像。我们认为,当我们使用masked GAP或其他方法将支持图像编码为特征向量时,由于平均运算,不可避免地会丢失一些有用的信息。用这样的特征向量来指导分割,对于需要丢失信息作为支持的像素点,无法做出精确的预测。此外,对于multiple shot的情况,如5-shot分割,通常的做法是将5个独立支持图像的预测平均值作为最终的预测,或者将5个支持向量的平均值作为最终的支持向量。然而,不同的支持图像的质量是不同的,使用一个平均操作强制所有支持图像共享相同的贡献显然不算合理。
方法
步骤:
1)将支持图像和查询图像都输入到同一个编码器中,生成它们对应的特征映射。然后,利用masked GAP从支持图像的所有前景像素中生成一个初始支持向量。
2)在支持图像mask的监督下,使用初始支持向量vsv_svs?和支持特征映射FsF_sFs?作为输入,SGM生成主支持向量和辅助支持向量。
3)在此步骤中,将主支持向量和辅助支持向量与查询特征映射进行连接,指导查询图像的分割。通过一个查询特征处理模块(FPM—详情可参照CANet)和一个解码器,生成查询图像的分割掩码。注意,所有的编码器和解码器都是共享的。
支持集上的自我引导学习(SGM)
这个模块的核心作用就是生成主支持向量和辅助支持向量,主支持向量保留了主要的支持信息,因为它专注于聚合正确预测的信息,而辅助支持向量重点收集丢失的不能使用vsv_svs?预测的关键信息(也就是在生成vsv_svs?时使用masked GAP时丢失的那部分信息)。下面的图展现了更多的例子。
交叉引导的Multiple Shot学习(CGM)
在KKK个支持图像中,每个标注的支持图像都可以单独指导查询图像分割。基于这一原理,我们设计了CGM,使用来自多个标注样本的高质量支持图像的预测融合最终的掩模,反之亦然。
假定一组支持集(KKK张图)S={(Is1,Ms1),(Is2,Ms2),...,(IsK,MsK)}S=\left\{ \left( I_{s}^{1},M_{s}^{1} \right) ,\left( I_{s}^{2},M_{s}^{2} \right) ,...,\left( I_{s}^{K},M_{s}^{K} \right) \right\}S={
(Is1?,Ms1?),(Is2?,Ms2?),...,(IsK?,MsK?)},对第kkk个支持图像IskI_s^kIsk?,我们将其作为支持图像,并且所有KKK张支持图像作为查询图像输出到1-shot segmentation模型G\mathcal{G}G中,第iii张支持图像IsiI_s^iIsi?(输入G\mathcal{G}G的时候是作为查询图像)的预测掩码为:
然后得到一个置信度:
然后,给定查询图像IqI_qIq?的最终预测为:
UskU_s^kUsk?越大的支持图像对最终预测的贡献越大,生成的支持向量更有可能提供足够的信息来分割查询图像,反之亦然。
使用CGM不需要重新训练一个新的模型,我们可以直接使用one shot的分割模型进行预测。因此,CGM可以在无需再训练的情况下提高推理性能
实验结果
总结
提出了一种自引导学习的少镜头分割方法。使用提出的自引导模块提取全面的支持信息。此外,为了改善多支持图像平均融合的缺点,提出了一种新的交叉引导模块,使高质量的支持图像在最终预测中发挥更大的作用,反之亦然。大量的实验证明了提出的模块的有效性。在未来,将尝试使用背景信息作为额外的支持来改进我们的方法。