在上一篇里我已經(jīng)為大家介紹了關(guān)于 ControlNet 的基本功能、安裝和使用技巧,相信大家對(duì)這款神級(jí)插件已經(jīng)有了基本認(rèn)識(shí),今天我會(huì)為大家更詳細(xì)的介紹 14 種官方控圖模型的差異和使用技巧,以及最近剛面向 SDXL 更新的社區(qū)模型。
前文我們提到 ControlNet 模型是由張呂敏開源的,目前開源的模型包括以下這 14 種,作為 ControlNet 的布道者,我們可以將這些稱之為經(jīng)典的官方模型。
官方模型下載地址: https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
雖然官方模型很強(qiáng),但最近新的 SDXL 大模型發(fā)布后還沒有做適配,之前的 ControlNet 插件也基本都是配合 SD1.5 模型來(lái)使用,加上 SDXL 對(duì)硬件的要求頗高,導(dǎo)致 SDXL 系列模型無(wú)法使用 ControlNet 控圖一直是廣大 SD 玩家的痛點(diǎn)。
而這段時(shí)間里,社區(qū)里不少熱心開發(fā)者訓(xùn)練出了不少針對(duì) SDXL 使用的 ControlNet 模型,就在前幾天 ControlNet 插件更新到 v1.1.400 版本后,終于支持配合 SDXL 模型來(lái)使用。為方便大家使用,ControlNet 的作者張呂敏將這些社區(qū)模型都統(tǒng)一鏡像在 HuggingFace 的代碼倉(cāng)庫(kù)中,有需要的朋友可以自行下載使用:
社區(qū) ControlNet 模型下載地址: https://huggingface.co/lllyasviel/sd_control_collection/tree/main
這類社區(qū)模型雖然沒有完全遵照官方模型的命名規(guī)則,但也能從名稱上看出模型的類型,比如 xl 表示是針對(duì) SDXL 使用的模型,sai 表示 StabilityAI 開發(fā)的模型,其中也有一些無(wú)需 ControlNet 模型也能使用,比如 revision (SDXL)和 reference (SDXL)。
我們先來(lái)了解下最基礎(chǔ)的官方模型,最早時(shí)候開源的模型只有 depth、hed、normal、scribble、seg、openpose、mlsd、canny 這 8 種,隨著這半年的迭代已經(jīng)更新到 14 種之多。每種模型都有各自的特點(diǎn),對(duì)新手來(lái)說(shuō)想每個(gè)都完全記住實(shí)在有點(diǎn)困難,因此這里我按照模型的控圖方向分為 4 種類型,分別是輪廓類、景深類、對(duì)象類和重繪類。
在下面的內(nèi)容中我會(huì)為大家仔細(xì)介紹每種 ControlNet 的特點(diǎn)和差異,并配上展示效果圖,但案例樣本較少所以并不能排除繪圖模型本身的影響,大家重點(diǎn)學(xué)習(xí)模型的控圖特點(diǎn)和使用場(chǎng)景即可。
1. 輪廓類
顧名思義,輪廓類指的是通過(guò)元素輪廓來(lái)限制畫面內(nèi)容,輪廓類模型有 Canny 硬邊緣、MLSD 直線、Lineart 真實(shí)線稿、Lineart_anime 動(dòng)漫線稿、SoftEdge 軟邊緣、Segmentation 語(yǔ)義分割、Shuffle 隨機(jī)洗牌這 7 種,且每種模型都配有相應(yīng)的預(yù)處理器,由于算法和版本差異,同一模型可能提供多種預(yù)處理器供用戶自行選擇。
①Canny 硬邊緣
我們先來(lái)看看第一種控制類型:Canny 硬邊緣,它的使用范圍很廣,被作者譽(yù)為最重要的(也許是最常用的)ControlNet 之一,該模型源自圖像處理領(lǐng)域的邊緣檢測(cè)算法,可以識(shí)別并提取圖像中的邊緣特征并輸送到新的圖像中。
Canny 中只包含了 canny(硬邊緣檢測(cè))這一種預(yù)處理器。下圖中我們可以看到,canny 可以準(zhǔn)確提取出畫面中元素邊緣的線稿,即使配合不同的主模型進(jìn)行繪圖都可以精準(zhǔn)還原畫面中的內(nèi)容布局。
在選擇預(yù)處理器時(shí),我們可以看到除了 canny(硬邊緣檢測(cè))還有 invert(白底黑線反色)的預(yù)處理器選項(xiàng),它的功能并非是提取圖像的空間特征,而是將線稿進(jìn)行顏色反轉(zhuǎn)。我們通過(guò) Canny 等線稿類的預(yù)處理器提取得到的預(yù)覽圖都是黑底白線,但大部分的傳統(tǒng)線稿都是白底黑線,為方便使用,很多時(shí)候我們需要將兩者進(jìn)行顏色轉(zhuǎn)換,傳統(tǒng)做法都是導(dǎo)出到 PS 等工具進(jìn)行額外處理,非常繁瑣。而 ControlNet 中貼心的內(nèi)置了顏色反轉(zhuǎn)的預(yù)處理功能,可以輕松實(shí)現(xiàn)將手繪線稿轉(zhuǎn)換成模型可識(shí)別的預(yù)處理線稿圖。
理解了 invert 的功能,我們就知道該預(yù)處理器并非 Canny 獨(dú)有,而是可以配合大部分線稿模型使用。在最新版的 ControlNet 中,當(dāng)我們選擇 MLSD 直線、Lineart 線稿等控制類型時(shí),預(yù)處理器中都能看到它的身影,后續(xù)就不挨個(gè)贅述了。
有些預(yù)處理器在選擇后,下方會(huì)多出用于調(diào)節(jié)特征提取效果的特定參數(shù),比如當(dāng)我們選擇 canny(硬邊緣檢測(cè))時(shí),下方會(huì)增加 Canny low threshold 低閾值和 Canny high threshold 高閾值 2 項(xiàng)參數(shù)。
先給大家解釋下關(guān)于 canny 閾值參數(shù)的控制原理,以便你更好的理解其使用方法。在使用 canny 進(jìn)行預(yù)處理時(shí),提取的圖像像素邊緣線會(huì)被 2 個(gè)閾值參數(shù)劃分為強(qiáng)邊緣、弱邊緣和非邊緣 3 類,其中強(qiáng)邊緣會(huì)直接保留,而非邊緣的線稿會(huì)被忽略,處于中間弱邊緣范圍的線稿則會(huì)進(jìn)行計(jì)算篩選。
以下面這張圖為例,預(yù)處理過(guò)程中檢測(cè)到 3 條邊緣線,其中 D 點(diǎn)位于非邊緣區(qū)域,因此直接被排除,而 A 點(diǎn)位于強(qiáng)邊緣區(qū)域被保留。雖然 B、C 點(diǎn)都位于弱邊緣區(qū)域,但由于 B 點(diǎn)和 A 點(diǎn)是直接相連的,因此 B 點(diǎn)也被保留,而與 C 點(diǎn)相連的線全都位于弱邊緣區(qū)域所以被排除。由此得到畫面中最終被保留的邊緣線只有 AB 這條線。
理解了上面的概念,你也就知道閾值參數(shù)控制的實(shí)際上是邊緣線被識(shí)別的區(qū)間范圍,只要區(qū)間一致最終的線稿圖就會(huì)完全一樣。因此高低閾值參數(shù)之間實(shí)際上并沒有高低之分,低閾值的數(shù)值同樣可以比高閾值要大。
總結(jié)來(lái)看,Canny 高低閾值參數(shù)作用是控制預(yù)處理時(shí)提取線稿的復(fù)雜程度,兩者的數(shù)值范圍都限制在 1~255 之間。
下圖中我們可以看到不同密度的預(yù)處理線稿圖對(duì)繪圖結(jié)果的影響,密度過(guò)高會(huì)導(dǎo)致繪圖結(jié)果中出現(xiàn)分割零碎的斑塊,但如果密度太低又會(huì)造成控圖效果不夠準(zhǔn)確,因此我們需要調(diào)節(jié)閾值參數(shù)來(lái)達(dá)到比較合適的線稿控制范圍。
②MLSD 直線邊緣
下面我們?cè)賮?lái)看第二種控圖類型:MLSD 直線。MLSD 提取的都是畫面中的直線邊緣,在下圖中可以看到 mlsd(M-LSD 直線線條檢測(cè))預(yù)處理后只會(huì)保留畫面中的直線特征,而忽略曲線特征。
因此 MLSD 多用于提取物體的線型幾何邊界,最典型的就是幾何建筑、室內(nèi)設(shè)計(jì)、路橋設(shè)計(jì)等領(lǐng)域。
MLSD 預(yù)處理器同樣也有自己的定制參數(shù),分別是 MLSD Value Threshold 強(qiáng)度閾值和 MLSD Distance Threshold 長(zhǎng)度閾值。MLSD 閾值控制的是 2 個(gè)不同方向的參數(shù):強(qiáng)度和長(zhǎng)度,它們的數(shù)值范圍都是 0~20 之間。
Value 強(qiáng)度閾值用于篩選線稿的直線強(qiáng)度,簡(jiǎn)單來(lái)說(shuō)就是過(guò)濾掉其他沒那么直的線條,只保留最直的線條。通過(guò)下面的圖我們可以看到隨著 Value 閾值的增大,被過(guò)濾掉的線條也就越多,最終圖像中的線稿逐漸減少。
Distance 長(zhǎng)度閾值則用于篩選線條的長(zhǎng)度,即過(guò)短的直線會(huì)被篩選掉。在畫面中有些被識(shí)別到的短直線不僅對(duì)內(nèi)容布局和分析沒有太大幫助,還可能對(duì)最終畫面造成干擾,通過(guò)長(zhǎng)度閾值可以有效過(guò)濾掉它們。不過(guò)該參數(shù)對(duì)線稿密度的影響沒有那么明顯,在下圖中可以看到在極值情況下會(huì)有少部分線條被過(guò)濾掉。
③Lineart 線稿
Lineart 同樣也是對(duì)圖像邊緣線稿的提取,但它的使用場(chǎng)景會(huì)更加細(xì)分,包括 Realistic 真實(shí)系和 Anime 動(dòng)漫系 2 個(gè)方向。
在 ControlNet 插件中,將 lineart 和 lineart_anime2 種控圖模型都放在「Lineart(線稿)」控制類型下,分別用于寫實(shí)類和動(dòng)漫類圖像繪制,配套的預(yù)處理器也有 5 個(gè)之多,其中帶有 anime 字段的預(yù)處理器用于動(dòng)漫類圖像特征提取,其他的則是用于寫實(shí)圖像。
在下圖中我們可以看到,Canny 提取后的線稿類似電腦繪制的硬直線,粗細(xì)統(tǒng)一都是 1px 大小,而 Lineart 則是有的明顯筆觸痕跡線稿,更像是現(xiàn)實(shí)的手繪稿,可以明顯觀察到不同邊緣下的粗細(xì)過(guò)渡。
雖然官方將 Lineart 劃分為 2 種風(fēng)格類型,但并不意味著他們不能混用,實(shí)際上我們可以根據(jù)效果需求自由選擇不同的繪圖類型處理器和模型。
下圖中為大家展示了不同預(yù)處理器對(duì)寫實(shí)類照片上的處理效果,可以發(fā)現(xiàn)后面 3 種針對(duì)真實(shí)系圖片使用的預(yù)處理器 coarse、realistic、standard 提取的線稿更為還原,在檢測(cè)時(shí)會(huì)保留較多的邊緣細(xì)節(jié),因此控圖效果會(huì)更加顯著,而 anime、anime_denoise 這 2 種動(dòng)漫類則相對(duì)比較隨機(jī)。具體效果在不同場(chǎng)景下各有優(yōu)劣,大家酌情選擇使用。
為方便對(duì)比模型的控圖效果,選用一張更加清晰的手繪線稿圖分別使用 lineart 和 lineart_anime 模型進(jìn)行繪制,可以發(fā)現(xiàn) lineart_anime 模型在參與繪制時(shí)會(huì)有更加明顯的輪廓線,這種處理方式在二次元?jiǎng)勇蟹浅3R姡瑐鹘y(tǒng)手繪中描邊可以有效增強(qiáng)畫面內(nèi)容的邊界感,對(duì)色彩完成度的要求不高,因此輪廓描邊可以替代很多需要色彩來(lái)表現(xiàn)的內(nèi)容,并逐漸演變?yōu)閯?dòng)漫的特定風(fēng)格。可以看出 lineart_anime 相比 lineart 確實(shí)更適合在繪制動(dòng)漫系圖像時(shí)使用。
④SoftEdge 軟邊緣
Soft Edge 是一種比較特殊的邊緣線稿提取方法,它的特點(diǎn)是可以提取帶有漸變效果的邊緣線條,由此生成的繪圖結(jié)果畫面看起來(lái)會(huì)更加柔和且過(guò)渡自然。
在 SoftEdge 中提供了 4 種不同的預(yù)處理器,分別是 HED、HEDSafe、PiDiNet 和 PiDiNetSafe。
在官方介紹的性能對(duì)比中,模型穩(wěn)定性排名為 PiDiNetSafe > HEDSafe > PiDiNet > HED,而最高結(jié)果質(zhì)量排名 HED > PiDiNet > HEDSafe > PiDiNetSafe,綜合考慮后 PiDiNet 被設(shè)置為默認(rèn)預(yù)處理器,可以保證在大多數(shù)情況下都能表現(xiàn)良好。在下圖中我們可以看到 4 種預(yù)處理器的實(shí)際檢測(cè)圖對(duì)比。
下圖中分別使用不同預(yù)處理器進(jìn)行繪圖效果對(duì)比,體感上沒有太大差異,正常情況下使用默認(rèn)的 PiDiNet 即可。
⑤Scribble 涂鴉邊緣
Scribble 涂鴉,也可稱作 Sketch 草圖,同樣是一款手繪效果的控圖類型,但它檢測(cè)生成的預(yù)處理圖更像是蠟筆涂鴉的線稿,在控圖效果上更加自由。
Scribble 中也提供了 3 種不同的預(yù)處理器可供選擇,分別是 HED、PiDiNet 和 XDoG。通過(guò)下圖我們可以看到不同 Scribble 預(yù)處理器的圖像效果,由于 HED 和 PiDiNet 是神經(jīng)網(wǎng)絡(luò)算法,而 XDoG 是經(jīng)典算法,因此前兩者檢測(cè)得到的輪廓線更粗,更符合涂鴉的手繪效果。
再來(lái)看看選擇不同預(yù)處理器的實(shí)際出圖效果,可以發(fā)現(xiàn)這幾種預(yù)處理器基本都能保持較好的線稿控制。
⑥Seg 語(yǔ)義分割
Segmentation 的完整名稱是 Semantic Segmentation 語(yǔ)義分割,很多時(shí)候簡(jiǎn)稱為 Seg。和以上其他線稿類控制類型不同,它可以在檢測(cè)內(nèi)容輪廓的同時(shí)將畫面劃分為不同區(qū)塊,并對(duì)區(qū)塊賦予語(yǔ)義標(biāo)注,從而實(shí)現(xiàn)更加精準(zhǔn)的控圖效果。
觀察下圖我們可以看到,Seg 預(yù)處理器檢測(cè)后的圖像包含了不同顏色的板塊圖,就像現(xiàn)實(shí)生活中的區(qū)塊地圖。畫面中不同的內(nèi)容會(huì)被賦予相應(yīng)的顏色,比如人物被標(biāo)注為紅色、屋檐是綠色、路燈是藍(lán)色等,這樣限定區(qū)塊的方式有點(diǎn)類似局部重繪的效果,在生成圖像時(shí)模型會(huì)在對(duì)應(yīng)色塊范圍內(nèi)生成特定對(duì)象,從而實(shí)現(xiàn)更加準(zhǔn)確的內(nèi)容還原。
針對(duì)不同顏色色值表示的含義,我這邊已經(jīng)為大家整理好完整的色值語(yǔ)義標(biāo)注文檔,需要的小伙伴可以在文章結(jié)尾處獲取。
Seg 也提供了三種預(yù)處理器可供選擇:OneFormer ADE20k、OneFormer COCO、UniFormer ADE20k。尾綴 ADE20k 和 COCO 代表模型訓(xùn)練時(shí)使用的 2 種圖片數(shù)據(jù)庫(kù),而前綴 OneFormer 和 UniFormer 表示的是算法。
其中 UniFormer 是舊算法,但由于實(shí)際表現(xiàn)還不錯(cuò)依舊被作者作為備選項(xiàng)保留下來(lái),新算法 OneFormer 經(jīng)過(guò)作者團(tuán)隊(duì)的訓(xùn)練可以很好的適配各種生產(chǎn)環(huán)境,元素間依賴關(guān)系被很好的優(yōu)化,平時(shí)使用時(shí)建議大家使用默認(rèn)的 OneFormer ADE20k 即可。
再來(lái)看看不同預(yù)處理器的實(shí)際出圖效果,這里我們將環(huán)境由白天切換到黑夜,可以發(fā)現(xiàn)由于算法數(shù)據(jù)庫(kù)不同,可識(shí)別的物體會(huì)稍有差異,比如第二種算法 OneFormer COCO 對(duì)書店雨棚的還原效果不是很好。實(shí)際使用時(shí)大家也可以根據(jù)語(yǔ)義數(shù)據(jù)表自行填充色塊來(lái)標(biāo)識(shí)對(duì)應(yīng)的畫面元素。
2. 景深類
前面的輪廓類都是在二維平面角度的圖像檢測(cè),有沒有可以體現(xiàn)三維層面的控圖類型呢?這就不得不提景深類 ControlNet 模型了。景深一詞是指圖像中物體和鏡頭之間的距離,簡(jiǎn)單來(lái)說(shuō)這類模型可以體現(xiàn)元素間的前后關(guān)系,包括 Depth 深度和 NormalMap 法線貼圖這 2 種老牌模型。
①Depth 深度
深度圖也被稱為距離影像,可以將從圖像采集器到場(chǎng)景中各點(diǎn)的距離(深度)作為像素值的圖像,它可以直接體現(xiàn)畫面中物體的三維深度關(guān)系。學(xué)習(xí)過(guò)三維動(dòng)畫知識(shí)的朋友應(yīng)該聽說(shuō)過(guò)深度圖,該類圖像中只有黑白兩種顏色,距離鏡頭越近則顏色越淺(白色),距離鏡頭越近則顏色越深(黑色)。
Depth 模型可以提取圖像中元素的前后景關(guān)系生成深度圖,再將其復(fù)用到繪制圖像中,因此當(dāng)畫面中物體前后關(guān)系不夠清晰時(shí),可以通過(guò) Depth 模型來(lái)輔助控制。下圖中可以看到通過(guò)深度圖很好的還原了建筑中的空間景深關(guān)系。
Depth 的預(yù)處理器有四種:LeReS、LeReS++、MiDaS、ZoE,下圖中我們可以看到這四種預(yù)處理器的檢測(cè)效果。
對(duì)比來(lái)看,LeReS 和 LeReS++的深度圖細(xì)節(jié)提取的層次比較豐富,其中 LeReS++會(huì)更勝一籌。而 MiDaS 和 ZoE 更適合處理復(fù)雜場(chǎng)景,其中 ZoE 的參數(shù)量是最大的,所以處理速度比較慢,實(shí)際效果上更傾向于強(qiáng)化前后景深對(duì)比。
根據(jù)預(yù)處理器算法的不同,Depth 在最終成像上也有差異,下面案例中可以看到 MiDaS 算法可以比較完美的還原場(chǎng)景中的景深關(guān)系,實(shí)際使用時(shí)大家可以根據(jù)預(yù)處理的深度圖來(lái)判斷哪種深度關(guān)系呈現(xiàn)更加合適。
②NormalMap 法線貼圖
另一種可以體現(xiàn)景深關(guān)系的圖像叫 NormalMap 法線貼圖,要理解它的工作原理,我們需要先回顧下法線的概念。
我們?cè)谥袑W(xué)時(shí)期有學(xué)過(guò)法線,它是垂直與平面的一條向量,因此儲(chǔ)存了該平面方向和角度等信息。我們通過(guò)在物體凹凸表面的每個(gè)點(diǎn)上均繪制法線,再將其儲(chǔ)存到 RGB 的顏色通道中,其中 R 紅色、G 綠色、B 藍(lán)色分別對(duì)應(yīng)了三維場(chǎng)景中 XYX 空間坐標(biāo)系,這樣就能實(shí)現(xiàn)通過(guò)顏色來(lái)反映物體表面的光影效果,而由此得到的紋理圖我們將其稱為法線貼圖。由于法線貼圖可以實(shí)現(xiàn)在不改變物體真實(shí)結(jié)構(gòu)的基礎(chǔ)上也能反映光影分布的效果,被廣泛應(yīng)用在 CG 動(dòng)畫渲染和游戲制作等領(lǐng)域。
ControlNet 的 NormalMap 模型就是根據(jù)畫面中的光影信息,從而模擬出物體表面的凹凸細(xì)節(jié),實(shí)現(xiàn)準(zhǔn)確還原畫面內(nèi)容布局,因此 NormalMap 多用于體現(xiàn)物體表面更加真實(shí)的光影細(xì)節(jié)。下圖案例中可以看到使用 NormalMap 模型繪圖后畫面的光影效果立馬有了顯著提升。
NormalMap 有 Bae 和 Midas2 種預(yù)處理器,MiDaS 是早期 v1.0 版本使用的預(yù)處理器,官方已表示不再進(jìn)行維護(hù),平時(shí)大家使用默認(rèn)新的 Bae 預(yù)處理器即可,下圖是 2 種預(yù)處理器的提取結(jié)果。
當(dāng)我們選擇 MiDaS 預(yù)處理器時(shí),下方會(huì)多出 Background Threshold 背景閾值的參數(shù)項(xiàng),它的數(shù)值范圍在 0~1 之間。通過(guò)設(shè)置背景閾值參數(shù)可以過(guò)濾掉畫面中距離鏡頭較遠(yuǎn)的元素,讓畫面著重體現(xiàn)關(guān)鍵主題。下圖中可以看到,隨著背景閾值數(shù)值增大,前景人物的細(xì)節(jié)體現(xiàn)保持不變,但背景內(nèi)容逐漸被過(guò)濾掉。
對(duì)比 Bae 和 Midas 預(yù)處理器的出圖效果,也能看出 Bae 在光影反饋上明顯更勝一籌。
3. 對(duì)象類
終于到了我們大名鼎鼎的 OpenPose,作為唯一一款專門用來(lái)控制人物肢體和表情特征的關(guān)鍵模型,它被廣泛用于人物圖像的繪制。
①OpenPose 姿態(tài)
OpenPose 特點(diǎn)是可以檢測(cè)到人體結(jié)構(gòu)的關(guān)鍵點(diǎn),比如頭部、肩膀、手肘、膝蓋等位置,而將人物的服飾、發(fā)型、背景等細(xì)節(jié)元素忽略掉。它通過(guò)捕捉人物結(jié)構(gòu)在畫面中的位置來(lái)還原人物姿勢(shì)和表情。
在 OpenPose 中為我們內(nèi)置了 openpose、face、faceonly、full、hand 這 5 種預(yù)處理器,它們分別用于檢測(cè)五官、四肢、手部等人體結(jié)構(gòu)。
- openpose 是最基礎(chǔ)的預(yù)處理器,可以檢測(cè)到人體大部分關(guān)鍵點(diǎn),并通過(guò)不同顏色的線條連接起來(lái)。
- face 在 openpose 基礎(chǔ)上強(qiáng)化了對(duì)人臉的識(shí)別,除了基礎(chǔ)的面部朝向,還能識(shí)別眼睛、鼻子、嘴巴等五官和臉部輪廓,因此 face 在人物表情上可以實(shí)現(xiàn)很好的還原。
- faceonly 只針對(duì)處理面部的輪廓點(diǎn)信息,適合只刻畫臉部細(xì)節(jié)的場(chǎng)景。
- hand 相當(dāng)于在 openpose 基礎(chǔ)上增加了手部結(jié)構(gòu)的刻畫,可以很好的解決常見的手部變形問(wèn)題。
- full 是對(duì)以上所有預(yù)處理功能的集合,可以說(shuō)是功能最全面的預(yù)處理器。
想要將上面的處理器挨個(gè)記下十分麻煩,平時(shí)使用時(shí)建議直接選擇包含了全部關(guān)鍵點(diǎn)檢測(cè)的 full 預(yù)處理器即可。
除了基本的人體姿勢(shì),預(yù)處理器中包含了對(duì)人物五官和手部的結(jié)構(gòu)信息,因此 OpenPose 在處理表情和手部等人體細(xì)節(jié)上是很不錯(cuò)的控圖工具。
4. 重繪類
接著是最后的重繪類模型,在之前圖生圖篇我們有重點(diǎn)介紹過(guò)圖像重繪的功能,而在 ControlNet 中對(duì)圖像的重繪控制更加精妙,我們可以理解成這類重繪模型是對(duì)原生圖生圖功能的延伸和拓展。
①Inpaint 局部重繪
先來(lái)看看我們熟悉的局部重繪 ,ControlNet 中的 Inpaint 相當(dāng)于更換了原生圖生圖的算法,在使用時(shí)還是受重繪幅度等參數(shù)的影響。如下圖的案例中我們使用較低的重繪幅度,可以實(shí)現(xiàn)不錯(cuò)的真實(shí)系頭像轉(zhuǎn)二次元效果,且對(duì)原圖中的人物發(fā)型、發(fā)色都能比較準(zhǔn)確的還原。
想配合 ControlNet 使用局部重繪 ,同樣需要在圖生圖中進(jìn)行操作,在涂抹完蒙版并設(shè)置參數(shù)后,我們打開 ControlNet 選擇局部重繪控制項(xiàng)。注意在圖生圖板塊使用 ControlNet 的局部重繪時(shí)默認(rèn)無(wú)需再額外上傳圖片,ControlNet 會(huì)自動(dòng)讀取圖生圖中上傳的圖片。
下圖是圖生圖中局部重繪關(guān)閉和開啟 ControlNet 時(shí)的效果對(duì)比,同樣是在重繪幅度=1 的情況下,開啟 ControlNet 的畫面穩(wěn)定性會(huì)更強(qiáng),在和環(huán)境融合方面也可以處理的更好。
局部重繪這里提供了 3 種預(yù)處理器,Global_Harmonious、only 和 only+lama,通過(guò)下圖案例整體來(lái)看出圖效果上差異不大,但在環(huán)境融合效果上 Global_Harmonious 處理效果最佳,only 次之,only+lama 最差。
②Tile 分塊
Tile 可以說(shuō)是整個(gè)重繪類中最強(qiáng)大的一種模型,雖然還處于試驗(yàn)階段,但依舊給社區(qū)帶來(lái)了很多驚喜,因此值得我們多花點(diǎn)時(shí)間來(lái)好好介紹下它。
在 SD 開源這大半年中,繪制超分辨率的高清大圖一直是很多極客玩家的追求,但限于顯卡高昂的價(jià)格和算力瓶頸,通過(guò) WebUI 直出圖的方式始終難以達(dá)到滿意的目標(biāo)。后來(lái)聰明的開發(fā)者想到 Tile 分塊繪制的處理方法,原理就是將超大尺寸的圖像切割為顯卡可以支持的小尺寸圖片進(jìn)行挨個(gè)繪制,再將其拼接成完整的大圖,雖然繪圖時(shí)間被拉長(zhǎng),但極大的提升了顯卡性能的上限,真正意義上實(shí)現(xiàn)了小內(nèi)存顯卡繪制高清大圖的操作。
但這個(gè)過(guò)程中始終有個(gè)問(wèn)題困擾著很多開發(fā)者,那就是分塊后的小圖始終難以擺脫全局提示詞的影響。舉個(gè)例子,我們的提示詞是 1girl,當(dāng)圖像分割為 16 塊進(jìn)行繪制時(shí),每個(gè)塊都會(huì)被識(shí)別成一張獨(dú)立的圖片,導(dǎo)致每個(gè)塊中可能都會(huì)單獨(dú)繪制一個(gè)女孩。而 ControlNet Tile 巧妙的解決了這個(gè)問(wèn)題。在繪制圖像時(shí)啟用 Tile 模型,它會(huì)主動(dòng)識(shí)別單獨(dú)塊中的語(yǔ)義信息,減少全局提示的影響。具體來(lái)說(shuō),這個(gè)過(guò)程中 Tile 進(jìn)行了 2 種處理方式:
- 忽略原有圖像中的細(xì)節(jié)并生成新的細(xì)節(jié)。
- 如果小方塊的原有語(yǔ)義和提示詞不匹配,則會(huì)忽略全局提示詞,轉(zhuǎn)而使用局部的上下文來(lái)引導(dǎo)繪圖。
在之前圖生圖給大家介紹重繪幅度參數(shù)時(shí),有提到增大重繪幅度可以明顯提升畫面細(xì)節(jié),但問(wèn)題是一旦設(shè)定重繪幅度畫面內(nèi)容很容易就發(fā)生難以預(yù)料的變化,而配合 Tile 進(jìn)行控圖就能完美的解決這個(gè)問(wèn)題,因?yàn)?Tile 模型的最大特點(diǎn)就是在優(yōu)化圖像細(xì)節(jié)的同時(shí)不會(huì)影響畫面結(jié)構(gòu)。
基于以上特點(diǎn),ControlNet Tile 被廣泛用于圖像細(xì)節(jié)修復(fù)和高清放大,最典型的就是配合 Tile Diffusion 等插件實(shí)現(xiàn) 4k、8k 圖的超分放大,相較于傳統(tǒng)放大,Tile 可以結(jié)合周圍內(nèi)容為圖像增加更多合理細(xì)節(jié)。關(guān)于圖像放大還有很多玩法可以給大家介紹,后面會(huì)單獨(dú)給大家出一期文章。理論上來(lái)說(shuō),只要分得塊足夠多,配合 Tile 可以繪制任意尺寸的超大圖。
Tile 中同樣提供了 3 種預(yù)處理器:colorfix、colorfix+sharp、resample,分別表示固定顏色、固定顏色+銳化、重新采樣。下圖中可以看到三種預(yù)處理器的繪圖效果,相較之下默認(rèn)的 resample 在繪制時(shí)會(huì)提供更多發(fā)揮空間,內(nèi)容上和原圖差異會(huì)更大。
③InstructP2P 指導(dǎo)圖生圖
InstructP2P 的全稱為 Instruct Pix2Pix 指導(dǎo)圖生圖,使用的是 Instruct Pix2Pix 數(shù)據(jù)集訓(xùn)練的 ControlNet。它的功能可以說(shuō)和圖生圖基本一樣,會(huì)直接參考原圖的信息特征進(jìn)行重繪,因此并不需要單獨(dú)的預(yù)處理器即可直接使用。
下圖中為方便對(duì)比,我們將重繪幅度降低到 0.1,可以發(fā)現(xiàn)開啟 InstructP2P 后的出圖效果比單純圖生圖能保留更多有用細(xì)節(jié)。
IP2P 目前還處于試驗(yàn)階段,并不是一種成熟的 ControlNet 模型,平時(shí)使用并不多,大家大致了解其功能即可。
④Shuffle 隨機(jī)洗牌
隨機(jī)洗牌是非常特殊的控圖類型,它的功能相當(dāng)于將參考圖的所有信息特征隨機(jī)打亂再進(jìn)行重組,生成的圖像在結(jié)構(gòu)、內(nèi)容等方面和原圖都可能不同,但在風(fēng)格上你依舊能看到一絲關(guān)聯(lián)。
不同于其他預(yù)處理器,Shuffle 在提取信息特征時(shí)完全隨機(jī),因此會(huì)收到種子值的影響,當(dāng)種子值不同時(shí)預(yù)處理后的圖像也會(huì)是千奇百怪。
Shuffle 的使用場(chǎng)景并不多,因?yàn)樗目貓D穩(wěn)定性可以說(shuō)所有 ControlNet 模型中最差的一種,你可以將它當(dāng)作是另類的抽卡神器,用它來(lái)獲取靈感也是不錯(cuò)的選擇。
介紹完 14 種官方模型,下面我們?cè)賮?lái)看看一些常見的社區(qū)模型,由于沒有經(jīng)過(guò)系統(tǒng)測(cè)試和調(diào)整,這類模型可能存在質(zhì)量參差不齊的情況,且有些控制類型無(wú)需預(yù)處理器或無(wú) ControlNet 模型也能使用。
以下社區(qū)模型的使用頻率并不高,很多效果也是對(duì)現(xiàn)有功能的優(yōu)化或調(diào)整,大家大致了解其功能即可,如果有特定需求可以下載對(duì)應(yīng)模型進(jìn)行嘗試,其中有些已經(jīng)支持配合 SDXL 使用。
1. Reference 參考
Reference 使用時(shí)不需要使用模型,它的功能很簡(jiǎn)單,就是參考原圖生成一張新的圖像,想使用它需要將 ControlNet 更新到至少 v1.1.153 以上。
Reference 的實(shí)際效果類似 InstructP2P 的圖生圖,這里提供了 3 個(gè)預(yù)處理器 adain、adain+attn、only。其中 adain、adain+attn 是 V1.1.171 版本后新增的預(yù)處理器,其中 adain 表示 Adaptive Instance Normalization 自適應(yīng)實(shí)例規(guī)范化,+attn 表示 Attention 鏈接。
根據(jù)作者測(cè)試,adain+attn 使用的是目前最先進(jìn)的算法,但有時(shí)效果過(guò)于強(qiáng)烈,因此依舊建議使用默認(rèn)的 only 預(yù)處理。
Reference 啟用后下方會(huì)出現(xiàn) Style Fidelity 風(fēng)格保真度的參數(shù)項(xiàng),數(shù)值越大則畫面的穩(wěn)定性越強(qiáng),原圖的風(fēng)格保留痕跡會(huì)越明顯。
2. Recolor 重上色
Recolor 也是近期剛更新的一種 ControlNet 類型,它的效果是給圖片填充顏色,非常適合修復(fù)一些黑白老舊照片。但 Recolor 無(wú)法保證顏色準(zhǔn)確出現(xiàn)特定位置上,可能會(huì)出現(xiàn)相互污染的情況,因此實(shí)際使用時(shí)還需配合如打斷等提示詞語(yǔ)法進(jìn)行調(diào)整。
Recolor 無(wú)需配合模型使用,這里也提供了 intensity 和 luminance2 種預(yù)處理器,通常推薦使用 luminance,預(yù)處理的效果會(huì)更好。
Recolor 的參數(shù) Gamma Correction 伽馬修正用于調(diào)整預(yù)處理時(shí)檢測(cè)的圖像亮度,下圖中可以看到隨著數(shù)值增大,預(yù)處理后的圖像會(huì)越暗。
4. T2I-Adapter 文生圖適配器
T2I-Adapter 由騰訊 ARC 實(shí)驗(yàn)室和北大視覺信息智能學(xué)習(xí)實(shí)驗(yàn)室聯(lián)合研發(fā)的一款小型模型,它的作用是為各類文生圖模型提供額外的控制引導(dǎo),同時(shí)又不會(huì)影響原有模型的拓展和生成能力。名稱中 T2I 指的是的 text-to-image,即我們常說(shuō)的文生圖,而 Adapter 是適配器的意思。
T2I-Adapter 被集成在 ControlNet 中作為某一控制類型的選項(xiàng),但實(shí)際上它提供了 Lineart、Depth、Sketch、Segmentation、Openpose 等多個(gè)類型的控圖模型來(lái)使用。
T2I-Adapter 的特點(diǎn)是體積小,參數(shù)級(jí)只有 77M,但對(duì)圖像的控制效果已經(jīng)很好,且就在 9 月 8 日,它們針對(duì) SDXL 訓(xùn)練的控圖模型剛剛發(fā)布,是目前最推薦用于 SDXL 的 ControlNet 模型,但需要注意的是 SDXL 類模型對(duì)硬件要求較高,官方建議至少需要 15GB 的顯卡內(nèi)存,想體驗(yàn)的小伙伴可在下面地址中自行下載安裝到本地。
T2I-Adapter 控圖模型代碼倉(cāng)庫(kù)地址: https://huggingface.co/TencentARC/T2I-Adapter/tree/main/models
5. IP-Adapter 圖生圖適配器
IP-Adapter 是騰訊的另一個(gè)實(shí)驗(yàn)室 Tencent AI Lab 研發(fā)的控圖模型。名稱中的 IP 指的是 Image Prompt 圖像提示,它和 T2I-Adapter 一樣是一款小型模型,但是主要用來(lái)提升文生圖模型的圖像提示能力。IP-Adapter 自 9 月 8 日發(fā)布后收到廣泛好評(píng),因?yàn)樗谑褂脠D生圖作為參考時(shí),對(duì)畫面內(nèi)容的還原十分驚艷,效果類似 Midjourney 的 V 按鈕。它也同樣內(nèi)置了多種控圖模型,下圖中是官方提供的繪圖案例。
IP-Adapter 的參數(shù)級(jí)比 T2I-Adapter 更小,只有 22MB。IP-Adapter 也發(fā)布了針對(duì) SDXL_1.0 的控圖模型,感興趣的小伙伴可以通過(guò)下方的鏈接下載嘗試。
IP-Adapter 控圖模型代碼倉(cāng)庫(kù)地址: https://huggingface.co/h94/IP-Adapter
歡迎關(guān)注作者微信公眾號(hào):「樂伊體驗(yàn)筆記」
復(fù)制本文鏈接 文章為作者獨(dú)立觀點(diǎn)不代表優(yōu)設(shè)網(wǎng)立場(chǎng),未經(jīng)允許不得轉(zhuǎn)載。
發(fā)評(píng)論!每天贏獎(jiǎng)品
點(diǎn)擊 登錄 后,在評(píng)論區(qū)留言,系統(tǒng)會(huì)隨機(jī)派送獎(jiǎng)品
2012年成立至今,是國(guó)內(nèi)備受歡迎的設(shè)計(jì)師平臺(tái),提供獎(jiǎng)品贊助 聯(lián)系我們
AI輔助海報(bào)設(shè)計(jì)101例
已累計(jì)誕生 737 位幸運(yùn)星
發(fā)表評(píng)論 為下方 5 條評(píng)論點(diǎn)贊,解鎖好運(yùn)彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評(píng) ↓