Stable Diffusion, Stable Diffusion Art, 好康相報順手教

Stable Diffusion – 如何用ControlNet讓AI生成圖像的人物姿勢更自然

你是否曾經嘗試過用Diffusion和其他小模型來生成圖像,卻發現生成的人物動作太過呆板?別擔心,有了ControlNet,你可以隨心所欲地控制人物的姿勢,讓你的圖像更加生動有趣。

ControlNet是一個基於Huggingface的外掛軟體,它可以讓你用一張圖片作為姿勢參考,來影響生成圖像中人物的姿勢。你只需要安裝好ControlNet,並且下載相對應的模型,就可以在Stable Diffusion WebUI網頁介面上使用它。

安裝ControlNet和模型

首先,你需要啟動Stable Diffusion WebUI網頁介面,然後點選Extensions和下方的Available標籤。這時候,你應該可以看到外掛軟體的索引網址已經自動填入,你只需要點擊Load from按鈕,並且搜尋controlnet,然後點選sd-webui-controlnet右方的Install按鈕,就能安裝ControlNet外掛軟體。

接下來,你還需要到ControlNet在Huggingface的頁面,下載「control_v11p_sd15_openpose.pth」模型,並儲存至「stable-diffusion-webui」資料夾下的「extensionssd-webui-controlnetmodels」。

接著進入Stable Diffusion WebUI網頁介面,依序點選Extensions、Available、Load from等按鈕,並且搜尋controlnet,然後點選sd-webui-controlnet右方的Install。
安裝完成後,回到Installed標籤頁面下,可以看到sd-webui-controlnet顯示於列表中
接著至ControlNet於Huggingface的頁面,下載「control_v11p_sd15_openpose.pth」模型。
將檔案儲存至「stable-diffusion-webui」資料夾下的「extensionssd-webui-controlnetmodels」。

使用ControlNet控制姿勢

安裝好ControlNet和OpenPose的模型之後,你需要重新啟動Stable Diffusion WebUI網頁介面,然後你就可以看到ControlNet設定項目,它預設是收合狀態,你需要點擊右方三角形將其展開。

展開ControlNet後,你需要先點擊「Click to upload」,選擇一張你想要用作姿勢參考的圖片,接著依序點擊「Enable」方塊,然後在Preprocessor選擇適合你的功能,例如openpose、openpose_hand或openpose_full,Model則選擇 control_v11p_sd15_openpose,並在Preprocessor Resolution輸入你想要的解析度(建議設定為與來源圖片之短長邊相同),點擊「向上箭頭」將參考圖片的解析度匯出至生成圖片解析度,然後選擇Control Mode控制模式,最後點擊「爆炸圖示」,即可預覽姿勢骨架。

完成安裝手續後,可以在Stable Diffusion WebUI網頁介面看到ControlNet設定項目,點擊右方三角形將其展開。
先點擊「Click to upload」,選擇想要輸入做為姿勢參加的圖片。

Control Mode中的Balance代表平衡ControlNet與提示詞的權重,My prompt is more important代表提示詞更重要,ControlNet is more important則代表ControlNet更重要。

Resize Mode設定項目提供3種縮放模式,你可以根據你的需求和喜好,選擇最適合你的方式。其中Just Resize為直接縮放至符合輸出尺寸,但可能會造成人物變形,Crop and Resize為裁切後縮放,但可能會讓構圖失衡,Resize and Fill為縮放並填滿,但可能會造成人物被切除。

如果你對預覽的姿勢骨架沒有問題,那麼你就可以按照正常的流程進行設定步驟,然後開始生成圖像。這樣一來,你就可以看到生成圖像中的人物會擺出與參考圖片相似的姿勢。

手動調整參考圖片提高準確度

如果你想要更精準地控制生成圖像中人物的構圖,或是指定特定的解析度,你可以試著用繪圖軟體調整你的參考圖片。

因為Openpose模型在分析圖片時,可能會「忽略」參考圖片中白色的部分,所以你可以試著用繪圖軟體拉伸原始圖片的背景部分來改變構圖,這樣可以有效提高生成圖片與參考圖片之間姿勢與構圖的準確度。

例如,如果你想要生成圖片的解析度指定為1456 x 760,並且指定人物姿勢為坐在畫面右方,你可以根據這個原則編輯你的參考圖片,詳情請看下方動態範例。

ControlNet還有許多其他的功能,如果你想要更細緻地調整人物姿勢,你也可以嘗試Online 3D Openpose Editor等工具,如果有機會,我也會再介紹更多的內容。

發表迴響