『SD』ControlNet基础讲解

AI工具SD整合包、各种模型插件、提示词、AI人工智能学习资料都已经打包好放在网盘中了,无需自行查找,有需要的小伙伴下方扫码自行获取。

本文简介

在学习和使用『Stable Diffusion』的过程中,『ControlNet』是一个不可忽视的关键组件。『ControlNet』是一个用于增强图像生成过程可控性的强大工具,允许用户通过提供特定的控制图像来精确指导生成结果。本文将讲解 『ControlNet』的基本概念。

安装 ControlNet

ControlNet插件仓库地址:sd-webui-controlnet[1]

首先,在 SD WebUI 的『扩展』里,选择“从网址安装”,然后输入 https://github.com/Mikubill/sd-webui-controlnet.git 这个地址,点击安装。

等待一阵,安装成功后重启 SD WebUI,在里就能看到『ControlNet』的身影了。

ControlNet 界面功能讲解

文生图和图生图的应用

在『文生图』模式下,你可以手动加载一张图片来启动『ControlNet』功能。而在『图生图』模式下,由于该模式本身就需要加载图片,因此加载的图片会自动应用到『ControlNet』,无需额外操作。

如果你希望使用一张独立的图片作为『ControlNet』的控制图像,可以选择『上传独立的控制图像』选项,然后在图生图界面中单独上传。

控制单元配置

回到『文生图』面板,可以看到我有5个『ControlNet控制单元』,即最多可以同时激活5个控制单元。如果需要使用更多的控制单元,可以在『设置』中调整『多重 ControlNet: ControlNet 单元数量』,调整后保存并重启 UI 界面即可。

启用 ControlNet

使用『ControlNet』时,务必勾选要启用的控制单元,否则它们将不会生效。启用的控制单元标题会变成绿色,并且『ControlNet』标题后面会显示已启用的数量。

显存管理

开启『ControlNet』会增加显存的负担。如果出现显存不足的提示,可以尝试启用“低显存模式”。可以降低爆显存的概率,但这会降低处理速度。

完美像素模式

启用『完美像素』让『ControlNet』自适应匹配设置的输出图像的宽度,高度根据输入原图像自动计算。开启后会隐藏 Resolution 滑动条(分辨率)。

比如,『控制类型』选择『Canny(硬边缘)』时,会看到一个默认分辨率为512的预处理器分辨率。当启用“完美像素模式”后,系统会自动设置预处理分辨率,通常为最低可用分辨率。如果需要更高精度的结果(如高清线稿图),则需要手动设置分辨率。

预览功能

一般情况下不需要手动开启『允许预览』,直接点击下方的爆炸图标就会自动开启“允许预览”功能并显示结果。

拿『Depth(深度)』举例。

控制类型和预处理器

『ControlNet』有很多不同的『控制类型』,每种『控制类型』都有自己专属的『预处理器』。每种『控制类型』必须搭配相应的『模型』才能生效。需要为『ControlNet』安装相应的『模型』,所有『模型』都可以从 Hugging Face 下载。

链接放这:https://huggingface.co/lllyasviel/sd_control_collection/tree/main

新版模型增加了对 SDXL 的支持。可选『模型』非常多,但不必全部下载。例如,『Canny』模型有 full、mid、small 三个版本,full 版本效果最好但资源占用最大。如果计算机性能足够,推荐使用 full 版本。

这些模型是由不同的团队开发的,比如 kohya、sai 等,而 t2i 开头的模型是腾讯开发的。

下载后,把模型放在 extensions/sd-webui-controlnet/models 文件夹里就行了。

控制权重

控制权重决定『ControlNet』对生成结果的影响程度。数值越高,生成结果越严格按照 『ControlNet』的处理结果生成;数值越低,AI 有更多自由发挥的空间,也会偏向于按照提示词的内容去生成图片。

『引导介入时机』和『引导终止时机』也用于调整『ControlNet』的控制强度。『引导介入时机』设为 0.2 表示图像生成 20% 时『ControlNet』开始介入;『引导终止时机』设为 0.8 表示图像生成 80% 时『ControlNet』停止影响。

控制模式和缩放模式

『控制模式』提供均衡、更偏向提示词、更偏向『ControlNet』三种选项,字面意思即可理解。

『缩放模式』与『图生图』模式中的缩放功能一致,也是根据字面意思操作。

写在最后

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

<think>嗯,用户让我详细讲解一下ComfyUI的ControlNet和使用方法。首先,我需要确定用户对ComfyUI和ControlNet的了解程度。可能他们已经有基本的Stable Diffusion使用经验,但对ComfyUI的节点式界面不太熟悉。用户可能想通过ControlNet更精确地控制图像生成,比如姿势、线条或色彩等。 接下来,我应该先解释ComfyUI是什么,强调其节点式工作流的灵活性。然后介绍ControlNet的基本概念,说明它在图像生成中的作用,比如通过边缘检测、深度图等条件控制生成结果。 在讲解使用方法时,需要分步骤说明如何在ComfyUI中安装ControlNet,可能用户会遇到安装问题,需要提醒他们检查插件是否兼容。然后详细说明如何添加ControlNet节点,选择预处理器和模型,连接输入输出节点。这里可能需要用具体的例子,比如使用Canny边缘检测,演示从加载图像到生成最终结果的过程。 还要注意常见问题,比如模型加载失败、预处理效果不佳等,给出解决方案。用户可能对不同的ControlNet模型不太清楚用途,需要简要介绍几个常用模型,如OpenPose、Depth、Scribble等,帮助用户根据需求选择。 最后,总结使用ControlNet的好处,并鼓励用户实践。同时确保使用正确的LaTeX格式,虽然在这个主题中数学公式可能不多,但如果有涉及参数或方程的地方,要正确应用格式。整个回答要结构清晰,步骤明确,语言口语化,避免技术术语堆砌,让用户容易理解。</think>好的!我将以分步讲解的形式为你介绍 **ComfyUI 的 ControlNet 使用方法**,帮助你在节点式工作流中实现更精准的图像控制。 --- ### **1. ComfyUI 是什么?** ComfyUI 是一个基于 **节点式操作界面** 的 Stable Diffusion 工具,通过可视化连接不同功能模块(节点)构建生成流程。它的优势在于: - **灵活性**:自由组合模型、条件控制、后处理等模块 - **可定制性**:支持插件扩展(如 ControlNet) - **低显存占用**:通过优化节点执行顺序节省资源 --- ### **2. ControlNet 的核心作用** ControlNet 是一种通过 **额外条件控制图像生成** 的技术,常见应用场景包括: - 姿势控制(如 OpenPose) - 边缘/线稿保留(如 Canny、MLSD) - 深度图引导(如 Depth) - 色彩分布约束(如 Color) --- ### **3. ComfyUI 中 ControlNet 的使用步骤** 以下以 **Canny 边缘检测** 为例,演示完整流程: #### **步骤 1:安装 ControlNet 插件** - 在 ComfyUI 的 `custom_nodes` 文件夹中,安装官方或第三方 ControlNet 插件(如 [ComfyUI-Advanced-ControlNet](https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet)) - 确保下载对应的 **ControlNet 模型**(`.safetensors` 文件),放置到 `models/controlnet` 目录 #### **步骤 2:构建基础生成流程** ```plaintext [加载模型] → [正向提示词] → [KSampler] → [VAE 解码] → [保存图像] ``` #### **步骤 3:添加 ControlNet 节点** 1. **加载 ControlNet 模型** - 添加 `Load ControlNet Model` 节点,选择对应的模型(如 `control_v11p_sd15_canny.pth`) 2. **预处理输入图像** - 添加 `Canny Edge Preprocessor` 节点,上传参考图并调整阈值(低阈值=保留更多细节) 3. **连接条件到采样器** - 将 ControlNet 输出连接到 `KSampler` 的 `positive` 和 `negative` 条件端口 #### **步骤 4:完整节点连接示例** ```plaintext [加载模型] → [正向提示词] → [KSampler] ↑ ↓ [ControlNet] ← [Canny预处理] [VAE 解码] → [保存图像] ``` #### **步骤 5:调整参数** - **ControlNet 权重**:通常 0.5~1.0(过高会导致图像僵硬) - **起始/终止步数**:控制介入时机(例如 0.0~1.0 表示全程生效) - **预处理参数**:如 Canny 的 low_threshold 和 high_threshold --- ### **4. 常用 ControlNet 模型与用途** | 模型类型 | 预处理器 | 适用场景 | |---------------|----------------|----------------------------| | Canny | Canny | 保留边缘细节(线稿→上色) | | Depth | Midas | 3D 空间层次控制 | | OpenPose | OpenPose | 人物姿势复刻 | | Scribble | None | 手绘涂鸦引导 | | Segmentation | Uniformer | 区域色彩/内容控制 | --- ### **5. 常见问题解决** - **模型加载失败** 检查模型文件是否完整,路径是否匹配 `models/controlnet` - **预处理无效果** 确认预处理器节点正确连接,且输入图像已加载 - **生成结果僵硬** 降低 ControlNet 权重或调整介入步数范围 --- ### **6. 进阶技巧** - **多 ControlNet 叠加**:串联多个 ControlNet 实现复杂控制(如 Pose+Depth) - **条件遮罩**:配合 `Conditioning Mask` 节点局部控制生效区域 - **动态参数**:使用 `Reroute` 节点在流程中实时调整权重 --- 通过以上步骤,你可以在 ComfyUI 中灵活运用 ControlNet 实现精准的图像生成控制。实际使用时,建议从单一条件开始测试,逐步叠加复杂度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值