Stable Diffusion安装ControlNet与下载模型

共计 3009 个字符,预计需要花费 8 分钟才能阅读完成。

Stable Diffusion 安装 ControlNet 与下载模型

稳定扩散(Stable Diffusion)是一种通过加入额外条件来控制神经网络结构的扩散模型。最近,推出了 ControlNet v1.1 版本,该版本在 AI 生成图片方面更加精准。

相比于内置的 ” 图生图 ” 技术,ControlNet 能够更好地让 AI 以指定的动作生成图片。此外,结合 3D 建模作为辅助,可以解决单纯使用文本生成图片时手脚、脸部表情不准确的问题。

ControlNet 的用途还包括上传人体骨架线条,通过 ControlNet 生成完整的人物图片。或者上传素色的 3D 建模,让 ControlNet 生成室内布置家具。

ControlNet 的开发者是 Lvmin Zhang,Mikubill 则负责开发扩展功能,使我们可以在 Stable Diffusion 中使用 ControlNet 生成图片。

  1. 安装 ControlNet 与下载模型

首先切换至 Extensions 页面,点击 ”Install From URL”,然后输入 URL”https://github.com/Mikubill/sd-webui-controlnet.git”,点击 ”Install“。接着在终端中按下 CTRL+C,关闭 Stable Diffusion WebUI。

然后从 lllyasviel/ControlNet v1.1 下载以.pth 结尾的模型文件,这些文件总共约占用 18GB 的空间。不需要下载.yaml 文件。目前 v1.1 版本是测试版,之后会合并到主保存库中。

将这些模型文件放到 stable-diffusion-webui/extensions/sd-webui-controlnet/models 文件夹中。

重新启动 Stable Diffusion WebUI。

  1. 各个模型的用途

ControlNet 目前提供以下模型,您可以根据需求选择下载需要的模型。

Anime Lineart:用于侦测线条,在生成的图片中也会保留原始线条,适用于处理动漫图像。

Canny:用于侦测图片边缘,效果比较模糊,不如 Scribbles 完整。

Depth:用于侦测输入图片的深度图。

Illumination:用于侦测输入图片的光源和照明效果。

Inpaint:类似于 ” 内补绘制 ”,使用 50% 随机遮罩和 50% 随机光流遮罩进行训练。

Instruct Pix2Pix:模型文件名为 ip2p,类似于 ” 图生图 ”,但是使用了 50% 的指示提示词和 50% 的叙述提示词进行训练。由于是 ControlNet,使用此模型时不需要调整 CFG Scale。

根据原作者的说法,使用 ” 使其成为 X ” 的提示词生成的图像效果比 ” 使 Y 成为 X ” 要好。

Lineart:用于侦测线条,适用于处理线稿,生成的图片也会保留原始线条。

M-LSD:用于侦测输入图片的直线。

Normalbae:

Openpose:使用 OpenPose 技术侦测输入图片中人物的动作,不一定会保留线条。

Scribbles:用于侦测线条,侦测到的线条质量介于 Soft Edge 和 Lineart 之间。

Segmentation:模型文件名为 seg,将侦测到的图片对象切割成一个个色块进行处理,例如将房子切割成一个色块,将天空切割成另一个色块。

Shuffle:将输入图片的概念转移到生成的图片中。

作者给出的例子是,输入一张灰色的装甲图片,生成的钢铁人盔甲也会是灰色的。

Soft Edge:用于侦测图片边缘,效果比较柔和,像是用炭笔涂过的。

Tile:输入一张图片,选取其中的一个区域,使其变得清晰。

  1. 参数解释

安装完成后,WebUI 界面中会出现 ”ControlNet” 按钮。

点击该按钮后,会显示以下选项:

Single Image:上传单张图片。

Batch:处理多张图片。在 ”Input Directory” 中填写待处理图片所在的路径。

Open New Canvas:清除图片,开启新的画布。

使用电脑镜头:在 ”Open New Canvas” 选项下面有四个按钮。

从左到右依次是:添加画布、使用电脑镜头拍照上传、未知、还原上次算图设置。

Enable:在生成图片时激活 ControlNet,必选。

Low VRAM:生成图片时使用 ControlNet 会占用更多的 VRAM,此选项可降低 VRAM 的使用量。

Pixel Perfect:由 ControlNet 自动决定预处理器的分辨率。

Allow Preview:允许预览生成图片的结果,会显示该模型侦测到的线条或骨架。

Preprocessor 预处理器:通常预处理器和模型两者要保持一致。

预处理器会对上传的图片进行处理,例如 Scribbles 会将彩色图片转换成线稿。如果您的图片不需要处理,则可以将预处理器设置为空。

Run Preprocessor(爆炸图标):运行预处理器,预先处理图片。

Model 模型:设置生成图片时使用的 ControlNet 模型。

Control Weight:ControlNet 在生成图片时的权重。

Starting Control Step:ControlNet 开始参与生成图片的步骤。

Ending Control Step:ControlNet 结束参与生成图片的步骤。

Preprocessor Resolution:预处理器的分辨率。

如果不确定要设置多少,请勾选 ”Pixel Perfect” 让 ControlNet 自动决定。

Control Mode (Guess Mode):在生成图片时控制 AI 平衡两者(Balanced),还是更偏重于您的提示词(My prompt is more important),还是更偏重于 ControlNet(ControlNet is more important)。

[Loopback] Automatically send generated images to this ControlNet unit:自动将生成的图片传回此 ControlNet 运算单元。

是的,如果您的电脑的 VRAM 足够大,您可以在 Settings → ControlNet 中激活多个 ControlNet 运算单元。

Multi ControlNet:一个 ControlNet 效果不够好,您是否考虑过激活第二个、第三个 ControlNet 呢?

默认安装后只会使用一个 ControlNet,但是叠加多个 ControlNet 有助于生成更好的图片。例如同时使用 Open Pose 和 Depth 生成人体,并防止手绘歪斜。

要激活 Multi ControlNet,请进入 Settings → ControlNet,拖动滑块设置要激活的 ControlNet 数量。

  1. 实际操作

以改绘一个人物姿势为例。

在安装完成后,WebUI 界面中会出现 ”ControlNet” 按钮。

在文生图页面填入提示词后,点击下方的 ControlNet 按钮,勾选 Enabled 激活 ControlNet,并上传图片。勾选 Low VRAM 可降低 VRAM 的占用。

接着选择要使用的预处理器和模型,两者要保持一致。预处理器会对上传的图片进行处理,例如 Scribbles 会将彩色图片转换成线稿。如果您的图片不需要处理,则可以将预处理器设置为空。

以 Scribbles 为例,选择预处理器后,点击右上角的 Generate 按钮即可生成结果,并附上侦测到的线条。如下图所示,右边的贞德的姿势确实与左边的 02 十分类似。

这就是 ControlNet 的一些基本使用方法和参数解释。通过 ControlNet,AI 能够更加精准地生成图片,满足不同需求。在使用过程中,您可以根据具体情况选择合适的模型和参数,以获得最佳的生成效果。

正文完