Posted on

ControlNet: 放大您的圖像控制能力

想要精確控制AI生成圖像?ControlNet是Stable Diffusion用戶必學的進階技巧。本文將深入介紹ControlNet的使用方法、常見模型與實際應用案例。

ControlNet的核心功能

在AI圖像生成領域中,Stable Diffusion已經成為一個革命性的技術。然而,如何更精確地控制生成過程一直是一個挑戰。這就是ControlNet發揮作用的地方,它為Stable Diffusion帶來了前所未有的條件控制能力。

ControlNet是一個基於深度學習和神經網路的強大工具,它通過多種方式增強了Stable Diffusion的圖像處理能力:

  1. 姿勢控制:利用OpenPose模型,ControlNet能夠精確控制生成人物的姿勢。
  2. 線稿生成:通過Canny Edge檢測,可以從簡單的線稿生成複雜的圖像。
  3. 深度圖控制:使用Depth模型,ControlNet能夠理解並重現圖像的三維結構。
  4. 語義分割:Segmentation模型允許對圖像進行精細的區域控制。
  5. Normal Map應用:這種技術能夠增強圖像的立體感和細節。

ControlNet的應用場景

ControlNet在多個領域展現出強大的應用潛力:

  1. 人物姿勢生成:精確控制人物的姿態和動作。
  2. 風格轉換:保持原始圖像結構的同時,應用新的藝術風格。
  3. 場景重建:根據簡單的輪廓或深度信息重建完整場景。
  4. 圖像編輯:對現有圖像進行精細的修改和增強。

使用技巧與優化

為了充分發揮ControlNet的潛力,以下是一些關鍵的使用技巧:

  1. 提示詞優化:精心設計的提示詞可以大大提高生成效果。
  2. 參數調整:不同的控制強度和去噪設置會產生不同的結果。
  3. 模型選擇:根據具體需求選擇最合適的ControlNet模型。
  4. 多模型組合:結合使用多個ControlNet模型可以實現更複雜的效果。

相比傳統的Stable Diffusion,ControlNet提供了更精確的控制和更多樣化的創作可能性。無論是專業設計師還是AI藝術愛好者,都能從這個強大的工具中受益。

如何使用ControlNet 

ControlNet 不僅僅局限於模型控制,它還包含專為 Stable Diffusion Web UI 設計的擴展版本,使操作更加簡便。

我們在stable diffusion webui可以安裝名為 sd-webui-controlnet 的擴展套件,這是一個開源且高度可靠的工具。該工具在 GitHub 上擁有廣泛的追隨者,並且提供多樣的功能支援,使 Stable Diffusion 的操作變得更加靈活。

通過將其他條件集成到 Stable Diffusion 中來對模型施加控制。該技術提供了對生成圖像的更高精確度的控制,能夠在保留圖像關鍵特徵的同時,避免偏離初始設置。為圖像生成社群提供了一個強大的替代方案,讓使用者可以透過圖像的控制,產生更多符合需求的視覺效果,而不僅僅依賴於文字描述的提示。

在stable diffusion webui安裝後的介面如下

ControlNet的圖像控制範例

透過這個框架,ControlNet 對圖像施加了必要的約束,避免生成圖像與原始提取的特徵(如姿勢、構圖等)有重大偏差。這使得使用者能夠基於這些特徵進行更精確的圖像生成,並在保持圖像一致性的同時實現特定的需求。

  • 姿勢與構圖控制: 可生成具有從參考圖像派生的預定義姿勢的圖像或簡筆劃,確保生成的圖像與預期姿勢一致。
  • 插圖樣式和紋理修改: 允許使用者更改插圖的樣式和紋理,以創造多樣化的視覺輸出,滿足不同風格的需求。
  • 線條圖中的顏色增強: ControlNet 支援為線條圖添加顏色,增強視覺吸引力與真實感,使簡單的線條作品能夠具備更豐富的視覺層次。

安裝與使用

此工具可以從 GitHub 獲得,開發者 Mikubill 提供了詳細的安裝說明以及更新維護。

GitHub 頁面: sd-webui-controlnet

要在Stable Diffusion Web UI安裝此插件,可以到 Extension Tab ,在 Install from URL 輸入 https://github.com/Mikubill/sd-webui-controlnet.git 安裝 

您可以在此處找到所有模型的下載連結:https://github.com/Mikubill/sd-webui-controlnet/wiki/Model-download

大型模型可至這邊下載: https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main

然後把模型放在stable-diffusion-webui-master\models\ControlNet資料夾下面

這邊有模型分類的介紹: https://ai-summoner.tw/7612/what-is-controlnet1-1/

設定參數介紹

控制模式包括平衡模式、已提示詞為主、以ControlNet為主

預處理(Preprocessor)參數的作用主要是幫助用戶在生成圖像時,根據不同的需求和參考圖像進行調整和引導。這部分你選擇的要有相對應的模型(請參考上面的模型下載部分),才會能夠生效,關於每一個模型或者預處理的方式介紹請參考上方AI召喚師的文章。

  1. Instruct Pix2Pix (ip2p) 模型 (control_vlle_sd15_ip2p.pth):此模型專注於指令式變換,能夠根據用戶提供的提示詞進行圖像的轉換和變形。例如,使用者可以輸入指令將某種場景轉變為另一種場景,這使得生成的圖像更加符合用戶的具體需求
  2. Shuffle 模型 (control_vlle_sd15.shuffle.pth):Shuffle 模型則更注重於風格轉換,能夠將輸入圖像轉換為具有特定風格的圖像,如卡通風格或水彩風格。這個模型強調細節和紋理的處理,適合用於創造具有藝術感的圖像
  3. Tile 模型control_v11f1e_sd15_tile.pth):主要用於圖像的放大和細節增強。它能夠在有限的像素基礎上對圖像進行分塊擴散處理,生成與原圖相似且極為清晰的圖片,特別適合於對單一圖片進行精修和美化
  4. Depth 模型control_v11f1p_sd15_depth.pth):此模型專注於景深分析,能夠在生成圖片時保持與原圖相同的景深效果,常用於固定人物外型和背景的穩定性
  5.  Canny 模型control_v11p_sd15_canny.pth):主要用於邊緣檢測,能夠精確地識別圖像中的邊緣,適合於需要清晰邊界的圖像生成任務
  6. Inpaint 模型control_v11p_sd15_inpaint.pth):此模型用於重繪和修圖,可以針對特定範圍進行修補,與內建的 inpaint 功能相似,但在使用上更加方便且效果更佳
  7. Lineart 模型control_v11p_sd15_lineart.pth):專門用於處理線條藝術,能夠將圖像轉換為清晰的線條圖,適合於插畫和漫畫風格的生成
  8.  MLSD 模型control_v11p_sd15_mlsd.pth):是一個專門用來描繪建築物的模型。此模型用於多邊形線檢測,能夠識別圖像中的多邊形結構,適合於需要精確形狀識別的任務
  9.  Normal 模型(control_v11p_sd15_normalbae.pth):利用法線圖來分析和控制生成圖像的紋理,這有助於在生成過程中保持真實感和細節
  10.  Openpose 模型control_v11p_sd15_openpose.pth):專注於人體姿勢識別,能夠根據提供的人體骨架信息生成相應的圖像,適合於需要精確人體動作的場景
  11. Scribble 模型control_v11p_sd15_scribble.pth):此模型支持草圖轉換,能夠根據簡單的草圖生成詳細的圖像,適合於草圖創作和概念設計
  12. Segmentation 模型control_v11p_sd15_seg.pth):用於圖像分割,能夠將圖像中的不同部分進行分離和標記,適合於需要區分不同區域的圖像生成任務
  13. SoftEdge 模型 (control_v11p_sd15_softedge.pth):專注於將圖像轉換為柔和的邊緣風格,相較於其他模型更注重圖像的柔和度和自然度,通常用於生成風景、人物等柔和風格的圖片。它是 ControlNet 1.0 版本中 HED 模型的升級版,有四種預處理器可供選擇,按照結果品質排序分別是 SoftEdge_HED、SoftEdge_PIDI、SoftEdge_HED_safe、SoftEdge_PIDI_safe。相對於傳統的邊緣模型(如 Canny),SoftEdge 模型更注重保留圖像的細節,提取的線條更精細,細節更豐富。
  14. Lineart Anime 模型 (control_v11p_sd15s2_lineart_anime.pth):此模型專門用於生成動漫風格的線稿圖像,能夠將圖像轉換為清晰的線條圖,適合於插畫和漫畫風格的生成。它是 ControlNet 1.1 版本中新增的模型,在 ControlNet 1.0 的 Lineart 模型基礎上進行了優化和改進,使生成的線稿更加符合動漫風格。