一.底層邏輯
在Comfyui里面,我們可以看到有著密密麻麻的各種各樣的節(jié)點(diǎn),但這些都是插件類的節(jié)點(diǎn),很多都是極少用到的,但這里面有5類基礎(chǔ)節(jié)點(diǎn),幾乎在每個工作流里面都是一定會用上的,下面我們來一一了解一下。
1.文生圖
大部分的工作流都是從基礎(chǔ)的文生圖開始擴(kuò)展
2.圖生圖
圖生圖與文生圖基本一樣,文生圖是給潛空間圖一個空的latent,用來定義生成圖片的大小。而圖生圖則是需要給到潛空間一張圖片做參考,而圖片無法直接給到潛空間,這時就需要在中間加個VAE編碼了。
Latent -> 經(jīng)過 KSampler 采樣器進(jìn)行去噪后的潛空間圖像
降噪 -> 需要注意的是圖生圖時,在這里降噪可以理解為重繪幅度
3.局部重繪
談到局部重繪就會牽扯到遮罩,也就是通過制作遮罩的方式對圖像的特點(diǎn)部分進(jìn)行處理。制作遮罩的工具有maskeditor(遮罩編輯器),或者segment anything(語義分割)等等!
3.1系統(tǒng)自帶局部重繪
comfyUI自帶的兩個重繪節(jié)點(diǎn)Laten噪波遮罩Set Latent Noise Mask,VAE內(nèi)補(bǔ)編碼器VAE Encode (for inpainting)有一個很大的缺點(diǎn)就是他們都會對全圖進(jìn)行重繪。無論蒙版多小,重繪時間和資源占用是根據(jù)整個圖片的大小來重繪的。導(dǎo)致對高分辨率圖片細(xì)節(jié)重繪時又慢又容易爆顯存。
在輸入圖片上右鍵選擇在遮罩編輯器打開Open in MakeEditor,將要重繪的面部給完全涂抹,之后進(jìn)行保存。
VAE內(nèi)補(bǔ)編碼器
Laten噪波遮罩+VAE,邊緣和原圖很難融合,不自然
comfyUI自帶的兩個圖生圖節(jié)點(diǎn)都不能很好的做到。
3.2 segment anything + BrushNet
【語義分割+局部重繪】
3.3 Impact Pack
那么換個思路,我們可以將高分辨率圖片的蒙版周圍區(qū)域剪切一部分,比如剪切一個512*512的區(qū)域來重繪,這樣既快,而且圖片和周圍的區(qū)域融合的也比較自然。
我們使用的是Impact Pack 插件(這插件功能很多也很強(qiáng)大,后面會出個專欄介紹他的所有功能,有興趣可以持續(xù)關(guān)注)
二.采樣類
1.K采樣器
該節(jié)點(diǎn)專門用于逐步減少潛在空間圖像中的噪聲,改善圖像質(zhì)量和清晰度。
把它拿出來第一個說就說明這個節(jié)點(diǎn)的重要性,所有的工作流都是圍繞著它來進(jìn)行擴(kuò)散的。
先從簡單的開始
輸入:
模型model -> 接收來自大模型的數(shù)據(jù)流 positive -> 接收經(jīng)過 clip 編碼后的正向提示詞的條件信息(CONDITIONING) negative -> 接收經(jīng)過 clip 編碼后的反向提示詞的條件信息(CONDITIONING) latent_image -> 接收潛空間圖像信息
輸入
輸出:
LATENT -> 經(jīng)過 KSampler 采樣器進(jìn)行去噪后的潛空間圖像
參數(shù):
隨機(jī)種seed -> 在去除圖像噪聲過程中使用的隨機(jī)數(shù)種子。種子數(shù)有限,影響噪聲生成的結(jié)果。
運(yùn)行后操作 -> 指定種子生成后的控制方式。 固定fixed 代表固定種子,保持不變;增加 increment 代表每次增加 1; 減少decrement 代表每次減少 1 ;隨機(jī)randomize 代表隨機(jī)選擇種子 。
步數(shù)steps -> 對潛在空間圖像進(jìn)行去噪的步數(shù)。步數(shù)越多,去除噪聲的效果可能越顯著。
CFG -> 提示詞引導(dǎo)系數(shù),表示提示詞對最終結(jié)果的影響程度。過高的值可能會產(chǎn)生不良影響。
采樣器 -> 選擇的采樣器名稱,不同的采樣器可以影響生成圖像的效果,大家可以根據(jù)需求進(jìn)行選擇和實(shí)驗(yàn)。
調(diào)度器scheduler -> 選擇的調(diào)度器名稱,影響生成過程中的采樣和控制策略,推薦配置可提供更好的結(jié)果。
降噪denoise -> 去噪或重繪的幅度,數(shù)值越大,圖像變化和影響越顯著。在高清修復(fù)等任務(wù)中,通常使用較小的值以保持圖像細(xì)節(jié)和質(zhì)量。
樣器+調(diào)度器參數(shù):
我們之前最熟悉的采樣器,有euler、dpmpp_2m,包括后來的ddpm、ddim、uni_pc和ipndm等。
采樣器:
采樣器有點(diǎn)多,看起來有點(diǎn)蒙逼。其實(shí)可以把它分成三類:
01歐拉: euler和heun 02dpm :所有以dpm開頭 03 其它類
對比測試
建立一個XY圖表,橫坐標(biāo)是步數(shù),從第5步開始,間隔四步,總共8個數(shù)值;縱坐標(biāo)是上面介紹的各種采樣器。
從上圖中不難發(fā)現(xiàn)如下規(guī)律:
·名字以a或sde結(jié)尾的,確實(shí)不會收斂,每一步選代圖像都會發(fā)生變化 ·euler,heun和ddim采樣器在第9步就已經(jīng)出圖,對于簡單圖來說,確實(shí)是又好又快。 ·dpmpp_2m和uni_pc采樣器在第14步出圖,其中dpmpp_2m在第18步開始收斂,效果很好 ·不要被dpm adaptive采樣器騙了,雖然第5步就已經(jīng)收斂,但是該采樣器速度特別慢。后續(xù)我又單獨(dú)進(jìn)行了測試,實(shí)際第2步就已經(jīng)收斂,但是速度很慢。 ·Ims采樣器表現(xiàn)最差。
如何選擇采樣器?
沒有最好的采樣器,只有最適合的采樣器。
如果想要穩(wěn)定可重現(xiàn)的圖像,請避免選擇任何祖先采樣器(名字以a或sde結(jié)尾的) 如果想要簡單的圖,建議選擇euler,heun(可以減少步驟以節(jié)省時間) 如果想快速生成質(zhì)量不錯的圖片,建議選擇dpmpp_2m(20-30步)、uni_pc(15-25步) 如果想要每次生成不一樣的圖像,可以選擇不收斂的祖先采樣器(名字里面帶a或sde)
調(diào)度器則就相對來得簡單些:
最常見的normal似乎已不太適用于FLUX生態(tài) 以往最常用的karras也在sgm_uniform、simple、ddim_uniform和beta出現(xiàn)后被慢慢淡化。 其中,ddim_uniform這個調(diào)度器,會隨著采樣的步數(shù),構(gòu)圖畫面會發(fā)生一定的變化,因?yàn)樗悬c(diǎn)像高級的調(diào)度器dpm一樣,是不收斂的,則出圖的多樣性隨機(jī)性會隨著步數(shù)增加更強(qiáng),變化更多。 對于調(diào)度器exponential,則較多用于擴(kuò)圖放大等情況。
國外有位大佬對Flux各種采樣器和調(diào)度器進(jìn)行組合測試出最適合的采樣模式。表格中的綠色標(biāo)記表示該組合可用,紅色標(biāo)記表示不可用。
推薦的采樣器和調(diào)度器組合:
euler + normal:適用于快速生成圖像,但細(xì)節(jié)可能不夠精細(xì)。(生成時間20s)
heunpp2 + ddim_uniform:適用于生成細(xì)節(jié)豐富的圖像,但速度較慢。(生成時間54s)
uni_pc +beta:適用于平衡速度和質(zhì)量,是大多數(shù)情況下的推薦選擇。(生成時間20s)
DPM2+ SIMPLE是我最近比較喜歡的組合,能夠提供非常好的圖片精細(xì)度。(生成時間37s)
DEIS+DDIM_UNIFORM是新出現(xiàn)的組合,非常好的把握光影明暗。(生成時間20s)
三.加載器
ComfyUI基礎(chǔ)節(jié)點(diǎn)中的加載器類別,加載器是工作流中各個模塊的生產(chǎn)力源頭,可以提供不同模型的加載。下面詳細(xì)介紹了trap point加載器、VA1加載器、LUA加載器、control加載器、clip視覺加載器、n clip trip point加載器、格萊根加載器和超網(wǎng)絡(luò)加載器的作用和使用方法。通過加載器可以方便地選擇不同的模型進(jìn)行加載和應(yīng)用,提高工作流的效率和靈活性。
所謂的加載器主要的作用就是給工作流提供各種不同模型的加載,大部分的工作流都是以大模型的加載作為起始輸入源來進(jìn)行展開的。
一個工作流里可能存在多個加載器,例如對圖片進(jìn)行放大,需要用到放大模型加載器。連接controlnet時需要controlnet加載器。
1.Checkpoint加載器
【加載大模型】
主要使用(簡易)版
節(jié)點(diǎn)功能:該節(jié)點(diǎn)用來加載checkpoint大模型,常用的大模型有sd1.0,sd1.5,sd2.0,sdxl等等。
輸入:
擴(kuò)散模型的路徑 **假如配置好了路徑文件,模型可自行選擇**
輸出:
MODEL -> 該模型用于對潛空間圖片進(jìn)行去噪
CLIP -> 返回與加載的檢查點(diǎn)關(guān)聯(lián)的CLIP模型。
VAE -> 返回與加載的檢查點(diǎn)關(guān)聯(lián)的VAE模型。用于對潛在空間的圖像進(jìn)行編碼和解碼。
注意:StableDIffusion大模型(checkpoint)內(nèi)置有CLIP和VAE模型。
2.VAE加載器
大模型都自帶有VAE,如果你不想使用大模型的VAE時,就可以新建一個VAE加載器
3.lora加載器
【預(yù)訓(xùn)練模型微調(diào)調(diào)整】
模型強(qiáng)度 -> 確定應(yīng)用于模型的LoRA調(diào)整的強(qiáng)度。更高的強(qiáng)度意味著更顯著的調(diào)整,可能導(dǎo)致模型行為的顯著變化,潛在地提高特定任務(wù)的性能。
CLIP強(qiáng)度 -> 與模型強(qiáng)度類似,更高的強(qiáng)度導(dǎo)致更明顯的變化,影響CLIP模型處理數(shù)據(jù)的方式。
串聯(lián)在大模型后面
多個lora時串聯(lián)下去就行
當(dāng)需要多個lora時,串聯(lián)下去比較麻煩,這時我們就可以使用lora堆節(jié)點(diǎn)
4.GLIGEN 加載器
【指定特定區(qū)域生成特定的內(nèi)容】注意不適用于SXDL,請使用SD1.5模型
將 GLIGEN 模型文件放在 ComfyUI/models/gligen 目錄中。
下載鏈接:
文本框 GLIGEN 模型允許您指定圖像中多個對象的位置和大小。要正確使用它,您應(yīng)該正常編寫提示,然后使用 GLIGEN 文本框應(yīng)用節(jié)點(diǎn)指定提示中某些對象/概念在圖像中的位置。
本地部署版也有了,可視化操控,更加方便。只能期待comfyUI版的插件能盡快出可視華化操作吧。
本地部署界面
5.放大模型加載器
【圖片放大時加載模型】
常見的放大算法有下面幾個:
· 無/None:單純的放大,不做任何優(yōu)化處理。
· Lanczos:使用加權(quán)平均插值方法,利用原始圖像自身的像素信息,增加圖像的細(xì)節(jié),從而提高圖像的分辨率。傳統(tǒng)的純數(shù)學(xué)算法,效果一般。
· Nearest:使用簡單的插值方法,基于最近鄰像素的值進(jìn)行插值,從而增加圖像的細(xì)節(jié)和提高分辨率。傳統(tǒng)的純數(shù)學(xué)算法,效果一般,還不如 Lanczos 的效果好。
· LDSR:基于深度學(xué)習(xí),通過使用輕量級的網(wǎng)絡(luò)結(jié)構(gòu)和殘差學(xué)習(xí),實(shí)現(xiàn)較高的超分性能和計(jì)算效率。適用于各種需要快速且準(zhǔn)確地提高圖像分辨率的應(yīng)用場景,如實(shí)時視頻處理、移動設(shè)備圖像處理等。
· ESRGAN:全稱Enhanced Super-Resolution Generative Adversarial Networks (增強(qiáng)超分生成對抗網(wǎng)絡(luò)),基于深度學(xué)習(xí)的超分辨率算法。增加了很多看上去很真實(shí)的紋理,但是有時可能會過度擬合,出現(xiàn)不好的效果。
· 4x-UltraSharp:基于ESRGAN做了優(yōu)化,比較適合處理真人。
· ESRGAN_4x:Real ESRGAN,完全使用純合成數(shù)據(jù)來盡量貼近真實(shí)數(shù)據(jù)進(jìn)行訓(xùn)練。騰訊貢獻(xiàn)。
· R-ESRGAN 4x+:基于Real ESRGAN的優(yōu)化模型,適合放大真實(shí)風(fēng)格的圖片,常用。
· R-ESRGAN 4x+ Anime6B:基于Real ESRGAN的優(yōu)化模型,適合放大動漫風(fēng)格的圖片,常用。這個模型是專供動畫使用的, 用在真人視頻會有很重的涂抹感
· ScuNET GAN:基于深度學(xué)習(xí),使用生成對抗網(wǎng)絡(luò)(GAN)進(jìn)行訓(xùn)練。主要用在提高圖像的視覺效果和感知質(zhì)量,例如在圖像增強(qiáng)、視頻處理等。
· ScuNET PSNR:基于深度學(xué)習(xí),使用均方誤差(PSNR)進(jìn)行訓(xùn)練。主要用在提高圖像的客觀質(zhì)量和準(zhǔn)確性,例如在醫(yī)學(xué)圖像分析、監(jiān)控視頻處理等。
· SwinIR_4x:使用Swin Transformer思想,基于自注意力機(jī)制的Transformer結(jié)構(gòu),適合各種圖像的超分,比較通用。
04) 【Upscaler2】 用來避免 Upscaler1 過度處理的問題,比如磨皮太嚴(yán)重?梢允褂靡恍┢胀ǚ椒ㄋ惴ǎ热 Lanczos。Upscaler2 【可見度】是指圖片放大時使用 Upscaler2 算法進(jìn)行處理的比例,為0時完全不使用 Upscaler2,為1時只使用 Upscaler2。
算法模型下載:
算法模型下載?huggingface.co/uwg/upscaler/tree/main/ESRGAN
放到文件夾\models\upscale_models\
3)算法組合建議
放大算法1 與 放大算法2 的設(shè)置建議
想出圖銳度優(yōu)先:
· 放大算法1選擇「4x-UltraSharp」、「R-ESGAN 4x+」
· 放大算法2選擇「Lanczos」作為細(xì)節(jié)補(bǔ)充
想出圖細(xì)節(jié)優(yōu)先:
· 放大算法1選擇「Lanczos」
· 放大算法2選擇「Lanczos」作為銳度補(bǔ)充
4x-UltraSharp,BSRGAN,R-ESRGAN 4x+這3種算法放大效果還行,銳化有點(diǎn)嚴(yán)重,可以搭配放大算法2綜和一下,效果應(yīng)該會更好。
測試下來LDSR(效果認(rèn)為是最好的,但非常非常耗時,慎重考慮),R-ESRGAN 4x+ Anime6B(網(wǎng)上建議動漫圖片使用)
6.風(fēng)格模型加載器
【風(fēng)格遷移】
串聯(lián)在正向提示詞中間
看了很多大佬的視頻,發(fā)現(xiàn)單獨(dú)去學(xué)某一個節(jié)點(diǎn)的方法確實(shí)不可取,大家盡量不在踩坑了。還是去工作流中去學(xué)習(xí)與使用吧。但是了解一下各節(jié)點(diǎn)的作用還是有必要的。
四、條件類
加在模型與K采樣器中間,充當(dāng)指揮官,下達(dá)命令,設(shè)定生成條件。
五.插件類
1.segment anything
【扣圖、蒙版】
一天42小時:Comfyui實(shí)用工作流教程—產(chǎn)品背景隨意換8 贊同 · 0 評論文章
segment anything語義分割,在這里的作用就是摳圖使用?雌饋聿皇茄凼,像不像WebUI里的Inpaint anything的閹割版。
G-DinoSAM語義分割輸入:SAM模型、G-Dino模型和加載圖像;
提示詞 ->要選擇對象的名稱
閾值->提高識別的精度
輸出遮罩—>給到BrushNet的遮罩節(jié)點(diǎn)
缺點(diǎn):有些復(fù)雜的圖片對象比較難用關(guān)鍵詞去選取到對的對象,控制性不強(qiáng)。(人物識別沒有問題)這情況我們可以選擇使用PS扣圖后當(dāng)蒙版使用。
1.1.Inspyrenet-Rembg
【用于背景去除】
直接搜索并安裝,與其他方法相比,rembg 質(zhì)量更佳(快來嘗試一下。
可以將一批圖像作為輸入
針對圖像批處理進(jìn)行了優(yōu)化,成為最快的 rembg 節(jié)點(diǎn)(完美適用于視頻幀)
輸出圖像和相應(yīng)的蒙版
2.BrushNet
【局部重繪】
ComfyUI BrushNet 是一種先進(jìn)的圖像重繪模型。使用 BrushNet 進(jìn)行修復(fù)的準(zhǔn)確率和質(zhì)量遠(yuǎn)高于 ComfyUI 中的默認(rèn)重繪。
3.Controlnet
安裝那些不說了,大同小異,我是共享WebUI的。下載地址和各個模型的作用什么的可以參考我的另一篇專門講controlnet的文章:
一天42小時:ControlNet插件詳情教程【詳細(xì)入門介紹一篇就夠】26 贊同 · 2 評論文章
這里就講下它的工作流,個人也是比較奇怪,玩WebUI時,經(jīng)常會用controlnet,怎么感覺ComfyUI的工作流中反而用得不多呢?
4.Anything Everywhere
【省略連線】
該Anything Everywhere節(jié)點(diǎn)有一個輸入,最初標(biāo)記為“任何內(nèi)容”。將任何內(nèi)容連接到它(直接 - 而不是通過重新路由),輸入名稱將更改為與輸入類型匹配。斷開連接后,它將恢復(fù)為“任何內(nèi)容”。
當(dāng)您運(yùn)行提示時,工作流中任何位置與該類型匹配的任何未連接的輸入都將表現(xiàn)得好像連接到相同的輸入一樣。
實(shí)際上只是三個Anything Everywhere節(jié)點(diǎn)打包在一起。專為 Checkpoint Loader 的輸出而設(shè)計(jì)。
3
2
將鼠標(biāo)放在 Anything Everywhere 節(jié)點(diǎn)上,便會顯示出隱藏的連接線;如果沒有顯示連線,則可以在設(shè)置中更改顯示連線。
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。