在使用 Stable Diffusion 的时候,你可能会希望控制构图,但通过 prompt 调整,效果并不会特别好。而 ControlNet 则是通过图片的结构信息来控制模型生成的图片。这里的结构信息,可以是简笔画,也可以是一张图片的蒙版,甚至是一张图片的边缘信息。这些信息都可以通过 ControlNet 来控制模型生成的图片。

ControlNet基础

从上图可以看到,我们在使用 ControlNet 的时候,会先将 text prompt 和图片一起输入到 ControlNet 的模型中,然后 ControlNet 的模型会生成一张 latent 图片,这张图片会作为 Conditioning 和最开始的 prompt 一起再输入到 Stable Diffusion 模型中,从而影响模型生成的图片。

通俗的讲,就是输入一些额外的控制参数,然后通过所对应的辅助模型(ControlNet专用模型)去控制图片的生成结果,这些控制参数可以是线稿图,深度图,人体姿态图,法线图等。有了这些控制参数以及辅助模型,比我们直接用提示词去生成图片输出的结果会更加精准、具体。

总结:提示词负责生成图片的内容,ControlNet负责生成图片的结构,模型负责生成图的风格。

!安装!


安装ControlNet方法还是挺多的,如下几种方案:

方案一:界面安装

ControlNet基础

1.

进入SDWebUI,在主导航栏找到扩展(extension)页签;

 

2.

扩展页签下找到“从网址安装”,;

 

3.

在这个页签下有个” 扩展的git 仓库网址”,把ControlNet的GitHub项目地址:https://github.com/Mikubill/sd-webui-controlnet,复制到输入框内;

 

4.

点安装就OK了,安装完成后记得重启WebUI。

 

 

方案二:GitHub安装

ControlNet基础

ControlNet基础

1.

进入项目地址:https://github.com/Mikubill/sd-webui-controlnet,找到绿色的code按钮;

 

2.

点击后按钮下方会延展出一个小窗口,在这个小窗口底部找到”DownloadZIP按钮“,点击下载;

 

3.

下载后是一个压缩包,把解压后的文件夹拖入SD目录下的”extensions“文件夹内即可。

 

 


 

!使用!


那么,安装了之后,在哪里可以找到controlnet呢?

ControlNet基础

文生图和图生图界面都能找到controlnet的操作区域;

ControlNet基础

在这个操作区域为3大板块:

1.

ControlNet单元页签:一个页签代表一个ControlNet,其中包含控制类型、参数调整、上传图片等,可同时开启多个,有些应用场景需要开启多个叠加使用,比如,艺术二维码,艺术字等;

 

 

2.

上传图片区域:上传图片作为控制参考图(每种控制类型所需参考图都不一样,后面几期会讲到);批量处理需输入文件夹的路径;

 

 

3.

控制类型分类选择,每个分类都会有一套预设的模板其中包含预处启用开关、低显存模式、完美像素模式、预览、预处理器、模型、权重、引导时机、控制模式、缩放模式及参数等,

 

1.启用:启动开关,必开;

2.低显存模式:显存6G以下必开,加速用的;

3.完美像素模式:新手必开,老手可以自己调整参数;

4.允许预览:打开后,可以查看控制类型预处理器的效果图,比如,选择一个canny控制类型,那么它的效果就是把原图处理成类线稿图,如下图。

5.控制权重:值越大选中的控制类型效果越强,值越小则反之;

6.引导介入时机:这里其实是生成图片进度百分比的值,比如:设置值为0.1的话那么这个控制类型在生成进度到达10%的时候启动;

7.引导终止时机:如上,比如:设置值为0.8的话就是在进度80%的时候终止,剩下的20%的进度由图像模型进行生成。

ControlNet基础

如何开启多个Controlnet,按下图操作步骤进行

ControlNet基础