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 圖像生成的可控性和精確性。無論是專業藝術家還是業餘愛好者,都可以通過這個擴展實現更精確的圖像控制和更豐富的創作可能性。