AttGAN: Facial Attribute Editing by Only Changing What You Want
摘要
本文和以往不同之处是attribute classification constraint,用来保证在生成网络的时候,正确的属性转变。 Reconstruction learning,保证改变属性之外的其他属性正常。Adversarial learning (对抗loss)使用来进行视觉编辑。
模型架构图
本文改进点
本文改进点分成三个部分:
- 与以往基于编码与特性依赖不同,本文使用attribute classification constraint方法,来确保目标特性被编写。
- 配合attribute classification constraint ,对抗loss以及重构结构可以使得生成图像具有极高的质量,并且能够保证其他非编辑的属性得到保护。
- 本模型可以进行多脸部特征编辑,且图像的质量要优于以往模型。
AttGAN
其结构是由两个基本的子网络组成,一个是编码器Genc一个解码器Gdec,然后配合属性分类器C以及判别器D。
attGAN测试步骤
- 首先由一个具有n个属性的图片Xa其中a = [a1 ……. an]经过编码器后变为
- 如果需要将Xa的风格转化成目标特性b,那么需要这个目标特性b = [b1….bn] 然后再使用解码器即可
- 所以测试的总体步骤可以抽象如下
attGAN的训练步骤
根据推理过程可知我们主要的训练是针对Genc以及Gdec的,这是无监督的主要是因为我们真正需要编辑成的图片Xb是没有的。
Attribute classifier 用于保证生成的图片Xb具有b的特征。并且adversarial learning 是保证视觉正确性。
在生成图像的时候我们也要求,在对目标属性改变的时候保留原来自有的属性,这些都是通过 reconstruction loss来实现的,这样可以使得decoder在生成图像的时候能够保留更多的原有属性。
Attribute Classification constraint
其中分类设置C使用网络的原始图片以及原始特性进行训练的,
Reconstruction Loss
Adversarial Loss
整体网络的训练损失为
判别器和特征分类的损失如下
里面所有的系数为超参
费改变特征保留
为什么能够保留住非目标特征,本文作者认为,由于重构任务以及特征编辑任务是因为他们的任务十分的相似,并且对decoder有相同的输入输出,所以在任务空间迁移的时候任务代沟不大。
特征风格生成
其他模型对于同一特征类别的多样性的生成,很难做到。比如别的模型只能生成眼镜,不能够生成是太阳镜或者近视镜等,但是本文中的模型可以通过控制器[c1………cn]将控制器与每个特征进行绑定,然后就可以通过实现控制器与生成图片的极大相关来实现,对于每个属性多类别的控制。
特征密度的控制
attgan可以直接进行特整密度的控制,我们训练的时候使用0、1二值,但是测试的时候作者发现,可以在不改变任何结构的情况下,输入连续的值,生成的图像也是自然流畅的。
多结构试验
试用 idp cls adv rec