生成对抗网络的素描生成方法
2022-05-09滕少华袁萧勇
滕少华,袁萧勇,张 巍
(广东工业大学 计算机学院,广州 510006)
1 引 言
素描是无数条不规则的线条,外加独特的塑造方法组合而成.它的要素是线,通过使用铅笔即可以完成速写或精细描绘.值得注意的是,素描两个主要组成部分是轮廓线和阴影线.轮廓线定义了区域边界,阴影线则反映了区域上的光线强度和色调差异[1].面部照片素描合成过程中也需要经过轮廓再到阴影,有经验的艺术家会先重点关注个人照片的线条,准确的画出全局轮廓线是至关重要的事实,这样使得铅笔画在视觉上更具有吸引力.在数字化娱乐方面,人脸素描合成也有少数应用.在将素描用作个人资料照片或个人头像的智能手机和社交网络用户中,人脸素描变得越来越流行.因此,素描和照片之间的匹配是重要和实际的问题.
早期研究中,非真实感渲染技术可以简单实现铅笔画的艺术效果图像,借助于交互手段模拟绘画风格.随着人工智能领域积累成果,深度学习也可以应用于非真实感渲染技术中.
风格渲染效果是图像合成欠佳的,所以生成对抗网络就显得极为重要.研究人员已经做了很多相关工作也取得了很大进展(例如Gatys[2]、Johnson[3]),但对于绘画风格类型既要求清晰的轮廓又需要富有感染力的色调.在实际应用程序必须应对高精度线条,而当前的算法可能无法解决这些问题.因为从照片到素描的生成之间存在域差距,我们需要进一步研究缩小或消除域存在的差距.基于图像的草图合成可以表述为基于输入图像的草图转换问题.目前针对使用GANs将图像从一个域转换到另一个域已经有几种方法,然而,没有一个是专门为从图像合成草图而设计的.
在本文中,为了应对这些挑战,我们提出将非数据驱动方法和深度学习方法两个研究主题结合起来.我们研究合成的图像,线条信息得以准确保留,检测精度高;风格具有通过大量的样本数据集进行学习来生成的数据集风格.两者平衡结合生成更佳的素描.
双分支生成器对素描生成是基于Cycle-GAN[4]、端到端可训练的图像合成方法,Cycle-GAN通过将照片迁移到素描中来弥合域差距.与Cycle-GAN[4]不同的是,我们设计的模型考虑了对高精度线条画的额外因素.我们实验表明,通过设计一个双分支的生成器将边缘检测算法与CNN网络设计相结合,我们可以实现素描线条与阴影从整体上达到更好的艺术效果.
2 相关工作
艺术风格化是一个长期存在的研究主题.由于其广泛的应用范围,20多年来一直是重要的研究领域.
在进行大量研究以近似艺术风格过程中,早期的非真实感渲染工作集中在2D输入和3D模型[5]的交互式笔墨绘制.铅笔素描类似于笔墨绘画,但是它具有更大的自由度,因为各个铅笔笔触都有大小不一的线条和阴影[1].基于图像的铅笔画模拟技术通过对二维图像进行相应的特殊图像处理,获得具有铅笔画效果的绘画作品.Nan Li和Zhong Huang在文献中提出了一种基于真实铅笔画创作思想的图像铅笔画绘制方法[6].李龙生等人也提出了一种基于图像的铅笔画生成算法[7],该算法首先通过对输入的2D图像进行“霓虹”处理和反相处理来获得铅笔画的轮廓线,然后通过颜色缩放处理,从而突出了铅笔画表达的重点区域.
原始GAN[8]是一个生成模型,它在图像生成方面具有强大的拟合能力.研究人员利用生成对抗网络可以生成高质量纹理细节图像[9],同时该图像具有更加逼真的视觉效果[10].而无监督的图像到图像转换是通过使用来自各个域的边缘分布图像来学习不同域中图像的联合分布,GAN模型则可以解决联合分布问题.在监督学习中,可以使用成对的不同域中的对应图像[11,12]进行图像之间的转换,但是由于难以收集对齐的,成对的训练数据,这些方法都没有被证明可用于样式化.我们还注意到,最近已经开发出几种方法来从不成对数据中学习映射[1,13],其中提出了循环一致性约束假设,其假设存在循环一致性映射,以便源域中的图像可以映射到目标域中的图像,并且其转换后的图像在目标域可以映射回源域中的原始图像.
由于Gatys等人的工作开创性地处理特殊艺术风格[2,14],通过分离和重新组合图像内容和样式,展示了卷积神经网络(CNN)在创建艺术图像中的功能.在计算机视觉领域,风格迁移通常被视为纹理合成的一般问题,即从图片源中提取纹理并将其转移到目标图像上[15,16].Gatys等人利用CNN从任意照片中提取内容信息,并从著名的艺术品中提取风格信息,并且将提取的风格对内容进行重新绘制[2].Johnson等人[3]在测试阶段通过单次向前来预训练特定于前馈风格的网络并生成风格化结果,算法设计实现了实时风格转换.然而,这些方法对于铅笔素描效果不佳.铅笔风格的渲染仅仅捕获整体的灰色调,但不能很好的捕捉独特的轮廓.
以上的工作在动机和方法上对素描都没有很好的针对性,只有生成具有独特性的素描才能满足在数字娱乐中的需求.我们根据绘画师的绘制过程增加了轮廓,从而生成更精细的草图.
3 双分支对抗网络素描生成
本节先描述及常见解决方法,然后阐述提出的双分支对抗网络模型.此外,为了减少网络损失,对损失函数进行改进.
在这项任务中,生成素描问题视作一个图像到图像的转换任务.这种转换任务可以轻松地在Cycle-GAN[4]框架上实现.然而,针对铅笔画艺术效果,追求清晰的轮廓线和高质量的阴影图.我们基于图像的铅笔素描方法设计了一个双分支模型.
3.1 双分支模型体系结构
素描不同于其他艺术风格,素描需要保持线条的精度,又需要减少其艺术风格损失.为了解决这个问题,我们设计了一个双分支生成模型,见图1.
图1 双分支框架的网络结构Fig.1 Network structure of the dual-branch framework
该模型包含两个主要步骤,铅笔描边生成和铅笔色调绘图.它们的作用是相辅相成的,具体来说,轮廓线的绘制目的是表达整体结构,勾勒出对象边界,而色调绘制则更多地关注纹理和阴影.框架如图1所示.上面部分是真实图片生成素描图的双分支生成器,上分支生成轮廓图,下分支生成阴影图,这个模型是同时进行训练,并且不需要成对的训练数据;下面部分是素描生成原来图片的生成器.通过模型训练,输入图像将会生成轮廓和阴影,它们通过像素混合结合成最终铅笔画.这项任务最终合成铅笔画的效果会自适应微调阴影生成图.
模型中的网络结构基于残差的卷积块设计.在整个生成图像中,我们的两个分支是同时进行训练,这样线条画的生成分支对阴影生成分支存在一定引导,促使训练趋于稳定.主干线是边缘图的生成,该图由原图的梯度变化构成,经过模型合成后可以最大程度的保留最终轮廓输出的特征.在边缘图基础上,网络抽取出阴影进行渲染,轮廓线可辅助阴影在较深层融合得到最后输出.在网络训练过程中,卷积神经网络具有一定的自适应增强生成能力,轮廓的生成可以引导阴影图训练.而在素描映射到原图过程,模型利用另一个独立生成器训练.通过循环对抗学习将原图和素描相互映射到各自的语义空间,减少模型训练损失.
3.2 线条画提取
图像边缘是像素亮度变化剧烈的区域,即高频区域.根据前人研究分析,从源图像生成精度高的线条画,非数据驱动方法的边缘检测精度高且应用范围广,然而其风格较为简单;而数据驱动的风格表示很丰富[17].所以,我们结合了两者具有的优点,其他方向的信息将会丢失,所以在本文中将考虑更多方向上的信息.在输入图片时进行灰度化后使用改进Sobel提取方法对其进行卷积计算梯度,产生幅值;
(1)
I是由输入图像灰度化后的值,i分别表示0、π/4、π/2和3π/4这4个方向,∂i是在i方向上的梯度运算.
为了验证改进Sobel提取方法的有效性,我们对比了3种检测算子提取轮廓方法.第1个Robert算子利用局部差分算子寻找边缘,结果图2(b)在边缘上精度损失严重,定位不是很准确.第2个Kirsch算子采用8个模板对8个方向进行梯度运算可以得到更具有艺术效果的素描.
图2 图像轮廓图Fig.2 Image contour map
在线条生成的任务上,我们使用了Sobel检测算子,其对灰度渐变和噪声较多的图像处理效果较好.模型训练时线条画提取与阴影风格生成需要同时进行,提取的轮廓为保留其重要特征,在较深层时与阴影结合.因为素描注重线条的精度,这里使用Sobel检测算子提取梯度能够很好的保留轮廓的连续性,具有较高精度.虽然原Sobel提取方法具有较高精度,但它只考虑了0和π/2两个方向,选取运算中的最大值作为幅值,结果展示在图2(c)边缘比较粗且存在线条不连续情况.第3个Sobel算子具有加权平均,是对两个方向上的梯度运算,图2(d)虽然表现出细节较好的效果,但其只对水平方向和垂直方向进行梯度运算,会丢失其它角度上的梯度信息.为了弥补这一缺陷,使操作可以更准确地描述边缘点以减少丢失的轮廓,我们使用了3×3的Tx,Ty,T45,T1354个方向模板.每个模板位置的权重取决于位置到中心距离以及位置方向.模板如下:
计算梯度得到轮廓图2(e),Sobel进行4个方向的梯度提取将会减少边缘信息缺失,得到更清晰轮廓.
3.3 阴影分支处理
基于卷积神经网络在图像生成和图像特征提取方面具有非常好的效果,本文模型的阴影分支主要由残差块和像素卷积层组成.
在如图3所示的网络结构中,“K×K,conv/deconv,C,stride=S”表示一个K×K卷积核,输出大小C,滑动步长S的卷积/反卷积层.中间的模块由6个Resnet残差块组成.在最后一层使用Sigmoid提取mask掩膜,使用Tanh作为激活输出阴影图像.网络中第1模块结构与第3模块结构对偶,从而使生成的图像尽可能还原成原始图像.
图3 阴影分支网络结构Fig.3 Shadow branch network structure
3.4 像素融合
像素混合是一种线性混合,在图像算法,图像的像素操作可以达到平滑、模糊、去噪、和锐化等效果,而像素混合既不同于图像加法,也不同于正片叠加.线性混合经过生成对抗网络自适应性微调,可以达到较好的效果.一张轮廓图S、一张阴影图T和两个掩膜图像Amask,Bmask,可以通过式(1)将两幅图像在掩膜图线性叠加合成最终素描图像Y.
Y=Amask*S+Bmask*T
(2)
其中,*是逐像素点乘运算.在生成对抗网络生成的图像中会存在部分的噪声,为了减少噪声的问题,可以利用掩码图对正常图进行抠图操作.该方法中S表示轮廓图,Amask表示对S图的掩码图,通过点乘运算学习到的掩码图将保留S图中轮廓部分信息,去除噪声部分信息;同理对T阴影图和Bmask掩码图一样.在这种无监督模型学习中,通过学习原图与素描图的分布规律,从而确定S图和T图的结合,最终实现素描Y生成.
3.5 对抗损失计算
通过优化由色调约束和线条约束组成的函数,融合出良好的艺术图像.色调约束试图捕获纹理的细节,线条约束则生成精度高的整体轮廓.一旦训练了G(x,S),模型通过循环一致性相互约束.
生成对抗网络中,我们使用了生成器网络G和鉴别器网络D,生成器网络G产生抽象的源图像阴影与由Sobel算法产生的线条画结合得到结果图;鉴别器网络D辨别铅笔绘画中的真实样本和生成的结果.G的目标就是生成D无法辨别的图像.这将通过使用最小二乘[18]对抗损失来实现单个目标:
(3)
这里Psketch和Pimage分别代表着铅笔素描样本y分布和源图像样本分布,S为源图像的线条画.
为了GAN生成高质量图片以及稳定模型训练过程,我们的循环一致性目标函数使用最小二乘损失,在混淆判别器的前提下让照片x经过生成器G生成素描图像G(x,S),再由素描经过生成器F生成照片x′.这样的循环转换后,x与x′应是同一张图片.因此,循环一致性损失为:
Lcyc(G,F)=Ex~Pimage[x-F(G(x,S))]2+
Ey~Psketch[y-G(F(y),S)]2
(4)
最终总损失函数被定义为:
L=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)
(5)
4 实验与结果分析
本实验均在一台至强E3处理器,16G内存,GTX1080Ti显卡,64位Window 7操作系统的PC机子上进行,深度学习框架为Tensorflow,使用Python语言的PyCharm解释器.本节,我们首先讲述数据集和实验过程的一些细节,然后对于铅笔画的图形质量主要归纳为结构相似性(SSIM)、特征相似性(FSIM)和主观感知,前两个指标度量是客观评估,最后将提供一系列实验结果来阐述本文算法的有效性.我们将进行NPR和深度卷积网络之间的对比.
4.1 数据准备
我们的实验是基于两个公开可用的数据库:香港中文大学(CUHK)的面部素描数据库,称为CUFS[19]和中大的面部素描FERET数据库,称为CUFSF[20].关于CUFS数据库包含了来自3个子数据库的面部图像:CUHK学生数据库[21]包含188个面部素描和照片对组成;Aleix Robert(AR)数据库[22]包含123张面部素描照片图像对;用于电信和安全应用程序的扩展多模式验证XM2VTS数据库[23]由295个面部素描和照片对组成,XM2VTS数据库中的人具有各种属性,例如种族,年龄差异和剪发.CUFSF数据库由1194张面部素描照片图像对组成,包括FERET数据库[24].CUFS和CUFSF数据库均由艺术家为每个人绘制的面部图像和面部素描.CUFSF数据库中的面部图像因光照变化而具有一定鲁棒性,而草图图像则具有形状夸张的特征.为了合成草图,我们使用CUFS数据库和CUFSF数据库分别对本文算法进行了实验讨论及比较分析.
4.2 实验设定
在实验的整个过程中,我们的框架是基于Cycle-GAN框架进行改进.在模型训练过程中,每个输入图片大小都被设定为256×256.从头开始训练的网络,被设置为类似于Cycle-GAN中网络初始化.同时模型训练期间,我们使用批处理大小为1,网络使用Adam优化器,并将生成器和鉴别器的初始学习率都设置为0.0001.在最后评估指标上,我们的图像合成任务使用定量测量方法SSIM得分和FSIM得分来观察合成图像的效果,结构相似性度量(SSIM)和特征相似性度量(FSIM)既可以衡量图像的质量,又可以是对图像及其相应合成图像感知的测试相似度指标,包括素描画合成,图像恢复和图像超分辨率等多种任务.所有图像都进行了200×250尺寸裁剪的预处理.
4.3 评价指标
模型的性能通过最后生成的素描图与原图的结构相似性(Structural Similarity,SSIM)和特征相似性(Feature Similarity,FSIM)来衡量.如表1所示,其值越大,表示图像失真越小,即效果越好.由Wang Zhou[25]等人提出的SSIM和Lin Zhang[26]等人提出FSIM计算公式如式(6)、式(7)所示.
表1 性能比较:CUHK数据集的素描图合成的定量结果Table 1 Performance comparison:quantitative results of the synthesis of sketch maps of CUHK DataSet
(6)
(7)
4.4 比较算法
对比研究中,我们提出的方法与目前最新的图像素描合成方法MWF[27]、MrFSPS[28]、Pix2Pix[9]、Cycle-GAN[4]、DualGAN[29]、PS2-MAN[30]进行合成任务比较.实验的比较集中在流行的pix2pix及其变体上.如图4和图5所示,我们在MWF[27]、MrFSPS[28]、Pix2Pix[9]、Cycle-GAN[4]、DualGAN[29]、PS2-MAN[30]和本文方法对比上研究素描合成任务.Lu[31]等人方法注重于输入图片整体色调的变化,主观地基于直方图色调逐步调整数字模型,经过调整后的结果图展示见图6(Lu).
图4 在CUHK数据集上对比从图片到素描结果Fig.4 Comparisons of the results from pictures to sketches on the CUHK dataset
图5 在CUFSF数据集上将照片与素描合成结果进行比较Fig.5 Comparisons of the result of photo and sketch synthesis on the CUFSF dataset
4.5 与不同素描算法对比
这里我们将NPR和基于深度神经网络的样式化方法进行了比较.从中可以看出Lu[31]等人的阴影结果仅表现出一些整体灰色感的铅笔素描线条不自然,阴影未正确反映输入图的对比度.Gatys[2]等人的结果中阴影线来自一幅真实的素描画图形,但整体结果看起来并不像一幅素描画.相比之下,我们的结果在合理的绘制上呈现了更逼真的灰色度,并且保留原有的轮廓线.图6下方是对应第3行源图像和不同方法生成图像的两处放大后的详细信息.
图6 不同铅笔画方法的视觉比较Fig.6 Visual comparisons of differentpencil drawing methods
5 结 论
在探索图像素描合成的问题上,我们使用了最新的生成模型.本文在此基础上引入一种易于理解且新颖的素描合成网络框架.研究中结合边缘检测和卷积神经网络两种方法,这种策略促使模型能够更好、更稳定的训练.提出的方法使GANs生成更高质量的素描图像,它相对于现有的生成模型能够合成特定的素描图,同时保留清晰的轮廓边缘.另外,最小化最小二乘误差和循环一致性损失被使用在主函数中,这些也导致高质量和高分辨率图像的合成.通过我们主观部分的分析,同时对两个流行数据集进行评估,并将结果与最新的生成方法进行比较,所提出方法的实验效果比已有模型取得显著改善.我们相信这些对比的研究将会有益于读者获取更多关于素描合成等方面的知识.