基于生成对抗网络的图片风格迁移
2018-09-04许哲豪陈玮
许哲豪 陈玮
摘 要:图像到图像的翻译工作在现实中有着广泛应用,因此在计算机视觉领域得到高度关注。通过CycleGAN的网络结构进行图像风格迁移实验,将自然得到的图片转换成具有某种风格的图片,同时该方法不需要源图像与风格图像互相匹配,因此扩大了应用范围。在实验中,分别使用WGAN、WANG-GP、LSGAN和原始GAN目标函数比较生成样本的质量,尽管生成对抗网络(GANs)拥有强大的建模能力,但难以训练。研究发现,WGAN-GP能够稳定训练过程并且生成更真实的图像,WGAN、LSGAN效果次之,GAN经常会出现模型崩塌现象。
关键词:生成对抗网络;风格迁移;CycleGAN;WGAN
DOI:10.11907/rjdk.172830
中图分类号:TP317.4
文献标识码:A 文章编号:1672-7800(2018)006-0207-03
Abstract:Image-to-iamge translation is been used widely in real life, and it has attracted a lot of attention in computer vision. This paper explores it through image styles transfer. We try to transfer the style of images by Generative Adversarial Nets, precisely CycleGAN. This method can transfer natural images into images with different styles, besides it does not need paired data, so it can be used in a lot of fields. In experiments, we use WGAN, WANG-GP, LSGAN and vanilla GAN objective functions respectively to compare quality of generated samples. Despite the strong power of GANs, it is notorious for the problem of hard training. Through experiments, WANG-GP can stably train process and generate more realistic images, WGAN, LSGAN are not as good as WANG-GP, GAN often occur model collapse.
Key Words:Generative Adversarial Nets; style transfer; CycleGAN; WGAN
0 引言
生成對抗网络(Generative Adversarial Nets, GANs)[1]在最近几年尤其是近一年来引起了广泛关注,许多研究将GANs引入不同领域,如图像超分辨[2]、图像到图像的迁移、图像分割[3]、文本到图像的生成[4-5]、自然语言生成等。
GANs有着强大的建模能力,区别于其它生成模型[6],其可以捕捉到高维的、难以追踪的真实数据分布。GANs可以看作是博弈论中的零和游戏,在一场游戏中有两个玩家:生成器G、判别器D。生成器网络G用来从噪声中生成数据并将它们传递给判别器,以判断生成数据与真实数据的相似度;判别器网络D用来判别数据是来自真实数据还是生成器生成的伪造数据。举例说明,将生成器比作假币制造商,将判别器比作警察,假币制造商总是试图制造出以假乱真的假币迷惑警察,而警察总是保持警惕最大程度地判别出钱币是真还是假,两者互相对抗,最终警察无法判别出钱币是真是假。
式(2)和式(4)定义的损失为GAN的目标函数。但是它引起了GANs在训练时不稳定及训练不收敛的问题,比较显著的缺陷可以总结为以下几点:①模型坍塌问题。网络中输入不同的样本却常常产生相同的输出,也就是输出结果不具有多样性、差异性。更严重的问题是输出结果是一群无意义的噪声,模型完全没有学习到真实数据的分布;②训练损失与训练效果的关联性差。一般情况下训练的周期越长,生成的结果应该越好越逼真,但是公式并没有表明这一点。同时,也不知道训练应该什么时候停止;③训练中的摆动问题。在训练时需要平衡生成器与判别器的性能,确保不会出现梯度消失问题。
针对上面提到的问题,一系列论文[7-9]分析了缺陷发生的原因并且提出了各自解决方法。
WGAN(Wasserstein Gan, WGAN)[7]认为原始GAN用来衡量两个分布距离和差异的JS散度存在问题。当两个分布不存在重叠时,JS不能为生成器提供连续有效的梯度而导致模型失败。因此,笔者提出使用Wasserstein距离衡量两个分布之间的距离和差异。Wasserstein距离反映从一个分布到另一个分布的最小损失,它在两个分布即使没有重叠的情况下依旧能够衡量两者的距离,并为生成器提供连续有效的梯度。因此,式(1)变为:
WGAN极大地优化了GAN中出现的问题,而且已经被用在各种场景中。但是WGAN-GP认为,WGAN由于对权重进行裁剪的做法过于直接粗暴,导致有时仍然会产生低质量样本,并且对训练的稳定性造成伤害。针对这一问题,笔者提出使用梯度惩罚机制代替权重裁剪,因此判别器损失公式更正为:
WGAN-GP进一步稳定了GAN的训练过程,而且保证了结果质量。
1 风格迁移
图像到图像的翻译[11]或者说图像到图像的迁移,随着深度学习的发展也迎来光明前景。在绘画上,要让一幅图片具备某个著名画家的风格特性,需要绘画大师将原图片内容与著名画家的风格融合后重新描绘出来,这不仅代价昂贵而且不现实,但是深度神经网络的介入使其不再遥不可及。论文[12]首次运用神经网络进行画风迁移的实验,神经网络接受两个输入:一个图片提供内容,另一个图片提供风格,然后计算生成内容图片与风格图片之间的损失。他们的目标是最小化损失函数:
其中,和pl分別表示在第l层的原始图片和对应的特征图,和Fl分别表示在第l层的生成图片和其对应的特征图。
其中,和分别表示风格图片和生成图片。N-1是生成图的特征图数量,M-1是特征图的宽乘高大小,G是生成图的Gram矩阵,A是风格图的Gram矩阵。
随着GANs的提出及其推广[13-14],图像到图像的迁移问题得到了极大改进。不同于之前只学习到一张图片风格的方法,GAN方法可以广泛地学习到一群图片中的风格,更加能捕捉到类似特征。
2 网络结构
许多种不同类型的GAN都可以进行图像到图像的翻译,但是它们都需要配对的数据,而现实中得到配对数据是非常困难的,因此限制了应用范围。而DualGAN[15]、DiscoGAN、CycleGAN等可以在未配对的数据中实现图像到图像的翻译,其中CycleGAN以简单的网络结构取得了优良效果。
CycleGAN[16]使用两个生成器网络和两个判别器网络实现两个图片X与Y之间的互相映射。定义生成器G进行X→Y的映射,生成器F进行Y→X的映射。判别器D-X用来分辨数据是来自X还是来自生成的F(y),判别器D-Y用来分辨数据是来自Y还是来自生成的G(x)。CycleGAN外还引入了一种循环一致性损失,图片X被映射到Y同时应该被再次映射回来,然后计算原始图片X与映射回来图片的损失,即循环一致性损失,试图使F(G(x))≈x和G(F(y))≈y。图1显示了网络的结构。
图1(a)中,G、F代表映射函数,D-X和D-Y分别表示对应的判别器;图1(b)和图1(c)是两个循环一致性损失。
对抗损失的目标函数与原始GAN中的一致,映射函数G和判别器D-Y的目标函数表示为:
3 实验分析
实验显示,CycleGAN成功实现了图像风格的迁移,并且是在数据集不配对的情况下。另外,本文更改了方法中的目标函数,以稳定训练的过程及提升生成的图像质量,并通过多个实验比较不同目标函数的优劣。
3.1 数据集
图像到图像的翻译往往需要一对一配对的训练数据,但是这种数据在现实中很难得到,而CycleGAN解决了该种限制,它不需要配对的数据就可以实现一个领域到另一个领域的迁移,因此扩大了使用范围。本文使用的数据集来自Stanford提供的从网络中搜集到的图片,其中有6 288幅风景图片和1 073幅莫奈的画作,都是256×256像素的RGB图像。
3.2 训练细节
卷积神经网络(CNN)已经成为机器视觉领域中的流行框架,它在图像分类[17-18]、物体识别[19-20]、图像分割中取得了突出效果[21]。本文使用CycleGAN的网络结构作为特征提取器。在训练中CycleGAN使用LSGAN的目标函数作为判别依据,但是仍存在着模型坍塌、生成样本质量低等问题,因此本文通过更换目标函数稳定训练以提高生成图片的质量。
3.3 实验结果
分别使用GAN、WGAN、WGAN-GP的目标函数进行实验,通过生成的图片观察不同目标函数的效果。具体效果见图2(见封底彩图)。图2中最后两列是要学习的风格图像,前两列是使用WGAN-GP目标函数生成的图像,3、4列是使用WGAN目标函数生成的图像,5、6列是使用LSGAN目标函数生成的图像,也就是CycleGAN使用的默认目标函数,7、8列是使用原始GAN目标函数生成的图像。
通过不同目标函数生成的图像效果对比发现,WGAN-GP能够更好地生成想要的图片效果,生成的效果与目标最接近。WGAN也生成了风格图像,但是效果不如WGAN-GP更真实,GAN和LSGAN表现都相差甚远,可以认为训练是失败的。不同目标函数生成的图像效果与之前分析一致。
4 结语
GANs因其通俗易懂的原理和强大的建模能力已经应用在多种领域,本文使用GANs进行图像风格的迁移实验。由于原始GANs的缺点会导致训练失败,因而使用WGAN、WGAN-GP等方法规避。使用CycleGAN网络进行图像之间风格迁移,不需要相互匹配的数据集,大大扩展了实际使用范围。CycleGAN可以方便地实现风格迁移,但是会使得整个图片发生变化而非期望的某个部分或某个物体,因此接下来需寻求一种新的模型,实现更加精确的迁移。
参考文献:
[1] IAN G, JEAN P A, MEHDI M, et al. Generative adversarial nets[C]. Advances in Neural Information Processing Systems, 2014:2672-2680.
[2] LEDIG C, THEIS L, HUSZA′R F, et al. Photo-realistic single image super-resolution using a generative adversarial network[R]. Arxiv Preprint Arxiv:1609.04802, 2016.
[3] LONG V, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[C]. CVPR, 2015:3431-3440.
[4] ZHANG H, XU T,LI H S, et al. StackGAN: text to photo-realistic image synthesis with stacked generative adversarial networks[R]. Arxiv Preprint Arxiv:1612.03242, 2016.
[5] REED, AKATA, YAN, et al. Generative adversarial text to image synthesis[R]. Arxiv Preprint Arxiv:1605.05396, 2016.
[6] DIEDERIK P K,MAX W. Autoencoding variational bayes[C]. ICLR,2014.
[7] MARTIN A, SOUMITH C, LON B. Wasserstein gan[R]. Arxiv Preprint Arxiv:1701.07875, 2017.
[8] GULRAJANI I, AHMED F, ARJOVSKY M, et al. Improved training of wasserstein GANs[R]. Arxiv Preprint Arxiv:1704.00028,2017.
[9] SALIMANS T, GOODFELLOW I, ZAREMBA W, et al. Improved techniques for training GANS[R]. Arxiv Preprint Arxiv:1606.03498, 2016.
[10] DIEDERIK K, JIMMY BA. Adam: a method for stochastic optimization[R]. Arxiv Preprint Arxiv:1412.6980, 2014.
[11] ISola P, ZHU Y, ZHOU Y, et al. Image-to-image translation with conditional adversarial networks[R]. Arxiv Preprint Arxiv:1611.07004, 2016.
[12] LEON G, ALEXANDER E, MATTHIAS B. A neural algorithm of artistic style[R]. Arxiv Preprint Arxiv:1508.06576, 2015b.
[13] LIU M Y, TUZEL O. Coupled generative adversarial networks[C]. In NIPS, 2016:469-477.
[14] WU B Z, DUAN H D, LIU Z C, et al, SRPGAN: perceptual generative adversarial network for single image super resolution[R]. Arxiv Preprint Arxiv:1714.05927.
[15] YI Z L, ZHANG H, TAN P, et al. Dualgan: unsupervised dual learning for image-to-image translation[R]. CoRR, ABS/1704.02510, 2017.
[16] ZHU J Y, TAESUNG P, PHILLIP I, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks[R]. CoRR, ABS/1703.10593,2017.
[17] SIMONYAN E, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]. ICLR, 2015.
[18] HUANG G, CHEN D L, LI T H, et al, Multi-scale dense networks for resource efficient image classification[C]. ICLR, 2018.
[19] REN S, HE K, GIRSHICK R,et al. Faster R-CNN: towards real-time object detection with region proposal networks[C]. NIPS, 2015.
[20] DAI J, LI Y, HE K, et al. R-FCN: object detection via region-based fully convolutional networks[C]. NIPS, 2016.
[21] HE K M, ZHANG X Y, REN S Q, el al. Deep residual learning for image recognition[R]. CoRR, ABS/1512.03385, 2015.
(責任编辑:何 丽)