Towards High-fidelity 3D Talking Avatar with Personalized Dynamic Texture¶
会议: CVPR 2025
arXiv: 2503.00495
代码: 项目主页
领域: Human Understanding
关键词: 语音驱动面部动画, 动态纹理, 3D说话头像, 扩散模型, 风格解耦控制
一句话总结¶
提出TexTalk4D数据集(100分钟扫描级8K动态纹理)和TexTalker框架,首次实现从语音同时生成面部运动和对应的动态纹理(皱纹变化),并通过基于风格锚点(style pivot)的注入策略实现解耦的运动/纹理风格控制。
研究背景与动机¶
语音驱动3D面部动画已有大量研究,但大多只关注几何运动(网格/顶点位移),忽视了动态纹理的重要性。说话时面部的皱纹压缩与形成反映了肌肉力量,缺少动态纹理会显著降低渲染真实感甚至产生恐怖谷效应。
面临两大挑战:(1) 缺乏高质量动态纹理数据集 — 现有4D数据集要么从单目视频估计(精度低、时间不一致),要么通过捕捉系统获取但缺乏纹理(如VOCASET、MEAD-3D)。唯一包含动态纹理的Multiface仅13个主体,分辨率1024且多样性不足。(2) 几何与纹理的联合生成未被研究 — 运动是3D顶点偏移而纹理是2D图像,表示空间差异大,难以学习跨域关联。
方法详解¶
整体框架¶
TexTalker分三阶段:(1) 将面部运动和纹理变化统一为UV空间的motion map和wrinkle map,通过量化自编码器学习紧凑的面部动画原语(primitives);(2) 训练Transformer-based潜在扩散模型(LDM)在音频引导下联合生成运动和皱纹的潜在编码;(3) 使用style pivot实现解耦的运动和皱纹风格控制。
关键设计1:面部动画原语学习(统一表示)¶
- 功能: 将异质的3D几何运动和2D纹理变化统一到相似的潜在空间
- 核心思路: 将顶点偏移\(\mathbf{m}_t\)映射到UV空间得到motion map \(\mathbf{f}_t\),将纹理变化表示为与中性表情的比值得到wrinkle map \(\mathbf{w}_t\)。分别训练两个VQGAN编码器\(\mathcal{E}_f, \mathcal{E}_w\),将它们压缩到\(16 \times 16 \times 16\)的离散潜在空间(码本大小1024)
- 设计动机: 直接在UV map上生成成本过高,且运动和纹理表示差异大难以学习关联。通过统一到UV空间+量化编码,既压缩了维度又使两种模态在同一表示框架下,便于后续联合建模
关键设计2:运动-皱纹联合潜在扩散模型¶
- 功能: 在音频引导下联合生成时间一致的面部运动和纹理变化序列
- 核心思路: 将运动和皱纹的潜在编码拼接为\(\mathbf{X}^0 = [\mathbf{z}_f, \mathbf{z}_w]\),使用8层Transformer decoder作为去噪网络,以HuBERT提取的音频特征为条件。采用滑动窗口策略(\(T_w=90, T_p=10\))学习长期依赖,使用对齐掩码确保运动-皱纹特征仅关联同帧音频
- 设计动机: 几何和纹理本质上强相关(皱纹反映肌肉运动),联合生成能利用互补信息促进彼此质量。实验证明联合学习在两个指标上都优于分离学习
关键设计3:基于风格锚点的解耦风格注入¶
- 功能: 实现说话风格和皱纹风格的独立控制
- 核心思路: 利用学到的码本空间的聚类性质——同一主体的潜在编码自然聚类,聚类中心(style pivot \(\mathbf{p} = \frac{1}{T}\sum_{t=1}^T \mathbf{z}_t\))捕获风格特征。LDM改为预测与锚点的偏移\(\Delta\mathbf{z} = \mathbf{z} - \mathbf{p}\)(与音素相关但与风格无关),推理时通过添加不同主体的\(\mathbf{p}_{f,i}\)和\(\mathbf{p}_{w,j}\)实现任意组合
- 设计动机: one-hot风格嵌入无法捕获复杂风格且泛化差;基于示例的方法需要额外网络。style pivot直接来自学到的空间,简洁且具表达力
损失函数¶
- 动画原语: \(\mathcal{L}_{\text{latent}} = \mathcal{L}_{\text{rec}} + \eta_{\text{per}}\mathcal{L}_{\text{per}} + \eta_{\text{adv}}\mathcal{L}_{\text{adv}} + \eta_{\text{code}}\mathcal{L}_{\text{code}}\)
- LDM训练: \(\mathcal{L}_{\mathcal{F}} = \|\hat{\mathbf{X}}^0 - \mathbf{X}^0\|^2\)(简单MSE损失)
实验关键数据¶
主实验:面部运动质量对比(TexTalk4D-Test-A)¶
| 方法 | LVE↓ (\(10^{-2}\)mm) | MVE↓ (\(10^{-2}\)mm) | FDD↓ (\(10^{-3}\)mm) |
|---|---|---|---|
| FaceFormer | 1.80 | 2.94 | 1.68 |
| CodeTalker | 1.83 | 2.80 | 1.38 |
| FaceDiffuser | 1.53 | 2.38 | 1.64 |
| TexTalker | 1.49 | 2.34 | 1.20 |
纹理质量对比¶
| 方法 | PSNR↑ | SSIM↑ | LPIPS↓ | Realism↑ | Consistency↑ |
|---|---|---|---|---|---|
| 静态纹理 | 39.79 | 0.967 | 0.0146 | 3.10 | 2.65 |
| Li et al. | 42.34 | 0.981 | 0.0187 | 3.91 | 3.78 |
| Ours | 44.13 | 0.985 | 0.0101 | 4.13 | 3.97 |
消融实验¶
| 变体 | LVE↓ | MVE↓ | PSNR↑ | SSIM↑ |
|---|---|---|---|---|
| w/o Wrinkle (仅运动) | 1.73 | 2.76 | - | - |
| w/o Motion (仅皱纹) | - | - | 43.87 | 0.985 |
| Joint Codebook | 1.71 | 2.68 | 43.45 | 0.981 |
| w/o Pivot (one-hot) | 1.70 | 2.60 | 43.61 | 0.984 |
| Full | 1.49 | 2.34 | 44.13 | 0.985 |
关键发现¶
- 联合学习比分离学习在运动和纹理质量上都更优,验证了跨模态互补信息的价值
- 分离码本优于联合码本,说明运动和纹理虽相关但最优表示空间不同
- style pivot注入显著优于one-hot风格嵌入(LVE: 1.49 vs 1.70)
亮点与洞察¶
- 首个音频驱动带动态纹理的3D说话头生成方法: 填补了领域空白,揭示动态纹理对渲染真实感的关键作用
- TexTalk4D数据集: 100主体、8K分辨率、扫描级精度的标杆数据集
- Style pivot的优雅性: 直接从学到的空间提取风格表示,无需额外网络,且实现解耦控制
局限与展望¶
- 当前动态纹理在512分辨率下生成,需要超分辨率网络上采样到8K,细节可能有损
- 数据集仅包含亚洲青年面孔,多样性有限
- 未探索表情驱动的纹理生成(仅语音驱动)
相关工作与启发¶
- UV空间的统一表示思路可推广到其他需要联合生成不同模态的任务
- 基于潜在空间聚类性质提取风格的思路简洁有效,可用于其他风格化生成任务
评分¶
⭐⭐⭐⭐ — 提出了新任务和高质量数据集,方法设计优雅(特别是style pivot),实验全面。数据集的开源将推动领域发展。
相关论文¶
- [CVPR 2025] VTON 360: High-Fidelity Virtual Try-On from Any Viewing Direction
- [ICCV 2025] HiNeuS: High-fidelity Neural Surface Mitigating Low-texture and Reflective Ambiguity
- [CVPR 2026] 4DSurf: High-Fidelity Dynamic Scene Surface Reconstruction
- [CVPR 2025] DualTalk: Dual-Speaker Interaction for 3D Talking Head Conversations
- [ICCV 2025] Hi3DGen: High-fidelity 3D Geometry Generation from Images via Normal Bridging