Stable Diffusion Controlnet V1.1 的14种基础标志用法

news/2024/7/10 19:49:31 标签: stable diffusion, github, git

用于ControlNet和其他基于注入的SD控件的WebUI扩展。

针对 AUTOMATIC1111 的 Stable Diffusion web UI 网络用户界面的扩展,它可以让网络界面在原始的 Stable Diffusion 模型中添加 ControlNet 条件来生成图像。这种添加是实时的,不需要进行合并。

ControlNet 是一种神经网络结构,可以通过添加额外的条件来控制扩散模型。该扩展灵感来源于 kohya-ss/sd-webui-additional-networks。

这个扩展对于需要控制扩散模型的用户来说是非常有用的。添加 ControlNet 条件可以帮助用户更好地掌控模型的生成过程,从而生成更加符合用户需求的图像。同时,实时添加条件的特性也极大地提高了用户的使用体验。如果你需要控制扩散模型并且想要使用 Stable Diffusion 网络用户界面来生成图像,那么这个扩展就是你不可或缺的工具。

安装更新&模型下载

直接在你的SD下Extensions选项卡下输入网址:

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

进行安装即可。

在这里插入图片描述
模型下载登录网址:

https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

下载全部文件到你的sd目录下 extensions\sd-webui-controlnet\models 即可。

在这里插入图片描述

文件名上的字母标识:p是最终版,e是测试版,u是未完成。

在这里插入图片描述

扩展1.1的新特性

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

对所有可用的型号和预处理器都提供了完美的支持,包括对T2I样式适配器和ControlNet 1.1 Shuffle的完美支持。(请确保YAML文件名和模型文件名相同,还可以在“stable-diffusion-webui\extensions\sd-webui-controlnet\models”中查看YAML文件。)

  • **A1111高分辨率修复的完美支持:**如果在A1111中开启了高分辨率修复,每个controlnet将会输出两个不同大小的控制图像:一个小的和一个大的。小的控制图像用于基本生成,大的控制图像用于高分辨率修复生成。这两个控制图像由一种称为“超高质量控制图像重采样”的智能算法计算得出。这是默认开启的,不需要更改任何设置。
  • A1111 I2I和Mask的完美支持: 对ControlNet与A1111的不同类型的遮罩进行了广泛的测试,包括“Inpaint masked”/“Inpaint not masked”、“Whole picture”/“Only masked”以及“Only masked padding”和“Mask blur”。调整大小完全匹配A1111的“Just resize”/“Crop and resize”/“Resize and fill”。这意味着可以在几乎任何A1111 UI中轻松使用ControlNet!
  • 像素完美模式: 如果打开像素完美模式,您不需要手动设置预处理器(注释器)分辨率。ControlNet将自动为您计算最佳的注释器分辨率,以便每个像素完全匹配稳定扩散。
  • 用户友好的GUI和预处理器预览: 我们重新组织了一些先前混淆的UI,例如“新画布的画布宽度/高度”,现在它在📝按钮中。现在,预览GUI由“allow preview”选项和触发按钮💥控制。预览图像的大小比以前更好,不需要上下滚动-您的a1111 GUI不会再乱了!
  • 控制模式(以前​​称为猜测模式):已经修复了先前1.0版本的猜测模式中的许多错误,现在它被称为控制模式。
    image

通过关键词控制ControlNet举例。

Input (depth+canny+hed)Control Mode: “Balanced”Control Mode: “My prompt is more important”Control Mode: “ControlNet is more important”
imageimageimageimage

默认设置

This is my setting. If you run into any problem, you can use this setting as a sanity check
在这里插入图片描述

image

官网案例适配示例

SourceInputOutput
(no preprocessor)github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/bal-source.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/bal-gen.png?raw=true" />
(no preprocessor)github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/dog_rel.jpg?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/dog_rel.png?raw=true" />
github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/mahiro_input.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/mahiro_canny.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/mahiro-out.png?raw=true" />
github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/evt_source.jpg?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/evt_hed.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/evt_gen.png?raw=true" />
github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/an-source.jpg?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/an-pose.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/an-gen.png?raw=true" />
github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/sk-b-src.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/sk-b-dep.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/sk-b-out.png?raw=true" />
github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/nm-src.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/nm-gen.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/nm-out.png?raw=true" />

T2I-Adapter 适配器支持

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

我测试的不是特别好用,可能方法不对。

使用 T2I-Adapter 模型方法:

  • https://huggingface.co/TencentARC/T2I-Adapter 下载文件。
  • 复制相应的配置文件并将其重命名为与模型相同的名称 - 请参见下面的列表。
  • 用草图模型生成图像时,强度(t)最好使用稍低的值,例如0.6-0.8。
AdapterConfig
t2iadapter_canny_sd14v1.pthsketch_adapter_v14.yaml
t2iadapter_sketch_sd14v1.pthsketch_adapter_v14.yaml
t2iadapter_seg_sd14v1.pthimage_adapter_v14.yaml
t2iadapter_keypose_sd14v1.pthimage_adapter_v14.yaml
t2iadapter_openpose_sd14v1.pthimage_adapter_v14.yaml
t2iadapter_color_sd14v1.ptht2iadapter_color_sd14v1.yaml
t2iadapter_style_sd14v1.ptht2iadapter_style_sd14v1.yaml

T2I-Adapter 示例

SourceInputOutput
(no preprocessor)github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/dog_sk-2.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/dog_out-2.png?raw=true" />
(no preprocessor)github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/cat_sk-2.png?raw=true" />github>github.com/Mikubill/sd-webui-controlnet/blob/main/samples/cat_out-2.png?raw=true" />
(no preprocessor)github>githubusercontent.com/31246794/222967315-dc50406d-2930-47c5-8027-f76b95969f2b.png" />github>githubusercontent.com/31246794/222967311-724d9531-4b93-4770-8409-cd9480434112.png" />
(no preprocessor)github>githubusercontent.com/31246794/222966824-8f6c36f1-525b-40c2-ae9e-d3f5d148b5c9.png" />github>githubusercontent.com/31246794/222966821-110541a4-5014-4cee-90f8-758edf540eae.png" />
github>githubusercontent.com/31246794/222947416-ec9e52a4-a1d0-48d8-bb81-736bf636145e.jpeg" />github>githubusercontent.com/31246794/222947435-1164e7d8-d857-42f9-ab10-2d4a4b25f33a.png" />github>githubusercontent.com/31246794/222947557-5520d5f8-88b4-474d-a576-5c9cd3acac3a.png" />
github>githubusercontent.com/31246794/222947416-ec9e52a4-a1d0-48d8-bb81-736bf636145e.jpeg" />(clip, non-image)github>githubusercontent.com/31246794/222965711-7b884c9e-7095-45cb-a91c-e50d296ba3a2.png" />

Examples by catboxanon, no tweaking or cherrypicking. (Color Guidance)

ImageDisabledEnabled
github>githubusercontent.com/122327233/222869104-0830feab-a0a1-448e-8bcd-add54b219cba.png" />github>githubusercontent.com/122327233/222869047-d0111979-0ef7-4152-8523-8a45c47217c0.png" />github>githubusercontent.com/122327233/222869079-7e5a62e0-fffe-4a19-8875-cba4c68b9428.png" />
github>githubusercontent.com/122327233/222869253-44f94dfa-5448-48b2-85be-73db867bdbbb.png" />github>githubusercontent.com/122327233/222869261-92e598d0-2950-4874-8b6c-c159bda38365.png" />github>githubusercontent.com/122327233/222869272-a4883524-7804-4013-addd-4d1ac56c5d0d.png" />

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

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

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

Source ASource BOutput
github>githubusercontent.com/31246794/220448620-cd3ede92-8d3f-43d5-b771-32dd8417618f.png" />github>githubusercontent.com/31246794/220448619-beed9bdb-f6bb-41c2-a7df-aa3ef1f653c5.png" />github>githubusercontent.com/31246794/220448613-c99a9e04-0450-40fd-bc73-a9122cefaa2c.png" />

实际操作举例

案例中使用的通用关键词为

  • 正面:Intricately detailed Full body, Wear evening dress,professional photograph, of (seductive royal vampire female), ((clothed)),((evening dress)),standing, in luxurious fantasy castle, toned abs, small breasts, big ass, pretty face, amber red eyes, (fangs), succubus, sexy, shallow depth of field, cinematic lighting, photographed on a Sony a9 II, (highly detailed:1.2), (soft focus), Game of Thrones film still, HDR, 8k resolution
  • 负面:(monochrome:1.3), (oversaturated:1.3), bad hands, lowers, 3d render, cartoon, long body, wide hips, narrow waist, disfigured, ugly, cross eyed, squinting, grain, Deformed, blurry, bad anatomy, poorly drawn face, mutation, mutated, extra limb, ugly, poorly drawn hands, missing limb, floating limbs, disconnected limbs, malformed hands, blur, out of focus, long neck, disgusting, poorly drawn, mutilated, mangled, old, surreal, ((text)),exposed
  • Base模型:clarity_19
  • 采样方法:DPM++ SDE Karras

在这里插入图片描述

ControlNet 1.1 Depth (深度)

用深度图控制稳定扩散,该模型非常稳健,可以处理来自渲染引擎的真实深度图。

  • 模型名称:control_v11f1p_sd15_depth [cfd03158]
  • 模型文件:control_v11f1p_sd15_depth.pth
  • 配置文件:control_v11f1p_sd15_depth.yaml
  • 预处理器:depth, depth_leres, depth_zoe

在这里插入图片描述

ControlNet 1.1 Normal (正常)

使用法线贴图控制稳定扩散,使用 Bae 的法线图估计方法。只要法线贴图遵循ScanNet 的协议,该模型就可以接受来自渲染引擎的法线贴图。也就是说法线贴图的颜色应该看起来像这张图片的第二列。

  • 模型名称: control_v11p_sd15_normalbae [316696f1]
  • 模型文件:control_v11p_sd15_normalbae.pth
  • 配置文件:control_v11p_sd15_normalbae.yaml
  • 预处理器: normal_bae

在这里插入图片描述
在这里插入图片描述

ControlNet 1.1 Canny (边缘检测-精明)

使用 Canny Maps 控制稳定扩散,训练数据使用具有随机阈值的 Canny。

  • 模型名称:control_v11p_sd15_canny [d14c016b]
  • 模型文件:control_v11p_sd15_canny.pth
  • 配置文件:control_v11p_sd15_canny.yaml
  • 预处理器:canny

在这里插入图片描述

ControlNet 1.1 MLSD(线条检测)

用 M-LSD 直线控制稳定扩散,该模型从 ControlNet 1.0 恢复并使用 A100 80G 的 GPU 200 小时进行训练。

  • 模型名称:control_v11p_sd15_mlsd [aca30ff0]
  • 模型文件:control_v11p_sd15_mlsd.pth
  • 配置文件:control_v11p_sd15_mlsd.yaml
  • 预处理器:mlsd

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

ControlNet 1.1 Scribble(涂鸦)

用涂鸦控制稳定扩散,合成的涂鸦,该模型从 ControlNet 1.0 恢复并使用 A100 80G 的 GPU 200 小时进行训练。

  • 模型名称:control_v11p_sd15_scribble [d4ba51ff]
  • 模型文件:control_v11p_sd15_scribble.pth
  • 配置文件:control_v11p_sd15_scribble.yaml
  • 预处理器:pidinet_scribble, scribble_xdog, scribble_hed,手绘涂鸦
    -在这里插入图片描述

在这里插入图片描述

ControlNet 1.1 Soft Edge(软边缘)

使用软边控制稳定扩散,与以前的模型相比,该模型有了显着改进。添加了一种名为“SoftEdge_safe”的新型软边缘。这是因为 HED 或 PIDI 倾向于在软估计中隐藏原始图像的损坏灰度版本,而这种隐藏模式会分散 ControlNet 的注意力,从而导致不良结果。解决方案是使用预处理将边缘图量化为多个级别,以便完全删除隐藏的模式。

  • 模型名称:control_v11p_sd15_softedge [a8575a2a]
  • 模型文件:control_v11p_sd15_softedge.pth
  • 配置文件:control_v11p_sd15_softedge.yaml
  • 预处理器:hed, hed_safe,pidinet, pidinet_safe, pidinet_sketch, pidinet_scribble

在这里插入图片描述

ControlNet 1.1 Segmentation(分段)

用语义分割控制稳定扩散,该模型可以接收 ADE20K 或 COCO 两种类型的注释。识别分段协议对于 ControlNet 编码器来说是微不足道的,并且训练多个分段协议的模型可以带来更好的性能。

  • 模型名称:control_v11p_sd15_seg [e1f51eb9]
  • 模型文件:control_v11p_sd15_seg.pth
  • 配置文件:control_v11p_sd15_seg.yaml
  • 预处理器:segmentation,oneformer_coco, oneformer_ade20k可接受的预处理器:Seg_OFADE20K (Oneformer ADE20K)、Seg_OFCOCO (Oneformer COCO)、Seg_UFADE20K (Uniformer ADE20K) 或手动创建的掩码。

ControlNet 1.1 Openpose (姿态检测)

使用 Openpose 控制稳定扩散,该模型经过训练。

  • 模型名称:control_v11p_sd15_openpose [cab727d4]
  • 模型文件:control_v11p_sd15_openpose.pth
  • 配置文件:control_v11p_sd15_openpose.yaml
  • 预处理器:openpose, openpose_hand, openpose_face, openpose_faceonly, openpose_full

可以接受以下组合:

  • Openpose= Openpose 身
  • Openpose Full = Openpose 身体 + Openpose 手 + Openpose 脸

在这里插入图片描述

ControlNet 1.1 Lineart(线稿)

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

  • 模型名称:control_v11p_sd15_lineart [43d4be0d]
  • 模型文件:control_v11p_sd15_lineart.pth
  • 配置文件:control_v11p_sd15_lineart.yaml
  • 预处理器:lineart, lineart_coarse, lineart_anime, lineart_standard, lineart_anime_denoise
    在这里插入图片描述

在这里插入图片描述

ControlNet 1.1 Anime Lineart(动漫线稿)

用动漫艺术线条控制稳定扩散,需要anything x.x 模型进行生成。

  • 模型名称:control_v11p_sd15s2_lineart_anime [3825e83e]
  • 模型文件:control_v11p_sd15s2_lineart_anime.pth
  • 配置文件:control_v11p_sd15s2_lineart_anime.yaml
  • 预处理器:lineart, lineart_coarse, lineart_anime, lineart_standard, lineart_anime_denoise
  • base model:anything-v-4.5

在这里插入图片描述
在这里插入图片描述

ControlNet 1.1 Shuffle(洗牌)

通过内容随机播放控制稳定的传播,该模型经过训练以重组图像。我们使用随机流来打乱图像并控制稳定扩散来重组图像。事实上,由于 ControlNet 被训练来重组图像,我们甚至不需要打乱输入——有时我们可以只使用原始图像作为输入。ControlNet可以通过提示或其他ControlNet的引导来改变图像风格。Shuffle 将是唯一一种图像风格化方法,与其他模型ControlNet模型合用效果会更好。

  • 模型名称:control_v11e_sd15_shuffle [526bfdae]
  • 模型文件:control_v11e_sd15_shuffle.pth
  • 配置文件:control_v11e_sd15_shuffle.yaml
  • 预处理器:shuffle

在这里插入图片描述

ControlNet 1.1 指导 Pix2Pix

使用 Instruct Pix2Pix 控制稳定扩散,这个模型是用50%的指令提示和50%的描述提示来训练的。例如,a lovely boy 是描述提示,而 turn boy lovely 是指令提示,该模型可以应用于任何基础模型。

  • 模型名称:control_v11e_sd15_ip2p [c4bb465c]
  • 模型文件:control_v11e_sd15_ip2p.pth
  • 配置文件:control_v11e_sd15_ip2p.yaml
  • 预处理器:none, canny, depth, depth_leres, hed, hed_safe, mediapipe_face, mlsd, normal_map, openpose, openpose_hand, openpose_face, openpose_faceonly, openpose_full, clip_vision, color, pidinet, pidinet_safe, pidinet_sketch, pidinet_scribble, scribble_xdog, scribble_hed, segmentation, threshold, depth_zoe, normal_bae, oneformer_coco, oneformer_ade20k, lineart, lineart_coarse, lineart_anime, lineart_standard, shuffle, tile_resample, inpaint, invert, lineart_anime_denoise

在这里插入图片描述

主要可以通过单张控制效果输出,组合使用效果更佳。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ControlNet 1.1 Inpaint(修复)

使用 Inpaint 控制稳定扩散。这个修复 ControlNet 使用 50% 的随机掩码和 50% 的随机光流遮挡掩码进行训练。这意味着该模型不仅可以支持修复应用程序,还可以处理视频光流扭曲。也许我们将来会提供一些示例(取决于我们的工作量)。

此 gradio 演示不包括后期处理。理想情况下,您需要在每次扩散迭代中对潜像进行后处理,并对 vae 解码后的图像进行后处理,使未遮罩区域保持不变。然而,这实现起来很复杂,也许更好的想法是在 a1111 中实现。在这个 gradio 示例中,输出只是扩散的原始输出,图像中未遮罩的区域可能会因为 vae 或扩散过程而改变。

  • 模型名称:control_v11p_sd15_inpaint [ebff9138]
  • 模型文件:control_v11p_sd15_inpaint.pth
  • 配置文件:control_v11p_sd15_inpaint.yaml
  • 预处理器:none, canny, depth, depth_leres, hed, hed_safe, mediapipe_face, mlsd, normal_map, openpose, openpose_hand, openpose_face, openpose_faceonly, openpose_full, clip_vision, color, pidinet, pidinet_safe, pidinet_sketch, pidinet_scribble, scribble_xdog, scribble_hed, segmentation, threshold, depth_zoe, normal_bae, oneformer_coco, oneformer_ade20k, lineart, lineart_coarse, lineart_anime, lineart_standard, shuffle, tile_resample, inpaint, invert, lineart_anime_denoise
    在这里插入图片描述
    在这里插入图片描述

ControlNet 1.1 Tile(未完成)

用瓷砖控制稳定扩散,越来越多的人开始考虑采用不同的方法在拼贴处进行漫射,以便图像可以非常大(4k 或 8k)。

  • 模型名称:control_v11f1e_sd15_tile [a371b31b]
  • 模型文件:control_v11f1e_sd15_tile.pth
  • 配置文件:control_v11f1e_sd15_tile.yaml
  • 预处理器:none, canny, depth, depth_leres, hed, hed_safe, mediapipe_face, mlsd, normal_map, openpose, openpose_hand, openpose_face, openpose_faceonly, openpose_full, clip_vision, color, pidinet, pidinet_safe, pidinet_sketch, pidinet_scribble, scribble_xdog, scribble_hed, segmentation, threshold, depth_zoe, normal_bae, oneformer_coco, oneformer_ade20k, lineart, lineart_coarse, lineart_anime, lineart_standard, shuffle, tile_resample, inpaint, invert, lineart_anime_denoise

在这里插入图片描述
待更新。


http://www.niftyadmin.cn/n/280257.html

相关文章

CMake入门知识总结-生成器与编译器

什么是 CMake 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行…

Linux线程相关函数:线程的创建、回收、退出、取消

1. 线程号 进程号在系统中唯一&#xff0c;但线程号只在其所属进程环境中有效。 &#xff08;1&#xff09;pthread_self函数 #include<pthread.h>pthread_t pthread_self(void); /* 功能&#xff1a;获取线程号 返回值&#xff1a;调用此函数线程的ID */ pthread_se…

JAVA基本数据类型和基本数据类的装箱拆箱------JAVA入门基础教程

public class qwe { public static void main(String args[]) { int i 10; String s String.valueOf(i); System.out.println(s); boolean b true; String s2 String.valueOf(b); System.out.println(s2); //使用基本数据类型转换String s2 b ""; s i "…

CSAPP学习笔记 2 浮点数(自用)

1. 首先 我们回忆一下计算机思维导论的编码问题 小白鼠问题 (107条消息) 小白鼠喝水问题------计算机思维 编码思想(自用)_和光同尘463的博客-CSDN博客 2. 对于一些可表示的浮点数比如 101.11可以用二进制精确表示 因为是2的倍数 但是 对于一些不可整除的浮点数 我们又如何…

最多能打多少场比赛呢

凌乱的yyy / 线段覆盖 题目背景 快 noip 了&#xff0c;yyy 很紧张&#xff01; 题目描述 现在各大 oj 上有 n n n 个比赛&#xff0c;每个比赛的开始、结束的时间点是知道的。 yyy 认为&#xff0c;参加越多的比赛&#xff0c;noip 就能考的越好&#xff08;假的&#x…

数据结构与算法九 树进阶

一 平衡树 之前我们学习过二叉查找树&#xff0c;发现它的查询效率比单纯的链表和数组的查询效率要高很多&#xff0c;大部分情况下&#xff0c;确实是这样的&#xff0c;但不幸的是&#xff0c;在最坏情况下&#xff0c;二叉查找树的性能还是很糟糕。 例如我们依次往二叉查找…

0、Java开发常见(并发,JVM)

并发 问题详解请谈谈你对volatile的理解linkCAS你知道吗&#xff1f;link原子类Atomiclnteger的ABA问题谈谈?原子更新引用知道吗&#xff1f;link我们知道ArrayList是线程不安全&#xff0c;请编码写一个不安全的案例并给出解决方案link公平锁/非公平锁/可重入锁/递归锁/自旋…

MOSFET正向导通,阻断,阈值电压研究

一 设计要求&#xff1a; N-为均匀掺杂、其他均为离子注入所形成的高斯掺杂&#xff1b;P的宽度为10、结深6um&#xff1b;氧化层oxide厚度为0.1um,宽度为10um&#xff1b;氧化层左侧空白需要定义为材料air&#xff1b;所有电极都定义为无厚度&#xff1b;所有的高斯掺杂峰值点…