基于卷积神经网络的刺绣风格数字合成
2019-08-05郑锐钱文华徐丹普园媛
郑锐,钱文华 ,2*,徐丹 ,普园媛
(1.云南大学信息学院计算机科学与工程系,云南昆明650504;2.东南大学自动化学院,江苏 南京 210096)
非真实感绘制(NPR:non-photorealistic rendering)自20世纪90年代提出以来[1],一直关注不同艺术风格的模拟,致力于表现不具有照片真实感的手绘艺术风格,成为图形学的研究热点。研究人员已成功利用计算机图形技术模拟了油画[2]、铅笔画[3]、抽象画[4]、粉笔画[5]等艺术风格作品,其成果也被广泛地运用于广告宣传、网络教育、文化产业等领域。随着研究的不断深入以及应用领域的不断扩展,涌现了各种针对中国民族艺术作品的模拟和绘制方法,例如QIAN等[6]实现了凹凸纹理的烙画绘制;杨丽洁等[7]对中国水墨画进行了动态模拟,然而对刺绣艺术风格的模拟却并不多见。刺绣作为中华文明史上的一颗璀璨明珠,它以针引线,按照设计在布匹衣物上进行穿刺,组织成丰富的图案及色彩,如图1所示。
图1 刺绣艺术风格图Fig.1 Real embroidery style image
目前,图形工作者已通过遗传算法[8]、混色原理[9]、图像分解[10]、物像空间依赖[11]等技术模拟了苏绣等名绣作品。然而,现有算法效果较为统一化、规范化,针法整齐,丢失了线条方向,缺乏灵动与美感,与传统刺绣的针迹特点和艺术风格相距甚远[12]。此外,长期以来刺绣艺术依靠祖辈相传、心记的传统方法不利于其保护、传承、推广和发展。因此,利用计算机对刺绣艺术作品进行数字化模拟,不仅是对非真实感绘制的扩充延展,而且也有利于弘扬民族文化、保护与传承传统文化艺术作品。
随着深度学习的发展以及GPU性能的增强,卷积神经网络在图像分类、识别、物体检测等领域取得了巨大成功,但将网络模型应用于刺绣艺术风格的合成并不多。从LeNet-5[13]、Alex Net[14]到经典DCNN(deep convolutional neural network)模 型VGG16与VGG19[15],识别的准确率有了显著提升;ZEILER等[16]给出了CNN的每一层学习到的特征,通过反卷积、可视化调整网络,提高了识别的精度;在此基础上,GATYS等[17]提出了一种基于卷积神经网络特征空间的自然纹理参数化模型,纹理合成的质量和方法较以往有了实质性改进;同时,提出了一种基于卷积神经网络的艺术风格迁移算法[18],使用VGG19模型,提取图像不同层级的特征,用高层特征(欧式距离)的相似性表达图像内容的相似性,低层特征的统计特性(Gram矩阵)描述风格上的相似性,通过梯度下降、调整输入响应,依靠反向传播的过程逐步改变像素值,经多次迭代计算,输入的响应即为风格迁移后的图像;在以此算法为核心的基础上,ULYANOV等[19]、JOHNSON等[20]分别提出了改良算法,对原有算法进行扩展,将求全局最优解转变为前向网络逼近,减少了计算代价;CHEN等[21]基于图像块的任意风格内容快速转换方法,极大地提高了转化速度。当前网络模型相对较适合绘画和抽象的艺术风格迁移,并不适合刺绣艺术风格作品迁移,在迁移时易产生模糊扭曲的线条效果及部分区域的变形。
另一方面,刺绣艺术风格作品一般由两部分组成,即针线编织的前景图案与布匹背景。而在风格迁移模拟刺绣艺术风格图像时,应避免目标内容图拥有刺绣艺术风格图像中的所有风格。例如,在内容前景上不需要布匹的背景纹理,在背景上同样应舍去刺绣针线纹理效果。LUAN等[22]提出在风格迁移过程中添加引导图以避免出现内容无法匹配的问题,从而增强图像的写实性,同时有效避免前景与背景产生空间扭曲。本文引入了图像语义分割与掩模方法,可促成图像中相似区域的匹配,减少语义相同区域间不精确的风格迁移。传统的语义分割,主要通过提取图片的低级特征进行,例如Otsu[23]、分水岭[24]、N-Cut[25]、Grab Cut[26]等算法,这些算法通常为非监督学习,并且分割出来的结果无标注;LONG等[27]提出的FCN算法,实现了像素级别的分类,深度学习正式进入图像语义分割领域;ZHENG等[28]通过加入CRF条件随机场,进一步改善了分割效果。本文提出了一种基于卷积神经网络的算法来模拟刺绣的生成,主要贡献在于:
(1)采用基于条件随机场CRF的语义分割网络对输入的目标内容图像与刺绣艺术风格图像进行语义分割,精确地分离了目标内容图与刺绣艺术风格图的前景与背景,并对语义相同区域进行标注;
(2)针对传统方法风格丢失的问题,采用VGG19模型来提取目标内容图像的内容特征与刺绣艺术风格图像的风格特征;
(3)对输入的目标内容图像与刺绣艺术风格图像进行颜色空间转换,仅在亮度上进行风格迁移,确保结果图像保留目标内容图像的原始色彩;
(4)通过二值化处理将语义分割图作为风格迁移中的掩模图像,促成目标内容图像与刺绣艺术风格图像中语义相同区域的匹配,进行空间区域控制的风格迁移,获得最终的刺绣艺术风格效果。
1 系统实现框图
提出的刺绣艺术风格迁移与数字化模拟方法,通过将2个不同的网络结构结合实现,以发挥其特性。主要分4步:首先,对目标内容图像及刺绣艺术风格图像分别进行图像语义分割并标注;其次,对语义分割图做二值化处理形成掩模图像;然后,对目标内容图像与刺绣艺术风格图像做颜色空间转换;最后,利用掩模图像做空间区域控制的刺绣艺术风格迁移,模拟出刺绣艺术风格作品。图2为刺绣艺术风格作品合成流程图。其中掩模图像与颜色控制均为可选项,若掩模图像无效,则进行无空间区域控制的风格迁移。
图2 刺绣艺术风格迁移流程图Fig.2 Embroidery art style system Changes in accuracy
2 刺绣艺术风格模拟
刺绣艺术风格模拟分4步:首先,输入图像进行图像语义分割,分离出前景与背景;其次,进行二值化处理,形成掩模图像;再次,在风格迁移中添加颜色控制转换方法;最后,利用掩模图像与引导矩阵控制刺绣艺术风格迁移的目标区域。
2.1 图像语义分割
用图像语义分割方法,将目标内容图像与刺绣艺术风格图像的前景与背景分离并分别标注。全卷积神经网络FCN(fully convolutional network)实现了像素级端到端的语义分割,但由于池化层的存在,图像响应张量逐渐减小,在上采样过程中,无法对丢失信息进行无损复原,令结果略显粗糙,边缘不够精确[27];为了改善分割效果,引入了条件随机场CRF(conditional random fields),以产生与图像视觉特征一致的结构化输出[28];同时,利用2个高阶势能(higher order potentials),分别为基于目标检测的势能(object-detection based potentials)和基于超像素的势能(superpixel-based potentials)[29],将其包含在嵌入深层网络的CRF中,以进一步改善其识别分割效果,流程如图3所示。
图3 端到端网络语义分割Fig.3 The end-to-end network of semantic segmentation
定义1 条件随机场。
取一张有N个像素的图像I,在语义分割中将每一个像素分配到一个预定义的标签集合L中。定义一系列随机变量x1,x2,…,xN,每一变量代表一个像素,Xi∈L。定义X=[x1,x2,…,xN]T,其中任何一个x到X的指派就是语义分割的解。{V}代表向量V的集合,Vi代表其中第i个向量。给定图G,其中G的所有定点都来自集合{X},同时其所有的边定义了所有变量x的相互连接。条件随机场CRF定义为[27]
其中,E(x|I)为指派x的能量,Z(I)为正则化因子,能量E(x)由图G中一系列子集C定义。
定义2能量函数。
其中,xc为通过x与子集c中相关关系的变量组成的向量,ψ为子集c的代价函数,作为图像分割的先验。文献[28]算法中仅有一元势函数的CRF,不能很好地校正分割边界的误差,为达到更好的边界分割效果,加入了基于目标检测的高阶势能ψDetd与基于超像素的高阶势能ψSPs。能量函数定义为
定义3目标检测势能。
当像素级预测不正确时,目标检测能予以纠正,从而提高准确率。假定有D个目标检测器对该图像进行检测,第d个检测器属于(ld,sd,Fd),其中ld∈L,为第d个检测器的类别标签,sd为检测值,Fd(1,2,…,N)为图像中像素属于目标检测前景区域的像素索引集;nd为第d个检测器中的前景像素数目。引入二进制潜在变量Y1,Y2,…,YD(每一个对应一个检测器),用目标检测值初始化Pr(Yd=1)。WDet为可学习权重参数,为类标签函数。目标检测势能定义为
定义4超像素势能。
使用Pn-Potts模型约束,使得可学习的超像素势能与靠超像素获取的区域保持一致。超像素势能定义为
基于目标检测的势能与基于超像素的势能可以集成到深度神经网络中进行端到端训练,通过最小化能量函数E(x),得到目标图像最大可能性的标签指派x。该阶段采用Pascal VOC2012数据集对网络模型进行训练[30],用于识别生活中常见的物体类型。通过该网络,得到清晰的语义分割图,精准分离目标内容图与刺绣艺术风格图的前景与背景,保留了前景边缘的完整性与连续性。如图4所示,(a)、(c)、(e)、(g)为输入的目标图像,(b)、(d)、(f)、(h)分别为目标图像所对应的语义分割图。从语义分割结果图4(b)、(d)、(f)、(h)中可看出,该算法精确地分离了目标图的前景与背景,图4(f)与(h)分别为从目标图像复杂的环境中精确分离出的鸟。
图4 语义分割结果图Fig.4 The results of image semantic segmentation
该算法可识别复杂场景中的目标并将其准确分离,但并不对所有目标语义分割适用。图5显示了本算法语义分割不成功的结果,其中,图5(a)和(c)分别为目标内容图像与刺绣艺术风格图像,图5(b)和(d)分别为二者语义分割不成功时的结果图。图5(b)将目标内容图的一部分背景识别为鸟类前景,图5(d)未能识别出图5(c)中的目标前景区域。
2.2 掩模图像
对目标内容图像与刺绣艺术风格图像进行语义分割,目的是分别将两者中的前景与背景分离标注后生成掩模图像(Mask),从而在刺绣艺术风格迁移过程中进行空间控制,即在语义相同区域,对前景与背景进行不同的风格化迁移。由于掩模图像只需要控制前景与背景这2块区域,而语义分割后的图像背景均为黑色,所以,用式(5)对语义分割图像进行二值化处理:
图5 语义分割失败结果图Fig.5 The failing results of image semantic segmentation
将前景转化为白色,如图6所示,其中,图6(a)和(d)分别为目标内容图像与刺绣艺术风格图像,(b)和(e)分别为两者的语义分割图,(c)和(f)分别对应两者经二值化处理后的掩模图像。
图6 图像二值化处理结果Fig.6 The results of image binarization
2.3 风格迁移
定义5为了将刺绣艺术图像的风格迁移到目标内容图像上,定义目标内容图C以及刺绣艺术风格图S,目标是生成一张G图以保留目标图像C的内容,同时拥有刺绣艺术图像S的风格。以VGG-19模型作为特征提取器[15]、神经网络较高层输出的特征图为内容表征、某一层的各个通道之间激活项的相关系数为风格表征[18],定义总损失函数
其中,Lc表示目标内容图像的损失函数,Ls表示刺绣艺术风格图像的损失函数,α和β分别表示在生成图像过程中目标内容图与刺绣艺术风格图的权重因子,可通过调整α/β的大小控制生成图像的风格迁移程度。
定义6随机噪声图像x→。该图像CNN的每一层都会被重新编码,第l层的卷积核数为Nl,每个特征图大小为Ml,所以,每一层的输出结果可存储为矩阵Fl∈RNl×Ml,Flij表示噪声图在CNN第l层第i个卷积核上位于j处的激活值;定义输入的目标内容图像为p→,让其经CNN重新编码;同理,Plij表示目标内容图在CNN第l层第i个卷积核上位于j处的激活值。Fl与Pl分别为随机噪声图与目标内容图在l层的特征表示,可以理解为一个矩阵。定义内容损失函数及其求导(针对F求导)如下:
定义7将图像风格定义为CNN某一层各个通道之间激活项的相关系数。用风格矩阵,即格拉姆矩阵(Gram matrix)衡量CNN每一层输出结果的相似性,格拉姆矩阵Glij∈RNl×Ml,Glij表示噪声图在CNN中第l层第i个卷积核与第j个卷积核输出激活项的积,即第i个卷积核下的特征图与第j个卷积核下特征图的内积:
定义8对随机噪声图做梯度下降,由该生成图的格拉姆矩阵与刺绣艺术风格图的格拉姆矩阵的距离均方误差最小得到与刺绣艺术风格图接近的刺绣风格纹理。分别定义图像x→与图像a→为生成图像与刺绣艺术风格图,Gl与Al分别表示随机噪声图与刺绣艺术风格图在CNN中第l层的响应值。定义l层的风格损失El及其求导式为:
则CNN所有层的风格损失Ls为
图7 不同权重结果图Fig.7 The results of different weights
其中,ωl代表CNN每一层风格损失的权重因子。
实验选择conv4_2作为内容损失的定义层,conv1_1,conv2_1,conv3_1,conv4_1,conv5_1五个低网络层作为风格损失的定义层,通过以上计算分别得到内容损失Lc与风格损失Ls,并调整2个损失权重因子α与β,对总损失函数L进行综合,α/β越小,生成图像的刺绣艺术风格化程度越高,反之风格化程度越低。图7显示了在不同权重下的结果,其中,(a)~(e)与(f)~(j)分别表示不同α/β值下的结果图,α/β值依次为 10-2,10-3,10-4,10-5,10-6。本文选取α/β=10-4。
文献[18-22]等中的风格迁移算法,虽然生成图颜色与风格图颜色一致,但丢失了目标内容图的原始色彩。为了使模拟刺绣艺术风格结果具有多样性,采用添加颜色控制的方法:在风格迁移前,将目标内容图与刺绣艺术风格图的RGB颜色空间转化为YIQ颜色空间。YIQ具有从图像中将亮度分离提取的优点,人眼对亮度的分辨力要比图像的彩色细节强[31],两者之间属于线性变化关系,计算量小。其中Y表示图像的亮度(Luminance),即灰度值,I与Q代表色调(Chrominance),分别表示色彩从橙色到青色以及紫色到黄色。仅在目标内容图的Y通道上进行风格迁移[32],可使生成的图像在拥有刺绣艺术风格纹理的同时保留原目标图像的色彩。
2.4 掩模图像与空间控制
定义9为确保刺绣艺术风格迁移过程中前景与背景独立匹配以及转移区域的保真度,在利用掩模图像的基础上,引入空间引导特征图以控制风格迁移中对应目标内容图像的不同区域[33],保证目标内容图与刺绣艺术风格图在相似场景或语义相同区域进行传递迁移(见图7(f)~(j))。将CNN中每一层的特征图与R个引导通道Trl相乘,计算得到刺绣艺术风格图中每个R区域的空间引导格拉姆矩阵。定义空间引导特征图为
定义10每一个引导格拉姆矩阵都作为内容图像相关区域的优化目标,第l层的风格损失可定义为
其中λr为控制相关区域r的刺绣风格化强度的权重因子。
图7显示了无空间控制的风格迁移与有空间控制的风格迁移在不同权重下的结果,其中,(a)~(e)表示无空间控制的风格迁移,(f)~(j)表示有空间控制的风格迁移。
3 实验结果及分析
为测试文中方法的可行性与有效性,基于上述方法依次对目标内容图与刺绣艺术风格图进行处理,模拟出具有刺绣艺术风格的结果图像。实验均在Ubuntu16.04、64位操作系统中进行,基于GTX 1080-8G的显卡及Tensorflow框架得以实现。
图8显示了本文模拟的刺绣艺术风格效果图,其中,(a)为目标内容图像,(b)为真实刺绣艺术风格图像,(c)和(d)为本文模拟生成结果图,分别对应有颜色控制与无颜色控制。(e)为文献[18]经典Gatys算法的结果,(f)为文献[21]任意风格迁移算法的结果。由图8可知,本实验最终获取了刺绣艺术风格效果,生成了较为真实灵动的立体针线纹理。
图8 本文实验结果与经典网络模型算法结果比较Fig.8 Comparing results of this paper with classic networks
其中选取图中鸟羽毛部位的局部纹理做对比,见图9。其中,(a)代表真实刺绣艺术风格图8(b)的局部纹理,(b)为本文模拟方法实现图8(d)的局部纹理结果,(c)为文献[18]模拟图8(e)的局部纹理结果,(d)为文献[21]模拟图8(f)的局部纹理结果。通过对比可看出,本文方法生成的刺绣纹理线条更为精细、真实与自然,接近真实刺绣艺术风格图中灵动立体的针法轨迹;文献[18]方法生成结果(见图9(c))中有块状纹理,线条粗糙,同时在背景上产生了溢出;文献[21]算法结果(图9(d))的纹理中产生了块状马赛克效应,丢失了目标内容图与刺绣艺术风格图的色彩。
图9 局部纹理对比图Fig.9 Comparing results of local texture
本文方法的优势在于较好地控制了前景与背景的分离,在语义相同区域进行风格迁移,避免了区域外的溢出与迁移的不匹配;能生成与目标内容图颜色一致的刺绣艺术风格结果图;模拟生成的刺绣艺术效果更为精细,每一条刺绣纹理清晰可见,线条自然立体,接近真实刺绣艺术风格。
图10为本文模拟刺绣艺术风格结果与传统刺绣模拟算法结果的对比。以文献[10]中的葡萄、花、猫与鸭子为目标内容图(见(a)、(d)、(g)、(j))。(b)、(e)、(h)、(k)为文献[10]算法的结果,(c)、(f)、(i)、(l)为本文的实验结果。(m)为真实乱针绣的局部纹理,(n)为图(k)的局部纹理放大,(o)为图(l)的局部纹理放大。文献[10]算法的纹理中,针线感过于精细化与统一规范化,立体感不强,在图片细节不放大的情况下,缺乏真实刺绣艺术风格图的抽象立体感与层次感;本文的生成结果在同等放大情况下的纹理细节具有层次感,在交叉线的走向上更接近真实刺绣。
较于传统刺绣数字化模拟方法,本方法的优势在于不需要人工交互式手动分割图像中的各个区域,由图像语义分割网络自动进行区域分割并对语义相同区域进行标注;不需要建立针法库,省去了建立大量针法库的流程,具有更强的通用性;同时,不同于传统算法生成整齐、单一化的纹理,本文生成的结果更为灵动,具有真实刺绣的立体感与起伏感,感官上更接近真实刺绣艺术风格抽象的效果。
图10 本文实验结果与传统方法对比Fig.10 The experiment results compared with the results of traditional algorithm
4 结 论
针对刺绣艺术风格图像的特点,基于深度学习与卷积神经网络,提出了一种刺绣艺术风格的迁移和数字化模拟方法。通过对目标内容图像与刺绣艺术风格图像进行语义分割、颜色空间转换与风格迁移,将目标内容图像转换成具有刺绣艺术风格的作品。算法较好地模拟了真实刺绣中立体起伏的针法与抽象的色彩效果,增强了刺绣艺术的表现力。模拟结果可用于文化遗产保护、数字娱乐、服装设计等领域。未来,将研究重点放在提高语义分割的准确度以及增强模拟局部纹理的方向与层次感上,以改善系统结构,提高使用的灵活性。