Unpaired Image-to-Image Translation
using Cycle-Consistent Adversarial Networks
Abstract
图像到图像转换是一类视觉和图形问题,其目标是使用一组对齐的图像对来学习输入图像和输出图像之间的映射。 但是,对于许多任务,配对训练数据将不可用。 我们提出了一种在没有配对示例的情况下学习将图像从源域 X 转换到目标域 Y 的方法。 我们的目标是学习一个映射 $G: X \rightarrow Y$使得来自 G(X) 的图像分布与使用对抗性损失的分布 Y 无法区分。因为这个映射是高度欠约束的,所以我们将它与一个逆映射 $F: Y \rightarrow X$结合起来!并引入循环一致性损失来强制执行 $F(G(X))\approx X$(反之亦然)。 在不存在配对训练数据的几个任务上给出了定性结果,包括集合风格迁移、对象变形、季节迁移、照片增强等。与几种先前方法的定量比较证明了我们方法的优越性。
1. Introduction
1873 年一个可爱的春日,克劳德·莫奈将画架放在阿让特伊附近的塞纳河畔时看到了什么(图 1,左上角)? 如果一张彩色照片被发明出来,它可能会记录下清澈的蓝天和反射它的玻璃河。 莫奈通过纤细的笔触和明亮的调色板传达了他对同一场景的印象。
如果莫奈在一个凉爽的夏日傍晚发生在卡西斯的小港口会怎样(图 1,左下角)?在莫奈画作画廊中短暂漫步,可以想象他会如何渲染场景:也许是柔和的色调,突然的油漆,以及有点扁平的动态范围。
尽管从未在莫奈画的场景照片旁边看到莫奈画作的并排示例,但我们可以想象这一切。 取而代之的是,我们对莫奈的那组画作和风景照片的那组有所了解。我们可以质疑两个数据集风格上的区别,从而想象如果我们将一个场景从一个场景“翻译”到另一个场景会是什么样子。
在本文中,我们提出了一种可以学习做同样事情的方法:在没有任何配对训练示例的情况下,捕获一个图像集合的特殊特征并弄清楚这些特征如何转化为另一个图像集合。
这个问题可以更广泛地描述为图像到图像的转换[22],将图像从给定场景的一种表示 x 转换为另一种表示 y,例如,灰度到颜色,图像到语义标签,边缘图到照片。 在计算机视觉、图像处理、计算摄影和图形方面的多年研究已经在监督环境中产生了强大的翻译系统,其中示例图像对
$${x_i, y_i}_{i=1}^N$$可用(图 2,左),例如 [11, 19, 22, 23, 28, 33, 45, 56, 58, 62]。 然而,获得配对训练数据可能既困难又昂贵。 例如,只有几个数据集用于语义分割等任务(例如,[4]),而且它们相对较小。 为艺术风格化等图形任务获取输入-输出对可能更加困难,因为所需的输出非常复杂,通常需要艺术创作。 对于许多任务,例如对象变形(例如,zebra$horse,图 1 中上),所需的输出甚至都没有明确定义。
因此,我们寻求一种无需配对输入输出示例即可学习在域之间进行转换的算法(图 2,右)。 我们假设域之间存在一些潜在的关系——例如,它们是同一底层场景的两个不同渲染——并试图学习这种关系。 尽管我们缺乏配对示例形式的监督,但我们可以在集合级别利用监督:我们在域 X 中得到一组图像,在域 Y 中得到另一组图像。我们可以学习到一种映射:$G: X\rightarrow Y$,输出为 $\hat y=G(x), x\in X$。通过训练将 $\hat y$ 与 y 区分开来的攻击者,无法将其与图像 $y\in Y$区分开来。 理论上,这个目标可以在 $\hat y$ 上产生与经验分布$p_{data}(y)$匹配的输出分布(通常,这要求 G 是随机的)[16]。 因此,最优生成器 G 将域 X 转换为与 Y 相同分布的域 $\hat y$。然而,这样的转换并不能保证单个输入 x 和输出 y 以有意义的方式配对——有无限多的映射 G 会在 $\hat y$ 上产生相同的分布。 此外,在实践中,我们发现很难孤立地优化对抗性目标:标准程序通常会导致众所周知的模式崩溃问题,即所有输入图像都映射到相同的输出图像,并且优化无法取得进展 [15] .
这些问题需要为我们的目标增加更多结构。因此,我们利用了翻译应该是“循环一致”的特性,也就是说,如果我们将一个句子从英语翻译成法语,然后再从法语翻译回英语,我们应该回到原来的句子 [3]。 从数学上讲,如果我们有一个翻译器 $G: X\rightarrow Y$ 和另一个翻译 $F: Y\rightarrow X$则 G 和 F 应该互为逆,并且两个映射都应该是双射。 我们通过同时训练映射 G 和 F 来应用这种结构假设,并添加一个循环一致性损失 [64] 以鼓励 $F(G(x))\approx x$ 和 $G(F(y))\approx y$。 将这种损失与域 X 和 Y 上的对抗性损失相结合,我们就可以实现未配对图像到图像转换的全部目标。
我们将我们的方法应用于广泛的应用,包括收藏风格转移、对象变形、季节转移和照片增强。 我们还与以前的方法进行了比较,这些方法要么依赖于风格和内容的手动定义分解,要么依赖于共享嵌入函数,并表明我们的方法优于这些基线。 我们提供 PyTorch 和 Torch 实现。在我们的网站上查看更多结果。
## 2. Related Work
**Generative Adversarial Networks (GANs) [16, 63]** 在图像生成 [6, 39]、图像编辑 [66] 和表示学习 [39, 43, 37] 方面取得了令人瞩目的成果。 最近的方法在条件图像生成应用中采用了相同的想法,例如 text2image [41]、图像修复 [38] 和未来预测 [36],以及视频 [54] 和 3D 数据 [57] 等其他领域。 GAN 成功的关键在于对抗性损失的想法,它迫使生成的图像在原则上与真实照片无法区分。 这种损失对于图像生成任务特别强大,因为这正是许多计算机图形学旨在优化的目标。我们采用对抗损失来学习映射关系,最后生成的图像和目标域的图像不能被分辨出来。
![image.png](/upload/2022/12/image-d65c0795657a4c3ead582c6cdd9bca37.png)
**Image-to-image Translation** 图像到图像转换的想法至少可以追溯到 Hertzmann 等人的 Image Analogies [19],他们在单个输入输出训练图像对上采用非参数纹理模型 [10] 。最近的方法使用输入输出示例的数据集来学习使用 CNN 的参数翻译函数(例如,[33])。 我们的方法建立在 Isola 等人的“pix2pix”框架之上。 [22],它使用条件生成对抗网络 [16] 来学习从输入到输出图像的映射。 类似的想法已应用于各种任务,例如从草图 [44] 或从属性和语义布局 [25] 生成照片。 然而,与上述先前的工作不同,我们在没有配对训练示例的情况下学习映射。
**Unpaired Image-to-Image Translation** 其他几种方法也解决了不成对设置,其目标是关联两个数据域:X 和 Y。 罗萨莱斯等人。 [42] 提出了一个贝叶斯框架,该框架包括基于从源图像计算的基于补丁的马尔可夫随机场的先验和从多个样式图像获得的似然项。 最近,CoGAN [32] 和跨模态场景网络 [1] 使用权重共享策略来学习跨域的通用表示。 与我们的方法同时,Liu 等人。 [31] 结合变分自动编码器 [27] 和生成对抗网络 [16] 扩展了上述框架。 另一类并发工作 [46, 49, 2] 鼓励输入和输出共享特定的“内容”特征,即使它们在“风格”上可能不同。 这些方法还使用对抗网络,通过附加条款强制输出接近预定义度量空间中的输入,例如类标签空间 [2]、图像像素空间 [46] 和图像特征空间 [49]。
与上述方法不同,我们的公式不依赖于任何特定于任务的,输入和输出之间预定义的相似度函数,我们也不假设输入和输出必须位于相同的低维嵌入空间中。 这使得我们的方法成为许多视觉和图形任务的通用解决方案。 我们在第 5.1 节中直接比较了几种先前和当代的方法。
**Cycle Consistency** 使用传递性作为规范结构化数据的一种方式的想法由来已久。 在视觉跟踪中,强制执行简单的前后一致性是几十年来的标准技巧 [24, 48]。在语言领域,通过“反向翻译和协调”来验证和改进翻译是人类翻译人员 [3](幽默地包括马克吐温 [51])以及机器 [17] 使用的一种技术。 最近,高阶循环一致性已被用于运动结构 [61]、3D 形状匹配 [21]、协同分割 [55]、密集语义对齐 [65、64] 和深度估计 [14]。 其中,周等人。 [64] 和戈达尔等人。 [14] 与我们的工作最相似,因为它们使用循环一致性损失作为使用传递性来监督 CNN 训练的一种方式。 在这项工作中,我们引入了一个类似的损失来推动 G 和 F 彼此一致。 与我们的工作同时,在这些相同的程序中,Yi 等人。 [59] 独立使用类似的目标进行不成对的图像到图像的翻译,灵感来自机器翻译中的双重学习 [17]。
**Neural Style Transfer** [13, 23, 52, 12] 是另一种执行图像到图像转换的方法,它通过基于匹配将一张图像的内容与另一张图像(通常是绘画)的风格相结合来合成新的图像 预训练深度特征的 Gram 矩阵统计。另一方面,我们的主要关注点是通过尝试捕获更高级别的外观结构之间的对应关系来学习两个图像集合之间的映射,而不是两个特定图像之间的映射。 因此,我们的方法可以应用于其他任务,比如油画-> 照片、对象变形等,其中单个样本传输方法不佳,我们在5.2节中比较以上两种方法。
## 3. Formula
我们的目标是学习两个域 X 和 Y 之间的映射函数,给定训练样本 ${x_i}_{i=1}^N$,其中$x_i\in X$,其中${y_j}_{j=1}^M$。我们将数据分布表示为$x_i\sim p_{data}(x)$和 $y\sim p_{data}(y)$。 如图 3 (a) 所示,我们的模型包括两个映射 $G: X\rightarrow Y$和 $F: Y\rightarrow X$ X. 此外,我们引入了两个对抗性鉴别器 $D_X$ 和 $D_Y$,其中 $D_X$旨在区分图像 ${x}$ 和翻译后的图像 $F(y)$; 同样,$D_Y$ 旨在区分 $y$ 和 ${G(x)}$。 我们的目标包含两种类型的术语:对抗性损失 [16],用于将生成的图像的分布与目标域中的数据分布相匹配; 和循环一致性损失,以防止学习到的映射 G 和 F 相互矛盾。
### 3.1 Adversarial Loss
我们将对抗性损失 [16] 应用于两个映射函数。对于映射函数 $G: X\rightarrow Y$ 及其判别器 $D_Y$ ,我们将目标表示为:
$$
\begin{aligned}
\mathcal{L}_{\mathrm{GAN}}\left(G, D_{Y}, X, Y\right) &=\mathbb{E}_{y \sim p_{\text {data }}(y)}\left[\log D_{Y}(y)\right] \\
&+\mathbb{E}_{x \sim p_{\text {data }}(x)}\left[\log \left(1-D_{Y}(G(x))\right],\right.
\end{aligned}
$$
其中 G 尝试生成看起来与来自域 Y 的图像相似的图像 G(x),而 DY 旨在区分翻译样本 G(x) 和真实样本 y。 G 旨在最小化这个目标,对抗试图最大化它的对手 D,即 $\min _{G} \max _{D_{Y}} \mathcal{L}_{\text {GAN }}\left(G, D_{Y}, X, Y\right)$。我们为映射函数 $F: Y\rightarrow X$引入了类似的对抗性损失, 判别器$D_X$也是如此:即 $\min _{F} \max _{D_{X}} \mathcal{L}_{\mathrm{GAN}}\left(F, D_{X}, Y, X\right)$。
### 3.2. Cycle Consistency Loss
![image.png](/upload/2022/12/image-b613ac7f605645f889141654b3fae1c3.png)![image-20221109205405810](C:\Users\Chen Kun\AppData\Roaming\Typora\typora-user-images\image-20221109205405810.png)
理论上,循环一致性损失对抗训练可以学习映射 G 和 F,它们分别产生与目标域 Y 和 X 相同分布的输出(严格来说,这需要 G 和 F 是随机函数)[15]。 然而,如果容量足够大,网络可以将相同的输入图像集映射到目标域中图像的任何随机排列,其中任何学习映射都可以产生与目标分布匹配的输出分布。因此,仅对抗性损失不能保证学习函数可以将单个输入 xi 映射到所需的输出 yi。 进一步减少可能映射函数的空间,我们认为学习到的映射函数必须是循环一致的:正如在图3(b)中所示,对于来自域 X 的每个图像 x,经过一个周期的循环能够把输入x变成原始的输入图像,即$x\rightarrow G(x)\rightarrow F(G(x)) \approx x$。 我们称之为前向循环一致性。 类似地,如图 3 (c) 所示,对于来自域 Y 的每个图像 y,G 和 F 也应该满足后向循环一致性:$y \rightarrow F(y) \rightarrow G(F(y)) \approx y$。我们使用循环一致性损失来表示这些:
$$
\begin{aligned}
\mathcal{L}_{\mathrm{cyc}}(G, F) &=\mathbb{E}_{x \sim p_{\text {data }}(x)}\left[\|F(G(x))-x\|_{1}\right] \\
&+\mathbb{E}_{y \sim p_{\text {data }}(y)}\left[\|G(F(y))-y\|_{1}\right]
\end{aligned}
$$
在初步实验中,我们还尝试用 $F(G(x))$ 和 x 之间以及 $G(F(y))$ 和 y 之间的对抗性损失替换这种损失中的 L1 范数,但没有观察到性能提高。循环一致性损失引起的行为可以在图 4 中观察到:重建图像 $F(G(x))$ 最终与输入图像 x 紧密匹配.
### 3.3 Full Objective
我们整体的目标是:
$$
\begin{aligned}
\mathcal{L}\left(G, F, D_{X}, D_{Y}\right) &=\mathcal{L}_{\mathrm{GAN}}\left(G, D_{Y}, X, Y\right) \\
&+\mathcal{L}_{\mathrm{GAN}}\left(F, D_{X}, Y, X\right) \\
&+\lambda \mathcal{L}_{\mathrm{cyc}}(G, F)
\end{aligned}
$$
其中λ控制两个目标的相对重要性,我们尝试解决:
$$
G^{*}, F^{*}=\arg \min _{G, F} \max _{D_{x}, D_{Y}} \mathcal{L}\left(G, F, D_{X}, D_{Y}\right)
$$
请注意,我们的模型可以被视为训练两个“自编码器”[20]:我们学习了一个自编码器$F\circ G-$与另一个$G\circ F$。 然而,这些自动编码器都有特殊的内部结构:它们通过中间表示将图像映射到自身,中间表示是将图像转换到另一个域。 这种设置也可以看作是“对抗性自动编码器”[34]的一种特殊情况,它使用对抗性损失来训练自动编码器的瓶颈层以匹配任意目标分布。 在我们的例子中,目标分布是$X\rightarrow X$的自编码器,中间域是Y。
在第 5.1.4 节中,我们将我们的方法与完整目标的消融进行比较,包括单独的对抗性损失 $L_{GAN }$ 和单独的循环一致性损失 $L_{cyc}$,并凭经验表明这两个目标在获得高质量结果方面起着关键作用。 我们还评估了我们的方法,仅在一个方向上进行循环损失,并表明单个循环不足以规范这个约束不足问题的训练。
## 4.Implementation
**网络架构** 我们采用Johnson等人的生成网络架构。 [23] 在神经风格迁移和超分辨率方面取得了令人印象深刻的结果。
该网络包含三个卷积、几个残差块 [18]、两个步长为 $\frac{1}{2}$ 的小步长卷积和一个将特征映射到 RGB 的卷积。 我们对$128\times 128$的图像使用 6 个块,对 $256\times 256$和更高分辨率的训练图像使用 9 个块。类似于约翰逊等人。 [23],我们使用实例归一化 [53]。 对于鉴别器网络,我们使用 $70\times 70$的 PatchGAN [22, 30, 29],其目的是对$70\times 70$的重叠图像块是真还是假进行分类。 这种补丁级鉴别器架构比全图像鉴别器具有更少的参数,并且可以以完全卷积的方式处理任意大小的图像[22]。
**训练细节**我们应用了最近工作中的两种技术来稳定我们的模型训练过程。 首先,对于 $\mathcal{L}_{GAN}$(等式 1),我们用最小二乘损失代替负对数似然目标 [35]。 这种损失在训练期间更稳定,并产生更高质量的结果。 特别是,对于 GAN 损失 $\mathcal{L}_{GAN}(G,D,X,Y)$,我们训练 G 以最小化 $\mathbb{E}_{x \sim p_{\text {data}}(x)}\left[(D(G(x))-1)^{2}\right]$ 并训练 D 以最小化 $\mathbb{E}_{y \sim p_{\text {data}}(y)}\left[(D(G(y))-1)^{2}\right]+\mathbb{E}_{x\sim p_{data}(x)}[D(G(x))^2$。
其次,为了减少模型振荡 [15],我们遵循 Shrivastava 等人的策略 [46] 并使用生成图像的历史而不是最新生成器生成的图像来更新鉴别器。 我们保留一个图像缓冲区来存储 50 个先前创建的图像。
对于所有实验,我们在公式 3 中设置 $\lambda=10$。我们使用批量大小为 1 的 Adam 求解器 [26]。所有网络都是从零开始训练的,学习率为 0.0002。 我们在前 100 个 epoch 中保持相同的学习率,并在接下来的 100 个 epoch 中线性衰减到零。 有关数据集、架构和训练过程的更多详细信息,请参阅附录(第 7 节)。
## 5. Results
我们首先将我们的方法与最近在配对数据集上进行非配对图像到图像转换的方法进行比较,在这些方法中,地面实况输入-输出对可用于评估。然后我们研究对抗性损失和循环一致性损失的重要性,并将我们的完整方法与几个变体进行比较。 最后,我们展示了我们的算法在不存在配对数据的广泛应用中的通用性。 为简洁起见,我们将我们的方法称为 CycleGAN。 PyTorch 和 Torch 代码、模型和完整结果可以在我们的网站上找到。
### 5.1 Evaluation
使用与“pix2pix”[22]相同的评估数据集和指标,我们将我们的方法与几个基线进行定性和定量比较。 这些任务包括 Cityscapes 数据集 [4] 上的语义标签$\leftrightarrow$ $photo,以及从 Google Maps 抓取的数据上的 map$ $\leftrightarrow$aerial photo。我们还对完整的损失函数进行消融研究。
#### 5.1.1 Evaluation Metrics
**AMT 感知研究** 在地图$\leftrightarrow$航拍任务中,我们在 Amazon Mechanical Turk (AMT) 上运行“真假”感知研究来评估我们输出的真实性。
我们遵循与 Isola 等人相同的感知研究方案。 [22],除了我们测试的每个算法只收集 25 名参与者的数据。 向参与者展示了一系列成对的图像,一个是真实的照片或地图,一个是假的(由我们的算法或基线生成),并要求他们点击他们认为是真实的图像。 每个会话的前 10 次试验是练习,并就参与者的反应是否正确或不正确给出反馈。 其余 40 次试验用于评估每种算法愚弄参与者的速度。 每个环节只测试一个算法,参与者只能完成一个环节。我们在此处报告的数字与 [22] 中的数字无法直接比较,因为我们的地面实况图像的处理方式略有不同,我们测试的参与者池可能与[22]会有所不同(由于在不同的日期和时间运行实验)。 因此,我们的数字只能用于将我们当前的方法与基线(在相同条件下运行)进行比较,而不是与 [22] 进行比较。
![image.png](/upload/2022/12/image-feb72171df844af18c3217ab976edfc7.png)
**FCN 分数**虽然感知研究可能是评估图形真实性的黄金标准,但我们也寻求一种不需要人体实验的自动定量测量。 为此,我们采用 [22] 中的“FCN 分数”,并用它来评估 Cityscapes label!photo 任务。FCN 度量根据现成的语义分割算法(全卷积网络,FCN,来自 [33])评估生成的照片的可解释性。 FCN 预测生成照片的标签图。)标签图可以用下面所示的标准的语义分割技巧来和真实的标签比较。直觉是,如果我们从“car on the road”的标签图生成一张照片,那么如果应用于生成的照片的 FCN 检测到“car on the road”,我们就成功了。
语义分割指标 为了评估 photo!labels 的性能,我们使用来自 Cityscapes 基准 [4] 的标准指标,包括每像素准确度、每类准确度和平均类 Intersection-Over-Union (Class IOU)
#### 5.1.2 Baseline
**CoGAN** [32] 该方法学习一个用于域 X 的 GAN 生成器和一个用于域 Y 的 GAN 生成器,在前几层上具有绑定权重以用于共享潜在表示。 从 X 到 Y 的转换可以通过找到生成图像 X 的潜在表示,然后将该潜在表示渲染为样式 Y 来实现。
**SimGAN** [46] 与我们的方法一样,Shrivastava 等人 [46] 使用对抗性损失来训练从 X 到 Y 的翻译。
![image.png](/upload/2022/12/image-7f71bf7e16d54b08a2a463c0fc7f512f.png)
正则化项$\|x-G(x\|_1$ 用于惩罚在像素级别进行大的更改。
**Feature loss + GAN** 我们还测试了 SimGAN [46] 的一个变体,其中 L1 损失是使用预训练网络 (VGG-16 relu4 2 [47]) 在深度图像特征上计算的,而不是在 RGB 像素值上计算。 像这样计算深度特征空间中的距离有时也被称为使用“感知损失”[8, 23]。
**BiGAN/ALI** [9, 7] 无条件 GAN [16] 学习生成器$G:Z\rightarrow X$,将随机噪声 z 映射到图像 x。 BiGAN [9] 和 ALI [7] 建议也学习逆映射函数 $F: X\rightarrow Z$。虽然它们最初是为将潜在向量 z 映射到图像 x 而设计的,但我们实现了将源图像 x 映射到目标图像 y 的相同目标。
**pix2pix** [22] 我们还与在配对数据上训练的 pix2pix [22] 进行比较,以了解在不使用任何配对数据的情况下我们可以多接近这个“上限”。
为了公平比较,我们使用与我们的方法相同的架构和细节来实现所有基线,除了 CoGAN [32]。 CoGAN 建立在生成器之上,这些生成器从共享的潜在表示中生成图像,这与我们的图像到图像网络不兼容。 我们改用 CoGAN 的公共实现。
#### 5.1.3 Comparison against baselines
如图 5 和图 6 所示,我们无法使用任何基线获得令人信服的结果。我们的方法,另一方面,它可以产生通常与完全监督的 pix2pix 质量相似的转换。
表 1 报告了 AMT 感知现实主义任务的性能。 在这里,我们看到我们的方法可以在大约四分之一的试验中欺骗参与者,无论是在地图!航拍照片方向和航拍照片!地图方向,分辨率为 256 256 3。 所有的基线几乎都没有骗过参与者。
表 2 评估了标签!照片任务在 Cityscapes 上的性能,表 3 评估了相反的映射(照片!标签)。 在这两种情况下,我们的方法再次优于基线。
#### 5.1.4 Analysis of the loss function
在表 4 和表 5 中,我们与完全损失的消融进行了比较。 消除 GAN 损失会大大降低结果,消除循环一致性损失也是如此。 因此,我们得出结论,这两个术语对我们的结果都至关重要。 我们还评估了仅在一个方向上循环损失的方法:GAN + 前向循环损失 ,
![image-20221109214045813](C:\Users\Chen Kun\AppData\Roaming\Typora\typora-user-images\image-20221109214045813.png)
或 GAN + 后向循环损失
![image-20221109214140474](C:\Users\Chen Kun\AppData\Roaming\Typora\typora-user-images\image-20221109214140474.png)
并发现它经常导致训练不稳定并导致模式崩溃,特别是对于被删除的映射方向。图 7 显示了几个定性示例。
#### 5.1.5 Image reconstruction quality
在图 4 中,我们展示了重建图像 F(G(x)) 的一些随机样本。 我们观察到,在训练和测试时,重建图像通常接近原始输入 x,即使在一个域代表更多不同信息的情况下,例如map $\leftrightarrow $ aerial photos。
![image.png](/upload/2022/12/image-2059d7de3c954936b2762d724073ade4.png)
#### 5.1.6 Additional results on paired datasets
图 8 显示了“pix2pix”[22] 中使用的其他配对数据集的一些示例结果,例如来自 CMP Facade 数据库 [40] 的建筑标签 $\leftrightarrow photos 和来自 UT Zappos50K 的 edge\leftrightarrow$shoes 数据集[60]。 我们的结果的图像质量接近完全监督的 pix2pix 产生的图像质量,而我们的方法在没有配对监督的情况下学习映射。
### 5.2. Applications
我们在几个不存在配对训练数据的应用上演示了我们的方法。 有关数据集的更多详细信息,请参阅附录(第 7 节)。我们观察到,训练数据的翻译通常比测试数据的翻译更具吸引力,所有应用程序在训练和测试数据上的完整结果都可以在我们的项目网站上查看。
**收藏风格迁移**(图 10 和图 11) 我们在从 Flickr 和 WikiArt 下载的风景照片上训练模型。 与最近关于“神经风格迁移”[13] 的工作不同,我们的方法学习模仿整个艺术品收藏的风格,而不是转移单个选定艺术品的风格。 因此,我们可以学习以例如梵高的风格生成照片,而不仅仅是星夜的风格。 塞尚、莫奈、梵高和浮世绘的每个艺术家/风格的数据集大小为 526、1073、400 和 563。
**对象变形**(图 13) 该模型经过训练,可以将一个对象类从 ImageNet [5] 转换为另一个对象类(每个类包含大约 1000 个训练图像)。Turmukhambetov 等人。 [50] 提出了一种子空间模型,将一个对象转换为同一类别的另一个对象,而我们的方法侧重于两个视觉相似类别之间的对象变形。
**季节转移**(图 13) 该模型使用从 Flickr 下载的 Yosemite 的 854 张冬季照片和 1273 张夏季照片进行训练。
**从绘画中生成照片**(图 12) 对于绘画!照片,我们发现引入额外的损失来鼓励映射以保持输入和输出之间的颜色组合是有帮助的。 特别是,我们采用了 Taigman 等人的技术。 [49] 当目标域的真实样本作为生成器的输入时,将生成器正则化为接近恒等映射:即
![image.png](/upload/2022/12/image-9f3f68e852384049bd99692435ef7b72.png)
如果没有 Lidentity,生成器 G 和 F 可以在不需要时随意更改输入图像的色调。例如,在学习莫奈画作和 Flickr 照片之间的映射时,生成器经常将白天的绘画映射到日落时拍摄的照片,因为这样的映射在对抗性损失和循环一致性损失下可能同样有效。 这种身份映射损失的影响如图 9 所示。
在图 12 中,我们展示了将莫奈的画作转换为照片的其他结果。 该图和图 9 显示了包含在训练集中的绘画的结果,而对于本文中的所有其他实验,我们仅评估和显示测试集的结果。 因为训练集不包含配对数据,所以为训练集绘画提出合理的翻译是一项艰巨的任务。
事实上,由于莫奈不再能够创作新画作,将其推广到看不见的“测试集”,绘画就不是一个紧迫的问题。
**照片增强**(图 14) 我们表明,我们的方法可用于生成景深较浅的照片。 我们在从 Flickr 下载的花卉照片上训练模型。 源域由智能手机拍摄的花卉照片组成,由于光圈小,这些照片通常具有较深的景深。 目标包含由具有更大光圈的数码单反相机拍摄的照片。 我们的模型成功地从智能手机拍摄的照片中生成了景深较浅的照片。
**与 Gatys 等人的比较**。 [13] 在图 15 中,我们将我们的结果与照片风格化的神经风格迁移 [13] 进行了比较。 对于每一行,我们首先使用两个具有代表性的艺术品作为 [13] 的风格图像。 另一方面,我们的方法可以生成整个系列风格的照片。为了与整个集合的神经风格迁移进行比较,我们计算了整个目标域的平均 Gram 矩阵,并使用该矩阵与 Gatys 等人 [13] 一起迁移“平均风格”。
图 16 展示了其他翻译任务的类似比较。 我们观察到 Gatys 等人。 [13] 需要找到与所需输出非常匹配的目标样式图像,但仍然经常无法产生逼真的结果,而我们的方法成功地生成了与目标域类似的自然外观的结果。
## 6. Limitation and Discussion
虽然我们的方法在很多情况下都能取得令人信服的结果,但结果远非一致的积极。 图 17 显示了几个典型的故障案例。 在涉及颜色和纹理变化的翻译任务中,正如上面所报道的那样,该方法通常会成功。 我们还探索了需要几何变化的任务,但收效甚微。 例如,在 dog!cat 变形任务中,学习到的翻译退化为对输入进行最小的更改(图 17)。 此故障可能是由我们的生成器架构引起的,该架构针对外观变化的良好性能而量身定制。 处理更多变化和极端的变换,尤其是几何变化,是未来工作的一个重要问题。
一些失败案例是由训练数据集的分布特征引起的。 例如,我们的方法在马中混淆了! zebra 示例(图 17,右),因为我们的模型是在 ImageNet 的野马和斑马同义词集上训练的,其中不包含骑马或斑马的人的图像。
我们还观察到配对训练数据可实现的结果与我们的非配对方法实现的结果之间存在着挥之不去的差距。 在某些情况下,这种差距可能很难——甚至不可能——缩小:例如,我们的方法有时会置换树的标签并在照片的输出中构建标签!标签任务。 解决这种歧义可能需要某种形式的弱语义监督。集成弱或半监督数据可能会导致翻译器功能更强大,但仍只是全监督系统注释成本的一小部分。
尽管如此,在许多情况下,完全不成对的数据是大量可用的,应该加以利用。 本文突破了在这种“无监督”环境中可能发生的事情的界限。
**致谢**:我们感谢 Aaron Hertzmann、Shiry Ginosar、Deepak Pathak、Bryan Russell、Eli Shechtman、Richard Zhang 和 Tinghui Zhou 的许多有益评论。这项工作得到了 NSF SMA1514512、NSF IIS-1633310、谷歌研究奖、英特尔公司和 NVIDIA 的硬件捐赠的部分支持。 JYZ 得到 Facebook 研究生奖学金的支持,TP 得到三星奖学金的支持。 用于风格转换的照片由 AE 拍摄,大部分在法国