基于深度学习的图像风格迁移方法对比研究
2022-06-02孙军梅李秀梅
朱 晴,孙军梅,白 煌,李秀梅
(杭州师范大学信息科学与技术学院,浙江 杭州 311121)
随着摄影技术的飞速发展,照片美化、艺术化等技术日益受到人们的关注.其中基于深度学习的图像风格迁移方法以其速度快、产量高、资源消耗低、对使用者专业能力要求较低等优势,成为研究热点.
2016年,Gatys等[1]首次发现深层神经网络VGG19可以提取图像风格信息和纹理信息,从而开创了基于深度学习的图像风格迁移.目前,图像风格迁移方法包括基于图像迭代的在线式方法[1-3]和基于模型迭代的离线式方法[4-16].前者通过训练,在线优化白噪声图像,训练完成即获得风格化图片,常用方法有神经风格迁移(neural style transfer,NST)[1]、松弛最优传输和自相似性(style transfer by relaxed optimal transport and self-similarity,STROTSS)[3]等.后者则是通过训练一个编码了风格信息或图片重构信息的模型,离线地获得风格化图片,常用的方法有单网络单风格的快速风格迁移(real time style transfer,RTST)[4],单网络多风格的条件实例归一化(conditional instance normalization,CIN)[6],以及单网络任意风格的自适应实例归一化(adaptive instance normalization,AdaIN)[7]、特征变换(whitening and coloring transforms,WCT)[8]、注意力感知多笔画(attention-aware multi-stroke style transfer,AAMS)[9]等.
本文基于深度学习的方法进行风格迁移,采用视觉质量、风格化时间、结构相似性等评价指标,比较并分析了基于图像迭代的在线式方法(NST、STROTSS)和基于模型迭代的离线式方法(RTST、CIN、AdaIN、WCT、AAMS)的性能,以期为风格迁移任务中的方法选择提供依据.
1 常用的图像风格迁移方法
在神经网络提取的特征图中,每一个数字都来自一个特定滤波器在特定位置的卷积,代表了一个特征的强度.Gatys等[1]发现,使用在ImageNet上训练好的用于分类任务的VGG19的不同层,可将内容特征和纹理特征提取出来(图1).VGG19网络中较浅的卷积层提取出的特征图纹理粒度较小、笔触分明,对特征图计算Gram矩阵,可以表示两两特征之间的相关性,且对角线元素体现了每个特征在图像中出现的量,能够充分表示风格细节信息;较深的卷积层提取出的特征图纹理粒度较粗,描述了大致的轮廓内容信息.
图1 VGG19各层提取图片特征图Fig.1 The feature map of each layer extracted from VGG19
1.1 基于图像迭代的风格迁移方法
基于图像迭代的风格迁移方法是一种无风格转换网络任意风格的方法,如图2所示,输入内容图片C、风格图片S、初始化白噪声图片O,用经ImageNet预训练的VGG19的浅层分别提取S和O的风格特征FS和FOS,用深层分别提取C和O的内容特征FC和FOC,计算内容损失LC和风格损失LS,通过梯度下降的方法最小化损失并优化O.基于图像迭代的方法每次只能风格化一张图片,需要设置合理的迭代次数,且针对不同的内容风格图像需要设置不同的内容、风格权重系数,才能达到合理的结果.
图2 基于图像迭代方法的训练图示Fig.2 Training diagram of methods based on image iteration
1.1.1 神经风格迁移(NST)
Gatys等[1]首次提出了用卷积神经网络来进行图像风格迁移的方法NST,采用VGG19中靠后的卷积层block4_conv2、block5_conv2来提取内容特征,靠前的卷积层block1_conv1、block2_conv1、block3_conv1、block4_conv1、block5_conv1来提取风格特征.按以下公式分别计算内容损失LC和风格损失LS:
总损失函数的计算公式为LT=αLC+βLS,其中,α、β分别表示风格损失和内容损失的权重.
1.1.2 松弛最优传输和自相似性 (STROTSS)
STROTSS[3]是另一种基于图像优化的方法.传统的直方图相似度量(earth movers distance,EMD)在计算风格损失时会同时优化两个变量,计算消耗将达到三次方数量级,其计算公式为
EMD(A,B)=minT≥0∑ijTijCij,
STROTSS用Relaxed EMD取代EMD,将EMD拆分为两个辅助距离RA和RB:
REMD(A,B)=max(RA(A,B),RB(A,B)),RA(A,B)=minT≥0∑ijTijCij,
RB(A,B)=minT≥0∑ijTijCij.
RA和RB都采用EMD度量,但只包含一个约束,分开优化A和B,找到其中最大的损失项,梯度下降进行优化,大大节省了计算消耗.
1.2 基于模型迭代的风格迁移方法
基于图像迭代的风格迁移方法产生的风格化图像质量较高,但风格化每一张图像都需要训练一次,效率较低.基于模型迭代的方法则能极大缩短时间消耗,可以分为单网络单风格、单网络多风格和单网络任意风格.其中单网络单风格和单网络多风格将风格信息编码在模型中,应用时只需输入内容图片,速度较快,但风格数量有限,限制了风格化应用场景;单网络任意风格则在模型中编码了图片重构信息,应用时输入内容图片和风格图片,从风格图片获取风格,风格数量可以无限多,应用最为广泛.
1.2.1 单网络单风格的快速风格迁移(RTST)
RTST[4]构建了一个风格转换网络(图3),将风格信息编码在风格转换网络中,为每一个特定风格都训练一个网络.模型包括编码模块和解码模块,编码模块将图像编码到特征表示,解码模块将特征表示解码回图像空间.通过训练将一种特定的风格编码到网络参数中,具体过程如下:输入内容图片到一个风格转换网络中,得到输出图像,提取输出图像的内容特征和风格特征,分别与内容图像的内容特征计算内容损失,与风格图像的风格特征计算风格损失,所用损失函数与NST一致,迭代优化风格转换网络的参数,使得损失最小.RTST可以批量对内容图像进行风格化,极大地提升了效率.
图3 RTST网络训练图Fig.3 RTST network training diagram
1.2.2 单网络多风格的条件实例归一化(CIN)
注:x是输入IN层的特征图;μ、σ分别是x的均值和标准差;γ和β是从不同风格中学习到的仿射参数.图4 CIN原理图Fig.4 Schematic diagram of CIN 注:C为内容图片特征图;S为风格图片特征图;μ为特征图均值;σ为特征图标准差.图5 AdaIN原理图Fig.5 Schematic diagram of AdaIN
1.2.3 单网络任意风格的自适应实例归一化(AdaIN)
受到CIN启发,AdaIN[7]在IN层进行另一种形式的操作:训练时输入内容图片和一组风格图片,按批次读入,先提取内容图片和风格图片的特征图,计算均值和标准差作为IN层的仿射参数,用内容特征图减去自身均值除以标准差进行去风格化,再乘以风格特征图的均值和标准差进行风格化.其原理见图5.
AdaIN的操作公式如下:
其中,μ(x)、σ(x)分别是C的均值和标准差,μ(y)、σ(y) 分别是S的均值和标准差.用t代表经过AdaIN操作之后的特征图,随机初始化一个解码器g,将特征图t映射回图片空间的风格化图片:
t=AdaIN(f(c),f(s)),T(c,s)=g(t).
AdaIN的训练目标是得到一个更好的解码器,使其网络参数更适合交换内容和风格图片的均值、标准差,因此训练过程无需指代特定的风格,测试时从风格图片中计算仿射参数,实现任意风格的迁移.此外,在IN层还可对多张风格图片的均值方差进行融合,从而达到风格插值的效果,如图6所示,每组都对4种风格融合进行风格迁移,其中每种风格所占权重一致.
内容图片 风格图片 风格插值结果图6 AdaIN风格插值示例Fig.6 AdaIN style interpolation examples
1.2.4 单网络任意风格的特征变换(WCT)
WCT是一种无需训练风格转换网络的方法,它预先训练一个用于图像重构的自编码器,优化参数,使图像重构损失尽可能小[8].风格转换常运用传统的图像处理方法白化和着色来实现,WCT从根本上不同于训练风格转换网络的方法,它的风格转换不利用网络中的任何参数,而是通过传统算法整合白化和着色转换来匹配内容与风格特征之间的统计分布和相关性,白化着色操作不会产生网络参数.
具体地,首先输入内容图片C和风格图片S到自编码器中得到特征图fC和fS.WCT的目标是转换fC使其匹配fS的协方差矩阵,通过以下两个步骤实现:
然后,通过自编码器重构图像,即可重建出效果不错的风格化结果.该方法通过预先训练的编码器-解码器网络来解决计算量大、速度慢的问题,同时扩展到了多层的风格化,将高层风格化后的结果视作新的内容输入到低层进行风格化,匹配所有层的风格统计信息,显著提高了风格化质量.此外,使用协方差矩阵来考虑通道之间的相关性,捕获了突出的视觉模式.
1.2.5 单网络任意风格的注意力感知多笔画(AAMS)
图7 AAMS注意力图Fig.7 AAMS attention map
2 实验
2.1 实验环境与设置
本研究对上述7种风格迁移方法分别进行实验,数据集分为训练集和测试集,均包括内容图片和风格图片.训练集的内容图片为MSCOCO官网“train 2014”中的82 783张训练图片,数据集大小为12.5 GB;测试集选用6张内容图片(包含人物、景色、建筑等)和12张风格鲜明的艺术风格图片(包含印象派、幻想风格主义、抽象表现主义等派系的艺术作品).训练阶段图片尺寸调整为512×512,在测量风格化时间阶段也将输入图片尺寸调整为512×512.
NST、STROTSS设置的迭代次数是2 000次,RTST、CIN、AdaIN、WCT、AAMS训练时的迭代次数为80 000次,batchsize为1,Adam优化器的学习率大小设置为1×10-4.显卡型号Nvidia GeForce RTX 2080Ti(12 GB显存),处理器型号Core i7-9700K,运行内存32 GB.
2.2 性能分析
2.2.1 定性评价
风格迁移任务没有真实标签,它的效果依赖于用户的满意度.风格迁移结果应该具有内容图片的感知语义、空间布局和风格图片的艺术风格,然而风格是多种感知属性的组合,包括全局色调、局部笔触、纹理、线条、形状、明暗对比、正负空间所占比例等,难以直观定义和量化,因此定性评价被广泛使用.图8所示为测试采用的内容图片及艺术风格图片,其中测试图片在训练过程中未曾使用.对7种方法在风格迁移稳定性、艺术化程度、图像平滑度以及显著区域保留度等方面的定性评价列于表1.7种方法的风格迁移结果见图9.
图8 内容图片及艺术风格图片Fig.8 Content pictures and artistic style pictures
表1 不同方法风格迁移效果的定性比较Tab.1 Qualitative comparison of the style transfer effect of different methods
从表1及图9可见,基于图像迭代的方法(NST和STROTSS)大部分生成结果较好,但不稳定,平衡内容和风格损失的权重系数影响力较大,对于不同的内容图像和风格图像需要手动设置不同的权重,设置不当容易使梯度下降算法被困在局部最小值上.本研究采用相同的内容风格权重,导致图9所示这两种方法的风格迁移效果并不一致,在第3、4行生成效果较好,第2、8、10行效果较差.STROSS采用更先进的直方图损失函数,产生的风格化图片更平滑,伪影较少,色彩对比度更高.
图9 不同方法的风格迁移结果Fig.9 The style transfer results of different methods
图9中部分图片存在伪影,不够自然,总体来说,在一些只包括线条和色块的简单风格图片(第3、6行)上,各种方法迁移效果较好,对一些语义结构复杂的图片(第5、11行)风格化效果较差.
基于模型迭代的方法较稳定.其中RTST为每种风格单独训练一种模型,不存在多风格之间的干扰,视觉效果较好,但艺术化程度不够,只能迁移相关的图案到相关联的平滑区域(天空),且偶尔会产生不正常的亮斑,如图9“girl”中的额头和“farmer”中的天空.CIN为多种风格训练一个模型,较RTST的视觉效果更自然,但在语义复杂的风格图像上只迁移颜色等低级风格信息,如图9第4、7行.AdaIN允许灵活的用户控制(如内容风格权衡、风格插值、颜色空间控制等)而不需要修改训练过程,具有更高的速度和灵活性,对于图9中大部分内容图片,能忠实地实现风格图片的风格传递.WCT通过堆叠网络来获得更精细化的效果,能够捕获风格图片的显著性视觉区域,使内容图片中的重要内容很好地风格化.AdaIN和WCT能较好地保存内容,并匹配风格图片的整体风格,当风格图片内容结构简单时,风格迁移效果较好,如图9第6行;当风格图片包括复杂的纹理和笔触时,不能够自适应地将不同的风格图案和不同的内容结构匹配,无法保持颜色分布,局部的风格图案扭曲,风格化结果会出现冲刷式的伪影,如图9第5行,也可能会在平滑的内容区域产生一些不需要的笔触,如图9第1行中的天空.AAMS中加入了注意力机制,用注意力图来指导风格迁移,因而能够捕获任何图片的显著性特征,保护了显著性区域的结构,如图9中的“sailboat”和“cornell”.AAMS同时实现了多笔触大小之间的无缝合成和对远程特征关注度的一致性,笔画之间的丰富融合,在不牺牲整体感的情况下,局部呈现有区别的风格模式,产生视觉上合理的风格化结果.然而非显著背景区域关注度较低,结构扭曲和模糊程度相比其他几种方法更加严重.
2.2.2 定量评价
选取多张内容、风格图片,用多种方法进行风格化,并计算风格化时间的平均值,结果见表2.其中,基于图像迭代的方法NST和STROTSS要达到较好的风格化效果,需要多次前向—反向传播迭代优化白噪声图像,速度较慢.基于模型迭代的方法在速度上提升了3个数量级,RTST和AdaIN相对较快,CIN、AAMS及WCT相对较慢,原因在于:CIN中编码了多种风格,风格化时要在模型参数中进行选择;AAMS需要先生成注意力图再来指导风格迁移;而WCT通过级联网络来获得更精细化的结果,并且采用的奇异值分解算法需要在CPU上执行.
表2 不同方法风格迁移效果的定量比较Tab.2 Quantitative comparison of the style transfer effect of different methods
结构相似性(structural similarity,SSIM)是一种衡量两幅图像相似度的指标,从图像组成的角度将结构信息定义为独立于亮度、对比度的反映场景中物体结构的属性.风格迁移任务希望把一张图片的风格应用到另一张内容图片上,但在结构上,风格化结果应与内容图片保持一致性.SSIM值越接近于1代表结构越相似,其计算方式如下:
由表2可见,CIN风格化结果与内容图片结构相似性最高,合理的解释是CIN只能学习到多种风格的低级信息,只迁移了颜色,内容结构保持很好;STROTSS、RTST、AdaIN较好地保持了结构相似性,可能的原因是STROTSS采用了更先进的直方图损失保护了内容结构,RTST只编码一种风格从而免受干扰,而AdaIN只在归一化层进行操作没有破坏内容结构;NST、AAMS、WCT的风格化结果与内容图片的结构相似性较低,可能的原因是NST需要手动尝试才能设置合理的权重,AAMS在非显著性区域模糊现象严重,WCT中白化着色操作破坏了内容语义信息.
3 结论
本研究比较了NST、STROTSS、RTST、CIN、AdaIN、WCT、AAMS等基于深度学习实现图像风格迁移方法的性能.其中NST、STROTSS在设置合适权重前提下产生的风格化图片质量较好,但耗时较长;RTST和CIN能够获得自然的视觉效果,但只能进行低层次的风格化,并且为某种或多种风格训练一个模型实用性不强;AdaIN、WCT、AAMS可以满足任意风格化的要求,在难度适中的艺术风格迁移任务上表现较好,且允许更多的用户控制.