目录
摘要
1、简介
2、相关工作
2.1、语义分割的域适配
2.2、风格迁移
2.3、纹理和形状
3、方法
3.1、程式化的GTA5和SYNTHIA
3.2、阶段1
3.3、阶段2
3.4、训练目标函数
4、实验
5、讨论
5.1、和基于CycleGAN的方法的比较
5.2、消融研究
5.3、鲁棒性测试
5.4、定性测试
6、结论
摘要
由于为语义分割注释像素级标签非常费力,因此利用合成数据是一个很有吸引力的解决方案。然而,由于合成域与真实域之间存在域间的差异,用合成数据训练的模型很难推广到真实数据中去。在本文中,我们考虑到两个域之间的根本区别作为纹理,提出了一种适应目标域纹理的方法。首先,我们利用风格转换算法对合成图像的纹理进行多样性处理。生成图像的各种纹理防止分割模型过度拟合到一个特定的(合成)纹理。然后通过自训练对模型进行微调,得到对目标纹理的直接监督。我们的结果达到了最先进的性能,我们通过大量的实验分析了在程式化数据集上训练的模型的属性。
1、简介
到目前为止,许多研究都涉及到语义分割。对于监督语义分割,需要大量的标记数据进行训练。然而,按像素划分的ground truth值标签的手工注释是非常辛苦的。例如,为Cityscape[5]数据集制作ground truth标签需要每幅图像90分钟。为了降低注释成本,本文提出了GTA5[20]和SYNTHIA[21]等数据集。由于这些数据集是由计算机图形生成的,图像和像素级标注是自动生成的。然而,由于合成域与真实域之间存在域差,用合成数据训练的模型很难推广到真实数据上。领域适应通过减少领域差距解决了上述问题。一种方法是像素级自适应。像素级自适应采用CycleGAN[29]等图像平移算法来减小两个域之间的视觉差异。由于将合成的图像转换成真实域的样式,模型可以更容易地学习真实域的表示。
虽然CycleGAN在一定程度上缩小了两个区域之间的视觉差距,但是克服基本的差异,纹理,仍然是一个挑战。在图2中,第二列显示了CycleGAN翻译的结果。虽然转换后的图像得到了城市景观的灰色色调,CycleGAN并不能完全将合成纹理转换成真实的纹理。因此,模型对合成纹理的过度拟合的可能性仍然存在。为了克服这一限制,我们提出了一种适应目标域纹理的方法。首先,我们使用样式转换算法生成一个纹理多样化的源数据集。每个源图像失去合成纹理,得到一个随机纹理。由于纹理变化的增加,在纹理多样化数据集上训练的模型被引导学习纹理不变表示。然后利用自训练对模型进行微调,得到对目标纹理的直接监督。我们的方法在GTA5到Cityscapes基准测试中取得了最先进的性能。通过大量的实验,我们分析了在程式化数据集上训练的模型的特性,并比较了我们的方法和基于CycleGAN的方法之间的差异。
我们的贡献如下:
- 结合像素级方法和自训练,设计了一种自适应目标域纹理的语义分割域自适应方法。
- 我们在GTA5到Cityscapes基准测试中实现了最先进的性能。
- 通过大量的实验,我们分析了在程式化数据集上训练的模型的属性。
- 我们证明了基于纹理的风格转换方法比基于cycleg根的方法更有效地缩小了合成域和真实域之间的区域差距。
2、相关工作
2.1、语义分割的域适配
领域适应在不同领域之间转移知识。假设有两个分布相似但不同的数据集。将容量较大且易于收集的一个作为源域,将另一个作为目标域。领域适应的目的是将从源领域学习到的知识转移到目标领域。在一些域适配的设置中,无监督设置是最常用的一种,它可以访问源域的输入数据和ground truth标签,而只访问目标域的输入数据。无监督域适配(UDA)的目标是正确使用全标记源域来提高未标记目标域的性能。由于标注语义标签是最费力的过程之一,语义分割的领域适应问题近年来受到了广泛的关注。
像素级适配:合成图像与真实图像在纹理、光照等方面存在着视觉差异。像素级自适应使用像CycleGAN[29]这样的图像翻译算法将合成的源图像转换为目标风格。由于缩小了视觉间隙,模型更容易对目标域的表示进行编码。
自训练:近年来,一些研究采用自训练(ST)方法对语义分割进行域适应[30,16]。一般情况下,当标记训练数据稀缺时,采用ST。在无监督域自适应中,由于目标域上没有标签,因此ST.[16]提出了一种简单的自适应方法。在ST阶段,[16]根据前一个模型的置信预测生成伪标签,并使用伪标签对模型进行微调。[16]使用了像素级适应和自我训练。ST方法训练的模型比其他仅使用像素级方法训练的模型有较大的优势。考虑到作为纹理的两个域之间的根本差异,ST强大的性能意味着以往采用像素级自适应的方法不能充分编码目标纹理。在此基础上,我们提出了一种优化的目标域纹理编码方法。
2.2、风格迁移
从纹理合成[7]开始,到[8],已经有很多关于风格转换的研究。在观察到风格(纹理)和内容可以分离的基础上,建模特征统计使得将一幅图像的内容和另一幅图像的纹理合成成为可能。我们的目的是,使用各种纹理作为正则化器,防止模型过度拟合到一个特定的纹理,使分割模型学习纹理不变表示。
2.3、纹理和形状
根据最近的研究[9],人类识别是基于形状的,而ImageNet[6]预训练的CNN标准是基于纹理的。为了克服纹理依赖,[9]使用AdaIN[14]样式转换算法生成程式化的ImageNet (SIN)。程式化的ImageNet失去了自然纹理,得到了各种随机纹理。由于在SIN上训练的模型不能根据局部纹理预测结果,因此必须考虑输入的整体结构。[9]通过实验证明,在SIN上训练的CNN和人一样具有更强的形状依赖性,且形状依赖性模型在分类和检测任务上表现更好。受此启发,我们将该方法应用于语义分割任务的域自适应,其中纹理是合成域和真实域的根本区别。
3、方法
在这一节中,我们提出了一个生成纹理多样化数据集的过程和一种适应目标纹理的方法。我们首先使用style -swap[4]算法对原始源数据集的纹理进行多样性处理,然后使用CycleGAN[29]图像转换算法对原始源数据集进行转换。然后,我们的模型经过两个训练阶段。阶段1:我们训练一个分割模型与texturediversified数据集学习纹理不变表示。阶段2:基于纹理不变表示,我们根据目标域的纹理对模型进行微调。
3.1、程式化的GTA5和SYNTHIA
之前的研究[13,16]使用图像平移方法CycleGAN[29]来减小合成域和真实域之间的视觉差距。图像转换算法虽然使源图像的整体色调与真实图像相似,但不能将合成纹理完全转换为真实纹理。为了克服这一限制,我们采取了一个更基本的方法,彻底去除合成纹理。受到[9]的启发,我们生成程式化的GTA5和程式化的SYNTHIA。程式化的ImageNet[9]是由快速AdaIN[14]风格的传输算法生成的。虽然AdaIN在推理方面是有效的,但它在很大程度上扭曲了内容图像的结构。与分类任务不同,语义分割任务需要精确的像素级注释。因此,我们不能使用AdaIN。真实感风格转换算法[15]是另一种选择,该算法在风格化步骤之后通过平滑步骤保持原始图像的精确结构。然而,由于平滑过程是基于原始内容图像,最终结果保留原始合成纹理。由于我们的目的是使用样式转换算法来移除合成纹理,因此不适合应用真实感算法。我们的需求有三方面。首先,要有足够的风格化效果去除合成纹理,同时不使原始图像的结构扭曲太多。其次,由于图像分辨率大,合成数据集体积大,风格化过程应该是高效率的。第三,要产生多样化的风格化结果,就要能够转换各种风格。考虑到以上条件,我们选择换款[4]。我们在图3中展示了来自不同方法的程式化结果。对于样式数据集,我们使用了由艺术图像组成的Painter by Numbers 1数据集。考虑到GTA5和SYNTHIA数据集的容量,我们使用了第一次分割,它包含11,026个图像。风格化的数据集与原始数据集拥有相同数量的图像。一对一的映射。如图4所示,风格化的图像失去了合成纹理,得到了各种随机纹理。由于每个纹理来自不同风格的图像,这种纹理的多样性导致模型编码纹理不变表示。换句话说,模型可以学习形状相关的表示。
3.2、阶段1
第一阶段的目标是学习使用不同纹理数据集的纹理不变表示。我们用风格互换的[4]和CycleGAN[29]对翻译后的图像分别训练分割模型。在每次迭代中,由于内存的限制,格式化或翻译的输入交替地被转发。在学习风格化图像的纹理不变表示时,经过翻译的图像将模型导向目标风格。除了纹理正则化之外,我们还使用输出级对敌训练[23]来进一步对齐两个不同域之间的特征空间。阶段1的过程如图1所示。
3.3、阶段2
第二阶段的目标是基于学习的纹理不变表示,对分割网络进行目标域纹理的微调。为此,我们采取了自我训练的方法。按照[16]的过程,我们使用阶段e1训练过的模型生成伪标签。在对目标训练图像的预测中,我们将置信度高于阈值(0.9)的预测设置为伪标签。然后用伪标签对模型进行微调。现在模型直接受目标域纹理的监督,模型可以学习针对目标域优化的表示。我们迭代地应用这个过程。
3.4、训练目标函数
分割模型训练:由于ground truth label只在源域中可用,分割损失定义为:
L_{s e g}left(I_{s}right)=-sum_{h, w} sum_{c=1}^{C} y_{s}^{h, w, c} log P_{s}^{(h, w, c)}
在给定目标图像的情况下,利用鉴别器计算对抗损失。
L_{a d v}left(I_{t}right)=-sum_{h, w} log Dleft(P_{t}^{(h, w, c)}right)
其中I_s 和I_t 是来自源域和目标域的输入图像。P_{s}^{(h, w, c)} 和P_{t}^{(h, w, c)} 是源和目标图像的最终特征。y_{s}^{h, w, c} 是源域的ground truth像素标记。C是类的数量,D是一个完全卷积鉴别器。因此,分割网络的总损失函数定义为:
Lleft(I_{s}, I_{t}right)=L_{s e g}left(I_{s}right) lambda_{a d v} L_{a d v}left(I_{t}right)
鉴别器训练:鉴别器获取源和目标特征,并分类它是来自源还是目标领域。
begin{aligned} L_{D}(P) &=-sum_{h, w}left((1-z) log Dleft(P_{s}^{(h, w, c)}right)right.\ &left. z log Dleft(P_{t}^{(h, w, c)}right)right) end{aligned}
其中来自源域的特征z = 0,来自目标域的特征z = 1。
子训练:在第二阶段,为了得到对目标域纹理的直接监督,我们计算目标图像中生成的伪标签的分割损失。
L_{S T}left(I_{t}right)=-sum_{h, w} mathbb{1}_{text {pseudo }} sum_{c=1}^{C} hat{y}_{t}^{h, w, c} log P_{t}^{(h, w, c)}
其中mathbb{1}_{text {pseudo }} 表示目标训练集的每个像素是否为伪标签。
4、实验
数据集:GTA5[20]是一个包含24966张分辨率为1914×1052的视频游戏合成图像的数据集。语义标签与拥有19个类的Cityscapes数据集兼容。对于SYNTHIA[21],我们使用了SYNTHIA- randcityscapes分区,该分区拥有9400张1280×760分辨率的图像。我们使用Cityscapes数据集验证13个常用类。Cityscapes[5]是一个数据集,包含5000张密集注释的图像,分辨率为2048×1024。我们使用2,975张训练图像和500张验证图像。
网络结构:我们使用DeepLab-v2[2]模型和ResNet-101[11]和VGG-16[22],它们都是在ImageNet[6]上预先训练的。对于鉴别器,我们采用类似于[19]的结构。网络包含5个卷积层,kernel大小为4×4,通道号为f64,128、256、512、1g, stride为2。
训练细节:我们使用Pytorch库在一个拥有11GB内存的GTX 1080 Ti上实现我们的实验。为了优化分割网络,我们使用了随机梯度下降法。动能设定为0.9。初始学习率为1.0×10^−4。由于程式化数据集的变化,高学习率使得训练不稳定。因此,我们设定的数值比之前采用相同建筑的作品要小。对于学习率调度,我们采用了[2]中提到的多项式方法。为优化甄别器,我们使用Adam优化学习率1.0×10−4和动量0.9和0.99。我们将lambda_{a d v} 的生成量定为0.001。输入大小调整为1024×512。
和最先进方法的比较:如表1所示,我们的方法在GTA5-to-Cityscape场景上的性能优于以前所有先进的方法。BDL[16]将训练过程迭代6次,其性能大大优于其他模型。我们的模型仅经过两次分割训练就超过了BDL的性能,如表5所示。结果表明,我们的方法(首先学习纹理不变表示,然后对目标纹理进行微调)比简单的自训练方法更有效。对于SYNTHIA to Cityscapes,我们比较了表2中13个类的性能评估方法。我们的方法在道路和人行道等类中表现出了优异的性能,这些类在输入图像中占有很大的面积。由于大面积类更容易受到纹理的影响,所以我们基于纹理的方法在这些类中比其他方法表现更好。结果还显示,我们在小班学习中,如t-light、t-sign、person的成绩低于其他方法。虽然纹理是合成域和真实域之间的根本区别,但它不是造成域间隙的唯一因素。布局上的差距也是我们没有在本文中处理的一个重要因素。这种布局上的差距带来了区域间形状分布的差异。在SYNTHIA中,t-light、t-sign和person的描述要比GTA5和城市景观小得多。由于在小区域类中,形状比纹理具有更大的决定作用,因此我们的形状相关表示方法适合SYNTHIA的形状分布,但很难应用于城市景观的形状分布。[26]中定量显示,SYNTHIA和Cityscapes之间的域名差距远大于GTA5和Cityscapes之间的域名差距,特别是t-light和t-sign。其他方法使用额外的技术,如优先于[25]的类比率来减少布局的差距。
比较逐类的性能:我们通过分类消融研究为上述主张提供了基础。在表3中,IoUs来自阶段1中的大型(纹理敏感)和小型(纹理不敏感)类。在像road和sidewalk这样的大面积类中,在程式化数据集上训练的模型比在翻译数据集和原始数据集上训练的模型表现更好。在其他大面积类中,由于道路和人行道有着相似的布局分布,纹理对于这些类来说尤为重要。另一方面,在t-light和t-sign方面,Original优于其他方法。[26]显示,当合成数据和真实数据一起使用时,与其他类相比,t-light和t-sign的性能显著提高。这意味着纹理不是这些类的决定性因素,清晰的原始图像更有助于提高实域性能。
5、讨论
5.1、和基于CycleGAN的方法的比较
在本节中,我们将比较我们的方法和基于cycleggan的方法之间的差异。首先,CyCADA使用CycleGAN来缩小合成域和真实域之间的视觉差距。然而,虽然CycleGAN的生成器被训练成与目标域无法区分的图像,但CycleGAN很容易生成不合适的图像。在图5中,对于GTA5到Cityscapes(第一行),CycleGAN在天空中生成类似植被的伪影来匹配Cityscapes的分布。对于SYNTHIA to Cityscapes(第二行),CycleGAN模糊出person来匹配Cityscapes的颜色分布。尽管CycleGAN discriminator有PatchGAN结构,但这些模式很容易观察到。另一方面,因为style -swap是基于本地patch传输样式的,所以,第二,和我们的方法类似,DRPC[28]使用CycleGAN对源图像进行随机化。在图6中,我们展示了使用在[28]中用作辅助域的ImageNet类生成的图像。图7显示了从图6裁剪的图像。在图7中,CycleGAN在保留原始图像合成纹理的同时匹配辅助域的颜色分布。另一方面,风格转换使纹理多样化。这是我们的方法与DRPC最不同的地方。由于合成域和真实域之间的主要区别不是颜色,而是纹理,因此我们的基于纹理的方法比DRPC在合成到真实任务中的随机化更有效。而且,我们的方法在计算上比DRPC更有效。由于训练CycleGAN是一个非常昂贵的过程,DRPC只使用15个辅助域。另一方面,由于style -swap不需要为每种风格进行额外的培训,因此它可以更容易地处理多种风格。因此,我们的程式化数据集由11,026种样式组成。此外,DRPC使用跨域金字塔一致性(PCD)损失来学习风格不变特征。由于这种损失,需要一个与域的数量成线性比例的计算来同时跨域转发图像。由于DRPC使用16个域,它至少需要16倍以上的内存和计算能力。虽然DRPC使用了16个域,但可能需要考虑更多的域来实现更风格不变的表示,这需要不切实际的计算,特别是当输入分辨率很大时,比如GTA5 (1914x1052)和SYNTHIA (1280x760)。另一方面,无论样式的数量如何,我们的方法都需要固定的计算量。
在本节中,我们将比较我们的方法和基于cycleggan的方法之间的差异。首先,CyCADA[13]使用CycleGAN来缩小合成域和真实域之间的视觉差距。然而,虽然CycleGAN的生成器被训练成与目标域无法区分的图像,但CycleGAN很容易生成不合适的图像。在图5中,对于GTA5到Cityscapes(第一行),CycleGAN在天空中生成类似植被的伪影来匹配Cityscapes的分布。对于SYNTHIA to Cityscapes(第二行),CycleGAN模糊出person来匹配Cityscapes的颜色分布。尽管CycleGAN discriminator有PatchGAN结构,但这些模式很容易观察到。另一方面,因为样式交换基于局部补丁传输样式,所以样式交换不显示这样的模式。其次,与我们的方法类似,DRPC[28]使用CycleGAN对源图像进行随机化。在图6中,我们展示了使用在[28]中用作辅助域的ImageNet类生成的图像。图7显示了从图6裁剪的图像。在图7中,CycleGAN在保留原始图像合成纹理的同时匹配辅助域的颜色分布。另一方面,风格转换使纹理多样化。这是我们的方法与DRPC最不同的地方。由于合成域和真实域之间的主要区别不是颜色,而是纹理,因此我们的基于纹理的方法比DRPC在合成到真实任务中的随机化更有效。而且,我们的方法在计算上比DRPC更有效。由于训练CycleGAN是一个非常昂贵的过程,DRPC只使用15个辅助域。另一方面,由于style -swap不需要为每种风格进行额外的培训,因此它可以更容易地处理多种风格。因此,我们的程式化数据集由11,026种样式组成。此外,DRPC使用跨域金字塔一致性(PCD)损失来学习风格不变特征。由于这种损失,需要一个与域的数量成线性比例的计算来同时跨域转发图像。由于DRPC使用16个域,它至少需要16倍以上的内存和计算能力。虽然DRPC使用了16个域,但可能需要考虑更多的域来实现更风格不变的表示,这需要不切实际的计算,特别是当输入分辨率很大时,比如GTA5 (1914x1052)和SYNTHIA (1280x760)。另一方面,无论样式的数量如何,我们的方法都需要固定的计算量。
5.2、消融研究
我们在表4中对一期进行了消融研究。根据对抗式损失的用法,我们将本表分为两部分。在第一节中,Original source only指的是只用原始的GTA5图像训练分割网络。格式化源和翻译源分别使用样式交换[4]和CycleGAN[29]生成的数据集。结果表明,仅在程式化源数据集上训练的模型优于像素级方法[27,10]。第二部分展示了对抗性特征层次适应的结果。结果表明,风格化/翻译源通过交替转发图像的方式使用了这两种类型,其效果优于风格化源。这是因为,在通过风格化图像学习纹理不变表示时,经过翻译的图像将模型引导到目标风格。根据实验结果,我们在第一阶段的训练分割网络中选择了具有对抗性损失的程式化/翻译源设置。我们也在表5中对二期进行了消融研究。结果表明,在第二阶段的第三次迭代中,分割模型收敛。因此,我们对表1,2中的所有结果进行了三次迭代。
5.3、鲁棒性测试
为了验证在程式化数据集上训练的模型的纹理不变性,我们在受各种噪声干扰的验证集上测试了模型。如果模型是纹理不变的,它将比其他依赖纹理的模型对噪声更有鲁棒性。我们生成噪声城市景观验证集,噪声不会扭曲原始图像对象的形状。根据[12]的方法,我们在验证集中加入高斯噪声、脉冲噪声、镜头噪声和散斑噪声。表6和图8的结果表明,我们的模型比在原始合成图像上训练的AdaptSegNet[23]对各种噪声有更好的鲁棒性。
5.4、定性测试
为了定性地展示我们的模型的纹理不变性,我们在图9中展示了来自风格化源数据集的不同纹理图像的分割结果。
6、结论
在本文中,我们提出了一种适应目标纹理的方法。使用样式转换算法,我们生成程式化的GTA5/SYNTHIA。不同纹理的程式化数据集作为一个规则化器,使分割模型学习纹理不变表示。我们在不同纹理的图像上定性地展示了我们的模型的纹理不变性,在噪声验证集上定量地展示了我们的模型的纹理不变性。在纹理不变表示的基础上,采用自训练的方法对目标纹理进行直接监督。实验结果表明了我们的方法的有效性,在gta5到城市景观基准测试中取得了新的最先进的性能。此外,我们还分析了纹理对不同类别的影响。同时,我们也证明了我们的方法比基于cycleganbase的方法更有效地减少了合成域和真实域之间的差距。