AnimateDiff插件以“效果丝滑、稳定、无闪烁”等特性,成为目前Stable diffusion中效果最好的生成动画视频插件之一。
AnimateDiff,它的全称是Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning。
目前主要有3个不同的版本,Stable Diffusion WebUI版本,ComfyUI版本和一个纯代码版本。
安装AnimateDiff插件
详细说明:
GitHub - continue-revolution/sd-webui-animatediff: AnimateDiff for AUTOMATIC1111 Stable Diffusion WebUI
注:从网址安装可以保证插件的更新能在 WebUI 中自动显示,如果是下载压缩包文件放进根目录,就无法自动更新。下面执行网址安装。
- 打开 WebUI,点击“扩展”选项卡,选择“从网址安装”,复制(GitHub - continue-revolution/sd-webui-animatediff: AnimateDiff for AUTOMATIC1111 Stable Diffusion WebUI.git),粘贴在第一行的“拓展的 git 仓库网址”中。点击“安装”按钮,等待十几秒或几分钟。
- 在下方看到一行小字“Installed into /home/third_party_app/llm/stable-diffusion-webui/extensions/sd-webui-animatediff. Use Installed tab to restart.”,表示安装成功,同时在文件夹中能看到对应内容。
- 点击左侧的“已安装”选项卡,单击“检查更新”,等待进度条完成;然后单击“应用并重新启动 UI”;
-
安装模型
插件安装好之后,还需要下载一个动画模型和八个控制镜头的LoRA模型,(控制镜头的模型可以不用下载,但是动画模型必须下载),动画模型下载V2版本的“mm_sd_v15_v2.ckpt“即可,它是目前最稳定效果最好的。最近刚刚发布v3版本了。
详细资料:GitHub - guoyww/AnimateDiff: Official implementation of AnimateDiff.
模型下载:
魔搭社区
执行:
modelscope download --model Shanghai_AI_Laboratory/animatediff --local_dir /home/third_party_app/llm/animatediff
下载好AnimateDiff模型后将把模型放到对应的文件夹里面。“mm_sd_v15_v2.ckpt”模型放到"…extensions/sd-webui-animatediff/model"目录下面 。
#cp /home/third_party_app/llm/animatediff/mm_sd_v15_v2.ckpt /home/third_party_app/llm/stable-diffusion-webui/extensions/sd-webui-animatediff/model
AnimateDiff的参数说明
关于AnimateDiff插件的参数说明可以参照文档:
https://github.com/continue-revolution/sd-webui-animatediff#webui-parameters。
这里简要对各个重点参数进行说明。
- 动画模型(Motion Module):推荐选择mm_sd_v15_v2.ckpt。
- 启用 AnimateDiff:勾选启用AnimateDiff插件。
- 保存格式(Save Format):支持GIF、MP4、WEBP、WEBM等格式。
- 总帧数(Number of frames)和帧率(FPS):帧率默认值是8,也就是每秒8帧,即1秒8张图片,如果要要生成一个2秒的动画就是8*2=16(总帧数),4秒的动画就是8*4=32(总帧数),以此类推。
总帧数为0,等同于16。
总帧数设置为16(2秒)
总帧数设置为24(3秒)。
总帧数设置为32(4秒)
- 显示循环数量(display of loop):只设置为0,就代表动画能无限次循环播放
- 闭环(Closed loop)。闭环就是让最后一帧和第一帧保持一样,让动画无限循环。以下是闭环的4个选项的介绍:
N:指的是没有这种循环,也就是只能从头到尾,不会回到开始。
R-P:指的是尝试减少闭合循环上下文的数量。提示词旅程不会被插值为闭合循环。
R+P:指的是尝试减少闭合循环上下文的数量。提示词旅程会被插值为闭合循环。
A:指的是积极尝试让最后一帧和第一帧保持一样,也会将提示词旅程插值为闭合循环。
- 上下文批单批数量(Context batch size):一次有多少帧将被传递到运动模块。该模型是用16帧进行训练的,所以当帧数设置为16时,它会给出最好的结果。
-
应用1
- 大模型:
majicMix realistic V7
- 正向提示词:
a super beautiful Chinese girl,very delicate features,long hair,delicate skin,big eyes,white sweater,necklace,standing in the street,upper body,
- 反向提示词:
- 采样器:
DPM++ 2M
- 图像生成种子/Seed
12345
- AnimateDiff插件参数设置如下:
- 效果
AnimateDiff使用注意事项
如果生成的动画中的前一秒和后一秒没有关联性.
可以在设置-Optimizations菜单中,勾选“Pad prompt/negative prompt to be same length ”选项。