APP下载

基于视觉注意力机制的人脸属性迁移

2021-04-15谢志峰闫淑萁张文领

计算机应用与软件 2021年4期
关键词:人脸老化注意力

谢志峰 闫淑萁 张文领

1(上海大学上海电影学院 上海 200072) 2(上海大学上海电影特效工程技术研究中心 上海 200072)

0 引 言

图像翻译(Image-to-Image Translation)的任务是将源图像域转换为目标图像域,是图像处理中的一种重点研究方向。人脸属性迁移作为图像翻译中的一种,其目的是把同种属性下,不同属性值的人脸图像域进行转换,比如性别转换、发色变化和人脸老化。它广泛应用在数字娱乐社交领域,并对增强数据集、辅助人脸识别具有重要意义。之前,人脸属性迁移主要是利用配对数据集进行回归分析。近些年,生成对抗网络(Generative Adversarial Networks)[1]的出现推动了图像合成[2-3]和图像翻译[4-6]的发展。这种生成器和判别器相互博弈学习真实数据分布的网络框架也成为人脸属性迁移任务的主流模型。

Isola等[7]提出有监督的图像翻译方法pix2pix,其模型以U-net[8]为生成网络,新颖的PatchGAN为判别网络,通过配对数据集训练完成翻译任务。但是对于人脸属性迁移任务来说,这种有监督学习模型所需配对的人脸属性数据集难以得到。Zhu等[9]基于对偶学习和循环一致性损失提出了一种无监督学习的图像迁移模型CycleGAN,可以在未配对数据集上实现人脸属性迁移,但是其生成图像模糊。Liu等[10]提出UNIT模型,利用编码器提取源域和目标域共享的潜在向量,并让对应的解码器学习潜在向量与各个域的映射完成属性转移,但是存在棋盘状多余纹理。Zhang等[11]提出了基于视觉注意力机制的可解释生成对抗性网络SAT,可以在图像到图像转换中减少属性无关区域改变。

针对生成图像存在伪影、属性无关区域改变等问题,本文提出基于视觉注意力机制的生成对抗网络,主要贡献如下:

1) 为了减小属性无关区域的变化,生成网络引入视觉注意力机制,构建视觉注意力子网络和图像翻译子网络。非零的注意力值所在的区域视为属性相关区域,剩下的部分为属性无关区域。

2) 在判别器网络中采用多尺度PatchGAN网络结构判断图像的真假,丰富转移图像的细节,并提高图像质量和视觉效果。

3) 为了保持人脸身份信息,减少伪影噪声,添加循环一致性损失函数和注意力图像损失函数。

1 相关工作

1.1 人脸属性迁移

Mirza等[12]提出条件生成对抗网络(CGAN),通过输入人脸的属性标签作为条件,生成器能随机生成带有相应属性的人脸图像。Perarnau等[13]在条件生成对抗网络[12]的基础上引入自编码器,提出用于图像编辑的可逆条件生成对抗网络(IcGAN)。人脸图像通过两个独立的编码器训练分别得到内容特征向量C和属性特征向量A。重新对特征向量组合,放入生成对抗网络中可以生成同一张脸不同属性的图像。Choi等[14]提出了新颖的StarGAN模型,通过改变输出标签即可完成不同域之间的属性迁移。Bao等[15]提出了CVAE-GAN模型,在生成对抗网络中加入了辅助分类器作为判别器的补充共同约束生成器,保持人脸的内容信息,稳定属性迁移结果。Xiao等[16]基于特征解缠绕理论提出了实例级人脸属性转移网络ELEGANT,原图像和目标图像在潜层空间进行特征交换,经过图像解码完成属性迁移。Pumarola等[17]提出了人脸表情转移模型GANimation,其以视觉注意力机制为原理,将生成网络分为色彩转移网络和注意力生成网络。

1.2 生成对抗网络

Arjovsky等[18]提出了WGAN模型,利用wassertein距离衡量生成数据分布与真实数据分布之间的距离。它解决了判别网络和生成网络能力平衡问题,使生成图像的视觉质量有所提高,生成结果多样性更丰富。Gulrajani等[19]为了解决WGAN中lipschitz连续性限制性问题,进一步改善了梯度稳定性提出了基于梯度惩罚的WGAN-GP模型。Mao等[20]认为最小二乘法可以将生成图像的分布尽可能的接近目标,并利用最小二乘距离度量构建一个更加稳定而且收敛更快的、生成质量高的对抗网络LSGAN。

2 基于视觉注意力的人脸属性迁移

为减小属性无关区域的变化,本文提出基于视觉注意力机制的人脸属性迁移网络,并采用CycleGAN形式的循环结构解决了未配对数据集带来的训练不稳定问题。独立的生成器GX、GY和独立判别器DX1、DX2、DY1、DY2共同组成了两组GAN网络架构,分别进行特定属性方向的迁移。生成器将图像源域迁移为目标域完成特征映射,判别器本质上是一个二分类网络,判别输出图像的真假。

2.1 注意力机制生成器模型

本文的生成器是基于文献[11]提出的卷积神经网络架构,注意力子网络和图像翻译子网络除最后一层外,共享其余的网络参数,具体结构如图1所示。本文工作以Smiling属性迁移为例,无表情人脸图像和Smile图像分别设为图像域X和Y。生成器GX负责将源域X转移到目标域Y,即GX(X)→Y,生成器GY负责将源域Y转移到目标域X,即GY(Y)→X。

图1 本文模型的生成器结构

生成器GX的编码部分使用了3块卷积-正则-激活的网络模块,其中卷积和为3×3,Batch Normalization作为正则项加速模型收敛。为了使高维特征更好地映射到潜层向量空间,中间层采用4块残差网络块[21]。由于上采样会失去原始数据的信息,相比转置卷积,在解码部分采用了卷积+PixelShuffle的方法减少生成图像的棋盘状多余纹理。在解码的最后一层,本文工作分别采用Sigmoid激活和Tanh激活得到注意力图像Mx和转移RGB图像Rx。最后通过式(1)将原图像Ix、注意力图像和转移RGB图像融合,得到最终的人脸属性迁移图像Ig。

Ig=Rx+Ix×(1-Mx)

(1)

2.2 多尺度判别器模型

判别器作为生成器的博弈对手,不仅要约束和引导生成器生成低频的全局信息,也要让生成图像的高频细节部分更为丰富。本文引用PatchGAN结构[7],并采用多尺度判别器在不同的图像分辨率上判别图像的真假,网络结果如图2所示。

图2 人脸属性迁移的多尺度判别器

判别器网络将输入图像当作马尔可夫随机场,每块区域之间的像素保持独立,可以避免极端输出,而且多尺度的网络结构可以提取更多的局部细节信息。本文使用256×256和128×128两个尺寸送入判别器进行判别。它将输入图像划分为N×N大小的Patch区域,分别对每个Patch区域进行真假判别,最后输出一个二维矩阵,其中每个元素各代表一个Patch区域的平均估计[22]。

2.3 目标函数

GAN模型的训练是生成器G和判别器D之间不断对抗博弈、优化网络参数的过程。与普通GAN模型的对抗损失不同,本文工作用最小二乘损失函数代替原来的交叉熵损失函数,使特征空间中的决策边界也能最小化,进一步提高生成图像的质量。以生成器GX和对应判别器DY1、DY2为例,对抗损失函数如式(2)和式(3)所示。

LGAN(G)=(DY1(GX(x))-1)2+

λ1×(DY2(Gx(x))-1)2

(2)

LGAN(D)=(DY1(y)-1)2+λ2×(DY2(y)-1)2+

(DY1(GX(x)))2+λ2×(DY2(GX(x)))2

(3)

式中:x代表原图像;y代表送入判别器的真图像;LGAN(G)为生成器损失;LGAN(D)为多尺度判别器损失;在训练中,设置参数λ1=λ2=0.5。

未配对的人脸图像翻译中,在指定属性迁移的过程中既要保持人脸的基础结构也要保留人脸的身份信息。本文引入了无监督图像翻译模型CycleGAN的循环一致性损失作为约束。生成器GX(x)生成的结果y′经过另一生成器GY(y′)得到的重构图像应该与x保持一致。即任意图像经过GX得到转移后的图像,再经过GY会返回到原始图像。循环一致性损失Lcyc为:

(4)

在模型训练中,本文工作并没有给视觉注意力一个监督,而是让它在不断地学习中获取。这样,注意力图像很容易饱和到1,导致生成器没有效果。本文采用L2正则化约束注意力图像Mx的生成,损失函数Latt为:

(5)

3 实 验

3.1 数据集预处理

本文采用公开的人脸数据集CelebA作为本文工作的人脸属性迁移模型的训练集和测试集。该数据集有202 599幅包含40种属性标签的名人图片。首先,根据图像的人脸关键点定位对CelebA数据集进行适当的旋转和裁剪,将原始的图像处理为五点对齐的人脸图像,大小为256×256。这种人脸对齐的预处理可以加快生成网络学习图像的数据分布。其次,利用属性标签将数据集中的图像分成正样本组标签为1和负样本组标签为0。正样本组和负样本组就是本文要进行属性迁移任务的源域和目标域。

3.2 实验细节和评估方式

所有实验采用处理器为Xeon E5-2620,内存为64 GB的NVIDIA TITAN XP显卡,64位Ubuntu操作系统,Python 3.6+PyTorch 0.4的训练框架。设置优化器为Adam,学习率为0.000 1,Batchsize为8,迭代次数为40。实验分别训练了表情转移、男女变化、人脸老化模型,部分结果如图3和图4所示。

(a) 输入图像

(a) 输入图像

由于无监督学习生成的图像缺乏真实图像作为评价辅助,本文采用了WD分数[23],即Wasserstein距离作为评价方法。WD分数是计算生成图像的数据分布与真实图像的数据分布之间的差距:

(6)

式中:n是测试集真实图像xr的样本数;m是测试集生成图像xg的样本数;Pr,Pg分别是xr,xg的数据分布;d(·)代表样本间的距离。

3.3 实验对比

人脸属性迁移其实质是一种图像翻译任务,本文选用CycleGAN[9]、UNIT[10]和STGAN[24]三种图像翻译模型,分别在年龄和表情属性迁移上进行实验对比。

从图5的人脸老化实验结果可以看出:CycleGAN模型得到的转移结果较差,仅仅在原图上加了一些噪声没有实现老化的效果;UNIT模型实现了发色的老化,但面部细节的老化不明显,且生成图像模糊;STGAN模型会生成一点面部皱纹,但整体并没有老化感觉;本文方法不仅实现了发色、胡须老化的效果,还生成了眼袋、皱纹这些脸部老化的细节,且生成图像清晰。

(a) 原图像

图6展示了表情属性转移的结果:CycleGAN模型生成的图像表情与原图相似,没有实现微笑到不笑的表情迁移;UNIT模型的结果虽然表情部分实现了迁移,但是整体脸部存在模糊黑影,色调有违和感;STGAN模型生成的图像存在大量棋盘状纹理,图像模糊;本文方法可以不改变无关属性区域,很好地完成表情迁移任务。

(a) 原图像

本文分别对实验对比中的两个属性迁移任务进行FID分数评估。将每个模型生成的人脸老化图像与真实老年人脸图像以及每个模型生成的不笑图像和真实的不笑人脸图像进行整理,得到8个评估数据集。通过计算真实数据分布和生成数据分布的Wasserstein距离得到WD分数。结果如表1所示,WD分数越小,生成数据更接近真实数据,属性转移的效果越好。

表1 人脸属性迁移结果的WD分数

4 结 语

本文提出一种基于视觉注意力机制的生成对抗网络人脸属性迁移算法。针对现有算法的属性无关区域改变问题,生成器引入视觉注意力输出4通道图像:RGB图像和注意力图像,通过融合完成属性迁移任务。为了提高生成图像的质量,丰富人脸细节信息,判别器采用多尺度的PatchGAN网络。训练过程中,为稳定输入人脸的身份信息,专注属性相关区域的迁移,加入循环一致性约束和注意力图像约束。实验对比表明本文算法相比于CycleGAN、UNIT和STGAN,能够降低属性无关区域的改变,提高人脸属性迁移的质量。但是GAN模型训练不稳定,依赖大型数据集训练,这都是现有模型存在的问题,需要今后去解决。

猜你喜欢

人脸老化注意力
适老化理念下的整体橱柜设计创新研究
让注意力“飞”回来
玻璃窗上的人脸
考虑知识老化的知识网络演化模型
考虑知识老化的知识网络演化模型
A Beautiful Way Of Looking At Things
“领家系”可爱脸VS“高冷系”美人脸
杜绝初春老化肌
EXPLAIN详解血液与血管老化问题!
长得象人脸的十种动物