Modellkonvertierung: ONNX zu Hailo

Ein Netzwerk, das trainiert und als ONNX-Datei exportiert wurde, kann für die Ausführung auf einer Hailo-TPU in ein Hailo-Modell konvertiert werden.

Die Konvertierung läuft im Hailo-Konvertierungscontainer. Sie ist daher nur verfügbar, wenn zusätzlich zu LumiScan Training das Hailo PlugIn (Installer-LumiScanTraining-HailoPlugIn) installiert ist. Fehlt das PlugIn, meldet die Anwendung, dass der Befehl podman oder das erforderliche Konvertierungsabbild nicht gefunden werden konnte.

Programmstart

Starten Sie LumiScan Training wie in LumiScan Training Installation beschrieben. Während die Anwendung lädt, wird der Begrüßungsbildschirm angezeigt (Abb. 11).

Der Begrüßungsbildschirm von LumiScan Training mit dem HD-Vision-Systems-Logo, dem Text Loading LumiScan Training und einem Fortschrittsbalken
Abbildung 1. Abb. 11: LumiScan Training: Begrüßungsbildschirm

Nach dem Laden öffnet sich das Hauptfenster (Abb. 12). Die Modellkonvertierung wird über die Schaltfläche Model Conversion gestartet.

Das Hauptfenster des LumiScan Training Framework mit den Bereichen Select Config File und Process Status sowie den Schaltflächen Start Training, Start Testing, Start Inference und Model Conversion
Abbildung 2. Abb. 12: LumiScan Training Framework: Hauptfenster mit Schaltfläche Model Conversion

Kalibrierbilder vorbereiten

Während der Konvertierung wird das Netzwerk quantisiert. Zur Bestimmung der im Netzwerk vorkommenden Wertebereiche ist ein Satz von Kalibrierbildern erforderlich.

Die Kalibrierbilder müssen dieselbe Auflösung wie die Trainingsbilder haben. Bilder mit abweichender Auflösung können zu einem unbrauchbaren Modell führen.

Qualität und Repräsentativität der Kalibrierbilder beeinflussen die Genauigkeit des konvertierten Modells. Daher:

  1. Nehmen Sie die Bilder unter realen Produktionsbedingungen auf — mit derselben Kamera, Optik, Arbeitsdistanz und denselben Objekten wie im späteren Betrieb.

  2. Beziehen Sie repräsentative Beleuchtungsbedingungen ein. Verwenden Sie beispielsweise unterschiedliche Belichtungszeiten, wenn auch im Betrieb die Belichtungszeit variiert, oder nehmen Sie Bildserien unter verschiedenen Umgebungslichtbedingungen auf.

Speichern Sie die Bilder in einem einzigen Ordner, im Folgenden Kalibrierordner genannt. Unterstützte Bildformate sind unter anderem .png, .jpg, .jpeg, .bmp und .tiff.

Konvertierung durchführen

Klicken Sie auf Model Conversion, um den Dialog Model Conversion (ONNX → Hailo) zu öffnen (Abb. 13). Wählen Sie über die jeweiligen Browse-Schaltflächen die drei in Tabelle 3 beschriebenen Pfade aus.

Der Dialog Model Conversion mit den Feldern ONNX model file, Calibration folder und Output folder, jeweils mit Browse-Schaltfläche, sowie der Schaltfläche Start Conversion und dem Status Ready
Abbildung 3. Abb. 13: LumiScan Training: Dialog Modellkonvertierung
Tabelle 1. Tabelle 3: Parameter der Modellkonvertierung in LumiScan Training
Feld Beschreibung

ONNX model file

Das trainierte Netzwerk im ONNX-Format. Es befindet sich in der Regel in dem Ordner, der in den JSON-Einstellungen unter exportDirectory angegeben ist.

Calibration folder

Der Ordner mit den im vorherigen Abschnitt beschriebenen Kalibrierbildern.

Output folder

Der Ordner, in dem das konvertierte Modell und zugehörige Dateien gespeichert werden. Standardmäßig ist der Ordner ausgewählt, der die ONNX-Datei enthält.

Klicken Sie auf Start Conversion, um die Konvertierung zu starten (Abb. 14).

Während die Konvertierung läuft:

  • Wechselt der Status zu Converting…​.

  • Ändert sich die Schaltfläche Start Conversion zu Stop Conversion, mit der die laufende Konvertierung abgebrochen werden kann.

  • Sind die Eingabefelder deaktiviert.

  • Wird der Fortschritt der Konvertierung in der Log-Konsole am unteren Fensterrand angezeigt.

Der Dialog Model Conversion während der Konvertierung mit der Schaltfläche Stop Conversion, dem Status Converting und der Log-Konsole mit Container-Ausgabe
Abbildung 4. Abb. 14: LumiScan Training: Laufende Modellkonvertierung
Die erste Konvertierung kann länger dauern, da zunächst die Podman-Maschine gestartet wird, falls sie nicht bereits läuft.
Der Konvertierungscontainer kann direkt auf das Laufwerk C: zugreifen. Befinden sich die ONNX-Datei, der Kalibrierordner oder der Ausgabeordner auf einem anderen Laufwerk, beispielsweise E:, oder auf einer Netzwerkfreigabe, werden die erforderlichen Dateien vor der Konvertierung automatisch in den Container übertragen. Die Ergebnisse werden nach Abschluss der Konvertierung zurückübertragen. Eine zusätzliche Konfiguration ist nicht erforderlich. Die Log-Konsole zeigt die zusätzlichen Übertragungsschritte an; die Gesamtdauer der Konvertierung kann je nach Umfang der Kalibrierdaten zunehmen.

Ist die Konvertierung abgeschlossen, erscheint die Meldung Conversion finished successfully.

Im Ausgabeordner werden folgende Dateien erzeugt, wobei <name> der Name der ONNX-Datei ist:

  • <name>.hef - Modell für die Hailo-TPU.

  • <name>.har - Zwischenarchiv, das während der Konvertierung erstellt wird.

  • <name>_hailo.onnx - für Hailo angepasstes ONNX-Modell.

  • convert_parameters.json - Für die Konvertierung verwendete Parameter.

Schlägt die Konvertierung fehl, wird der Exit-Code in der Statuszeile angezeigt; zusätzliche Informationen stehen in der Log-Konsole.

Probleme bei der Modellkonvertierung sind Schritt für Schritt unter Fehlerbehebung beschrieben:

Treten bei der Modellkonvertierung andere Probleme auf, wenden Sie sich an HD Vision Systems.