sd-webui-controlnet 项目详细介绍
项目概述
sd-webui-controlnet 是为 AUTOMATIC1111 的 Stable Diffusion WebUI 开发的 ControlNet 扩展插件。该项目由 Mikubill 维护,是目前最受欢迎和功能最完整的 ControlNet WebUI 扩展之一。
项目信息
- 项目地址: https://github.com/Mikubill/sd-webui-controlnet
- 主要维护者: Mikubill
- 项目类型: WebUI 扩展插件
核心功能
1. ControlNet 集成
- 完整支持 ControlNet 1.0 和 1.1 版本
- 即时添加 ControlNet 到原始 Stable Diffusion 模型,无需合并
- 支持多种控制模型类型
2. 预处理器支持
支持多种图像预处理器:
- Canny: 边缘检测
- Depth: 深度图生成 (包括 Midas, Depth Anything V2)
- OpenPose: 人体姿态检测
- Scribble: 涂鸦控制
- Segmentation: 图像分割
- Normal: 法线贴图
- Lineart: 线稿提取
- MLSD: 直线检测
- HED: 全息嵌套边缘检测
- Reference-only: 参考图像模式
3. 高级功能
多 ControlNet 支持
- 单次生成可同时使用多个 ControlNet 输入
- 可在设置中调整最大模型数量
控制模式
- 平衡模式: ControlNet 在 CFG 比例的两侧工作
- 提示更重要: 逐渐减少 ControlNet 的影响
- ControlNet 更重要: 仅在 CFG 的条件侧工作
像素完美模式
- 自动计算最佳预处理器分辨率
- 确保每个像素完美匹配 Stable Diffusion
4. T2I-Adapter 支持
完整支持 TencentARC 的 T2I-Adapter 模型,包括:
- Color Adapter
- Style Adapter
- Sketch Adapter
- Depth Adapter
5. IP-Adapter 功能
- 图像提示适配器
- CLIP 掩码支持
- IP-Adapter 自动预处理器
- 高级权重控制
技术特性
智能图像重采样
- 高分辨率修复时输出两个控制图像
- 小图像用于基础生成,大图像用于高分辨率修复
- 智能算法确保高质量控制图像重采样
掩码集成
- 完美支持 A1111 的各种掩码类型
- 支持 "Inpaint masked"/"Inpaint not masked"
- 支持 "Whole picture"/"Only masked"
- 完美匹配 A1111 的调整大小选项
批处理模式
- 支持批量处理图像
- 为每个单元指定批处理目录
- 可在 txt2img 和 img2img 标签页中使用
安装方法
通过 WebUI 安装
- 打开 "Extensions" 标签页
- 打开 "Install from URL" 子标签
- 在 "URL for extension's git repository" 中输入:
https://github.com/Mikubill/sd-webui-controlnet.git - 点击 "Install" 按钮
- 等待安装完成后重启 WebUI
模型下载
- 访问官方模型下载页面:https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download
- 将模型文件放入
stable-diffusion-webui\extensions\sd-webui-controlnet\models目录
API 支持
REST API
- 启动 WebUI 时使用
--api参数 - 访问
http://webui-address/docs查看API文档 - 支持 txt2img 和 img2img 任务
外部调用
- 支持其他脚本控制此扩展
- 需要在设置中启用 "Allow other scripts to control this extension"
命令行参数
扩展添加了以下命令行参数:
--controlnet-dir <path> # 添加 ControlNet 模型目录
--controlnet-annotator-models-path <path> # 设置预处理器模型目录
--no-half-controlnet # 以全精度加载 ControlNet 模型
--controlnet-preprocessor-cache-size # 预处理器结果缓存大小
--controlnet-loglevel # ControlNet 扩展日志级别
--controlnet-tracemalloc # 启用内存分配跟踪
系统要求
最低配置
- Windows/Linux/macOS
- NVIDIA GPU (推荐 4GB+ VRAM)
- Python 3.8+
- AUTOMATIC1111 WebUI
性能优化
- 使用
--xformers参数提升性能 - 启用 "Low VRAM" 模式适用于低显存设备
- 支持最高 768x832 分辨率 (4GB VRAM)
使用示例
基础使用
- 在 WebUI 中启用 ControlNet
- 选择预处理器类型(如 Canny、Depth 等)
- 上传控制图像或让预处理器自动生成
- 调整权重和引导强度
- 生成图像
ControlNet 使用
- 在设置中增加最大模型数量
- 同时启用多个 ControlNet 单元
- 为每个单元设置不同的预处理器和权重
- 组合多种控制条件生成图像
总结
sd-webui-controlnet 是 Stable Diffusion 生态系统中最重要的扩展之一,它显著扩展了 AI 图像生成的可控性和精确性。无论是专业艺术家还是业余爱好者,都可以通过这个扩展实现更精确的图像控制和更丰富的创作可能性。