Open eVision am Edge
Trainieren von Bildverarbeitungs- modellen für den Einsatz am Edge mit Open eVision
Dieses Paper erläutert die Vorteile des Edge Computings auf eingebetteten Geräten wie Smart-Kameras für KI-Inferenzen. Es beschreibt, wie ein Machine-Learning-Modell mit Open eVision trainiert und bereitgestellt wird, und enthält praktische Anwendungsbeispiele.
Embedded Computing und KI-gestützte Bildverarbeitung prägen die nächste Generation der Bildverarbeitungssysteme. Die meisten Industrieanwendungen werden so ausgelegt sein, dass die Inferenzen von Bildverarbeitungssoftware am Edge ausgeführt werden statt auf einem Entfernten Server. Dies hat zwei Gründe: Latenz und Zuverlässigkeit. Open eVision von Euresys bietet praktische Tools zum Trainieren und Bereitstellen von Machine-Learning-Modellen auf Edge-Geräten. Dank des flexiblen Lizenzmodells von Euresys sind die Kosten erschwinglich. Diese Technologie kann auch regelbasierte Bildverarbeitung und KI-Modelle in einem einzigen Workflow verbinden und dadurch die Anwendungsentwicklung beschleunigen.
Was spricht für die Ausführung von Inferenzen in Bildverarbeitungsanwendungen am Edge?
Das Edge Computing umfasst die Verarbeitung von Bilddaten so nah wie möglich an deren Quelle – dem Sensor –, anstatt die Bilddaten zur Verarbeitung an einen Remote-Computer oder -Server oder sogar an eine Cloud-Plattform zu senden. In der Bildverarbeitung ist die früheste Möglichkeit zur Verarbeitung der Bilder innerhalb der Kamera selbst, d. h. in Smart-Kameras oder ähnlichen Bildverarbeitungsgeräten.
- Niedrige Latenz
Die meisten industriellen Bildverarbeitungsanwendungen führen die Inspektion von Teilen zu 100 Prozent auf der Produktionslinie durch. Hierzu ist eine Hochgeschwindigkeits-Bilderfassung und -Verarbeitung erforderlich, um Entscheidungen in Echtzeit zu ermöglichen und so die Abscheidung mangelhafter Teile zu gewährleisten. Das Edge Computing minimiert die Latenz, die sich bei der Datenübertragung und -verarbeitung auf einem Entfernten Host ergeben würde, und ermöglicht die Reaktion nahezu in Echtzeit. - Sicherheit
Wenn Bilddaten direkt auf der Produktionslinie verarbeitet werden, sinken außerdem die Risiken im Zusammenhang mit Netzwerkausfällen und potenziellen Hackerangriffen. Das Edge Computing führt die Qualitätssicherungsfunktionen direkt im Werk durch und ermöglicht dadurch höhere Sicherheit und Zuverlässigkeit. - Einfachheit
Ein spezifischer Vorteil von Smart-Kameras und eingebetteten Geräten liegt darin, dass diese sehr kompakt sind und sich leicht in Industriemaschinen integrierten lassen, wo der Platz knapp ist.
Training und Bereitstellung eines Bildverarbeitungssoftware-Modells mit dem kostenlosen Deep Learning Studio von Open eVision
Machine Learning eröffnet neue Möglichkeiten für Entwickler von Bildverarbeitungssystemen, da sie die Entwicklung von erweiterten Bildverarbeitungsanwendungen damit beschleunigen können. Euresys hat seine Softwarebibliothek von Open eVision zu diesem Zweck um eine leistungsstarke Toolbox erweitert: Deep Learning Studio.
Deep Learning Studio ist eine leistungsstarke Anwendung, mit der ein Modell für eine bestimmte Inspektionsaufgabe trainiert, getestet und auf Edge-Geräten bereitgestellt werden kann. Diese Software-Suite unterstützt den Anwender bei allen Schritten des Entwicklungs- und Bereitstellungsworkflows. Deep Learning Studio ist kostenlos. Entwickler können ihre Modelle also ohne Einschränkungen trainieren und validieren und zahlen erst, wenn sie die Inferenzen auf Zielgeräten im Werk bereitstellen.
Zum Trainieren von Modellen ist eine wesentlich höhere Rechenleistung erforderlich als für die Ausführung der Inferenz. Daher empfehlen wir, das Training auf einem Windows- oder Linux-PC mit 64-Bit-Prozessorarchitektur, GPU (NVidia RTX 30-Serie mit 8 GB RAM) und mindestens 8 GB RAM sowie 400 MB freiem Festplattenspeicher auszuführen.
Mit Deep Learning Studio können Sie den Trainings-Datensatz erstellen, kommentieren, erweitern und aufteilen, das Modell trainieren, testen und zur Bereitstellung exportieren.
1. Trainingsdaten erfassen und in Deep Learning Studio importieren
Um ein Modell zu trainieren, brauchen Sie eine Reihe von Bildern von dem oder den Objekten, für die die Inspektion ausgeführt werden soll. Je größer der Datensatz, desto robuster ist das Training. Im Idealfall sollten Ihre Trainingsdaten Bilder von guten und mangelhaften Teilen enthalten, damit das Modell die erwarteten Mängel erkennen kann. Eine andere Möglichkeit ist das Trainieren des Modells ausschließlich an Bildern von guten Teilen, damit es die Abweichungen erkennt.
Deep Learning Studio enthält ein Tool zum Aufteilen von Datensätzen. Mit diesem Tool können Sie Ihre Trainingsbilder für verschiedene Zwecke aufteilen: das Training selbst, die Validierung und die Tests. So können Sie Ihr Modell mit anderen Bildern testen und validieren als denen, die Sie für das Training verwendet haben. Dies ist realistischer.
2. Auswahl des geeigneten Tools (Klassifizierung, Segmentierung, Lokalisierung)
Je nach Anwendung bietet Deep Learning verschiedene Tools:
Abbildung 1: Kriterien, die die Auswahl eines Deep-Learning-Tools beeinflussen
- EasyClassify: Sortieren von Objektbildern nach Kategorie
Wenn Sie Objekte nach spezifischen Kriterien sortieren müssen (z. B. gut/schlecht, nach Farbe,
Form usw.), können Sie diese Kriterien mit EasyClassify definieren und ein Modell trainieren, um jedes Bild der richtigen Kategorie zuzuordnen. - EasySegment: Finden von Mängeln innerhalb eines Bildes
Die Sortierung nach gut und schlecht ist unter Umständen nicht ausreichend. Wenn Sie wissen müssen, um was für einen Mangel es sich handelt und wo sich dieser befindet, können Sie Ihr Modell mit EasySegment lehren, wie Mängel aussehen und wo sie im Bild möglicherweise auftreten können. - EasyLocate: Finden und Zählen von Objekten in einem Bild
Für einige Anwendung ist es erforderlich, verschiedene Objekte innerhalb desselben Bildes zu identifizieren, zu lokalisieren und zu zählen. Ein Beispiel sind verschiedene Elektronikkomponenten auf einer Leiterplatte oder zufällig positionierte Objekte in einer Kiste. Mit EasyLocate können Sie ein Modell so trainieren, dass es spezifische Objekte in einem Bild identifiziert und hervorhebt, sogar wenn sich diese überlappen.
3. Kommentieren der Daten
Nachdem Sie das richtige Tool ausgewählt haben, müssen Sie Ihre Trainingsbilder überprüfen und kommentieren, um das Modell zu trainieren:
- In EasyClassify, um Ihre Kategorien zu erstellen und jedes Bild einer Kategorie zuzuordnen (z. B. gut/schlecht oder rot/gelb/blau usw.). Euresys empfiehlt für ein robustes Training mindestens 50 Bilder pro Klasse.
- In EasySegment, um Mängel innerhalb jedes Bildes zu markieren und zu benennen (z. B. Kratzer, Delle, Riss usw.). Dieses beaufsichtigte Training ist nur möglich, wenn Sie in Ihrem Datensatz Bilder von diesen Mängeln haben. Andernfalls bietet EasySegment einen unbeaufsichtigten Trainingsmodus, bei dem nur Bilder von guten Teilen verwendet werden. Das Modell erkennt und lokalisiert dann in zukünftigen Bildern die Abweichungen.
- In EasyLocate, um jedes Objekt hervorzuheben, das innerhalb des umschließenden Quaders identifiziert werden muss, und es mit dem richtigen Namen zu taggen (z. B. FPGA, Mikrocontroller, Steckverbinder usw.).
4. Konfigurieren des Trainings
Nachdem Sie Ihre Trainingsdaten vorbereitet und das richtige Tool ausgewählt haben, können Sie das Training Ihres Modells in Deep Learning Studio konfigurieren.
Dabei können Sie die folgenden Konfigurationsparameter verwenden:
- Die Anzahl der Iterationen, d. h. wie viele Male das Modell alle Trainingsbilder durchläuft.
Dies beeinflusst die Dauer und Qualität des Trainings. Je mehr Iterationen, desto länger dauert das Training und desto besser ist das Ergebnis. - Die Batchgröße, d. h. die Anzahl der Bilder, die zusammen verarbeitet werden sollen.
Dieser Parameter beeinflusst die Verarbeitungsgeschwindigkeit sowie den benötigten Speicher und die Rechenleistung. - Die Data Augmentation: Diese besteht in der Ableitung von weiteren Trainingsbildern aus dem Trainings-Datensatz. Ein Beispiel ist das Drehen oder Verschieben von Bildern, eine Änderung der Beleuchtungseinstellungen, das Hinzufügen von Rauschen usw. Je mehr Variationen Ihr Datensatz enthält, desto zuverlässiger ist das Modell in der Praxis.
- Ob das Training deterministisch ist oder nicht. Ein deterministisches Training liefert reproduzierbarere Ergebnisse, ist aber langsamer als ein nicht deterministisches.
5. Trainieren des Modells
Nachdem Sie alle Ihre Parameter festgelegt haben, klicken Sie auf die Schaltfläche „Train“ (Trainieren) in Deep Learning Studio. Der Trainingsprozess wird dann zur Warteschlange hinzugefügt. Trainings werden der Reihe nach in der Reihenfolge der Warteschlange ausgeführt. Die Dauer des Trainings hängt von der Größe des Datensatzes, den Trainingsparametern und der Leistung Ihrer Hardware ab.
Im Gegensatz zu anderen Tools führt Deep Learning Studio das Training zu 100 Prozent lokal aus.
Dies bedeutet, dass Ihre Daten weder in die Cloud hochgeladen noch mit Euresys oder anderen Drittanbietern geteilt werden. Dies ist äußerst vorteilhaft für die Wahrung der Vertraulichkeit Ihrer Daten.
6. Überprüfung der Qualität der Ergebnisse
Sie können Ihr Modell in Deep Learning Studio mit einem anderen Teil Ihres Datensatzes validieren.
Wenn die Ergebnisse nicht zufriedenstellend sind, können Sie den Workflow erneut ab Schritt 1 (z. B. die Größe des Datensatzes erhöhen) oder Schritt 2 (z. B. die Qualität der Kommentierungen verbessern) starten.
7. Exportieren des trainierten Modells
Alle vorherigen Schritte des Workflows können kostenlos in Deep Learning Studio ausgeführt werden. Dies ist sehr attraktiv für Entwickler, die mit Machine Learning experimentieren möchten, bevor sie das Modell auf Ihrem Edge-Gerät bereitstellen und im Praxisbetrieb testen. Euresys berechnet nur eine Lizenz für jede Inferenz Ihres Modells, d. h. für jede Bereitstellung des Modells im Feld. Sie zahlen also nur für das, was Sie auch wirklich im Betrieb einsetzen.
Kombinieren eigener Modelle mit vortrainierten Modellen und herkömmlichen Bibliotheken
KI-gestützte Bildverarbeitung bietet viele Vorteile. Sie ist jedoch nicht in jedem Fall erforderlich. In manchen Fällen ist es sinnvoll, bestehende Bibliotheken für bewährte, alltägliche Aufgaben wie Kantenerkennung zu kombinieren und für speziellere Anwendungen ein Modell zu trainieren. Mit Open eVision von Euresys können die Anwender regelbasierte Bibliotheken, vortrainierte Modelle und selbst trainierte Modelle nahtlos in einen einzigen Workflow integrieren und so die Entwicklungszeiten verkürzen.
Sortierung und Klassifizierung von Lebensmitteln mit EasyClassify
Deep-Learning-Technologien bieten leistungsstarke neue Ansätze für die Lebensmittelindustrie. Die Klassifizierung natürlicher Produkte lässt sich in der Regel gut mit KI-gestützten Verfahren durchführen. Doch in der Lebensmittelindustrie sind sehr hohe Inspektionsraten erforderlich. Die Produkte bewegen sich schnell auf einem Förderband, und eine Sichtprüfung darf den Produktionsprozess nicht verlangsamen. Selbst mit GPU kann der Betrieb einer Klassifizierung von sehr hochauflösenden Bildern zu langsam sein. Daher wird bei Open eVision ein zweistufiger Prozess bevorzugt: Zuerst wird eine effiziente Erkennung der Objekte (mit einem herkömmlichen Operator) durchgeführt, und dann werden Batches mit kleinen Bildern vom Deep-Learning-Klassifizierer verarbeitet.

Abbildung 2 Zum Beispiel kann eine Zeilenkamera mit einer Betriebsgeschwindigkeit von 18.000 Zeilen pro Sekunde von der Deep-Learning-Klassifizierung verarbeitet werden, und die durchschnittliche Entscheidungslatenz beträgt nur 9 ms (auf einer NVidia RTX A2000 GPU).
Vortrainiertes OCR-Modell auf Alecs Smart-Kamera

Ein Beispiel für ein vortrainiertes Modell ist EasyDeepOCR, ein Texterkennungstool auf Deep-Learning-Basis, das kein zusätzliches Training erfordert. Das Tool kann auch so konfiguriert werden, dass es nur spezifische Informationen liest. Dies beschleunigt den Prozess. Zusammen mit Allied Vision hat Euresys eine OCR-Anwendung vorgeführt, bei der die Alecs Smart-Kamera von Allied Vision auf der Basis eines Jetson Orin Ein-Chip-Systems (SoC) verwendet wird. Open eVision ist auf Alecs Kameras vorinstalliert, und da EasyDeepOCR kein Training erfordert, kann die Kamera komplexe Beschriftungen ohne Konfigurationsaufwand sofort in Echtzeit lesen. Die Anwendung erreicht eine Verarbeitungsgeschwindigkeit von 400 ms bei einer Bildauflösung von 1.232 x 1.032 Pixel auf der Alecs GPU.
Objektzählung auf NVIDIA Jetson Orin NX

Abbildung 3 Beispiel für die Komponentenerkennung mit EasyLocate
Ein Beispiel für eine Anwendertrainierte Anwendung ist die Objektzählung. In diesem Beispiel wurde ein Modell mit der „Punkt-von-Interesse-Methode“ in EasyLocate trainiert. Diese erkennt ein Objekt durch die Suche nach einer bestimmten Region von Interesse im Bild. Sie erkennt hier die runde Form von Kondensatoren und zählt, wie oft diese Form im Bild vorkommt (Instanzen).
Wie wir oben in der Beschreibung des Trainings gesehen haben, wurde mithilfe von Deep Learning Studio
- der Datensatz kommentiert
- das Training konfiguriert, z. B. mit Data Augmentation und Teilungen
- das Modell trainiert
- das Modell validiert (Richtigkeit, Inferenzgeschwindigkeit)
Dieses einfache und leicht zu trainierende Modell wurde dann an einen eingebetteten Computer exportiert, der auf einem NVIDIA Jetson Orin NX SoC läuft. Dank des NVIDIA TensorRT SDKs, das von Open eVision unterstützt wird und die Inferenz auf der GPU beschleunigt, kann das Modell bis zu 90 Objekte pro Bild in Echtzeit mit einer Geschwindigkeit von 20 Frames pro Sekunde (720 x 450 Pixel) erkennen.
Leistungsstark, flexibel, Anwenderfreundlich und risikofrei
Open eVision von Euresys ist ein leistungsstarkes Tool für die KI-gestützte Bildverarbeitung am Edge. Es bietet eine Sammlung von Tools zum Trainieren von Modellen für die häufigsten Bildverarbeitungsaufgaben zusammen mit den etablierten Bibliotheken, die mit Machine Learning zu einem einzigen Workflow kombiniert werden kann. Dank dieser Flexibilität lassen sich Bildverarbeitungssoftware-Anwendungen besonders einfach, schnell und effizient entwickeln. Mit dem inferenzbasierten Lizenzmodell können Entwickler ein Modell erst erkunden und testen, bevor sie Budgetmittel binden. Somit ist es eine sehr kostengünstige Lösung. Das Training und die Validierung von Modellen mit Deep Learning Studio sind kostenlos. Dadurch bleibt der Prozess vollständig risikofrei, bis das Modell für den Einsatz im Feld einsatzbereit ist.
