吴子扬,贺 丹,李映琴
(东莞理工学院城市学院,广东 东莞 523419)
计算机视觉技术[1]是一门研究关于如何利用照相机和计算机来获取用户感兴趣的被拍摄对象的数据与信息的技术,图像处理作为计算机视觉研究领域中的热点内容,尤其是在人工智能技术飞速发展的情形下,学者对图像处理技术的研究与日俱增,研究成果也十分显著。
在图像处理的领域中,一些学者利用深度学习方法在图像风格迁移应用中取得了良好的风格迁移效果,所谓图像风格迁移[2],就是利用计算机处理技术将内容图像A中融入风格图像B的风格特点,从而得到风格迁移的结果图像C,使结果图像C既具有内容图像A的内容特征,又具有风格图像B的纹理、色彩等风格特征。其中内容图像A可以是生活照、风景照等写实类型的图像,风格图像B可以是素描画、油画、民族画等风格鲜明的图像,通过图像风格迁移,将风格图像B的风格特色融入到内容图像A中,使结果图像C既呈现出内容图像A的内容特征,又具有风格图像B的纹理、色彩特征。已有研究人员将图像风格迁移技术应用在刺绣风格数字合成[3]、现代室内家居设计[4]等领域,将传统艺术风格与现代科学技术进行融合,给图像处理领域带来新的体验。
在2015年GATYS[5-6]等人提出运用深度学习中的卷积神经网络模型来实现图像的风格迁移这一目标,通过分类内容图像A的内容特征表示和风格图像B的风格特征表示,实现了图像风格迁移,且效果较为理想。因此,本文在此基础上,利用基于卷积神经网络的VGG-19模型,结合Google人工智能开源框架TensorFlow设计出快速图像风格迁移算法,利用图像风格迁移实例开展图像风格迁移应用研究。
在图像风格迁移过程中,将深度学习的方法应用在图像特征提取中,已经取得了较好的研究效果[7-8]。尤其是随着深度神经网络(Deep Neural Networks,DNN)、卷积神经网络(Convolutional Neural Networks,CNN)等方法在图像处理领域中的广泛应用,图像风格迁移效果逐步提高。
卷积神经网络由多层神经网络构成,主要包括5个层级结构:输入层(Input layer)、卷积层(CONV layer)、激励函数(ReLU layer)、池化层(Pooling layer)和全连接层(FC layer)。其中输入层进行数据输入,同时对输入的数据做简单的处理,包括去均值、归一化、PCA/SVD降维等。卷积层是卷积神经网络中最重要的一层,主要进行局部关联,将每一个神经元当成一个滤波器,同时利用滑动窗口机制用滤波器对局部数据进行卷积计算,通过卷积层提取出输入数据的特征,并输出对应的特征矩阵。激励层主要是对卷积层的输出结果执行一次非线性映射操作,常用的激励函数包括Sigmod函数、ReLU函数、Tanh函数等。池化层也可以称为欠采样或者下采样。主要用于特征降维,压缩数据和参数的数量,减小数据的过拟合,并提高模型的容错性。全连接层将经过卷积层、激励函数、池化层等操作之后的数据元素串联在一起,并作为分类判决的投票值,并根据投票值得到最终的分类结果。
VGG(Visual Geometry Group Network)神经网络模型是由牛津大学的计算机视觉组和Google Deep-Mind公司于2014年一起研发的深度卷积神经网络[9],自研发成功以来已经推出了VGG-16、VGG-19等网络模型。VGG-19神经网络模型结构如图1所示,从图中可知,VGG-19网络由16个卷积层、5个池化层、3个全连接层组成,卷积核大小为3×3,卷积步长为1,池化层中的池化方式为最大池化maxpool。目前,在基于深度学习的图像风格迁移研究中,VGG-19模型在图像特征提取环节表现十分出色。
图1 VGG-19神经网络模型结构图
2011年谷歌大脑发起大规模深度学习应用研究,并推出了“第一代机器学习系统”DisBelief,通过DisBelief构建各尺度下的神经网络分布式学习和交互系统,这一系统在谷歌公司的产品中被广泛使用。在2015-11,谷歌大脑基于DisBelief推出了“第二代机器学习系统”TensorFlow[10],并将TensorFlow代码开源,与DisBelief相比,TensorFlow处理性能更高,系统框架的灵活性和可移植性也得到提升。
在TensorFlow中用Tensor表示张量,是一个多维数组,使用张量的目的是构造更高维度的数组或者向量,满足更多场景的实验需求。用Flow表示基于数据流图的计算过程,TensorFlow程序的计算过程分为构建计算图和执行计算图,其中计算图的构建过程是将数据计算内容和计算过程用一个完整的数据流图表示出来。
自TensorFlow发布以来,先后推出了1.0版本和2.0版本,均支持卷积神经网络(CNN)、循环神经网络(RNN)、长短时记忆网络(LSTM)等常见深度神经网络模型。本文基于VGG-19神经网络模型,借助深度学习框架TensorFlow进行图像风格迁移研究,TensorFlow框架的使用提高了研究效率。
图像风格迁移是计算机视觉研究领域中的一个重要研究内容,一个简单的图像风格迁移的实例如图2表示。其中图2(a)为内容图像,是一张小女孩在海边的生活照,图2(b)为风格图像,选取了梵高的星空油画作品,风格图像色彩以蓝、黄为主,图2(c)为风格迁移之后的结果图像,通过观察结果图像可知,迁移之后的结果图像内容与图2(a)保持一致,同时又具有图2(b)中的色彩、纹理等风格。
此外,从图2中“图像风格迁移网络”模块部分可知,首先通过VGG-19神经网络模型分别提取出内容图像的内容特征和风格图像的风格特征,接着通过损失函数分别计算出内容损失和风格损失,并以总误差下降为目标,不断调整模型参数和迭代次数,最终实现图像风格迁移。
图2 图像风格迁移实例
本文重点研究VGG-19神经网络模型在图像风格迁移领域的应用,以Google的TensorFlow框架为模型实现框架,实现图像风格迁移研究。
实验项目以Python为编程语言,以TensorFlow为框架实现VGG-19神经网络模型。实验硬件平台处理器为Intel(R)Core(TM)i5-7200U,主频为2.50 GHz,内存为8.00 GB。
实验过程中,选取图2(a)中小女孩在海边的生活照为内容图像,以色彩和风格鲜明的经典油画作品为风格图像,分别进行不同条件下的图像风格迁移实验。
选择小女孩在海边的生活照为内容图像,如图3(a)所示。选取梵高的星空油画作品为风格图像,如图3(b)所示。采用不用的模型参数和训练次数,得到的结果分别如图3(c)、(d)、(e)所示。
从图3可知,在使用相同的内容图像和风格图像,选取不同的模型参数和模型训练次数得到的图像风格迁移结果是不同的,迁移结果图像的色彩特征、纹理特征等都存在明显的不同。
图3 不同模型参数的图像风格迁移结果
选择小女孩在海边的生活照为内容图像,如图4(a)所示。分别选取不同风格的的油画作为风格图像,如图4(b)、(c)、(d)、(e)所示。采用相同的模型参数和训练次数,得到的图像风格迁移结果分别如图4(f)、(g)、(h)、(i)所示。
从图4可知,当采用同一内容图像,不同的风格图像,在相同的模型参数和训练次数的情况下,得到的风格迁移结果各不相同,展现的色彩特征、纹理特征等也存在较大差异。
图4 不同风格图像的图像风格迁移结果
本文以图像风格迁移为主要研究内容,借助VGG-19神经网络模型分别提取内容图像的内容特征和风格图像的风格特征,以Google人工智能框架TensorFlow为实现框架,通过设置不同的模型参数和迭代次数,逐步降低内容损失和风格损失,最终实现图像风格迁移。从实验可知,采用本文方法实现的图像风格迁移效果良好,既保证了内容图像的完整性,同时具有风格图像的色彩特征、纹理特征等特性。在今后,将继续研究提高图像风格迁移算法,进一步提高图像风格迁移效率,并将研究结果推广至实际生活生产应用中。