当前位置: 首页 > article >正文

集智书童 | UniMatch V2 推进半监督语义分割极限,以更低训练成本实现更优的语义分割结果-建议收藏!

本文来源公众号“集智书童”,仅用于学术分享,侵权删,干货满满。

原文链接:UniMatch V2 推进半监督语义分割极限,以更低训练成本实现更优的语义分割结果 !

半监督语义分割(Semi-supervised semantic segmentation, SSS)的目标是利用便宜的无标签图像学习丰富的视觉知识,以提高语义分割能力。在最近的的工作中,UniMatch [1]极大地改进了其先驱,通过放大弱到强的一致性正则化实践。后续的工作通常遵循类似的工作流程,并提出各种精致的设计。

尽管已经取得了进步,即使在大量强大的视觉模型四训练中,几乎所有的SSS工作仍然坚持1)使用过时的ResNet编码器进行小型ImageNet-1K预训练,2)在简单Pascal和Cityscapes数据集上进行评估。

在本工作中,作者认为,有必要将SSS的 Baseline 从基于ResNet的编码器切换到更强大的ViT基编码器(例如,DINOv2),这些编码器在大规模数据上进行预训练。对编码器进行简单的更新(即使使用2倍较少的参数)可以带来比仔细设计方法更大的改进。

在这个有竞争力的 Baseline 上,作者提出了作者的升级和简化的UniMatch V2,它继承了V1的弱到强一致性核心精神,但需要更少的训练成本,并提供一致更好的结果。

此外,见证了Pascal和Cityscapes性能的逐渐饱和,作者呼吁作者应专注于具有复杂分类树的高端基准,如ADE20K和COCO数据集。

代码、模型和所有报告值的日志,均可在https://github.com/LiheYoung/UniMatch-V2中找到。

1 Introduction

语义分割[2, 3, 4, 5]在场景理解中起着重要作用,它为像素级类别预测提供了基础。然而,要学习一个强大的语义分割模型,需要大量的密集标注。例如,仅用19个类别对Cityscapes[6]中的单个图像进行标注就需要大约1.5小时。这一限制在缺乏足够标注的情况下,大大阻碍了在关键应用中部署高级模型的进程。因此,为了减轻人工标注员的负担并降低标注成本,半监督语义分割(SSS)正日益受到关注。SSS的目标是使用少量标注图像来训练模型,并充分利用更多未标注图像的优势。最近最具有代表性的工作之一是 Segment Anything[7]。它设计了一个半监督数据引擎,逐步从小型人工标签扩展到自动生成的巨大规模伪标签。这种方法是通用的,可以应用于许多场景[8]。在本工作中,作者特别关注半监督语义分割任务,该任务近年来得到了广泛研究,涵盖了广泛的领域,如自然图像理解,医学图像分析,遥感解释等等。

SSS(半监督学习)的核心问题是如何有效利用未标注图像。现有工作大多遵循伪标签(也称为自训练)[21, 22]的方法。模型首先从标注图像中获取初始的语义分割能力,然后将伪标签(即模型预测)分配给未标注图像以扩大可用训练样本。这种伪标签 Pipeline 可以在线下(即多个阶段)或在线(即端到端)进行。在离线 Pipeline [20]中,只有在模型在标注图像上充分训练后,才会执行伪标签步骤。相比之下,对于在线 Pipeline [21],模型在每个训练迭代中为采样的未标注批预测伪标签。从训练开始,模型就在手动标注图像和伪标签图像上进行联合优化。离线和在线路线图在过去的几年中都有很大的发展。

追溯到三年前,ST++ [20] 表明,只要为 未标注 图像注入适当的强数据增强,一个简单的离线自训练 Pipeline  [21] 实际上优于以前的在线方法 [23, 24]。尽管这种离线策略可以确保伪标签的质量,但它并不优雅,需要三个独立的阶段。因此,UniMatch [1] 重新审视了弱到强的一致性正则化,这是 FixMatch [25] 最初在半监督分类中简化和普及的。作为一种优雅的在线自训练框架,FixMatch 在对清洁图像(例如裁剪)进行弱化增强(例如颜色抖动)后估计伪标签,并使用这些标签来监督对应于强烈增强(例如颜色抖动)的图像的训练。为了选择可靠的学习伪标签,它预定义了一个置信度阈值,并排除了不满足这一标准的模型预测。尽管它很简单,并在此前五年被提出,但UniMatch 表明,如果配备了强大的空间增强(例如 CutMix [26]),FixMatch 仍然在 SSS 中是一个高度竞争力的 Baseline ,它在2023年之前显著优于所有先前的精细设计方法。

FixMatch [25] 利用丰富的视觉知识,通过在具有强烈增强的 未标注 图像上进行训练。然而,这些强烈增强在输入空间中受到限制,即仅对原始图像进行颜色和空间畸变。这阻止了模型在更广泛的增强空间下追求不变的表示。因此,为了进一步推广 FixMatch 中弱到强的一致性,UniMatch [1] 采用了一个额外的特征级增强流作为输入级流的补充。它发现中间特征上的最简单的通道级 Dropout [27] 效果最好。此外,为了完全探索原始输入级增强空间,它在输入级设计了双流增强策略。通过随机数据增强池,从共享的弱增强版本中联合采样两个强烈增强的图像。它们以两个并行流进入模型进行训练。由于这两个关键实践(特征级增强和双流增强),UniMatch 显著提高了 FixMatch 的性能。由于其简单性和易于复制的强大结果,许多后续工作在 SSS 直接构建其框架,或者使用 UniMatch [28, 29, 30, 31] 更基本的 FixMatch [12, 32] 复制。

然而,在检查了SSS领域最近的工作后,作者发现它们的方法正在变得越来越复杂。更重要的是,即使有了这些精心设计的模块,在像Pascal和Cityscapes这样的数据集上的性能通常也只能提高近0.5%。作者可以预计,如果作者继续这样下去,这个领域未来的工作将很难在提高当前最先进(SOTA)结果上取得更大的进步。因此,仅仅因为“不是SOTA”,他们将在发表自己的作品时遇到困难。这将极大地阻碍新想法或新框架的蓬勃发展。作为基础研究主题,SSS的发展可以提供有价值的洞察力和指导,帮助作者如何在实际计算机视觉(CV)应用中有效地利用 未标注 数据 [7, 33, 34, 8]。因此,作者认为重新探索新的有意义的研究路线图对于未来SSS研究是迫在眉睫的。

回顾SSS的发展,许多“设计新颖方法”的工作已经发表。在早些年,新方法可以带来比5%以上的显著改进[10]。然而,近年来,作者不再观察到如此显著的进步。大多数工作只略微改进了他们的先驱(约0.5%)。这表明作者几乎接近了当前模型或评估基准的潜力上限。同时,跳出作者狭窄的SSS领域,在过去的几年里,更广泛的CV社区见证了在1)新的模型架构上取得了巨大的进步,例如视觉 Transformer,更好的卷积网络[38, 39],2)更好的预训练策略[40, 41, 42],特别是视觉单独的自监督学习方法[43, 44, 45, 46, 47],以及3)利用超大规模数据(超过100M)进行预训练[40, 47, 48, 49]。尽管取得了令人兴奋的进步,遗憾的是,它们中的任何一个都没有很好地整合到作者的SSS领域。最近的SSS工作仍然停留在过时的ImageNet-1K预训练ResNet编码器[50]上。在一定程度上,这是可以理解的,因为大多数以前的SSS工作都使用相同的编码器建立了比较基准。使用新的架构重新基准现有方法将会是冒险和昂贵的。然而,为了使SSS工作产生更广泛的影响,作者认为这样做是值得和紧迫的,因为从这些具有小规模预训练的过时编码器中获得的洞察,不能保证可以安全地转移到具有大规模预训练的现代架构中。

在最近的SSS工作中,有两个例外,它们摒弃了ResNet编码器。一个是SemiVL [31],它基于CLIP-ViT-B模型[40]构建;另一个是AllSpark [32],使用了MiT-B5 [52]预训练编码器。尽管它们向前迈进了一步,但它们使用的编码器并不足够强大。而且,它们的实验并不充分,无法涵盖所有数据集和微调策略。

在本工作中,作者旨在利用最强大的预训练模型DINov2 [47]重新构建一个全面的新基准,以进行半监督语义分割。得益于其大规模精选数据和先进的训练策略,DINov2在各种场景中表现出色,例如分类和密集匹配。如图1所示,仅对预训练编码器进行简单的更新,从ResNet-101更改为DINov2-S(甚至参数减少2倍),在Pascal数据集上将UniMatch [1]性能提高超过3%,在Cityscapes数据集上提高4%。DINov2-B比其他类似规模的编码器(如CLIP-B [40]和MiT-B5 [52])强得多。为结果所震撼,作者使用DINov2重新进行了UniMatch V1 [1]及其 Baseline FixMatch [25]的所有核心实验。

基于这个强大的 Baseline (UniMatch + DINov2),作者进一步提出了作者的升级和简化的UniMatch V2。它继承了V1中弱到强的一致性正则化核心精神。然而,与V1不同,V2使用更少的强烈增强流进行学习。将特征 Level 的Dropout和输入 Level 的增强融合到一个单独的流中。此外,为了充分探索联合增强空间,作者在特征 Level 设计了一个互补Dropout。将特征图沿着通道维度分解成两个不重叠且互补的集合。这两个非重叠的特征集可以被视为图像的两个不同但有意义视图。例如,一组特征可能对纹理敏感,而另一组负责结构信息。作者将这两个互补特征传递到共享解码器进行双流学习。与V1中的双流实践(两次随机图像增强)相比,作者的互补Dropout可以产生更好的双视图,这在实践中更为有效。

本文极大地更新了作者的CVPR'23论文UniMatch V1[1],并做出了多项新的贡献:(1) 作者重新评估了UniMatch V1及其基准FixMatch25。作者使用了最强大的视觉基础模型DINOv2[47]。

(2)通过将V1的特征级和输入级增强融合到一个可学习的流中,作者简化了V1。此外,作者提出了一种互补 Dropout,以充分利用双流训练。经过这两项升级,V2比V1更有效率,表现更好。

(3) 作者进行了广泛的实验,包括但不限于:

i) 四个流行的语义分割数据集,ii) 各种视觉编码器:ResNet[51],DINOv2[47],SAM[7],MiT[52],BEiT[45],iii) 微调[vs.]冻结预训练编码器,iv) 在丰富的设置(如不同框架和超参数)上的全面正则化研究,v) 具有大量 Token 图像和大量 未标注 图像的真实世界大规模SSS设置,以及vi) 更广泛的半监督场景,例如,远程感测变化检测和图像分类。

2 Related Work

Semi-Supervised Learning

半监督学习(SSL)[53, 54, 55]研究如何更好地利用无标签图像。这是机器学习中的一个基本且长期存在的问题,应用范围广泛,从传统的图像分类[21]到现代计算机视觉和自然语言处理的基础模型。自从深度神经网络的出现以来,它越来越受到关注。背后的原因是深度模型能够适应各种训练样本,然后泛化,但它们对标签数据非常渴望,而标签数据通常获取成本高。训练样本的缺乏将极大地限制现代网络的泛化能力。因此,研究行人采用大量存在且容易获取的廉价无标签数据,以增加数据覆盖和增强模型迁移能力。

为了有效地整合无标签数据,有两种主要方法。一种被称为 熵最小化 ,由一个直截了当的自我训练 Pipeline  [21] 推广。通常,它首先在初始 Token 数据上训练一个教师模型。然后,这个教师模型在额外的无标签数据上预测伪标签。通常,预测的对数似然值被锐化或后处理为一个二进制伪标签的分类。

这些最小化的熵的硬标签可以作为监督信号,在无标签数据上重新训练学生模型。为了更好地使用这个 Pipeline ,来自Noisy Student [22]的一个关键见解是,在重新训练学生模型时,作者应该在注入强大的数据增强和模型增强的同时,增加其学习难度。

尽管其有效性,离线的自我训练 Pipeline 鲜少使用,因为其不方便的三个阶段。许多最近的工作更喜欢由一致性正则化驱动的端到端伪标签框架。核心思想是将有毒的预测与更准确的预测对齐。从模型方面来看,Mean Teacher [64]维护一个EMA教师模型,为学生生成更好的伪标签。从数据方面来看,FixMatch [25]使用干净图像上的高质量预测来监督相应增强的硬图像的训练。由于其简单性和有效性,许多后续的工作都基于它。

其中,FlexMatch [76]通过考虑类别的学习状态,用类感知阈值替换全局置信阈值。DST [77]将伪标签的预测和学习解耦到单独的头中,以抑制模型噪声。除了语义 Level 的一致性,SimMatch [78]在实例 Level 应用辅助正则化。为了安全地使用所有 未标注 的数据,ShrinkMatch [79]排除不确定样本的混淆类别以进行学习。

作者的工作继承了FixMatch中的弱到强的一致性正则化。然而,作者提出了一种双流互补dropout方法,以构建更好的增强空间。

此外,作者专注于半监督语义分割,与FixMatch的分类任务相比,获取标签数据更为费力。

Semi-Supervised Semantic Segmentation

半监督语义分割(Semi-supervised semantic segmentation,简称SSS)是自监督学习(self-supervised learning,简称SSL)的一个重要子领域,其在场景理解,医学图像分析,以及遥感解释[17, 18, 19]等领域具有广泛的应用。早期的工作[9, 80]在借鉴GANs[81]的方法到SSS方面做出了一些 pioneering 的努力。他们将分割模型训练成一个生成器,以产生能够欺骗用于区分伪标签和手动标签的网络的预测。尽管具有启发性,但这样的框架训练起来非常困难。从那时起,直到现在,大多数工作都遵循SSL的进展,从熵最小化和一致性正则化的角度提出了简单而有益的设计。这两个原则通常结合在一起。

在这个趋势中,法国的 et al. [23] 强调了在未标注图像中注入 Cutout [96] 和 CutMix [26] 的必要性,以挑战模型学习。然后 CPS [10] 揭示 CutMix 可以在协同训练框架 [97, 98, 99] 中更有效地工作。AEL [100] 进一步设计了一个自适应 CutMix,使采样数据倾向于低性能类别。这三项工作使用了在线伪标签框架。然而,在早期训练阶段,伪标签的质量无法得到保证。相比之下,ST++ [20] 和 SimpleBaseline [101] 采用了一个三阶段自训练 Pipeline ,只在模型完全在标注数据上训练时进行伪标签。尽管取得了有前途的结果,但它们还不够优雅。

为简化SSS方法并揭示真正重要的是什么,UniMatch [1],AugSeg [102] 和 iMAS [103] 基于 FixMatch [25] 的方法构建了简单而有效的基础框架。它们都强调了在无标签图像上强大的数据增强作用,例如颜色抖动和 CutMix。它们只是预先定义一个置信阈值来丢弃噪声伪标签,这证明非常有用。在详细设计中,UniMatch [1] 揭示了双流增强和特征级增强的好处。AugSeg [102] 在 RandAugment [104] 中增加了随机性,以实现更丰富的数据增强。而 iMAS [103] 则采用基于模型状态的适应性增强和监督。

由于它们的简单性和可复制的强大结果,后续研究大多遵循它们,或者由UniMatch复制的更基本的FixMatch框架。在最新的一些工作中,CorrMatch [12]利用相关图来传播和抛光伪标签。与大多数关注无标签数据的工作不同,AllSpark [32]指出有标签特征的价值。最近,SemiVL [31]将CLIP [40]编码器通过空间微调模块和语言感知解码器集成到SSS中。此外,BeyondPixels [29]发现对于上下文信息,额外训练一个像素级的分类器是有帮助的。

尽管取得了一定的进展,但这些工作并未采用强大的视觉编码器,大多仍停留在过时的ResNet编码器。作者的目标是使用最强大的DINOv2编码器重新评估所有现有的SSS设置[47]。此外,作者提出了一种基于这种现代架构的简化但更强大的UniMatch V2框架。

3 Methodology

在本工作中,作者提出的UniMatch V2和先前的UniMatch V1 [1] 都基于FixMatch [25]。

因此,作者在第三节第1小节主要介绍这个遗留框架。然后,作者在第三节第2小节回顾作者的先前的UniMatch V1框架,分析其优缺点。

最后,在第三节第3小节,作者将介绍作者简化的UniMatch V2框架,与V1相比,它更加高效且功能更强大。

Preliminaries

UniMatch V1: Unified Dual-Stream Augmentations

受到在SSS中重现的FixMatch惊人结果的启发,UniMatch V1 [1] (图1(b))旨在从两个方面进一步加强其从弱到强的正则化,即统一图像级和特征级的增强(第3.2.1节)和双流增强。

3.2.1 Unified Augmentations of Image and Feature Levels

在作者为图像级和特征级可学习流分配相等的损失权重。

通过广泛的消融研究,V1揭示了一个简单的通道级Dropout(PyTorch中的nn.Dropout2d(0.5))在特征增强方面表现出色。它随机选择一半的通道特征图并在通道维度上用零值 Mask 它们。

作者发现没有必要采用计算密集型的VAT实践[113, 115]来扰动特征。值得注意的是,在实际中,预训练的编码器通常为后续解码器的输入输出多级中间特征。例如,ASPP解码器[3]取ResNet编码器的一阶和最终阶特征。在这些情况下,作者独立地对每个特征体积应用特征增强。

3.2.2 Dual-Stream Augmentations

上述统一增强成功地增强了FixMatch,通过扩展增强空间。这使得模型在更丰富的扭曲下寻求强大的表示,这是更强的泛化能力的关键。除了这个修改外,UniMatch V1还进一步提出了更彻底地探索原始输入 Level 的增强空间。为此,它设计了一种双流增强策略。这种策略受到自监督学习和半监督分类中的多视图学习技术的启发。例如,SwAV [116] 使用多裁剪技术将图像分割为不同分辨率的多个视图,并优化它们之间的局部到全局的一致性。类似地,ReMixMatch [67] 为模型生成多个强烈增强的图像,使其共同学习。

具体而言,在作者的UniMatch V1中,作者首先从共享的弱化版本x^w中获取两个强烈增强的图像(x^s_1, x^s_2)。

在V1中,作者发现尽管方法非常简单,但双流增强对FixMatch具有极大的益处。进一步验证,性能提升并非来自两倍的无标签批次大小。与单流增强相比,作者的设计不仅完全探索了原始增强空间,还稳定了训练。例如,单流增强可能会产生过度困难的或容易的图像。

在这种情况下,引入一个额外的并行流以学习可以作为模型优化的宝贵平衡(即,梯度下降)。此外,作者认为,用共享的弱视监督两个强大的观点可以从概念上视为在两个强大观点之间强制一致性。因此,作者的双流实践分享了对比学习的核心精神[43, 117, 44],能够学习判别性表示,已被证明对作者SSS任务[118, 119]具有重要意义。作者还在即将讨论的UniMatch V2中采用了类似的双流方法。

3.2.3 Summary and Discussion

将上述两种统一增强和双流增强的设计整合到UniMatch V1中,存在三个可学习的流以及一个推理流,用于生成伪标签。这三个流使得模型在多级随机强增强下保持一致,大大增强了FixMatch的弱到强一致性正则化实践。未标注 数据的最终损失可以表示为:

观察到作者均匀累积双流增强的损失。作者还直接为输入级和特征级的增强设置相等的权重。在通用性方面,作者避免仔细微调这些超参数以获得更好的结果。作者在V2中仍然严格遵循这些原则。

凭借这些有效的设计,UniMatch V1成功地将SSS结果提升到一个新的水平,并成为许多后续工作的基准[29, 28, 30, 31]。然而,它还不是最优的。例如,尽管在最终推理中只有一个流水线,但在训练过程中,三个可学习的流水线在计算上要重得多。此外,如图3所示,特征级增强流水线比图像级增强流水线导致更小的损失,例如,更小。在应用更先进的DINOv2编码器时,特征级损失将变得更加可忽略,对最终性能的贡献更少。因此,作者的UniMatch V2旨在提高V1的训练效率,并在有能力的视觉基础模型下进一步提升其性能。

UniMatch V2: Simpler and Stronger

首先,作者从架构方面构建了作者的UniMatch V2框架(图2c),该框架基于最强大的DINOv2编码器。几乎所有先前的研究,包括作者的V1版本,仍然盲目地使用过时的ResNet编码器,以便更方便地与现有工作进行比较。然而,通过作者的消融研究(表9),最轻量级的DINOv2-Small编码器在作者的SSS任务中显著超过了最重的ResNet-152编码器,仅使用3倍较少的模型参数(24.8M vs. 78.6M)。因此,作者呼吁在未来的SSS研究中切换到这些现代编码器,以产生更广泛的影响。作者将在DINOv2的背景下讨论作者的技术设计。

在V2中,作者的目标主要有三个方面:1) 减少V1中的可训练流数量,以提高训练效率;2) 保持统一图像级和特征级增强的核心精神;3) 在现代编码器下,实现比V1更好的结果。

3.3.1 Single-Stream Unified Augmentations

如图3所示,纯粹的特征级增强导致的损失与输入级增强下的损失相比微不足道。在将弱ResNet编码器更新为强大的DINOv2编码器时,这个差距更大。通过作者的实验,作者发现当在DINOv2下移除特征级增强流时,没有性能损失,例如在ADE20K上的四个 out of five 设置甚至可以通过移除它而得到提高。然而,作者认为强制模型对多级增强具有抵抗力仍然是有益的。为此,作者提出将输入级和特征级增强统一到一个单一的流中。这种做法有三个优点:1)模型可以在广泛的增强空间中追求稳健的表示;2)无需维护不同类型的增强的单独流,从而提高了训练效率;3)DINOv2比之前的ResNet更强大,因此将各种增强堆叠起来以进一步挑战它学习,而不是像V1那样将其解耦。单流损失的公式如下:

3.3.2 Complementary Channel-Wise Dropout

作者的UniMatch V2的PyTorch类似的伪代码见算法1。从概念上实现起来很简单,同时又能非常有效。

4 Experiment

在本文中,作者的主要目标是充分利用强大的DINOv2编码器彻底更新过时的ResNet编码器,以实现半监督语义分割(SSS)。因此,作者进行了全面的实验,涵盖了所有 previously使用的数据集和协议,以及尚未探索但更具挑战性和实用性的数据集,作者希望能够推广。

除了作者UniMatch V2所实现的 state-of-the-art(SOTA)结果外,作者还提供了作者UniMatch V1、作者的 Baseline FixMatch以及使用DINOv2的 Token 结果。此外,作者还对各种设置进行了广泛的消融研究,以证明作者方法的有效性。考虑到某些学术团体计算资源的有限性,并为了更好地促进未来研究,作者还重新对所有结果进行了在冻结预训练编码器下_的基准测试(更少的GPU内存,更少的训练时间)。

除了学习率外,它对新编码器的最优值需要重新探索,作者没有针对任何超参数进行深入微调。甚至对于所有作者探索的设置,作者都保持学习率相同。因此,尽管作者的结果比以前的工作更强大,但作者认为仍有许多提高的空间。

Datasets

作者在语义分割领域使用四个流行的基准测试评估作者的UniMatch V2,即Pascal [126],Cityscapes [12],ADE20K [127]和COCO [128]。前两个数据集在SSS中广泛使用,但后两个由于复杂的分类体系很少被评估。然而,考虑到Pascal和Cityscapes 上的饱和结果,作者认为作者应该更加关注ADE20K和COCO。

帕斯卡[126](2012年版)包含1464张具有高质量语义 Mask 的图像和9118张精度较低的 Mask ,涵盖21个类别。在本研究中,作者从高质量组中选择 Token 图像,并将所有其他图像视为 未标注 图像。

城市景观(Cityscapes)是一个经典的城市场景数据集,包含2975张分辨率为1024×2048的图像,涵盖19个类别。尽管类别空间相对较小,但由于分辨率高,标签质量非常高,包括许多细小的物体,如交通信号灯。

ADE20K[127] 是一个相当具有挑战性的数据集,包含150个类别。它包含20210个 Token 图像。它广泛用于全监督语义分割,但在半监督设置中很少被提及。作者怀疑这可能是因为之前的ResNet模型在该数据集上的表现不佳。当作者升级到DINOv2编码器时,作者认为ADE20K上的半监督结果将会有很大的改进。作者希望它能为未来的工作提供主要的评估基准。

COCO[128] 是一个大型且复杂的数据集,在目标检测方面特别受欢迎。在作者进行语义分割任务时,作者使用的是其2017版本,包含118287个 Token 图像和81个类别。在SSS(Semantic Segmentation)中,对这个数据集有一些开创性的尝试,包括作者的UniMatch V1。

Implementation Details

在Pascal和COCO上,一个mini-batch由16个 Token 图像和16个无 Token 图像均匀组成,而在Cityscapes和ADE20K上,有8+8个 Token +无 Token 图像。除另有说明外,作者使用四台A100 GPU进行所有实验。

在推理过程中,作者只稍微插值图像以确保其高度和宽度都能被14整除。在城市景观上,作者遵循先前的做法,对窗口大小798进行滑动窗口评估。作者报告了EMAteacher模型的平均交并比(mIoU)(↑)指标。在大多数情况下,在完全收敛后,它大约比学生模型好0.1% - 0.2%。

Comparison with State-of-the-Art Methods

首先,作者想要强调,与之前的最新研究相比,作者的比较是不公平的,因为使用了不同的编码器。作者使用了比其他工作更强大的编码器,这是本工作的主要动机之一。通过不公平的比较,作者希望清楚地揭示DINov2在作者的SSS任务中的优越性,并呼吁更多的研究转移到这种现代编码器。在下一节中,作者将展示在同一编码器下的公平消融研究。

帕斯卡:如表1所示,基于DINov2-S的UniMatch V2框架在各项指标上均显著优于之前的ResNet-101框架。例如,在设置为1/8(183) Token 图像时,ResNet-101的最新SOTA结果为78.6%(在最近的ECCV'24报告中报告),而作者的DINov2-S结果为85.5%(+6.9%),即使模型参数减少两倍(59.5M vs. 24.8M)也是如此。这样的显著提升在修改框架之前从未实现过。此外,与最新的工作SemiVL[31](基于CLIP[40])和AllSpark[32](基于MiT-B5[52])相比,作者的优势依然巨大。例如,在1/4(366)设置下,作者的DINov2-B结果比AllSpark和SemiVL分别高出9.1%(79.8% --> 88.9%)和2.9%(86.0% --> 88.9%)。作者还报告了“仅 Token 图像”的结果,仅使用 Token 图像进行训练。作者可以观察到,DINov2-S的仅 Token 图像性能在很多情况下甚至优于ResNet-101的半监督结果。所有这些比较明显地证明了升级预训练编码器从弱ResNet/CLIP/MiT到强DINov2的必要性。此外,最轻量级的DINov2-S比ResNet-101更便宜。此外,作者使用的训练周期比以前的工作少(60 vs. 80个周期)。

Ablation Studies

除非另有说明,作者在DINOv2-B编码器下进行所有消融试验。与DINOv2-S相比,DINOv2-B更强大,因此可以提供更多空间供不同设计展示其有效性。与所有现有仅在单个数据集上进行消融试验且分块有限的工作不同,作者在广泛的分块和数据集中消融作者的各种设计和选择。通过这些全面的结果,作者希望为未来工作提供更多改进SSS性能的启示。

4.4.1 Comparison with FixMatch and UniMatch V1

4.4.2 Other Variants of the Learnable Stream Design

4.4.3 Fine-tuning vs. Freezing the DINov2 Encoder

除非本文另有说明,否则作者将在整个模型(即编码器+解码器)上进行完全微调。然而,由于GPU内存的限制,一些学术团队无法承担这种训练策略。针对这一问题,作者进一步尝试将预训练的DINov2编码器冻结,仅训练随机初始化的DPT解码器,这仅占全部参数的10%。这大大降低了训练成本,例如,在帕斯卡(Pascal)上,DINov2-B的GPU内存消耗从23G减少到10G,训练时间减少59%。微调或冻结编码器的性能如表7所示。预期微调的性能优于冻结编码器。在所有38个设置(涵盖各种数据集、划分、编码器)中,只有在帕斯卡1/16划分,使用DINov2-S时,微调编码器不如冻结编码器,差距为2.8%(79.0% vs. 81.8%)。在剩下的37个设置中,微调明显优于冻结编码器,差距为0.6% - 5.5%。

仔细分析微调与模型冻结之间的差距,作者发现这种差距在具有挑战性的数据集(如ADE20K和COCO)上更大,平均差距约为3.5%,而在最容易的Pascal数据集上,平均差距仅为1.4%。尽管Cityscapes包含的类别比Pascal更少,但它在上的差距更大,这表明DINov2预训练集与Cityscapes之间可能存在更大的分布转移。最后,作者想要强调的是,即使是最小的冻结的DINov2-S在Pascal、ADE20K和COCO上的性能也能显著优于先前的微调较大的ResNet-101,同时训练成本也有所降低(GPU内存下降47%)。受到冻结编码器强大结果的启发,作者相信未来的工作可以提出更好的策略(例如,LoRA [133])来利用强大的编码器。

4.4.4 Scaling Up the Capacity of the DINov2 Encoder

至今,作者已经报告了在DINov2-S和DINov2-B编码器下取得的许多结果。在实际应用中,它们已经足够取得令人期待的结果。据作者所知,以前SSS工作所采用的最大模型包含近1亿参数,与作者的基于DINov2-B的DPT类似。然而,作者仍然好奇,SSS结果是否可以通过简单地提升分割模型的容量而进一步改进。因此,作者使用包含335.6M参数(比DINov2-B大3.5倍)的基于DINov2-L的DPT模型评估UniMatch V2。在表8中,作者揭示了将编码器从DINov2-B更新到DINov2-L可以进一步提升作者的结果。例如,在ADE20K的1/16划分上,作者的结果从46.7%提高到49.3%(+2.6%)。此外,即使使用最强大的DINov2-L编码器,作者的UniMatch V2仍然能持续提高仅标注结果,展示了其在利用未标注图像方面的优势。

4.4.5 Comparison with Other Pre-trained Encoders

作者将作者采用的DINov2与其他强大的预训练视觉编码器进行了比较,包括ResNet-152 [51],MiT-B5 [52],BEiT-B [45],BEiT-L [45],SAM-B [7],以及SAM-L [7]。值得注意的是,作者为这些编码器精心重新找到了一个最优的学习率,而不是直接使用作者DINov2的学习率。除了BEiT之外,作者对这些编码器应用了相同的UniMatch V2框架。当作者采用BEiT时,作者使用学生模型来生成伪标签,因为作者认为其EMA教师非常糟糕,可能是因为相对位置编码的问题。

如图表9所示,作者将所有编码器根据其参数数量分为三组。有以下四个关键观察结果。(1) 在每一组内,作者采用的DINov2编码器显著优于其他替代方案。作者的DINov2-S平均比ResNet-152优8%,且只需要3倍更少的参数。(2) 在较小的DINov2下,作者的结果甚至优于其他较大的模型。DINov2-S持续超过BEiT-B,而DINov2-B优于BEiT-L。(3) 尽管SAM[7]专门针对图像分割设计,但在作者的SSS任务中,其编码器表现不佳,主要是由于通过无类别分割预训练任务获得的弱语义能力。(4) 一些先前的研究未能充分挖掘先进编码器的潜力。例如,AllSpark[32](表格1)在相同MiT-B5编码器(表格IX)下,其结果在作者的UniMatch V2[81.4%](表格IX)下,例如,78.4% vs. 81.4%在帕斯卡183分片上。

4.4.6 Values of the Confidence Threshold

4.4.7 Values of the Weight lambda of Unlabeled Loss

4.4.8 Effectiveness of the EMA Teacher

与FixMatch和之前的UniMatch V1不同,作者在V2中使用EMA教师为在线学生生成伪标签。这种修改的动机是观察到在早期训练阶段,EMA模型比在线模型大致1% - 2%更好,且其性能更为稳定,如图7所示。在表14中,作者进一步比较了使用EMA教师生成伪标签和使用在线学生生成伪标签的最终性能。在前者情况(作者默认的做法)中,作者报告了EMA教师测试结果。在后者情况(在线模型的更好测试结果及其EMA版本)中,作者报告了在线模型及其EMA版本的更好测试结果。对于三个数据集的所有评估设置,使用EMA模型获得了更好的结果,进一步证明了其更高的标注质量。

4.4.9 Dual-Stream Learning vs. Doubled Batch Size

有了双互补流的优化设计,作者的UniMatch V2在FixMatch的基础上有了显著的提升。然而,这也几乎将训练成本翻了一倍。因此,作者需要探讨,如果用双倍的批量大小进行双倍的epoch训练FixMatch,也就是作者的更好结果是否可以通过增加训练预算轻松实现,_i.e._。如表11所示,尽管作者手动将FixMatch的训练成本提高两倍,但在三个数据集上,它仍然明显逊于作者的UniMatchV2,展示了作者设计的互补视角的有效性。

4.4.10 Inserted Position of the Complementary Dropout

遵循UniMatch V1,作者默认为在编码器(例如,DINOV2)和译码器(例如,DPT头)的交叉点处插入作者提出的互补Dropout。作者还试图将这种机制移动到译码器与最终的卷积分类器的交叉点。尽管它插入在模型的后面,但梯度将反向传播整个模型,提高整体鲁棒性。与表12中的两个尝试位置相比,编码器-译码器位置通常优于译码器-分类器位置,与UniMatch V1中的观察结果相同。这表明在模型中间注入特征级增强更为有益。

Towards A More Real-World SSS Setting

作者希望强调的是,现有的SSS工作 全部 都采用了一种 人工半监督 的设置,在这种设置下, Token 图像是从所有可用 Token 数据中选择的一个小子集,而其余的图像则被视为 未标注 图像,即 _不使用它们的真实标签_。

然而,一个更现实且实用的SSS设置应该是:作者直接使用所有可用的 Token 图像作为作者的 Token 集,并寻求更多真正 未标注 的图像作为作者的 未标注 集。这种设置比现有设置更具挑战性,因为竞争完全监督的 Baseline 很难进一步改进。但作者认为有必要朝这个方向努力,因为SSS的最终目标是造福实际应用。在大多数实际场景中,随着时间的推移,大量图像(例如,10K)已经被标注,但在此期间,还有大量图像(例如,100K)尚未手动 Token 。

为此,作者在三个具有挑战性但实际可行的设置下评估了作者的UniMatch V2:

(1)作者使用COCO的118万张 Token 图像及其提供的123万张 未标注 图像;

(2)作者使用ADE20K的20万张 Token 图像,并将COCO的118万张 Token 图像视为作者的 未标注 数据,;

(3)作者使用Cityscapes的3万张 Token 图像,并将其提供的额外20万张没有精确标签的图像视为作者的 未标注 池。

所有结果都总结在表13中。有四个观察结果:

(1)即使已经提供了充足的 Token 图像,作者的UniMatch V2仍可以通过纳入额外的 未标注 图像来提高模型性能。所有三个具有挑战性的全监督 Baseline 都通过作者的UniMatch V2得到了提升。

(2)即使 Token 和 未标注 图像来自略微不同的数据分布, 未标注 图像仍然具有高度的益处。例如,COCO的118万张 未标注 图像将ADE20K全监督结果(带有20万 Token 图像)从54.1%提高到了54.9%。

(3) 未标注 数据存在一个缩放定律。值得注意的是,对于ADE20K数据集,当增加 未标注 COCO图像的数量从118万张增加到241万张时,性能进一步提高到了54.9%到55.7%。

(4)与小型SSS设置相比,作者在实际大规模场景中的改进微乎其微,主要是由于高 Token 结果。但作者认为这种具有挑战性的方向是有意义的,并期待未来的工作能够取得重大进展。

Extending UniMatch V2 to Broader Scenarios

4.6.1 Remote Sensing Change Detection

由于超高的分辨率,远程感测图像或卫星图像的标注工作非常耗时。因此,作者进一步研究了作者的UniMatch V2在远程感测变化检测任务中的有效性,该任务旨在在两个双时相图像之间识别出变化区域。如图8所示,这是一种广泛使用的流水线。双图像的特征被减去,然后输入到解码器。这可以被视为二值分割任务,但有两个输入。在这个任务中,作者使用学生本身来生成伪标签,因为它比其EMA版本演化得更快。作者将模型训练60个周期,批量大小为8+8,图像大小为252。其他超参数(例如,学习率,优化器)与自然图像相同。

表14显示,在两个最具代表性的变化检测数据集LEVIR-CD [137]和WHUCD [138]上,作者的UniMatch V2,即使采用轻量级的lightDINOv2-S编码器,也始终在各设置上超越了所有先前的研究工作。当采用更大的DINOv2-B编码器时,结果进一步增强。例如,在具有20% Token 图像的WHU-CD数据集上,作者的DINOv2-S IoU结果比先前的最佳SemiCD-VL [136]提高了1.3%(84.8% vs. 86.1%),而作者的DINOv2-B结果比它提高了3.1%(84.8% vs. 87.9%)。这些令人印象深刻的结果表明,作者的框架具有强大的泛化能力,即使对于双时序SSS场景也是如此。

4.6.2 Semi-Supervised Classification

作者进一步将UniMatch V2框架扩展到半监督分类的更基本场景。作者遵循之前工作的协议[25, 78],并在四个代表性的数据集上进行实验。在CIFAR-10[140](表15)、STL-10[141](表16)和SVHN[142](表17]上,作者采用FixMatch[25]与分布对齐[67]作为作者的 Baseline 。为了保证报告的性能的稳定性,作者对每个 Token 分割使用三个或五个不同的随机种子运行。在ImageNet-1K[50](表18]上,作者使用SimMatch[78]作为作者的 Baseline 。如表所示,在作者所测试的所有四个数据集上,UniMatch V2都明显优于以前的方法。

Qualitative Comparisons

作者在图9中对当前的UniMatch V2框架与先前的UniMatch V1进行了定性比较。在四个代表性的基准测试上,作者的UniMatch V2生成的预测结果比V1更精确,同时也对具有挑战性的语义更具区分度。此外,作者在图10中提供了与先前的最先进方法AllSpark [32]和SemiVL [31]的定性比较。作者的UniMatch V2在语义分割方面表现出最准确的结果。

5 Conclusion

在本次工作中,作者展示了UniMatch V2,以加强我们之前V1框架的半监督语义分割能力。作者将之前过时的ResNet编码器更新为最强大的DINOv2编码器。

为了方便未来工作与我们在这一新基准上的比较,作者进行了全面的实验。

在技术层面上,作者将图像级和特征级增强统一到一个单一流中,并进一步设计了一个互补性Dropout,通过构建更好的双学习视图,充分利用双流实践的优势。因此,我们的UniMatch V2在性能上显著超越了所有先前的工作。

6 参考文献

[0]. UniMatch V2: Pushing the Limit of Semi-Supervised Semantic Segmentation.

THE END !

文章结束,感谢阅读。您的点赞,收藏,评论是我继续更新的动力。大家有推荐的公众号可以评论区留言,共同学习,一起进步。


http://www.kler.cn/a/382080.html

相关文章:

  • 告别复杂协作:Adobe XD的简化替代方案
  • AAA 数据库事务隔离级别及死锁
  • SpringBoot day 1105
  • 软件测试面试题个人总结
  • 【Linux】简易版shell
  • 基于SpringBoot+微信小程序+协同过滤算法+二维码订单位置跟踪的农产品销售平台-新
  • 【网络】数据链路层
  • 基于Qt的独立线程创建与多线程执行实验Demo
  • JAVA读取doc,docx转PDF通过vue展示
  • 基于Multisim拔河比赛游戏+计分电路(含仿真和报告)
  • 华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验
  • 微积分复习笔记 Calculus Volume 1 - 4.7 Applied Optimization Problems
  • WordPress 中最佳的维护服务:入门级用户指南
  • 【机器学习导引】ch4-决策树
  • copyq禁止访问网络(ubuntu cgroup)
  • 发不了Science?那是因为你不会画Science风格的配图
  • 静态数据区,堆,栈
  • linux动态库与静态库
  • 从底层技术到实际应用:Claude与ChatGPT谁更适合学术写作?
  • Redis学习:BitMap/HyperLogLog/GEO案例 、布隆过滤器BloomFilter、缓存预热+缓存雪崩+缓存击穿+缓存穿透
  • 20241106,LeetCode 每日一题,用 Go 实现整数回文数判断
  • Redis(2):内存模型
  • java:题目:用Java实现简单的自取取款操作
  • Leetcode 第 422 场周赛题解
  • Flutter中有趣的级联语法
  • 蓝桥杯真题——三角回文数(C语言)