文本提示检测

功能描述

该算子利用 Grounding DINO 模型,实现开放词汇的目标检测,即不需要预先训练特定类别的物体,只要能用文字描述,就可能被检测出来。根据用户输入的英文文本提示(单词或句子),在图像中检测出与文本描述相对应的物体,并输出它们的边界框、类别和置信度分数。

使用场景

  • 开放词汇检测:检测训练集中未包含的新类别物体,只要能用英文描述出来即可。例如 "the red apple on the table" 或者 "person wearing a hat"。

  • 细粒度检测:根据更具体的描述区分物体。例如,区分 "cat" 和 "dog",或者 "sedan" 和 "truck"。

  • 特定属性检测:检测具有特定属性的物体。例如,"the open door" 或 "a blue chair"。

输入输出

输入项

图像: 需要进行检测的彩色图像(需要是RGB格式)。目前仅支持单张图像输入。

输出项

检测结果: 包含检测结果的列表,每个结果代表一个检测到的实例,含有其边界框(通常是水平框)、置信度分数、分配的类别ID(根据类别映射参数)和对应的多边形轮廓(与边界框相同)。

参数说明

  • 该算子依赖 GrounDingdino Python 库。如果您的环境尚未安装,请在迁移 pypi 源中使用 pip install groundingdino 进行安装。

  • 该算子还需要 BERT 语言模型。首次运行时,如果环境允许访问迁移科技内网模型服务器,则无需手动配置,软件会自动下载;如果无法访问,则需要手动下载 bert-base-uncased.zip 并解压,然后在初始化参数中指定解压后的路径。成功配置一次后,后续运行通常无需再次指定。

  • 英文提示 : 必须使用英文进行提示。

  • 提示词分隔 : 使用英文句号或逗号来分隔多个不同的检测目标提示。

  • 类别映射对齐 : 确保“类别映射”中的数字ID数量和顺序与“提示词句”中的提示词一一对应,否则可能导致类别分配混乱或使用默认分配。

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

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

权重文件

参数说明

指定用于检测的 Grounding DINO 模型权重文件(通常是 .pth 格式),必须选择一个有效的模型文件,可用的模型有 Swin-T 和 Swin-B 两种,官方提供的模型可在特定路径下载。

调参说明

选择与您任务需求和硬件能力相匹配的模型。Swin-B 模型通常更大、精度可能更高但速度较慢;Swin-T 模型相对较小、速度更快。

启用GPU

参数说明

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

调参说明

勾选此项可以显著提升处理速度。如果无兼容GPU或显存不足,则应取消勾选。

bert语言模型路径

参数说明

指定本地 BERT 语言模型文件夹的路径。

调参说明

  • 首次运行,如果能访问内网模型服务器,则无需额外配置,保持默认值。

  • 如果无法连接内网服务,则需要手动访问 http://10.10.10.98:9000 服务器或其他来源下载 bert-base-uncased.zip,解压后,在此参数中选择解压得到的文件夹路径。

  • 后续运行:一旦模型已成功加载过一次(自动或手动),通常无需再设置此参数,除非模型文件被移动或删除。

提示语句

参数说明

输入用于指导检测的英文单词或句子。模型将尝试在图像中寻找与此描述匹配的物体。必须提供此参数。

调参说明

使用清晰、具体的英文描述。如果要检测多个不同的物体类别,可以用英文句号或逗号分隔不同的提示词/短语。例如: "chair . table . person" 或 "red car, blue bike"。提示词的质量直接影响检测效果。

类别映射

参数说明

将检测到的与提示词对应的物体,映射为您指定的数字类别 ID(从0开始的整数)。这对于后续根据类别进行过滤或处理非常有用。

调参说明

  • 输入一串用英文句号或逗号分隔的数字。这些数字将按顺序对应于“提示词句”中用分隔符分开的各个提示词。例如,如果提示词是 "cat . dog . bird",类别映射可以是 "0 . 1 . 2",那么检测到的猫将被标记为类别0,狗为类别1,鸟为类别2。

  • 如果此参数为空,或提供的映射数量少于提示词数量,算子将自动按顺序分配类别 ID 0, 1, 2, …​。 确保映射的数量至少等于提示词的数量。

检测框置信阈值

参数说明

用于过滤检测结果的边界框置信度分数阈值。只有分数高于此阈值的检测框才会被保留。

调参说明

增大此值会使得检测结果更少,只保留模型非常确信的目标,减少误报。减小此值会得到更多的检测结果,可能包含一些不太确信的目标,但也可能增加误报。根据实际效果调整。

参数范围

[0,1],默认值:0.3

检测类别置信阈值

参数说明

用于过滤检测结果的文本-图像匹配置信度分数阈值。它衡量检测到的区域与对应文本提示的匹配程度。

调参说明

增大此值要求检测结果与文本提示的语义匹配度更高,有助于过滤掉一些虽然检测框置信度高但内容与提示词不太相关的结果。减小此值则允许匹配度稍低的结果通过。

参数范围

[0, 1],默认值:0.25