APP下载

基于生成对抗网络的多属性人脸图像生成*

2021-09-15张皓周凤

计算机与数字工程 2021年8期
关键词:人脸标签样本

张皓 周凤

(贵州大学计算机科学与技术学院 贵阳 550000)

1 引言

人脸图像生成是计算机图形学与计算机视觉领域中的一个重要问题。人脸图像生成在电影特效,平面设计,计算机艺术等多个领域有丰富的应用。自2014年生成对抗网络(GAN)由Goodfellow等[1]提出后,基于该网络的模型就成为了人脸图像生成研究的热门方向。人脸图像的生成分通常为两种途径[2]:一种是无条件输入的生成,即生成对抗网络通过无监督的方式学习从低维潜在空间向高维图像的映射,由于使用者无法得知低维潜在空间与高维图像之间的具体映射关系模型只能随机的生成图像。例如将一个128维的高斯分布输入模型输出一张人脸图片。而另一种则是有条件输入的生成,通常是给定一个或多个条件,引导模型生成满足给定条件的人脸图片。例如输入一张侧脸的图片经过模型输出一张正脸的图片[3]。实现多属性人脸图像生成需要依靠第二类模型。

关于第二类模型,最早的研究是Mirza等[4]提出的CGAN,CGAN将标签信息作为输入放入生成与判别网络,以引导网络生成符合条件的数字图片。Xi Chen等[5]提出InfoGAN通过将带有先验分布的向量c输入网络,使网络自动的将生成的数字图片的倾斜度,粗细等特征与c相关联,以赋予模型控制数字图片倾斜度,粗细等属性的能力。ZHANG等[6]提 出StackGAN,该 网 络 尝 试 解 决CGAN无法生成高分辨率图片的问题,其核心思想就是搭建两个生成网络,第一个网络结构与CGAN类似,生成指定条件的低分辨率图片,然后把第一个网络的结果放入第二个网络中,以生成高分辨率的图片。鲍建敏[7]提出CVAE-GAN,通过将条件变分自编码器与生成对抗网络相结合,相比原版CGAN能生成多样性更高的图片。L Wan[8]提出FM-GAN,该模型设置两个共享参数的判别网络,可以以性别,种族,年龄为条件生成不同属性的人脸。

传统的第二类模型存在两个不足:一个是控制生成人脸图片的属性时,不能有效地保持图片特征,图片中其他不相关的特征也会被改变。造成这一不足的原因通常是由于模型没有正确的学习到人脸的某一属性与人脸图片上的具体特征的关系。另一个则是此类模型在多属性生成任务上性能不佳。造成这一不足的原因是现有的模型对数据集应用的灵活度不高,模型使用者无法针对性的调整数据集分布,导致样本属性不均衡显著地降低多属性图片能力。

针对以上两点不足,论文提出了基于特征保持的条件生成对抗网络,针对第一类问题提出基于类激活映射的损失惩罚项,以保证改变图片属性时,与属性无关的信息不被改变。针对第二类问题提出了通过改变潜在空间表示来控制图片属性的方法,使模型能更灵活地使用标记数据。

2 基于特征保持的条件生成对抗网络

论文提出的框架包括四个部分,见图1:生成网络G,判别网络D,编码网络E,分类网络C。

图1 网络框架示意图

生成网络G接受输入潜在空间表达z并得到输出人脸图片x'=G(z),它学习从潜在空间z向真实图像x的映射。判别网络D对输入的真实图片x和生成图片x'进行二分类。生成网络与判别网络的性能决定了生成图片的质量,论文的生成网络与判别网络将使用类似PGGAN[9]的从低分辨率到高分辨率逐级训练方法,这种训练方法在生成高分辨率图片上性能优秀。编码网络E是将潜在空间表达z和标签y输入后得到z到z'的度量δ,其中z'是可以生成包含标签y的图片的潜在空间表达,即z'=G(-1)(C(-1)(y)),通过将δ与z叠加,再输入生成网络G即可以生成包含标签y特征的图片。分类网络C是将输入的真实图片x或生成图片x'进行分类,同时,抽出分类网络中间层的梯度通过计算获得图片的类激活映射(Class Activation Map)[10],用来针对性地约束生成图片x'的特征。

2.1 渐进式训练生成对抗网络

在早期的生成对抗网络的研究中,很难生成高分辨率的图片,且图片真实度不高。PGGAN提出从低分辨率到高分辨率逐级提升分辨率的训练方法,生成的图片分辨率达到了1024×1024。如果不采用逐级训练的方法来训练生成如此高分辨率图片的生成对抗网络,成功率不高,且训练速度非常缓慢,原因是高分辨率下的真实图片的分布非常复杂。

具体的训练过程见图2,模型的训练开始于4×4像素的低分辨率的生成网络与判别网络。随着训练的持续进行,将逐渐向生成网络与判别网络中增加卷积层,进而增加生成图片的分辨率。

图2 渐进式训练生成对抗网络

同时,因为网络层数的突然变化会造成模型的不稳定,这会影响模型训练效率,乃至使模型崩溃。所以卷积层的增加时,需要保持平滑的过程。

如图3所示,以从4×4分辨率转换到8×8分辨率的过程为例。在(b)过程中,将高分辨率的层视为一个残差块,将低分辨率部分的输出视为残差,将残差块的输出与残差叠加。使用权重α来平滑这个过程。当α=0时,相当于过程(a),也就是高分辨率层未添加前;当α=1时,相当于过程(c),也就是高分辨率层已经完全添加。权重α从0到1逐渐增长,使训练过程保持稳定。

图3 网络层数增加时的平滑过程

2.2 通过改变潜在空间表示来控制人脸图片属性

在生成网络与判别网络训练完成后,模型已经可以生成高质量的人脸图像,但还不具备控制生成图片属性的能力。论文提出通过改变潜在空间表示来控制人脸图片属性的方法。

传统的条件生成对抗网络,其控制生成样本属性的方法,是在生成网络与判别网络学习真实人脸图片分布时,同时学习标签c与人脸图片中特征的映射关系来实现的。但这种结构对数据集的使用不灵活,在多属性人脸生成任务上,会因为训练样本分类属性不平衡,导致不能正确地学习到图像特征与标签的映射关系。举例来说,Celeba数据集中,性别这个属性的正例与负例的数量比例接近1∶1,是均衡的,通常模型可以较好地学习到正例和负例的区别。但是否带眼镜这个属性,正例和负例的数量比例约1∶6,属于不均衡数据。在这种情况下,模型经常会简单地判断所有图像都是负例,因为即使所有图片都判负例,模型也有86%的正确率。只有对数据集进行处理之后,如删掉大部分负例使数据比例平衡,模型才能正确地学习到图像特征与标签的映射关系的。但是另一方面,生成对抗网络需要通过学习大量的无标记数据来保证生成样本的多样性。这就使得要生成多属性的人脸图像变得困难,尤其是包含一些数据属性不平衡的标签时。

针对这一难点,论文采用将生成高质量的人脸图片,与控制人脸图片特征的任务分离出来。

图4展示了在两张生成图片所对应的潜在空间表示z,z'之间进行插值的过程。使用权重α控制插值的强度。可看出生成的人脸图片随着α的连续变化,在两张图片间连续变化。这表明从潜在空间z到图片x=G(z)的映射具有连续性。

图4 在两张图片的潜在空间表示间插值

而图5所做的工作是将一张生成图片x=G(z)的潜在空间表示z叠加一个相同维度的高斯分布的噪声δ,再将新的潜在空间表示z'输入到生成网络G中,实验结果显示,生成的图片G(z')仍然服从人脸图片的分布,并且在保持人脸的关键属性(如五官的尺寸和位置)的情况下,带来了一下细节上的变化,如肤色,发量,发色,性征等。这个实验证明了z到G(z)的映射在各方向都是稠密的。

图5 向图片的潜在空间表示叠加随机噪声

Andrew Brock等[11]的研究与Mario Lucic等[12]的研究也表明,成功训练的生成网络生成的样本在分布上接近于训练集真实样本的分布,从数学意义上构成一个连续稠密的流形。

基于前面两个实验结果,论文提出通过改变潜在空间表示来控制人脸图片属性的方法。其思想是将控制图片属性的能力从生成网络中抽出,生成网络与判别网络专注提升生成图片的真实度,而通过增加编码网络E和分类网络C,就能通过影响潜在空间来控制生成样本的属性。

编码网络E的训练过程如图6所示。将一个潜在空间表达z和标签y输入到编码网络E,输出一个向量δ,δ是z到z'的度量,其中z'是可以生成包含标签y的图片的潜在空间表达。通过将δ与z叠加得到z',将z'输入生成网络G,再将G输出的图片x'输入分类网络C,得到标签y'。最后将y'与y输入损失函数,将损失的梯度由反向传播传回E,以更新E的权重。

图6 编码网络E的训练过程

编码网络损失函数的数学表达如下:

2.3 通过类激活映射惩罚项保持生成图片特征

经过前文训练的模型具备了依照输入的标签y生成符合人脸图片的能力。但经过模型生成的图片x'=G(z'),与原始的x=G(z)差异过大,失去了原有的特征。如图7。

图7 未进行特征保持生成的图片

图7左边为由两个潜在空间表示z输入G中随机生成的图片x,右边为编码网络输出的向量δ与z叠加后的z'输入G中生成的包含标签“戴眼镜”的图片x'。虽然x'确实包含了戴眼镜的属性,但是与原图x相比,与戴眼镜不相关的属性也被改变了。

而理想的效果应该是与标签相关的特征被改变,而无关的特征则保持不变。论文通过为编码网络的损失增加一个惩罚项P来实现:

而带惩罚项的编码网络损失函数如下:

类激活映射的示意图见图8。通过一个判断是否带眼镜的分类网络从中间层抽出激活值,经过类激活映射计算得到了类激活映射图,在类激活映射图中,其中的元素值的大小与输入图片各像素对分类网络的激活程度相对应,激活程度越高,则元素值越高,在激活映射图中的色调越暖,激活程度越低,则元素值越低,在激活映射图中的色调越冷。可以看出在这张人脸图片对应的类激活映射图中眼镜部分激活程度高,色调偏暖,而其他部分则激活程度低,色调偏冷。类激活映射图能够有效的求出图片中与标签c对应的属性的位置。

图8 类激活映射示意图

3 实验设置与分析

论文中模型在ffhq,CelebA上数据集上进行了验证。

CelebA数据集是由香港中文大学[13]制作的人脸图片数据集,包含21万张人脸图片,图片为178*218像素的RGB图片。CelebA拥有丰富的标记,包括图片中人脸的40种特征,以及人脸关键点坐标。在本实验中CelebA数据集中的图片将以人脸的鼻尖为中心缩放裁剪为128*128像素后作为训练样本。

ffhq数据集是由Nvidia公司制作的人脸图片数据集,包含7万张人脸图片,图片为128*128像素的RGB图片。与CelebA不同,ffhq数据集是专门用于人脸生成任务的数据集,其中的图片具有更高的饱和度,也没有CelebA中为了增加分类器鲁棒性而添加的图像噪声,同时这个数据集是无标记的。

由于ffhq的人脸图片没有属性标记,故模型中的分类网络将使用CelebA数据集进行训练。

3.1 评价标准

论文将对生成的人脸图片样本,进行两方面的定量评价。一是评价包含某标签c的生成样本,与包含同样标签的真实样本,在分布上的距离。针对第一种属性,论文引入FID(Fréchet Inception Distance)作为评价指标。FID是由Heusel et al.(2017)最先引入[14]并用来评估GAN的度量方法。在FID中,首先使用inception network分别提取真实样本与生成样本中间层的特征,然后使用一个均值为 方差为C的正态分布去模拟这些特征的分布,最后计算真实样本与生成样本在特征分布层面的距离。

FID值越低则说明生成样本与真实样本的特征分布约接近。其数学表达如下:

Tr表示矩阵对角线上元素的总和,矩阵论中也称之为“迹”。μr为真实样本的特征均值,μg为生成样本的特征均值,Cr为真实样本的特征协方差矩阵,Cg为生成样本的特征协方差矩阵。

二是判断经过潜在空间控制后转变属性的图片与转变前的图片是否保持了特征。针对第二种属性,论文引入FaceNet-Distance[15]对两张图片进行人脸相似度比较。FaceNet-Distance通过CNN将人脸映射到欧式空间的特征向量上,计算不同图片人脸特征的距离来判断人脸的相似度。FaceNet-Distance值越低则说明两张人脸图片在欧式空间的特征向量上的距离接近。

3.2 实验结果与分析

图9和图10展示了基于特征保持的条件生成对抗网络在CelebA数据集和ffhq数据集上通过控制潜在空间生成的多属性人脸图片。

图9 CelebA数据集上的多属性人脸图片生成

图10 ffhq数据集上的多属性人脸图片生成

可以看出,在CelebA和ffhq数据集上都有效地完成了多属性人脸生成任务。两个数据集的实验结果都显示,在通过操作潜在空间改变生成图片属性时,模型有效地进行了特征保持。而在ffhq上的实验结果显示模型灵活的使用了标记数据,利用图像质量更好的ffhq数据集有效的训练了生成网络与判别网络,利用CelebA数据集训练了分类网络,这是传统条件式生成模型不容易做到的。

表1反映了生成数据集在属性变化和特征保持的性能。

表1 实验结果统计

从表中可以看出在多属性人脸生成任务中,论文模型相比传统的cGAN模型,在FID与Facenet-distance上都有更好的表现,这说明论文模型生成的图片有更好真实性,在控制人脸图片属性时更好的保持了人脸特征。

4 结语

传统生成网络模型在多属性人脸生成任务中存在两个不足,一是控制生成人脸图片的属性时,不能有效地保持图片特征;二是现有的条件式生成对抗网络由于数据集应用不灵活,造成在不平衡数据上进行多属性人脸生成时表现不佳。针对这两点不足,论文提出了一种基于特征保持的条件生成对抗网络。通过改变潜在空间表示来控制图片属性以及基于类激活映射的损失惩罚项来生成多属性的人脸图片。通过实验验证,模型可以有效地生成多属性人脸图片,并保持图片的特征。在未来的工作中,将尝试在更高分辨率的人脸图片上进行多属性生成实验。

猜你喜欢

人脸标签样本
有特点的人脸
玻璃窗上的人脸
规划·样本
不害怕撕掉标签的人,都活出了真正的漂亮
随机微分方程的样本Lyapunov二次型估计
“领家系”可爱脸VS“高冷系”美人脸
让衣柜摆脱“杂乱无章”的标签
科学家的标签
科学家的标签
基于支持向量机的测厚仪CS值电压漂移故障判定及处理