陈 伟
(咸宁职业教育<集团>学校 湖北 咸宁 437000)
随着深度学习(deep learning,DL)的快速发展,图像风格迁移作为计算机视觉领域的一个重要研究方向,受到了广泛的关注。图像风格迁移算法旨在通过将一个图像的内容与另一个图像的风格相结合,生成一个新的图像,既保留了原始图像的内容信息,又表现出了目标图像的风格特征。这一技术在许多领域具有广泛的应用,如艺术创作、图像编辑及虚拟现实等[1-3]。
在过去的几年里,基于DL的图像风格迁移算法取得了显著的进展。最初的方法是通过优化过程来实现图像风格迁移,但这种方法计算复杂度高、速度慢,并且难以在实时应用中使用[4]。随后,基于卷积神经网络(convolutional neural networks,CNN)的方法被引入,通过将图像表示为神经网络的输入,利用网络中的特定层来提取内容和风格信息。这些方法通过训练一个神经网络模型,将图像风格迁移问题转化为一个优化问题,并且取得了显著的改进[5-6]。
目前,图像风格迁移算法仍存在一些挑战和限制。例如,一些算法在处理具有复杂纹理和结构的图像时表现不佳,难以保持细节和内容的一致性。此外,现有的方法对于用户指定的风格约束的处理还不够灵活,难以实现精确的风格控制。
因此,拟通过引入Mask约束改进基于CNN的图像风格迁移算法,以解决上述问题。主要内容包括以下4个方面:(1)回顾图像风格迁移算法的研究背景和发展历程。(2)详细介绍基于CNN的图像风格迁移算法的原理和方法。(3)提出一种基于Mask约束的改进算法,通过对特定区域的风格信息进行约束,以实现更精细的风格迁移效果。(4)通过实验验证所提算法的有效性,实验表明,该方法达到了良好的图像风格迁移效果。
本文所提出的一种基于Mask约束的CNN图像风格迁移框架如图1所示。该框架的关键是利用Mask约束生成掩码图像,以获取局部目标,并通过CNN实现局部目标的风格迁移。
图1 图像风格迁移框架
输入图像分为内容图像和风格图像。内容图像包含要保留的图像内容信息,而风格图像则包含了所需的风格特征。通过使用Mask约束,可以选择性地将风格应用于内容图像的特定局部区域,实现局部的风格迁移。为了生成掩码图像,定义一个二值掩码,用于指定应用风格的目标区域。掩码图像与内容图像具有相同的尺寸,并且在目标区域内的像素值为1,其他区域的像素值为0。该框架中使用语义分割网络来生成掩码图像。使用CNN来实现局部目标的风格迁移。将CNN训练为一个端到端的模型,把接受内容图像和风格图像作为输入,并生成包含迁移风格的输出图像。网络的结构通常包括卷积层、池化层和反卷积层。通过在网络中的不同层中提取特征,可以同时保留内容和风格的信息,并将风格应用于目标区域。
在进行局部目标的风格迁移时,将掩码图像与内容图像和风格图像进行逐像素的融合。融合的方式可以是简单的元素级相乘,其中掩码图像的像素值为1的地方采用风格图像的对应像素值,像素值为0的地方则采用内容图像的对应像素值。这种融合方式可以将风格有选择地应用于特定的目标区域,实现局部的风格迁移。
全卷积网络(fully convolutional network,FCN)是一种用于语义分割的CNN,它能够将输入图像像素级别地分类为不同的语义类别[7]。其核心思想是将传统的全连接层替换为全卷积层,以实现对输入图像的像素级分类。传统的全连接层将图像特征映射到一个固定大小的向量上,而全卷积层则将特征映射到与输入图像相同大小的特征图上。这样做的好处是可以保留图像的空间信息,使得网络能够输出与输入图像相同分辨率的语义分割结果。
设输入图像为X,FCN由多个卷积层和上采样层(通常是反卷积层)组成。首先通过卷积层对输入图像进行一系列的卷积操作,得到一系列的特征图。设第i个卷积层的输出为Ci,通过上采样层将特征图的尺寸调整为输入图像的尺寸。设第i个上采样层的输出为Si,通过逐像素分类的卷积操作将上采样层的输出映射为与输入图像相同尺寸的语义分割结果。设最终的输出为Y。FCN的数学原理可以表示为式(1):
Ci=fi(Ci-1),i=1,2,…,n
(1)
式(1)中:fi为第i个卷积层的卷积操作;Ci-1为第i-1个卷积层的输出;C0为输入图像。
Si=gi(Si-1),i=1,2,…,n
(2)
式(2)中:gi为第i个上采样层的上采样操作;Si-1为第i-1个上采样层的输出;S0为Cn,即最后一个卷积层的输出。
我院恶性肿瘤住院患者营养状态与营养干预情况调查…………………………………………………… 鲁良秀等(10):1416
Y=h(Sn)
(3)
式(3)中:h为逐像素分类的卷积操作;Sn为最后一个上采样层的输出。为了生成Mask,可以使用FCN进行语义分割,并将感兴趣的目标区域标记为特定的语义类别。
通过将Mask、内容图像和风格图像作为CNN的输入来实现图像风格转换。CNN是一种广泛应用于计算机视觉领域的神经网络。它可以通过多个卷积层和池化层来提取图像的特征,并通过全连接层将这些特征映射到输出类别。在图像风格转换中,将CNN作为特征提取器,并通过特定的损失函数来实现风格和内容的融合。
设输入的Mask为M,内容图像为C,风格图像为S,CNN的输出为G。将内容损失(content loss)和风格损失(style loss)分别作为损失函数的组成部分。内容损失用于确保G能够准确地重现C的内容,风格损失用于确保G与S的风格相似。内容损失为式(4):
(4)
(5)
式(5)中:L为CNN中的最后一层;wl为第l层的权重系数;El(G,S)为CNN在第l层输出的特征表示与风格图像在第l层特征表示之间的Gram矩阵的平均欧几里得距离。Gram矩阵用于度量特征表示之间的相关性。通过最小化内容损失和风格损失之和,可以得到生成的图像G。其数学表达式为式(6):
(6)
式(6)中,α和β分别为内容损失和风格损失的权重系数。
实验环境是进行模型测试和评估的基础,包括硬件和软件方面的设置。下面将介绍实验环境的硬件和软件配置。
本实验采用的硬件配置如下:处理器使用Intel Core i7-8700K,主频为3.7 GHz;显卡采用NVIDIA GeForce RTX 2080 Ti,具备11 GB显存和CUDA支持;内存容量为32 GB。本实验使用的软件配置如下:操作系统为Ubuntu 18.04 LTS;DL框架选择使用TensorFlow 2.4.0和PyTorch 1.9.0;图像处理和数据预处理使用Python编程语言及其相关库,如NumPy和OpenCV;实验代码使用Python 3.7进行开发和运行。
为了保证实验的可重复性和可比性,对实验环境进行了严格的版本控制,并在实验过程中遵循了标准的实验流程。在实验过程中,使用了公开可用的PASCAL VOC 2012数据集做实验[8],该数据集是PASCAL Visual Object Classes Challenge(PASCAL VOC)竞赛的一部分,共包含约1.1万张训练图像和1.4万张测试图像,来自20个不同类别的图像,涵盖了常见的物体和场景,如人、汽车、飞机、动物等。每个图像都有精确的像素级别的标注,其中包括每个对象的边界框标注和对象的语义分割标注。
在训练阶段,遵循以下方法:
(1)数据准备:准备训练数据集,包括内容图像、风格图像和相应的Mask图像。确保数据集具有正确的标注和对应的Mask图像。
(2)模型搭建:构建基于Mask约束的CNN模型。定义卷积层、上采样层和逐像素分类的卷积操作,以及内容损失和风格损失的计算方式。
(3)损失函数定义:定义损失函数,包括内容损失和风格损失。根据实际需求设置内容损失和风格损失的权重系数。
(4)开始训练:通过将内容图像、风格图像和Mask图像输入模型,使用反向传播算法进行训练。在每个训练迭代中,计算损失函数,并根据损失函数的梯度更新模型的参数。
在测试阶段:
(1)数据准备:准备测试数据集,包括内容图像和风格图像。
(2)模型加载:加载训练好的模型参数。
(3)开始测试:通过将内容图像、风格图像和Mask图像输入模型,进行前向传播计算。获取生成的图像结果。
在实验中,使用FCN对内容图像[(图2(a)]做语义分割可得Mask图像[图2(b)],用Mask图像与内容图像直接相乘得到目标区域[图3(a)]。将Mask图像、目标区域和风格图像[图3(b)]输入CNN中做图像风格迁移得到迁移后的目标区域[图3(c)]。
图2 图像语义分割效果
图3 目标区域的图像风格迁移效果
在上述实验中,使用了基于Mask约束的CNN架构来进行图像风格转换任务。该架构在训练过程中通过学习内容图像和风格图像之间的特征表示,以及Mask图像的局部目标信息。经过训练后,该网络能够根据输入的内容图像、风格图像和Mask图像,生成具有融合风格的目标图像。实验结果表明,该架构实现了内容图像的语义分割和目标区域的风格转换,并取得了良好的效果。
综上所述,本论文研究了基于DL的图像风格转换算法,并提出了一种基于Mask约束的CNN架构。通过该架构,在训练过程中结合了FCN语义分割网络和CNN风格迁移网络,实现了内容图像的语义分割和目标区域的风格转换。该算法能够通过Mask约束生成局部目标,利用CNN将内容图像的目标区域和风格图像进行融合,生成具有融合风格的目标图像。实验结果表明,该算法能够准确提取内容图像的语义信息,实现目标区域的风格转换,并生成具有良好效果的图像。该研究增强了对图像风格转换任务更深入的理解,并提出了一种有效的框架。未来的研究可以进一步优化模型的性能和效果,扩展算法的适用范围,并探索更多应用场景和任务的实现。