🟠 大模型提示分割

功能描述

算子集成了Segment Anything Model大模型,即SAM模型,SAM能够根据用户提供的实时提示点和提示框,在无需额外训练的情况下,分割出图像中的任何物体。

  • 提示点:在目标物体上提供一个或多个点,引导模型进行分割。

  • 提示框:提供一个大致的包围盒,让模型分割框内的主要物体。

使用场景

适用于需要分割从未经训练的物体。

输入输出

输入项

图像:待执行分割的单张彩色图像。

提示点列表:一个包含N个(X,Y)像素坐标的列表,用于指定要分割物体上的一个或多个点。

提示框列表:一个或多个2D矩形框,用于提示模型分割框内的物体。

输出项

检测结果:检测实例列表。列表中每个元素都代表一个被分割出的物体,包含其由用户指定的类别、模型给出的置信度得分以及轮廓多边形。

参数说明

  • 本算子的运行依赖于Python库segment-anything,如果您的环境尚未安装,请使用pip install segment-anything命令进行安装。

  • 输入端的“提示点列表”和“提示框列表”至少需要提供一个,否则算子将无法执行。输入可以通过图像处理或者点云处理转换如点云包围框转2D包围框,点云点转像素点等节点等得到。

权重文件

参数说明

加载官方发布的SAM模型权重文件(.pth格式)。模型的大小决定了其精度、速度和资源消耗。 模型下载地址(内部网络):

调参说明

Base模型速度最快,资源占用最小,适用于对实时性要求高的场景;Large/Huge精度更高,但速度更慢,且需要更多的GPU显存,请根据实际应用需求来选择合适的模型文件。

启用GPU

参数说明

控制算子是使用CPU还是GPU进行计算。

调参说明

  • 开启(推荐):SAM模型计算量极大,尤其对于Large和Huge模型,几乎必须在GPU上运行才能获得可接受的性能。

  • 关闭:使用CPU进行计算,速度会非常慢。

置信阈值

参数说明

SAM会为每个生成的分割结果给出一个IOU预测分(可信度),通过此阈值过滤掉低于该分数的分割结果。

调参说明

  • 调高阈值:得到更可信的分割结果,但可能过滤掉一些正确的分割;

  • 调低阈值:筛选更宽松,,但可能引入更多错误的分割。

参数范围

[0,1],默认值:0.5

输出多个结果

参数说明

对于一个可能产生歧义的提示,模型可以生成多个逻辑上都合理的分割结果。

调参说明

  • 关闭(默认):对于单个提示,算子只输出模型认为最可信的那一个分割结果。

  • 开启:对于单个提示,算子将输出多个可能的分割结果(例如,一个物体、物体的一部分、包含该物体的更大整体)。

类别名称

参数说明

用于为最终输出的分割结果手动指定一个类别名称。

调参说明

SAM本身不认识任何具体物体,它分割出的结果的“类别”由此参数指定。