Masked-attention Mask Transformer for Universal Image Segmentation(CVPR2022)

相关知识点:

  1. Self-attention(自注意力): 在 self-attention 中,模型通过考虑序列中不同位置之间的关系来为每个位置生成加权表示。具体而言,对于序列中的每个位置,模型会计算该位置与序列中其他位置的关联程度,并根据这些关联程度对每个位置的特征进行加权求和,从而得到每个位置的新表示。自注意力允许模型在不同位置之间进行信息交互,有助于捕捉序列中的长距离依赖关系。

  2. Cross-attention(跨注意力): 在 cross-attention 中,模型在两个不同的输入序列之间进行注意力计算。一般来说,其中一个序列被视为“查询”序列,而另一个序列被视为“键值”序列。模型通过将查询序列中的每个位置与键值序列中的所有位置进行注意力计算,从而为查询序列中的每个位置生成加权表示。跨注意力通常用于处理序列对之间的关系,如机器翻译中的源语言和目标语言之间的关系。

摘要 

图像分割对具有不同语义的像素进行分组,例如,类别或实例隶属关系。每种语义选择都定义了一个任务。虽然每个任务只是语义不同,但目前的研究重点是为每个任务设计专门的体系结构。我们提出了maskedatattention Mask Transformer (Mask2Former),这是一种能够处理任何图像分割任务(全景、实例或语义)的新架构。它的关键组成部分包括屏蔽注意,它通过在预测的屏蔽区域内约束交叉注意来提取局部特征。除了将研究工作量减少至少三倍之外,它在四个流行数据集上的性能明显优于最佳的专业架构。最值得注意的是,Mask2Former为全景分割(COCO上57.8 PQ),实例分割(COCO上50.1 AP)和语义分割(ADE20K上57.7 mIoU)设置了新的技术。

1. Introduction

图像分割研究的是像素分组问题。不同的语义分组像素,例如,类别或实例成员,导致不同类型的分割任务,如全景,实例或语义分割。虽然这些任务仅在语义上有所不同,但当前的方法为每个任务开发了专门的体系结构。基于全卷积网络(Fully Convolutional Networks, FCNs)的逐像素分类架构[37]被用于语义分割,而掩码分类架构[5,24]预测一组与单个类别相关的二进制掩码,主导着实例级分割。尽管这种专门的架构[6,10,24,37]已经推进了每个单独的任务,但它们缺乏推广到其他任务的灵活性。例如,基于fcn的体系结构在实例分割方面存在困难,这导致了实例分割与语义分割的不同体系结构的演变。因此,重复的研究和(硬件)优化工作都花在针对每个任务的每一个专门架构上面。

图1:最先进的分割架构通常专门用于每个图像分割任务。虽然最近的工作提出了通用架构,尝试所有任务,并在语义和全景分割上具有竞争力,但它们在分割实例方面很困难。我们提出了Mask2Former,它首次在多个数据集上的三个研究分割任务上优于最佳的专业架构。

为了解决这种碎片化问题,最近的工作[14,62]试图设计通用架构,能够用相同的架构(即通用图像分割)解决所有分割任务。这些体系结构通常基于端到端集合预测目标(例如,DETR[5]),并且在不修改体系结构、损失或训练过程的情况下成功地处理多个任务。注意,尽管具有相同的体系结构,但通用体系结构仍然是针对不同的任务和数据集单独训练的。除了灵活之外,通用架构最近在语义和全景分割方面显示了最先进的结果[14]。然而,最近的工作仍然集中在推进专门化架构上[20,39,45],这就提出了一个问题:为什么通用架构没有取代专门化架构? 

尽管现有的通用体系结构足够灵活,可以处理任何分段任务,如图1所示,但在实践中,它们的性能落后于最佳的专用体系结构。例如,通用架构的最佳报告性能[14, 62]目前低于实例分割的 SOTA 专用架构[6](AP > 9)。除了性能较差之外,通用架构的训练也更加困难。它们通常需要更先进的硬件和更长的训练周期。例如,训练 MaskFormer [14] 需要 300 个 epochs 才能达到 40.1 的 AP,而且它只能在具有 32G 内存的 GPU 上适应单个图像。相比之下,专用的 Swin-HTC++ [6] 在只有 72 个 epochs 的情况下获得更好的性能。性能和训练效率问题都阻碍了通用架构的部署。

在这项工作中,我们提出了一种通用的图像分割架构,称为Masked-attention Mask Transformer(Mask2Former),它在不同的分割任务中优于专门的架构,同时仍然易于在每个任务上进行训练。

  • 我们构建了一个简单的元架构[14],由主干特征提取器[25,36]、像素解码器[33]和Transform解码器[51]组成。我们提出关键的改进建议,以实现更好的结果和有效的培训。
  • 首先,我们在Transformer解码器中使用屏蔽注意力,它将注意力限制在以预测片段为中心的局部特征上,这些特征可以是对象或区域,具体取决于分组的特定语义。与标准Transformer解码器中使用的交叉注意(关注图像中的所有位置)相比,我们的屏蔽注意可以更快地收敛并提高性能。
  • 其次,我们使用多尺度高分辨率特征,帮助模型分割小物体/区域。
  • 第三,提出了切换自关注和交叉关注的顺序、使查询特征可学习、去除dropout等优化改进;所有这些都可以在不增加额外计算的情况下提高性能。
  • 最后,在不影响性能的情况下,通过对少量随机采样点计算掩码损失,节省了3倍的训练内存。这些改进不仅提高了模型的性能,而且大大简化了训练,使通用架构更容易被计算能力有限的用户使用

我们使用四种流行的数据集(COCO[35]、cityscape[16]、ADE20K[65]和Mapillary远景[42])对Mask2Former在三种图像分割任务(panoptic、instance和semantic segmentation)上进行了评估。第一次,在所有这些基准测试中,我们的单一体系结构的性能与专用体系结构相当或更好。Mask2Former使用完全相同的架构,在COCO全景分割[28]上达到了57.8 PQ,在COCO实例分割[35]上达到了50.1 AP,在ADE20K语义分割[65]上达到了57.7 mIoU的最新先进结果。

2. Related Work

 专门的语义分割架构通常将任务视为逐像素分类问题。基于fcn的架构[37]独立预测每个像素的类别标签。后续方法发现上下文在精确的逐像素分类中发挥重要作用,并专注于设计定制上下文模块[7,8,63]或自注意变体[21,26,45,55,61,64]。

专门的实例分割架构通常基于“掩码分类”。它们预测了一组二进制掩码,每个掩码与单个类标签相关联。开创性的工作Mask R-CNN[24]从检测到的边界框生成掩码。后续方法要么专注于检测更精确的边界框[4,6],要么寻找新的方法来生成动态数量的掩码,例如,使用动态核[3,49,56]或聚类算法[11,29]。虽然每个任务的性能都有所提高,但这些专门的创新缺乏从一个任务推广到另一个任务的灵活性,导致重复的研究工作。例如,虽然已经提出了多种方法来构建特征金字塔表示[33],但正如我们在实验中所示,BiFPN[47]在实例分割方面表现更好,而FaPN[39]在语义分割方面表现更好。

Mask R-CNN 是一种用于目标检测和实例分割的深度学习模型,是 Faster R-CNN 的扩展版本。它在 Faster R-CNN 的基础上引入了一个额外的分支,用于预测目标实例的像素级掩码。因此,Mask R-CNN 能够同时检测目标对象并对其进行像素级的分割。

主要特点:

  1. 目标检测和实例分割: Mask R-CNN 能够检测图像中的多个目标,并为每个检测到的目标生成一个像素级的掩码,实现实例分割。
  2. 基于区域的方法: Mask R-CNN 是一种基于区域的方法,首先通过区域提议网络(Region Proposal Network,RPN)生成候选目标框,然后对每个候选框进行分类、边界框回归和掩码预测。
  3. 灵活性和性能: Mask R-CNN 结合了目标检测和实例分割的功能,并且在性能和灵活性方面表现出色,是许多计算机视觉任务的首选模型之一。

动态数量的掩码是指在实例分割任务中,生成的掩码数量不固定,而是根据输入图像中实际存在的目标数量而变化的一种情况。

传统的实例分割方法通常假设每张图像中只有固定数量的目标,因此会预先定义一个固定数量的掩码输出。然而,在实际场景中,图像中可能存在不同数量的目标,这就导致了传统方法难以适应不同数量目标的情况。

为了解决这个问题,一些研究工作提出了动态数量的掩码生成方法。这些方法可以根据输入图像中实际检测到的目标数量,动态地生成相应数量的掩码。例如,可以使用动态核方法或聚类算法等技术来实现动态数量的掩码生成,从而提高实例分割模型的灵活性和适应性。

全景分割被提出来统一语义分割和实例分割任务[28]。用于全景分割的架构要么将专门的语义和实例分割架构的优点结合到一个框架中[11, 27, 31, 60],要么设计新的目标,平等对待语义区域和实例对象[5, 52]。尽管有这些新架构,研究人员仍在为不同的图像分割任务开发专门的架构[20, 45]。我们发现,全景架构通常只报告在单一全景分割任务上的性能[52],这并不能保证在其他任务上表现良好(见图1)。例如,全景分割不能衡量架构对预测进行实例分割的能力。因此,我们避免将仅针对全景分割进行评估的架构称为通用架构。相反,在这里,我们评估我们的Mask2Former在所有研究任务上,以确保其通用性。

通用架构随着DETR的出现而出现[5],并表明具有端到端集预测目标的掩码分类架构对于任何图像分割任务来说都是足够通用的。MaskFormer[14]表明,基于DETR的掩模分类不仅在全景分割上表现良好,在语义分割上也达到了最先进的水平。K-Net[62]进一步将集合预测扩展到实例分割。不幸的是,这些架构不能取代专门化模型,因为它们在特定任务或数据集上的性能仍然比最好的专门化架构差(例如,MaskFormer[14]不能很好地分割实例)。据我们所知,Mask2Former是第一个在所有考虑的任务和数据集上都优于最先进的专业架构的架构。

3. Masked-attention Mask Transformer

我们现在介绍Mask2Former。我们首先回顾一下用于掩码分类的元架构,Mask2Former是建立在此基础上的。然后,我们介绍了一种新的Transform解码器,它具有masked attention,这是提高收敛性和效果的关键。最后,我们提出了训练改进,使Mask2Former高效和可访问。

3.1. Mask classification preliminaries

掩码分类架构通过预测N个二进制掩码以及N个相应的类别标签,将像素分成N个段。掩码分类是足够通用的,通过分配不同的语义来解决任何分割任务,例如,类别或实例,到不同的段。然而,挑战在于为每个段找到良好的表示。例如,Mask RCNN[24]使用边界框作为表示,这限制了其在语义分割中的应用。受DETR[5]的启发,图像中的每个片段都可以表示为c维特征向量(“对象查询”),并且可以通过Transformer解码器进行处理,并使用一组预测目标进行训练。一个简单的元体系结构将由三个组件组成。从图像中提取低分辨率特征的主干。一种像素解码器,它从主干的输出逐渐上采样低分辨率特征,以生成高分辨率的逐像素嵌入。最后是Transformer解码器,它操作图像特征来处理对象查询。最终的二进制掩码预测是用对象查询从逐像素嵌入中解码出来的。这种元架构的一个成功实例是MaskFormer[14],更多细节请参阅[14]。

3.2. Transformer decoder with masked attention

Mask2Former采用了前面提到的元架构,我们提出的Transformer解码器(图2右)取代了标准的。

  • 我们的Transformer解码器的关键组件包括一个掩码注意操作符,它通过将交叉注意限制在每个查询的预测掩码的前景区域内来提取局部特征,而不是关注完整的特征映射。
  • 为了处理小目标,我们提出了一种有效的多尺度策略来利用高分辨率特征。它以轮循的方式将像素解码器的特征金字塔中的连续特征映射馈送到连续的Transformer解码器层。
  • 最后,我们结合了在不引入额外计算的情况下提高模型性能的优化改进。我们现在详细讨论这些改进

图2:Mask2Former概述。Mask2Former采用与MaskFormer[14]相同的元架构,包含主干、像素解码器和Transformer解码器。我们提出了一种新的Transform解码器,具有masked attention 而不是标准的交叉注意(第3.2.1节)。为了处理小对象,我们提出了一种利用像素解码器的高分辨率特征的有效方法,即一次将多尺度特征的一个尺度馈送到一个Transformer解码器层(第3.2.2节)。此外,我们切换了self and cross-attention(即我们的屏蔽注意)的顺序,使查询特征可学习,并去除dropout以使计算更有效(章节3.2.3)。注意,为了便于阅读,图中省略了中间Transformer解码器层的位置嵌入和预测。 

3.2.1 Masked attention

上下文特征已被证明对图像分割很重要[7,8,63]。然而,最近的研究[22,46]表明,基于transformer的模型的缓慢收敛是由于交叉注意层中的全局上下文,因为交叉注意需要许多次训练才能学会关注局部目标区域[46]。我们假设局部特征足以更新查询特征,并且可以通过自关注收集上下文信息。为此,我们提出了masked attention,这是交叉注意的一种变体,它只关注每个查询的预测掩码的前景区域

标准交叉注意(残余路径)计算:

  • l 是层索引,表示在模型中的哪一层进行操作。
  • Xl 表示在第 l 层的 N 个 C 维查询特征,即 N 行 C 列的矩阵,用于进行注意力计算。X_{l}\epsilon \mathbb{R}^{N\times C}
  • Ql 是通过线性变换函数 fQ 对 Xl−1 进行转换得到的查询特征,用于计算注意力。 Q_{l}=f_{Q}\left ( X_{l-1} \right )\epsilon \mathbb{R}^{N\times C}
  • X0 是输入到Transformer解码器的查询特征。
  • Kl 和 Vl 是通过线性变换函数 f_{k}\left ( \cdot \right ) 和 f_{V}\left ( \cdot \right )对图像特征进行转换得到的特征矩阵,用于计算注意力。这些特征矩阵的大小为H_{l}W_{l}\times C,其中 Hl 和 Wl 是图像特征的空间分辨率。
  • fQ、fK 和 fV 是线性变换函数,用于将输入特征映射到查询、键和数值空间。

通过我们的掩码注意力机制来调节注意力矩阵

在特征位置(x, y)处的注意力掩码 M_{l-1}

  • "M_{l-1}\left \{ 0,1 \right \}^{N\times H_{l}W_{l}}" 表示在第(l-1)层的注意力掩码是一个大小为 N×HlWl 的二值化输出,即每个位置的值为0或1。这个二值化输出是通过对上一层(l-1)的Transformer解码器的调整后的掩码预测进行阈值处理得到的,阈值为0.5。 
  • 这个二值化输出被调整为与Kl相同的分辨率。
  • M0是在将查询特征输入到Transformer解码器之前获得的二进制掩码预测。
  • 通过对先前层的掩码预测进行二值化处理,并将其调整为与特征矩阵Kl相同的分辨率,以及使用X0生成的二进制掩码预测M0,有助于指导模型在不同层次上对图像的不同部分进行关注和处理,从而提高分割的准确性和效果。

3.2.2 High-resolution features 

高分辨率特征提高了模型的性能,特别是对于小物体[5]。然而,这在计算上要求很高。因此,我们提出了一种有效的多尺度策略来引入高分辨率特征,同时控制计算量的增加。我们不总是使用高分辨率的特征图,而是使用由低分辨率和高分辨率特征组成的特征金字塔,并一次向一个Transformer解码器层提供一个多尺度特征的分辨率

在Masked-attention Mask Transformer中如何利用由像素解码器生成的特征金字塔,以及如何将这些特征金字塔应用于Transformer解码器的不同层次。具体来说:

  • 首先,使用像素解码器生成的特征金字塔,其中包括原始图像分辨率的1/32、1/16和1/8。对于每个分辨率,都添加了一个正弦位置嵌入e_{pos}\epsilon \mathbb{R}^{H_{l}W_{l}\times C}和一个可学习的尺度级别嵌入 e_{lvl}\epsilon \mathbb{R}^{1\times C}。这些嵌入是为了帮助模型更好地理解特征之间的空间关系和尺度信息。
  • 从最低分辨率到最高分辨率,将这些特征金字塔应用于相应的Transformer解码器层。这种层次结构在左侧的图2中展示。
  • 重复这个3层Transformer解码器L次,因此最终的Transformer解码器共有3L层。具体来说,前三层接收分辨率为H1=H/32、H2=H/16、H3=H/8和W1=W/32、W2=W/16、W3=W/8的特征图,其中H和W是原始图像的分辨率。这种模式在所有后续层中以循环方式重复。
  • 通过这种方式,Masked-attention Mask Transformer能够有效地利用特征金字塔中不同分辨率的特征信息,并将其应用于Transformer解码器的多个层次,以提高对图像的分割和理解能力。

3.2.3 Optimization improvements 

标准Transformer解码器层的组成和处理过程:

  • 标准Transformer解码器层包括三个模块,按照以下顺序处理查询特征:自注意力模块、交叉注意力模块和前馈神经网络(FFN)。这些模块依次对查询特征进行处理,以实现对输入数据的理解和转换。
  • 在将查询特征(X0)输入到Transformer解码器之前,这些查询特征会被初始化为零,并与可学习的位置嵌入相关联。这意味着在开始处理之前,查询特征会被初始化为初始值,并且会与位置信息进行关联,以帮助模型更好地理解输入数据的空间结构。
  • 对残差连接和注意力图应用了dropout。dropout是一种正则化技术,通过在训练过程中随机丢弃一部分神经元的输出,以减少过拟合的风险。在这里,dropout被应用于残差连接和注意力图,以帮助模型更好地泛化和适应不同的输入数据。

为了优化Transformer解码器的设计,我们做了以下三个改进:

  • 首先,我们切换自注意力和交叉注意力的顺序,引入了新的“masked attention”机制,以使计算更加有效。在这种新机制下,第一个自注意力层的查询特征是与图像无关的,没有来自图像的信号,因此应用自注意力不太可能丰富信息。
  • 其次,使查询特征(X0)也可学习(仍然保留可学习的查询位置嵌入),并且在将可学习的查询特征用于Transformer解码器预测掩模(M0)之前,这些可学习的查询特征会受到直接监督。这些可学习的查询特征类似于区域提议网络,并具有生成掩模提议的能力。
  • dropout并不是必要的,通常会降低性能。因此,他们完全在解码器中移除了dropout。dropout是一种正则化技术,通过在训练过程中随机丢弃神经元的输出来减少过拟合的风险。

3.3. Improving training efficiency 

由于高分辨率掩模预测导致的大内存消耗,使得通用架构比更节省内存的专门架构不太易于访问。例如,MaskFormer只能在具有32GB内存的GPU上容纳一张图像。受PointRend和Implicit PointRend的启发,这两种方法表明可以通过在K个随机抽样点上计算掩模损失而不是整个掩模来训练分割模型。我们在匹配和最终损失计算中都使用了抽样点来计算掩模损失。具体来说,在用于构建二部匹配成本矩阵的匹配损失中,对于所有预测和 ground truth掩模,我们均匀抽样相同的K个点。在预测和匹配 ground truth之间的最终损失中,我们使用重要性抽样为不同的预测和 ground truth对抽样不同的K个点。设置K = 12544,即112×112个点。这种新的训练策略有效地将每张图像的训练内存减少了3倍,从18GB降至6GB,使得Mask2Former对于计算资源有限的用户更易于访问。

4. Experiments

我们通过在标准基准上与专业的最先进的架构进行比较,证明Mask2Former是一种有效的通用图像分割架构。我们通过对这三个任务的分析来评估我们提出的设计决策。最后,我们展示了Mask2Former在标准基准测试之外的泛化,在四个数据集上获得了最先进的结果。

数据集。我们使用四个广泛使用的图像分割数据集来研究Mask2Former,这些数据集支持语义、实例和全景分割:COCO[35](80个“事物”和53个“东西”类别)、ADE20K[65](100个“事物”和50个“东西”类别)、cityscape[16](8个“事物”和11个“东西”类别)和Mapillary远景[42](37个“事物”和28个“东西”类别)。 全景和语义分割任务在“事物”和“东西”类别的联合上进行评估,而实例分割仅在“事物”类别上进行评估。

"Things":指的是图像中具体的物体或实体,通常是可以被识别和标注的个体,如人、车、动物等。 

"Stuff":指的是图像中的背景或无法明确定义的区域,通常是一些抽象的、不可数的元素,如天空、草地、水等。

评价指标。

  • PQ (Panoptic Quality):是用于评估全景分割(panoptic segmentation)性能的标准指标。它结合了语义分割和实例分割的质量,提供了全景分割的评估。
  • APThpan:是在“thing”类别上使用实例分割注释评估的平均精度(Average Precision)。这个指标主要用于评估模型在具体物体类别上的性能。
  • mIoUpan:是通过合并同一类别的实例掩模而得到的语义分割的平均交并比(mean Intersection-over-Union)。这个指标用于评估模型在语义分割任务中的性能。
  • AP (Average Precision):是用于评估实例分割性能的标准指标,衡量了模型在检测和分割物体实例方面的准确性。
  • mIoU (mean Intersection-over-Union):是用于评估语义分割性能的指标,通过计算预测掩模与ground truth掩模之间的交并比来衡量模型的准确性。

 表1:COCO泛视val2017上133个类别的泛视分割。Mask2Former在所有指标上都比MaskFormer[14]有很大的优势。我们的最佳模型比先前最先进的MaskFormer和K-Net[62]分别高出5:1 PQ和3:2 PQ。在ImageNet-22K上预训练的主干用†标记。

在文中提到的"Backbones pre-trained on ImageNet-22K are marked with †"意味着使用了在ImageNet-22K数据集上进行预训练的骨干网络(backbones),这些网络在更广泛的语义信息下进行了训练,可能会对模型的性能和泛化能力产生积极影响。 

4.1. Implementation details 

我们采用[14]的设置,区别如下:

Mask2Former兼容任何现有的像素解码器模块,在MaskFormer [14]中,选择FPN作为默认像素解码器,在Mask2Former中使用更先进的MSDeformAttn作为默认像素解码器(为了在不同的分割任务中展现出强大的性能,Mask2Former采用了更先进的多尺度可变形注意力Transformer(MSDeformAttn)作为默认的像素解码器。)使用了6个MSDeformAttn层应用于分辨率为1/8、1/16和1/32的特征图,并在最终的1/8特征图上使用简单的上采样层与横向连接,以生成分辨率为1/4的像素嵌入特征图。在消融研究中展示了该像素解码器在不同分割任务中提供最佳结果。

模型使用了在第3.2节中提出的Transformer解码器,其中L = 3(即总共9层),并默认使用100个查询(queries)。这意味着Transformer解码器由9个层组成,每个层中包含了100个查询操作。每个中间Transformer解码器层和Transformer解码器之前的可学习查询特征添加了辅助损失。

损失函数权重设置:

  • 使用二元交叉熵损失和Dice损失:在模型中,用于处理掩模(mask)损失的损失函数包括二元交叉熵损失和Dice损失。这两种损失函数通常用于图像分割任务中,帮助模型学习准确的掩模预测。
  • 损失函数的计算公式:L_{mask}=\lambda _{ce}L_{ce}+\lambda _{dice}L_{dice},\lambda _{ce}=5.0,\lambda _{dice}=5.0
  • 最终的损失函数是掩模损失(Lmask)和分类损失(Lcls)的组合,即L_{mask}+\lambda _{cls}L_{cls}\lambda _{cls}设置为2.0用于与 ground truth匹配的预测,设置为0.1用于“无对象”的预测,即那些没有与任何 ground truth匹配的预测。这样的设置可以帮助模型更好地学习并提高性能。

后处理。我们使用与[14]完全相同的后处理,从二进制掩码对和类预测中获得全景和语义分割的预期输出格式。实例分割需要每个预测的额外置信度分数。我们将类置信度和掩码置信度(即,平均前景每像素二进制掩码概率)相乘得到最终置信度。

类置信度(Class Confidence)是指在目标检测任务中,模型对检测到的目标所属类别的预测置信度。通常用概率来表示,表示模型认为目标属于每个类别的概率分布。例如,如果一个目标被检测为狗,类置信度可以表示模型认为这个目标是狗的概率有多大。

掩码置信度(Mask Confidence)是指在实例分割任务中,模型对生成的掩码的准确性或可信度的度量。通常用于评估模型生成的像素级掩码与真实目标区域之间的匹配程度。掩码置信度越高,表示模型生成的掩码与真实目标更加匹配,从而提高了实例分割的准确性。

4.2. Training settings 

Panoptic and instance segmentation. 在COCO数据集上使用了Detectron2和更新的Mask R-CNN基线设置进行Panoptic和实例分割任务。Detectron2是一个用于目标检测和分割的深度学习库,而Mask R-CNN是一种常用的实例分割模型。

  • 训练设置:使用了AdamW优化器和分步学习率调度。初始学习率为0.0001,所有骨干网络的权重衰减为0.05。对于骨干网络,应用了学习率乘数为0.1,并在总训练步数的0.9和0.95处以10的因子衰减学习率。通常情况下,模型训练50个epochs,批量大小为16。数据增强采用了大规模抖动(LSJ)增强,随机从0.1到2.0的范围内采样比例,然后裁剪到1024×1024的固定尺寸。我们使用标准掩模R-CNN推理设置,其中我们将图像的短边调整为800,长边调整为1333。
  • 性能评估:作者报告了浮点运算数(FLOPs)和每秒帧数(fps)。FLOPs是在100个验证图像上平均计算的,因为COCO图像具有不同的尺寸。fps是在V100 GPU上以批量大小为1测量的,包括整个验证集的平均运行时间,包括后处理时间。
  • 语义分割:在语义分割任务中,作者遵循与参考文献[14]相同的设置来训练模型,但应用了一些修改,如将学习率乘数0.1应用于CNN和Transformer骨干网络,而不仅仅应用于CNN骨干网络。此外,ResNet和Swin骨干网络使用初始学习率为0.0001和权重衰减为0.05,而不像参考文献[14]中使用不同的学习率设置。

 表2:COCO val2017上80个类别的实例分割。当训练次数减少8倍时,Mask2Former在AP和APboundary[12]指标上都优于强Mask R-CNN[24]基线。我们的最佳模型与目前最先进的专门实例分割模型在COCO上具有竞争力,并且具有更高的边界质量。为了公平比较,我们只考虑单尺度推理和仅使用COCO train2017集数据训练的模型。在ImageNet-22K上预训练的主干用†标记。

4.3. Main results

Panoptic segmentation. 我们将Mask2Former与最先进的模型在COCO panoptic[28]数据集上进行全景分割,见表1。Mask2Former在不同骨干网上的性能始终优于MaskFormer超过5个PQ,同时收敛速度提高了6倍。通过swing - l主干,我们的Mask2Former设定了57.8 PQ的新技术水平,比现有的核心状态[14]高出5.1 PQ,比并发工作K-Net[62]高出3.2 PQ。在COCO挑战中,Mask2Former甚至优于具有额外训练数据的最佳集成模型(参见附录A.1的测试集结果)。

除了PQ指标,与DETR[5]和MaskFormer相比,我们的Mask2Former在另外两个指标上也取得了更高的性能:APTh pan,它是使用实例分割注释对80个“事物”类别进行评估的AP, mIoUpan,它是对133个类别进行评估的mIoU,用于从全景分割注释转换的语义分割。这显示了Mask2Former的通用性:仅使用全景分割注释进行训练,它可以用于实例和语义分割。

实例分割。我们将Mask2Former与COCO[35]数据集上最先进的模型进行了比较,见表2。在ResNet[25]主干下,Mask2Former使用大规模抖动(LSJ)增强[18,23]优于强Mask R-CNN[24]基线,而所需的训练迭代次数减少了8倍。使用swan - l骨干,Mask2Former优于最先进的HTC++[6]。虽然我们只观察到与HTC++相比,边界AP改善了+0:6,但边界AP[12]改善了2:1,这表明由于高分辨率掩模预测,我们的预测具有更好的边界质量。请注意,为了公平比较,我们只考虑单尺度推理和仅使用COCO train2017集数据训练的模型。

在使用ResNet-50骨干网络时,Mask2Former相对于MaskFormer在小物体上提高了7.0个APS,而在所有物体中,最大的增益来自大物体(+10.6个APL)。然而,在APS上的性能仍然落后于其他最先进的模型。因此,在小物体上仍然有改进的空间,例如,通过使用像DETR中那样的扩张骨干网络,这部分内容留作将来的工作。

语义分割。我们将Mask2Former与ADE20K[65]数据集上最先进的语义分割模型进行了比较,见表3。Mask2Former在不同主干上的表现优于MaskFormer[14],这表明所提出的改进甚至提高了语义分割结果,而[14]已经是最先进的了。Mask2Former以swan - l为骨干,以FaPN[39]为像素解码器,设定了57.7 mIoU的新状态。我们还在附录A.3中报告了测试集的结果

表3:基于ADE20K的150个分类的语义分割。对于不同的主干,Mask2Former的性能一直比MaskFormer[14]有很大的优势(所有Mask2Former模型都使用MSDeformAttn[66]作为像素解码器,除了swun - l -FaPN使用FaPN[39])。我们的最佳模型优于最佳的专业模型BEiT[2]。我们报告了单尺度(s.s)和多尺度(m.s)推理结果。在ImageNet-22K上预训练的主干用†标记。

4.4. Ablation studies

我们现在通过使用ResNet-50骨干网进行一系列消融研究来分析Mask2Former[25]。为了测试所提出的通用图像分割组件的通用性,所有的消融都在三个任务上进行。

(a)掩蔽注意力和高分辨率特征(来自高效的多尺度策略)导致最大的收益。更详细的消融情况见表4c和表4d。我们一次移除一个组件

(b)优化改进在不引入额外计算的情况下提高了性能。根据DETR[5],查询特征在不可学习时为零初始化。我们一次移除一个组件。 

 (c)在所有任务中,我们的掩蔽注意力比其他交叉注意力表现得更好。

(d) Feature resolution.高分辨率特征(单尺度1/8)很重要。我们高效的多尺度(高效ms)策略有效地降低了FLOPs。

(e)像素解码器。MSDeformAttn[66]在所有任务中始终表现最佳。 

表4:Mask2Former消融。我们在三个任务上执行消蚀:实例(在COCO val2017上的AP),全景(在COCO panoptic val2017上的PQ)和语义(在ADE20K val上的mIoU)分割。FLOPs是在COCO实例分割上测量的。

Transformer decoder. 我们通过一次删除一个组件来验证每个组件的重要性。如表4a所示,masked attention l在所有任务中都带来了最大的改善。例如,全视分割比语义分割的改进更大。此外,利用高效多尺度策略的高分辨率特征也很重要。表4b显示了额外的优化改进,在没有额外计算的情况下进一步提高了性能。

Masked attention.并行研究提出了其他交叉注意的变体[22,40],旨在提高DETR[5]在目标检测方面的收敛性和性能。最近,K-Net[62]用掩码池操作取代了交叉注意,该操作在掩码区域内平均特征。我们在表4c中验证了 masked attention的重要性。虽然现有的交叉注意变体可能会在特定任务上有所改善,但我们的 masked attention在所有三个任务上都表现得最好。

Feature resolution.:表4d显示,Mask2Former在Transformer解码器中受益于使用高分辨率特征(例如,单一尺度为1/8)。然而,这会引入额外的计算量。我们提出的高效多尺度策略有效地减少了浮点运算数(FLOPs),而不影响性能。这表明,简单地将多尺度特征串联作为每个Transformer解码器层的输入(naive m.s.)并不会带来额外的收益。

Pixel decoder:根据表4e的结果,Mask2Former与任何现有的像素解码器兼容。然而,我们观察到不同的像素解码器在不同任务中表现出专长:例如,BiFPN在实例级分割上表现更好,而FaPN在语义分割上效果更好。在所有研究的像素解码器中,MSDeformaAttn在所有任务中表现最佳,因此被选为默认解码器。这些实验结果还表明,为特定任务设计像素解码器模块并不保证在所有分割任务中具有泛化能力。作为通用模型,Mask2Former可以作为一个可测试的模块设计的试验平台,以验证其在不同分割任务中的泛化性能

单一尺度1/8指的是特征图的分辨率。具体来说,当提到单一尺度为1/8时,表示特征图的空间分辨率是输入图像的1/8。这意味着特征图中的每个像素代表输入图像中的一个较小的区域,因此具有更高的空间分辨率。 在图像分割任务中,使用高分辨率的特征图可以帮助模型更好地捕捉图像中的细节信息,从而提高分割的准确性和细节表现。因此,单一尺度为1/8表示使用了高分辨率的特征图,以便更好地处理图像分割任务。

表5:Calculating loss with points vs. masks.使用点损失进行训练可以减少训练内存的占用,而不会影响性能。匹配点损失进一步提高了性能。 

 使用点损失:通过在训练过程中使用采样点而不是完整的掩模来计算损失,可以降低训练时所需的内存消耗,从而使得模型在内存受限的情况下更易于训练。同时,这种方法并不会对模型的性能产生影响,即在准确率和性能方面没有明显的损失。

- 匹配点损失:进一步地,通过在匹配过程中使用采样点损失,可以进一步提高模型的性能。这意味着在损失计算的过程中,使用采样点可以帮助模型更好地学习和匹配预测结果与真实标签之间的关系,从而提高模型在分割任务中的表现。

Calculating loss with points vs. masks. 在表5中,我们研究了基于掩码或采样点计算损失时的性能和内存影响。通过使用采样点计算最终训练损失,可以将训练内存降低3倍,而不会影响性能。此外,使用采样点计算匹配损失可以提高所有三个任务的性能。

Learnable queries as region proposals.区域提议是可能是“对象”的区域,可以是框或掩模的形式。通过监督可学习查询的掩模损失,可学习查询的预测结果可以作为掩模提议。在图3的顶部,我们可视化了选定可学习查询的掩模预测结果,然后将其输入到Transformer解码器中(提议生成过程在图3的右下角显示)。在图3的左下角,我们进一步通过在COCO val2017上计算100个预测的类别不可知平均召回率(AR@100)对这些提议的质量进行定量分析。我们发现,与Transformer解码器层之后的Mask2Former的最终预测相比,这些可学习查询已经在AR@100上表现良好,并且随着更多解码器层,AR@100持续提高。

图3:作为“区域建议”的可学习查询。上图:在将四个选定的可学习查询输入到Transformer解码器(使用R50主干)之前,我们可视化掩码预测。左下:我们计算了100个建议的类别无关的平均召回率(AR@100),并观察到与Transformer解码器层(第9层)之后Mask2Former的最终预测相比,这些可学习的查询提供了良好的建议。右下:提案生成过程的说明。

表6:cityscape val. Mask2Former是对cityscape的专业模型的竞争。全景分割模型默认使用单尺度推理,多尺度数字用*标记。对于语义分割,我们报告了单尺度(s.s.)和多尺度(m.s.)推理结果。在ImageNet-22K上预训练的主干用†标记。

4.5. Generalization to other datasets 

为了证明我们的Mask2Former可以泛化COCO数据集之外的数据集,我们进一步在其他流行的图像分割数据集上进行实验。在表6中,我们展示了cityscape的结果[16]。关于每个数据集的详细训练设置,以及更多关于ADE20K[65]和Mapillary远景[42]的结果,请参见附录B。

表7:Mask2Former的局限性。尽管单个Mask2Former可以处理任何分割任务,但我们仍然需要在不同的任务上训练它。在三个数据集中,我们发现使用全景注释训练的Mask2Former比专门针对实例和语义分割任务使用相应数据训练的完全相同的模型表现略差。

我们观察到,在这些数据集上,我们的Mask2Former与最先进的方法相比也具有竞争力。这表明Mask2Former可以作为一种通用的图像分割模型,其结果在数据集上具有泛化性。 

4.6. Limitations

我们的最终目标是为所有的图像分割任务训练一个单一的模型。在表7中,我们发现在全视分割上训练的Mask2Former只比在三个数据集上使用相应的注释和语义分割任务训练的完全相同的模型稍微差一些。这表明,尽管Mask2Former可以泛化到不同的任务,但它仍然需要针对这些特定的任务进行训练。在未来,我们希望开发一种模型,可以只训练一次,用于多个任务,甚至多个数据集。

此外,如表2和表4所示,尽管它在基线上有所改进,但Mask2Former在分割小对象方面仍存在困难,并且无法充分利用多尺度特征。我们认为更好地利用特征金字塔和设计小对象的损失是至关重要的

5. Conclusion

我们提出了Mask2Former通用图像分割。Mask2Former建立在一个简单的元框架[14]上,使用了一个新的Transformer解码器,使用了所提出的 masked attention,在四个流行的数据集上,Mask2Former在所有三个主要的图像分割任务(panoptic, instance和semantic)中都获得了最好的结果,甚至超过了为每个基准设计的最好的专用模型,同时仍然易于训练。与为每个任务设计专门的模型相比,Mask2Former节省了3倍的研究工作量,并且对于计算资源有限的用户来说也是可以访问的。

我们希望引起大家对通用模型设计的兴趣。

  • 15
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Masked-attention(掩模注意力)是一种在自然语言处理中常用的技术。它被用于解决序列模型中的“未来问题”——在模型预测序列中的某个位置时,只能看到该位置之前的标记,无法看到之后的内容。因此,为了能够准确预测目标位置,我们需要一种机制来对未来信息进行掩盖。 掩模注意力通过在注意力机制中引入掩模矩阵来处理这个问题。掩模矩阵是一个与输入序列相同形状的二进制矩阵,其中元素为0表示需要进行掩模的位置,而1表示不需要掩模的位置。在计算注意力权重时,将掩模位置的对应权重置为负无穷大,这样在softmax操作中就会得到极小值,从而有效地屏蔽了未来信息。 与传统的注意力机制相比,掩模注意力不仅考虑了当前位置之前的信息,还能够建模未来的约束,因此在长序列任务中效果更好。掩模注意力广泛用于许多NLP任务中,如语言建模、翻译、问答等。 除了基本的掩模注意力,还有一些变种模型。例如,自回归变换器(Autoregressive Transformer)将掩模延伸到了所有层,以确保训练过程中不会泄露未来信息。此外,多头掩模注意力使用多个掩模头进行预测,以增加模型的表示能力。 需要注意的是,掩模注意力在计算效率上存在一定的挑战。由于矩阵运算的复杂度,掩模的引入会导致计算量增加。因此,研究人员一直在探索如何通过优化计算方法来提高效率。 综上所述,masked-attention是一种解决序列模型“未来问题”的注意力机制。它通过引入掩模矩阵来屏蔽未来信息,从而能够更准确地预测目标位置。在自然语言处理中,掩模注意力被广泛应用于各种任务,并且不断有新的变种模型出现。但是,由于计算复杂度的挑战,优化计算方法仍然是一个值得研究和探索的方向。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值