引言: 知道“物体在哪里”的高昂代价
在计算机视觉领域,语义分割 (Semantic Segmentation) 是各项任务中的“圣杯”之一。仅仅说“这张照片里有一只猫”是不够的;我们想确切知道哪些像素属于这只猫。这种细节程度对于自动驾驶 (区分道路和人行道) 和医学成像 (将肿瘤与健康组织分离) 至关重要。
但这存在一个主要瓶颈: 标注 (Annotation) 。
为了训练一个全监督模型,人类必须费力地为成千上万张训练图像中的每一个像素着色。这既缓慢、昂贵又费力。这导致了弱监督语义分割 (Weakly Supervised Semantic Segmentation, WSSS) 的兴起。WSSS 的目标雄心勃勃: 仅使用图像级标签 (例如,只标记图像为“猫”和“草地”) ,训练一个能生成像素级完美掩膜 (mask) 的模型。
虽然 WSSS 前景广阔,但它有一个顽固的缺陷,称为分类偏差 (Classification Bias) 。 以这种方式训练的模型倾向于“作弊”。如果你让模型寻找“猫”,它学会了寻找最明显的特征——比如耳朵或脸——而忽略身体的其余部分。结果呢?生成的分割掩膜不完整,看起来像是零散的斑点,而不是连贯的物体。
在这篇文章中,我们将深入探讨一篇 CVPR 论文,该论文提出了一个巧妙的解决方案: 多标签原型视觉空间搜索 (Multilabel Prototype Visual Spatial Search, MuP-VSS) 。 该方法不再仅仅对图像进行分类,而是将分割视为一个搜索问题,使用“原型 (prototypes) ”来寻找场景中物体的每一个部分。
问题所在: 为什么传统方法会遗漏全貌
要理解为什么 MuP-VSS 是必要的,我们首先需要看看为什么现有的方法会失败。大多数 WSSS 方法依赖于两种技术:
- 基于 CNN 的类激活图 (CAM) : 突出显示卷积神经网络用来做决策的区域。
- 基于 Transformer 的自注意力 (Self-Attention) : 利用视觉 Transformer (ViT) 的注意力机制来寻找相关的图块 (patches) 。
这两者都受到了前述分类偏差的影响。它们关注的是最具判别力的区域——那些让猫成为猫的部分——而不是整只猫。

如上图 Figure 1 所示:
- (a) 基于 CNN 的方法: 严重关注猫的头部 (最具判别力的部分) ,但遗漏了身体。
- (b) 基于 Transformer 的方法: 通过利用自注意力机制覆盖了更多区域,表现稍好,但仍然遗漏了大块区域 (如图中的红色区域) 。
- (c) MuP-VSS (本文提出的方法) : 生成了完整的掩膜。它通过定义多标签原型 (Multi-label Prototypes) 来实现这一点。可以将这些原型视为“查询向量 (Query Vectors) ”。模型使用这些查询来扫描整个图像,并“搜索”每一个符合“猫”这一语义含义的图块。
核心方法: MuP-VSS 架构
研究人员提出,与其问“这张图里有什么?”,我们应该问“与这个概念匹配的部分在哪里?”
为此,他们将 WSSS 转换为一个嵌入表示任务。该架构由两大支柱组成:
- 多标签原型表示 (Multi-label Prototype Representation) : 为图像中的每个类别创建一个丰富的向量摘要。
- 多标签原型优化 (Multi-label Prototype Optimization) : 使用对比学习训练这些原型 (因为我们没有像素级标签) 。
让我们分解一下 Figure 3 中展示的架构。

该流程接收一张图像并通过视觉 Transformer (ViT) 对其进行处理。但是,它添加了一些专用组件来生成和细化原型。
1. 多标签原型表示
标准的 ViT 将图像分解为局部图块 (patches) 。MuP-VSS 需要理解全局上下文来形成原型。
全局嵌入 (Global Embedding)
首先,模型获取图像并创建全局 Token (Global Tokens) 。 它调整输入图像的大小,并使用投影函数 (卷积 + 归一化) 创建一组代表类别的全局 Token \(\mathcal{G}\)。

这里,\(Proj_i\) 将缩小的图像转换为全局 Token。这些全局 Token 捕捉了图像的长距离特征依赖关系,确保模型不仅仅是关注微小的细节。
原型嵌入模块 (PEM)
这是奇迹发生的地方。我们有全局 Token (原型) 和Patch Token (局部图像部分) 。我们需要它们相互交流。如果“狗”的原型要准确,它需要从图像中具体的“狗”图块中吸收信息。
研究人员引入了原型嵌入模块 (Prototype Embedding Module, PEM) 。 它计算原型与 Patch Token 之间的亲和图 (相似度分数) 。

在这个公式中:
- \(\mathcal{F}\) 是图像特征 (Patch Token) 。
- \(\mathcal{P}\) 是原型。
- \(\tau_{PEM}\) 是一个阈值 。 这至关重要。它过滤掉噪声,确保“狗”的原型只根据实际上看起来像狗的图块进行更新,而忽略背景草地。
一旦计算出亲和度,模型使用 SoftMax 创建权重,并更新 Patch 特征和原型。这种相互更新确保原型成为图像中特定物体更准确的表示。

2. 多标签原型优化
现在我们有了这些原型,我们该如何训练它们呢?记住,我们没有像素标签。我们只知道图像包含一只“狗”和一个人。
作者使用了对比学习 (Contrastive Learning) 。 他们依赖于排他性 (Exclusivity) 和一致性 (Consistency) 的原则,直观总结在 Figure 2 中。

- 排他性 (相互推开) : 同一张图像中的不同物体 (例如,狗 vs. 人) 应该有非常不同的原型。它们在特征空间中应该被推开。
- 一致性 (相互拉近) : 图像 A 中的“狗”应该看起来与图像 B 中的“狗”相似。它们应该被拉近。
这种直觉被形式化为三个特定的损失函数。
损失 1: 跨类原型对比损失 (CCP)
该损失强制执行排他性。在单张图像内,类别 A 和类别 B 的原型必须是独特的。我们最小化不同类别原型之间的余弦相似度。

通过最小化这种相似度 (\(S^{cls}\)) ,模型强制“猫”和“狗”的特征彼此正交 (不相关) ,从而减少混淆。
损失 2: 跨图原型对比损失 (CIP)
该损失强制执行一致性。它跨越图像批次 (batch) 进行观察。如果图像 1 有一辆自行车,图像 2 也就有一辆自行车,它们的“自行车”原型虽然会有细微差别 (由于光线/角度) ,但在嵌入空间中本质上应该是接近的。

这里,Permute 函数对维度进行对齐,以便在批大小 \(B\) 内比较相同的类别。这使得模型能够学习到“自行车”的鲁棒、通用的表示,而不是过拟合到单张图像。
损失 3: Patch 到原型的显式一致性损失 (P2P)
最后,我们需要确保局部 Patch 与全局原型一致。如果一个 Patch 属于前景物体,它应该与该物体的原型具有高相似度。

该损失 (\(L_{P2P}\)) 充当向导,鼓励 Patch Token 匹配正确的前景原型,同时抑制对无关背景类别的响应。
总损失
最终的训练目标将这三个对比/一致性损失与标准的分类损失 (\(L_{CLS}\)) 相结合,以确保模型仍然能正确识别存在哪些类别。

推理: 空间搜索
一旦模型训练完成,我们要如何实际获得分割掩膜呢?
我们使用学习到的原型作为查询 (Queries) 。 我们取“猫”的原型,并与图像中的每个 Patch Token 进行点积运算。这会生成一个相似度图——本质上是一个显示“猫”在哪里的热力图。

如 Figure 4 所示,过程如下:
- 点积: 将原型 \(\mathcal{P}\) 与 Patch Token \(\mathcal{F}\) 匹配,获得初始语义图 \(\mathcal{M}_p\)。
- 细化: 使用亲和图 \(\mathcal{A}_p\) (Patch 与其邻居的相似程度) 来平滑结果,生成 \(\mathcal{M}_{ref}\)。

实验与结果
研究人员在两个标准基准上测试了 MuP-VSS: PASCAL VOC 2012 和 MS COCO 2014 。
定量性能
结果表明,MuP-VSS 显著优于之前的最先进 (SOTA) 方法。
Table 1 显示了“种子 (Seed) ” (初始猜测) 和“掩膜 (Mask) ” (细化的伪标签) 的质量。MuP-VSS 在种子上的 mIoU (平均交并比) 达到了 71.7% , 这比 MCTformer (61.7%) 等方法有了巨大的飞跃。

当观察验证集和测试集上的最终语义分割性能时( Table 2 ),MuP-VSS 继续占据主导地位,甚至击败了使用额外预训练语言模型 (如 CLIP) 的方法。

定性可视化
数字固然重要,但在计算机视觉中,眼见为实。
Figure 5 将 MuP-VSS 与 CTI (之前的 SOTA 方法) 进行了比较。注意第三列 (猫) 。CTI 遗漏了猫身体的部分区域,而 MuP-VSS 捕捉到了完整的形状。在最后一列 (餐桌) 中,CTI 混淆了椅子和桌子,而 MuP-VSS 更有效地将它们分离开来。

Figure 6 提供了热力图可视化。这可能是修复“分类偏差”最清晰的演示。
- ReCAM (基于 CNN) : 仅突出显示飞机上的文字或公共汽车的窗户。
- MuP-VSS: 飞机的整个机身和公共汽车的整个车身在热力图中都“亮”了起来。

组件分析
作者还进行了消融研究,以证明其架构的每个部分都很重要。
Table 3 显示,移除多标签原型优化 (MPO) 或表示 (MPR) 会导致性能显著下降。

Table 4 & 5 进行了更深入的探讨,表明特定的损失函数 (CCP, CIP, P2P) 和全局嵌入模块各自贡献了 3-4% 的改进。

最后, Figure 7 展示了协同分割 (Co-segmentation) 。 由于跨图像 (CIP) 损失,模型学会了“火车”在不同照片中的样子。即使两张照片中的火车看起来不同,模型也能识别出共同的语义特征,显示出强大的泛化能力。

结论
MuP-VSS 论文代表了弱监督语义分割思维方式的转变。通过摆脱简单的分类激活图,转向基于原型的空间搜索 , 作者解决了长期存在的分类偏差问题。
关键要点:
- 不要只分类;要搜索。 使用原型作为查询允许模型找到整个物体,而不仅仅是最独特的部分。
- 上下文为王。 全局嵌入和原型嵌入模块 (PEM) 确保原型理解图像的特定上下文。
- 特征的物理学。 使用对比损失将不同类别“推开”并将相似类别“拉近”,从而在不需要像素级标签的情况下创建鲁棒的特征空间。
该方法在 PASCAL VOC 和 MS COCO 上取得了最先进的结果,证明了我们可以在不需要高昂的手工标注成本的情况下获得高质量的分割掩膜。随着我们迈向基础模型和视觉-语言模型,像 MuP-VSS 这样有效连接全局语义与局部像素的技术将变得至关重要。
](https://deep-paper.org/en/paper/file-2142/images/cover.png)