摘要
近年来,具有图像级标签的单阶段弱监督语义分割(WSSS)因其简化了其繁琐的多阶段语义分割而获得了越来越多的关注。由于类激活图(Class Activation Map, CAM)固有的模糊性,我们观察到一级管道经常会遇到由错误的CAM伪标签引起的确认偏差,从而影响其最终的分割性能。虽然最近的作品抛弃了许多不可靠的伪标签来含蓄地缓解这个问题,但他们没有对他们的模型进行足够的监督。为此,我们提出了一个具有可信赖渐进式学习(DuPL)的双学生框架。具体来说,我们提出了一个具有差异损失的双学生网络,以便为每个子网产生不同的cam。两个子网相互监督,减轻了由于学习自己不正确的伪标签而造成的确认偏差。在这个过程中,我们通过动态阈值调整和自适应噪声滤波策略,逐步引入更多可信的伪标签参与监督。此外,我们认为每个像素,甚至由于其不可靠而被从监督中丢弃,对于WSSS都是重要的。因此,我们对这些丢弃的区域进行一致性正则化,提供对每个像素的监督。实验结果表明,在PASCAL VOC 2012和MS COCO数据集上,所提出的DuPL优于最近最先进的替代方案。
Code is available at https://github.com/Wu0409/DuPL .
图一:PASCAL VOC 2012 上的 CAM 伪标签 (train) 与分割性能 (val)。 DuPL 优于最先进的单阶段竞争对手,并在 CAM 伪标签和最终分割性能方面与多阶段方法相当的性能。† 表示使用 ImageNet21k 预训练参数。
1.引言
由于主干特征共享用于分割头和CAM生成,这些不准确的CAM伪标签不仅阻碍了分割的学习过程,而且更关键的是,加强了CAM的错误判断。如图2所示,这个问题在整个训练过程中持续恶化,最终降低了分割性能。最近的一阶段方法[39,40,44]通常设置一个固定的高阈值来过滤不可靠的伪标签,优先考虑高质量的监督来隐式缓解这个问题。然而,这种策略未能为他们的模型提供足够的监督。使用固定阈值和高阈值不可避免地会丢弃许多实际具有正确 CAM 伪标签的像素。此外,这些从监督中丢弃的不可靠区域通常存在于语义模糊区域中。直接从监督中排除它们会使模型很少学习这些区域的分割,导致训练不足。从这个角度来看,我们认为每个像素对分割都很重要,应该适当地利用。
为了解决上述限制,这项工作提出了一个具有可信渐进学习的双重学生框架,称为 DuPL。受协同训练 [35] 范式的启发,我们为两个参与相互学习的学生子网络配备了。他们从不同的角度推断不同的 CAM,并将从一个视图学到的知识转移到另一个视图。为了避免同质学生,我们对两个子网施加了表示级别的差异约束。这种架构有效地减轻了由他们自己的错误伪标签引起的确认偏差,从而产生高保真 CAM。基于我们的双学生框架,我们提出了值得信赖的渐进学习来进行充分的分割监督。我们设置了一个动态阈值调整策略,以在分割监督中包含更多的像素。为了克服CAM伪标签中的噪声,我们提出了一种基于高斯混合模型的自适应噪声滤波,最后,对于伪标签由于不可靠性而被排除在监督之外的区域,我们对每个子网采用额外的强扰动分支,并对这些区域进行一致性正则化。总体而言,我们的主要贡献总结如下
- 我们探索了单阶段 WSSS 中的 CAM 确认偏差。为了解决这个限制,我们提出了一种双重学生架构。我们的实验证明了它降低了这个问题引起的过度激活率的有效性,并提高了 CAM 伪标签的质量。
- 我们提出了自适应噪声滤波的渐进式学习,它允许更值得信赖的像素参与监督。对于带有过滤伪标签的区域,我们开发了一致性正则化进行充分的训练。该策略突出了充分利用伪监督对 WSSS 的重要性。
- 在 PASCAL VOC 和 MS COCO 数据集上的实验表明,DuPL 超越了最先进的单阶段 WSSS 竞争对手,并实现了与多阶段解决方案相当的性能(图 1)。通过可视化分割结果,我们观察到 DuPL 显示出更好的分割鲁棒性,这要归功于我们的双重学生和值得信任的渐进式学习。
图二:CAM的确认偏差。随着训练的进行,偏差将不断加强,从而损害最终的分割性能。在这里,我们使用vitb[12]基线,并引入更多不可靠的伪标签来放大这一现象。
2.相关工作
单阶段弱监督语义分割。由于多阶段解的复杂过程[1,2],最近的许多研究主要集中在单阶段解上[3,39,40,44]。常见的一种单阶段管道是生成CAM并使用在线细化模块获得最终伪标签[3]。这些伪标签然后直接用作分割头的监督。通常,最近的工作主要提出了额外的模块或训练目标,以实现更好的细分。例如,Zhang等人[45]通过自适应亲和场引入了特征到原型的对齐损失,Ru等人[39]利用伪标签指导自注意的亲和学习,Xu等人[44]利用特征对应实现自蒸馏。他们的一个常见做法是,他们都设置了一个高而固定的门槛,以过滤掉不可靠的伪标签,以确保监管质量。相反,我们提出了一种渐进式学习策略,充分利用每个伪标签的潜力。
Confirmation Bias.这种现象通常发生在半监督学习(SSL)的自我训练范式中[21],其中模型过度拟合分配了错误伪标签的未标记图像。在上述过程中,这些错误信息不断被强化,导致训练过程不稳定[4]。共同训练为这一问题提供了有效的解决方案[35]。它使用两个不同的子网提供相互监督,以确保更多稳定和准确的预测,同时减轻确认偏差[8,33]。基于此,我们提出了一种具有表征级差异损失的双学生架构,以生成不同的cam。两个子网通过对方的伪标签相互学习,抵消了CAM确认偏差,实现了更好的对象激活。据我们所知,DuPL是第一个在单阶段WSSS中探索CAM确认偏差的工作。
WSSS中的噪声标签学习。除了更好的CAM伪标签生成之外,最近的一些工作旨在使用现有的伪标签学习稳健的分割模型[10,27,31]。URN[27]引入了不同视图之间逐像素方差的不确定性估计来过滤噪声标签。ADELE[31]基于早期学习和记忆现象[30],根据早期学习阶段的先验输出自适应校准噪声标签。与这些作品依赖于其他作品已有的CAM伪标签不同,一期法的伪标签在训练中不断更新。为了减轻渐进式学习中的噪声伪标签,我们设计了一种基于分割头损失反馈的在线自适应噪声滤波策略。
3. Method
3.1. Preliminary
我们首先简要回顾如何生成 CAM [46] 及其伪标签。给定图像,其特征图 F ∈ R^D×H×W 由骨干网络提取,其中 D 和 H × W 分别是通道和空间维度。然后,F 被馈送到全局平均池化和分类层以输出最终的分类分数。在上述过程中,我们可以检索每个类的分类权重 W ∈ R^C×D 并使用它来加权和特征图以生成 CAM:
其中 c 是第 c 个类,ReLU 用于消除负激活。最后,我们应用最大最小归一化将 M ∈ R^C×H×W 重新缩放到 [0, 1]。为了生成CAM伪标签,单阶段WSSS方法通常使用两个背景阈值τl和τh来分离背景(M≤τl)、不确定区域(τl < M < τh)和前景(M≥τh)[39,40]。不确定部分被视为噪声不可靠的区域,不涉及分割头的监督。
3.2. Dual Student Framework
为了克服CAM的确认偏差,我们提出了一个基于共同训练的双学生网络,其中两个子网(即,ψ1和ψ2)具有相同的网络结构,他们的参数是独立更新且不共享的。正如图3所示,对于第i个子网络,它包括一个主干网络,一个分类器,和一个分割头。为确保两个子网络在CAMs中激活更多不同的区域,我们强制它们从中提取的在表示上有足够的多样性,防止两个子网络变得同质化,以至于一个子网络可以从另一个子网络中学习知识,从而减轻CAM的确认偏误。因此,我们设置了差异性约束来最小化两个子网络的特征图之间的余弦相似度。正式地,将输入图像表示为X,子网络的特征表示为f1 = (X)和f2 =(X),我们通过以下方式最小化它们的相似度:
其中∥·∥2为l2归一化。根据[7,14],我们将对称差异损失定义为:
其中∆为停止梯度操作,以避免模型崩溃。这种损失是为每个图像计算的,总损失是所有图像的平均值。
Dis损失的核心思想是最小化模型输出与期望输出之间的差异。这种差异可以是多种形式,例如特征空间中的距离、概率分布的相似度或其他度量。
双生分割监督是双向的。一个是从M1到ψ2,另一个是从M2到ψ1,其中M1, M2分别是来自子网络ψ1,ψ2的CAM。来自M1的CAM伪标签Y1用于监督来自另一子网的分割头的预测映射P2,反之亦然。我们的框架的分割损失计算为:
其中CE为标准交叉熵损失函数。
图三:DuPL的总体框架。我们使用差异损失 Ldis 来约束两个子网络以生成不同的 CAM。他们的 CAM 伪标签用于分割交叉监督 Lseg ,这减轻了 CAM 确认偏差。在这个过程中,我们设置了一个动态阈值,逐步引入更多的像素进行分割监督。自适应噪声滤波策略通过分割损失分布最小化伪标签中的噪声。为了利用每个像素,将过滤后的区域与其扰动区域实现一致性正则化 Lreg。分类器被简化以进行清晰的说明。
3.3. Trustworthy Progressive Learning
动态阈值调整。如第 3.1 节所述,一阶段方法 [39, 40, 44] 设置背景阈值 τl 和 τh 来生成伪标签,其中 τh 通常设置为非常高的值,以确保只有可靠的前景伪标签可以参与监督。相比之下,在双学生框架的训练中,CAM 往往更可靠。基于这种直觉,为了充分利用更多的前景伪标签进行充分的训练,我们在每次迭代中使用余弦下降策略调整背景阈值τh:
其中 t 是当前迭代次数,T 是训练迭代的总数。
背景阈值 τhτh 在训练过程中的调整是为了平衡模型的训练效率和最终的分割质量。在训练初期,设置一个较高的阈值可以确保只有非常可靠的像素被用作训练数据,这有助于模型学习到正确的分割边界。随着训练的进行,模型对数据的理解逐渐加深,因此可以通过降低阈值来引入更多的像素,包括一些不太确定的像素,这有助于模型学习到更细致的分割细节。Adaptive Noise Filtering
Adaptive Noise Filtering: 我们开发了一种自适应噪声过滤策略,以实现可信的渐进学习。先前的研究表明,深度网络倾向于比噪声标签更快地拟合干净标签[5, 15, 37]。这意味着在模型过度拟合噪声标签之前,具有较小损失的样本更有可能被视为干净的标签。一个简单的想法是基于它们的训练损失使用一个预定义的阈值来划分干净和噪声伪标签。然而,这种方法没有考虑到模型的损失分布在不同样本之间是不同的,即使是在同一类别中的样本也是如此。
- 这种策略旨在动态地识别和过滤掉那些可能导致模型性能下降的噪声标签。
- 它基于一个观察:在模型训练过程中,干净标签通常会比噪声标签更快地被模型学习到。
- 为了利用这一观察结果,研究者提出了一种方法,即通过比较样本的损失来区分干净和噪声标签。具体来说,那些损失较小的样本更可能是干净的,而损失较大的样本则可能是噪声的。
- 直接使用固定阈值来划分标签可能会有问题,因为不同样本的损失分布可能差异很大,即使是同一类别内的样本也是如此。
- 因此,需要一种更精细的方法来考虑每个样本的具体情况,而不是简单地应用一个全局阈值。
为此,我们开发了一种自适应噪声滤波策略,通过损失分布来区分噪声和干净的伪标签,如图4所示。具体来说,对于输入图像X及其分割图P和CAM伪标签Y,我们假设每个像素x∈X的损失,定义为l^x = CE (P (x), Y (x)),从具有两个分量的所有像素上的高斯混合模型(GMM) P(x)中采样,即干净的c和噪声n:
其中 N (μ, σ^2) 表示一个高斯分布,wc, μc, σc 和 wn, μn, σn 对应于两个分量的权重、均值和方差。其中,损失值高的分量对应于噪声分量。通过期望最大化算法[25],我们可以推断噪声概率,这相当于P(noise|,μn,(σn)^2)的后验概率。如果> γ,则相应的像素将被归类为噪声。请注意,并非所有伪标签 Y 由噪声组成,因此损失分布可能没有两个清晰的高斯分布。因此,我们还测量了 μc 和 μn 之间的距离。如果(μn−μc)≤η,则将所有像素伪标签视为干净的伪标签。最后,噪声像素伪标签集确定为:
并且它们被排除在分割监督之外。在 DuPL 中,每个子网络的伪标签都是独立进行的自适应噪声过滤策略。
每个像素都很重要。在单阶段WSSS中,丢弃可能包含噪声的不可靠伪标签是保证分割或其他辅助监督质量的常见做法[39,40,44]。虽然我们在分割训练中逐渐引入更多的像素,但由于 CAM 的语义歧义,仍然有许多不可靠的伪标签被丢弃。通常,在训练阶段,不可靠的区域往往存在于非判别区域、边界和背景区域中。这样的操作可能会导致分割头在这些区域缺乏足够的监督。
为了解决这个限制,我们将伪标签不可靠的区域视为未标记的样本。尽管没有明确的伪标签来监督这些区域的分割,但当馈送同一图像的扰动版本时,我们可以规范分割头以输出一致的预测。一致性正则化隐含地使模型符合平滑度假设 [6, 20],这为这些区域提供了额外的监督。具体来说,我们首先应用强增强 φ扰动输入图像φ(X)→,然后将其发送到子网,得到的分割预测。使用在 φ 中采用与监督相同的仿射变换的伪标签 φ′(Yi),第 i 个子网的一致性正则化公式为:
式中Mi为掩码,表示第i个子网络中带有不可靠伪标签的滤波像素。过滤后的像素被掩码为1,否则为0。双学生框架的总正则化损失为Lreg =Lreg 1 + Lreg 2。这种损失是为每个图像计算的,总损失是所有图像的平均值。
3.4. Training objective of DuPL
如图3所示,DuPL由四个训练目标组成,即分类损失Lcls、差异损失Ldis、分割损失Lseg和一致性正则化损失Lreg。遵循 WSSS 中的常见做法,我们使用多标签软边距损失进行分类。DuPL的总优化目标是上述损失项的线性组合:
其中 λi 是重新缩放损失项的权重。
图四:带有噪声伪标签的图像损失分布。模型为植物产生了错误的伪标签。在两个伪标签上出现了两个损失分布的峰值,异常损失的红色峰值主要是由噪声引起的。为了可视化,正常损失的分布被重新缩放了。
4. Experiments
4.1. Experimental Settings
对于 VOC 2012 数据集,按照常见的做法使用 SBD 数据集 [16] 对其进行扩展。train、val 和 测试集分别由 10582、1449 和 1456 张图像组成。DuPL 的测试性能在官方进化服务器上进行评估。对于 COCO 2014 数据集,其训练集和验证集分别包含 82k 和 40k 图像。报告了用于性能评估的平均 Intersection-overUnion (mIoU)。
DuPL的网络架构。我们使用具有轻量级分类器和分割头的 ViT-B [12],并将补丁令牌对比损失 [40] 作为我们的基线网络。分类器是一个完全连接的层。分割头由两个 3 × 3 卷积层组成(膨胀率为 5)和一个 1 × 1 预测层。应用补丁令牌对比损失来缓解类似 ViT 的架构中 CAM 的过度平滑问题。DuPL 由两个具有基线设置的子网组成,其中主干使用 ImageNet 预训练权重初始化。
实施细节。我们采用初始学习率为6e−5的AdamW优化器和权值衰减因子0.01。利用[40]中的策略对输入图像进行增强,裁剪为448×448。对于强扰动,我们采用随机增强策略[11]对颜色进行颜色处理,并应用额外的缩放和水平翻转。在推理阶段,按照 WSSS 的常见做法,我们使用多尺度测试和密集 CRF 处理。
对于 VOC 2012 数据集的实验,批量大小设置为 4。总迭代设置为 20k,其中 2k 次迭代预热分类器,6k 次迭代在进行自适应噪声过滤之前预热分割头。背景阈值 (τl, τh(0), τh(T)) 设置为 (0.25, 0.7, 0.55)。自适应噪声滤波的阈值 (γ, η) 设置为 (0.9, 1.0)。3.4 节中损失项的权重因子 (λ1, λ2, λ3) 设置为 (0.1, 0.1, 0.05)。对于 COCO 数据集,批量大小设置为 8。网络在80,000次迭代中进行训练,其中分类器预热5,000次迭代,分割头预热20,000次迭代。其他设置保持不变。
4.2. Experimental Results
先写这么多,代码没跑通,跑到validating的时候一直报错dataloader问题,数据集的问题把