【论文阅读】Pix2Pix:Image-to-Image Translation with Conditional Adversarial Networks
Generative Adversarial Networks(GANs):基于条件的图像到图像转换
-
Related work
-
- 图像建模的结构化损失
- Conditional GANs
-
对抗框架
-
CGAN
-
- GAN
- CGAN
-
损失函数
-
网络结构
-
- 生成器网络结构
- 判别器网络结构
-
实验结果
-
总结
-
代码实现
-
论文地址
-
数据集下载地址

基于生成对抗网络(GAN)的图像到图像翻译任务(image-to-image translation)具有重要意义。形象地说,这一技术就是指从输入的一张图片出发生成所需另一张图片的过程,在本质上实现了两张图片之间的对应关系(mapping)。值得注意的是,在实际应用中,我们常见的许多操作都属于这一范畴,例如经典的图片修复以及超分辨率重建等过程都是典型的实例。研究者们深入探讨了这一领域中的多个具体案例(如图Figure1所示),其中涵盖了从标签到图片的生成机制、以及如何通过补充边缘信息来提升图片质量等多个方向。
许多图像处理问题的本质是将输入图像转化为对应的目标图像。例如,在应用神经网络模型如CNN进行图像转换时,通常需要根据具体问题设计相应的损失函数以指导模型优化目标参数。一般而言,在这种场景下会采用神经网络模型来进行像素级别的映射关系学习,并通过训练神经网络模型来最小化输入与输出之间的欧氏距离以达到更好的效果预测目标。然而,在实际应用中发现这样的方法往往会导致目标输出结果出现模糊现象。基于此,在GAN框架下提出了统一的方法pix2pix来解决这些问题,并通过 pix2pix 模型实现成对图像间的转换(如将标签图转换为街景图、airscape到地图图、以及昼夜变换等),从而获得更为清晰的结果。
pix2pix采用了生成对抗网络(GAN)技术来进行图像翻译任务的实现,并具体采用的是条件生成对抗网络(cGAN)。这一技术之所以被采用是因为其能够通过引入条件信息来引导图像生成过程。具体而言,在 pix2pix 模型中,输入的参考图像被用作条件变量,并且模型旨在学习如何从这一特定的输入图像推导出相应的输出图像。相比之下,在传统基于GAN的图像翻译方法中,则通常依赖于随机噪声作为生成的基础元素,在缺乏明确指导信息的情况下难以实现对输出结果的有效控制。因此 pix2pix 的这种方法在核心机制上与传统方法存在显著差异
Related work
图像建模的结构化损失
图像间的转换问题通常常见地表现为基于像素的分类和回归方法。考虑到每个输出像素在条件上不依赖于所有其他输入像素的情况下, 这些公式将输出空间视为非结构化特征空间。与之不同的是, 在有条件生成对抗网络中成功地建模了结构性损失。
Conditional GANs
与以往研究相比,在生成器与判别器的架构设计上
对抗框架
基于GAN架构设计的一类模型中有一种叫做Pix2Pix的方法,在开始具体实现前需明确模型的主要组成部分:首先是定义模型的整体功能模块划分以及各模块之间的交互关系。传统的GAN结构中生成器(Generator)通常采用的是一个随机噪声向量作为其输入端,并通过一系列非线性变换来生成高质量的目标域图片;而判别器(Discriminator)则接收来自两个来源的信息:一是由生成器产生的潜在图片样本;另一个则是真实存在的图片样本,并分别对这两类样本进行识别分类。通过这种方式设计后,在训练完成后即可获得高质量的目标域图片。针对现实中的图像转换问题而言,在这种情况下就需要引入一种改进型的设计方案: pix2pix等方法就在此基础上做出了优化与创新——传统的GAN架构在面对单一领域间的映射时存在一定的局限性。而现代改进型如 pix2pix等模型则直接将源域图片作为生成器的第一层输入信号,并通过这种方式实现了跨领域间的精准映射关系建立。值得注意的是这一改进方案的核心思想在于将原始的数据特征直接引入到模型训练过程中从而避免了传统方法中繁琐的人工数据配对过程这一缺陷



整个训练流程可见于图中。在该CGAN模型中,变量x作为必要条件使用,在训练过程中将被分别输入至生成器(Generator)和判别器(Discriminator)。其中生成器(Generator)接收两个输入:原始图像x以及与之对应的噪声z;经过处理后生成的新图像表示为G(x,z)。判别器则需区分来自两个来源的数据样本:即由原始图像x/与之对应的噪声/z/共同作用生成的新图像/G(x,z)/以及仅由原始图像/x/与真实标签/y/组成的样本数据
在输入过程中,图像用y进行表示;而边缘图像则用x进行表示;在这个过程中 pix2pix模型需要处理成对的图象数据(x和y)。其中x被用作生成器G的输入源;需要注意的是,在图中并未显示随机噪声z这一部分;但即使将其与x合并使用也会带来更好的效果。因此生成器G会接收输入x并输出一个生成图象G(x);随后将此生成图象与原始边缘图象x基于通道维度融合在一起;最终将此融合后的特征传递给判别器D进行判断;该过程的结果是一个预测的概率值;该概率值反映了所给定的信息是否是来自真实的数据集;具体而言就是当输入是一对真实图象(包括原始边缘图象及其对应的生成结果)时;判别器应尽可能地判断其为真并给出较高的置信度评分;而当所给定的信息并非来自真实的数据集时则应给出较低的概率评估值以避免误报的发生
CGAN
GAN
模型G与D同步训练:通过保持判别器D不变并优化生成器G的参数来最小化E[\log(1-D(G(z)))];与此同时,在保持生成器G不变的情况下,则通过优化判别器D的参数来最大化E[\log D(X) + \log(1-D(G(z)))]

CGAN
条件生成对抗网络(CGAN)是对原始生成对抗网络(GAN)的一种扩展。其中生成器和判别器均增加了额外的条件信息y。这些附加的信息y可以代表任意类型的信息——例如类别标签或其他数据形式。将这些额外的条件信息y传递给判别器和生成器作为输入的一部分,从而实现了基于条件的生成对抗网络(CGAN)。在生成器中引入了先验噪声p(z)与条件信息y结合形成联合隐层表示。

损失函数
对抗损失:

为了评估条件判别器的作用, 本文进一步比较了无条件变体, 在该变体中判别器的输入变量中排除了x

L1损失:
对于图像翻译任务而言,在GAN模型中生成器G的输入与输出实际上拥有丰富的共性特征。以图像上色任务为例,在这一特定场景下,输入与输出之间不仅共有颜色分布信息,并且还共同包含了细节结构特征。因此为了保证输入图像与输出图像之间的高度一致性,在GAN的目标函数设计中融合L1 loss项能够有效提升生成效果。这使得论文中引入了L1 loss作为生成器G的优化目标:

总的损失函数:

文中就不同损失函数的效果展开了对比研究,在实验结果中可以看出,在针对不同场景下L1 + cGAN模型均展现了超越单一使用L1损失或cGAN能力的优势

网络结构
生成器网络结构

图像间的转换问题的本质特征在于它们将高分辨率输入网格与高分辨率输出网格进行对应关系。然而,在呈现形式各异的情况下,输入与输出却均基于同一基本架构进行绘制。因此导致输入中的结构与输出中的结构基本一致地排列。本文将基于上述分析结果构建生成器体系架构
已有诸多解决方案采用了编码器-解码器架构。
其中信息经过连续的下采样处理至瓶颈层后,并通过反向传播逐步恢复。
这种架构迫使每个层级都参与信息传递。
针对多数图像翻译任务,在输入与输出之间建立密集的低级特征连接。
举例而言,在着色任务中,
本文遵循U-Net典型结构,在其架构中引入跳跃连接。具体而言,在构建过程中,我们会在每对对称的层(即i层与n-i层)之间加入跳跃连接,并且其中总层数为n。每一个这样的跳跃连接仅负责将两组通道进行一一对应地融合。

U-Net是由德国弗莱堡大学模式识别与图像处理研究团队所提出的全卷积神经网络架构。相较于传统采用自上而下Encoder-Decoder架构、先进行采样降维再进行采样升维以重建原始分辨率的网络结构而言,U-Net的独特之处在于引入了跳跃连接机制,即通过将经解码后与原尺寸相同的特征图沿通道融合,从而能够有效保存多尺度下的像素级细节信息。研究表明,U-Net在提升细节表现方面具有显著优势,以下文所提供的实验结果为例,可以看出不同层次的空间信息均得以较好地得以保留

判别器网络结构
大家都知道,在图像生成任务中使用L_2损失和L_1损失会带来模糊的结果表现。然而这些损失无法有效捕捉高频率的细节特性 通常情况下它们依然能够在较低频率的特征提取上展现出良好的效果。针对这一情况 我们无需引入新的框架模型 即使仅在较低频率水平上优化也能显著提升模型性能 而L_1方法已经足以达到这一目标
基于马尔可夫性质的设计机制(PatchGAN)在 pix2pix 模型中起到了关键作用

实验结果





表1展示了不同损失函数在组成效果上的对比情况。本研究针对的是通过分割标签获得图像的任务,在评价过程中,我们采用了FCN算法对生成器产生的合成图像进行语义分割以获得相应的分割图。若合成图像足够逼真,则预测出的分隔线会更贴近真实场景中的分隔线;评估标准主要依据了像素级精确度指标以及IoU(交并比)等常用指标。

Table2是关于不同生成器的效果,主要是encoder-decoder和U-Net的对比。

表3展示了判别器PatchGAN在采用不同尺寸N下的实验结果。其中1\times 11\_{}_{\,}^{ }^{ }^{ }^{ }^{ }^{ }^{ }^{ }^{ }_{\,}^{}表示基于像素级别的真假判定;显然这种判定方式缺乏足够的信息量;而286\times 286\_{}_{\,}^{}则代表了以图像为单位进行的传统判定方法;这种常规做法在实验中表现一般;而中间两行展示了介于上述两种方法之间的PatchGAN效果;从实验结果可以看出这些基于区域划分的方法表现更为优异
总结
cGAN基于图像而非随机向量。
U-Net依赖于skip-connection以共享更多信息。
Pair经由D确保映射。
Patch-D旨在通过减少计算开销提高性能。
L1损失函数确保输入与输出保持一致。
优点:pix2pix巧妙地运用了GAN框架构建了一个Image-to-Image translation问题的通用框架模型。该模型通过U-Net结构来增强细节刻画,并结合PatchGAN处理高频细节信息。缺点:训练过程需要大量成对的数据样本作为输入,尤其是日间与夜间场景转换任务中需收集同一场景的日间与夜间照片作为训练数据。
代码实现
以下是对原文的同义改写
论文地址
基于条件对抗网络的图像到图像翻译研究已发表于《Advances in Neural Information Processing Systems》
数据集下载地址
数据库
