手把手教你用Stable Diffusion制作动画视频(5种方法)

方法2:ControlNet img2img

这种视频到视频的方法将视频转换为一系列的图像,然后使用Stable Diffusion img2img 与ControlNet来转换每一帧。

第一步:将mp4视频转换为png文件

你可以使用ezgif网站将mp4视频转换为png图像文件。

上传mp4视频文件。

使用以下设置。

  • Size: Original
  • Frame rate: 10 fps

点击Convert to PNG!

点击Download frames as ZIP.

手把手教你用Stable Diffusion制作动画视频(5种方法)

将ZIP文件提取到一个png图像文件的文件夹中。

将文件夹的名称重命名为video 。现在你应该有一个名为video 的文件夹,其中包含png文件。

或者,如果你喜欢使用命令行将mp4视频转换为png文件,下面是命令。

mkdir video
ffmpeg -i girl_dance.mp4 -r 10 video/%05d.png

第二步:输入Img2img设置

你将需要 image-to-image和ControlNet 的设置来应用于每一帧。

现在打开AUTOMATIC1111。

我们需要对ControlNet进行一些特殊设置。转到设置页面。

点击左侧面板上的Show all pages

搜索文本(Windows为Ctrl+F。Mac为Cmd+F)”Quicksettings list”。将 “initial_noise_multiplier “和 “img2img_color_correction “加入到列表中。

它应该看起来像这样:

手把手教你用Stable Diffusion制作动画视频(5种方法)

转到页面的顶部。点击应用设置,然后重新加载用户界面

你应该看到两个新的设置:img2img的Noise multiplierApply color correction…在页面的顶部。

手把手教你用Stable Diffusion制作动画视频(5种方法)

Noise multipler for img2img 设置为0.5。这个缩放因子被应用于img2img的随机潜伏张量。降低它可以减少抖动。

勾选Apply color correction…设置。这个选项是为了匹配原始内容的颜色。这有助于各帧之间颜色的一致性。

现在还有一个设置…进入Settings > ControlNet。选择以下选项。

  • Do not append detectmap to output: Yes
手把手教你用Stable Diffusion制作动画视频(5种方法)

点击Apply Settings。重新加载Web-UI。

转到img2img页面。

在页面顶部的Stable Diffusion checkpoint,选择一个你想使用的模型。我将使用deliberate v2

想出一个提示和一个负面提示。我将使用:

photo of Sci fi cute girl, pink hair, photorealistic, in the style of franciszek starowieyski, white porcelain sci fi, mecha, 32k uhd, machine aesthetics, dark white and azure, hans zatzka, silver and pink, science fiction city,shiny pink hair, half body, oil painting
deformed, disfigured, ugly

上传其中一个框架(即png文件)到img2img画布。

手把手教你用Stable Diffusion制作动画视频(5种方法)

调整大小模式:只需调整大小

Sampling method: DPM++ 2M Karras

Sampling Steps: 20

Width: 908 (This is set to maintain the aspect ratio of the video)

Height: 512 (The shorter dimension is fixed to 512)

CFG scale: 20 (Experiment with this. The higher you set, the more it follows the prompt.)

Denoising strength: 0.4 (Experiment with this. The higher you set, the more changes but also more flickering)

Seed: -1 (random)

手把手教你用Stable Diffusion制作动画视频(5种方法)

第3步:进入ControlNet设置

现在进入ControlNet部分…

上传同一帧到图像画布。

Enable: Yes

Pixel Perfect: Yes

Allow Preview: Yes

Control Type: Lineart

Preprocessor: Lineart Realistic

Model: control_xxxx_lineart

(实验一下控制类型、预处理程序和模型。他们中的许多人都会有同样的效果。我们的目标是在预览中看到眼睛、嘴巴、发型等细节的勾勒)

手把手教你用Stable Diffusion制作动画视频(5种方法)

控制权重:0.6(当你看到颜色伪影时,降低它)。

第四步:选择一个seed

按 “Generate  “来测试设置。

手把手教你用Stable Diffusion制作动画视频(5种方法)

一旦你对效果满意,在左边面板上选择图像。

要修复种子,点击种子值框旁边的回收图标。你应该看到该值从-1变成了一个正数。

手把手教你用Stable Diffusion制作动画视频(5种方法)

第5步:用ControlNet批量制作img2img

现在,经过努力,你已经生成了一帧……我们的目标是将相同的设置应用于所有的帧。幸运的是,你可以通过批处理 来实现这一目标。

首先,删除 ControlNet部分的参考图像。这一步很重要。否则,你将在所有的框架中使用这个参考图像!点击右上方的十字图标,删除图像。

确认你看到参考图像被删除,就像下面的截图一样。

手把手教你用Stable Diffusion制作动画视频(5种方法)

保持ControlNet设置的其余部分不动。

现在切换到Img2img页面上的Batch标签。

手把手教你用Stable Diffusion制作动画视频(5种方法)

输入以下的路径

  • Input directory:包含你视频的PNG文件的文件夹。
  • Output directory:为你处理的PNG文件建立的新文件夹。

在Windows中,输入目录是文件资源管理器中PNG文件的文件夹位置

手把手教你用Stable Diffusion制作动画视频(5种方法)

如果你使用Google Colab,把PNG文件复制到你的Google Drive,并指定一个路径。路径可以在左边的文件资源管理器中找到,右键点击一个文件夹。

点击 “生成”,开始生成过程。

第6步:将输出的PNG文件转换为视频或gif动画

GIF动画

使用EZGIF页面,将PNG文件转换为GIF动画。

在GIF选项中,将延迟时间设置为10(单位:1/100秒),每秒10帧。

这是视频到视频的结果(去噪强度0.5):

手把手教你用Stable Diffusion制作动画视频(5种方法)

将去噪强度提高到0.7,会使视频发生更多变化,但也会增加闪烁。

手把手教你用Stable Diffusion制作动画视频(5种方法)

MP4视频

使用以下命令将png文件转换为MP4视频。

ffmpeg -framerate 10 -pattern_type glob -i '*.png' -c:v libx264 -pix_fmt yuv420p out.mp4

关于ControlNet img2img的说明

这可能是所有视频转视频方法中最费力的一种。你想使用它的原因很简单:为了获得对这个过程的完全控制。

你会看到相当多的Youtubers提倡这种方法。我推荐Enigmatic_e的视频,以了解更多关于这种方法(以及一般来说,用稳定扩散法制作视频)。Corridor Crew的这段视频告诉你一个费力的方法,可以制作高质量的稳定扩散视频。

(1)
上一篇 2023年6月14日 22:45
下一篇 2023年6月11日 12:20

相关推荐

分享本页
返回顶部