:::color5 更新于2023年5月

:::

1、什么是ControlNet

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

用于控制稳定出图。


2、插件安装

方法一:如下图复制网址进行安装。

https://jihulab.com/hunter0725/sd-webui-controlnet

StableDiffusion - 速通ControlNet1.1 - 图1

方法二:如上图方法安装失败,则用下图方法安装。

StableDiffusion - 速通ControlNet1.1 - 图2

StableDiffusion - 速通ControlNet1.1 - 图3

安装好了记得点重启界面。

StableDiffusion - 速通ControlNet1.1 - 图4


ControlNet 1.1模型与预处理器安装

(需要先安装controlnet插件,如已经安装需要升级插件)

接下来点击下方链接,下载所有的pth文件

lllyasviel/ControlNet-v1-1 at main

StableDiffusion - 速通ControlNet1.1 - 图5

放置在models/controlnet文件夹

StableDiffusion - 速通ControlNet1.1 - 图6

点击下方链接,下载所有的文件

lllyasviel/Annotators at main

StableDiffusion - 速通ControlNet1.1 - 图7

放置在extensions/sd-webui-controlnet/annotator文件夹内,文件比较散乱,可以多建一个文件夹放

StableDiffusion - 速通ControlNet1.1 - 图8


3、Control Net 1.1种类

Depth

用深度图控制稳定扩散
模型文件:control_v11f1p_sd15_depth.pth
可接受的预处理器:Depth_Midas、Depth_Leres、Depth_Zoe 该模型可以处理来自渲染引擎的真实深度图。

StableDiffusion - 速通ControlNet1.1 - 图9

Normal

使用法线贴图控制稳定扩散
模型文件:control_v11p_sd15_normalbae.pth
可接受的预处理器:Normal BAE 只要法线贴图遵循ScanNet 的协议,该模型就可以接受来自渲染引擎的法线贴图。也就是说,法线贴图的颜色应该看起来像这张图片的第二列

StableDiffusion - 速通ControlNet1.1 - 图10StableDiffusion - 速通ControlNet1.1 - 图11

Canny

使用 Canny Maps 控制稳定扩散
模型文件:control_v11p_sd15_canny.pth
可接受的预处理器:Canny

StableDiffusion - 速通ControlNet1.1 - 图12

MLSD

用 M-LSD 直线控制稳定扩散
模型文件:control_v11p_sd15_mlsd.pth
可接受的预处理器:MLSD

StableDiffusion - 速通ControlNet1.1 - 图13

Scribble

用涂鸦控制稳定扩散
模型文件:control_v11p_sd15_scribble.pth
可接受的预处理器:Synthesized scribbles (Scribble_HED, Scribble_PIDI, etc.) 、hand-drawn scribbles

StableDiffusion - 速通ControlNet1.1 - 图14

StableDiffusion - 速通ControlNet1.1 - 图15

Soft Edge

使用软边缘控制稳定扩散
模型文件:control_v11p_sd15_softedge.pth
可接受的预处理器:SoftEdge_PIDI, SoftEdge_PIDI_safe, SoftEdge_HED, SoftEdge_HED_safe

StableDiffusion - 速通ControlNet1.1 - 图16

Segmentation

用语义分割控制稳定扩散
模型文件:control_v11p_sd15_seg.pth
可接受的预处理器:Seg_OFADE20K (Oneformer ADE20K)、Seg_OFCOCO (Oneformer COCO)、Seg_UFADE20K (Uniformer ADE20K)、manually created masks

StableDiffusion - 速通ControlNet1.1 - 图17

Openpose

使用 Openpose 控制稳定扩散
模型文件:control_v11p_sd15_openpose.pth
该模型经过训练,可以接受以下组合:
  • “Openpose”= Openpose 身体
  • “Openpose Full” = Openpose 身体 + Openpose 手 + Openpose 脸

StableDiffusion - 速通ControlNet1.1 - 图18

StableDiffusion - 速通ControlNet1.1 - 图19

Lineart

用语义分割控制稳定扩散
模型文件:control_v11p_sd15_lineart.pth
该模型是在 awacke1/Image-to-Line-Drawings 上训练的。预处理器可以从图像(Lineart 和 Lineart_Coarse)生成详细或粗略的线稿。该模型经过足够的数据增强训练,可以接收手动绘制的线稿。

StableDiffusion - 速通ControlNet1.1 - 图20

StableDiffusion - 速通ControlNet1.1 - 图21

Anime Lineart

用动漫线稿控制稳定扩散
模型文件:control_v11p_sd15s2_lineart_anime.pth
该模型可以将真实的动漫线条图或提取的线条图作为输入

StableDiffusion - 速通ControlNet1.1 - 图22

StableDiffusion - 速通ControlNet1.1 - 图23

Shuffle

通过内容随机播放控制稳定的传播
模型文件:control_v11e_sd15_shuffle.pth
这个ControlNet可以通过提示或者其他ControlNet的引导来改变图像风格

StableDiffusion - 速通ControlNet1.1 - 图24

Instruct Pix2Pix

使用 Instruct Pix2Pix 控制稳定扩散。
模型文件:control_v11e_sd15_ip2p.pth

在不大幅度改变画面大体的情况下改变部分画面内容

StableDiffusion - 速通ControlNet1.1 - 图25

StableDiffusion - 速通ControlNet1.1 - 图26

Inpaint

使用修复控制稳定扩散
模型文件:control_v11p_sd15_inpaint.pth
支持修复应用程序,还可以处理视频光流扭曲,类似局部重绘

StableDiffusion - 速通ControlNet1.1 - 图27

Tile

用Tile控制稳定扩散。
模型文件:control_v11f1e_sd15_tile.pth
该模型可以以多种方式使用。总的来说,该模型有两种行为:
  • 忽略图像中的细节并生成新的细节
  • 如果部分语义和提示不匹配,则忽略全局提示,并根据局部上下文引导扩散
因为该模型可以生成新的细节并忽略现有的图像细节,所以我们可以使用该模型去除不良细节并添加细化的细节。例如,消除由图像大小调整引起的模糊

StableDiffusion - 速通ControlNet1.1 - 图28

StableDiffusion - 速通ControlNet1.1 - 图29