• Stable Diffusion WebUI使用AnimateDiff插件生成动画


    AnimateDiff 可以针对各个模型生成的图片,一键生成对应的动图。

    配置要求

    GPU显存建议12G以上,在xformers或者sdp优化下显存要求至少6G以上。

    要开启sdp优化,在启动参数加上--sdp-no-mem-attention

    实际的显存使用量取决于图像大小(batch size)和上下文批处理大小(Context batch size)。可以尝试减小图像大小或上下文批处理大小以减少显存使用量。

    WebUI版本:v1.6.0

    ControlNet版本:v1.1.410

    下载运动模型

    https://huggingface.co/guoyww/animatedifficon-default.png?t=N7T8https://huggingface.co/guoyww/animatediff将模型权重放置在`stable-diffusion-webui/extensions/sd-webui-animatediff/model/`目录下。如果希望使用其他目录保存模型权重,请在“Settings/AnimateDiff”中进行配置。

    安装AnimateDiff插件

    插件地址:

    https://github.com/continue-revolution/sd-webui-animatediff

    1、在“Settings/Optimization”中启用“Pad prompt/negative prompt to be same length”,并点击“Apply settings”按钮。这一步是为了避免生成两个不相关的GIF图。选择是否启用“Batch cond/uncond”是可选的,这样做可以提高速度,但会增加显存的使用量。

    2、不要禁用哈希计算,否则AnimateDiff将无法确定何时切换运动模块。

    3、使用txt2img将文本转换为GIF,使用img2img将图像转换为GIF。为了避免出现画面较大的跳跃,建议在img2img界面进行。该插件生成的超短视频以GIF格式存储。

    4、选择一个SD1.5 模型,编写提示词,设置配置(如图像宽度/高度)。如果想一次生成多个GIF,更改批处理数量,而不是批处理大小。

    5、启用AnimateDiff扩展,设置参数,然后点击“Generate”按钮。

    6、生成的GIF在`stable-diffusion-webui/outputs/{txt2img或img2img}-images/AnimateDiff`目录下。生成的中间图像帧在`stable-diffusion-webui/outputs/{txt2img或img2img}-images/{date}`目录下。可以在“Settings/AnimateDiff”中修改生成路径。

    参数说明:

    保存格式(Save format):

    输出的文件格式。至少选择一个:"GIF"|"MP4"|"WEBP"|"PNG"。如果需要附加信息文本,勾选"TXT",它将与输出GIF文件保存在相同的目录下。

    总帧数(Number of frames):

    生成的超短视频的帧数,一般建议20帧以下。

    帧率(FPS):

    选择30-60为佳。

    循环播放次数(Display loop number):

    GIF播放的循环次数,值为0表示GIF永远不停止播放。

    上下文批处理大小(Context batch size):

    每次传入运动模块的帧数。SD1.5运动模块是基于16帧训练的,因此当帧数设置为16时,效果最好。

    闭环(Closed loop):

    闭环意味着该扩展会尝试使最后一帧与第一帧相同。选择不同的闭环选项(N|R-P|R+P|A)来确定如何实现闭环。

    • N表示绝对没有闭环。如果帧数小于上下文批处理大小而不是0,则这是唯一可用的选项。
    • R-P意味着扩展将试图减少闭环上下文的数量。提示行程不会被插值为闭环。
    • R+P意味着扩展将试图减少闭环上下文的数量。即时行程将被插值为一个闭环。
    • A意味着扩展将积极尝试使最后一帧与第一帧相同。即时行程将被插值为一个闭环。

    步幅(Stride):

    最大运动步幅,以2的幂表示(默认值:1)。由于无限上下文生成器的限制,此参数仅在帧数大于上下文批处理大小时有效。当Stride为1时,"Absolutely no closed loop"(绝对不进行闭环)才可能实现。

    重叠(Overlap):

    上下文中重叠的帧数。如果重叠设置为-1(默认值),重叠将为上下文批处理大小的四分之一。由于无限上下文生成器的限制,该参数仅在帧数 > 上下文批处理大小时有效。

    帧插值(Frame Interpolation):

    使用Deforum的FILM实现在帧之间进行插值。需要Deforum扩展。

    插值倍数(Interp X):

    将每个输入帧替换为X个插值输出帧。

  • 相关阅读:
    【Docker与微服务】高级篇
    linux - 简单上传下载文件(lrzsz、scp)
    MySQL 启动选项和字符集
    Python+Selenium自动化测试
    Verilog 实现异步复位同步释放,对复位信号的第一个1进行打两拍,来消除复位信号输出的亚稳态现象
    【Modbus通信实验五】常见问题汇总
    Win11环境下Android Studio中Flutter开发环境构建(逐步解决)
    GPIO 模拟SPI
    Mars3D三维可视化平台
    43%非常看好TypeScript…解读“2022前端开发者现状报告”
  • 原文地址:https://blog.csdn.net/watson2017/article/details/134421393