Viggle-Animate:从单个重绘帧进行 H3 角色替换

ComfyUI Wikinews

Viggle-Animate 是 MiniMax H3 ref2va 的 331 亿参数微调版本,采用 DMD 蒸馏技术,通过单个重绘帧交换视频角色,仅需 3 次前向传播,每片段耗时 26 秒。

Viggle-Animate (权重演示空间) 是 MiniMax H3 的 ref2va 变换器的 331 亿参数完整微调版本,用于角色替换。它的两个输入是驱动视频和该视频的一个自身帧(角色已重绘),它无需姿态估计器、分割遮罩、面部追踪器或文本提示即可将编辑传播到整个镜头。联合 DMD 蒸馏将推理压缩为三次前向传播:在单张 B200 上处理 124 帧耗时 26 秒,据称比 Wan2.2-Animate-14B 每片段快 6.1 倍。
Viggle-Animate 预告图:从单个重绘帧进行角色替换

模型卡片中的预告图:重绘的角色接管驱动视频,同时运动、相机和时序保持不变。

工作原理

大多数角色替换 pipeline 基于中间表示构建:姿态骨架、分割遮罩、背景板、人脸裁剪。每个提取器都是另一个需要运行的模型,也是信息丢失的另一处来源。Viggle-Animate 不使用其中任何一项。由于参考帧是该片段自身的帧之一,其姿态、相机、构图和光照已与素材一致,因此下游无需再次对齐它们。模型从未被告知新角色是什么:无类别、无身份编码器、无用户文本提示。

Viggle-Animate pipeline 示意图

两个输入进入视频阶段:驱动片段和一个重绘帧。文本编码器永远不会被加载。条件是随权重一起提供的一个冻结 embedding,每次渲染均相同。

速度优势体现在两方面。一旦重绘帧存在,便无需运行其他内容,且采样器本身也被蒸馏:跨两个教师模型的联合蒸馏(按噪波水平划分),其中微调版监督决定替换的高噪波端,原始 MiniMax H3 监督决定细节和纹理的低噪波端。默认值为 --steps 4 --flow-shift 3,这定义了四个 Sigma 边界,因此对应三次前向传播。团队指出四步是操作点而非捷径:蒸馏后的模型渲染比其教师更清晰,更多步骤会导致过度锐化。

与 Wan2.2-Animate 的比较

在相同的 B200、相同源视频、相同分辨率和帧数上进行匹配比较:

Viggle-AnimateWan2.2-Animate-14B
输入驱动视频 + 一个重绘帧驱动视频 + 角色图像,加上预处理步骤生成姿态、面部、遮罩和背景轨迹
渲染(权重加载后)26 秒160 秒
前向传播次数340 (20 步 x 2 块)
参数331 亿173 亿

这意味着每渲染快 6.1 倍,仅采样就快 10.3 倍,且 Wan 的预处理步骤甚至未计入其 160 秒内。发布的对比片段显示,在快速运动中差距最大,此时 Wan 出现涂抹,而 Viggle-Animate 能将姿态落在正确的帧上。如果您想直接评估输出,可以访问 演示空间viggle.ai/h3

泛化至人类之外

因为循环中没有任何内容假设角色是人,所以它能动画化的范围受限于你能绘制的内容。模型卡片展示了有耳朵和鳍的动物在驱动片段没有的肢体上移动,一个保持风格边界的陶土人偶,以及一架画出的机翼在整个片段中都绑定在演员手臂上的客机。

Viggle-Animate 柯基犬替换样本

重绘参考和输出:绘画放置解剖结构,渲染将其动画化,仿佛它一直就在那里。

来自模型卡片的已知限制:特写镜头中唇形同步较弱,多角色场景和剪辑镜头质量下降,且模型继承图像编辑,因此当绘画与视频不一致时,视频胜出。针对这三种情况的一款显著更好的模型已经在训练中。

可用性

  • 权重: Viggle/Viggle-Animate 托管于 Hugging Face,遵循 MiniMax H3 社区许可证。包含 331 亿参数的 bf16 微调版本(14 分片)以及 2.5GB 秩-128 DMD2 蒸馏 LoRA;VAE、音频 VAE 和调度器从您自己的基础模型副本加载。
  • 推理: 基于 diffusers,仓库中包含 inference/sample.py,无需对上游 pipeline 进行分支或打补丁。单张 80GB 卡在 bf16 下不够用(480x832 / 124 帧渲染峰值达 80.1 GiB):请使用 96GB+ 卡或 --offload
  • 暂无原生 ComfyUI 支持: 使用官方 Python 推理路径。该 LoRA 是针对微调变换器的增量,因此将其加载到原始 H3 ref2va 权重上会产生乱码。
  • 演示: Viggle/viggle-animate Spaceviggle.ai/h3

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
Viggle-Animate:从单个重绘帧进行 H3 角色替换 | ComfyUI Wiki