简介
在 Stable Diffusion (SD) 的生态中,ControlNet 是一个至关重要的插件组件。它允许用户通过提供特定的控制图像(如边缘图、深度图、姿态图等)来精确指导生成结果,极大地增强了图像生成的可控性。本文将详细介绍 ControlNet 的安装、配置及核心功能。
安装 ControlNet
- 打开 SD WebUI 界面,进入『扩展』(Extensions) 选项卡。
- 点击『从网址安装』(Install from URL)。
- 输入官方仓库地址:
https://github.com/Mikubill/sd-webui-controlnet.git - 点击『安装』(Install),等待安装完成。
- 重启 SD WebUI,在文生图或图生图界面即可看到 ControlNet 面板。
界面功能与配置
控制单元管理
ControlNet 支持多单元并行处理。默认情况下,界面显示 5 个控制单元,即最多可同时激活 5 个不同的控制条件。如需更多单元,可在设置中调整『多重 ControlNet: ControlNet 单元数量』,保存后重启 UI 生效。
启用控制单元时,务必勾选左侧的复选框。启用的单元标题会变为绿色,且面板标题旁会显示已激活的数量。
图像加载模式
- 文生图模式:需手动上传一张图片作为控制源。
- 图生图模式:主图会自动应用为 ControlNet 的控制图像,无需额外操作。
- 独立控制图像:若希望使用与主图无关的图片作为控制条件,可选择『上传独立的控制图像』选项单独上传。
显存优化
ControlNet 会增加显存占用。若遇到显存不足提示,可开启『低显存模式』(Low VRAM Mode)。这能降低爆显存概率,但可能会略微降低生成速度。
完美像素模式
启用『完美像素』(Perfect Pixel) 后,ControlNet 将自适应匹配输出图像的宽度,高度根据输入原图自动计算。开启后会隐藏分辨率滑动条。系统通常会自动设置预处理分辨率为最低可用值,若需要高清线稿等高精度结果,建议手动设置分辨率。
核心参数详解
控制类型与预处理器
ControlNet 的核心在于『控制类型』与『预处理器』的搭配。每种控制类型必须搭配相应的模型才能生效。
常见的预处理器与控制类型组合包括:
- Canny (硬边缘):提取图像轮廓。适用于线稿上色、结构复刻。常用模型为
control_v11p_sd15_canny。 - Depth (深度):提取场景深度信息。适用于保持物体空间关系、3D 结构重建。常用模型为
control_v11f1p_sd15_depth。 - OpenPose (姿态):识别人体骨架关键点。适用于固定人物动作、换装。常用模型为
control_v11p_sd15_openpose。 - Normal Map (法线):提取表面法线信息。用于增强材质细节和光照一致性。
- Tile/Blur:用于超分放大或局部重绘时的纹理保持。
模型文件通常由不同团队开发(如 kohya, sai 等),部分 t2i 开头的模型由腾讯开发。下载后请将模型文件放入 extensions/sd-webui-controlnet/models 目录。
权重与引导时机
- 控制权重 (Control Weight):决定 ControlNet 对生成结果的影响程度。数值越高,越严格遵循控制图;数值越低,AI 自由发挥空间越大,更偏向提示词内容。
- 引导介入时机 (Guidance Start):图像生成百分比达到该值时,ControlNet 开始介入。例如设为 0.2 表示生成 20% 时开始控制。
- 引导终止时机 (Guidance End):图像生成百分比达到该值时,ControlNet 停止影响。例如设为 0.8 表示生成 80% 后不再受控。


