CVPR2022自适应/语义分割:Class-Balanced Pixel-Level Self-Labeling for Domain Adaptive Semantic Segmentation用于域自适应语义分割的类平衡像素级自标记
0.摘要
域自适应语义分割的目的是在监督源域数据的情况下学习模型,并在未标记的目标域上产生令人满意的密集预测。对于这一挑战性任务,一个流行的解决方案是自我训练,它选择目标样本上的高分预测作为训练的伪标签。然而,生成的伪标签往往包含大量的噪声,因为模型偏向于源域和大多数类别。为解决上述问题,我们建议直接探索目标域数据的内在像素分布,而不是过度依赖源域。具体来说,我们同时对像素进行聚类,并使用获得的聚类分配对标签进行整流。这个过程以在线的方式完成,因此伪标签可以与分割模型共同进化,而不需要额外的训练。为了克服长尾类的类不平衡问题,我们采用一种分布对齐技术,使簇分配的边缘类分布接近于伪标签的边缘类分布。所提出的方法,即类平衡像素级自标记(CPSL),在现有技术水平的基础上,大大提高了目标域的分割性能,特别是在长尾类上。
1.概述
语义分割是计算机视觉的一项基本任务,其目的是对图像进行密集的语义级预测[8,27,28,43,53]。它是许多应用程序的关键一步,包括自动驾驶、人机交互和增强现实,举几个例子。在过去的几年中,深度卷积神经网络(CNNs)的快速发展大大提高了语义分割的准确性和效率。然而,在一个领域中训练的深度模型在应用到未见域时,性能往往会大幅下降。例如,在自动驾驶中,当天气条件不断变化时,分割模型面临着巨大的挑战。从尽可能多的场景中收集数据是提高分割模型泛化能力的自然方法。然而,为大量的图像[11]注释像素标签是非常昂贵的。需要更有效和实用的方法来解决语义分割的领域转移问题
无监督域适应(Unsupervised Domain Adaptation, UDA)提供了一种将从一个标记源域学到的知识转移到另一个未标记目标域的重要方法。例如,我们可以使用GTA5[36]和SYNTHIA[37]等游戏引擎来收集许多合成数据,这些合成数据的密集注释很容易获得。接下来的问题是如何将经过标记的合成域训练出来的模型适应于未标记的真实图像域。UDA之前的大部分工作都是通过对抗式训练或辅助风格传输网络,在图像级别[17,25,33]、特征级别[7,17,18,24]或输出级别[29,32,39]对齐数据分布,从而弥合域差距。然而,这些技术增加了模型的复杂性,使训练过程不稳定,影响了模型的再现性和鲁棒性。
另一种重要的方法是自我训练[52,56,57],它可以通过选择目标域上的高分预测生成伪标签,并为下一轮训练提供监督。虽然这些方法已经产生了良好的性能,但仍有一些主要的局限性。一方面,分割模型倾向于源域,从而在目标域中产生的伪标签容易出错;另一方面,高度自信的预测可能只能为模型训练提供非常有限的监督信息。为了解决这些问题,有人提出了一些方法[50,51]来生成更准确和更有信息的伪标签。例如,与使用源域训练的分类器来生成伪标签不同,zhang等人[51]伪标签分配基于它们到类别原型的距离。然而,这些原型是在源域构建的,通常与目标域有很大的偏差。ProDA[50]利用与原型之间的特征距离来进行在线校正,但构造长尾类的原型具有挑战性,这常常导致性能不理想
与以往使用基于分类器的噪声伪标签进行监督的自训练方法不同,本文提出了一种基于目标域聚类的在线像素级自标记方法,并利用产生的软聚类分配对伪标签进行校正。我们的想法来源于这样一个事实,即基于像素的聚类分配可以揭示目标域内像素的内在分布,并为模型训练提供有用的监督。与传统的标签生成方法往往偏向源域相比,目标域中的聚类分配更可靠,因为它探索了数据的内在分布。考虑到segmentationdataset的类是高度不平衡的(如图2所示),我们采用分布对齐技术,使聚类分配的类分布接近于伪标签的类分布,这更有利于类不平衡的密集预测任务。提出的类平衡像素级自标记(CPSL)模块以即插即用的方式工作,它可以无缝地集成到现有的UDA自训练框架中。本工作的主要贡献如下:
- 开发了一种像素级自标记模块,用于领域自适应语义分割。我们以在线的方式聚类像素,同时根据产生的聚类分配纠正伪标签。
- 引入了一种分布对齐技术,将集群分配的类分布与伪标签的类分布对齐,旨在提高长尾类别的性能。采用类平衡采样策略,避免了伪标签生成过程中多数类别的支配性。
- 大量的实验证明,所提出的dcpsl模块在目标域上的分割性能比先进水平有很大的提高。它在“摩托车”、“火车”、“灯”等长尾类上表现得尤为突出
2.相关工作
2.1.语义分割
语义分割的目的是将图像分割成具有不同语义类别的区域。虽然完全卷积网络[28]极大地提高了语义分割的性能,但它们在探索视觉上下文方面的接受域相对较小。后来的许多研究集中在如何扩大FCNs的接受域来建模图像的远程上下文依赖性,如扩张卷积[8]、多层特征融合[27]、空间金字塔池[53]和非局部块的变体[15,20,22]。然而,由于这些模型泛化能力较弱,直接应用于不可见区域分割性能较差。因此,为了提高模型在新领域上的泛化能力,提出了许多领域自适应技术。
2.2.为语义分割设计的领域自适应
近年来,人们提出了许多弥补领域差距和提高自适应性能的工作。最具代表性的是基于对抗训练的方法[19,23,34,39,40],其目的是在中间特征或网络预测上对齐不同的域。基于风格转移的方法[6,9,10,44,48]在图像层面上最小化域间隙。例如,Changetal。[6]提出将图像分解为域不变结构和域特定纹理进行图像翻译。这些模型的训练过程相当复杂,因为需要同时训练多个网络,如鉴别器或样式转换网络。
UDA的另一个重要技术是自我训练[24,26,32,51,55,57],它迭代地在目标数据上生成espseudo标签,用于模型更新。Zouetal。[55]提出了一种类平衡的自训练方法,用于语义分割的领域适应。为了减少伪标签中的噪声,Zouet al.[57]进一步提出了一种置信度正则化自训练方法,该方法将伪标签作为可训练潜变量。Lianetal。[26]为探索目标领域的各种属性构建了一个金字塔课程。[51]通过选择源域的原型作为指导变量来实现类别感知的特性对齐。ProDA[50]更进一步,利用每个像素到原型的特征距离来修正由源模型预先计算的伪标签。然而,这些方法要么忽略了目标域图像的像素方面的内在结构,要么忽略了目标域图像的固有类分布,往往偏向于源域或多数类
2.3.基于集群的特征表示学习
我们的工作也与基于聚类的方法有关[2-4,21,45 - 47,54,58]。Caronet al.[4]迭代地对潜在表示执行K均值,并使用生成的集群分配来更新网络参数。最近,Asanoet al.[3]将聚类分配问题转化为一个最优运输问题,该问题可以通过Sinkhorn-Knopp算法的快速变种有效求解。SwAV[5]在执行聚类的同时强制同一图像的不同增强的集群分配之间的一致性。在本文中,我们将自标记从图像级的分类扩展到像素级的语义分割。此外,不同于Asanoet al.[3]和Caronet al.[4],我们以在线方式计算群集分配,使我们的方法可扩展到密集的像素预测任务
3.方法
3.1.整体框架
图1。类平衡像素级自标记(CPSL)框架。该模型包含一个主分割网络 f S E G f_{SEG} fSEG和动量更新版本 f S E G ’ f^’_{SEG} fSEG’。 f S E G ’ f^’_{SEG} fSEG’后面跟着一个自标记头 f S L f_{SL} fSL,在其动量版本的 f S L ’ f^’_{SL} fSL’上,它投射出嵌入到类概率向量中的像素特征。像素级自标记模块产生软聚类赋值 P S L P_{SL} PSL,逐步校正软伪标签 P S T P_{ST} PST。然后计算分割损失 L S E G t L_{SEG}^t LSEGt在预测的图P和修正后的伪标签 Y ^ t \hat{Y}^t Y^t之间。为了训练自标记头,我们从每张图像中随机采样像素,并使用包含前一批像素特征的记忆bankM来增加当前批次的像素特征。然后,我们通过强制类平衡来计算增强数据的最优传输赋值,并使用当前批次 Q c u r Q_{cur} Qcur的赋值来计算自标记损失 L S L L_{SL} LSL
在语义分割的无监督域自适应设置下,我们得到源域 D S = ( X n s , Y n s ) n = 1 N S D_S={(X^s_n,Y^s_n)}^{N_S}_{n=1} DS=(Xns,Yns)n=1NS中的一组标签数据,其中 X n s X^s_n Xns为源图像, Y n s Y^s_n Yns为原图像的标签 N S N_S NS为源图像数量,以及一组数量为 N T N_T NT的在目标域 D T = ( X n t , Y n t ) n = 1 N T D_T={(X^t_n,Y^t_n)}^{N_T}_{n=1} DT=(Xnt,Ynt)n=1NT的不具有标签的数据 X n t X^t_n Xnt。两个域共享相同的类别。我们的目标是通过使用 D S D_S DS中标记的源数据和 D T D_T DT中未标记的目标数据来学习一个模型,它可以在目标域中不可见的测试数据上很好地执行。
我们建议的CPSL的整体架构如图1所示。我们提出了一个像素级自标记模块(在绿色框中突出显示),通过聚类来探索目标域数据的内部像素分布,并减少伪标签中的噪声。在训练之前,我们首先通过在源域数据上预训练的预热模型生成每个目标域图像的软伪伪标签图