SingleGAN: Image-to-Image Translation by a Single-Generator Network using Multiple Generative Adv...

Abstract.

图像转换是计算机视觉中的新兴领域,其目标是学习输入图像和输出图像之间的映射。 然而,最近的方法需要多个生成器来建模不同的域映射,这对于一些多域图像转换任务而言效率低且无效。 在本文中,我们提出了一种新方法SingleGAN,用单个发生器执行多域图像到图像的转换。 我们引入域代码来明确控制不同的生成任务,并集成多个优化目标以确保翻译。 几个不成对数据集的实验结果表明我们的模型在两个域之间的转换中具有优越的性能。 此外,我们探索了针对不同任务的SingleGAN变体,包括一对多域转换,多对多域转换和一对一域转换以及多模态。 扩展实验表明了普遍性和我们模型的可扩展性。
1 Introduction
最近,由于其在各种图像处理应用中具有令人兴奋的潜力,因此越来越多地关注图像到图像的转换[1]。尽管现有方法在一对一映射问题上显示出令人印象深刻的结果,但是它们需要构建多个生成器以用于对多个映射建模,这在一些多域和多模型图像转换任务中是低效且无效的。直观地说,许多多映射翻译任务不是独立的,并且在不同季节之间共享一些共同特征,例如场景内容。通过在相关任务之间共享网络,我们可以使我们的模型更好地概括每个分离的任务。在本文中,我们提出了一种单生成器生成对抗网络(GAN),称为SingleGAN,可以有效地解决多映射转换任务。为了指示特定的映射,我们引入域代码作为网络的辅助输入。然后我们整合多个优化目标来学习每个特定的翻译。
如图1所示,基础SingleGAN模型用于学习两个域之间的双射。 由于每个域数据集不需要具有其他域的标签,因此SingleGAN可以充分利用现有的不同数据集来学习多域转换。
为了探索SingleGAN的潜力和普遍性,我们还将其扩展到三个跨域翻译任务,这些任务更加复杂和实用。第一个变体模型尝试解决一对多域转换任务,该任务处理源域输入到不同目标域,例如图像样式传输。第二个模型探索多对多域转换任务。与最近的方法[2]不同,需要详细注释类别信息来训练辅助分类器,我们使用多个对抗对象来帮助网络分别捕获不同的域分布。这意味着SingleGAN能够通过弱监督学习来学习多域映射,因为我们不需要使用详细注释标记所有训练数据。第三种变体模型试图通过引入属性潜在代码来增加生成多样性。在BicycleGAN [3]中使用了类似的想法来解决多模态翻译问题。我们的第三个模型可以被认为是BicycleGAN向不成对的图像到图像转换的概括。
总结一下,我们的贡献如下:
我们提出了SingleGAN,一种新颖的GAN,它利用单个发生器和一组鉴别器来完成不成对的图像到图像的转换。

  • 我们通过扩展它以实现三种不同类型的翻译任务来展示SingleGAN的通用性和灵活性。
  • 实验结果表明,我们的方法比几种最先进的方法更有效和通用。

2.Related work

图像到图像转换的想法可以追溯到图像类比[11],其中Hertzmann等人。提出了一种网络,用于将纹理信息从源模态空间传输到目标模态空间。自GAN蓬勃发展以来,图像到图像的翻译受到了越来越多的关注。作为开创性的工作,Pix2pix [1]使用cGAN [12]从配对数据执行监督图像转换。由于这些方法采用监督学习,因此需要足够的配对数据来训练网络。然而,准备配对图像可能是耗时且费力的(例如艺术风格化),甚至对于某些应用(例如,男性到女性面部变形)也是不可能的。为了解决这个问题,例如,CycleGAN [13],DiscoGAN [14]和DualGAN [15]引入了循环一致性约束,它广泛用于视觉跟踪[16]和语言域[17],从不成对的图像中学习跨图像域的令人信服的映射。基于共享潜在空间假设,UNIT [18]扩展了耦合GAN [19],以学习不带成对图像的不同域的联合分布。 FaderNet [20]也通过在潜在空间中添加鉴别器来成功控制属性。尽管这些方法促进了一对一映射图像转换的发展,但它们在多映射转换的可伸缩性方面存在局限性。通过在鉴别器中引入辅助分类器,StarGAN [2]使用单个生成器实现了不同面部属性之间的转换。然而,当属性标签不足以训练辅助分类器时,该方法可以学习低效的域映射,即使它引入了掩码矢量。

3 Base Model

主要架构如图1所示。为了利用两个相关任务之间的相关性,SingleGAN采用单个发生器实现双向转换。
该模型的目标是学习映射G:A↔B。通过添加域代码,G被重新定义为


图片.png

3.1 Domain Code Injection

为了使用单个生成器捕获不同域的分布,有必要用辅助信息指示映射。 因此,我们引入域代码z来标记生成器中的不同映射。 域代码被构造为one hot矢量,并且类似于广泛用于指示所生成图像的属性的潜在代码
最近的工作[22]表明潜在代码的不同注入方法将影响生成模型的性能。 因此,我们采用[22]中提出的中心偏置实例规范化(CBIN)将域代码注入到我们的SingleGAN模型中。 CBIN定义为


图片.png

其中i是特征映射的索引,f i是应用于域代码z的仿射变换,并且针对一个层中的每个特征映射xi学习其参数。 CBIN旨在通过可学习的参数自适应地调整输入特征映射的不同分布,这使得域代码能够管理不同的任务。 同时,输入数据的不同分布之间的距离也是可训练的,这意味着不同任务的耦合程度由模型本身决定。 该优点使得不同的任务能够更好地共享参数,从而更好地相互促进。
3.2 Loss Functions
gan loss:由于我们的单个生成器具有多域输出,因此我们为每个目标域设置了对抗性目标,并使用了一组鉴别器。 相应的鉴别器用于识别一个域中生成的图像。 对抗性损失定义为


图片.png

图片.png

周期一致性损失。 虽然上述GAN丢失可以完成域转换,但高度欠约束的映射通常会导致模式崩溃。 可以在不使用配对信息的情况下推断出许多可能的映射。
为了减少可能的映射空间,我们在训练阶段使用循环一致性约束[13,2]。 在我们的模型中,循环一致性损失定义为xA≈G(G(x A,z B),z A)和xB≈G(G(x B,z A),z B)。 循环一致性损失的公式定义为
图片.png

Full Objective. The final objective function is defined as


图片.png

4 Extended models
为了探索SingleGAN的潜力和普遍性,基于上述模型,我们将模型的三个变体扩展到不同的任务:一对多域转换,多对多域转换和一对一域转换 多模态映射。
4.1 One-to-Many Domain Translation
图2(a)中的第一个试验适用于单向任务,例如多任务检测和图像多样式传输。 就图像样式转移而言,来自单个输入图像的不同样式转移是共享语义的代表性任务。 我们的模型共享输入图像的相同纹理信息,并在其上应用不同的样式。 与学习一个内容图像和一个样式图像之间的映射的传统图像样式转换方法相比,我们的模型学习了图像集合之间的不同映射。 这种一对三的翻译任务如图2(a)所示,L adv被重新定义为
图片.png

图片.png

4.2 Many-to-Many Domain Translation
如图2(b)所示,第二变形示出了多域中的图像相互转换。 在这个模型中,我们的目标是训练一个单一的生成器,它可以学习多个域之间的映射,实现多个域的相互转换。 对于四域转移实例,L adv重新定义为
图片.png

4.3 One-to-One Domain Translation with Multi-Modal Mapping
为了解决具有不成对数据的多模态图像到图像转换问题,我们引入了第三种变体,如图2(c)所示。 受Bicycle-GAN [3]的启发,我们引入了类似VAE的编码器来提取特征潜在代码c以指示翻译映射。 虽然没有用于编码器监督学习的配对数据,但我们利用循环一致性来放宽约束。 在训练期间,我们从标准高斯分布中随机抽样潜在代码以指示多模态。 然后我们将潜在代码c连接到域代码z以指示最终映射。 为了约束图像内容并鼓励来自潜在代码的映射,我们使用从源图像编码的潜在代码和生成的图像来重建源图像。 由于引入了类似VAE的编码器,鼓励编码器编码的潜在分布接近随机高斯分布
图片.png

6.2baselines
为了比较我们的SingleGAN模型的性能,我们采用CycleGAN [13]和StarGAN [2]作为我们的基线模型。 CycleGAN使用循环丢失来学习两个不同域之间的映射。 为了实现循环一致性,CycleGAN需要两个不同域的两个生成器和鉴别器。 为了统一多域转换与单个生成器,StarGAN在其鉴别器中引入了一个在图像标签对上训练的辅助分类器,以帮助生成器学习跨多个域的映射。 我们在两个域转换任务上比较我们的方法与CycleGAN和StarGAN。
6.3 Base Model Comparison
在本节中,我们将评估不同模型的性能。 应该注意的是,SingleGAN和StarGAN都使用单个生成器进行两个域图像转换,而CycleGAN使用两个生成器来实现类似的映射。
定性比较如图3所示。我们可以观察到所有这些模型在简单的情况下呈现出令人愉快的结果,例如苹果到橙色的转化。 在具有复杂场景的翻译中,这些模型的性能尤其降低,特别是StarGAN。 可能的原因是StarGAN的生成器引入了对抗性噪声来欺骗辅助分类器并且无法学习有效映射。 同时,我们可以观察到SingleGAN在大多数情况下呈现最佳结果。
为了定量地判断生成图像的质量,我们首先评估由这三个模型生成的图像的分类精度。我们为每个图像数据集训练三个基于Xception [28]的二元分类器。基线是实际图像中的分类精度。更高的分类准确度意味着生成的图像可能更容易区分。其次,我们通过计算特征空间中的平均距离来比较真实图像和生成图像之间的域一致性。类似的想法用于计算多模态生成任务的多样性[3,22]。我们使用余弦相似性来评估在ImageNet [30]中预训练的VGG-16网络[29]的特征空间中的感知距离。我们对池层之前的五个卷积层求和。值越大,两个图像之间的相似性越大。在测试阶段,我们从相同的域中随机采样实际图像和生成的图像以构成数据对。然后我们计算2,000对之间的平均距离。通过从2,000对真实图像中采样来计算基线。
定量结果显示在表1和表2中.LingGAN和CycleGAN均产生符合定性性能的定量结果。相比之下,StarGAN获得更高的分类准确度,但在域一致性方面表现不佳。它验证了我们的猜想,即生成的StarGAN图像可能具有在某些复杂场景中欺骗分类器的对抗性噪声。在StarGAN中,鉴别器学习在不考虑图像的分类结果的情况下告知图像是真实的还是假的,而生成器学习用可以通过辅助分类器校正的图像来欺骗鉴别器。因此,如果生成器对图像产生对抗性噪声,则可能无法得到足够的鼓励。例如,在Summer↔Winter的任务中,尽管输入的夏季图像预计会转换为冬季,但StarGAN的生成器往往只会在输入图像中添加一个微小的对抗性噪声,这样鉴别器仍然可以说明它是真实的。分类器将其归类为冬季。结果,生成的图像看起来对人类不变,但赢得了高分类分数。 SingleGAN和CycleGAN中不存在此问题,因为这些模型使用不同的鉴别器优化不同的映射。 SingleGAN和CycleGAN之间的主要区别在于发电机的数量。如图3和表1,2所示,我们可以观察到SingleGAN具有学习多个映射而不会降低性能的能力。通过共享用于不同域转换的生成器,SingleGAN可以从不同的域中看到更多的训练数据,以学习共享语义并提高生成器的性能。
6.6 Limitations and Discussion
虽然SingleGAN可以实现多域图像转换,但是需要同时进行多个对抗性学习。 由于我们的存储空间有限,因此这种限制使得SingleGAN一次只能学习有限的域转换。 因此,探索现有模型的转移学习是很有价值的。 此外,网络学习不同映射的能力也是一个重要问题。 我们还观察到,为单个模型集成合适的任务可以改善生成器的性能。 但是,在未来的工作中还有待探索哪些任务可以相互促进。 尽管如此,我们认为本文提出的方法对于探索多域生成工作是有价值的。

你可能感兴趣的:(SingleGAN: Image-to-Image Translation by a Single-Generator Network using Multiple Generative Adv...)