Learning Face Age Progression: A Pyramid Architecture of GANs笔记

概述

 Learning Face Age Progression: A Pyramid Architecture of GANs笔记_第1张图片

这是一篇cvpr2018的oral文章,大体内容是用时下非常流行的GAN网络做人脸的年龄老化图片生成,主要的贡献点在于:

1、同时解决了生成图片年龄准确性和个人信息保留两个核心问题。

2、在实验过程中注意到了人脸前额和头发的保留能提升实验结果,于是采用完整的而非裁剪过的图片作数据集。

3、在各个数据集上取得了很好的效果,并在图片有遮挡,化妆的情况下表现出很强的鲁棒性。

显然整篇文章的核心还是在于第一个贡献点。

方法

我认为文章提出的方法主要有两个亮点,一个是多loss,GAN网络的loss+个人信息保留的loss+pixel的loss,

另一个则是判别器的多尺度提取特征,也就是文章标题的金字塔结构。

 Learning Face Age Progression: A Pyramid Architecture of GANs笔记_第2张图片

生成器

生成器的结构比较简单,先encode再decode的一个U型结构,三层卷积层,四层残差,最后三层转置卷积,每一层卷积层后都接一个BN和ReLU,并且整个网络都没有pooling层,而是用大小为3,步长为2的卷积层下采样,这些都是目前CNN的常规配置。

生成器的loss由三部分组成:

LG = λaLGAN G + λpLpixel + λiLidentity

GAN的部分并没有采取常规的log形式,而是用Least Square的形式,其实还可以尝试Wasserstain,应该是比较实验结果后作的取舍。

pixel部分比较普通,就是每个像素的平均欧几里得距离,identity部分借用了一个提取人脸特征表现很好的网络,deep face descriptor,对原图和生成后图片的人脸特征计算欧几里得距离.

判别器

判别器中有两个负样本,分别是生成的图片和真实的老化图片,正样本是年轻的图片,也就是说判别器是一个三分类器,这比原先的一个正样本,一个负样本性能要提升不少。

判别器的结构是金字塔形,首先它的主体是一个预训练的vgg16,接着它从2,4,7,10四层中提取feature map,并分别经过不同的卷积层得到分类结果,拼接起来得到12*3的最终结果和label进行比较。这样一种多尺度的提取特征方式使得每个尺度都可以选择自己着重观察的特征,fusion的思想使结果更为准确。

 Learning Face Age Progression: A Pyramid Architecture of GANs笔记_第3张图片

实验

这篇文章的实验非常充分,对于年龄的准确性,个人信息保留程度以及金字塔结构的贡献都做了大量的实验,所用的数据集为fg-net,morph和CACD.

总结

这篇文章的核心思想是多loss,多尺度,实现过程中灵活借用了前人预训练的网络:提取年龄特征的vgg16和提取人脸特征的deep face descriptor,采用的GAN网络可以看作Least Square GAN和DCGAN的结合,这几点都很值得借鉴学习.

你可能感兴趣的:(Learning Face Age Progression: A Pyramid Architecture of GANs笔记)