您现在的位置是:首页 >技术教程 >【论文精读CVPR_2021】HifiFace: 3D Shape and Semantic Prior Guided High Fidelity Face Swapping网站首页技术教程
【论文精读CVPR_2021】HifiFace: 3D Shape and Semantic Prior Guided High Fidelity Face Swapping
【论文精读CVPR_2021】HifiFace: 3D Shape and Semantic Prior Guided High Fidelity Face Swapping

0、前言
Yuhan Wang, Xu Chen, Junwei Zhu, Wenqing Chu, Ying Tai, Chengjie Wang, Jilin Li, Yongjian Wu, Feiyue Huang, Rongrong Ji
论文地址https://arxiv.org/abs/2106.09965
GitHub地址(Unofficial):https://github.com/mindslab-ai/hififace
项目地址:https://johann.wang/HifiFace/
整个方法的Pipeline:
首先
:分为四个模块编码器、解码器、3D形状感知身份提取器和SFF模块。
编码器
:输入是 I t I_t It,即提取目标脸的特征。输出低维度特征。
3D 形状感知身份提取器
:输入源脸图像和目标脸图像到3D人脸重建网络得到源脸的身份和目标脸的属性特征。然后输入源脸图像到人脸识别网络获取身份向量,然后将二者连接起来获取3D形状感知身份。
解码器
:接收编码器输出的低维度特征和3D形状感知身份(融合),输出原目标图像1/4大小的图片到SFF模块。
SFF模块
:接收解码器输出和编码器对应大小的图片(1/4大小)以及 I t I_t It,首先依据解码器的图像 z d e c oldsymbol{z}_{dec} zdec,预测一个面罩 M l o w oldsymbol{M}_{low} Mlow,将面罩外部的区域换成编码器的输入图像 z e n c oldsymbol{z}_{enc} zenc,面部区别不变,得到 z f u s e oldsymbol{z}_{fuse} zfuse。(这一部分称为特征级融合)然后依据 z f u s e oldsymbol{z}_{fuse} zfuse,生成 I l o w oldsymbol{I}_{low} Ilow来计算辅助损失。紧接着是一个 4 × 4 imes 4×上采样模块 F u p oldsymbol{F}_{up} Fup,可以上采样到 512 × 512 512 imes512 512×512。然后学习一个轻微扩张的mask M r oldsymbol{M}_{r} Mr并接受脸型的变化,依据 M r oldsymbol{M}_{r} Mr保留上一步输出的脸部区域,非脸部区域用目标图像替换。(值得一提的是 M l o w oldsymbol{M}_{low} Mlow和 M r oldsymbol{M}_{r} Mr是经过损失函数进行训练的得到的。)
之后就是常规的GAN损失计算。
缩写 | 全拼 |
---|---|
SFF | Semantic Facial Fusion |
LPIPS | Learned Perceptual Image Patch Similarity |
SID | 3D Shape-Aware Identity (SID) Loss |
Abstract
介绍
:在这项工作中,我们提出了一种高保真的人脸交换方法,称为HifiFace,它可以很好地保持源人脸的形状,并产生照片真实感的结果。方法
:与现有的人脸交换算法仅使用人脸识别模型来保持身份相似性不同,我们提出了三维形状感知身份,利用3DMM的几何监督和三维人脸重建方法来控制人脸的形状。
同时,我们引入语义人脸融合模块,优化编码器和解码器特征的组合,并进行自适应混合,使结果更加逼真。实验
:在野外对人脸的大量实验表明,我们的方法可以保持更好的身份,特别是在人脸形状上,可以产生比以前的最先进的方法更逼真的结果。
1 Introduction
人脸交换是一种利用源人脸的身份和目标图像的属性(例如,姿势、表情、光照、背景等)生成图像的任务(如图1所示),它在电影工业[Alexander et al.,2009]和计算机游戏中有着巨大的潜在用途,引起了人们的极大兴趣。
【换脸介绍】
为了获得高保真的人脸交换结果,需要考虑以下几个关键问题:
(1)包括人脸形状在内的结果人脸的身份必须接近源人脸。
(2)所得到的结果要具有真实感,既要忠实于目标人脸的表情和姿态,又要与目标图像的光照、背景、遮挡等细节保持一致。
【源脸形状,生成结果需要逼真,即与目标脸大体一致(表情和姿态、光照、背景、遮挡、图像分辨率等)】
为了保留生成的面孔的身份,之前的作品[Nirkin等人,2018;Nirkin等人,2019;Jiang et al., 2020]通过3DMM拟合或人脸地标引导再现生成内脸区域并混合到目标图像中,如图2(a)所示。
由于3DMM不能很好地模仿身份细节,而目标地标包含了目标图像的身份,因此这些方法的身份相似性较弱。 同时,混合阶段限制了脸型的变化。
如图2(b)所示[Liu et al., 2019;Chen等人,2020]利用人脸识别网络的支持来提高身份相似度。
而人脸识别网络更注重纹理,对几何结构不敏感。
因此,这些方法不能稳健地保持人脸的准确形状。
【3DMM或face landmark亦或者face recognition network都对源脸的形状迁移较差。】
至于生成照片真实感的结果,[Nirkin等人,2018;Nirkin等人,2019]使用泊松混合来修复照明,但它往往会导致重影,无法处理复杂的外观条件。
[Jiang等人,2020年;Zhu et al., 2020;Li等人,2019]设计了一个额外的基于学习的阶段来优化照明或遮挡问题,但他们很繁琐,不能在一个模型中解决所有问题。
【泊松混合局限性大而额外的处理网络比较繁琐】
为了克服上述缺陷,我们提出了一种新颖的端到端学习框架HifiFace,通过三维形状和语义先验生成高保真交换人脸。
具体来说,我们首先通过三维人脸重建模型回归源人脸和目标人脸的系数,并将它们重新组合为形状信息。
然后我们把它和人脸识别网络中的身份向量连接起来。
我们明确地使用三维几何结构信息,并使用结合源身份重组的三维人脸模型,目标表情和目标姿态作为辅助监督,实现精确的人脸形状转移。
有了这种专门的设计,我们的框架可以实现更相近的身份性能,特别是在脸的形状。
【主要优点是源脸的形状】
此外,我们引入了语义面部融合(SFF)模块,使我们的结果更加真实。
光照、背景等属性需要空间信息,高质量的图像结果需要详细的纹理信息。
编码器中的底层特征不仅包含空间和纹理信息,还包含来自目标图像的丰富身份信息。
因此,我们的SFF模块通过学习自适应masks,集成了底层编码器特征和解码器特征,以更好地保存属性而不影响身份。
最后,为了克服遮挡问题,实现完美的背景,我们还通过学习到的人脸掩模将输出信息混合到目标中。
与[Nirkin et al., 2019]使用目标图像的人脸面具进行直接混合不同,HifiFace在扩张的人脸语义分割的指导下同时学习人脸面具,这有助于模型更加关注人脸区域,并在边缘周围进行自适应融合。
HifiFace在一个模型中处理图像质量、遮挡和照明问题,使结果更加逼真。
大量的实验表明,我们的结果在具有较大人脸变化的野外人脸图像上超过了其他State-of-the-Art(SOTA)方法。
【SFF模块通过learned adaptive face masks使得结果更真实】
我们的贡献可以总结如下:
- 我们提出了一种新颖的端到端学习框架HifiFace,该框架能够很好地保持源人脸的形状,并产生高保真的人脸交换结果。
- 我们提出了一种三维形状感知的身份提取器,它可以生成具有精确形状信息的身份向量,以帮助保持源人脸的形状。
- 我们提出了一种语义人脸融合模块,可以解决遮挡和光照问题,并产生高质量的图像。
【主要是解决两个问题1)源脸形状2)将遮挡光照等问题集成到一个模型。】
2 Related Work
2.13D-based Methods.
3D变形模型(3DMM)将实例的形状和纹理转换为向量空间表示[Blanz和Vetter, 1999]。
[Thies et al., 2016]通过将三维变形人脸模型拟合到两张人脸上,将表情从源人脸转移到目标人脸。
[Nirkin et al., 2018]通过3DMM转移表情和姿态,训练人脸分割网络来保持目标人脸遮挡。
这些基于3D的方法遵循图2(a)这样的面向源的管道,通过3D拟合生成人脸区域,并通过目标人脸的掩模将其混合到目标图像中。
他们遭受不现实的纹理和照明,因为3DMM和渲染器不能模拟复杂的照明条件。
此外,混合阶段限制了脸型。
相比之下,HifiFace通过3DMM的几何信息准确地保持了人脸形状,并通过语义先验引导的编码器和解码器特征重组实现了逼真的纹理和属性。
【之前3D方法的局限性1)unrealistic texture and lighting 因为3DMM和渲染器不能模拟复杂的照明条件;2)混合阶段限制了脸型。】
2.2GAN-based Methods.
GAN自[Goodfellow等人,2014]提出以来,在生成假图像方面表现出了很强的能力。
[Isola等人,2017]提出了一种通用的图像到图像转换方法,该方法证明了条件GAN结构在交换人脸中的潜力,尽管它需要成对的数据。
【介绍GAN】
基于GAN的人脸交换方法主要遵循面向源的管道或面向目标的管道。
[Nirkin等人,2019年;Jiang等人,2020]采用图2(a)中面向源的管道,该管道使用人脸地标组成人脸重现。
但它可能会带来较弱的身份相似性,混合阶段限制了人脸形状的变化。
[Liu et al., 2019;Chen et al., 2020;Li et al., 2019]遵循图2(b)中面向目标的管道,该管道使用人脸识别网络提取身份,并使用解码器将编码器特征与身份融合,但不能鲁棒地保持精确的人脸形状,图像质量较差。
相反,图2( c)中的HifiFace用3D形状感知的身份提取器代替人脸识别网络,以更好地保留包括人脸形状在内的身份,并在解码器后引入SFF模块,进一步提高真实感。
【现有方法的局限,突出本文贡献】
其中,FaceShifter [Li et al., 2019]和SimSwap [Chen et al., 2020]遵循面向目标的管道,可以产生高保真的结果。
FaceShifter [Li et al., 2019]利用了两阶段框架,实现了最先进的身份性能。
但是,尽管使用了额外的固定阶段,它还是不能很好地保存灯光。
然而,HifiFace可以很好地在一个阶段保存照明和身份。
同时,HifiFace可以生成比FaceShifter质量更高的真实感结果。
[Chen et al., 2020]为了更好地保存属性,提出了弱特征匹配损失,但它损害了身份相似度。
而HifiFace可以更好地保存属性,并且不会损害身份。
【FaceShifter不能很好地保存灯光,引入目标身份属性。
SimSwap弱特征匹配损失损害了身份相似度】
3 Approach
令
I
s
I_s
Is 分别为源图像和
I
t
I_t
It 目标图像。
我们的目标是生成具有
I
s
I_s
Is 的身份和
I
t
I_t
It 的属性的结果图像
I
r
I_r
Ir。
如图2(c ) 所示,我们的管道由四个部分组成:编码器部分、解码器部分、
3
3
3D 形状感知身份提取器 (Sec.3.1和 SFF 模块 (Sec.3.2)。
首先,我们将
I
t
I_t
It 设置为编码器的输入,并使用几个 res-blocks [He et al., 2016]来获取属性特征。
然后,我们使用
3
3
3D 形状感知身份提取器来获取
3
3
3D 形状感知身份。
之后,我们在解码器中使用具有自适应实例归一化的 res-block[Karras et al., 2019]来融合
3
3
3D 形状感知身份和属性特征。
最后,我们使用 SFF 模块获得更高的分辨率并使结果更逼真。
【Pipeline】
3.1 3D Shape-Aware Identity Extractor
大多数基于 GAN 的方法在换脸任务中只使用人脸识别模型来获取身份信息。
然而,人脸识别网络更注重纹理,对几何结构不敏感。
为了获得更精确的人脸形状特征,我们引入
3
3
3DMM并使用预训练的最先进的
3
3
3D人脸重建模型[Deng et al., 2019]作为形状特征编码器,它表示人脸形状
S
extbf{S}
S 通过仿射模型:
S
=
S
(
α
,
β
)
=
S
ˉ
+
B
i
d
α
+
B
e
x
p
β
,
egin{align} extbf{S} = extbf{S}({alpha},{eta}) = ar{ extbf{S}} + extbf{B}_{id}{alpha} + extbf{B}_{exp}{eta}, end{align}
S=S(α,β)=Sˉ+Bidα+Bexpβ,其中
S
ˉ
ar{ extbf{S}}
Sˉ 是平均脸型;
B
i
d
extbf{B}_{id}
Bid,
B
e
x
p
extbf{B}_{exp}
Bexp 是身份和表情的 PCA 基础;
α
alpha
α 和
β
eta
β是生成 3D 人脸的相应系数向量。
【形状特征编码器】
如图3(a) 所示,我们通过
3
3
3D 人脸重建模型
F
3
d
oldsymbol{F}_{3d}
F3d 回归包含源脸和目标人脸的身份、表情和姿势的
3
3
3DMM 系数
c
s
oldsymbol{c}_s
cs 和
c
t
oldsymbol{c}_t
ct,
然后,我们通过
c
f
u
s
e
oldsymbol{c}_{fuse}
cfuse 将源的身份、目标的表情和姿势生成一个新的
3
3
3D 人脸模型。
请注意,姿势系数不决定面部形状,但在计算损失时可能会影响
2
2
2D 地标位置。
我们不使用纹理和光照系数,因为纹理重建仍然不令人满意。
最后,我们将
c
f
u
s
e
oldsymbol{c}_{fuse}
cfuse 与通过
F
i
d
oldsymbol{F}_{id}
Fid 提取的身份特征
v
i
d
oldsymbol{v}_{id}
vid 连接起来,这是一个预训练state-of-the-art的人脸识别模型[Huang et al., 2020],得到最终向量
v
s
i
d
oldsymbol{v}_{sid}
vsid,称为 3D shape-aware identity。
因此,HifiFace 获得了包括几何结构在内的良好身份信息,这有助于保留源图像的面部形状。
【通过
3
3
3D 人脸重建模型获得对应的身份,表情和姿势特征,然后与人脸识别网络提取的身份特征进行concatenate】
3.2 Semantic Facial Fusion Module
3.2.1 Feature-Level.
低级特征包含丰富的空间信息和纹理细节,这可能会显着帮助生成更逼真的结果。
在这里,我们提出 SFF 模块,不仅可以充分利用低级编码器和解码器的特征,还可以克服由于低级编码器特征中目标的身份信息而避免损害身份的矛盾。
【SFF 模块,输入是解码器特征,编码器特征和目标图像】
如图3(b)所示,当解码器特征
z
d
e
c
oldsymbol{z}_{dec}
zdec是大小为目标的
1
/
4
1/4
1/4时,我们首先预测一个面罩
M
l
o
w
oldsymbol{M}_{low}
Mlow。然后,我们将
z
d
e
c
oldsymbol{z}_{dec}
zdec 与
M
l
o
w
oldsymbol{M}_{low}
Mlow 混合,得到
z
f
u
s
e
oldsymbol{z}_{fuse}
zfuse,公式为:
z
f
u
s
e
=
M
l
o
w
⊙
z
d
e
c
+
(
1
−
M
l
o
w
)
⊙
σ
(
z
e
n
c
)
,
egin{align} oldsymbol{z}_{fuse} = oldsymbol{M}_{low}odot oldsymbol{z}_{dec} + (1- oldsymbol{M}_{low})odot sigma(oldsymbol{z}_{enc}), end{align}
zfuse=Mlow⊙zdec+(1−Mlow)⊙σ(zenc),其中
z
e
n
c
oldsymbol{z}_{enc}
zenc 表示为原始大小
1
/
4
1/4
1/4 的低级编码器特征,
σ
sigma
σ 表示 res-block [He et al., 2016]。
SFF 的关键设计是调整编码器和解码器的注意力,这有助于解开身份和属性。
具体来说,非面部区域的解码器特征可能会被插入源的身份信息损坏,因此我们将其替换为干净的低级编码器特征以避免潜在的危害。
而包含源人脸丰富身份信息的面部区域解码器特征不应该被目标干扰,因此我们保留面部区域的解码器特征。
【trick。非面部区域换成目标脸的编码器特征,保留面部区域的解码器特征】
在特征级融合之后,我们生成
I
l
o
w
oldsymbol{I}_{low}
Ilow 来计算辅助损失,以便更好地解开身份和属性。
然后我们使用一个
4
×
4 imes
4× 上采样模块
F
u
p
oldsymbol{F}_{up}
Fup,它包含几个 res-blocks 以更好地融合特征图。
基于
F
u
p
oldsymbol{F}_{up}
Fup,我们的 HifiFace 可以方便地生成更高分辨率的结果(
例如
extit{例如}
例如,
512
×
512
512 imes512
512×512)。
【上采样】
3.2.2 Image-Level.
为了解决遮挡问题,更好的保留背景,之前的作品[Nirkin et al.,2019; Natsume et al., 2018]直接使用了目标人脸的mask。
但是,它会带来伪像,因为面部形状可能会发生变化。
取而代之的是,我们使用 SFF 来学习轻微扩张的面具并接受脸型的变化。
具体来说,我们预测一个
3
3
3-channel
I
o
u
t
oldsymbol{I}_{out}
Iout 和
1
1
1-channel
M
r
oldsymbol{M}_{r}
Mr,并混合
I
o
u
t
oldsymbol{I}_{out}
Iout通过
M
r
oldsymbol{M}_{r}
Mr 到目标图像,公式为:
I
r
=
M
r
⊙
I
o
u
t
+
(
1
−
M
r
)
⊙
I
t
.
egin{align} oldsymbol{I}_{r} = oldsymbol{M}_{r}odot oldsymbol{I}_{out} + (1- oldsymbol{M}_{r})odot oldsymbol{I}_{t}. end{align}
Ir=Mr⊙Iout+(1−Mr)⊙It.
总之,在 SFF 模块的帮助下,HifiFace 可以生成具有高图像质量的逼真效果,并很好地保留光照和遮挡。
请注意,尽管面部形状发生了变化,但这些功能仍然有效,因为蒙版已经扩大并且我们的 SFF 受益于预测面部轮廓周围的修复。
【人脸区域是低级解码器特征,如何处理的光照和遮挡?很神奇。】
3.3 Loss Function
GAN,id,L1,cycle,lpip,total
3.3.1 3D Shape-Aware Identity (SID) Loss.
SID loss包含shape loss和ID loss。
我们使用
2
2
2D landmark keypoints作为几何监督来约束人脸形状,其广泛应用于
3
3
3D人脸重建[Deng et al., 2019]。
首先,我们使用网格渲染器根据源图像身份和目标图像表情和姿势的系数生成
3
3
3D 人脸模型。
然后,我们通过回归
3
3
3DMM 系数生成
I
r
oldsymbol{I}_r
Ir 和
I
l
o
w
oldsymbol{I}_{low}
Ilow 的
3
3
3D 人脸模型。
最后,我们投影重建面部形状的
3
3
3D 面部地标顶点landmark vertices到图像上获得地标{
q
f
u
s
e
q^{fuse}
qfuse}、{
q
r
q^r
qr} 和 {
q
l
o
w
q^{low}
qlow}:,并计算损失为:
L
s
h
a
p
e
=
1
N
∑
n
=
1
N
∣
∣
q
n
f
u
s
e
−
q
n
r
∣
∣
1
+
∣
∣
q
n
f
u
s
e
−
q
n
l
o
w
∣
∣
1
.
egin{align} mathcal{L}_{shape} = & frac{1}{N}sum_{n=1}^N ||q^{fuse}_n - q^r_n||_1+||q^{fuse}_n - q^{low}_n||_1. end{align}
Lshape=N1n=1∑N∣∣qnfuse−qnr∣∣1+∣∣qnfuse−qnlow∣∣1.此外,我们使用身份损失来保留源图像的身份:
L
i
d
=
(
1
−
c
o
s
(
υ
i
d
(
I
s
)
,
υ
i
d
(
I
r
)
)
)
+
(
1
−
c
o
s
(
υ
i
d
(
I
s
)
,
υ
i
d
(
I
l
o
w
)
)
)
,
egin{align} mathcal{L}_{id} =& (1-cos(upsilon_{id}(oldsymbol{I}_s),upsilon_{id}(oldsymbol{I}_r))) +\ &(1-cos(upsilon_{id}(oldsymbol{I}_s),upsilon_{id}(oldsymbol{I}_{low}))),
onumber end{align}
Lid=(1−cos(υid(Is),υid(Ir)))+(1−cos(υid(Is),υid(Ilow))),其中
υ
i
d
upsilon_{id}
υid表示
F
i
d
oldsymbol{F}_{id}
Fid生成的身份向量,
c
o
s
(
,
)
cos(,)
cos(,)表示两个向量的余弦相似度。
最后,我们的 SID 损失公式为:
L
sid
=
λ
shape
L
shape
+
λ
id
L
id
,
egin{align} mathcal{L_{ ext {sid}}}=lambda_{ ext {shape}} mathcal{L}_{ ext {shape}}+lambda_{ ext {id}} mathcal{L}_{ ext {id}}, end{align}%
Lsid=λshapeLshape+λidLid,其中
λ
id
lambda_{ ext {id}}
λid =
5
5
5 和
λ
shape
lambda_{ ext {shape}}
λshape =
0.5
0.5
0.5。
【身份损失这里特色是多了一个
I
l
o
w
oldsymbol{I}_{low}
Ilow,并且也多了一个shape loss】
3.3.2 Realism Loss.
现实主义损失包括分割损失、重建损失、循环损失、感知损失和对抗性损失。
具体来说,SFF模块中的
M
l
o
w
oldsymbol{M}_{low}
Mlow和
M
r
oldsymbol{M}_{r}
Mr都是在一个SOTA人脸分割网络HRNet[Sun et al., 2019]的指导下生成。
我们扩大了目标图像的蒙版以消除面部形状变化的限制并得到
M
t
a
r
oldsymbol{M}_{tar}
Mtar。
分割损失公式为:
L
s
e
g
=
∣
∣
R
(
M
t
a
r
)
−
M
l
o
w
∣
∣
1
+
∣
∣
M
t
a
r
−
M
r
∣
∣
1
,
egin{align} mathcal{L}_{seg} = ||R(oldsymbol{M}_{tar}) - oldsymbol{M}_{low}||_1 + ||oldsymbol{M}_{tar} - oldsymbol{M}_{r}||_1, end{align}
Lseg=∣∣R(Mtar)−Mlow∣∣1+∣∣Mtar−Mr∣∣1,其中
R
(
.
)
R(.)
R(.) 表示调整大小操作。
如果
I
s
oldsymbol{I}_s
Is 和
I
t
oldsymbol{I}_t
It 具有相同的身份,则预测图像应该与
I
t
oldsymbol{I}_t
It 相同。
所以我们使用重建损失来进行像素级监督:
L
r
e
c
=
∣
∣
I
r
−
I
t
∣
∣
1
+
∣
∣
I
l
o
w
−
R
(
I
t
)
∣
∣
1
.
egin{align} mathcal{L}_{rec} = ||oldsymbol{I}_{r} - oldsymbol{I}_{t}||_1 + ||oldsymbol{I}_{low} - R(oldsymbol{I}_{t})||_1. end{align}
Lrec=∣∣Ir−It∣∣1+∣∣Ilow−R(It)∣∣1.
循环过程也可以在换脸任务中进行。
设
I
r
{oldsymbol{I}_r}
Ir 作为re-target图像,原始目标图像作为re-source图像。
在循环过程中,我们希望生成的结果具有re-source图像的身份和re-target图像的属性,这意味着它应该与原始目标图像相同。
循环损失是像素监督的补充,可以帮助生成高保真结果:
L
c
y
c
=
∣
∣
I
t
−
G
(
I
r
,
I
t
)
∣
∣
1
,
egin{align} mathcal{L}_{cyc} = ||{oldsymbol{I}_t} - G({oldsymbol{I}_r}, {oldsymbol{I}_t})||_1, end{align}
Lcyc=∣∣It−G(Ir,It)∣∣1,其中
G
G
G 表示 HifiFace 的整个生成器。
为了捕捉细节并进一步提高真实感,我们遵循[Zhang et al., 2018]中的学习感知图像块相似性 (LPIPS) 损失和[Zhang et al., 2018]中的对抗性目标。
因此,我们的realism loss被表述为:
L
real
=
L
adv
+
λ
0
L
seg
+
λ
1
L
rec
+
λ
2
L
cyc
+
λ
3
L
lpips
,
egin{align} mathcal{L_{ ext {real}}}=mathcal{L}_{ ext {adv}}+lambda_{ ext {0}} mathcal{L}_{ ext {seg}}+lambda_{ ext {1}} mathcal{L}_{ ext {rec}}+lambda_{ ext {2}} mathcal{L}_{ ext {cyc}}+lambda_{ ext {3}} mathcal{L}_{ ext {lpips}}, end{align}
Lreal=Ladv+λ0Lseg+λ1Lrec+λ2Lcyc+λ3Llpips,where
λ
0
lambda_{ ext {0}}
λ0 =
100
100
100,
λ
1
lambda_{ ext {1}}
λ1 =
20
20
20,
λ
2
lambda_{ ext {2}}
λ2 =
1
1
1 and
λ
3
lambda_{ ext {3}}
λ3 =
5
5
5.
【五个损失】
3.3.3 Overall Loss.
我们的全部损失总结如下:
L
=
L
sid
+
L
real
.
egin{align} mathcal{L}= mathcal{L}_{ ext {sid}}+ mathcal{L}_{ ext {real}}. end{align}
L=Lsid+Lreal.
4 Experiments
Implementation Details.:
我们选择 VGGFace
2
2
2[Cao et al., 2018]和 Asian-Celeb[DeepGlint, 2020]作为训练集。
对于我们的分辨率为
256
256
256(
即
extit{即}
即,Ours-
256
256
256)的模型,我们删除了尺寸小于
256
256
256 的图像以获得更好的图像质量。
对于每张图像,我们使用
5
5
5 地标对齐人脸并裁剪为
256
256
256
×
imes
×
256
256
256[Li et al.faceshifter, 2019],其中包含整个人脸和一些背景区域。
对于我们更精确的模型(
即
extit{即}
即,Ours-
512
512
512),我们采用肖像增强网络[Li et al., 2020]将训练图像的分辨率提高到
512
512
512
×
imes
×
512
512
512 作为监督,并相应地在 SFF 的
F
u
p
oldsymbol{F}_{up}
Fup 中添加另一个 res-block 与 Ours-
256
256
256 相比。
具有相同身份的训练对的比例为
50
50
50%。
ADAM[Kingma and Ba, 2014]与
β
1
eta1
β1 =
0
0
0 一起使用;
β
2
eta2
β2 =
0.99
0.99
0.99 和学习率 =
0.0001
0.0001
0.0001。
该模型使用
4
4
4 V
100
100
100 GPU 和
32
32
32 批量大小以
200
200
200K 步训练。
【训练细节】
4.1 Qualitative Comparisons
首先,我们将我们的方法与图4中的FSGAN [Nirkin et al., 2019]、SimSwap [Chen et al., 2020]和FaceShifter [Li et al., 2019]、图5中的AOT [Zhu et al., 2020]和DeeperForensics (DF) [Jiang et al., 2020]进行比较。
如图4所示,FSGAN与目标人脸具有相同的人脸形状,也不能很好地传递目标图像的光照。
SimSwap 不能很好地保留源图像的身份,特别是对于面部形状,因为它使用了特征匹配损失并且更侧重于属性。
FaceShifter表现出很强的身份保存能力,但它有两个局限性:
(1)属性恢复,而我们的 HifiFace 可以很好地保留面部颜色、表情和遮挡等所有属性。
(2) 具有两个阶段的复杂框架,而 HifiFace 提供了一个更优雅的端到端框架,具有更好的恢复图像。
如图5(a)所示,AOT是专门为克服光照问题而设计的,但在身份相似性和保真度方面较弱。
如图5(b)所示,DF减少了风格不匹配的坏情况,但身份相似性也较弱。
相比之下,我们的 HifiFace 不仅完美地保留了光照和面部风格,而且还很好地捕捉了源图像的面部形状并生成了高质量的交换面部。
更多结果可以在我们的
s
u
p
p
l
e
m
e
n
t
a
r
y
m
a
t
e
r
i
a
l
mathsf{supplementary~material}
supplementary material 中找到。
【FSGAN与目标人脸具有相同的人脸形状,也不能很好地传递目标图像的光照。
SimSwap不能很好地保留源图像的身份,特别是对于面部形状,更侧重于属性。
FaceShifter局限于属性恢复和两个阶段的复杂框架。
AOT和DF身份相似性较弱。】
4.2 Quantitative Comparisons
接下来,我们对FaceForensics (FF)++ [Rossler et al., 2019]数据集就以下指标进行了定量比较:ID检索、位姿误差、脸型误差和人脸伪造检测算法的性能,再次证明了我们的HifiFace的有效性。
对于FaceSwap [FaceSwap,]和FaceShifter,我们从每个视频中平均采样10帧,组成一个10K的测试集。
对于SimSwap和HifiFace,我们使用上面相同的源和目标对生成人脸交换结果。
【定量对比实验设置】
对于ID检索和姿太误差,我们遵循[Li et al., 2019; Chen et al., 2020]。
如表1所示,HifiFace获得了最好的ID检索分数,在姿态保持方面可与其他同类相媲美。
对于人脸形状误差,我们使用另一个三维人脸重建模型[Sanyal et al., 2019]来回归每个测试人脸的系数。
误差是通过交换后的人脸与其源人脸之间的身份系数的L2距离来计算的,我们的HifiFace实现了最低的人脸形状误差。
参数和速度的比较也显示在表1中,我们的HifiFace比FaceShifter更快,同时具有更高的生成质量。
【ID检索和姿太以及人脸形状误差的比较】
为了进一步说明HifiFace控制人脸形状的能力,我们在图6中可视化了HifiFace和FaceShifter的样本形状差异[Li et al., 2019]。
结果表明,当源和目标的人脸形状差异较大时,HifiFace在95%的样本形状误差较小的情况下显著优于Faceshifter。
【源脸形状保存可视化】
此外,我们应用来自FF++ [Rossler et al., 2019]和DeepFake Detection Challenge (DFDC) [Dolhansky et al., 2019;selimsef, 2020]的模型来检验HifiFace的realism表现。
对于每种方法,测试集包含10K个交换的人脸和10K个来自FF++的真实人脸。
如表2所示,HifiFace获得了最好的分数,这说明它的保真度更高,可以进一步提高人脸伪造的检测。
【realism performance实验】
4.3 Analysis of HifiFace
4.3.1 3D Shape-Aware Identity.
为了验证形状监督
L
s
h
a
p
e
mathcal{L}_{shape}
Lshape 对人脸形状的有效性,我们训练了另一个模型 Ours-n
3
3
3d,它将形状感知身份向量替换为
F
i
d
oldsymbol{F}_{id}
Fid中的正常身份向量。
如图7所示,Ours-n
3
3
3d的结果几乎不能改变脸型或有明显的伪影,而Ours-
256
256
256的结果可以产生更相似脸型的结果。
【消融实验
L
s
h
a
p
e
mathcal{L}_{shape}
Lshape 】
4.3.2 Semantic Facial Fusion.
为了验证 SFF 模块的必要性,我们与
3
3
3 个基线模型进行了比较:
(
1
1
1) ‘Bare’:去除了特征级和图像级融合。
(
2
2
2) ‘Blend’:移除特征级融合。
(
3
3
3) `Concat’ :用连接替换特征级融合。(不用mask)
如图8所示,‘Bare’不能很好的保留背景和遮挡,‘Blend’缺乏易辨认性legibility,‘Concat’在身份相似性上较弱,证明SFF模块可以帮助保留属性并在不损害身份的情况下提高图像质量。
【消融实验SFF模块】
4.3.3 Face Shape Preservation in Face Swapping.
面部形状保存对于面部交换来说是相当困难的,这不仅是因为难以获取形状信息,而且在面部形状发生变化时修复也是一个挑战。
%特别是在不牺牲生成高保真图像的要求下。
混合是保留遮挡和背景的有效方法,但当面部形状发生变化时很难应用。
如图9所示,当源脸比目标脸(行
1
1
1)胖时,可能会限制Blend-T中脸型的变化。
如果我们使用 Blend-DT 或 Blend-R,它不能很好地处理遮挡。
当源面比目标面瘦时(第
2
2
2 行),在 Blend-T 和 Blend-DT 中很容易在面部周围产生伪影,并可能在 Blend-R 中导致双面。
相比之下,我们的 HifiFace 可以应用混合而不会出现上述问题,因为我们的 SFF 模块能够修复预测掩码的边缘。
【面部形状,以及修复边缘】
为了进一步说明 SFF 如何解决该问题,我们展示了 SFF 模块中每个阶段的差异特征图,命名为 SFF-
0
0
0
∼
sim
∼
3
3
3,在 (
I
s
I_s
Is,
I
t
I_t
It) 和 (
I
t
I_t
It,
I
t
I_t
It)的输入之间,其中 (
I
s
I_s
Is,
I
t
I_t
It) 获得 Ours-
256
256
256 并且 (
I
t
I_t
It,
I
t
I_t
It) 实现目标本身。
在图10中,明亮区域表示面部形状发生变化或包含伪影的区域。
%在SFF开始的时候,面罩周围的区域需要大量修复,但是随着网络的处理,SFF基本上修复了面部周围的坏区域。
SFF模块重新组合了人脸区域和非人脸区域之间的特征,更加关注预测mask的轮廓,这对于修复形状变化的区域有很大的好处。
【修复人脸轮廓】
5 Conclusions
介绍
:在本工作中,我们提出了一种高保真的人脸交换方法,命名为HifiFace,它可以很好地保持源人脸的形状,并产生照片真实感的结果。贡献
:提出了一种三维形状感知的身份提取器,以帮助保持身份,包括人脸形状。
提出了一种SFF模块,以实现特征级和图像级的更好结合,从而实现真实图像的生成。实验
:大量的实验表明,该方法在定量和定性上都比以往的SOTA人脸交换方法具有更高的保真度。
最后但并非最不重要的是,HifiFace还可以作为一个锋利的矛,这有助于人脸伪造检测社区的发展。
Network Structures
HifiFace的详细结构如图12所示。
对于所有residual单元,我们使用Leaky ReLU (LReLU)作为激活函数。
Resample是指Average Pooling或Upsampling,用来改变feature map的大小。
在编码器中使用带有实例归一化(IN)的Res-Blocks,在解码器中使用带有自适应实例归一化(AdaIN)的Res-Blocks。
【生成器和鉴别器的网络架构】
More Results
为了分析三维人脸重建模型的形状信息和人脸识别模型的身份信息对插值结果的具体影响,我们通过调整SID的组成来生成插值结果。其公式为:
ψ
i
n
=
a
ψ
s
+
b
ψ
t
,
egin{align} &mathcalpsi_{in} = a psi_{s} + b psi_{t}, end{align}
ψin=aψs+bψt,
υ
i
n
=
c
υ
s
+
d
υ
t
,
egin{align} &mathcalupsilon_{in} = c upsilon_{s} + d upsilon_{t}, end{align}
υin=cυs+dυt,其中
ψ
s
psi_{s}
ψs,
ψ
t
psi_{t}
ψt 和
ψ
i
n
psi_{in}
ψin 表示源、目标和插值图像的
3
3
3D 身份系数,
υ
s
upsilon_{s}
υs,
υ
t
upsilon_ {t}
υt 和
υ
i
n
upsilon_{in}
υin 表示来自识别模型的源、目标和插值图像的身份向量。
正如我们在图11列
1
−
4
1-4
1−4 中看到的,我们首先固定
c
=
0
c=0
c=0 和
d
=
1
d=1
d=1,面部形状仍然可以改变,但缺乏身份细节。
然后在第 4-7 列中,我们固定
a
=
1
a=1
a=1 和
b
=
0
b=0
b=0,身份变得更加相似。
结果证明形状信息控制形状和身份的基础,而身份向量有助于身份纹理。
【形状信息控制形状和身份,身份向量有助于身份纹理】
最后,我们从网上下载了大量的野外人脸图片并在 Figure13 和 Figure14 中生成更多的人脸交换结果,以展示我们方法的强大能力。
更多结果可以在https://johann.wang/HifiFace找到。
个人思考与总结
- 首先不准确的结构或面部关键点信息使得HifiFace难以产生高保真效果。
- 其次预训练的2D人脸识别网络或3D变形人脸模型(3DMM),其问题在于预训练的模型用于分类而不是生成,故可能无法捕捉到一些与人脸身份相关的信息和重要的视觉细节。
- 未保存肤色,也不能进行细粒度的交换。
big picture