基于CycleGan的山水画风格迁移
Landscape Painting Style Migration Based on CycleGan
DOI: 10.12677/CSA.2023.135095, PDF, HTML, XML, 下载: 558  浏览: 2,192 
作者: 吕泽华, 唐嘉晨, 王琦媛, 谢文誉, 刘懿峤:大连外国语大学软件学院,辽宁 大连
关键词: CycleGAN山水画风格迁移优化方法CycleGAN Landscape Painting Style Transfer Optimization Method
摘要: 山水画作为中国传统绘画的独特艺术形式,一直以来都备受关注。在互联网流行的今天,通过社交媒体分享的图片,与用于各种场合的图集占据了互联网很大一部分空间。如何有效利用这一庞大的图片资源,并与现有的技术结合,设计出具有实际意义的作品是本文的主要目的。利用GANs技术设计生成的自主学习模型机,可以在大量的同类别的数据集中寻找到人眼难以发现的规律,并加以学习,生成以分析得到的规律为基础的新图像。本研究旨在利用CycleGAN方法进行山水画风格的迁移。我们构建了一个包含大量山水画和普通照片的训练数据集,并使用CycleGAN模型进行训练。通过生成器和判别器之间的对抗学习,我们实现了从普通照片到山水画和从山水画到普通照片的双向风格迁移。该技术在数据集充裕的情况下,可以对数据进行预测,对人眼难以发现的特征进行提取,对大数据进行整合等功能,有着很大的应用前景。实验结果表明,我们的方法在实现山水画风格迁移方面取得了显著的成果。生成的图像在保持了原始照片的内容的同时,成功地融合了山水画的独特风格,具有艺术性和视觉吸引力。并且还通过定量和定性的评估指标对生成图像进行了评估,验证了方法的有效性和稳定性。此外,本研究创新性具体表现在动态风格迁移:基于CycleGAN的山水画风格迁移还可以实现动态风格迁移,即将不同时间段的山水画进行转换,以呈现出不同的季节或氛围。这一方法在艺术创作、设计和虚拟现实等领域具有广泛的应用潜力。通过将传统山水画风格与现代照片图像进行结合,为研究图像生成技术的发展和艺术应用领域的拓展带来了新的可能性。
Abstract: As a unique art form of traditional Chinese painting, landscape painting has always attracted much attention. With the popularity of the Internet today, pictures shared through social media and atlases used in various occasions occupy a large part of the Internet space. How to make effective use of this huge picture resource and combine it with the existing technology to design works with practical significance is the main purpose of this article. The self-learning model machine designed and generated by using GANs technology can find rules that are difficult for human eyes to find in a large number of data sets of the same category, and learn them to generate new images based on the rules obtained by analysis. This study aims to use the CycleGAN method for landscape painting style transfer. We construct a training dataset containing a large number of landscape paintings and general photos, and use the CycleGAN model for training. Through adversarial learning between the generator and the discriminator, we achieve bi-directional style transfer from ordinary photos to landscape paintings and from landscape paintings to ordinary photos. In the case of abundant data sets, this technology can predict data, extract features that are difficult for human eyes to find, and integrate big data, which has great application prospects. Experimental results show that our method achieves remarkable results in achieving landscape painting style transfer. The resulting image successfully incorporates the unique style of landscape painting for artistry and visual appeal while maintaining the content of the original photo. And the generated images are also evaluated by quantitative and qualitative evaluation indicators, verifying the effectiveness and stability of the method. In addition, the innovation of this research is embodied in the dynamic style transfer: the landscape painting style transfer based on CycleGAN can also realize the dynamic style transfer, that is, to convert the landscape paintings of different time periods to present differ-ent seasons or atmospheres. This approach has potential for a wide range of applications in areas such as art creation, design, and virtual reality. By combining the traditional landscape painting style with modern photographic images, it brings new possibilities for the development of research image generation technology and the expansion of artistic application fields.
文章引用:吕泽华, 唐嘉晨, 王琦媛, 谢文誉, 刘懿峤. 基于CycleGan的山水画风格迁移[J]. 计算机科学与应用, 2023, 13(5): 973-980. https://doi.org/10.12677/CSA.2023.135095

1. 引言

在现代艺术领域,山水画作为一种古老而典雅的艺术形式,一直以其独特的笔触、墨色和构图而闻名。然而,在实际的山水画创作中,艺术家们面临着一些挑战和问题。首先,随着社会的快速发展和人们对多样化艺术表现形式的需求增加,传统的山水画创作方式可能无法满足当代艺术家的创作欲望和审美需求。其次,由于山水画作为一种高度技巧性的艺术形式,需要艺术家具备丰富的绘画经验和技能,因此对于缺乏专业绘画背景的人而言,创作一幅传统的山水画可能变得困难。

为了解决上述问题,本文将基于CycleGAN [1] (循环生成对抗网络)技术,提出一种新的山水画风格迁移方法。通过利用深度学习和生成对抗网络的强大能力,我们旨在实现将不同风格的图片转换为山水画风格的自动化过程,从而使非专业艺术家也能够轻松地创作出具有传统山水画特色的作品。

具体而言,本文将致力于解决以下几个问题:

传统水墨画创作方式的限制:通过使用CycleGAN技术,我们可以突破传统山水画创作方式的限制,实现对多种风格的自动化转换,从而为艺术家提供更多的创作灵感和可能性。

非专业艺术家的创作困难:通过本文提出的山水画风格迁移方法,非专业艺术家可以通过输入不同风格的图片,获得具有传统山水画特色的作品,从而降低了创作的难度和门槛。

实现自动化的山水画风格迁移:本文将通过深度学习和生成对抗网络的结合,提出一种自动化的山水画风格迁移方法,通过对大量样本进行学习和训练,使网络能够准确地捕捉水墨画的特点,从而实现高质量的风格迁移。

为了解决以上问题,本文将采用CycleGAN技术,并在实验中对比不同的网络架构和参数设置,从而得到最佳的山水画。

2. 相关工作

许多名画造假者费尽毕生的心血,试图模仿出艺术名家的风格。如今,CycleGAN就可以初步实现这个神奇的功能。这个功能就是风格迁移,比如下图右图,照片可以被赋予莫奈,梵高等人的绘画风格。甚至传统的中国山水画(水墨画)也可以生成。

其结构如图1所示:

Figure 1. pix2pix and CycleGan migration diagram

图1. pix2pix和CycleGan迁移图

图像风格迁移是计算机视觉和机器学习领域的一个活跃研究方向。早期的方法,例如纹理合成和艺术风格转换,使用手工制作的特征和优化方法来实现样式化效果。最近,基于深度学习的方法在这个领域取得了显著的进展。其中,GANs是目前最成功的图像生成技术之一,它可以学习到数据分布的潜在结构并生成逼真的图像。CycleGAN是GANs的一种变体,它的主要特点在于不需要成对的训练数据即可实现图像风格迁移。相对于传统的图像风格迁移方法,CycleGAN具有更大的灵活性和可扩展性,使得它可以应用于更广泛的应用场景。

代码结构如下:

1)—data_reader.py # 读取、处理数据。

2)—layers.py # 封装定义基础的layers。

3)—model.py # 定义基础生成网络和判别网络

4)—trainer.py # 构造loss和训练网络。

5)—infer.py # 预测脚本

3. CycleGan基本结构

CycleGAN技术是由朱俊彦等人在2017年提出的一种基于GANs的图像风格迁移技术 [2] ,其基本原理如下。

3.1. 生成器

生成器(CycleGAN的生成器是一个U形结构的卷积神经网络,它包含了一些卷积层、反卷积层和跳跃连接。与其他的图像生成网络相比,CycleGAN的生成器设计了一个U形结构,使得网络能够更好地保留图像的细节和纹理信息。同时,CycleGAN还采用了残差块的技术,使得生成器能够更好地学习到高频细节信息。在训练过程中,生成器的目标是将输入的源域图像转换成目标域的风格。在训练时,它会根据鉴别器的反馈,不断更新自己的参数,以获得更好的图像转换效果。

3.2. 鉴别器

GAN的鉴别器是一个基于卷积神经网络的二分类器 [3] ,用于区分输入的图像是否为目标域的真实图像。鉴别器通过学习来判断输入的图像是否是目标域的真实图像,它的目标是将生成器生成的假图像与目标域的真实图像区分开来。

在训练过程中,鉴别器会根据真实的目标域图像和生成器生成的假图像进行训练。它的训练目标是尽可能准确地将真实图像和假图像分开。通过反向传播算法,鉴别器不断更新自己的参数,以提高自己的分类准确率。

3.3. 损失函数

CycleGAN的损失函数是由四个部分组成的:生成器的损失、鉴别器的损失、循环一致性损失和身份损失。生成器的损失是目标域的真实图像和生成器生成的假图像之间的MSE损失。鉴别器的损失是二分类交叉熵损失,用于衡量鉴别器对真实图像和假图像的分类准确率。循环一致性损失是为了确保图像在域之间的转换是可逆的。具体地说,它是源域图像经过生成器转换成目标域图像后再通过逆向的生成器转换回原来的源域图像时,与原始源域图像之间的MSE损失。身份损失是为了防止过拟合,在训练过程中引入了一些源域图像或目标域图像的原始图像,用于监督生成器产生与原始图像相同的输出。

3.4. 优化方法

为了提高模型的性能,本文采用了多种优化方法。CycleGAN是一种无监督的图像风格迁移方法,它可以将两个不同风格的图像集合进行转换,而无需成对的训练数据。因此,基于CycleGAN的山水画风格迁移的优化方法主要体现在以下几个方面:

首先,本文使用了算法优化:基于CycleGAN的山水画风格迁移中,使用深度残差网络(ResNet)来构建生成器和判别器,以增强网络的学习能力和稳定性。

其次,采用了Adam优化器来优化生成器和鉴别器的参数。其次,在生成器的损失函数中,采用了L1和L2正则化项,以避免生成的图像出现过多的噪声和失真。而且,本文还采用了一种称为“渐进式训练”的方法 [4] [5] [6] ,它可以在训练过程中逐步增加训练的图像分辨率,以提高模型的稳定性和能力。

此外,在传统的图像风格迁移方法中,通常只能将一幅图像转换为一个特定风格的图像。而基于CycleGAN的山水画风格迁移中,可以实现将多种不同风格的山水画进行融合,生成具有多种风格的山水画。

4. 实验与分析

4.1. 数据获取

数据集来源为github,数据图片为9230张,像素为256 × 256,分为水墨画和山水画。

其图像如图2所示:

Figure 2. The left picture is a landscape painting, and the right picture is an ink painting

图2. 左图为山水画,右图为水墨画

4.2. 数据预处理

1) 将目标图片计数,并且重命名,便于数据处理。

2) 数据集划分,通过多次测试,数据集3~7划分数据图片精度最高 [7] [8] ,并且loss最小。

3) 将统计过后的数据存入测试集和训练集,并且将其重命名和数量添加到对应的txt中,例如:trainB.txt,test.txt等等。

4.3. 数据读取

将之前生成的txt文本读取进行处理,并且读取训练集文件夹,在数据的读取过程中,加入参数Shuffle [9] 可以防止训练过程中的模型抖动,有利于模型的健壮性,并且可以提升模型质量,提升预测表现。

4.4. 数据预测

CycleGAN模型的训练分为两个阶段。在第一个阶段,训练生成器G1和鉴别器D1 [10] ,使得G1可以将真实照片转换为山水画风格的照片,并使得D1可以准确地区分真实照片和山水画风格的照片。在第二个阶段,训练生成器G2和鉴别器D2,使得G2可以将山水画风格的照片转换回真实照片,并使得D2可以准确地区分山水画风格的照片和真实照片。在这两个阶段中,生成器和鉴别器之间进行互相对抗学习,逐步完善模型。

4.5. 实验结果

本文使用Python编写了CycleGAN模型,并在一台GPU服务器上进行了训练。训练过程中,使用了数据增强技术,包括随机裁剪、旋转、缩放等,以增加数据集的多样性。最终训练的模型在测试集上取得了较好的效果,能够将现实生活照片转换为山水画风格的照片,并将山水画风格的照片转换回真实照片。在几个不同的数据集上进行了实验,包括风景、动物和人物等不同类别的图像。实验结果表明,CycleGAN能够成功地实现不同域之间的图像风格迁移,并产生高质量的图像输出。

实验结果具有创新性与现有研究成果对比:

在这项实验中,使用了基于CycleGAN (Cycle-Consistent Adversarial Networks)的方法来进行山水画风格的迁移 [11] [12] 。与现有的研究成果相比,本次实验的研究在以下几个方面具有创新性:

多样性的风格迁移:设计的方法能够实现多样性的风格迁移,不仅限于单一的山水画风格。通过在训练数据中引入多种山水画风格的样本,使模型能够生成更加丰富多样的风格化图像,包括不同山水画家的独特风格。这一点在现有的研究中较为罕见,可以为艺术家和设计师提供更大的创作灵感和选择空间。

保留原始图像的语义信息:在进行风格迁移的同时,保留原始图像的语义信息。这意味着生成的风格化图像在保持山水画风格的同时,仍然能够保持原始图像的内容和结构特征,从而更好地满足用户的需求。这一点在现有的研究中仍然存在挑战,许多方法在进行风格迁移时会丧失原始图像的语义信息,导致生成的图像失去了原始图像的真实性和可识别性。

高质量的生成图像:在生成风格化图像时能够保持较高的图像质量。通过引入循环一致性损失和对抗性损失来优化生成器和判别器的训练,从而生成更加逼真和自然的风格化图像,与现有的研究成果相比,生成图像更加清晰、细致,并且能够更好地保持山水画风格的特点。

通过在大量的山水画和风格画之间进行训练,并对比了生成图像与原始图像以及目标风格画之间的相似性,验证了方法在山水画风格迁移任务中的有效性和鲁棒性 [13] 。此外,还进行了用户调查和评价,得到了积极的反馈。用户认为方法能够生成高质量、多样性和富有创意的山水画风格化图像,并且能够保持原始图像的语义信息。与此同时,还与其他已有的山水画风格进行对比。

其图像如图3所示:

Figure 3. The left picture is before migration, and the right picture is after migration

图3. 左图为迁移前,右图为迁移后

5. 结语

生成对抗网络(Generative Adversarial Network,简称GAN)是一种非监督学习的方式,通过让两个神经网络相互博弈的方法进行学习,该方法由lan Goodfellow等人在2014年提出。生成对抗网络由一个生成网络和一个判别网络组成,生成网络从潜在的空间(Latent Space) [14] 中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能的分辨出来。而生成网络则尽可能的欺骗判别网络,两个网络相互对抗,不断调整参数。生成对抗网络常用于生成以假乱真的图片。此外,该方法还被用于生成影片,三维物体模型等。

本文主要讲CycleGAN,它由两个生成网络和两个判别网络组成,生成网络A是输入A类风格的图片输出B类风格的图片,生成网络B是输入B类风格的图片输出A类风格的图片。生成网络中编码部分的网络结构都是采用convolution-norm-ReLU [15] 作为基础结构,解码部分的网络结构由transpose convolution-norm-ReLU组成,判别网络基本是由convolution-norm-leaky_ReLU [16] [17] 作为基础结构详细的网络结构可以查看network/CycleGAN_network.py文件。生成网络提供两种可选的网络结构:Unet网络结构和普通的encoder-decoder [18] 网络结构。生成网络损失函数由LSGAN的损失函数,重构损失和自身损失组成,判别网络的损失函数由LSGAN的损失函数组成。

本文提出了一种基于CycleGAN的水墨画风格迁移方法,并在真实数据集上进行了实验。实验结果表明,所提出的方法能够有效地实现图像风格迁移,并在一定程度上提高了图像的视觉质量。同时,本文还展示了该方法在实际应用中的潜力,并提出了未来的研究方向,例如探索更多的图像风格迁移任务,改进模型的性能和稳定性等。本文提出的基于CycleGAN的水墨画风格迁移方法为图像风格迁移领域的研究提供了一种新的思路和方法,有望在实际应用中发挥重要作用,为图像处理和艺术创作带来新的发展机遇。

参考文献

[1] Zhu, J.Y., Park, T., Isola, P. and Efros, A.A. (2017) Unpaired Image-to-Image Translation Using Cycle-Consistent Ad-versarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV), Venice, 22-29 Oc-tober 2017, 2223-2232.
https://doi.org/10.1109/ICCV.2017.244
[2] Kim, T., Cha, M., Kim, H. and Lee, J.K. (2017) Learning to Discover Cross-Domain Relations with Generative Adversarial Networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, 21-26 July 2017, 3799-3807.
[3] Liu, M.Y., Breuel, T. and Kautz, J. (2017) Unsupervised Image-to-Image Translation Networks. Advances in Neural Infor-mation Processing Systems (NIPS), Long Beach, 4-9 December 2017, 700-708.
[4] Huang, X., Liu, M.Y., Belongie, S. and Kautz, J. (2018) Multimodal Unsupervised Image-to-Image Translation. Proceedings of the European Conference on Computer Vision (ECCV), Munich, 8-14 September 2018, 172-189.
https://doi.org/10.1007/978-3-030-01219-9_11
[5] Zhang, H., Xu, T., Li, H., Zhang, S., Wang, X., Huang, X. and Metaxas, D. (2018) StackGAN++: Realistic Image Synthesis with Stacked Generative Adversarial Networks. IEEE Transactions on Pattern Analysis and Machine Intelligence (TPAMI), 41, 2513-2527.
https://doi.org/10.1109/TPAMI.2018.2856256
[6] Bousmalis, K., Silberman, N., Dohan, D., Erhan, D. and Krishnan, D. (2018) Unsupervised Pixel-Level Domain Adaptation with Generative Adversarial Networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, 18-22 June 2018, 3722-3731.
https://doi.org/10.1109/CVPR.2017.18
[7] Liu, M.Y. and Tuzel, O. (2018) Coupled Generative Ad-versarial Networks. Advances in Neural Information Processing Systems (NIPS), Montréal, 3-8 December 2018, 469-477.
[8] Yi, Z., Zhang, H., Tan, P. and Gong, M. (2017) DualGAN: Unsupervised Dual Learning for Im-age-to-Image Translation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, 21-26 July 2017, 2868-2876.
https://doi.org/10.1109/ICCV.2017.310
[9] Zhang, X., Zhu, C. and Heng, P.A. (2019) Translating and Segmenting Multimodal Medical Volumes with Cycle- and Shape-Consistency Generative Adversarial Network. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Long Beach, 16-20 June 2019, 9242-9251.
https://doi.org/10.1109/CVPR.2018.00963
[10] Wang, X., Girshick, R., Gupta, A. and He, K. (2018) Non-Local Neural Networks. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, 18-22 June 2018, 7794-7803.
https://doi.org/10.1109/CVPR.2018.00813
[11] Li, Y., Fang, C., Yang, J., Wang, Z. and Lu, X. (2019) Diverse Image Synthesis from Semantic Layouts via Conditional IMLE. Proceedings of the IEEE Conference on Computer Vi-sion and Pattern Recognition (CVPR), Long Beach, 16-20 June 2019, 8784-8793.
https://doi.org/10.1109/ICCV.2019.00432
[12] Liu, X., Shen, X. and Huang, T.S. (2018) A Neural Representation of Sketch Drawings. Proceedings of the European Conference on Computer Vision (ECCV), Munich, 8-14 September 2018, 430-446.
[13] Choi, Y., Choi, M., Kim, M., Ha, J.W., Kim, S. and Choo, J. (2018) StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, 18-22 June 2018, 8789-8797.
https://doi.org/10.1109/CVPR.2018.00916
[14] Zhang, R., Isola, P. and Efros, A.A. (2018) Colorful Image Color-ization. Proceedings of the European Conference on Computer Vision (ECCV), Munich, 8-14 September 2018, 649-666.
https://doi.org/10.1007/978-3-319-46487-9_40
[15] Wu, Y. and He, K. (2018) Group Normalization. Proceedings of the European Conference on Computer Vision (ECCV), Munich, 8-14 September 2018, 3-19.
https://doi.org/10.1007/978-3-030-01261-8_1
[16] Liu, X., Liang, X., Liu, L., Shen, X., Yang, M.H. and Huang, T.S. (2017) Generative Adversarial Training for Visual Storytelling. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, 21-26 July 2017, 834-842.
[17] Zhang, H., Goodfellow, I., Metaxas, D. and Odena, A. (2018) Self-Attention Generative Adversarial Networks. Advances in Neural Information Processing Systems (NIPS), Montréal, 3-8 December 2018, 7424-7435.
[18] Yu, J., Lin, Z., Yang, J., Shen, X., Lu, X. and Huang, T.S. (2018) Generative Image Inpainting with Contextual Attention. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Salt Lake City, 18-22 June 2018, 5505-5514.
https://doi.org/10.1109/CVPR.2018.00577