点击下方“PaperEveryday”,每天获得顶刊论文解读
题目:Prototype-Based Semantic Segmentation基于原型的语义分割
作者:Tianfei Zhou; Wenguan Wang
摘要
基于深度学习的语义分割解决方案在过去十年中取得了令人信服的结果。这些解决方案涵盖了不同的网络架构(基于FCN或基于注意力),以及各种掩码解码方案(基于参数化softmax或基于像素查询)。尽管存在分歧,但可以通过将softmax权重或查询向量解释为可学习的类原型,将它们归为统一的框架。基于这一原型视角,我们揭示了参数化分割模式中的固有局限性,并据此开发了一种基于不可学习原型的非参数化替代方法。与先前的方法相比,这些方法以完全参数化的方式为每个类学习单一的权重/查询向量,我们的方法将每个类表示为一组不可学习的原型,仅依赖于该类中训练像素的平均特征。因此,逐像素预测通过非参数化的最近原型检索来实现。这使我们的模型能够通过优化嵌入像素和锚定原型之间的排列来直接塑造像素嵌入空间。它能够在保持可学习参数数量不变的情况下,处理任意数量的类别。通过对基于FCN和基于Transformer的分割模型(如HRNet、Swin、SegFormer、Mask2Former)及其主干网络(如ResNet、HRNet、Swin、MiT)的实证评估,我们的非参数化框架在标准分割数据集(如ADE20K、Cityscapes、COCO-Stuff)以及大词汇表语义分割场景中表现出优异的性能。我们希望这项研究能够促使对当前语义分割模型设计的重新思考。
关键词
I. 引言
作为计算机视觉中的一项基础任务,语义分割旨在将图像划分为具有不同语义标签的区域。它在自动驾驶和机器人等领域有着广泛的应用,并且在过去十年中在研究领域中获得了显著的关注。到目前为止,领先的分割模型 [2], [3], [4], [5], [6], [7] 从一个共同的前身演变而来,即全卷积网络(FCN)[8]。尽管它们具有多样化的模型设计和显著的结果,基于FCN的方法通常会对逐像素特征嵌入应用参数化softmax进行密集预测(如图1(a))。
最近,Vision Transformer [9] 的成功推动了基于注意力的模型在语义分割中的显著进展。其中许多“非FCN”模型,如[10], [11],直接遵循传统的掩码解码方案,通过稠密特征嵌入(从patch token序列中派生)估计softmax分布。同时,其他方法[12], [13], [14], [15], [16]遵循Transformer在其他领域中的良好实践[17], [18], [19],并采用了像素查询策略(如图1(b)),即利用一组可学习向量来查询密集的嵌入以进行掩码预测。他们推测学习到的查询向量可以捕捉类的属性,但缺乏深入的分析。
意识到这两种不同的掩码解码策略,自然会提出两个关键问题:
它们之间的关系和区别是什么?
如果可学习的查询向量确实隐含地捕捉到了一些数据的内在属性,有没有更好的方法来实现这一点?
回答这些问题可以为现代分割模型设计提供有价值的见解,并促使我们从原型的角度重新思考这个任务。原型分类的想法[20]是经典且直观的:数据样本根据它们与类代表性原型的接近程度进行分类。它可以追溯到最近邻算法[21],并在认知科学中找到证据[22], [23]。
有了这个视角,在第III节中,我们首先通过强调从基于softmax的到基于像素查询的,从基于FCN的到基于注意力的方法,大多数现代分割方法都可以归入一个统一的类别:基于可学习原型的参数化模型,回答了问题1。对于具有个语义类别的分割任务,大多数现有方法寻求直接学习个类原型——softmax权重或查询向量——用于参数化的逐像素分类。因此,问题2变得更加基础:
3. 基于可学习原型的参数化范式的局限性是什么?
4. 我们如何解决这些局限性?- 当前的模型通常为每个类学习一个单一原型,这不足以捕捉复杂的类内变化。原型是以完全参数化的方式学习的,未考虑其代表能力。
- 要将图像特征张量映射到语义掩码,至少需要的参数进行原型学习。这损害了模型的泛化能力[24],尤其是在大词汇表情况下(即当很大时);例如,如果有个类别,,模型仅需学习原型参数就需要百万个参数。与此同时,如此大量的可学习参数更容易导致过拟合,尤其是在数据量较少的情况下[25], [26]。
- 广泛使用的交叉熵损失仅优化类内和类间距离之间的相对关系[27], [28], [29],忽略了像素和原型之间的实际距离,例如类内紧凑性。
为响应问题4,在第IV节中,我们提倡基于不可学习原型的非参数化分割框架。基于原型学习[30], [31]和度量学习[32], [33]的思想,我们的方法充分意识到其参数化对应方法的局限性。无论特定的主干架构(基于FCN或基于注意力),我们的方法是通用的,并为分割模型设计和训练带来了新的见解。对于模型设计,我们的方法明确地将子类中心设为像素嵌入空间中的原型。每个像素数据都被预测为与最近的原型同类,而无需依赖额外的可学习参数。对于训练,由于原型代表了数据集的典型特征,我们可以直接将已知的归纳偏差(例如类内紧凑性,类间分离)作为额外的优化标准,并有效地塑造整个嵌入空间,而不仅仅是优化预测准确性。- 每个类由一组原型表示,这些原型由具有相应语义类别的所有训练像素样本估计得出。这使我们的模型能够更好地捕捉类的特征和类内变化。由于原型具有明确的意义,可解释性也得到了增强——每个像素的预测可以直观地理解为其嵌入空间中最近的类中心的参考[34], [35]。
- 由于我们设计的非参数化性质,我们提高了模型的泛化能力。大词汇表语义分割可以更高效地处理,因为可学习的原型参数数量不再受类别数量的限制(即 vs )。
- 除了标准的交叉熵标准,我们还设计了基于原型的度量学习,以将像素嵌入空间结构化,这最终有利于分割预测。
通过回答问题1-4,我们将现有方法形式化为基于可学习原型的参数化语义分割框架,并将这一领域与原型学习和度量学习联系起来。我们在第II节中进行了详细的文献综述和相关讨论。在第V-B节中,我们展示了我们的方法在标准数据集(如ADE20K [36]、Cityscapes [37]、COCO-Stuff [38])上的卓越表现,使用的是领先的基于FCN/注意力的分割模型(如HRNet [39]、Swin [40]、SegFormer [11]、Mask2Former [14])和主干网络(如ResNet [41]、HRNet [39]、Swin [40]、MiT [11])。在第V-C节中,我们展示了我们的方法在大词汇表语义分割中的一致表现。在第V-D节中,我们检验了我们的方法在领域自适应语义分割中的效果。通过第V-E节中的一系列消融研究,我们验证了我们理念的力量和关键设计的有效性。随后,我们在第VI节中提供了局限性分析。本文在第VII节中得出结论,并对潜在的探索方向进行了深入的思考。这项工作基于我们的会议论文[1],并在多个方面进行了实质性的扩展。首先,我们通过引入一个内存库来存储前几个批次中的像素嵌入,从而增强了框架。内存库存储了大量像素用于聚类,促进了更具信息量的类内模式挖掘(见第IV-B2节)。其次,伴随着内存机制,我们利用了一种贪婪的聚类算法,以规避大规模像素聚类中的计算成本增加,同时保持准确性。第三,为了彻底检验我们模型的有效性,我们提供了许多新的实验,例如与更近期的参数化模型Mask2Former [14]的对比(表I–IV),在Cityscapes测试集上的结果(表III),以及轻量级主干网络的结果(表V)。第四,我们在第V-D节中评估了我们方法在领域泛化方面的表现。第五,设计了更多的消融研究,以定量研究我们模型的核心组件(见第V-E节)。最后但同样重要的是,在第VI和第VII节中,我们对我们方法的局限性和潜力进行了深入的讨论,期待能够促进分割模型设计方面的研究努力。III. 现有的语义分割模型作为参数化原型学习
接下来我们首先形式化第I节中提到的两种掩码解码策略,然后从参数化原型学习的统一视角回答问题1。A. 参数化Softmax投影
几乎所有类似FCN和许多基于注意力的分割模型都采用了这种策略。它们的模型由两个可学习部分组成:- 一个分类器(即投影头),将像素特征投影到语义标签空间。
对于每个像素样本,其嵌入向量由提取,并送入进行分类:其中是将分配给类的概率。是一个逐像素的线性层,参数化为;是第类的可学习投影向量;为了简洁起见,忽略了偏差项。B. 参数化像素查询
一些基于注意力的分割网络[10], [11]以更“Transformer式”的方式工作:给定像素嵌入,学习一组个查询向量,即,以生成对个类别的概率分布:C. 基于原型的分类
基于原型的分类[20], [108]已被研究很长时间,最早可以追溯到机器学习中的最近邻算法[21]和认知科学中的原型理论[22], [23]。其流行源于其直观的思想:通过原型表示类,并通过参考原型进行分类。设为一组原型,它们代表了其对应的类。对于一个数据样本,通过将与进行比较,并将获胜原型的类作为响应进行预测:其中和是数据样本和原型在特征空间中的嵌入,表示距离度量,通常设为距离(即)[119],但也可以应用其他接近度。通过方程(3)–(4),我们准备好回答问题1。两种方案都基于可学习原型;它们是参数化模型,因为它们为每个类学习一个原型,即线性权重或查询向量(即)。因此可以将基于softmax投影的方法视为“秘密”学习了查询向量。至于区别,除了不同的距离度量(即内积与余弦相似度)外,基于像素查询的方法[10], [11]可以将查询输入到交叉注意力解码器层中进行跨类上下文交换,而softmax投影方法仅在softmax层中利用学习到的类权重。参数化原型学习中的固有问题
通过参数化原型学习的视角,显现出该领域中一些固有但长期被忽视的问题:- 所有基于原型的方法固有的一个基本问题是如何选择忠实地代表其相应类的原型(称为原型选择或参考选择[110])。然而,现有的语义分割算法通常仅使用一个原型来描述每个类,忽略了类内变化[100], [145]。此外,这些算法以完全参数化的方式获取原型,缺乏对其代表性能力的系统调查。
- 可学习的原型参数的数量,即,随着类别数量的增加而增长。这可能会影响可扩展性,尤其是在存在大量类别的情况下。例如,如果有800个类别且像素特征的维度为512,仅用于原型学习的参数至少需要0.4M个,使得大词汇表语义分割任务变得困难。此外,如果目标是用10个原型来表示每个类,而不仅仅是一个,那么我们需要学习4M个原型参数。这显著增加了模型的复杂性,并且也提高了模型过拟合的风险。
- 方程(3)直观地表明,基于原型的学习者通过在样本和原型之间进行度量比较[124]来进行分类。然而,现有算法通常通过直接优化像素级预测的准确性(通常通过交叉熵损失)来监督密集的分割表示。然而,这些算法往往忽视已知的归纳偏差[121], [146],例如类内紧凑性,这将阻碍所学习到的分割表示的区分潜力,如表示学习文献所指出的那样[125], [147], [148]。
在解决问题3之后,我们将详细介绍基于不可学习原型的非参数化分割方法,它可以作为问题4的有力回应。IV. 基于不可学习原型的非参数化语义分割
如图2所示,我们的框架建立在非参数化分割的基础上,利用一组不可学习的类原型进行密集预测,并通过基于原型的度量学习方案直接监督嵌入。A. 基于不可学习原型的像素分类
通常,首先采用一个编码器网络(基于FCN或基于注意力),即,将输入图像映射到一个三维特征张量。对于逐像素的分类任务,与现有语义分割模型自动学习个类权重${w_c \in \mathbb{R}^D }{c=1}^CC{e_c \in \mathbb{R}^D }{c=1}^CCK{p_{c,k} \in \mathbb{R}^D }{c,k=1}^{C,K}c \in {1,...,C}K{p{c,k}}{k=1}^Kp{c,k}\phick\phi$)。类似于(3),每个像素的类预测通过获胜者全取的方式进行分类:其中表示像素的归一化嵌入,即,并且距离度量定义为负的余弦相似度,即。通过这种基于示例的推理模式,我们首先定义像素在类上的概率分布:其中是像素类距离,即与类的最近原型的距离。给定像素的真实类别,即,因此可以使用标准的交叉熵损失进行训练:在我们的案例中,(7)可以被视为将像素推向其对应类别最近的原型,并远离其他不相关类的近原型。然而,仅采用这样的训练目标是不够的,原因有两个:首先,(7)只考虑像素类距离,例如,而忽略了类内的像素原型关系,例如。例如,对于判别表示学习,期望像素被推得更靠近类的某个原型(即特别合适的模式),并远离类的其他原型(即无关但属于类内的模式)。方程(7)无法捕捉这一性质。其次,由于像素类距离在所有类中归一化(参见(6)),(7)只优化类内(即)和类间(即)距离之间的相对关系,而不是规范像素类余弦距离。例如,当类内距离相对小于其他类间距离时,(7)的惩罚将很小,但实际的类内距离可能仍然很大[27], [28]。接下来,我们将详细说明类内在线聚类策略,然后详细介绍依赖于原型分配(即聚类结果)的两个额外训练目标,分别解决上述两个问题。B. 类内在线聚类
我们采用在线聚类进行原型选择和分配:同类像素样本被分配给属于该类的原型,然后根据分配结果更新原型。聚类自然带来了一个瓶颈[149],迫使模型发现类内判别性模式,同时丢弃实例特定的细节。因此,原型作为子聚类中心被选为典型的类别代表。在线进行聚类使我们的方法能够扩展到大规模数据,而不是需要多次通过整个数据集进行特征计算的离线聚类[139]。- 在线像素聚类: 形式上,给定一组属于类的像素(即),我们的目标是将像素映射到类的个原型。我们将这种像素到原型的映射表示为,其中是像素在个原型上的one-hot分配向量。通过最大化像素嵌入,即,与原型,即之间的相似度来优化:
其中表示全为1的维向量。唯一分配约束,即,确保每个像素仅被分配给一个原型。等分约束,即,则保证了平均每个原型至少被选择次[139]。这防止了所有像素样本被分配给单个原型的平凡解决方案,最终有利于原型的代表能力。为了解决(8),可以将放松为运输多面体的元素[140], [150]:其中是熵正则化,是控制分布平滑度的参数(随着增加,分布更平滑)。通过软分配松弛和额外的正则化项,问题(9)变得强凸(与初始问题(8)相比),并具有以下形式的唯一解[150], [151]:算法1: Sinkhorn-Knopp
可以通过一个简单的矩阵标定迭代算法,也称为Sinkhorn-Knopp算法[150],来计算问题(10)的解。基本上,它沿行和列迭代地规范化矩阵,使它们分别匹配(9)中的期望行和列边缘。这自然是两个块的块坐标下降。实现过程中只涉及几个矩阵-向量乘法,非常适合GPU架构的并行计算。然而,必须注意的是,该算法在每次迭代中会更新的个条目,当变得更大时,例如,当我们从过去的批次中获取大量像素进行更具信息量的聚类时(见第IV-B2节),仍会导致较高的计算成本。我们通过以下贪婪Sinkhorn算法解决此问题。算法2: 贪婪Sinkhorn
贪婪Sinkhorn算法[152]基于贪婪坐标下降。在每次迭代中,它仅更新最关键的行或列,这由函数确定,。这里,衡量了两个连续迭代之间的增益,其有效性在[152]中得到了验证。虽然不是度量,但很容易观察到,对于任意,是非负的(即),并且当且仅当时相等。以贪婪方式运行,该算法在每次行(或列)更新中仅更新(或)个条目。我们的实验证明,贪婪变体不仅保持了Sinkhorn-Knopp的性能,还大大提高了我们完整模型的训练效率。- 内存库机制: 类内在线聚类(第IV-B1节)的目标是为每个类挖掘出能够很好地表征样本的代表性模式(即原型)。一种自然的构建的方法是仅从当前的小批量中选择像素,从而进行批次聚类。然而,由于语义分割中的批次大小通常非常小(例如Cityscapes [37]为8,ADE20K [36]为16),仅从如此少量的样本中识别出真实的聚类结构是非常困难的。为了解决这个问题,我们为每个类别维护一个固定大小的内存库(即队列),用于缓存最近几个小批次中的像素特征。更具体地,对于每个类别,根据第IV-B1节中的聚类结果,从当前批次中随机采样(例如)个像素(小尺寸的聚类少于的像素将全部包含)。然后,将所有这些像素的嵌入推入队列中。这一策略高效且有效,我们没有观察到使用更复杂的采样技术(如[29]中的那些)能带来性能提升。在下一次训练迭代中,聚类使用的像素集将不仅包括来自相应小批次的所有像素,还包括在内存库中维护的历史像素。
C. 像素-原型对比学习
通过像素分配概率矩阵,我们将训练像素在线聚类为个类中的原型。在处理完当前批次中的所有样本后,每个像素被分配给类的第个原型,其中,且。为原型分配推导一个训练目标是很自然的,即最大化原型分配的后验概率。这可以被视为一种像素-原型对比学习策略,解决了(7)的第一个限制:其中,温度参数控制表示的集中程度。直观地说,(11)强制每个像素嵌入与其分配的“正”原型相似,并与其他个不相关的“负”原型不相似。与先前基于像素级度量学习的分割模型[29]相比,我们的方法仅需要个原型进行像素-原型对比计算,既不会造成大内存开销,也不需要大量的像素对比。D. 像素-原型距离优化
基于像素类/原型距离的相对比较,(7)和(11)激励了类间/簇间区分性,但较少考虑减少簇内变异,即使得属于同一原型的像素特征更加紧凑。因此,使用紧凑性感知损失来进一步规范表示,通过直接最小化每个嵌入像素与其分配原型之间的距离:请注意,和均为归一化。此训练目标最小化簇内变异,同时保持具有不同原型分配的特征之间的分离性,使得我们的模型对异常值更加鲁棒。E. 网络学习和原型更新
本质上,我们的模型是一种非参数化方法,通过直接优化像素嵌入空间来学习语义分割,而不是像以往的方法那样另外学习一组参数化的原型。它被称为非参数化,因为它直接从训练像素样本中构建原型假设。因此,特征提取器的参数通过随机梯度下降(SGD)来学习,通过最小化对所有训练像素样本的组合损失:同时,不可学习的原型,即,不是通过SGD学习的,而是作为相应嵌入像素样本的中心计算的。为此,我们让原型通过考虑在线聚类结果不断演化。特别是,在每次训练迭代后,使用动量方式更新每个原型:其中是动量系数,表示通过在线聚类分配给原型的训练像素嵌入的归一化均值向量。由于原型具有明确的意义,我们的分割过程可以直观地理解为检索最相似的原型(即子类中心)。图3展示了使用个原型对每个类的人的原型检索结果。原型与不同的颜色(即红色、绿色和蓝色)相关联。对于每个像素,其与最近原型的接近程度通过其分配的原型的颜色可视化。显然,这些原型紧密对齐了各自类中的有意义模式,从而证实了它们的代表性。V. 实验
A. 实验设置
- ADE20K [36] 是一个大规模场景解析基准,包含150个语义类别,其中包括100个“物体”(例如人、汽车)和50个“物质”(例如天空、草地)类。该数据集分为20K/2K/3K图像用于训练/验证/测试。
- ADE20K-Full [36] 包含25K图像用于训练,2K图像用于验证。在开放词汇表设置下,该数据集经过详细标注,拥有超过3000个语义概念。我们遵循[13]的方法,保留了训练集和验证集中都出现的847个概念,并使用它们进行大词汇表语义分割研究(见第V-C节)。
- Cityscapes [37] 是一个城市街景数据集,包含高分辨率图像(即1024 × 2048像素)。它涵盖了5000张图像,划分为2975/500/1524张用于训练/验证/测试。分割性能基于19个挑战性的类别进行评估,例如骑车人、自行车和交通灯。
- COCO-Stuff [38] 包含从COCO [153] 收集的10K张图像,其中9K用于训练,1K用于测试。该数据集包括171个类,包含80个物体类和91个“物质”类。
基准模型: 我们的方法与五个广为认可的分割模型进行比较,即两个基于FCN的模型(即FCN [8],HRNet [39])和三个基于注意力的模型(即Swin [40],SegFormer [11],Mask2Former [14])。训练: 我们研究了不同的主干网络,包括基于CNN的(即ResNet,HRNet)和基于Transformer的(即Swin,MiT)模型。为了公平起见,所有主干网络都使用对应的在ImageNet-1K [154] 上预训练的权重进行初始化,剩余的层随机初始化。我们使用了标准的数据增强技术,包括随机比例抖动(系数在[0.5, 2]之间)、随机水平翻转、随机裁剪以及随机颜色抖动。我们使用SGD/AdamW分别为基于FCN/注意力的模型训练,并遵循多项式衰减策略来调度学习率,公式为,其中power=0.9。此外,对于Cityscapes,我们使用批次大小为8,训练裁剪尺寸为768 × 768。对于ADE20K和COCO-Stuff,我们使用裁剪尺寸为512 × 512,批次大小为16。模型分别在Cityscapes、ADE20K和COCO-Stuff上训练160K、160K和80K次迭代。对于消融实验,模型训练40K次迭代。超参数经验设置为:,,,,,。默认情况下,每个类别的内存库大小设置为10K。Sinkhorn-Knopp和贪婪Sinkhorn算法的迭代次数分别设置为3次和50次,增加迭代次数时未观察到任何收益。我们的模型使用PyTorch实现,并在8个V100 GPU上进行训练,每个卡的显存为32 GB。测试: 对于ADE20K和COCO-Stuff,我们将图像的短边缩放到训练裁剪尺寸,保持纵横比不变。对于Cityscapes,我们采用滑动窗口推理,窗口尺寸为768 × 768。为了简化,我们没有应用任何测试时的数据增强。测试在与训练相同的机器上进行,使用一个GPU。评价指标为平均交并比(mIoU)。B. 与最先进方法的对比
- ADE20K上的分割结果: 表I给出了在ADE20K [36] 验证集上的模型比较。我们对我们的方法和每个参数化基线模型进行了五次随机种子实验,报告这些重复实验中的mIoU均值和标准差。我们的非参数化方案在减少可学习参数的同时,始终优于基线模型。特别是,在基于CNN的主干网络(即ResNet-101和HRNetV2-W48)上,我们的完整模型平均比FCN [8],HRNet [39] 和Mask2Former [14] 提高了1.7%、1.6% 和1.2%的mIoU。对于更近期的完全注意力模型(如Swin [40],SegFormer [11] 和Mask2Former [14]),类似的性能增益(0.9%、1.4% 和0.8%)也得到了验证,表现出我们方法的高度通用性。此外,得益于内存机制(见第IV-B2节),我们的完整模型相对于会议论文中报告的方法[1] 显示了持续的改进。
- Cityscapes上的分割结果: 表II再次展示了我们方法在Cityscapes [37] 验证集上的优越表现。具体来说,我们的方法优于所有竞争对手,无论是基于FCN的(即比FCN高1.5%,比Mask2Former高1.2%,比HRNet高1.0%),还是基于Transformer的(即比Swin高1.2%,比SegFormer高1.0%,比Mask2Former高0.6%)。
此外,我们在Cityscapes测试集上检验了我们的模型,结果可以在表III中找到。所有模型均在train+val集上进行训练。请注意,我们的训练数据中未包含任何粗标注的Cityscapes数据。我们与两种强大的基于Transformer的网络(即SegFormer [11] 和Mask2Former [14],分别使用MiT-B5和Swin-Base作为主干网络)进行了比较。为了公平起见,我们在训练中使用1024 × 1024的裁剪尺寸,并采用1024 × 1024的窗口尺寸进行滑动窗口推理。可以看到,我们的方法显著优于SegFormer(83.5% 对比82.2%),并在Mask2Former中建立了新的SOTA记录(83.9%)。- COCO-Stuff上的分割结果: 如表IV所示,我们的方法在COCO-Stuff [38] 测试集上也显示了出色的性能,优于所有基线模型。值得注意的是,使用Swin-Base [40] 作为网络主干,Mask2Former作为分割架构时,我们的完整模型取得了44.9%的mIoU,创下了新的SOTA记录。
- 使用轻量级主干网络的分割结果: 在表V中,我们对比了使用轻量级主干网络(即MobileNet-V2 [162],MiT-B0 [11])的四个竞争对手在ADE20K [36] 验证集上的表现。使用MiT-B0时,我们的模型比SegFormer提高了1.6%的mIoU,达到了39.0%的mIoU,并且在可学习参数最少的情况下(即3.7M)取得了最佳性能。
- 分割结果的定性分析: 在图4中,我们对比了我们的方法和SegFormer [11] 在三个数据集中多个代表性样本上的定性结果。我们观察到,我们的方法在处理各种具有挑战性的场景(例如小物体/大物体、背景复杂、透明物体)时,提供了更准确的分割结果。
C. 大词汇表语义分割
目前,语义分割模型的严格评估主要集中在少数类别的场景中(例如Cityscapes/ADE20K/COCO-Stuff的数据集中分别为19/150/171类),而对更自然的大词汇表设置的泛化能力则被忽视。在本节中,我们展示了我们的方法在大词汇表设置下的显著优越性,基于ADE20K-Full数据集。结果总结在表VI中。对于表VI中的每个ADE20K-x变体,我们根据其出现频率选择前x(x ∈ {300, 500, 700, 847})个类别,并在所选类别上训练/测试模型。请注意,对于ADE20K-150,我们按照ADE20K [36] 中的默认设置使用指定的150个类别进行评估。所有变体使用MiT-V2 [11] 作为主干网络,并训练40K次迭代。我们可以从表VI中得出两个显著的观察结果:
i) 对于参数化方案,原型参数的数量随着词汇量的增加而增加。对于极端情况下的10个原型和847个类别,原型参数数量为6.5M,占总参数(即33.96M)的约20%。相比之下,我们的方案不需要任何可学习的原型参数。
ii) 在所有设置下,我们的方法始终优于参数化对应方案。这些结果很好地展示了我们非参数化方案在开放词汇表语义分割中的实用性。D. 对领域迁移的鲁棒性
鲁棒性是语义分割模型的一个重要指标,尤其是在它们被应用于诸如自动驾驶等安全关键任务时。我们在一个流行的合成到真实设置下(即在GTA [165] 上训练模型,在Cityscapes [37] 验证集上测试)中,探讨了我们非参数化方法对领域迁移的鲁棒性。结果展示在表VII中。我们发现,当时,我们的模型相比SegFormer略有退化(44.3% → 43.5%)。这意味着原型仅作为训练样本的类均值,在领域迁移情况下表现不佳。然而,通过更好地挖掘类模式,例如使用多个原型来表示每个类(例如),该问题得到缓解。E. 消融实验
此外,我们研究了我们核心模型设计的有效性,在ADE20K [36] 验证集上进行。我们使用MiT-B2 [11] 作为主干网络,训练模型40K次迭代。训练目标: 我们首先检验了方程(13)中的总体训练目标。表VIII(a)报告了使用交叉熵损失单独的变体获得的mIoU得分为45.3%。单独添加或分别带来性能提升(即1.0%/0.5%),揭示了明确学习像素原型关系的价值。将所有损失组合在一起取得了最佳性能,mIoU为46.9%。这也表明,和在相互结合时是互补的。每类原型数: 表VIII(b)报告了我们的方法在每类原型数方面的结果。对于,我们直接将每个类表示为其像素样本的平均嵌入。像素分配仅基于真实标签确定,不使用在线聚类(见第IV-B1节)。该基线获得了45.8%的mIoU得分。此外,当考虑更多原型(即)时,性能从45.8%明显提升至46.4%。当允许10个原型时,得分进一步提高;然而,将增加到超过10时,性能提升幅度有限。因此,我们将设为准确性与计算成本之间的较好权衡。这一研究验证了我们使用多个原型来捕捉类内变化的动机。系数: 表VIII(c)量化了方程(14)中的影响,它控制了原型更新的速度。模型在使用相对较大的系数(即)时表现良好,表明缓慢更新是有利的。当为0.9或0.99时,性能下降,在的极端情况下大幅下降。距离度量: 默认情况下,我们使用余弦距离(称为“余弦”)来度量像素-原型相似性(参见(6)、(11)和(12)),但也可以使用其他选择。这里我们研究了两种替代方案。第一种是标准的欧几里得距离(即“标准”),即。与“余弦”相比,这里和是未归一化的实值向量。为了处理“标准”中的不可微性,我们进一步研究了一种近似Huber-like函数[166](称为“Huberized”),即。超参数经验设为0.1。我们从表VIII(d)中发现,“余弦”表现远优于其他未归一化的欧几里得度量。Huber化的范数并未显示出相对于“标准”的优势。内存库: 接下来,我们验证了第IV-B2节中提出的内存库的有效性。结果报告在表VIII(e)中。变体“仅小批量”表示在每次迭代中仅考虑对应小批量中的像素进行聚类,而“批量+内存库”表示像素特征也使用了内存库。我们可以观察到,无论使用哪种聚类算法,内存库都能始终提高分割性能(约0.5%)。聚类算法: 此外,我们研究了第IV-B1节中提出的聚类算法。除了“Sinkhorn-Knopp”和“贪婪Sinkhorn”外,我们开发了一种启发式聚类算法,该算法简单地将每个像素分配给其最近的原型。等分约束以这样的方式强制执行:如果分配给某个原型的像素超过,则剩余的像素将分配给第二近的原型。结果如表VIII(e)所示。尽管内存库使会议论文[1] 中提出的解决方案(“仅小批量” + “Sinkhorn-Knopp”)带来了有利的性能提升,但我们发现每个小批量的平均聚类运行时间显著从52 ms增加到了161 ms。“贪婪Sinkhorn”巧妙地缓解了这一问题,接口与内存库时平均仅需67 ms的时间。除了提高计算效率外,“贪婪Sinkhorn”在不影响分割精度的情况下证明了其能力。此外,启发式基线在效率上表现出显著优势,但其性能落后于提出的算法。运行时性能: 为了进行更全面的分析,我们对比了我们的非参数化方法与参数化基线之间的运行时性能。结果如表VIII(f)所示。可以看到,尽管我们的方法具有更少的可学习参数(见表VI),但总模型参数数量超过了参数化基线。这导致了FLOP的增加和FPS的下降。然而,必须注意的是,增加的计算成本仍然相对较小。我们的方法仍然在分割准确性和计算复杂性之间达到了一个有前途的平衡。嵌入结构可视化: 图5可视化了(a) 参数化[11] 和(b) 我们的非参数化分割模型所学习的嵌入。在我们的算法中,属于不同原型的像素嵌入分布得更好。这是因为我们模型本质上基于一个基于距离的逐点分类器,并且其嵌入直接受到度量学习损失的监督,这有助于通过将潜在的数据结构编码到嵌入空间中来重新塑造特征空间。VI. 局限性分析
与标准的参数化方法相比,我们的方法有一个局限性,那就是在训练过程中需要进行聚类步骤以生成原型。这导致了计算复杂度的增加。然而,在实践中,聚类算法可以高度向量化,使其在现代GPU上非常高效(例如,在V100上,聚类1万个像素到10个原型只需2.5毫秒)。此外,和许多其他语义分割模型一样,我们的方法也受一些因素的影响,例如领域差距、标签质量和公平性。如何提高非参数化方法在“野外”的鲁棒性,是一个有趣的方向,我们将在未来的研究中探讨。VII. 结论与讨论
最近大多数的研究努力都致力于学习参数化类表示以进行逐像素识别。相比之下,本文探索了一种基于样例的模式。这导致了一种非参数化的分割框架,其中在嵌入空间中选择几个典型点作为类的原型表示,像素样本如何分类取决于它与原型的距离。它具有以下几个优势:
i) 类级统计建模的显式原型表示;
ii) 使用非参数化的像素类别预测提高泛化能力;
iii) 对特征嵌入空间的直接优化。我们的框架优雅、通用,且性能卓越。我们的工作还带来了新的挑战:- 与无监督表示学习的更紧密联系: 我们的模型通过不可学习的原型直接学习像素嵌入空间。最近无监督表示学习方法的关键成功因素在于嵌入的直接比较。通过共享这种机制,我们的非参数化模型具有充分利用无监督表示的潜力。
- 增强可解释性: 我们的模型仅使用嵌入的“支持”像素样本的均值作为每个(子)类的原型。为了追求更好的可解释性,可以优化原型使其直接类似于实际像素,或者区域级观察[97], [122]。
- 统一图像级和像素级分类: 构建分割模型的常见做法是从预训练的分类器中移除分类头,只保留编码器。这不是最优的,因为大量“知识”被直接丢弃了。然而,通过原型学习,可以将非参数化分类器的“知识”直接转移到非参数化分割器上,并以统一的范式制定图像级和像素级分类。
声明
本文内容为论文学习收获分享,受限于知识能力,本文对原文的理解可能存在偏差,最终内容以原论文为准。本文信息旨在传播和学术交流,其内容由作者负责,不代表本号观点。文中作品文字、图片等如涉及内容、版权和其他问题,请及时与我们联系,我们将在第一时间回复并处理。你是否有这样的苦恼:自己辛苦的论文工作,几乎没有任何的引用。为什么会这样?主要是自己的工作没有被更多的人了解。
计算机书童为各位推广自己的论文搭建一个平台,让更多的人了解自己的工作,同时促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 计算机书童 鼓励高校实验室或个人,在我们的平台上分享自己论文的介绍、解读等。
稿件基本要求:
• 文章确系个人论文的解读,未曾在公众号平台标记原创发表,
• 稿件建议以 markdown 格式撰写,文中配图要求图片清晰,无版权问题
投稿通道:
• 添加小编微信协商投稿事宜,备注:姓名-投稿
△长按添加 PaperEveryday 小编