单位:首尔大学
项目地址:https://ku-cvlab.github.io/GaussianTalker/
github:https://github.com/KU-CVLAB/gaussiantalker
本文是对GaussianTalker的解读,欢迎大家阅读指正!
目录
- 前言
- 摘要
- 一、背景介绍
- 二 相关工作
- 三 3DGS
- 四 方法
- 4.1 问题阐述和概述
- 4.3 学习音频驱动的3D高斯变形
- 4.3.1 空间-音频交叉注意力
- 4.3.2 与语音相关运动的解耦
- 五 实验
- 总结
前言
讲话人脸生成系统(Talking face generation, TFG),最近受到广泛欢迎。它的火爆程度随着近期一些新技术如扩散模型、3DGS和NeRF等出现,而受到进一步关注。但是遇到的痛点也不少,比如之前很火的Hallo等,使用的体验是不错,但是生成视频的速度比较慢。那么,如何快速生成高保真的视频效果呢?本篇文章带你探索这个良心工作。
效果展示
Live Video: Self-Driven2.mp4
摘要
该文提出了GaussianTalker,一个新颖的框架,用于实时生成可控制姿态的会说话头像。
它利用了3D高斯散射(3DGS)的快速渲染能力,同时应对了直接用语音音频控制3DGS的挑战。
GaussianTalker构建了一个标准的3DGS头部表示,并与音频同步进行变形。一个关键的见解是将3D高斯属性编码到共享的隐式特征表示中,在这里它与音频特征合并,以操纵每个高斯属性。这种设计利用了空间感知特征,并强化了邻近点之间的交互。然后,特征嵌入被送入一个空间-音频注意力模块,该模块预测每个高斯属性的逐帧偏移。与以往的连接或乘法方法相比,这种方法在操纵众多高斯及其复杂参数方面更为稳定。实验结果展示了GaussianTalker在面部保真度、唇部同步精度和渲染速度方面相比以前的方法的优越性。具体来说,GaussianTalker达到了高达120 FPS的卓越渲染速度,超越了以前的基准。代码已在 https://ku-cvlab.github.io/GaussianTalker/ 上公开。
特点:3DGS,音频特征同步,高保真,实时渲染
一、背景介绍
生成由任意语音音频驱动的TFG是一个广泛受欢迎的任务,它在数字人类、虚拟化身、电影制作和远程会议等多个领域都有多种用途[6, 21, 33, 36, 38, 40, 43, 54]。
痛点一:姿态不可控
虽然已有多种工作[6, 21, 33, 43]成功尝试使用生成模型来解决这项任务,但它们没有专注于控制头部姿态,这限制了它们的现实感和适用性。
痛点二:渲染速度过慢
最近,许多研究[17, 24, 27, 39, 48, 49]应用了神经辐射场(NeRF)[31]来创建可以控制姿态的会说话的肖像。通过在NeRF的多层感知器(MLP)中直接对音频特征进行条件化,这些方法可以合成与输入音频同步的视图一致的3D头部结构。尽管这些基于NeRF的技术实现了高质量和一致的视觉输出,但它们的慢推理速度限制了它们的实用性。尽管最近的进步[24, 39]在512×512分辨率下实现了每秒高达30帧的渲染速度,但必须克服计算瓶颈才能应用于现实世界场景。
图片说明:
现有3DTFG[17, 24, 39]与该方法之间的保真度、唇部同步和推理时间的比较。GaussianTalker,在更高的帧率(FPS)下实现了更优越的性能。GaussianTalker*,这是一个更高效、更快的变体。每个气泡的大小代表了每种方法每帧的推理时间。
思路启发:NeRF的一个可行替代方案
为了解决这个限制,一个直观的解决方案是利用3D高斯散射(3DGS)[22]的快速渲染能力。最近被认为是NeRF的一个可行替代方案,3DGS在显著提高推理速度的同时提供了可比的渲染质量。尽管3DGS最初是为重建静态3D场景而提出的,但随后的工作已经将其扩展到动态场景[30, 44–46]。然而,很少有研究利用3DGS创建具有可控输入的动态3D场景,其中大部分集中在使用中间网格表示来驱动3D高斯[7, 19, 26, 28, 34]。然而,依赖于中间3D网格表示,如FLAME[25],进行变形通常在头发和面部皱纹的细节上有所欠缺。
挑战:
作者确定了将语音音频直接映射到3D高斯变形的两个主要挑战。
- 3DGS表示缺乏相邻点之间的共享空间信息,这使得其操作变得复杂。3DGS的优化过程没有考虑相邻高斯之间的关系,这对于在变形期间保持面部区域的凝聚力至关重要。
- 广泛的参数空间和大量的高斯点构成了操作的挑战。与位置和采样点数量固定的可控NeRF表示不同,每帧需要变形的大量高斯点的位置、形状和外观属性,同时还要保留复杂的面部细节。
作者的做法
作者介绍了GaussianTalker,这是一个新颖的实时姿态可控的会说话头像合成框架。
这是首次利用3D高斯表示来利用其快速的场景建模能力,用于音频驱动的动态面部动画。
它构建了一个标准头部形状的静态3DGS表示,并与音频同步进行变形。
具体来说,作者采用多分辨率的三平面来提取每个3D高斯位置的特征嵌入,直接估计每个高斯属性。这种设计确保了三平面学习3D头部的空间和语义信息,而2D特征网格的插值机制有效地强化了相邻点之间的交互。随后,特征嵌入被输入到作者提出的空间-音频注意力模块中,在那里它们与音频特征合并,预测每个高斯属性的逐帧偏移。该模块成功地模拟了音频特征和每个高斯原素的运动之间的相关性。与先前工作中的串联[17, 39]或乘法[24]相比,交叉注意力提供了一种更稳定的操纵大量高斯及其复杂参数空间的方法。定性和定量实验表明,与先前方法相比,GaussianTalker在面部保真度、唇部同步精度和渲染速度方面具有优越性。此外,进行了消融研究,以验证模型中各个设计选择的有效性。
贡献总结
主要贡献总结如下:
- 首次提出一种新颖的音频条件3D高斯散射框架,用于实时3D感知的会说话头像合成。
- 重新设计了3D高斯表示,采用特征体积表示,以加强相邻高斯之间的空间一致性。
- 在音频和空间特征之间集成了交叉注意力机制,以提高稳定性,并确保在大量高斯上进行区域特定的变形。
二 相关工作
2.1 TFG:音频驱动的会说话肖像合成
音频驱动的会说话肖像合成旨在基于音频输入创建逼真的面部动画和准确的唇部运动。
早期基于2D GAN的方法[33, 37, 51, 52, 58]实现了照片级真实感,但由于缺乏3D几何信息,无法控制头部姿态。
基于模型的方法为了控制头部姿态,一些工作[29, 40, 42, 54]采用了基于模型的方法,其中面部标志点和3D可变形模型加强了唇部同步模型,并具有调整头部方向的能力。然而,这些方法导致了新问题,例如中间表示的额外误差,以及身份保持和现实感的不准确性。
最近神经辐射场(NeRF)[31]因其能够捕捉复杂场景而被探索用于会说话的肖像。AD-NeRF[17]开创性地使用NeRF的隐式表示进行条件音频输入,但头部和躯干的独立网络限制了其灵活性。随后基于NeRF的方法[27, 35, 47]实现了高质量,但渲染速度慢。虽然RAD-NeRF[39]和ER-NeRF[24]通过基于网格的NeRF[32]提高了效率和质量,但实时渲染姿态可控的3D会说话头像仍然是一个挑战。
2.2 3D高斯散射
3DGS[22]是点云渲染的开创性技术,它使用大量的椭圆形、各向异性球体来精确表示场景。每个点都包含一个3D高斯分布,其均值、协方差、不透明度和球谐参数被优化以准确捕捉场景的形状和外观。这种方法有效地解决了点渲染中的常见问题,例如输出间隙。此外,结合基于瓦片的光栅化算法,它促进了加速训练和实时渲染能力。最近,3DGS在3D视觉任务中得到了广泛应用,如3D环境中的对象操作[11, 14]、重建[12, 22]和感知[4, 30]。
2.3 使用3DGS进行面部动画
以前的面部重建和动画方法主要依赖于3D可变形模型(3DMM)[16, 23]或使用神经隐式表示[1, 15, 56]。
最近的方法[7, 9, 34, 41]转向采用3DGS表示,旨在利用快速训练和渲染的优势,同时仍实现竞争性的照片级真实感。GaussianAvatars[34]通过在FLAME[25]网格上装配3D高斯来重建头部头像。MonoGaussianAvatar[7]通过使用线性混合蒙皮(LBS)将3D高斯的均值位置从标准空间移动到变形空间,并同时通过变形场调整其他高斯参数,学习显式的头部头像。GaussianHead[41]采用了运动变形场来适应面部运动,同时保持头部几何形状,并单独使用三平面来保留个别3D高斯的外观信息。
然而,上述方法倾向于依赖参数模型进行面部动画。与以前的工作相比,我们的音频驱动方法不仅不需要超出语音序列的数据来进行面部重演,而且也很容易适用于新的音频。
三 3DGS
此处建议对3DGS的知识点充下电
四 方法
4.1 问题阐述和概述
在这一部分,描述了GaussianTalker的主要组成部分,该模型旨在实时合成由音频输入驱动的高保真度、姿态可控的会说话头像图像。作者的模型训练于一系列会说话的肖像视频 ,包含某个身份的个图像帧。目标是重建一组代表会说话头像平均形状的标准3D高斯,并学习一个变形模块,根据相应的输入音频来变形3D高斯。在推理过程中,对于输入音频,变形模块预测每个高斯属性的偏移量,并将变形后的高斯在观察点进行光栅化,以输出新的图像 。
我们提出的方法是在图2中描述的概述。首先在4.2节中介绍了多分辨率三平面,该三平面编码3D高斯的低维特征,以表示标准头部的静态平均形状。在4.3节中,介绍了语音运动交叉注意力模块,该模块融合3D高斯特征和音频特征,准确模拟由输入音频驱动的面部运动。最后,4.4节描述了阶段性训练策略和所使用的损失函数。
图2说明:GaussianTalker框架概述。GaussianTalker利用多分辨率的三平面来利用不同尺度的特征描述标准3D头部。这些特征与音频特征一起输入到空间-音频注意力模块中,以预测每帧的变形,从而实现快速且可靠的会说话头像合成。
4.2 学习具有三平面表示的标准3D高斯
图3三平面特征网格的可视化序列首先展示一张渲染图像,然后是其正交投影嵌入:正面(xy)、顶视图(yz)和侧视图(zx)。通过使用PCA将其维度降低到3,来对嵌入进行可视化。
挑战与方案
在这一部分,作者介绍了使用3D高斯表示学习会说话头像的标准形状的细节。原始的3DGS [22] 实现本身并不捕捉相邻和远距离3D高斯之间的空间关系。然而,动态3D头部的理想特征表示应对接近的面部区域相似,对分离的区域不同,因为接近的面部原语可能会朝同一方向移动。
为了实现这一点,通过学习低维特征表示来修改3D高斯表示,这些特征表示可以稍后与音频特征合并,用于每个高斯的变形。制定了嵌入空间以编码3D高斯的属性信息,以便在预测其变形偏移时考虑每个高斯的形状和外观。更具体地说,采用了一种混合3D表示,它利用3DGS的显式3D表示,同时也利用隐式神经辐射场[31]编码的空间信息。对于每个标准3D位置,从多分辨率三平面表示[3, 5, 13]中提取特征嵌入。这些特征嵌入被用来计算每个点的尺度、旋转、球谐和不透明度。这些计算出的属性构成了会说话头像的标准3D高斯。
4.3 学习音频驱动的3D高斯变形
图4展示了两个个体不同模态的注意力得分分布。从左到右分别是:原始渲染图像,负责音频线索的注意力得分,眨眼动态,头部方向(面部视点)和时间一致性(空)的注意力得分。
**不足之处:**先前的工作 [17, 24, 27, 39] 采用条件NeRF表示,其中每个光线上的采样点的3D坐标保持固定,只有颜色和密度受输入音频的条件。
然而,为了充分利用3DGS的显式表示,我们选择变形3D高斯,我们不仅操纵外观信息,还有每个高斯原素的空间位置和形状。虽然这可以更准确地捕捉不断变化的会说话头部的3D形状,但与控制NeRF表示相比,3D高斯的变形是一个更加复杂的任务。高斯原素的复杂性,加上它们的数量,由于3D高斯的广泛参数空间,为变形提出了重大挑战。此外,输入音频不会均匀地影响整个面部图像,这使得变形模块对于理解不同面部区域如何响应音频条件以实现真实的面部动画至关重要。
4.3.1 空间-音频交叉注意力
先前实现区域感知音频的方法,如 ER-NeRF [24],通过逐元素乘法简单地调整每个3D点的音频特征的权重。然而,它遇到了一个挑战,在动态场景中,不管多样的音频输入如何,一个特定的静态3D点始终维持相同的音频权重。这未能认识到一个固定的3D坐标可能不会始终对应相同的面部区域,随着场景的进展。
为了解决这个问题并增强空间-音频特征的提取,引入了空间-音频注意力模块,这是一个交叉注意力机制,将空间特征嵌入的标准3D高斯与随后的音频特征合并,捕捉输入语音如何影响3D高斯的运动。空间-音频注意力模块包括组交叉注意力层和前馈层,每个层都与跳跃连接相互连接。
4.3.2 与语音相关运动的解耦
挑战: 在合成会说话的头像时,相应的语音音频并不能解释所有复杂多样的面部运动。像眨眼和面部皱纹这样的微妙表情,以及头发运动和照明变化等外部因素,并不与输入的语音音频直接相关。因此,在将语音音频映射到3D高斯变形时,将非言语运动和场景变化分离是至关重要的。在这一部分,通过引入额外的输入条件来解决这一挑战,这些条件可以捕捉非言语运动,允许我们将与语音相关的运动从单目视频中解耦。
方案: 在遵循先前的工作[24, 39],作者首先使用眼部特征明确控制眨眼。具体来说,采用面部动作编码系统[10]中的 AU45 来描述眨眼的程度,并使用正弦位置编码以匹配输入的维度。此外,还将相机视点作为辅助输入,以解耦非言语场景变化。虽然我们将帧的相机表述为面部视点,但典型的视频是在相机静止时录制的,而头部则持续运动。因此,肖像图像中的变化,如头发位移和照明变化,是独立于语音音频的。因此,我们采用了面部视点嵌入作为额外的输入条件,以解耦这些非听觉场景波动。是通过将外部相机姿态映射到一个小的MLP上获得的嵌入向量,与其他输入具有相同的维度。最后,我们发现对所有帧使用一个空向量作为全局特征可以促进一致性。我们将这个空向量作为我们交叉注意力网络的额外输入。
五 实验
图5:不同音视频模型唇部同步的比较可视化 该序列展示了唇形如何符合所说单词‘country’(国家)、‘of’(的)、‘crime’(犯罪)、‘we’(我们)、‘up’(向上)、‘especially’(特别是)、‘like’(喜欢)中特定的音素,最后一帧显示闭嘴状态(‘静音’)。
总结
在这项工作中,作者提出了GaussianTalker,这是一个新颖的框架,用于实时姿态可控的3D会说话头像合成,利用3D高斯进行头部表示。
该方法通过对从多分辨率三平面提取的特征进行条件化,实现了对高斯原素的精确控制。此外,空间-音频注意力模块的整合便于动态变形面部区域,允许根据音频线索进行微妙的调整,并增强了口头运动的解耦。该方法以其优越的推理速度和对领域外音频轨迹的高保真度结果,与以前的基于NeRF的方法有所区别。其有效性通过定量和定性分析得到了验证。我们期待在视频游戏开发等领域提供丰富的用户体验,其中GaussianTalker的实时渲染能力有望增强交互式数字环境。