CVPR‘2023 | MP-Former: 精度高&收敛快-Mask2Former全能图像分割的进阶之路

简介: CVPR‘2023 | MP-Former: 精度高&收敛快-Mask2Former全能图像分割的进阶之路

a9b59024536db9dc3b7643c4792316c2.png

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 classificationper-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 attentionmulti-scale极大提升了模型分割精度,同时使用一种类似于PointRend中的点监督方法显著降低了显存开销,因此MaskFormer即节省了训练时间和显存计算开销,还能提升模型精度,立马成为图像分割的新SOTA!

图3. Mask2Former层预测结果

Mask2Former主要通过Transformer解码层来对mask进行细化和优化。通过将上一层的预测结果作为下一层的注意力掩码,以此获得更加精细化的预测结果。一般来说,预测的mask会通过二分图匹配被分配到GT masks中,并在一个由粗到细的过程中进行进一步的优化。因此,保持不同层之间的一致性是提高预测结果一致性的关键。然而,当作者逐层可视化Mask2Former的预测结果时,发现了同一查询之间的预测结果在相邻的解码器层之间存在严重的不一致性问题。

技术总是在不断更新迭代,如果我们不时刻保持学习,总是会处于淘汰边缘的。本文作者发现Mask2Former网络也同样有缺点:作者观察到Mask2Former网络在连续的解码器层之间存在不一致的掩码预测(如上图3所示),从而导致了不一致的优化目标和解码器查询的利用率低下。为了解决这一问题,MP-Former改进了Mask2Former模型中的masked attention,提出了一种掩码驱动的训练方法,有效缓解了Mask2Former中不准确掩码预测产生的负面影响。

本文主要贡献如下:

  1. 提出了一种基于掩码驱动的训练方法来改善Mask2Former在不同层之间预测mask不一致和不准确的问题。并开发了一系列Trick来进一步提高分割性能:包括多层掩码驱动训练、点噪声和标签引导训练。所提出的方法不仅计算效率高,且在模型推理时不需要额外计算,在训练过程中计算量也非常之小。
  2. 作者分析了Mask2Former的预测结果,并发现了一个很大的漏洞缺陷:Mask2Former在连续的层之间预测结果不一致。作者提出了两个新的评估指标来衡量这种缺陷,分别是按层的查询利用率和平均IoU。作者还展示了所提出的方法大幅提高了这两个指标数值,并验证了其可以大幅提到预测一致性问题
  3. 当在ADE20k、Cityscapes和MS COCO这三个数据集上进行实验评估时,MP-Former方法的表现明显优于Mask2Former方法。除了表现提升之外,该方法还加快了训练速度。在ADE20k数据集上,该模型仅使用一半的训练步骤就超过了Mask2Former的表现。此外在MS COCO上的实例分割和全景分割任务中,该模型经过36个epoch的训练结果就与Mask2Former经过50个epoch训练的效果相当。

方法

由于上图3所示,Mask2Former模型在同一查询之间的预测结果在相邻解码器层之间存在严重的不一致性问题。所以为了量化这种不一致性,作者定义了一种名为层间平均交集联合mIoU-Li的指标,指标计算公式如下:

640.png

其中,,这里的表示解码器层数量。

为了评估不一致的匹配问题,作者还定义了另一个称为图层查询利用率的度量Util,计算公式如下:

640.png

640.png

Table1

Table1展示了Mask2Former和作者所提出的方法在指标mIoU-Li的表现结果,可以发现在两个指标上,MP-Former完胜。

640.png

图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上的图像分割实验结果

640.png

在COCO val2017上的实例分割结果

在模型推理时间中没有额外增加的情况下,MP-Former的表现依旧优于强基准线Mask2Former。为了进行公平比较,仅考虑单尺度推理和仅使用COCO train2017数据集进行训练的模型。

640.png

在COCO panoptic val2017上的全景分割实验结果

640.png

在ADE20K和COCO val2017上的图像分割结果

MP-Former相比Mask2Former大大加快了训练速度,在ADE20K和COCO数据集上,经过较少的训练次数,就能达到与Mask2Former相当的性能水平。在ADE20k上,使用步数而不是epoch来评估模型的性能。

网络中的各个组件对模型性能的影响多层掩码驱动的有效性,以及平移和缩放噪声的无效性网络的一些超参数实验结果

结论

作者通过在研究Mask2Former的bad case时发现了一个问题,即相邻层之间的预测结果不一致,这可能导致目标优化不一致和查询利用率低下,从而影响Mask2Former的性能。为了解决这个问题,本文提出了一个新的网络MP-Former,主要由多层掩模驱动训练、点噪声和标签引导训练等关键部分组成。实验结果表明,作者提出的训练方法有效地缓解了邻层预测不一致性问题。并且在ADE20K Citescapes和MS COCO等三个具有挑战性的数据集上进行实验评估时,三大图像分割任务(语义、实例和全景)都取得了大幅改善。值得关注的是,所提出的方法只在训练期间引入少量计算量,而在推理时无额外的计算量,同时还可以显著加速模型收敛速度

写在最后

如果您也对人工智能和计算机视觉全栈领域感兴趣,强烈推荐您关注有料、有趣、有爱的公众号『CVHub』,每日为大家带来精品原创、多领域、有深度的前沿科技论文解读及工业成熟解决方案!欢迎扫码与我交流,一起探讨更多有趣的话题!

目录
相关文章
|
存储 数据库
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
|
7月前
|
计算机视觉
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题
517 8
YOLOv11改进策略【Neck】| 替换RT-DETR中的CCFF跨尺度特征融合颈部结构,优化计算瓶颈与冗余问题
|
7月前
YOLOv11改进策略【Head/分割头】| 结合CVPR-2024 中的DynamicConv 动态卷积 改进分割头, 优化模型(独家改进)
YOLOv11改进策略【Head/分割头】| 结合CVPR-2024 中的DynamicConv 动态卷积 改进分割头, 优化模型(独家改进)
502 8
|
机器学习/深度学习 人工智能 监控
论文介绍:Masked-attention Mask Transformer (Mask2Former)——通用图像分割的新架构
【5月更文挑战第24天】Mask2Former,一种新型的图像分割架构,采用遮蔽注意力机制聚焦局部特征,提升模型收敛速度和性能,在COCO、Cityscapes等数据集上刷新记录。其元架构结合背景特征提取器、像素解码器和Transformer解码器,实现高效训练和性能提升。尽管在处理小对象和泛化能力上仍有局限,但Mask2Former为通用图像分割开辟了新路径。[链接](https://arxiv.org/abs/2112.01527)
835 5
|
11月前
|
机器学习/深度学习 并行计算 PyTorch
深度学习环境搭建笔记(一):detectron2安装过程
这篇博客文章详细介绍了在Windows环境下,使用CUDA 10.2配置深度学习环境,并安装detectron2库的步骤,包括安装Python、pycocotools、Torch和Torchvision、fvcore,以及对Detectron2和PyTorch代码的修改。
2192 1
深度学习环境搭建笔记(一):detectron2安装过程
|
机器学习/深度学习 编解码 测试技术
【YOLOv8改进-SPPF】 Focal Modulation :使用焦点调制模块替代SPPF
YOLOv8专栏介绍了FocalNets,一种取代自注意力的新型模块,提升模型在图像分类、检测和分割任务中的性能。Focal Modulation包括局部聚焦、全局调制和多尺度处理,通过融合CNN和自注意力优点。代码展示了FocalModulation模块的实现。论文和代码已开源。在多个基准测试中,FocalNets超越了Swin等先进模型。
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HWD: Haar小波降采样,用于语义分割的降采样模块,减少特征图的空间分辨率
YOLOv8专栏探讨了卷积网络的改进,特别是提出了一种名为HWD的基于Haar小波的下采样模块,用于语义分割,旨在保留更多空间信息。HWD结合了无损编码和特征表示学习,提高了模型性能并减少了信息不确定性。新度量标准FEI量化了下采样的信息保留能力。论文和代码可在提供的链接中找到。核心代码展示了如何在PyTorch中实现HWD模块。
|
传感器 机器学习/深度学习 人工智能
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于单目、双目和伪激光雷达数据的相关算法,下面展开讨论下~
超全汇总 | 基于Camera的3D目标检测算法综述!(单目/双目/伪激光雷达)
|
机器学习/深度学习 算法 计算机视觉
YOLOv8 | 卷积模块 | 提高网络的灵活性和表征能力的动态卷积【附代码+小白可上手】
本教程介绍了如何在YOLOv8中使用动态卷积提升网络性能和灵活性。动态卷积利用注意力机制动态选择和组合卷积核,适应输入数据特征,解决了轻量级CNN的局限。文中提供了详细步骤教读者如何添加和修改代码,包括在`conv.py`中添加`Dynamic_conv2d`模块,更新`init.py`、`task.py`和`yaml`配置文件。此外,还分享了完整代码和进阶技巧,帮助深度学习初学者实践目标检测。参考[YOLOv8改进](https://blog.csdn.net/m0_67647321/category_12548649.html)专栏获取更多详情。
|
编解码 计算机视觉 网络架构
【YOLOv8改进】BiFPN:加权双向特征金字塔网络 (论文笔记+引入代码)
该专栏深入研究了YOLO目标检测的神经网络架构优化,提出了加权双向特征金字塔网络(BiFPN)和复合缩放方法,以提升模型效率。BiFPN通过双向跨尺度连接和加权融合增强信息传递,同时具有自适应的网络拓扑结构。结合EfficientNet,构建了EfficientDet系列检测器,在效率和准确性上超越先前技术。此外,介绍了YOLOv8如何引入MPDIoU并应用BiFPN进行可学习权重的特征融合。更多详情可参考提供的专栏链接。