先前使用遮罩進行重繪工作時,雖然ComfyUI有提供簡單的畫布給使用者手繪出遮罩範圍,但是手繪的精度需要看使用者的功力與耐性,如果有大量作業需求時,手繪遮罩的效率極低,因此在工作流中加入自動產生遮罩的功能是必要之事。
自動化產生遮罩的幾個方法介紹如下:
上圖是使用 Impact Pack提供的節點搭建的自動產生遮罩工作流,包含以下節點:
其中UltralyticsDetectorProvider節點提供Face、Hand、Person三個模型,可以選擇想要產生Segment的範圍,再經過SEGS to MASK (Combined)的節點轉換成遮罩圖像,之後再將遮罩圖像輸入到重繪用的工作流,就可以重繪遮罩內的內容。
上圖是使用 Face Swap提供的節點搭建的自動產生遮罩工作流,包含以下節點:
因為Face Swap的主要功能是換臉,所以可選的只有臉、頭髮、脖子,而且產生的遮罩效果不是很好。
使用Allor Plugin提供的節點搭建的自動產生遮罩工作流,包含以下節點:
這個工作流其實是先對圖片去除背景,然後再轉換成遮罩使用。
在ImageSegmentation這個節點的Model提供多個不同的模型使用,因為都要另外下載,這邊不多做測試。
使用Segment Anything提供的節點搭建的自動產生遮罩工作流,包含以下節點:
這個工作流應用性最廣,可以透過提示詞去控制產生遮罩的範圍,不限於人物,透過GroundingDinoSAMSegment (segment anything)這個節點會產生一個在原始圖片上加入遮罩的圖片,也可以只輸出遮罩供其他節點使用。