CapTalk:文本引导风格化 3D 头部动画
现有语音驱动 3D 头部动画(FaceFormer, CodeTalker, SelfTalk, MultiTalk 等)能生成唇同步的面部运动,但存在一个共同局限:无法在推理时指定说话风格。同一段语音输入,不同人的说话习惯(头部运动幅度、嘴巴张开大小、情绪表达方式)差异极大,但模型只能输出"平均化"的运动。
CapTalk #Chu-et-al.-2025 来自东京大学和 Snap Research,提出两个核心贡献:
- CapTalk 模型:首个允许用户通过文本描述同时控制说话风格和情绪的生成模型;
- CapTalkingHead 数据集:首个大规模 3D 面部运动数据集(200.8 小时),包含从音频和视频流中提取的风格和情绪标注。
2.1 数据集规模与标注
| 属性 | 值 |
|---|---|
| 视频片段数 | 24,441 clips |
| 总时长 | ~200.8 hours |
| 总帧数 | 18,074,445 frames |
| 平均片段时长 | ~29 seconds |
| 帧率 | 25 fps |
| 3D 标注 | FLAME 参数(shape β, expression ψ, pose θ) |
| 风格标注 | 从视频提取(微调 Qwen2.5-VL 7B) |
| 情绪标注 | 从音频提取(Qwen-Audio-Chat,8 类情绪) |
2.2 双模态标注流程
每个 clip 同时包含两种标注:
- 风格描述(Style Caption):使用微调的 Qwen2.5-VL 7B 从视频内容中提取,关注头部形状、嘴巴张开大小、头部运动幅度等视觉特征。例如:"head movements are subtle, with occasional nods and slight tilts. Mouth movements are natural and expressive..."
- 情绪标注(Emotion Caption):使用 Qwen-Audio-Chat 从音频中提取,输出 8 类情绪之一:angry, disgust, contempt, fear, happy, sad, surprised, neutral。
2.3 与现有 Talking Head 数据集对比
| Dataset | 3D 标注 | Style | Emotion | Hours |
|---|---|---|---|---|
| VOCASET | FLAME Mesh | ✘ | ✘ | 0.5 |
| RAVDESS | ✘ | ✘ | ✔ | 1.5 |
| MEAD | ✘ | ✘ | ✔ | 3.48 |
| TalkingHead1KH | ✘ | ✘ | ✘ | 200 |
| MMHead | FLAME | ✘ | ✔ | 49 |
| Express4D | ARKit | ✔ | ✔ | 1.5 |
| CapTalkingHead | FLAME | ✔ | ✔ | 200.8 |
CapTalkingHead 是唯一同时具备 FLAME 3D 标注、风格描述和情绪标注的大规模数据集,数据量(200.8 小时)超过 Express4D(1.5 小时)两个数量级。
3.1 多尺度二值量化 Codec
FLAME 运动序列 \(M_n\)(expression ψ + pose θ 在 \(N\) 帧上的拼接)通过多尺度二值量化编码为离散码:
- Transformer encoder 将特征投射到潜在空间;
- 二值球面量化(Binary Spherical Quantization)在不同时间尺度上生成离散码 \(C_{lvl}\);
- 不同尺度的码通过在时间维度 resize 后量化获得,量化过程中减去残差。
解码时,各尺度码上采样到长度 \(n\) 后求和,Transformer decoder 从求和码重建运动序列 \(\hat{M_n}\)。
Codec 损失函数:
其中 \(V\) 为 FLAME 模型的 5,023 个顶点,\(V_{lips}\) 为唇部顶点子集,\(L_{vq}\) 为向量量化损失。
3.2 文本条件自回归生成
基于窗口的自回归模型,输入包括:
- 前一窗口的码 + 前一尺度的码 \(C_{1,i-1}\)
- 音频特征(wav2vec 2.0 提取)
- 风格文本特征(T5 编码的 style caption)
- 情绪文本特征(T5 编码的 emotion caption)
使用 RoFormer(rotary position embedding)处理窗口内的位置信息。
3.3 FLAME 模型基础
FLAME 3D 可变形模型将头部网格表示为:
其中 \(\bar{T}\) 为模板网格(5,023 顶点),\(BS\) 为形状 blend shape(身份),\(BP\) 为姿态 blend shape(下颌/颈部),\(BE\) 为表情 blend shape(闭眼、微笑等)。
4.1 CapTalkingHead 测试集定量结果
| Method | LVE ↓ | MHD ↓ | FFD ↓ | LODD ↓ | HPDD ↓ |
|---|---|---|---|---|---|
| FaceFormer | 13.24 | 3.03 | 37.00 | 205.81 | 13.13* |
| CodeTalker | 12.55 | 2.83 | 38.93 | 170.52 | 13.13* |
| SelfTalk | 12.46 | 2.81 | 36.16 | 175.84 | 13.13* |
| MultiTalk | 12.13 | 2.72 | 34.59 | 110.30 | 13.13* |
| UniTalker | 13.68 | 3.39 | 33.91 | 132.27 | 13.13* |
| DiffPoseTalk | 11.38 | 2.50 | 29.36 | 82.30 | 9.59 |
| ARTalk | 7.71 | 1.98 | 29.64 | 90.89 | 9.76 |
| CapTalk | 6.44 | 1.80 | 25.14 | 58.27 | 7.59 |
五项指标全面最优。LVE(唇同步):6.44 vs 次优 ARTalk 的 7.71(提升 16.5%);FFD(全脸距离):25.14 vs 次优 DiffPoseTalk 的 29.36(提升 14.4%)。
注:标 * 的 HPDD=13.13 表示 FaceFormer 至 UniTalker 不生成头部运动(静态头部)。
4.2 MEAD 测试集零样本泛化
| Method | LVE ↓ | MHD ↓ | FFD ↓ | LODD ↓ |
|---|---|---|---|---|
| DiffPoseTalk | 10.19 | 2.44 | 23.33 | 79.99 |
| ARTalk | 8.12 | 1.73 | 18.51 | 109.80 |
| CapTalk | 8.07 | 1.81 | 20.59 | 85.82 |
CapTalk 未在 MEAD 上训练或微调,仅使用情绪标签(不提供风格描述),获得最少提示。LVE 最优(8.07),LODD 次优(85.82),展示了跨数据集的泛化能力。
4.3 User Study:13 人四维成对比较
| 对比方法 | Sync (%) | Style (%) | Expression (%) | Pose (%) |
|---|---|---|---|---|
| vs FaceFormer | 63 | 75 | 73 | — |
| vs CodeTalker | 83 | 77 | 87 | — |
| vs SelfTalk | 92 | 96 | 98 | — |
| vs MultiTalk | 94 | 94 | 88 | — |
| vs UniTalker | 96 | 92 | 94 | — |
| vs DiffPoseTalk | 79 | 78 | 79 | 72 |
| vs ARTalk | 68 | 66 | 68 | 67 |
所有对比中 CapTalk 均被偏好(>50%)。对 SelfTalk 差距最大(Sync 92%、Style 96%、Expression 98%),对 ARTalk 最小但仍被偏好(Sync 68%)。每人完成 132 个问题(38 对比较),视频顺序随机化。
4.4 消融实验:双模态标注的互补价值
| 变体 | LVE ↓ | FFD ↓ | LODD ↓ | HPDD ↓ |
|---|---|---|---|---|
| 无 Caption | 7.49 | 29.59 | 86.48 | 9.30 |
| 仅 Emotion Caption | 7.39 | 26.18 | 65.82 | 8.62 |
| 仅 Style Caption | 6.98 | 23.73 | 62.86 | 8.14 |
| CapTalk(完整) | 6.44 | 25.14 | 58.27 | 7.59 |
关键发现:
- 无 Caption 时性能显著下降(LVE 7.49 vs 6.44, LODD 86.48 vs 58.27);
- Style caption 对 FFD 贡献最大(23.73 vs 完整 25.14),说明视觉风格描述帮助模型学习面部运动模式;
- Emotion caption 对 LODD 贡献较大(65.82 vs 完整 58.27),说明情绪标注帮助长程运动一致性;
- 双模态组合(Full)在所有指标上效果最佳。
CapTalk 的核心贡献在于将文本描述作为风格控制信号引入 3D 头部动画生成。这对卡通数字人有两个重要启示:
- 风格可描述即可控制:如果能用文字描述卡通说话风格(如"夸张的头部摆动、大嘴巴张合、动漫式眨眼"),就可以通过类似 CapTalk 的机制控制生成。这为卡通数字人的"风格化"提供了一条新路径。
- FLAME 参数的跨域潜力:CapTalk 基于 FLAME 3D 模型生成运动,而 FLAME 参数(expression + pose)可以直接驱动不同风格的渲染器——包括卡通渲染器。这与 ToonTalker 的"共享运动空间"思路异曲同工。
局限:
- 窗口建模方法阻碍完全流畅连续的生成;
- 有限的语义理解,无法生成文化特定或上下文敏感的面部运动;
- 数据集全部基于真实人脸视频,卡通域的标注和训练尚需探索。
参考来源
- Chu, X. et al. (2025). CapTalk: Text-Guided Stylization and Speech-Driven 3D Head Animation. arXiv:2605.29316