基于改进CycleGAN的图像翻译方法

2023-06-25 01:19李泳江杨志钢
关键词:梯度注意力损失

李泳江,杨志钢

(哈尔滨工程大学 信息与通信工程学院,哈尔滨 150001)

图像翻译是指将一副图像翻译成另一副图像.其中最见的任务有:图像去噪、风格迁移、图像补全、图像超分辨率等.图像翻译可分为有监督翻译和无监督翻译.有监督的图像翻译必须存在与原始域一一配对的目标域图像.无监督的图像翻译无须存在与原始域一一配对的目标域图像.二者共同点:都必须存在原始域图像与目标域图像的数据集.

生成对抗网络能够通过学习来拟合真实图像数据集的概率分布空间,从而习得生成接近真实图像数据的能力[1].2017年,Isola等人[2]在条件生成对抗式网络(CGAN)[3]的基础上提出了Pix2Pix模型,该模型能够将源域风格的图像样本映射到目标域风格图像的样本空间,这是图像翻译的基础性框架,但是Pix2Pix基于大量配对的数据集.为了摆脱配对数据的限制,UNIT网络[4]利用CoGAN网络[5]组合变分自编码器[6](Variational Auto-Encoder,VAE),它的两个生成器共享权值参数,学习目标域图像和源域图像在交叉域中的联合概率分布空间.Zhu等人[7]提出的CycleGAN,作为无监督学习的图像翻译模型,它由两组生成器和判别器构成,能学习到源域和目标域之间的相互映射关系,文中提出了循环一致损失,能起到约束内容不失真的效果.Ting-Chun Wang等人[8]于2018年提出了Pix2PixHD,它能生成更高分辨率的图像,使用了多尺度的生成器和判别器网络,对同一个输入可以生成不同分辨率的图像.Arjovsky等人提出[9]的WGAN,采用Wasserstein距离,也叫EM距离,即使属于高维空间中的生成分布与真实分布之间没有重合也能反映出两者间的距离,WGAN有效提高了判别器网络和生成器网络在训练过程中的稳定性,提升了生成图像的多样性.Gulrajani等人[10]在WGAN的基础上提出了WGAN-GP和SNGAN,有效解决了训练过程中的梯度爆炸等问题.

如今,GAN在图像翻译领域发挥着越来越重要的作用.GAN对图像进行翻译时,其生成图像的质量不仅取决于算法模型本身和数据集质量,还取决于原始域图像和目标域图像的共同特征.算法模型的网络结构决定了GAN翻译图像时对纹理颜色等细节的拟合能力,科学有效的网络结构还能使GAN具备更为精细的语义信息的学习拟合能力.同时,数据集质量的好坏也直接影响了模型训练的最终结果.此外,为使生成图像的概率分布更加接近样本图像的概率分布,源域图像与目标域图像应该存在一些共同的属性特征.

本文提出了一种基于改进CycleGAN的图像翻译方法,能在源域图像和目标域图像的特征空间相差较远的情况下,实现源域图像到目标域图像的转换.以3D无人机模型图像的边缘图像作为源域数据集,利用CycleGAN作为主干网络模型,通过在其生成器结构中引入自注力模块,用带惩罚项的Wasserstein距离替换JS距离,降低了生成图像与样本图像之间的分布距离,改善了生成图像的质量,提高了生成图像的清晰度,本文改进方法能够生成鲁棒性很好的翻译图像.

1 相关工作

1.1 生成对抗网络

基于对抗思想的GAN生成模型,由生成器G和判别器D组成,核心思想是利用已知概率分布的样本数据对模型不断地进行迭代训练,使生成器不断生成接近真实数据分布的假图像,迫使判别器鉴别真伪的能力不断提升,最终达到纳什均衡.最终,生成器学会真实数据的数据分布到生成数据之间的映射关系.

自2014年GoodFellow提出GAN,研究人员相继提出了大量优秀的衍生模型.针对GAN训练时的梯度消失、模式崩溃、生成图像质量差、生成器和判别器的训练难以同步等问题,研究人员通过不断探索,提出了很多优秀的GAN改进模型.Radford等人[11]提出的DCGAN首次结合了CNN,使得网络能够生成丰富的图像,但质量有待提升.Larsen等人[12]提出把GAN和VAE相结合,利用GAN的判别器对特征表示进行学习,从而提升VAE重构目标的能力,达到改善生成图像的质量的效果.WGAN用EM距离替换原始GAN的JS散度,缓解了模式崩塌和梯度消失现象,加快了模型的训练速度,EM距离可以得出真实分布和生成分布之间的真实距离.EM距离公式如式(1)所示.

Ez-pz(z)[log(1-D(G(z)))]}

(1)

WGAN-GP在WGAN的基础上提出了梯度惩罚,重新思考权重调整方式.由随机噪声生成的假图像作为惩罚的输入,对梯度的归一化范式进行截断修剪,改善了WGAN的训练稳定问题,其损失函数如式(2)所示.

Ez-pz(z)[D(G(z))]-

λEx~Penalty[(‖xD(x)‖-1)2]}

(2)

GAN广泛应用于图像合成[13],在图像翻译、风格迁移[14]、图像生成、图像属性编辑、图像修复[15]等方向,GAN与编解码器的组合也都有着广泛的应用.

近年,自然语言处理中自注意力机制也成功应用在了图像处理领域.引入自注意力机制的生成对抗网络,可以引导生成模型注意到图像更大范围的空间结构,获得全局信息,生成更高质量的图像.针对有监督学习的GAN图像翻译需要大量成对的图像数据,难以获取,以及图像翻译生成图像存在模糊和量差等问题,本文提出的在CycleGAN的生成器结构中加入自注力模块,用带惩罚项的EM距离替换JS距离能够生成质量更好的图像,并且易于实现,加快了训练速度.

1.2 图像翻译网络CycleGAN

Zhu等人提出的CycleGAN是一种较为优秀的GAN图像翻译网络,作为无监督学习的图像翻译模型,它由两组生成器和判别器构成,能学习到源域和目标域之间的相互映射关系,模型中还加入了循环一致性损失,起到约束内容不失真的效果,训练时也无需配对的图像数据集.其损失函数分为两部分:对抗性损失和循环一致性损失.对抗损失函数如式(3)所示,循环一致性损失如式(4)所示,总损失函数如式(5)所示.

LGAN(G,F,DX,DY)=LGAN(G,DY,X,Y)+

LGAN(F,DX,Y,X)=IEy-Pdata(y)[logDY(y)]+

IEx-Pdata(x)[log(1-DY(G(x)))]+

IEx-Pdata(x)[logDX(x)]+

IEy-Pdata(y)[log(1-DX(F(y)))]

(3)

Lcycle(G,F)=IEx-Pdata(x)[‖F(G(x))-x‖1]+

IEy-Pdata(y)[‖G(F(y))-y‖1]

(4)

L=LGAN(G,F,DX,DY)+Lcycle(G,F)

(5)

2 基于改进CycleGAN的图像翻译方法

2.1 引入带惩罚项的EM距离

当使用JS距离来衡量生成图像与真实图像之间的分布距离时,若生成分布与真实分布的空间不重叠,则JS散度为常数,从而出现梯度消失现象,导致生成器无法通过反向传播算法更新网络参数,从而难以得到真实公布与真实分布之间的距离,使得训练失效.EM距离相比JS距离更具平滑性,曲线不存在突变,即使在生成分布与真实分布没有重叠的情况下,判别器D能计算出两者间的真实距离,得出生成器G的生成图像的质量,因此可以通过BP算法对其进行优化,从理论上解决了梯度消失,使得模型的训练更加稳定.

但是由于权重剪枝设计严苛,难以把控,导致训练超时也会出现梯度消失.所在在EM距离的基础上引入梯度处罚项,重新考量权重参数的调整方法.把由随机噪声z生成的生成图像作为惩罚输入,截断修剪梯度的归一化范式,进一步改善了使用EM距离时的训练不稳定的问题.其目标函数如式(6)所示,Ppenalty(x)位于Pdata(x)和PG(z)之间,PG(z)要不断向Pdata(x)靠拢.

数据来源:奥维云网(AVC)全渠道推总数据,包含品类:彩电、冰箱、冷柜、洗衣机、空调、厨电(烟灶消)、电热水器、燃气热水器、小家电(煲磁压豆料水榨)、洗碗机、微波炉、电烤箱、吸尘器、净化器、净水器、电风扇、电暖器。

Ez-pz(z)[D(G(z))]-

λ1Ex~penalty[(‖xD(x)‖-1)2]}

(6)

将式(6),即引入带处罚项的EM距离代入式(5)便可得到改进后的CycleGAN的总损失函数.

2.2 添加自注意力机制的生成器网络

当网络提取图像特征时,通常由于卷积核尺寸较小,而较小的感受野范围难以完整描述图像的较远特征.虽然更深的网络结构可以提到更大的原图范围,但是过深的网络并不适合生成对抗网络.由此本文提出在CycleGAN的网络基础上引入自注意力机制,引导生成模型注意到图像更大范围的空间结构,获得全局信息,生成更高质量的图像.注意力机制的步骤简图如图1所示.其中:输入特征为(C,H,W),分别对应通道数量、高度值和宽度值.经过通道注意力模块后生成对应的C个权重参数,每个系数与相应的通道特征相乘,再通过空间注意力模块,得到H×W数量的权重参数.空间权重系数要和特征图的对应空间像素相乘,得到对应输出特征.注意力模块的计算过程示意图如图2所示;引入自注意力模块后的生成器结构示意图如图3所示.

图1 注意力机制的步骤简图Figure 1 Schematic diagram of the steps of attention mechanism

图2 注意力模块的计算过程示意图Figure 2 Schematic diagram of the calculation process of the attention module

图3 引入自注意力模块后的生成器结构示意图Figure 3 Schematic diagram of the generator structure after introducing the self-attention module

其中:Y域图像为输入的3D无人机模型的边缘图像,X域图像为目标域风格图像,改进后的CycleGAN能将输入的Y域风格下的边缘图像翻译成较高质量的X域风格下的真实无人机图像.引入自注意力模块的改进型CycleGAN的图像翻译流程如图4所示.

图4 引入自注意力机制的CycleGAN图像翻译流程Figure 4 The CycloGAN image translation process introducing self attention mechanism

引入自注意力机制后,生成模型得以注意到更大范围的图像结构,获取更多的图像信息,从而生成更加清晰,更高质量的无人机图像.

2.3 总损失值

本文所提方法的总体训练框架如图5所示,采用CycleGAN作为模型的主体网络,在模型的生成器结构中嵌入自注意力模块;在损失函数上面,使用带惩罚项的EM距离取代JS距离.方法能有效实现Y域风格下3D无人机模型的边缘图像到X域风格下真实无人机风格的翻译,生成更高质量,更加清晰的无人机图像.

图5 本文方法总体训练框架示意图Figure 5 Schematic diagram of the overall training framework of this method

CycleGAN的损失函数有两部分:对抗性损失和循环一致性损失.其中对抗损失保证生成器与判别器共同进化,生成更真实的图像;循环一致性损失保证生成器将输入图像翻译成目标域下的图像,即,.循环一致性损失能有效防止源域Y中的边缘图像全都转换成目标域X中的同一张图像,通过加入身份损失可以预防生成器擅自修改图像颜色,干扰整体图像的成色,身份损失函数如式(7)所示:

LIdentity(G,F)=Ex-Pdata(x)[‖F(x)-x‖1]+

Ey-Pdata(y)[‖G(y)-y‖1]

(7)

因而,模型的总损失函数如式(8)所示:

L(G,F,DX,DY)=LGAN(G,DY,X,Y)+

LGAN(F,DX,Y,X)+λLcycle(G,F)+

μLIdentity(G,F)

(8)

通过参数λ和μ来控制是否添加身份损失函数和循环一致损失函数,过早加入两损失函数会干扰网络的整体训练.实际应用中需先训练一段时间后,生成图像达到一定质量再加入它们效果会更好.

3 实验结果及分析

本文实验中训练、测试所用到的硬件设备和开发环境汇总如下:

硬件配置:CPU: Intel(R) Xeon(R) Gold 6128 3.40GHz;GPU: Nvidia 1080Ti 16GB RAM.系统版本:Ubuntu 16.04, Anaconda 3-5.3, CUDA 9.0.开发环境:Python 3.7, Tensorflow 1.14, Keras 2.2.4.

3.1 数据集

以无人机的图像翻译为例,由对照实验得出改进方法的有效性.其中X域下的数据集为,天空背景下拍摄的大疆四旋翼无人机真实图像.Y域下的数据集为3D无人机模型图像的边缘图像数据集.通过算法模型将边缘图像翻译成X域下的无人机图像,从而生成大量的虚拟无人机图像.其中真实无人机样本和无人机边缘图像样本如图6所示.

图6 本文方法所用数据集Figure 6 The dataset used in this article's method

3.2 无人机图像翻译的实验结果

为了体现本文方法在无人机图像翻译上的有效性和科学性,对生成的无人机图像进行对照实验分析,如图7为几种算法模型的无人机图像翻译效果图.

图7 几种算法模型的无人机图像翻译效果图Figure 7 Translation rendering of unmanned aerial vehicle images using several algorithm models

其中:第1行的输入图像为Y域风格下的无人机边缘图像;第2行的生成图像为Pix2Pix的翻译结果,其图像清晰度明显要模糊一些,无人机与背景环境有一定混叠,存在一定的噪声干拢;第3行为原始的CycleGAN的生成图像,相比于Pix2Pix的生成图像,明显要清晰一些,无人机轮廓较为明显,与环境的边界更加分明,受噪声影响更小;最后一行为本文对CycleGAN改进后的图像翻译效果图,与原始CycleGAN相比,有着更为清晰的轮廓,更高质量的生成图像,说明本文方法能有效提升CycleGAN的图像翻译效果,证明了本文方法的有效性.

4 结 语

本文针对有监督学习的图像翻译需要配对数据集,获取成本太高,一般无监督学习下的图像翻译存在翻译效果欠佳,模式崩溃,梯度消失等问题提出了一种基于改进CycleGAN的图像翻译方法.本文以无人机图像数据集开展实验,实现了Y域风格下的无人机边缘图像到X域风格下的无人机图像的翻译.其中:为了获取大量不同姿态下的无人机边缘图像,本文的是提取3D无人机模型的边缘图像,图像丰富且易于获取.

与原始的CycleGAN相比,在损失函数中,本文方法通过用带惩罚项的EM距离替换JS距离,在一定程度上提高了模型训练时的稳定性;在网络结构上,本文方法通过在生成器网络中嵌入自注意力模块,改善了生成器网络在训练时难以获取图像更大范围的空间结构和全局信息的问题,使得模型提高了对图像中心像素的特征阐述能力,在一定程度上提升了生成图像的空间细节,提高了生成图像的质量和清晰度.

本文证明了在生成器的网络结构中嵌入自注意力模块和用带惩罚项的EM距离替换JS距离,能有效提高模型的图像翻译效果.但要使模型能够生成各种不同姿态下的无人机图像,就要针对性地提取不同姿态下的边缘图像.

猜你喜欢
梯度注意力损失
让注意力“飞”回来
一个改进的WYL型三项共轭梯度法
胖胖损失了多少元
一种自适应Dai-Liao共轭梯度法
一类扭积形式的梯度近Ricci孤立子
玉米抽穗前倒伏怎么办?怎么减少损失?
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一般自由碰撞的最大动能损失
损失