Stable Diffusion AI算圖使用手冊(5-2): 透過法線貼圖鎖定角色姿勢

Stable Diffusion AI算圖使用手冊(5-2): 透過法線貼圖鎖定角色姿勢

ADVERTISEMENT

在上篇文章中,我們看到了在Stable Diffusion WebUI進行算圖時,可以透過使用ControlNet中的OpenPose來控制角色姿勢,這次我們進一步使用法線貼圖,更強勢將姿勢鎖定。

文章目錄

比OpenPose更強的控制力

雖然OpenPose已經能順利控制許多角色姿勢,但是仍然有部分參考圖片中的人物骨架無法被OpenPose正確辨識,造成生成圖片的效果不如預期的狀況,這時候就可以考慮使用控制力更強的Normal BAE模型,利用法線貼圖的方式來解決問題。

首先我們需要參考前篇「透過ControlNet控制角色姿勢」教學文章,先完成ControlNet的安裝手續。

接下來還需要額外到ControlNet於Huggingface的頁面,下載「control_v11p_sd15_normalbae.pth」模型,並儲存至「stable-diffusion-webui」資料夾下的「extensionssd-webui-controlnetmodels」內,如此一來便能完成前置作業。

使用OpenPose模型處理參考圖片,可以看到右半邊欄位的預覽圖並無法準確辨識骨架。

然而使用Normal BAE模型處理,則能更精準控制生成圖片中的人物姿勢。

參考圖片的左側為使用Normal BAE模型,能夠還原原始圖片的內容。右側則使用OpenPose模型。

換至另一組參考圖片,OpenPose模型一樣無法正確辨識骨架。

Normal BAE模型能夠讓角色擺出正確姿勢,OpenPose模型的姿勢已經完全走樣。

Stable Diffusion AI算圖使用手冊(5-2): 透過法線貼圖鎖定角色姿勢

▲讀者須參考「透過ControlNet控制角色姿勢」安裝ControlNet,然後到ControlNet於Huggingface的頁面,下載「control_v11p_sd15_normalbae.pth」模型,並儲存至「stable-diffusion-webui」資料夾下的「extensionssd-webui-controlnetmodels」內,以完成前置作業。

示範用Normal BAE讓角色擺出一樣的姿勢

Normal BAE模型的使用方式與先前介紹的OpenPose模型接近,2者主要的差異,在於想要使用Normal BAE模型的話,需要在Preprocessor選擇normal_bae,並在Model選擇control_v11p_sd15_normalbae,其餘設定可以參考前文提到的基本概念。

讀者依照圖中建議進行各項設定,在Preprocessor選擇normal_bae,並在Model選擇control_v11p_sd15_normalbae,然後點擊綠色箭頭所指的「爆炸圖示」,即可預覽法線貼圖。另外點擊「向上箭頭」可將參考圖片的解析度匯出至生成圖片解析度。

生成圖片的過程一樣需要一般操作流程填寫正面、負面提示詞,並設定各項參數,最後按下Generate按鍵就可以開始算圖。

在測試範例圖中,Normal BAE模型可以正確反映參考圖片中打排球時的手部姿勢。OpenPose模型則是把球接住了。

Normal BAE模型雖然在右手部分加入參考圖片沒有的排球,但人物骨架比較正確。OpenPose模型的左手手指有明顯錯誤。

Normal BAE模型保留正確姿勢,且完整還原了參考圖片中人物的長髮(然而希望生成圖片為短髮)。OpenPose模型雖然正確生成短髮,不過人物姿勢完全錯誤。

這組參考圖片的姿勢比較複雜,Normal BAE模型可以正確還原。OpenPose模型生成圖片中人物的右手骨架明顯錯誤。

Normal BAE模型雖然有較強的控制力,不過也就是因為其效果太強,有時候反而不適合用於僅想片面還原參考圖片中的姿勢,而不要完全鎖死各種細節的情況,因此讀者在使用時,不妨交互測試Normal BAE與OpenPose模型的效果,並多生成幾張圖片,挑選其中較理想的成品。

回到Stable Diffusion AI算圖系列文章目錄

國寶大師 李文恩
作者

電腦王特約作者,專門負責硬派內容,從處理器、主機板到開發板、零組件,尖端科技都一手包辦,最近的研究計畫則包括Windows 98復活與AI圖像生成。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則