【AI绘画】ControlNet:一文搞懂Stable Diffusion最重要的插件

在这里插入图片描述

大家好,我是SD教程菌。

当你使用 Stable diffusion 生成图像时,是否有过这种经历?提示词内容在生成结果中似乎都体现出来了,但又总不是自己想要的样子,于是陷入到无限生成(抽卡)的状态,耗费大量时间,逐渐消磨兴趣、耐性及对SD的信任。

同样的文字,不同的人理解会不同,想象的画面也各不一样,机器当然也是如此,最好的办法就是“用图表达”。给SD一张参考图,让SD充分理解你的想法。俗话说,一张图胜过千言万语。

Stable Diffusion 的基本工作原理就是以文字作为引导条件,生成符合条件的图像。其短板就是无法对图像细节做精准控制,例如构图、动作、面部特征、空间关系等。ControlNet 的出现弥补了这一不足,更是成为SD绘画中必须熟练掌握的工具。

本文将带你全面了解最重要的SD辅助工具 —— ControlNet

Official ControlNet Blog Post:https://huggingface.co/blog/controlnet

一、ControlNet 是什么?


ControlNet 是一种增强型神经网络模型,它在SD中通过添加额外的条件来控制图像生成。可通过**[论文]**(https://arxiv.org/abs/2302.05543)了解更多。

ControlNet 有多种控制方式供选择使用(仍在不断地扩充和更迭),帮助我们应对不同的绘画需求。例如较为常用的 Canny(边缘探测)、Depth(景深探测)、Openpose(动作探测)。

举个例子:

在这里插入图片描述

未使用ControlNet的情况下,即便尽量用文字描述了动作细节,生成结果依然难以掌控,甚至有些细节的描述,SD也难以理解。

在这里插入图片描述

使用ControlNet后(以Canny为例),通过对参考图的边缘进行探测和提取,作为生成图像的附加引导条件,很好地掌控了构图和形态,提示词也精简了很多。

下图是ControlNet的其他控制方式,可以先感觉一下它们的用途和效果。(取自论文)

在这里插入图片描述

在这里插入图片描述

二、SD-WebUI 安装 ControlNet

1. 打开 Stable Diffusion WebUI 的 Extensions 页面。

2. 选择 Install from URL 选项卡。

3. 将以下地址粘贴到 URL for extension’s repository 位置。

https://github.com/Mikubill/sd-webui-controlnet.git

4. 步骤4:点击 Install,收到提示 extension is installed 即为安装成功。

5. 步骤5:重新启动sd-webui。

6. 下载模型:模型分为SD1.5和SDXL两种版本,使用时要与Checkpoint模型版本相同。

  • ControlNet Models for SD1.5:https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main(pth 和 yaml 文件都需要下载)

  • ControlNet Models for SDXL:https://huggingface.co/lllyasviel/sd_control_collection/tree/main

  • ControlNet 模型文件名含义:

在这里插入图片描述

7. 模型存放路径:stable-diffusion-webui\extensions\sd-webui-controlnet\models

8. 重新启动sd webui。

显存设置

由于SDXL模型能生成更高分辨率的图像,显存占用也会更高。可根据显存情况,用记事本打开 web-ui.bat ,添加对应的 COMMANDLINE 指令。

如果显存在8GB~16GB,添加 --medvram-sdxl

@echo off``   ``set PYTHON=``set GIT=``set VENV_DIR=``set COMMANDLINE_ARGS=--medvram-sdxl --xformers``   ``call webui.bat

如果显存<8GB,添加 --lowvram-sdxl

@echo off``   ``set PYTHON=``set GIT=``set VENV_DIR=``set COMMANDLINE_ARGS=--lowvram --xformers``   ``call webui.bat

三、升级 ControlNet


方法1:在 SD-WebUI 升级

1. 打开 Extensions 页面;

2. 进入 Installed 选项卡,点击 Check for updates;

3. 等待完成;

4. 完全关闭SD-WebUI并重启。

在这里插入图片描述

方法2:通过控制台指令升级

在 stable-diffusion-webui/extensions/sd-webui-controlnet 路径内启动控制台,输入以下指令:

git pull
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值