上一次咱们曾经介绍了如何通过代码的形式应用 ControlNet,Stable Diffusion WebUI 外面蕴含了很具体的应用设置,咱们能够间接在下面进行操作,所以本文将介绍如何以傻瓜的形式间接应用 ControlNet。
如果你用过 Stable Diffusion,可能曾经留神到图像的输入有有限的后果可能性,就像在赌博一样,即便你输出了如此简单和精心设计的提醒,管制 AI 的能力依然是无限的。所以咱们就须要一种在最大大程度上能管制输入的形式。
ControlNet 是斯坦福大学钻研人员开发的 Stable Diffusion 的扩大,使创作者可能轻松地管制 AI 图像和视频中的对象。它将依据边缘检测、草图解决或人体姿态等各种条件来管制图像生成。ControlNet 能够概括为一种简略的稳固扩散微调办法。
装置插件
在 Stable Diffusion WebUI,能够通过上面的标签应用:
如果你没有看到这个标签,能够在最上方的 Extensions 进行装置,如下图所示:
下面图中的地址是:https://github.com/Mikubill/sd-webui-controlnet
装置完后记得点击 Apply and restart UI
关上 ControlNet 标签,如下所示:
这样咱们就能够在创立图像时具备更高的精度和更好的管制。ControlNet 的风行的起因是因为它应用简略,一个特定的姿态或形态能够取得很好的生成成果。
ControlNet 性能介绍
装置实现后,咱们就开始介绍 ControlNet 的每个局部,介绍每个配置如何影响输入。
在 ControlNet Image 复选框中,有几个选项:
- Enable : 选中此框以启用 ControlNet。
- Invert Input Color: 用于检测用户上传的图像。预处理器和模型通常须要在彩色图像上应用白线来检测(也就是灰度图)。但如果你的图是红色图像上有一条黑线,能够应用这个工具来切换色彩。
- RGB to BGR : 用于检测用户导入图像中的色彩信息。有时图像中的色彩信息可能与扩大所冀望的不同。如果您正在应用“法线映射”,则能够跳过此步骤
- Low VRAM: 这将减缓 ETA 过程,但有助于应用更少的计算空间(显存小于 6 GB VRAM 倡议应用)
- Guess Mode:ControlNet 自动识别图像 (不须要提醒和负面提醒) 与选定的预处理器,然而这个成果不肯定好
Resize 提供了调整 ControlNet 大小和上传图像的纵横比。
- Envelope (Outer Fit): 调整 Txt2Image 的大小以适应 ControlNet 图像的尺寸。它将调整图像的大小,直到 Txt2Image 设置能够适宜 ControlNet 图像。
- Scale to Fit (Inner Fit): 调整 ControlNet 图像的大小以适应 Txt2Image 的尺寸。它将调整图像的大小,直到它可能适应 Txt2Image 设置的宽度和高度。
- Just Resize: 不保留纵横比的状况下,扭转 ControlNet 图像的大小以匹配 Txt2Img 设置的宽度和高度。这包含拉伸或压缩图像以适应指定的尺寸。
Canvas Width 和 Canvas Height 提供手动创立绘图或草图以,不上传任何图像(最好应用 Scribble 预处理器以取得良好的输入)。它会调整空白画布的大小来进行绘制,不会影响上传的原始图像。
“Preview Annotator Result”可能疾速查看抉择的预处理器是如何将上传的图像或绘图转换为 ControlNet 的检测图。这对于在渲染输入图像之前尝试各种预处理器特地有用,能够节俭咱们的工夫。如果要删除预览图像,能够单击“Hide Annotator Result”选项。
Preprocessor 和 Model 是 ControlNet 的次要选项。依据所需的输入,用户能够抉择相应的管制办法。每个预处理器都有本人的模型,模型的设计和命名都是一样的。然而它并不限度你混合和匹配所有的预处理器和模型,然而混合多了就会产生负面成果,所以最好应用更加匹配的模型并且越少越好。上面咱们介绍几个驰名的 ControlNet,并在上面举例说明如何应用它。
罕用的 ControlNet
1、Canny 边缘检测
Canny 通过应用边缘检测器创立高对比度区域的轮廓来检测输出图像。线条能够捕捉到十分具体的信息,但如果你的图像背景中有一些物体,它很可能会检测到不须要的物体。所以背景中物体越少成果越好。用于此预处理器的最佳模型是 control_sd15_canny。
2、Depth & Depth Leres
这个预处理器有助于生成输出图像的深度预计。深度通常用于管制图像内物体的空间定位。浅色区域意味着它离用户更近,而深色区域则离用户更远。
在大图像时它可能会失落图像外部的细节(面部表情等)。个别会与 control_sd15_depth 模型组合应用。Midas Resolution 函数用于减少或缩小 detectmap 中的大小和细节级别。它的级别越高,将应用更多的 VRAM,但能够生成更高质量的图像,反之亦然。
Depth Leres 有与 Depth 雷同的基本概念,但在地图中蕴含更宽泛的范畴。但有时它会从图片中捕捉了太多信息,可能会生成与原始图像略有不同的图像。所以最好先试用两种预处理器,而后决定哪一种。
3、HED (Holistically-Nested Edge Detection)
Hed 能够在物体四周创立清晰和精密的边界,输入相似于 Canny,但缩小了噪声和更柔软的边缘。它的有效性在于可能捕获简单的细节和轮廓,同时保留细节特色(面部表情、头发、手指等)。Hed 预处理器可用于批改图像的格调和色彩。用于此预处理器的最佳模型是 control_sd15_hed。
4、MLSD (Mobile Line Segment Detection)
MLSD Preprocessor 最适宜生成强有力的线条,这些线条可能检测出须要独特和刚性轮廓的修建和其余人造作品。然而它不适用于解决非刚性或蜿蜒的物体。MLSD 实用于生成室内布局或修建构造,因为它能够突出直线和边缘。用于此预处理器的最佳模型是 control_sd15_mlsd。
5、Normal map
法线图应用了三种次要色彩(红、绿、蓝),通过不同的角度来精确定位物体的粗糙度和润滑水平。它生成法线图的根本预计,能够保留相当多的细节,但可能会产生意想不到的后果,因为法线图齐全来自图像,而不是在 3D 建模软件中构建的。
法线图有利于突出简单的细节和轮廓,并且在定位对象方面也很无效,特地是在靠近度和间隔方面。“Normal Background Threshold”用于调整背景成分。设置一个更高的阈值能够移除背景的远处局部(将其混合成紫色)。升高阈值将命令 AI 保留甚至显示额定的背景元素。用于此预处理器的最佳模型是 control_sd15_normal。
6、OpenPose
这个预处理器生成了一个根本的骨骼火柴人形象。这种技术被宽泛采纳,因为多个 OpenPose 骨架能够组合成一个图像,这有助于疏导稳固扩散生成多个统一的主题。骨架图有很多关节点,每个点代表如下图所示
要优化 OpenPose 的后果,倡议上传一张人体图像(全身或半身)以及想要提取的姿态。用于此预处理器的最佳模型是 control_sd15_openpose。
7、Scribble
涂鸦的目标是从简略的黑白线条画和草图生成图像。用户也能够应用“Canvas”选项创立特定大小的空白画布,用于手动素描(也能够间接上传图像)。如果草图和绘图由红色背景上的黑线组成,则须要选中“Invert Input Color”复选框。用于这个预处理器的最佳模型是 control_sd15_openpose。
8、Segmentation
宰割预处理器检测并将上传的图像宰割为同一图像内的段或区域。该模型在生成一组新的图像时,将 detectmap 图像利用于文本提醒。用于此预处理器的最佳模型是 control_sd15_seg。
以上就是罕用的 ControlNet 类型了。
总结
ControlNet 是一个十分好的管制 Stable Diffusion 的办法,如果你想进一步理解 ControlNet,能够拜访这个链接:
https://github.com/lllyasviel/ControlNet
它基本上蕴含了 ControlNet 的所有资源。
相干文章:
https://avoid.overfit.cn/post/acbb609d015a40fc8d0cd26f8e215dd9
作者:Antalpha.io