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个插值输出帧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/195377.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux安装RabbitMQ详细教程

一、下载安装包 下载erlang-21.3-1.el7.x86_64.rpm、rabbitmq-server-3.8.8-1.el7.noarch.rpm 二、安装过程 1、解压erlang-21.3-1.el7.x86_64.rpm rpm -ivh erlang-21.3-1.el7.x86_64.rpm2、安装erlang yum install -y erlang3、查看erlang版本号 erl -v4、安装socat …

设计模式解码:软件工程架构的航标

引言 软件工程领域的设计模式,就像是建筑师手中的设计蓝图,它们是经验的总结,指导开发者如何在面对层出不穷的编程难题时,构建出既稳固又灵活的软件结构。就像一座经过精心设计的大厦能够经受住风雨的考验一样,一个利用…

云计算和跨境电商:数字化未来的基石

云计算和跨境电商两者结合,共同塑造着当今数字化时代的商业未来。这两个领域的发展,为企业提供了前所未有的机会,使他们能够扩展国际业务、提高效率,以及为全球市场提供更多产品和服务。本文将深入探讨云计算如何成为跨境电商的数…

汽车 CAN\CANFD数据记录仪

CAN FD数据记录仪解决汽车电子数据记录与偶发性故障查找问题。 1、脱机离线记录两路CAN/CANFD通道数据 脱机离线记录两路CAN/CANFD通道数据,可记录6个月数据。每个通 道单独设置触发记录模式、触发前预记录报文个数(默认1000帧)及 过滤规则&a…

基于单片机的自动变速箱电控系统

**单片机设计介绍, 基于单片机的自动变速箱电控系统 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的自动变速箱电控系统是一种通过单片机来控制车辆自动变速箱的系统。它借助传感器和单片机的协同工作&am…

黑豹程序员-SpringCloudAlibaba聚合工程打包和运行

文章目录 1、SpringCloudAlibaba项目结构2、打包配置3、打包4、运行 1、SpringCloudAlibaba项目结构 2、打包配置 3、打包 4、运行 java -jar rms-parent.jar

工作记录--(用HTTPS,为啥能被查出浏览记录?如何解决?)---每天学习多一点

由于网络通信有很多层,即使加密通信,仍有很多途径暴露你的访问地址,比如: DNS查询:通常DNS查询是不会加密的,所以,能看到你DNS查询的观察者(比如运营商)是可以推断出访问…

【C++学习手札】模拟实现vector

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:くちなしの言葉—みゆな 0:37━━━━━━️💟──────── 5:28 🔄 ◀️ ⏸ ▶️ ☰…

开发企业微信群机器人,实现定时提醒

大家好,我是鱼皮,今天分享一个用程序解决生活工作问题的真实案例。 说来惭愧,事情是这样的,在我们公司,每天都要轮流安排一名员工(当然也包括我)去楼层中间一个很牛的饮水机那里接水。但由于大…

Qt Jom Parallel Builds 并行构造

1.Qt官网下载 Jom - Qt Wiki 下载jom源码 git clone git://code.qt.io/qt-labs/jom.git 2.生成makefile qmake -r 进入jom源码目录 执行qmake -r 3.编译 nmake jom编译成功 4.复制到qmake所在目录并运行

QTcpSocket发送结构体的做法

作者:朱金灿 来源:clever101的专栏 为什么大多数人学不会人工智能编程?>>> QTcpSocket发送结构体其实很简单:使用QByteArray类对象进行封装发送,示例代码如下: /* 消息结构体 */ struct stMsg {int m_A…

论文笔记——BiFormer

Title: BiFormer: Vision Transformer with Bi-Level Routing AttentionPaper: https://arxiv.org/pdf/2303.08810.pdfCode: https://github.com/rayleizhu/BiFormer 一、前言 众所周知,Transformer相比于CNNs的一大核心优势便是借助自注意力机制的优势捕捉长距离…

如何选择合适的数据库管理工具?Navicat Or DBeaver

写在前面 在阅读本文之前,糖糖给大家准备了Navicat和DBeaver安装包,在公众号内回复“Navicat”或“DBeaver”或"数据库管理工具"来下载。 引言 对于测试而言,在实际工作中往往会用到数据库,那么选择使用哪种类型的数…

Linux---(七)Makefile写进度条(三个版本)

文章目录 一、前提引入🎗️下面的代码什么现象?🎗️下面的代码什么现象? 二、缓冲区三、回车换行🎗️注意🎗️图解🎗️老式回车键造型(意思是充当两个动作)🎗…

Linux基本指令及周边(第一弹)

文章目录 前言mkdir指令(重要):tree指令rmdir指令 && rm 指令(重要):touch指令ls指令pwd指令cd 指令用户家目录man指令(重要):mv指令(重要)cat指令绝…

【华为OD机试高分必刷题目】神奇的卡片(C++等差数列实现)

🚀你的旅程将在这里启航!本专栏所有题目均包含优质解题思路,高质量解题代码,详细代码讲解,助你深入学习,高分通过! 文章目录 【华为OD机试高分必刷题目】神奇的卡片(C等差数列实现&a…

卡方检验-python代码

故事背景 问题 卡方检验的结果怎么计算? 方法 python代码 import numpy as np from scipy.stats import chi2_contingency# 观察频数矩阵 observed np.array([[47, 21, 17],[63, 29, 15],[11, 2, 4]])# 进行卡方检验 chi2, p, dof, expected chi2_contingency(o…

【413.等差数列划分】

目录 一、题目描述二、算法原理三、代码实现 一、题目描述 二、算法原理 三、代码实现 class Solution { public:int numberOfArithmeticSlices(vector<int>& nums) {int nnums.size();if(n<3) return 0;vector<int> dp(n);dp[2]dp[1]dp[0]0;if(nums[2]-nu…

视频制作技巧:添加srt字幕,批量剪辑,省时省力

随着社交媒体的兴起&#xff0c;视频制作越来越成为人们表达自我、分享经验的重要方式。然而&#xff0c;视频制作需要耗费大量的时间和精力。在视频制作中&#xff0c;字幕是非常重要的元素&#xff0c;可以帮助观众更好地理解视频内容。而SRT字幕则是一种更为先进的字幕技术&…

React经典初级错误

文章 前言错误场景问题分析解决方案后言 前言 ✨✨ 他们是天生勇敢的开发者&#xff0c;我们创造bug&#xff0c;传播bug&#xff0c;毫不留情地消灭bug&#xff0c;在这个过程中我们创造了很多bug以供娱乐。 前端bug这里是博主总结的一些前端的bug以及解决方案&#xff0c;感兴…