Home
Login

为AUTOMATIC1111的Stable Diffusion WebUI提供ControlNet支持的扩展插件

GPL-3.0Python 17.7kMikubillsd-webui-controlnet Last Updated: 2024-08-12

sd-webui-controlnet 项目详细介绍

项目概述

sd-webui-controlnet 是为 AUTOMATIC1111 的 Stable Diffusion WebUI 开发的 ControlNet 扩展插件。该项目由 Mikubill 维护,是目前最受欢迎和功能最完整的 ControlNet 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 安装

  1. 打开 "Extensions" 标签页
  2. 打开 "Install from URL" 子标签
  3. 在 "URL for extension's git repository" 中输入:
    https://github.com/Mikubill/sd-webui-controlnet.git
    
  4. 点击 "Install" 按钮
  5. 等待安装完成后重启 WebUI

模型下载

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)

使用示例

基础使用

  1. 在 WebUI 中启用 ControlNet
  2. 选择预处理器类型(如 Canny、Depth 等)
  3. 上传控制图像或让预处理器自动生成
  4. 调整权重和引导强度
  5. 生成图像

ControlNet 使用

  1. 在设置中增加最大模型数量
  2. 同时启用多个 ControlNet 单元
  3. 为每个单元设置不同的预处理器和权重
  4. 组合多种控制条件生成图像

总结

sd-webui-controlnet 是 Stable Diffusion 生态系统中最重要的扩展之一,它显著扩展了 AI 图像生成的可控性和精确性。无论是专业艺术家还是业余爱好者,都可以通过这个扩展实现更精确的图像控制和更丰富的创作可能性。

Star History Chart