摘要
弱监督语义分割在图像级标签方面取得了巨大的成就。最近的几种方法使用CLIP模型生成伪标签来训练单个分割模型,而没有尝试将CLIP模型作为主干,直接分割具有图像级标签的对象。在本文中,我们提出了 WeCLIP,一个基于 CLIP 的单阶段管道,用于弱监督语义分割。具体来说,冻结的 CLIP 模型被用作语义特征提取的主干,设计了一种新的解码器来解释提取的语义特征以进行最终预测。同时,我们利用上述冻结的主干生成伪标签来训练解码器。这些标签在训练期间无法优化。然后,我们提出了一个细化模块(RFM)来动态纠正它们。我们的架构强制所提出的解码器和 RFM 相互受益,以提高最终性能。大量实验表明,我们的方法在训练成本较低的情况下明显优于其他方法。此外,我们的 WeCLIP 在完全监督的设置中也取得了可喜的结果。
The code is available at https://github.com/zbf1991/WeCLIP.
图一:我们的方法与其他单级或基于clip的方法之间的比较。(a) 以前的单阶段方法,它使用可训练的 ImageNet [11] 预训练主干,具有可训练的分类和分割过程。(b) 以前基于 CLIP 的方法,这是一种多阶段方法,它使用 Frozen CLIP 模型生成伪标签并训练单个 ImageNet 预训练的分割模型。(c) 我们的方法。我们的方法是一种单阶段方法,它使用冻结的CLIP模型作为骨干,具有可训练的分割过程,显著降低了训练成本
我们的贡献总结如下:
- 我们发现 CLIP 主干可以直接用于弱监督语义分割,而无需进行微调。使用我们设计的解码器,冻结的 CLIP 特征直接解释为分割对象的语义信息,构建强大的单阶段解决方案。
- 为了克服冻结主干仅提供静态伪标签的缺点,我们设计了一个 Frozen CLIP CAM 细化模块 (RFM) 来动态更新初始 CAM 以提供更好的伪标签来训练我们的模型。
- 以较少的训练成本,我们的方法明显优于以前的方法,在弱监督语义分割(mIoU:VOC 2012 测试集上为 77.2%,COCO val 集上为 47.1%)。此外,我们的方法在完全监督的语义分割方面也显示出巨大的潜力。
3. Method
3.1. Overview
图二:我们的 WeCLIP 框架。图像被输入到 Frozen CLIP 图像编码器以生成图像特征,类标签用于构建文本提示,然后输入到 Frozen CLIP 文本编码器以生成文本特征。分类分数是根据池化图像和文本特征之间的距离生成的。使用 GradCAM,我们可以生成初始 CAMMinit。然后,每个变压器块最后一层的冻结图像特征输入到我们的解码器中,生成最终的语义分割预测。同时,来自解码器的亲和映射Af和多头注意映射As从CLIP输入到我们的RFM中,建立细化映射R,将Minit细化为Mf。在后处理之后,它将用作训练解码器的监督。
图 2 显示了我们方法的整个框架,包括四个主要模块:一个冻结的 CLIP 主干(图像编码器和文本编码器)来编码图像和文本,一个用于生成初始 CAM 的分类过程,一个用于生成分割预测的解码器,一个 RFM 来细化初始 CAM 以提供用于训练的伪标签。
训练管道分为以下步骤:
- 首先,将图像输入到CLIP图像编码器中进行图像特征。此外,前景和背景类标签用于构建文本提示,然后输入到 CLIP 文本编码器以生成相应的文本特征。请注意,这里图像和文本编码器在训练期间都被冻结。
- 然后,通过计算图像特征(池化后)和文本特征之间的距离来生成分类分数。基于分类分数,GradCAM [41] 用于生成初始 CAM。
- 此外,冻结CLIP图像编码器中每个变压器块最后一层的图像特征被输入到我们提出的解码器中进行最终的分割预测。
- 同时,来自解码器的中间特征图用于生成亲和图。然后,将亲和映射输入到我们提出的RFM中,该RFM具有冻结CLIP图像编码器每个块的多头注意映射。
- 最后,RFM 输出一个细化图来细化初始 CAM。在后处理之后,来自细化 CAM 的最终转换伪标签用于监督训练。
3.2. Frozen CLIP Feature Decoder
我们使用以ViT-B为骨干的冷冻CLIP编码器,在训练中没有进行优化。因此,如何设计一个将CLIP特征解释为语义特征的解码器成为一个核心挑战。我们提出了一种基于transformer架构的轻型解码器,以CLIP特征作为输入进行语义分割。、
具体来说,假设输入图像为 I ∈ R^3×H×W ,H 和 W 分别表示图像的高度和宽度。在通过CLIP图像编码器后,我们从编码器中每个transformer块的输出生成初始特征映射,其中l表示块的索引。然后,对于每个特征图
,使用单个 MLP 模块生成新的对应特征图
:
其中 W 1fc 和 W 2fc 是两个不同的全连接层。ReLU(·) 是 ReLU 激活函数。
之后,所有新的特征图 连接在一起,然后由卷积层处理以生成融合的特征图 Fu:
其中 Fu ∈ R^d×h×w,其中 d、h 和 w 表示特征图的通道维度、高度和宽度。Conv(·) 是一个卷积层,Concat[·] 是连接操作。最后,我们设计了几个顺序多头transformer层来生成最终预测 P:
式中P∈R^C×H×W, C为包含背景的类号。φ表示顺序多头变压器块[12],每个块包含一个多头自注意模块、一个前馈网络和两个归一化层,如图2右上角所示。↑是一个上样本操作,用于将预测地图的大小与原始图像对齐。
3.3. Frozen CLIP CAM Refinement
为了对Eq.(3)中的预测P进行监督,我们从冻结主干的初始CAM生成像素级伪标签。冻结的主干只能提供静态 CAM,这意味着在训练期间无法改进用作监督的伪标签。伪标签中的相同错误导致错误方向上无法纠正的优化。因此,我们设计了Frozen CLIP CAM细化模块(RFM)来动态更新CAM以提高伪标签的质量。
我们首先遵循[29]来生成初始CAM。对于给定的带有类标签的图像 I,I 被输入到 CLIP 图像编码器。类标签用于构建文本提示并输入到 CLIP 文本编码器。然后,利用提取的图像特征(池化后)和文本特征计算距离,进一步激活softmax函数得到分类分数。之后,我们使用 GradCAM [41] 生成初始 CAM Minit ∈ R^(|CI |+1)×h×w,其中 (|CI | + 1) 表示图像 I 中的所有类标签,包括背景。更多细节可以在我们的补充材料或[29]中找到。
为了充分利用CLIP的先验知识,对CLIP模型进行了固定。如图3(a)所示,尽管我们发现这种冻结的主干可以为只有图像级标签的初始CAM提供强大的语义特征,但由于Minit是由冻结的主干生成的,因此无法优化,限制了伪标签的质量。因此,如何在培训中对Minit进行整改成为一个关键问题。我们的直觉是使用特征关系来纠正初始CAM。但是,我们不能直接使用CLIP图像编码器中的注意图作为特征关系,因为这样的注意图也是固定的。然而,解码器是不断优化的,我们试图利用它的特征来建立特征关系,以指导从CLIP图像编码器中选择注意值,保留有用的先验CLIP知识并去除噪声关系。通过更可靠的特征关系,可以动态地提高CAM的质量。具体来说,我们首先基于Eq.(2)中的特征映射Fu从解码器生成一个亲和映射:
其中Fu∈R^d×h×w首先被展平为R^d×hw。Sigmoid(·)是Sigmoid函数,保证输出范围在0到1之间。Af∈R^hw×hw为生成的亲和图。T表示矩阵的转置。
然后我们从冻结的CLIP图像编码器中提取所有的多头注意图,记为,每个
∈R^hw×hw。对于每个
,我们使用Af作为标准映射来评估其质量:
我们使用上面的S^l来计算每个注意图的过滤器:
其中G^l∈R^1×1,展开为∈R^hw×hw进行进一步计算。我们使用所有S^l的平均值作为阈值。如果当前S^l小于阈值,则更可靠,我们将其滤波值设为1。否则,我们将过滤器值设置为0。基于这一规则,我们保留高质量的注意图,删除弱的注意图。然后我们结合Af和上面的操作来构建精炼映射:
其中Nm为有效的个数,即Nm =
然后,按照前面的方法[29],我们生成了精细化的CAM:
其中 c 是特定类别的, 是 c 类的细化 CAM,Rnor 是从 R 获得的,使用行和列归一化(Sinkhorn 归一化 [42])。α 是一个超参数。这部分通过一个框掩码指示器[29]来限制细化区域。
是 c 类的 CAM,重塑到 R^hw×1。最后,Mf 被输入到在线后处理模块,即 [39] 中提出的像素自适应细化模块,生成最终的在线伪标签 Mp ∈ R^h×w。通过这种方式,我们的 RFM 在我们的解码器中使用更新的特征关系来评估冻结主干中的特征关系以选择可靠的关系。然后,借助每个图像的更可靠的特征关系,可以生成更高质量的 CAM。图 3 显示了使用不同细化方法生成的 CAM 的详细比较。我们的方法比[29]和初始CAM中提出的静态细化方法产生更准确的响应。
图三:CAM 的定性比较。(a) 初始 CAM。(b) [29] 中提出的注意力图细化 CAM。(c) 我们改进的 CAM。我们的方法产生了更准确的响应。
3.4. Loss Function
在我们的 RFM 中,我们使用亲和图 Af 来选择注意力图并构建最终的细化图。因此,Af 的有效性直接决定了在线伪标签的质量。考虑到 Af 是在我们的解码器中使用特征图 Fu 生成的,是一个可学习的模块,我们提出了一个 Af 的学习过程,它使用 Mp 中转换后的在线伪标签作为监督。具体来说,Mp 首先被转换为每对像素的像素级亲和力标签:
其中 Oh(·) 是 one-hot 编码,Oh(Mp) ∈ R^C×hw,^A ∈ R^hw×hw 是亲和力标签。^A(i, j) = 1 表示 pixeli 和 j 具有相同的标签,否则 ^A(i, j) = 0。基于上述标签 ^A 和在线标签 Mp,我们的 WeCLIP 的整个损失函数为:
其中 Lce 是交叉熵损失,Mp ↑∈ R^H×W ,λ 是权重参数。P 是方程式 (3)中的预测。使用方程式 (10),为更高质量的伪标签建立了更准确的特征关系。反过来,有了更好的伪标签,建立了更精确的特征关系。因此,我们的解码器和 RFM 可以相互受益以促进训练。
4. Experiment
4.1. Datasets
按照之前大多数弱监督语义分割方法[14,19,23]中的设置,两个数据集用于评估我们的方法:PASCAL VOC 2012[15]和MS COCO-2014[28]。PASCAL VOC 2012 附加 SBD [17] 以扩展数据集,整个数据集包含 10,582 个训练图像、1,446 个验证图像和 1,456 个测试图像,具有 20 个前景类。MS COCO-2014 数据集包含大约 82,000 个训练图像和 40,504 个具有 80 个前景类的验证图像。Mean Intersection-over-Union (mIoU) 作为评估标准。
4.2. Implementation Details
我们使用冻结的CLIP主干和vit16基础架构[13],N是一个等于12的固定数量的。对于PASCAL VOC 2012数据集进行训练,批大小设置为4,最大迭代设置为3000。对于MS COCO-2014数据集进行训练,我们设置batchsize为8,最大迭代次数为80,000。所有其他设置在训练过程中对两个数据集采用相同的参数:我们使用AdamW[32]作为优化器,学习率为2e−3,权值衰减为1e−3,在训练过程中将所有图像裁剪为320 × 320。λ在方程式 (10) 设置为 0.1,我们解码器中 MLP 模块(等式(1))的维度设置为 256。在公式3等式的 φ 中,级联三个transformer编码器(多头数为 8)层以生成最终的特征图,每一层的输出维度为 256。方程式6中的 N0设置为 6。公式8中 α 设置为 2。
在推理过程中,我们使用 {0.75, 1.0} 的多尺度。按照之前的方法[39,40,53],DenseCRF[21]被用作后处理方法来细化预测。
4.3. Comparison with State-of-the-art Methods
在表1,我们将我们的方法与 PASCAL VOC 2012 数据集上的其他最先进方法进行比较。可以看出,我们的 WeCLIP 在 val 和测试集上达到了 76.4% 和 77.2% mIoU,它们都大大优于其他单阶段方法。具体来说,与之前最先进的单阶段方法相比,我们的 WeCLIP 在 val 和测试集上分别提高了 5.3% 和 5.0% mIoU。此外,CLIP-ES [29] 是之前最先进的多阶段方法,也是基于 CLIP 的解决方案。我们的方法比它表现得更好,mIoU 增加了 3.6% 和 3.3%。
表 2 显示了我们的方法与 MS COCO-2014 val 集上先前最先进方法之间的比较。我们的方法实现了新的最先进的性能,达到了 47.1% mIoU。与其他单阶段方法相比,我们的 WeCLIP 带来了超过 4.8% 的 mIoU 增加,这是一个显着的改进。更重要的是,我们的 WeCLIP 在训练步骤较少的情况下也明显优于其他多阶段方法。考虑到我们的 WeCLIP 使用冻结的主干,它对这项任务显示出很大的优势。
在表3,我们比较了我们的方法与 PASCAL VOC 2012 上其他最先进的方法之间的训练成本,可以看出,我们的方法只需要 6.2G GPU 内存,而其他方法至少需要 12G GPU 内存。ToCo [40] 的训练时间比我们少,但它的 GPU 内存远高于我们的 WeCLIP。更重要的是,ToCo [40] 使用 20,000 次训练迭代花费了 4 小时,而我们的 WeCLIP 使用 30,000 次迭代花费了 4.5 小时,这也显示了我们方法的高训练效率。
在图 4 中,我们展示了我们的方法在 PASCAL VOC 2012 和 MS COCO-2014 val 集上与其他方法之间的一些定性比较。视觉结果表明,对于这两个数据集,我们的 WeCLIP 生成比 ToCo [40] 更准确的对象细节。
表一:PASCAL VOC 2012 val 和测试数据集上最先进方法的比较。mIoU (%) 作为评估指标。I:图像级标签; S:显着图; L:语言。mIoU 作为评估指标。如果没有特定的描述,在推理过程中使用多尺度和 DenseCRF 报告结果。
表二:与 MS COCO-2014 val 集上其他最先进方法的比较。
表三:PASCAL VOC 2012 数据集的训练成本比较。所有方法都在 NVIDIA RTX 3090 GPU 上运行。
表四:我们在 PASCAL VOC 2012 val 集上对 WeCLIP 中每个组件的消融研究。
表五:方程3φ中transformer层数的消融研究,在PASCAL VOC 2012 val集上
图五:使用 T-SNE [44] 进行特征可视化,以展示为什么冻结的 CLIP 可用于语义分割。每个颜色表示一个特定的类别。(a) ViT-B 的 Frozen ImageNet 预训练特征可视化。(b) VIT-B 的 Frozen CLIP 预训练特征可视化。可以看出,在没有任何再训练的情况下,与 (a) 中的特征相比,从冻结的 CLIP 中属于同一类的特征更紧凑。最好以彩色观看
在这篇文章中,冻结的CLIP(Contrastive Language-Image Pre-training)主干是提前训练好的。CLIP模型在大量的图像-文本对上进行预训练,学习了丰富的视觉特征和语言特征之间的关联。在这篇文章提出的WeCLIP(Frozen CLIP: A Strong Backbone for Weakly Supervised Semantic Segmentation)方法中,作者使用了预训练的CLIP模型作为特征提取的骨干网络。
具体来说,CLIP模型在训练过程中不被更新(即参数不被调整),它的权重是冻结的。这样做的原因包括:
利用预训练特征:预训练的CLIP模型已经学习到了从图像中提取丰富语义信息的能力,这些特征对于语义分割任务非常有用。
减少训练成本:由于不需要对CLIP模型的参数进行优化,可以显著减少训练时间和计算资源的需求。
提高训练效率:冻结的CLIP主干可以作为一个强大的固定特征提取器,使得训练过程更加高效,并且可以更快地适应特定的下游任务,如弱监督语义分割。
保持预训练信息:通过不更新CLIP的权重,可以确保模型在预训练阶段学到的知识不会被破坏,这些知识对于理解图像内容至关重要。
在WeCLIP方法中,作者设计了一个轻量级的解码器来解释从冻结的CLIP主干提取的语义特征,并用于最终的语义分割预测。同时,利用冻结的CLIP主干生成的类激活图(CAM)来提供像素级的伪标签,用于训练解码器。此外,还提出了一个细化模块(Frozen CLIP CAM Refinement module, RFM)来动态改进这些伪标签,进一步提高分割性能。
总的来说,冻结的CLIP主干是提前训练好的,并且在WeCLIP方法中作为固定的特征提取器使用,以提高弱监督语义分割任务的性能和训练效率。
4.4. Ablation Studies
我们对 PASCAL VOC 2012 valset 进行了消融研究,以评估我们方法的有效性。CRF 不用于细化最终预测。表4 显示了我们提出的解码器和 RFM 的影响。作为单阶段方法,解码器是必要的。我们无法在没有它的情况下生成预测。此外,引入 RFM 带来了明显的改进,mIoU 增加了 6.2%。由于 RFM 旨在改进在线伪标签,这种增加还评估了它在生成更高质量的伪标签方面的有效性。表5 报告了我们解码器中transformer层数量的影响,即方程式3中的 φ。当层数增加到 3 时,性能会提高。这是因为解码器的有限大小无法捕获足够的特征信息,并且很容易欠拟合特征。随着层数的增加,解码器学习更好的特征表示。但是,如果层数大于 3,性能会下降。一个可能的原因是更深的解码器层会导致过拟合问题。因此,对于 φ,性能在增加到 4 或 5 后会下降是合理的。
在表6,我们评估了我们的细化图的有效性。当只使用As时,这意味着选择所有注意图来细化CAM,即[29]中提出的相同过程,生成71.8%的mIoU评分。请注意,这样的过程是一个静态操作,在训练期间没有优化。引入 Ge 和 Af 显着提高了 0.5% 和 2.5% mIoU。最后,结合 Af、Ge 和 As 使用方程式 (7) 生成比其他结果更好的结果,显示了我们的细化方法的有效性。更重要的是,使用来自我们解码器的亲和图提供了一种动态细化策略,使得在训练期间优化的细化过程。
4.5. Performance on Fully-supervised Semantic Segmentation
我们还使用我们的 WeCLIP 来解决完全监督的语义分割。对于全监督语义分割,它提供了准确的像素级标签,因此我们删除了冻结的文本编码器和我们的 RFM,只保留冻结的图像编码器和我们的解码器。此外,损失函数去除了与 ^A 相关的部分。该框架可以在我们的补充材料中找到。
在表7,我们在 PASCAL VOC 2012 集上评估我们的方法以进行完全监督的语义分割。由于我们的方法利用了冻结的主干,它的可训练参数更少,但保持了高级分割性能,显示出其在全监督语义分割的巨大潜力。
为了说明为什么冻结CLIP的视觉特征可以直接用于语义分割,我们展示了一些特征可视化结果来比较图5中CLIP特征和ImageNet特征之间的差异。我们从PASCAL VOC 2012训练集中随机选择200张图像。在没有任何训练或微调的情况下,我们使用 ViTB 作为主干,并使用冻结的预训练权重初始化它。可以发现属于相同类别的特征,由CLIP预训练的特征更加密集和聚类,而由ImageNet预训练的属于同一类的特征更加稀疏和分散。从图5可以看出,CLIP模型提取的特征可以更好地表示不同类的语义信息,使得属于不同类的特征不会混淆。具有这样的判别特性,便于进行分割任务。
5. Conclusion
我们提出了 WeCLIP,这是一种基于冻结 CLIP 主干的单级管道,用于弱监督语义分割。为了解释用于语义预测的冻结特征,我们设计了一个基于transformer架构的冻结 CLIP 特征解码器。同时,我们提出了一个冻结的CLIP CAM细化模块,该模块使用来自解码器的可学习特征关系来细化CAM,从而明显提高伪标签的质量。我们的方法以更少的训练成本实现了更好的性能,显示出解决此任务的巨大优势。我们还评估了我们的方法在全监督语义分割中的有效性。我们的解决方案提供了不同于传统方法的不同视角,即不需要主干的训练。我们相信所提出的方法可以进一步提高这个方向的研究。