王 杨,郁振鑫,卢 嘉
(1.河北工业大学电子信息工程学院,天津 300401;2.河北工业大学天津市电子材料与器件重点实验室,天津 300401)
图像风格迁移技术可以将一幅图像的内容和另一幅图像的风格相结合,实现不同的艺术效果。传统方法[1 - 3]利用图像的低级特征对图像的纹理进行统计建模,运行效率较低,且艺术风格实现效果有限。随着深度学习的发展,Gatys等[4]提出采用卷积神经网络将图像的内容和风格进行分离,这种基于图像迭代优化的方法运行较为缓慢,在实际应用中有一定的限制。随后,学者们提出的基于模型迭代优化的方法提升了图像风格化的效率。Justin等[5]提出一种快速神经风格迁移模型,采用训练前向神经网络的方式达到了实时的风格化效果。刘洪麟等[6]对特征图进行空间偏移变换,保留了风格迁移结果的空间信息。Li等[7]采用图像内容和风格之间的转换矩阵提升了风格迁移效果和运行速度。
上述方法只能针对图像的整体进行风格迁移,忽略了图像不同语义区域之间的差异性。针对图像局部区域进行风格迁移的问题, Castillo等[8]采用语义分割划分出图像的局部区域,并用马尔可夫随机场来优化前景和背景的连接部分,其风格化结果较为模糊。Park等[9]采用词向量方法将划分出的语义区域和风格相对应,实现了相同语义区域之间的对应风格化,但其不同区域之间边界不够清晰。刘哲良等[10]将全卷积神经网络和生成对抗网络相结合,实现了对图像中单个物体的风格迁移,虽然对内容图像划分了不同的语义区域,但只能在同类型物体之间进行局部风格迁移。李美丽等[11]采用K均值聚类方法来提取图像中的局部区域,实现了对服饰花纹的风格迁移。
当前的局部风格迁移所针对的内容图像区域往往由人为设定,不能实现自动化,而图像显著性区域逐渐成为人们视觉注意的焦点。视觉注意机制可以忽略感知冗余,降低检索复杂度[12],是图像信息感知领域的关注热点。针对图像局部风格迁移问题,本文提出一种融合视觉注意机制的图像显著性区域风格迁移方法。通过标注数据集中的显著性区域,采用快速语义分割算法进行训练,得出图像中待风格化区域。在快速神经风格迁移算法的基础上,加入实例正则化损失函数,改进快速神经风格迁移算法网络结构,实现了更为精细的风格迁移效果。
本文第2节介绍了本文提出的图像显著性区域风格迁移方法,第3节为实验结果与分析,包括图像风格迁移效果和运行效率的分析,最后给出了结论。
为了对图像的显著性区域进行风格迁移,本文所提出的方法包含3个部分,如图1所示。首先使用针对图像显著性区域预先训练的快速语义分割模型,得到包含内容图像I的二值掩码图矩阵,然后将内容图像通过改进的快速神经风格迁移模型,得到图像的整体风格迁移结果,二者融合可以得到最终结果图像。
本文提出的图像显著性区域风格迁移流程如下所示:
图像显著性区域风格迁移方法的输入为内容图像和风格图像,输出为显著性区域被风格化的结果图像。
步骤1针对内容图像,采用区域显著性检测模型,得出显著性区域被标注的二值掩码图。
步骤2将选用的风格图像,输入到改进的快速神经风格迁移网络模型中,得出针对该风格的风格化模型。
步骤3将内容图像输入到训练好的风格化模型中,通过3层卷积进行下采样操作。
步骤4在网络结构中加入4个残差模块来优化模型参数,每个残差模块包含2个3*3的卷积层。
步骤5最后通过3个卷积层进行上采样操作,输出显著性区域被风格化的结果图像。
在图像局部风格迁移问题中,目标区域的选择显得尤为重要。从视觉机理的角度分析,人类的视觉系统可以快速地从杂乱的场景中定位该场景中最显著的地方,进而处理图像的整体信息[13]。本文将视觉注意机制引入深度非对称瓶颈网络DABNet(Depth-wise Asymmetric Bottleneck Network)模型[14]中实现快速语义分割。该语义分割模型将深度可分离卷积和扩张卷积相结合,在网络结构的浅层提取密集特征,在保证分割精度的同时,达到实时运行效果。
选用Cityscapes数据集[15]对DABNet进行训练。Cityscapes数据集包含50个城市的街景视频和对应的各帧图像,选用其中的6 000幅图像进行网络训练和测试。DABNet语义分割网络的输出是对图像不同区域的语义分割图,通过将其中的显著性区域进行独热表示可完成显著性区域检测模型的训练。显著性检测模型结构如图2所示。
Figure 2 Saliency detection model图2 显著性检测模型
最后通过最小化交叉熵损失来得到图像显著性区域检测模型,如式(1)所示:
(1)
其中,XC代表输入的要进行显著性区域检测的内容图像,H、W和C分别代表对应层特征图的高、宽和通道数量,S(XC)代表网络输出的掩码预测值。
针对一幅内容图像XC和一幅风格图像XS,快速神经风格迁移模型通过训练一个前向卷积神经网络来生成风格化图像,在推理时不再需要迭代优化。本文改进快速神经风格迁移模型来实现图像的风格化,模型结构如图3所示,包含生成网络和损失提取网络2部分。
损失提取采用预先训练的VGG-16神经网络分别得到内容损失函数和风格损失函数。
Figure 3 Structure of for fast neural style transfer model图3 快速神经风格迁移模型结构
在训练阶段,本文采用Adam算法优化以下损失函数:
Ltotal=αLcontent+βLstyle
(2)
其中,α代表内容损失权重,β代表风格损失权重。
内容损失函数通过式(3)进行计算:
(3)
其中,Fl(I)表示输入图像I在神经网络第l层上的特征映射,Nl表示特征映射的数量,而Ml(XC)表示第l个特征映射的高度和宽度的乘积。
风格损失函数采用式(4)进行计算:
(4)
其中,格拉姆矩阵Gl(X)表示不同层之间特征映射的关系,如式(5)所示:
Gl(X)=Fl(X)TFl(X)
(5)
生成网络模型结构如图4所示,其中生成网络的第一层和最后一层采用9*9的卷积核,其余各层均使用3*3的卷积核。
Figure 4 Structure of generate network model 图4 生成网络模型结构
生成网络中各层使用ReLU激活函数,最后一层使用tanh激活函数。考虑到批量归一化针对批处理图像计算均值和方差,而风格迁移需要对每幅输入图像进行风格迁移,所以本文在每个卷积层之后连接一个实例正则化(Instance Normalization)层[15],针对每幅图像计算均值和方差。给定输入x∈RN×C×H×W,实例正则化层的计算方法如式(16)~式(18)所示:
(6)
(7)
(8)
其中,γ和θ为从训练数据中学习的仿射参数,μnc(x)和δnc(x)为均值和标准差,N为卷积核个数,ε为任意小的数。
为了得到显著性区域被风格化的图像O,将由区域显著性检测模型得到的二值掩码图RC和改进的快速神经风格迁移模型得到的图像整体风格迁移结果图TS相结合,如式(9)所示:
O(XC,XS)=(RC*TS)+(I-RC)*I
(9)
其中,*代表逐元素乘积,I表示内容图像XC。
为验证所提方法的有效性,本节将从定性和定量2个角度对实验结果进行评价。在结果图像的定性评价上,采用内容图像保留程度、风格化程度和纹理分布这3个指标作为评价的主要依据。定量评价则考虑模型的运行效率。
在Ubuntu18.04系统下,采用基于Python的PyTorch深度学习框架实现本文方法。硬件基本配置CPU为Intel i7-8700,16 GB内存,NVIDIA GTX 1080显卡。
考虑到图像的整体风格迁移能够展现风格迁移的优势,故将本文所提方法和经典的图像整体风格迁移模型进行比较,包括Gatys模型、Patch Swap模型[16]和WCT(Whitening & Coloring Transform)模型[17]。其中,Gatys模型基于模型迭代优化实现,可以较好地控制结果图像中的风格化程度。Patch Swap模型和WCT模型基于编码器和解码器结构实现,在不需要预先训练模型的情况下缩短了风格化所用时间。
本文选用在风格迁移相关文献中被广泛使用的内容图像和风格图像(如图5a和图5b所示)进行实验,图5c~图5f显示了不同模型进行风格迁移后的结果。
Figure 5 Comparison of overall style transfer effects图5 整体风格迁移效果对比
观察图5d可知,Patch Swap模型迁移了风格图像中的颜色,而很少有纹理被迁移。而在图5e中,WCT模型虽然对内容图像进行了大量的纹理迁移,但与图5b中的风格图像的风格却有些差距。在图5f中,本文方法的迁移图像可以较好地与原风格图像保持一致的风格,且图5f中大桥与海面可以较好地融合,无明显的冲突感,整体图像的纹理也较为细腻、均匀。
本文选用Cityscapes数据集和Microsoft COCO 2017数据集进行效果测试和性能测试,并加入自拍街道场景进行测试。图6a是一幅街道照片,建筑物为其中的显著性区域,使用本文方法进行风格迁移的结果如图6c所示。
Figure 6 Style transfer of buildings图6 对建筑物进行风格迁移
观察图6c可知,图中的建筑部分被渲染了图6b中的风格,而其余部分得到了保留,符合人类视觉注意机制的特点,达到了较好的视觉效果。
为更好地验证本文方法的有效性,对实际生活中拍照所得的街景进行风格迁移,结果如图7所示。
Figure 7 Style transfer of cars图7 对汽车进行风格迁移
图7a中的主要显著性区域为马路上的汽车,选用图7b对其进行风格化。图7c显示,不仅位于最前面的汽车被风格化,后面的汽车也被区分并风格化,这说明了本文显著性区域检测方法的有效性。
为进一步检验采用本文所提方法优化后的运行效率,对多幅图像进行了整体风格迁移,并分别与Gatys模型、Patch Swap模型和WCT模型在运行时间方面进行了对比。
由于采用不同风格图像时模型运行时间不同,所以分别采用图4b、图5b和图5c中的风格图像,每组实验重复6次,取平均值作为最终时间,结果如表1所示。由表1可知,本文模型运行用时最少,原因在于针对每一幅风格图像加入了预训练过程,因而运行效率更占优势,可以达到实时的效果。
Table 1 Run time comparison
本文提出一种对图像显著性区域进行风格迁移的方法。通过结合人类视觉注意机制以及训练实时语义分割网络,解决了图像局部风格迁移过程中目标区域选取困难的问题。通过改进快速神经风格迁移方法,在损失函数中加入实例正则化损失函数,提升了风格迁移的视觉效果,使其更适合图像局部较小区域的风格化,防止风格溢出。同时,所提方法运行速度的提升使其能达到实时的效果,在实际应用中具有更大的灵活性。