vision.detectvision.detect
Prüfen Sie die für den Knoten vision.detect definierten Eingaben, Ausgaben und die Laufzeitunterstützung.
Videoanleitung
04Sehen Sie, wie der Knoten vision.detect in einem echten LaiCai-Flow-Workflow konfiguriert und ausgeführt wird.
Eingaben
5modelIdstringErforderlichliteralallClassesboolOptionalliteralclassNamesarrayOptionalliteralminScorenumberErforderlichliteralroirectErforderlichliteralAusgaben
9data.bestobject—data.best.scorenumber—data.best.modelIdstring—data.best.classNamestring—data.best.centerpointscreenRatiodata.best.center.xnumberscreenRatiodata.best.center.ynumberscreenRatiodata.best.rectrectscreenRatiodata.itemsarray—Laufzeitunterstützung
Modellkompatibilität und technische Anforderungen
Die ONNX-Dateiendung allein garantiert keine Kompatibilität. LaiCai muss auch Eingabe, Ausgabetensor, Boxkoordinaten, Konfidenz und Klassenreihenfolge verstehen.
Trainieren Sie ein benutzerdefiniertes Erkennungsmodell
Modelldatei
Verwenden Sie ein als ONNX exportiertes Standard-YOLO-Objekterkennungsmodell. PyTorch-.pt-Dateien, gehostete API-Modell-IDs sowie Klassifikations-, Segmentierungs-, Pose- oder Rotated-Box-Modelle lassen sich nicht direkt importieren.
.onnxtype: yoloEingabetensor
Erforderlich ist eine dreikanalige NCHW-RGB-Eingabe mit auf 0–1 normalisierten float32- oder float16-Werten. LaiCai erhält das Seitenverhältnis per RGB-114-Letterbox; unbekannte dynamische Größen nutzen 640 × 640.
[1, 3, H, W]float32 / float16Klassenzuordnung
Klassen-IDs beginnen bei 0, sind lückenlos und folgen der Trainingsreihenfolge. id2label und label2id müssen übereinstimmen; className muss exakt dem konfigurierten Label entsprechen.
id2labellabel2idclassNameGröße und Geschwindigkeit
Beginnen Sie bei Dauererkennung mit Nano oder Small. Größere Modelle können genauer sein, benötigen aber mehr Speicher und Zeit. Messen Sie auf dem tatsächlichen Desktop und Android-Gerät.
n / s / m / l / xUnterstützte Ausgabetensoren
Das Modell muss genau einen Tensor in einem der folgenden Layouts zurückgeben. Für rohe YOLO-Ausgaben führt LaiCai Konfidenzfilterung und NMS aus.
raw_yolo_no_objectness[1, 4 + nc, N] / [1, N, 4 + nc]Boxen und Klassenscores ohne separaten objectness-Wert.raw_yolo_with_objectness[1, 5 + nc, N] / [1, N, 5 + nc]Boxen, objectness und Klassenscores.postprocessed_xyxy[1, N, 6] / [N, 6]x1, y1, x2, y2, Score und Klassen-ID nach NMS.Vor dem Import prüfen
- ONNX-Objekterkennung, keine .pt-Datei oder gehostete API-ID.
- Eine NCHW-RGB-Eingabe und ein unterstützter Ausgabetensor.
- float32 oder float16 statt INT8/UINT8.
- Klassenfolge und Format sind bekannt; bei einer Klasse ist outputFormat gesetzt.
- Ein .onnx im Ordner oder Auswahl über modelFile in config.json.
- Zuerst aktuelles Bild am Desktop testen, danach separat in Android Agent.
config.json-Beispiel
Labels und outputFormat sind Beispiele. Ersetzen Sie sie durch echte Klassenfolge und Tensorformat des exportierten Modells.
{
"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
}
}