基于卷积神经网络的风格迁移艺术字研究

2023-03-15 03:50许鑫亮杨泽昊李镇宇战国栋
大连民族大学学报 2023年1期
关键词:纹理卷积损失

许鑫亮 ,杨泽昊,闫 宇,李镇宇,战国栋

(大连民族大学 a.计算机科学与工程学院; b.设计学院;c.大连市汉字计算机字库设计技术创新中心,辽宁 大连116605)

各式各样的字体在不同行业扮演重要角色,通常称带有图案、绘画或装饰性元素的字为“艺术字”[1]。在日常中word和excel有储存好的艺术字库供使用,也可以利用photoshop等专业工具来设计独具特色的艺术字,搭配千变万化的场景。但艺术字风格迥异,轮廓、颜色搭配复杂,即使专业的设计师也需要大量时间来构造,若是字数需求增加,设计时间将会成倍上升。即使有字体生成转换器,也是简单的阴影、粗细、渐变等图形基础变化,难以形成一体化风格。

本文正是基于此问题利用深度学习的方法设计,自动生成更具特色的艺术字。利用CNN以及基于其的风格迁移,将汉字图片作为原始输入,用对应图片作为风格,迁移生成艺术字。

风格迁移源于Gatys[2]发表的开创性论文Neural Style Transfer,展示了深度卷积神经网络在图像风格迁移领域的优良性能。从参数卷积层中学习到的顺序表示可以分为“内容content”和“风格style”。图像的特征信息通过VGG等深度卷积网络传递,并且可以使用中间特征激活来融合一个图像的“风格style”与另一个图像的“内容content”。从预训练网络的特征激活中得出损失函数是神经风格迁移背后的基本思想,风格迁移艺术字示意图如图1。

图1 风格迁移艺术字示意图

1 基于CNN的艺术字风格迁移

Gaty[3,4]等人的风格迁移网络可以从图像中分离地提取图像的内容特征和风格特征,使用预训练VGG19模型和构造图像特征的Gram矩阵作为风格表示,利用图像迭代的方式直接优化初始噪声图像的像素,生成具有原内容和新风格的风格化图像。本实验艺术字风格迁移模型如图2。

图2 艺术字风格迁移框架图

本文对文字图像进行风格迁移,对于内容损失可以忽略,只关注风格迁移即可,故基于CNN的风格迁移的损失函数表示如式(1):

Ltotal(Ic,Is,I)=αLs(Is,I)。

(1)

给定内容图像Ic、风格图像Is和生成图像I。Ltotal为风格损失函数,度量给定风格图像和生成图像之间风格表示的差异,系数α表示风格损失函数的权重值。风格损失使用图像特征表示的Gram矩阵(即没有减去均值的协方差矩阵)对图像风格进行建模,风格损失函数表示如式(2):

(2)

(3)

于是风格迁移图像质量优劣取决于卷积层的选择,本实验选择VGG19网络中的其中5个卷积层,分别标为a~e层,各自对应VGG19网络中的['block1_conv1','block2_conv1','block3_conv1','block4_conv1','block5_conv1','block5_conv4'],以验证其迁移效果。以“花”字作为输入文字图片,添加花朵的风格图像,进行同等次数训练。VGG19网络模型图如图3。

图3 风格损失使用的VGG19卷积层

不同卷积层对应迁移结果如图4。a~e层卷积网络由颜色特征提取逐渐变化至形状轮廓、大小的提取,从左至右逐渐摒弃色彩,转而关注花朵、枝条的形状,轮廓等具体风格特征。此处从某种意义上讲,也验证了CNN的可解释性[5]。

图4 不同卷积层对应迁移结果

因此,对于艺术字的风格迁移,目前的重点放在如何挑选卷积层及其权重配置,色彩与轮廓结合、形状与颜色并重,才能产生较好的效果图。经过调节loss函数与各层之间的权重,尝试诸多层级搭配如图5。主要展示了两层及三层作为风格损失的效果,至于更多层的效果,首先是随层数增多,迭代时间倍数增加。且由图4,从b层之后深层卷积层对生成图像纹理进行影响,效果基本相似但迭代时间较长。

图5 搭配卷积层效果

考虑到兼顾生成风格图像的色彩与轮廓,由图5各层搭配效果图,最终本实验选择a+b+c三层作为风格损失的结果,能适应多数纹理较强的风格,达到较好的艺术字效果。值得注意的是,a+b+c组合生成图像中“花”字轮廓上的花枝纹理为风格迁移中根据风格图像生成,也由此可以看出该组合的迁移对纹理及颜色保留的更好,更加适合后续艺术字的生成。

由于只训练风格图,浅层特征图记录颜色纹理等信息,越深层随着感受野的扩大得到的特征图会提取形状内容等高级信息。此处经过调节loss函数,综合决定使用a、b、c作为卷积层使生成字体达到较好艺术效果。

2 实验及实验结果分析

基于卷积神经网络的风格迁移[6]艺术字,其具体步骤如下:

(1)本实验使用宋体、楷体、黑体、等线、仿宋、微软雅黑六种基本字体,居中,可选参数设定文字内容、图片大小、文字图片背景色、文字颜色、绘制文字图像,并添加随机噪声。

(2)加入风格图片。设定内容图片与风格图片的权重[7],由于本实验是提取文字内容,故不用添加内容图片的权重,只关注风格图即可。下一步进行预处理图片,将其变形至(1,width,height)形状,数据归一到0~1之间,再将0~1之间的数据变成图片形式返回,归结到0~255之间。最后结合文字图片、风格图片、生成图片作为输入向量,启用卷积神经网络。

(3)使用训练完成的VGG19网络。将网络中不同层存储以作备用。定义Gram矩阵,求取风格损失,即风格图片与结果图片的Gram矩阵之差,对所有元素求和。糅合多个特征层的数据后取平均值。随后进一步对风格损失求取梯度。

(4)最后开始迭代。采用scipy的L-BFGS优化器。L-BFGS算法具有收敛速度快、内存开销少等优点,通过储存前m次迭代的少量数据来替代前一次的矩阵,可以较高效地完成优化。此处优化最好使用GPU,三层平均速度9 s左右,比cpu速度提高10倍。在此期间绘制loss的图表,对其进行分析,可以看出在1000次迭代后loss不再变化,事实上在20次左右loss值已下降到较低水准,如果只是应用于精度要求不那么高的设计实现,已达到要求。

(5)风格迁移效果[8]。因为风格迁移的本意是将风格图的艺术纹理转移至内容图上,但艺术风格是抽象难以形容的,故对算法的效果进行评估是一件困难的事情。目前对算法的评估方式主要有两种,定性和定量评估。定性评估的主要手段是主观感情评测,及人为调研来投票决定结果,但此法受被测人群艺术素养、知识理解、感情信息的影响巨大,不是最好的评估方式。定量评估则通过特定意义的数学指标进行对比,主要使用的指标是训练时间,但这些指标不能用来评估风格迁移算法的实现效果,比如简单的艺术性、适用性。在风格迁移领域中设计出一个标准性评估方法有助于理解如何改进现有的风格迁移算法。而本文是生成艺术字内容,故与市面上比较常用的几款艺术字体生成器作比较,展现深度学习算法生成的内容的优越性。

艺术字生成器与风格迁移艺术字对比如图6。图6a、6b、6c是利用市面上成熟的艺术字生成器制造的艺术字,可以看出它不能对字形改造,只能在原有字形基础上,进行阴影、渐变、填充,再辅助颜色变化,简单的达到艺术字模式生成。而风格迁移艺术字明显不同,如图6d、6e、6f在原有字形固定的基础上[9],纹理按照风格图片,与内容图片结合,能够显著表现出风格特性,不再拘泥于固定的字形结构。只需要简单的一张风格图片,就能打造出合适的艺术字体,从而复用到不同场景,产生较好的效果。

图6 艺术字生成器与风格迁移艺术字对比

3 结 论

风格迁移损失图如图7。可以看出迭代0次之后loss值达到比较平稳的状态。而在百次后达到几乎饱和的值,此刻风格纹理已较好地融入图像之中,风格迁移也能达到较好的效果。

图7 风格迁移迭代loss图

此次风格迁移实验扩展了艺术字应用的种类,较好地完成了艺术字对应风格生成,在应用上比市场上的艺术字生成器效果更好。而在精确度评价方面,利用VGG19网络可以很好地学习对应纹理特征,并对其可解释性做出补充说明。

猜你喜欢
纹理卷积损失
基于3D-Winograd的快速卷积算法设计及FPGA实现
胖胖损失了多少元
基于BM3D的复杂纹理区域图像去噪
从滤波器理解卷积
使用纹理叠加添加艺术画特效
玉米抽穗前倒伏怎么办?怎么减少损失?
基于傅里叶域卷积表示的目标跟踪算法
TEXTURE ON TEXTURE质地上的纹理
消除凹凸纹理有妙招!
一般自由碰撞的最大动能损失