非配对图像到图像的转换-使用循环一致对抗网络

非配对图像到图像的转换-使用循环一致对抗网络

首页休闲益智形状配对3D更新时间:2024-04-29

本文原题为《Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks》Jun-Yan Zhu et al. (2017) ,原文地址,译者借助软件进行了翻译 整理 理解和校验,方便想深入机器学习领域的中文读者,译文:

图1

图1:对于给定的两个无序图像集合X和Y,我们的算法学习自动将一幅图像从一个集合转换为另一个集合,反之亦然:(左)来自Flickr的莫奈的画作和风景照片;(中)来自ImageNet的斑马和马;(右)来自Flickr的夏季和冬季约塞米蒂照片。示例应用(底部):使用一系列著名艺术家的绘画作品,我们的方法学习将自然照片渲染为相应的风格。

摘要

图像到图像的翻译是一类视觉和图形问题,其目标是通过使用一组对齐图像对的训练集来学习输入图像与输出图像之间的映射关系。然而,在许多任务中,并不会有配对的训练数据可用。我们提出了一种在没有配对示例的情况下学习将源领域X中的图像转换为目标领域Y的方法。我们的目标是学习一个映射G:X→Y,使得从G(X)得到的图像分布在对抗损失下与Y的分布无法区分。由于这种映射是高度不受约束的,我们将其与一个反向映射F:Y→X相结合,并引入循环一致性损失来强制执行F(G(X)) ≈ X(反之亦然)。我们在几个任务上展示了定性结果,这些任务缺乏配对训练数据,包括集合风格转换、物体变形、季节转换、照片增强等。与几种先前方法的定量比较证明了我们方法的优越性。

1 引言

1873年的一个美丽的春日,在塞纳河边的阿尔让蒂勒,克洛德·莫奈在他的画架旁边看到了什么(图1,左上角)?如果当时彩色照片已经发明,可能会记录下一片明亮的蓝天和倒映其中的平静的河流。莫奈通过纤细的刷触和鲜明的调色表达了他对这个场景的印象。 如果莫奈在一个凉爽的夏日傍晚偶然来到卡西斯的小港口(图1,左下角)会怎样呢?通过简短地浏览莫奈的画廊,我们可以想象他会如何描绘这个场景:也许用柔和的色调,迅速涂抹的油画颗粒,以及略微扁平化的动态范围。

尽管我们从未见过莫奈的画作与他所描绘场景的照片并排在一起,但我们可以想象出所有这些。与此同时,我们了解到了莫奈的画作集合和风景照片集合的知识。我们可以推理出这两个集合之间的风格差异,从而想象出如果我们将一个场景从一个集合转换到另一个集合会是什么样子。

在本文中,我们提出了一种可以学习做到这一点的方法:捕捉一组图像集合的特殊特征,并找出如何将这些特征转换到另一组图像集合中,而无需任何配对的训练示例。

这个问题可以更广泛地描述为图像到图像的转换[22],将一幅图像从给定场景的一个表示x转换为另一个表示y,例如,从灰度到彩色,从图像到语义标签,从边缘图到照片等。在监督学习的设置中,经过计算机视觉、图像处理、计算摄影和图形学等多年的研究,已经产生了强大的翻译系统,可以利用可用的示例图像对{x_i, y_i}来进行训练(图2,左侧),例如[11, 19, 22, 23, 28, 33, 45, 56, 58, 62]。然而,获取配对的训练数据可能是困难且昂贵的。例如,对于像语义分割这样的任务,只有几个数据集存在(例如[4]),而且它们相对较小。对于类似艺术风格化的图形任务,获取输入-输出对可能更加困难,因为所需的输出通常是高度复杂的,通常需要艺术创作。对于许多任务,如物体变形(例如斑马↔马,图1,顶部中间),所需的输出甚至没有明确定义。

图2

图2:配对训练数据(左侧)由训练示例组成,其中xi和yi之间存在对应关系[22]。相反,我们考虑无配对的训练数据(右侧),包括一个源集合和一个目标集合,没有提供哪个xi与哪个yj匹配的信息。

因此,我们寻求一种算法,可以在没有配对的输入-输出示例的情况下学习在领域之间进行转换(图2,右侧)。我们假设这些领域之间存在某种潜在的关系,例如它们是同一潜在场景的两种不同呈现方式,并且我们试图学习这种关系。虽然我们缺乏配对示例形式的监督,但我们可以在集合的层面上利用监督:我们在领域X中给定一组图像,而在领域Y中给定另一组不同的图像。我们可以训练一个映射G:X→Y,使得输出ŷ = G(x),其中x ∈ X,然后通过对抗训练得到专门判别y真假的判别器,使得它无法区分y和ŷ。

理论上,这个目标可以产生一个输出分布,使得ŷ的分布与经验分布匹配(一般情况下,这要求G是随机的)[16]。因此,最优的G将领域X转换为与Y完全相同的领域Ŷ。然而,这样的转换并不能保证一个个体输入x和输出y以有意义的方式配对 - 存在无穷多个映射G,可以导致相同的ŷ分布。此外,在实践中,我们发现单独优化对抗目标很困难:标准的过程经常导致众所周知的模式崩溃问题,其中所有输入图像都映射到同一输出图像,优化无法取得进展[15]。

因此,这些问题需要在我们的目标中添加更多的结构。因此,我们利用“循环一致性”这个特性,即如果我们将一个句子从英语翻译成法语,然后再从法语翻译回英语,我们应该得到原始句子[3]。在数学上,如果我们有一个翻译器G:X→Y和另一个翻译器F:Y→X,那么G和F应该互为反函数,并且两个映射都应该是双射(一一对应)。我们通过同时训练映射G和F,并添加循环一致性损失[64]来应用这个结构性假设,这鼓励F(G(x)) ≈ x和G(F(y)) ≈ y。将这个损失与X和Y领域的对抗损失相结合,得到了我们用于无配对图像到图像转换的完整目标。

我们将我们的方法应用于各种应用中,包括集合风格转换、物体变形、季节转换和照片增强。我们还与先前的方法进行了比较,这些方法要么依赖于手动定义的风格和内容分解,要么依赖于共享的嵌入函数,并且我们展示了我们的方法优于这些基线。我们提供了「PyTorch」()和「Torch」()的实现。在我们的网站()上查看更多结果。

2 相关工作

生成对抗网络(GANs)[16, 63]在图像生成[6, 39]、图像编辑[66]和表示学习[39, 43, 37]方面取得了令人印象深刻的成果。最近的方法采用了相同的思想,用于条件图像生成应用,例如文本到图像[41]、图像修复[38]和未来预测[36],以及其他领域,如视频[54]和3D数据[57]。GANs成功的关键在于对抗性损失的思想,它迫使生成的图像在原则上与真实照片无法区分。这种损失对于图像生成任务尤为强大,因为这正是计算机图形学的许多目标要优化的目标。我们采用对抗性损失来学习映射,使得翻译后的图像无法与目标领域中的图像区分开来。

图像到图像的转换 图像到图像的转换的想法至少可以追溯到Hertzmann等人的"Image Analogies" [19],他们在单个输入-输出训练图像对上使用了非参数纹理模型 [10]。更近期的方法使用输入-输出示例的数据集,利用卷积神经网络学习参数化的转换函数(例如,[33])。我们的方法基于Isola等人的"pix2pix"框架 [22],该框架使用条件生成对抗网络 [16] 来学习从输入图像到输出图像的映射。类似的思想已经应用于不同的任务,如根据草图或属性和语义布局生成照片 [44]。然而,与上述先前的工作不同的是,我们在没有配对训练示例的情况下学习这种映射关系。

无配对图像到图像的转换 还有其他一些方法处理无配对设置,目标是关联两个数据域:X和Y。Rosales等人 [42]提出了一个贝叶斯框架,其中包括基于从源图像计算得到的基于补丁的马尔可夫随机场的先验项,以及从多个样式图像获得的似然项。更近期的方法如CoGAN [32]和跨模态场景网络 [1]采用权重共享策略来学习跨领域的公共表示。与我们的方法同时进行的是,Liu等人 [31]结合了变分自编码器 [27]和生成对抗网络 [16]来扩展上述框架。另一条同时进行的工作线 [46, 49, 2]鼓励输入和输出在“内容”特征上共享,即使它们在“风格”上可能不同。这些方法也使用对抗网络,通过额外的项来强制输出在预定义的度量空间(如类别标签空间[2]、图像像素空间[46]和图像特征空间[49])中接近输入。

与上述方法不同,我们的方法不依赖于任何任务特定的、预定义的输入和输出之间的相似性函数,也不假设输入和输出必须位于相同的低维嵌入空间中。这使得我们的方法成为许多视觉和图形任务的通用解决方案。我们在第5.1节直接与几种先前和现代的方法进行比较。

循环一致性 利用传递性来规范结构化数据的思想有着悠久的历史。在视觉跟踪中,强制进行简单的正反向一致性一直是一个标准的技巧 [24, 48]。在语言领域中,通过“反向翻译和协调”验证和改进翻译是人类翻译员 [3](包括马克·吐温 [51]幽默地使用)以及机器 [17]使用的一种技术。最近,高阶循环一致性在运动结构恢复 [61]、3D形状匹配 [21]、共分割 [55]、密集语义对齐 [65, 64]和深度估计 [14]等领域中被使用。其中,周等人 [64]和Godard等人 [14]与我们的工作最相似,因为他们使用循环一致性损失来利用传递性监督CNN的训练。在这项工作中,我们引入了类似的损失来推动G和F彼此保持一致。与我们的工作同时进行的是,Yi等人 [59]在同一论文集中独立使用了类似的目标来进行无配对图像到图像的转换,灵感来自于机器翻译中的双重学习 [17]。

神经风格迁移 [13, 23, 52, 12] 是进行图像到图像转换的另一种方法,它通过结合一幅图像的内容和另一幅图像(通常是一幅绘画作品)的风格来合成一幅新的图像,基于匹配预训练深度特征的Gram矩阵统计量。相反,我们的主要关注点是学习两个图像集合之间的映射,而不是两幅特定图像之间的映射,通过尝试捕捉更高级的外观结构之间的对应关系。因此,我们的方法可以应用于其他任务,例如绘画→照片、物体变形等,在这些任务中,单个样本的转换方法表现不佳。我们在第5.2节中对这两种方法进行了比较。

3 表达式

我们的目标是学习两个域 X 和 Y 之间的映射函数,给定训练样本集合,其中 xi ∈ X,以及,其中 yj ∈ Y。我们将数据分布表示为 x ∼ pdata(x) 和 y ∼ pdata(y)。如图3(a)所示,我们的模型包括两个映射函数 G:X → Y 和 F:Y → X。此外,我们引入了两个对抗鉴别器 DX 和 DY,其中 DX 旨在区分图像集合{x}和转换后的图像集合{F(y)},DY 旨在区分{y}和{G(x)}。我们的目标函数包含两种类型的项:对抗损失[16],用于使生成的图像分布与目标域中的数据分布匹配;循环一致性损失,用于防止学习到的映射函数 G 和 F 相互矛盾。

图3

图3 (a)描述了提出的模型的结构。图中展示了两个映射函数G:X → Y和F:Y → X,以及它们对应的对抗性判别器DY和DX。DY鼓励G将X翻译为与域Y中的输出无法区分的图像,而DX则对F进行类似的鼓励。为了进一步规范映射过程,我们引入了两个循环一致性损失,捕捉了这样一个直观理念:如果我们从一个域翻译到另一个域,再返回来,应该回到出发的地方。其中,(b)是正向循环一致性损失:x → G(x) → F(G(x)) ≈ x,(c)是反向循环一致性损失:y → F(y) → G(F(y)) ≈ y。

3.1. 对抗损失

我们对两个映射函数都应用对抗损失[16]。对于映射函数 G: X → Y 和其鉴别器 DY,我们将目标表示为:

其中 G 尝试生成看起来类似于域 Y 中图像的图像 G(x),而 DY 的目标是区分转换后的样本 G(x) 和真实样本 y。G 旨在最小化这个目标,而对手 D 则试图最大化它,即 minG maxDY L_GAN(G, DY, X, Y)。

我们还引入了类似的对抗损失用于映射函数 F: Y → X 和其鉴别器 DX: 即,minF maxDX LGAN(F, DX, Y, X)。

3.2. 循环一致性损失

理论上,对抗训练可以学习到使输出与目标域 Y 和 X 分布相同的映射 G 和 F(严格来说,这要求 G 和 F 是随机函数)[15]。然而,具有足够大容量的网络可以将相同的输入图像集映射为目标域中图像的任意随机排列,其中任何学习到的映射都可以产生与目标分布匹配的输出分布。因此,仅仅使用对抗损失无法保证学习到的函数能够将个别输入 xi 映射到期望的输出 yi。为了进一步减少可能的映射函数空间,我们提出学习的映射函数应该具有循环一致性:如图3(b)所示,对于来自域 X 的每个图像 x,图像的转换循环应该能够将 x 回到原始图像,即 x → G(x) → F(G(x)) ≈ x。我们称之为正向循环一致性。类似地,如图3(c)所示,对于来自域 Y 的每个图像 y,G 和 F 也应满足反向循环一致性:y → F(y) → G(F(y)) ≈ y。我们使用循环一致性损失来激励这种行为:

在初步实验中,我们还尝试将该损失中的L1范数替换为F(G(x))与x之间的对抗损失,以及G(F(y))与y之间的对抗损失,但没有观察到改善的性能。

循环一致性损失产生的行为可以在图4中观察到:重构的图像F(G(x))与输入图像x非常相似。

图4

图4 展示了不同实验中的输入图像x,输出图像G(x)以及重构图像F(G(x))。从上到下分别为photo↔Cezanne(照片↔塞尚风格),horses↔zebras(马↔斑马),winter→summer Yosemite(冬季→夏季优胜美地),aerial photos↔Google Maps(航拍照片↔地图)。

3.3. 完整目标

我们的完整目标函数如下:

L(G, F, DX, DY) = L_GAN(G, DY, X, Y) L_GAN(F, DX, Y, X) λL_cyc(G, F), (式3)

其中λ控制着两个目标的相对重要性。我们的目标是解决以下问题:

G∗, F∗ = arg min_(G,F) max_(Dx,DY) L(G, F, DX, DY). (式4)

请注意,我们的模型可以被视为训练两个"自编码器" [20]:我们同时学习一个自编码器F ◦ G:X → X和另一个G ◦ F:Y → Y。然而,这些自编码器各自具有特殊的内部结构:它们通过一个中间表示将图像映射到自身,这个中间表示是将图像转换为另一个域的翻译。这样的设置也可以看作是"对抗性自编码器" [34]的特殊情况,它使用对抗性损失来训练自编码器的瓶颈层,使其匹配任意的目标分布。在我们的情况下,X → X自编码器的目标分布是域Y的分布。

在第5.1.4节中,我们将我们的方法与仅使用对抗性损失L_GAN和仅使用循环一致性损失L_cyc的消融方法进行了比较,并通过实验证明两个目标在产生高质量结果方面起着关键作用。我们还在仅一个方向上使用循环损失进行评估,并展示了单一循环不足以对这个欠约束的问题进行有效的训练正则化。

4 实现

网络架构 我们采用了来自Johnson等人的生成网络架构[23],他们在神经风格迁移和超分辨率方面取得了令人印象深刻的结果。该网络包含三个卷积层,多个残差块[18],两个步长为1/2的反卷积层,以及一个将特征映射到RGB的卷积层。对于128×128像素的图像,我们使用6个块,对于256×256及更高分辨率的训练图像,我们使用9个块。与Johnson等人[23]一样,我们使用实例归一化[53]。对于鉴别器网络,我们使用70×70的PatchGANs[22, 30, 29],它们旨在分类70×70重叠的图像块是真实的还是伪造的。这种基于块级别的鉴别器架构参数比全图鉴别器少,并且可以对任意大小的图像进行全卷积方式的处理[22]。

训练细节 我们采用了最近工作中的两种技术来稳定我们的模型训练过程。首先,对于L_GAN(式1),我们将负对数似然目标替换为最小二乘损失[35]。这种损失在训练过程中更加稳定,并生成更高质量的结果。具体而言,对于GAN损失L_GAN(G,D,X,Y),我们训练G使Ex∼pdata(x)[(D(G(x))−1)^2]最小化,并训练D使Ey∼pdata(y)[(D(y)−1)^2] Ex∼pdata(x)[D(G(x))^2]最小化。 其次,为了减少模型的振荡[15],我们采用Shrivastava等人的策略[46],使用生成图像的历史记录而不是最新生成器生成的图像来更新鉴别器。我们保留一个图像缓冲区,存储之前创建的50个图像。

对于所有实验,我们在式3中设置λ = 10。我们使用批量大小为1的Adam求解器[26]。所有网络都是从头开始训练的,学习率为0.0002。在前100个时期保持相同的学习率,然后在接下来的100个时期内线性衰减为零。有关数据集、架构和训练过程的更多细节,请参阅附录(第7节)。

5 结果

我们首先将我们的方法与最近的其他无配对图像转换方法在配对数据集上进行比较,这些数据集具有可用于评估的真实输入-输出对。然后,我们研究了对抗性损失和循环一致性损失的重要性,并将我们的完整方法与几个变种进行比较。最后,我们展示了我们的算法在一系列无配对数据存在的应用中的通用性。为了简洁起见,我们将我们的方法称为CycleGAN。PyTorch和Torch代码、模型和完整的结果可以在我们的网站上找到(译者注:引言结尾已附)。

5.1. 评估

我们使用与“pix2pix” [22]相同的评估数据集和指标,定性和定量地将我们的方法与几个基准方法进行比较。任务包括在Cityscapes数据集 [4]上进行语义标签↔照片的转换,以及从谷歌地图上获取的地图↔航拍照片的转换。我们还对完整损失函数进行了消融研究。

5.1.1 评估指标

AMT感知性研究 对于地图↔航拍照片任务,我们在Amazon Mechanical Turk (AMT)上进行了“真实与伪造”感知性研究,以评估我们的输出的真实性。我们遵循Isola等人 [22]的相同感知性研究协议,但我们只收集了每个测试算法的25位参与者的数据。参与者会看到一系列图像对,其中一个是真实照片或地图,另一个是伪造的(由我们的算法或基准算法生成),并被要求点击他们认为是真实的图像。每个会话的前10次尝试是练习,并反馈参与者的回答是否正确。剩下的40次尝试用于评估每个算法欺骗参与者的比率。每个会话只测试一个算法,并且参与者只能完成一个会话。

我们在这里报告的数字与[22]中的数字不直接可比,因为我们的基准图像的处理方式略有不同,并且我们测试的参与者群体可能与[22]中的测试群体分布不同(由于在不同的日期和时间运行实验)。因此,我们的数字仅用于将我们当前的方法与基准方法进行比较(在相同条件下运行),而不是与[22]进行比较。

FCN评分 尽管感知研究可能是评估图形逼真度的黄金标准,但我们还希望获得一种不需要人工实验的自动定量指标。因此,我们采用了来自[22]的"FCN评分",并将其用于评估Cityscapes标签→照片的任务。FCN评分指标根据一个现成的语义分割算法(全卷积网络,FCN,来自[33])来评估生成的照片的可解释性。FCN会为生成的照片预测一个对应标签。然后,可以使用下面描述的标准语义分割指标将该对应标签与输入的真实标签进行比较。其基本思想是,如果我们从一个"道路上的汽车"的对应标签生成一张照片,那么如果FCN对生成的照片进行判别,能够检测到"道路上的汽车",我们就可以认为生成成功了。

语义分割指标 为了评估照片→标签的性能,我们使用了Cityscapes基准测试中的标准指标,包括像素级准确率(per-pixel accuracy)、类别级准确率(per-class accuracy)和平均类别交并比(mean class Intersection-Over-Union,Class IOU)[4]。

5.1.2 基线

CoGAN [32] 这种方法为域X和域Y分别学习一个GAN生成器,其中前几层的权重是共享的潜在表示。通过找到生成图像X的潜在表示,然后将该潜在表示渲染成样式Y,可以实现从X到Y的转换。

SimGAN [46] 像我们的方法一样,Shrivastava等人使用对抗性损失来训练从X到Y的转换。正则化项 用于惩罚在像素级别上做出大幅改变。

Feature loss GAN 我们还测试了SimGAN [46]的一个变体,其中L1损失是在使用预训练网络(VGG-16 relu4_2 [47])的深度图像特征上计算的,而不是在RGB像素值上计算。在深度特征空间中计算距离,有时也被称为使用“感知损失”[8, 23]。

BiGAN/ALI [9, 7] 无条件生成对抗网络(GAN)[16]学习一个生成器 G: Z → X,将随机噪声 z 映射到图像 x。BiGAN [9]和ALI [7]提出了学习逆映射函数 F: X → Z的方法。虽然它们最初是为了将潜在向量 z 映射到图像 x,但我们将相同的目标实现用于将源图像 x 映射到目标图像 y。

pix2pix [22] 我们还与 pix2pix [22] 进行比较,pix2pix 是在配对数据上进行训练的,我们想看看在不使用任何配对数据的情况下,我们能够达到多接近这个“上限”。为了公平比较,我们使用与我们的方法相同的架构和细节来实现所有基准方法,除了 CoGAN [32]。CoGAN 是基于生成器,它使用共享的潜在表示生成图像,这与我们的图像到图像网络不兼容。我们使用公开的 CoGAN 实现()进行比较。

5.1.3 与基线对比

如图5和图6所示,我们无法通过任何基准方法获得令人满意的结果。另一方面,我们的方法可以产生与完全监督的pix2pix相似质量的转换结果。

图5

图5展示了在Cityscapes图像上训练的不同标签↔照片映射方法。从左到右依次为:输入图像,BiGAN/ALI [7, 9],CoGAN [32],特征损失 GAN,SimGAN [46],CycleGAN(我们的方法),pix2pix [22](使用配对数据训练),以及真实的标签图像。

图6

图6展示了在Google Maps上进行航拍照片↔地图映射的不同方法。从左到右依次为:输入图像,BiGAN/ALI [7, 9],CoGAN [32],特征损失 GAN,SimGAN [46],CycleGAN(我们的方法),pix2pix [22](使用配对数据训练),以及真实的地图图像。

表1报告了AMT感知真实性任务的表现。在这里,我们可以看到我们的方法可以在大约四分之一的测试中欺骗参与者,无论是在地图→航拍照片的方向还是航拍照片→地图的方向上,分辨率为256×256。我们还在512×512分辨率下训练了CycleGAN和pix2pix,并观察到相似的表现:地图→航拍照片:CycleGAN:37.5% ± 3.6%,pix2pix:33.9% ± 3.1%;航拍照片→地图:CycleGAN:16.5% ± 4.1%,pix2pix:8.5% ± 2.6%。所有的基准方法几乎没有欺骗参与者的情况。

表1

表2评估了Cityscapes数据集上的标签→照片任务的表现,表3评估了相反的映射(照片→标签)。在这两种情况下,我们的方法再次超过了基准方法。

表2

表3

5.1.4 损失函数分析

在表4和表5中,我们与仅保留部分损失函数的方法进行了比较。移除GAN损失会大大降低结果的质量,移除循环一致性损失也会产生类似的效果。因此,我们得出结论认为这两个损失函数对我们的结果至关重要。我们还对仅使用单向循环损失的情况进行了评估:GAN 前向循环损失 ,或者GAN 反向循环损失 (式2),发现这往往会导致训练不稳定和模式崩溃,尤其是对于被移除的映射方向。

表4

表5

图7展示了一些定性的例子。

图7

图7:我们方法在Cityscapes数据集上进行标签↔照片映射的不同变体。从左到右:输入,仅循环一致性损失,仅对抗性损失,GAN 正向循环一致性损失(F(G(x)) ≈ x),GAN 反向循环一致性损失(G(F(y)) ≈ y),CycleGAN(我们的完整方法)和真实标签。仅使用Cycle会产生与目标域不相似的图像。仅使用GAN 反向也无法生成与目标域相似的图像。仅使用GAN和GAN 正向会出现模式坍塌,无论输入照片如何,都会产生相同的标签地图。

5.1.5 图像重建质量

在图4中,我们展示了一些随机样本的重建图像 F(G(x))。我们观察到,在训练和测试过程中,重建图像往往与原始输入 x 接近,即使在一个域表示着更多多样化信息的情况下,例如地图↔航拍照片。

5.1.6 配对数据集上的其他结论

图8展示了在其他配对数据集上的一些示例结果,这些数据集在“pix2pix”[22]中使用,包括来自CMP Facade数据库[40]的建筑标签↔照片和来自UT Zappos50K数据集[60]的边缘↔鞋子。我们的结果在图像质量上接近完全监督的pix2pix生成的结果,而我们的方法在没有配对监督的情况下学习映射关系。

图8

图8:CycleGAN在“pix2pix” [22]中使用的配对数据集(如建筑标签↔照片和边缘↔鞋子)上的示例结果。

5.2 应用

我们在几个没有配对训练数据的应用领域展示了我们的方法。更多关于数据集的细节,请参阅附录(第7节)。我们观察到,在训练数据上的翻译通常比在测试数据上的翻译更吸引人。您可以在我们的项目网站上查看所有应用领域在训练和测试数据上的完整结果。

集合风格转换(图10和图11) 我们从Flickr和WikiArt下载的风景照片上训练模型。与最近的“神经风格转移”研究不同,我们的方法学习模仿整个艺术作品集的风格,而不仅仅是转移单个选定艺术品的风格。因此,我们可以学习生成以梵高为例的艺术风格照片,而不仅仅是《星夜》的风格。每位艺术家/风格的数据集大小分别为526、1073、400和563,对应于Cezanne、Monet、Van Gogh和Ukiyo-e。

图10

图10:集合风格转换 I:我们将输入图像转换为莫奈、梵高、塞尚和浮世绘的艺术风格。请参考我们的网站以获取更多示例。

图11

图11:集合风格转换 II:我们将输入图像转换为莫奈、梵高、塞尚和浮世绘的艺术风格。请参考我们的网站以获取更多示例。


物体转换(图13) 模型经过训练,将ImageNet[5]中的一个物体类别转换为另一个物体类别(每个类别包含约1000个训练图像)。Turmukhambetov等人[50]提出了一个子空间模型,将一个物体转换为同一类别中的另一个物体,而我们的方法侧重于在两个视觉上相似的类别之间进行物体转换。

图13

图13:我们的方法应用于几个翻译问题。这些图像被选为相对成功的结果 - 请访问我们的网站获取更全面和随机的结果。在前两行中,我们展示了在马和斑马之间进行对象转换的结果,训练数据来自Imagenet [5]中的野马类别的939张图像和斑马类别的1177张图像。还可以查看马→斑马的演示视频。中间两行展示了季节转换的结果,训练数据来自Flickr上的约塞米蒂冬季和夏季照片。在最后两行中,我们使用来自ImageNet的996张苹果图像和1020张脐橙图像进行训练。

季节转换(图13) 该模型在从Flickr下载的854张冬季照片和1273张夏季照片上进行训练,用于将冬季景观转换为夏季景观。

图12

图12:将莫奈的绘画映射到摄影风格的相对成功结果。请访问我们的网站获取更多示例。

从绘画生成照片(图12) 对于从绘画到照片的转换,我们发现引入额外的损失函数有助于保持输入和输出之间的颜色组合。具体而言,我们采用了Taigman等人[49]的技术,并通过在生成器接收目标领域的真实样本作为输入时,将生成器调整为接近恒等映射来进行正则化:

在没有Lidentity的情况下,生成器G和F可以自由地改变输入图像的色调,即使没有必要这样做。例如,在学习莫奈的绘画作品和Flickr照片之间的映射时,生成器通常会将白天的绘画映射到日落时拍摄的照片上,因为在对抗性损失和循环一致性损失下,这样的映射可能同样有效。这个恒等映射损失的效果如图9所示。

图9

图9:恒等映射损失对莫奈的绘画→照片的影响。从左到右:输入绘画,没有身份映射损失的CycleGAN,带有身份映射损失的CycleGAN。身份映射损失有助于保留输入绘画的颜色。

在图12中,我们展示了将莫奈的绘画作品转换为照片的其他结果。这个图和图9展示了在训练集中包含的绘画作品的结果,而对于论文中的所有其他实验,我们只评估和展示测试集的结果。由于训练集中没有配对数据,对于训练集中的绘画作品来说,创造一个合理的翻译是一个非常困难的任务。实际上,由于莫奈无法再创作新的绘画作品,对于未见过的“测试集”绘画作品的泛化不是一个紧迫的问题。

照片增强(图14) 我们展示了我们的方法可以用于生成具有较浅景深的照片。我们使用从Flickr下载的花卉照片来训练模型。源域包含由智能手机拍摄的花卉照片,通常由于光圈较小而具有较大的景深。目标域包含由具有较大光圈的单反相机拍摄的照片。我们的模型成功地从智能手机拍摄的照片中生成具有较浅景深的照片。

图14

图14:照片增强:将一组智能手机拍摄的照片映射到专业的数码单反相机照片,系统通常学习生成浅景深效果。这里展示了我们测试集中最成功的一些结果 - 平均表现要差得多。请访问我们的网站获取更全面和随机的示例。

与Gatys等人的研究[13]进行比较 在图15中,我们将我们的结果与神经风格迁移[13]在照片风格化方面进行了比较。对于每一行,我们首先使用两个代表性艺术作品作为[13]的风格图像。另一方面,我们的方法可以生成整个集合风格的照片。为了与整个集合的神经风格迁移进行比较,我们计算目标域中的平均Gram矩阵,并使用该矩阵将“平均风格”与Gatys等人的方法[13]进行迁移。

图15

图15:我们将我们的方法与神经风格转移[13]在照片风格化方面进行了比较。从左到右:输入图像,使用Gatys等人[13]使用两幅不同代表性艺术作品作为风格图像的结果,使用该艺术家的整个作品集的Gatys等人[13]的结果,以及CycleGAN(我们的方法)。

图16展示了其他翻译任务的类似比较。我们观察到,Gatys等人的方法[13]需要找到与期望输出密切匹配的目标风格图像,但通常无法产生逼真的结果,而我们的方法成功生成了与目标域类似的自然结果。

图16

图16:我们将我们的方法与神经风格转移[13]在各种应用中进行了比较。从上到下依次是:苹果→橙子,马→斑马,以及莫奈→照片。从左到右:输入图像,使用Gatys等人[13]使用两个不同图像作为风格图像的结果,使用Gatys等人[13]使用目标域中的所有图像的结果,以及CycleGAN(我们的方法)。

6 限制讨论

尽管我们的方法在许多情况下可以取得令人满意的结果,但结果并不总是如此积极。图17展示了几个典型的失败案例。对于涉及颜色和纹理变化的翻译任务,如上文所述,该方法通常能够成功。我们也尝试了需要几何变化的任务,但并未取得太大的成功。例如,在狗→猫变形的任务中,学习到的翻译结果仅仅对输入进行了最小的变化(图17)。这种失败可能是由于我们的生成器架构更适用于处理外观变化。处理更多样化和极端的变换,尤其是几何变化,是未来工作中的一个重要问题。

图17

图17:我们方法的典型失败案例。左侧:在狗→猫转换任务中,CycleGAN只能对输入进行最小的改变。右侧:在这个马→斑马的例子中,CycleGAN也失败了,因为我们的模型在训练过程中没有见过人骑马的图像。请参考我们的网站以获取更全面的结果。

一些失败案例是由训练数据集的分布特征引起的。例如,在马→斑马的示例中(图17,右侧),我们的方法产生了混淆,因为我们的模型是在ImageNet的野生马和斑马合集上进行训练的,该数据集中没有人骑马或骑斑马的图像。

我们还观察到,在配对训练数据可实现的结果与我们的非配对方法实现的结果之间仍存在差距。在某些情况下,这个差距可能非常困难,甚至是不可能弥补的:例如,在照片→标签任务的输出中,我们的方法有时会对树和建筑物的标签进行排列。解决这种歧义可能需要一定形式的弱语义监督。整合弱或半监督数据可能会产生更强大的翻译器,同时成本仅为完全监督系统的一小部分。

尽管如此,在许多情况下,完全没有配对数据是丰富可得的,并且应该加以利用。本文推动了在这种“无监督”设置下所能实现的界限。

致谢:我们感谢Aaron Hertzmann、Shiry Ginosar、Deepak Pathak、Bryan Russell、Eli Shechtman、Richard Zhang和Tinghui Zhou提供的许多有益的意见。本工作部分得到了NSF SMA1514512、NSF IIS-1633310、Google Research奖励、Intel Corp和NVIDIA的硬件捐赠的支持。JYZ获得了Facebook研究生奖学金的支持,TP获得了Samsung奖学金的支持。风格转换中使用的照片由AE拍摄,其中大部分是在法国拍摄的。

参考文献

[1] Y. Aytar, L. Castrejon, C. Vondrick, H. Pirsiavash, and A. Torralba. Cross-modal scene networks. PAMI, 2016. 3

[2] K. Bousmalis, N. Silberman, D. Dohan, D. Erhan, and D. Krishnan. Unsupervised pixel-level domain adaptation with generative adversarial networks. In CVPR, 2017. 3

[3] R. W. Brislin. Back-translation for cross-cultural research. Journal of cross-cultural psychology, 1(3):185–216, 1970. 2, 3

[4] M. Cordts, M. Omran, S. Ramos, T. Rehfeld, M. Enzweiler, R. Benenson, U. Franke, S. Roth, and B. Schiele. The cityscapes dataset for semantic urban scene understanding. In CVPR, 2016. 2, 5, 6, 18

[5] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. Fei-Fei. Imagenet: A large-scale hierarchical image database. In CVPR, 2009. 8, 13, 18

[6] E. L. Denton, S. Chintala, R. Fergus, et al. Deep generative image models using a laplacian pyramid of adversarial networks. In NIPS, 2015. 2

[7] J. Donahue, P. Krahenb ¨ uhl, and T. Darrell. Adversarial ¨ feature learning. In ICLR, 2017. 6, 7

[8] A. Dosovitskiy and T. Brox. Generating images with perceptual similarity metrics based on deep networks. In NIPS, 2016. 7

[9] V. Dumoulin, I. Belghazi, B. Poole, A. Lamb, M. Arjovsky, O. Mastropietro, and A. Courville. Adversarially learned inference. In ICLR, 2017. 6, 7

[10] A. A. Efros and T. K. Leung. Texture synthesis by non-parametric sampling. In ICCV, 1999. 3

[11] D. Eigen and R. Fergus. Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture. In ICCV, 2015. 2

[12] L. A. Gatys, M. Bethge, A. Hertzmann, and E. Shechtman. Preserving color in neural artistic style transfer. arXiv preprint arXiv:1606.05897, 2016. 3

[13] L. A. Gatys, A. S. Ecker, and M. Bethge. Image style transfer using convolutional neural networks. CVPR, 2016. 3, 8, 9, 14, 15

[14] C. Godard, O. Mac Aodha, and G. J. Brostow. Unsupervised monocular depth estimation with left-right consistency. In CVPR, 2017. 3

[15] I. Goodfellow. NIPS 2016 tutorial: Generative adversarial networks. arXiv preprint arXiv:1701.00160, 2016. 2, 4, 5

[16] I. Goodfellow, J. Pouget-Abadie, M. Mirza, B. Xu, D. Warde-Farley, S. Ozair, A. Courville, and Y. Bengio. Generative adversarial nets. In NIPS, 2014. 2, 3, 4, 7

[17] D. He, Y. Xia, T. Qin, L. Wang, N. Yu, T. Liu, and W.-Y. Ma. Dual learning for machine translation. In NIPS, 2016. 3

[18] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In CVPR, 2016. 5

[19] A. Hertzmann, C. E. Jacobs, N. Oliver, B. Curless, and D. H. Salesin. Image analogies. In SIGGRAPH, 2001. 2, 3

[20] G. E. Hinton and R. R. Salakhutdinov. Reducing the dimensionality of data with neural networks. Science, 313(5786):504–507, 2006. 5

[21] Q.-X. Huang and L. Guibas. Consistent shape maps via semidefinite programming. In Symposium on Geometry Processing, 2013. 3

[22] P. Isola, J.-Y. Zhu, T. Zhou, and A. A. Efros. Imageto-image translation with conditional adversarial networks. In CVPR, 2017. 2, 3, 5, 6, 7, 8, 18

[23] J. Johnson, A. Alahi, and L. Fei-Fei. Perceptual losses for real-time style transfer and super-resolution. In ECCV, 2016. 2, 3, 5, 7, 18

[24] Z. Kalal, K. Mikolajczyk, and J. Matas. Forwardbackward error: Automatic detection of tracking failures. In ICPR, 2010. 3

[25] L. Karacan, Z. Akata, A. Erdem, and E. Erdem. Learning to generate images of outdoor scenes from attributes and semantic layouts. arXiv preprint arXiv:1612.00215, 2016. 3

[26] D. Kingma and J. Ba. Adam: A method for stochastic optimization. In ICLR, 2015. 5

[27] D. P. Kingma and M. Welling. Auto-encoding variational bayes. ICLR, 2014. 3

[28] P.-Y. Laffont, Z. Ren, X. Tao, C. Qian, and J. Hays. Transient attributes for high-level understanding and editing of outdoor scenes. ACM TOG, 33(4):149, 2014. 2

[29] C. Ledig, L. Theis, F. Huszar, J. Caballero, A. Cun- ´ ningham, A. Acosta, A. Aitken, A. Tejani, J. Totz, Z. Wang, et al. Photo-realistic single image superresolution using a generative adversarial network. In CVPR, 2017. 5

[30] C. Li and M. Wand. Precomputed real-time texture synthesis with markovian generative adversarial networks. ECCV, 2016. 5

[31] M.-Y. Liu, T. Breuel, and J. Kautz. Unsupervised image-to-image translation networks. In NIPS, 2017. 3

[32] M.-Y. Liu and O. Tuzel. Coupled generative adversarial networks. In NIPS, 2016. 3, 6, 7

[33] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 2, 3, 6

[34] A. Makhzani, J. Shlens, N. Jaitly, I. Goodfellow, and B. Frey. Adversarial autoencoders. In ICLR, 2016. 5

[35] X. Mao, Q. Li, H. Xie, R. Y. Lau, Z. Wang, and S. P. Smolley. Least squares generative adversarial networks. In CVPR. IEEE, 2017. 5

[36] M. Mathieu, C. Couprie, and Y. LeCun. Deep multiscale video prediction beyond mean square error. In ICLR, 2016. 2

[37] M. F. Mathieu, J. Zhao, A. Ramesh, P. Sprechmann, and Y. LeCun. Disentangling factors of variation in deep representation using adversarial training. In NIPS, 2016. 2

[38] D. Pathak, P. Krahenbuhl, J. Donahue, T. Darrell, and A. A. Efros. Context encoders: Feature learning by inpainting. CVPR, 2016. 2

[39] A. Radford, L. Metz, and S. Chintala. Unsupervised representation learning with deep convolutional generative adversarial networks. In ICLR, 2016. 2

[40] R. S. Radim Tyle ˇ cek. Spatial pattern templates for ˇ recognition of objects with regular structure. In Proc. GCPR, Saarbrucken, Germany, 2013. 8, 18

[41] S. Reed, Z. Akata, X. Yan, L. Logeswaran, B. Schiele, and H. Lee. Generative adversarial text to image synthesis. In ICML, 2016. 2

[42] R. Rosales, K. Achan, and B. J. Frey. Unsupervised image translation. In ICCV, 2003. 3

[43] T. Salimans, I. Goodfellow, W. Zaremba, V. Cheung, A. Radford, and X. Chen. Improved techniques for training GANs. In NIPS, 2016. 2

[44] P. Sangkloy, J. Lu, C. Fang, F. Yu, and J. Hays. Scribbler: Controlling deep image synthesis with sketch and color. In CVPR, 2017. 3

[45] Y. Shih, S. Paris, F. Durand, and W. T. Freeman. Datadriven hallucination of different times of day from a single outdoor photo. ACM TOG, 32(6):200, 2013. 2

[46] A. Shrivastava, T. Pfister, O. Tuzel, J. Susskind, W. Wang, and R. Webb. Learning from simulated and unsupervised images through adversarial training. In CVPR, 2017. 3, 5, 6, 7

[47] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. In ICLR, 2015. 7

[48] N. Sundaram, T. Brox, and K. Keutzer. Dense point trajectories by gpu-accelerated large displacement optical flow. In ECCV, 2010. 3

[49] Y. Taigman, A. Polyak, and L. Wolf. Unsupervised cross-domain image generation. In ICLR, 2017. 3, 8

[50] D. Turmukhambetov, N. D. Campbell, S. J. Prince, and J. Kautz. Modeling object appearance using context-conditioned component analysis. In CVPR, 2015. 8

[51] M. Twain. The jumping frog: in english, then in french, and then clawed back into a civilized language once more by patient. Unremunerated Toil, 3, 1903. 3

[52] D. Ulyanov, V. Lebedev, A. Vedaldi, and V. Lempitsky. Texture networks: Feed-forward synthesis of textures and stylized images. In ICML, 2016. 3

[53] D. Ulyanov, A. Vedaldi, and V. Lempitsky. Instance normalization: The missing ingredient for fast stylization. arXiv preprint arXiv:1607.08022, 2016. 5

[54] C. Vondrick, H. Pirsiavash, and A. Torralba. Generating videos with scene dynamics. In NIPS, 2016. 2

[55] F. Wang, Q. Huang, and L. J. Guibas. Image cosegmentation via consistent functional maps. In ICCV, 2013. 3

[56] X. Wang and A. Gupta. Generative image modeling using style and structure adversarial networks. In ECCV, 2016. 2

[57] J. Wu, C. Zhang, T. Xue, B. Freeman, and J. Tenenbaum. Learning a probabilistic latent space of object shapes via 3d generative-adversarial modeling. In NIPS, 2016. 2

[58] S. Xie and Z. Tu. Holistically-nested edge detection. In ICCV, 2015. 2

[59] Z. Yi, H. Zhang, T. Gong, Tan, and M. Gong. Dualgan: Unsupervised dual learning for image-to-image translation. In ICCV, 2017. 3

[60] A. Yu and K. Grauman. Fine-grained visual comparisons with local learning. In CVPR, 2014. 8, 18

[61] C. Zach, M. Klopschitz, and M. Pollefeys. Disambiguating visual relations using loop constraints. In CVPR, 2010. 3

[62] R. Zhang, P. Isola, and A. A. Efros. Colorful image colorization. In ECCV, 2016. 2

[63] J. Zhao, M. Mathieu, and Y. LeCun. Energy-based generative adversarial network. In ICLR, 2017. 2

[64] T. Zhou, P. Krahenbuhl, M. Aubry, Q. Huang, and A. A. Efros. Learning dense correspondence via 3dguided cycle consistency. In CVPR, 2016. 2, 3

[65] T. Zhou, Y. J. Lee, S. Yu, and A. A. Efros. Flowweb: Joint image set alignment by weaving consistent, pixel-wise correspondences. In CVPR, 2015. 3

[66] J.-Y. Zhu, P. Krahenb ¨ uhl, E. Shechtman, and A. A. ¨ Efros. Generative visual manipulation on the natural image manifold. In ECCV, 2016. 2

7 附录

7.1. 训练细节

我们从头开始训练网络,学习率为0.0002。在实践中,我们在优化D时将目标值除以2,这会减缓D学习的速度相对于G的速度。在前100个epoch中,我们保持相同的学习率,并在接下来的100个epoch中线性衰减学习率至零。权重从高斯分布N(0, 0.02)中初始化。

Cityscapes 标签↔照片 使用了来自Cityscapes训练集[4]中的2975张尺寸为128×128的训练图像。我们使用了Cityscapes验证集进行测试。

地图↔航拍照片 使用了从Google Maps[22]中获取的1096张尺寸为256×256的训练图像。这些图像是从纽约市及其周围采样的。数据根据采样区域的纬度中位数进行了训练和测试数据的划分(添加了缓冲区域以确保训练像素不会出现在测试集中)。

建筑立面标签↔照片 使用了来自CMP Facade数据库[40]的400张训练图像。

边缘→鞋子 使用了来自UT Zappos50K数据集[60]的约50,000张训练图像。该模型进行了5个epoch的训练。

马↔斑马和苹果↔橙子 我们使用关键词"wild horse"、"zebra"、"apple"和"navel orange"从ImageNet [5]下载了图像。这些图像被缩放到256×256像素。每个类别的训练集大小分别为:939(马)、1177(斑马)、996(苹果)和1020(橙子)。

夏季↔冬季优胜美地 使用Flickr API下载了带有"yosemite"标签和"datetaken"字段的图像。剔除了黑白照片。这些图像被缩放到256×256像素。每个类别的训练集大小为:1273(夏季)和854(冬季)。

照片↔艺术风格转换 艺术图像从Wikiart.org下载。手动剔除了一些素描或过于淫秽的艺术作品。照片通过使用标签"landscape"和"landscapephotography"从Flickr下载。剔除了黑白照片。这些图像被缩放到256×256像素。每个类别的训练集大小为:1074(莫奈)、584(塞尚)、401(梵高)、1433(浮世绘)和6853(照片)。莫奈的数据集特别剪裁,仅包括风景画,而梵高的数据集只包括他较晚期代表其最具识别性的艺术风格的作品。

莫奈的绘画→照片 为了在保持内存的同时实现高分辨率,我们在训练过程中使用了原始图像的随机正方形裁剪。为了生成结果,我们将宽度为512像素且具有正确宽高比的图像传递给生成器网络作为输入。身份映射损失的权重为0.5λ,其中λ为循环一致性损失的权重。我们设置λ = 10。

花卉照片增强 通过搜索Apple iPhone 5、5s或6拍摄的照片,使用搜索词flower,在Flickr上下载了在智能手机上拍摄的花卉图像。同时,通过搜索标签flower、dof,在Flickr上下载了具有浅景深的单反相机图像。这些图像被缩放到宽度为360像素。使用权重为0.5λ的身份映射损失。智能手机和单反相机数据集的训练集大小分别为1813和3326。我们设置λ = 10。

7.2. 网络架构

我们提供了PyTorch和Torch的实现。

生成器架构 我们采用了Johnson等人的架构[23]。对于128×128的训练图像,我们使用6个残差块,对于256×256或更高分辨率的训练图像,我们使用9个残差块。以下是按照Johnson等人在Github存储库()中使用的命名约定。

c7s1-k 表示具有 k 个过滤器和步幅 1 的 7×7 卷积-实例归一化-ReLU 层。dk 表示具有 k 个过滤器和步幅 2 的 3×3 卷积-实例归一化-ReLU 层。我们使用反射填充来减少伪影。Rk 表示一个残差块,其中包含两个具有相同数量过滤器的 3×3 卷积层。uk 表示具有 k 个过滤器和步幅 1/2 的 3×3 fractional-strided-ConvolutionInstanceNorm-ReLU 层。

包含 6 个残差块的网络结构如下: c7s1-64, d128, d256, R256, R256, R256, R256, R256, R256, u128, u64, c7s1-3

包含 9 个残差块的网络结构如下: c7s1-64, d128, d256, R256, R256, R256, R256, R256, R256, R256, R256, R256, u128, u64, c7s1-3

鉴别器架构 鉴别器网络采用70×70的PatchGAN结构[22]。我们用Ck表示具有k个过滤器和步幅2的4×4 Convolution-InstanceNorm-LeakyReLU层。在最后一层之后,我们应用一个卷积操作来产生一个一维输出。对于第一个C64层,我们不使用实例归一化。我们使用斜率为0.2的泄漏线性整流函数。鉴别器的架构如下: C64-C128-C256-C512

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved