2023-07-16|閱讀時間 ‧ 約 5 分鐘

Stable Diffusion進階 -- 人偶生圖(一)

Dance!
Dance!

前言

本篇要介紹一個流程,讓我們可以使用人偶姿勢生成網站或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來製作:
PoseMy.Art
在選定姿勢與切割框後,使用Export OpenPose with hands和Export Image,我們就得到了基本素材。
在Automatic1111內,將下載的圖片放入img2img內:
img2img內放入素材圖
設定時Denoising strength調整到中權重的0.5,可以保證快速變形:
Denoising strength設定為0.5
接著是ControlNet的設定,我們在此使用兩個ControlNet,兩個都要設定ControlNet is more important,讓ControlNet能強力控制整個生圖過程人物姿勢不走樣,第一個是使用由網站下載來的Openpose圖片,將preprocessor設定為none,這樣才能直接使用該姿勢圖:
preprocessor設定為none
另一個ControlNet可以使用depth(深度圖)或者normal(法線向量圖),我個人習慣使用depth。在這邊由於不想讓它太過牽制人偶的體型變形,因此Control Weight要設定成0.5的弱引導:
Control Weight要設定成0.5以下
最後設定Loopback,我使用10回合,並設定Final denoising strength為0.75的高權重,讓它在循環輸入時變形幅度加大:
Loopback設定
最後我們就可以開始跑圖了!
漸變流程
如果出現的圖片都沒有喜歡的,就可以考慮重跑幾次,直到選中喜歡的圖。
直到目前為止,我得到的半成品圖樣長這樣:
半成品圖

結論

這張半成品的手部手指是錯亂的,臉是模糊崩解的,背景也是黑暗的,要處理這些問題,我們要在下一篇繼續完善這件半成品,成為可以使用的草稿。
分享至
成為作者繼續創作的動力吧!
紀錄在路途上學到的各種Stable Diffusion,手工繪製圖片的技巧。
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言