ComfyUI 魔法书 Logo
🏠 首页
👥 加群
🔥 报错不求人
😎 大帅比
登录 →
ComfyUI 魔法书 Logo
🏠 首页 👥 加群 🔥 报错不求人 😎 大帅比
登录
  1. 首页
  2. 🧩 插件工坊 (Plugin Workshop)
  3. ComfyUI segment anything插件安装使用教程 手把手教你玩转AI绘画

ComfyUI segment anything插件安装使用教程 手把手教你玩转AI绘画

0
  • 🧩 插件工坊 (Plugin Workshop)
  • 发布于 2025-06-28
  • 73 次阅读
编程界的小学生
编程界的小学生

【版权严正声明】

本文系作者 [编程界的小学生] 原创,并拥有完整、独立的著作权。

未经本人 书面授权 ,任何单位、平台或个人, 严禁 以任何形式(包括但不限于转载、复制、摘编、修改、链接、转贴、建立镜像等)使用本文的全部或部分内容。

任何无视本声明的侵权行为,本人将依据《中华人民共和国著作权法》等相关法律法规,采取一切必要的法律手段,追究其侵权责任,要求其 立即停止侵权、赔礼道歉、消除影响,并赔偿因此造成的一切经济损失及维权成本(包括但不限于律师费、诉讼费、公证费等)。

侵权必究,切勿以身试法!

1. 插件简介

插件地址: https://github.com/kijai/ComfyUI-segment-anything-2

这个插件是基于 Meta 公司最新的 SAM2(Segment Anything Model 2)技术开发的 ComfyUI 扩展。简单来说,它就像一个超级智能的"抠图神器",能够:

  • 智能识别物体:你只需要点击一下图片上的物体,它就能自动把整个物体完美地抠出来

  • 视频抠图:不仅能处理单张图片,还能对视频中的物体进行连续抠图

  • 自动批量抠图:一键自动识别图片中的所有物体并分别抠出来

  • 配合其他工具:可以和 Florence2 等其他 AI 工具配合使用,实现更智能的物体识别

想象一下,以前你用美图秀秀抠图需要小心翼翼地用橡皮擦一点点擦,现在你只需要在想要抠的物体上点一下,AI 就能帮你完美抠出来,就像有了一个专业的 PS 高手在帮你!

2. 如何安装

方法一:通过 ComfyUI Manager 安装(推荐)

  1. 打开 ComfyUI

  2. 点击右下角的 "Manager" 按钮

  3. 选择 "Install Custom Nodes"

  4. 搜索 "segment-anything-2" 或 "SAM2"

  5. 找到 "ComfyUI-segment-anything-2" 并点击安装

  6. 重启 ComfyUI

方法二:手动安装

  1. 打开终端/命令提示符

  2. 进入你的 ComfyUI 安装目录下的 custom_nodes 文件夹

  3. 运行命令:git clone https://github.com/kijai/ComfyUI-segment-anything-2.git

  4. 重启 ComfyUI

注意: 插件会自动从网上下载所需的 AI 模型文件,第一次使用时需要等待下载完成。

3. 节点详细解析

当前插件包含节点总数:6 个 本次输出节点数:6 个 剩余未输出节点数:0 个

3.1 DownloadAndLoadSAM2Model 节点

这个节点是干嘛的? 这就像是一个"模型管家",负责下载和加载 SAM2 的 AI 大脑。你可以把它想象成给你的抠图工具安装不同版本的"智能芯片",有的芯片速度快但精度一般,有的芯片慢一点但超级精准。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

model

model

sam2_hiera_base_plus.safetensors<br/>sam2_hiera_large.safetensors<br/>sam2_hiera_small.safetensors<br/>sam2_hiera_tiny.safetensors<br/>sam2.1_hiera_base_plus.safetensors<br/>sam2.1_hiera_large.safetensors<br/>sam2.1_hiera_small.safetensors<br/>sam2.1_hiera_tiny.safetensors

sam2_hiera_base_plus.safetensors

选择AI大脑的版本,就像选手机处理器一样

选择不同大小和版本的SAM2模型文件

tiny最快但精度低,large最慢但最精准,base_plus是平衡选择

segmentor

segmentor

single_image<br/>video<br/>automaskgenerator

single_image

选择抠图模式,就像选择相机的拍照模式

设置分割器类型:单图片、视频或自动批量模式

抠单张图选single_image,抠视频选video,自动抠所有物体选automaskgenerator

device

device

cuda<br/>cpu<br/>mps

cuda

选择用什么硬件来运行,就像选择用跑车还是自行车

设置运行设备:显卡、CPU或苹果芯片

有N卡选cuda最快,苹果电脑选mps,其他选cpu

precision

precision

fp16<br/>bf16<br/>fp32

fp16

选择计算精度,就像选择画笔的精细程度

设置浮点数精度:16位、bfloat16或32位

fp16速度快内存省,fp32最精确但慢,一般用fp16就够了

3.2 Sam2Segmentation 节点

这个节点是干嘛的? 这是核心的"抠图工人",它接收你的指令(比如你点击的位置或框选的区域),然后智能地把物体抠出来。就像一个超级听话的助手,你指哪它抠哪。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

sam2_model

sam2_model

SAM2MODEL类型

-

接收AI大脑,就像给工人配备工具

接收SAM2模型对象

连接DownloadAndLoadSAM2Model节点的输出

image

image

IMAGE类型

-

要处理的图片,就像给工人提供原材料

输入待分割的图像数据

连接LoadImage或其他图像节点

keep_model_loaded

keep_model_loaded

True/False

True

是否保持AI大脑常驻内存,就像是否让工人待命

处理完后是否保持模型在显存中

True可以加速连续处理,False可以节省显存

coordinates_positive

coordinates_positive

STRING类型

-

告诉AI"我要这里"的点击位置

正向提示点的坐标信息

格式如[{"x": 100, "y": 200}],表示要包含的区域

coordinates_negative

coordinates_negative

STRING类型

-

告诉AI"我不要这里"的排除位置

负向提示点的坐标信息

格式同上,表示要排除的区域,用来修正抠图结果

bboxes

bboxes

BBOX类型

-

框选区域,就像用矩形框圈出要抠的物体

边界框坐标信息

通常来自Florence2等物体检测工具

individual_objects

individual_objects

True/False

False

是否把每个物体单独抠出来

是否为每个对象生成独立的掩码

True会为每个点击位置生成单独的抠图结果

mask

mask

MASK类型

-

已有的抠图结果,用来进一步优化

输入的掩码用于引导分割

可以基于之前的抠图结果进行改进

3.3 Florence2toCoordinates 节点

这个节点是干嘛的? 这是一个"翻译官",它把 Florence2 AI 识别出的物体信息翻译成 SAM2 能理解的坐标格式。就像把中文地址翻译成GPS坐标一样。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

data

data

JSON类型

-

Florence2识别出的物体信息,就像一份物体清单

Florence2输出的检测结果数据

连接Florence2Run节点的data输出

index

index

STRING类型

"0"

选择要处理哪个物体,就像从清单中选择第几项

指定要转换的检测结果索引

"0"表示第一个物体,"0,1,2"表示前三个物体

batch

batch

True/False

False

是否批量处理多张图片

是否对批次中的所有图像进行处理

True会处理所有图片中的对应物体

3.4 Sam2VideoSegmentationAddPoints 节点

这个节点是干嘛的? 这是视频抠图的"指挥官",专门用来在视频的某一帧上添加点击指令。就像在视频播放时暂停,然后在画面上点击要抠的物体。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

sam2_model

sam2_model

SAM2MODEL类型

-

视频抠图专用的AI大脑

配置为video模式的SAM2模型

必须是segmentor设为video的模型

coordinates_positive

coordinates_positive

STRING类型

-

在视频帧上点击"要这里"的位置

正向提示点坐标

格式如[{"x": 100, "y": 200}]

frame_index

frame_index

INT类型

0

在第几帧上添加点击,就像选择视频的第几秒

指定添加提示点的帧索引

0表示第一帧,10表示第11帧

object_index

object_index

INT类型

0

给这个物体编号,用来区分不同物体

分配给对象的唯一标识符

0表示第一个物体,1表示第二个物体

image

image

IMAGE类型

-

视频帧图像数据

视频序列的图像数据

通常来自视频加载节点

coordinates_negative

coordinates_negative

STRING类型

-

在视频帧上点击"不要这里"的位置

负向提示点坐标

用来排除不想要的区域

prev_inference_state

prev_inference_state

SAM2INFERENCESTATE类型

-

之前的处理状态,用来连续处理

前一步的推理状态信息

用于链式连接多个添加点操作

3.5 Sam2VideoSegmentation 节点

这个节点是干嘛的? 这是视频抠图的"执行者",在你添加完所有点击指令后,它会自动处理整个视频,把每一帧中的目标物体都抠出来。就像按下"开始处理"按钮。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

sam2_model

sam2_model

SAM2MODEL类型

-

视频抠图专用的AI大脑

配置为video模式的SAM2模型

连接DownloadAndLoadSAM2Model节点

inference_state

inference_state

SAM2INFERENCESTATE类型

-

包含所有点击指令的状态信息

包含提示点和对象信息的推理状态

连接Sam2VideoSegmentationAddPoints节点的输出

keep_model_loaded

keep_model_loaded

True/False

True

处理完后是否保持AI大脑在内存中

是否保持模型加载状态

True可以加速后续处理,False节省显存

3.6 Sam2AutoSegmentation 节点

这个节点是干嘛的? 这是一个"全自动抠图机器",不需要你手动点击,它会自动识别图片中的所有物体并全部抠出来。就像一键美颜一样,一键就能把图片中的所有东西都分别抠出来。

参数详解:

参数名 (UI显示)

参数名 (代码里)

参数值

建议值

通俗解释 (能干嘛的)

专业解释

怎么用/举个例子

sam2_model

sam2_model

SAM2MODEL类型

-

自动抠图专用的AI大脑

配置为automaskgenerator模式的SAM2模型

必须是segmentor设为automaskgenerator的模型

image

image

IMAGE类型

-

要自动抠图的图片

输入图像数据

连接LoadImage或其他图像节点

points_per_side

points_per_side

INT类型

32

每边放多少个检测点,就像撒网的密度

每边生成的提示点数量

数值越大检测越细致但速度越慢

points_per_batch

points_per_batch

INT类型

64

每次处理多少个点,就像每次吃几口饭

批处理的点数量

影响显存使用和处理速度

pred_iou_thresh

pred_iou_thresh

FLOAT类型

0.8

抠图质量阈值,就像设置及格分数线

预测IoU阈值

0.8表示抠图准确度要达到80%才保留

stability_score_thresh

stability_score_thresh

FLOAT类型

0.95

抠图稳定性要求,就像要求结果要稳定

稳定性分数阈值

越高要求抠图结果越稳定

stability_score_offset

stability_score_offset

FLOAT类型

1.0

稳定性计算的偏移量

稳定性分数计算偏移

用于调整稳定性评估的基准

mask_threshold

mask_threshold

FLOAT类型

0.0

抠图二值化阈值,就像调节黑白照片的对比度

掩码二值化阈值

决定哪些像素被认为是前景

crop_n_layers

crop_n_layers

INT类型

0

裁剪层数,用来处理大图片

图像裁剪的层数

0表示不裁剪,大于0会分块处理大图

box_nms_thresh

box_nms_thresh

FLOAT类型

0.7

去除重复框的阈值,就像去重复

边界框非极大值抑制阈值

用来去除重叠的检测框

crop_nms_thresh

crop_nms_thresh

FLOAT类型

0.7

裁剪区域去重阈值

裁剪区域的NMS阈值

用于裁剪模式下的重复去除

crop_overlap_ratio

crop_overlap_ratio

FLOAT类型

0.34

裁剪块之间的重叠比例

裁剪块重叠比例

确保裁剪边界处的物体不被遗漏

crop_n_points_downscale_factor

crop_n_points_downscale_factor

INT类型

1

裁剪时点数缩放因子

裁剪时的点数下采样因子

用来在裁剪模式下调整检测点密度

min_mask_region_area

min_mask_region_area

FLOAT类型

0.0

最小抠图区域大小,过滤掉太小的物体

最小掩码区域面积

小于这个值的抠图结果会被过滤掉

use_m2m

use_m2m

True/False

False

是否使用mask-to-mask优化

是否启用掩码到掩码的优化

True可以提高质量但会增加计算时间

keep_model_loaded

keep_model_loaded

True/False

True

处理完后是否保持AI大脑在内存中

是否保持模型加载状态

True可以加速连续处理

4. 使用技巧和建议

4.1 模型选择建议

  • 新手推荐:sam2_hiera_base_plus.safetensors,平衡了速度和精度

  • 追求速度:sam2_hiera_small.safetensors 或 tiny 版本

  • 追求精度:sam2_hiera_large.safetensors

  • 最新功能:优先选择 sam2.1 版本,功能更完善

4.2 硬件配置建议

  • 显卡内存 < 6GB:选择 tiny 或 small 模型,precision 用 fp16

  • 显卡内存 6-12GB:可以用 base_plus 模型

  • 显卡内存 > 12GB:可以放心使用 large 模型

4.3 抠图技巧

  1. 单张图片抠图:

    • 先用 single_image 模式

    • 在物体中心点击作为正向坐标

    • 如果抠图包含了不想要的部分,添加负向坐标排除

  2. 批量自动抠图:

    • 使用 automaskgenerator 模式

    • 调整 points_per_side 来控制检测密度

    • 用 min_mask_region_area 过滤掉太小的物体

  3. 视频抠图:

    • 使用 video 模式

    • 在关键帧上添加点击指令

    • AI 会自动跟踪整个视频序列

4.4 与其他插件配合

  • 配合 Florence2:先用 Florence2 识别物体,再用 SAM2 精确抠图

  • 配合 ControlNet:抠出的 mask 可以用作 ControlNet 的控制信号

  • 配合 Inpainting:抠图后可以用修复模型填补背景

5. 常见问题解答

Q1: 为什么第一次使用很慢?

A: 插件需要从网上下载 AI 模型文件,文件比较大(几个GB),下载完成后就会很快了。

Q2: 显存不够怎么办?

A:

  • 选择更小的模型(tiny 或 small)

  • 设置 keep_model_loaded 为 False

  • 降低 precision 到 fp16

  • 减少 points_per_batch 数值

Q3: 抠图不准确怎么办?

A:

  • 尝试添加负向坐标排除不想要的区域

  • 使用更大的模型(base_plus 或 large)

  • 调整 pred_iou_thresh 阈值

  • 确保点击位置在物体中心

Q4: 视频抠图效果不连贯?

A:

  • 在多个关键帧上添加点击指令

  • 确保使用 video 模式而不是 single_image

  • 视频质量要足够清晰

Q5: 自动抠图抠出太多小物体?

A:

  • 增加 min_mask_region_area 值过滤小物体

  • 提高 pred_iou_thresh 阈值

  • 减少 points_per_side 降低检测密度

6. 实际应用场景

6.1 电商产品图处理

使用自动抠图功能快速去除产品背景,批量处理商品图片。

6.2 视频内容创作

对视频中的人物或物体进行抠图,用于换背景或特效制作。

6.3 图像合成

精确抠出图像中的特定元素,用于创意合成和设计。

6.4 数据标注

为机器学习项目快速生成高质量的分割标注数据。

7. 总结

ComfyUI-segment-anything-2 插件是一个功能强大的智能抠图工具,它把复杂的 AI 技术包装成了简单易用的节点。无论你是新手还是专业用户,都能通过合理的参数配置获得满意的抠图效果。

记住几个关键点:

  • 选择合适的模型大小平衡速度和精度

  • 根据硬件配置调整参数

  • 善用正负向坐标提高抠图精度

  • 不同场景选择不同的分割模式

希望这份教程能帮助你快速上手这个强大的抠图工具!

标签: #插件 2338
相关文章

ComfyUI错误修复插件详解:轻松解决常见问题 2025-07-10 18:25

ComfyUI-CustomMenu插件使用教程:高效自定义工作流指南 2025-07-10 17:50

ComfyUI图像合并插件comfyui-merge使用教程 2025-07-03 22:44

ComfyUI 图像合并插件教程 (comfyui-merge) 1. 插件简介 这是一个专门用来合并图片的 ComfyUI 插件,就像用 PS 把多张图片叠在一起那样。它的特别之处在于你精确控制每张图片的混合方式。 GitHub 地址:https://github.com/LingSss9/com

ComfyUI WAN 2.2视频插件教程:万相AI提示词全攻略 2025-07-31 11:47

ComfyUI WAN 2.2视频插件教程:万相AI提示词实战指南 2025-07-29 20:10

ComfyUI HeyGem数字人插件教程:零基础快速精通指南 2025-07-22 14:10

目录

从节点基础到高阶工作流,我们为你绘制最清晰的 ComfyUI 学习路径。告别困惑,让每一次连接都充满创造的魔力,轻松驾驭 AI 艺术的无限可能。

  • 微信
  • B站
  • GitHub
Copyright © 2025 AIX All Rights Reserved. Powered by AIX.
隐私政策
津ICP备2024019312号