《Token Contrast for Weakly-Supervised Semantic Segmentation》CVPR2023

摘要(Abstract): 在弱监督语义分割(WSSS)中,传统方法通常使用类激活映射(CAM)生成伪标签,但受限于卷积神经网络(CNN)的局部结构感知能力,往往难以识别完整的对象区域。尽管最近的研究表明,视觉Transformer(ViT)可以弥补这一缺陷,但作者观察到ViT也带来了过度平滑问题,即最终的patch tokens趋于一致。为了解决这个问题,本文提出了Token Contrast(ToCo)方法,通过探索ViT在WSSS中的优势。首先,作者设计了一个Patch Token Contrast(PTC)模块,通过使用来自中间层的伪token关系来监督最终的patch tokens,使它们能够对齐语义区域,从而生成更准确的CAM。其次,为了进一步区分CAM中的低置信度区域,作者提出了一个Class Token Contrast(CTC)模块,该模块受到ViT中类token能够捕获高级语义的启发,通过对比它们的类token来促进不确定局部区域与全局对象之间的表示一致性。在PASCAL VOC和MS COCO数据集上的实验表明,所提出的ToCo方法可以显著超越其他单阶段竞争对手,并与最先进的多阶段方法相媲美。

拟解决的问题

  • WSSS中使用图像级标签时,CAM通常只能识别最具区分性的语义区域,导致最终的语义分割性能严重下降。
  • CNN的局部特征感知限制了CAM的完整性。
  • ViT虽然能够建模全局特征交互,但存在过度平滑问题,导致不同patch tokens的表示趋于一致。

创新之处

  1. 提出了Patch Token Contrast(PTC)模块,利用中间层的知识来监督最终的patch tokens,解决过度平滑问题。
  2. 设计了Class Token Contrast(CTC)模块,通过对比局部和全局图像的类token,促进局部与全局对象的表示一致性。
  3. 将ToCo方法集成到单阶段WSSS框架中,无需对ViT架构进行修改,即可解决过度平滑问题。

效果对比:

方法论

前置知识

类激活映射(CAM)

CAM被提议在分类网络预测图像时识别激活区域。由于其功效和简单性,CAM 已被广泛用于为 WSSS 生成初始伪标签。具体来说,给定图像,其特征图 F 使用分类网络 (CNN 或 ViT) 提取,CAM 是通过在分类层中使用权重 W 对特征图进行加权和求和来计算的,其中 c 是语义类的数量。然后将relu函数和最大归一化应用于消除负激活,并将CAM缩放到[0,1]。因此,类 c 的 CAM 计算如下:

符号定义:

公式的工作流程

  1. 逐通道加权:对于特征图 𝐹F 的每个通道,将其像素值 𝐹:,𝑖 与对应的权重 𝑊𝑐,𝑖 相乘。这是逐元素的乘法操作。
  2. 求和:将加权后的所有通道的像素值求和,得到一个二维的激活图,其尺寸与 𝐹F 的空间维度相同,即 ℎ×𝑤。
  3. 应用ReLU激活函数:通过ReLU函数处理求和后的结果,将所有负值置为0,这有助于突出显示正的激活区域。

通常,会设置一个背景阈值来区分前景和背景区域,从而得到最终的分割结果。

 过渡平滑

在 Vision Transformer 中,over-smoothing 是一个挑战,指的是在多个 Transformer encoder 层之后,不同 tokens 的特征表示趋于一致,导致它们之间的差异性减少。这种现象的原因可能包括:

  1. 自注意力机制: MHSA 作为一种低通滤波器,倾向于平滑输入特征,减少高频(细节)信息。
  2. 多头注意力的堆叠: 连续的 MHSA 层相当于多次执行空间平滑操作,进一步加剧了特征的同质化。
  3. Patch Size: 使用较大的 patch size 可以减少 over-smoothing,但这会降低模型对局部细节的敏感性。
  4. 模型深度: 较深的 Transformer 模型可能会更加显著地表现出 over-smoothing 现象。

为了解决 over-smoothing 问题,研究人员提出了多种方法,例如:

  • 调整 Transformer 架构: 例如,通过引入新的注意力模式或修改 MHSA 来减少平滑效果。
  • 使用残差连接: 在 Transformer 层中添加残差连接可以帮助保留更多的局部特征。
  • 深度监督: 在多个阶段对模型的中间表示进行监督,以鼓励学习更多样化的特征。
  • Patch Diversity: 通过增加 patch 之间的多样性来减少特征的同质化。

 论文方法

ToCo方法利用Vision Transformer(ViT)作为主干网络,并在其中集成了两个关键模块:Patch Token Contrast(PTC)和Class Token Contrast(CTC)。整体框架的目标是生成高质量的伪标签,以用于训练语义分割模型。

Patch Token Contrast(PTC)模块

PTC模块的目的是解决ViT中的过度平滑问题。它通过以下步骤实现:

  • 中间层特征利用:选择ViT中间层的输出作为辅助特征,记为F^{m}\in R^{n\times d},其中 𝑛 是token数量,𝑑 是特征维度。

  • 辅助CAM生成:在辅助特征上添加辅助分类头,通过全局最大池化(GMP)和全连接层 \theta ^{m}​ 计算辅助分类损失 L_{cls}^{m},并生成辅助:

  • 伪token标签生成:使用两个背景阈值 \beta _{l}\beta _{h}​ 将 M^{m}​ 分割为伪token标签 Y^{m}​。

  • Patch Token Contrast Loss(Lptc)

其中,CosSim(⋅,⋅)计算两个向量的余弦相似度,N^{+}​ 和 N^{-} 分别是正样本对和负样本对的数量。

Class Token Contrast(CTC)模块

CTC模块旨在区分CAM中的不确定区域,通过以下步骤实现:

  • 局部图像裁剪:从不确定区域随机裁剪局部图像。

  • 类token表示对比:将全局类token和局部图像的类token通过投影头 P_{g}​ 和 P_{l} 投影,然后使用InfoNCE损失来最小化(最大化)它们之间的表示差异。

  • Class Token Contrast Loss(Lctc)

其中,𝑝 是投影后的全局类token,Q^{+}​ 和 Q^{-} 分别是从不确定区域和背景区域裁剪的局部图像的投影类token集合,𝜏 是温度参数,𝜖 是稳定项。

ToCo的训练目标(Training Objective)

最小化损失函数:

 其中L_{cls}​ 是最终分类层的损失,L_{m}^{cls} 是辅助分类层的损失。

结论

ToCo方法通过解决ViT的过度平滑问题,并进一步利用ViT的优势,显著提高了WSSS的性能。在PASCAL VOC和MS COCO数据集上的实验结果表明,ToCo能够生成更准确、更完整的CAM,并且与最先进的多阶段方法相比具有可比的性能。

  • 18
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值