AttGAN: Facial Attribute Editing by Only Changing What You Want

AttGAN: Facial Attribute Editing by Only Changing What You Want

paper motivation

与starGANZ几乎同时间发表的另一篇人脸属性多领域迁移的论文。使用一个统一的框架进行人脸属性的迁移。
demo:https://www.youtube.com/watch?v=gnN4ZjEWe-8

主要贡献:

1.通过将latent representation与属性结合(将目标属性和encode输出结合),这样将属性和latent representation分开可以使迁移后的属性更加准确。
2.采用了属性分类误差,重构误差,对抗学习误差。与starGAN一样。
3.多领域的转换只需要一个网络模型。与starGAN一样

主要思想

AttGAN: Facial Attribute Editing by Only Changing What You Want
如图网络结构:
在测试时,给定一张输入图像xa\mathbf { x } ^ { \mathbf { a } }和N为的属性bb然后通过得到z=Genc(xa)\mathbf { z } = G _ { e n c } \left( \mathbf { x } ^ { \mathbf { a } } \right)。再将zz和属性bb结合,通过解码器进行图像的生成。
在训练阶段首先对图像进行编码得到zz,然后将zz和目标属性结合通过解码器输出xb^\mathbf { x } ^ { \hat { \mathbf { b } } },并计算分类误差和对抗误差。同时zz也和输入图像的原有属性aa进行结合,通过共享解码器的权重参数,输出图像xa^\mathbf { x } ^ { \hat { \mathbf { a} } },并计算重构误差。
这里作者只是对zz进行了重构,而没有像以前的对xb^\mathbf { x } ^ { \hat { \mathbf { b } } }进行重构会xx,作者猜测是让网络对人脸细节的重构只关注于属性的变化,因此能够只改变属性部分。

损失函数

Attribute Classification Constraint
使用交叉熵进行属性分类误差
AttGAN: Facial Attribute Editing by Only Changing What You Want
Reconstruction Loss
计算L1误差。
AttGAN: Facial Attribute Editing by Only Changing What You Want
Adversarial Loss.
WAGN_GP
AttGAN: Facial Attribute Editing by Only Changing What You Want
Overall Objective
AttGAN: Facial Attribute Editing by Only Changing What You Want
在现有的框架中,属性迁移是离散的,迁移后的风格是不可控的。例如将不带眼镜的人脸迁移到带眼镜的,我们更加关心的是怎么控制迁移到带薄边眼镜,还是带太阳眼镜。这里作者在网络上拓展了一个属性风格操作。
引入了θ\theta,θ\theta也是N维的和属性相关,通过设置不同的强度,得到不同的属性风格,同时也计算属性分类。
AttGAN: Facial Attribute Editing by Only Changing What You Want

数据集

数据集是在公开数据集celebA数据集上。
代码公开。