造夢師手記:用ControlNet教會Stable Diffusion畫出完美手型


關(guān)于AI畫手,幾乎從AI繪畫出現(xiàn)就開始伴隨著吐槽。
我寫過幾種Stable Diffusion優(yōu)化畫手的方式,
一是抽卡式(盲盒)。生成滿意的圖片后,用涂鴉蒙版的方式涂掉畫壞的手,然后用顯卡的優(yōu)勢批量跑,然后選一個滿意的;
二是Depth Library插件。用預(yù)置的手型來引導(dǎo)AI畫手,從而生成完美的手型,我從C站下載了900個手型圖片文件,大概相當(dāng)于窮舉法;
三是使用一些特殊lora,比如add_detail、hipoly_3dcg等,這些微調(diào)模型對手部進行了特別訓(xùn)練,能大概率生成好手;
四是使用較新的模型,比如meinamix11,能以極高的概率出現(xiàn)好手。新模型采用了新的訓(xùn)練方式,都在手部進行了加強訓(xùn)練,更容易畫出好手。

除了這些,還有一種成功率極高(接近100%)的畫好手的方式:ControlNet。
除了必須安裝ControlNet插件外,還需要安裝openpose editor插件。

ControlNet插件地址:
https://gitcode.net/ranting8323/sd-webui-controlnet.git
openpose editor插件地址:
https://gitcode.net/ranting8323/sd-webui-openpose-editor
1、把基本滿意但手型不滿意的圖片導(dǎo)入ControlNet插件

選中control_v11p_sd15_openpose模型,點一下預(yù)覽標(biāo)志(爆炸按鈕),會生成原圖的骨架圖。
2、然后點擊編輯進入骨架圖編輯界面

如果點編輯時報錯,有兩種可能。
一是openpose editor插件未安裝,按照上文路徑提示安裝即可;
二是ControlNet插件版本過新,導(dǎo)致不兼容,可以到擴展--檢查更新對比下兩個插件版本,openpose editor插件的日期更晚即可。

如果因為版本不兼容導(dǎo)致無法打開,可以在啟動器(以秋葉的繪世啟動器為例)里選擇退回較舊版本就可以了。
程序正常的話,會進入編輯界面。
這個界面看起來比較復(fù)雜,不過我們只需要關(guān)心左右手。
對于不滿意的手,可以先刪掉,點擊叉號。
左邊框會出現(xiàn)添加左手、添加右手的按鈕,右邊骨架圖里沒有了手型。
然后分別點擊添加左手、右手。
骨架圖里會出現(xiàn)五個手指及每個關(guān)節(jié),根據(jù)想要的形狀,用鼠標(biāo)拖拽手的位置。

然后點擊左邊框的下拉按鈕,手指、關(guān)節(jié)進入可編輯狀態(tài)。

左手每個手指去掉了兩個關(guān)節(jié)(表示握拳),右手展開。
然后點左上角發(fā)送到ControlNet,使用原提示詞生成圖片。
得到一張基本完美的手型圖片。

3、ControlNet插件非常強大,除了修手,還可以修崩壞的臉。
不過有了ADetailer修臉插件,我們就不需要手工修臉了。