visionvision.detect

vision.detect

Consultez les entrées, les sorties et la prise en charge de l’exécution définies pour le nœud vision.detect.

Tutoriel vidéo

04

Découvrez comment configurer et exécuter le nœud vision.detect dans un véritable workflow LaiCai Flow.

Tutoriel du nœud: Object Detect
Regarder sur YouTube

Entrées

5
EntréeType de valeurExigenceSources acceptées
modelIdstringObligatoireliteral
allClassesboolFacultatifliteral
classNamesarrayFacultatifliteral
minScorenumberObligatoireliteral
roirectObligatoireliteral

Sorties

9
Chemin de sortieType de valeurEspace de coordonnées
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

Prise en charge de l’exécution

OrdinateurPris en charge
Android AgentPris en charge

Compatibilité et exigences techniques du modèle

L’extension ONNX ne suffit pas à garantir la compatibilité. LaiCai doit aussi interpréter l’entrée, le tenseur de sortie, les coordonnées, la confiance et l’ordre des classes.

Former un modèle de détection personnalisé

Fichier du modèle

Utilisez un modèle YOLO standard de détection d’objets exporté en ONNX. Les fichiers PyTorch .pt, identifiants d’API hébergée et modèles de classification, segmentation, pose ou boîtes orientées ne sont pas importables directement.

.onnxtype: yolo

Tenseur d’entrée

Il faut une entrée RGB NCHW à trois canaux, float32 ou float16 normalisée entre 0 et 1. LaiCai conserve le ratio avec un letterbox RGB 114 ; une taille dynamique indéterminée utilise 640 × 640.

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

Mappage des classes

Les ID commencent à 0, restent continus et suivent l’ordre d’entraînement. id2label et label2id doivent correspondre, et className doit être identique au libellé configuré.

id2labellabel2idclassName

Taille et vitesse

Commencez par Nano ou Small pour la détection continue. Les grands modèles peuvent être plus précis, mais consomment plus de mémoire et sont plus lents. Mesurez sur le bureau et Android réels.

n / s / m / l / x

Tenseurs de sortie pris en charge

Le modèle doit renvoyer exactement un tenseur selon l’une de ces dispositions. LaiCai applique le filtrage et le NMS aux sorties YOLO brutes.

FormatShape acceptéeSignification
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]Boîtes et scores de classe sans objectness séparé.
raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]Boîtes, objectness et scores de classe.
postprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, score et ID de classe après NMS.

Vérifier avant l’import

  • C’est un détecteur ONNX, pas un .pt ni un ID d’API hébergée.
  • Il possède une entrée RGB NCHW et une sortie compatible.
  • Il utilise float32 ou float16, pas INT8/UINT8.
  • L’ordre et le format sont connus ; une classe déclare outputFormat.
  • Le dossier contient un .onnx ou config.json le désigne avec modelFile.
  • Testez l’image actuelle sur ordinateur, puis validez séparément dans Android Agent.

Exemple de config.json

Les libellés et outputFormat sont des exemples. Remplacez-les par l’ordre et le format réels du modèle exporté.

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