FACE AGING WITH CONDITIONAL GENERATIVE ADVERSARIAL NETWORKS

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011961856/article/details/79037280

文章用于生成不同年龄的图片,采用的模型是条件对抗网络,主要创新点是,首先通过一个网络,提取图像特征向量,并通过身份保持网络,优化图像的特征向量,特到特征向量 z ,之后便可以对于每个输入年龄,查找其年龄向量,并将该年龄向量与输入图片特征向量 z 串联,输入生成网络,生成目标年龄图片.

特征向量优化网络结构如下,

这里写图片描述

网络的训练数据为,输入图像x,以及该图像的年龄 y0 ,对输入图像,将其输入Encoder网络,将图像编码为一个特征向量 z0 .对于特征向量 z0 ,采用身份保持网络,对其优化,特到特征向量 z .之后便可以将特征向量 z 与年龄 y0 输入CGAN(条件对抗网络)的生成网络,得到目标年龄图像.

1.indetiry preserving optimization(身份保持优化)

身份保持的思想是对于同一张图片,不管是任何年龄端,他都是输入同一个人,如果直接采用特征向量 z0 ,重构的年龄图片如下图b.

这里写图片描述

由图b所示,直接采用特征向量 z0 重构的图像,与原图为同一个人的特征损失比较大.因此文章提出了对特征向量 z0 进行身份保持优化,方法为将 z0 输入一个人脸识别网络FR,该网络可以识别输入人脸x的身份,对于输入图像x,重构图像 x ,分别将其输入身份识别网络FR,我们希望其输出尽量接近,也就是识别的身份尽量相同,

这里写图片描述

优化为初始化 z=z0 ,并采用 L-BFGS-B 算法进行后向搜索.图c为采用优化后的特征向量 z 重构的图像,由图可知,优化后的图像与原图身份特征保持更好.

2.CGAN

将优化后的特征向量 z 与年龄向量 y0 作为CGAN的输入,用于训练CGAN.

对于年龄,分为6个年龄段,分别为0-18,19-29,30-39,40-49,50-59,60+,每个年龄端对应一个年龄一个特征向量,具体为一个6维的one-hot向量.

CGAN网络的生成网络G,判别网络D结构与文献15相同,具体可以参考http://friskit.me/2017/04/05/read-paper-unsupervised-representation-learning-with-deep-convolutional-generative-adversarial-networks/.

同时在生成网络的输入,以及判别网络的第一个卷积层,插入条件信息,这里为年龄向量.

不同年龄段生成图片效果:

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u011961856/article/details/79037280