引言
今天,通义万相的视频生成模型又又又开源了!Wan2.2系列模型家族新增数字人成员Wan2.2-Animate-14B。
这是一款可以实现动作捕捉的模型——可以让任意角色,精准复刻高难度舞蹈动作,或复刻影视剧表演,精准还原表情神态。
动作捕捉:
这也是一款可以实现角色替换的模型——可以让将视频中的角色替换任意角色,精确保留原始视频的动作、表情以及环境。
角色替换:
魔搭体验链接:https://modelscope.cn/studios/Wan-AI/Wan2.2-Animate
编辑
开源地址:
github: https://github.com/Wan-Video/Wan2.2
模型链接:https://modelscope.cn/models/Wan-AI/Wan2.2-Animate-14B
模型介绍
给定一个角色图像和一个参考视频,Wan-Animate 支持两个模式:Animation和Replacement。
Animation:实现动作捕捉,它将参考视频中角色的动作和表情迁移到静态的图像上,以驱动角色实现动画效果。
Replacement:实现角色替换,它将参考视频中的角色替换为参考图像的角色,保证角色的身体动作、面部表情,并与环境的光影/色调融合。
编辑
技术特点与优势
- 同一模型支持Animation、Replacement两种场景
- 对不同类型的角色(不同年龄的人类、类人的卡通角色等)支持良好
- Replacement支持复杂的光影融合,替换违和感低,具备电影级的生成质量
- 开源了完整的动作retarget(pose transfer)能力,有助于各类pose驱动模型的效果提升
模型架构: 统一双模态的条件生成框架
Wan-Animate 基于 Wan-I2V 构建,通义万相团队对其输入形式进行了调整,将参考图像、时序帧引导和环境信息(为支持双模式兼容)统一到一套通用的符号化表示框架下。在身体动作控制方面采用骨骼信号,并通过空间对齐进行融合。在面部表情控制方面,提取人脸图像中的隐式特征作为驱动信号。此外,为实现角色替换功能,额外训练了一个辅助的“重光照 LoRA”,以增强角色与新环境的融合效果。
输入构造:通用的符号化表示框架
模型输入由三部分构成:噪声隐向量、条件隐向量和二值掩码。参考图像经 Wan-VAE 编码后,与条件隐向量沿时序拼接,作为角色外观信息注入。输入视频中随机选取前几帧作为时序潜在表示,用于提供时序连续性。模型通过二值掩码控制生成区域,在Animate模式下,与目标帧对应的条件帧被置零,其关联的二值掩码也全部设为0,Wan-Animate 在保留给定参考图像背景的前提下生成角色视频。在Replace模式下,首先从参考视频中分割出角色,随后通过将分割出的角色区域置零来生成二值掩码,Wan-Animate 仅在掩码为零的区域内生成内容,实现统一输入的双模式的生成。
编辑
Wan-Animate模型框架
控制信号:骨骼驱动身体,隐式特征驱动面部
控制信号通过Body Adapter和Face Adapter进行条件注入。身体控制使用VitPose提取目标帧中角色的骨架以生成姿势帧,这些姿势帧通过Wan-VAE 进行压缩,以在空间和时间上与目标隐向量对齐。使用投影层将姿势隐向量分块,并将其添加到分块后的噪声隐向量中,人脸图像被编码为帧级隐式潜在表示,随后与DiT 潜在表示进行时间对齐。这些特征通过在每个对应的时间段内运行的交叉注意力机制注入。
编辑
脸部控制模型结构
Relighting LoRA:轻量微调实现环境光照适配
为解决 Replacement 模式中角色与环境光照不匹配问题,额外引入了一个辅助的重光照LoRA,该模块可在替换过程中进一步调整角色的光照和色彩色调,使其能够适应新的环境。Relighting LoRA 仅应用于DiT 块内的自注意力和交叉注意力层。训练数据通过 IC-Light 合成:将角色抠出后重打光贴至随机背景,模型由此学会在保持身份一致的前提下,自适应调整色调与光照,实现物理合理的环境融合。
编辑
使用IC-Light进行数据增强的样例
评估指标
通义万相团队建立基准数据集分别进行了定量评估与人工评估,并与多个主流开源框架进行对比。定量评估结果表明,Wan- Animate模型在多个指标上实现了卓越性能。 此外,Wan-Animate 人工评估的结果中也取得了优异表现。
编辑
编辑
模型推理
官方GitHub代码的推理支持单卡和多卡,推荐使用A100以上规格的显卡运行,单卡运行显存占用60G左右。
环境与代码安装
git clone https://github.com/Wan-Video/Wan2.2.git cd Wan2.2 # Ensure torch >= 2.4.0 # If the installation of `flash_attn` fails, try installing the other packages first and install `flash_attn` last pip install -r requirements.txt pip install -r requirements_s2v.txt pip install -r requirements_animate.txt
模型下载
cd Wan2.2 modelscope download --model Wan-AI/Wan2.2-Animate-14B --local_dir ./Wan2.2-Animate-14B
单卡推理
python generate.py --task animate-14B --ckpt_dir ./Wan2.2-Animate-14B/ --src_root_path ./examples/wan_animate/animate/process_results/ --refert_num 1 --base_seed 1234
多卡推理
python -m torch.distributed.run --nnodes 1 --nproc_per_node 8 generate.py --task animate-14B --ckpt_dir ./Wan2.2-Animate-14B/ --src_root_path ./examples/wan_animate/replace/process_results/src_pose.mp4 --refert_num 1 --replace_flag --base_seed 1234 --use_relighting_lora --dit_fsdp --t5_fsdp --ulysses_size 8
💡小提示:由于Animate模型训练过程中参数有更新,不太推荐使用以Wan2.2为底训练的LoRA模型。