APP下载

基于GAN的图像风格迁移研究

2020-02-02师永超朱立军

电子技术与软件工程 2020年16期
关键词:解码器梵高编码器

师永超 朱立军

(沈阳化工大学计算机科学与技术学院 辽宁省沈阳市 110142)

近年来,深度学习[1]应用越来越广,在图像风格迁移上的应用也越来越多。图像风格迁移是指将一幅图片的风格或者轮廓迁移到另一幅图像当中,还要确保原图像结构不变,最终实现内容与风格的完美结合。最初的GAN 模型是生成的一些随机点到输出图像,而条件生成对抗网络对那些生成的点以及原图像和风格或者轮廓图像映射所生成的模型,最初的GAN 模型失败的几率很大,经常训练到一半就会崩溃。

在图像的艺术风格迁移上,已经有较多的研究,如2001年Hertzmann 等[2]提出了一种基于近似最近邻搜索的方法对图像的特征以及轮廓进行变换,2015年,Gatys 等[3]提出了一种采用神经网络的方法,自此深度学习开始提上了日程,但是效率方面还是有些欠缺,Johnson 等[4]提出采用之前的目标函数,通过训练神经网络只需将图片传入其中就可以得到自己想要的图像,并且可以实现实时地进行风格迁移。

当前许多图像风格迁移相关的工作,都是从损失函数的角度进行研究和改进,根据风格迁移任务的特点与难点,深度神经网络的图像表示与图像风格相关的特点。本文将从图像生成器的结构特点作出改变,通过把图象风格迁移,对已存在的方法进行改进。Cyclegan 已经实现不需要风格图就可以进行风格迁移,所以希望可以有通用的模型将图像展现出来。本文所提的方法使模型更加简单同时生成的风格迁移效果更清晰更真实。

1 改进的循环一致性对抗网络CycleGan结构

CycleGAN 可以实现在无监督的情况下可以实现图像与图像风格的转换,可以让图像不用配对只需传入两种图像即可,结构本身并未做出大的改变。

1.1 对抗生成网络

生成式对抗网络GAN,在2014年Goodfellow 等人[5]开创性地提出了生成式对抗网络,就是有一个生成器一个判别器这两个,通过生成器随机生成一些噪声向量,再通过判别器判别出图像的真伪,就这样不断地进行比较知道分辨不出真假为止。Goodfellow 等人提出的生成式对抗网络Gan 中对抗关系如式所示[6]:

其中:x 代表了图像中的一些数字,z 为传送给G 网络的噪点,G(z)最终的图形,Pdata(x)为输出实际图像的一些数据,Pz(x)表示传送到网络G 的一些噪点的分布。

1.2 CycleGAN结构

图1:CycleGan 的学习方式

图2:特征迁移示意图

图3:CycleGAN 网络构成

CycleGAN 在实现图像到图像的转换中,主要是学习输入图像和输出图像之间的映射关系[7]。杜振龙等人[8]改进的模型在图像迁移过程中大部分都需要训练的样本成对的出现就是一个原图像和风格图像,并且还需要一些标签,但大部分情况很难实现。对于此,Zhu 等人[9]提出了CycleGAN 结构,可以实现任意两个图像之间的风格迁移,不需要一些标签。该结构拥有两个G 与F 和Dx 与Dy,也就是生成式和判别式这两个结构,具体如图1所示。

在CycleGan 中,给定两个数据X 和Y,对应关系G:X→Y 和F:Y→X,判别的模型分别是Dx 与Dy。映射关系G:X→Y 的目标函数定义如下所示:

图4:生成器结构

图5:鉴别器结构

图6:CycleGAN 生成器结构图

图7:结合深度特征迁移的生成器结构图

同理,映射关系 F:Y→X 的目标函数定义如下所示:

其损失函数定义如下所示:

Cycle GAN 的总目标函数定义如下所示:

1.3 改进的生成式模型

本文设计的深度特征迁移模型包含三个部分:1、编码器;2、解码器;3、特征迁移模块。在原图像和风格图像当中,编码器部分与解码器共享其中的一些,由两个域各自特征迁移模块学习域之间的特征表示迁移。如图2所示。

图8:图像风格迁移图像

图9:梵高油画风格迁移效果

图10:梵高油画风格迁移效果细节

1.4 CycleGan网络结构

CycleGAN 为了实现没有标签的原图像与风格图像更好的结合在一起,根据迁移的机制,从风格图像的特征结合生成器模型进行一些改变。CycleGAN 网络结构如图。由编码器、转换器和解码器组成,如图3所示。

表1:结果比较

图11:头发特征迁移

生成器结构(图4):

(1)编码器:将图像依次输入到神经网络当中,提取到不同种类的风格。第一个卷积层的滤波器个数为64,输入到编码器时的尺寸为256×256,最终拥有256 个64×64 的特征向量

(2)转换器:将图像从一个领域中转换到另一个领域中。

(3)解码器:解码器就是编码器的逆过程。从特征向量中还原出低级特征的工作,等待图像生成即可。如图4所示。

(4)鉴别器:鉴别器将每一张图片预测为原始的图还是所生成的图像。如图5所示。

1.5 改进的生成器结构

CycleGAN 的生成器结构沿用了快速神经风格迁移[5]中使用的残差网络,有下采样层以及上采样层外带一些残差模块。生成器结构当中,采用两个步长为2 的下采样卷积层、9 个残差模块[11]、以及BN(Batch Normalization)层[8],卷积层和ReLU 层[12]结构如图6所示。

为了将深度特征迁移方法融合到CycleGAN 中,我们将生成器的下采样卷积层与残差模块中的前三个作为编码器,后三个残差模块与上采样卷积层作为解码器,中间三个残差模块作为特征迁移模块。Gx 与Gy 可以共享编码器与解码器[1]。修改后的生成器结构如图7所示。

2 实验与结果分析

本文实验中使用的操作系统为Ubuntu 14.04 位操作系统,内存16G,四核Inter CPU I7,显卡为NVIDIA GTX 2070,使用Tensorflow-gpu1.5 版本深度学习框架进行实验。本文所使用的基于改进CycleGAN 的图像风格迁移算法在网络训练过程选用1500 张素描图像作为图像风格数据,以及1000 张梵高油画,在人脸头发特征迁移以及梵高油画特征分别进行迁移。训练集中包含1500 张建筑风格的图像,以及一些素描图。模型采用随机梯度优化算法对参数进行优化,最开始的学习率设置为1e-5,批次大小为1。效果对比如图8所示。

图像风格迁移只是对图像的一些外观就比如说是色彩,轮廓进行了改变,并且在从图像的整体来看底层色彩也发生了不小的变化。Vangogh2photo 数据集拥有两种图形,一种是梵高的作品,还有一种是大自然的风景图,但是两者没有一一对应关系。图9是本章的方法在该数据集上的结果。从图10可以看到更加细致一点的改变。因此本文所做的一种基于改进的CycleGAN 的方法不仅让图像从底层色彩发生了变化,并且在外观的轮廓也拥有了梵高的一些特色,就目前来说,这种方法拥有一些通用性,也可以扩展到其他的应用上面。

如图11所示,本文搜集了1000 张公开的头发数据集,从实验结果可以看到,通过改进的方法,生成的头发特征效果不错,头发、脸庞等图像的看上去更加真实,人物并没有大的变化,从表情、神态、脸庞五官都有着不错的效果,证明改进的深度特征迁移方法也可以通用一些其它的迁移图。

3 评价指标

生成对抗网络生成图像,其本质还是一个图像处理问题,当然可以用评价图片质量的标准来衡量生成图片的质量,常用的评价图像质量的方法有主观评价和客观评价两种[12]。常见的客观评价指标有均方差(mean squared error,MSE)、峰值信噪比(peak signal to noise ratio,PSNR)和架构相似性指标(structual similarit,SSIM)[14],其数学表达式如下:

图像的SSIM 值越接近 1.0,表示原图像和目标图像更接近。

本文对比 WGAN、CycleGAN 和本文设计的 CycleGAN 生成图片的质量,得到表1。

从表1可知在素描类型的风格迁移实验结果中本文所提的改进型CycleGAN方法的SSIM和PSNR均高于其他方法。图像质量更优。

4 结论

从结果来看,本文提出的一种深度特征迁移改进的生成器,在图像风格迁移过程中,和原始的WGAN、CycleGAN 相比,所生成的图像的PSNR 值平均提高了4.81%,SSIM 值均提高了约7.74%,从头发特征迁移以及梵高的油画当中来看,本文所设计的模型具有一定的通用性,图片生成的质量也有所提升,实验结果表明可以试用一些其他的模型,从而减小了工作所需要的时间,并且从训练来看此模型较之前的相比,模型更加稳定一些,图像的真实性方面以及丰富性得到了一些提高,让人观测上去更加真实。本文只是对这几种风格图进行了实验,如果有条件的话可以尝试一些其他风格的效果展示。

猜你喜欢

解码器梵高编码器
梵高的世界
科学解码器(一)
《星月夜》和梵高
科学解码器(二)
科学解码器(三)
被盗窃的梵高
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计