大家好,我是三石。
這篇文章我準備了比較長的時間,因為我發現用好這個節點非常重要,希望能給大家帶來幫助。
今天給大家帶來的是另一個核心節點的梳理和講解,那就是 Latent,經過我不斷嘗試和研究,發現這個節點有點意思,用好了能收到意想不到的神奇效果,下面我們開始吧。
各個Latent
另外,本篇文章所有的工作流都已經梳理好,大家需要的可以聯系我哦。
Latent工作流
1.? Latent 理解
相信大家最開始接觸的應該是“空 Latent”,其實我跟大家一樣,剛接觸 comfyui 的時候,我就很納悶,這個“latent”到底是什么意思,隨著后面地不斷探索,我逐漸摸清了里面的道道。
首先,傳統地理解 latent 就是“潛空間”的意思,它是把具有相同像素分布規律的點集合在一起,然后通過“VAE 解碼器”進行解碼,最后輸出一張完整圖像,我們可以把“Latent”想象成一堆數字的集合,或者也可以想象成“數億個馬賽克小點”。
2. Latent 和 denoise(降噪)的關系
denoise 大家應該也不陌生了,他粗淺的理解就是“重繪幅度”,在“圖生圖”中,denoise 越高,重繪幅度越大,denoise 越低,重繪幅度越低,跟原圖也就越像。
我給大家舉個圖生圖的例子:
這是重繪幅度 1.0 的時候,輸出的面包跟原來的面包基本已經沒有任何關系了。
這是重繪幅度 0.64 的時候,可以看到跟原圖是比較相似的。
但是,到這里還不夠,我想幫助大家更好地理解 latent 和重繪幅度到底是怎么個關系,只有我們理解地越深刻,我們后面自由創作的可能性才越高。
現在我們可以這么理解 latent,他就是一片草地,prompt 這些詞匯組成的畫面是樹上飄下的花瓣,降噪是“拿走花瓣的多少”。
所以,當我們輸入一段描述詞之后,就好像在一塊草地上(Latent)鋪了一層新的花瓣,這些新的花瓣組合成了一幅全新的圖像,而 denoise 就好像上帝的那只手,他負責去拿走一些花瓣,花瓣拿的越多,底部的草地就露出的越多,也就更接近于原來的草地,也就相當于重繪幅度越低,反之,花瓣拿走地越少,重繪幅度就越高。
但是,我覺得這樣還是有理解成本,站在設計師的角度上思考,我覺得可以把“latent”直接理解成“畫布”或者“圖層”,這么一來,后面所有的各種類型的 latent,包括“復制 latent 批次”、“Latent 組合批次”、“Latent 旋轉、翻轉、裁剪”、“Latent 縮放”等就基本上都能更好地理解了。
說完了 Latent 的基本含義,我們可以再稍微詳細的梳理下各種不同類型的 Latent,我們可以看到 Comfyui 中已經做了大致的分類,如下:
在這里,我把上述 80%的 Latent 分成了 6 類,分別是
- 局部重繪:替換畫布中的某些元素
- 縮放:放大/縮小畫布
- 圖層切換:兩張畫布上下擺放位置切換
- 高級(圖層疊加):類似 photoshop 中的兩個畫布之間的疊加效果
- 圖層變換:畫布的旋轉、翻轉等
- 批處理:一次生成多張圖片
其他的 Latent 我們在遇到具體問題時候再進行分析即可,下面開始我們的關鍵章節,看看我們這 6 類 Latent 到底是有什么用。
1. 局部重繪
我幫助大家總結下“VAE 內補編碼器”和“設置 Latent 噪波遮罩”這兩種局部重繪的區別。
VAE 內補編碼器
這種局部重新繪制相當于是在遮罩的地方重新生成一張新的圖片,生成的圖片跟原來的圖片沒有關系,比如下面這張圖,新出的貓的羽毛顏色跟原來的麻雀的顏色沒有關系,所以適合生成那種跟原圖沒太大關聯的新元素。
設置 Latent 噪波遮罩
跟上面的不一樣,設置 Latent 噪波遮罩會參考原來圖片中的場景進行繪制,也就是在原圖的基礎上進行重繪,所以出來的圖片會更加柔和,過渡更加自然,適合局部微小調整。可以看下面這張圖。
2. 縮放
Latent 縮放
Latent 縮放也是一個比較實用的功能,我們可以把它理解成“畫布縮放”,也就是調整出圖的尺寸大小,經常用在圖生圖的工作流中,看下面的案例,我們把“Latent 縮放”的寬度和高度都調整成 512 像素,這樣出來的面包就變成了正方形,但是會壓縮掉。
其中“裁剪-center(中心)”的這個參數是確定裁剪的定位區域的,這里就是從中心區域開始進行裁剪,所以面包的的上下部分就看不到了。
這里有同學可能會問到,為什么模糊了呢?那是因為原圖尺寸是 912*1296,現在變成了 512*512,自然就模糊了。
而上面的“縮放方法”是不同的縮放模型,簡單理解就是如果這個縮放模型不好,就換一個,下面的第二張圖我做了 5 種不同縮放方法的效果對比。
5 種不同縮放方法的效果對比:
Latent 按系數縮放
“Latent 按系數縮放”的意思其實就是圖片等比縮放,他能自動獲取原圖片尺寸大小,然后進行放大或者縮小。
這個縮放功能有什么用呢?可以用在“超分”上,也就是提高畫面清晰度,下圖是整個放大的工作流,大家如果需要,也可以找我獲得哈。
當然,這是最最簡單的放大超分工作流,網上還有很多“高科技”,都可以進行圖片的超分,這里也是想要告訴大家“萬變不離其宗”,本質都是差不多的。因為這張原圖本身就已經很清晰了,所以放大之后看的對比不是很明顯,建議大家自己找張圖試一下,另外,細心的伙伴會發現放大之后的圖片跟原來有細微的差別,這是因為我們是最簡單的超分手段,所以會有瑕疵,后面我會跟大家詳細出一期專門講怎么超分的工作流,比圖模型超分法等,這里先知道原理即可。
3. Latent 圖層切換
Latent 復合
接下來是 Latent 圖層切換,這個就更簡單了,其實就是兩個圖層,哪個在上,哪個在下。
可以看下圖的示例,“源 latent”在上方,“目標 latent”在下方,非常好理解,這里有三個參數,幫大家解釋下:
X:源 Latent 的橫向位置
Y:源 Latent 的縱向位置
注意:xy 的其實位置是左上角(0,0)
羽化:源 Latent 的邊緣模糊程度
這是把羽化設置成 144 的效果,可以看出礦泉水的圖片周圍已經被羽化了。
Latent 遮罩復合
那 Latent 遮罩復合又是什么意思呢?其實就是多了個“蒙版”,我這里把礦泉水用“遮罩編輯器”打開,然后涂抹需要的部分,再連接到“Latent 遮罩復合”的“遮罩”,就能得到右邊的效果圖,這就類似于 photoshop 的 P 圖。
其中的第三個參數“拉伸原 Latent”,就是把蒙版出的圖案拉伸到“目標 latent”的尺寸大小。
那這個有什么用呢?通過“Latent 復合”,我們可以生出一張跟原來圖片類似布局的效果圖,大家可以看下面這個簡單的案例,新生的圖跟原圖在構圖上是十分類似的。
4. 高級(圖層疊加)
了解了復合節點,我們繼續學習 Latent 圖層疊加,這里包括四個,分別是相加,相減,相乘和插值,其實這個也很好理解,就是 photoshop 中的圖層之間的疊加等效果,我們一起來探究下吧。
Latent 相加
首先是相加,是不是跟 ps 差不多效果,是把 Latent2 中最亮的部分融合到 Latent1 中。
Latent 相減
這是 Latent 相減,是在 Latent1 中減去 Latent2 中最亮的區域 。
?Latent 相乘
Latent 相乘就是調整相加和相減的程度,這里我在“Latent 相減”中調高“Latent 相乘”的系數,可以發現暗部區域變強了。
那這有什么用呢?其實我也不是很清楚,但是我發現,這個東西可以出“驚喜”,我把剛剛的“Latent 相減”連到采樣器中,輸入提示詞“sunset”如果,發現沒有,就能得到一張很有意境的圖片,畫面的整個色調就是參考了我們的 Latent。
再比如下面這張,也不錯!
Latent 插值
最后一個是 “Latent 插值”,這個其實就類似透明度,但不是真正的透明度,他更像是把兩張圖做了融合處理,大家自己可以試一下。
這是插值出來的效果,還不錯吧。
5. 變換
接下來是最好理解的三個 Latent 節點,分別是旋轉、翻轉和裁剪,這個相信大家都不陌生,這里就通過案例直接看效果就行。
Latent 旋轉
分別可以順時針旋轉 90 度、180 度、和 270 度。
Latent 翻轉
分別可以水平翻轉和垂直翻轉
Latent 裁剪
可以把原圖裁剪成任意尺寸圖片:
6. Latent 批處理
空 Latent
這個節點非常好用,可以一次出好多張圖片,大大減少我們出圖的時間,我們來看下。
在問生圖的工作流當中,如果想同時生成多張圖,我們在“空 Latent”中增加批次來解決,比如下面設置“批次大小”為 5,就可以一口氣出 5 張不一樣的圖,這個還是非常有用的。
復制 Latent 批次
那么在圖生圖的工作流中,怎么一口氣生成多張呢?這里就要用到“復制 Latent 批次”節點了,在“次數”中設置數量為 4,就能出 4 張圖了。
Latent 組合批次
這個就是輸入 2 張圖,再分別輸出 2 張圖。
從批次獲取 Latent
這個需要講一下,他的作用是在出圖之后進行“挑圖”,2 個參數的意思是:
批次索引:從第幾張開始挑
長度:挑幾張
比如下面這個,出了 6 張圖,然后從第 3 張圖開始挑,挑后面的 2 張,所以得到了 4 和 5.
重設 Latent 批次
這個節點的意思,我理解是“一批一批地出圖”,像之前我們把“Latent 批次”次數設置為 4,那就是出 4 張圖,這 4 張圖是一張一張出的,但是如果用了“重設 Latent 批次”,就變成了“批次出圖”。
看下圖,我出了 5 張圖,“重設 Latent 批次”為 2,那他的出圖是(2 張,2 張,1 張),最后加起來等于 5 張,如果出圖為 20,“重設 Latent 批次”為 6,那出圖是(6、6、6、2)。而且網上說這種出圖的速度會快些,大家可以自己嘗試下哦。
好啦,今天的分享到這里就結束了,這篇文章主要是為了幫助大家梳理各個 Latent 的用途和用法,而且我發現,用好這個節點非常重要,因為它是圖生圖的關鍵流程,希望大家可以自己嘗試下,有時候會生出特別好看的圖片,就像文章中的案例還是很有意思的。
此外,Latent 內補、Latent 批處理和 Latent 縮放這三個的使用頻率是比較高的,需要重點了解下哦。
最后,依然祝大家出圖愉快,收獲驚喜!
喜歡地可以點個關注哦,讓我們互相學習,共同成長,我們評論區見!
復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。
發評論!每天贏獎品
點擊 登錄 后,在評論區留言,系統會隨機派送獎品
2012年成立至今,是國內備受歡迎的設計師平臺,提供獎品贊助 聯系我們
AI輔助海報設計101例
已累計誕生 752 位幸運星
發表評論 為下方 9 條評論點贊,解鎖好運彩蛋
↓ 下方為您推薦了一些精彩有趣的文章熱評 ↓