什么是分割?
说到分割,其实有很多种类,但在 ComfyUI 的语境下,是指 制作由点、BBOX、蒙版・文本指定的客体形状的蒙版 的技术。
与抠图的区别
你可能会觉得它和抠图很像,但它们之间有以下巨大的区别。
-
抠图 (Matting)
- 以“前景”还是“背景”的二选一制作蒙版
-
分割 (Segmentation)
- 目的是抠出(制作蒙版)任意的物体
那么抠图是分割的下位替代吗?完全不是这样,本来作用就不一样。
- 偏向分类任务的分割
- 可以进行也能表现透明的高品质抠图的抠图技术
SAM
Introducing Meta Segment Anything Model 3 and Segment Anything Playground
在 ComfyUI 中提到“分割”时,实际被使用的几乎都是 SAM(Segment Anything)系的模型。
前面说目的是抠出(制作蒙版)任意的物体,但为了实现这一点,AI 必须在一定程度上理解“那个物体的形状”。
例如桌子上放着一个水果篮,如果想抠出苹果,如果不认识“苹果”的形状,就不知道把哪里算作苹果来处理。实现了这一点的就是 SAM。
主要模型
-
SAM
- Meta 发布的初期模型。
- 只需点击任意位置,就会返回该区域的蒙版。
-
- 以 SAM 为基础,提高了蒙版质量的派生模型。
-
SAM 2 / 2.1
- 支持视频。可以在视频中一边追踪相同的物体一边输出蒙版。
-
SAM 3
- 可能会变成可以用文本指定对象。
- 到目前为止,因为必须用点或 BBOX 指定对象,所以想要自动制作蒙版的话,必须与物体检测组合使用。
在 ComfyUI 中的用处
从抠图到 inpainting,在各种各样的场合都会使用。
此外,在 Segment Anything Playground 中,有许多模糊脸部、将背景变成黑白等的例子。(顺便说一下,这些大部分都可以在 ComfyUI 中重现。)

在 SAM 2.1 以前,因为无法用文本指定对象,所以经常与 Grounding DINO 或 Florence2 等物体检测组合使用。
SAM 3 虽然可以用文本指定,但在物体检测这层意义上,我认为今后也会出现超越 SAM 的模型,所以记住这个组合比较好。
补充:SAM 以前的分割
在教科书上,分割有如下分类。
-
语义分割 (Semantic Segmentation)
- 给每个像素加上“类标签”。
- person / sky / road / building 等。无论有多少人,全部作为“person”类汇总处理。
-
实例分割 (Instance Segmentation)
- 在语义的基础上,区分“每个个体的蒙版”。
- person_1 / person_2 / person_3 … 像这样个别分割。
SAM 就像是同时在做这两件事,这些在自动驾驶或监控摄像头领域至今也是重要的任务。
