万物分割(快速)

功能描述

该算子利用FastSAM(Fast Segment Anything Model)模型,根据用户提供的提示信息(如边界框、点或文本描述)对输入的图像进行快速实例分割。它可以识别并分割出图像中与提示相对应的物体区域。

使用场景

  • 交互式分割 : 当需要快速分割出图像中特定感兴趣的物体时,可以通过输入提示框、提示点或参数文字描述来引导模型进行分割。

  • 目标提取 : 用于从复杂背景中精确提取特定目标的轮廓信息。

  • 自动化标注辅助 : 可以作为自动化标注流程的一部分,通过简单的提示快速生成目标的初步分割掩码。

输入输出

输入项

图像: 需要进行分割的彩色图像(需要是RGB格式)。

提示点列表: 一个包含多个点坐标 [X, Y] 的列表,用于指示要分割的目标区域。例如,在目标上点击几个点。

提示框列表: 一个包含多个边界框坐标的列表,每个框由四个角点定义,用于框选要分割的目标区域。

输出项

检测结果: 包含分割结果的列表,每个结果代表一个分割出的实例,含有其包围框(可能是旋转框或水平框)、类别(默认为0或指定类别)、置信度分数和分割出的多边形轮廓。

参数说明

该算子依赖 Fastsam Python 库,如果您的环境尚未安装,请访问迁移内网的 pypi 源使用 pip install fastsam 进行安装。

  • 提示方式组合 : 可以同时使用多种提示方式(点、框、文字),模型会综合这些信息进行分割。如果只想使用某一种提示,确保其他提示输入为空或未连接。

  • 输入图像 : 确保输入的是彩色RGB图像。

  • 单图处理 : 当前算子实现仅支持一次处理一张图像。

  • 提示坐标 : 点提示和框提示输入的坐标应为图像像素坐标。

权重文件

参数说明

指定用于分割的FastSAM模型权重文件(通常是 .pt 格式)。必须选择一个有效的模型文件。

调参说明

选择与您任务需求和硬件能力相匹配的模型。通常较大的模型(如 FastSAM-x)精度更高但速度较慢,较小的模型(如 FastSAM-s)速度更快但精度可能稍低。

启用GPU

参数说明

选择是否使用 GPU 进行模型推理计算。如果勾选,需要确保计算机有可用的 NVIDIA 显卡及相应的 CUDA 环境。

调参说明

启用 GPU 可以大幅提升处理速度。如果无兼容GPU,应取消勾选(使用CPU)。

图像尺寸

参数说明

在送入模型进行分割前,输入图像会被缩放到的尺寸。

调参说明

较大的图像尺寸通常能带来更高的分割精度,但同时也会增加计算时间和显存/内存消耗。较小的尺寸则相反。常用的值有640, 1024等。需要根据具体应用场景在精度和速度之间进行权衡。

参数范围

默认值:640

置信阈值

参数说明

用于过滤FastSAM初步分割结果的置信度分数阈值,只有置信度高于此阈值的分割结果才会被保留。

调参说明

增大此值会使得分割结果更少,只保留模型非常确信的目标,可以减少误分割,同时加快后处理速度。减小此值会得到更多的分割结果,可能包含一些置信度较低的目标,但可能增加误分割和后处理时间。通常从默认值开始调整。

参数范围

[0, 1],默认值:0.5

重叠过滤阈值

参数说明

用于非极大值抑制(NMS)的交并比(Intersection over Union)阈值。当多个分割结果(掩码或框)重叠度超过此阈值时,置信度较低的结果会被抑制掉。

调参说明

增大此值允许更多重叠的结果并存,可能适用于目标密集且互相遮挡的场景。减小此值会更积极地去除重叠的结果,使得每个目标只输出一个最佳结果。默认值通常适用于大多数场景。

参数范围

[0, 1],默认值:0.9

类别名

参数说明

为输出的分割结果指定一个类别名称(ID)。FastSAM本身不区分具体类别,此参数用于后续处理(如过滤、统计)时标记这些分割结果。

调参说明

根据您的应用场景需要,为分割出的物体赋予一个有意义的类别ID。

参数范围

提供“0~29”的类别名选项,默认为0。

提示词

参数说明

输入文本描述,用于引导模型分割出与文字内容相关的物体。例如输入 "bag" 或 "red box"。

调参说明

尝试使用简洁、明确的名词或短语描述您想分割的目标。可以使用逗号分隔多个提示词。例如 "a blue car, the traffic light"。文本提示的效果依赖于模型的理解能力。

文字提示阈值

参数说明

当使用文本提示时,用于过滤基于文本相似度得分的分割结果的阈值。只有相似度得分高于此阈值的结果才会被保留。

调参说明

这是一个比较敏感的参数,需要根据实际效果调整。如果文本提示没有分割出期望的结果,可以尝试降低此阈值;如果分割出了很多不相关的结果,可以尝试提高此阈值。注意此阈值并非最终输出结果中的置信度分数,通常设置得较低。

参数范围

[0, 10],默认值:0.01