当前位置:首页|资讯|GitHub|Stable Diffusion|Stable Diffusion WebUI

官方指南 | ControlNet 1.1 WebUI 扩展插件

作者:-Zho-发布时间:2023-04-25

特别说明:本篇为翻译

原文来自:https://github.com/Mikubill/sd-webui-controlnet

中文翻译:-Zho-

详细解读与测试见下一期~

此扩展插件适用于 AUTOMATIC1111 的Stable Diffusion web UI,允许 Web UI 将ControlNet添加到原始 Stable Diffusion 模型中以生成可控图像。添加是即时的,不需要合并。

ControlNet 是一种通过添加额外条件来控制扩散模型的神经网络结构。

感谢并受到启发:kohya-ss/sd-webui-additional-networks

安装方法

  1. 打开“扩展”选项卡。

  2. 在选项卡中打开“从网址安装”选项卡。

  3. 将https://github.com/Mikubill/sd-webui-controlnet.git粘贴到其中

  4. 点击“安装”按钮。

  5. 等待 5 秒,将会看到“Installed into stable-diffusion-webui\extensions\sd-webui-controlnet. Use Installed tab to restart”。

  6. 转到“已安装”选项卡,单击“检查更新”,然后单击“应用并重新启动 UI”。(下次您也可以使用此方法更新 ControlNet。)

  7. 完全重启 A1111 webui,包括您的终端。(如果你不知道什么是“终端”,你可以重启你的电脑:关闭你的电脑然后再打开它。)

  8. 下载模型(见下文)。

  9. 将模型放入正确的文件夹后,您可能需要刷新才能看到模型。刷新按钮位于“模型”下拉列表的右侧。

下载模型

目前,ControlNet 1.1 的所有 14 个型号都在进行 Beta 测试。讨论和错误报告见:https://github.com/Mikubill/sd-webui-controlnet/issues/736。

 ControlNet 1.1 模型下载:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

您需要下载以“.pth”结尾的模型文件。

将模型放入“stable-diffusion-webui\extensions\sd-webui-controlnet\models”。现在我们已经包含了所有“yaml”文件。您只需要下载“pth”文件。

注意:如果您在其他地方下载模型,请确保 yaml 文件名和模型文件名相同。如果您从其他来源下载,请手动重命名所有 yaml 文件。否则,模型可能会出现意外行为。如果您从官方来源下载模型,您可以忽略它。

请不要在 HuggingFace 网站中右键单击文件名进行下载。一些用户右键单击那些 HuggingFace HTML 网站并将这些 HTML 页面保存为 PTH/YAML 文件。他们没有下载正确的 PTH/YAML 文件。相反,请单击 HuggingFace 中的小下载箭头“↓”图标进行下载。

如果您的 A1111 Extension 的 ControlNet 显示类似于“jihulab.com/affair3547”的链接,那么很遗憾,您的 A1111 不支持 ControlNet 1.1。请使用A1111的正式版。

A1111 ControlNet Extension 1.1 中的新功能

完美支持所有 ControlNet 1.0/1.1 和 T2I 适配器型号。

现在我们已经完美支持所有可用的模型和预处理器,包括完美支持 T2I 样式适配器和 ControlNet 1.1 Shuffle。(确保您的 YAML 文件名和模型文件名相同,另请参阅“stable-diffusion-webui\extensions\sd-webui-controlnet\models”中的 YAML 文件。)

完美支持 A1111 High-Res. Fix

现在,如果您在 A1111 中打开高分辨率修复,每个控制网络将输出两个不同的控制图像:一个小的和一个大的。小的用于基本生成,大的用于 High-Res Fix 生成。两个控制图像由称为“超高质量控制图像重采样”的智能算法计算得出。这是默认打开的,您不需要更改任何设置。

完美支持 A1111 I2I 和 Mask

现在,ControlNet 使用 A1111 的不同类型掩码进行了广泛测试,包括“Inpaint masked”/“Inpaint not masked”,“Whole picture”/“Only masked”,以及“Only masked padding”和“Mask blur”。调整大小与 A1111 的“调整大小”/“裁剪并调整大小”/“调整大小并填充”完美匹配。这意味着您可以毫无困难地在 A1111 用户界面的几乎任何地方使用 ControlNet!

像素完美模式

现在,如果您打开像素完美模式,则无需手动设置预处理器(注释器)分辨率。ControlNet 将自动为您计算最佳注释器分辨率,以便每个像素与 Stable Diffusion 完美匹配。

用户友好的 GUI 和预处理器预览

我们对一些以前令人困惑的UI进行了重新组织,例如“新画布的画布宽度/高度”,它位于📝现在按钮。现在预览 GUI 由“允许预览”选项和触发按钮控制💥. 预览图像大小比以前更好,您无需上下滚动 - 您的 a1111 GUI 不会再乱七八糟了!

控制模式(以前称为猜测模式)

我们已经修复了之前 1.0 的猜测模式中的许多错误,现在它被称为控制模式

现在您可以控制哪个方面更重要(您的提示词或您的 ControlNet)

也可在下文中查看

ControlNet 1.1 文档:https ://github.com/lllyasviel/ControlNet-v1-1-nightly

从 ControlNet 1.0 更新到 1.1

如果您以前是 ControlNet 1.0 的用户,您可以:

  • 如果不确定,可以备份并删除文件夹“stable-diffusion-webui\extensions\sd-webui-controlnet”,然后从上面安装部分的第1步开始。

  • 或者您可以从上述安装部分的第 6 步开始。

默认设置

这是标准设置。如果遇到任何问题,您可以使用此设置作为健全性检查


以前的型号

大模型:https://huggingface.co/lllyasviel/ControlNet/tree/main/models

小型模型:https://huggingface.co/webui/ControlNet-modules-safetensors

您仍然可以在以前的 ControlNet 1.0 中使用所有以前的模型。现在,以前的“depth”现在叫做“depth_midas”,以前的“normal”叫做“normal_midas”,以前的“hed”叫做“softedge_hed”。并且从1.1开始,所有的线图、边图、线稿图、边界图都会有黑底白线。

使用以前的版本 1.0

之前的版本(sd-webui-controlnet 1.0)存档在

https://github.com/lllyasviel/webui-controlnet-v1-archived

这个版本并不是暂时停止更新,而是永远停止所有更新。

如果您在与专业工作室合作,并且需要 100% 逐像素再现所有先前结果的,请考虑此版本。

在新的 controlnet 1.1 中,只要您遵循唯一的一条规则,那么您的输入将始终是正确的:如果您的图像有黑色线条和白色背景,请将预处理器设置为反转。如果您更喜欢以前的 1.0 方式通过测试预处理器+反转+rgb2bgr 的所有正确/错误组合来手动找出正确的组合,您可以选择退出更新并使用上述旧版本 1.0。

用法

  1. 打开“txt2img”或“img2img”选项卡,写下您的提示词。

  2. 按“刷新模型”并选择您要使用的模型。(如果没有出现,请尝试重新加载/重新启动 webui)

  3. 上传您的图像并选择预处理器即可。

示例

T2I 适配器支持

(来自腾讯ARC/T2I-Adapter)

T2I-Adapter 是一个小型网络,可以为预训练的文本到图像模型提供额外的指导。

要使用 T2I-Adapter 模型:

  1. 从https://huggingface.co/TencentARC/T2I-Adapter下载文件

  2. 复制相应的配置文件并将其重命名为与模型相同的名称 - 请参见下面的列表。

  3. 用草图模型生成图像时,强度(t)最好使用稍低的值,例如0.6-0.8。(参考:ldm/models/diffusion/plms.py)

笔记:

  • 此工具是实验性的,结果可能与原始 repo 不同。

  • 一些适配器可能有映射偏差(参见问题https://github.com/lllyasviel/ControlNet/issues/255)

适配器示例

catboxanon 的例子,没有调整或挑选。(颜色指导)

最低要求

  • (Windows) (NVIDIA: Ampere) 4gb - 启用--xformersLow VRAM在 UI 中勾选模式,最高可达 768x832

Multi-ControlNet / 联合调节(实验)

此选项允许在单代中使用多个 ControlNet 输入。要启用此选项,请更改Multi ControlNet: Max models amount (requires restart)设置。请注意,您需要重新启动 WebUI 才能使更改生效。

  • 如果启用了其中任何一个,猜测模式将应用于所有 ControlNet。


权重和指导强度/开始/结束(Weight and Guidance Strength/Start/End)

权重是controlnet“影响力”的权重。这类似于提示词的注意/强调。例如(提示词:1.2)。从技术上讲,这是在将 ControlNet 输出与原始 SD Unet 合并之前将其乘以的系数。

指导开始/结束是控制网应用的总步骤的百分比(指导强度 = 指导结束)。它类似于提示编辑/移动。例如 [myprompt::0.8](它从开始应用到总步骤的 80%)

批量处理模式

将任何单元置于批量处理模式以激活所有单元的批量处理模式。为每个单元指定一个批量处理目录,或使用 img2img 批量处理选项卡中的新文本框作为后备。虽然文本框位于 img2img 批处理选项卡中,但您也可以使用它在 txt2img 选项卡中生成图像。

请注意,此功能仅在 gradio 用户界面中可用。根据需要多次调用 API 以进行自定义批处理调度。

API/脚本访问

此扩展可以通过 API 或外部扩展调用接受 txt2img 或 img2img 任务。请注意,您可能需要Allow other scripts to control this extension在设置中启用外部呼叫。

要使用 API:使用参数启动 WebUI --api,然后转到http://webui-address/docs获取文档或示例https://github.com/Mikubill/sd-webui-controlnet/blob/main/example/api_txt2img.ipynb。

使用外部调用:Checkout Wiki:https://github.com/Mikubill/sd-webui-controlnet/wiki/API


命令行参数

此扩展将这些命令行参数添加到 webui:


MacOS 支持

使用 pytorch 进行测试:https://github.com/Mikubill/sd-webui-controlnet/pull/143#issuecomment-1435058285

要将此扩展与 mps 和普通的 pytorch 一起使用,目前您可能需要使用--no-half.

示例:Visual-ChatGPT(通过 API)

快速开始:

限制

  • 在 Web UI 上拖动大文件可能会冻结整个页面。最好改用上传文件选项。

  • 就像 WebUI 的hijack一样,我们使用了一些插值来接受任意大小的配置(参见scripts/cldm.py):https://github.com/AUTOMATIC1111/stable-diffusion-webui/blob/3715ece0adce7bf7c5e9c5ab3710b2fdc3848f39/modules/sd_hijack_unet.py#L27



Copyright © 2024 aigcdaily.cn  北京智识时代科技有限公司  版权所有  京ICP备2023006237号-1