李 媛 陈昭炯 叶东毅
(福州大学计算机与大数据学院 福州 350108)
工笔花卉画是中国传统绘画形式之一,创作过程通常分成线描图绘画和上色2个阶段.首先以线笔勾勒出物体工整细致的外形结构形成线稿图,而后结合主客观因素灵活涂色完成线稿的上彩.其中上彩技法最能表现工笔花卉画的视觉效果和艺术性,传统手工上彩采用薄色多涂的方式,每次蘸取少量精心调制的颜色进行均匀涂抹,重复多次,渲染出对象的明暗关系和层次变化以提升画面的质感.这一阶段耗时耗力,特别是一幅线稿图如果想渲染成不同色调风格的效果,每一次都需要重新调色、重新薄染.本文针对工笔线稿图的自动上色问题进行研究,用户可选定已有的、心仪的工笔彩图作为参考图像,本文系统通过仿真算法自动提取参考图中的色调对输入的花卉线稿图进行颜色渲染,生成与参考图色彩风格相近的工笔彩图.用户通过选定不同的参考图像,就可快速获得线稿图不同的渲染效果.
本文的研究工作属于图像上色方向,图像上色是计算机视觉领域的研究热点之一,当前深度学习的兴起和发展对其产生了很大的促进作用.图像上色按上色主体可分成灰度图像上色和线稿图上色.基于深度学习框架的灰度图上色[1-2]研究取得了较好的效果,上色算法依据灰度图自身携带的亮度、纹理信息识别不同的语义对象,进而渲染出自然真实的图像色彩;而本文的研究对象是线稿图上色,线稿图仅勾勒物体的外形轮廓和主要线条,没有亮度以及明暗信息,且本文的上色目标不是渲染出真实感图像,而是模拟工笔画色彩效果,这就带来了上色过程中对线稿对象语义的辨识和艺术效果处理上的难度.
目前基于深度学习的线稿图上色方法根据交互方式通常分成两大类:
1) 用户通过笔划、颜色文本词、引导图等形式设计配色信息,算法将颜色信息引入到上色模型中完成上色,上色方法通常在交互式场景下完成[3-4].2018年,Zhang等人[5]通过颜色线条指定线稿图各区域的颜色,用条件生成对抗网络(conditional generative adversarial network, CGAN)对同质区域进行色彩扩展完成上色,算法通过反复调整颜色线条能实现精细化的上色,但也导致需要较多的人机交互;Qiao等人[6]根据文本生成图像,又对图像重新生成文本描述,在保证原始文本和生成文本语义一致性的前提下,约束中间图像和文本不同模态数据之间的语义对齐,因为涉及对不同模态数据的理解,故文本标签在颜色作用域的定位上表现不佳;李媛等人[7]针对线稿图工笔花卉的上色设计了一种新的作为人机交互的花色注意力图,对花朵的颜色类别和位置进行刻画,既实现了对颜色的控制,又加强了区块色彩的学习,对工笔画特有的渐变色的模拟效果较好,但对色彩的控制还比较粗糙,仅将色彩分成4种类型.这种上色方式可实现用户设计、模型驱动的半自动艺术创作,比较适用于有一定美术基础的用户,但形态各异的交互设计方式需要用户花更多的精力去适应,且算法难以快速呈现多样化的结果.
2) 基于参考图像的色彩仿真方法[8-10],用户选取已有的彩色图像作为配色样板,算法实现整体色彩风格的迁移,这种方式自动化程度较高,适合一般用户使用.2016年,Gatys等人[11]提出一种艺术风格(迁移)的神经算法(a neural algorithm of artistic style, ANAS),当参考图像的艺术风格鲜明奔放时(如印象派油画、波普艺术),迁移的效果较好,但工笔画色彩典雅工丽,使用该方法上色效果不佳;Huang等人[12]提出无监督的多模态图像转换模型,将图像空间解耦成内容空间和风格空间,通过保留内容特征,融入不同参考图像的风格特征实现多模态输出,该方法适用于不同的图像转换任务,包括工笔线稿图上色,但由于采用无监督的训练方式,较难控制内容和风格的融合程度,如果参考图像与线稿图的空间结构存在较大差异,可能导致生成结果局部失色甚至缺失对主体对象的颜色渲染;2020年,Zhang等人[13]提出基于参考图像的跨域图像转换模型,通过构造一个相关性矩阵,学习2个域图像的密集语义对应关系,根据对应关系在参考图像中找到与源图每个图像块最匹配的区块,之后训练一个转换网络融合图像块特征,以提升生成效果.该方法应用于线稿图上色能较好地将参考图像的整体色调转移到线稿图中,但对边界的定位较粗糙,容易出现上色不足或颜色溢出的现象;针对基于参考图像的线稿图上色模型在训练过程中图像数据集不易构造的问题,Lee等人[14]提出了对原作进行扭曲、颜色扰动等得到训练彩图,然后分别提取训练彩图和线稿图的卷积特征,在语义层面上寻找二者不同区域最匹配的图像块,从而实现线稿图上色.但是由于线稿图和彩色图携带的信息差异较大,语义匹配时容易出错,生成图像易出现色彩失真.上述各种方法在线稿图上色方面取得了一定的效果,但是当参考图像和输入的线稿图结构差异较大时,易产生语义信息匹配错误而导致上色错误、溢出等问题;并且由于这些上色过程缺乏针对工笔画特有的渐变色进行模拟的功能设计,因而用于工笔花卉上色的模拟效果不佳.
鉴于上述不足并针对工笔花卉画的染色特点,本文基于CGAN框架,提出了一种将参考图像与线描图进行语义匹配的工笔花卉上色仿真算法(reference-based and semantic matching, RBSM-CGAN).该算法在网络结构设计方面,将生成器设计成3个模块:U-Net模块、线稿语义定位模块和参考图颜色编码模块.其中U-Net为生成器基础,对输入线稿图进行编、解码,生成同尺幅的工笔彩图;线稿语义定位模块是一个预训练的线稿语义分割网络,所生成的语义标签图将信息引导到U-Net的解码器部分,帮助上色模型识别线稿不同的语义区域;参考图颜色编码模块提取参考图的颜色特征导入U-Net,而不对其进行语义分割,参考图像和线稿图之间的空间语义对应关系是通过本文设计的训练方式学习到的,最终完成将参考图像的颜色准确定位到线稿图对应的语义区域.这3个模块设计有助于对参考图像渐变色的捕获、学习和模拟.其次,算法在网络训练方面摒弃了传统的“工笔花卉原作-花卉线稿图”数据对的方式,采用“原作摄动图-花卉线稿图”数据对进行训练,同时还设计了合适的损失函数,2种设计策略降低了模型对原作空间几何结构的依赖性,因而在算法应用时无需特别顾及参考图像的几何构成,参考图的选择就有了更大的自由度,提升了本文算法的适用性.
本文提出的RBSM-CGAN工笔花卉上色算法的网络训练流程如图1所示,网络由预训练的语义分割网络、生成器以及判别器3个主要部分构成.为了提升对花卉线稿图不同语义区域的识别能力,本文预训练了一个语义分割网络对花卉线稿图进行分割,训练时分割得到的语义标签图连同花卉线稿图以及原作摄动图同时输入到生成器中.在语义标签图的指导下,生成器网络学习花卉线稿图和原作摄动图之间的空间语义对应关系,根据语义将原作摄动图的颜色信息迁移到花卉线稿图的对应区域,进而完成上色.(花卉线稿图,原作)或(花卉线稿图,生成图像)构成的二元组作为正/负样本对输入到判别器网络,训练网络识别真假图片.
Fig. 1 Flow chart of RBSM-CGAN network in training stage图1 训练阶段RBSM-CGAN网络流程图
测试及应用阶段的网络流程如图2所示,输入花卉线稿图以及选定的一幅已有的彩色图像作为参考图像,参考图像的布局结构可以不同于线描图,训练好的生成器自动将花卉线稿图渲染成符合参考图像色调信息的工笔彩图,同时参考图像中花、叶、背景等颜色按照语义对应关系自然传递到花卉线稿图的对应位置.通过选取不同的参考图像,可以快速将花卉线稿图渲染成不同色调风格的彩图效果.
Fig. 2 Flow chart of RBSM-CGAN network in application stage图2 应用阶段RBSM-CGAN网络流程图
本文的主要工作是生成器的构造和训练方式的设计,分别在后续第2节和第3节进行详细论述.下面仅就判别器和损失函数的设计进行分析.
传统判别器模型普遍采用深度卷积网络,利用网络自主学习表征图像的特征,当网络输入真实图像和生成图像时输出一个概率值,该值表示输入图像属于真实图像的概率.此方法用于评估生成图像整体质量上表现较好,但是工笔花卉画上色仿真在细节生成上要求较高,比如边缘处颜色处理、渐变色的模拟等.为了加强局部区域的颜色学习,本文采用块生成对抗网络(patch generative adversarial network, PatchGAN)[15]对图像局部区域进行评估.具体思路是将图像划分成一系列70×70的图像块,判别器网络对每个图像块的生成质量进行评估,最后对所有图像块的判别结果取平均即为整幅图像的判别结果,该结果作为目标函数的损失项更新生成器和判别器的网络参数.
本文的损失函数除了使用Ladv对抗损失约束生成图像符合原作的颜色分布外,还引入L1损失,惩罚网络生成图像与原作的颜色差异.L1损失硬性要求生成图像和原作的像素对齐,可能导致生成图像色彩在空间上不连续,为了消除这一现象,进一步新增了Lf特征损失,使得生成图像和原作在高层语义上对齐.本文上色网络最终的损失函数LRBSM-CGAN为:
LRBSM-CGAN=λadvLadv+λ1L1+λfLf,
(1)
(2)
(3)
(4)
其中,λadv,λ1,λf分别表示Ladv对抗损失、L1损失和Lf特征损失的正则系数,c表示原作摄动图,x表示花卉线稿图,y表示原作;G(c,x)表示生成器以花卉线稿图x和参考图像c为条件输入时的生成结果,φ(y)和φ(G(c,x))表示在ImageNet数据集[16]上的预训练模型VGG19对原作y或生成图像G(c,x)提取的中间层特征;D(x,y)与D(x,G(c,x))表示输入图像y或G(c,x)属于真实图像并且跟花卉线稿图x同线条结构的概率.
如图3所示,生成器网络包括3个分支,最上方的分支是以U-Net为基础的网络结构,负责将花卉线稿图转换成工笔彩图;中间分支是语义定位模块,辅助生成器提升对不同语义区域的颜色渲染效果;最下方的分支是颜色学习模块,提取参考图像的颜色信息,将其引入到生成器网络中.3个分支相辅相成,最终完成将参考图像的颜色迁移到花卉线稿图对应的语义区域.
Fig. 3 Architecture of generator of RBSM-CGAN图3 RBSM-CGAN生成器结构
现有的“编码-解码”生成器结构[17]通过编码网络提取图像特征,又经解码网络重构回原始输入图像空间,可以实现图像的异质转换,包括将花卉线稿图转换成工笔彩图.由于卷积网络经过一系列卷积下采样可能丢失图像的空间特征以及线条信息,导致生成结果颜色平缓、边缘轮廓模糊不清.针对这个问题,本文的生成模型采用U型网络(简称U-Net)[18]作为基础框架,U-Net引入了跨层连接的结构,将编码网络的特征复用到解码网络,如图3蓝色箭头所示,该结构加强了特征在不同层之间的传递,缓解了深层特征偏重刻画全局语义可能丢失浅层特征的不足.
如图3所示,生成器包含10层,卷积核采用 4×4,各层具体参数如表1所示.其中Conv2d表示2维卷积层,Deconv表示反卷积,Conditional IN表示条件实例归一化,ReLU表示修正线性单元,LReLU表示带泄露修正线性单元,tanh表示双曲正切函数.
工笔花卉上色仿真任务对对象语义区域定位的精确度要求较高,确保颜色准确定位到不同位置至关重要,而颜色定位需要考虑3个问题:1)花卉线稿图不同语义对象的线条结构相似,如果生成网络错误地划分了语义区域进而颜色渲染,可能出现不协调的色块;2)若边界定位不够准确,着色边界较模糊,仿真结果边缘处可能出现颜色溢出或者颜色不足,降低生成图像的艺术性;3)在网络训练阶段,原作摄动图与线稿图的空间布局虽然不同,但是语义内容上高度相关,测试阶段如果选取与花卉线稿图花型、形态或者布局上差异较大的参考图像,可能无法将颜色信息正确地迁移到线稿图.考虑到U-Net在特征提取中表现较好,但是对语义区域的识别不够精确,本模块设计并预训练了一个基于pix2pix网络模型[15]的语义分割网络,将花卉线稿图划分成3个语义区域,分别是花朵、叶子以及其他区域,指导生成网络区分不同对象,进而将参考图像的颜色传递到花卉线稿图的不同位置.
Table 1 Parameters of the Basic Generator U-Net表1 基础生成器U-Net的参数
线稿图只有线条信息,不同语义区域难以区分,故本文借助预训练的语义分割网络将线稿图划分成不同语义区域,并将分割结果嵌入到U-Net生成器解码网络.而对于参考图像,不同语义对象之间的颜色存在较大差异,颜色即可较好地区分不同语义区,因此不再进行语义分割,使用颜色学习模块编码提取参考图的颜色特征后将其引入到U-Net网络.线稿图与参考图像之间的颜色语义关联关系可通过本文设计的训练方式学习获得.参见本文第3节.
花卉线稿图的分割结果是一幅与原图相同尺寸、不同语义区域用不同颜色指代的语义标签图,参见图3.如果直接将语义标签图拼接到生成网络的特征层,生成网络归一化的过程可能丢失语义信息.2017年Huang等人[9]提出的自适应实例归一化(adaptive instance normalization, AdaIN)被用在多种类型的图像生成任务中,比如风格迁移.AdaIN通过改变特征图每个通道上的实例归一化的系数将风格特征引入到网络结构中,又由于实例归一化的系数在每个通道上是不同的,因而可实现风格特征的空间自适应调整.AdaIN的计算公式为
(5)
其中,x表示内容特征,μ(x)和σ(x)分别表示x的均值与均方差;y表示风格特征,μ(y)和σ(y)分别表示y的均值与均方差,也即实例归一化中的仿射参数.本文将自适应实例归一化的思想引入到语义定位的网络模块,将语义标签图编码后的特征向量作为自适应实例归一化的仿射参数引入到生成器网络解码层.语义编码网络的结构设计如图4所示.相关的计算为:
(6)
(7)
(8)
其中,Mask表示语义标签图;fc,h,w表示自适应实例归一化之前在(c,h,w)位置的特征输入,Fc,h,w表示表示经过自适应实例归一化后在(c,h,w)位置的特征输出,c∈C,h∈H,w∈W,C,H,W分别表示当前特征图f的通道数、高度和宽度.μc和σc分别表示当前输入特征图f第c个通道的均值和标准差.αc,h,w(Mask)和βc,h,w(Mask)既表示语义标签图经过语义编码后在(c,h,w)位置的2个颜色特征值,同时也是自适应实例归一化的仿射参数.
Fig. 4 Semantic coding network图4 语义编码网络
该结构简化了上色模型的语义对象识别过程,指导上色模型学习参考图像和花卉线稿图的语义对应关系,提升语义匹配的精确度以及模型渲染与参考图像外形轮廓差异较大的线稿图的能力;同时该语义标签图隐式地引入了内部注意力机制,加强了不同语义区域的颜色学习.
在训练过程和测试过程中,彩色参考图像与花卉线稿图同时输入到生成网络.彩色参考图像泛指模型中用到过的提供色彩信息的参考图像.在训练阶段“彩色参考图像”是原作摄动图,在测试过程中“彩色参考图像”是用户选取的工笔彩图.U-Net编码部分完成花卉线稿图的线条信息提取,在参考图像颜色信息的提取方法上,本文设计的颜色编码网络由2层卷积神经网络构成,结构如图5所示.该模块用于提取参考图像的颜色特征,并将其拼接到生成器解码网络的前3层中(图3绿色箭头所示),通过该方式将颜色信息引入上色模型,同时拼接到低分辨率的特征层可以避免对参考图像颜色布局信息的依赖,提升模型泛化性.
Fig. 5 Color coding network图5 颜色编码网络
在应用阶段用户可以选取任意一幅花型、形态和空间结构与线稿图不同的工笔彩图作为上色参考,算法将颜色信息传递到花卉线稿图对应的语义区域,进而完成工笔花卉线稿图的上色仿真.要实现该过程单纯依靠颜色编码网络是不够的,还必须与训练阶段的策略相结合,具体参见第3节.
Fig. 6 Wrong generation results of using original image in training stage图6 训练过程采用原作的错误生成结果
Fig. 7 The generation of perturbed image of the original图7 原作摄动图生成
本文的网络训练过程参见图1,整个流程建立在CGAN的训练基础上,其中关键点是生成器训练时配对的彩色图像的构造.成对的“工笔花卉原作-花卉线稿图”可以通过收集及边缘检测算法得到,但是构造反映工笔花卉颜色信息的训练参考图像数据集十分困难,如果将原作直接当成训练参考图像可以节省很多人力物力,但是原作和输入线稿具有完全相同的线条结构,特征表达能力过强,将导致上色网络学到除颜色信息之外的其他信息,比如线条信息等.这样训练的网络在应用时当用户选择的与花卉线稿图结构形式差异很大的参考图像,会出现错误的响应.当训练的网络过度依赖原作,可能导致生成图像出现极端情况,即上色结果图是花卉线稿图和参考图像线性叠加的结果,如图6(c)所示.
针对这个问题,本文提出训练时对原作进行翻转、错切等几何变换,打乱图像空间结构得到摄动图像作为训练阶段的参考图像,既降低线稿图和参考图像结构上的相似性同时又能保留线稿图上色所需的颜色信息.除了几何变换,本文的摄动图还采用基于像素点的圆形扭曲变形操作,公式为
(9)
其中,o表示圆心像素点,r表示圆的半径,m表示圆心像素点o移动后的位置,p表示圆内任意一个像素点.当圆心o转移到位置m后,圆内像素点p由像素点q的位置转移而来,也就是说像素点q的颜色决定了变形后像素点p的颜色.式(9)表明离圆心越远的像素点,对应的偏移量越小,发生形变的程度就越小.
该步骤使得原作摄动图和花卉线稿图线条结构在像素层面也有较大差异,希望上色网络学习到训练参考图像的颜色信息,而摒弃对象的位置、结构等信息.
考虑到原作摄动图由原作变换而来,可保持内容上的相关性,同时在颜色上也具有强关联,为了降低对颜色的强依赖,本文对摄动图进一步做模糊处理,采用5×5的高斯滤波核处理图像,达到图像色彩模糊化的目的,同时不会过度损失像素点的颜色值,提升模型的鲁棒性.训练用的参考图像最终经由对原作采用翻转、错切、扭曲和模糊化处理后获得,本文称之为原作摄动图,具体步骤如算法1所示.4个摄动操作与顺序无关,结果如图7所示:
算法1.原作摄动图的生成算法.
输入:工笔花卉原作A1;
输出:工笔花卉原作对应的摄动图A5.
记当前输入图像为A1,大小为m×n,摄动处理过程有4个步骤:
① 模糊.使用5×5高斯滤波器对图像A1滤波得到图像A2.
② 错切.图像A2从上到下,第i行往左移动int(i/15)个像素,并将左侧延展出来的直角三角图像块填充到右侧空白的三角形中,得到图像A3.
③ 翻转.将图像A3左右翻转得到图像A4.
④ 扭曲.按式(9)对图像A4中的像素点进行扭曲变形,进一步打乱图像的空间位置信息,得到图像A5,即工笔花卉原作的摄动图.其中,半径r=50.
同时本文设计的训练方式是将“原作摄动图-原作线稿图”配对输入生成器并要求生成器的输出结果为原作,如图8所示,原作摄动图与原作线条的空间结构发生了一定的变化,这就形成了训练彩图与线稿图线条结构的差异性;训练时要求生成器输出的结果是工笔画原作,这一方式就使得摄动图的颜色信息(花朵、叶子、花梗、背景)可以关联到该颜色在线稿图对应的语义位置,同时我们在生成器中引入线稿语义分割模块,可使生成器更准确地定位颜色语义区.在训练完成后,网络应用时,参考图像就类似于摄动图的角色,如图2所示,尽管参考图的线条结构可以与输入的线稿图有较大差异,但依然生成器可以较好地捕捉参考图的色彩信息并与输入线稿图相关联.
Fig. 8 Flow chart of RBSM-CGAN generator network in training stage图8 训练阶段RBSM-CGAN生成器网络流程图
本文使用的“工笔花卉原作-花卉线稿图”数据集是从网络上收集获得,类别较丰富,涵盖牡丹、荷花、虞美人、郁金香、菊花等花卉种类.针对数据集中图片分辨率低以及数据不平衡等问题,采取图片筛选、去水印、数据增强等预处理操作;最终构造了一个包括1 961幅图片的训练集,其中259幅工笔花卉有画家手绘的对应花卉线稿图线稿,其余线稿图则通过扩展高斯差分算法(extended difference of Gaussians, XDoG)[19]提取工笔花卉的边缘线条获得.此外,本文上色仿真算法基于卷积神经网络,通过卷积核学习图像特征,为了防止图片大小悬殊引起卷积核参数收敛困难,网络训练不稳定,将数据集中图片的尺寸统一设置成256×256.
高斯差分(difference of Gaussians, DoG)是基于二阶微分的边缘检测算子,通过计算二阶导过零点得到1~2个像素宽的细边缘.DoG对图像进行不同尺度的高斯滤波得到2幅高斯图像,而后计算2幅高斯图像的差值得到边缘图,相当于一个带通滤波器,能过滤颜色渐变引起的假边缘,但是也可能过滤掉弱边缘.XDoG是对DoG的改进,通过设置阈值保留差分图中边缘强度低的弱边缘.此外,为了消除噪声的影响,对检测得到的边缘图进行中值滤波,最终得到的检测结果线条较连贯、边缘定位较准确.训练数据集示例如图9所示.
本文使用的线稿图中线条的颜色有深有浅,是因为文中收集到的图片分辨率不同.分辨率低的图片携带的信息较少,边缘线条较模糊,对应的线稿图线条较细,颜色较浅;反之,线条较粗,颜色较深,再一个原因是部分工笔画能够收集到画家留下的白描图,这类白描图通常线条比较清晰、颜色较深.除此之外,二者没有特殊的含义.为了模型的适应性更强,训练时浅色线稿图也不做增强.
Fig. 9 The presentation of dataset in this paper图9 本文的数据集示例
本文在Tensorflow环境下实现花卉线稿图到工笔花卉的转换.生成器和判别器使用Adam优化器,学习率设置成0.000 02,迭代200次,网络的训练与测试都在GPU Tesla P100上运行.
图10是选取了9幅不同色调的参考图像对10幅不同造型的花卉线稿图的上色结果.线稿图按照花卉类型选取,工笔画作中常见的荷花、牡丹、菊花各选2幅,余下4幅为虞美人、百合等杂花类;参考图像按照色调的类型选取,有红、橙、粉、绿、蓝、紫等,基本涵盖了工笔画常见的色调类型.图10(b)粉色和绿色的组合勾勒出春天万物复苏、欣欣向荣的景象;图10(c)由红色花朵和明黄的背景组成,鲜明的色彩造成视觉冲击;图10(d)用相近色系的冷色烘托出牡丹的清新别致;图10(e)深蓝的牡丹别具风格;图10(f)是宋代工笔芙蓉花,采用石色,颜色厚重;图10(g)粉白色的玉兰花开的绚烂,在灰绿叶子的陪衬下独显清冷明艳;图10(h)使用墨绿色的叶子以及浅绿的背景,衬托出桃红色花朵的鲜艳明亮;图10(i)在嫩绿色叶子的衬托下,白色花朵愈加显现得干净纯洁;图10(j)呈现了淡蓝色细长的菊花花瓣,与其他工笔花卉花型相差甚大.对比同一参考图下的不同线稿的上色效果可以发现,本文方法可适用于不同构图、造型的花卉线稿图,能较好地将参考图像的色彩风格按照语义迁移到花卉线稿图中,生成图像颜色饱和、层次丰富,渐变色的模拟也有较好的效果.而同一花卉线稿图在不同参考图像的指导下呈现出不同风格的色彩效果,展示了网络输出的多样性.可以观察到,本文方法对参考图像的选取约束较小,如图10行2荷花线稿图,即使参考图像中的花朵没有花蕊,生成网络可以通过自主学习的方式对荷花线稿图中的花蕊上色.这是上色模型对所学习的数据集特点的一般性模拟效果.
Fig. 10 Coloring results by the proposed algorithm图10 本文算法上色结果
画家笔下不少工笔花卉都有描绘花蕊,本文收集的数据集中也是如此.因此,在训练时,那些有花蕊的训练数据对,其花蕊的特征会被模型所学习到.在模型应用时,如果线稿图有花蕊,即便所选择的参考图中没有花蕊,上色模型也会对花蕊进行上色.实验结果可以看出生成图像颜色合理,能较好地模拟工笔花卉画的色调风格.
为了验证本文设计的算法的有效性,分别对本文提出的3个主要策略:语义定位模块、特征损失函数和摄动图训练方式进行了消融实验及分析.实验结果表明本文算法在语义提取、颜色定位、渐变色模拟效果等方面均表现较优.
4.2.1 语义定位模块的消融测试
Fig. 11 Comparison of ablation results with or without semantic segmentation module图11 有无语义定位模块的消融实验结果对比
本文在生成器网络中引入预训练的语义分割网络,旨在通过语义标签图辅助生成网络识别不同语义区域,提升参考图像和花卉线稿图空间语义匹配精确度.为了验证语义分割模块的有效性,实验对比了有无语义分割模块的生成效果,结果如图11所示.没有语义定位模块的生成网络当参考图像和花卉线稿图的外形轮廓相似时,渲染效果尚可,如图11(c)行1芙蓉花,叶子渲染成黄绿色,背景米黄色,整体颜色风格和参考图像相似;当二者花型或者构图差异较大时,上色模型颜色定位较差,如图11(c)行2牡丹黄色的花朵只有部分上色,且黄色花瓣中混杂了黑色和红色,仿真效果较差;又比如图11(c)行3杂花图叶子中部分区域颜色空洞,缺乏色彩;而图11(c)行4荷花花瓣上色不足,花朵上方又出现了颜色溢出,色彩定位较差.对比本文算法带有语义定位模块的上色结果,整体色彩风格与参考图像保持一致,语义定位较准确,图像失真较少;可以看出语义标签图确实加强了不同区域的颜色学习,生成结果色彩厚重饱满、过渡自然,比较符合真实工笔花卉画的颜色分布和特点.
为了定量分析生成图像的质量,本文采用弗雷歇初始距离(Frechet inception distance,FID)[20]进行客观评价,结果如表2所示.FID通过计算生成图像和目标图像隐层空间特征的Wasserstein-2距离评估图像的生成质量,分数越低图像越好.由表2可见,本文算法生成图像的FID比未使用语义分割模块的生成图像低,说明语义定位校准模块的有效性.
Table 2 FID Comparison of Images Generated by Different Algorithms表2 不同算法生成图像的FID对比
4.2.2 特征损失函数消融测试
损失函数可以惩罚生成图像和原作像素点颜色以及语义的差异,提升上色仿真效果.生成模型常用L1损失缩小生成图和原作的像素点差异,但是没有语义上的约束,容易导致色彩在空间上不连续,本节对比了增加特征损失项Lf前后生成效果的差异,结果如图12所示.从图(12)可以看出,没有加特征损失项的生成图像在颜色构成上和参考图像类似,但是色彩分布不协调,如图12(c)行1芙蓉花的花朵左上区域颜色较深,其他区域颜色较浅;图12(c)行2蝴蝶兰有的花朵颜色厚重,有的花朵颜色轻薄,缺乏统一的色调,而本文算法通过加入语义损失,画面整体颜色柔和统一;图12(b)行3选取的参考图像中包括蓝色的牡丹以及白色的花骨朵儿,没有特征损失的上色模型把蓝色与白色都转移到花卉线稿图的花朵区域,导致蓝色花瓣中混杂了白色,通过加入特征损失,在语义上进行约束,生成蓝色色调的花朵,整体颜色协调.实验表明,加入特征损失后生成网络能更好地模拟真实工笔花卉的颜色分布.
Fig. 12 Comparison of ablation results with or without feature loss图12 有无特征损失的消融实验结果对比
为了进一步评估特征损失的有效性,本文采用FID比较特征损失增加前后的生成效果,结果如表2所示.由表2可以看出,本文带有特征损失Lf的算法生成图像的FID较低于未使用特征损失的生成图像.
4.2.3 摄动图训练方式消融实验
为了验证基于原作摄动图的训练方式对提升上色网络泛化能力的效果,本文在训练阶段分别用原作和原作摄动图作为对应花卉线稿图的参考图像,在测试阶段选取与花卉线稿图线稿在花型、布局上有较大差异的参考图像,对比2种方法训练的网络的上色仿真效果,结果如图13所示.以原作为参考图像训练的上色网络难以实现花卉线稿图自动上色,上色结果出现极端的情况,即输出结果是花卉线稿图和参考图像的线性叠加.这种现象出现的原因是训练过程将原作作为参考图像,原作和花卉线稿图的线条结构相同,所以上色模型将原作的颜色按像素点的位置进行点对点传递,就能达到花卉线稿图上色目的,显然这种模型泛化性很差,在实际应用的时候,对于任意选取的一幅参考图像,通过点对点传递参考图像的颜色是无法完成花卉线稿图上色.对比本文训练阶段采用原作摄动图作为参考图像,在测试的时候即使采用与花卉线稿图线条结构差异较大的参考图像,算法也能较准确地将参考图像颜色定位到花卉线稿图的对应语义区域.
Fig. 13 Generation results of whether uses perturbed images in training stage图13 训练过程是否采用原作摄动图的生成结果
ANAS[11]是一个基于深度卷积神经网络的艺术风格迁移模型,可将风格图像的颜色和纹理迁移到内容图像;Huang等人[12]的算法是通过对隐层空间解耦将参考图像的特征复用到内容图像实现上色的;Zhang等人[13]提出的CoCosNet网络模型是基于参考图像的跨域图像转换任务的一个通用框架;本文利用“工笔花卉-花卉线稿图”数据集训练文献[11-13]所提的模型,比较不同模型的工笔花卉上色仿真效果,结果如图14所示.
本文选取了5种不同花型的线稿图线稿和5张参考图像,由图14可以看出,ANAS在迁移参考图像的颜色信息上是可行的,生成结果也反映出参考图像的颜色构成,但是由于工笔花卉颜色典雅工丽,不属于风格强烈鲜明的艺术图像,因此风格迁移效果较差,且颜色定位不够准确.
如图14(c)行4牡丹以及图14(c)行5荷花,花朵区域缺乏颜色渲染,而花卉线稿图的留白区域出现了颜色色块;图14(c)行1百合花、图14(c)行2茶花、图14(c)行3蝴蝶兰仅有部分区域色彩尚合理,大多数区域色彩杂乱,不符合工笔花卉画上色仿真的要求;Huang等人设计的非成对样本对训练的网络MUNIT表现欠佳,偏向于对背景和线条着色;CoCosNet能较好地模拟参考图像的颜色,但是语义区域定位的准确率较差,导致颜色不足.如图14(e)行2茶花和图14(e)行5荷花花朵区域,几乎没有色彩渲染;有的出现定位错误,如图14(e)行4牡丹草绿色的叶子出现红色的色块,影响生成图像的艺术效果.本文算法能较好地将参考图像的色彩按照语义迁移到花卉线稿图,在颜色模拟上更接近真实工笔花卉效果.
Fig. 14 Comparison of generation results by various algorithms图14 不同算法生成效果对比
为了更客观地比较本文算法和ANAS[11],MUNIT[12],CoCosNet[13]模型的生成效果,本文采用FID进行量化分析,结果如表2所示.从表2可以看出,本文算法在工笔花卉上色仿真中表现更优.
本文提出的基于语义匹配的工笔花卉上色仿真算法RBSM-CGAN,实现了花卉线稿图到工笔花卉色图的转换,通过预训练的语义分割网络划分花卉线稿图中的不同语义区域,指导参考图像的颜色定位到花卉线稿图的不同位置,同时,语义标签图隐式地引入了内部注意力机制,加强了不同区域的颜色学习,提升了渐变色的模拟效果.针对训练阶段采用“工笔花卉原作-花卉线稿图”可能导致上色模型过度依赖,本文提出对原作扭曲变形等几何变换得到摄动图像作为参考图像.实验表明,本文算法能较准确地将参考图像的颜色信息传递到任意花型的花卉线稿图,生成具有工笔画效果的图像.后续研究希望增强网络结构,生成特殊肌理的背景;对花蕊等细节部分进行处理,以进一步提升模型的工笔画仿真效果;生成工笔花卉图的短视频[21],让图动起来;同时会考虑将该算法拓展到其他线稿图上色任务中.
作者贡献声明:李媛提出了算法主要思路和实验方案,完成实验并撰写论文;陈昭炯和叶东毅提出研究的问题及部分算法方案,并就算法和实验过程遇到的问题给出指导意见和修改论文.