Skip to main content

Deep Learning auf eingebetteten Plattformen

Becks Simpson für Mouser Electronics

Mit der fortschreitenden Entwicklung von Machine Vision, die durch Methoden des Deep Learning (DL) unterstützt wird, eröffnen sich noch nie dagewesene Möglichkeiten im Bereich der Automatisierung und Fehlererkennung. Die Integration von DL in Embedded-Systeme birgt ein transformatives Potenzial, insbesondere in Szenarien, die Robotik, autonome Fahrzeuge und industrielle Prozesse betreffen. Von autonomen Aktivitäten wie smarten Türklingeln bis hin zu komplexen Aufgaben wie der Fehlererkennung mithilfe von Drohnen, steigert die Integration anspruchsvollerer Machine-Vision-Methoden die Intelligenz dieser smarten Geräte über jedes zuvor bekannte Maß. Gleichzeitig ist diese Fusion mit ganz eigenen Herausforderungen, die Latenz, Energieeffizienz und Sicherheit sowie den Datenschutz betreffen, verbunden. Um diesen Anforderungen gerecht zu werden, sind eine sorgfältige Auswahl der angemessenen Algorithmen, die Anpassung von Embedded-Systemen und Entwicklungsstrategien vonnöten, die einer intelligenteren und reaktionsfähigeren Welt den Weg ebnen.


Verwendung von DL in Embedded Machine Vision


Mit der Verbesserung von Machine Vision und dem Einzug DL-basierter Methoden in Automatisierungs- und Fehlererkennungsprozesse werden viele Applikationen von der Integration von DL profitieren. Industrie- und Heimautomatisierungsprozesse (insbesondere solche, die Arme, Fahrzeuge oder andere Roboterelemente beinhalten) profitieren von der Fähigkeit, ihre Umgebung zu sehen, zu verstehen und darauf zu reagieren, um eine Reihe von Aktionen durchzuführen. Da die Umgebungen, in denen diese intelligenten Geräte und Embedded-Systeme arbeiten müssen, komplex und äußerst variabel sind, wird der Einsatz von DL für Machine Vision immer notwendiger. Diese verbesserte Intelligenz kann für autonome Tätigkeiten wie Lieferung, Grundstückspflege, intelligente Türklingeln und Gebäudezugang, Staubsaugen, Fertigung und Lagerverpackung genutzt werden. Eine Untergruppe dieser Applikationen umfasst auch die Überwachung und Fehlererkennung. Der Einsatz von Drohnen oder anderen kleinen autonomen Fahrzeugen zur Erkennung von Defekten in Rohren, Stromleitungen, Telekommunikationstürmen und anderen Anlagen kann ebenfalls durch den Einsatz von DL-basierter Machine Vision verbessert werden. Bei genügend vorhandenen Daten sind diese Modelle weniger anfällig und unter verschiedenen Bedingungen stabiler als herkömmliche Bildverarbeitungsmodelle.

Die Ausweitung von DL auf Machine-Vision-Prozesse ist jedoch mit hohen Kosten und verschiedenen Erwägungen verbunden, die sich auf die Rechen- und Hardware-Anforderungen auswirken, die den Erfolg sicherstellen sollen. Da diese Applikationen Defekte oder andere interessante Objekte innerhalb des Automatisierungsprozesses in Echtzeit erkennen, klassifizieren und darauf reagieren müssen, ist die Zeit, um Daten über ein Netzwerk zu senden und Ergebnisse zu erhalten, oft begrenzt. Aus diesem Grund muss die dazu ausgewählte Hardware über eine geringe Latenz hinsichtlich DL-Inferenz verfügen, sobald ein Modell auf das Gerät angewendet wird. Darüber hinaus ist je nach Applikation möglicherweise auch die Energieeffizienz von Belang, insbesondere in Verbindung mit autonomen Fahrzeugen wie Drohnen oder Rovern, die unter Verwendung eigener Energiequellen beispielsweise Inspektionen durchführen. Je länger diese funktionsfähig bleiben, ohne erneut geladen werden zu müssen, desto effizienter erbringen sie ihre Leistung. Da DL-Verfahren anspruchsvollste Berechnungen notwendig machen, liegt darin der Schlüssel ihrer effizienten Funktion bzw. der Optimierung ihrer Hardware im Hinblick auf geringen Stromverbrauch.

Embedded-Systeme, wie das NXP Semiconductors i.MX 8M Plus Evaluierungskit wurden eigens für diese Art von Anforderungen entworfen, und beziehen leistungsfähige KI-Beschleunigungsfunktionen in das Design mit ein, und zwar ganz ohne Abstriche bei der Energieeffizienz. Weitere für diese Applikationen wichtige Anforderungen sind die Sicherheit und der Datenschutz. Beispielsweise sind Heimautomatisierungsapplikationen oder die Fehlererkennung bei Anlagen häufig mit der Notwendigkeit verbunden, Daten auf dem Gerät zu speichern (und nicht über die Cloud zu teilen), bzw. sicherzustellen, dass Daten und Kommunikationen nur vollständig verschlüsselt über Netzwerke gesendet werden. Schließlich ist auch die direkte Integration qualitativ hochwertiger und stabiler Sensordaten für Vision-Applikationen mit geringer Latenz unabdingbar, wenn derartige Algorithmen in Echtzeit in autonomen Robotern oder Fahrzeugen zum Einsatz kommen sollen, und die Auswahl der Hardware sollte dies widerspiegeln.


Auswahl der richtigen Algorithmen für Embedded-Systeme


Die Entscheidung für bestimmte DL-Algorithmen für diese Machine-Vision-Applikationen wird stark von den bereits erwähnten Anforderungen beeinflusst. Entwickler müssen insbesondere auf die Modellgröße im Speicher, den Speicher selbst und die Latenz der Inferenz achten. Hinsichtlich der Objekterkennung (z. B. Defekte, Menschen, Autos, Tiere) mittels Kamerastream existiert höchstwahrscheinlich ein vortrainiertes oder „Basismodell“ mit breiter Kenntnis der meisten optischen Signale. Diese Open-Source-Modelle sind enormen Datenmengen ausgesetzt und stehen für den Übergang zu nuancierteren Applikationen zur Verfügung. Unterscheidet sich eine gewünschte Aufgabe jedoch stark von denen, die zum Training des Modells herangezogen wurden, sollte unbedingt die Leistung überprüft werden. Beispielsweise bezieht die Aufgabe, Stromleitungen oder das Innere von Rohren auf Fehler zu untersuchen, völlig andere Objekte bzw. Daten mit ein als das Identifizieren von Menschen oder Autos.

Entwickler sollten zudem sicherstellen, dass die Architektur vortrainierter Modelle für Embedded-Geräte optimiert ist. Es sollte insbesondere eine Modellarchitektur ausgewählt werden, die klein genug ist, um auf dem Gerät Platz zu finden – also ein Modell in der Größe von Megabyte (statt Gigabyte). Darüber hinaus sollten das Laden und Verwenden des Modells nicht zu lange dauern, was bei größeren Modellen leider häufig der Fall ist. Bei der Optimierung dieser Architekturen und Modellgewichte kommen typischerweise spezifische Techniken zum Einsatz; beispielsweise tragen Gewichtsbeschränkungen bzw. Quantisierungen zur Verringerung der Größe bzw. Komplexität bei, ohne die Leistung einzuschränken.

Die Entscheidung für ein eingebettetes DL-Vision-Modell ist außerdem mit der Notwendigkeit verbunden, ein relativ weitverbreitetes Format (wie TensorFlow Lite) zu verwenden, um den Anforderungen des jeweiligen Geräts möglichst lückenlos gerecht zu werden. Glücklicherweise trägt die Bandbreite der zur Verfügung stehenden Open-Source-Vision-Modelle dafür Sorge, dass das Entwerfen und Trainieren von DL-Modellen von Grund auf mittlerweile der Vergangenheit angehört.


Anpassung der Modelle an bestehende Applikationen


Bei der Bewertung der Eignung eines eingebetteten Modells für die Verwendung in der Machine Vision kann es vorkommen, dass die Leistung für den vorgesehenen Zweck nicht ideal ist. Dies kann auf Unterschiede in der ursprünglichen Verteilung der Trainingsdaten – z. B. Erfassungsgerät und -bedingungen – im Vergleich zu den für den Anwendungsfall erwarteten realen Daten zurückzuführen sein. Außerdem kann es sein, dass die Basismodelle für die Anwendung zwar vorhanden sind, aber die Arten von Objekten, die sie erkennen können, nicht ganz dem entsprechen, was benötigt wird. Standardmodelle, die eine Objekterkennung durchführen, verfügen beispielsweise nicht über spezifische Klassen für Defekte oder ungewöhnliche Objekte von Interesse. In beiden Fällen sollten die Entwickler das Modell durch Feinabstimmung oder Umschulung anpassen, um die Leistung zu verbessern oder die für die gewünschte Aufgabe erforderlichen Klassen anzupassen. Dazu sind neue Daten erforderlich, die entsprechend den Erkennungs- und Klassifizierungsanforderungen des Anwendungsfalls beschriftet sind. Bei diesen Daten handelt es sich um Open-Source-Datensätze, die den in der Domäne erwarteten Daten ähneln oder mit ihnen übereinstimmen, oder um benutzerdefinierte Daten, die von den realen Anlagen erworben und nach Bedarf beschriftet werden. Die Suche nach einer geeigneten Plattform für die Datenbeschriftung, wie Labelbox oder Label Studio, vereinfacht den Prozess und sorgt dafür, dass die Anmerkungen in einem Standardformat für DL vorliegen. Sobald das aktualisierte Modell die geforderte Leistung erbringt, ist es bereit für den Einsatz.


Verwendung des eingebetteten Modells


Angesichts der Vielzahl der vorhandenen Modellformate für Embedded-Systeme ist es wichtig, Hardware mit integrierter Software auszuwählen, die die Modellportierung vereinfacht. Der erste Schritt beim Portieren eines Modells besteht darin, einen für die Datenverarbeitung benötigten Code zu schreiben oder ein Embedded-System zu nutzen, das für die Bildverarbeitung bereits über einen solchen verfügt. Beispielsweise verwendet das NXP i.MX 8M Plus Evaluierungskit die NXP eIQ® Machine-Learning-Software, die die Machine-Vision-Vorverarbeitungspipeline als Teil der auf der Platine verwendeten DL-Software enthält. Diese Vorverarbeitungsschritte umfassen häufig die Konvertierung des unverarbeiteten Pixelstroms in RGB und die Anpassung bzw. Einschränkung der Bildgrößen. Gleichermaßen kann nach Modellinferenz eine Vorverarbeitung notwendig sein, beispielsweise das Überlagern des Begrenzungsrahmens des Kamerainputs für Anzeigegeräte wie LCD-Bildschirme.

Der nächste Schritt besteht in der Konvertierung des Modells in das benötigte Format, damit es auf dem Embedded-Gerät verwendet werden kann, um Echtzeit-Inferenz bereitzustellen. Dazu zählt für gewöhnlich, das Modell in ein Standardformat wie Open Neural Network Exchange (ONNX) zu konvertieren, das die Verwendung der Hardware-Optimierung vereinfacht. Danach werden das Modell und der nebenstehende Code in einen maschinenausführbaren Binärcode für das Zielgerät gebündelt, bevor ein Datenpaket erstellt wird. Zahlreiche Open-Source-Compiler wie Glow von Facebook stehen für diese Aufgabe zur Verfügung. Das Ergebnis dieses Schrittes kann auf das für die jeweilige Applikation verwendete eingebettete System angewendet werden. Da die Modellportierung ein komplexer Prozess ist, der zahlreiche Teilschritte der genannten Elemente umfasst, empfiehlt es sich in den meisten Fällen, eine eingebettete Plattform zu verwenden, deren integrierte Software das Portierungsverfahren beschleunigt und vereinfacht. Beispielsweise lässt sich das NXP i.MX 8M Plus Evaluierungskit mithilfe des eIQ Softwarepakets programmieren, um alle genannten Schritte in nur wenigen Klicks zu bewältigen. Sobald das Gerät die Modellinferenz-Engine startet, lassen sich ihre Outputs in der gewünschten Applikation verwenden – Fehlererkennung, industrielle Automation etc.


Fazit


Die Integration von Deep Learning in Computer Vision für Embedded-Systeme erschließt unzählige neue Möglichkeiten, die sehr viel komplexer und innovativer sind als jene, die ausschließlich auf herkömmlichen Methoden basieren. Der potenzielle Nutzen reicht von Heim- bzw. industrieller Automatisierung bis zu Fehlererkennung in zahlreichen Bereichen. Nichtsdestotrotz machen die damit verbundenen Herausforderungen wie Latenz, Energieeffizienz und Datenschutz sorgfältige Überlegungen notwendig, insbesondere was die Auswahl der Hardware anbelangt. Nicht weniger wesentlich für diesen Prozess sind die Auswahl und Anpassung der Algorithmen, um die optimierte Leistung der jeweiligen Applikation sicherzustellen. Und auch bei der Verwendung eingebetteter Modelle ist höchste Sorgfalt geboten, da straffe Konvertierungen die passende Hardware und Software voraussetzen. Letzten Endes führt diese Verbindung zu einer neuen Ära der Effizienz und Innovation für eingebettete Applikationen, die Computer Vision benötigen.