2026-09-11 12 min read -- 次瀏覽

ControlNet 完全指南:把 AI 繪圖變成照規矩施工

姿勢、邊緣、深度一次搞定,用條件控制讓生成圖「聽話」的實戰教學。

AI 繪圖 ControlNet條件控制SD 問小墨這篇的內容
ControlNet 條件控制示意
ControlNet:把「隨機繪圖」變成「照規矩繪圖」。

📌 本篇文章重點

  • ControlNet 用「額外條件」限制生成:姿勢、邊緣、深度、塗鴉都可以當基準。
  • 4 步上手:選 preprocessor → 選對應 ControlNet 模型 → 調引導強度 → 出圖。
  • 角色卡姿勢、產品照、建築輪廓——都能用照片/骨架逼 AI 照做。
  • 引導強度與控制模式是控制「聽話程度」的關鍵。

一、為什麼這篇值得看?

純文字生成最大的痛點是不可控:要角色擺特定姿勢、要產品永遠同一個角度,靠 prompt 祈禱完全不現實。ControlNet 把「條件」直接灌進生成流程,讓 AI 從「自由發揮」變成「照圖施工」。

二、核心概念,3 分鐘搞懂

ControlNet 是一組可外掛的模型。它吃一份額外輸入(條件圖),並把它變成生成時的「模板」:

流程
提示詞 ──────────────→
條件圖(preprocessed) ─→ ControlNet → 生成結果
  ↑
preprocessor 先幫你把照片轉成骨架/輪廓/深度圖

💡 直覺

preprocessor(前置處理)負責「看懂條件」,ControlNet 模型負責「照著條件畫」。兩者必須配對使用(邊緣配邊緣、姿勢配姿勢)。

三、動手實作:4 步架出第一個 ControlNet

Step 1

安裝外掛與模型

在 WebUI 的 Extensions 安裝 ControlNet 外掛;ComfyUI 則直接載入。再把對應 ControlNet 模型放進 models/ControlNet/。

常用模型檔
control_v11p_sd15_openpose.safetensors
control_v11f1p_sd15_depth.safetensors
control_v11p_sd15_canny.safetensors
Step 2

選擇 preprocessor「看懂」條件

條件preprocessor用途
姿勢骨架OpenPose角色擺特定姿勢
邊緣線稿Canny忠於構圖輪廓
深度圖Depth(Midas)保持透視層次
黑白塗鴉SoftEdge / Scribble把塗鴉變成正式圖
排版遮罩Inpaint只改局部區域
Step 3

連上 ControlNet 節點並出圖

上傳參考圖 → 開啟 ControlNet → 選 preprocessor → 選配對模型 → 出圖。ComfyUI 的做法是拉出 load image + ControlNet 套件,把條件圖接到 KSampler。

⚠️ 最常見錯誤

preprocessor 選了 OpenPose,ControlNet 模型卻配 Canny——條件「看不懂」只好亂畫。兩者必須同類型。

Step 4

調引導強度控「聽話程度」

  • Control Weight:0.6–1.0 是常用區間。愈高愈貼條件、愈低愈自由。
  • Start/End step:決定條件在前段或後段介入。後段介入可「鎖構圖、放開細節」。
  • 結合 Denoising(img2img):低值保留原圖更多細節。

四、實戰情境對照

需求條件組技巧
角色圖重擺姿勢OpenPose 骨架貼骨架圖或照片直接取骨架
產品圖換背景Depth + Inpaint深度保景、遮罩只換背景
建築保輪廓上色Canny 線稿線稿 + 指定風格詞
塗鴉變插畫Scribble黑筆塗鴉,AI 補光影材質

五、常見問題(FAQ)

Q1ControlNet 和 LoRA 可以一起用嗎?

可以,而且常一起用。LoRA 管「風格/角色長相」,ControlNet 管「構圖/姿勢」,互不衝突。

Q2條件圖一定認得出來嗎?

跟參考圖品質很有關係:模糊、多人的照片,骨架/邊緣判定容易錯。先看 preprocessor 的預覽圖,對再出圖。

Q3SDXL 要用哪一版 ControlNet?

SDXL 家族(如 xinsir-controlnet)效果已追上 SD1.5 生態。下載時注意模型是否標明是給 SDXL 用。

總結

ControlNet 的套路很固定:選對 preprocessor → 配對模型 → 控制強度 → 出圖。把「條件先看懂」這一步做對,剩下的就是靠重量值磨手感。

問小墨 AI