炸裂!一人在家就能拍电影,阿里Wan-Animate统一角色动画生成,一键复刻
发布时间:2025-09-23 15:11:26 浏览量:1
阿里通义实验室HumanAIGC团队把一个叫Wan-Animate的框架给开源了。
一出手,就给开源视频生成带来了亿一点点震撼。它把角色动画生成和角色替换这两件大事,塞进了一个统一的系统里。
什么意思呢?
就是你给它一个参考视频,直接生成参考视频动作表情一样的视频;或者一张静态的角色图片,再加一段参考视频,它就能让你的角色活过来,完美复刻视频里那个人的所有动作和表情,生成一段以假乱真的角色动画视频。
这还只是基本操作。
更绝的是,它还能将一张照片,无缝“塞”参考视频里,把视频中那个角色给替换掉。同时,连周围环境的光线、色调都给你安排得明明白白,保证新角色和场景看起来就像原生长的一样,毫无违和感。
在它出来之前,开源社区里搞角色动画的,总有点“瘸腿”。有的专精动作,但搞出来的角色个个都是面瘫;有的表情倒是挺丰富,但身体跟焊在地上似的。想把角色和环境融为一体,更是难上加难。
一个模型,两种玩法
Wan-Animate的底层逻辑,是建立在一个叫Wan-I2V(万象图生视频)的模型之上。为了让它胜任角色动画这个新工作,团队对它的“输入方式”做了个巧妙的改造。
这个改造是整个系统的核心,它让一个模型能同时听懂两种指令,支持两种核心功能:动画模式(Animation Mode)和替换模式(Replacement Mode)。
动画模式很好理解。你给一张“奥特曼”的图片,再给一段“李白”舞剑的视频。模型就能生成一段“奥特曼”舞剑的视频,背景还是“奥特曼”图片里的背景。这就像一个标准的图生视频(I2V)任务。
替换模式就更有意思了。同样是“奥特曼”的图和“李白”舞剑的视频。这次,模型会让“奥特曼”在“李白”原本舞剑的那个竹林场景里舞剑,把李白给替换掉。这就变成了一个视频到视频(V2V)的翻译任务。
两种模式的目标都是精准复制动作和表情,唯一的区别是背景的来源。一个用的是原图的背景,一个用的是参考视频的背景。
Wan-Animate通过对输入格式的微调,就能让同一个模型在这两种模式间自由切换,大大减少了重复训练的麻烦。
它怎么知道该学谁、该画哪?
这个统一框架的精髓,在于它对输入信息做了精细的“规划”。
传统的图生视频模型,通常把输入的图片当作视频的第一帧,然后往后推演。但角色动画不一样,那张角色图是“外观参考”,得贯穿始终,而不是只在开头出现一下。
Wan-Animate设计了一套新的输入范式。它把输入信息分成几块:带着噪点的空白画布(潜在变量)、提供参考信息的画板(条件潜在变量),还有一个二进制掩码,像个蒙版,用来告诉模型哪块区域要保留,哪块区域要重新生成。
当你想让角色动起来时,那张参考角色图会被编码,然后像个“图钉”一样被按在时间线上,告诉模型:“记住这个长相,别画跑偏了”。
为了让生成的长视频更连贯,模型还会从已经生成好的片段末尾,随机挑几帧作为“时间向导”,确保下一段视频能顺滑地接上。
环境的处理则更显智慧。
在动画模式下,目标区域的蒙版完全是黑的(值为0),模型就在这片空白上作画,背景自然就是参考图里保留下来的部分。
在替换模式下,模型会先用算法把参考视频里的原始角色“抠掉”,只留下背景。然后,这个“抠掉角色”的背景被用作条件,蒙版则精确地标记出背景区域是白色(值为1,保留),被抠掉的角色区域是黑色(值为0,重新生成)。
这样一来,模型就只会在那个“空洞”里画画,完美实现了角色的替换和背景的保留。
手术刀般的精准控制
为了实现“整体复刻”这种神乎其技的效果,Wan-Animate把控制信号拆成了两部分:身体动作和面部表情,分开处理,精准打击。
身体控制,用的是“骨骼棒图”。
之前大家主要用两种信号控制身体,一种是2D骨骼,一种是3D SMPL(蒙皮多人线性模型)渲染图。
SMPL是3D的,对复杂姿势的表达更准,但它不够通用,碰到奇形怪状的非人角色就容易抓瞎。而且渲染图里带着角色的体型信息,模型学着学着可能就忘了最初参考图里的角色长啥样了,导致身份不一致。
2D骨骼,也就是“火柴人”,虽然有时候会因为角度问题有点模糊,但它通用性极强,管你是什么牛鬼蛇神,都能给你整一套骨架出来,鲁棒性(robustness)更好。
权衡之下,Wan-Animate选了2D骨骼。它用VitPose提取骨骼,然后把这些“火柴人”姿势帧压缩成与目标视频维度一致的信号,再注入到模型的噪声画布里去。
面部控制,则放弃了“火柴人”。
脸上的戏太多了,用面部关键点来控制,就像用像素画去模仿高清照片,会丢失大量细节。而且一旦关键点没打准,很容易让角色的脸看起来很怪,尤其是在两个人脸型差异很大的时候。
Wan-Animate另辟蹊径,它选择直接粗暴地使用原始的面部图像作为驱动信号。
训练的时候,它会从视频里把脸裁出来,然后用一系列手段“折磨”这张脸,比如缩放、调色、加噪声,目的是把身份信息给模糊掉,只保留表情信息。它不希望模型因为看到驱动视频里的人脸,就照着那个人的脸去画,导致“身份泄露”。
在模型架构里,这些处理过的面部特征会被注入到一个专门的“面部模块”(Face Adapter)里。通过一种时间对齐的交叉注意力机制,这些表情信号就能精准地作用于每一帧画面的生成上,同时不干扰身体的动作。
让角色融入环境的点睛之笔
角色替换最大的挑战,是光照。一个白天拍的角色,硬塞到一个黄昏的场景里,会显得格格不入,就像一张劣质的贴纸。
为了解决这个问题,Wan-Animate引入了一个辅助模块,叫Relighting LoRA(重新打光低秩适配)。
这个模块平时不上班,只在替换模式下激活。它的唯一任务,就是给新来的角色“重新打光”,调整他的光照和色调,让他完美融入新环境。
训练这个模块的方法也很有趣。团队会先把一个角色从视频里抠出来,然后用一个叫IC-Light的技术,把他合成到一个全新的随机背景上。IC-Light会自动根据新背景,给角色打上合适的光。
这样就得到了一对数据:原始角色和被“重新打光”后的角色。把这些数据喂给Relighting LoRA,它就学会了如何根据环境来调整光影。
有了这个模块,Wan-Animate在做角色替换时,既能保持角色的身份特征,又能让他在新环境里看起来自然得体。
实际效果怎么样?
团队建立了一个评估基准,用自重建任务(用视频第一帧做参考,重建整个视频)来衡量模型的性能。评价指标包括SSIM(结构相似性)、LPIPS(感知相似性)和FVD(弗雷歇视频距离)等。
结果如下表所示。
可以看到,和目前主流的开源框架相比,无论是基于早期UNet(U型网络)架构的模型,还是近期基于DiT(扩散变换器)架构的新秀,Wan-Animate在各项指标上都取得了领先。它不仅生成质量高,而且功能最全面。
光跟开源的比还不过瘾。
团队还找来了两个行业顶尖的闭源解决方案来“踢馆”:Runway的Act-two和字节跳动的DreamActor-M1。
到了这个级别,传统的数字指标已经很难分出高下,因为大家的生成质量都很高。于是,团队搞了一场“盲测”用户研究。
他们生成了多组对比视频,一边是Wan-Animate,另一边是竞争对手,然后随机打乱,让20个参与者来投票,选出他们更喜欢哪一个。评判标准包括视频质量、身份一致性、动作准确性和表情准确性。
用户研究的结果显示,Wan-Animate获得了压倒性的偏好。这说明在人类的感官层面,它的综合表现已经达到了业界顶尖水准。
下面是一些实际的效果展示,可以更直观地感受到它的能力。
富有表现力的人物动画
具备泛化能力的任意角色动画
动态动作与镜头
实现环境无缝融合的角色替换
光线与色调的一致性复刻
Wan-Animate的开源,不仅仅是给社区贡献了一个强大的工具,它还提供了一套完整且先进的设计思路,将角色动画的生成、控制与环境融合,提升到了一个新的高度。
所以,你想好让谁来当你的第一个动画主角了吗?
开源地址与模型:
GitHub:https://github.com/Wan-Video/Wan2.2
Hugging Face:https://huggingface.co/Wan-AI/Wan2.2-Animate-14B
ModelScope:https://www.modelscope.cn/models/Wan-AI/Wan2.2-Animate-14B/summary
免费试玩:
参考资料: