GGTalker: Talking Head Synthesis with Generalizable Gaussian Priors and Identity-Specific Adaptation¶
会议: ICCV 2025
arXiv: 2506.21513
代码: 无
领域: 人体理解
关键词: 说话人头合成, 3D高斯溅射, 先验-适配, FLAME, 大规模预训练
一句话总结¶
GGTalker 提出先验-适配两阶段训练策略,从大规模数据集学习通用的音频-表情先验和表情-视觉先验,再快速适配到特定身份,在渲染质量、3D 一致性、唇同步和训练效率上全面达到 SOTA,仅需 20 分钟适配即可生成 120 FPS 的逼真说话头视频。
研究背景与动机¶
语音驱动的 3D 说话头合成在虚拟现实、数字人等领域需求旺盛。随着 NeRF 和 3DGS 等 3D 渲染技术的发展,3D 方法因身份一致性好和渲染速度快而备受关注。但现有 3D 方法存在三个核心问题:
泛化能力不足:仅支持与训练数据相似的音频推理,对分布外(OOD)音频(如跨说话人、跨语言)效果差。
大角度转头失败:合成大幅度头部旋转(如侧脸、仰头)时出现伪影和空洞,因为单目训练视频缺乏充分的 3D 信息。
训练效率低下:每个身份从头训练需要数小时(ER-NeRF 5h, SyncTalk 5h, AD-NeRF 30h),部分方法甚至需要昂贵的多视角同步视频。
作者认为根本原因在于:现有方法缺乏充分的 3D 先验。所有人类头部的形状、纹理和音频-唇部运动的关联都遵循通用模式,这些模式可以从大规模数据中学习,再针对特定身份微调。这种先验-适配的方式不仅能缓解过拟合,还能大幅提升训练效率。
方法详解¶
整体框架¶
GGTalker 由三部分组成: 1. Audio-Expression 模型:从音频生成表情参数序列 2. Expression-Visual 模型:从单张参考图像预测粗略头部纹理 3. Customized Adaptation:适配特定身份的面部纹理和说话习惯
整体采用 FLAME 参数化模型作为中间表示,将 3D 高斯绑定到 FLAME 网格上以实现显式的姿态和表情控制。
关键设计¶
- 音频-表情先验(Audio-Expression Priors)
使用条件扩散 Transformer 从音频预测表情序列:
- **音频条件编码器**:Wav2Vec 2.0 提取音频特征 $\mathbf{a}_t \in \mathbb{R}^{1280}$,线性投影到 $d=512$ 维,浅层 Transformer 编码时序依赖。引入身份嵌入 $\mathbf{I} \in \mathbb{R}^{64}$ 用于检索说话人风格。输出帧级条件 $\mathbf{C}' \in \mathbb{R}^{T \times d}$ 和全局条件 $\bar{\mathbf{c}}$。
- **扩散时间条件器**:使用 DDPM 迭代精炼表情序列。扩散时间步 $n$ 通过正弦位置编码 + MLP 转换为时间嵌入 $\mathbf{t}_n$,通过 FiLM 调制和令牌化两种方式注入模型。
- **Transformer 解码器**:$L=8$ 层,每层包含自注意力(捕捉时序依赖)和交叉注意力(与音频特征对齐)。应用分类器无关引导($p=0.1$ 随机置零条件)。输出预测表情:$\hat{\mathbf{e}}_t = f_\theta(\mathbf{z}_t, \mathbf{C}', \bar{\mathbf{c}}, \mathbf{t}_n)$
损失函数:\(\mathcal{L}_{\text{A2E}} = \lambda_{temp}\mathcal{L}_{temp} + \lambda_{exp}\mathcal{L}_{exp}\),其中 \(\mathcal{L}_{temp}\) 为相邻帧 Huber 损失(时序平滑),\(\mathcal{L}_{exp}\) 为 L2 正则。
- 表情-视觉先验(Expression-Visual Priors)
高斯绑定:将 3D 高斯绑定到 FLAME 网格三角形上。每个三角形的中心 \(\mathbf{C}^i\) 作为局部坐标系原点,三角形的缩放 \(\mathbf{l}^i\) 和旋转 \(\mathbf{R}^i\) 决定高斯的全局属性转换。
Identity-Gaussian Generator:巧妙利用 FLAME 网格的 UV 布局,从单张参考图像预测 UV 高斯图 \(M \in \mathbb{R}^{H \times W \times 14}\)。每个像素对应一个 14 维高斯参数。通过均匀采样 UV 图并相对于规范网格放置高斯,实现了从 2D 图像到 3D 高斯头部的优雅转换——这在之前的方法中需要逐帧拟合。
Source-Target 自监督训练:同一身份随机选两帧作为 source 和 target。source 图像经 Generator 预测高斯头部,用 target 的表情/姿态驱动并从 target 的相机视角渲染,由 ground truth target 图像监督。这样在没有多视角数据的情况下也能学到 3D 先验。
损失函数:\(\mathcal{L}_{\text{E2V}} = \lambda_{\text{L1}}\mathcal{L}_{\text{L1}} + \lambda_{\text{SSIM}}\mathcal{L}_{\text{SSIM}} + \lambda_{\text{vgg}}\mathcal{L}_{\text{vgg}} + \lambda_\mu\mathcal{L}_\mu\)
-
定制化适配(Customized Adaptation)
-
Expression-Visual 微调:从参考图像生成粗略 UV 高斯图 \(\hat{M}_{id}\),用完整训练视频的 FLAME 参数驱动并渲染,由 ground truth 监督。先冻结 FLAME 参数仅优化 \(\hat{M}_{id}\),再联合优化两者以修正单目追踪误差。
-
Audio-Expression 微调:冻结音频编码器,微调条件编码器和 Transformer 解码器,适配特定身份的说话风格。低学习率 + 早停防止过拟合。
-
Color MLP \(\mathcal{M}_{\text{SH}}\):基于表情和姿态参数动态调整高斯颜色属性:\(\mathbf{SH}_l = \mathcal{M}_{\text{SH}}(\hat{\mathbf{SH}_l}, \mathcal{F}_{exp}, \mathcal{F}_{pose})\),生成与运动对齐的锐利纹理。
-
Body Inpainter \(\mathcal{I}\):轻量级 U-Net,将渲染的头部结果与躯干和背景融合,避免硬拼接产生的伪影:\(I_{vid} = \mathcal{I}(I_{res}, (1-\text{Dilate}(\mathbf{M}))I_{ori})\)
-
损失函数 / 训练策略¶
- 先验阶段:Audio-Expression 在 HDTF + CN-CVS + 100h 自采数据训练;Expression-Visual 在 VFHQ + NeRSemble 训练。各约 2 天(8×A100)。
- 适配阶段:~20 分钟(1×A100),lr=1e-5。
- 推理:120 FPS。
实验关键数据¶
主实验¶
自重演定量结果:
| 方法 | PSNR↑ | LPIPS↓ | SSIM↑ | FID↓ | LMD↓ | AUE↓ | LSE-C↑ | 训练时间↓ | FPS↑ |
|---|---|---|---|---|---|---|---|---|---|
| ER-NeRF | 30.438 | 0.0408 | 0.9331 | 5.516 | 4.014 | 4.774 | 5.008 | 5h | 38.2 |
| SyncTalk | 32.545 | 0.0334 | 0.9630 | 6.820 | 2.963 | 3.618 | 7.693 | 5h | 31.9 |
| GaussianTalker | 32.941 | 0.0531 | 0.9531 | 6.392 | 3.061 | 2.980 | 6.109 | 1h | 72.8 |
| GGTalker | 35.203 | 0.0281 | 0.9816 | 4.624 | 2.328 | 2.171 | 8.210 | 0.3h | 120 |
GGTalker 在几乎所有指标上大幅领先:PSNR 高 2.3dB,LPIPS 低 16%,训练时间仅 20 分钟,推理速度 120 FPS(比 SyncTalk 快 3.75 倍)。
OOD 音频唇同步:
| 方法 | 跨身份 LSE-D↓ | 跨身份 LSE-C↑ | 跨语言 LSE-D↓ | 跨语言 LSE-C↑ |
|---|---|---|---|---|
| SyncTalk | 8.732 | 5.640 | 9.756 | 5.301 |
| TalkingGaussian | 9.501 | 4.344 | 9.831 | 3.118 |
| GGTalker | 8.051 | 6.268 | 8.923 | 5.769 |
GGTalker 不仅在自重演表现最佳,在跨身份和跨语言的 OOD 场景中同样达到 SOTA,验证了先验学习带来的泛化能力。
消融实验¶
| 配置 | LPIPS↓ | LMD↓ | LSE-C↑ | 说明 |
|---|---|---|---|---|
| Full GGTalker | 0.0281 | 2.328 | 5.769 | 完整模型 |
| w/o A-E Priors | 0.0306 | 2.741 | 3.268 | 无音频-表情先验,从头训练,OOD 严重退化 |
| w/o A-E Fine-tuning | 0.0385 | 3.287 | 4.780 | 不微调说话风格,动作不自然 |
| w/o E-V Priors | 0.0438 | 3.826 | 4.682 | 无视觉先验,从头训练,3D 一致性差 |
| w/o E-V Fine-tuning | 0.0473 | 2.925 | 4.524 | 不微调纹理,身份过于平滑 |
| w/o Color Fine-tuning | 0.0336 | 2.470 | 5.431 | 固定颜色,微表情丢失 |
关键发现¶
- A-E Priors 对 OOD 泛化至关重要——移除后 LSE-C 从 5.769 骤降至 3.268。
- E-V Priors + Fine-tuning 的两阶段缺一不可:仅有先验则纹理过于平滑,仅有微调则新视角出现伪影和空洞。
- Color MLP 虽然轻量但对纹理锐度有可观贡献(LPIPS 0.0336→0.0281)。
- FLAME 参数的联合优化对修正单目追踪误差有正面作用。
亮点与洞察¶
- 先验-适配范式的优雅:将通用模式(头部纹理分布、音频-唇部关联)从大数据学习,再快速迁移到特定个体,是一个强有力的设计哲学。训练时间从数小时降至 20 分钟,效率提升 10 倍以上。
- UV 空间的巧妙利用:利用 FLAME 网格的 UV 布局,将 3D 高斯预测优雅地转化为 2D 图像生成问题,避免了逐帧拟合的繁琐流程。
- 120 FPS 实时渲染:得益于高斯溅射的高效渲染 + 紧凑的高斯表示,推理速度远超所有竞争方法。
局限与展望¶
- FLAME 仅建模头部区域,躯干和手部需要额外处理(Body Inpainter 的简单 U-Net 方案仍有改进空间)。
- 对极端面部遮挡(如手遮脸、眼镜反光)的鲁棒性未讨论。
- 表情先验在大规模数据上训练但仅覆盖有限的情感范围,对极端表情可能泛化不佳。
- 当前 FLAME 追踪算法的精度直接影响最终效果,联合优化只能部分缓解。
相关工作与启发¶
- 2D 方法(如 Wav2Lip、Hallo)有强大的生成能力但身份一致性差;GGTalker 通过 3D 显式表示实现了更好的身份保持。
- GGHead 和 GaussianAvatars 的高斯头部建模思想对本文有直接启发。
- 先验-适配的思想在 NLP(如预训练-微调)中非常成熟,本文将其成功引入 3D 说话头领域。
评分¶
- 新颖性: ⭐⭐⭐⭐ 先验-适配框架在说话头合成中首次系统性实现,UV 空间高斯预测设计巧妙
- 实验充分度: ⭐⭐⭐⭐⭐ 覆盖自重演、跨身份、跨语言,消融详尽,定性比较充分
- 写作质量: ⭐⭐⭐⭐ 技术细节完整,消融分析清晰
- 价值: ⭐⭐⭐⭐⭐ 训练效率和渲染速度的突破使说话头技术更接近实际应用