上一次我們已經(jīng)介紹了如何通過代碼的方式使用ControlNet,Stable Diffusion WebUI里面包含了很詳細(xì)的使用設(shè)置,我們可以直接在上面進(jìn)行操作,所以本文將介紹如何以傻瓜的方式直接使用ControlNet。
如果你用過Stable Diffusion,可能已經(jīng)注意到圖像的輸出有無限的結(jié)果可能性,就像在賭博一樣,即使你輸入了如此復(fù)雜和精心設(shè)計(jì)的提示,控制AI的能力仍然是有限的。所以我們就需要一種在最大大程度上能控制輸出的方式。
ControlNet是斯坦福大學(xué)研究人員開發(fā)的Stable Diffusion的擴(kuò)展,使創(chuàng)作者能夠輕松地控制AI圖像和視頻中的對象。它將根據(jù)邊緣檢測、草圖處理或人體姿勢等各種條件來控制圖像生成。ControlNet可以概括為一種簡單的穩(wěn)定擴(kuò)散微調(diào)方法。
安裝插件
在Stable Diffusion WebUI,可以通過下面的標(biāo)簽使用:
如果你沒有看到這個標(biāo)簽,可以在最上方的 Extensions 進(jìn)行安裝,如下圖所示:
上面圖中的地址是:https://github.com/Mikubill/sd-webui-controlnet
安裝完后記得點(diǎn)擊 Apply and restart UI
打開 ControlNet標(biāo)簽,如下所示:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-MkKBnB2H-1680837397868)(null)]
這樣我們就可以在創(chuàng)建圖像時具有更高的精度和更好的控制。ControlNet的流行的原因是由于它使用簡單,一個特定的姿勢或形狀可以獲得很好的生成效果。
ControlNet功能介紹
安裝完成后,我們就開始介紹ControlNet的每個部分,介紹每個配置如何影響輸出。
在ControlNet Image復(fù)選框中,有幾個選項(xiàng):
- Enable :選中此框以啟用ControlNet。
- Invert Input Color:用于檢測用戶上傳的圖像。預(yù)處理器和模型通常需要在黑色圖像上使用白線來檢測(也就是灰度圖)。但如果你的圖是白色圖像上有一條黑線,可以使用這個工具來切換顏色。
- RGB to BGR :用于檢測用戶導(dǎo)入圖像中的顏色信息。有時圖像中的顏色信息可能與擴(kuò)展所期望的不同。如果您正在使用“法線映射”,則可以跳過此步驟
- Low VRAM:這將減緩ETA進(jìn)程,但有助于使用更少的計(jì)算空間(顯存小于6 GB VRAM建議使用)
- Guess Mode:ControlNet自動識別圖像(不需要提示和負(fù)面提示)與選定的預(yù)處理器,但是這個效果不一定好
Resize提供了調(diào)整ControlNet大小和上傳圖像的縱橫比。
- Envelope (Outer Fit):調(diào)整Txt2Image的大小以適應(yīng)ControlNet圖像的尺寸。它將調(diào)整圖像的大小,直到Txt2Image設(shè)置可以適合ControlNet圖像。
- Scale to Fit (Inner Fit):調(diào)整ControlNet圖像的大小以適應(yīng)Txt2Image的尺寸。它將調(diào)整圖像的大小,直到它能夠適應(yīng)Txt2Image設(shè)置的寬度和高度。
- Just Resize:不保留縱橫比的情況下,改變ControlNet圖像的大小以匹配Txt2Img設(shè)置的寬度和高度。這包括拉伸或壓縮圖像以適應(yīng)指定的尺寸。
Canvas Width 和 Canvas Height 提供手動創(chuàng)建繪圖或草圖以,不上傳任何圖像(最好使用 Scribble 預(yù)處理器以獲得良好的輸出)。它會調(diào)整空白畫布的大小來進(jìn)行繪制,不會影響上傳的原始圖像。
“Preview Annotator Result”能夠快速查看選擇的預(yù)處理器是如何將上傳的圖像或繪圖轉(zhuǎn)換為 ControlNet 的檢測圖。這對于在渲染輸出圖像之前嘗試各種預(yù)處理器特別有用,可以節(jié)省我們的時間。如果要刪除預(yù)覽圖像,可以單擊“Hide Annotator Result”選項(xiàng)。
Preprocessor 和Model 是ControlNet 的主要選項(xiàng)。根據(jù)所需的輸出,用戶可以選擇相應(yīng)的控制方法。每個預(yù)處理器都有自己的模型,模型的設(shè)計(jì)和命名都是一樣的。但是它并不限制你混合和匹配所有的預(yù)處理器和模型,但是混合多了就會產(chǎn)生負(fù)面效果,所以最好使用更加匹配的模型并且越少越好。下面我們介紹幾個著名的 ControlNet,并在下面舉例說明如何使用它。
常用的ControlNet
1、Canny邊緣檢測
Canny通過使用邊緣檢測器創(chuàng)建高對比度區(qū)域的輪廓來檢測輸入圖像。線條可以捕捉到非常詳細(xì)的信息,但如果你的圖像背景中有一些物體,它很可能會檢測到不需要的物體。所以背景中物體越少效果越好。用于此預(yù)處理器的最佳模型是control_sd15_canny。
2、Depth & Depth Leres
這個預(yù)處理器有助于生成輸入圖像的深度估計(jì)。深度通常用于控制圖像內(nèi)物體的空間定位。淺色區(qū)域意味著它離用戶更近,而深色區(qū)域則離用戶更遠(yuǎn)。
在大圖像時它可能會丟失圖像內(nèi)部的細(xì)節(jié)(面部表情等)。一般會與control_sd15_depth模型組合使用。Midas Resolution函數(shù)用于增加或減少detectmap中的大小和細(xì)節(jié)級別。它的級別越高,將使用更多的VRAM,但可以生成更高質(zhì)量的圖像,反之亦然。
Depth Leres有與Depth 相同的基本概念,但在地圖中包含更廣泛的范圍。但有時它會從圖片中捕獲了太多信息,可能會生成與原始圖像略有不同的圖像。所以最好先試用兩種預(yù)處理器,然后決定哪一種。
3、HED (Holistically-Nested Edge Detection)
Hed可以在物體周圍創(chuàng)建清晰和精細(xì)的邊界,輸出類似于Canny,但減少了噪聲和更柔軟的邊緣。它的有效性在于能夠捕捉復(fù)雜的細(xì)節(jié)和輪廓,同時保留細(xì)節(jié)特征(面部表情、頭發(fā)、手指等)。Hed預(yù)處理器可用于修改圖像的風(fēng)格和顏色。用于此預(yù)處理器的最佳模型是control_sd15_hed。
4、MLSD ( Mobile Line Segment Detection)
MLSD Preprocessor 最適合生成強(qiáng)有力的線條,這些線條能夠檢測出需要獨(dú)特和剛性輪廓的建筑和其他人造作品。但是它不適用于處理非剛性或彎曲的物體。MLSD適用于生成室內(nèi)布局或建筑結(jié)構(gòu),因?yàn)樗梢酝怀鲋本€和邊緣。用于此預(yù)處理器的最佳模型是control_sd15_mlsd。
5、Normal map
法線圖使用了三種主要顏色(紅、綠、藍(lán)),通過不同的角度來精確定位物體的粗糙度和光滑程度。它生成法線圖的基本估計(jì),可以保留相當(dāng)多的細(xì)節(jié),但可能會產(chǎn)生意想不到的結(jié)果,因?yàn)榉ň€圖完全來自圖像,而不是在3D建模軟件中構(gòu)建的。
法線圖有利于突出復(fù)雜的細(xì)節(jié)和輪廓,并且在定位對象方面也很有效,特別是在接近度和距離方面。“Normal Background Threshold”用于調(diào)整背景成分。設(shè)置一個更高的閾值可以移除背景的遠(yuǎn)處部分(將其混合成紫色)。降低閾值將命令A(yù)I保留甚至顯示額外的背景元素。用于此預(yù)處理器的最佳模型是control_sd15_normal。
6、OpenPose
這個預(yù)處理器生成了一個基本的骨骼火柴人形象。這種技術(shù)被廣泛采用,因?yàn)槎鄠€ OpenPose 骨架可以組合成一個圖像,這有助于引導(dǎo)穩(wěn)定擴(kuò)散生成多個一致的主題。骨架圖有很多關(guān)節(jié)點(diǎn),每個點(diǎn)代表如下圖所示
要優(yōu)化 OpenPose 的結(jié)果,建議上傳一張人體圖像(全身或半身)以及想要提取的姿勢。用于此預(yù)處理器的最佳模型是 control_sd15_openpose。
7、Scribble
涂鴉的目的是從簡單的黑白線條畫和草圖生成圖像。用戶也可以使用“Canvas”選項(xiàng)創(chuàng)建特定大小的空白畫布,用于手動素描(也可以直接上傳圖像)。如果草圖和繪圖由白色背景上的黑線組成,則需要選中“Invert Input Color”復(fù)選框。用于這個預(yù)處理器的最佳模型是control_sd15_openpose。
8、Segmentation
分割預(yù)處理器檢測并將上傳的圖像分割為同一圖像內(nèi)的段或區(qū)域。該模型在生成一組新的圖像時,將detectmap圖像應(yīng)用于文本提示。用于此預(yù)處理器的最佳模型是control_sd15_seg。
以上就是常用的ControlNet類型了。
總結(jié)
ControlNet是一個非常好的控制Stable Diffusion的方法,如果你想進(jìn)一步了解ControlNet,可以訪問這個鏈接:
https://avoid.overfit.cn/post/acbb609d015a40fc8d0cd26f8e215dd9
它基本上包含了ControlNet的所有資源。文章來源:http://www.zghlxwxcb.cn/news/detail-439858.html
作者:Antalpha.io文章來源地址http://www.zghlxwxcb.cn/news/detail-439858.html
到了這里,關(guān)于常用的ControlNet以及如何在Stable Diffusion WebUI中使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!