Style Separation and Synthesis via Generative Adversarial Networks通过生成性对抗网络进行风格分离和合成
0.摘要
近年来,风格综合引起了人们极大的兴趣,但很少有作品关注其双重问题“风格分离”。在本文中,我们提出了风格分离和合成生成对抗网络(S3-GAN),以同时实现特定类别的对象照片的风格分离和风格合成。基于目标照片位于流形上,且内容和样式独立的假设,我们使用S3-GAN在流形和潜在向量空间之间建立映射,以分离和合成内容和样式。S3-GAN由编码器网络、生成器网络和对抗网络组成。编码器网络通过将对象照片映射到潜在向量来执行样式分离。潜在向量的两半分别代表内容和风格。生成器网络通过将串联向量作为输入来执行样式合成。级联向量包含样式目标图像的样式半向量和内容目标图像的内容半向量。一旦从生成器网络获得图像,就会使用对抗网络生成更逼真的图像。在CelebA和UT Zappos 50K数据集上的实验表明,S3-GAN具有同时分离和合成风格的能力,并且可以在单个模型中捕获各种风格。
1.概述
风格合成[9],又称风格转移与肌理合成,近年来备受关注。样式合成的目标是从样式目标图像中迁移样式(如颜色、纹理),并维护内容目标图像的内容(如边缘、形状)的新图像。基于卷积神经网络(Convolutional Neural Networks, CNNs)[21,36]的方法[9,18]在风格合成方面取得了显著的成功,并产生了惊人的结果。这些作品大多着眼于艺术作品向摄影的过渡。但是,照片中的所有物体都有自己的风格,也可以迁移到其他照片上。此外,风格综合的成功也说明了一个形象的内容与风格是相互独立的。
因此,如何从给定的图像中学习内容和风格的个体表现形式是风格综合的双重问题。我们将这个问题命名为“风格分离”。目前,已有的作品多集中于风格合成,对风格分离的关注较少。例如,方法[18,38]可以用学习过的前馈网络表示样式,但它们不能同时表示图像内容。
在本工作中,我们的目标是同时实现对象照片的风格分离和风格合成。因此,我们提出了一种新的网络——风格分离与合成生成对抗网络(S3-GAN)。S3-GAN是针对特定类别的物体(如人脸、鞋子等)进行训练的,因为gan可以在特定领域生成逼真的图像。受[9]的启发,我们将对象的结构定义为“内容”(例如人脸的身份和姿势、鞋子的形状),将对象的颜色和纹理定义为“风格”(例如人脸的肤色和头发颜色、鞋子的颜色和图案)。基于目标照片位于高维流形上的假设,S3-GAN采用一对编码器和生成器构建流形与潜向量空间之间的映射,如图1所示。编码器用于样式分离。在编码器阶段,我们将一张给定的照片映射到潜在空间。由于内容和样式是独立的,我们强制潜向量的一半表示样式,另一半表示内容。发电机网络通过将连接的向量作为输入来进行样式综合。连接的向量包含样式目标图像的样式半向量和内容目标图像的内容半向量。由连接向量生成的对象照片具有与样式目标图像相似的风格,同时保留内容目标图像的内容。
本文提出的S3-GAN与现有的风格合成方法存在较大差异[8,9,18,23,38]。其中一些是迭代优化方法[8,9,23],可以生成高质量的图像,但计算成本较高。其他方法采用前馈网络生成接近给定风格目标图像的图像[18,38]。这些方法可以实时生成结果,但一次只能处理一个特定的样式。通过比较,本文提出的S3-GAN算法可以通过一个模型处理多种类型的对象,并通过拼接不同类型的半向量和处理正向传播,高效地合成不同类型的对象。
所提出的S3-GAN来源于gan,但与gan有一些不同。基于高斯的方法在图像生成和编辑方面取得了令人印象深刻的成功[17,19,48]。但是,它们中的大多数都为图像到图像的转换构建两个特定于应用程序的域之间的映射,这可以被视为两种样式之间的转换。与之不同的是,所提出的S3-GAN可以在各种类型之间构建传输。样式的半向量可以作为生成关联样式图像的条件。因此,任何两种不同样式之间的转换都可以通过替换样式半向量来简单地完成。
我们对两个特定类别的物体的照片执行了S3-GAN,分别是来自CelebA数据集[27]和来自UT Zappos50K数据集[42]的鞋子。实验结果表明,该方法能够有效地实现风格的分离与综合。我们工作的主要贡献可归纳如下
- 我们提出了一种用于风格分离和合成的新型S3-GAN框架。在人脸和鞋子的照片上进行的大量实验证明了S3-GAN的有效性。
- S3-GAN执行风格分离与编码器,建立对象照片流形和潜在向量空间之间的映射。对于给定的对象照片,其潜在向量的一半是样式表示,另一半是内容表示。
- S3-GAN用一个发生器进行风格合成。通过将风格目标图像的风格半向量与内容目标图像的内容半向量进行拼接,生成器将拼接后的向量映射回对象照片流形,生成风格合成结果。
2.相关工作
2.1.图像风格综合
风格合成可以看作是纹理合成的一种一般化。以往的纹理合成方法主要是利用低阶图像特征来生长纹理并保持图像结构[6,7,14]。
最近,基于cnn的方法产生了惊人的结果。这些方法利用从CNN特征中测量的感知损失来估计生成的图像与目标图像的风格和内容相似性。[8,9]直接通过迭代过程提出了基于优化的方法来最小化感知损失。[23]通过将神经补丁与马尔可夫随机场(mrf)匹配来扩展这些工作。基于优化的方法计算成本很高,因为合成结果的像素值是通过数百次向后传播逐步优化的。
为了加快风格综合的过程,提出了基于前馈网络的方法[18,24,38]。这些方法学习前馈网络,以最小化特定风格目标图像和任何内容目标图像的感知损失。因此,通过正向传播过程可以得到给定照片的程式化结果,节省了迭代的计算时间。然而,这些方法的一个模型只能表示单一的样式。对于一种新的方式,前馈网络必须重新训练。
直到最近,一些方法试图在一个单一的前馈网络中捕获多个样式,该网络表示具有多个过滤器组[2]、条件实例归一化[5]或二进制选择单元[25]的样式。也有一些方法试图通过学习通用映射[10]、自适应实例规范化[15]或特征转换[26]来在单个模型中表示任意样式。
在本文中,我们提出了S3-GAN来实现风格分离和风格综合。对象照片的内容和样式被表示为潜在向量。S3-GAN不仅可以通过正向传播过程进行风格合成,还可以在单个模型中捕获各种风格
2.2.生成式对抗网络
GAN是生成逼真图像最成功的生成模型之一。标准的GANs[12,32]从最小-最大值两方博弈中学习生成器和鉴别器。生成器从随机噪声中生成可信图像,而鉴别器将生成的图像与真实样本进行区分。原始gan的训练过程不稳定,因此提出了许多改进方法,如WGAN[1]、WGAN- gp[13]、EBGAN[47]、LS-GAN[31]等。
此外,基于条件gan (cgan)[29]的方法已成功应用于许多任务。这些方法在离散标签[29]、文本[33]和图像上条件gan。其中,以图像为条件的cga通过附加编码器实现图像到图像的转换[17],该编码器用于从输入图像中获取条件。这些框架被广泛用于解决许多具有挑战性的任务,如图像补绘[30,40]、超分辨率[22]、年龄进展和回归[46]、风格转移[49]、场景合成[39]、跨模态检索[3,41,43]和人脸属性处理[19,34,48]。此外,领域自适应方法[37,45]利用gan适应传统任务的特征并推进模型,如语义分割。其他一些方法[28,35]利用gan生成任意姿势的人体图像,有利于相关任务,如重新识别人。大多数这些方法都是通过构建两个特定于应用程序的域之间的映射来实现图像到图像的转换
在本文中,我们训练所提出的S3-GAN来表示由目标照片组成的域。这些域可以根据不同的样式划分为许多子域。S3-GAN可以在任意一对子域之间进行映射,实现任意的样式转换
3.提出的方法
在本节中,我们首先阐述潜向量空间,它被引入来解开内容和风格表示。然后我们演示了S3-GAN的流水线,并详细描述了每个组件。最后,我们给出了所有用于优化S3-GAN的个体损失函数。
3.1.公式
我们假设一个特定类别的目标照片位于摄影域中的高维流形M上。具有相同样式或相同内容的对象将被聚集到关联样式或内容的子域
由于在流形M中很难直接建模照片,我们在流形M和一个潜向量空间L∈R2d×k×k之间建立映射,其中d, k∈Z+表示L中向量的维数。考虑到内容和样式是独立的,我们试图将内容和样式的表示分解为潜在向量L∈ M中的不同维度, 它在L中的相关潜在向量是[cI,sI],其中cI∈ Rd×k×k和sI∈ Rd×k×k是分别代表其内容和风格的子向量。我们将内容和风格的子向量设置为等维,以便简化。因此,[·,sI](或[cI,·])可以表示包含所有显示不同内容(或样式)但与I相同样式(或内容)的对象的子域。对于任何样式子向量sˆ,[cI,sˆ]是样式ˆs的子域与子域[cI,·]的交集。因此,[cI,sˆ]可以代表将风格修改为sˆ的结果,同时保留I的内容
3.2.架构
图2:拟议的S3-GAN的体系结构由编码器、生成器、鉴别器和感知网络组成。编码器E通过将目标图像A和B映射到潜在向量[cA,sA]和[cB,sB]来获取样式分离的表示。生成器G从级联向量[cA,sB]生成样式合成的结果C。鉴别器D评估对手的损失,以帮助生成可信的图像。感知网络P用于获得感知损失,包括内容感知损失和风格感知损失。将重建损失和总变异损失添加到目标函数中进行补充(为了简化,图中省略了总变异损失)。
提出的S3-GAN采用GANs框架学习从流形M到潜在向量空间L的映射,并从L生成真实图像。S3-GAN的管道由四个组件组成,包括编码器、生成器、鉴别器和感知网络,如图2所示。在训练和测试阶段都使用编码器和生成器来进行风格分离和风格合成,而仅在训练阶段使用鉴别器和感知网络来优化目标函数。
我们学习编码器E:M→ L来构建从流形M到