MimicMotion解析:如何在ComfyUI中使用扩散模型进行动画创作

CN
ComfyUI.org
2025-03-04 16:05:56

使用 MimicMotion 生成动画视频:将参考图像和姿势序列转化为无缝的 MP4 动画。立即探索工作流程!

使用场景
Video
适用场景
Video
模型
Sd
显存
低显存(≤8GB)
阅读时间
6 分钟
查看所需模型更多 Video 工作流

工作流概览

使用 MimicMotion 生成动画视频:将参考图像和姿势序列转化为无缝的 MP4 动画。立即探索工作流程!

内容类型: Guide

主要用途: Tutorial

所需模型

  • Sd

配置说明

  • 打开工作流模板前,请先安装所需模型。
  • 推荐硬件:低显存(≤8GB)。

工作流概述

  • 作用和目的:此工作流用于基于 MimicMotion 模型生成动态视频。它通过输入一张参考图像(Reference Image)和一组姿势图像(Pose Images,通常从视频中提取),利用 MimicMotion 模型生成一个模仿姿势序列的动画,最终输出为 MP4 格式的视频。

  • 核心模型

    • MimicMotionMergedUnet:这是一个基于扩散模型(Diffusion Model)的运动生成模型,用于根据参考图像和姿势序列生成动画帧。

    • Stable Diffusion 相关组件(隐含):MimicMotion 依赖于扩散模型的架构,可能包括潜在空间编码(Latent Encoding)和解码(Decoding)过程。

组件说明

  • 关键组件(Nodes)

    1. LoadImage:加载参考图像,用于提供动画的基础样式。

    2. VHS_LoadVideo:加载输入视频,提取姿势帧和音频。

    3. ImageResizeKJ:调整图像和姿势帧的分辨率,确保与模型输入要求一致(768x1024)。

    4. MimicMotionGetPoses:处理参考图像和姿势图像,生成包含参考的姿势序列。

    5. GetImageSizeAndCount:获取图像尺寸和帧数信息。

    6. DownloadAndLoadMimicMotionModel:下载并加载 MimicMotion 模型。

    7. DiffusersScheduler:定义扩散过程的调度器(EulerDiscreteScheduler),控制生成步骤。

    8. MimicMotionSampler:核心采样节点,根据参考图像和姿势序列生成潜在表示(Latent)。

    9. MimicMotionDecode:将潜在表示解码为图像序列。

    10. VHS_VideoCombine:将生成的图像序列和音频合成为最终视频。

  • 安装方法

    • 基础节点(如 LoadImage):ComfyUI 默认提供。

    • MimicMotion 相关节点:需要安装 MimicMotion 插件,可通过 ComfyUI Manager 搜索“MimicMotion”安装,或从 GitHub 下载放入 custom_nodes。

    • VHS 相关节点:需要安装 VideoHelperSuite(VHS),通过 ComfyUI Manager 或 GitHub 获取。

    • ImageResizeKJ:需要安装 KJNodes 插件(GitHub: https://github.com/kohya-ss/KJNodes)。

  • 依赖特殊模型或插件

    • MimicMotionMergedUnet_1-0-fp16.safetensors:从官方源(如 Hugging Face 或 MimicMotion 项目页面)下载,放入 models/checkpoints 文件夹。

工作流结构

  • 分组(Groups)(此工作流未显式分组,我按逻辑划分):

    1. 输入预处理组

      • 节点:LoadImage, VHS_LoadVideo, ImageResizeKJ (ID 28, 35), MimicMotionGetPoses

      • 作用:加载参考图像和视频,调整分辨率,生成姿势序列。

      • 输入:参考图像文件,视频文件。

      • 输出:调整后的参考图像和姿势图像序列。

    2. 模型加载与调度组

      • 节点:DownloadAndLoadMimicMotionModel, DiffusersScheduler

      • 作用:加载 MimicMotion 模型并配置采样调度器。

      • 输入:模型文件路径,调度器参数(如步数 700)。

      • 输出:模型管道(Mimic Pipeline)和调度器。

    3. 动画生成组

      • 节点:GetImageSizeAndCount, MimicMotionSampler, MimicMotionDecode

      • 作用:基于参考图像和姿势序列生成动画帧。

      • 输入:参考图像、姿势图像、模型管道、调度器。

      • 输出:图像序列。

    4. 视频合成组

      • 节点:VHS_VideoCombine

      • 作用:将图像序列和音频合成为 MP4 视频。

      • 输入:图像序列,音频。

      • 输出:MP4 视频文件。

输入与输出

  • 预期输入参数

    • 参考图像:一张 PNG/JPG 图像(如示例中的 296930741-...png)。

    • 姿势视频:MP4 格式视频(如 1月21日.mp4),提供姿势序列。

    • 分辨率:设置为 768x1024。

    • 采样参数:步数(20)、种子值(42)、CFG Scale 等(在 MimicMotionSampler 中设置)。

  • 最终输出

    • MP4 格式视频,文件名前缀为“MimicMotion”(如 MimicMotion_00001-audio.mp4),帧率为 12 fps。

注意事项

  • 可能出现的错误

    • 模型文件缺失:确保 MimicMotionMergedUnet_1-0-fp16.safetensors 已下载并放置正确。

    • 内存不足:生成视频需要大量显存,推荐 12GB+ GPU。

  • 性能优化建议

    • 减少帧数(调整 frame_load_cap 或 select_every_nth)。

    • 使用 FP16 精度降低显存占用。

  • 兼容性问题

    • 确保 VHS 和 MimicMotion 插件版本与 ComfyUI 兼容。

  • 资源需求

    • 至少 8GB 显存 GPU,推荐 16GB 以确保流畅运行。

常见问题