在AI繪畫中,有時(shí)候我們需要主角(人物或動(dòng)物)擺出特定的姿勢(shì),該怎么做呢?
第一種方法:以圖生圖
打開(kāi)Stable Diffusion界面,點(diǎn)擊imag2img
下面出現(xiàn)一個(gè)”drop image here or click to upload”的方框,從網(wǎng)上找一張你希望呈現(xiàn)的姿勢(shì)圖片,比如一個(gè)老鷹,姿勢(shì):雙眼盯著遠(yuǎn)方。把這張圖片拖拽到方框,或者從本地電腦上傳。
然后在提示詞框里輸入提示詞,比如:a dragon ,然后點(diǎn)擊generate生成圖像。但是這樣生成的圖像,姿勢(shì)不好控制,有些會(huì)比較像,有些差很遠(yuǎn)。
第二種方法:使用ControlNet。這是一個(gè)很強(qiáng)大的stable Diffusion插件,可以精準(zhǔn)的控制AI繪畫中人物或動(dòng)物的姿勢(shì),從而生成很多好玩有創(chuàng)意的圖片。
比如,穿上鋼鐵俠戰(zhàn)衣的擎天柱:
現(xiàn)在大部分stable Diffusion的colab包都自帶ControlNet,如果你使用的版本里沒(méi)有,可以打開(kāi)extensions,在安裝時(shí)勾選ControlNet
下載ControlNet模型那一欄,選擇通用的姿勢(shì)控制模型ControlNet_openpose(也可以都選)
現(xiàn)在,打開(kāi)stable Diffusion,可以在提示詞框下面看到control net的按鈕
有一個(gè)Enable的方框,勾選,就啟用control net了。
我們來(lái)測(cè)試下control net的效果。先不啟用control net,輸入提示詞,生成如下圖片,可以看到圖片中人物的姿勢(shì)各異。
然后我們上傳一張瑜伽動(dòng)作姿勢(shì)的圖片到control net,然后勾選enable,Preprocessor選擇openpose,Model選擇openpose-sd21-safe [2be3125b]
再次點(diǎn)擊generate按鈕,這時(shí)候生成的圖片基本保持了和上傳圖像中的瑜伽動(dòng)作
但是,這個(gè)動(dòng)作和源照片中的瑜伽動(dòng)作差距有些大,生成效果不是很理想。這不是插件的問(wèn)題,而是選用的模型不太對(duì)。
Control net的Preprocessor有很多種模型可選:canny、depth、depth_leres、hed、mlsd、
normal_map、openpose、openposehand、clip_vision、color、pidinet、scribble、fake_scribble、segmentation、binary。這些都是什么意思呢?
Openpose:最常用的模型,采取圖片中的人物骨架做為參考,以生成圖片。用于人物動(dòng)作。
Canny:擷取圖片中的邊緣線做為參考,以生成圖片
mlsd :擷取圖片中明顯的直線做為參考,以生成圖片。一般用于建筑、物體的檢測(cè),常用于室內(nèi)裝潢,建筑設(shè)計(jì)
Hed:擷取圖片中的特征做為參考,以生成圖片。也是邊緣提取,跟canny類似
Scribbles:手稿模型 擷取使用者提供的線條做為參考,以生成圖片??梢园央S手畫的涂鴉生成精美的畫面
Segmentation:將圖片化為大略的色塊作為參考,以生成圖片
Depth:提取深度檢測(cè)信息,可以生成具有同樣深度結(jié)構(gòu)的圖 。
normal:模型識(shí)別,跟深度圖有點(diǎn)類似,但對(duì)于細(xì)節(jié)的保留更加的精確。通過(guò)讀取原圖片中的深度信息和法線背景閾值。
Pidinet:檢測(cè)圖像中的曲線和直線條,然后生成圖片。生成的結(jié)果和HED有些相似。不過(guò),細(xì)節(jié)會(huì)少一些。
Fake Scribble:從成品圖中提取出草圖 ,和涂鴉是倒過(guò)來(lái)的。
總結(jié)下,這些不同的模型采用的不同方法來(lái)控制姿勢(shì),并沒(méi)有誰(shuí)更好誰(shuí)更差,而是需要根據(jù)需要和圖像特征來(lái)選擇對(duì)應(yīng)的合適模型。
通常來(lái)說(shuō),對(duì)于人像,HED 模型可以最精準(zhǔn)的復(fù)制人物動(dòng)作。Canny 、 depth、normal也不錯(cuò),但是有時(shí)可能會(huì)有一些變形。從上面圖像來(lái)看,不僅復(fù)制了動(dòng)作,還復(fù)制了、發(fā)型和衣服,效果不是很理想。OpenPose在復(fù)制動(dòng)作的同時(shí),則沒(méi)有死板的去復(fù)制衣服和發(fā)型,而是精準(zhǔn)的生成提示詞中的內(nèi)容,可以說(shuō)是形神兼?zhèn)?,效果最佳。mLSD則完全不適合人像,復(fù)制效果非常差。
回到最開(kāi)始的例子中,將preprocessor模型從openpose改成hed,可以看到生成圖片中人物的動(dòng)作和源圖片中的人物動(dòng)作一模一樣,精準(zhǔn)還原。
AI繪畫交流社群:AIGC部落,掃碼加入
聯(lián)系客服