赞
踩
语音驱动的说话人视频合成旨在根据一段输入的语音,合成对应的目标人脸说话视频。高质量的说话人视频需要满足两个目标:
(1)合成的视频画面应具有较高的保真度;
(2)合成的人脸面部表情应与输入的驱动语音保证高度对齐。
基于NeRF的说话人视频合成算法,仅需要3-5分钟左右的目标人说话视频作为训练数据,即可合成该目标人说任意语音的视频,在实现第二个目标还面临许多挑战。
GeneFace 采用 3D 人脸关键点作为中间变量,提出了一个三阶段的框架:
audio2motion在一个大的数据上进行训练,适用于所有的说话人视频,仅需要训练一次。
语义信息:利用 HuBERT 模型从原始音频中提取语音表征。
动作表示:为了能在欧几里得空间中表示详细的面部运动,从重建的3D头部网格中选择68个关键点,使用它们的位置作为动作表示。
编码器 | 解码器 | 流模型 |
---|---|---|
原始变分自编码器的高斯先验从两个方面限制了3D标志序列生成过程的性能:
在给定的多说话人数据集上训练variational motion generator时,模型可以很好地处理各种音频输入。然而,由于目标人物视频的规模相对较小(大约4-5分钟),与多说话人唇读数据集(大约数百小时)相比,预测的3D landmark与目标人物领域之间存在领域偏差。因此需要将VAE预测的3D landmark 细化为Personalize domain。
要求:
方案:为了满足第一点,使用1D卷积为后处理网络的结构,并采用同步专家来监督嘴唇同步。对于第二点,我们联合训练一个MLP结构的帧级鉴别器,该鉴别器测量每个关键点帧与目标人的身份相似性。
postnet模型仅适用于对应的说话人视频,所以对每个新的说话人视频都需要训练一个新的postnet。而且训练postnet时,既需要大的说话人数据集,也需要对应的说话人数据集。
可以从上图中看出,post-net模型将预测的人脸landmarks从大数据集的空间域迁移到特定人的域中,这样更能保证嘴型的同步性。
NeRF将一个连续的场景表示为一个输入为5D向量的函数,它的输入由一个空间点的3D位置
x
=
(
x
,
y
,
z
)
\mathbf{x} = \left( x, y, z \right)
x=(x,y,z)和它的2D视角方向
d
=
(
θ
,
ϕ
)
\mathbf{d} = \left( \theta, \phi \right)
d=(θ,ϕ),输出为对应3D位置的颜色
c
=
(
r
,
g
,
b
)
\mathbf{c} = \left(r,g,b \right)
c=(r,g,b)和体素密度
σ
\sigma
σ。NeRF函数用公式表示就是:
F
(
x
,
d
)
→
(
c
,
σ
)
F \left( \mathbf{x}, \mathbf{d} \right) \rightarrow \left( c, \sigma \right)
F(x,d)→(c,σ)
以3DMM landmark作为条件变量,基于NeRF进行三维重建,需要先对头部进行重建,然后以头部为条件变量,重建躯干。
将landmark
l
l
l作为NeRF的条件变量,用公式表示如下:
F
θ
(
x
,
d
,
l
)
→
(
c
,
σ
)
F_{\theta} \left( \mathbf{x}, \mathbf{d}, l \right) \rightarrow \left( c, \sigma \right)
Fθ(x,d,l)→(c,σ)
颜色
C
C
C计算的公式如下所示:
基于head-NeRF的输出颜色
C
h
e
a
d
C_{head}
Chead作为torso-NeRF像素级的条件,torso-NeRF的公式表示如下:
F
t
o
r
s
o
(
x
,
C
h
e
a
d
,
d
0
,
Π
,
l
)
→
(
c
,
σ
)
F_{torso} \left( x, C_{head},d_{0}, \Pi ,l \right) \rightarrow \left( c, \sigma \right)
Ftorso(x,Chead,d0,Π,l)→(c,σ)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。