Title: MP-Former: Mask-Piloted Transformer for Image Segmentation
PDF: https://arxiv.org/pdf/2303.07336v2.pdf
Code: https://github.com/IDEA-Research/MP-Former
导读
本文提出了一种基于掩码驱动(mask-piloted)的Transformer
模型MP-Former
用于图像分割任务,表现SOTA! 此前图像分割任务一直被Mask2Former
霸榜!Mask2Former
大法固然好,但也存在一定问题:在连续的解码器层之间存在不一致的掩码预测,导致了不一致的优化目标和解码器查询的利用率低下问题。 为了解决这一问题,作者改进了Mask2Former
模型中的masked attention
,并提出了一种掩码驱动的训练方法, 其核心思想便是在masked attention
中额外输入带噪声的真实掩码,并训练模型以重建原始掩码,这有效的缓解了Mask2Former
中不准确掩码预测的负面影响。作者的MP-Former
在所有三个图像分割任务(实例分割、全景分割和语义分割)上均实现了显著的性能提升,使用 ResNet-50 骨干网络时,Cityscapes 实例分割和语义分割任务的平均精度和平均IoU分别提高了 +2.3AP 和 +1.6mIoU 的提升。此外,该方法可极大加快模型收敛速度,在训练期间只引入少量计算量,并且在模型推理期间没有额外增加计算量。
引言
自全卷积神经网络FCNs
问世以来,语义分割semantic segmentation
一直以来都被当做一个像素级分类per-pixel classification
问题来解决;反观实例分割,一直以来都是被以Mask R-CNN
为代表的基于mask classification
的方法来解决。Mask classification
和per-pixel classification
最大的不同在于:mask classification
里面的每一个binary mask
都只需要一个global
的类别(而不是每个像素都需要类别)。
图1. MaskFormer网络架构
MaskFormer
网络(Nips2021)的出现验证了一点:Per-Pixel Classification is Not All You Need for Semantic Segmentation,而mask classification
才是语义分割中的王。它设计了一种简洁通用的mask classification
模型来同时解决了语义分割和实例分割问题,且在语义分割上的结果一众超越传统的以FCN
为代表的像素级分类模型。
图2. Mask2Former网络架构
但!!!MaskFormer
有两个问题没有解决:一个是300 epoch的训练效率,还有一个是大显存和大的计算开销。于是Mask2Former
网络(CVPR2022)出现了,它通过引入masked attention
,multi-scale
极大提升了模型分割精度,同时使用一种类似于PointRend
中的点监督方法显著降低了显存开销,因此MaskFormer
即节省了训练时间和显存计算开销,还能提升模型精度,立马成为图像分割的新SOTA!
图3. Mask2Former层预测结果
Mask2Former
主要通过Transformer
解码层来对mask
进行细化和优化。通过将上一层的预测结果作为下一层的注意力掩码,以此获得更加精细化的预测结果。一般来说,预测的mask
会通过二分图匹配被分配到GT masks
中,并在一个由粗到细的过程中进行进一步的优化。因此,保持不同层之间的一致性是提高预测结果一致性的关键。然而,当作者逐层可视化Mask2Former
的预测结果时,发现了同一查询之间的预测结果在相邻的解码器层之间存在严重的不一致性问题。
技术总是在不断更新迭代,如果我们不时刻保持学习,总是会处于淘汰边缘的。本文作者发现Mask2Former
网络也同样有缺点:作者观察到Mask2Former
网络在连续的解码器层之间存在不一致的掩码预测(如上图3所示),从而导致了不一致的优化目标和解码器查询的利用率低下。为了解决这一问题,MP-Former
改进了Mask2Former
模型中的masked attention
,提出了一种掩码驱动的训练方法,有效缓解了Mask2Former
中不准确掩码预测产生的负面影响。
本文主要贡献如下:
- 提出了一种基于掩码驱动的训练方法来改善
Mask2Former
在不同层之间预测mask不一致和不准确的问题。并开发了一系列Trick来进一步提高分割性能:包括多层掩码驱动训练、点噪声和标签引导训练。所提出的方法不仅计算效率高,且在模型推理时不需要额外计算,在训练过程中计算量也非常之小。 - 作者分析了
Mask2Former
的预测结果,并发现了一个很大的漏洞缺陷:Mask2Former
在连续的层之间预测结果不一致。作者提出了两个新的评估指标来衡量这种缺陷,分别是按层的查询利用率和平均IoU。作者还展示了所提出的方法大幅提高了这两个指标数值,并验证了其可以大幅提到预测一致性问题。 - 当在ADE20k、Cityscapes和MS COCO这三个数据集上进行实验评估时,
MP-Former
方法的表现明显优于Mask2Former
方法。除了表现提升之外,该方法还加快了训练速度。在ADE20k数据集上,该模型仅使用一半的训练步骤就超过了Mask2Former
的表现。此外在MS COCO上的实例分割和全景分割任务中,该模型经过36个epoch的训练结果就与Mask2Former经过50个epoch训练的效果相当。
方法
由于上图3所示,Mask2Former
模型在同一查询之间的预测结果在相邻解码器层之间存在严重的不一致性问题。所以为了量化这种不一致性,作者定义了一种名为层间平均交集联合mIoU-Li
的指标,指标计算公式如下:
其中,,这里的表示解码器层数量。
为了评估不一致的匹配问题,作者还定义了另一个称为图层查询利用率的度量Util
,计算公式如下:
Table1
Table1展示了Mask2Former
和作者所提出的方法在指标mIoU-Li
的表现结果,可以发现在两个指标上,MP-Former
完胜。
图4. MP-Former网络架构图
MP-Former
网络结构由骨干网络(backbone)、像素解码器(pixel decoder)和Transformer解码器组成。与Mask2Former
不同的是,这种方法在Transformer
解码器中额外提供了查询和注意力掩码,即所谓的MP
部分(红色线条部分)。MP
部分包含真实标注掩码(GT masks)作为注意力掩码,以及真实标注类别嵌入(GT class embeddings)作为查询。在所有解码器层中,将GT
掩码馈入MP
部分。此外,作者还GT
掩码中添加了点噪声(point noises),并在类别嵌入中添加了翻转噪声(flipping noises),以进一步提高性能。需要注意的是:这种网络结构仅用于训练,在推理时,红线部分是不存在的,因此其模型推理的pipeline与Mask2Former
完全相同。
其中(a)中红色区域部分表示第一个解码层中给定的GT mask
,(b)展示了第一个解码层预测出来的mask(仅仅只覆盖了头部),这个预测出来的mask会直接作用于第二层的解码器层,而第二层的解码器层预测出来的mask会作用于第三层的解码器层(由粗到细的过程)。(c)(d)(e)展示了基于GT mask
的点噪声,平移噪声和缩放噪声(实验表明点噪声是有效的,而平移和缩放噪声是无效的trick),蓝色区域是带噪声的mask,而红色区域表示真实标注的mask。
实验结果
在ADE20K数据集上的图像分割实验结果
使用R50
(ResNet50)和Swin-L
作为backbone,其中backbone是基于IMageNet-22K的pre-train模型,MP-Former
也依然完胜其它方法。
在Cityscapes上的图像分割实验结果
在COCO val2017上的实例分割结果
在模型推理时间中没有额外增加的情况下,MP-Former
的表现依旧优于强基准线Mask2Former
。为了进行公平比较,仅考虑单尺度推理和仅使用COCO train2017数据集进行训练的模型。
在COCO panoptic val2017上的全景分割实验结果
在ADE20K和COCO val2017上的图像分割结果
MP-Former
相比Mask2Former
大大加快了训练速度,在ADE20K和COCO数据集上,经过较少的训练次数,就能达到与Mask2Former
相当的性能水平。在ADE20k上,使用步数而不是epoch来评估模型的性能。
网络中的各个组件对模型性能的影响多层掩码驱动的有效性,以及平移和缩放噪声的无效性网络的一些超参数实验结果
结论
作者通过在研究Mask2Former
的bad case时发现了一个问题,即相邻层之间的预测结果不一致,这可能导致目标优化不一致和查询利用率低下,从而影响Mask2Former
的性能。为了解决这个问题,本文提出了一个新的网络MP-Former
,主要由多层掩模驱动训练、点噪声和标签引导训练等关键部分组成。实验结果表明,作者提出的训练方法有效地缓解了邻层预测不一致性问题。并且在ADE20K Citescapes和MS COCO等三个具有挑战性的数据集上进行实验评估时,三大图像分割任务(语义、实例和全景)都取得了大幅改善。值得关注的是,所提出的方法只在训练期间引入少量计算量,而在推理时无额外的计算量,同时还可以显著加速模型收敛速度。
写在最后
如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!