APP下载

一种基于卷积神经网络的油画风格迁移算法

2020-01-26江敏樊宗昶盛然竺德段运生李芳芳孙冬

电脑知识与技术 2020年34期
关键词:卷积神经网络油画

江敏 樊宗昶 盛然 竺德 段运生 李芳芳 孙冬

摘要:油画风格是把一张图像的油画风格信息加到任意某张图像上,并保持该图像的语义内容,产生一个新的具有观赏性的图像。本文主要介绍了一种基于卷积神经网络的图像风格算法,可以分离和重组自然图片的图像内容与风格,进而实现图片的油画化迁移。该算法可以将任意图像的内容与众多知名油画风格相结合,获得高感知质量的艺术作品。通过实验验证该算法能够实现图像内容与油画风格的深度融合,证明了该算法的有效性。

关键词:卷积神经网络;图像风格化;油画

中图分类号: TP18        文献标识码:A

文章编号:1009-3044(2020)34-0006-04

Abstract:The oil painting style is to add the sand painting style information of an image to any image, and maintain the semantic content of the image to produce a new ornamental image, mainly introducing a convolutional neural network based image. This paper mainly introduces an image style algorithm based on convolutional neural network, which can separate and reorganize the image content and style of natural pictures, and then realize the oil painting migration of pictures. The algorithm combines the content of any image with many well-known oil painting styles to achieve high-perceptual quality artwork. The experimental results show that the algorithm can achieve deep fusion of image content and optimization style, which proves the effectiveness of the algorithm.

Key words: convolutional neural network; image stylization;oil painting

油画起源于15世纪的欧洲,由荷兰人发明,凭借颜料的遮盖力和透明性能充分地表现描绘对象,色彩丰富、立体质感强。500多年来,油画这一绘画形式一直被画家们所青睐,尤其是《蒙娜丽莎》《最后的审判》《亚当与夏娃》等作品深受人们的喜爱。油画是用亚麻仁油或核桃油、罂粟油等一些快干油及经过处理的玛蒂树脂或达玛树脂等,调和各种颜色粉制成油画颜料和媒介剂在亚麻布、木板或厚纸板上作画的一种绘画形式。油画的绘制不仅需要繁复的材料准备工作,更需要扎实的绘画基础,对于普通人来说,想完成一幅专业的油画作品是非常困难的。随着互联网的迅猛发展,人们利用计算机将图片转换成不同的风格样式,Photoshop等专业处理图像软件可以对照片进行色彩渲染和曲线调整,将照片渲染成油画风格。近期,来自俄罗斯莫斯科的PRISMA实验室开发团队研发了一款照片编辑器Prisma,通过图像风格化将普通的照片与众多油画艺术家作品的风格结合起来,转变成一幅具有高感知、美化性、多风格性等的油画艺术照。

图像风格化也叫风格迁移,传统的风格迁移通常通过建立数学或统计模型、笔触、纹理等对图像进行风格化处理。Winnemoller[1]等人提出一种自动实时图像抽象框架,通过调整亮度和颜色对比度(对高对比度部分使用更高的视觉显著性,平滑低频部分),创造出具有卡通风格的图像,但是在风格多样性方面受到限制。Hertzmann等人[2]是提出的已知一对源图像和目标图像图像类比算法,通过学习源图像示例之间的映射关系,得到目标图像的风格化效果图,但是图像类比算法只捕获到图像的低级特征,无法获得有效的样式,效果不理想。Ashikhmin[3]提出的快速纹理传输致力于传输高频纹理信息,同时保留目标图像的粗尺度。Lee[4]等人通过附加地通知具有边缘方向信息的纹理转移来改进该算法。由于仅仅使用了像素级的低层图像特征,在灵活性、有效性、多样性等方面都具有很大的局限性,因此这些算法的普适性不强。尽管这些方法,并且针对特定的任务目标,往往需要大量的手工调参。

本文介绍的风格化算法其核心是Gatys[5]等人提出的基于卷积神经网络的艺术风格算法,卷积神经网络中内容和风格的表示是可分离的,进而在此基础上将两种表示独立处理,产生新的图像的风格迁移。本文包括以下主要研究内容:第1部分主要介绍卷积神经网络模型-VGG16模型;第2部分重點讲解图像油画风格迁移算法;第3部分通过实验验证不同的沙画作品与不用的图像采用本文算法进行风格迁结果进行对比分析,测试该算法的正确性和合理性;最后总结本文算法的概括与总结。

1 卷积神经网络—VGG16模型

卷积神经网络在图像分类、语义分割、特征提取、风格迁移等方面有着广泛应用。如chen[6]等人提出了一种基于注意力机制的卷积神经网络解决复杂场景中的图像分类问题,该模型精通细粒度分类问题,具有更好的鲁棒性。卷积的过程就是特征提取的过程,每一个卷积核代表着一种特征,如果图像中某块区域与某个卷积核的结果越大,那么该区域就与该卷积核越相似。图像风格化选用的是不带全连接层的VGG16模型,包含13个卷积层和5个最大池化层,通过不断加深网络结构来提高性能[7]。VGG16模型共分5层,前两层中每层经过两次卷积后再池化,后三层是经过三次卷积后再池化,每次卷积后都伴有激活函数,在这里更多的卷积核可使决策函数更具有辨别能力。整体的卷积核大小均为[3×3],3个卷积层串联的效果相当于一个[7×7]的卷积层,可以减少卷积层的参数量,同时也拥有更多的非线性变换,使CNN对特征的学习能力更强。这里采用池化是最大池化,池化核的大小为[2×2],maxpool更容易捕捉图像上的变化,梯度的变化,带来更大的局部信息差异性,更好地描述边缘、纹理等构成语义的细节信息,这点尤其体现在网络可视化上,通过在输入空间的梯度上升,可视化VGG16的滤波器。该模型是公开的,可以在caffe-framework[8]中进行下载,每个滤波器的可视化结构图1所示,可以看出低层的卷积核对颜色,边缘信敏感度更高,越高层的卷积核,内容也越抽象复杂。

通过卷积神经网络提取图像特征,用不同的卷积核提取不同的特征。给定输入图像在CNN中的每个处理阶段被处理成一组特征图像。其中底层主要反映像素级的底层特征,而高层主要反映图像的边缘结构。

2 图像油画风格迁移算法

风格化的关键之处是该系统使用神经表示来分离和重组任意图像的内容和风格,提供神经算法创造艺术形象,通过找到同时匹配照片的内容表示和相应艺术品的风格表示的图像来合成图像。

2.1内容和风格重建

卷积神经网络以前馈方式分层处理视觉信息。每层单位为图像滤波器的集合,每个图像滤波器从输入图像中提取某个特征,输入不同的滤波器,得到不同的特征映射。卷积神经网络经过训练后物体信息沿着处理层次越来越明确,沿着网络的处理层次,输入图像越来越注重图像的实际内容与其详细的像素值相比较。通过仅从该层中的特征图重建图像[9]来可视化每层包含的关于输入图像的信息。卷积神经网络的风格化算法是一种纹理传输算法,它通过最先进的卷积神经网络的特征表示来约束纹理合成方法。通过执行预图像搜索来匹配示例图像的特征表示来生成新图像。这种通用方法之前已经用于纹理合成[10]的背景,并且提高了对深度图像表示[11]的理解。样式转换算法结合了卷积神经网络的参数纹理模型[12],通过这种方法来转换它们的图像表示。

网络中的较高层根据对象及其在输入图像中的排列捕获高级内容,来自较低层的重建简单地重现了原始图像的精确像素值。我们将网络高层中的特征响应称为内容表示。我们可以在CNN的不同处理阶段将信息可视化,只需知道网络在特定层中的响应即可重建输入图像,如图2所示,上半部分是风格重建,越是高层的特征,风格重建的就越粗粒度化,下半部分是内容重建,越是底层的特征,重建的效果就越精细,越不容易变形,高层神经网络在提取了图片的风格,比如色彩和排列,而底层神经网络提取的则是图像的内容,也就是图像的细节。从原始图层的“conv1”-“conv5”重建输入图像VGG的网络。我们发现从下层重建几乎是完整的(“conv1”-“conv3”)。在网络的较高层中,详细的像素信息丢失,而图像的高级内容被保留(“conv4”-“conv5”)。为了获得输入图像的风格表示,我们使用了特征空间,这些特征空间最初是用来捕捉纹理信息的。该特征空间由每层滤波器的响应来構建。它由特征映射的空间范围内的不同滤波器响应之间的相关性组,通过在每一层加入这种相互关系,我们能够关于输入图像的一个稳定的、多尺度的表示,该表示可以捕获纹理信息而不是全局布置。

2.2内容与风格表示

合成图像的风格内容与另外两幅分别提供内容和风格的图像有些差异,图像内容和风不能完全分开格,通常不存在同时完全匹配两个约束的图像,我们会根据关于内容和风格的损失函数来对生成的图像进行优化。网络中的每个层都定义了非线性滤波器组,其复杂度随着网络中层的位置而增加。给定的输入图像x通过对该图像的滤波器响应被编码在卷积神经网络的每一层中。例如在第[l]层有[Nl]个不同滤波器,经过卷积会得到[Nl]个不同的特征图,每个特征图的大小为[Ml]。层中的响应可以存储在矩阵[Fl∈RNl×Ml]中,其中[Flij]是第[l]层中位置[j]处的第[i]个滤波器的激活。为了可视化在层次结构的不同层上卷积图像信息,可以在白噪声图像上执行梯度下降,以找到与原始图像的特征响应相匹配的另一图像[13]。假设[p]和[x]是原始图像和生成的图像,[pl]和[Fl]是分别是它们在第[l]层中的特征表示,用两个特征表示之间的平方误差损失评价内容损失,内容损失相对于第[l]层激活的导数如公式(2),可以使用标准误差反向传播来计算相对于图像[x]的梯度,根据梯度改变最初的随机图像[x],直到它在卷积神经网络某一层产生与原始图像[p]相同的响应。

[Lcontent(p,x,l)=12i,j(Flij-Plij)]                    (1)

[?Lcontent?Flij=(Fl-Pl) ij 0 if Flij>0if Flij<0]               (2)

在网络每一层的卷积响应建立一个样式表示法,用于计算不同滤波器响应之间的相关性,这些特征相关性由格雷姆矩阵[Gl∈RNl×Nl]表示,[Glij]为矢量化特征图之间的内积。

[Glij=kFlikFljk]                     (3)

为了生成与输入图像样式相匹配的纹理,使用白噪声图像的梯度下降来更新与输入原始图像样式表示符合的另一个图像,通过最小化输入原始图像的格拉姆矩阵与生成图像的格拉姆矩阵之间距离的平方来表示。

假设[a]和[x]是原图像和生成图像,[Al]和[Gl]分别表示第[l]层样式,则该层的风格损失和图像风格总损失分别为如下所示,其中[wl]是第[l]层在总损失中所占的权重。

[El=14N2lM2li,j(Glij-Alij)2]                       (4)

[Lstyle(a,x)=l=0LwlEl]                                    (5)

[5] Chen Y R,Zhao D B,Lv L,et al.A visual attention based convolutional neural network for image classification[C]//2016 12th World Congress on Intelligent Control and Automation (WCICA).June12-15,2016,Guilin,China.IEEE,2016:764-769.

[6] Shelhamer E,LongJ,Darrell T.Fully convolutional networks for semantic segmentation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(4):640-651.

[7] Simonyan K,Zisserman A.Very deep convolutional networks for large-scale image recognition[EB/OL].2014:arXiv:1409.1556[cs.CV].https://arxiv.org/abs/1409.1556.

[8] Jia Y Q,Shelhamer E,Donahue J,et al.Caffe:convolutional architecture for fast feature embedding[C]//Proceedings of the ACM International Conference on Multimedia - MM '14.November3-7,2014.Orlando,Florida,USA.New York:ACMPress,2014:675-678.

[9] Heeger D J,Bergen J R.Pyramid-basedtextureanalysis/synthesis[C]//Proceedings of the 22nd annual conference on Computer graphics and interactive techniques - SIGGRAPH '95.NotKnown.New York:ACMPress,1995:229-238.

[10] Efros A A,Freeman WT.Image quilting for texture synthesis and transfer[C]//Proceedingsof the 28th annual conference on Computer graphics andinteractive techniques - SIGGRAPH '01.Not Known.NewYork:ACM Press,2001:341-346.

[11] Simonyan K,Vedaldi A,Zisserman A.Deep inside convolutional networks:visualisingimage classification models and saliency maps[EB/OL].2013:arXiv:1312.6034[cs.CV].https://arxiv.org/abs/1312.6034.

[12] Jia Y Q,Shelhamer E,Donahue J,et al.Caffe:convolutional architecture for fast feature embedding[EB/OL].2014:arXiv:1408.5093[cs.CV].https://arxiv.org/abs/1408.5093.

[13] Mahendran A,Vedaldi A.Understanding deep image representations by inverting them[J].2015IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2015:5188-5196.

[14] Zhu C,Byrd R H,Lu P,et al.Algorithm 778:L-BFGS-B:Fortran subroutines for large-scale bound-constrained optimization[J].ACM Transactions on Mathematical Software,1997,23(4):550-560.

[15] Gatys L A,Ecker A S,Bethge M.Texture synthesis using convolutional neural networks[C]//NIPS'15:Proceedings of the 28th International Conference on Neural Information Processing Systems -Volume1.2015:262-270.

[16] Johnson J,Alahi A,Fei-Fei L.Perceptual losses for real-time style transfer and super-resolution[J].Computer Vision - ECCV2016,2016: 694-711DOI:10.1007/978-3-319-46475-6_43.

【通聯编辑:唐一东】

猜你喜欢

卷积神经网络油画
一张油画
油画《塬下》
油画
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
一往无前(油画)
南去的路上(油画)