司周永 王军号
摘 要:CycleGAN的优势就是在没有成对训练集的情况下将图像从原目标区域迁移到目标区域,但其泛化能力较弱,针对CycleGAN无法在图像风格迁移时仅对所需目标进行迁移和DeepLabv3+模型和参数量过大的问题,本文提出了一种结合改进DeepLabv3+网络和CycleGAN的局部图像迁移方法。先使用DeepLabv3+网络对图像进行语义分割,再将分割出来的目标与迁移图像进行匹配,将得到的迁移图像转回到原图像中,实现对局部图像的迁移。在DeepLabv3+模型中使用MobileNetV2代替主干网络,使用WASP网络代替ASPP网络降低了模型体积,减少了参数量,提高检测速度。采用相似性SSIM与峰值信噪比PSNR作为迁移图像评估指标,对迁移后的效果进行评估。实验表明,使用改进DeepLabv3+网络和CycleGAN的局部图像迁移方法能够提高风格迁移质量,拥有更好的视觉效果。
关键词:图像风格迁移;循环一致性生成对抗网络;DeepLabv3+;轻量级卷积神经网络
中图分类号:TP391 文献标识码:A 文章编号:1673-260X(2024)04-0001-06
近年来,机器学习、深度学习等技术在许多领域都取得了突破性进展,尤其是深度学习的持续迭代,已具备了强大的感知、识别、理解人类话语的能力。像GhatGPT等最近在社会上成为一个令人兴奋的话题,甚至超越了人工智能和计算机科学领域。风格转换是这方面的一项热门任务,旨在将参考图像的颜色和纹理等风格模式应用于给定的内容图像,同时保留内容的语义结构。这种技术在许多领域中已得到应用,包括但不限于图像编辑,域适配,以及领域泛化等[1]。
在深度学习时代,2015年Gatys等人[2]开创性地引入了以迭代的方式最小化VGG特征空间中的内容和风格损失,利用Gram矩阵实现对图像任意风格特征进行提取,产生了极佳的效果,但对于每种内容风格的在线优化计算开销很大。为了缓解这个问题,Johnson等人[3]建议优化前馈网络以实现风格转换,实现了实时的风格迁移,一旦被训练,网络可以实时地对任何输入内容图像进行风格转换,对于单个网络来说,在推断期间将任何样式的参考图像传送到内容图像都是可行的,它们被称为任意风格转换方法,已成为风格转换研究的主流。2017年,Zhu等人[4]继续提出一种无监督对抗网络CycleGAN,为实现双向的域转换,使用两对生成对抗网络,通过引入循环一致性损失使域之间的配对约束被消除,能更好地保留图像的内容属性。2021年,Liu等人[5]提出自适应注意力归一化AdaAttN(Adaptive Attention Normalization),在计算注意力权重时考虑到了浅层和深层的特征,以基于每点的方式使内容特征与风格特征的注意力加权均值和方差对齐,另外使用局部特征损失来帮助模型提升迁移质量。
1 相关工作
如图1所示,通过这些方法对图像进行风格迁移,在尝试将小鸟迁移为不同的风格时,虽然取得了不错的迁移效果,但是在迁移对象完成风格迁移的同时图片背景的颜色和纹路也发生了改变,为了完成对于局部实例图像的迁移我们提出了改进DeepLabv3+与CycleGan的迁移方法,满足了对于图像中单独实例的迁移。
1.1 生成对抗网络
传统的生成对抗网络GAN(Generative Adversarial Networks)于2014年提出。GAN由一个生成器G和一个判别器D组成,生成器可以将给定的一些输入噪声生成更真实的图像,而判别器则是用来判别图像的真伪,两个竞争网络相互博弈最终达到动态平衡。生成器和判别器的对抗损失函数如式(1)所示:
其中,E表示关于下标中指定分布的期望值,x~Pm是来自输入数据的样本,y~Pn是随机噪声样本,D(x)为判别函数,G(y)为图像的生成样本。
1.2 循环一致性对抗网络
循环一致性对抗网络CycleGAN(Cycle-consistent GAN)于2017年由Zhu等人提出,该方法利用两个GAN构成的环状网络,通过两个生成器和两个判别器来实现x和y的互映射,从而避免了传统的一对一的训练,CycleGAN的生成器架构采用了ResNet,而判别器架构采用了PatchGAN分类器。
CycleGAN的网络结构F和G分别表示两个逆映射生成器。逆映射是指就是将y域的原始图像由生成器G变换成Y域的虚假图像后,再由生成器F将该虚假图像变换回到源域X。对抗损失DX和DY是图像域X和Y相关聯的对抗判别器。如式(2)所示该损失函数是将原图像映射到目标域:
由于F和G是随机函数,不能保证期望的输出。因此,引入循环一致性损失,如式(3)所示,保证了循环变换能够使图像恢复到原始状态,进一步缩小可能映射函数的空间,以获得更好的结果:
1.3 DeepLabv3+模型
DeepLabv3+[6]是2018年由Chen等人提出的一种基于编码器-解码器结构的网络结构,最早提出的DeepLabv1[7]网络是通过在骨干网络VGG-16中引入空洞卷积,然后对得到的特征图与条件随机场(CRF)相结合,在增大模型感知野的同时,增强模型对结构信息的捕获能力。随后DeepLabv2[8]采用ResNet-101替代骨干网,提高模型的特征提取能力,又提出了一种基于空洞空间的金字塔池化(ASPP)方法,利用具有不同空洞率的空洞卷积,实现多尺度特征的有效抽取。DeepLabv3[9]网络在ASPP模型基础上,加入批标准化(BN),并引入全局平均池,使其能更好地获取全局信息。DeepLabv3+网络以DeepLabv3架构作为编码器,同时,还设计了一个高效的解码器,将主干网络提取的底层特征和经过ASPP模块后的高层语义特征展开融合,通过一步一步解码,恢复出图像像素,达到更好的分割效果。
如图2所示,该网络结构主要包括骨干网、空洞卷积、ASPP模块、编码解码器结构等。编码器首先通过骨干网络Xception从原始输入图像中提取特征,并保留图像的语义信息。然后将这些提取到的特征输入到空间金字塔池化模块(Atrous SpatialPyramid Pooling, ASPP)中,利用ASPP模块中的1×1卷积和空洞率分别为6、12、18的空洞卷积以及全局平均池化操作可以从不同的感受野大小中提取多尺度特征,然后将这些特征进行融合,得到更丰富的语义信息[10]。最后,利用1x1卷积对增强后的特征进行通道压缩,从而得到编码后的图像高层语义特征。在解码器中,先对从骨干网络中抽取的低层特征采用1x1卷积对其进行降维,然后对最后的编码器输出进行4次上采样,再对降维后的低层特征在通道维度上进行拼接。再用2次3x3卷积对拼接后的图像进行3x3卷积,最后通过一次4倍上抽样,将图像还原为原始图像大小,从而获得最终的预测结果。
2 局部图像风格迁移算法改进
2.1 算法框架
本文结合DeepLabv3+和CycleGAN的局部图像分格迁移的整体网络架构如图3所示。
先使用DeepLabv3+网络对图像进行语义分割得到标签图像,使用CycleGAN对图像进行风格迁移,再将分割出来的目标与迁移图像进行匹配,将得到的迁移图像转回到原图像中,实现了对局部图像的迁移。匹配的过程使用图像矩阵的Hadamard积[11],如式(5)所示:
将分割的标签矩阵除了目标对象以外的标签全部变为0,再与风格迁移后的标签矩阵通过Hadamard积得到迁移后的目标图像替换回原图,得到输出结果。
2.2 DeepLabv3+改进
尽管DeepLabv3+的性能优于其他最先进的模型,但其模型本身非常复杂,并且在训练中计算时间长。通过优化DeepLabv3+中的骨干网络Xception和ASPP层来提高时间效率,如图4所示。
2.2.1 骨干网络改进
改进前的DeepLabv3+主干网络采用的是Xception,Xception的核心思想是使用深度可分离卷积(Depthwise Separable Convolution),以降低模型的参数量和运算复杂度。但对于复杂多样、信息量大的图像,随着模型训练的进行,网络参数量会逐渐加大,速度大量降低,为提升特征提取的速度,本文使用MobileNetv2[12]代替Xception作为主干网络。
在MobileNetv2网络中,倒残差结构和线性瓶颈层共同构成线性倒残差结构,如图5所示,其中倒残差结构里采用逐点卷积和深度卷积,在进行卷积时,首先用1×1的逐点卷积来提升维度,然后用3×3的深度卷积来对每条通道做一个独立的卷积,最后用1×1的逐点卷积来降低维度。为了避免在降维后,Relu函数会失去瓷砖缺陷处的特征信息,在倒残差结构的最后一个1×1逐点卷积上,使用线性瓶颈层代替之前的Relu激活函数,对其进行降维,从而大大降低了低维特征信息的损失,增加了信息的维度,极大地减少了参数量。
2.2.2 空间金字塔池化模块改进
DeepLabv3+是一个基于FCN架构的先进网络结构。本文着重介绍了一个基于atrous卷积的编码器-译码器网络,从而加快运算速度,并得到更加准确清晰的物体边界。
DeepLabv3+已经证明了其在编码器模块中使用其提出的Atrous Spatial Pyramid Pooling(ASPP)层产生更清晰的对象边界的能力,并将信息发送到解码器以恢复边缘信息。更具体地说,对于图像分类任务,输出步幅(输入图像空间分辨率与最终输出分辨率的比率)通常为32。然而,在语义分割中,为了准确地提取出目标的边缘,必须借助特征图谱上的高密度像素信息。所以,DeepLabv3+采用了16或8的输出步长来构成一个编码器。其次,在解码过程中,对解码特征采用4倍的上采样,再将其与对应的低级特征串联起来,保证译码过程中有充足的空间信息。
受级联架构和多尺度方法的启发,ASPP层提出了一种新的“瀑布”配置,以克服ASPP的复杂性和内存问题,称为瀑布式Atrous空间池(WASP)[13]。下面的图6显示了ASPP模块和WASP模块之间的区别。ASPP模块对分支采用并行架构,其间没有共享和连接的参数;而WASP体系结构使用类似瀑布的方式将中间结果顺序地转发到下一个分支。通过使用这种结构,可以在网络中提供更大的感受野,并且只需要更少的7个参数。根据实验,使用建立在WASP基础上的WASPNet,成功地减少了参数,提高了模型效率。
2.2.3 损失函数改进
在传统图像分割任务中,都是利用二分类交叉熵(binary cross entropy loss)损失函数[14]作为衡量真实标签与预测值之间的相似度,如式(6)所示:
式中,γ(i,j)表示像素点(i,j)的真实标签,p(i,j)表示目标图像预测概率,γ(i,j))log(-p(i,j)对应目标图像损失,(1-γ(i,j))log(-p(i,j))对应背景部分的损失。
但由于分类过程中存在不平衡的正负样本,二分类交叉熵损失对每个像素预测时匹配的权重相同,而图像中目标像素样本与背景像素样本有较大差距时,使用二分类交叉熵损失函数就达不到预期效果,所以引入Dice Loss函数[15]。Dice Loss最先由V-Net提出,目的是为了增强网络对于图像中细小结构的分割能力,解决在学习过程中损失函数陷入局部最小值,导致前景区域特征丢失的问题,如式(7)所示:
其中S为Dice系数,是一种度量集合相似度的函数,通常用于计算两个样本的相似度,取值范围在[0,1],|x∩y|是X和Y集合交集的元素个数, |x|+|y|分别表示X和Y的元素个数。为避免分母中重复计算X和Y之间的共同元素在分子加上分子系數2,避免了分子被0除同时减少过拟合,在分子分母上同时加一个常数ε。Dice越大则表示两个集合的元素之间越相似,也就说明模型训练得越好。
总损失函数如式(8)所示:
其中λ,α分别表示二分类交叉熵损失LBCE和Dice损失LDice的权重系数,由于二分类交叉熵的损失梯度小于Dice的损失梯度所以取α>λ。
3 实验结果及分析
3.1 实验环境和结果
本实验使用计算机配置为CPU3.42GHz,16GB显存,显卡NVIDIA GTX1050,实验在Windows操作系统下,基于深度学习框架PyTorch。在CycleGAN训练过程中,从维基艺术数据集分别选用3000张油画作为风格数据,再选取400张作为测试集,从ImageNet数据集中选用1000张动物和建筑图像,150张图像用作测试集。在DeepLabv3+训练过程中,从PASCAL Visual Object Classes(VOC)数据集选用模型1000张船和动物图像作为训练集,验证集选取200张图片。为了方便处理,所有的图像都被调整为256×256设置batchsize=1,总epoch=210。
为了验证本文改进的模型轻量化优势,对改进的DeepLabv3+的模型大小和参数量进行对比,本文提出的生成器模型大小仅50M,参数量为16M,相比较DeepLabv3+模型的生成器参数量具有明显的降低,具体如下表1所示。
3.2 主观评价
实验结果如图7所示,其中前两行为CycleGAN方法,后两行为DeepLabv3+局部风格迁移方法。图中使用蒙克风格和毕加索风格的油画进行风格迁移,第一列为内容图片,第二列为蒙克风格的迁移结果,第三和第四列为毕加索风格的迁移结果。图7中所有的迁移图片的背景均发生了迁移并且会变得模糊不清,为了使图片在迁移时只对我们所需要的实例进行迁移,在对船只和小鸟进行风格迁移时,水面和小鸟所站立的树枝并没有发生改变。从实验的整体对比发现,同样迭代次数的情况下,本文局部图像的迁移效果也更加逼真。
3.3 客觀评价
为了验证本文方法的可行性,使用客观数据对本文方法与CycleGAN方法进行比较是很有必要的,本文使用结构相似性SSIM(Structural Similarity Index)和峰值信噪比PSNR(Peak Signal to Noise Ratio)对图像迁移结果进行比较[16]。结构相似性SSIM反映了图像之间的相似度,数值越大图像越相似,峰值信噪比PSNR越大图像失真越少。从表2的方法对比中可以看出本文所使用的方法SSIM和PSNR均为高于CycleGAN方法,本文方法所得到的图象在结构上最接近原始图象,而且图象质量更好。从客观评价指标中可以看出,在图片风格迁移上,本文提出的各个客观评价指标的数据以及图片的视觉效果也更好,说明本文提出的方法是有效的。
4 结论
CycleGAN是一种无监督的图像迁移框架,它的优势就是在没有成对训练数据集的情况下将图像数据从原目标区域迁移到目标区域,针对CycleGAN无法在图像风格迁移时仅对所需目标进行迁移的问题,本文提出了一种结合改进DeepLabv3+网络和CycleGAN的局部图像迁移方法。本文先使用DeepLabv3+网络对图像进行语义分割,再将分割出来的目标与迁移图像进行匹配,将得到的迁移图像转回到原图像中,实现了对目标对象的迁移而目标对象以外的背景信息则保持完整。在DeepLabv3+模型中使用MobileNetV2代替主干网络,使用WASP网络代替ASPP网络降低了模型体积,减少了参数量,提高检测速度。通过对实验结果的主观和客观评估可知,本文提出的改进DeepLabv3+网络和CycleGAN的局部图像迁移方法具有良好的效果。
参考文献:
〔1〕唐稔为,刘启和,谭浩.神经风格迁移模型综述[J].计算机工程与应用,2021,57(19):32-43.
〔2〕L. A. Gatys, A. S. Ecker and M. Bethge, "Image Style Transfer Using Convolutional Neural Networks," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Las Vegas, NV, USA, 2016, pp. 2414-2423.
〔3〕Johnson, Justin; Alahi, Alexandre; Fei-Fei, Li.Perceptual Losses for Real-Time Style Transfer and Super-Resolution[J]. COMPUTER VISION - ECCV 2016, PT II,2016,Vol.9906: 694-711.
〔4〕J. Y. Zhu, T. Park, P. Isola and A. A. Efros, "Unpaired Image-to-Image Translation Using Cycle-Consistent Adversarial Networks," 2017 IEEE International Conference on Computer Vision (ICCV), Venice, Italy, 2017, pp. 2242-2251.
〔5〕S. Liu et al., "AdaAttN: Revisit Attention Mechanism in Arbitrary Neural Style Transfer," 2021 IEEE/CVF International Conference on Computer Vision (ICCV), Montreal, QC, Canada, 2021, pp. 6629-6638.
〔6〕Chen, L., Zhu, Y., Papandreou, G., Schroff, F., & Adam, H. (2018). Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation. European Conference on Computer Vision.
〔7〕Liang-Chieh Chen, George Papandreou, Iasonas Kokkinos,Kevin Murphy 0002, Alan L. Yuille. Semantic Image Segmentation with Deep Convolutional Nets and Fully Connected CRFs.[J]. CoRR,2014,abs/1412.7062.
〔8〕L. -C. Chen, G. Papandreou, I. Kokkinos, K. Murphy and A. L. Yuille, "DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs," in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 40, no. 4, pp. 834-848, 1 April 2018, doi: 10.1109/TPAMI.2017.2699184.
〔9〕Chen, L., Papandreou, G., Schroff, F., & Adam, H. (2017). Rethinking Atrous Convolution for Semantic Image Segmentation. ArXiv, abs/1706.05587.
〔10〕周迅,李永龍,周颖玥,等.基于改进DeepLabv3+网络的坝面裂缝检测方法[J/OL].清华大学学报(自然科学版):1-11[2023-06-15]
〔11〕Karkare, R., Paffenroth, R.C., & Mahindre, G.S. (2021). Blind Image Denoising and Inpainting Using Robust Hadamard Autoencoders. ArXiv, abs/2101.10876.
〔12〕M. Sandler, A. Howard, M. Zhu, A. Zhmoginov and L. -C. Chen, "MobileNetV2: Inverted Residuals and Linear Bottlenecks," 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, Salt Lake City, UT, USA, 2018, pp. 4510-4520.
〔13〕G. Sunandini, R. Sivanpillai, V. Sowmya and V. V. Sajith Variyar, "Significance of Atrous Spatial Pyramid Pooling (ASPP) in DeepLabv3+ for Water Body Segmentation," 2023 10th International Conference on Signal Processing and Integrated Networks (SPIN), Noida, India, 2023, pp. 744-749.
〔14〕M. R. Rezaei-Dastjerdehei, A. Mijani and E. Fatemizadeh, "Addressing Imbalance in Multi-Label Classification Using Weighted Cross Entropy Loss Function," 2020 27th National and 5th International Iranian Conference on Biomedical Engineering (ICBME), Tehran, Iran, 2020, pp. 333-338.
〔15〕F. Milletari, N. Navab and S. -A. Ahmadi, "V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation," 2016 Fourth International Conference on 3D Vision (3DV), Stanford, CA, USA, 2016, pp. 565-571.
〔16〕I. A. Sabilla, M. Meirisdiana, D. Sunaryono and M. Husni, "Best Ratio Size of Image in Steganography using Portable Document Format with Evaluation RMSE, PSNR, and SSIM," 2021 4th International Conference of Computer and Informatics Engineering (IC2IE), Depok, Indonesia, 2021, pp. 289-294.