ControlNet是Stable diffusion一個插件,簡單的說,就是在AI產圖之初就將一個型先印在最一開始的圖中,再由AI去補剩下的東西,整體來說是個Game changer,至少在這AI產生的圖中你現在有了10%的貢獻
1.插件安裝
這是ControlNet的GIT,載下來然後丟到extensions資料夾裡就好;不過如果你的Stable diffusion webui有更新的話,在Extensions頁簽應該是找得到的,在這邊也能裝
2.模組安裝
ControlNet除了插件,同時也要抓他底下的計算Model,你需要在這裡下載你需要用到的ControlNet Model(你沒必要全抓),請把他們丟在extensions\sd-webui-controlnet-main\models
3.模組簡述
模組 | 效果 |
Canny | 會用演算法詳細的抓圖片的邊緣線做為參考生成圖片 |
mlsd | 會嘗試抓圖片中明顯的直線做為參考生成圖片 |
hed | 會嘗試抓取圖片中的特徵做為參考生成圖片 |
Scribbles | 會嘗試以提供的線條為結構做為參考生成圖片 |
openpose | 會嘗試從圖片中的人物生成骨架後做為參考生成圖片 |
seg | 會將圖片用一個大略的色塊取代後做為參考生成圖片 |
depth | 會嘗試從圖片中抓取圖片的深淺遠近做為參考生成圖片 |
normal | 與depth類似,也會嘗試從圖片中抓取圖片的深淺遠近做為參考生成圖片 |
個人推薦嘗試:Scribbles、openpose、normal,文中也會以這三個為範例,其他model的展示可以在這裡看到
4.使用
插件安裝完畢後,不管在txt2img還是img2img應該都能看到多了Controlnet(如果你發現你上方的介面不太一樣,我建議你更新)
點開之後會看到這個畫面
勾選enable,才會啟動Controlnet
Scribbles mode是給Scribbles專用的,其他的模式請不要勾它
RGB to BGR反轉紅與藍,我不確定這能幹啥
low VRAM如果你顯卡RAM不夠請勾它
Guess Mode會讓Controlnet完全去猜你丟進去的圖適合哪種模式
Preprocessor 與 Model就是選第三大項提到的模組
Preprocessor的意思是要先對圖片做哪一種模式的預處裡,選Scribbles就會抓線、選Openpose會抓肢體等等,不過如過你今天丟進去的是已經處理過的圖片(如在其他地方抓來的Openpose圖),這一項請選None
Model則是會已選定的模式去告訴AI該怎麼畫,原則上你Preprocessor選甚麼Model就選甚麼,除非你知道你自己丟進去的圖片可以對應哪個Model
Weight是Controlnet的強度,不過太強的話還蠻容易畫崩的
Resize mode用於設定Create blank canvas產生的畫布大小(不設定不影響產圖)
最下面的Create blank canvas則是在圖片的地方生一個空白圖片讓你畫(應該是給Scribbles用的?)
Preview annotator result是預覽在這樣的設定與輸入的圖片下會產生甚麼樣的參考圖/骨架/深淺(這對應你選的模式,一片黑就代表抓取失敗,請換圖片或換模式)
Preview annotator result是把前項的預覽收起來
選擇使用Model後會有像這樣的bar條出現,是用於設定ControlNet判斷圖片讀取的設定,但每個Model不一樣,除了第一個bar條是設定取樣精細度算是共通的外其他都不一樣,請用Preview去看看產出的骨架/深淺圖那些的是不是你想要的
5.使用成果(Scribbles、openpose與normal)
Scribbles
以及...產出的九個範例
從中可以看到大部分的情況AI會依照你給的東西嘗試去畫,仔細看的話你還是可以看到一開始給的線都嵌在圖片中,不過AI會怎麼補你給的線仍然是難以預測,畫崩也是可以預料的事情,這個部分就只能靠關鍵詞、嵌入檔讓AI畫出更好的結果
openpose
openpose會從你給的圖片中嘗試去抓骨架,並以其為基底去畫圖,如果畫崩的話通常是姿勢太奇特(沒錯,大部分的jojo立會崩)
(猜猜看這誰的姿勢?)
不過有些圖片openpose沒辦法算出人物骨架,我不確定原因,反正產出時會有顯示他的參照骨架,如果是一片黑就代表它抓不到骨架
ps.參照骨架應該會長這樣
Normal
Normal會將輸入的圖片弄成一個型,接著AI會依據關鍵詞去把人給畫出來,而這不像img2img,原本圖片的元素完全不會影響到你的產出,不會因為圖片背景有森林而導致你不管怎麼畫都離不開那個森林
--------------
ControlNet大概就寫到這邊
我會選文中提到的三個純粹是我覺得我比較會用到這些,全部抓下來實在是太佔空間了
歡迎提問與交流
*2/22因介面有變動而小更新*3/3更正Preprocessor 與 Model的使用