论文: 《Depth-Aware Generative Adversarial Network for Talking Head Video Generation》
github: https://github.com/harlanhong/CVPR2022-DaGAN
解决问题
现有问题:
现有视频生成方案主要利用2D表征,人脸3D信息实际上对于此任务至关重要,然后标注需要大量成本;
解决方法:
本文作者提出一种自监督方案,自动从人脸视频中生成稠密3D几何信息,不需要任何标注数据;依据此信息,进一步估计稀疏人脸关键点,用于捕获人头重要移动;深度信息也用于学习3D跨模态(外观与深度)attention机制,引导生成用于扭曲原图的运动场;
本文提出的DaGAN可生成高逼真人脸,且在未见过人脸上取得不错效果;
本文贡献主要包括以下三点:
1、引入自监督方式从视频中拟合深度图,并将其用于提升生成效果;
2、提出新颖的关注深度的GAN,通过深度引导的面部关键点估计及跨模态(深度及图像)attention机制,将深度信息引入生成网络;
3、充分实验展示人脸图片的准确深度拟合,同时生成效果超越SOTA;
算法
DaGAN方法如图2,由生成器和判别器构成;
生成器由三部分组成:
1、自监督深度信息学习子网络
F
d
F_d
Fd,从视频中两个连续帧自监督学习深度估计;然后固定
F
d
F_d
Fd进行整个网络训练;
2、深度信息引导的稀疏关键点检测子网络
F
k
p
F_{kp}
Fkp;
3、特征扭曲模块利用关键点生成变化区域,其将扭曲源图特征已将外观信息与运动信息结合,得到扭曲特征
F
w
F_w
Fw;为确保模型关注细节及面部微表情,进一步学习关注深度信息的attention map,其精细化
F
w
F_w
Fw得到
F
g
F_g
Fg,用于生成图像
I
g
I_g
Ig;
自监督Face Depth Learning
作者借鉴SfM-Learner,做出优化,使用连续帧
I
i
+
1
I_{i+1}
Ii+1作为源图和
I
i
I_i
Ii作为目标图,学习集合元素,深度图
D
I
i
D_{I_i}
DIi,相近内参矩阵
K
I
i
−
>
I
i
+
1
K_{{I_i}->I_{i+1}}
KIi−>Ii+1,相关相机姿态
R
I
i
−
>
I
i
+
1
R_{{I_i}->I_{i+1}}
RIi−>Ii+1及变换
t
I
i
−
>
I
i
+
1
t_{{I_i}->I_{i+1}}
tIi−>Ii+1,与SfM-Learner不同的是相机内参K需要学习;
流程如图3:
1、
F
d
F_d
Fd提取目标图
I
i
I_i
Ii的深度图
D
I
i
D_{I_i}
DIi;
2、
F
p
F_p
Fp提取可学习参数
R
、
t
、
K
R、t、K
R、t、K;
3、根据等式3、4将源图
I
i
+
1
I_{i+1}
Ii+1进行几何变换得到
I
i
′
I'_i
Ii′
q
k
q_k
qk表示源图
I
i
+
1
I_{i+1}
Ii+1上扭曲的像素;
p
j
p_j
pj表示目标图
I
i
I_i
Ii上原像素;
损失函数
P
e
P_e
Pe如式5所示,使用L1损失和SSIM损失
稀疏关键点运动建模
1、将RGB与
F
d
F_d
Fd提取深度图进行concat;
2、通过关键点估计模块
F
k
p
F_{kp}
Fkp获取人脸稀疏关键点,如式6,由于引入深度图,使得预测关键点更加准确;
特征扭曲策略,如图4
1、如式7,计算原图与驱动图之间初始偏移
O
n
{O_n}
On;
2、生成2D坐标map z;
3、将O应用于z,得到运动区域
w
m
w_m
wm;
4、使用
w
m
w_m
wm扭曲降采样后的图片得到初始扭曲的特征图;
5、遮挡估计器
τ
\tau
τ通过扭曲的特征图预测运动流mask
M
m
M_m
Mm及遮挡图
M
o
M_o
Mo;
6、使用
M
m
M_m
Mm扭曲
I
s
I_s
Is经过编码器
ϵ
I
\epsilon_I
ϵI获得的外观特征图,将其与
M
o
M_o
Mo融合生成
F
w
F_w
Fw,如式8。
F
w
F_w
Fw既保留原图信息又提取两张脸之间运动信息。
跨模态attention机制
为了有效利用学习到的深度图提升生成能力,作者提出跨模态attention机制,如图5.
1、通过深度编码器
ϵ
d
\epsilon_d
ϵd提取深度图
D
s
z
D_{sz}
Dsz特征图
F
d
F_d
Fd;
2、 分别通过三个1X1卷积层将
F
d
F_d
Fd、
F
w
F_w
Fw映射为3个隐特征层
F
q
F_q
Fq、
F
k
F_k
Fk、
F
v
F_v
Fv;
3、如式9,通过attention生成
F
g
F_g
Fg。
4、通过解码器精细化
F
g
F_g
Fg生成最终图像
I
g
I_g
Ig。
训练
训练过程中原图与驱动图是相同的,损失函数如式10,
L
P
L_P
LP为感知损失;
L
G
L_G
LG使用最下二乘损失;
L
E
L_E
LE等变损失,确保原图进行图像变换时,关键点进行相应变换;
L
D
L_D
LD通过距离损失,防止面部关键点聚集到一起;
实验
SOTA方法比较
在VoxCeleb1数据集上与SOTA比较试验结果如表1、2
在VoxCeleb1数据集上,跨身份重现效果如图6
在CelebV数据集上,与SOTA方法比较试验如表3,跨身份重现效果如图7
消融实验
FDN:面部深度网络;
CAM:跨模态attention机制
结果如表4,
生成效果如图8
DaGAN效果视频
结论
DaGAN使用自监督方式学习面部深度图,一方面将其用于更准确面部关键点估计;另一方面设计跨模态(深度图与RGB)机制获取微表情变化。因此DaGAN生成更加逼真自然的结果。