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

损失函数

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

数据集

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

你可能感兴趣的:(AttGAN: Facial Attribute Editing by Only Changing What You Want)