想要精確控制AI生成圖像?ControlNet是Stable Diffusion用戶必學的進階技巧。本文將深入介紹ControlNet的使用方法、常見模型與實際應用案例。
ControlNet的核心功能
在AI圖像生成領域中,Stable Diffusion已經成為一個革命性的技術。然而,如何更精確地控制生成過程一直是一個挑戰。這就是ControlNet發揮作用的地方,它為Stable Diffusion帶來了前所未有的條件控制能力。
ControlNet是一個基於深度學習和神經網路的強大工具,它通過多種方式增強了Stable Diffusion的圖像處理能力:
- 姿勢控制:利用OpenPose模型,ControlNet能夠精確控制生成人物的姿勢。
- 線稿生成:通過Canny Edge檢測,可以從簡單的線稿生成複雜的圖像。
- 深度圖控制:使用Depth模型,ControlNet能夠理解並重現圖像的三維結構。
- 語義分割:Segmentation模型允許對圖像進行精細的區域控制。
- Normal Map應用:這種技術能夠增強圖像的立體感和細節。
ControlNet的應用場景
ControlNet在多個領域展現出強大的應用潛力:
- 人物姿勢生成:精確控制人物的姿態和動作。
- 風格轉換:保持原始圖像結構的同時,應用新的藝術風格。
- 場景重建:根據簡單的輪廓或深度信息重建完整場景。
- 圖像編輯:對現有圖像進行精細的修改和增強。
使用技巧與優化
為了充分發揮ControlNet的潛力,以下是一些關鍵的使用技巧:
- 提示詞優化:精心設計的提示詞可以大大提高生成效果。
- 參數調整:不同的控制強度和去噪設置會產生不同的結果。
- 模型選擇:根據具體需求選擇最合適的ControlNet模型。
- 多模型組合:結合使用多個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召喚師的文章。
- Instruct Pix2Pix (ip2p) 模型 (
control_vlle_sd15_ip2p.pth
):此模型專注於指令式變換,能夠根據用戶提供的提示詞進行圖像的轉換和變形。例如,使用者可以輸入指令將某種場景轉變為另一種場景,這使得生成的圖像更加符合用戶的具體需求。 - Shuffle 模型 (
control_vlle_sd15.shuffle.pth
):Shuffle 模型則更注重於風格轉換,能夠將輸入圖像轉換為具有特定風格的圖像,如卡通風格或水彩風格。這個模型強調細節和紋理的處理,適合用於創造具有藝術感的圖像。 - Tile 模型(
control_v11f1e_sd15_tile.pth
):主要用於圖像的放大和細節增強。它能夠在有限的像素基礎上對圖像進行分塊擴散處理,生成與原圖相似且極為清晰的圖片,特別適合於對單一圖片進行精修和美化。 - Depth 模型(
control_v11f1p_sd15_depth.pth
):此模型專注於景深分析,能夠在生成圖片時保持與原圖相同的景深效果,常用於固定人物外型和背景的穩定性。 - Canny 模型(
control_v11p_sd15_canny.pth
):主要用於邊緣檢測,能夠精確地識別圖像中的邊緣,適合於需要清晰邊界的圖像生成任務。 - Inpaint 模型(
control_v11p_sd15_inpaint.pth
):此模型用於重繪和修圖,可以針對特定範圍進行修補,與內建的 inpaint 功能相似,但在使用上更加方便且效果更佳。 - Lineart 模型(
control_v11p_sd15_lineart.pth
):專門用於處理線條藝術,能夠將圖像轉換為清晰的線條圖,適合於插畫和漫畫風格的生成。 - MLSD 模型(
control_v11p_sd15_mlsd.pth
):是一個專門用來描繪建築物的模型。此模型用於多邊形線檢測,能夠識別圖像中的多邊形結構,適合於需要精確形狀識別的任務。 - Normal 模型(
control_v11p_sd15_normalbae.pth
):利用法線圖來分析和控制生成圖像的紋理,這有助於在生成過程中保持真實感和細節。 - Openpose 模型(
control_v11p_sd15_openpose.pth
):專注於人體姿勢識別,能夠根據提供的人體骨架信息生成相應的圖像,適合於需要精確人體動作的場景。 - Scribble 模型(
control_v11p_sd15_scribble.pth
):此模型支持草圖轉換,能夠根據簡單的草圖生成詳細的圖像,適合於草圖創作和概念設計。 - Segmentation 模型(
control_v11p_sd15_seg.pth
):用於圖像分割,能夠將圖像中的不同部分進行分離和標記,適合於需要區分不同區域的圖像生成任務。 - SoftEdge 模型 (
control_v11p_sd15_softedge.pth
):專注於將圖像轉換為柔和的邊緣風格,相較於其他模型更注重圖像的柔和度和自然度,通常用於生成風景、人物等柔和風格的圖片。它是 ControlNet 1.0 版本中 HED 模型的升級版,有四種預處理器可供選擇,按照結果品質排序分別是 SoftEdge_HED、SoftEdge_PIDI、SoftEdge_HED_safe、SoftEdge_PIDI_safe。相對於傳統的邊緣模型(如 Canny),SoftEdge 模型更注重保留圖像的細節,提取的線條更精細,細節更豐富。 - Lineart Anime 模型 (
control_v11p_sd15s2_lineart_anime.pth
):此模型專門用於生成動漫風格的線稿圖像,能夠將圖像轉換為清晰的線條圖,適合於插畫和漫畫風格的生成。它是 ControlNet 1.1 版本中新增的模型,在 ControlNet 1.0 的 Lineart 模型基礎上進行了優化和改進,使生成的線稿更加符合動漫風格。