 论文地址: 来源:CVPR 2021
1. 背景知识
深度人脸属性编辑模型力求满足两个要求:(1)属性正确性——目标属性应该正确出现在编辑后的人脸图像上; (2) 不相关保存——任何不相关的信息(如身份)在编辑后不应更改。
-
现有方法一:基于空间注意力 假设是每个属性都有局部支持区域,可以使用编码器-解码器 GAN 框架的特征图上的注意力模块对这些区域进行建模。 一旦确定了这些支持区域,就可以将图像处理限制在这些区域,从而阻止其他区域发生不必要的变化。 这个假设对于一些局部属性是有效的,比如刘海或眼镜。 然而,当涉及到诸如微笑/性别/年龄之类的全局属性时,它是有问题的,因为支持区域是全局的,并且属性之间的重叠是不可避免的。 -
现有方法二:潜在空间分解为与属性相关的潜在代码 给定一个固定的预训练 GAN,潜在空间向量通过子空间投影映射到每个属性。 但是,这种方法存在两个问题:(a)它依赖于固定的预训练 GAN 来提供潜在空间。 如果没有使用分解模型进行端到端的训练,这个潜在空间可能是次优的。 (b) 在语义标签的引导下,它只能将不同的语义属性相互解开。 然而,人脸图像还有一些其他特征没有用一组预定义的属性来描述,例如身份和光照条件。
相关工作:
- 编辑特征图:STGAN 采用属性差异指标,然后对特征图进行选择性转移 用于属性编辑的编码器-解码器。 MaskGAN 利用输入图像的语义掩码进行保真度保持的灵活面部操作。 WrapGAN学习了用于照片般逼真属性编辑的平滑包裹场。 PA-GAN 和 CAFEGAN 应用空间注意力来获得与属性相关的局部支持区域,然后在这些区域内进行属性编辑。 因此,它们通常更适合局部属性(例如刘海)而不是全局属性(例如微笑)。
- 潜在空间编辑:Fader Network利用对抗性训练从潜在空间中分离出与属性相关的潜在因素/代码。 AttGAN 对属性与 GAN 学习的潜在空间之间的关系进行建模。 GeneGAN 和 ELEGANT 通过交换与属性相关的潜在代码在两个人脸之间交换属性。 InterfaceGAN 和 In-Domain GAN Inversion 专注于通过子空间投影解释 GAN 潜在空间的语义。
本文提出的算法属于第二种。
2. 具体算法
2.1 算法流程
X 和 Y 分别表示真实输入图像的集合和可能域的集合(多个属性的值)。 由于一个属性通常有多个值(即域),Y 的大小大于属性的数量。 例如,给定一组属性{微笑,性别},可能的域集合是{微笑和男性,不微笑和男性,微笑和女性,不微笑和女性}。 对于每个输入/源图像 x ∈ X,其源域(即源属性值)表示为 y ∈ Y。给定目标域 ?y ∈ Y,面部属性编辑模型的目标是训练图像风格 表示为 T 的转换函数,用于合成新的/目标图像 ~x,仅将域从 y 更改为 ~y,但保留与域无关的信息(例如,身份或其他属性)。 这样的人脸属性编辑模型可以正式定义为 ?x = T(x, y, ?y)。
L2MGAN模型由三个模块组成:样式编码器、样式转换器和生成器。为了更容易理解我们的L2M-GAN模型以及符号的简单性,我们设置|Y|=2,即只考虑一个属性。
-
样式编码器:给定一个输入图像x ∈ X,其源域y ∈ Y,我们的样式编码器SE提取的样式代码表示为s = SEy(x) ∈ Rd(下式),其中d是样式代码的维数   -
样式转换器:由样式编码器SE提取的样式代码s ∈ Rd包含输入图像x的丰富语义信息。有些信息与感兴趣的属性相关,而另一些则不相关。因此,有必要对d维潜空间进行因式分解,以将其分解为两个部分。具体而言,样式代码s可以分解为sre ∈ Rd和sun ∈ Rd,其中sre表示与y相关的样式代码,sun表示与y无关/无关的样式代码。由于在编辑过程中仅会转换与域相关的样式代码sre,因此我们必须为目标域?y生成输出样式代码?s,而无需更改输入图像的其他特征。只有当sre和sun解开时,这才有可能。为此,我们在这两个码向量上引入正交性损失。请注意,在以前的基于子空间投影的潜空间分解方法中也利用了正交性 。但是,它们专注于属性之间的解纠缠,而我们将与属性相关的样式代码与不相关的代码 (即,其他所有内容,包括其他属性以及身份信息,照明条件等) 分开。这对于不相关的保存至关重要,因为其他属性不会覆盖输入图像的所有不相关信息。   P用于提取无关属性。 -
生成器:StarGAN v2

2.2 损失函数
-
对抗性损失:  -
循环一致损失: 由于缺乏配对的参考图像(例如,同一个人既微笑又不微笑)作为监督,我们选择利用循环一致性损失  -
样式重构损失:为了更好地学习用于图像合成 w.r.t. 的风格编码器 SE 和生成器 G。 对于样式代码 ?s,我们对从 ?x 中提取的样式代码施加了样式重构约束  -
图像感知损失:F来自ResNet18  -
正交性损失:为了保证样式代码 sun 与 sre(或 ?sre)正交,我们定义了正交性损失来直接衡量它们之间的依赖关系  总体损失: 
2.3 应用
- 不同强度编辑
属性相关的样式代码:sre 方向:~sre-sre   - 使用给定图像操作
源图像:xs,域y,风格编码ss 参考图像:xr,域~y,风格编码sr 
3. 实验
数据集:CelebA-HQ
3.1 定性实验

3.2 定量实验
两个评估指标:属性操作准确性和生成图像的质量。 此外,还提供用户研究结果进行主观评价。
- 属性操作精度
属性操作精度用于评估特定属性在操作后是否正确出现在生成的图像上。 为了获得这个精度,我们使用 ResNet18 在训练集上为微笑属性训练了一个二元分类器,它可以在测试集上达到 95% 以上的预测精度。 表 1 显示我们的 L2M-GAN 在此归因正确性度量上优于所有竞争对手,尽管在训练我们的模型时没有使用属性分类器。 StarGAN 实现了相对较高的属性操作精度,但代价是图像质量下降(见下一段)。 PA-GAN 的准确率最低(只有 48.2%),表明 PA-GAN 在编辑如此具有挑战性的属性时对图像的修改不足。 
- 图像质量
我们采用FID]来评估生成的图像的质量。FID是在训练集中的真实图像与生成的图像(由所有测试图像合成)的分布之间的计算。表1显示了五种比较方法和我们的L2M-GAN的FID得分。我们可以观察到,我们的L2M-GAN具有最好的平均FIDscore值,这表明它可以生成出质量最高的图像。特别是,我们的L2M-GAN比所有的竞争对手都有了显著的改进。更多关于其他属性的定量结果可以在补充材料中找到。
- 用户研究结果
我们还进行了用户研究,以评估人类感知下的属性编辑结果。 具体来说,我们将添加微笑和去除微笑作为两个编辑任务,并为每个任务随机选择 50 张测试图像(所有方法使用相同的设置)。 对于每张测试图像,要求 10 名志愿者在所有方法获得的图像中选择最好的生成图像,根据:1) 属性是否被正确操作; 2)无关区域是否保存完好; 3)生成的图像是否自然逼真。 因为操纵微笑属性非常具有挑战性,我们还提供了“这些方法都没有表现好”的选择,以避免出现没有人可以很好地操纵属性而志愿者必须选择最好的情况。 为了公平比较,不同方法生成的图像以随机顺序显示。 表 2 显示了所有 10 名志愿者的平均用户研究结果。 可以清楚地看到,我们的 L2M-GAN 在用户研究中明显优于竞争对手。 
3.3 消融实验
消融研究以显示我们的感知损失和正交性损失的贡献 (1) BL (Baseline) – StarGAN v2; (2) BL+PL – 带有感知损失 (PL) 的 StarGAN v2; (3) BL+PL+OL (Single) – StarGAN v2 的感知损失和正交性损失只有方程的第一项。 (4) BL+PL+OL (Inner) – StarGAN v2,感知损失和正交性损失具有方程的两项。 (5) BL+OL (L1) – StarGAN v2 只有正交性损失具有方程的两个 L1norm 项。 (6)我们完整的 L2M-GAN 可以表示为 BL+PL+OL (L1),即 StarGAN v2,其感知损失和正交性损失具有方程的两个 L1 范数项。  eq6是正交损失函数
3.4 其他属性操作任务的结果
-
属性强度操纵  -
使用参考图像进行操作  -
多属性操作  -
动漫人脸操作的泛化 
总结
我们的主要贡献有三方面: (1) 我们首次提出了一种端到端的 GAN 模型,即 L2MGAN 用于面部属性编辑,方法是将 GAN 的潜在空间向量显式分解为属性相关和不相关的代码 . (2) 为了便于潜在空间分解,我们设计了一种新颖的转换器,通过在编辑/转换之前和之后对分解的属性相关和不相关代码施加正交性约束。 (3) CelebAHQ [23] 上的大量实验表明,我们的 L2M-GAN 比最先进的技术取得了显着的改进。 重要的是,一旦学习,我们的 L2M-GAN 就可以广泛用于其他属性操作任务(例如,属性强度操作和使用参考图像的操作)而无需重新训练,并且还可以很好地从照片泛化到动漫人脸。
我们在 GAN 中提出了一种基于潜在空间分解的新型面部属性编辑模型。 所提出的 L2M-GAN 是第一个基于潜在空间分解的用于面部属性编辑的端到端 GAN 模型,对局部和全局属性编辑均有效。 这是由于一种新型的转换器,它通过在转换之前和之后强制执行正交性,将潜在代码分解为属性相关和不相关的部分。 大量实验表明,我们的 L2M-GAN 比最先进的技术取得了显着的改进。
|