最近一個叫做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(中文版名稱擴充)頁簽進行安裝即可。
安裝好了以後,選”已安裝”(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的空間,如果硬碟空間不夠大也不一定要全部都裝,我個人建議安裝Canny、openpose、Scribbles這三個模組。
完整版模組,每一個模組大小就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)。
l 首先勾選enable,才會啟動Controlnet。
接下來還有三個選項,用途如下。
Scribbles mode:是給Scribbles專用的,其他的模式不需要開啟,如果有用到再開,Scribbles的功能我們下次再介紹。
RGB to BGR:反轉紅與藍,原理是利用顏色反轉去產生對比,我不太確定有什麼效果,目前看不太出來顯著性,因此暫時不使用。
low VRAM:如果你顯卡RAM不夠,請勾選它。但倒底多少是不夠,我沒有看到相關說明,以我自己3050Ti 4G來看,我測試上感覺不出顯著差異。但以AI繪圖的架構來看,以往不到8G都算是不夠,所以不到8G的顯卡就勾吧。
Preprocessor 與 Model就是選前面提到的模組,不管你是下載全部還是我建議的那三個,兩個請選相同的模組,如在Preprocessor選了Scribbles,那麼Model也請選Scribbles用的,才能得到我們想要的結果。
Weight:是Controlnet的權重,也就是強度,有國外的網友整裡出了強度影響的對照表,總之我覺得1是比較剛好的。
Resize mode:設定輸入的圖片要怎麼和下方設定的寬度與高度對應,這部分跟SD在圖生圖選項中,關於長寬比的設定是相同的。
最下面的Create blank canvas則是在圖片的地方生一個空白圖片讓你畫,也就是提供給Scribbles塗鴉模式用的,暫時用不到。
關於權重的說明
來自NEXT-GEN NEW IMG2IMG In Stable Diffusion! This Is TRULY INCREDIBLE
其他操作就跟原本的SD操作式相同的,就不多作介紹了,詳細的應用方式,我們之後再專文說明。以我的電腦為例,以前產出一張圖是約1分鐘內,是用ControlNET就會發現時間大幅增加到3~5分鐘,差異非常顯著。
以下兩張照片,就是目前的測試畫面,提供參考。
作者已經移除這則留言。
回覆刪除