MaskFormer:Per-Pixel Classification is Not All You Need for Semantic Segmentation (NeurIPS 2021)

知识背景:

词嵌入:

词嵌入(Word Embedding)是一种将单词表示为实数向量的技术,常用于自然语言处理(NLP)任务中。它将每个单词映射到一个连续的向量空间中的向量,使得单词的语义和语法特征能够以向量形式进行表示。

词嵌入的主要思想是基于单词的分布假设(Distributional Hypothesis),即相似的单词在语料库中通常会出现在相似的上下文中。因此,通过观察单词在文本中的分布情况,可以捕获单词之间的语义关系。词嵌入通过使用神经网络或其他统计模型从大型语料库中学习单词的分布式表示。

词嵌入的特点包括:

  • 语义相似性: 在词嵌入空间中,语义相似的单词通常具有相似的向量表示。例如,"king"和"queen"在向量空间中可能更接近,因为它们具有相似的语义。

  • 向量运算: 在词嵌入空间中,可以进行向量之间的运算,例如加法和减法。例如,向量 "king - man + woman" 可能会接近向量 "queen",这表明可以通过词嵌入进行一定程度的语义推理。

  • 上下文信息: 词嵌入可以捕获单词在不同上下文中的含义。这使得词嵌入在NLP任务中具有很强的泛化能力,例如在语言模型、文本分类和命名实体识别等任务中取得良好的性能。

常见的词嵌入模型包括Word2Vec、GloVe、FastText等,这些模型在大型语料库上进行训练,以学习单词的分布式表示。词嵌入已经成为自然语言处理中的重要技术,在各种NLP任务中得到广泛应用。

学习Transform模型之前,先学习一下模型中各个部分的原理

Self-Attention

自注意力机制(Self-attention mechanism),也称为自注意力机制或注意力机制,是一种用于计算序列中各个元素之间关联性的技术,常用于自然语言处理(NLP)和其他序列数据处理任务中。

在自注意力机制中,输入序列中的每个元素都与其他元素进行关联,并且通过学习得到的权重来确定它们之间的相互作用程度。这种关联性可以看作是输入序列中各个元素之间的“注意力”,即更加关注重要或相关的元素。

计算式子:

流程图(缩放点积注意力):

  • 首先,对于给定的查询(query)向量 Q、键(key)向量 K 和值(value)向量 V,计算它们之间的点积
  • dk​ 是查询和键的维度,通常称为注意力头(attention head)的维度。
  • 然后,将点积结果除以\sqrt{dk}进行缩放。这样做的目的是为了确保点积的值在一个合理的范围内,避免在深度学习模型中出现梯度爆炸或梯度消失等问题。
  • 最后,将缩放后的点积结果经过 softmax 函数进行归一化,得到注意力权重,然后将值向量 V 按注意力权重加权求和,得到最终的输出。
  • 在某些情况下,我们希望限制注意力机制只关注序列中的特定部分,而忽略其他部分。掩码(mask)的作用就是在计算注意力权重时,将那些不应该被关注的部分设置为一个很大的负数,经过 softmax 函数后就会变成接近零的概率,从而有效地屏蔽掉这些部分。
  • KQV是由每一个输入向量经过一系列运算得来的。通过将输入序列乘以一个权重矩阵 WK​ 来计算,即 K=XW_{k}​,其中 X 是输入序列,WK​ 是键权重矩阵。与键向量 K 的计算方式类似,也是将输入序列乘以一个权重矩阵 WQ​,即 Q=XW_{q}。V=XW_{v}。权重矩阵通过训练得来。
  • 查询向量 Q 用于衡量输入序列中每个元素与其他元素的关联程度。每个查询向量都会与所有键向量进行点积,以计算它与其他元素的相似度,从而确定它们之间的注意力权重。查询向量可以看作是引导注意力机制关注哪些部分的指导信号。
  • 键向量 K 用于表示输入序列中的每个元素的关键信息。它与查询向量一样,也会与所有其他元素进行点积,从而计算出每个元素与其他元素的相似度。这些相似度将用于计算注意力权重,决定每个元素在计算中的重要性。
  • 值向量 V 包含了输入序列中每个元素的具体信息。在自注意力机制中,值向量将根据查询和键的相似度加权求和,得到每个元素的最终表示。值向量决定了注意力机制输出的内容。

下图是底层实现细节,x1和x2为输入。 

 

Multi-head Attention(多头注意力机制)

多头注意力机制(Multi-head Attention Mechanism)是一种注意力机制的扩展形式,旨在提高模型学习序列中不同表示层次的能力。它在自注意力机制的基础上引入了多个注意力头,每个头都学习并关注输入序列的不同子空间,然后将它们的输出进行拼接或加权求和,以产生最终的多头注意力输出。

计算过程如下:

  • 首先,通过线性变换将输入序列分别映射到多个子空间中,得到多组查询、键和值。对于每个头 i,分别得到查询向量 Qi​、键向量 Ki​ 和值向量 Vi​。
  • 接下来,对于每个注意力头 i,计算其对应的注意力权重。注意力权重的计算方式与自注意力机制相同,即对查询向量 Qi​ 和键向量 Ki​ 进行点积,然后经过 softmax 函数得到归一化的注意力分数。
  • 然后,使用注意力权重对每个头的值向量Vi​ 进行加权求和,得到每个头的注意力输出。
  • 最后,将多个注意力头的输出拼接或加权求和,得到最终的多头注意力输出。

多头注意力机制的优势在于,它可以同时关注输入序列的不同方面或层次的信息,从而更好地捕捉序列中的关联性和特征表示。这种结构有助于提高模型的表达能力和泛化能力,广泛应用于各种自然语言处理任务,如机器翻译、文本分类和语言建模等。

W_{i}^{Q}\epsilon\mathbb{R} ^{d_{model}\times d_{k}}W_{i}^{K}\epsilon\mathbb{R} ^{d_{model}\times d_{k}},W_{i}^{V}\epsilon\mathbb{R} ^{d_{model}\times d_{v}}W^{O}\epsilon\mathbb{R} ^{hd_{v}\times d_{model}}

h=8,d_{k}=d_{v}=d_{model} / h=64

Position-wise Feed-Forward Networks位置前馈网络

除了注意子层之外,编码器和解码器中的每一层都包含一个完全连接的前馈网络,该网络分别相同地应用于每个位置。这包括两个线性转换,中间有一个ReLU激活。

虽然线性变换在不同位置上是相同的,但它们在每一层之间使用不同的参数。另一种描述它的方式是两个核大小为1的卷积。

输入和输出的维数为d_{model}= 512,内层的维数d_{ff} = 2048。

  • 位置前馈网络(Position-wise Feedforward Network)是Transformer模型中的一个重要组件,用于对Transformer编码器和解码器中每个位置的隐藏状态进行非线性变换和映射。
  • 位置前馈网络通常由两个全连接层组成,每个全连接层后跟一个激活函数,通常是ReLU。这两个全连接层之间有一个残差连接和层归一化操作,以帮助网络更好地训练和优化。
  • 位置前馈网络的作用是对输入的每个位置的隐藏状态进行映射和转换,以提取更高级别的特征表示。它允许模型在不同位置上学习不同的特征,并引入了非线性变换,从而增强了模型的表达能力。
  • 在Transformer模型中,位置前馈网络通常被应用于编码器和解码器的每个位置,用于对输入序列和输出序列的隐藏状态进行处理。这使得Transformer模型能够更好地捕获序列中的局部特征和全局关系,从而在各种自然语言处理任务中取得了优异的性能。

Positional Encoding位置编码

由于我们的模型不包含递归和卷积,为了使模型利用序列的顺序,我们必须注入一些关于序列中标记的相对或绝对位置的信息。为此,我们在编码器和解码器堆栈底部的输入嵌入中添加了“位置编码”。位置编码与嵌入具有相同的维数模型,因此可以对两者进行求和。位置编码有多种选择,有习得的和固定的[9]。

位置编码通常是一个固定的矩阵,其维度与输入嵌入的维度相同。这个矩阵中的每一行都代表着一个位置的编码,而每一列代表一个维度。位置编码的值通常是根据一些数学函数计算得到的,常见的计算方式包括正弦函数和余弦函数。

  1. 固定位置编码(Fixed Positional Encoding): 在训练过程中,位置编码是固定不变的,不受输入序列内容的影响。这种方法通常用于较短的输入序列或者对位置信息要求不高的任务中。

  2. 可学习位置编码(Learnable Positional Encoding): 在训练过程中,位置编码是可以学习的参数,会随着模型的训练而更新。这种方法允许模型根据输入序列的具体内容动态调整位置信息,适用于对位置信息要求较高的任务。

我们选择正弦版本是因为它可以允许模型外推到比训练期间遇到的序列长度更长的序列。

mask

Padding Mask(填充掩码): 在输入序列中存在填充标记(padding tokens)时,为了避免模型在计算注意力权重时将填充标记考虑进去,需要使用填充掩码将填充位置的注意力权重设为一个很大的负数,从而使填充位置的概率趋近于零。这样,模型在计算注意力权重时就不会考虑填充位置,只会关注真实的输入内容。

Future Mask(未来信息掩码): 在解码器中,为了避免模型在预测某个位置的输出时使用了未来位置的信息,需要使用未来信息掩码将当前位置后的所有位置的注意力权重设为一个很大的负数,从而使未来位置的概率趋近于零。这样,模型在解码时就只能依赖已经生成的部分内容,而不能使用未来的信息。

解码器之后的线性层和softmax层

线性层(Linear Layer): 解码器的线性层用于将解码器最后一个隐藏状态(或者解码器所有隐藏状态的加权平均)映射到目标词汇空间的向量表示。这个线性变换通常是一个全连接层,它将隐藏状态的维度映射到词汇表的大小(即目标词汇空间的维度)。这样一来,每个目标词汇对应的向量表示就可以通过这个线性变换得到。

Softmax 层: 解码器的 Softmax 层用于将线性层的输出转换成概率分布,以便于模型生成最终的输出。Softmax 函数会对线性层的输出进行指数化,并归一化为一个概率分布,使得所有输出的概率值之和等于1。这样,模型在每个时间步可以根据概率分布选择生成的下一个词汇。

在训练过程中,模型会将这些预测概率与真实的目标词汇进行比较,并计算损失函数,然后通过反向传播更新模型参数。在推理过程中,模型会根据预测概率生成下一个词汇,然后将其作为输入传递给下一个时间步的解码器。

Transform模型

 Transformer编码器的输出是输入序列的表示,通常是一个包含了序列中每个位置的隐藏状态的张量。在将编码器的输出传递给解码器的多头注意力模块时,通常有两种方法:

完全连接编码器-解码器注意力(Fully Connected Encoder-Decoder Attention): 在这种方法中,解码器的每个位置都会计算其与编码器输出各个位置的注意力权重。具体而言,解码器的每个位置的查询向量都会与编码器输出的所有位置的键向量进行点积,然后经过 softmax 函数得到归一化的注意力分数,最后根据这些注意力权重对编码器输出进行加权求和,得到每个解码器位置的上下文表示。这样,解码器每个位置的隐藏状态都能够考虑到编码器输出的全局信息。

单向连接编码器-解码器注意力(Unidirectional Encoder-Decoder Attention): 在这种方法中,解码器的每个位置只能注意到编码器输出中前面位置的信息,而不能注意到后面位置的信息。具体而言,解码器的每个位置的查询向量只与编码器输出的前面位置的键向量进行点积,然后经过 softmax 函数得到归一化的注意力分数,最后根据这些注意力权重对编码器输出的前面位置进行加权求和,得到每个解码器位置的上下文表示。这样,解码器每个位置的隐藏状态只能考虑到编码器输出的前面位置的信息,而不能使用后面位置的信息。

目标序列的嵌入(Target Sequence Embeddings): 解码器的输入序列是目标序列(target sequence),通常表示为一个以特殊符号(如 <start>)开始,以特殊符号(如 <end>)结束的序列。这些目标序列中的每个词汇通常都会经过嵌入层(embedding layer)的处理,转换成词嵌入向量的形式,用于表示每个词汇在模型中的语义信息。目标序列是模型在训练过程中所需要的标签信息,用于计算损失和优化模型参数。

摘要

现代方法通常将语义分割制定为逐像素分类任务,而实例级分割则使用替代掩码分类来处理。我们的关键见解是:掩码分类足够通用,可以使用完全相同的模型、损失和训练过程,以统一的方式解决语义级和实例级分割任务。根据这一观察,我们提出了MaskFormer,这是一个简单的掩码分类模型,它预测一组二进制掩码,每个掩码都与单个全局类标签预测相关联。总体而言,本文提出的基于掩模分类的方法简化了语义和全视分割任务的有效方法,并显示出良好的经验结果。特别是,我们观察到当类的数量很大时,MaskFormer优于每像素分类基线。我们基于掩模分类的方法优于当前最先进的语义模型(ADE20K上的55.6 mIoU)和全景分割模型(COCO上的52.7 PQ)

1 Introduction

语义分割的目标是将图像划分为具有不同语义类别的区域。从Long等人[30]的全卷积网络(Fully Convolutional Networks, fcn)工作开始,大多数基于深度学习的语义分割方法将语义分割作为逐像素分类(图1左),对每个输出像素应用分类损失[9,52]。该公式中的逐像素预测自然地将图像划分为不同类别的区域。

Mask classification 是一种替代范式,它将图像分割和分类的两个方面进行了解耦。与对每个像素进行分类不同,基于 mask classification 的方法预测一组二进制掩码,每个掩码与单个类别预测相关联(见图1右侧)。更灵活的 mask classification 主导了实例级分割领域。Mask R-CNN 和 DETR 在实例和全景分割中每个段落产生单个类别预测。相比之下,每像素分类假设输出的数量是固定的,无法返回可变数量的预测区域/段落,不能轻松地适应实例级任务所需的可变数量的预测区域或段。

我们的关键观察:掩码分类足够通用,可以解决语义级和实例级的分割任务。事实上,在FCN[30]之前,性能最好的语义分割方法,如O2P[5]和SDS[20]使用了掩码分类公式。从这个角度来看,一个自然的问题出现了:单个掩码分类模型是否可以简化语义级和实例级分割任务的有效方法?这种掩码分类模型在语义分割方面是否优于现有的逐像素分类方法?

为了解决这两个问题,我们提出了一个简单的MaskFormer方法,可以无缝地将任何现有的逐像素分类模型转换为掩码分类。MaskFormer使用DETR[4]中提出的集合预测机制,使用Transformer解码器[41]来计算一组成对的内容,每个由一个类预测和一个掩码嵌入向量组成。掩码嵌入向量通过点积与从底层全卷积网络中获得的逐像素嵌入来获得二值掩码预测。新模型以统一的方式解决语义级和实例级分割任务:不需要更改模型、损失和训练过程。具体来说,对于语义和全景分割任务,MaskFormer受到相同的每像素二进制掩码损失和每个掩码单个分类损失的监督。最后,我们设计了一个简单的推理策略,将MaskFormer输出混合到任务相关的预测格式中。

掩码嵌入向量是指在分割任务中,为了表示每个像素的掩码信息,可以使用嵌入向量进行表示。这些嵌入向量通常用于将像素级的特征映射到一个低维空间,以便模型能够更好地理解每个像素的语义信息。

在 MaskFormer 中,掩码嵌入向量的作用是将每个像素的掩码信息表示为一个向量,这个向量可以包含关于像素所属类别的信息,以及关于像素与周围像素之间的语义关系的信息。通过将掩码嵌入向量与类别预测组合在一起,模型可以同时考虑像素的类别信息和语义信息,从而更准确地进行分割任务。

我们在五个具有不同类别数量的语义分割数据集上对MaskFormer进行了评估:cityscape[15](19个类)、Mapillary远景[34](65个类)、ADE20K[55](150个类)、cohu_ff - 10k[3](171个类)和ADE20K- full[55](847个类)。虽然 MaskFormer 在 Cityscapes 数据集上的表现与每像素分类模型相当,Cityscapes 数据集具有少量多样的类别,但新模型在具有更大词汇量的数据集上展现出了更优越的性能。我们假设每个掩模的单一类别预测比每个像素的类别预测更好地建模细粒度识别。MaskFormer使用swing - transformer[29]骨干网在ADE20K (55.6 mIoU)上实现了最新技术,比使用相同骨干网的每像素分类模型[29]性能高2.1 mIoU,同时效率更高(参数减少10%,FLOPs减少40%)。

相对于对每个像素进行分类预测,每个掩模只有一个类别预测更能够更好地捕捉到图像中的细节信息,从而提高识别的精度。这是因为每个掩模代表了一个更大的区域,而且通常包含多个像素,因此单个类别预测以更好地表示该区域的语义信息。

最后,我们使用两个全景分割数据集COCO[28,24]和ADE20K[55]来研究MaskFormer解决实例级任务的能力。具有相同主干和相同后处理的MaskFormer优于更复杂的DETR模型[4]。此外,MaskFormer在COCO上实现了新的最优状态(52.7 PQ),比之前的最优状态[42]高出1.6 PQ。我们的实验突出了MaskFormer统一实例级和语义级分割的能力。

图1:逐像素分类vs.掩码分类。(左)使用过像素分类的语义分割对每个位置应用相同的分类损失。(右)掩码分类预测一组二进制掩码,并为每个掩码分配单个类。每个预测都用每个像素的二进制掩码损失和分类损失进行监督。预测集与ground truth segment之间的匹配可以通过类似于DETR[4]的二部匹配来完成,也可以通过直接索引进行固定匹配,如果预测数量和类别匹配,即N = K。

2 Related Works

在语义分割中,对逐像素分类和掩码分类进行了广泛的研究。在早期的工作中,Konishi和Yuille[25]应用基于局部图像统计的逐像素贝叶斯分类器。然后,受早期非语义分组工作的启发[13,36],基于掩码分类的方法开始流行,在PASCAL VOC挑战中表现出最佳性能[18]。O2P[5]和CFM[16]等方法通过对掩码建议进行分类已经取得了最先进的结果[6,40,2]。2015年,FCN[30]将逐像素分类的思想扩展到深度网络,在mIoU(一种特别适合分割的逐像素分类公式的逐像素评价指标)上显著优于所有先前的方法。

自从Fully Convolutional Networks (FCNs)的开创性工作以来,像素级分类已成为基于深度神经网络的语义分割中占主导地位的方法。现代语义分割模型专注于在最终特征图中聚合长距离上下文信息:ASPP使用不同的扩张率进行空洞卷积;PPM使用不同核大小的池化操作符;DANet、OCNet和CCNet使用不同变体的非局部块。最近,SETR和Segmenter用Vision Transformers替换传统的卷积骨干网络,从第一层开始捕获长距离上下文信息。然而,这些基于Transformer的语义分割方法仍然使用像素级分类的公式。需要注意的是,我们的MaskFormer模块可以将任何像素级分类模型转换为掩模分类设置,从而无缝地采用像素级分类的先进技术。

掩码分类通常用于实例级分割任务[20,24]。这些任务需要动态数量的预测,使得每像素分类的应用具有挑战性,因为它假设静态数量的输出。Omnipresent Mask R-CNN[21]使用全局分类器对掩码建议进行分类,用于实例分割。DETR[4]进一步采用了Transformer[41]设计,可以同时处理物和物的分割,用于全景分割[24]。然而,这些掩码分类方法需要对边界框进行预测,这可能会限制它们在语义分割中的使用。最近提出的Max-DeepLab[42]消除了使用条件卷积进行全视分割时对框预测的依赖[39,44]。然而,除了主要的掩码分类损失外,它还需要多个辅助损失(即实例识别损失、掩码- id交叉熵损失和标准的每像素分类损失)。

3 From Per-Pixel to Mask Classification

在本节中,我们首先描述如何将语义分割表述为逐像素分类或掩码分类问题。然后,我们在Transformer解码器的帮助下引入掩码分类模型的实例化[41]。最后,我们描述了简单的推理策略,将掩码分类输出转换为任务相关的预测格式

3.1 Per-pixel classification formulation

  • y=\left \{ p_{i} |p_{i}\epsilon\Delta ^{K}\right \}_{i=1}^{H\cdot W}对于逐像素分类,在预测H×W图像的每个像素在所有可能的K个类别上的概率分布,\Delta ^{K}是k维概率单纯形(概率是非负的,并且总和为1)
  • y^{gt}=\left \{y_{i}^{gt}|y_{i}^{gt}\epsilon \left \{ 1,...,K \right \} \right \}_{i=1}^{H\cdot W}为ground truth类别标签,给定每一个像素
  • 应用每个像素的交叉熵(负对数似然)损失,L_{pixel-cls}(y,y^{gt})=\sum _{i=1}^{H\cdot W}-logp_{i}(y_{i}^{gt})

3.2 Mask classification formulation 

  • 将图像划分/分组为N个区域(N不需要等于K),用二进制掩码表示\left \{ m_{i}| m_{i}\epsilon \left [ 0,1 \right ]^{H\times W} \right \}_{i=1}^{N}
  • z=\left \{ (p_{i},m_{i}) \right \}_{i=1}^{N},  z定义为N个概率掩码对的集合
  • 概率分布p_{i}\epsilon \Delta ^{K+1}除了K个类别标签外,还包含一个辅助的“无对象”标签(\varnothing)。\varnothing不对应于K个类别中的任何一个的掩码
  • 掩码分类允许使用相同的关联类进行多个掩码预测,使其适用于语义级和实例级分割任务。

训练掩模分类模型所需的匹配过程:

  • 在训练过程中,需要将预测集合z和N^{gt}个真实标签段z^{gt}行匹配。z^{gt}=\left \{ (c_{i}^{gt},m_{i}^{gt})|c_{i}^{gt}\epsilon \left \{ 1,...,K \right \} ,m_{i}^{gt}\epsilon \left \{ 0,1 \right \}^{H\times W}\right \}_{i=1}^{N^{gt}}
  • 其中,c_{i}^{gt}是第i个真实标签段的类别,m_{i}^{gt}是第i个真实标签段的二进制掩模。由于预测集合z和真实标签段z^{gt}的大小通常不同,因此我们假设N≥N^{gt},并使用“no object”标记\varnothing填充真实标签集合,以便进行一对一匹配。这个过程是为了确保每个预测都有一个对应的真实标签段。 
  • 在语义分割任务中,如果预测的数量N与类别标签的数量K相匹配,那么可以进行一个简单的固定匹配。在这种情况下,第i个预测将与具有类别标签i的真实区域匹配,并且如果真实标签中没有具有类别标签i的区域,则匹配为\varnothing
  • 基于二部图匹配的分配方法比固定匹配方法表现更好。与DETR不同的是,DETR使用边界框来计算匹配问题中预测zi和真实标签z_{j}^{gt}之间的分配成本,而我们直接使用类别和掩模预测进行匹配。
  • 具体来说,我们使用了一个损失函数,即-p_{i}(c_{j}^{gt})+L_{mask}(m_{i},m_{j}^{gt}),其中Lmask是一个二进制掩模损失。
  • 为了训练模型参数,给定匹配,主掩码分类损失Lmask-cls由每个预测段的交叉熵分类损失和二值掩码损失Lmask组成:

 

请注意,除了Lmask-cls之外,大多数现有的掩码分类模型还使用辅助损失(例如,边界盒损失[21,4]或实例区分损失[42])。在下一节中,我们将介绍一个简单的掩码分类模型,该模型允许仅使用Lmask-cls进行端到端训练。

3.3 MaskFormer 

图2:首先,我们使用一个骨干网络来提取图像特征F。然后,一个像素解码器逐渐上采样图像特征,提取每个像素的嵌入\varepsilon _{pixel}。接着,一个Transformer解码器关注图像特征,并生成N个每个段的嵌入Q。这些嵌入独立地生成N个类别预测和N个相应的掩模嵌入\varepsilon _{mask}。最后,模型通过像素嵌入\varepsilon _{pixel}和掩模嵌入\varepsilon _{mask}之间的点积,再加上一个sigmoid激活函数,预测N个可能重叠的二进制掩模。对于语义分割任务,我们可以通过简单的矩阵乘法将N个二进制掩模与它们的类别预测相结合,得到最终的预测结果(参见第3.4节)。需要注意的是,矩阵乘法的维度N在灰色中显示。

生成的N个每段嵌入Q是指MaskFormer模型中Transformer解码器生成的N个每个分割块的嵌入。这些嵌入是由Transformer解码器从图像特征中提取的全局信息,用于生成每个块的类别和掩模预测。在MaskFormer模型中,每个块都与一个类别和一个掩模相关联,因此需要生成N个每块嵌入Q来预测N个可能重叠的二进制掩模。

在MaskFormer模型中,Transformer解码器的输入是图像特征F和n个查询嵌入。这些查询嵌入是可学习的位置编码,用于指导Transformer解码器在图像特征中提取全局信息。在解码器的每个层中,查询嵌入都会被更新,并且用于计算注意力权重,以便将全局信息聚合到每个段的嵌入中。在MaskFormer模型中,默认情况下使用100个查询嵌入,但可以根据需要进行调整。

我们现在引入新的掩码分类模型MaskFormer,它计算N个概率掩码对z=\left \{ (p_{i},m_{i}) \right \}_{i=1}^{N}。该模型包含三个模块(见图2) 

  • 像素级模块,用于提取用于生成二值掩码预测的逐像素嵌入;
  • 一个Transformer模块,其中一堆Transformer解码器层计算N个每个段的嵌入
  • 一个分割模块,从这些嵌入中生成预测\left \{ (p_{i},m_{i}) \right \}_{i=1}^{N}
  • 在推断过程中,pi和mi被组合成最终的预测。这意味着MaskFormer模型通过这三个模块来生成掩模预测,并且在推断过程中将这些预测组合成最终的输出。

Pixel-level module 

  • 像素级模块以大小为H × W的图像作为输入。主干生成(通常)低分辨率图像特征图F\epsilon \mathbb{R}^{C_{F}\times \frac{H}{S}\times\frac{W}{S} },CF为通道数,S为特征图的步幅(CF取决于特定主干,我们在本工作中使用S = 32)。
  • 像素解码器逐渐对特征进行上采样以生成逐像素嵌入\varepsilon _{pixel}\epsilon \mathbb{R}^{C_{\varepsilon }\times H\times W}C_{\varepsilon }为嵌入维数.
  • 任何基于逐像素分类的分割模型都适合像素级模块设计,包括最近基于transformer的模型[37,53,29]。MaskFormer无缝地将这样的模型转换为掩码分类。

Transformer module 

  • Transformer模块使用标准Transformer解码器[41]从图像特征F和N个可学习的位置嵌入(即查询)中计算其输出,即每段N个C_{Q}维的嵌入Q\epsilon \mathbb{R}^{C_{Q}\times N},编码MaskFormer预测的每个段的全局信息。与[4]类似,解码器并行生成所有预测。

Segmentation module 

  • 分割模块应用线性分类器,然后在每段嵌入Q之上进行softmax激活,以产生每个段的类别概率预测\left \{ p_{i}\epsilon \Delta ^{K+1} \right \}_{i=1}^{N}
  • 注意,如果嵌入不对应于任何区域,分类器会预测一个额外的“无对象”类别\varnothing
  • 对于掩码预测,具有2个隐藏层的多层感知器(MLP)将每段嵌入Q转换为维度为C_{\varepsilon }的N个掩码嵌入\varepsilon _{mask}\epsilon \mathbb{R}^{ C_{\varepsilon}\times N}
  • 最后,我们得到每个二进制掩码预测m_{i}\epsilon \left [ 0,1 \right ]^{H\times W}通过第i个掩码嵌入和逐像素嵌入\varepsilon _{pixel}之间的点积,\varepsilon _{pixel}由像素级模块计算得出。
  • 点积之后是sigmoid激活,m_{i}\left [ h,w \right ]=sigmoid\left ( \varepsilon _{mask}\left [ :,i \right ]^{T} \cdot \varepsilon _{pixel}\left [ :,h,w \right ]\right )

在实践中发现,通过不使用softmax激活函数来强制掩模预测彼此之间互斥是有益的。在训练过程中,Lmask-cls损失结合了每个预测段的交叉熵分类损失和二进制掩模损失Lmask。为简单起见,使用了与DETR相同的Lmask,即一个focal loss和一个dice loss的线性组合,分别乘以超参数λfocal和λdice。

这意味着在模型训练中,作者采用了一种结合了分类损失和二进制掩模损失的损失函数,并且使用了特定的超参数来加权不同部分的损失。 

通常情况下,softmax激活函数会使得不同的类别之间的预测结果相互排斥,即每个像素只能被分配给一个类别。但是在这里,作者发现不使用softmax激活函数可以让不同的掩模预测之间不必互相排斥,这可能有助于提高模型的性能。

3.4 Mask-classification inference

首先,我们提出了一个简单的通用推理过程,将掩码分类输出\left \{ (p_{i},m_{i}) \right \}_{i=1}^{N}到全景或语义分割输出格式。然后,我们描述了一个专门为语义分割设计的语义推理过程。我们注意到,推理策略的具体选择在很大程度上取决于评估指标,而不是任务。

General inference

将图像分割成不同的段(segments)。具体来说,对于每个像素[h, w],通过将其分配给N个预测的概率-掩模对中的一个,使用arg max_{i:c_{i}\neq \varnothing }p_{i}(c_{i})\cdot m_{i}\left [ h,w \right ]作来实现。其中ci是每个概率-掩模对i中最可能的类别标签,c_{i}=arg max_{c\epsilon \left \{ 1,...,k,\varnothing \right \}}p_{i}(c),mi[h, w]是掩模预测概率。这个过程直观地将位置[h, w]的像素分配给概率-掩模对i,只有当最可能的类别概率pi(ci)和掩模预测概率mi[h, w]都很高时才会这样做。被分配到相同概率-掩模对i的像素形成一个段,其中每个像素都被标记为ci。对于语义分割,共享相同类别标签的段会被合并;而对于实例级别分割任务,概率-掩模对的索引i有助于区分同一类别的不同实例。最后,为了减少全景分割中的误检率,采用了先前的推理策略,即在推理之前过滤掉低置信度的预测,并移除那些被其他预测遮挡了大部分二进制掩模(mi > 0.5)的预测段。

arg max是一个数学术语,表示在一组值中找到最大值,并返回其对应的参数。在机器学习和深度学习中,arg max通常用于选择最可能的类别或预测结果。

Semantic inference 

语义推理是专门为语义分割设计的,通过简单的矩阵乘法来完成。我们经验地发现,在概率掩码对上的边缘化,即argmax_{c\epsilon \left \{ 1,...,k \right \}}\sum _{i=1}^{N}p_{i}\left ( c \right )\cdot m_{i}\left [ h,w \right ],比在一般推理策略中使用的将每个像素硬分配给概率掩码对产生更好的结果。argmax不包括“无对象”类别(\varnothing),因为标准语义分割要求每个输出像素都有一个标签。注意,该策略返回一个逐像素类概率\sum _{i=1}^{N}p_{i}\left ( c \right )\cdot m_{i}\left [ h,w \right ],然而,我们观察到,直接最大化每像素的类似然会导致较差的性能。我们假设梯度均匀分布于每个查询,这使训练变得复杂。

4 Experiments

我们通过在语义分割和全景分割数据集上显示最先进的结果,证明了MaskFormer无缝地统一了语义级和实例级分割任务。然后,我们删除了MaskFormer设计,证实了所观察到的语义分割的改进确实源于从逐像素分类到掩码分类的转变。

数据集。我们使用四个广泛使用的语义分割数据集来研究MaskFormer:来自SceneParse150挑战[54]的ADE20K[55](150个类),COCO-Stuff-10K[3](171个类),cityscape[15](19个类)和Mapillary远景[34](65个类)。此外,我们使用了在开放词汇表设置中标注的ADE20K-Full[55]数据集(我们保留了874个类,这些类存在于训练集和验证集中)。对于panotic分割评估,我们使用COCO[28,3,24](80个“事物”和53个“东西”类别)和ADE20K-Panoptic[55,24](100个“事物”和50个“东西”类别)。请参阅附录了解所有使用数据集的详细描述。

评价指标。对于语义分割,标准度量是mIoU (mean Intersection-overUnion)[18],这是一个直接对应于逐像素分类公式的逐像素度量。为了更好地说明分割方法之间的差异,在我们的研究中,我们用PQSt (PQ stuff)补充了mIoU[24],这是一种按区域衡量的指标,将所有类视为“东西”,并平等地评估每个部分,而不管其大小。我们报告了所有数据集3次运行的中位数,除了cityscape,我们报告了5次运行的中位数。对于全景分割,我们使用标准的PQ(全景质量)度量[24],并报告单次运行结果,因为训练成本过高。

基线模型。在右边,我们绘制了使用的逐像素分类基线。PerPixelBaseline使用MaskFormer的像素级模块,直接输出每个像素的类分数。为了进行公平的比较,我们设计了PerPixelBaseline+,它在PerPixelBaseline中添加了变压器模块和掩码嵌入MLP。因此,PerPixelBaseline+和MaskFormer仅在公式上有所不同:逐像素与掩码分类。请注意,这些基线是用于消融的,我们也将MaskFormer与最先进的逐像素分类模型进行比较。

4.1 Implementation details

Backbone.MaskFormer与任何骨干架构兼容。在我们的工作中,我们使用了标准的基于卷积的ResNet[22]骨干网(R50和R101分别有50层和101层)和最近提出的基于transformer的swan - transformer[29]骨干网。此外,我们使用了R101c模型[7],该模型将R101的第一个7 × 7卷积层替换为3个连续的3 × 3卷积,该模型在语义分割界中很流行[52,8,9,23,50,11]。

像素解码器。图2中的像素解码器可以使用任何语义分割解码器(例如[9-11])来实现。许多逐像素分类方法使用像ASPP[7]或PSP[52]这样的模块来收集和分布不同位置的上下文。Transformer模块关注所有图像特征,收集全局信息以生成类预测。这种设置减少了对每个像素模块进行大量上下文聚合的需求。因此,对于MaskFormer,我们基于流行的FPN[26]架构设计了一个轻量级的像素解码器。

在FPN基础上,对解码器中的低分辨率特征图进行2倍上采样,并与主干网中相应分辨率的投影特征图求和;用1 × 1卷积层进行投影,匹配特征映射的通道维度,然后使用GroupNorm (GN)[45]。接下来,我们将求和的特征与附加的3 × 3卷积层融合,然后进行GN和ReLU激活。我们从步幅32的特征图开始重复这个过程,直到我们得到步幅4的最终特征图。最后,我们应用单个1 × 1卷积层来获得逐像素嵌入。像素解码器中的所有特征映射都具有256个通道的维度。

Transformer decoder.我们使用与DETR[4]相同的Transformer解码器设计。N个查询嵌入被初始化为零向量,我们将每个查询与一个可学习的位置编码相关联。默认情况下,我们使用6个Transformer解码器层,有100个查询,并且,遵循DETR,我们在每个解码器之后应用相同的损失。在我们的实验中,我们观察到MaskFormer对于单个解码器层的语义分割也是有竞争力的,而对于实例级分割,需要多层才能从最终预测中去除重复。

Segmentation module.图2中的多层感知器(MLP)具有2个256通道的隐藏层,用于预测掩模嵌入\varepsilon _{mask},类似于DETR中的盒头。每像素\varepsilon _{pixel}和mask \varepsilon _{mask}嵌入都有256个通道。

Loss weights.我们使用focal loss [27] and dice loss[33]作为掩模损失,L_{mask}\left ( m,m^{gt} \right )=\lambda _{focal}L_{focal}\left ( m,m^{gt} \right )+\lambda _{dice}L_{dice}\left ( m,m^{gt} \right ),并将超参数设置为λfocal = 20.0, λdice = 1.0。根据DETR[4],将分类损失中“no object”(\varnothing)的权重设为0.1。

4.2 Training settings

语义分割。我们使用Detectron2[46],并遵循每个数据集的常用训练设置。更具体地说,我们使用AdamW[31]和poly[7]学习率调度,ResNet[22]主干的初始学习率为10−4,权重衰减为10−4,swing - transformer[29]主干的初始学习率为6·10−5,权重衰减为10−2。

如果没有特别说明,主干是在ImageNet-1K上预训练的[35]。CNN骨干网采用0:1的学习率乘数,Transformer骨干网采用1.0的学习率乘数。数据增强采用标准的随机尺度抖动(0.5 ~ 2.0)、随机水平翻转、随机裁剪、随机颜色抖动等方法[14]。对于ADE20K数据集,如果没有特别说明,我们使用512 × 512的裁剪大小,16的批处理大小,并训练所有模型进行160k次迭代。对于ADE20K- full数据集,我们使用与ADE20K相同的设置,除了我们训练所有模型进行20万次迭代。对于COCO-Stuff-10k数据集,我们使用640 × 640的裁剪大小,批处理大小为32,并训练所有模型进行60k次迭代。所有模型都使用8个V100 gpu进行训练。我们报告了单尺度(s)推理和多尺度(m)推理的性能,水平翻转和尺度为0.5,0.75,1.0,1.25,1.5,1.75。参见附录的城市景观和Mapillary远景设置。

展示全景的分割。我们遵循与语义分割完全相同的架构、损失和训练过程。唯一的区别是监督:即,语义分割中的类别区域掩码与全景分割中的对象实例掩码。我们严格遵循DETR[4]设置,在COCO全景分割数据集[24]上训练我们的模型,以进行公平的比较。在ADE20K全景分割数据集上,我们遵循语义分割设置,但训练时间更长(720k迭代),并使用更大的裁剪尺寸(640 × 640)。COCO模型使用64个V100 gpu进行训练,ADE20K实验使用8个V100 gpu进行训练.我们使用一般推论(第3.4节),其参数如下:我们过滤掉类置信度低于0.8的掩模,并将对最终全景分割的贡献小于掩模面积80%的掩模设置为VOID。我们报告了单尺度推理的性能。

表1:基于ADE20K的150个分类的语义分割。基于掩模分类的MaskFormer在使用更少的参数和更少的计算时优于最佳的逐像素分类方法。我们报告了单尺度(s.s)和多尺度(m.s)的±std推断结果。对于给定的作物大小计算FLOPs。每秒帧数(fps)是在批量大小为1.3的V100 GPU上测量的,在ImageNet-22K上预训练的骨干网用†标记。

表2:MaskFormer与4个语义分割数据集上的逐像素分类基线。MaskFormer的改进越大,类的数量越大。我们使用ResNet-50骨干网,并报告ADE20K, COCO-Stuff和ADE20K- full的单尺度mIoU和PQSt,而对于更高分辨率的城市景观,我们使用更深的ResNet-101骨干网如下[8,9]。

4.3 Main results

语义分割。在表1中,我们比较了MaskFormer和最先进的逐像素分类模型在ADE20K值集上的语义分割。在相同的标准CNN骨干网(如ResNet[22])下,MaskFormer比DeepLabV3+[9]高出1.7 mIoU。MaskFormer还与最近的Vision Transformer[17]主干(例如Swin Transformer[29])兼容,实现了55.6 mIoU的新技术,比之前的核心状态[29]提高了2.1 mIoU。观察到,MaskFormer在参数更少和推理时间更快的情况下优于最佳的基于逐像素分类的模型。这一结果表明,掩码分类公式在语义分割方面具有很大的潜力。测试集的结果见附录

在ADE20K之外,我们进一步将MaskFormer与表2中的co - stuff - 10k、ADE20K- full以及cityscape的基线进行比较,并参考附录与这些数据集上最先进的方法进行比较。当类别数量较大时,MaskFormer对PerPixelBaseline+的改进更大:对于只有19个类别的cityscape, MaskFormer的表现与PerPixelBaseline+相似;而对于ADE20K-Full,它有847个类,MaskFormer优于PerPixelBaseline+ 3.5 mIoU。

尽管MaskFormer在cityscape的mIoU方面没有任何改善,但PQSt指标增加了2.9 PQSt。我们发现MaskFormer在识别质量(RQSt)方面表现更好,而在每像素分割质量(SQSt)方面落后(详细数字请参阅附录)。这一观察结果表明,在类识别相对容易解决的数据集上,基于掩码分类方法的主要挑战是像素级精度(即掩码质量)。

表3:133个类别COCO全视val的全景分割。MaskFormer无缝地统一了语义级和实例级分割,而无需修改模型架构或丢失。我们的模型取得了较好的结果,可以看作是对DETR的无箱化简[4]。主要的改进来自“东西”类(PQSt),它们用边界框表示是不明确的。对于MaskFormer (DETR),我们使用与DETR完全相同的后处理。注意,在此设置下,MaskFormer的性能仍然优于DETR (+2.2 PQ)。我们的模型也优于最近提出的Max-DeepLab[42],不需要复杂的辅助损失,同时效率更高。FLOPs计算为100个验证图像的平均FLOPs (COCO图像的大小不同)。每秒帧数(fps)是在批大小为1的V100 GPU上通过计算整个val集(包括后处理时间)的平均运行时间来测量的。在ImageNet-22K上预训练的主干用†标记。

展示全景的分割。在表3中,我们将相同的MaskFormer模型与DETR[4]在COCO全景val集上进行了比较。为了配合标准的DETR设计,我们在CNN骨干网后增加了6层Transform编码器。与DETR不同,我们的模型不预测边界框,而是直接预测掩码。MaskFormer实现了更好的结果,同时比DETR更简单。为了从模型本身和我们的后处理推理策略中分离出改进,我们按照DETR后处理(MaskFormer (DETR))运行我们的模型,并观察到这种设置比DETR高出2.2 PQ。总的来说,我们观察到PQSt比PQTh有更大的改善。这表明,用边界框检测“东西”是次优的,因此,基于盒的分割模型(例如,Mask R-CNN[21])不适合语义分割。MaskFormer也优于最近提出的Max-DeepLab[42],而不需要特殊的网络设计以及复杂的辅助损失(即实例识别损失、mask-ID交叉熵损失和[42]中的每像素分类损失)。MaskFormer首次将语义级和实例级分割与完全相同的模型、损失和训练管道统一起来。

我们在ADE20K数据集的全景分割版本上进一步评估了我们的模型。我们的模型也达到了最先进的性能。详细的结果见附录。

4.4 Ablation studies

我们使用单个ResNet-50骨干对MaskFormer进行了一系列消融研究[22]。

Per-pixel vs. mask classification.在表4中,验证了MaskFormer模型的性能提升是由于将范式转移到掩膜分类。首先,比较了PerPixelBaseline+和MaskFormer两个模型。这两个模型非常相似,只有三个不同之处:1)模型使用的是像素级分类还是掩膜分类,2)MaskFormer使用二部匹配,3)新模型使用了一种由焦点和Dice损失组合而成的掩膜损失,而PerPixelBaseline+则使用像素级交叉熵损失。首先,他们通过使用完全相同的损失函数训练PerPixelBaseline+并观察到没有改进来排除损失差异的影响。接下来,在表4a中,他们将PerPixelBaseline+与使用固定匹配的MaskFormer(MaskFormer-fixed)进行了比较,即N=K,并且分配方式与像素级分类设置完全相同。他们观察到MaskFormer-fixed比基准模型提高了1.8个mIoU,这表明从像素级分类转向掩膜分类确实是MaskFormer性能提升的主要原因。在表4b中,他们进一步比较了使用二部匹配训练的MaskFormer-fixed和MaskFormer-fixed,发现二部匹配不仅更灵活(允许预测少于总类别数的掩膜),而且还能产生更好的结果。

二部匹配是一种图论中的概念,通常用于解决两个集合之间的匹配问题。在计算机视觉和深度学习领域,二部匹配常常用于目标跟踪、实例分割和关键点检测等任务中。 在上下文中,二部匹配被用于将模型的预测结果与真实标签进行匹配。具体来说,在全景分割任务中,二部匹配可以用于将模型生成的掩码与真实标签进行匹配,以便评估模型的性能。通过使用二部匹配,模型可以更灵活地进行匹配,允许预测少于总类别数的掩码,并且通常能够产生更好的结果。

表4:语义分割的逐像素分类与掩码分类。所有模型都使用150个查询来进行公平的比较。我们用150个分类对ADE20K模型进行了评价。4a: PerPixelBaseline+和MaskFormer-fixed使用类似的固定匹配(即按类别索引匹配),这个结果证实了从逐像素到掩码分类的转变是关键。4b:二分匹配不仅更灵活(可以比总类数做出更少的预测),而且给出了更好的结果。

查询数。右表显示了MaskFormer在不同类别的数据集上使用不同数量的查询进行训练的结果。具有100个查询的模型在所研究的数据集中始终表现最好。这表明我们可能不需要调整查询的数量,而不是调整类别或数据集的数量。有趣的是,即使有20个查询,MaskFormer也优于我们的逐像素分类基线。

我们进一步计算在训练集图像中平均存在的类的数量。我们发现这些统计数据在数据集之间是相似的,尽管数据集的总类别数量不同:ADE20K每张图像8.2类(150类),COCO-Stuff-10K每张图像6.6类(171类),ADE20K- full每张图像9.1类(847类)。我们假设每个查询都能够从多个类别中捕获掩码。

右图显示了我们的MaskFormer模型在相应数据集的验证集上的每个查询(按降序排序)预测的唯一类别的数量。有趣的是,每个查询的唯一类别的数量并不遵循统一的分布:有些查询捕获的类比其他查询捕获的多。我们试图分析MaskFormer是如何查询组类别的,但我们没有观察到任何明显的模式:有些查询捕获具有相似语义或形状的类别(例如,“房子”和“建筑”),但也有查询捕获完全不同的类别(例如,“水”和“沙发”)。

Number of Transformer decoder layers.有趣的是,即使只有一个Transformer解码器层的MaskFormer也可以很好地进行语义分割,并且比我们的6层解码器PerPixelBaseline+的性能更好。然而,对于全景分割,需要多个解码器层来达到有竞争力的性能。详细的讨论请参见附录。 

5 Discussion

 我们的主要目标是表明掩码分类是一种通用的分割范例,可以作为语义分割的逐像素分类的竞争替代品。为了更好地理解其在分割任务中的潜力,我们专注于探索独立于其他因素(如架构、损耗设计或增强策略)的掩膜分类。我们选择DETR[4]架构作为我们的基准,因为它很简单,并且故意尽可能少地对架构进行更改。因此,MaskFormer可以看作是DETR的“无框”版本。

表5:Matching with masks vs. boxes. 我们将使用基于盒的匹配的DETR[4]与分别使用基于盒和基于掩码匹配训练的两个MaskFormer模型进行了比较。为了在MaskFormer中使用基于盒的匹配,我们在模型中添加了一个额外的盒预测头,就像在DETR中一样。请注意,使用基于盒的匹配时,MaskFormer的性能与DETR相当,而使用基于掩码的匹配时,它显示出更好的结果。对COCO全景val集进行了评价。

在本节中,我们将详细讨论MaskFormer和DETR之间的差异,并展示如何需要这些更改来确保掩码分类性能良好。首先,为了实现纯掩码分类设置,我们去除盒预测头,并使用掩码代替盒在预测段和 ground truth segments之间进行匹配。其次,我们用更高效的基于每幅图像fpn的头取代了DETR中使用的计算量大的每查询掩码头,使端到端无盒监督训练成为可能。 

per-query mask head(每个查询的掩码头)指的是在模型中用于生成每个查询的掩码的部分或模块。在一些视觉任务中,如目标检测和分割,模型可能需要生成一组掩码来表示每个目标或每个查询的区域。per-query mask head 负责接收查询的特征表示,并输出与每个查询相关的掩码信息。这样的掩码可以用来指示目标的位置、形状等信息,从而帮助模型更好地理解和处理图像中的目标。

通常需要使用边界框(bounding box)作为监督信息来指导模型的训练。这是因为边界框可以提供目标的位置和大小信息,有助于模型更准确地预测目标的位置和类别。但是,在一些情况下,边界框的标注可能比较困难或者不可用,这时就需要使用无需边界框监督的方法进行训练。这种方法通常使用像素级别的标注信息,例如掩码(mask)或关键点(keypoint)等,来指导模型的训练。在这种情况下,模型不再需要使用边界框作为监督信息,而是直接使用像素级别的标注信息进行训练。这种方法可以使模型更加灵活,适用于更多的场景,并且可以提高模型的性能。

模型训练中使用掩码进行匹配(matching with masks)相对于使用边界框进行匹配(matching with boxes)具有更大的优势。通过比较使用两种不同匹配方式训练的MaskFormer模型的性能,发现直接使用掩码进行匹配的MaskFormer模型具有明显的优势。 具体来说,在训练MaskFormer模型时,一种方式是使用边界框进行匹配,这需要为MaskFormer添加一个额外的边界框预测头;另一种方式是直接使用掩码进行匹配。直接使用掩码进行匹配的MaskFormer模型具有更好的性能。推测,使用边界框进行匹配相对于使用掩码进行匹配更加模糊不清,特别是对于“stuff”类别而言,因为完全不同的掩码可能具有相似的边界框,而“stuff”区域通常在图像中占据较大的区域,因此使用掩码进行匹配可以更准确地捕捉这些区域的特征。

MaskFormer掩码头减少计算。表5中的结果还显示,当使用相同的匹配策略时,MaskFormer的性能与DETR相当。这表明,模型之间的掩模头设计的差异不会显著影响预测质量。然而,与DETR中使用的原始掩膜头相比,新头的计算和内存成本显着降低。在MaskFormer中,我们首先对图像特征进行上采样,以获得高分辨率的逐像素嵌入,并直接在高分辨率下生成二进制掩码预测。请注意,来自上采样模块(即像素解码器)的逐像素嵌入在所有查询中共享。相比之下,DETR首先生成低分辨率的注意力图,并对每个查询应用独立的上采样模块。因此,DETR中的掩码头的计算开销是MaskFormer中的掩码头的N倍(其中N是查询次数)。

6 Conclusion

语义级和实例级图像分割的范式差异导致每个任务的模型完全不同,阻碍了图像分割的整体发展。我们表明,一个简单的掩模分类模型可以优于最先进的逐像素分类模型,特别是在存在大量类别的情况下。我们的模型在不需要改变模型结构、损失或训练过程的情况下,在全景分割方面仍然具有竞争力。

我们希望这种统一能够激发跨语义级和实例级分割任务的共同努力。

  • 23
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值