Teller
论文信息
- 标题:Teller: Real-Time Streaming Audio-Driven Portrait Animation with Autoregressive Motion Generation
- 作者:Dingcheng Zhen, Shunshun Yin, Shiyang Qin, Hou Yi, Ziwei Zhang, Siyuan Liu, Gan Qi, Ming Tao
- 单位:Shanghai Soulgate Technology Co., Ltd.
- 发表:CVPR 2025, pp. 21075–21085
- 开源:未开源(截至 2026.07 未找到官方仓库)
音频驱动的肖像动画(talking head)在虚拟数字人、视频会议和娱乐场景中有广泛应用。核心挑战有两层:第一,生成高质量肖像动画需要协调唇形运动、面部表情和头部姿态,计算量大;第二,现有高质量方法几乎全部依赖扩散模型,而扩散模型的多步去噪推理使得实时交互成为空谈 #Zhen-et-al.-2025。
Teller 提出了一个新的解法:把面部运动先离散化为 motion token,再用自回归 Transformer 来预测 token 流——这样把"视频生成"重新表述为"语言模型式的 next-token prediction",从而大幅加速推理。论文还引入 Efficient Temporal Module(ETM)专门修复脖子、耳环等小部位的时序一致性,解决了现有快速方法忽略的第二个问题 #Zhen-et-al.-2025。
现有方法的核心矛盾
近年来,基于扩散模型的方法(如 Hallo、AniPortrait、EchoMimic)在 talking head 质量上取得了显著进展,但推理速度成了无法绕开的瓶颈。以 Hallo 为例,生成 1 秒 25 fps 的视频需要 20.93 秒;Teller 把同样的任务压缩到 0.92 秒,加速比约为 22×。这不是工程优化的差距,而是算法路线的本质差距 #Zhen-et-al.-2025。
另一个被忽视的问题是细节运动真实性。当现有快速方法(如早期的关键点驱动类方法)只聚焦于脸部时,脖子肌肉、耳环、项链这类受语音节奏驱动的细小运动往往显得僵硬或跳跃。Teller 的论文用可视化展示了这一问题:同一段音频,SadTalker 和 EchoMimic 的颈部和耳环运动明显不自然,而 Teller 通过 ETM 二阶段修复后的一致性更接近真实视频 #Zhen-et-al.-2025。
Teller 的核心 Insight
解决方案的关键在于换一个表示空间:把连续的面部运动 latent 量化成有限码本的离散 token,问题就从"生成连续高维特征"变成了"预测离散序列"——而后者正是自回归语言模型擅长的事情。一旦完成这个转换,200ms 的音频块对应 32 个 motion token,AR Transformer 在极短时间内就能完成预测,完全满足流式输出的延迟要求。
前置知识:隐式关键点运动 Latent
Teller 站在 LivePortrait 等隐式关键点模型的肩膀上。这类模型将人脸运动表示为三个分量的拼接,共 \(25 \times 3\) 维 #Zhen-et-al.-2025:
其中 \(\delta_1\)–\(\delta_{21}\) 是 21 个隐式关键点的表情形变向量(每个 \(\mathbb{R}^3\)),\(r_1, r_2, r_3\) 是三个头部旋转向量(头部姿态),\(t \in \mathbb{R}^3\) 是整体表情形变偏移。这 75 个实数构成一帧的完整面部运动描述子。
FMLG:RVQ 离散化运动 Token
FMLG(Facial Motion Latent Generation)的第一步是把连续的 motion latent 量化成离散 token。Teller 采用 Residual Vector Quantization(RVQ),将 \(T\) 帧的运动序列编码后与码本对齐。量化损失由两项构成 #Zhen-et-al.-2025:
其中 \(z_t = \mathrm{FFN}_{enc}(m)\) 是编码后的 latent,\(\hat{z}_t\) 是量化后的 latent,\(\mathrm{sg}\) 是 stop-gradient 操作。\(\mathcal{L}_{\text{recon}}\) 保证解码可以还原原始运动;\(\mathcal{L}_{\text{commit}}\) 则迫使编码结果稳定在码本附近,避免飘移 #Zhen-et-al.-2025。
经过 RVQ 超参数实验(图 4),论文选择 4 帧压缩为 32 个 token 作为质量与速度的折中:4 帧的运动信息(\(4 \times 25 \times 3 = 300\) 个实数)被映射到 32 个离散 token 索引,随后插值到 5 帧输出,实现比真实帧率略快的生成节奏 #Zhen-et-al.-2025。
Motion token
这里的 token 不是文本 token,而是被 RVQ 离散化的人脸运动片段。它把连续关键点运动变成有限码本索引,使音频到运动可以被写成 next-token prediction 问题。
AR Transformer:音频条件下的 Token 流预测
有了离散 token,Teller 把运动生成改写成条件自回归建模。给定音频条件 \(c\) 和过去的 motion tokens,预测下一个 token 的分布 \(P(t_i \mid c, t_{<i})\)。音频由 Whisper encoder 提取;为了满足实时流式,音频和视频都按 200ms 分块处理,每个音频块变成 \([10 \times 512]\) embedding,每个视频块对应 32 个 RVQ tokens #Zhen-et-al.-2025。
为了加速 token 生成,Teller 不是一次预测一个 token,而是让输入由 token pair 构成,并用两个 LM head 预测一对输出 token。每个 head 的损失分别为 #Zhen-et-al.-2025:
总体训练损失加入正则项以平衡两个 head 的学习速度 #Zhen-et-al.-2025:
正则项 \(\|\mathcal{L}_{\text{head0}} - \mathcal{L}_{\text{head1}}\|_2^2\) 确保两个 head 平衡训练,避免一个 head 显著弱于另一个。每个输入位置对应一个 token pair,embedding 是两个 token embedding 相加再叠加一个 BERT 风格的可学习位置偏置 #Zhen-et-al.-2025。
ETM:身体细节的单步时序修复
Stage 1 解决了"实时生成脸部运动"的主问题,但论文认为颈部肌肉、耳环等细节仍会显得僵硬。Teller 因此引入 Efficient Temporal Module:先用 VAE encoder 编码视频帧得到特征张量 \(x \in \mathbb{R}^{b \times t \times h \times w \times c}\),再 reshape 为 \((b \times h \times w) \times t \times c\) 送入 3D U-Net,让 self-attention 沿时间维 \(t\) 捕捉帧间依赖,最后通过 residual connection 合回空间特征 #Zhen-et-al.-2025。
ETM 的重建损失定义在第 6–10 帧(前 5 帧为真实帧,后 5 帧为 Stage 1 重建帧)上 #Zhen-et-al.-2025:
为了突出颈部、耳环等重点区域,ETM 还引入 region-specific mask 损失 #Zhen-et-al.-2025:
mask 由 MediaPipe landmark 的 bounding box 定义(关键点索引 [93, 323, 152]),覆盖颈部和耳环所在区域;区域内为 1,区域外为 0 #Zhen-et-al.-2025。与扩散模型的时序层不同,ETM 只需单步前向,维持实时性的同时修复了细节一致性。
Stage 1:FMLG 预训练 + SFT
Stage 1 的任务是学习 Facial Motion Latent Generation。训练数据为 AV Speech(过滤后 662 小时)和 VFHQ(过滤后 2 小时)用于预训练,另有 32 小时互联网 talking-head 视频用于 supervised fine-tuning(SFT);验证使用 HDTF(过滤后 0.83 小时)、RAVDESS(过滤后 0.55 小时)和 0.49 小时互联网数据 #Zhen-et-al.-2025。
数据质量控制采用双重过滤:MediaPipe 人脸检测过滤掉面部运动幅度超过 50% 的片段,再用 Sync-C 和 Sync-D 分数过滤掉唇形同步质量差的样本 #Zhen-et-al.-2025。
Stage 2:ETM 训练
ETM 使用真实序列的前 5 帧和 Stage 1 重建的后续帧配对训练,同时施加整体重建损失和 region-specific mask 损失(详见第三章公式)。整体训练在 8×8 A800 机器上完成 30 epochs #Zhen-et-al.-2025。
| 配置项 | 披露状态 | 值 / 说明 |
|---|---|---|
| 训练数据 | 已披露 | AV Speech 662h + VFHQ 2h(预训练);互联网 talking-head 32h(SFT) |
| 训练硬件 | 已披露 | 8×8 NVIDIA A800(Stage 1 预训练 + SFT + Stage 2) |
| 优化器 | 已披露 | AdamW(Stage 1 预训练、SFT、Stage 2 均使用) |
| 学习率 | 已披露 | 预训练 1e-4 → 1e-6(cosine);SFT 1e-5 → 1e-6(cosine);Stage 2 1e-4 → 1e-6(cosine) |
| Batch size | 已披露 | 预训练 1024;SFT 512;Stage 2 1024 |
| 训练步数 / 轮数 | 已披露 | 预训练 40 epochs;SFT 10 epochs;Stage 2 30 epochs |
| 训练时长 | 未披露 | 原文未给出 |
| 模型参数量 | 部分披露 | Stage 1 AR Transformer 参照 Qwen1.5-4B 架构(随机初始化);总参数未明确 |
| 精度格式 | 未披露 | 原文未明确(未提及 FP16/BF16) |
| Checkpoint 策略 | 未披露 | 原文未给出选择标准 |
| AR Transformer 初始化 | 已披露 | 参照 Qwen1.5-4B 架构,参数随机初始化(非迁移学习) |
| 数据过滤策略 | 已披露 | MediaPipe 过滤面部运动 >50%;Sync-C/D 过滤低唇形同步样本 |
Teller 的推理链路可以拆成四步。第一步,Whisper encoder 将当前 200ms 音频块编码为 \([10 \times 512]\) audio embedding(平均耗时 7ms)。第二步,AR Transformer 根据历史 motion tokens 和当前音频条件预测新的 RVQ motion tokens(Stage 1 平均 106ms,其中 AR Transformer 每 16 tokens 约 6ms,motion decoder 约 10ms)。第三步,motion decoder 把 tokens 还原为连续 motion latent,并驱动隐式关键点动画模型生成初步视频帧。第四步,ETM 对连续帧进行时序细化,修复脖子、耳环和细小身体运动(Stage 2 平均 71ms,VAE encoder/decoder 约 25ms,Temporal Module 约 21ms)#Zhen-et-al.-2025。
flowchart TD A["200ms audio chunk"] --> B["Whisper encoder\n7ms → 10×512 embedding"] B --> C["AR Transformer\nStage 1: 106ms total"] D["previous motion tokens\n(历史状态)"] --> C C --> E["32 RVQ motion tokens"] E --> F["motion decoder\n~10ms"] F --> G["implicit-keypoint animation\nLivePortrait 驱动"] G --> H["Stage 1 frames\n(粗糙,细节不足)"] H --> I["ETM temporal refinement\nStage 2: 71ms total"] I --> J["streaming portrait video\n≤200ms 总延迟,可达 25 FPS"]
Streaming Inference Pipeline
流式场景的关键约束是:每个 chunk 的处理时间必须低于 chunk 自身的时长(200ms)。各阶段延迟分布如下:Whisper 7ms + Stage 1 106ms + Stage 2 71ms = 184ms,略低于 200ms 阈值,因此系统可以按 200ms 粒度持续输出,实现最高 25 FPS #Zhen-et-al.-2025。
与扩散模型的本质区别在于:Teller 的 Stage 1 只做一次自回归预测(非迭代去噪),Stage 2 也只做一次前向传播(非多步 DDIM/DDPM)。这使得"单步生成"在算法上成为可能,而不只是工程加速 #Zhen-et-al.-2025。
| 配置项 | 披露状态 | 值 / 说明 |
|---|---|---|
| 评测数据集 | 已披露 | HDTF(0.83h)、RAVDESS(0.55h)、互联网数据(0.49h,仅定性对比) |
| 评测指标 | 已披露 | FID↓(图像质量)、FVD↓(视频质量)、Sync-C↑(唇形同步内容)、Sync-D↓(唇形同步动态) |
| Baseline 方法 | 已披露 | SadTalker、EchoMimic、AniPortrait、Hallo;同时与 Real video 参考值对比 |
| 推理硬件 | 已披露 | 4 NVIDIA H800 |
| 推理分辨率 | 未披露 | 原文未明确给出输出分辨率 |
| 推理环境 | 未披露 | 原文未给出 PyTorch 版本或 CUDA 版本 |
HDTF 定量结果
HDTF 表格中,Teller 的 FVD 为 173.463(最优),低于 Hallo 的 174.191;Sync-C 为 7.696(最优),Sync-D 为 7.536(最优);FID 为 21.352,略差于 Hallo 的 20.639。最关键的速度对比:Teller 1 秒视频生成时间为 0.92s,Hallo 为 20.93s,加速比约 22× #Zhen-et-al.-2025。
| HDTF | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ | Time(1s 视频) |
|---|---|---|---|---|---|
| SadTalker | 22.177 | 233.673 | 7.326 | 7.848 | 18.89s |
| EchoMimic | 23.049 | 290.190 | 6.664 | 8.839 | 31.10s |
| AniPortrait | 28.161 | 235.099 | 4.547 | 10.657 | 29.36s |
| Hallo | 20.639 | 174.191 | 7.497 | 7.741 | 20.93s |
| Teller(ours) | 21.352 | 173.463 | 7.696 | 7.536 | 0.92s |
| Real video | — | — | 8.094 | 6.976 | — |
RAVDESS 定量结果
RAVDESS 表格中,Teller 报告 FID 20.352、FVD 429.288(最优)、Sync-C 4.496(最优)、Sync-D 7.936。它在 FVD 和 Sync-C 上领先,FID 略差于 Hallo 的 19.826,Sync-D 略差于 SadTalker 的 7.621 #Zhen-et-al.-2025。RAVDESS 包含 angry、disgust 等情绪,进一步验证了 Teller 在情绪表达场景的鲁棒性。
| RAVDESS | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ |
|---|---|---|---|---|
| SadTalker | 32.343 | 487.924 | 4.304 | 7.621 |
| EchoMimic | 21.058 | 668.675 | 3.292 | 9.096 |
| AniPortrait | 30.696 | 476.197 | 2.321 | 11.542 |
| Hallo | 19.826 | 537.478 | 4.062 | 8.552 |
| Teller(ours) | 20.352 | 429.288 | 4.496 | 7.936 |
| Real video | — | — | 5.223 | 7.069 |
人工评测
人工评测由 30 位参与者(66.7% 年龄 24–30,33.3% 年龄 30–40;30% 男性,70% 女性;83.3% 有 AIGC 模型使用经验)对 100 段视频进行 5 点 Likert 评分,聚焦于唇形同步、身体运动真实性和时序一致性三个维度。Teller 在三个维度均排名最高,且得分方差较小,说明其生成质量具有一致性 #Zhen-et-al.-2025。
消融:Whisper vs funcodec,单头 vs 多头
音频条件编码器消融显示,Whisper(ASR 模型)的 Sync-C / Sync-D 为 7.696 / 7.536,而 funcodec(TTS 模型)为 4.286 / 10.373。差距显著,论文认为 ASR 模型捕捉语音细节的能力更适合精确唇形同步 #Zhen-et-al.-2025。
单头与多头架构消融更微妙:single-head 的 FID 22.110、FVD 172.553、Sync-C 7.790、Sync-D 7.474;multi-head 为 FID 21.352、FVD 173.463、Sync-C 7.696、Sync-D 7.536。single-head 在同步指标上略优,但 multi-head 在 FID 上更好,且并行预测两个 token 提供了更强的实时生成潜力,论文最终选择多头方案 #Zhen-et-al.-2025。
| 音频编码器 | Sync-C↑ | Sync-D↓ |
|---|---|---|
| funcodec(TTS) | 4.286 | 10.373 |
| Whisper(ASR) | 7.696 | 7.536 |
| 架构 | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ |
|---|---|---|---|---|
| Single-Head | 22.110 | 172.553 | 7.790 | 7.474 |
| Multi-Head | 21.352 | 173.463 | 7.696 | 7.536 |
竞品对比
| 方法 | 核心路线 | 速度(1s 视频) | 实时性 | 细节运动 |
|---|---|---|---|---|
| SadTalker | 3DMM + 关键点 ODE | 18.89s | ❌ | 基础 |
| AniPortrait | 音频 → 3D + 扩散 | 29.36s | ❌ | 中等 |
| Hallo | 分层音频扩散 | 20.93s | ❌ | 好 |
| EchoMimic | 音频扩散 | 31.10s | ❌ | 中等 |
| Teller | RVQ token + AR Transformer + ETM | 0.92s | ✅ 25 FPS | 好(ETM 修复) |
Teller 的启发
Teller 值得放进数字人系列,是因为它把 talking head 从"视频生成模型"重新表述为"音频条件下的运动 token 流生成"。这个改写很重要:一旦运动被离散化,系统就可以借鉴语言模型的自回归预测、chunk streaming、top-k sampling 和多头并行预测;视频生成不再每次都从像素或 latent diffusion 开始 #Zhen-et-al.-2025。
论文还指出 AR Transformer 架构与现有统一多模态语言模型兼容,意味着未来可以把 motion token 直接插进大语言模型的 token 流中,实现"对话 + 生成数字人视频"的统一建模 #Zhen-et-al.-2025。这是扩散模型路线难以轻松实现的特性。
局限性
局限也很清楚。第一,CVF 页面和论文没有给出官方代码仓库,源码级实现仍需等待公开。第二,25 FPS 与低于 200ms 的 chunk 延迟是在 4×H800 推理设置下报告的,消费级显卡、端侧设备或云端多租户服务都需要重新实测。第三,ETM 虽然修复小部位运动,但依赖额外二阶段模型和 MediaPipe 区域 mask,工程链路比单纯的隐式关键点驱动更复杂。第四,RVQ 量化会引入信息损失,论文未讨论量化误差对极端表情(如大幅度恐惧、愤怒)的影响边界 #Zhen-et-al.-2025。
复习速查
- 核心路线:隐式关键点 motion latent → RVQ motion tokens → AR Transformer → ETM。
- 实时关键:200ms chunk,Whisper 7ms + Stage 1 106ms + Stage 2 71ms,低于 chunk 时长。
- 代表数字:Hallo 20.93s vs Teller 0.92s for one second video generation;最高 25 FPS。
- 量化配置:4 帧(\(4 \times 25 \times 3\) latent)压缩为 32 个 RVQ token,再插值到 5 帧。
- 主要风险:多卡 H800 环境、无公开源码、ETM 增加工程复杂度。
参考来源
- Zhen, D., Yin, S., Qin, S., Yi, H., Zhang, Z., Liu, S., Qi, G., & Tao, M. (2025). Teller: Real-Time Streaming Audio-Driven Portrait Animation with Autoregressive Motion Generation. CVPR 2025, pp. 21075–21085. CVF HTML · PDF
- Guo, J. et al. (2024). LivePortrait: Efficient Portrait Animation with Stitching and Retargeting Control. arXiv:2407.03168. arXiv · 精读 →
- Xu, M. et al. (2024). Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation. arXiv:2406.08801. arXiv · 精读 →
- Wei, H. et al. (2024). AniPortrait: Audio-Driven Synthesis of Photorealistic Portrait Animation. arXiv:2403.17694. arXiv
- Zhang, Z. et al. (2021). Flow-guided One-shot Talking Face Generation with a High-resolution Audio-visual Dataset. CVPR 2021. (HDTF dataset)
- Livingstone, S. R. & Russo, F. A. (2018). The Ryerson Audio-Visual Database of Emotional Speech and Song (RAVDESS). PLOS ONE. Zenodo