两阶段和基于查询的实例分割方法取得了显著的效果。然而,它们的分节面具仍然非常粗糙。在本文中,我们提出了一种用于高质量和高效的实例分割的掩模转换器。我们的掩模转换器不是在常规的稠密张量上操作,而是将图像区域分解并表示为四叉树。我们基于变压器的方法只处理检测到的容易出错的树节点,并并行地自我纠正它们的错误。虽然这些稀疏的像素只占总数的一小部分,但它们对最终的掩模质量至关重要。这使得MaskTransfiner能够以较低的计算成本预测高度准确的实例掩码。大量的实验表明,Mask Transfiner在三个流行的基准上优于当前的实例分割方法,在COCO和bdd100k上显著提高了+3.0 Mask AP,在Cityscapes上提高了+6.6 boundary AP,显著提高了两阶段和基于查询的框架。我们的代码和训练过的模型可以在http://vis.xyz/pub/transfiner上找到。
1. Introduction
图像实例分割的进步很大程度上是由强大的对象检测范式的发展所驱动的。基于掩码RCNN[12,19,22,25,32]和最近的DETR[14,15,21]的方法在例如COCO挑战[31]上取得了越来越高的性能。虽然这些方法优于目标的检测和定位,但有效预测高精度分割掩码的问题至今仍难以捉摸。
如图3所示,最新的最先进的方法在边界框和分割性能之间仍然有很大的差距,特别是对于最近基于查询的方法。这强烈表明掩膜质量的改善没有跟上检测能力的进步。在图2中,之前的方法所预测的蒙版非常粗糙,通常会过度平滑目标边界。事实上,由于需要高分辨率的深层特征,这需要大量的计算和内存成本,因此高效准确的掩码预测具有很高的挑战性
为了解决这些问题,我们提出了掩模转换器(Mask Transfiner),这是一种高效的基于变压器的高质量实例分割方法。在图1中,我们的方法首先识别了容易出错的区域,这些区域大多沿目标边界或高频区域散布。为此,我们的网络学习检测非相干区域,这是由降噪掩码本身时的信息丢失定义的。这些不连贯的像素分布稀疏,只占总像素的一小部分。然而,由于它们被证明对最终的分割性能至关重要,它允许我们在细化过程中只处理高分辨率特征图的一小部分。因此,我们构建了一个分层四叉树[16]来表示和处理多尺度上的非相干图像像素。
为了细化非相干四叉节点的掩码标签,我们设计了一个基于变压器的细化网络,而不是标准的卷积网络,因为它们需要在均匀的网格上运行。我们的变压器有三个模块:节点编码器、序列编码器和像素解码器。节点编码器首先丰富了每个非相干点的特征嵌入。序列编码器然后将这些跨多个四叉树层的编码特征向量作为输入查询。最后,像素解码器预测它们对应的掩码标签。与MLP[25]相比,序贯表示和多头注意使Mask Transfiner能够灵活地并行地将不同层次的稀疏特征点作为输入,建模它们的像素级关系,并在较远的距离内在它们之间传播信息。
我们在COCO、Cityscapes和BDD100K基准上广泛分析了我们的方法,其中定量和定性结果表明,Mask Transfiner不仅优于现有的两阶段和基于查询的方法,而且与标准变压器使用相比,在计算和内存成本方面也很高效。我们使用resnet -50在COCO测试开发的41.6 APMask上建立了一个最新的最先进的结果,比最近的SOLQ[14]和queryinst[15]性能好很多。
2. Related Work
两阶段的实例分割方法[2,6,8,19,22,23,28,29]首先检测边界框,然后对每个RoI区域进行分割。Mask R-CNN[19]扩展更快的R-CNN[34]与FCN分支。后续工作[7,12,24,32,33]也对Mask R-CNN模型家族做出了贡献。单阶段方法[5,8,26,27]和基于内核的方法[48],如PolarMask [44], YOLOACT [1], SOLO[40,41],去掉了提案生成和特征重新池化的步骤,取得了比较好的结果,效率更高。
基于查询的实例分割方法[14,15,17,21,42],其灵感来自于DETR[4],最近出现了将分割视为集预测问题的方法。这些方法使用查询来表示感兴趣的对象,并联合对其进行分类、检测和掩码回归。在[14,21]中,利用DCT或PCA算法将对象掩码压缩为编码向量,而QueryInst[15]采用动态掩码头部和掩码信息流。然而,图3中检测和分割性能之间的巨大差距表明,这些基于查询的方法产生的掩码质量仍然不令人满意。与上述方法相比,Mask Transfiner的目标是高质量的实例分割。在我们高效的转换器中,输入查询是不连贯的像素节点,而不是表示对象。该方法适用于两阶段和基于查询的框架。
大多数现有的实例分割细化工作依赖于专门设计的卷积网络[36,47]或mlps[25]。PointRend[25]样本以低置信度得分为特征点,并使用sharedMLP细化它们的标签,其中所选的点由Mask R-CNN的粗糙预测确定。RefineMask[47]结合了细粒度特性,并附加了一个语义头作为指导。后处理方法dbpr[36]提取图像边界块和初始掩码作为输入,使用[38]进行分割。值得注意的是,一些方法[11,35,38,46]专注于细化语义分段细节。然而,由于分割设置更加复杂,每幅图像的对象数量不同,并且需要勾画出相似和重叠的对象,使得实例分割更具挑战性。
与这些优化方法相比,Mask Transfineris是一种端到端实例分割方法,使用变压器进行误差校正。使用轻量级的FCN来预测要细化的区域,而不是基于掩码评分[25]的非确定性抽样。与[25]中的MLP不同,顺序和层次输入表示使Mask Transfiner能够有效地将非局部稀疏特征点作为输入查询,其中变压器的强全局处理自然适合我们的四叉树结构。
3. Mask Transfiner
我们提出了一种有效处理高质量实例分割的方法。MaskTransfiner的总体架构如图5所示。从基本目标检测网络(如掩码R-CNN[19])出发,采用多尺度深度特征金字塔。然后,对象检测头将边界框预测为实例提议。该组件还在低分辨率下生成粗糙的初始掩模预测。有了这些输入数据,我们的目标是预测高度准确的实例分割掩码。
由于分割的大部分错误归因于空间分辨率的损失,我们首先定义这些不连贯区域并在3.1节中分析它们的属性。为了在多个尺度上识别和细化非相干区域,我们使用了四叉树,在第3.2节中讨论。轻相干区域探测器以粗糙的初始掩模和多尺度特征作为输入,对每个尺度的非相干区域进行级联预测。这允许我们的掩模转换器节省巨大的计算和内存负担,因为只有一小部分高分辨率的图像特征是由精细网络本身处理的。我们的细化变压器,详细在3.3节中,工作在检测到的非相干区域。由于它作用于所构建的四叉树上的特征点,而不是在一个统一的网格中,我们设计了一种变压器架构,它共同处理四叉树各级的所有非相干节点。最后,我们提出了掩模转换器的训练策略和实现细节。
3.1. Incoherent Regions
由现有的实例分割方法[14,19]产生的大部分分割错误是由于空间分辨率的损失,如蒙版下采样操作、较小的RoI池大小和系数压缩[14,21],其中蒙版预测本身是在粗特征尺度上进行的。尽管它效率很高,但由于缺乏高频细节,较低的空间分辨率使得准确预测物体边界具有挑战性。在本节中,我们首先定义了非相干区域,在这些区域中,由于空间分辨率的降低,掩模信息会丢失。然后,通过分析它们的性质,我们观察到很大一部分误差确实位于这些区域。
为了识别非相干区域,我们通过对掩码本身进行下采样来模拟网络中由于下采样而造成的信息丢失。具体来说,信息丢失在掩码无法通过后续上采样步骤正确重构的区域,如图4所示。形式上,让Mlbe是尺度级l的对象的二进制地面真值实例掩模。每个尺度级的分辨率相差2倍,其中l = 0是最细尺度,l = l是粗尺度。我们分别用s#和S”表示2个最近邻的下采样和上采样。尺度为l的非相干区域即得到的二进制掩模为:
在这里,表示逻辑的“排他或”操作,而O#是通过在每个邻域执行逻辑的“或”操作进行2下采样。一个像素(x;y)是因此相干Dl(x;y) = 1,如果原始掩模值Ml1differs从其在更细尺度级别的至少一个像素重建。直观上,非相干区域大多散布在对象实例边界或高频区域,由粗糙掩模缺失或额外预测错误标签的点组成。我们在图5和sup . file中提供了它们的可视化,它们稀疏且不连续地分布在一个典型的图像上。
在表1中,我们对上述定义的非相干区域进行了分析。结果表明,大量的预测误差集中在这些不相关的区域,占所有错误预测像素的43%,而相应的边界框区域只占14%。在非相干区域,粗糙掩模预测的准确率为56%。通过修复边界盒检测器,我们进行了一项oracle研究,为每个对象填充所有这些不连贯的区域,而剩下的部分作为初始掩码预测。与在非相干区域使用初始掩码预测相比,性能从35.5 AP激增到51.0 AP,确实证明了它们对提高最终性能至关重要。
3.2. Quadtree for Mask Refinement
在本节中,我们描述了检测和细化图像中的非相干区域的方法。该方法基于迭代检测和分割每个特征尺度中的非相干区域的思想。通过分离识别出的非相干像素进行进一步细化,我们的方法通过只关注重要区域有效地处理高分辨率特征。为了使我们的方法形式化,我们使用四叉树结构来首先识别跨尺度的非相干区域。然后,我们使用3.3节详细介绍的网络,预测四叉树中所有非相干节点的精细分割标签。最后,利用我们的四叉树将修正后的掩模概率从粗尺度传播到细尺度,以融合来自多个尺度的新预测。
图5的右边部分描述了我们的轻量级模块的设计,以有效地检测多尺度特征金字塔上的非相干区域。采用级联设计,我们首先将最小特征和粗糙物体掩模预测连接起来作为输入,然后使用简单的全卷积网络(4个3 3Convs)和一个二值分类器来预测粗糙相干掩模。然后,对检测到的低分辨率掩模进行上采样,并与相邻层的高分辨率特征融合,以指导更精细的非相干预测,其中只使用单个11 1卷积层。在训练过程中,我们将Eq. 1生成的底层groundtruth不连贯点强化到其上级特征图中父点的覆盖范围内。
我们定义了一个点四叉树来分解检测到的非相干区域。我们的结构如图5所示,其中较高级别的FPN特征(如特征分辨率28 28)中的一个黄点在其相邻的较低级别FPN特征映射(如分辨率56 56)中有四个象限点。这些都是特征点,但粒度不同,因为它们在不同的金字塔层次上。与计算机图形学中使用的传统四叉树“单元”相比,一个四叉树“单元”可以有多个点,我们的点四叉树的细分单元总是在一个单点上,点的划分由检测到的不相干值和二值分类器的阈值决定。
在检测到的非相干点的基础上,我们以最高级特征图中检测到的点作为rootnode,构建了多层次的层次四叉树。选择这些根节点在低层特征图上细分到它们的四个象限,具有更大的分辨率和更多的局部细节。注意,在精细水平上,只有被检测为非相干的象限点才能进一步分解,而非相干树节点的扩展被限制在与之前粗水平上的非相干预测相对应的区域。
我们使用基于转换器的架构来改进四叉树的非相干节点的掩码预测。我们的设计在第3.3节中描述。它直接对四叉树的节点进行操作,联合在每个不相干的节点上提供精制的掩码概率。
基于对掩码预测的改进,我们设计了一种利用四叉树结构的分层掩码传播方案。对于低分辨率的初始粗掩模预测,掩模转换器首先修正四叉树的根级点标签,然后通过最近邻插值将修正后的点标签传播到相邻更细级对应的四个象限。标签校正过程以一种水平的方式有效地对非相干节点进行,直到达到最优四叉树水平。与只修正四叉树上最细叶节点的标记相比,它通过传播标记到中间树层的叶节点,以可忽略的代价扩大了细化区域。
3.3. Mask Transfiner Architecture
在本节中,我们描述了细化网络的架构,该网络将构建的四叉树(章节3.2)的非相干点作为输入,用于最终的分割细化。这些点沿高频区域分布稀疏,且在空间上不相邻。因此,在均匀网格上运行的标准卷积网络并不适用。相反,我们设计了改进的变压器,掩模转换器,它可以并行修正所有非相干四叉树节点的预测。
精确分割模糊点既需要细粒度的深度特征,又需要粗语义信息。因此,网络需要强大的建模能力来充分关联点及其周围环境,包括空间和跨层相邻点。因此,一个可以接受顺序输入并通过多头注意层执行强大的本地和非本地推理的变压器,是我们MaskTransfiner设计的自然选择。与[25]中的MLP相比,变压器的强全局处理更适合四叉树结构。它有利于不同粒度的多层次特征点信息的有效融合和成对点关系的显式建模
图5显示了我们的MaskTransfiner的总体架构。在分层FPN[30]的基础上,以一种多层次、从粗到细的方式处理实例分割。Mask Transfiner不是对每个目标[19]使用单级FPN特征,而是在RoI特征金字塔层中,将非相干图像区域中稀疏检测的特征点作为输入序列,输出相应的分割标签。
给定一幅输入图像,配备FPN的CNNbackbone网络首先提取分层特征映射进行下游处理,我们利用P2到P5的特征级别。基础对象检测器[14,19]将边界框预测为实例提议。然后通过三层fPi提取RoI特征,构建RoI特征金字塔;π1;方形f28增加的fpn的Pi2g;56;112克。startinglevel i计算为i =ji0 + log2(pWH=224)k,其中0 = 4,W和h是RoI的宽度和高度。最粗糙的特性包含更多的上下文和语义信息,而更精细的特性则解析更多的局部细节。
给定第3.2节中讨论的四叉树以及每个节点的相关FPN特征,我们为基于变压器的架构构建输入序列。该序列由四叉树所有三层的所有不连贯节点组成。由此产生的序列大小为C N,其中N为节点总数,C为特征通道维数。值得注意的是,N HW由于高度稀疏。此外,由于变压器的排列不变性,序列的排列顺序无关紧要。与标准变压器编码器相比,Transfiner编码器由两个部分组成:节点编码器和序列编码器。
为了丰富非相干点特征,Mask Transfiner节点编码器使用以下4种不同的信息线索对每个四叉节点进行编码:1)FPN金字塔对应位置和级别提取的细粒度特征。2)基于基础检测器的初始掩码预测提供了区域特异性和语义信息。3)每个RoI中的相对位置编码封装了节点之间的空间距离和关系,捕获了重要的局部依赖性和相关性。4)每个节点的周围环境捕获局部细节,丰富信息。对于每个节点,我们使用从3个邻域提取的特征,通过一个全连接层压缩。直观上,这有助于定位边缘和边界,以及捕捉物体的局部形状。如图5所示,细粒度特征、粗片段线索和上下文特征首先通过FC层连接和融合到原始特征维。然后将位置嵌入添加到生成的特征向量中。
然后,Transfiner的序列转换器编码器联合处理四叉树中各级的编码节点。因此,变压器可以进行全局空间和尺度间的推理。每个序列编码器层都有一个标准的变压器结构,由一个多头自注意模块和全连接的前馈网络(FFN)组成。为了使非相干点序列具有足够的正面和负面参考,我们还使用了最小尺寸的最粗FPN级的所有特征点。与带有深度注意层的标准变压器译码器[4]不同,Mask Transfiner中的像素译码器是一个小的twolayerMLP,它解码树中每个节点的输出查询,以预测最终的掩码标签。
基于所构建的四叉树,我们开发了灵活、自适应的掩模转换器训练和推理方案,将四叉树各级检测到的所有不相干节点组成一个序列进行并行预测。在推理过程中,为了获得最终的对象掩码,掩码传输器在获得非相干节点的细化标签后,遵循四叉树传播方案(章节3.2)。在培训期间,整个Mask Transfinerframework可以端到端的方式进行培训。我们采用多任务损失,
这里,LRefine表示对非相干节点的预测标签和它们的groundtruthlabel进行细化,L1损失。二元交叉熵损失LInc用于检测非相干区域。检测损失LDetect包括来自基检测器的定位和分类损失,例如Faster R-CNN[34]或DETR检测器。最后,LCoarse表示[19]使用的初始粗分段预测的损失。F1;2;3;4g为超参数权值F1:0;1:0;1:0;0:5g。
掩码转换器在两级检测器Faster R-CNN[34]和基于查询的检测器[4]上实现。我们设计了一个3级四叉树,并利用Detectron2[43]中实现的掩码rcnn的超参数和训练计划,对骨干和粗掩码头进行训练。掩模转换器编码器由三个标准变压器层组成。每一层有四个注意头,特征维数为256。在我们的消融研究中,采用了R-50-FPN[20]和Faster R-CNN与1个学习时间表。对于COCO排行榜的比较,我们采用较短的图像侧随机抽样[64,800]的尺度抖动,遵循[8,24,27]中的训练计划。更多细节在Supp.文件中。