基于St yl eGAN的动漫图像生成
2021-08-30董虎胜刘诚志朱晶徐苏安
董虎胜,刘诚志,朱晶,徐苏安
(苏州市职业大学 计算机工程学院,江苏 苏州 215104)
0 引言
动漫是人们广为喜爱的一种艺术表现形式,一些经典的动漫人物形象更是成为大家共同的美好回忆。在QQ、微信、钉钉等各种社交平台上也有许多用户喜欢使用个性化的昵称与动漫头像来彰显自己的爱好或是风格。在一些场合中,也需要从真实图像获得动漫风格图像。然而,在这些用户群体中大部分人员却不一定具备动漫图像的创作能力,根据特定要求生成动漫风格的目标图像就成为他们的现实需求。
近年来深度学习的进展为人们使用计算机生成动漫风格图像提供了可行的解决方案。由KingMa等[1]提出的变分自动编码器(Variational AutoEncoder,VAE)就具有自动生成图像的功能,但是存在生成图像比较模糊与目标图像随机的不足。随着具有能够捕捉数据内在分布规律的对抗生成网络(Generative Adversarial Net,GAN)[3]的提出,使得生成更为清晰的图像成为可能[3,4]。但是,GAN模型同样存在目标不可控的问题,而且在训练上也较为困难。
通过对GAN的改进,相继提出了条件对抗生成网络(Conditional Generative Adversarial Net,CGAN)[5]与深度卷积对抗生成网络(Deep Convolutional GAN,DC⁃GAN)[6]等模型,模型能够生成指定类别的图像。尤其是最近基于风格的对抗生成网络(Style based GAN,StyleGAN)[7]的提出,从随机噪声生成具有特定细节与整体目标风格的图像获得明显的进步。本论述首先对StyleGAN的工作机制进行了细致的分析研究,并将其进一步应用到动漫图像的生成上,实验中生成的动漫图像结果验证了StyleGAN优秀的图像生成质量与风格可控性。
1 生成对抗网络模型
生成对抗网络GAN学习模型由生成器G和判别器D两个基本的模块构成,通过两者的博弈最终达纳什平衡状态,达到学习训练数据内在分布的目标。其中生成器G接收的是随机的噪声向量z,输出的结果也就是生成的数据G(z)与真实训练数据具有相同的结构与尺寸。GAN模型中判别器D的输入数据中即有来自真实训练集的样本xIIIIIIIGIIIG(z)。在训练过程中,判别器D努力地区分出x与G(z)。如果输入样本为G(z),则判断其类别标签为0;若输入的真实样本x,则判断其类别标签为1。而生成器G的目标则是努力地让生成的G(z)与来自真实训练集的样本x难以被分辨出来。这就形成了生成器GIIIID不断对抗博弈的过程。通过他们的相互对抗与迭代优化,生成器G和判别器D的性能都会不断提升,最终D将无法区分出数据的来源,也就是真实样本与生成的“假”数据的分类概率都将趋于1/2。而这时生成器G则被认为已经学习到了真实数据的内在分布,由其生成的“假”数据已经能够混杂于真实数据中,呈现出相同的属性。
根据上面的描述,可以将GAN模型的学习目标表达为如下的函数形式:
式中pz(z)为噪声z服从的概率分布,pdata为真实训练样本x服从的概率分布,分别指代判别器D输出的分类概率的数学期望。从式中可知GAN模型训练,实际上是一个以最大化判别器D与最小化生成器G为目标的min-max的博弈过程。
在GAN模型中对生成器G和判别器D并不需要严格指定其模型的形式,任何具有生成与判断能力的模型均可应用到这种对抗学习架构中来。但是由于深度模型具有比传统浅层机器学习模型更优的学习能力,特别是卷积神经网络(Convolutional Neural Networks,CNN)在处理图像数据时具有独特的优势,因此在将GAN模型应用于图像生成时一般使用CNN作为生成器G,并使用具有转置卷积结构的网络作为判别器D。
2 StyleGAN模型
在传统的GAN模型中,生成器G接收的随机噪声在作归一化处理后随即通过卷积与上采样进入图像的生成环节。这样的生成过程比较简单,无法对结果图像添加一些属性或样式的控制。为了获得更好的生成结果,在StyleGAN中将生成器G拆分为如图1所示的映射网络(Mapping netowrk)f与合成网络(Synthesis network)g两个子网络,通过两者的协作实现在生成图像的过程中对细节属性与全局风格的控制。
图1 St yl eGAN中的生成器结构
在映射网络f中,对接收的隐藏表达向量zl作归一化处理后,通过8个全连接层进行空间映射处理,从而将输入的向量编码为中间表达w。通过对z作这样的映射,将会使隐藏空间得到有效的解耦。因为特征空间中不同的子空间信息对应着数据的不同类别信息或整体风格,如果它们之间相互关联存在较高的耦合性,就会使模型难以获得特征隐藏的深层次关系。与之相反,解耦后的特征则有助于更好的对数据分类或合成。
合成网络g的作用与传统的GAN模型中的生成器G相同,起到生成图像的功能,而且也采用了与传统生成器G类似的Block结构。但是在g的每个Block中都额外地输入了A和B两个信号,其中A是由w转换得到的仿射变换,用于控制生成图像的风格;B是转换后的随机噪声,用于丰富生成图像的细节。每个卷积层都能根据输入的A来调整图像的整体风格,同时又利用B来调整画面中的细节信息。合成网络g中在较低的层上能够实现对整体轮廓与外形的视觉控制,而随着Block层次的加深,将会为生成的图像添加更多的细节信息,从而在更精细的尺度上控制图像的一些微观特征。
与传统GAN的生成器相比,StyleGAN中合成网络g另一个重要差异是在每个Block中都添加了两个自适应样本归一化(Adaptive Instance Normalization,AdaIN)层。该层的工作过程如下式所示:
从式中可以看出AdaIN需要首先对每个特征xi作标准化处理,然后使用样式y中相应的信息进行缩放与添加偏置。借助AdaIN层对xi的处理与加入外部信息,合成网络g就可以通过接收外部的单通道随机噪声B向生成的图像中添加局部随机的信息。比如,在生成人脸图像时在其中添加皱纹和雀斑等局部内容。由于AdaIN层还接收映射网络获得的风格信息A,因此还同时能够控制画面的整体风格,比如生成人脸图像时对其身份、姿态、角度等进行控制。
StyleGAN中的判别器D用于实现区分合成图像与真实图像的功能,采用了常用的深度卷积-降采样-非线性激活的网络结构,通过提取图像的深度卷积特征来判断其类别,最终的输出为二值标签,指示图像是否为真实图像。
在StyleGAN的工作过程中,判别器接收的1024×1024大小的图像,映射网络接收的向量为512×1大小,输出的隐藏向量的形状为512×18,所有的非线性激活层均使用了LeakyReLU激活函数。
3 动漫图像生成实验
实验中采用了Anime-Face动漫头像数据集对StyleGAN模型进行了训练与图像生成测试。Anime-Face中收集了63 632张高质量的动漫头像,每张图像的大小在90×90~120×120大小之间。与其他数据集相比,该数据集中的动漫图像具有更丰富的色彩,背景也更为清晰。实验时这些图像被统一缩放到了96×96的大小。我们在Ubuntu18.04环境下使用Tensor⁃Flow1.13深度学习框架进行实验,并使用NVID⁃IA1080GPU显卡与CUDA10进行加速。
实验首先进行了随机的动漫头像生成测试。为了对生成的图像进行对比分析,实验中还使用DCGAN模型训练200个epoch后再生成图像。图2(a)给出了由StyleGAN生成的部分图像,可以看到这些图像具有非常优秀的显示质量,图像的细节都很清晰。而由DC⁃GAN模型生成的图像(如图2(b)如示)在图像清晰度上要差了很多,细节上也模糊不清。由此可见StyleGAN在图像生成质量上具有显著的优势。
图2 St yl eGAN与DCGAN生成的图像对比
4 结论
本论述对深度学习中基于风格的对抗生成网络StyleGAN模型进行了研究,并将其应用到动漫图像的生成实验中。在使用Anime-Face数据集中的图像对模型训练后,模型能够生成具有优秀视觉质量的动漫图像。将该方法应用在艺术创作类的应用之上,可以大幅度提高艺术创作的效率。