【版权严正声明】
本文系作者 [编程界的小学生] 原创,并拥有完整、独立的著作权。
未经本人 书面授权 ,任何单位、平台或个人, 严禁 以任何形式(包括但不限于转载、复制、摘编、修改、链接、转贴、建立镜像等)使用本文的全部或部分内容。
任何无视本声明的侵权行为,本人将依据《中华人民共和国著作权法》等相关法律法规,采取一切必要的法律手段,追究其侵权责任,要求其 立即停止侵权、赔礼道歉、消除影响,并赔偿因此造成的一切经济损失及维权成本(包括但不限于律师费、诉讼费、公证费等)。
侵权必究,切勿以身试法!
1. 插件简介
插件地址: https://github.com/storyicon/comfyui_segment_anything
这个插件就像是给 ComfyUI 装了一双"火眼金睛",能够智能识别和分割图片中的任何物体。想象一下,你有一张照片,里面有人、车、树、房子等各种东西,这个插件就能像魔法一样,把你想要的任何物体精确地"抠"出来,就像用剪刀沿着物体边缘完美剪切一样。
主要功能:
🎯 智能物体识别:只要你用文字描述想要的物体(比如"猫"、"汽车"、"人"),插件就能自动找到并框选出来
✂️ 精确分割抠图:找到物体后,能够像专业设计师一样精确地把物体从背景中分离出来
🎨 生成遮罩:创建黑白遮罩图,白色部分是你要的物体,黑色部分是背景,方便后续处理
能带来什么效果:
自动抠图,不用手动用橡皮擦慢慢擦
批量处理多张图片中的相同物体
为后续的图像合成、背景替换等操作提供精确的素材
2. 如何安装
方法一:通过 ComfyUI Manager 安装(推荐)
打开 ComfyUI Manager
搜索 "segment anything"
找到这个插件点击安装
重启 ComfyUI
方法二:手动安装
进入你的 ComfyUI 安装目录下的
custom_nodes文件夹打开命令行工具,执行:
git clone https://github.com/storyicon/comfyui_segment_anything.git进入插件文件夹:
cd comfyui_segment_anything安装依赖:
pip install -r requirements.txt重启 ComfyUI
注意: 插件会在第一次使用时自动下载所需的模型文件,这些文件比较大(几百MB到几GB),请确保网络连接稳定。
3. 节点详解
当前插件包含节点总数:5个 本次输出节点数:5个 剩余未输出节点数:0个
3.1 SAMModelLoader 节点 - SAM模型加载器
这个节点是干嘛的? 这就像是一个"工具箱管理员",负责准备和加载用于图像分割的专业工具。SAM(Segment Anything Model)是一个超级强大的图像分割模型,这个节点就是把这个"超级工具"准备好,让后面的节点可以使用。
参数详解:
可选的模型选项:
sam_vit_h (2.56GB)- 最大最精确的"剪刀",效果最好但最慢sam_vit_l (1.25GB)- 中等大小的"剪刀",平衡效果和速度sam_vit_b (375MB)- 小巧的"剪刀",速度快适合新手sam_hq_vit_h (2.57GB)- 高质量版本的大"剪刀"sam_hq_vit_l (1.25GB)- 高质量版本的中等"剪刀"sam_hq_vit_b (379MB)- 高质量版本的小"剪刀"mobile_sam(39MB)- 超小型"剪刀",适合配置较低的电脑
3.2 GroundingDinoModelLoader 节点 - 物体识别模型加载器
这个节点是干嘛的? 这就像是一个"侦探"的大脑,专门负责理解你说的话并在图片中找到对应的物体。比如你说"找猫",它就能在图片中准确定位所有的猫在哪里。
参数详解:
可选的模型选项:
GroundingDINO_SwinT_OGC (694MB)- 标准版"侦探",速度和精度平衡GroundingDINO_SwinB (938MB)- 升级版"侦探",更聪明但稍慢一些
3.3 GroundingDinoSAMSegment 节点 - 智能分割主节点
这个节点是干嘛的? 这是整个插件的"大脑中枢",把前面两个节点的能力结合起来。它先用"侦探"找到你要的物体在哪里,然后用"剪刀"精确地把物体抠出来。就像是一个全自动的抠图机器人。
参数详解:
3.4 InvertMask 节点 - 遮罩反转器
这个节点是干嘛的? 这就像是一个"黑白颠倒器"。如果你有一个遮罩,原来白色的地方(物体)变成黑色,黑色的地方(背景)变成白色。就像照片的"负片"效果。
参数详解:
3.5 IsMaskEmpty 节点 - 遮罩检查器
这个节点是干嘛的? 这就像是一个"质检员",检查遮罩是不是空的(全黑)。如果分割没有找到任何物体,遮罩就是空的,这个节点会告诉你"没找到"(返回1),如果找到了物体就返回"找到了"(返回0)。
参数详解:
输出说明:
返回
1= 遮罩是空的(没找到物体)返回
0= 遮罩不是空的(找到了物体)
4. 使用技巧和建议
4.1 模型选择建议
新手用户:选择
sam_vit_b+GroundingDINO_SwinT_OGC,速度快,效果够用追求质量:选择
sam_hq_vit_h+GroundingDINO_SwinB,效果最佳配置较低:选择
mobile_sam+GroundingDINO_SwinT_OGC,占用资源少
4.2 提示词(prompt)使用技巧
使用英文:效果比中文好,比如用 "person" 而不是"人"
简单明确:用 "cat" 而不是 "cute little cat"
多个物体:可以用 "person. car. tree." 这样的格式
常用词汇:person(人)、car(汽车)、dog(狗)、cat(猫)、tree(树)、building(建筑)
4.3 阈值(threshold)调节技巧
找不到物体:降低阈值到 0.2 或 0.1
误检太多:提高阈值到 0.4 或 0.5
默认值 0.3 适合大多数情况
4.4 工作流程建议
SAMModelLoader → 加载分割模型
GroundingDinoModelLoader → 加载检测模型
GroundingDinoSAMSegment → 连接上面两个模型 + 图片 + 提示词
IsMaskEmpty → 检查是否成功分割(可选)
InvertMask → 如果需要反转遮罩(可选)
5. 常见问题解答
Q1: 为什么第一次使用很慢?
A: 插件需要下载模型文件,这些文件很大(几百MB到几GB),下载完成后就会很快了。
Q2: 找不到我想要的物体怎么办?
A:
检查提示词是否正确(建议用英文)
降低 threshold 数值
尝试更具体的描述词
Q3: 分割效果不够精确怎么办?
A:
使用更大的 SAM 模型(如 sam_hq_vit_h)
调整 threshold 数值
确保图片质量清晰
Q4: 内存不够用怎么办?
A:
使用较小的模型(如 mobile_sam)
降低输入图片分辨率
关闭其他占用内存的程序
Q5: 可以同时分割多个不同的物体吗?
A: 可以,在 prompt 中用句号分隔,如 "person. car. dog."
Q6: 遮罩是黑白颠倒的怎么办?
A: 使用 InvertMask 节点可以轻松反转黑白。
6. 进阶应用场景
6.1 批量抠图
将多张图片输入,使用相同的提示词,可以批量处理相似物体的抠图。
6.2 背景替换
用这个插件分割出人物
用 InvertMask 得到背景遮罩
结合其他节点替换背景
6.3 物体计数
结合输出的遮罩信息,可以统计图片中特定物体的数量。
6.4 图像合成
精确的遮罩可以用于高质量的图像合成和特效制作。
7. 总结
这个插件就像是给 ComfyUI 装了一个智能助手,能够理解你的话并精确地从图片中"抠"出你想要的任何物体。虽然第一次使用需要下载模型文件比较慢,但一旦设置好,就能大大提高图像处理的效率和质量。
记住最重要的三点:
选对模型:新手用小模型,追求质量用大模型
写好提示词:用英文,简单明确
调好阈值:找不到降低,误检太多提高
希望这个教程能帮助你快速上手这个强大的插件!