Stable Diffusion基础:精准控制之ControlNet
在AI绘画中准确操控图片的生成是一件比较困难的事情,炼丹师们经常需求很多抽卡才能得到一张满意的图片,不过跟着 ControlNet 的诞生,这一问题得到了很大的缓解。 ControlNet 供给了十几种操控网络模型,有的能够操控画面的结构,有的能够操控人物的姿态,还有的能够操控图片的画风,这关于进步绘画质量、提升生图速度特别有用;依据 ControlNet 的才能,炼丹师们还能够将AI绘画拓宽到更多的运用场景,比方艺术二维码、光影文字、线稿上色、老照片修复、图片风格转绘等等。

本文将以 Stable Diffusion WebUI 为例介绍 ControlNet 的装置和运用办法。

装置

ControlNet 在 Stable Diffusion WebUI 中是以插件的方式存在的,大部分 SD WebUI 的整合包或许镜像都现已装置了这个插件,假如你的还没有装置,需求先装置它。现已装置好的越过这一小节即可。

办法一

打开 Stable Dissusion WebUI 前端页面,进入“扩展插件”-“从网址装置”,在“扩展插件的git仓库网址”中输入:github.com/Mikubill/sd…,然后点击“装置”,待装置完成后重启 SD WebUI。各种 ControlNet 模型和预处理器会在运用时主动下载装置。

Stable Diffusion基础:精准控制之ControlNet

办法二

假如访问github不畅,也能够经过别的方式下载插件包和对应的模型,然后自己布置到 stable-diffusion-webui 中。文章最终有我收拾的插件包和各种模型的下载地址。

具体布置途径如下:

  1. ControlNet插件:/extensions
  2. ControlNet模型:/extensions/sd-webui-controlnet/models
  3. ControlNet预处理器:/extensions/sd-webui-controlnet/annotator/downloads

注意需替换 为你自己的SD WebUI布置途径。

装置成功后,在“文生图”、“图生图”界面的下方会呈现 ControlNet 区域,点击右侧的打开按钮,下边有4个ControlNet 单元,也便是咱们最多能够一同运用4个 ControlNet 来操控出图的作用,一般状况都能满意。需求注意,一同运用的模型越多,生成图片的速度越慢。

Stable Diffusion基础:精准控制之ControlNet

假如你的 ControlNet 只要1个单元,或许你想修正这个单元的数量,能够到“设置”中调整,如下图所示,找到“多重操控网:最大模型数量”,更改之后别忘了重启。

Stable Diffusion基础:精准控制之ControlNet

运用

ControlNet 需求调配大模型一同运用,这儿以“文生图”为例来演示 ControlNet 的运用。

首先挑选大模型,输入提示词和反向提示词。这儿挑选 AnythingV5 这个二次元模型,提示词很简单的:1girl,反向提示词也很简单:NFSW,防止生成不太便利的图片。

Stable Diffusion基础:精准控制之ControlNet

然后是采样参数、画布尺度、提示词引导系数、生成种子,这些都不是要点,运用默许的就能够。

Stable Diffusion基础:精准控制之ControlNet

最终要点介绍 ControlNet 的配置办法。由于设置较多,为了便利对照阅览,我将分段介绍。

下面将依照图片中的数字顺序进行介绍。

榜首段

Stable Diffusion基础:精准控制之ControlNet

1、ControlNet 模块的标题。如图所示,ControlNet 文字后跟一个版本号,“1 unit”表示当时启用了1个 ControlNet 单元。

2、默许状况下,ControlNet的面板是折叠起来的,点击这个按钮能够打开。

3、能够一同敞开多个 ControlNet 单元,它们共同参加图片的制作,现已启用的单元会用亮色标示出来。不过敞开的越多,生成图片的速度越慢。

4、在每个 ControlNet 单元中能够上传一张参阅图片,ControlNet 会依据当时挑选的 Control Type 从参阅图片中提取某种特征信息,用于生成图片。

5、预处理作用预览:预处理便是从参阅图中提取图片的某种特征信息,预览便是以可视化的方式展现这些特征信息。大部分 ControlNet 都支撑预览,也有部分 ControlNet 不支撑预览。下面会介绍生成这张预览图的办法。

6、ControlNet 参加图片制作时:线条需求是白色的、布景需求是黑色的。这儿提示用户假如参阅图中的线条是黑色、布景是白色的,需求在预处理器中运用“回转”进行处理。

7、这儿有四个关于参阅图的操作按钮,它们依照前后顺序分别是:

(1)运用画布:

点击这个按钮后,首先会显现创立画布的参数,设置宽高,点击“创立新画布”。

Stable Diffusion基础:精准控制之ControlNet

然后参阅图这儿就变成了一个画布,咱们能够运用鼠标在这个画布上随意画画。画布的右上角有几个按钮,能够调整画笔的粗细、撤销操作、清空画布、封闭画布等。生成图片时 ControlNet 将运用画布中的内容作为参阅图。

Stable Diffusion基础:精准控制之ControlNet

(2)运用摄像头:

点击这个按钮之后,参阅图这儿将变成摄像头,咱们能够运用电脑摄像头拍摄照片作为参阅图。

Stable Diffusion基础:精准控制之ControlNet

(3)镜像摄像头:

点击这个按钮会将摄像头的画面水平回转。

(4)发送尺度到 Stable Diffusion:

点击这个箭头按钮会把参阅图的尺度填写到 Stable Diffusion 的画布尺度中,也便是填写到下图的方位:

Stable Diffusion基础:精准控制之ControlNet

8、启用:勾选这个按钮之后,当时的 ControlNet 单元才收效,才会参加生成图片。

9、低显存形式:假如显卡内存小于4GB,主张勾选。

10、完美匹配像素:勾选此项后,无需手动设置某些预处理器生成预览图的分辨率参数,ControlNet 将主动核算,更好的匹配 Stable Diffusion。主张勾选,不同的值,对出图还是有些影响的。以Canny为例:

Stable Diffusion基础:精准控制之ControlNet

Stable Diffusion画布尺度为 512*512,预处理器分辨率分别为:512、1024和2048时的作用。

Stable Diffusion基础:精准控制之ControlNet

11、允许预览:勾选这个后,会在参阅图的右侧呈现一个预处理作用预览区域,也便是序号5这个方位。有了这个预览作用,咱们就能够快速的了解各个预处理器的才能。这个作用预览不是上传参阅图就主动呈现的,下面会介绍生成这张预览图的办法。

Stable Diffusion基础:精准控制之ControlNet

12、Preview as input:勾选此项,生成图片时 ControlNet 会越过预处理器的处理,直接运用预览图参加图片生成。这有一些用处,比方运用 OpenPose 操控网络时,咱们可能需求修正预处理生成的人物姿态,然后再上传到这儿用来生成人物的新姿态;再比方运用x/y/z图表时,勾选了这个之后,ControlNet 就会直接运用这儿的预览图,也不需求生成每张测试图片之前都进行重复的预处理,这能够节省一些时刻。

第二段

Stable Diffusion基础:精准控制之ControlNet

13、Control Type:这儿挑选当时要运用的操控网络类型。挑选某个类型之后,14、16中会主动加载对应的默许预处理器和模型;假如挑选All,预处理器和模型需求自己手动挑选。

14、预处理器:提取参阅图片中的某种特征信息,作为生成图片时 ControlNet 模型的参数。不同 Control Type 支撑的预处理类型和数量各不相同,有的 Control Type 不支撑预处理器,比方 IP2P。我将在介绍具体单个Control Type 时具体介绍他们。

15、生成预览图:点击这个爆破图标会运用当时选中的预处理器生成作用预览,并展现在序号5的方位。

Stable Diffusion基础:精准控制之ControlNet

16、模型:ControlNet 参加图片生成时运用的模型,不同 Control Type 支撑的预处理类型和数量各不相同。我将在介绍具体单个Control Type 时具体介绍他们。

17、ControlNet 参加图片生成的三个参数:

(1)操控权重:ControlNet 模型在生成图片时的权重,下降这个权重,ControlNet 对绘图的约束就会变弱。

Stable Diffusion基础:精准控制之ControlNet

(2)发动操控的步数:生成图片时 ControlNet 介入的机遇,取值规模:0-1,默许0,采样步数乘以这个值便是 ControlNet 开端参加的步数。 这个值越小,ControlNet 对生成图片的约束力越强。

(3)完毕操控的步数:生成图片时 ControlNet 退出的机遇,取值规模:0-1,默许1,采样步数乘以这个值便是 ControlNet 退出制作的步数。这个值越大,ControlNet 对生成图片的约束力越强。

能够依据出图的作用,灵活调整这三个参数的值。依据经历,SD一般会在前30%的采样内确定图片的整体结构,所以需求坚持图片结构时发动操控的步数不宜过大。

18、预处理器的参数,不同的预处理器参数不同。

以canny为例,经过调整阈值能够操控边际图中保存细节的多少。

  • Canny Low Threshold:去掉过细的线段。大于低阈值的线段被认定为边际。
  • Canny High Threshold:去掉零星的线段。大于高阈值的线段被认定为强边际,悉数保存;高阈值和低阈值之间的线段认定为弱边际,只保存强边际相邻的弱边际。

Stable Diffusion基础:精准控制之ControlNet

19、操控形式:ControlNet 的通用设置,以提示词为主,还是以 ControlNet 为主,默许是平衡形式。

以提示词为主时,细节上会有更多自由发挥,作用如下图所示:

Stable Diffusion基础:精准控制之ControlNet

19、缩放形式:ControlNet的通用设置,参阅图与要生成的图片尺度不一致时怎么处理。拉伸有变形的问题,一般运用裁剪和填充。

裁剪:依据画布的宽高比例对参阅图进行裁剪,然后再将参阅图缩放到画布尺度;

填充:将参阅图的至少一条边缩放到画布尺度,并主动弥补画布中空白的部分。

我将画布尺度改为427*640,出图比照作用如下:

Stable Diffusion基础:精准控制之ControlNet

20、图画迭代:目前仅在批处理形式下收效。勾选后会运用上次生成的图画作为下一次迭代的参阅图。网上的介绍不多,能找到的用途有两个:接连优化一张比较差的图片;转绘视频帧时用于削减序列帧的画面不一致性。较难运用,比较鸡肋。

资源下载

本文运用的模型、插件,生成的图片,都现已上传到了我收拾的SD绘画资源中,后续也会持续更新,如有需求,请/关/注/公/众/号:萤火遛AI(yinghuo6ai),发消息:SD,即可获取下载地址。


以上便是本文的主要内容了,如有问题,欢迎给我留言沟通交流。

假如你还没有运用过Stable Diffusion WebUI,能够先看这几篇文章,了解下怎么运用:

手把手教你在本机装置Stable Diffusion秋叶整合包

手把手教你在云环境炼丹(布置Stable Diffusion WebUI)

SDXL 1.0出图作用直逼Midjourney!手把手教你快速体验!