FAQ

Kurze Antworten auf häufige Fragen zu LumiScan AI Object Matching. Jeder Eintrag verweist auf die Seite mit den Details. Probleme und Fehlermeldungen sind unter Fehlerbehebung beschrieben.

Jeder Eintrag hat einen festen Anker (zum Beispiel #faq-run-inference). Um eine Fehlermeldung zu finden, durchsuchen Sie die Seite Fehlerbehebung danach.

Erste Schritte

Was macht LumiScan AI Object Matching, und was benötigt es?

Antwort

Es erkennt mit einem trainierten neuronalen Netz Objekte in Bildern und meldet deren Position und Orientierung in Pixelkoordinaten. Es läuft auf ctrlX OS (ctrlX CORE oder ctrlX IPC) mit dem ctrlX Data Layer oder auf einem PC (Windows 11 oder Ubuntu 24.04) mit LumiScan Keryx und wird über den Data Layer gesteuert; die Knotenadressen sind auf beiden gleich. Es nimmt selbst keine Bilder auf; es liest Bilder, die eine andere Anwendung veröffentlicht, zum Beispiel der LumiScan Cam Driver (hdvisionsystems/lumiscan-cam-driver/camera1/output/image). Das Modell wird mit dem LumiScan Annotation Framework und dem LumiScan Training Framework erstellt.

Mehr

Beschreibung, Voraussetzungen

Kann ich die TPU-Beschleunigung verwenden, und was sind die Voraussetzungen?

Betrifft

ctrlX OS

Antwort

Die TPU-Beschleunigung ist optional. Wird sie verwendet, muss die ctrlX CORE eine TPU enthalten, und es gelten die folgenden Versionen: ctrlX CORE X3 mit App-Version v1.2 oder neuer, ctrlX CORE X7 mit App-Version v1.1 oder neuer und App Hardware Support genau 2.6.2. Mit einer HAILO-TPU ist das Zurückstufen des Hardware Support auf v2.6.2 zwingend erforderlich. Setzen Sie in der JSON-Datei des Modells provider auf HAILO. Auf einem PC verwenden Sie stattdessen eine NVIDIA-GPU mit provider auf CUDA.

Mehr

Voraussetzungen, Release Notes: v1.2.0

Konfiguration

Wo sind die Konfigurationsdateien?

Antwort

Im Ordner lumiscan-ai-object-matching. Auf ctrlX OS öffnen Sie in der Weboberfläche von ctrlX OS Home > Manage app data, wählen File View und öffnen diesen Ordner. Auf einem PC ist es der Einstellungsordner der Anwendung: unter Windows %APP_RESOURCE_DIR%\etc\lumiscan-ai-object-matching, oder ohne APP_RESOURCE_DIR C:\ProgramData\HD Vision Systems GmbH\LumiScan Vision Suite\lumiscan-ai-obj-mat\etc\lumiscan-ai-object-matching. Starten Sie die Anwendung neu, nachdem Sie eine Datei geändert haben. Die Einstellungen können auch auf dem Data Layer unter hdvisionsystems/lumiscan-ai-object-matching/system/settings gelesen und geändert werden. Der Ordner enthält:

  • ai-object-matching.json: Konfiguration der Anwendung (inputFileType LumiScan-CtrlX-AI-Object-Matching); modules listet die Modulkonfigurationsdateien auf.

  • Eine Modulkonfigurationsdatei (zum Beispiel ai-object-matching-module.json, inputFileType LumiScan-CtrlX-AI-Object-Matching-Module). Ihr name ist der Netzname, der in der Data-Layer-Adresse verwendet wird, und neuralNetworkConfig verweist auf die JSON-Datei des Modells.

  • models: die Modelldateien.

Mehr

Ordnerstruktur von LumiScan AI Object Matching, Einstellungen auf dem Data Layer

Was ist im Ordner models, und welche Modellparameter darf ich ändern?

Antwort

Der Ordner models enthält zwei vom LumiScan Training Framework erzeugte Dateien, die zusammengehören: eine .onnx-Datei mit dem trainierten Netz und eine .json-Datei mit den Erkennungsparametern. Nur diese JSON-Parameter sollten von Hand geändert werden; starten Sie die Anwendung danach neu:

  • thresholdList: Mindestkonfidenz je Klasse, zwischen 0.0 und 1.0 (1.0 = 100 %).

  • pathToNetwork: Pfad zur .onnx-Datei, relativ zur JSON-Datei.

  • provider: CPU oder HAILO auf ctrlX OS, CPU oder CUDA (eine NVIDIA-GPU) auf einem PC.

  • deviceIndex: muss derzeit 0 sein.

Mehr

Ordner models

Wie verwende ich ein neu trainiertes Modell?

Antwort

Laden Sie das neue Modell zusammen mit seiner Beschreibungsdatei hoch (sie werden immer als eine Einheit behandelt); auf einem PC kopieren Sie beide in den Ordner models des Einstellungsordners. Stellen Sie sicher, dass die Modulkonfigurationsdatei in modules von ai-object-matching.json aufgeführt ist und dass ihr neuralNetworkConfig auf die JSON-Datei des neuen Modells verweist. Prüfen Sie die übrigen Moduleinstellungen, speichern Sie und starten Sie die Anwendung neu.

Mehr

Neues Modul hinzufügen, Daten hochladen

Welche Bildformate und Bildquellen werden unterstützt?

Antwort

Eine im Modul konfigurierte externe Bildadresse muss <address>/data (Array von uint8_t), <address>/height und <address>/width (uint32_t) sowie <address>/pixel-type (Mono8 oder RGB8) bereitstellen. Diese Schnittstelle ist für den LumiScan Cam Driver entworfen und getestet; für andere Quellen wird die Funktion nicht garantiert. Ist keine externe Bildadresse konfiguriert, legt das Modul hdvisionsystems/lumiscan-ai-object-matching/<network name>/input/image an, wo Sie das Rohbild schreiben und seine Breite, Höhe und sein Pixelformat setzen. RGB-Daten sind als Höhe, Breite, Kanal angeordnet. Ab v2.2.0 kann ein Modul auch den Bild-Stream des Cam Driver inferieren (experimentell).

Mehr

Konfigurationsdatei eines Moduls, Inferenz auf einem Bild-Stream

Inferenz ausführen

Wie starte ich eine Inferenz und erhalte das Ergebnis?

Antwort

Verwenden Sie den ready/request-Handshake auf hdvisionsystems/lumiscan-ai-object-matching/<network name>/control/inference/: Warten Sie, bis ready True ist, merken Sie sich den Wert von <network name>/output/package-identifier, setzen Sie request auf True, warten Sie, bis ready False ist (die Inferenz läuft bereits), setzen Sie request auf False und warten Sie, bis ready wieder True ist. Ist output/package-identifier um eins gestiegen, war die Inferenz erfolgreich: Lesen Sie das Ergebnis unter <network name>/output/result. status/code ist am Ende jeder über den Handshake angeforderten Inferenz 3, unabhängig davon, ob sie erfolgreich war. Ab v2.1.0 können Sie stattdessen einmal auf <network name>/control/inference/execute schreiben, was bis zum Abschluss der Operation blockiert; status/code behält dann den Ausgang: 0, 100001 oder -1. Nur ein Prozess darf request zur Zeit schreiben.

Mehr

Inferenz starten, Ausgang einer Inferenz, Release Notes: v2.1.0

Wie beschränke ich das Ergebnis auf bestimmte Klassen?

Antwort

Schreiben Sie die Namen der aufzunehmenden Klassen auf hdvisionsystems/lumiscan-ai-object-matching/<network name>/input/class-filters; lassen Sie das Array leer, um die Filterung zu deaktivieren. Mit der Standard-Klassenzuordnung ist class_index im Ergebnis die Position der Klasse im class-names-Array des Netzes. Das Array instances kann Objekte verschiedener Klassen enthalten, das SPS-Programm muss also die benötigte Klasse auswählen.

Mehr

Klassennamen und Klassenfilter

Ergebnisse in ctrlX PLC Engineering lesen

Wo bekomme ich das FlatBuffers-Schema für das Ergebnis?

Betrifft

ctrlX OS

Antwort

Der Ergebnisknoten <network name>/output/result ist eine FlatBuffers-Nachricht, die durch object_detection.fbs beschrieben wird. Die Anwendung kopiert diese Datei bei jedem Start nach lumiscan-ai-object-matching/schemas/flatbuffers; laden Sie sie in Manage app data mit dem Download-Symbol in der Spalte Actions oder über WebDAV herunter. Bearbeiten Sie keine Dateien in schemas, da der Ordner bei jedem Start neu angelegt wird. Laden Sie das Schema nach einem Update der Anwendung erneut herunter und importieren Sie es erneut.

Mehr

Zugriff auf Ergebnisdaten mit FlatBuffers

Wie importiere ich das Schema in mein SPS-Projekt?

Antwort

Sie benötigen ctrlX PLC Engineering 2.6 oder neuer und die Bibliotheken CXA_Datalayer und CXA_Flatbuffers im Library Manager. Klicken Sie im Gerätebaum mit der rechten Maustaste auf Application, wählen Sie Import from FlatBuffers file…​ und wählen Sie object_detection.fbs. Fehlt Import from FlatBuffers file…​ im Kontextmenü, fehlt die ctrlX-Data-Layer-Bibliothek: Installieren Sie CXA_Datalayer über Tools > Library Repository…​ und wiederholen Sie den Import.

Mehr

Die ctrlX-Data-Layer-Bibliothek installieren

Wie lese ich Position und Score der besten Erkennung?

Antwort

Nachdem die Inferenz abgeschlossen und erfolgreich war (Handshake: output/package-identifier ist um eins gestiegen; inference/execute: status/code ist 0), lesen Sie den Ergebnisknoten mit DL_ReadNodeValue und übergeben GetData und GetSize des DL_NodeValue an getRootAsResult von hdv_object_detection2d_Result. Die Instanzen sind nach Score sortiert (höchster zuerst); getBestIndex() liefert immer die beste. Von der Instanz liefert GetScore() den Score (0.0 bis 1.0) und getOrientedBoundingBox() die Box mit GetCenterX()/GetCenterY() in Pixeln; der Winkel ist in Grad und kann negativ sein. Die Funktionsbausteine lesen den Puffer an Ort und Stelle, verwenden oder kopieren Sie die Werte also vor dem nächsten Lesen.

Mehr

Beispiel: Position und Score einer Instanz lesen

Lizenzierung und Support

Welche Lizenz benötige ich, und was passiert ohne Lizenz?

Antwort

Die ctrlX-Lizenz für LumiScan AI Object Matching ist SWL-W-XCx-OBJxMATCHxHDVSx-V2NN. Im ctrlX Store für ctrlX OS gekauft, ist sie eine ctrlX-Lizenz und benötigt keinen LumiScan Key. Auf ctrlX OS beendet sich die Anwendung kurz nach dem Start, wenn die Lizenz fehlt; der Grund steht im Systemprotokoll. Eine fehlende Lizenz wird als Status -4 "MissingLicense" gemeldet.

Mehr

Voraussetzungen, FAQ zur Lizenzierung

Wo finde ich weitere Antworten oder erhalte Support?

Antwort

Siehe die LumiScan-FAQ der gesamten Dokumentation. Wenden Sie sich an den Customer Success von HD Vision Systems unter customer.success@hdvisionsystems.com oder +49 6221 6721905; für Lizenzen an licenses@hdvisionsystems.com.

Mehr

FAQ zur Lizenzierung