2024-03-06|閱讀時間 ‧ 約 23 分鐘

ComfyUI 研究 - 製作透明背景素材

前言

這篇出現的原因是因為Layerdiffuse的發布。

專案網址:https://github.com/layerdiffusion/LayerDiffuse

節點網址:https://github.com/huchenlei/ComfyUI-layerdiffuse

Layerdiffse在我寫這篇[SPOT] TripoSR 圖生3D之前,在X(推特)上看到不少關注的帳號對這個專案感到驚豔,理由不外乎是可以改變業界生態之類的,畢竟一鍵生成透明背景素材對圖像設計從業人員而言,真的是很實用的功能。

在這個專案發布的幾天後,有人就為他寫好ComfyUI的節點,在ComfyUI-Manager也已經可以搜尋到,只要透過Manager安裝,再到節點所在資料夾開啟cmd,執行

pip install -r requirements.txt

安裝依賴項目,就可以順利執行了...嗎?

沒有哦,我在安裝完節點並更新完依賴項後,首次執行還要下載3.37G的必要模型。

其實不管使用ComfyUI還是WebUI,這些安裝外掛程式跟下載相關模型的過程一直是避無可避,還會時不時遇到報錯或缺少模型的情況。

所以這篇的目的是在不想要安裝新節點跟下載新模型的情況下,達到製作透明背景素材的目的。


工作流

下圖是我搭建好的工作流。


這個工作流使用到的節點如下:

  • Load Image
  • SAMModelLoader (segment anything)
  • GroudingDinoModelLoader (segment anything)
  • GroudingDinoSAMSegment (segment anything)
  • Image Rembg (Remove Background) (WAS node suite)
  • Preview Image\Save Image

注意選擇使用Segment Anything這個節點是因為我先前已經安裝過了,這個節點組使用上要注意SAMModelLoader這個節點在其他節點組也有一樣名稱的節點,但是一定要選擇使用後面有(segment anything)的節點搭配使用才不會出現報錯。

這個工作流只要丟任意圖片到Load Image,在GroudingDinoSAMSegment (segment anything)這個節點的prompt輸入想要保留的物件,就可以自動抓出想要的物件,然後將畫面中其他東西刪去並變成透明背景。


如果只是想要單純去背可以參考下圖的工作流。


這個工作流更加的簡潔,但是只能做到移除背景,不能選擇物件。

或是參考我之前寫過的這幾篇:

ComfyUI 研究 - 自動產生遮罩

ComfyUI 研究 - 移除物件

ComfyUI 研究 - 更換背景

其實應用的技巧都一樣,就是自動判定物件,產生遮罩,然後移除遮罩外的內容換上透明背景。


小結

這幾個星期生成式AI幾乎每天都有新的值得關注的事情發生,這篇有感於變化太快但學習的速度跟不上,勉強跟上了可能還會遇到軟硬體問題,因此催生了這篇文章。

如果讀者也遇到了跟我一樣的狀況,或許可以試著用現有的技術去重現新技術,說不定會有意外收獲。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.