簡介
AI 影像生成中常見的挑戰之一是實現精確的 藝術指導。雖然提示詞可以引導影像的整體風格和內容,但在控制特定的 構圖細節,例如螢幕方向或物件位置。
在本文中,我們將探討 ControlNet 如何在 ComfyUI 工作流程中使用,以克服這些限制。透過利用 ControlNet 模型,您可以使用線條圖或邊緣圖等外部輸入來引導生成影像的構圖。這種方法使您能夠在影像生成過程中實現更高程度的控制和精確性。
目錄
問題:提示詞在構圖方面的侷限性
讓我們考慮一個例子:生成一隻面向螢幕右側的狗的影像。即使使用了精心製作的提示詞,指定了“facing screen right,”,由 Juggernaut XL 擴散模型 生成的影像也未能滿足這一要求。狗沒有面向螢幕右側,而是面向螢幕左側。
這一結果凸顯了一個關鍵侷限:擴散模型和文字編碼器常常難以理解空間或方向性提示詞。唯一的替代方法是隨機嘗試不同的種子,直到獲得所需的構圖——一個耗時且低效的過程。
ControlNet 簡介
ControlNet 透過在工作流程中引入基於外部影像的 conditioning 提供了一個解決方案。它的工作原理是分析參考影像,並將其結構或構圖套用到生成的輸出。
ControlNet 模型旨在與特定的擴散模型配合使用。在本例中,我們將使用 controlnet-scribble-sdxl-1.0 模型,該模型與 SDXL 精修擴散模型 相容。Scribble ControlNet 接受簡單的線條圖作為輸入,非常適合粗略的構圖引導。
在 ComfyUI 中設定 ControlNet
第 1 步:下載並安裝 ControlNet 模型
- 下載 controlnet-scribble-sdxl-1.0 模型,來源:xinsir/controlnet-scribble-sdxl-1.0 at main,原始名稱為 diffusion_pytorch_model.safetensors。
- 將模型檔案放在以下目錄中:
/models/controlnet並將其重新命名為 controlnet-scribble-sdxl-1.0.safetensors,您需要重新啟動 ComfyUI 才能載入該模型檔案。

第 2 步:建構工作流程
在 ComfyUI 中,您需要建立一個將 ControlNet 模型整合到影像生成過程中的工作流程。
原始模型:

請按照以下步驟操作:
1. 載入 ControlNet 模型
- 新增一個 Load ControlNet Model 節點。
- 從清單中選擇 controlnet-scribble-sdxl-1.0 模型。

2. Apply ControlNet
- 新增一個 Apply ControlNet 節點。
- 斷開與 KSampler 節點的 conditioning,改為透過 Apply ControlNet 節點進行路由。


3. 載入輸入影像
- 新增一個 Load Image 節點。
- 上傳您的線條圖(例如,所需構圖的簡單草圖)。
- 將影像連接到 Apply ControlNet 節點。

4. 完成連接
- 連接 ControlNet 模型 到 Apply ControlNet 節點。
- 或者,也可以將 VAE 連接到 Apply ControlNet 節點以保持完整(儘管在這種情況下它不會影響結果)。

第 3 步:生成影像
工作流程設定完成後,將工作流程加入佇列以生成影像。ControlNet 將根據上傳的線條圖引導構圖。
原始草圖:

我使用的提示詞:nature photography, dog, standing on the grass, daylight, (bokeh:1.5)
輸出:

結果與改進
初始輸出
使用 ControlNet Scribble 模型後,生成的狗現在遵循了正確的構圖。然而,ControlNet 的影響預設設定為最大值,如果輸入的繪圖不準確或過於簡單,可能會導致不自然的結果。
例如,如果上傳的草圖缺乏解剖學上的準確性,生成的影像可能看起來不自然或扭曲。
平衡 ControlNet 的影響
為了解決這個問題,您可以調整 ControlNet 影響參數,以在輸入繪圖和生成模型的自然最佳化之間取得平衡。這使模型能夠填補缺失的細節,同時仍遵循所需的構圖。
ControlNet 模型的類型
ControlNet 提供了幾種變體,每種都針對特定的使用案例:
- Scribble ControlNet:接受簡單的線條圖,用於粗略的構圖引導。
- Canny ControlNet:從輸入影像中提取邊緣細節以引導構圖。
- Depth ControlNet:分析深度資訊,以建立具有真實空間關係的影像。
根據您的需求,您可以選擇合適的 ControlNet 模型來引導您的工作流程。
實際應用
ControlNet 特別適用於:
- 精確的物件放置:確保物件出現在特定的位置或方向。
- 自訂構圖:實現僅用文字提示詞難以描述的獨特佈局。
- 藝術指導:將外部草圖或參考與生成式 AI 相結合,以獲得創意輸出。
結論
在 ComfyUI 工作流程中使用 ControlNet 可以更好地控制影像構圖,解決基於提示詞生成的侷限性。透過整合線條圖等外部輸入,您可以精確地引導物件的位置和方向。
接下來,嘗試平衡 ControlNet 的影響,以實現自然且視覺上吸引人的結果。無論您是從事藝術專案還是特定的設計任務,ControlNet 都為 AI 影像生成中的創意指導開闢了新的可能性。