APP下载

基于对抗网络的图片生成

2020-01-16田宇昊黄元

电子技术与软件工程 2019年22期
关键词:流形年轻化编码器

文/田宇昊 黄元

1 引言

对于面部图像的老化与年轻化,现有研究工作要求测试的人脸图像也要进行年龄标记。

这种研究方法受限时间跨度大,成本高;有时面部特征形成严重伪影,平滑了阴影效果。

本文中,我们将在保留面部特征前提下,获得不同年龄人脸图像,提出让条件对抗自动编码器(CAAE)网络学习人脸流形,灵活地实现年龄的“老化”和“年轻化”。

图1中,蓝色区域为假设流形,曲线为流形上对年龄的遍历,线段点表示所取某几个年龄段的人脸图像。

2 相关工作

2.1 面部的“老化”与“年轻化”

大多数人脸“年轻化”都是基于物理模型的,难以实现逼真“年轻化”预测。

2.2 生成对抗网络

GAN 在图像生成方面同时训练两个模型:生成模型G 和判别模型C。在两者对抗过程中,模型生成图像的效果会越来越好。

必须确保输出面部图像看起来和输入像是一个人的。

3 流形上的遍历

如图2,纵坐标表示编码器生成的表示人脸特征的向量z,横坐标表示能代表年龄的向量x(one-hot code)。然后控制个性不变,改变年龄,然后把[z,l1],[z,l2],[z,l3]映射到高维流形,完成了在高维流形的遍历。

4 条件对抗式自动编码器

先介绍CAAE 的各个部分的原理,再从结构、效果等方面比较与传统对抗生成模型的差异。

4.1 自动编码器AE

这里我们需要128*128 的RGB 图像通过自动编码器转化包含了图像高维特征的向量z。先对128*128*3 的图像数据进行四层卷积,给其加上表达年龄信息的向量l(one-hot code),这样[z,l]就包括了个性特征信息与年龄信息。

4.2 编码器生成编码上的判别器Dz

Dz的任务是检验生成的编码z 是否服从均匀分布。如图2左图。图2:图中从Z1点到Z2点的转换,使得对应z 丧失了表达特定人脸特征的功能。

如图2,那么从Z1 到Z2 的转换就会平滑的多。

图2:没有判别器时,从Z1 到Z2 的转换过程中出现的许多空白区域。

4.3 生成器G

在得到了[z,l]之后,通过四个反卷积层把数据还原为128*128*3 的格式,并转化为图像。

4.4 生成器生成图像的判别器Dimg

图3展示了这种区别:第一列是真实的人脸与年龄,上面一行是没有Dimg的,下面一行是有Dimg的。可以明显看出,有Dimg的更加清晰真实。

4.5 同传统对抗生成模型的差异

与传统GAN 主要的不同是,对编码器生成编码施加了一个判别器。

5 实验与结果讨论

本文试验操作系统Windows10 专业版,基于Tensorflow-gpu 框架,版本1.80,编程语言为Python3.6,Numpy 版本1.14,Scipy 为1.10版本。使用的数据集为UTKFace,含23708张大小为200*200 的人脸图像,年龄跨度从1到116 岁。训练过程均在GTX1060 显卡运行,cuda 版本9.2。

5.1 用数据集内图像测试

我们先从数据集内采集各个年龄段的人脸图像进行测试,每次生成十张图片的测试结果,且分别会将人像识别为男性和女性来生成不同的图片,如图4-图7。

大多数CAAE 生成的图像非常逼真,模型十分成功。

5.2 用数据集外图像测试

为了验证CAAE 泛化能力,我们从互联网上下载了20 张人脸色与背景色区分度较高裁剪为200*200 的大小,作为测试图像进行测试。

5.3 下一步研究的展望

本次训练所使用数据集中90%是60 岁以前面部图像,下一步可考虑更大数据集来丰富较高年龄段中的人脸图像。另外,测试其他图片发现,网络对人脸不太敏感,可考虑增强生成图像上的判别器Dimg对人脸器官识别的敏感度。

图1

图2

图3:有无生成器生成图像判别器对比图

图4:20 岁-识别为女性

图5:20 岁-识别为男性

图6:40 岁-识别为女性

图7:40 岁-识别为男性

猜你喜欢

流形年轻化编码器
紧流形上的SchrÖdinger算子的谱间隙估计
迷向表示分为6个不可约直和的旗流形上不变爱因斯坦度量
Nearly Kaehler流形S3×S3上的切触拉格朗日子流形
基于FPGA的同步机轴角编码器
康宝莱 推进品牌年轻化
直销年轻化战略
基于PRBS检测的8B/IOB编码器设计
JESD204B接口协议中的8B10B编码器设计
基于多故障流形的旋转机械故障诊断
多总线式光电编码器的设计与应用