LiveAnimate: Stable Long-Form Streaming Human Animation in Real-Time
Yuxuan Zhang, Haozhong Xiong, Yubo Huang, Jiayi Song, Jinpeng Yu, Haofan Wang, Jiaming Liu, Ruihua Huang, Liwei Wang
cs.CV
2026-08-12
LiveAnimate 把 14B 视频扩散模型改成自回归流式生成,双 H100 跑到 19.6 FPS,三分钟长视频里人物身份和画质几乎不变,同类 14B 系统要离线算几小时。
姿态驱动的人物动画(pose-driven human animation):从一张参考图加一段姿态序列,生成这个人的动作视频。直播、虚拟主播、远程在场这类交互场景要求实时,来一帧姿态就得马上吐出对应画面。但现有基于扩散模型(diffusion)的系统动辄几分钟到几小时出一个片段,根本没法交互。
长视频还会崩。扩散模型生成几秒以上就容易出现人物身份漂移、外观走样。一边要实时,一边要分钟级稳定,过去没有一个十亿参数规模的全身动画系统能同时做到。
基于 Wan2.2-Animate-14B 改造。核心是把双向(bidirectional)扩散模型改成块因果(block-causal)自回归生成器,分两阶段训练,再配一个有界缓存保稳定。
第一阶段 Reference-Anchored Teacher-Forcing Adaptation(参考锚定的教师强制适应)。把视频切成时间块,每块生成时注意前面的干净历史(ground truth),而不是学生自己生成的有误差的历史。一个全局的 Ref Sink 存参考图的 KV,所有后续块都能看到。先把模型教会按块生成。
第二阶段 Block-wise Self-Forcing Distillation(块级自强制蒸馏),把每块的采样步数从 50 降到 3。学生先生成完整轨迹,再逐块回放、只对当前块算梯度。用 LoRA(rank 128)训练,单 8×80GB 节点能跑。
PR-Sink(Pose-Retrieval Sink Attention,姿态检索汇聚注意力)是稳定长视频的关键,是个有界的 KV 缓存,三个槽:
因为缓存有界,内存和每块延迟与视频长度无关,永远是常数。
双 H100、480×480 分辨率下 19.63 FPS,每 12 帧一块延迟约 611 ms。
三分钟基准(25 FPS),从开头 30 秒到最后一分钟:
| 时段 | IQA | DINO-S | FID |
| 0-30s | 4.047 | 0.833 | 99.38 |
| 120-180s | 4.026 | 0.818 | 100.90 |
几乎不变。对照里 One-to-All 的 DINO-S 从 0.769 掉到 0.328、IQA 从 3.402 掉到 1.786,FID 从 146.29 往上窜,身份基本崩掉。对照的 14B 系统离线跑这三分钟要几小时(One-to-All 约 2 小时),LiveAnimate 是流式实时跑的。
扩展性:1 卡 12.41 FPS、2 卡 19.63、4 卡 22.13。
这是第一个在十亿参数规模同时做到实时和稳定长视频的全身动画系统。之前的实时方案要么是轻量 GAN 牺牲画质,要么是 14B 扩散但只能离线。19.6 FPS 跨过了交互门槛,只是分辨率锁在 480p。对直播数字人、虚拟主播是直接可用的工程落点。
作者自述:分辨率锁在 480×480;只有 3 步去噪限制了画面精细度;不支持多人场景;不支持大相机运动。
读下来有个设计值得留意:记忆库只在头 20 块写入(约 8 秒),之后姿态覆盖就固定了。如果后面出现全新的姿态,系统没有对应的外观上下文可检索。论文也没在超过三分钟的视频上验证,稳定性能否外推到十分钟级存疑。