什么是 MimicMotion
MimicMotion 是由腾讯和上海交通大学的研究人员开发的可控视频生成框架。它可以根据提供的运动指导生成任意长度的高质量视频。与以往的方法相比,MimicMotion 在生成细节丰富、时间平滑以及生成长序列方面表现出色。
MimicMotion 如何工作
MimicMotion 以参考图像和姿势指导作为输入。然后生成一个匹配参考图像外观并遵循提供的运动序列的视频。
几项关键创新使 MimicMotion 的性能强劲:
- 信心感知姿势指导:通过结合姿势置信度信息,MimicMotion 实现了更好的时间平滑性,并对噪声训练数据更具鲁棒性。这有助于其良好的泛化能力。
- 区域损失放大:重点关注高置信度姿势区域,特别是手部,显著减少生成视频中的图像失真。
- 渐进潜在融合:为了高效生成流畅的长视频,MimicMotion 生成具有重叠帧的视频片段,并逐步融合其潜在表示。这样可以在控制计算成本的情况下生成任意长度的视频。
该模型首先在大型视频数据集上进行预训练,然后针对运动模仿任务进行微调。这种高效的训练流程不需要大量的专业数据。
如何使用 ComfyUI MimicMotion (ComfyUI-MimicMotionWrapper)
在测试了 ComfyUI 中可用的不同 MimicMotion 节点后,我们推荐使用 以获得最佳效果。
第一步:准备 MimicMotion 的输入
要开始使用 ComfyUI MimicMotion 制作动画,您需要两个关键要素:
- 参考图像:这是动画的起始帧。选择一个清晰描绘您要动画化主体的图像。
- 姿势图像:这些图像定义了运动序列。每个姿势图像应显示动画中某个特定点的主体位置或姿势。您可以手动创建这些姿势图像,或使用姿势估计工具从视频中提取姿势。
🌟确保您的参考图像和姿势图像具有相同的分辨率和纵横比,以获得最佳效果。🌟
第二步:加载 MimicMotion 模型
ComfyUI MimicMotion 需要 MimicMotion 模型才能正常运行。在 RunComfy 中,模型已经预加载以方便使用。要配置 "DownLoadMimicMotionModel" 节点,请按照以下步骤操作:
- 将 "model" 参数设置为 "MimicMotion-fp16.safetensors"(或其他适当的模型文件名)。
- 根据您的 GPU 能力选择所需的精度(fp32, fp16, 或 bf16)。此选择可能会影响性能和兼容性。
- 将 "lcm" 参数设置为 False,除非您特别希望使用模型的 LCM(潜在条件运动)变体。
配置节点设置后,将 "DownloadAndLoadMimicMotionModel" 节点的输出连接到工作流中下一个节点的输入。这样可以确保加载的 MimicMotion 模型在 ComfyUI 管道的后续步骤中得到正确使用。
第三步:配置 MimicMotion 采样器
"MimicMotionSampler" 节点负责根据您的输入生成动画帧。以下是设置方法:
- 添加 "MimicMotionSampler" 节点并将其连接到 "DownloadAndLoadMimicMotionModel" 节点的输出。
- 将 "ref_image" 参数设置为您的参考图像,将 "pose_images" 参数设置为您的姿势图像序列。
- 根据您的偏好调整采样设置:
- "steps" 确定扩散步骤的数量(较高值会导致更平滑的结果,但处理时间更长)。
- "cfg_min" 和 "cfg_max" 控制条件指导的强度(较高值更严格地遵循姿势图像)。
- "seed" 设置随机种子以实现可重复性。
- "fps" 指定生成动画的每秒帧数。
- 微调 "noise_aug_strength"、"context_size" 和 "context_overlap" 等其他参数,以尝试不同风格和时间一致性。
第四步:解码潜在样本
"MimicMotionSampler" 节点输出动画帧的潜在空间表示。要将这些潜在样本转换为实际图像,您需要使用 "MimicMotionDecode" 节点:
- 添加 "MimicMotionDecode" 节点并将其连接到 "MimicMotionSampler" 节点的输出。
- 设置 "decode_chunk_size" 参数以控制同时解码的帧数(较高值可能会消耗更多 GPU 内存)。
"MimicMotionDecode" 节点的输出将是图像格式的最终动画帧。
第五步:使用 MimicMotionGetPoses 增强姿势
如果您希望在参考图像旁边可视化提取的姿势,可以使用 "MimicMotionGetPoses" 节点:
- 将 "ref_image" 和 "pose_images" 连接到 "MimicMotionGetPoses" 节点。
- 设置 "include_body"、"include_hand" 和 "include_face" 参数以控制显示哪些姿势关键点。
输出将包括带有提取姿势的参考图像和单独的姿势图像。
提示和最佳实践
以下是一些帮助您充分利用 ComfyUI MimicMotion 的提示:
- 尝试不同的参考图像和姿势序列,以创建各种动画。
- 根据需要调整采样设置,以平衡质量和处理时间。
- 使用高质量、一致的姿势图像以获得最佳效果。避免在姿势之间的视角或光线发生剧烈变化。
- 监控您的 GPU 内存使用情况,特别是在处理高分辨率图像或长动画时。
- 利用 "DiffusersScheduler" 节点自定义噪声调度,以实现独特效果。
ComfyUI MimicMotion 是一个强大且多功能的工具,使您能够轻松创建令人惊叹的动画。通过理解工作流并探索各种参数,您将能够轻松地制作动画。在动画制作过程中,请记住要不断尝试、迭代并享受乐趣。使用 ComfyUI MimicMotion,可能性是无限的,尽情享受将您的创意愿景变为现实的过程吧!