摘要
有效地训练具有图像级标签的弱监督语义分割(WSSS)深度模型是一项具有挑战性和重要性的工作。端到端WSSS方法因其训练效率高而成为近年来研究的热点。然而,目前的方法缺乏对全面语义信息的充分提取,导致端到端WSSS伪标签质量低,解决方案不够理想。为此,我们提出了一种简单而新颖的自对应蒸馏(SCD)方法,在不引入外部监督的情况下提炼伪标签。我们的SCD使网络能够利用来自自身的特征对应作为蒸馏目标,通过补充语义信息来增强网络的特征学习过程。此外,为了进一步提高分割精度,我们设计了一个变异感知的细化模块,通过计算像素级变异来增强伪标签的局部一致性。最后,我们提出了一个有效的端到端基于transformer的框架(TSCD),通过SCD和变化感知的细化模块来实现准确的WSSS任务。在PASCAL VOC 2012和MS COCO 2014数据集上进行的大量实验表明,我们的方法明显优于其他最先进的方法。
图一:由我们的TSCD生成的cam的可视化示例。相应的分类在原始图像上用红叉标出。
引言
本文提出了一种简单新颖的自对应蒸馏(SCD)方法,该方法通过补充语义信息来改进网络特征学习过程,无需外部监督。我们的SCD允许网络利用从自身导出的CAM特征对应作为分割预测特征的蒸馏目标。这种机制可以帮助网络获得全面的图像语义信息,提高准确率
为了进一步细化CAM获得的初始伪标签,我们设计了一个变化感知的细化模块(VARM),该模块引入了图像噪声减少的思想,并通过计算图像像素级变化和图像局部信息来更新伪标签。基于(TSCD)和(VARM),提出了一种基于transformer的端到端WSSS框架。我们还在图1中可视化了我们的TSCD生成的CAM,结果表明,我们的TSCD可以通过捕获全面的图像语义信息来生成细粒度的CAM。
综上所述,我们的主要贡献如下:
- 为了增强WSSS网络的特征学习能力,我们提出了一种新的自对应蒸馏(SCD)方法。据我们所知,这是第一次尝试使用网络自身的CAM特征对应作为蒸馏目标。
- 我们设计了变异感知改进模块(VARM)来解决伪标签的局部不一致。我们的varm通过计算图像像素级变化和使用像素自适应卷积来改进CAM。
- 我们提供了一个端到端的基于transformer的框架(TSCD),该框架具有自对应蒸馏和VARM,用于弱监督语义分割。我们的TSCD在PASCAL VOC 2012和MS COCO 2014上实现了最先进的分割性能
Proposed Method
Preliminary
类激活图(CAM)在(Zhou et al . 2016)中首次提出,使分类器能够学习对象定位。给定由CNN和c类提取的特征图f R ^H×W×D,我们采用全局平均池化和全连接层操作来计算类分数:
式中wc;k表示全连通层的参数。CAM是通过加权特征映射的每个通道对特定类别分类分数的贡献来实现的。形式上,类c的类激活映射mc为:
在本文中,我们采用类激活映射作为初始伪标签。
图二:端到端架构TSCD的图示。我们的TSCD使用Transformer主干作为编码器,并采用CAM (Zhou et al . 2016)生成初始伪标签。生成的初始伪标签然后使用SCD和VARM进行细化。黄色区域表示我们的SCD的应用。网络的优化包括自对应蒸馏损失、等变正则化损失、分类损失和辅助损失等。A(·)表示仿射变换
Self Correspondence Distillation
我们的目标是执行自对应蒸馏来改进原始图像的CAM。我们的自对应蒸馏不需要任何额外的标签或外部监督,同时可以帮助网络获得全面的图像语义信息。自监督特征学习的最新进展表明,密集特征是语义相关的(Collins, Achanta, and Susstrunk 2018;Zhou et al . 2016)。在本文中,我们验证了这些密集特征映射可以是类激活映射,并进一步构建CAM特征对应用于特征学习。
CAM Feature Correspondence :形式上,我们关注cam之间的相关量。给定两个CAM m1 R^ H1×W1×C和m2
R^ H2×W2×C, H1;H2为高度,W1;W2表示宽度,C表示类别,我们将CAM特征对应定义为:
具体来说,给定图像I R^H×W×D和仿射变换A(·),我们使用编码器提取的特征映射来生成cam。以CAM m1为例,我们使用E: R^ H×W×D →R ^H1×W1×C表示从提取的特征映射生成CAM m1的过程。因此,m1和m2可以表示为:
则CAM特征对应关系可进一步表示为:
其条目表示特征在 m1 的位置 (h1; w1) 与 m2 的位置 (h2; w2) 之间的余弦相似度。如图 2 所示,编码器和解码器共享权重,分割预测图分别表示为 s1 ∈ R^(H1×W1×C) 和 s2 ∈ R^(H2×W2×C),对应于图像 I 和 A(I)。然后,分割特征对应关系定义为:
用于训练的SCD:我们的自对应蒸馏(SCD)背后的直觉是,分割特征对应可以从CAM特征对应中提取有用的语义信息,以自学习的方式改进CAM。受自监督特征学习的启发,我们考虑将分割特征对应与网络自身的CAM特征对应对齐。损失函数旨在将相应的cam推到一起,以增强语义相关性;
当两个分割预测之间存在显著相关性时。我们通过对Sh1w1h2w2对应的分割特征和Mh1w1h2w2对应的CAM特征进行简单的逐元乘法来实现SCD损失函数:
max(·;0)表示Zero clamping。在实践中,为了保证推理效率,我们采用随机采样策略来训练我们的SCD损失函数,样本个数为n。如果分割预测图的大小与对应CAM的大小不同,则对分割预测图进行双线性上采样。
"Zero clamping" 是一种在神经网络和深度学习中常见的操作,特别是在处理激活函数、梯度裁剪或正则化时。这个术语描述的是一种将数值限制在特定范围内的方法,通常是将负值或超出某个阈值的数值设为零。
Variation-Aware Refine Module
CAM得到的初始伪标签通常局部不一致,边界粗糙。许多多阶段方法使用CRF来进一步细化初始伪标签,这降低了训练效率。对于端到端方法,Araslano等人(Araslanov and Roth 2020)利用像素自适应卷积(Su et al 2019)提取局部图像信息以实现局部一致性,而Ru等人(Ru et al 2022)进一步结合空间信息构建了细化模块。不同于(Araslanov and Roth) 2020;Ru et al . 2022),我们设计了变化感知的细化模块,它引入了图像降噪的思想来克服局部不一致
具体来说,对于位置(i;J)和(k;l)在图像I中,我们首先计算图像像素级变化:、
其中σij表示标准差,α表示平滑权值。为了增强伪标签的局部一致性,对于图像中变化较大的像素点,我们计算校正核kij;kl来避免一些突然变形的值:
N(i;j) 是指位置 (i;j) 的像素点的邻域集合。这个邻域集合是通过扩张卷积(dilated convolution)得到的,扩张卷积的定义可以参考 Araslanov 和 Roth 在 2020 年的工作。采用迭代更新策略来更新像素标签 Pi,j,c,这里 Pi,j,c 表示位置 (i;j)的像素点在类别 c上的标签。
我们的变体感知精炼模块通过感知像素级变化来增强初始伪标签的局部一致性,同时保证了高训练效率
Transformer-Based Framework with Self
Correspondence Distillation
如图2所示,我们基于transformer的自对应蒸馏(TSCD)框架由transformer主干、SCD、VARM、等变正则化损失、分类损失、辅助损失和分割损失组成。接下来,分别介绍各损失函数和总损失
等变正则化损失:等变约束已被证明可以缩小弱监督和完全监督之间的监督差距(Du等人2021;Wang et al . 2020)。我们使用等变正则化损失构造一个等变约束:
分类损失:如图2所示,将聚合的特征图输入分类层,计算用于图像级分类的预测向量p。我们采用多标签软边际损失作为网络训练的分类损失。对于C类的总数,分类损失定义为:
其中l是类标签的ground truth。
辅助损耗:为了进一步提高我们的网络性能,我们采用(Ru et al 2022)的亲和损耗作为图2中的辅助损耗。亲和损失有利于编码器的自注意学习,有助于网络聚焦于完整的目标区域。不同于(Ru等)2022),我们直接使用由编码器的最后两层输出注意图(A1;A2)来计算辅助损耗。将辅助损失形式表示为:
其中concat表示注意图连接在一起,R+和R−表示通过改进伪标签生成的伪亲和标签中的正样本和负样本集合,N +和N−分别表示R+和R−的个数。
总损失:我们采用交叉熵损失作为分割损失Lseg。此外,为了增强分割结果的局部一致性,我们还采用了常用的正则化损失Lreg (Tang et al 2018;Zhang等2021)。总损失定义为:
其中λ1、λ2、λ3分别经验设为0:1、0:01、1。
图三AFA (Ru et al 2022)和我们的方法在PASCAL VOC验证图像上的分割结果示例。红框显示了差异。