ComfyUI Segment Anything 图像分割工具使用指南
ComfyUI Segment Anything 是一个基于 GroundingDino 和 SAM(Segment Anything Model)的开源项目,能够通过语义字符串智能分割图像中的任意元素。该项目是 sd-webui-segment-anything 的 ComfyUI 版本,目前已经实现了最核心的图像分割功能。
项目概述
该项目通过整合 GroundingDino 的目标检测能力和 SAM 的图像分割能力,实现了基于文本描述的智能图像分割。在输入相同的情况下,输出与 sd-webui-segment-anything 保持高度一致。
环境配置
在开始使用前,请确保系统满足以下环境要求:
- Python 3.x
- pip 包管理工具
依赖安装
使用以下命令安装项目所需的 Python 依赖:
pip install -r requirements.txt
如果自动下载模型速度较慢,可以通过设置 HTTP_PROXY 和 HTTPS_PROXY 环境变量来使用代理加速下载。
模型准备
项目会自动下载所需的模型文件,您也可以选择手动下载以节省时间。
bert-base-uncased 模型
该模型将被自动下载到 ComfyUI 的模型目录中,具体路径为 models/bert-base-uncased。如果希望手动管理,可以将模型文件放置在此目录下。
GroundingDino 模型
GroundingDino 提供两种模型配置:
- GroundingDINO_SwinT_OGC(694MB):适用于一般场景的目标检测
- GroundingDINO_SwinB(938MB):提供更精确的检测效果
SAM 模型
SAM 模型系列包含多个版本:
- 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):移动端优化版本
核心功能模块
SAM 模型加载器
SAMModelLoader 类负责加载和管理 SAM 模型。用户可以从支持的模型列表中选择合适的模型进行加载。
GroundingDino 模型加载器
GroundingDinoModelLoader 类专门处理 GroundingDino 模型的加载和初始化。
图像分割处理
GroundingDinoSAMSegment 类是项目的核心处理模块,它通过以下步骤实现图像分割:
- 使用 GroundingDino 模型根据文本提示检测目标区域
- 通过 SAM 模型对检测到的区域进行精细分割
- 生成分割后的图像和对应的蒙版
蒙版处理工具
项目还提供了 InvertMask 和 IsMaskEmptyNode 等辅助工具,用于处理和分析分割结果。
使用流程
- 首先加载所需的 SAM 模型和 GroundingDino 模型
- 准备输入图像和文本提示
- 设置检测阈值参数
- 执行分割操作获取结果
项目特点
- 智能语义理解:能够理解自然语言描述并定位图像中的相应元素
- 高精度分割:结合两种先进模型,提供精确的分割效果
- 易于集成:作为 ComfyUI 的扩展节点,可以轻松集成到现有工作流中
- 多模型支持:支持多种模型配置,满足不同场景需求
通过本指南,您可以快速掌握 ComfyUI Segment Anything 的使用方法,为您的图像处理和 AI 创作项目增添强大的分割能力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考




