目录
一、通用图像分割
从大约 2020 年开始,人们开始研究能同时解决三个任务 (实例、语义和全景分割) 的统一模型。DETR 是开山之作,它通过“二元掩膜分类”的范式去解决全景分割问题。核心点是使用一个 Transformer 的解码器 (decoder) 来并行地生成一系列的二元掩膜和类别。
随后 MaskFormer 又在此基础上进行了改进,表明了“二元掩膜分类”的范式也可以用在语义分割上。Mask2Former 又将此方法扩展到了实例分割上,进一步改进了神经网络的结构。
通用模型全都采取了“掩码分类”的范式,彻底抛弃了“像素级分类”这一方法。因此,各自分离的子任务框架现在已经进化到了“通用图像分割”的框架,可以解决任何图像分割任务
二、失败案例
当我们逐层可视化Mask2Former的预测时,我们发现同一查询在连续的解码器层之间存在严重的不一致问题,这里显示4对失败案例。
我们将Mask2Former中的掩码预测视为通过Transformer解码器层的掩码细化过程。通过将一层的预测作为下一层的注意力掩码,我们期望从下一层获得精细化的预测。通常,预测的掩码通过二分匹配与GT掩码相对应,并在一个从粗到细的过程中进行细化。因此,在不同层之间保持一致的细化是保持一致性的关键。然而,为了展示不同层之间的不一致预测,我们构建了两个评估指标mIoU-Li和Utili来量化这个问题。
1.评估指标
•分层查询利用率
•分层平均交并比
查询利用率是指在第i层和最后一层中使用相同查询的情况下,与GT掩码匹配的数量占所有GT掩码数量的比例。举一个例子,如果在第i层和最后一层中使用相同查询时,有100个GT掩码与之匹配,而总共有1000个GT掩码,则第i层的查询利用率为0.1(即10%)。这个指标可以用来评估模型在不同层次上对于输入图像的理解程度,并帮助优化模型性能
mIoU-Li的指标,用于衡量相邻解码器层之间的掩码预测结果不一致性。具体来说,mIoU-Li是指第i个解码器层中N个查询的预测掩码与前一个解码器层中相应查询的预测掩码之间的平均交并值。
2. 案例分析
如表所示,Mask2Former前几层的查询利用率过低,这意味着许多在早期层次中匹配的查询最终在最后一层中没有被使用。低的mIoU-Li和Utili可能导致优化目标不一致和训练效率低下。基于这两个指标的观察,我们得出了以下结论,即需要开发一种更有效使层间匹配更一致的训练方法。
我们提出了一种基于掩码引导的训练方法。我们将GT掩码作为注意力掩码输入,并期望具有GT掩码的这些查询能够聚焦于其相应的GT掩码,并不被其他实例分散注意力。如表1中第2行和第3行所示,当采用掩码引导训练时,mIoU-Li和Utili都有了很大的提高。
仅在第一层应用掩码引导训练是不够的。我们在所有解码器层中都添加了一个GT掩码以加强掩码引导训练。多层掩码引导训练进一步改善了mIoU-Li和Utili,特别是在后面的解码器层中。
三、MP-Former
多层MP训练为了解决不一致的预测问题,我们提出了一种多层掩码引导(MP)训练方法。在MP部分,我们将额外的一组查询和掩码输入到Transformer中,其中查询是GT类别嵌入,掩码是GT掩码。在损失方面,我们独立地将MP部分和匹配部分的输出与GT实例进行匹配。MP部分的预测结果直接分配给相应的GT掩码,匹配部分的预测结果通过二分图匹配进行分配。两部分的损失相同,遵循Mask2Former的损失设计。在多个解码器层中添加GT掩码,可以进一步提高性能。在不同的解码器层中使用不同分辨率的特征图,当应用于不同的层时,对GT掩码进行插值,使其适应不同的分辨率。
使用带噪声的GT掩码来使每个解码器的掩码细化更加稳健。其直观思想很简单,即由于Mask2Former从先前解码器的不准确掩码中细化掩码,没有噪声的GT掩码可能对任务过于简单,从而阻止了进一步的细化。因此,我们将带噪声的掩码输入到解码器中,并训练模型重构原始掩码,类似于DN-DETR中的框去噪训练。我们尝试了三种类型的噪声,包括点噪声、位移噪声和尺度噪声
标签引导训练在MP部分,我们使用GT类别的类别嵌入作为查询。之所以使用类别嵌入,是因为查询将与图像特征进行点积运算,直观区分实例的方法是使用它们的类别。
四、实验过程
1、模型细节
基于Mask2Former的改进训练方法,我们除了mask-piloted(MP)部分之外,采用与Mask2Former完全相同的模型设置。
在MP部分,我们采用带有点噪声的100个GT masks。
ADE20K和Cityscapes:使用ResNet50 和Swin-L
COCO2017:使用ResNet50和ResNet101作为主干网络。
2、实验结果
在三数据集上评估MP-Former:Cityscapes 、ADE20K 以及COCO 2017(用于全景分割和实例分割)。
对于实例分割,我们评估"thing"类别的掩模AP 。
对于语义分割,我们评估所有类别(包括前景和背景)的平均交并比(mIOU)。
对于全景分割,我们使用全景质量(PQ)指标[18]进行评估。
在ADE20K上,我们根据Mask2Former的设置进行了160K步的训练。我们的方法在R50和Swin-L的情况下,在所有指标上均优于Mask2Former和其他基准模型。值得注意的是,MP-Former在使用R50主干网络的实例分割上获得了+1.6AP的提升,在使用Swin-L主干网络的全景分割上获得了+1.3PQ的提升。
在Cityscapes上,我们根据Mask2Former的设置进行了90K步的训练。我们的方法在不同的主干网络上,在所有三个分割任务上持续优于Mask2Former。当采用Swin-L作为主干网络时,MP-Former也能很好地扩展。特别地,我们的方法在使用R50进行实例分割时,比Mask2Former提升了+2.3AP,在语义分割上提升了+1.6mIoU。
在COCO val2017上,我们按照Mask2Former的设置进行了50个epoch的训练。MP-Former在实例分割和全景分割上优于Mask2Former和诸如Mask R-CNN这样的传统方法。在实例分割上,我们的方法在R50上实现了+1.1AP,在R101上实现了+0.9AP,在Swin-L [24]上实现了+0.7AP。需要注意的是,我们只使用Swin-L训练了72个epoch的MP-Former。
五、结论
本文提出一种掩模引导的Transformer方法,改进了Mask2Former中连续的解码器层之间存在不一致的掩码预测,进而改进了图像分割的掩模注意力。解决了Mask2Former优化目标不一致和解码器查询的低利用率的问题。该方法在掩模关注中额外输入带噪声的真实掩模,并训练模型重建原始掩模。与mask-attention中使用的预测mask相比,ground-truth mask作为先导,有效缓解了Mask2Former中mask预测不准确带来的负面影响。
基于这种技术,我们的MP-Former在所有三个图像分割任务(实例、全景和语义)上实现了显着的性能改进,在cityscape实例和具有ResNet-50主干的语义分割任务上分别产生了+2.3AP和+1.6mIoU。我们的方法还显著加快了训练速度,在ResNet-50和swing - l主干的ADE20K上,以一半的训练epoch数优于Mask2Former。
此外,该方法在训练过程中只引入了很少的计算,在推理过程中没有额外的计算。代码在https://github.com/IDEAResearch/MP-Former上发布。