天天看點

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

作者:技術宅老張

因為在一個篇幅裡面寫完就太長了,太影響閱讀,是以就分成了兩部分,這裡接上一篇的内容。

四、模型及預處理器

對于ControlNet模型來說,預處理器不是必須的,但我們還是要了解每個模型的預處理器是什麼。

1、canny 邊緣檢測

canny 邊緣檢測模型類似于 lineart 線稿模型,對應的預處理器為 canny ,可以将圖檔變為線稿,然後再根據模型以及提示詞對圖檔重新上色繪制,但是在細節方面的表現會比較差。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

2、depth 深度圖

深度圖 depth 模型有 3 個對應的預處理器,分别是 leres / midas / zoe ,可以将原圖轉換為隻有黑白灰的深度圖像,越靠近錄影機的物體就越白,越遠離錄影機的物體就越黑,這 3 個預處理器對應的效果如下。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

從上圖對比可以看出,leres 預處理器算出的深度圖比較淺,前景跟背景的區分不是很明顯;midas 的效果就類似于之前 1.0 版本的效果,前景跟背景的過渡比較生硬,是速度最快的深度圖處理方法;而 zoe 的效果看起來就舒服很多,前景跟背景的過度比較柔和,從前景到背景可以看出有顯明的縱深關系,但該處理方法所需的時間也會長很多。

3、inpaint 修複

根據官方的介紹,inpaint 修複模型使用 50% 的随機掩碼和 50% 的随機光流遮擋掩碼進行訓練,這意味着該模型不僅支援圖像修複,還可以處理視訊光流扭曲。該修複模型有點類似于圖生圖中的局部重繪功能。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

4、lineart_anime 動漫線稿(不支援猜測模式)

動漫線稿模型,可以根據線稿生成特定風格的圖像,對應的預處理器為 lineart_anime,該模型及預處理器主要用于處理動漫類圖像,相比于寫實線稿,其在動漫圖像上的表現會更好。

根據官方的說明,如果想要用這個模型來作示範,那基礎大模型要選 anything-v3-full 這個模型,在不使用 lora 模型的情況下,使用長提示詞生成的圖檔效果會更好,同時該模型還不支援 Guess Mode 猜測模型,在使用的時候需要注意。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

5、lineart 寫實線稿

lineart 線稿模型也是根據線稿生成特定風格的圖像,同樣對應 3 個預處理器,分别是 coarse / realistic / standard ,coarse 屬于粗略模式,細節部分丢失得比較多;realistic 屬于精細模式,細節部分就畫得比較完整;standard 标準模式,該模式有點類似于塗鴉的 xdog 模型,但它是以線條的形式展現出來,具體效果可以看下圖,大家也可以自己嘗試嘗試。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

6、mlsd 直線檢測

mlsd 直線檢測類似于線稿和邊緣檢測,但其更适合處理帶有大量直線的圖檔,比如建築和室内空間等。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

7、normalbae 法線貼圖

normalbae 法線貼圖模型,主要用于模拟3D模型表面的細節以及紋理,可以保留較為精确的角色細節,對場景及人物的還原都比較好,其對應的預處理器為 normal_bae。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

8、openpose 姿态檢測

openpose 也是用得比較多的一種模型,可以根據原圖生成對應的人體姿态圖像,再通過這個姿态圖去控制生成的人物姿态手勢等。新版本中,該模型對應的預處理器被分成了好多種,除了 openpose 與原版本相同之外,另外增加了臉部跟手部的細節檢測,分别是 face / faceonly / full / hand ,具體如下圖,可以看出功能比原版本強大了很多,特别是手的部分處理得更加精确。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

9、scribble 塗鴉

scribble 塗鴉模型,可以了解為更粗糙的線稿模型,對應的有三種預處理器。分别是 hed / pidinet / xdog ,前面兩種是 1.0 版本原有的塗鴉方式,新版本主要多了 xdog 的預處理器, xdog 是基于高斯差分的圖像邊緣檢測算法,這種算法可以讓我們得到一張具有良好邊緣的邊緣圖像,從以下對比圖就可以看出有明顯的差别。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

除以上幾種預處理器外,模型還可以接受手繪的塗鴉。

10、seg 語義分割

首先介紹一下語義分割,語義分割就是把整個畫面用顔色分割成不同的區域,每個顔色都有自己獨特的代表意義,具體代表什麼可以參考下面這張圖。這樣想要在圖中什麼位置出現什麼物體,就在那個位置用對應的顔色标示出來,然後放到AI繪畫裡面就能自動識别。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

seg 語義分割模型同樣也是有 3 個對應的預處理器,分别是 ofade20k / ufade20k / ofcoco ,預處理器可以将原圖按對應的語義使用顔色進行填充,然後模型再根據這些語義顔色來生成對應的物體,進而改變風格。

從名稱可以看出來 ofade20k 與 ufade20k 都是基于 ade20k 協定的,它支援150多種顔色,而 ofcoco 是基于 coco 協定的,它額外還支援 182 種顔色,顔色數量上就翻了一倍,從這也可以看出這個預處理器相比另外兩個效果上會更好。

11、shuffle 圖像重組

該模型目前還處于測試當中,其功能是使用随機流來打亂原圖像再控制 Stable diffusion 來重組圖像,然後再根據提示詞或者其他 ControlNet 來改變圖像的風格。

試了幾組圖像,但我還是看不出該模型的特點在哪裡。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

12、softedge 軟邊緣

softedge軟邊緣模型,功能與其他邊緣模型差不多,對應有4種預處理器,分别是 hed / hedsafe / pidinet / pidisafe , 可以了解為 1.0 版本 hed 算法的更新版,但更新後的版本效果明顯比原版本更好。

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

新版本的算法更傾向于将損壞的原始圖像灰階隐藏在軟邊緣圖中,而舊版本則是通過過度拟合的方式來隐藏損壞的圖像,而不是軟邊緣的形式。

hed 與 pidinet 都是邊緣檢測算法,後面加了個 safe 是在原有的基礎上增加了一些安全措施,防止生成的圖像帶有一些不好的内容。

這幾個算法中,官方比較推薦的是 pidinet ,因為大多數情況下,這個算法會更穩定。

13、ip2p 指令

這個模型也是一個處于測試當中的模型,沒有與之對應的預處理器,它是通過一半的描述提示詞和一半的指令提示詞來完成圖檔的變化效果的,例如:“一個可愛的女孩”是描述提示詞,“讓女孩變得可愛”則是指令提示詞。

可以通過指令的形式來改變圖檔的風格,比如下圖的指令是:make it on fire.(讓它着火)

Stable diffusion AI畫圖擴充插件 —— ControlNet 1.1版本介紹(二)

14、tile (未完成)

該模型目前還處于未完成的狀态,暫時不做介紹 ,等後面模型穩定了再行補充。

以上就是新版 ControlNet 擴充插件的基本内容,使用的方式有很多種,也比較複雜,後面再慢慢結合其他模型或者執行個體來詳細介紹。