APP下载

基于亮度与色度信息的深度学习图像风格迁移算法研究

2019-08-17杨慧炯韩燕丽郭芸俊

关键词:亮度纹理卷积

杨慧炯,韩燕丽,郭芸俊

(太原工业学院 计算机工程系, 太原 030008)

1 概述

图像风格迁移是计算机视觉技术、计算机图像非真实感渲染中的常见问题,一直受到学者们的广泛关注。图像风格迁移的本质为:在维持某个图像内容基本语义不变的前提下,将另外某个风格图像中提取的风格表示应用于该图像,从而达到该图像与风格图像风格表示相吻合的目的。传统的风格迁移手段一般采用基于图像全局或局部纹理进行建模的方式,由于只提取了图像的底层特征,而非高层抽象特征,在处理颜色和纹理较复杂的图像时,最终会导致合成效果较为粗糙,难以符合实际需求[1]。

近年来,深度卷积神经网络在计算机视觉领域的研究得到了广泛关注。Zeiler等[2]通过反卷积法分析图像中不同区域对图像分类输出的影响,对网络结构特征进行了深入探索。Mahendran等[3]通过基于梯度的方法优化某个目标函数实现浅层和深层网络表达的图像重构,以此了解特征信息在各层网络的存储机制,从而确立了深层网络对图像特征表达的作用。Krizhevsky等[4]通过训练一个面向数量为120万的高分辨率图像数据集ImageNet(图像种类为1 000种)的深度卷积神经网络,在图像识别的Benchmark数据集上取得了较好的成绩。

受深度卷积神经网络在大规模图像分类上取得的优异性能的启发,借助其强大的多层次图像特征和语义表征能力,Gatys等[5]提出基于VGG的网络模型,conv4_2的特征映射输出可以作为图像的内容表示,通过VGG网络每一层输出的特征映射之间的内积运算所得到的Gram矩阵可以作为图像的风格表示。基于上述研究,Gatys等[6-7]率先提出了一种基于最优算法的纹理图像合成方法,该方法采用Mahendran和Vedaldi[3]提出的损失函数的计算方法来分别计算图像的风格损失和内容损失,并将二者结合在一起进行图像的风格迁移。

由于最优化的图像生成方法需要进行反复的迭代运算,从而导致在迭代过程中消耗大量的计算资源,很多深度学习网络使用基于网络计算的感知损失函数来构建前馈神经网络进行图像合成[8-10]。Johnson和Ulyanov等[11-12]利用Gatys等定义的感知损失函数,构建了可以进行快速风格迁移的前馈神经网络。Ulyanov等[13]在前馈神经网络中通过实例正则化代替批处理正则化进行训练和测试,显著提高了快速样式传输的生成图像的质量。在后续的研究中,Luan等[14]在风格迁移网络中通过加入正则化项来避免输出图像中出现太多的畸变。Gatys等[15]通过YIQ色彩空间,将颜色信息和亮度信息单独控制,分别实现了基于颜色直方图匹配和基于亮度信息的深度神经网络风格迁移,可以在图像艺术风格迁移的同时,保留原有内容图像的颜色特征。

上述方法在图像风格迁移,特别是图像的艺术风格化处理中取得了令人惊喜的效果,但是仍有以下两个问题需待解决:

首先,由于算法中只对图像的颜色特征进行了处理而没有对亮度特征加以考虑,从而造成风格化后图像的艺术层次变化不佳,特别是当原始图像中存在大面积色块区域时,往往造成风格化后图像在该区域的效果不佳。如图1所示,对于蓝天中的白云部分,采用梵高的《星空(The Starry Night)》风格化后,与原风格图像在艺术效果表现上产生较大的变化。

其次,在艺术作品中,像笔触的形状、纹理等精细空间的特征结构,与作品中整体艺术风格在特征表现上是不同的,但是现有的方法并没有对这些不同尺度的特征做有效的区分,从而造成风格化后的图像虽然在整体艺术风格上与原艺术作品有较好的相关性,但是在细节上往往还存在较大的差距。

本文对快速风格迁移前馈神经网络进行了改进,通过综合考虑图像的颜色信息和亮度信息构建多尺度分层网络,可以在图像整体艺术风格和细节特征处理效果上得到有效提高。

图1 由于颜色区域变化造成风格化效果不佳

2 基于卷积神经网络的图像风格迁移

基于卷积神经网络的图像风格迁移算法[6]的基本工作原理如下:

假设风格图像xS和待处理的内容图像xC,其对应CNN网络第l层的卷积特征分别表示为Fl(xS)和Fl(xC)。其中Fl(x)的每一列都是一个矢量特征映射,并且Fl∈RMl(x)×Nl(Nl为CNN网络第l层的特征映射数量,即卷积通道数量;Ml(x)=Hl(x)×Wl(x)是每个特征映射的高度和宽度的乘积,Ml(x)由输入图像的分辨率大小决定)。

Ltotal=αLC+βLS

(1)

其中LC为内容损失函数,在CNN网络第l层。LC表示为:

(2)

LS为风格损失函数,表示CNN网络多层风格损失函数的加权叠加,即:

(3)

(4)

其中Gl(x)为图像x对应CNN网络第l层卷积特征的Gram矩阵。

(5)

基于文献[6]中所论述方法,本文采用VGG-19网络模型进行训练,利用“conv4_2”输出进行内容损失LC的计算,采用“conv1_1”“conv2_1”“conv3_1”及“conv4_1”的输出进行风格损失的计算。

3 风格迁移网络结构及学习策略

如图2所示,基于亮度与色度信息的图像风格迁移网络由3部分构成,分别为风格化子网Style-Subnet、纹理细化子网Refine-Subnet和损失网络Loss-Network。其中风格化子网Style-Subnet和纹理细化子网Refine-Subnet构成1个多层前馈神经网络。输入图像xC首先通过风格化子网Style-Subnet,以颜色和亮度信息为特征进行风格迁移,然后经过纹理细化子网Refine-Subnet对精细的纹理进行处理。2个子网的输出和内容图像、风格图像共同构造损失网络Loss-Network,通过对整体损失Total Loss进行优化训练处理,完成整个迁移过程。

3.1 风格化子网Style-Subnet

在一幅图像的空间尺度上,颜色信息是其在特征感知方面的重要特征,它在很大程度上独立于图像的笔触纹理变化等其他风格特征。而从另外一个方面来看,由于人眼的视觉感知系统对亮度变化的敏感程度远远高于对颜色变化的敏感程度[16-19],因而亮度信息又可以作为图像风格的细节变化以及精细纹理特征的重要表述。基于上述原因,图像的色彩和亮度信息都可以作为风格迁移网络的重要感知特征,成为图像风格化有意义的控制纬度。

图2 风格迁移网络整体框架

3.1.1颜色直方图匹配

(6)

其中:A为3×3矩阵;b为一个三维向量。假设μC和μS分别为内容图像和风格图像的颜色均值,ΣC和ΣS分别为内容图像和风格图像的协方差,则有:

(7)

(8)

b=μS-AμC

(9)

(10)

基于上述约束条件,将内容图像和风格图像颜色信息作为Color-Block的输入进行训练。

3.1.2亮度匹配

假设内容图像和风格图像的亮度通道分别为LC和LS,Luminance-Block将内容图像的亮度LC进行迁移,以实现和风格图像的亮度LS相匹配。假设μC和μS分别为内容图像和风格图像的亮度均值,σC和σS分别为二者的标准差,则图像的亮度迁移可以通过式(11)进行表示。

(11)

本文采用YUV色彩空间,分别将内容图像和风格图像的亮度分量Y作为式(11)中亮度通道LC和LS的值,对Luminance-Block网络进行学习训练。

Color-Block和Luminance-Block输出的feature map分别按照颜色通道分量和亮度通道分量沿着向量深度进行连接,作为CNN-Block的卷积特征输入进一步进行处理。

Color-Block、Luminance-Block和CNN-Block的网络设计及训练策略基于文献[11,16,20]中所述方法进行。

3.2 纹理细化子网Refine-Subnet

3.3 损失函数

按照如图2所示网络结构,其损失函数为

(12)

(13)

3.4 算法流程

基于上述网络结构及学习策略,本文提出的图像风格迁移算法流程如下:

步骤1读取风格图像和内容图像,并进行归一化处理。

步骤2进行图像色彩空间变换,内容图像和风格图像分别从RGB色彩空间转换为YUV色彩空间。

步骤3将内容图像和风格图像的亮度分量Y和颜色分量UV分别作为风格化子网Style-Subnet的Luminance-Block和Color-Block的输入,Color-Block按照式(6)~(10)约束,Luminance-Block按照式(11)约束,采用文献[11,16,20]的方法进行训练。

步骤4将Luminance-Bloc和Color-Block输出的feature map分别沿着颜色通道分量和亮度通道分量进行拼接运算,作为CNN-Block的卷积特征输入,按照文献[11,16,20]所述方法进行训练。

步骤7将步骤6计算输出的各子网迁移损失按照式(12)进行加权运算,计算网络的整体迁移损失。

步骤8对步骤7的计算结果进行评价,并按照上述步骤进行迭代训练,直到满足训练要求。

4 实验结果及分析

4.1 训练策略

实验中采用微软的COCO数据集[21]进行训练,该数据集中包含82 783张图片。训练过程中batch_size参数设定为4,epoch参数设定为2,将图像归一化为256×256分辨率,采用Adam优化器进行迭代优化。利用VGG-19网络模型的“conv4_2”输出进行内容损失LC的计算,采用“conv1_1”“conv2_1”“conv3_1”及“conv4_1”的输出进行风格损失LS的计算,内容损失权重参数content_weight设定为1,风格损失权重参数style_weight则根据不同的风格图像进行设定。由于纹理细化子网Refine_Subnet是在风格化子网Style-Subnet进行图像整体艺术风格迁移基础上对纹理、笔触等细节进行处理,因而纹理细化子网Refine_Subnet的损失计算在整个网络的损失计算中相对于风格化子网Style-Subnet来说应占有较小的比例,本文中,2个子网的损失权重比例设定为λ1∶λ2=1∶0.5。

4.2 实验结果对比分析

基于上述网络结构及训练策略,实验中将本文所采用的方法与Johnson[11]和Ulyanov[13]的方法用相同的风格损失权重进行对比,结果如图3所示。

图3中,第1列为待处理的内容图像,第2列为风格图像,第3列到第5列分别为Jonhson、Ulyanov和本文所采用算法的实验效果。从图中可以看出,相对于前两种算法处理结果,本文所采用算法在色彩、纹理细节及整体艺术风格上都具有较好的效果表现,在艺术表现上和风格图像具有更强的相关性。

图4和图5分别为2张图像风格迁移效果的细节纹理局部放大。由图4可以看出,采用梵高的《罗纳河上的星夜(Starry Night Over the Rhone)》做风格迁移,对于颜色变化不明显的大面积色块天空区域,Jonhson和 Ulyanov的处理效果均无法正确表现出原作品中天空的变化和笔触的细节变化。而采用本文所提出的神经网络模型进行处理后,能较好地将原作品的艺术风格效果还原出来。

图5为采用埃米尔·诺尔德的《庭园(Blumengarten)》和毕加索的《坐着的裸女(Seated Female Nude)》做风格迁移。从原始图像的局部放大可以看出,相对于Jonhson和 Ulyanov的处理效果,本文采用的神经网络模型进行训练处理后,在笔触的细节上能够更好地对原作品的艺术风格进行展现。

图3 实验结果对比

图4 局部放大效果对比(一)

图5 局部放大效果对比(二)

4.3 处理速度及内存消耗

本文全部实验所采用的硬件环境为:Intel Core(TM) i7-4790 3.6GHZ八核处理器;DDR3 16G内存;NVIDIA GTX 1070i显卡。将本文所采用算法分别与Jonhson在文献[11]中和Ulyanov在文献[13]中所述算法进行比较,分别对1 000张1 024×768分辨率的图像进行处理,平均处理速度和内存使用情况如表1所示。从表1中可以看出:本文采用算法的平均处理速度为6.9 s,内存使用为4 900 M。在相同的硬件环境下,处理速度和内存使用相对于其他两种风格迁移网络来说基本相当。

表1 算法性能比较

5 结束语

在分析深度学习图像风格迁移算法在迁移效果方面存在主要问题的基础上,通过将图像的颜色信息和亮度信息分离,构建多尺度分层网络,解决了由于大面积色块带来的风格化效果不佳和纹理细节及笔触风格表现不足的问题,可以使图像在整体艺术风格和细节特征处理效果上得到有效提升。

猜你喜欢

亮度纹理卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
远不止DCI色域,轻量级机身中更蕴含强悍的亮度表现 光峰(Appptronics)C800
基于BM3D的复杂纹理区域图像去噪
卷积神经网络的分析与设计
从滤波器理解卷积
亮度调色多面手
使用纹理叠加添加艺术画特效
基于傅里叶域卷积表示的目标跟踪算法
TEXTURE ON TEXTURE质地上的纹理
亮度一样吗?