stable diffusion的AnimateDiff动画插件

打印 上一主题 下一主题

主题 1913|帖子 1913|积分 5743

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
AnimateDiff简介

Stable Diffusion的AnimateDiff插件是一个用于生成和操纵图像的强盛工具,它属于Stable Diffusion模型的一个扩展。
1. 功能和用途



  • 图像生成与修改: AnimateDiff插件可以或许基于用户的描述生成新的图像,或者对现有图像举行修改和加强。
  • 动画创建: 这个插件的一个重要特点是它可以或许创建动画。用户可以指定一个系列的图像厘革,插件会生成一系列平滑过渡的图像,从而创建出动画效果。
2. 工作原理



  • 基于文本的图像生成: 用户提供文本描述,插件根据这些描述生成相应的图像。
  • 图像转换: AnimateDiff可以将已有图像根据用户指定的参数举行变动,比如改变图像中的对象、颜色或风格。
  • 帧生成: 对于动画,插件会生成一系列图像帧,这些帧在视觉上平滑过渡,形成动画效果。
3. 应用场景



  • 艺术创作: 艺术家可以利用这个插件来创建独特的视觉艺术作品,包括动画。
  • 多媒体制作: 在视频和游戏制作中,AnimateDiff可以用来快速生成复杂的图像和动画场景。
  • 个性化内容: 用户可以定制个性化的图像和动画,用于个人项目或交际媒体内容。
4. 利用轻便性



  • 用户界面: AnimateDiff通常配有直观的用户界面,使得纵然是非专业用户也能轻松利用。
  • 灵活性: 插件提供多种参数和选项,用户可以根据需要调解,以到达盼望的效果。
5. 技术要求



  • 硬件要求: 高级图像生成和动画制作可能需要较强的盘算能力,因此可能需要高性能的硬件。
  • 软件兼容性: AnimateDiff需要与Stable Diffusion模型一起利用,可能还需要其他软件支持。
总体来说,Stable Diffusion的AnimateDiff插件是一个功能强盛且多用途的工具,适用于从专业艺术家到普通爱好者的广泛用户群体。通过这个插件,用户可以实现高度个性化和创意的图像和动画制作。
AnimateDiff的github主页:https://github.com/continue-revolution/sd-webui-animatediff
 安装插件主体

方法一

在stable diffusion的“扩展(extensions)”菜单,选择“可用(available)”,点击“加载自(load from)”,搜刮“animatediff”,点击“安装(install)”

方法二

访问animatediff的github主页,点击绿色按钮“code”,点击复制HTTPS的按钮复制animatediff的库链接
打开stable diffusion,找到“扩展(extensions)”菜单,选择“从网址安装(install from URL)”子菜单,将上面复制的库网址粘贴到“扩展的git堆栈网址(URL ro extension’s git repository)”,末了点击“安装(install)”


方法三

访问animatediff的github主页,点击绿色按钮“code”,点击“Download ZIP”,将animatediff的 库ZIP压缩包下载到本地

将下载的ZIP压缩包剪切到“\ stable-diffusion-webui\extensions”文件夹下面,然后右键选择“解压到当前文件夹”

animatediff本体安装乐成

这一步安装乐成之后,就可以在stable diffusion的文生图和图生图都可以找到“AnimateDiff”这个插件,位置如下:


下载安装模型

ainimateDiff的huggingface的模型下载页面:https://huggingface.co/guoyww/animatediff/tree/main
网盘下载(备用):model、animatediff
下载3个主模型放在“\stable-diffusion-webui\extensions\sd-webui-animatediff\model”文件夹;
下载8个lora模型放在“\stable-diffusion-webui\models\Lora\animatediff”文件夹,此中的“animatediff”文件夹为lora文件夹下面自行新建的一个文件夹,克制与其他的lora模型肴杂;



 插件参数设置

插件设置

具体设置参考下面的截图(大多数情况下参照下方案例的设置即可):

修改webui-user.bat批处理文件

animatediff插件 安装好之后,要正常运行还需要修改stable diffusion 的启动批处理文件的参数,参考如下:
  1. @echo off
  2. set PYTHON=
  3. set GIT=
  4. set VENV_DIR=
  5. set COMMANDLINE_ARGS= --autolaunch --theme dark --xformers --no-gradio-queue --disable-safe-unpickle
  6. REM --medvram(显存不足时添加该参数)
  7. call webui.bat
复制代码
此中的“–disable-safe-unpickle”是在选择SDXL大模型和Motion module选择“mm_sdxl_v10_beta.ckpt”这个模型的时间需要添加的参数;

而“–medvram”参数则是在你的显存小于8G的情况下,需要添加的参数。案例中我并没有添加这个参数,而是将它注释起来了,因为我的显卡显存是24G,并不需要添加这个参数;
界面参数设置



活动模块(Motion module)

这里表现的就是我们前面下载的三个主模型


  • mm_ sd_v15.ckpt:这是第一代的 SD1.5版本的活动模块,共同SD1.5版本的checkpoint模型利用;
  • mm_sd_v15_v2.ckpt:这是第二代的SD1.5版本的活动模型,共同SD1.5版本的checkpoint模型利用,也是如今利用最多的模块;
  • mm_sdxl_v10_beta.ckpt:这是SDXL版本的活动模块,共同SDXL的checkpoint模型利用,当选择这个模块的时间,需要修改“webui-user.bat”文件的参数,增长“–disable-safe-unpickle”(见前面的内容介绍);
保存格式(Save format)

输出的格式
至少选择“GIF”|“MP4”|“WEBP”|“WEBM”|“PNG”之一。如果您需要信息文本,请选中“TXT”,该信息文本将与输出 GIF 位于同一目录中。信息文本也可以通过stable-diffusion-webui/params.txt所有格式访问和输出。


  • 您可以利用gifsicle或palette来优化 GIF 。转至Settings/AnimateDiff启用它们。
  • 您可以通过 设置 WEBP 的质量和无损Settings/AnimateDiff。
  • 如果您利用API​​,通过将“PNG”添加到format,您可以将所有帧保存到文件系统,而无需返回所有帧。如果您希望 API 返回所有帧,请添加Frame到format列表。

帧数(Number of frames)


生成的动画或者视频文件的总帧数
如果输入 0(默认):


  • 如果通过“视频源”提交视频或通过“ 视频路径”输入视频路径,或启用任何批量ControlNet,帧数将是视频中的帧数(如果提交了多个视频,则利用最短的视频)。
  • 否则,帧数将根据“Context batch size”的如下描述。
如果输入的数字小于“Context batch size”且不为0:你将从整个生成过程中得到“Number of frames”前1帧作为输出的GIF。所有后续帧不会出如今生成的GIF中,但会像往常一样保存为PNG格式。不要将“Number of frames”设置为小于“Context batch size”的数字(除0外);
帧率(FPS)

每秒帧数,即每秒表现的帧数(图像)。

如果以每秒 8 帧的速度生成 16 帧,则 GIF 的连续时间为 2 秒。如果您提交源视频,您的 FPS 将与源视频雷同。
表现循环次数(Display loop number)

GIF 播放的次数。值0表示 GIF 永远不会克制播放。保持默认0即可!
上下文批量巨细(Context batch size)

一次将有多少帧通报到活动模块中。
 SD1.5 活动模块接纳 16 帧举行训练,因此当帧数设置为 时会给出最佳结果16。
SDXL HotShotXL 活动模块改为利用 8 帧举行训练。对于 V1 / HotShotXL 活动模块选择 [1, 24],对于 V2 / AnimateDiffXL 活动模块选择 [1, 32]。
闭环(Closed loop)

 闭环
意味着此扩展将实验使末了一帧与第一帧雷同。


  • 当Number of frames>Context batch size时,包括当 ControlNet 启用且源 视频帧数 >Context batch size且Number of frames= 0 时,AnimateDiff 无限上下文生成器将执行闭环。
  • 当Number of frames<=Context batch size时,AnimateDiff 无限上下文生成器将不起作用。只有当您选择“A”时,AnimateDiff 才会将反转的帧列表附加到原始帧列表以形成闭环。
有关每个选择的说明,请参阅下文:


  • N意味着绝对没有闭环 – 如果Number of frames的值小于Context batch size且不为0 ,这是唯一可用的选项。
  • R-P意味着扩展将实验淘汰闭环上下文的数量。提示行程(prompt traveling)不会被插补为闭环。
  • R+P意味着扩展将实验淘汰闭环上下文的数量。提示行程(prompt traveling)将被插补为闭环。
  • A意味着扩展将积极实验使末了一帧与第一帧雷同。提示行程(prompt traveling)将被插补为闭环。





步幅(Stride)

“步幅”(Stride)是最大活动步幅的设置,用 2 的幂表示(默认:1)。

  • 由于无限上下文生成器的限定,该参数仅在Number of frames>Context batch size时有用,或者当 ControlNet 启用且源视频帧数 >Context batch size且Number of frames为 0 时有用。
  • Stride只有当为 1时,才气完全没有闭环。
  • 对于每个 1≤2i≤1≤2i≤ Stride,无限上下文生成器将实验使相隔2i2i的帧在时间上保持同等。例如,如果Stride为4 ,并且Number of frames 为8,它将使以下帧在时间上保持同等:




    • Stride== 1: [0, 1, 2, 3, 4, 5, 6, 7]
    • Stride== 2: [0, 2, 4, 6], [1, 3, 5, 7]
    • Stride== 4: [0, 4], [1, 5], [2, 6], [3, 7]

重叠(Overlap)

上下文中重叠的帧数

如果重叠为 -1(默认):您的重叠将为Context batch size// 4
由于无限上下文生成器的限定,该参数仅在Number of frame>Context batch size时有用,包括当 ControlNet 启用且源 视频帧数 >Context batch size且Number of frames为 0 时有用。
帧插值(Frame Interpolation)

利用 Deforum 的 FILM 实如今帧之间举行插值。需要 Deforum 扩展。
这个参数有两个选项“off”和“FILM”
如果选择“off”,则关闭“Frame Interpolation”功能,同时后面的“Interp X”参数将失效!
如果选择“FILM”,则开启“Frame Interpolation”功能,同时后面的“Interp X”将产见效果!

FILM 选项会影响生成 动画的平滑度。当您单击“FILM”时,它会激活帧插值,用于平滑动画。Interp X 参数答应您控制添加的额外帧的数量:

  • 利用FILM举行平滑处理:点击FILM可以平滑动画。通过调解Interp X参数,可以控制添加的额外帧数。默认情况下,Interp X设置为10,意味着每个原始帧将增长10个额外帧。
  •  视频帧数增长:利用FILM后,视频的总帧数会明显增长。例如,原本有32帧的视频,利用FILM后帧数会增长到311帧,大约为每个原始帧增长9.7帧。
  • 调解FPS以得到更流畅的播放:为了抵消由增长帧数引起的慢动作效果,可以调解视频的帧率(FPS)。进步FPS可以使视频播放得更快、更流畅。例如,将FPS从8增长到24,可以将视频时长缩短到12秒,同时保持平滑。进一步将FPS增长到70,可以将视频时长恢复到原来的4秒,同时保持通过FILM创建的插值帧,实现平滑的播放效果​​​​。
总结来说,AnimateDiff的FILM选项通过添加额外帧来生成更平滑的动画,并通过调解Interp X和FPS设置,控制动画的平滑度和播放速度。

视频源(Video source) [可选]

 ControlNet V2V的视频源文件。您必须启用 ControlNet。它将成为您无需提交控制图像或 ControlNet 面板路径即可启用的所有 ControlNet 单元的源代码控制。您当然可以通过Single Image选项卡提交一张控制图像或通过选项卡提交一个输入目录Batch,这将覆盖此视频源输入并照常工作。
视频路径( Video path)[可选]

ControlNet V2V源帧的文件夹,但优先级低于Video source。您必须启用 ControlNet。它将成为您无需提交控制映像或 ControlNet 路径即可启用的所有 ControlNet 单元的源代码控制。您当然可以通过Single Image选项卡提交一个控制图像或通过选项卡提交一个输入目录Batch,这将覆盖此 视频路径输入并照常工作。
对于想要修复视频的人:输入包罗两个子文件夹image和maskControlNet 修复单元的文件夹。这两个子文件夹应包罗雷同数量的图像。该扩展将按照雷同的顺序匹配它们。利用我的Segment Anything扩展可以让您的生存变得更加轻松。
提示穿梭(Prompt Travelling)

什么是“提示穿梭(Prompt Travelling)”

“Prompt Travelling” 是一种技术,用于在创建最终的 GIF 或视频时,精确调解正面提示(positive prompt),以精确控制特定时间帧内的具体细节。当与 AnimateDiff 和 Stable Diffusion 结适时,Prompt Travelling 答应更大程度地影响 GIF 和视频的视觉美学,包括风格、配景、服装选择等元素​。
“提示穿梭(Prompt Travelling)”的语法规则

“提示穿梭(Prompt Travelling)”分为“头部提示”、“帧提示”和“尾部提示”三个部分

头部提示

上图案例中的第一行代表头部提示,不是必须的。您可以灵活地包罗单行或者多行提示。头部或根本提示充当基础输入,用于确定生成的视频或 GIF 的团体表面。例如:
  1. masterpiece, 30 year old women, cleavage, red hair, bun, ponytail, medium breast, desert, cactus vibe, sensual pose, (looking in the camera:1.2), (front view:1.2), facing the camera,close up, upper body
复制代码
帧提示

“帧提示”遵照“帧编号:帧prompt”模式,确保您的帧编号按顺序排列。这些提示表如今特定时间范围内将发生的修改。并且对每一个“帧prompt”都可以添加单独的权重规则。例如:
  1. 0: (red dress:1.2)
  2. 8: (white dress:1.2)
  3. 16: (green dress:1.2)
  4. 24: (blue dress:1.2)
复制代码
尾部提示

上图案例中的末了一行代表尾部提示,不是必须的。您可以灵活地包罗单行或者多行提示,也可以不写。
  1. smile
复制代码
需要留意的是,插件参数设置中的“Number of frames”必须要大于“帧提示”中最大的帧索引号,颠末实际测试,至少要大于4帧以上才不会出现报错的征象,建议“Number of frames”设置的数字要大于“帧提示”中的最大索引值8或者16帧以上最为保险!
“提示穿梭(Prompt Travelling)”的案例


大模型(checkpoint):toonyou_beta6.safetensors
未添加“提示穿梭(prompt travelling)”的正面提示词:
  1. masterpiece, 30 year old women, cleavage, red hair, bun, ponytail, medium breast, desert, cactus vibe, sensual pose, (looking in the camera:1.2), (front view:1.2), facing the camera,close up, upper body
复制代码
添加了“提示穿梭(prompt travelling)”的正面提示词:
  1. masterpiece, 30 year old women, cleavage, red hair, bun, ponytail, medium breast, desert, cactus vibe, sensual pose, (looking in the camera:1.2), (front view:1.2), facing the camera,close up, upper body
  2. 0: (red dress :1.2)
  3. 16: (white dress:1.2)
  4. 32: (green dress:1.2)
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
采样方法:DPM++ 2M Karras
采样步数(Sampling steps:20
宽高度:512×512
提示词干系性(CFG Scale):7
随机种子(seed):3301240212

Motion module:mm_sd_v15_v2.ckpt
Number of frames:40
FPS:8
Closed loop:N
Context batch size:16
Frame Interpolation:off
效果对比
未添加“提示穿梭(prompt travelling)”
添加“提示穿梭(prompt travelling)”
AnimateDiff 与 ControlNet 结合利用

您可以利用 ControlNet 通过参考视频来指导活动。
让我们以此参考视频为例。目标是让 AnimateDiff 跟随视频中女孩的动作。
下面的案例中用到的checkpoint:beautifulRealistic_brav5.safetensors
AnimateDiff+openpose

参数设置参考下面的截图:


效果展示:
AnimateDiff+Canny

参数设置参考下面的截图:


效果展示:
AnimateDiff+Depth

参数设置参考下面的截图:


效果展示:
AnimateDiff+openpose+Canny

参数设置参考下面的截图:



效果展示:
AnimateDiff+openpose+Depth

参数设置参考下面的截图:



效果展示:
AnimateDiff+openpose+Depth+Canny


参数设置参考下面的截图:




效果展示:
AnimateDiff 与 Lora 结合利用

您可以利用活动 LoRA 将 摄像机活动添加到 视频中。它们的利用方式与尺度 LoRA雷同。
下面的案例中用到的checkpoint:beautifulRealistic_brav5.safetensors
AnimateDiff+PanLeft(镜头左移)

正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_PanLeft:1>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
您会看到配景向右移动,表明相机正在向左平移。

AnimateDiff+PanRight(镜头右移)

正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_PanRight:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+RollingAnticlockwise(镜头逆时针滚动)

正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_RollingAnticlockwise:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+RollingClockwise(镜头顺时针滚动)


正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_RollingClockwise:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+TiltDown(镜头下沉)

正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_TiltDown:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+TiltUp(镜头上升)


正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_TiltUp:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+ZoomIn(镜头拉近)

正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_ZoomIn:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff+ZoomOut(镜头拉远)


正面提示词:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_ZoomOut:0.75>
复制代码
负面提示词:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数设置:

效果展示:
AnimateDiff在图生图中的利用

您可以通过将 AnimateDiff 与 img2img 结合利用来在有限范围内指导构图和活动。在此方法中,您可以定义视频的初始图像和最终图像。它们不能被完全利用,因为它们将经历图像到图像的过程。
知识要点

上传到img2img选项卡的图像画布的图片将作为初始图片
上传到AnimateDiff中的“last frame”中的图片将作为最终图片
参数设置

步数:20
采样器:DPM++ 2M Karras
CFG 规模:7
种子:-1
尺寸:512×512
去噪强度:0.75
活动模块(Motion module):mm_sd_v15_v2.ckpt
启用AnimateDiff(Enable AnimateDiff):
帧数(Number of frames):32
帧率(FPS):8
参考案例

正面提示:
  1. ((best quality)), ((masterpiece)), ((realistic)), long highlighted hair, cybergirl, futuristic silver armor suit, confident stance, high-resolution, living room, smiling, head tilted <lora:v2_lora_ZoomOut:0.75>
复制代码
负面提示:
  1. (worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale), multiple views, comic, sketch, (((bad anatomy))), (((deformed))), (((disfigured))), watermark, multiple_views, mutation hands, mutation fingers, extra fingers, missing fingers, watermark, nude, nsfw
复制代码
参数截图:



效果展示:





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

刘俊凯

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表