大数跨境

角色动画进入实时时代:阿里开源 Wan-Animate-2 14B,24fps 驱动数字人直播

角色动画进入实时时代:阿里开源 Wan-Animate-2 14B,24fps 驱动数字人直播 努力犯错玩AI
2026-08-08
5
导读:过去一年,角色动画是视频生成里最热闹的赛道之一。一张角色图片加一段参考视频,就能让照片里的人物动起来、跳起来

过去一年,角色动画是视频生成里最热闹的赛道之一。一张角色图片加一段参考视频,就能让照片里的人物动起来、跳起来、做表情。但热闹归热闹,这类模型始终有个尴尬的短板:它们几乎都是"离线"工具。你得先上传素材,等上几十秒甚至几分钟,才能拿到一段成片。想做数字人直播、实时互动这些场景,根本来不及。

阿里通义万相团队刚刚开源的 Wan-Animate-2,直接把这条边界推了过去。14B 参数的模型,端到端消费驱动视频,不再依赖骨骼点、关键点这类中间表示;还带了一个叫 Wan-Animate-2-Lite 的实时变体,在 4 张 H100 上能以 24fps 的吞吐生成 400×720 的视频,超过了实时阈值。论文和代码、权重一并放出,Apache 2.0 协议,在线 Demo 也已开放。

要理解这个进展的分量,得先回头看这个团队的迭代节奏。2025 年 9 月他们开源了 Wan2.2-Animate-14B,第一次把"角色动画生成"和"视频人物替换"两个任务收进同一个模型,当时已经引起不小反响。但那一代仍然沿用了显式运动表示的老路:要先把驱动视频里的骨架、面部标志点提取出来,再作为条件喂给生成模型。Wan-Animate-2 等于把这个依赖链条整个拆掉了,同时补上了实时能力和视角控制两个新维度。同一支团队、同样的基座思路,两代模型之间隔着一整套技术路线的更换,这在开源视频模型里并不常见。

实时角色动画

先说 Wan-Animate-2 到底做了什么。它把角色动画从"上传等结果"的离线流程,变成可以流式输出的实时能力。Wan-Animate-2-Lite 在论文里的实测数据是:4 张 H100 组成的流水线,以 400×720 分辨率持续生成,吞吐达到每秒 24 帧。这意味着摄像头前的人做动作,屏幕上的数字人能同步跟上,表情、手势都不掉队。

这个能力对应的场景很明确:虚拟主播、直播数字人、实时互动环境。论文里也直接点名了这些应用。此前这些场景只能靠预录视频或简化版方案凑合,现在开源模型第一次给出了实时通道。

Wan-Animate-2 角色动画生成效果

参考图 + 驱动视频生成的角色动画帧:人物姿态与表情与驱动视频高度同步

除了实时,Wan-Animate-2 还在两个方向上做了升级。一是生成质量,端到端架构让动作保真度和身份保持都比上一代明显提升;二是视角控制,用一句自然语言提示词就能改变输出视频的相机机位,这是此前角色动画模型很少支持的能力。

免骨架端到端架构

为什么说"端到端"是个关键变化?先看旧方案的通病。主流的角色动画模型分两类:显式运动表示方法先跑一个辅助网络,从驱动视频里提取 2D 骨架或者 SMPL 参数,再把骨架作为条件送进生成模型;隐式运动表示方法则把驱动视频压进一个潜空间编码器。前者的问题在于提取器本身会出错,跨身份迁移时容易出现身份漂移;后者的问题在于压缩过程会丢掉细粒度动态,微表情、手指动作、复杂非刚体运动这些细节最容易受损。

Wan-Animate-2 的路线是第三种:既然参考视频本身就是信息完整的运动先验,那就别再折腾中间表示,直接把驱动视频的 patch 化潜变量送进 Diffusion Transformer(DiT)。论文对架构做了三处针对性设计:

双分支 DiT。 参考分支和去噪潜变量分支并行,但参考分支固定锚定在 t=0 的干净潜变量上,不受去噪噪声干扰;两个分支共享 QKV 投影参数,各自做 attention。这样既避免了把全部 token 拼成一个序列做全局自注意力的二次复杂度,又保证了参考分支提供的是干净、稳定的运动指导。

Time-Align RoPE。 两个分支分辨率可能不一致,位置编码如果各算各的会产生歧义。做法是在旋转位置编码前先把参考 token 按帧拼接到去噪序列上,参考 token 分配一个空间偏移量,保证跨分支的时空对齐一致。

Sparse-Ref Attention。 角色动画里参考帧和目标帧天然按帧对齐,所以没必要让每个目标 token 去 attend 全部参考 token。限制每个查询 token 只 attend 时间对应的参考 token,交叉分支注意力复杂度从 O(Nr×Nl) 降到 O(Nl),计算和显存开销大幅下降,同时保留了高保真的运动指导。

Wan-Animate-2 端到端架构图

Wan-Animate-2 双分支 DiT 架构:参考分支固定在干净潜变量空间,通过 Sparse-Ref Attention 把运动信息注入去噪分支

提示词切换机位

角色动画一直有个隐含限制:输出视频的相机视角被驱动视频锁死了。驱动视频是正面机位,生成结果就只能是正面。想做多机位观察,要么重新找素材,要么放弃。

Wan-Animate-2 用一个轻量的 Viewpoint LoRA 把这个耦合解开了。他们把相机视角空间离散成 12 个方位角乘 4 个俯仰角,一共 48 个视角,然后用 Unreal Engine 渲染了一批带精确相机标注的多视角数据来训练。LoRA 只加在 cross-attention 的投影矩阵上,基座权重不动。训练时把视角描述写进 prompt,推理时用户直接用自然语言控制,比如"right 60-degree view"、"top angle",不需要给出任何相机参数。

实测效果是,即使相机视角大幅变化,角色所在环境的一致性依然保持得不错。这意味着同一段动画可以从多个角度生成,对虚拟制片、内容创作来说是很实用的增量能力。论文里的对比样例也展示了同样的动作在不同机位下的输出。

在线体验与本地部署

想试的话,最省事的方式是打开 ModelScope 上的在线 Demo,上传角色图片和参考视频就能生成,支持 2 到 30 秒的视频长度,分辨率限制是短边大于 200、长边小于 2048。本地部署也简单,模型权重在 HuggingFace 和 ModelScope 都有,14B 的 Base 版和蒸馏版都提供了。

代码仓库的默认配置按 8 张 A800 调优,支持 720P 生成;官方也验证过 2 张 A800 上跑 480P。硬件配置不同的话,改 YAML 里的并行配置就行。推理前需要用一个大语言模型给参考图生成中文描述,仓库里给了现成的 prompt 模板,描述人物外观和背景即可,不需要描述动作。

蒸馏版是加速推理的关键:10 步采样、无需 CFG,配合 Euler scheduler 使用。diffusers 库也已经官方支持 WanAnimate2Pipeline,等下一个版本发布后可以直接用,也可以从源码安装体验。用 diffusers 跑一段生成,代码量不大:


   
   
   
   
    
    
    
  
   
   
   
   from diffusers import WanAnimate2Pipeline
pipe = WanAnimate2Pipeline.from_pretrained(
    "Wan-AI/Wan2.2-Animate-2-14B-Diffusers"
,
    torch_dtype=torch.bfloat16
).to("cuda")
output = pipe(
    image=load_image("reference.png"),
    driving_video="template.mp4",
    prompt="人物外观描述:……",
    height=800, width=640,
    num_inference_steps=40,
)
export_to_video(output.frames[0], "output.mp4", fps=24)

蒸馏版则把采样步数压到 10 步、guidance_scale 设为 1.0,配合 Euler 调度器,出片速度明显更快。官方 Demo 里那只穿蓝色制服的小猫就是标准示例,从参考图加驱动视频,一步到位生成完整动画。

Lite 的实时秘密

Wan-Animate-2-Lite 能跑到 24fps,靠的不是简单砍参数量,而是一套三阶段的训练范式,把多步去噪压成了 3 步。

第一步是 Teacher Forcing 预训练。把扩散模型改造成因果生成器,视频潜变量按时间切成不重叠的 chunk,每个 chunk 生成时能看到前面所有已生成的 chunk,配合因果注意力掩码。这样模型学会逐块自回归地合成视频,而不是一次性全局去噪,为流式输出打底。

第二步是 Error Buffer 机制。训练时模型看到的是真实干净潜变量,推理时看到的是自己上一块的预测结果,这个差距会让误差逐块累积。解决办法是在训练中记录模型的单步预测残差作为"误差缓冲",再把它加回上下文里喂给模型,让模型提前适应不完美的输入。论文的演示里,长序列连续生成没有出现明显的误差累积或质量劣化。

第三步是 Self-Forcing 蒸馏。用 DMD(Distribution Matching Distillation)框架把多步去噪蒸馏到更少的迭代次数。难点在于 Self-Forcing 需要完整的自回归 rollout 来计算分布匹配分数,14B 规模下显存根本扛不住。他们设计了一种 chunk-wise 反向传播:先无梯度地跑完整个 rollout 并算好分数,再逐 chunk 开梯度回传、累积梯度,块与块之间严格切断计算图。这样峰值显存从"跟序列长度成正比"降为"跟单个 chunk 成正比",14B 模型的蒸馏才变得可行。

推理侧同样做了工程化。4 张 H100 分工:一张做 VAE 编码,两张用序列并行跑 3 步 DiT 去噪,剩下一张做 VAE 解码,流水线重叠执行,硬件利用率拉满。

Wan-Animate-2-Lite 实时推理管线

Wan-Animate-2-Lite 因果生成管线:视频按时间分块逐块自回归合成,配合误差缓冲机制保证长序列稳定

盲测打赢商业闭源

质量上能不能打,论文用盲测用户研究说话。对比对象是上一代 Wan-Animate,以及两个商业闭源平台:即梦(Dreamina)和可灵的动作控制(Kling-MotionControl)。参与者从视觉质量、动态自然度、身份保持、动作准确度、表情准确度五个维度打分,外加一个总体质量评估。

结果分三档。对 Wan-Animate:全面超越,总体质量上超过 70% 的成对比较都偏好 Wan-Animate-2。对即梦:多数比较中参与者更偏好 Wan-Animate-2 的结果。对可灵动作控制:两者相当,大多数参与者认为生成视频质量同级。

最值得玩味的是背景差异。即梦和可灵都建立在更大的闭源视频生成基座模型之上,而 Wan-Animate-2 完全基于开源基座模型开发。开源模型在角色动画这个具体任务上能追平甚至反超商业闭源方案,这对整个开源生态是个相当强的信号。当然也要说明,这是论文自报的盲测结果,具体到不同素材上的表现,还是自己上手试最靠谱。

盲测用户研究对比结果

盲测对比:Wan-Animate-2 全面超越 Wan-Animate,多数偏好胜过即梦,与可灵动作控制同级

训练数据从哪来

角色动画训练需要严格对齐的视频对:不同角色、完全一致的动作和表情。真实世界里很难找到这种数据。Wan-Animate-2 的解决办法是自己造数据。

数据管线建立在上一代 Wan-Animate 之上:先收集一批覆盖不同角色类型和动作模式的参考视频,再用两种方式生成参考图。一种是用 Qwen-Image-Edit 编辑参考视频的首帧,换背景、换角色元素;另一种是用 Qwen-Image 和 Z-Image 直接生成多样化的角色资产,覆盖人物和拟人卡通动物,包含全身、半身、特写不同景别和宽高比。然后把参考视频和生成的参考图随机配对,用 Wan-Animate 合成新的视频片段,就得到了训练用的对齐视频对。

合成数据还要过三道质量过滤:视频整体质量(剔除伪影、模糊)、运动特征(剔除静止或抖动)、主体一致性(检查角色身份是否全程稳定)。只有全部达标的样本才进入训练集。视角 LoRA 的数据则来自 Unreal Engine 渲染:48 个离散视角下渲染多视角视频,提供相机视角变化的真值监督,再用文本标注(比如"右侧 60 度视角")把相机参数映射成自然语言。

总结与展望

把 Wan-Animate-2 的三个贡献放在一起看,它其实在回答同一个问题:角色动画能不能从"离线、单视角、高延迟"变成"实时、多视角、高保真"。端到端架构去掉中间表示,解决了质量上限;Viewpoint LoRA 解耦相机视角,增加了可控维度;Lite 变体把延迟压到实时阈值,打开了交互式应用的入口。数字人、虚拟制片、直播娱乐,论文列出的这些方向,每一个都对应着真实的商业化场景。

局限也坦诚说几点。实时推理的 24fps 是在 4 张 H100 的流水线部署上实现的,官方默认配置也是按 8 张 A800(720P)调优,部署门槛不低。视角控制依赖文本描述,目前是离散的 48 视角空间,精确到连续角度的控制还做不到。另外,训练数据大量来自合成管线,复杂真实场景下的泛化表现有待更多社区验证。

但方向已经很清楚了。开源角色动画第一次同时拿到了质量、可控性和实时性三张入场券。接下来就看社区能把 14B 的权重玩出什么花样了。

获取方式

  • • 代码仓库:https://github.com/Wan-Video/Wan-Animate-2
  • • 论文:https://arxiv.org/abs/2608.06009
  • • 模型权重(HuggingFace):https://huggingface.co/Wan-AI/Wan2.2-Animate-2-14B
  • • 模型权重(ModelScope):https://modelscope.cn/models/Wan-AI/Wan2.2-Animate-2-14B
  • • 在线 Demo:https://www.modelscope.cn/studios/Wan-AI/Wan2.2-Animate
  • • 项目主页:https://humanaigc.github.io/wan-animate-2/
                 

【声明】内容源于网络
0
0
努力犯错玩AI
为AI开发者打造HuggingFace国内镜像站,提供最新流行开源模型资讯并免费加速下载。更多内容请访问https://aifasthub.com
内容 286
粉丝 0
努力犯错玩AI 为AI开发者打造HuggingFace国内镜像站,提供最新流行开源模型资讯并免费加速下载。更多内容请访问https://aifasthub.com
总阅读2.4k
粉丝0
内容286