visionvision.detect

vision.detect

查看 vision.detect 节点定义的输入、输出和运行支持。

视频教程

04

观看如何在真实的莱彩 Flow 工作流中配置并运行 vision.detect 节点。

节点教程: Object Detect
在哔哩哔哩观看

输入

5
输入项值类型是否必填可用来源
modelIdstring必填literal
allClassesbool可选literal
classNamesarray可选literal
minScorenumber必填literal
roirect必填literal

输出

9
输出路径值类型坐标空间
data.bestobject
data.best.scorenumber
data.best.modelIdstring
data.best.classNamestring
data.best.centerpointscreenRatio
data.best.center.xnumberscreenRatio
data.best.center.ynumberscreenRatio
data.best.rectrectscreenRatio
data.itemsarray

运行支持

桌面端支持
Android Agent支持

模型兼容性与技术要求

文件扩展名是 ONNX,并不代表模型一定兼容。莱彩还必须知道模型的输入、输出张量、检测框坐标、置信度和类别顺序。

训练自定义检测模型

模型文件

使用导出为 ONNX 的标准 YOLO 目标检测模型。PyTorch .pt 文件、云端 API 模型 ID,以及分类、分割、姿态或旋转框模型都不能直接导入。

.onnxtype: yolo

输入张量

模型需要一个 NCHW RGB 三通道输入,数据类型为 float32 或 float16,数值归一化到 0–1。莱彩使用 RGB 114 填充并保持宽高比;无法确定动态尺寸时回退到 640 × 640。

[1, 3, H, W]float32 / float16

类别映射

类别 ID 必须从 0 开始连续排列,并与训练顺序一致。id2label 和 label2id 必须互相对应,节点中的 className 必须与配置的标签完全一致。

id2labellabel2idclassName

模型大小与速度

持续检测建议先使用 Nano 或 Small。Medium 及更大模型可能更准确,但会占用更多内存、运行更慢。应在实际桌面端和安卓设备上测量导出后的模型。

n / s / m / l / x

支持的输出张量

模型必须只返回一个输出张量,并符合以下任一种布局。对于 raw YOLO 输出,莱彩会执行置信度过滤和 NMS。

输出格式支持的形状含义
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]检测框和类别分数,没有独立的 objectness。
raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]检测框、objectness 和类别分数。
postprocessed_xyxy[1, N, 6] / [N, 6]经过 NMS 后的 x1、y1、x2、y2、分数和类别 ID。

导入前检查

  • 文件是 ONNX 目标检测模型,不是 .pt 文件或云端 API 标识。
  • 只有一个 NCHW RGB 输入和一个受支持的输出张量。
  • 输入和输出使用 float32 或 float16,不是 INT8 或 UINT8 量化。
  • 已经确认类别顺序和输出格式;单类别模型明确填写 outputFormat。
  • 模型目录只有一个 .onnx,或者在 config.json 中用 modelFile 指定。
  • 先在桌面端测试当前画面,再在 Android Agent 上单独验证同一模型。

config.json 示例

下面的标签和 outputFormat 只是示例,请替换为导出模型真实的类别顺序和张量格式。

{
  "id": "game-objects",
  "name": "Game Objects",
  "type": "yolo",
  "modelFile": "model.onnx",
  "outputFormat": "raw_yolo_no_objectness",
  "id2label": {
    "0": "ore",
    "1": "tree"
  },
  "label2id": {
    "ore": 0,
    "tree": 1
  }
}