论文翻译|CycleGAN


论文原文 https://ieeexplore.ieee.org/document/8237506
arxiv版本 https://arxiv.org/pdf/1703.10593.pdf


使用循环一致的对抗网络进行未配对图像到图像的转换

1 摘要

图像到图像的转换是一类关于视觉和图像的问题,这类问题的目的是通过使用成对的图片作为训练集,学习到输入图像和输出图像的映射关系。然而,对于很多任务来说,成对的训练数据是无法得到的。我们提出了一种在没有成对的数据的情况下学习将图像从源域X转换到目标域Y的方法。我们的目标是通过使用一种对抗损失函数学习一种映射G:X→Y,使得判别器无法分辨出图像G(X)和图像Y。由于该映射受到巨大的限制,因此我们为映射G搭配一个相反的映射F:Y→X,同时加入一个循环一致性损失函数来确保F(G(X)) ≈ X(反之亦然)。在不存在成对训练数据的情况下,我们比较了风格迁移、物品变形、季节转换、照片增强等几个任务的定性结果,都证明了我们的方法较之前几种方法的优越性。

2 介绍

在1873年某一个晴朗的春日,当Claude Monet把他的绘画架放置在Argenteuil附近的塞纳河畔,他看到了什么?如果彩色照片在当时就已被发明的话,或许就能记录下这清澈的河流以及倒映在河流里的蓝天,Monet通过他纤细的画笔和明亮的调色板将这一场景给传达出来了。如果Monet画画的事情发生在 Cassis 小港口的一个凉爽的夏夜,那么会发生什么?漫步在一个挂满Monet画作的画廊里,我们可以轻易地想象到他会在画作中怎样描绘这些场景:或许是在淡雅的夜色中添上令人惊艳的一笔,或是变化平缓的光影范围。

我们可以想象这些所有的东西,尽管从未见过Monet画作中的对应真实景象的照片。取而代之的是,我们已经了解过Monet画作和风景照片,我们可以推断出这两者的差异,同时据此想象出从一种风格转换到另一种风格的样子。

在这篇文章中,我们提出了一个能够学习做相同的事情的系统:在缺乏成对训练图像的情况,捕捉一张图像数据集的特征,并弄清楚怎样把这些特征转换到其他图像数据集上。

这个问题可以描述成广义的图像到图像的转换,从给定的场景x完成一张图像到另一个场景y的转换。举例:灰度图片到彩色图片,图像到语义标签,轮廓到图片。发展了多年的计算机视觉、图像处理和图形学学界提出了强大的有监督翻译系统,它需要成对的数据{x,y}。然而,获取成对的训练数据是非常困难且昂贵的。例如,只有几对用于语义分割的数据集,并且它们很小。在艺术风格化这样的图像任务中,获取输入输出图像对会更困难,因为所需的输出图像非常复杂,特别是艺术创作。对于许多任务而言,就像物体变形这一类任务的输出更加不容易定义。

因此我们寻找一种可以在没有成对输入输出示例情况进行两种域之间转换的算法,我们假设这两个域之间有某种特定的关系。例如,它们是同一特定场景的两种不同渲染风格,我们来探索学习这种关系。尽管缺少成对数据的监督样本,我们仍然可以在集合层面使用监督学习:在给出X域图像和另一组不同的Y域图像,我们可以训练出一个映射G:X → Y 使得输出y=G(x),x∈X,与图像y难以被判别器区分开,该判别器被训练用来区分生成样本yi和真实样本y。理论上,这一项将包括符合经验分布PY(y)的y’的输出分布(通常这要求G是随机的)。因此有一个最佳的映射G将X域转换为与Y域有相同分布的Y’域。然而,这样的转换不能保证独立分布的输入x和输出y在某种意义上配对——这儿有很多的映射G可以导出与y’一样的分布。不止如此,实际上,我们发现单独优化判别器是困难的:标准程序通常会导致出现众所周知的模式崩溃问题,即所有不同的输入图像都映射成相同的输出图像并且优化无法继续。

为了解决这个问题,我们在我们的模型中添加了更多的结构。因此,我们利用转换需要具有“循环一致性”的属性,在某种意义上,如果我们翻译英语到法语,然后又将法语翻译回英语,我们应该能够回到原始的那个英语句子。从数学上讲,如果我们有一个函数G:X→Y和一个函数F:Y→X,函数G和函数F能够相互颠倒,那么这两个函数映射是双射。我们将这个结构应用到映射G和F的同步训练中,并且加入一个循环一致性损失函数以保证F(G(x))≈x和G(F(y))≈y。合并这个损失函数与在X域Y域的对抗损失函数就能实现非成对的图像到图像转换的目标。

我们将这个方法应用到更广的领域上,包括风格迁移、物体变形、属性迁移和图像增强。我们将其与之前的方法比较,以前的方法依赖人工定义风格内容,或者共享的内部参数,并且我们这个方法优于这些baseline,我们在https://github.com/junyanz/CycleGAN 提供我们的代码,在https://arxiv.org/abs/1703.10593 处查看论文的所有版本

3 相关工作

对抗生成网络在图像生成、图像编辑和表征学习等领域取得了瞩目的成就。近段时间的几种条件图像生成方法也采用了相同的思路。例如文本转图像、图像修复和视频预测等其他领域,比如视频和三维数据。对抗生成网络成功的关键是:对抗损失函数促使生成的图像在原则上与真实图像无法区分开。这对于图像生成任务特别有用,图像生成正是很多计算机图像任务致力于优化的目标。我们采用对抗损失函数来学习一种这样的映射关系,以致于转换得到图像与目标域的图像难以区分。

图像到图像的转换的想法至少可以追溯到Hertzmann等人的图像类比,该模型在一对输入输出的训练图像上采用一个无参的纹理模型。

近段时间的更多方法则使用一个输入输出样例数据集训练卷积神经网络。我们的研究建立在Isola等人的pix2pix框架上,这个框架使用条件对抗生成网络学习输入到输出的映射。类似的想法也应用在诸如从轮廓、图像属性、布局语义生成图片这类任务中,然而,与之前工作不同的是,我们在没有成对训练样例情况下学习映射关系。

其他几个旨在关联两个数据域X和Y的方法也解决了不成对数据的问题。最近,Rosales等人提出了一个贝叶斯框架,通过对原图像以及从多风格图像中得到的似然项进行计算,得到一个基于区块、基于先验信息的马尔可夫随机场。更近一些的研究中,CoupledGANs和跨膜态场景网络则使用一种权重共享策略来学习跨领域的通用表达。与我们这个方法同时期的研究,有Liu等人将变分自编码和对抗生成网络相结合来扩展网络模型。同时期的另一个研究尝试让输入和输出共享特定的“内容”特征,即使他们所属不同风格。他们也使用对抗网络并添加一些项目来促使输出在预先定义的度量空间内更接近于输入。例如标签分类空间、图片像素空间和图像特征空间。

不同于以上方法,我们的设计不依赖任何特定任务和预定义输入输出似然函数,也不要求输入和输出在一个相同的低纬度嵌入空间。因此我们的方法对于许多视觉和图像任务是一个通用的解决方案。我们直接在5.1节将本方案与先前的方法进行比较。与我们工作同时期的,在相同的程序中,Yi等人受到机器翻译中双重学习的启发,单独给未配对的图像到图像的转换引入一个相似的目标。

将可传递性(transitivity)作为一种结构数据规范化的方式由来已久,几十年来,在视觉追踪(visual tracking)任务中,确保简单的前后向传播一致 (simple forward-backward consistency) 已经成为一个标准。在语言处理领域,“反向翻译与核对(back translation and reconsiliation)”是翻译员用来验证并提高翻译质量的一种技术,机器翻译也是如此。最近,高阶循环一致性已经被用于动作检测、三维目标匹配、协同分割、稠密语义分割校准和景物深度估计。其中,Zhou和Godard等人的工作与我们最为相似。他们使用循环一致性损失作为一种用可传递性监督CNN训练的方式。在这工作中,我们将引入类似的损失来让生成器G和F彼此保持一致。

神经风格迁移是另一种优化图像到图像转换的方法,通过将一张图像的内容与另一图像的风格基于匹配预训练期的深度特征的伽马矩阵统计信息相结合,从而合成一幅新的图像。另一方面,我们主要关注的是:通过尝试刻画更高层级外观结构之间的对应关系,学习两种图像风格域之间的映射关系,而不是两张特定的图片。因此,我们的方法能适用于其他任务,例如绘画转图片,物体变形等单个样品转换方法表现不好的地方。我们在5.2节比较了这两种方法。

4 方法

我们的目标是学习两个给定训练样本中数据域X与Y之间的映射函数,其中:

如图3所示,我们的方法包含了两个映射函数:

另外,我们引入了两个对抗性判别器DX和DY:DX旨在区分{x} 与转换后的图像 {F(y)};同样,DY用于区分{y} 与 转换后的图像{G(x)}。我们构建的损失模型包含两部分:对抗损失使生成的图像的分布与目标域的图像的数据分布相匹配;循环一致性损失防止学习到的映射G与F相互矛盾。

4.1 对抗损失

我们为两个映射函数都应用了对抗损失,对于映射函数G:X→Y和它的判别器DY,我们有如下的表达式:

当映射G尝试生成与数据域Y相似的图像G(x)时,判别器DY致力于区分转换得到的G(x)和真正的样例图像y。我们为映射函数F:Y→X和判别器DX引入一个类似的对抗损失函数L_GAN (G,D_X,Y,X)。

4.2 循环一致性损失

理论上对抗训练可以学习到映射G和F,并分别生成与目标域Y和X同分布的输出(严格地讲,这要求映射G与F是一个随机函数)。然而在容量较大情况下,网络可以将同一组输入图像映射到目标域中任何随机的图像排列,同时目标域中任何学习到的映射都可以产生与目标分布相匹配的输出分布。为了进一步减少可能的映射函数的空间,我们认为学习到的映射函数应该具有循环一致性,对于域X中的每一张图像x,该图像转换循环应该能够让图像x转换回到原始图像:x→G(x) →F(G(x)) ≈x,我们称之为前向循环一致性。类似地,对于Y域中的每一张图像y,生成器G和F也应该满足后向循环一致性:y→F(y) →G(F(y)) ≈y我们可以使用一个循环一致性损失来激励这种行为:

在预备实验中,我们也尝试用F(G(x)) 与x 之间、G(F(Y)) 与y 之间的对抗损失代替损失中的L1 范数,但是没有观察到更好的性能。在arXiv版本中可以观察到由循环一致性损失引起的行为。

4.3 完整的模型

我们的完整的模型对象是:

对象的相对重要性。我们致力于解决:

法能被看作训练两个 “自动编码器”:

然而,每一个自动编码器都有特殊的内部结构:它们通过中间介质将图片映射到自身,这个中间介质是图像的另一个域的转换。这种配置也可以被视为一个“对抗性自动编码器”的特例,它使用对抗损失来训练自动编码器的瓶颈层,以匹配任意的目标分布。在我们的例子里,X→Y自动编码器的目标分布是Y域分布。在5.1.3节,我们将我们的方法与消去了完整对象的模型进行比较,经验表明,这两个对象(损失函数)在获得高质量结果上起关键作用。

5 实现

我们采用了J.Johnson文章中的生成网络架构,J.Johnson等人在神经风格转换和超分辨率方面取得了令人印象深刻的成果。这个网络架构包含两个步长为2的卷积层,几个残差模块和两个1/2步长的卷积层。与Johnson的方法类似,我们使用了正则化,对于判别网络,我们使用70×70的PatchGANs,PatchGANs致力于辨别70×70的重叠图像块的真假。这种补丁级的判别器结构比完整的图像判别器拥有更少的参数,并且可以以一种完全卷积的方式被应用于任意尺寸的图像。

我们将最近研究工作中的两种技术应用到我们的模型中以稳定模型训练。第一,对于LGAN,我们用最小二乘损失替代负对数似然损失。这个损失函数在训练和生成更高质量的结果期间表现得更稳定。等式1就变为:

第二,为了减小模型训练时的震荡,我们遵循Shrivastava 等人的策略,用生成图像的历史而不是最新生成网络产生的图像来更新判别器DX和DY。我们使用一个图像缓存器来存储最近生成的50张图片。

请参阅我们的arXiv论文来获取更多的关于数据集、体系结构和训练程序的细节。

6 结果

我们首先将我们的方法与最近的关于使用成对数据集完成未配对的图像到图像的转换方法做比较,输入输出对可用于评估。然后我们研究了对抗损失和循环一致性损失的重要性,并将我们的方法与方法的几种变体进行比较。最后,在不存在成对数据情况下,我们在更大的应用范围内证明了算法的通用性。为了简洁,我们将我们的方法称为CycleGAN。

6.1 评估

我们使用与“pix2pix”相同的评估数据集,并且将我们的方法与几个基线(baseline)进行定量与定性的比较。我们也对全损失函数进行了消融研究。

6.1.1 Baseline

CoGAN 这个方法学习到一个生成X域数据和Y域数据的GAN生成器,前几层进行权重绑定,并共享对数据的潜在表达。通过找到一个生成图像X的潜在表达,然后将这个潜在表达以Y域风格呈现,可以实现从X到Y的风格转换。

Pixel loss+GAN 就像我们的方法一样,Shrivastava用一个对抗损失来训练X到Y的转换,正则项‖X−Y‖1用来纠正像素层级上过大的变动。

Feature loss+GAN 我们也测试了,使用预训练网络(VGG-16,relu4_2)在图像深度特征上计算L1损失,而不是在RGB像素值上计算。

BiGAN/ALI 无条件约束GAN训练了一个生成器G:Z→X,将随机噪声Z映射到图像X,BiGAN和ALI提议学习一个逆向映射函数F:X→Z,即使他们最初的设计是为了将一个潜在的向量z映射到图像x,我们实现了相同的目标,将原始图像x映射到目标图像y。

pix2pix 我们也同在成对数据上训练的pix2pix做了比较,为了看看在没有使用成对数据情况我们能够与这个上限有多接近。
为了公平的比较,我们采用了同我们的方法相同的架构和细节(除了Co GAN)来实现所有的基线模型。由于架构上的差异,我们使用了CoGAN的公共的实现版本。

6.1.2 与Baseline对比

如图4图5所示,我们不能在任何基线模型上取得令人信服的结果。另一方面,我们的方法通常能够产生与完全监督的pix2pix具有同等质量的转换结果。我们排除了图像中的pixel loss+GAN和feature loss+GAN,因为这两种方法都无法产生接近目标域的结果。

此外,我们的方法与基线模型通过三种方式进行了定量比较。首先,我们在AMT工人上进行“真对假”的研究来评估主观现实主义。第二,我们在城市景观数据上训练图片→标签的任务,将输出标签图像与城市景观的标准指标得到的真实图像进行比较。最后,我们在相同的数据集上训练标签→图片任务,用一个现成的全卷积语义分割网络评估输出的图片。我们发现,在这三个实验中,我们的方法明显优于基线模型。表1展示了在AMT感知现实主义任务中的表现。我们看到我们的方法能够在大约四分之一的地图→图片和图片→地图的实验中骗过参与者,而几乎所有的基线模型都不能做到如此。表2和表3评估了在城市景观图像的标注→图片任务的性能,我们的方法在这两种情况下都优于基线模型。每个实验的详细过程和结果可以在我们的arXiv版本中找到。

6.1.3 消融研究

我们对全损失的消融进行了比较,图6展示了几个定量示例。移除对抗损失或者循环一致性损失都会大大降低结果质量。因此我们认为这两项对我们实验的结果都至关重要。我们也在单向循环损失上评估了我们的方法:

我们发现它通常会导致训练不稳定,并导致模式崩溃,尤其是对于被移除的映射方向。我们也定量测了城市景观照片→标签任务上的消融,该测量结果可以在我们的论文arXiv版本中找到。

6.2 应用

我们在不存在成对训练数据情况下演示了我们的方法的几种应用,我们观察到在训练数据上的转换比在测试数据上通常更有吸引力。应用在所有训练数据和测试数据的完整结果可以在我们项目的网站上看到。

这个模型被训练用来将Imagenet上的一类物品转换到另一类(每一类包含大约1000张训练图像)。Turmukhambetov提出了一个子空间模型来将一个物品转换到另一个相同类别的物品,但是我们的方法致力于两个视觉上相似但类别不同的物品之间的变形。

这个模型在从Flickr下载的Yosemite风景照上进行训练。

我们用从Flickr和WikiArt下载的风景图片来训练这个模型,注意,与最近的“神经风格迁移”工作不同的是,我们的方法学习仿造艺术作品集,而不是迁移一件艺术作品的风格。在5.2节我们对结果做了对比。

从画作中生成照片 对于画作→照片,我们发现引入一个额外损失使映射能保持输入输出间的色彩成分是有用的。特别地,在采用了Taigman的技术后,当真实的目标域示例被提供用作生成器的输入,规范化生成器以接近恒等映射。

在不使用Lidentity时,生成器G和F可以在对色调没有要求时自由地改变输入图像的色调。例如,当学习Monet画作和Flickr照片之间的映射时,生成器经常将白天的画作映射到黄昏时拍的照片,因为这样的映射在对抗损失和循环一致性损失上可能同等有效。身份映射损失的影响可以在arXiv论文中找到。

在图9,我们展示了将Monet画作转换为照片的结果,这些图片显示了被包括在训练集中的画作的转换结果,而本文中的其他实验,我们仅仅评估和展示测试集结果。因为训练集不包括成对数据,所以为训练集提供看似合理的转换结果是一项重要的任务。确实,自从Monet不再创作新的画作时,泛化看不到“测试集”的原画作不是一个迫切的问题。

我们展示了我们的方法可以被用来生成景深较浅的图片上。我们在从Flickr下载的花朵照片上训练这个模型。源域由智能手机拍摄的花朵的照片组成,这些照片由于拍摄光圈小通常具有很深的景深。目标照片由具有大光圈的单反相机拍摄得到。我们的模型成功地将智能手机拍摄的照片生成为具有较浅景深的图片。

7 局限与讨论

虽然我们的方法在许多情况下可以取得令人信服的结果,但这些结果并不会一直都这样好。图12中展示了几个典型的失败案例,在涉及颜色和纹理变形的任务上,与上面报告中提到的许多任务一样,我们的方法通常能够成功。我们也探索了要求几何变换的任务,但是收效甚微。例如,在猫→狗转换任务中,对风格转换的学习退化为对输入图像进行最小程度的改变。处理更多和更极端的变换,特别是几何变换,这是未来工作的重点问题。

训练集的分布特征也会导致一些案例失败。例如,图12中马→斑马转换任务就因为我们的模型只在ImageNet训练,而不包括人类骑马或斑马的图片而导致失败。

我们也发现在成对训练数据和非成对训练数据的结果之间存在无法消弭的差距。在一些案例中,这种差距似乎很难甚至不可能消除掉:例如,我们的方法在照片→标签任务的输出中有时会排列树和建筑的标签。要解决这种歧义,可能需要某种形式的弱语义监督。集成的弱监督和半监督数据也许能够形成更强大的转换工具,其成本仍然只是完全监督系统的一小部分。

尽管如此,在多数情况下,使用非成对数据训练依然是可行的,并且我们应该加以利用。在这种“无监督”的情况下,这篇论文拓展了其可能使用的范围。

致谢:感谢Aaron Hertzmann,Shiry Ginosar,Deepak Pathak,Bryan Russell,Eli Shechtman,Richard Zhang和Tinghui Zhou的许多有益的评论。这项工作得到了NSF SMA1514512,NSF IIS-1633310,Google Research Award,Intel Corp以及NVIDIA的硬件捐赠支持。JYZ由Facebook Graduate Fellowship支持,TP由三星奖学金支持。大多数用于风格转移的照片在法国由AE拍摄。


文章作者: Wei Hu
文章链接: https://heyhw.cn
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Wei Hu !
  目录