visionvision.detect

vision.detect

Consulte as entradas, saídas e o suporte de execução definidos para o node vision.detect.

Tutorial em vídeo

04

Veja como configurar e executar o node vision.detect em um fluxo real do LaiCai Flow.

Tutorial do node: Object Detect
Assistir no YouTube

Entradas

5
EntradaTipo de valorRequisitoFontes aceitas
modelIdstringObrigatórioliteral
allClassesboolOpcionalliteral
classNamesarrayOpcionalliteral
minScorenumberObrigatórioliteral
roirectObrigatórioliteral

Saídas

9
Caminho de saídaTipo de valorEspaço de coordenadas
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

Suporte de execução

DesktopCompatível
Android AgentCompatível

Compatibilidade e requisitos técnicos do modelo

A extensão ONNX sozinha não garante compatibilidade. O LaiCai também precisa interpretar a entrada, o tensor de saída, as coordenadas, a confiança e a ordem das classes.

Treinar um modelo de detecção personalizado

Arquivo do modelo

Use um modelo YOLO padrão de detecção de objetos exportado para ONNX. Arquivos PyTorch .pt, IDs de API hospedada e modelos de classificação, segmentação, pose ou caixas rotacionadas não podem ser importados diretamente.

.onnxtype: yolo

Tensor de entrada

É necessária uma entrada RGB NCHW de três canais, float32 ou float16 normalizada para 0–1. O LaiCai preserva a proporção com letterbox RGB 114; tamanhos dinâmicos não resolvidos usam 640 × 640.

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

Mapeamento de classes

Os IDs devem começar em 0, ser contínuos e seguir a ordem de treino. id2label e label2id devem coincidir, e className precisa ser idêntico ao rótulo configurado.

id2labellabel2idclassName

Tamanho e velocidade

Comece com Nano ou Small para detecção contínua. Modelos maiores podem ser mais precisos, mas gastam mais memória e são mais lentos. Meça no desktop e Android reais.

n / s / m / l / x

Tensores de saída compatíveis

O modelo deve retornar exatamente um tensor em um destes layouts. O LaiCai aplica filtro de confiança e NMS à saída YOLO bruta.

FormatoShape aceitaSignificado
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]Caixas e pontuações de classe sem objectness separado.
raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]Caixas, objectness e pontuações de classe.
postprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, pontuação e ID da classe após NMS.

Verifique antes de importar

  • É um detector ONNX, não um .pt ou ID de API hospedada.
  • Há uma entrada RGB NCHW e uma saída compatível.
  • Usa float32 ou float16, não INT8/UINT8.
  • A ordem e o formato são conhecidos; uma classe declara outputFormat.
  • A pasta contém um .onnx ou config.json indica modelFile.
  • Teste o quadro atual no desktop e depois valide separadamente no Android Agent.

Exemplo de config.json

Os rótulos e outputFormat são exemplos. Substitua pela ordem e formato reais do modelo exportado.

{
  "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
  }
}