2023年2月22日 星期三

繪圖AI - Stable Diffusion 最強外掛模組ControlNet安裝教學與參考資源

 

最近一個叫做ControlNet的軟體橫空出世,在AI繪圖圈子裏面掀起一陣熱議,因為這套軟體解決了AI繪圖上一個很大的問題,就是人物或是物體的姿勢或是擺放的問題,ControlNet的出現讓我們在控制AI繪圖上提供了巨大的幫助。

ControlNet其實嚴格上來說不是所謂的軟體,他是Stable diffusion一個外掛模組(插件),ControlNet 是一種全新的神經網絡結構,允許通過使用不同的特殊模型,從任何圖像建立出一組參考架構,並使用這些參考架構將AI產生的繪圖數據,參考這個架構圖像,轉換到到另一個新生成的圖像上。

簡單的說,就是在AI產圖之初就將一個圖形的輪廓提取,先生成在最一開始的圖中,再由AI去補剩下的東西,而我們提供的參考圖或是草圖,就可以約束或限制AI的發展,使AI能夠繪製出我們指定的型態。

以下圖為例,我提供AI一組草圖,AI就依照這組草圖,生成了這個型態。

    

這對做設計工作的我來說,有莫大的幫助。

 

關於這個外掛模組的詳細介紹,可以參考下列這個網址的資訊,這是他們官方發布的內容,有完整的計數與使用資料。

https://github.com/lllyasviel/ControlNet

 

以下,我們就來說明安裝與使用的方法,安裝外掛模組前,當然主程式Stable diffusion要先安裝好,如果還沒安裝請參考我上一篇的介紹文章:

 

步驟1.安裝外掛模組

在上面官網的介紹網頁中,也有介紹了安裝的方法,有需要的朋友也可以直接看原文資料,我們的安裝方式也是參考官網的說明。


這是ControlNet的安裝有兩三種方式,包含使用GIT載下來然後丟到extensions資料夾裡;使用DOS指令方式執行PowerShell的方式;以及直接使用WebUI載下;如果你的Stable diffusion webui有更新的話,我建議直接使用WebUI更新比較方便,官網的標準安裝方式也是這個方法,我們在Extensions(中文版名稱擴充)頁簽進行安裝即可。

 選擇擴充”(Extensions),然後選擇從網址安裝”(Install from URL),在網址處填入https://github.com/Mikubill/sd-webui-controlnet.git,然後點擊安裝。


安裝好了以後,選已安裝”(Installed)這個頁籤,就會出現你安裝的擴充項目 sd-webui-controlnet” ,並按下重新啟動介面的按鈕,介面重新載入後,就安裝完成了。



 

步驟2.下載模組(模型)

ControlNet的模組安裝與其他的模型下載方式是一樣的,網址如下:

完整版

https://huggingface.co/lllyasviel/ControlNet/tree/main/models

精簡版

https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main

 

他總共有8種,每一種模組的功能可以參考先前的官方網頁,有詳細介紹,下面表格是網友這裡的資料。

模組

效果

Canny

會用演算法詳細的抓圖片的邊緣線做為參考生成圖片

mlsd

會嘗試抓圖片中明顯的直線做為參考生成圖片

hed

會嘗試抓取圖片中的特徵做為參考生成圖片

Scribbles

會嘗試以提供的線條為結構做為參考生成圖片

openpose

會嘗試從圖片中的人物生成骨架後做為參考生成圖片

seg

會將圖片用一個大略的色塊取代後做為參考生成圖片

depth

會嘗試從圖片中抓取圖片的深淺遠近做為參考生成圖片

normal

depth類似,也會嘗試從圖片中抓取圖片的深淺遠近做為參考生成圖片

 

由於全部八種模組全部抓下來,包含整個安裝大概需要40G的空間,如果硬碟空間不夠大也不一定要全部都裝,我個人建議安裝CannyopenposeScribbles這三個模組。

 

完整版模組,每一個模組大小就5.71GB,容量相當的大。



精簡版模組大小


下載你需要的模組完成後,請把他們放在

x:\stable-diffusion-webui\extensions\sd-webui-controlnet\models

完成後再重新載入一次,模組才會出現在webui中,我個人則是使用完整版,且全部下載。

 

我推薦的三個模組,我就用官網上的介紹來稍微說明一下。

Canny:會用演算法詳細的抓圖片的邊緣線做為參考,進一步生成圖片,所以所有細節都會被產生出來,人物照片為例,這個人不只是動作,連衣服的型態都會被帶出邊緣,因此AI重繪的還原度會很高。

以下面的鳥為例,包含姿態、五官、白色的腹部區域、腳下的木頭,都能準確生成。主要的應用就是提供彩色的照片,以設計為例的話,假設我們提供一張彩色的表現技法圖,AI就可以協助生成更為逼真的擬真照片。



 

Scribbles:以我們提供參考的線條為結構做為參考生成圖片,這個非常適合作工業設計的我們,當我們完成設計草圖時,就可以提供AI去生成精密描寫圖。因此,手稿的透視、比例、準確度就變得更為重要了。



 

Openpose:如何讓AI繪製人物時,能夠擺出正確的姿勢一直讓人很困擾,這個模組會嘗試從圖片中的人物生成骨架,然後依照骨架做為參考生成圖片。之後利用關鍵字控制人物的造型、服裝、場景等等,但動作是不會改變的。與先前Canny不同的是,Openpose是由圖片產生人體架構,Canny則是產生出照片中人物的邊緣輪廓,因此Canny生成會很貼近原本的照片,而Openpose可以透過關鍵提詞改變更多型態。

 



 

3.使用方法

外掛的這個插件安裝完畢後,理論上在txt2img應該會看到多了Controlnet,如果你只有在img2img看到Controlnet(如果你發現介面不太一樣,我建議你更新webui)

 


 點開之後會看到這個畫面,請把下方的ControlNET打開。開啟後畫面如下,可以看到各種功能。

 



 

l   首先勾選enable,才會啟動Controlnet

 

接下來還有三個選項,用途如下。

Scribbles mode是給Scribbles專用的,其他的模式不需要開啟,如果有用到再開,Scribbles的功能我們下次再介紹。

RGB to BGR反轉紅與藍,原理是利用顏色反轉去產生對比,我不太確定有什麼效果,目前看不太出來顯著性,因此暫時不使用。

low VRAM如果你顯卡RAM不夠,請勾選它。但倒底多少是不夠,我沒有看到相關說明,以我自己3050Ti 4G來看,我測試上感覺不出顯著差異。但以AI繪圖的架構來看,以往不到8G都算是不夠,所以不到8G的顯卡就勾吧。

 

Preprocessor Model就是選前面提到的模組,不管你是下載全部還是我建議的那三個,兩個請選相同的模組,如在Preprocessor選了Scribbles,那麼Model也請選Scribbles用的,才能得到我們想要的結果。

 

WeightControlnet的權重,也就是強度,有國外的網友整裡出了強度影響的對照表,總之我覺得1是比較剛好的。

Resize mode設定輸入的圖片要怎麼和下方設定的寬度與高度對應,這部分跟SD在圖生圖選項中,關於長寬比的設定是相同的。

最下面的Create blank canvas則是在圖片的地方生一個空白圖片讓你畫,也就是提供給Scribbles塗鴉模式用的,暫時用不到。

 

關於權重的說明


來自NEXT-GEN NEW IMG2IMG In Stable Diffusion! This Is TRULY INCREDIBLE

 

其他操作就跟原本的SD操作式相同的,就不多作介紹了,詳細的應用方式,我們之後再專文說明。以我的電腦為例,以前產出一張圖是約1分鐘內,是用ControlNET就會發現時間大幅增加到3~5分鐘,差異非常顯著。

 

以下兩張照片,就是目前的測試畫面,提供參考。

 




 


 

 

 

1 則留言:

RHINO 8 練習題 範例--錄音筆