APP下载

基于风格解耦和自适应层实例归一化的图像翻译方法

2021-07-20蔡兴泉魏岳超孙海燕

科学技术与工程 2021年17期
关键词:解码器集上编码器

蔡兴泉,魏岳超,孙海燕

(北方工业大学信息学院,北京 100144)

图像翻译指的是在保持图像的某些特征的基础上,将图像从一个图像域迁移至另一个图像域的图像处理任务。通过输入来自两个不同图像域的训练集训练模型,使模型可以根据源域中的图像生成目标域中的对偶图像,同时约束生成的图像和目标域中的图像保持尽量一致的分布。图像风格迁移、图像超分辨率[1]、图像修复[2]等多种图像处理任务均可以视作图像翻译的子问题。图像翻译的概念最早由Hertzmann等[3]提出,Hertzmann等通过类比一对通过某种转换前后的图像对,将此种转换模式应用于其他图像上,实现了类似风格迁移的效果,但受限于计算难度大,这类方法并没有进一步地发展。

随着卷积神经网络的发展,Gatys等[4]通过卷积神经网络提取图像的内容特征,计算提取特征图的Gram矩阵以度量图像的纹理,然后由网络输出特征融合后的图像,实现了将输入的风格图像的风格迁移至内容图像上的效果。Johnson等[5]采用类似全卷积网络的结构进行图像风格迁移,使用感知损失来度量图像间的差异,提升了图像风格迁移的速度。Huang等[6]使用自适应实例归一化(adaptive instance normalization, AdaIN),以对齐内容图像与风格图像的均值和方差,从而实现任意风格的风格迁移。这类基于卷积神经网络或是基于全卷积网络的图像风格迁移方法需要使用预训练的特征提取网络对图像进行特征提取,对风格图像的材质和纹理较为敏感,因此更适于处理艺术图像的风格迁移,而不适用于更为复杂的图像翻译任务中。

近年来,Goodfellow等[7]提出的生成对抗网络(generative adversarial networks, GAN),已经广泛地应用于图像处理领域。在训练时,生成对抗网络通过使生成器和判别器进行零和博弈,判别器促使生成器生成和真实样本相近的伪样本,间接地达到生成逼真图像的目的。但是,生成器接收的输入是随机噪声,因此生成对抗网络的输出结果是不可控的。为了克服这个问题,Mirza等[8]提出了条件生成对抗网络(conditional generative adversarial networks, CGAN)。CGAN的生成器和判别器加入了条件信息,使CGAN具有根据输入的条件信息控制输出结果的能力。

Isola等[9]基于CGAN的思想提出了pix2pix模型,实现了以图像作为输入,翻译后的图像作为输出的端到端的图像翻译。pix2pix采用U-net[10]作为生成器,U-net相当于一个自编码器,以一张图像作为输入的条件信息,对其编码并解码输出翻译图像。判别器方面,pix2pix提出PatchGAN作为判别器,可对图像实现更精细的判别,提升了翻译图像的质量。Wang等[11]将pix2pix扩展为pix2pixHD,采用由粗到细的多段生成器,多尺度PatchGAN作为判别器,同时改进了对抗损失,实现了高分辨率图像的翻译。pix2pix和pix2pixHD都是有监督的图像翻译方法,但是现实中训练所需要的成对图像数据集难以获取,限制了这类有监督方法的应用。

针对成对图像数据集难以获取的问题,Zhu等[12]提出CycleGAN,通过一对对称的GAN和循环一致性损失约束,实现了不需要成对图像数据集的无监督图像翻译。由于网络结构和损失函数上的一些局限性,CycleGAN在一些图像内容的几何结构变化较大的数据集上效果不佳。Liu等[13]假设图像域间共享一个潜空间,提出了UNIT。UNIT将两个生成器中的一部分层的参数共享,以强制对齐图像域间共享的潜空间,从而由给定的两个图像域的边缘分布推断出它们之间的联合分布,提升了无监督图像翻译的效果。受到InfoGAN[14]和β-VAE[15]的解耦表示学习的启发,Huang等[16]在UNIT的基础上,结合了解耦表示学习提出MUNIT。MUNIT将两个图像域间共享的潜空间分为内容空间和风格空间,使用不同的编码器分别对图像的内容和风格解耦,并于解码器中重构,完成无监督图像翻译,同时能实现多模态的翻译结果。

尽管这些无监督图像翻译方法已经可以在多个数据集上执行图像翻译,但是在一些变化较大的数据集上生成的图像质量较低。原因在于无监督学习时对图像域间的内容约束不足,导致图像翻译过程中内容变化过大,难以保持原图像的内容;其次,模型难以处理不同图像域之间的风格的复杂映射关系,使得图像的风格传递不佳,导致生成的图像质量较低。针对这些问题,现主要研究一种基于风格解耦和自适应层实例归一化的图像翻译方法,通过增强图像域间内容变化的约束,改善图像风格的传递,以提升图像翻译的效果。

1 基于风格解耦的图像翻译模型

1.1 模型结构总览

受CycleGAN的对称GAN结构启发,使用基于风格解耦和自编码器结构的生成器。在训练阶段,采用多尺度PatchGAN作为判别器;在生成阶段,采用跨域共享的内容编码器以及域间独立的风格编码器和解码器等。内容编码器和风格编码器采用不同的网络结构,分别对图像的内容和风格进行编码。

图1 模型的结构总览

与CycleGAN的对称GAN架构不同,本文模型的编码器可以分别提取图像的内容编码和风格编码。通过交换编码和重复编解码,在训练时多次对图像进行重构,增强图像的循环一致性约束,从而提升模型的图像翻译效果,增强模型在多种任务上的适应能力。

1.2 生成器结构

图像翻译过程中,通过解耦及重组源域图像的内容编码和目标域图像的风格编码,即可完成源域图像到目标域图像的图像翻译。

1.2.1 内容编码器

在图像翻译过程中,不同图像域的内容编码分布于不同的隐空间中,则使用不同分布内容编码的解码器生成的图像难以还原原图像的内容,使得生成图像的内容与输入图像的内容不一致,导致生成的图像质量下降。针对该问题,采用两个图像域共享一个相同的内容编码器Ec的方法,这样就能强制将图像的内容编码映射至同一隐空间,使翻译前后图像的内容强制对齐,以保持图像翻译前后内容一致,从而提升图像翻译的效果。内容编码器Ec的具体网络结构参数如表1所示。

表1 内容编码器的网络结构

内容编码器Ec的网络结构通过改进文献[5]提出的深度残差网络结构改进得到。由于内容编码器只用于提取图像的内容特征,不需要对图像进行上采样,因此只使用Johnson等提出的网络结构的下采样部分。内容编码器Ec由3个卷积层、4个残差层组成,与文献[5]提出的网络结构类似,内容编码器不含池化层,且在除第一层卷积之外的其余层之后加入实例归一化(instance normalization, IN)[17]层。实例归一化在会在每个图像实例上单独计算,可保持图像的内容相互独立,从而保持翻译前后的图像的内容具有不变性。

1.2.2 风格编码器

表2 风格编码器的网络结构

1.2.3 基于上采样卷积的解码器

为了更好地传递目标图像域的风格信息,在解码器的残差层后加入自适应层实例归一化(adaptive layer-instance normalization, AdaLIN)[18]。AdaLIN融合了自适应实例归一化(AdaIN)和层归一化(layer normalization, LN)[19],表达式为

(1)

式(1)中:α为前一卷积层的输出;μI(α)、σI(α)分别为逐通道计算的α的均值和标准差;μL(α)、σL(α)分别为整层计算的α的均值和标准差;αI、αL分别为α经过AdaIN和LN所得到的输出;p为AdaIN和LN分别所占的权重比,γ、β为全连接层计算得到的仿射变换参数。p的取值范围在0~1,p接近于1,则AdaIN占有较大的比例;p接近于0,则LN占有较大比例。在训练时,p会动态地调整,以适应AdaIN和LN分别所占的比例。AdaIN逐通道计算均值和方差,则通道之间互不相关;而LN在整层全部通道上计算均值和方差,即通道之间完全相关;通过AdaLIN,本文模型的解码器在训练时可以动态地调整AdaIN和LN所占的比值,从而使解码器根据输入的内容编码和风格编码自适应地改变图像的风格,改善图像风格的传递,提升生成图像的质量。

根据Odena等[20]的观点,反卷积层会使生成的图像产生棋盘格状的伪影。因此,本文模型的解码器使用上采样+卷积的方法来替代反卷积层。解码器的网络结构如表3所示。

表3 解码器的网络结构

本文模型的解码器由3个全连接层、4个残差层和3个上采样卷积层构成,共有GX、GY2个解码器,分别用于生成图像域X、Y的图像。解码器通过接收内容编码器输出的内容编码和对应图像域的风格编码器输出的风格编码,在全连接层产生仿射变换参数γ、β,然后风格编码在残差层中与内容编码结合,由上采样卷积层输出翻译后的图像,实现生成具有内容编码表示的内容和风格编码表示的风格的图像。

1.3 基于多尺度PatchGAN的判别器

采用文献[11]提出的多尺度PatchGAN作为模型的判别器。传统的判别器由图像识别模型发展而来,只能输出一个表示图像为真的概率值,而PatchGAN在最后输出的是一个概率矩阵。相对于整幅图像为真的概率值,概率矩阵包含了更多的信息;矩阵中的每个元素的感受野大小对应着原图像的一个Patch的尺寸;每个元素的值表示对应的Patch为真的概率值。在此基础上,多尺度PatchGAN分别对输入的图像进行2次下采样,对下采样后的图像再次进行判别,共输出3个不同尺寸的概率矩阵,其结构图如图2所示。本文模型中,最大的概率矩阵的尺寸为16×16,则矩阵中的每个元素对应的感受野大小为46×46,相当于将输入的图像分割为46×46个Patch,并对每个Patch进行判别得到概率值,再对结果求平均值。相对于PatchGAN,多尺度PatchGAN通过判别不同尺寸的图像,在计算量变化不大的条件下间接地增加了判别器的感受野。多尺度PatchGAN输出的不同尺寸的概率矩阵中,较小尺寸的表示判别器对图像全局的判别结果,而较大尺寸的表示对图像细节的判别结果。多尺度PatchGAN在不同尺度上对图像进行判别,同时判别了图像的全局和细节,提升了判别能力。而训练时多尺度PatchGAN也会反作用于生成器,引导生成器生成全局更真实、细节更精细的图像。

图2 多尺度PatchGAN判别器

本文模型采用2个判别器DX、DY,分别对图像域X、Y的图像进行判别,每个判别器的网络结构如表4所示。

表4 判别器的网络结构

为了使判别器训练时更稳定,同时使其具有更强的鲁棒性、泛化能力,需要使其满足K-Lipschitz约束,如式(2)所示。为了满足K-Lipschitz约束,需要进行谱归一化(spectral normalization, SN)运算,如式(3)所示。

(2)

(3)

2 损失函数

本文模型包含2个对称的GAN,模型训练时共同对2个GAN进行优化以完成图像域X、Y之间的图像翻译。因此,本文模型的损失函数由生成器和判别器的对抗损失、自重建损失、跨域循环一致性损失、随即风格编码重建损失和正则化项构成,总损失函数表示为

(4)

2.1 对抗损失

模型的对抗损失为生成器的对抗损失和判别器的对抗损失。在训练过程中,生成器的目标是使生成的伪图像能被判别器判别为真,而判别器的目标则是能区分真实图像和生成的伪图像。对图像翻译而言,模型训练的目标本质是学习将图像域X映射至图像域Y以及将图像域Y映射至图像域X的两个映射函数。原始GAN使用的交叉熵损失函数适用于图像分类任务,它更关注于图像的真伪而不是图像离决策边界的距离;而最小二乘生成对抗网络(least squares generative adversarial networks, LSGAN)[21]使用的最小二乘损失函数可以有效地惩罚远离决策边界的假样本,从而增强判别器对假样本的判别能力,更适合图像生成任务,因此本文模型的对抗损失使用最小二乘损失函数。

(5)

图3 随机风格图像的生成过程

(6)

(7)

模型判别器的对抗损失为

(8)

2.2 自重建损失

自重建损失用于约束解码器,使解码器可根据原图像的内容编码和风格编码还原输入图像的内容和风格。输入一对图像x、y,分别进行编码,不交换它们的内容编码,解码器GX、GY应能根据x、y的内容编码和风格编码输出x、y的自重建图像。因此,构建自重建损失为

(9)

2.3 跨域循环一致性损失

由于对抗损失只能约束生成器生成对应图像域的图像,而不能保证输入图像的内容在编解码过程中不丢失,因此需要循环一致性损失对生成器进行约束。由于本文模型解耦并重组内容编码和风格编码,因此本文模型在CycleGAN提出的循环一致性损失上扩展为跨域循环一致性损失。

图4 跨域循环一致性损失

(10)

CycleGAN的循环一致性损失用于约束生成器,使图像在翻译前后的重要内容特征保持一致;而跨域循环一致性损失在循环一致性损失的基础之上,增加了对生成器中的编码器的约束,确保在重复的编解码过程中编码保持一致。

在跨域循环一致性损失中,输入图像的内容编码和风格编码均进行了两次编解码操作,且内容编码在两个图像域中交换过。这促使风格编码在相同图像域内传递并保持,内容编码在不同图像域间传递并保持。采用跨域循环一致性损失,可以有效地保持内容编码和风格编码在翻译过程中不变,也就使生成器能有效地保留并传递图像的内容和风格,提升生成器生成的图像的质量和真实感。

2.4 随机风格编码重建损失

图像的内容编码和风格编码在跨域循环一致性损失中隐式地受到约束,但是随机风格编码az并未受到约束。为增强生成器保留并传递随机风格的能力、提升随机风格编码对图像风格的表征能力,对随机风格编码也增加重建损失。由于使用随机风格编码生成的伪图像风格为随机的,没有能与之对照的图像,因此直接对随机风格编码az进行重建,则随机风格编码az的重建损失为

(11)

随机风格编码符合标准正态分布,增加随机风格编码重建损失可引导生成器根据不同的风格编码生成不同的风格图像,提升生成图像的多样性。

2.5 正则化项

对内容编码和风格编码增加L2正则化项,以防止模型产生过拟合,正则化项为

(12)

3 实验结果及分析

为了验证所提出方法的有效性,已经实现了该方法,并在多个数据集上进行实验和分析。所用的计算机的硬件环境:CPU为Intel Xeno W2104,GPU为Nvidia RTX2080ti,内存为16 G。计算机的软件环境:操作系统为Win10,模型的开发框架为tensorflow 1.14.0,开发语言为python3.7。

3.1 实验数据集与参数设置

所用的数据集包括Cat↔Dog、Summer↔Winter和Edge↔Shoes等。Cat↔Dog为猫狗面部图像数据集[22],取从Google images上收集的861张猫的面部图像和1 315张狗的面部图像,选择100张猫的面部图像和100张狗的面部图像作为测试集,其余的图像作为训练集供模型训练。Summer↔Winter为夏季与冬季风景图像数据集[12],包含从Flickr上收集的Yosemite国家公园的风景照片,取其中1 366张夏季风景图像、1 102张冬季风景图像,选择268张夏季风景图像和206张冬季风景图像作为测试集,其余作为训练集供模型训练。Edge↔Shoes为边缘图和鞋图像数据集,包含UT Zappos50K数据集[23]中的50 025张鞋图像,以及用HED[24]提取的50 025张鞋的边缘图像,其中取200张鞋的图像和200张鞋的边缘图像作为测试集,其余作为训练集供模型训练。

模型的输入图像和输出图像的尺寸均为256×256,每次训练的batch size为1,使用均值为0、标准差为0.02的随机正态分布对网络中的参数进行初始化;使用Adam算法对模型进行优化,学习率设为0.000 1,一阶矩估计的指数衰减率为0.5,二阶矩估计的指数衰减率为0.999。各个损失函数的权重超参数λadv、λrec、λcyc、λlat、λreg分别为1、10、10、10、0.01。

3.2 量化实验与分析

使用弗雷歇起始距离(Fréchet inception distance,FID)[25]来评估翻译后的图像质量。将真实图像和伪图像分别输入预训练的Inception-V3网络中,并分别提取网络的最后一个池化层,通过均值和协方差矩阵计算两个分布之间的弗雷歇距离,从而衡量两个分布的相似度。FID可以有效地评价图像的质量,其结果和人眼的判断较为接近。FID的值越小,表示真实图像和生成的伪图像分布越接近,生成的伪图像质量越高。

选择了无监督图像翻译中的代表性方法CycleGAN、UNIT和同样采用解耦思想的MUNIT,与本文的方法进行对比实验。对于CycleGAN、UNIT和MUNIT,采用原始代码的Tensorflow版本,并使用和原始代码一致的超参数设置。所有方法在测试集上进行图像翻译,并计算不同模型在测试集上输出的图像与真实图像的平均FID。同时,为了对解码器中加入的自适应实例归一化层的效果进行评估,将只使用实例归一化(IN)的模型和加入自适应层实例归一化(AdaLIN)后的模型分别在测试集上测试,并计算输出的图像与真实图像的平均FID。不同模型的平均FID如表5所示。

表5 不同模型的平均FID对比

由表5可知,CycleGAN在猫狗图像数据集与边缘图和鞋图像数据集上表现较差,在风景图像数据集上表现较好;UNIT和MUNIT在猫狗图像数据集与边缘图和鞋图像数据集上表现较好,在风景图像数据集上表现较差;使用IN时,本文模型在猫狗图像数据集与边缘图和鞋图像数据集上表现较好,但是在风景图像数据集上表现要差于CycleGAN;在使用AdaLIN后,本文模型在3种数据集上的表现均要更好,证明了本文方法对于提升生成图像质量的有效性。

3.3 不同归一化的对比实验与分析

对于只使用实例归一化的模型和加入自适应层实例归一化后的模型,分别取在测试集上的一部分输出图像进行对比实验,结果如图5所示。

图5 不同归一化的效果对比

在猫狗图像翻译任务上,相对于使用实例归一化的模型,采用自适应层实例归一化的模型可以更好地约束输入图像的面部朝向,从而避免生成的图像的面部出现扭曲,影响翻译的效果。

在夏季风景图像转换为冬季风景图像任务上,采用自适应层实例归一化前,模型生成的图像色彩不够均匀,而且对于输入图像的内容保留不足;采用后,图像在保留了输入图像的重要内容同时,选择性地改变了图像的风格,使图像色彩更均匀,结构更真实,增强了生成图像的观感。

在边缘图像与鞋图像的转换任务上,采用自适应层实例归一化后,生成的鞋图像整体色调更均匀,真实感更好;生成的边缘图像保持了鞋的整体轮廓,同时去掉了多余的边缘线条。

3.4 随机风格图像实验与分析

为验证模型生成随机风格图像的能力,采用服从标准正态分布的随机风格编码进行图像翻译,实验结果如图6所示。

图6 随机风格图像效果图

在训练时,模型受到随机风格编码重建损失的约束,在训练集上采样了目标域图像的不同风格。因此,在输入图像相同的情况下,本文方法可以根据随机产生的不同的风格编码生成不同风格的目标域图像,提升了图像翻译的多样性。

3.5 不同模型翻译效果的对比实验与分析

分别取CycleGAN、UNIT、MUNIT以及本文方法在测试集上的一部分输出图像进行对比实验。

如图7所示,其中第一列为输入的原图像,其余列分别为不同方法对输入图像的翻译结果。

图7 不同模型的翻译效果对比

在猫图像转换为狗图像的任务中,CycleGAN和UNIT生成的图像质量较低,出现了细节模糊、翻译不完全等现象。相对于原图像,MUNIT生成的图像的几何变化较大,图像翻译地较为完全,但是眼睛处和耳朵处出现了变形和模糊。本文方法生成的狗图像,在整体的几何变形和细节的生成之中取得了平衡,图像的质量和观感较好。在狗图像转换为猫图像的任务中,CycleGAN生成的图像保留了原图像的几何形状,但是面部出现变形,且毛色不均匀,导致图像质量较低。UNIT和MUNIT生成的图像质量较好,但是嘴部出现了伪影。本文方法生成的图像保留了嘴部细节,整体的协调性较好。

在夏季风景图像转换为冬季风景图像任务上,CycleGAN和UNIT生成的图像保留了更多原图像的内容,但是生成的积雪较少,图像整体翻译效果较差;MUNIT生成的图像出现了较多的积雪,但是草地的颜色不够均匀;本文方法生成的图像积雪较多,图像整体色调均匀,使得图像更真实、观感更好。在冬季风景图像转换为夏季风景图像任务上,CycleGAN生成的图像整体色调变化较小;UNIT生成的图像色调偏暗,山有些模糊;MUNIT生成的图像出现了较多植被,但是山上生成的植被不均匀;本文方法的图像整体色调偏亮,生成的植被丰富,使得图像的整体观感良好。

在边缘图像转换为鞋图像的任务上,CycleGAN生成的图像质量较高,但是鞋尖处颜色不够均匀;UNIT和MUNIT生成的图像整体色调不太一致,真实性较低;本文方法生成的图像色调均匀,整体真实性更强。在鞋图像转换为边缘图像的任务上,CycleGAN生成的图像边缘处出现黑影,细节较差;UNIT和MUNIT生成的图像大致地还原了输入图像的轮廓;本文方法生成的图像包含更多细节,更好地还原了输入图像的边缘。

4 结论与展望

针对无监督图像翻译内容不一致、风格传递不佳、多样性不佳的问题,提出了一种基于风格解耦和自适应层实例归一化的图像翻译方法。采用基于解耦表示的生成器,两个图像域间共享内容编码器,对齐翻译前后图像的内容,增强输入图像与生成图像的内容一致性;在解码器的残差层中加入自适应层实例归一化,使模型自适应地对风格进行处理,增强风格传递的效果,改善生成图像的质量;将随机风格编码融合进对抗损失,实现随机风格图像的生成,提升生成图像的多样性。实验验证表明本文方法生成的图像质量更佳,且可以生成多样化的图像。

下一步研究工作包括将本文方法扩展,以应用于目标检测、图像增强、图像修复等工作中。

猜你喜欢

解码器集上编码器
基于双空间模糊邻域相似关系的多标记特征选择
WV3650M/WH3650M 绝对值旋转编码器
WDGP36J / WDGA36J编码器Wachendorff自动化有限公司
关于短文本匹配的泛化性和迁移性的研究分析
转炉系统常用编码器选型及调试
舞台机械技术与设备系列谈(二)
——编码器
侏罗纪公园
浅谈SCOPUS解码器IRD—2600系列常用操作及故障处理
做一个二进制解码器
因人而异调整播放设置