多区域差异化的图像风格迁移算法
2021-06-23郁振鑫向秀梅
王 杨,郁振鑫,卢 嘉,向秀梅
1.河北工业大学 电子信息工程学院,天津300401
2.河北工业大学 天津市电子材料与器件重点实验室,天津300401
图像风格迁移技术在艺术作品的自动合成、照片的自动编辑、装潢设计和隐私保护等方面具有实用性意义。Gatys等[1]利用VGG神经网络[2]可以提取图像高层次特征的特性,对图像的内容特征和风格特征进行描述,使得输出图像在保留内容图像结构的同时,获得风格图像的纹理特征,随后陆续出现了很多方法基于这种思想进行神经风格迁移算法的扩展和提升。林星等[3]通过修改风格损失函数和增加约束项来改进风格迁移的效果。Gatys等[4]研究了在风格迁移过程中对空间和颜色控制的问题。Johnson等[5]通过预先训练的神经网络实现了快速的神经风格迁移。Huang等[6]通过卷积神经网络来学习纹理特征,并将学习到的风格转移到任意图像上。这些方法均是对整幅图像进行风格迁移[7-8],未涉及图像中某一特定区域的单独风格化。
为满足对图像局部风格化的需求,人们开始考虑图像不同区域之间内容的差异性。刘哲良等[9]实现了图像中单一物体的风格化。孙劲光等[10]采用残差式神经网络完成了图像特定区域的风格化。缪永伟等[11]应用曼哈顿距离优化了图像局部风格迁移后的效果。Luan等[12]应用仿射变换的方法完成了拍摄照片之间的风格迁移。Joo等[13]使用词向量对风格迁移方法进行了优化。这些方法或者只针对单一区域进行优化,或者要求内容图像和风格图像之间的语义内容能够相互对应,应用范围难免受限。将各不相关的多张艺术作品的风格分别迁移到同一幅图像的多个不同区域,目前尚未见报道。
基于上述对图像中目标区域进行风格化的启发,本文在神经风格迁移算法的基础上融合内容图像的语义信息,对图像中多个目标区域进行差异化风格迁移。通过在损失函数中引入正则化损失,并分别计算各个语义区域上的代表风格特征的格拉姆矩阵,同时控制在反向传播过程中梯度信息在不同区域之间的传播,提出一种基于深度卷积神经网络的图像多区域差异风格化框架。该方法针对单幅内容图像不同的区域采用不同的风格图像实施差异化风格迁移,从而可以将一幅图像各语义区域渲染成不同的风格,以供用户更大的选择性。
1 区域差异风格化模型
本文的区域差异风格化模型如图1所示。内容图像经过DeepLab V3语义分割网络后,生成具有n个语义区域的分割图,针对这n个区域分别采取不同的风格进行风格化。在神经风格转换算法的基础上,用预先训练的VGG-16神经网络来计算风格损失和内容损失,以保证风格化效果的同时减轻计算负担。
图1 算法框架
在损失函数部分,内容特征由VGG网络的高层特征进行表示,用来保留内容图像的空间结构信息。风格特征由VGG网络不同层上计算的格拉姆矩阵进行表示,用来表征风格图像的纹理信息。
在计算风格损失函数时,根据得出的语义分割结果来限制代表风格特征的格拉姆矩阵在特定区域上进行计算。同时,为了避免不同区域之间的风格互相影响,在损失函数部分加入正则化损失以保证不同区域之间过渡自然。最后,将一幅白噪声图像分别与内容图像以及风格图像进行特征比对,多次迭代优化后使内容图像不同区域获取不同的风格。
1.1 语义区域的划分
针对输入的内容图像,根据其包含物体种类的不同划分出不同物体之间的边界,并给出对应的标签。本文采用由Chen等在2018年提出的DeepLab V3语义分割模型[14]实现语义区域的划分。该模型能够识别更多的物体种类,且分割结果中不同区域之间界限更加明显。
图2展示了对一幅具有三个语义区域的内容图像划分语义区域的过程。
从图2中可以看出,将内容图像经过语义分割网络后,根据物体种类的不同将内容图像划分出三个区域。然后将得出的语义分割结果转换为灰度图像,并根据给定的语义标签使各个语义区域中的像素值保持一致,从而根据整幅图像中像素值的不同来确定该像素属于哪一语义区域。根据实际需要,本文方法可以分别针对图2中的天空、草坪和树木选用不同的风格图像进行针对性的风格迁移。
图2 语义区域的划分
1.2 特征提取模型结构
区域差异风格转换模型共包含四部分输入,分别是内容图像、分割结果、风格图像以及一幅白噪声图像。分割结果为不同区域包含不同像素值的矩阵,实现对内容图像不同语义区域的限定。本文中根据一幅图像中风格化区域数量的不同,风格图像可以为一张或者n张。特征提取模型结构如图3所示。
图3 特征提取模型结构
其中,分割结果经过各层进行传播,以获得针对各层图像尺寸的分割图。其中,内容特征由VGG-16神经网络中的Conv4_3层进行提取,风格特征则由VGG-16神经网络中的Conv1_2、Conv2_2、Conv3_3、Conv4_3、Conv5_3进行提取。
1.3 损失函数
本文在神经风格迁移算法基础上,增加正则化损失项以优化不同区域之间的过渡连接。同时,针对多区域差异化风格迁移,将代表风格特征的格拉姆矩阵在特定区域上进行计算,并提出优化不同语义区域风格所占比重的方法。
在神经风格迁移算法中,生成图像I需同时具有内容图像C的内容特征和风格图像S的风格特征。通过CNN提取的是图像的高层次特征,不可避免地忽略了图像的低层次特征。所以,为了使输出结果更加平滑,本文在损失函数中加入正则化损失。总损失函数包括三个部分:
权重参数α和β用于控制总损失函数中内容损失和风格损失所占的比重[1],通过调整α和β的大小来控制结果图像中内容和风格的还原程度。加入正则化损失函数的主要作用是通过加入逐像素损失函数来控制空间结构,从而减少输出图像中的扭曲现象。调整参数γ以控制正则化损失的影响,使最终结果更加自然。本文对整体损失函数应用Adam优化算法不断迭代优化,得出三个权重参数的初值。正则化损失函数[15]定义如下:
内容损失函数通过在VGG-16网络某一l层上将输出图像和内容图像之间的特征进行比较而得出:
其中,F l(I)和F l(C)分别表示输出图像I和内容图像C在神经网络第l层上的特征映射。这里,Nl是在第l层上的特征映射的数量,而Ml(X)=Hl(X)×Wl(X),表示每一个特征映射的高度和宽度的乘积。
图像的风格特征由卷积神经网络的各个层进行提取,通过在每层上计算格拉姆矩阵,来表示一幅图像的风格信息。针对图像上的不同语义区域,由语义分割结果对特征映射进行限定:
将生成图像I和风格图像S进行比较,得出风格损失函数:
其中,w n表示在第l层的第n个区域的所占比重。由公式(4)~(7)可知,将给定的语义分割结果作为滤波器,和各层得到的特征映射进行逐元素乘积,即可得到针对特定区域优化过的格拉姆矩阵。
风格损失函数由各个区域的格拉姆矩阵进行计算并组合。每个区域所占的比重由参数w n所决定。如果参数w n按照优化算法自动得出,将导致不可预估的风格转换结果。所以按照每个区域的像素数量在总的像素数量上的比值来控制w n。在内容图像中所占语义区域越大,在风格损失函数中所占的比值也更大。这样,将在内容图像中相对较小的区域分配较小的权重,可以防止过度风格化。
1.4 梯度更新策略
由于针对一幅内容图像要采用多个风格进行风格化,所以需要将不同的风格在划分好的语义区域内分别进行渲染。为了防止风格溢出而造成不同风格间相互影响,上一节提到在风格损失函数的计算中,根据语义分割结果分别在各自的区域上计算代表风格特征的格拉姆矩阵。同时,本文针对每一个划分好的区域分别根据语义分割结果来进行梯度的更新:
针对总损失函数,本文采用Adam梯度优化算法来使之最小化。这样得到的各损失函数权重在保证整体风格化效果的同时,保证不同区域间边缘连接处过渡自然。
2 结果与分析
2.1 参数选取
本文算法基于TensorFlow深度学习框架,用Python3.6平台实现。其中运行环境中,CPU为i7-8700,GPU为NVIDIA GTX 1060,16 GB内存。本文算法参数设定如表1所示。该组参数经过大量数据的迭代优化而得出,对于大部分风格图像能取得较好的迁移效果。本文后续结果均根据表中参数生成。针对不同的风格图像,还可以设置不同的参数来获得更符合用户需求的风格化效果。
表1 参数表
2.2 结果分析
(1)单区域差异风格化
针对一幅图像,采用区域差异风格化模型对其内容进行感兴趣区域的风格迁移。本文中的测试图像选自Microsoft COCO2017数据集,共包含123 287张图像,并被分成不同的类别。由于篇幅有限,本文以其中的建筑物图和小鸟图为例进行说明。针对图像单个区域进行差异风格化的效果如图4所示。
图4 单区域差异风格化
其中,建筑物图包含天空和建筑物两个语义区域,选择图4(b)梵高星空图为其进行风格化。文献[5]采用感知损失函数对图像进行整体风格化的方法,被国内外文献大量引用。图4(c)是文献[5]方法得出的风格迁移图,由该图可见,天空和建筑物都被渲染成了梵高艺术画的风格。图4(d)来自本文风格迁移模型,采用差异化的风格迁移方法,只针对天空部分进行了梵高画作风格的渲染,不影响内容图像中建筑物部分的风格。通过观察图4(d)天空和建筑物衔接处可以发现,天空和建筑物在视觉上的层次关系和原内容图像保持一致,且连接处过渡自然,未造成嵌入感,整幅图像也具有较好的自然的艺术效果。
(2)正则化损失的影响
本文模型分别针对内容图像不同区域采用不同的风格进行风格迁移,通过引入正则化损失来保证风格迁移之后与原图在视觉关系上保持一致。图5分别显示了在损失函数中加入正则化损失和其他研究中未加入正则化损失的不同结果。
在图5中,采用的艺术风格图像整体偏暗。观察图5(d)可以发现,由于未加入正则化损失,使得结果中的建筑物部分相对原图变得更暗。而在图5(c)中,建筑物更好地保留了其原本面貌,建筑物和天空之间在视觉关系上也与原图更接近,最终结果更加自然。
2.3 多区域差异化风格迁移
图5 正则化损失效果对比
现有的图像局部化风格迁移算法只局限于对内容图像的单个区域进行风格化。本文提出的多区域差异化风格迁移算法可以针对一幅图像的不同区域,分别采用不同的风格进行风格化。艺术风格迁移效果具有一定的主观性,难以量化评估。本文采用纹理迁移效果、内容图像本身结构保持度和不同区域连接处平滑度作为效果评价依据。
图6(a)中的内容图像包含有天空、鸟儿和石台三个语义区域。图6(b)中给出了将内容图像通过语义分割网络后的分割结果。选用图6(c)~(e)这三种具有不同风格的图像分别针对这三个不同的语义区域进行风格化,得出的结果如图6(f)所示。
图6 三种风格的差异风格化
在图6(f)中,风格1、风格2和风格3分别迁移到图6(a)的天空部分、小鸟部分和石台部分。相比于图像的局部化风格迁移,本文针对这三种不同的物体,分别选用特定的风格进行风格化,保证了最终结果的整体协调性,在不违背原图中物体之间视觉关系的同时达到了较好的艺术效果。同时观察图6(f)可以发现,不同区域的连接处过渡自然,整体图像平滑,证实了本文算法的有效性。
3 结束语
本文提出了一种新颖的多区域差异化风格迁移方法,可以同时将内容图像的多个区域分别渲染成不同的风格。通过对代表风格图像特征的格拉姆矩阵进行优化,使之受到语义信息的约束,得到了不同区域具有不同特征的结果;同时,在反向传播阶段,将梯度传播限制在各自的语义区域上,防止了不同区域间的风格溢出。在实际运用中,具体的风格种类可以根据内容图像分割区域的数量和人们具体的需求而决定,具有较大的灵活性,为神经风格迁移算法提供了一种新思路。