Conditional Generative Adversarial Network for Structured Domain Adaptation

Conditional Generative Adversarial Network for Structured Domain Adaptation

Abstract

近年来,深度神经网络已经战胜了许多计算机视觉问题,包括语义分割,这是新兴自动驾驶和医学图像诊断应用中的关键任务。通常,训练深度神经网络需要大量标记数据,这对于收集和注释来说是费力且昂贵的。计算机图形学的最新进展阐明了利用照片般逼真的合成数据和计算机生成的注释来训练神经网络。然而,真实图像与合成图像之间的域不匹配是利用生成的数据和标签的主要挑战。在本文中,我们提出了一种原则性的方法来进行语义分段的结构域自适应,即将GAN集成到FCN框架中以减轻源域和目标域之间的差距。具体来说,我们学习了一个条件生成器,用于将合成图像的特征转换为真实图像特征,以及区分它们的鉴别器。对于每个训练批次,条件生成器和鉴别器相互竞争,以便生成器学习产生类似于真实图像的特征以欺骗鉴别器;之后,更新FCN参数以适应GAN的变化。在实验中,不使用实际图像数据的标签,我们的方法明显优于基线以及最先进的方法12%-20%表示Cityscapes数据集上的IoU。

1 Introduction

深度神经网络主导了许多视觉任务,如图像识别[38],物体检测[17]和语义分割[26]。 这些最先进的结果通常是通过在大规模,高质量和完全标记的数据集上学习非常深的网络来实现的,例如ImageNet [11],COCO [25],Pascal VOC [13]和Cityscapes [ 然而,手动构建这样的数据集是昂贵且不可扩展的。 例如,在自动驾驶或医学图像分析中注释像素级语义分割需要大量劳动和某些专业知识。 因此,探索可扩展的替代方案,即使用合成数据进行神经网络训练,是非常有吸引力的。 计算机图形学的最新进展激发了用计算机生成注释训练照片般逼真的合成数据的深度学习模型的兴趣,并将它们应用于现实环境中[12,29,47,37,41,48,20,19,32,22,34,33]。

在这项工作中,我们的目标是在不使用任何手动注释的情况下训练用于真实城市场景解析的语义分割模型。这个问题的重要性主要有三个原因:1)自主驾驶已经成为学术界和工业界的热门话题,语义分割是理解复杂的城市内交通场景的必备技术之一[16,10]。 ; 2)训练深度神经网络进行自动语义分割需要大量高质量的注释图像,以便很好地概括为无限的看不见的场景。与图像识别和对象检测相比,为语义分割注释像素级训练数据对于人来说是一项更耗时的任务。例如,Cordts等人。报告说,对于Cityscapes数据集的单个图像,注释和质量控制需要超过1.5小时[10]。相比之下,通过计算机游戏平均只需7秒即可注释合成图像[34]; 3)此外,它需要专用的设备,需要数月甚至数年的时间来收集涵盖不同国家,季节和照明条件等大量不同城市场景的图像。因此,它具有很大的实践和理论价值。探索无需人工标记进行语义城市场景分割的可行性。

形式上,我们的目标是使用合成图像学习神经网络,使用生成的注释和真实图像,在训练阶段没有注释,然后我们期望学习模型在测试阶段很好地推广到真实图像。通过利用Grand Thief Auto(GTA)等城市环境的照片般逼真模拟,可以生成无限量的合成场景图像,用于训练深度学习模型[35,34,33]。然而,最新的文献研究结果表明,合成数据和实际数据的分布之间确实存在差距,但深度特征可能会减少但不能消除跨域分布差异[44]。由于源域(合成)和目标域(真实)之间的域不匹配,对合成数据天真训练的深度神经网络不容易推广到真实图像。这个问题几乎适用于无监督域适应的设置,除了我们的目标是学习像素标记分类器,而无监督域适应主要涉及分类和回归问题[30,31]。鉴于这些,我们将我们的问题称为结构化域适应[43]。

一般而言,无监督域适应是非常具有挑战性的问题,即,在存在训练和测试数据分布之间的转换的情况下学习判别分类器,其中目标域数据是完全未标记的。为了解决源域和目标域之间的差异,以前的工作[15,40,27,5]通常假设存在跨域特征空间,以便可以利用源域中的丰富标记数据来训练有效的分类器在目标域中。然而,确定在跨域特征上学习的分类器是否预先很好地概括到目标域实际上是不可行的。而且,在某些情况下确实需要不同的分类器[3]。与现有技术相比,语义分割是高度结构化的预测问题。通过遵循上述假设,我们仍然可以实现合理的域适应吗?先前的尝试[43]表明,学习用于结构化预测的决策函数涉及指数大的标签空间。结果,源域和目标域共享相同预测函数的假设变得不太可能成立。

如何在不依赖于源域和目标域在域不变特征空间中共享相同预测函数的假设的情况下,如何实现无监督域自适应? 在这项工作中,我们提出了一种原理方法来模拟源域和目标域之间的特征空间中的残差。 我们训练深度残余网络来转换源域图像的特征映射,使其看起来好像是从目标域采样,同时保持其语义空间布局。 我们提出了一种新颖的基于生成对抗网络(GAN)的架构,能够以无人监督的方式学习这种转换。 注意,我们不需要来自两个域的相应图像对,这在实践中是不可用的。 我们的无监督域自适应方法与现有方法相比具有以下优势:

没有共享特征空间的假设:先前的工作[15,40,27,5]通过中间特征空间对齐两个域,从而隐含地假设两个域具有相同的决策函数。 我们的方法通过学习两个域的特征图之间的残差来有效地放松了这个假设[28]。 如我们的实验所示,需要两个域的共同特征空间的松弛是在无监督设置中解决结构化域适应问题的关键。

网络内架构:据我们所知,最先进的工作[45,9]通常依赖于像素分布和标签统计等启发式观测来进行语义分割的域自适应。 相反,我们建议使用条件生成器转换特征映射,因此我们方法中的所有组件都在一个网络中,并以端到端的方式进行训练。 虽然[45,9]使用鉴别器来进行对抗性学习,但我们在第4.4节中表明条件生成器是结构域自适应的关键。

数据增强:传统的域自适应方法仅限于从有限的源和目标数据集中学习。 然而,通过调节源图像和随机噪声通道,我们的模型能够创建几乎无限的随机样本,其看起来类似于来自目标域图像的特征映射。

为了证明我们的方法的功效,我们进行结构域适应性实验,以SYNTHIA [35]和GTA [34]作为源域,Cityscapes [10]作为目标域。 在不使用真实图像标签的情况下,我们的方法明显优于结构域自适应方法[21,45,9]大约12%20%的平均IoU。

2 Related Work

我们讨论了一些关于领域适应和语义分割的相关工作,特别关注将知识从虚拟图像转移到真实照片。

2.1 Semantic Segmentation

语义分割是将语义类别标签分配给图像中的每个像素的任务。 传统方法依赖于领域专家手工制作的本地图像特征[24]。 在开创性工作[26]将完全卷积网络(FCN)引入语义分割之后,最近的最佳表现方法遵循FCN [1,6,46]。

尽管存在弱监督的语义分割[42,36],但为了实现最先进的语义分割准确性,通常需要大量的劳动密集型工作来注释许多图像。 PASCAL VOC2012挑战赛[13]包含近10,000个用于细分竞赛的注释图像,而MS COCO Challenge [25]包含超过200,000个带注释的图像。 根据[10],在Cityscapes中手动分割每个图像大约需要1.5小时; 相比之下,通过计算机游戏平均注释合成图像仅需7秒。

相反,我们探索使用几乎毫不费力地标记的合成图像来训练高质量的分割网络。 对于城市场景,我们使用SYNTHIA [35]和GTA [34]数据集,其中包含虚拟城市的图像。

2.2 Domain Adaptation

传统的机器学习算法依赖于i.i.d中绘制训练和测试数据的假设。 来自相同的基础分布。 然而,在实践中,通常在训练数据和测试数据之间存在一些差异。 域适应旨在纠正这种不匹配,并在测试阶段将模型调整为更好的泛化[15,40,27,5]。

大多数先前的深域自适应方法主要在假设通过匹配来自不同域的特征的分布来实现自适应的情况下操作。 这些方法旨在通过最小化源域上的任务特定损失和域之间的差异来获得域不变特征,这通常通过MMD [27]或DANN [5]来测量。

域适应中的生成性对抗网:生成性对抗网络(GAN)[18]是学习生成模型的框架。 在[14]中,利用鉴别器来区分源域和目标域,但不使用生成器。 他们试图通过欺骗一个鉴别器来学习最小化两个域之间差异的功能。 Bousmalis等。 [4]利用GAN将图像样式从源域转移到目标域,这样一个共享分类器就可以容纳这两个域。 在[39]中,作者采用对抗性学习来训练图像上的面部分类器并使其适应视频域。

2.3 Structured Domain Adaptation

大多数现有的领域适应文献仅限于分类或回归。 相反,很少讨论具有重大挑战性的结构化域适应。 据我们所知,这个问题仅在最近的几部作品中被考虑[7,21,45,9,8]。 详细而言,[7]旨在训练具有对抗性损失的跨域图像字幕模型。 另外四项工作[21,45,9,8]侧重于域适应,以通过在虚拟网络上训练的网络来增强真实图像的分割性能,这也是我们在这项工作中所关注的。 尽管[21,9]利用鉴别器进行对抗性学习,但他们并没有求助于生成器进行域适应。 相反,他们回答了关于像素分布,标签统计等的一些启发式观察。在这项工作中,我们展示了生成器确实是结构化域适应的关键。

3 Methods

给定源域中的标记数据集和目标域中的未标记数据集,我们的目标是在源域中训练语义分段模型,该模型推广到目标域。 在本节中,我们首先在结构化域适应的上下文中解释条件GAN模型的一般设计。 然后,详细阐述了每个组件的详细架构。

3.1 Overview(综述)

为了缩小合成图像和真实图像之间的域差距,我们采用生成对抗性目标来鼓励我们的条件生成器G生成似乎从目标域图像中提取的特征映射。 与香草GAN公式[18]不同,其中发生器仅将噪声矢量作为输入,我们的发生器以额外的辅助信息为条件,即合成图像的特征映射xs。 在训练期间,我们的生成器G(xs; z; G)= xs Conv5 + ^ G(xs; z; G)将合成图像和噪声图z的特征映射xs变换为适应的特征映射xf。 注意,生成器在真实和合成图像的Conv5特征映射之间产生残差表示^ G(xs; z; G),而不是直接计算xf。

我们期望xf保留源特征映射xs的语义,同时看起来好像它是从目标域图像(即,真实图像)中提取的。 因此,我们将xf馈送到鉴别器分支D(x; D),以及像素方式的分类器分支T(x; T)。 具体地,鉴别器分支D(x; D)旨在区分由生成器生成的变换特征映射xf和来自目标域xt的真实图像的特征映射,而像素级分类器分支T(x; T) )为输入图像中的每个像素分配一个类标签,实现为FCN之后的反卷积[26]。 我们模型的整体架构如图2所示。

我们的目标是优化以下极小极大目标:

其中alpha是控制损失组合的权重, Ld代表区域的损失函数:

在FCN [26]之后,我们将任务损失Lt定义为多项逻辑损失(a.k.a.交叉熵损失):

Conditional Generative Adversarial Network for Structured Domain Adaptation_第1张图片

其中表示Is像素和K个语义类别的加和,表示第i个像素的one-hot编码。

在我们的实现中,G是具有残余连接的卷积神经网络。 我们的鉴别器D是一个多层感知器。 通过在两个步骤之间交替来实现最小极大优化。 在第一步中,我们更新像素方式分类器T和鉴别器D,同时保持条件生成器G和特征提取器Conv1-Conv5固定。 在第二步中,我们固定T,D并更新G和Conv1-Conv5。

请注意,我们使用自适应和非适应的源要素图训练T. 仅在适应的特征图上训练T导致类似的性能,但由于GAN的不稳定性,需要许多具有不同初始化和学习速率的运行。 实际上,如果没有对源进行训练,模型可以自由地改变类赋值(例如,类1变为2,类2变为3等),同时目标函数仍然是优化的。 与[4]类似,源和适应图像上的训练分类器T避免了这种转变并极大地稳定了训练。

3.2 ConditionalGenerator Network Architecture

生成器网络旨在生成合成图像的真实图像表示以减少域间隙。 为了达到这个目的,我们将发生器设计为深度残差学习网络,通过剩余学习来增强合成图像的表示。

如图2所示,生成器使用底部卷积层的特征,该特征为特征转换保留了信息性的低级细节。 首先使用附加噪声通道增加Conv1特征图以引入随机性,然后将其传递到3 3个卷积滤波器以调整特征尺寸。 之后,我们使用B残差块来学习合成图像和真实图像的特征之间的残差表示,作为生成模型。 所有残余块共享相同的布局,包括两个3 3卷积滤波器,然后是批量归一化层和ReLU激活。 然后,使用所学习的残差表示来通过逐元素和运算来增强从源域图像的“onv5”汇集的特征,从而产生看起来从目标域生成的变换表示。

3 3 Discrimination Network Architecture

如图2所示,训练鉴别器网络以区分源域图像的生成特征和目标域图像的原始特征。 将矢量化特征映射作为输入,鉴别器将其传递通过两个完全连接的层,然后是具有S形激活的兄弟输出层,并预测输入表示被转换的概率。 前两个完全连接层的输出尺寸分别为4096和1024。

通过尝试将所生成的表示与真实图像表示区分开来,引入了对抗性损失以促使生成器网络产生类似于真实图像的合成图像的表示。

3.4 Testing on real images

在测试阶段,实际图像通过CNN特征提取器Conv1-Conv5,然后是像素分类器T。不会涉及生成器G和D。因此,我们的网络应该具有与vanilla FCN-8相同的推理复杂性[26]。 我们使用一个GeForce GTX 1080 Ti GPU实现4.4 fps。

4 Experiments

在本节中,我们将介绍实验设置,并比较我们的方法,其变化和一些现有的基线方法的结果。

4.1 Datasets and Evaluation

在我们的实验中,我们使用Cityscapes数据集[10]作为目标域数据集,将SYNTHIA [35]或GTA [34]数据集用作源域数据集。所有这些都是公开的。Cityscapes [10]是一个真实的,以车辆为中心的图像数据集,收集在德国和附近国家的50个城市。它提供了四个不相交的子集:2,993个训练图像,503个验证图像,1,531个测试图像和20,021个辅助图像。使用每个像素类别标签准确地注释所有训练,验证和测试图像,而辅助集合被粗略标记。数据集中有34个不同的类别。 SYNTHIA [35]是一个合成图像的大型数据集,提供了一个名为SYNTHIARANDCITYSCAPES的特定子集,用于与Cityscapes配对。该子集包含9,400个图像,这些图像使用12个对象类别,一个void类和一些未命名的类自动注释。请注意,用于生成合成图像的虚拟城市与城市景观所涵盖的任何真实城市都不对应。我们将SYNTHIARANDCITYSCAPES缩写为SYNTHIA。 GTA [34]是一个合成的,以车辆为中心的图像数据集,从现实世界中收集渲染电脑游戏侠盗猎车手V(GTA,或GTA5)。它包含24,996个图像,其语义分段注释与Cityscapes中使用的类完全兼容。因此,我们在实验中使用了所有19个官方培训课程。实验设置。与[21,45]中一样,Cityscapes验证集用作我们的测试集。我们从Cityscapes训练集中分离出500张图像用于验证(即监视网络的收敛)。在训练中,我们从源域数据集中的图像(及其标签)和目标域数据集中的真实图像(无标签)中随机抽取小批量。对于SYNTHIA数据集[35],我们考虑与Cityscapes [10]共享的16个常见类:天空,建筑,道路,人行道,围栏,植被,杆,汽车,交通标志,人,自行车,摩托车,交通灯,公共汽车,墙和骑手。对于GTA数据集[34],我们考虑与Cityscapes [10]共享的19个常见类:自行车,围栏,墙,交通标志,杆,摩托车,交通灯,天空,公共汽车,骑手,植被,地形,火车,建筑,汽车,人,卡车,人行道和道路。

评价。 我们使用与Cityscapes数据集一起发布的评估代码来评估我们的结果。 它计算PASCAL VOC [13]交叉结合,即IoU = TP TP + FP + FN,其中TP,FP和FN分别是真阳性,假阳性和假阴性像素的数量。 整个测试集。 由于我们必须在将图像馈送到分割网络之前调整图像大小,因此在针对groundtruth注释运行评估之前,我们将输出分割蒙版的大小调整回原始图像大小。

4.2 Implementation Details

在我们的实验中,我们使用FCN-8 [26]作为我们的骨干网络。 我们用VGG-19初始化它[38],然后使用Adam优化器训练它[23]。 每个小批量包含5个源图像和5个目标图像,而当我们训练基线网络而没有适应时,我们使用15个源图像的最大可能的小批量。 该网络在PyTorch中实现。 我们的机器配备190 GB内存和8个GeForce GTX 1080 Ti GPU。 所有图像都调整为480 960,因此,Conv1输出的特征图是[64;339;579]。 因此,z是339 579个元素的矩阵,每个元素都是从均匀分布zij U(魛€1; 1)中采样的。 z作为额外信道连接到Conv1特征映射,并馈送到具有输入通道65和输出通道64的3 3卷积层。我们将B = 16设置为残余块的数量,其中每个块包含64个卷积滤波器。

4.3 Performance Comparison

我们将在本节中报告目标域测试数据的最终语义分段结果。我们将我们的方法与以下竞争方法进行比较。没有改编(NoAdapt)。我们直接在SYNTHIA和GTA上训练FCN-8s模型,无需任何域适应。这是我们实验的最基本基线。野外的FCN(FCN Wld)[21]向网络的中间层引入像素级别的对抗性损失,并对网络输出的标签统计数据施加约束。
课程学习(CL)[45]提出了一种课程式学习方法,以最小化语义分割中的领域差距。课程领域适应首先解决了诸如估计标签分布之类的简单任务,然后推断出关于目标域的必要属性。跨城市适应(CCA)[9]通过将静态对象先验与全局特定类学习框架相结合,改进了预先训练的语义分割网络。他们的方法专门针对不同城市的道路场景图像的跨域识别而设计。比较结果显示在表1和表2中。我们注意到所有域适应结果明显优于没有适应的那些(NoAdapt),这证明了合成城市图像和真实图像之间的大的域差距。在这两个数据集中,我们提出的方法实现了比任何类的NoAdapt基线更高的分类IoU,以及平均IoU
我们的方法比NoAdapt基线高出约23%。这些结果验证了所提出的结构域自适应方法的有效性。与最先进的方法相比[21,45,9],我们的方法也大大超过了12%左右? 20%IoU。请注意,没有报告围栏,墙和杆的CCA [9]的IoU,因此我们无法显示所有16个类别的CCA [9]的平均IoU。对于剩下的13个班级,CCA [9]的IoU为35:7%,而我们的方法达到47:7%,显着提高了12%。几个代表性的结果如图3所示。

4.3.1 On the amount of synthetic data

从表1,2和图3中,我们观察到GTA [34]的适应性优于SYNTHIA [35]的适应性,部分原因是GTA数据集包含的图像多于SYNTHIA数据集(24; 996 vs 9) ; 400)。 因此,一个自然要问的问题是:鉴于合成图像易于收集和注释,分割性能的趋势是什么,合成数据量是多少? 我们通过实验研究了这个问题。

如图4a所示,从SYNTHIA [35]和GTA [34]改编的模型的IoU单调地增加了源数据集的部分(即,训练合成图像的数量),但是当合成更多时,增益正在缓慢下降 使用图像,特别是对于GTA,因为它包含更多图像。 图4a中的趋势表明:1)使用更多的合成训练数据确实显着改善了分割性能,例如,使用25%v。 50%的SYNTHIA数据,IoU提高了约10%; 2)当添加更多合成图像时,IoU趋于饱和。 除了大量合成数据之外,训练图像中场景的多样性可能比训练样本的数量更重要。 图4b显示了使用源数据集的不同部分的训练时间。

4.4 Ablation Studies

我们研究了所提出的结构化域适应框架的不同组成部分的有效性。 以下报告了通过不同变体和参数设置实现的性能。

4.4.1 The effectiveness of conditional generator

为了验证条件生成器在增强特征映射中的重要性,我们将其与[2]中提出的简单基线“Skip Pooling”进行了比较。 我们还尝试在没有条件生成器的情况下训练我们的网络,即,我们删除条件生成器G,并且仅保留特征提取器,像素方式分类器T和鉴别器D.我们注意到这与[14]的精神共享 尝试使用域分类器学习域不变特征。

实验结果如表3所示。我们的条件生成器在两个数据集中均优于“Skip Pooling”约20%的平均IoU,这验证了我们的方法可以有效地合并来自低级层的细粒度细节以改进语义分割。 当条件生成器被移除时,IoU显着下降约24%。 该结果验证了我们先前的假设,例如,由于大的预测空间,简单地学习域不变特征未能处理结构化域适应问题。 鉴于条件生成器的重要性,我们通过以下实验研究其不同的设计选择。

4.4.2 Different lower layers for learning generator

所提出的生成器利用来自较低级别的卷积层的表示的合成图像的细粒度细节。 特别是,我们使用“Conv1”中的功能作为学习发生器的输入。 为了验证此设置的有效性,我们使用“Conv2”到“Conv5”的特征以及原始输入图像分别用于学习生成器,进行额外的实验。 如图5a所示,通过采用来自较高卷积层的表示,性能一致地降低。

一般而言,标准CNN中的深层特征最终会沿着网络从一般演变为特定,并且当跨域差异增加时,特征和分类器的可转移性将降低[44]。 换句话说,即使在多层特征抽象之后,数据分布的变化仍然存在,并且较低层可以捕获比较高层更多的低级细节。 因此,使用“Conv1”中的低级功能可在所有卷积层中提供最佳性能。

此外,我们观察到,从输入图像直接学习生成器在测试阶段产生类似或稍微更高的IoU。 然而,“Conv1”特征图的大小只是原始图像的一半,因为“Conv1”层具有步幅2,因此我们将“Conv1”层输出而不是原始图像输入到生成器以进行有效计算。

4.4.3 On the number of residual blocks

我们还改变了剩余块的数量。 如图5b所示,测试IoU增长了w.r.t. 剩余块B的数量,但是当B相对较大时增益减小。 由于B = 16和B = 32之间的微小IoU间隙,我们简单地使用B = 16来提高计算效率。

4.4.4 How much does the noise channel contribute?

我们进行对照实验以验证噪声通道的有效性。 如表4所示,噪声信道可以略微改善所提出方法的IoU。 通过调整源图像特征图和噪声输入,我们的模型甚至可以创建无限数量的训练样本。

5 Conclusion

在本文中,我们讨论了用于城市场景语义分割的结构化域适应。 我们提出了一种基于GAN的方法来解决这个问题,并学习条件生成器来转换源域图像的特征映射,就好像它们是从目标域图像中提取的一样。 我们使用鉴别器来鼓励现实的转换。 我们的方法优于其他最先进的方法,涉及从模拟图像到城市交通场景的真实照片的领域适应。

 

 

你可能感兴趣的:(深度学习)