S2FGAN: Semantically Aware Interactive Sketch-to-Face Translation
我们的方法只需指定要更改的属性,就可以操作单个或多个人脸属性。
生成性对抗网络[7]是一种新兴的图像合成技术,在图像到图像(I2I)的翻译中取得了巨大成功。现在,通过使用条件GANs学习像素对应关系,从草图生成照片逼真的人脸成为可能。 尽管这些技术仍然成功地让新手艺术家从草图中恢复人脸,但它们往往无法控制特定面部属性的强度。
本文研究了GAN模型如何提高此类用户从简单草图编辑属性的可解释性和灵活性。
- 现有方法在输入为照片逼真的人脸时执行属性编辑[4,9,22,18,29]。这些方法无法在缺少照片真实感图像作为输入的情况下工作。
- 尽管这些方法可以成功地从照片级真实感人脸中添加或删除属性(如年龄、性别、胡须),但它们无法提供足够的措施来控制属性的强度
对于从草图到人脸的生成,方法广泛使用编码器-解码器GAN结构[31,20,3]。
For attribute editing on the generated face, we per- form conditional manipulation of desired facial attributes without affecting the rest attributes of interests
对于人脸生成的属性编辑,我们对所需的人脸属性执行条件操作,并且不影响其他属性。
- 我们提出了S2FGAN框架,用于草图到图像的转换,该框架具有人脸重建、属性编辑和属性强度的交互操作功能。我们的模型可以处理单属性和多属性的编辑和操作问题。此外,用户可以仅通过指定/更改目标属性(语义)和保留人脸身份来控制属性的强度。
- 为了提高草图到图像的翻译质量,我们提出了一种语义层面的感知损失。我们的属性编辑模型使用潜在的语义丢失,它以更广泛的控制、多样性和平滑度校准人脸属性。
- 我们比较了最先进的草图到图像转换模型和属性编辑模型(AttGAN[9]、STGAN[22]和替代基线)(DeepFaceDrawing[3]、DeepFacePencil[20]、Deep[33]、Pix2PixHD[31])。我们的模型能够通过检测所需的面部结构(见图3)来翻译绘制糟糕的人体草图,然后执行属性编辑和强度控制。
Sketch-to-Image Generation.
然而,他们没有考虑通过包括来自用户的语义描述来改进生成过程。因此,它们无法控制图像属性的多样性。本文旨在通过提供控制属性强度的机会,帮助草图到图像生成过程。
Attribute Editing.
基于关键字的编辑的一个已知问题是,它需要手动指定要编辑和保留的两个属性。
最近,STGAN[22]通过改进AttGAN的生成过程[9]解决了这个问题。然而,他们没有考虑通过涉及语义属性来辅助各种图像到图像翻译问题的生成过程。
Method
Attribute Editing on Latent Code
属性编辑与保留身份可能是一个悖论
有两种属性编辑的方法:
-
我们学习了一个分离的潜在空间,它的集合A中的所有属性彼此正交。通过简单的添加来编辑中的属性子集不会影响其他属性。 -
属性编辑可以通过语义分解来完成。
在集合A中的所有属性都要相互正交,编辑一个属性则不会影响其他的属性。
我们可以操作一部分属性在
S
+
S^+
S+里面,并且保留其他的属性在
S
?
S^{-}
S?
S2FGAN Framework
S2FGAN由4个部分组成:
E
i
E_i
Ei?图像潜层编码器、
E
s
E_s
Es?草图潜层编码器,
M
M
M属性映射网络,
D
D
D风格识别解码器,
F
F
F一个判别器
我们用
G
i
G_i
Gi?和
G
s
G_s
Gs?表示重构图像分支:
D
(
M
(
E
i
(
I
g
t
)
,
a
)
)
D(M(E_i(I_{gt}),a))
D(M(Ei?(Igt?),a))
和素描到图像的分支
D
(
M
(
E
s
(
I
i
)
,
a
)
)
D(M(E_s(I_{i}),a))
D(M(Es?(Ii?),a))
编码和操作潜层代码,我们的解码器和判别器采用styelGAN作为骨架。
Encoder
素描往往无法描述这样的面部纹理。 为了解决这一问题,我们设计了一种图像潜在编码器 。用
E
i
E_i
Ei?图像潜层编码器、
E
s
E_s
Es?草图潜层编码器,去辅助构造草图生成一个真实的图像。我们的编码器是一个简单的ResNet。
考虑到不同的人脸属性需要不同大小的卷积特征图,我们在每次下采样操作之前将特征图合并并将汇总后的特征传递给多层感知器(MLP) 。
然后,我们对来自不同编码器层次结构的处理特征求和,并通过另一个MLP细化这些特征 。这些操作可以让编码器从空间中识别人脸特征。苍白皮肤将更合理的出现在编码器的早期卷积特性中。
Attribute Mapping Network.
一些方法通过使用铅笔素描作为输入来编辑照片真实感人脸的属性[13,33]。其他人则通过关键词描述(例如男性和年轻人)编辑面部属性[4,9,18,22]。由于它需要较少的手动交互,本文将探讨后一种方法。
基于关键字的编辑的一个老生常谈的问题,它需要手动指定要编辑和保留的两个属性
最近,STGAN[22]通过改进AttGAN的生成过程来解决这个问题
然而,他们没有考虑通过涉及语义属性来辅助各种图像到图像翻译问题的生成过程。
在另一项工作中,InterfaceGAN[29]通过编辑StyleGAN[15]或PGGAN[14]中提出的潜在代码,成功地控制了不同的图像生成。它们的GAN反演结果很弱,并且缺乏对不希望更改的多个属性的分析和保留效果。
通过补偿草图、面具等有限的表现力,可以帮助用户表达他们的抽象想法。
我们使用引理3.1和引理3.2描述了属性映射网络的两个不同版本。
在通过确保感兴趣的属性语义相互正交来分离它们之后,属性编辑任务变成了一个简单的加法操作。
我们按照图2(a)中的等式6进行属性编辑
fig 2
r
i
′
=
r
i
+
∑
j
∈
[
1
…
∣
A
∣
]
a
j
w
j
\mathbf{r}_{i}^{\prime}=\mathbf{r}_{i}+\sum_{j \in[1 \ldots|\mathbf{A}|]} a_{j} \mathbf{w}_{j}
ri′?=ri?+∑j∈[1…∣A∣]?aj?wj? (6)
这个嵌入层Direction(图2中的方向)也可以是属性超平面
[
w
1
…
w
∣
a
∣
]
[w_1…w _{| a |}]
[w1?…w∣a∣?]的副本。
δ表示多层卷积块,用于建模语义分解.
b
i
=
δ
(
concat
?
(
e
?
a
,
r
i
)
)
,
c
i
=
Norm
?
(
f
1
(
b
i
)
)
r
i
′
=
f
2
(
c
i
c
i
T
f
3
(
b
i
)
)
+
f
4
(
concat
?
(
e
?
a
,
r
i
)
)
\begin{aligned} \mathbf{b}_{i} &=\delta\left(\operatorname{concat}\left(\mathbf{e} \cdot \mathbf{a}, \mathbf{r}_{i}\right)\right), \quad \mathbf{c}_{i}=\operatorname{Norm}\left(f_{1}\left(\mathbf{b}_{i}\right)\right) \\ \mathbf{r}_{i}^{\prime} &=f_{2}\left(\mathbf{c}_{i} \mathbf{c}_{i}^{T} f_{3}\left(\mathbf{b}_{i}\right)\right)+f_{4}\left(\operatorname{concat}\left(\mathbf{e} \cdot \mathbf{a}, \mathbf{r}_{i}\right)\right) \end{aligned}
bi?ri′??=δ(concat(e?a,ri?)),ci?=Norm(f1?(bi?))=f2?(ci?ciT?f3?(bi?))+f4?(concat(e?a,ri?))?
Multi-Objective Learning
用
u
i
\mathbf{u}_i
ui?表示地面真相图像
I
g
t
I_{gt}
Igt?的属性
语义层面的知觉损失(不太懂)
与直接在合成
I
o
u
t
I_{out}
Iout?和地面真实
I
g
t
I_{gt}
Igt?图像之间施加
L
1
L_1
L1?损失[12,11,9,4,22]、感知损失[31,33]和特征匹配损失[31,33,3,20]不同,我们建议在潜在空间上匹配合成和地面真实图像的语义。
随着输入图片分辨率的增加,模型输出的大小呈指数增长。
在这种情况下,使用
L
1
L_1
L1?、感知和特征匹配损失进行优化变得更具挑战性。
我们GAN的潜在空间计算低维图像特征的有区别的总结。它维护特定领域的感知上下文,并确保更快的优化 我们定义可语义层面的损失:
L
s
e
m
=
E
[
∥
E
i
?
(
I
g
t
)
?
E
s
(
I
i
)
∥
2
]
\mathcal{L}_{s e m}=\mathbb{E}\left[\left\|\mathbf{E}_{i}^{*}\left(I_{g t}\right)-\mathbf{E}_{s}\left(I_{i}\right)\right\|_{2}\right]
Lsem?=E[∥Ei??(Igt?)?Es?(Ii?)∥2?] 判别器
Q
Q
Q使草图编码器
E
s
Es
Es正则化。
为了避免两阶段对抗性训练,GRL层[6]用于在训练期间更新草图编码器Es之前反转梯度。
为了发现地面真实图像Igt的潜在代码,我们使用图像重建作为辅助任务
另一种直觉是,图像重建比从草图到图像的转换更简单。
我们使用
L
1
L_1
L1?损失
L
r
e
c
L_{rec}
Lrec?和感知损失
L
p
e
r
c
e
p
t
L_{percept}
Lpercept?进行图像重建。
潜在语义损失(不太懂)
这里,我们分别描述了引理3.1和引理3.2对应的属性重建损失。
其中“*”表示反向传播期间从计算图中删除的组件。
或者引理3.1,我们专注于学习一个分离的潜在空间,其中a中的所有属性彼此正交。损失是:
L
o
r
t
h
o
=
E
[
∥
E
i
(
I
g
t
)
W
T
?
u
i
∥
2
2
]
+
∥
W
W
T
?
1
∥
2
\mathcal{L}_{ortho}=\mathbb{E}[\|\mathbf{E}_{i}(I_{gt})W^T-\mathbf{u}_i\|^2_2]+\|WW^T-\mathbb{1}\|_2
Lortho?=E[∥Ei?(Igt?)WT?ui?∥22?]+∥WWT?1∥2?
为了防止
L
r
e
c
L_{rec}
Lrec?和
L
o
r
t
h
o
L_{ortho}
Lortho?的共同适应,我们必须为潜在代码保持适当的维数
d
d
d。
L
decom?
=
E
[
∥
E
i
?
(
I
g
t
)
W
T
?
u
i
∥
2
2
]
+
E
[
∥
M
(
E
i
?
(
I
g
t
)
,
a
)
?
E
i
?
(
I
g
t
)
(
W
?
)
T
?
a
∥
2
2
]
+
E
[
∥
M
(
M
(
E
i
?
(
I
g
t
)
,
a
)
,
?
a
)
?
E
i
?
(
I
g
t
)
∥
2
]
\begin{aligned} \mathcal{L}_{\text {decom }}=& \mathbb{E}\left[\left\|\mathbf{E}_{i}^{*}\left(I_{g t}\right) \mathbf{W}^{T}-\mathbf{u}_{i}\right\|_{2}^{2}\right] \\ &+\mathbb{E}\left[\left\|\mathbf{M}\left(\mathbf{E}_{i}^{*}\left(I_{g t}\right), \mathbf{a}\right)-\mathbf{E}_{i}^{*}\left(I_{g t}\right)\left(\mathbf{W}^{*}\right)^{T}-\mathbf{a}\right\|_{2}^{2}\right] \\ &+\mathbb{E}\left[\left\|\mathbf{M}\left(\mathbf{M}\left(\mathbf{E}_{i}^{*}\left(I_{g t}\right), \mathbf{a}\right),-\mathbf{a}\right)-\mathbf{E}_{i}^{*}\left(I_{g t}\right)\right\|_{2}\right] \end{aligned}
Ldecom??=?E[∥∥?Ei??(Igt?)WT?ui?∥∥?22?]+E[∥∥∥?M(Ei??(Igt?),a)?Ei??(Igt?)(W?)T?a∥∥∥?22?]+E[∥M(M(Ei??(Igt?),a),?a)?Ei??(Igt?)∥2?]? 第一个组件学习从潜在代码中分类属性。
第二个组件强制属性映射网络以所需的强度操纵属性。
第三个组件确保属性编辑的识别变量,即,潜在代码应该用两种反向编辑行为重建 。
在我们的实验中,Ldecom的图像质量更好,Lortho在属性编辑方面更强。
Lortho消除了与数据分布相矛盾的属性语义。相比之下,Ldecom允许关联属性
我们使用[15,16]中带有梯度惩罚LR1的常规对抗损失Ladv来训练我们的模型。
他们使用相同的语义水平知觉损失、对抗损失和梯度惩罚,但与上述不同的潜在语义损失相对应。
Conclusion
本文提出了两种以草图图像为输入的真实感人脸生成模型S2F-DEC和S2F-DIS。它们可以在生成的脸上赋予属性,并包括对属性强度的滑动操作。此外,考虑到单属性和多属性编辑情况,我们生成的人脸保留了主体身份。通过采用所提出的语义层感知损失和潜在语义损失,我们可以灵活地变换所需的人脸属性,构造出具有照片真实感的人脸。在大型人脸采集数据集上的实验表明,S2F-DEC和S2F-DIS能够以更出色的可控性准确编辑人脸属性,即使是非真实感输入 。
|