网站搜索

如何使用稳定扩散制作 AI GIF 和视频


摘要:要使用 Stable Diffusion web UI 制作动画,请使用 Inpaint 遮罩您想要移动的内容,然后生成变化,然后将它们导入 GIF 或视频制作器。或者,安装 Deforum 扩展以从头开始生成动画。

Stable Diffusion 能够生成的不仅仅是静止图像。通过一些内置的工具和一个特殊的扩展,你可以毫不费力地得到非常酷的 AI 视频。下面介绍如何使用 Stable Diffusion 为动画 GIF 或实际视频文件生成帧。

稳定扩散能生成视频吗?

虽然 AI 生成的电影仍然是一个新兴领域,但在技术上可以使用 Stable Diffusion 制作一些简单的动画,无论是作为 GIF 还是实际的视频文件。但是有一些限制。

因为 img2img 可以轻松生成特定图像的变体,所以 Stable Diffusion 非常适合快速制作一系列动画帧,尤其是循环帧。想一想从火中升起的火焰、车轮在汽车上旋转或喷泉中飞溅的水。实际用途可能是为某些 RPG 艺术品赋予逼真的氛围:

您甚至可以根据真实图像而不是合成图像制作视频。在这里,我拍了一张正在浇水的植物的照片,然后点击几下,为水流制作了动画:

如果您想为一个对象设置动画,使其从 A 点移动到 B 点,那么对于 Stable Diffusion 来说这是一项艰巨的任务(至少目前如此)。您可能会花费大量时间调整提示和设置,然后仔细研究大量输出以找到最佳帧并将它们按正确顺序放置。到那时,您不妨打开 Adobe Illustrator 并开始手动制作动画。

尽管如此,您可以使用基本的 Stable Diffusion 设置和您选择的用于将动画中的帧拼接在一起的另一种工具来制作一些很酷、简单的动画。还有一个名为 Deforum 的项目使用 Stable Diffusion 来创建看起来非常有趣的“变形”动画。它会输出 MP4 视频,因此不需要外部工具,它甚至可以让您添加音频。我们将向您展示这两种方法的基础知识。

使用 Inpaint 为图像制作动画

使用 img2img 工具 Inpaint,您可以突出显示要制作动画的图像部分并生成它的多个变体。然后将它们放入 GIF 或视频制作器中,并将帧保存为动画。

第 1 步:获取图像及其提示

首先将要设置动画的图像拖放到 img2img 工具的 Inpaint 选项卡中。如果您还没有生成一个,请花一些时间写一个好的提示,这样您就可以获得一张好的入门照片。您还可以导入自己拍摄或绘制的图像。

如果您导入的图像不是使用 Stable Diffusion 生成的,您仍然需要适当的提示来生成变体,因此请单击 Img2Img 页面顶部的“Interrogate CLIP”。这将根据 Stable Diffusion 认为 您的图像包含的内容生成启动提示。通过添加任何其他重要详细信息来完成提示。

对于我们的指南,我们生成了夜空下机器人的 512×512 图像,我们想要提供一种延时动画,流星和星系经过。

如果您想精确地进行操作,可以使用我们使用的提示重新创建它:

a robot stands in a field looking up at the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd

这些是我们使用的设置:

检查点:稳定扩散 2.0 采样方法: DPM++ SDE 采样步数: 20 CFG 比例: 5 种子:4177542269

第 2 步:遮盖零件以使用 InPaint 制作动画

图像和提示就位后,在 Inpaint 工具中,使用画笔遮盖(遮盖)要制作动画的图像的每个部分。留下任何你想要静态的东西。

在我们的示例中,我们覆盖了大部分天空。我们在机器人周围留了一点垫子,因为在我们的测试中,如果我们离得太近,稳定扩散有时会给机器人增加天线和其他附属物。

第 3 步:生成您的框架

现在你已经屏蔽了你想要看到移动的图像的每个部分,是时候生成我们动画的帧了。但首先,您需要确保 img2img 具有正确的设置。它们可能令人困惑,因此我们将解释其中一些的含义以及您可能想要或可能不想调整它们的原因:

  • Mask Mode:Inpaint Masked – 这确保覆盖的所有内容都被更改,而不是相反。如果出于某种原因,您想改为修改未屏蔽的部分,请将其更改为“Inpaint Not Masked”。
  • Masked Content:Original – 这可确保 Stable Diffusion 在生成变体时能够看到并考虑现有图像。否则,它会将屏蔽的内容视为空白或随机画布。
  • Inpaint Area: Whole Picture – 这会强制 Stable Diffusion 在将每个帧与原始图像集成之前为每个帧生成一个全新的图像。切换到“Only Masked”可能会加快生成速度,但也可能会给您带来更糟糕的结果。
  • 采样方法:DPM++ SDE – 这与我们用于生成原始图像的采样方法相同,我们坚持使用它以确保外观一致。如果不知道用什么,“Euler a”是一个全能的好选择。
  • 批量计数:60 – 这是您要生成的图像数量。您可能需要更多或更少,具体取决于您希望动画序列的速度和长度。
  • CFG 等级:5 – 从某种意义上说,CFG 等级决定了 Stable Diffusion 的创作自由度。数字越高,Stable Diffusion 将越严格地尝试遵循您的提示。增加它并获得好的结果需要有一个非常好的提示。
  • 去噪强度:0.3 – 可能是该项目最重要的设置,去噪比例决定了稳定扩散对原始图像的改变程度。您可能希望将其保持在 0.2 或 0.3 左右,因为过多的帧间变化会破坏动画效果。
  • Seed: -1 – 这告诉 Stable Diffusion 从随机种子开始。我们不建议重复使用原始图像中的种子,因为这会减少您获得的变化量(如果有的话)。

完成所有设置后,单击“生成”并坐下来,让 Stable Diffusion 为您绘制动画帧。您可以在 Stable Diffusion 目录的 /outputs/img2img-images 文件夹中找到它们。如果您不喜欢结果,请调整设置(可能从去噪强度和采样步骤开始)并重试。

第 4 步:批量升级您的相框(可选)

如果您打算创建高清视频,请记住将所有新生成的帧升级到您想要的分辨率。单击“发送到 Extras”开始。

在 Extras 中,切换到“批处理”选项卡。

将“调整大小”比例调整为您希望调整大小的次数(设置为 2 会将 512×512 图像更改为 1024×1024 图像)。或者,从“缩放依据”切换到“缩放至”并设置特定分辨率。同时将“Upscaler 1”设置为您选择的升频器。我们使用 R-ESRGAN 4x+ 获得了足够好的结果,但请随意进行实验,看看哪个能最好地处理您的图像。

然后点击“生成”,Stable Diffusion 将为您提供每个帧的更高分辨率版本,保存在您的 /outputs/extras 文件夹中。

第 5 步:在 GIF 或视频制作器中制作动画帧

现在你已经有了你的帧,是时候将它们拼接在一起并创建你的最终动画了。您可以使用许多工具来执行此操作,包括免费的专用网站,如 Ezgif 和 flixier,它们易于使用且具有许多微调控件。但是,请记住,这些网站可以看到您上传的所有内容,因此不要向他们提供任何您对外界了解的内容感到不自在的内容。

虽然这些网站的解释很清楚,但我们将演示如何使用免费的离线照片编辑工具 GIMP 制作 GIF。如果您想要一个视频文件,请改用 Kdenlive 或类似的视频编辑器——只需确保调整设置,以便将所有帧导入为一秒或更短的剪辑,具体取决于您想要的每秒帧数。

首先,下载 GIMP 并将其安装到您的计算机上(如果您还没有的话)。启动它,然后转到“文件”>“作为图层打开”。

找到您生成的帧所在的位置,然后一次选择所有帧,然后单击“打开”。 (按住 Shift 键可以快速选择多个文件。)GIMP 会将您的所有图像作为一个单独的图层导入到一个画布上。我们想要这个是因为 GIMP 的 GIF 生成工作方式是从下到上遍历每一层,将每个连续的层视为动画中的下一帧。

现在是有趣的部分。要观看 GIF 预览,请转到“滤镜”>“动画”>“播放”。

按空格键播放和暂停 GIF。如果帧过快或过慢,请调整播放对话框底部的 FPS,然后单击顶部的刷新按钮以使用新的帧速率重新加载预览。

一旦动画看起来不错,就可以生成 GIF 文件了。关闭预览并单击文件 > 导出为。当您输入文件保存名称时,将 .gif 扩展名添加到末尾,以便 GIMP 知道您需要 GIF。

在出现的 GIF 导出对话框中,确保选中“作为动画”框。如果您想要不同的帧速率,也可以调整帧之间的毫秒数。一秒钟有 1000 毫秒,因此 100 毫秒将使您在 10 FPS 左右正确。最后,单击“导出”。

繁荣,你有完整的动画 GIF。

使用 Deforum 生成视频

如果您想使用 Stable Diffusion 创建更有趣的动画,并让它输出视频文件而不是一堆帧供您使用,请使用 Deforum。这是一个图像合成项目,带有可用于 Stable Diffusion Web UI 的扩展,可让您直接生成 MP4 视频文件,甚至包括音频。这是一个非常强大和复杂的工具,有很多设置可供试验,包括相机平移和缩放、多个提示和视频导入。

出于我们的目的,我们将向您介绍生成相当简单但有趣的动画的基础知识。

第 1 步:安装 Deforum 扩展

要获取 Deforum 扩展,请打开命令提示符并将目录更改为您的 stable-diffusion-web-ui 文件夹。然后使用这个 git clone 命令在你的扩展文件夹中安装 Deforum。

git clone https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

像往常一样启动 Stable Diffusion web UI,然后打开界面中现在的 Deforum 选项卡。

第 2 步:写下您的提示

您可能习惯于使用 Stable Diffusion 编写单个提示,但 Deforum 允许您编写“预定”的多个提示,这意味着在您选择的动画中的任何时间点,它都会切换到基于计划中的下一个提示。

单击“提示”选项卡并将现有提示更改为您想要的任何内容,保持括号和选项卡结构不变。对于我们的示例,我们将使用这组提示:

{
    "0": "a robot stands under the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd",
    "40": "a space station flies through space during a meteor shower, ultra realistic, highly detailed",
    "80": "a supernova explodes, vibrant colors, ultra realistic, highly detailed"
}

那么这些数字是什么意思呢?默认情况下,Deforum 为您的动画生成 120 帧,我们将这组帧分成三部分。 0 表示第一帧,因此它和之后的所有帧都是第一个提示的 im2img 变体。然后在第 40 帧,Stable Diffusion 将开始根据我们的第二个提示进行变化。在 80 时,它切换到第三个。您可以根据需要添加任意数量的提示更改,并根据需要调整关键帧选项卡上的最大帧限制。

第 3 步:调整 Deforum 设置

您可能已经注意到 Deforum 中涉及大量设置,但我们将通过一些设置来帮助您入门。首先,在“运行”选项卡中,您会找到许多典型的 Stable Diffusion 设置。重命名批次,输入你想要开始的种子(我们正在为我们的机器人重复使用那个),并将采样器更改为你想要的。

在关键帧选项卡中,您可以调整动画“相机”的运动。它默认设置为间隔缩放,但我们想添加垂直“平移”运动,因此我们将添加 0:(-2), 100:(4) 到“Translation Y “ 框架。这告诉 Deforum 将第一帧视为 Y 轴上的像素 -2,然后在第 100 帧移动到像素 4。随着动画的进行,这将使我们稍微向上平移。

在“输出”选项卡中,我们将选中“制作 GIF”框,这将为我们提供一个 GIF 文件以及 MPEG 视频文件。这也是您使用“添加音轨”和“音轨路径”设置添加音频的地方,如果有的话。

第 4 步:生成您的视频

最后,点击那个大的“生成”按钮。由于 Deforum 正在创建和拼接许多帧,这需要时间,所以在等待时喝杯咖啡。完成后,您会在 /outputs/img2img-images 目录中找到 MPEG 文件、GIF 版本、每个单独的帧以及您在批处理名称下使用的设置读数。

这是我们的提示得到的:

这不是夏季大片,但它仍然令人着迷!查看官方 Deforum 快速入门指南,了解您可以调整的所有其他旋钮和转盘。

如果您正在寻找其他很酷的 AI 项目,请了解如何使用 Stable Diffusion 生成 Minecraft 纹理包或开始使用 ChatGPT,以及使用 ChatGPT 可以做的令人惊讶的事情。