前言
本篇要介紹一個流程,讓我們可以使用人偶姿勢生成網站或App來製作特意的姿勢與角度,並且經過一套流程之後,轉化成我們要的人物。
在使用Stable Diffusion生成圖片時,最常遇見的問題是人物的動作或位置不照我們的心意生成,尤其是一些高動態或不常見的姿勢與角度,或者手持物品,在某些模型上是永遠也跑不出來的。這時候我們可以借助ControlNet的openpose來生成,但是某些特別複雜或模型完全不熟悉的姿勢,使用openpose也只會產生肢體錯亂的結果,例如各種武術姿勢,或者兩人對戰肢體接觸,或者手持武器打鬥等。
而這次要介紹的方法,需要一個複雜的流程配合,但是它能將一個從人偶網站產生的人偶,利用ControlNet配合Loopback,將裸色人偶漸進轉換成實際的角色圖,對於指定特殊動作時,無論使用何種提示詞與ControlNet openpose都無效的情況,或許是最佳的解法:
這個步驟不只能轉換單人場景,多人場景也能轉換:
步驟
我以女角色跳舞的姿勢與構圖為起點,使用這樣的提示詞:
(extremely detailed CG unity 8k wallpaper), best quality, masterpiece , hdr, ultra highres, Cheefuyu with loose long hair and floating hair and dynamic hair, dancing, wearing dancing dress, short skirt, sweat, practicing, strong light, ballet shoes, dynamic pose, happy, fantasy, ballroom <lora:Cheefuyu:0.4>
當單純使用提示詞時,角色的動作高度不可控,而搭配上ControlNet openpose時,也常產生怪異的肢體搭配,或者多餘的肢體,例如這張:
因為Openpose只能表達平面的姿勢,但是沒辦法表達不同肢體的前後位置與空間分佈,加上高動態的提示詞本來就容易生出多餘肢體,因此這種方法非常考驗運氣。
下面,我們要使用能產生人偶圖與相對應的Openpose的網站,或者程式來生產素材,我主要使用免費的
PoseMy.Art來製作:
在選定姿勢與切割框後,使用Export OpenPose with hands和Export Image,我們就得到了基本素材。
在Automatic1111內,將下載的圖片放入img2img內:
設定時Denoising strength調整到中權重的0.5,可以保證快速變形:
接著是ControlNet的設定,我們在此使用兩個ControlNet,兩個都要設定ControlNet is more important,讓ControlNet能強力控制整個生圖過程人物姿勢不走樣,第一個是使用由網站下載來的Openpose圖片,將preprocessor設定為none,這樣才能直接使用該姿勢圖:
另一個ControlNet可以使用depth(深度圖)或者normal(法線向量圖),我個人習慣使用depth。在這邊由於不想讓它太過牽制人偶的體型變形,因此Control Weight要設定成0.5的弱引導:
最後設定Loopback,我使用10回合,並設定Final denoising strength為0.75的高權重,讓它在循環輸入時變形幅度加大:
最後我們就可以開始跑圖了!
如果出現的圖片都沒有喜歡的,就可以考慮重跑幾次,直到選中喜歡的圖。
直到目前為止,我得到的半成品圖樣長這樣:
結論
這張半成品的手部手指是錯亂的,臉是模糊崩解的,背景也是黑暗的,要處理這些問題,我們要在下一篇繼續完善這件半成品,成為可以使用的草稿。