vision.detectvision.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
04Découvrez comment configurer et exécuter le nœud vision.detect dans un véritable workflow LaiCai Flow.
Entrées
5modelIdstringObligatoireliteralallClassesboolFacultatifliteralclassNamesarrayFacultatifliteralminScorenumberObligatoireliteralroirectObligatoireliteralSorties
9data.bestobject—data.best.scorenumber—data.best.modelIdstring—data.best.classNamestring—data.best.centerpointscreenRatiodata.best.center.xnumberscreenRatiodata.best.center.ynumberscreenRatiodata.best.rectrectscreenRatiodata.itemsarray—Prise en charge de l’exécution
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: yoloTenseur 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 / float16Mappage 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é.
id2labellabel2idclassNameTaille 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 / xTenseurs 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.
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
}
}