跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

Instance Segmentation vTool#

Instance Segmentation vTool 会在像素级别对图像中的对象进行分类,即根据您所选的模型检测对象并将每个像素与对象类关联。

Instance Segmentation vTool 可以对通过 Image 输入引脚接收到的图像中的对象进行分类。它通过 InferenceImage、Regions、Classes、BBoxes_px 和 Scores 输出引脚输出结果。

系统会在检测到的每个对象周围绘制一个边界框。与 Semantic Segmentation vTool 相比,实例分割允许您分割同一类别的各个实例。

如果您在分割前使用 ROI Creator vTool 指定感兴趣区域,则 Instance Segmentation vTool 会通过其 Roi 输入引脚接收 ROI 数据。在这种情况下,只会对感兴趣区域执行分割。作为一个附带效果,这会加快处理速度。

要购买 Instance Segmentation vTool 的许可证,请访问 Basler 网站。

Instance Segmentation vTool

运作原理#

假设您想对图像执行实例分割,以单独识别和分割每个人,不仅将他们与背景区分开来,还将他们互相区分开来。

这是您的输入图像,显示了六个儿童和背景中的高山风景:

显示六个儿童和背景高山风景的输入图像

您通过加载经过训练的模型来配置该 vTool,该模型通过识别和分离图像中的单个对象实例(在本例中为人员)来执行实例分割。

已选择 Instance Segmentation Bundle

接下来,您可以选择要检测和分割的类别。某些模型可能完全量身定制于您的用例。在这种情况下,所有所需的类别都已选中。

选择类别对话框

配置 vTool 后,运行启动推理过程的配方。vTool 利用该模型分析图像并分割其中的对象。分析完成后,将返回分割结果。它包括图像中检测到的每个不同实例的分割区域、边界框和标签。

这是引脚数据视图中的结果图像:

突出显示结果的 Instance Segmentation

六个人已被识别并分割为人员。分割区域采用颜色编码,以区分各个实例。

详细输出

  • Regions:已检测到六个区域。图像中的每个对象实例都作为不同的区域突出显示。这些区域彼此分隔并与背景分隔,从而可以清晰识别每个对象。
  • Class: person
    类标签 person 表明模型将边界框中的对象识别为人。
  • 边界框:边界框是围绕检测到的对象绘制的矩形。对于每个边界框,都会输出中心像素、宽度、高度和旋转角度。
  • Score(得分):得分值(例如 0.915855)表示模型对其检测结果的置信度,例如 91.58%。得分越高(越接近 1.0),说明检测到的对象确实是人的置信度越高。

配置 vTool#

要配置 Instance Segmentation vTool:

Instance Segmentation vTool 设置

  1. 在 vTool Settings 区域的 Recipe Management 窗格中,点击 Open Settings 或双击该 vTool。
    随即打开 Instance Segmentation 对话框。
  2. 在 服务器选择 区域中,选择要连接的服务器。
    服务器必须正在运行才能与其建立连接。
    • 选项 1:手动输入 Triton Inference Server 的 IP 地址和端口。
    • 选项 2:在下拉列表中选择服务器的 IP 地址 / 主机名和端口。
  3. 点击 Connect 以建立连接。
    随后,vTool 将加载可用的模型。
  4. 在 模型选择 区域中,在下拉列表中选择包含所需模型的 bundle。
    选择 bundle 后,下拉列表下方的区域将填充该 bundle 的详细信息,以便您确认选择的是正确的 bundle。
    模型选择区域
  5. 如果未列出所需的 bundle,请点击 部署新模型 下拉列表中的
    部署新模型
    这将打开 pylon AI Agent ,允许您部署更多模型。
    部署新模型后,您必须点击 刷新 按钮。
  6. 在 Detection Settings 区域中,点击 Select Classes 以选择要分类的类别。
    此时会打开一个包含可用类别的对话框。默认情况下,所有类别均被选中。您可以根据需要选择任意数量的类别。

    信息

    此区域中可用的参数取决于所选的模型。某些参数仅在选择特定模型后才可用(例如 NMS IOU Threshold)。默认值由模型提供。

  7. 在检测设置中指定其他选项:

    1. 对象数量:您可以指定要检测的最大对象数量,或者选择“无限制” 。
      此限制分别适用于每个类别。如果图像中的对象数量超过此处指定的数量,则会检测得分最高的匹配项。
    2. 最大/最小高度:如果您想按高度筛选边界框,请指定相应的值。由于边界框的高度与对象的高度相对应,因此您可以仅检测所需大小的对象。
    3. Maximum/Minimum width: 如果您想按宽度过滤边界框,请指定适当的值。由于边界框的高度对应于物体的宽度,这使您能够仅检测所需大小的物体。
    4. Confidence threshold: 置信度是神经网络的一个系数,用于指示图像中的物体对所选类别的代表性。较高的值意味着更高的置信度并减少误报。
    5. NMS IOU Threshold:某些边界框可能会重叠。通过此参数,您可以控制是否合并边界框。较低的值意味着较低的容差,大多数边界框将被合并。
  8. 单击确定。

您可以在 pin data view 中查看分割结果。在此处,您可以选择要显示的输出。

输入#

图像#

直接从 Camera vTool 或从输出图像的 vTool(例如 Image Format Converter vTool)接受图像。

  • 数据类型:图像
  • 图像格式:8 位到 16 位彩色图像

ROI#

接受来自 ROI Creator vTool 或输出矩形的任何其他 vTool 的感兴趣区域。如果输入了多个矩形,则将第一个矩形用作单个感兴趣区域。

  • Data type: RectangleF, RectangleF Array

输出#

要将该 vTool 与 Starter vTools 配合使用,可以将输出 pin 的数据类型从多值数据切换为单值数据。为此,请使用 Data Type Selector 窗格中的 Features - All 参数。

InferenceImage#

返回一个图像,其中为每个输入图像检测到的物体绘制了边界框,以可视化结果。

  • 数据类型:图像

区域#

返回每个类别标签的区域。

  • 数据类型:区域数组

类#

返回检测到的物体的类别标签。

  • 数据类型:字符串数组

BBoxes_px#

为检测到的每个物体返回一个边界框。每个边界框由其中心像素的坐标、宽度和高度(x_center、y_center、width、height)定义。边界框输出可用作其他 vTool 的 Roi 输入 pin 的输入。

  • 数据类型:RectangleF 数组

得分#

返回每个预测类别的置信度得分。

  • 数据类型:浮点数组

Payload#

返回有关用于评估的 Inference Server 性能的附加信息。只有在 Debug Settings 参数组的 Features - All 窗格中启用它时,此输出 pin 才会可用。

  • 数据类型:字符串

典型前置项#

典型后置项#