基于ComfyUI的AnimateDiff的使用总结

前言

AnimateDiff是一个可以对文生图模型进行动画处理的实用框架。框架的核心是将新初始化的运动模块插入到冻结的文生图模型中,并在视频剪辑数据集上对其进行训练,从而产生多样化和个性化的动画图像。简单的说,AnimateDiff是一个可以从文本到动画的框架。本文介绍的是基于ComfyUI的AnimateDiff框架的安装和使用
论文地址:https://arxiv.org/abs/2307.04725
官方实现仓库:https://github.com/guoyww/AnimateDiff/
基于ComfyUI的仓库:https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved

1.安装

1.安装ComfyUI

安装ComfyUI-AnimateDiff-Evolved之前,需要先安装ComfyUI,ComfyUI的安装和使用介绍请参考我的另一篇文章:https://blog.csdn.net/u010618499/article/details/134010897

2.下载ComfyUI-AnimateDiff-Evolved, ComfyUI-VideoHelperSuite和ComfyUI-Advanced-ControlNet

ComfyUI-AnimateDiff-Evolved用于加载AnimateDiff的模型,ComfyUI-VideoHelperSuite用于加载视频或将多张图片合成视频,ComfyUI-Advanced-ControlNet用于在AnimateDiff中使用ControlNet来控制动画中对象的动作

#克隆ComfyUI-AnimateDiff-Evolved仓库到ComfyUI的custom_nodes目录
cd ComfyUI/custom_nodes
git clone https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved.git
git clone https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite.git
git clone https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet.git

3.下载模型组件

  1. 下载运动模块,官方提供的motion modules包括mm_sd_v14, mm_sd_v15和mm_sd_v15_v2,下载自己喜欢的即可。推荐下载mm_sd_v15_v2,将下载的模型放在ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models目录下
  2. 可选项:也可以下载motion lora来影响基于v2版本的运动模块,将下载的模型放在ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/motion-lora目录下

2.使用

启动ComfyUI,在UI界面单机鼠标右键,选择Add Node即可看到AnimateDiff,VideoHelperSuite和Adv-ControlNet的节点,如下图所示
在这里插入图片描述
animateDiff中最核心的节点是AnimateDIff Loader,输入中的model是sd的checkpoint模型;context_options是采样时使用的可选上下文窗口, 如果传入,则动画总长度没有限制, 如果未传入,动画长度将限制为 24 或 32 帧,具体取决于运动模块;motion_lora是motion module的lora模型,如果传入,会影响运动模型

1.motion module

下图展示了只使用AnimateDiff中motion module来生成动画的示例,值得注意的是,用到的模型和插件应该对齐版本,例如mm_sd_v15_v2的motion module应该配合sd1.5的checkpoints和vea使用。同时,Empty Latent Image节点中的batch_size设置为16,表示会生成16帧图片来合成动画,如果想生成更长的动画,可以调大这个值。随机种子一般建议保持固定,防止相邻帧生成的图片有较大差异
在这里插入图片描述
生成效果如下:
在这里插入图片描述

2.motion lora

下图的工作流中使用了motion lora模型来影响运动模型,采样上下文长度为16,生成32帧的动画。用AnimateDiff LoRA Loader来加载motion lora,用Uniform Context Options来设置采样时的上下文长度
在这里插入图片描述
生成效果如下:
在这里插入图片描述

3.controlnet

下图展示了使用controlnet中的openpose模型来控制动画中人物的动作,示例里用到的controlnet可以在hugginface下载,其余模型和图片可以在CivitAI网站上搜索对应名称下载
主要流程包括:

  1. 下载对应的sd checkpoint,vae,controlnet和AnimateDiff的motion model,放在对应的目录下
  2. Load Images(Upload)节点中选择上传openpose的目录,参数image_load_cap应该小于等于openpose的图片数量,示例中保存了16张openpose的图片
  3. Empty Latent Image节点中的图片尺寸应和openpose的图片尺寸保持一致
  4. Primitive(I‘m using this as seed)中的随机种子应保持固定
  5. 填写正向和负向提示,生成动画
    在这里插入图片描述
    生成效果如下:
    在这里插入图片描述

3.总结

除了示例中的例子,还有很多种AnimateDiff的组合方式,可以说文生图中的工作流都适用于AnimateDiff,只需要在model后添加motion module和motion lora即可。如果SD checkpoint选择的是SDXL,那motion module也要与之对应,选择支持SDXL的motion module。感兴趣的朋友可以多多尝试各种组合和玩法

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
Animate是一个实用框架,旨在将现有的大多数个性化文本到图像模型转化为动画生成器。它包括一个经过训练的运动建模模块,可以从大型视频数据集中提取出通用的运动先验。通过将运动模块插入到个性化模型中,AnimateDiff可以生成具有自然、适当运动的动画图像,同时忠实于相应的领域。它已经在多种个性化文本到图像模型上进行了广泛评估,并证明了其有效性和通用性。AnimateDiff为个性化动画提供了一个简单而有效的基线,有可能使广泛的应用受益。 如果你对AnimateDiff感兴趣,你可以在github上找到该框架的详细信息和代码实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [AnimateDiff论文解读-基于Stable Diffusion文生图模型生成动画](https://blog.csdn.net/qq_41994006/article/details/132011849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [AnimateDiff Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning 机器...](https://blog.csdn.net/qcwlmqy/article/details/132069221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值