visionvision.detect

vision.detect

Prüfen Sie die für den Knoten vision.detect definierten Eingaben, Ausgaben und die Laufzeitunterstützung.

Videoanleitung

04

Sehen Sie, wie der Knoten vision.detect in einem echten LaiCai-Flow-Workflow konfiguriert und ausgeführt wird.

Knoten-Anleitung: Object Detect
Auf YouTube ansehen

Eingaben

5
EingabeWerttypAnforderungZulässige Quellen
modelIdstringErforderlichliteral
allClassesboolOptionalliteral
classNamesarrayOptionalliteral
minScorenumberErforderlichliteral
roirectErforderlichliteral

Ausgaben

9
AusgabepfadWerttypKoordinatenraum
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

Laufzeitunterstützung

DesktopUnterstützt
Android AgentUnterstützt

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: yolo

Eingabetensor

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 / float16

Klassenzuordnung

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.

id2labellabel2idclassName

Größ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 / x

Unterstü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.

FormatAkzeptierte ShapeBedeutung
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
  }
}