基于条件生成对抗网络的高分辨率图像合成及语义处理
论文名称:High-Resolution Image Synthesis and Semantic Manipulation with Conditional GANs
我们提出了一个从语义标签图中利用条件生成对抗网络(conditional GANs)来合成高分辨率逼真的照片图像的方法。条件生成对抗网络能够有很多的应用,但是其结果总局限于低分辨率并且距离“真实”还很遥远。在本文中,我们利用一种最新的生成损失adversarial loss生成了一幅2048x1024的的视觉吸引人的结果。并且也利用到了一个最新的多尺度生成器-判别器结构。而且,我们扩大了我们的框架来利用两个附加的特征来进行交互式的视觉操作。首先,我们纳入了目标实例分割信息,使得如移除/添加目标并且改变目标的种类成为可能。第二,我们提出了一种在相同输入下生成双向结果的方法,允许用户交互式地编辑对象外观,人类意见研究表明,我们的方法显著超越了现有方法,提升了质量以及深度图像合成和编辑的分辨率。
为了真实的模拟图形、材质和光照,因此使用标准的图形学理论来对逼真的照片图像进行渲染。尽管现有的图形算法在任务上表现优异,但是构建和编辑视觉环境是非常昂贵且耗时的,因为我们必须清晰的建模世界的每一方面。如果我们能够使用从数据中学习到的模型来渲染逼真的照片图像,我们就能将图形渲染的过程赚到模型学习和推理问题。然后,我们能够通过在新的数据集上训练模型来简化创造新视觉世界的过程。我们甚至能够通过允许用户简单的指定总体语义结构而不是对图形、材质、光照进行建模来更加容易的定制化环境。
本文,我们讨论了一个新的方法,从语义标签图中生成高分辨率图像。这个方法有着广泛的应用场景。比如,我们可以使用其来创造合成训练数据来训练视觉识别任务,因为为期望的场景创造语义标签比生成训练图像要容易得多。使用语义分割方法,我们能够将图像变成一个语义标签域,在标签域中编辑目标,然后再转回图像域。这个方法也给我们提供了一个对高级图像编辑的新工具,例如,在图像中增加目标或者改变现有目标的外观。
为了从语义标签合成图像,能够使用pix2pix方法,一个图像到图像的转换框架“Image- to-image translation with conditional adversarial networks.-2017 CVPR”,其在一个条件设置下利用生成对抗网络。最近,“Photographic image synthesis with cascaded refinement networks-2017 ICCV”提出生成式训练对于高分辨率图像生成任务来说,可能是不稳定且容易失败的,相反,他们采用一种改进式的感知损失perceptual loss“Generating images with perceptual similarity metrics based on deep networks.- 2016 NIPS”,“Image style transfer using convolutional neural networks-2016 CVPR”,“Perceptual losses for real-time style transfer and super-resolution”来合成高分辨率图像,但是往往缺失精细的细节和真实的纹理。
这里我们针对上述先进方法的两个主要问题:
(1)利用GAN的生成高分辨率图像非常困难。
(2)在先前的高分辨率结果中,缺失了细节和真实的纹理。
通过一个新的、鲁棒的对抗学习目标结合一个新的多尺度生成器-判别器结构,我们能够生成2048x1024分辨率的逼真照片图像,其相较于先前方法在视觉上更具有吸引力。我们首先只利用对抗训练来获得我们的结果,没有依赖任何人工设计的losses”Nonlinear total variation based noise removal algorithms 1992”或者预训练网络来获得perceptual losses。然后我们展示了从预训练网络(如果预训练网络可用)中增加percaptual losses能够稍微在一些情况下提升结果。上述结果就图像质量而言都大体上优于先前的工作。
而且,为了支持交互地语义处理,我们在两个方向上扩展了我们的方法。首先,我们使用图像级别的目标分割信息,这能在同一个类别中分出不同的目标实例。这使得对于对象的操作更加灵活,如添加或者移除对象并且改变对象类别。第二,我们提出了对于同一个输入标签图生成不同的结果的方法,允许用户来编辑相同对象的外观。
我们与现有最新的视觉合成系统进行了比较(上述两篇2017CVPR)。就质量评估和人类感知方面来看,我们的方法优于这些方法。我们也执行了关于训练目标和实例级图像分割信息的重要性的对照研究。除了分割处理,我们在edge2photo的应用上也做了测试,显示了我们方法的泛化能力,代码和数据都在“https://tcwang0509.github.io/pix2pixHD/”。
生成对抗网络 生成对抗网络旨在通过强制生成样本和自然图像不同来对自然图像的分布进行建模,GAN有着广泛的应用,如图像生成,表示学习,图像处理“Generative visual manipulation on the natural image manifold.”,目标检测“Perceptual generative adversarial networks for small object detection 2017 CVPR”和视频应用“Deep multi-scale video prediction beyond mean square error.”、“Moco-gan: Decomposing motion and content for video generation.”、“Generating videos with scene dynamics”,各种由粗到细的方案“The Laplacian pyramid as a compact image code 1983”也被提出“Deep generative image models using a Laplacian pyramid of adversarial networks. 2015 NIPS”、“Stacked generative adversarial networks 2017 CVPR”、“Progressive growing of gans for improved quality, stability,
and variation.”、“StackGAN: Text to photo-realistic image synthesis with stacked generative adversarial networks CVPR 2017”来生成更大的图片(256x256)(用一个非条件性的设置),受到他们的成功的启发,我们提出了一个新的由粗到细的生成器以及一个多尺度判别器结构适用于更高分辨率的条件图像生成。
图像到图像翻译大量研究者已经利用对抗学习来做图像到图像的翻译,其目标在于翻译一个输入图像从一个域到另一个域,给定输入-输出图像对来作为训练数据。相较于常使得图像模糊的L1损失,对于大多图像到图像的任务对抗loss已经变得流行起来。因为判别器能够学到一个新可训练的损失函数并且自动地适应目标域中生成的和真实的图片之间的差异。比如,最近的pix2pix框架“ Image-to-image translation with conditional adversarial networks.”使用对于不同应用的图像条件GAN“Conditional generative adversarial nets 2014”。比图将google地图转换成卫星视图,从用户草图中产生猫。大量的方法也在缺失训练对的情况下学习一个图像到图像的翻译被提出。“Unpaired image-to-image translation using cycle-consistent ad- versarial networks. 2017 ICCV”。
最近,“Photographic image synthesis with cascaded refinement networks 2017 ICCV”提出对于条件对抗生成网络来生成高分辨率图像可能是很困难的,因为训练的不稳定性以及优化问题。为了避免这个困难,他们基于perceptual loss“Generating images with perceptual similarity metrics based on deep networks. 2016 NIPS”、“Image style transfer using convolutional neural networks 2016 CVPR”、“Perceptual losses for real-time style transfer and super-resolution. 2016 ECCV”使用了一个直接的回归目标,产生能够生成2048x1024的第一个模型。生成的结果是高分辨率的,但是经常缺失精细的细节和真实的纹理。根据他们进行改进,使用我们的新的目标函数和最新的多尺度生成器-判别器结构,我们不仅仅增强了使用条件生成对抗网络生成高分辨率图像的训练的稳定性,而且大大实现了超越上出2017 ICCV的结果,下面的图中显示了比较结果。
深度视觉处理最近,深度神经网络在各类图像处理任务上获得了非常好的结果,如风格迁移“Image style transfer using convolutional neural networks. 2016 CVPR”,修复“Context encoders: Feature learning by inpainting. 2016 CVPR”,着色“Colorful image colorization 2016 ECCV”和恢复“Deep joint demosaicking and denoising.”然而,这些工作都缺乏一个用户可以调整当前结果或者探索输出空间的接口。针对这个问题,“Generative visual manipulation on the natural image manifold. 2016 ECCV”提出基于现有已经学习过的GAN来编辑对象外观的优化方法。最近的工作“Image- to-image translation with conditional adversarial net- works.”、“Scribbler: Controlling deep image synthesis with sketch and color.”、“Real-time user-guided image colorization with learned deep priors.”也提供了用户接口,对于从低维层面如颜色和草图来创造新的图像。上述工作都在低分辨率的图像上进行操作,我们的系统分享了和过去工作的同样的思想,但是我们注重于对象级别的语义编辑,允许用户来对图像中的整个场景和处理单个对象进行交互。因此,用户能能很简单的创造一个新的场景,我们的结构受启发于先前的数据驱动的图形学系统“Sketch2photo: Internet image montage. 2009”、“Semantic photo synthesis 2006”、“Photo clip art. 2007”,但是我们的系统允许更加灵活的处理,实时生成高分辨率图像。
我们提出一个条件对抗框架来从语义标签图中生成高分辨率逼真的照片图像,我们首先回顾了我们的baseline的pix2pix模型(3.1中)。然后,我们描述了我们如何利用改进的目标函数和网络设计来增加照片逼真度以及结果的分辨率(3.2中),然后我们使用附加的实例级目标语义信息来更进一步提升图像质量(3.3中),最后,我们介绍了一种实例级特征嵌入方案来更好的处理图像合成的多模态特性,实现交互式对象编辑(3.4中)。
pix2pix模型“Image- to-image translation with conditional adversarial networks.”是一个对于图像到图像转换的条件性GAN框架。其由生成器G和判别器D组成,对于我们的任务,生成器G的目标是将语义标签图转换成真实可见的图像,同时判别器旨在判别真实图像和转换图像。框架在一个有监督的设置中进行操作,换句话说,训练集是给定的对应相关的图片对 <si,xi> < s i , x i > ,其中 si s i 是一个语义标签图, xi x i 是对应的自然照片。条件生成对抗网络旨在对给定语义标签图的真实图像的条件分布进行建模,通过minimax下面的式子: minGmaxDLGAN(G,D).(1) m i n G m a x D L G A N ( G , D ) . ( 1 ) ,其中目标函数 LGAN(G,D) L G A N ( G , D ) 由下式给定 E(s,x)[logD(s,x)]+Es[log(1−D(s,G(s)))].(2) E ( s , x ) [ l o g D ( s , x ) ] + E s [ l o g ( 1 − D ( s , G ( s ) ) ) ] . ( 2 ) 。
pix2pix方法采用UNet“U-net: Convolutional networks for biomedical image segmentation. 2015 ”来作为生成器,使用全连接网络来作为判别器。判别器的输入是语义标签图和对应图像的通道连接。然而,在城市场景数据集中生成图像的分辨率达到了256x256。我们直接应用pix2pix框架测试生成高分辨率图像,但是发现训练不稳定和生成图片的质量不令人满意的情况,因此,我们描述了在之后我们怎么样提升pix2pix框架。
我们通过使用一个粗到细的生成器、一个多尺度判别器结构以及一个鲁棒的对抗学习目标函数提升了pix2pix框架。
粗到细的是生成器。我们将生成器分解为两个子网络: G1和G2 G 1 和 G 2 ,我们称 G1 G 1 作为全局生成网络, G2 G 2 作为局部提升网络。生成器由G={ G1,G2 G 1 , G 2 }组成,可视化在图3中,全局生成器网络在一张1024x512分辨率上进行操作,局部提升网络输出一个比之前(每张图片维度的2倍)的输出多4倍的一张图。在一个很高的分辨率上进行图像合成,附加的局部提升网络能够被利用。比如,生成器G={ G1,G2 G 1 , G 2 }的输出图像分辨率为2048x1024,G={ G1,G2,G3 G 1 , G 2 , G 3 }的输出为4096x2048。
我们的全局生成器网络基于“Perceptual losses for real-time style transfer and super-resolution. 2016 ECCV”的结构,其在512x512的图像上的自然风格迁移上被证明是成功的。其由三个部分组成:一个卷积前向到端部分 G(F)1 G 1 ( F ) ,一系列的残差结构 G(R)1 G 1 ( R ) ,和一个反卷积后向到端部分 G(B)1 G 1 ( B ) 。一个分辨率为1024x512的语义标签图连续经过这三个部分生成一个1024x512的图像。
局部提升网络也由3个部分组成:一个卷积前向到端部分 G(F)2 G 2 ( F ) ,一系列的残差结构 G(R)2 G 2 ( R ) 和一个反卷积后向到端部分 G(B)2 G 2 ( B ) 。 G2 G 2 的输入标签图的分辨率是2048x1024,和全局生成器网络不同,残差块 G(R)2 G 2 ( R ) 的输出是两个特征图的对应元素之和: G(F)2 G 2 ( F ) 的输出特征图和全局生成器网络中 G(B)1 G 1 ( B ) 的最后一层特征图。这有助于整合 G1 G 1 的全局信息到 G2 G 2 。
在训练期间,我们首先按照他们的分辨率训练全局生成器和训练局部提升器,然后联合所有的网络来进行精调。对于图像合成任务,我们使用这种生成器的设计来有效的整个全局和局部信息。我们注意到这种多分辨率流水线在计算机视觉中是一种公认的做法,并且两种尺度就够了。相同的想法但是不同的结构如“Deep generative image models using a Laplacian pyramid of adversarial networks 2015 NIPS”、“Stacked generative adversarial networks. 2017 CVPR”,但是它是非条件GAN,条件图像生成有“Photographic image synthesis with cascaded refinement networks. 2017 ICCV”、“Real-time user-guided image colorization with learned deep priors 2017”。
多尺度判别器。高分辨率图像的合成为GAN判别器的设计提出了一个很大的挑战,为了区分高分辨率真实图像和合成的图像,判别器需要有一个非常大的感受野。这就要求一个更深的网络过着更大的卷积核。这些都会增加网络的容量和潜在的过拟合因素。同时,这两种选择都需要更大的内存占用来用于训练,这已经是高分辨率图像生成的稀缺资源了。
为了针对这个问题,我们提出了使用多尺度判别器。我们使用了3个判别器,其有着相同的网络结构,但是不同的在于对不同尺寸的图像进行操作,我们将判别器分别称为 D1,D2,D3 D 1 , D 2 , D 3 。具体来说,我们对真实图像和合成图像进行2倍和4倍的下采样来创造3个尺度的图像金字塔,判别器 D1、D2和D3 D 1 、 D 2 和 D 3 分别由这三个不同尺寸的不同真实和合成图像进行训练,虽然判别器的结构都相同,但是最粗糙的尺度的那个有最大的感受野。这有着更多的图像全局视角信息,能够引领生成器生成全局一致的图像。另一方面,最精细尺度的判别器鼓励生成器能够生成更加精细的细节。这也使得训练由粗到细的生成器更加容易。因此将低分辨率模型扩大到高分辨率模型只需要增加一个精细尺度的判别器,而不是从头重新训练。没有多尺度的判别器,我们观察到在生成图像中经常出现一些重复的图案。
判别器中,学习问题变成如下式,变成一个多尺度学习问题 minGmaxD1,D2,D3∑k=1,2,3LGAN(G,Dk).(3) m i n G m a x D 1 , D 2 , D 3 ∑ k = 1 , 2 , 3 L G A N ( G , D k ) . ( 3 )
在同一个图像尺寸下使用多个GAN判别器在非条件GAN中已经被提出了“Generative multi-adversarial networks 2016 ICLR”。” Globally and locally consistent image completion. 2017”添加了一个全局图像分类器来针对条件GAN合成全局一致的修复内容。这里,我们扩大了这个设计到在不同图像尺寸下使用多个判别器来对高分辨率图像进行建模。
提升对抗损失。我们通过基于判别器合并一个特征匹配损失来提升GAN的损失公式(2)。由于生成器必须在不同尺度下产生自然统计数据,因此这个损失使得训练更加稳定。具体来说,我们从判别器的多隔层中提取特征,然后学习匹配真实和合成图像中的这些中间表示。为了方便说明,我们定义判别器 Dk D k 的第i层的特征提取器为 D(i)k D k ( i ) ( Dk D k 的从输入到第i层。)特征匹配损失 LFM(G,Dk) L F M ( G , D k ) 由下式计算: LFM(G,Dk)=E(s,x)∑Ti=11Ni[||D(i)k(s,x)−D(i)k(s,G(s))||1].(4) L F M ( G , D k ) = E ( s , x ) ∑ i = 1 T 1 N i [ | | D k ( i ) ( s , x ) − D k ( i ) ( s , G ( s ) ) | | 1 ] . ( 4 ) ,其中T是总共的层数, Ni N i 是每层的元素数。我们的GAN判别器特征匹配损失和感知损失(perceptual loss)相关,perceptual loss在超分辨率和风格迁移上很有用。在我们的实验中,我们讨论了判别器特征匹配损失和perceptual loss是如何联合使用来进一步提升性能的。我们注意到,这个损失和VAE-GANs“Autoencoding beyond pixels using a learned similarity metric 2016 ICML”中用的很相似。
我们的全部目标函数结合了GAN损失和特征匹配损失: minG((maxD1,D2,D3∑k=1,2,3LGAN(G,Dk))+λ∑k=1,2,3LFM(G,Dk)).(5) m i n G ( ( m a x D 1 , D 2 , D 3 ∑ k = 1 , 2 , 3 L G A N ( G , D k ) ) + λ ∑ k = 1 , 2 , 3 L F M ( G , D k ) ) . ( 5 )
其中 λ λ 控制两项的重要性,注意到对于特征匹配loss, Dk D k 只作为一个特征提取器,并没有最大化损失 LFM L F M 。
现有图像合成方法只利用语义标签图,即一个图像中每个像素值都代表对象的类别,该图不区分同一类别的对象。另一方面,一个实例级语义标签图对每个单独的对象都有一个独一无二的对象ID。为了合并实例图,能够直接将其传递至网络中,或者编码成one-hot向量。然而,这些方法实际上都很难实现,由于不同的图片可能包含的同一类别的对象的数量不同。或者,能够为每类预先分配一个固定数量的通道数,如10,但是这个方法当数量设置太小的时候会失败,当数量太大的时候,浪费太多内存。
相反,我们认为实例图提供的最关键的信息就是在语义标签图中没有的,也就是目标边界(object boundary)。比如,当相同类别的对象和另一个紧挨着的时候,仅仅通过语义标签图无法区分它们。对于街景尤其如此,因为大量的停着的车和行人经常都是紧挨着彼此,就像图4中一样,然而,使用实例图,分开这些对象就变得更加容易了。
因此,为了提取信息,我们首先计算实例边界图,如图4(b),在我们的实现中,如果一个像素的目标ID和它的4邻域中的任何一个,那么在实例边界上的这个像素是1,否则为0。实例边界图随后串联语义标签图的one-hot向量表示,然后送进生成器网络。同样的,判别器的输入是实例边界图,语义标签图和真实/合成图像的通道连接。图5(b)展示了一个例子来描述使用目标边界的提升效果,第四节也展示了使用实例边界图训练的模型能更加逼真渲染的照片中的目标边界。
从语义标签图中进行图像合成是一个一对多的映射问题。一个理想的图像合成算法应该能通过食用相同的语义标签图生成多种多样逼真的图像。最近,几个工作在给定相同输入的情况下,学习来生成固定数量的离散输出,或者通过潜在的编码整个图像来控制合成不同的模式。虽然,这些方法处理多模态图像合成问题,但是他们都不适合我们的图像处理任务,有两个原因,其一,用户无法直观控制模型将产生那种类型的图像。其二,这些方法聚焦于全局颜色和纹理的改变,并且不允许对生成的内容进行对象级别的控制。
为了生成不同的图像并且允许对象级别的控制,我们提出了增加附加的低维特征通道到生成器的网络。我们展示了,通过处理这些特征,我们能够灵活的控制图像合成过程,而且,注意到由于特征通道都是连续值,因此,我们的模型原则上能够生成无限多的图像。
为了生成低维特征,我们训练了一个编码器网络E来寻找图像中对于每个实例的ground-truth的低维特征向量。我们的特征编码器结构是一个标准的编码器-解码器网络。为了确保每个实例中的特征都是一致的,我们增加了实例级别的平均池化层到编码器的输出端,来计算对象实例的平均特征。然后将平均特征传播到实例的所有像素位置,图6可视化了一个编码的特征的例子。
我们用 G(s,E(x)) G ( s , E ( x ) ) 来代替公示(5)中的G(s),然后与生成器和判别器联合进行编码器的训练。在编码器被训练完后,我们在训练图像上运行编码器在所有的实例上,然后记录获得的特征。然后我们在对每个语义类别的这些特征上执行一个K-means聚类,每个簇因此编码特定样式的特征。比如,道路上的沥青或鹅卵石纹理。在测试时,我们随机选择一个簇中心,然后使用其来编码特征。这些特征和标签图进行串联然后作为我们生成器的输入进行使用。我们尝试在特征空间上强制使用Kullback-Leibler loss”Auto-encoding varia- tional Bayes”,在最近的工作上使用这个来为了更好的测试时间采样。但是发现用户直接调整每个对象的潜在向量是非常重要的,康凡,对于每个对象实例,我们提供了K个模式供用户选择。
我们首先与现有方法进行了一个质量比较,在4.1节。然后记录了一个主观的人为感受研究在3.2节,最后,我们展示了一些交互式对象编辑结果的例子在4.3节。
实现细节我们使用LSGANs“Least squares generative adversarial net- works. 2017 ICCV”来稳定的训练。在所有的实验中,我们设置权重 λ=10 λ = 10 (公式(5)),以及K-mean中的K=10,我们使用3维向量来对每个对象实例编码特征,我们实验添加一个感知损失perceptual loss λ∑Ni=11Mi[||F(i)(x)−F(i)(G(s))||1] λ ∑ i = 1 N 1 M i [ | | F ( i ) ( x ) − F ( i ) ( G ( s ) ) | | 1 ] 到我们的目标函数(公式(5)),其中 λ=10 λ = 10 , F(i) F ( i ) 代表VGG网络中含有 Ni N i 个元素的第i层。我们观察到这个损失稍微提升了结果。明明这两个变量为ours和ours(w/o VGG loss),在下中有更多的训练和结构细节。
A.训练细节
所有的网络都是从头开始学习,使用Adam优化器,学习率为0.0002,我们保证前100次epoches有相同的学习率,然后在接下来的100个epoches线性衰减到0.权重初始化使用均值为0,标准差为0.02的高斯分布。我们训练所有的模型在NVIDIA Quadro M6000 GPU ,24GB GPU显存。
测试时间在每2048x1024输入图像(NVIDIA 1080Ti GPU 11GB GPU显存)下为20~30毫秒,这个实时时间允许我们发展交互式图像编辑应用程序。
下面我们讨论使用的数据集的细节。我们进行了大量的比较和对比实验在Cityscapes数据集一集NYU Indoor RGBD数据集上,我们记录了附加的质量结果在ADE20K数据集和Helen Face数据集上。
Cityscapes数据集:2975张来自Cityscapes训练集的训练图片,大小为2048x1024,我们使用Cityscapes验证集来进行测试,其包含500张图像。
NYU Indoor RGBD数据集,1200张训练图像和249张测试图像,分辨率都是561x247
ADE20K数据集,20210张训练图像和2000张测试图像,有各种各样的图像尺寸,在训练和测试之前,我们缩放所有的图像的宽度为512。
Helen Face数据集,2000张训练图像和330张测试图像,有不同的图像尺寸,我们在训练和测试之前resize所有的图像到1024x1024。
Baseline,我们比较我们的方法和pix2pix以及CRN,我们训练pix2pix糜烂性在高分辨率图像上,使用默认设置,我们生成高分辨率CRN图像,通过作者的公开可用模型。
生成器结构
我们的生成器由一个全局生成器网络和一个局部提升器网络组成,让c7s1-k代表一个7x7的卷积-实例Norm-ReLU层,用了k个滤波器,步长为1,dk表示一个3x3卷积-实例Norm-ReLU层,有k个滤波器,步长为2。我们使用边界填充来减少边界伪影。Rk表示残差结构,包含两个3x3卷积层,两层的滤波器数量一致。uk表示一个3x3的fractional-strided(带空洞的转置卷积)-卷积-实例Norm-ReLU层,有k个滤波器,步长为1/2。
回顾我们的有两个生成器:全局生成器和局部提升器。
我们的全局生成器为:
c7s1-64,d128,d256,d512,d1024,R1024,R1024,R1024,R1024,R1024,R1024,R1024,R1024,R1024,u512,u256,u128,u64,c7s1-3
我们的局部提升器为:
c7s1-32, d642 d 64 2 ,R64,R64,R64,u32,c7s1-3,(其中 2 2 )代表与全局生成器中的u64相加后的结果。
判别器结构
对于判别器结构,我们使用70x70的Patch-GAN“Image- to-image translation with conditional adversarial networks. 2017 CVPR”。令CK表示一个4x4卷积层-实例Norm-LeakyReLU层,含有k个滤波器,步长为2.在最后一层,我们使用一个卷积层来产生一个1维的输出,我们没有使用实例Norm在第一层全连接层C64。我们使用斜率为0.2的leakyReLU,所有我们的三个判别器都有着相同的结构。
C64-C128-C256-C512
我们采用和先前(pix2pix)(“Unpaired image-to-image translation using cycle-consistent adversarial networks.”)图像到图像转换工作相同的评估协议,为了量化我们的结果,我们执行在合成图像上进行语义分割然后比较预测的分割与输入进行匹配的结果。直觉是,如果我们能够产生对应输入标签图的逼真图像,那么现成的语义分割模型(PSPNet)应该能够预测ground-truth标签。表1记录了计算到的分割准确率,能够看到,对于像素层面的准确率和Mean IoU(intersection-over-union),我们的方法大大超越了其他方法,而且,我们的记过非常接近原图的效果,我们能够达到理论上的上界,这证明了我们算法的优越性。
我们进一步通过人的主观研究评估了我闷的算法。我们在亚马逊Mechanical Turk(MTurk)平台上利用Cityscapes数据集执行了成对的A/B测试。我们遵循CRN中相同的实验过程,更具体的是,我们执行两种不同的实验:不限制时间和限制时间。
不限制时间。在这个任务中,一次给工人两张图片,每一个图片都由相同的标签图通过不同的方法来进行合成,我们给他们没有限制时间来做选择哪一张看起来更加真实,左右的顺序和图像的顺序都是随机的来确保公平,所有500张Cityscapes测试图片被比较10次,对每个方法有5000次的判别,在这个实验中,我们只使用了带语义标签图(没有加实例图)的输入来做训练保证公平的比较,表2显示了我们方法大大优于其他方法。
限制时间。对于限制时间的实验,我们和CRN以及原始图像(ground-truth)进行了比较。在每次比较中,我们在一个短时间内显示了两种方法的结果,我们随机挑选了1/8秒到8秒时间段内的一段,采用和CRN中一样的方法,这就很评估出图像被认出来有多快,图7显示了在不同时间段的比较结果。
随着给定的时间越来越长,这三种图像之间的差异变得越来越明显,更加容易观察。图9和图10给出了例子。
损失函数的分析。我们也使用非限制时间实验来针对我们目标函数中的每一项的重要性进行了研究。具体来说,我们最终的损失包含了三个部分:GAN loss,基于判别器的特征匹配loss和VGG perceptual loss。我们比较了我们的结果与(1)只有GAN loss和(2)GAN+特征匹配 loss两种情况,分别获得的偏好率为68.55%和58.90%。能够看到,增加了特征匹配loss之后显著提升了性能,同时增加perceptual loss也能更进一步提升结果。然而,使用perceptual loss不是最关键的,没有它我们仍然能产生比较好的结果,如图9(c)和10(b)。
使用实例图。我们比较了使用实例图和没有使用实例图的结果。我们强调了图片中的车的区域,并询问参与者哪个区域看起来更加真实,我们获得了偏好率为64.34%,这说明使用实例图提升了逼真度,特别是围绕目标边界。
生成器的分析。在其他因素都固定的情况下,我们比较了不同生成器的结果,特别地,我们比较了我们的生成器和最新的U-Net以及CRN。我们在语义分割得分以及人的视觉感受两方面进行评估。表3和表4显示我们的由粗到细的生成器大大优于其他网络。
判别器分析。接下来,我们也在保证生成器和损失函数固定的情况下,使用我们的多尺度判别器和只使用一个判别器进行分析。在Cityscapes数据集上比较的分割分数在表5中,显示使用多尺度判别器能够帮助产生更好质量的结果和更加稳定的对抗训练。我们也在亚马逊Mechanical Turk平台上执行了A/B测试,有69.2%的参与者偏爱多尺度判别器的结果
额外数据集。为了更深一步评估我们的方法,我们使用非限制时间的比较在NYU数据集上,相较于pix2pix和CRN我们获得了86.7%和63.7%的偏爱率。图8显示了一些例子图片,最后我们展示了在ADE20K数据集上的结果(图11)
我们的特征编码器允许我们在结果图像上执行交互式实例编辑。比如,我们能够改变图像中对象的标签来快速创造新的场景。比如用建筑来代替树(如图1(b))。我们也能改变单辆车的颜色或者路面的纹理(如图1(c))。
除此之外,我们在Helen Face数据集(对于不同面部部位的标签都是可用的)上执行了我们的交互式目标编辑特征,这使得我们编辑人的肖像更加容易,比如,改变脸部的颜色来模仿不同的化妆效果或者在脸上加胡须。
本文的结果说明条件GAN能够合成高分辨率逼真的图像,而不用任何人工设计的损失或者预训练的网络。我们已经看到加入一个perceptual loss能够稍微提升结果。我们的方法可以用在很多应用上,对于需要高分辨率结果但是预训练网络不可用的情况下会是潜在有用的。(比如医学图像和生物)。
本文也展示了一种图像到图像合成的方法能够被扩展到产生不同的输出,能够对给定合适的输入输出对进行交互式图像处理(比如,我们案例中的实例图)。没有被告知纹理是什么的情况下,我们的模型能学习风格化不同的对象,这也能推广到其他数据集上(即,在一个数据集上使用纹理来在另一个数据集上合成图像)。我们相信这些扩展能够潜在的应用到其他图像合成问题上。