Image-to-Image Translation with Conditional Adversarial Networks
Phillip Isola
Jun-Yan Zhu
Tinghui Zhou
Alexei A. Efros
Berkeley Al Research (BAIR) Laboratory
University of California, Berkeley
{isola,junyanz,tinghuiz,efros}@eecs.berkeley.edu
arXiv:1611.07004v1 [cs.CV] 21 Nov 2016
Labels to Street Scene
Figure 1: Many problems in image processing, graphics, and vision involve translating an input image into a corresponding output image. These problems are often treated with application-specific algorithms, even though the setting is always the same: map pixels to pixels. Conditional adversarial nets are a general-purpose solution that appears to work well on a wide variety of these problems. Here we show results of the method on several. In each case we use the same architecture and objective, and simply train on different data.
Labels to Facade
BW to Color
input
output
input
output
- Related work
Structured losses for image modeling Image-to-image translation problems are often formulated as per-pixel classification or regression [26, 42, 17, 23, 46]. These formulations treat the output space as “unstructured' in the sense that each output pixel is considered conditionally independent from all others given the input image. Conditional GANs instead learn a structured loss. Structured losses penalize the joint configuration of the output. A large body of literature has considered losses of this kind, with popular methods including conditional random fields [2], the SSIM metric [40], feature matching [6], nonparametric losses [24], the convolutional pseudo-prior [41], and losses based on matching covariance statistics [19]. Our conditional GAN is different in that the loss is learned, and can, in theory, penalize any possible structure that differs between output and target.
Conditional GANs We are not the first to apply GANs in the conditional setting. Previous works have conditioned GANs on discrete labels [28], text [32], and, indeed, images. The image-conditional models have tackled inpainting [29], image
prediction from a normal map [39], image manipulation guided by user constraints [49], future frame prediction [27], future state prediction [48], product photo generation [43], and style transfer [25]. Each of these methods was tailored for a specific application. Our framework differs in that nothing is application-specific. This makes our setup considerably simpler than most others.
Our method also differs from these prior works in several architectural choices for the generator and discriminator. Unlike past work, for our generator we use a “U-Net'- based architecture [34], and for our discriminator we use a convolutional “PatchGAN' classifier, which only penalizes structure at the scale of image patches. A similar Patch- GAN architecture was previously proposed in [25], for the purpose of capturing local style statistics. Here we show that this approach is effective on a wider range of problems, and we investigate the effect of changing the patch size.
- Method
GANs are generative models that learn a mapping from random noise vector z to output image y: G : z t y [14]. In contrast, conditional GANs learn a mapping from observed image x and random noise vector z, to y: G : (x, z} t y. The generator G is trained to produce outputs that cannot be distinguished from “real' images by an ad- versarially trained discrimintor, D, which is trained to do as well as possible at detecting the generators “fakes'. This training procedure is diagrammed in Figure 2.
-
- Objective
The objective of a conditional GAN can be expressed as
(x,y) [log D(x,y)]
Ex~Pdat a(X),Z 〜Pz (z) [lOg(1 - D(X, G(X, z))], (1)
G tries to synthesize fake images that fool D
Positive examples
Negative examples
Encoder-decoder
T
U-Net
D tries to identify the fakes where G tries to minimize this objective against an adversarial D that tries to maximize it, i.e. G* = argminG maxD CcGAN{G. D).
Real or fake pair?
Figure 2: Training a conditional GAN to predict aerial photos from maps. The discriminator, D, learns to classify between real and synthesized pairs. The generator learns to fool the discriminator. Unlike an unconditional GAN, both the generator and discriminator observe an input image
To test the importan we also compare to an
剩余内容已隐藏,支付完成后下载完整资料
使用条件对抗性网络进行图像到图像的翻译
菲利普·伊索拉
Jun-Yan朱
Tinghui周
阿列克谢。埃弗
加州大学伯克利分校的实验室
{伊索拉,junyanz, tinghuiz,埃}@eecs.berkeley.edu
arXiv: 1611。07004 v1 [cs。2016年11月21日
街景标签
图1:图像处理、图形和视觉方面的许多问题涉及到将输入图像转换为相应的输出图像。这些问题通常用特定于应用程序的算法来处理,即使设置总是相同的:将像素映射到像素。条件对抗网是一种通用的解决方案,它似乎可以很好地解决各种各样的问题。这里我们展示了几种方法的结果。在每种情况下,我们都使用相同的体系结构和目标,只是对不同的数据进行训练。
标签外观
BW颜色
输入
输出
输入
输出
摘要
我们研究条件对抗性网络作为图像到图像翻译问题的通用解决方案。这些网络不仅学习输入图像到输出图像的映射,而且还学习一个损失函数来训练这种映射。这使得对传统上需要非常不同的损失公式的问题应用相同的通用方法成为可能。我们演示了该方法在从标签映射合成照片、从边缘映射重构对象和给图像着色等任务中是有效的。作为一个社区,我们不再手工设计我们的地图功能,这项工作表明,我们可以获得合理的结果,而无需手工设计我们的损失功能。
图像处理、计算机图形学和计算机视觉中的许多问题都可以归结为将输入图像“翻译”成相应的输出图像。作为一个概念
可以用英语或法语表达,一个场景可以是
渲染为RGB图像、梯度场、边缘图、语义标签图等。与自动语言翻译类似,我们将自动图像到图像的翻译定义为:给定足够的训练数据,将场景的一种可能表示形式转换为另一种可能表示形式(参见图1)。语言翻译困难的一个原因是语言之间的映射很少是一对一的——任何给定的概念在一种语言中都比另一种语言更容易表达。类似地,大多数图像到图像的翻译问题要么是多对一(计算机视觉)——将照片映射到边缘、片段或语义标签,要么是一对多(计算机图形学)——将标签或稀疏的用户输入映射到真实的图像。传统上,每一项任务都由单独的专用机器来处理(如,[7, 15, 11, 1, 3, 37, 21, 26, 9, 42, 46]),尽管设置总是相同的:从像素预测像素。本文的目标是为所有这些问题开发一个通用的框架。
随着卷积神经网络(CNNs)成为各种图像预测问题背后的常用工具,科学界已经在这个方向上迈出了重要的一步。CNNs学会了最小化损失函数——一个对结果质量进行评分的目标——尽管学习过程是自动的,但仍然需要大量的手工工作来设计有效的损失。换句话说,我们仍然需要告诉CNN我们希望它最小化什么。但是,就像迈达斯一样,我们必须小心我们的愿望!如果我们采用一种幼稚的方法,让CNN最小化预测值与地面真实像素之间的欧式距离,往往会产生模糊的结果[29,46]。这是因为欧氏距离通过对所有似是而非的输出进行平均来最小化,从而导致模糊。提出损失函数,迫使CNN做我们真正想做的事情。,输出清晰,逼真的图像-是一个开放的问题,一般需要专家知识。
如果我们可以只指定一个高级目标,比如“使输出与现实难以区分”,然后自动学习一个适合于满足这个目标的损失函数,那将是非常理想的。幸运的是,这正是最近提出的生成式对抗网络(GANs)所做的事情[14、5、30、36、47]。GANs学习一个试图分类输出图像是真还是假的损失,同时训练一个生成模型来最小化这种损失。模糊的图像是不能容忍的,因为它们看起来明显是假的。因为GANs可以学习适应数据的损失,所以它们可以应用于大量任务,而这些任务通常需要非常不同类型的损失函数。
在本文中,我们探讨了条件设置中的甘斯。正如GANs学习数据的生成模型一样,条件GANs (cGANs)学习条件生成模型[14]。这使得cGANs适合于图像到图像的转换任务,在这种任务中,我们对输入图像进行条件设置并生成相应的输出图像。
在过去的两年中,GANs得到了广泛的研究,我们在本文中探索的许多技术都已经被提出。尽管如此,早期的论文都集中在特定的应用上,目前还不清楚图像条件GANs作为图像到图像转换的通用解决方案的效果如何。我们的主要贡献是证明在各种各样的问题上,条件广义系统产生合理的结果。我们的第二个贡献是提供一个简单的框架,它足以实现良好的结果,并分析几个重要的体系结构选择的影响。代码可以在https://github.com/phillipi/pix2pix找到。
- 相关工作
图像到图像的平移问题的结构化损失通常表示为逐像素分类或回归[26,42,17,23,46]。这些公式将输出空间视为“非结构化的”,因为每个输出像素都被认为有条件地独立于给定输入图像的所有其他像素。有条件的甘斯反而学会了结构性的损失。结构性损失会影响产量的联合配置。大量文献考虑了这类损失,常用的方法有条件随机域[2]、SSIM度量[40]、特征匹配[6]、非参数损失[24]、卷积伪先验[41]、基于匹配协方差统计[19]的损失。我们的“有条件的甘”是不同的,因为损失是习得的,在理论上,它可以惩罚任何可能存在于产出和目标之间的结构差异。
我们不是第一个在条件设置中应用GANs的人。以前的作品将GANs限定在离散标签[28]、文本[32],甚至是图像上。图像条件模型解决了绘制[29]、从法线贴图[39]进行图像预测、由用户约束引导的图像处理[49]、未来帧预测[27]、未来状态预测[48]、产品照片生成[43]和风格转换[25]。这些方法都是为特定的应用程序定制的。我们的框架的不同之处在于没有什么是特定于应用程序的。这使得我们的设置比大多数其他设置简单得多。
我们的方法在生成器和鉴别器的几个架构选择上也不同于这些先前的工作。与过去的工作不同,我们的生成器使用基于“U-Net”的架构[34],而我们的鉴别器使用卷积的“PatchGAN”分类器,它只在图像块的尺度上惩罚结构。类似的Patch- GAN架构以前在[25]中被提出过,目的是捕获本地风格的统计信息。在这里,我们证明了这种方法在更大范围的问题上是有效的,并且我们调查了改变补丁大小的影响。
- 方法
GANs是生成模型,学习从随机噪声向量z到输出图像y: G: z t y[14]的映射。相比之下,条件GANs从观察到的图像x和随机噪声向量z中学习到y: G: (x, z} t y的映射。经过专门训练的鉴别器D (D)对发电机G进行训练,使其产生的输出与“真实”图像无法区分,D (D)经过专门训练,能够尽可能地识别发电机的“赝品”。这个训练过程如图2所示。
-
- 客观的
条件GAN的目标可以表示为
(x,y) [log D(x,y)]
Ex~Pdat a(X),Z ~ Pz (Z) - (, (,)), (1)[lOg(1DXGXz]
G试图合成欺骗D的假图像
正面例子
负面的例子
Encoder-decoder
T
U-Net
D试图识别G试图最小化目标的赝品,而与之相对的是D试图最大化目标的赝品。G* = argmin max C{G。GDcGAND)。
一对是真的还是假的?
图2:训练一个有条件的GAN来预测地图上的航空照片。鉴别器D学会区分真实的和合成的对。发生器学会欺骗鉴别器。与无条件GAN不同,生成器和鉴别器都观察输入图像
为了检验这个重要性,我们也把它比作一个不加鉴别的鉴别器
L GANdata [logP (y)] (y)
Ex~Pdat a(X),Z ~ Pz (Z) [l°(l -(,)]。gDGXZ
(2)
以前的条件甘斯方法已经发现将甘斯目标与更传统的损失(如L2距离[29])混合是有益的。鉴别器的工作保持不变,但发生器的任务不仅是欺骗鉴别器,而且要在L2意义下接近地面真值输出。我们也探索这个选项,使用L1距离而不是L2,因为L1可以减少模糊:
LL1 = x,y^pdata(x,y),z^p (z) [|| -, II 1]。(G)EzyG(xz)(3)
我们的最终目标是
G* = arg min max L。gan (G, D) XCli(G) (4)
没有z,网络仍然可以学习从x到y的映射,但是会产生确定的输出,因此无法匹配除delta函数以外的任何分布。过去的条件甘斯已经承认了这一点,并提供了高斯噪声z作为输入的发电机,除了x(例如。[39])。在最初的实验中,我们没有发现图3:生成器架构的两种选择。“U-Net”[34]是一种编码器-解码器,在编码器和解码器堆栈的镜像层之间有跳跃连接。
这种策略是有效的——发电机只是学会了忽略噪音——这与Mathieu等人是一致的。[27]。相反,对于我们最终的模型,我们只提供了噪声的形式,在训练和测试时应用在我们的生成器的几个层上。尽管有漏出噪声,我们观察到我们的网的输出有非常小的随机性。设计产生随机输出的条件广义系统,从而捕获它们所模拟的条件分布的全部熵,是目前工作中遗留的一个重要问题。
-
- 网络体系结构
我们从[30]中调整我们的生成器和鉴别器架构。生成器和鉴别器都使用表单convolu- batchnorm - relu[18]的模块。体系结构的细节在附录中提供,关键特性在下面讨论。
2.2。带跳线的发电机1台
图像到图像转换问题的一个定义特征是,它们将一个高分辨率的输入网格映射到一个高分辨率的输出网格。此外,对于我们考虑的问题,输入和输出在表面外观上是不同的,但它们都是相同底层结构的渲染图。因此,输入中的结构与输出中的结构大致一致。我们根据这些考虑来设计生成器架构。
在此领域之前的许多解决方案[29,39,19,48,43]都使用了编解码器网络[16]。在这样的网络中,输入通过一系列逐步向下采样的层,直到瓶颈层,在瓶颈层,这个过程被逆转(图3)。这样的网络需要所有的信息流通过所有的层,包括瓶颈。对于许多图像翻译问题,在输入和输出之间有大量的低级信息共享,最好是将这些信息直接传送到网络上。例如,在图像着色的情况下,输入和输出共享突出边缘的位置。
为了给生成器提供一种方法来绕过这类信息的瓶颈,我们按照“U-Net”[34]的一般形状添加了skip连接(图3)。具体来说,我们在每个层i和层n - i之间添加跳过连接,其中n是层的总数。每个跳过连接只是连接所有的通道在层i和那些在层n - i。
2.2。2 .马柯维甄别器(补丁)
众所周知,L2损失-和L1,见图4 -在图像生成问题[22]上产生模糊的结果。虽然这些损失不能鼓励高频脆,在许多情况下,他们仍然准确地捕捉低频。对于这种情况下的问题,我们不需要一个全新的框架来确保低频的正确性。L1已经可以了。
这就促使GAN鉴别器只对高频结构进行建模,依靠L1项来迫使低频正确性(Eqn)。资料编号:[606762],资料为PDF文档或Word文档,PDF文档可免费转换为Word
您可能感兴趣的文章
- 饮用水微生物群:一个全面的时空研究,以监测巴黎供水系统的水质外文翻译资料
- 步进电机控制和摩擦模型对复杂机械系统精确定位的影响外文翻译资料
- 具有温湿度控制的开式阴极PEM燃料电池性能的提升外文翻译资料
- 警报定时系统对驾驶员行为的影响:调查驾驶员信任的差异以及根据警报定时对警报的响应外文翻译资料
- 门禁系统的零知识认证解决方案外文翻译资料
- 车辆废气及室外环境中悬浮微粒中有机磷的含量—-个案研究外文翻译资料
- ZigBee协议对城市风力涡轮机的无线监控: 支持应用软件和传感器模块外文翻译资料
- ZigBee系统在医疗保健中提供位置信息和传感器数据传输的方案外文翻译资料
- 基于PLC的模糊控制器在污水处理系统中的应用外文翻译资料
- 光伏并联最大功率点跟踪系统独立应用程序外文翻译资料
