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