Implementierung neuronaler Netze auf FPGAs – Teil 2/2
 Treffgenauigkeit von Prozessoren mit unterschiedlicher Rechentiefe (Floating Point 32bit vs. Fixed Point bzw. Integer 16bit und 8bit). (Bild: Silicon Software GmbH)

Treffgenauigkeit von Prozessoren mit unterschiedlicher Rechentiefe (Floating Point 32bit vs. Fixed Point bzw. Integer 16bit und 8bit). (Bild: Silicon Software GmbH)

Deep Learning mit VisualApplets

Die gesamte Bildverarbeitung führen Framegrabber oder Embedded Vision Geräte als zentrale Elemente des Bildverarbeitungssystems aus, inklusive Vor- und Nachverarbeitung, die eigentliche CNN-Bildklassifikation sowie die Synchronisierung der Peripheriegeräte (Beleuchtung, Sensoren und Aktoren) durch eine Signalsteuerung in Echtzeit. Mit der grafischen FPGA-Entwicklungsumgebung VisualApplets sind Anwender in der Lage, Deep Learning Anwendungen und die Visionperipherie selbstständig im FPGA per Drag&Drop zu konfigurieren, auch ohne Hardware-Programmierkenntnisse. Sie sehen die Abbildung und Konfiguration des neuronalen Netzes als einen CNN-Operator innerhalb eines Datenfluss-Diagramms. Das spezifische CNN wird zwischen dem Kamera-Operator als Bildquelle und dem DMA-Operator als Datenübergabe an den PC eingebunden. Das gesamte Anwendungsdesign lässt sich fortlaufend simulieren sowie abschließend synthetisieren und läuft immer als Echtzeitbetrieb in der definierten Geschwindigkeit mit geringsten Latenzen ab. Werden Bilder vor dem Training über eine Bildverarbeitung optimiert, muss dieser Vorgang während der Inferenz ebenfalls durchgeführt werden. Der modulare Aufbau der Deep Learning Lösung in VisualApplets ermöglicht die Kombination von Vorverarbeitungen zur Bildoptimierung, Vorselektion von Bildausschnitten oder auch Auflösungsänderungen mit dem CNN-Verarbeitungskern und einer Bildnachbearbeitung für Ausschleusungen von NIO-Teilen. Der CNN-Operator wird hierbei nur mit Informationen über die Netzarchitektur und deren Gewichte konfiguriert. Über den CNN-Operator lassen sich passende Netzarchitekturen unterschiedlicher Größe und Komplexität integrieren sowie vortrainierte Konfigurationsparameter für die Gewichte der Netze für eine Vielzahl von Visionanwendungen laden. Dabei werden auch Informationen über Netze und deren Parameter aus Drittsoftware wie die Deep Learning Frameworks TensorFlow oder Caffe importiert. Neue Gewichte sind leicht zu laden, solange das Netz unverändert bleibt. Ein Nachtrainieren, z.B. für ein neues Werkstück in der Fertigung, geht mit relativ wenig Aufwand. Ändern sich Testumgebung oder -objekte, können die nachtrainierten Bilder über einen neuen Parametersatz der Gewichte oder als neues Netz nachgeladen werden. Die Implementierung von Deep Learning Anwendungen auf einen FPGA ist mit VisualApplets einfach zu handhaben und in kurzer Zeit umzusetzen – und dies als hardwareprogrammierte Echtzeitanwendung. Für die Inspektion von reflektierenden Oberflächen wie Lack und Metall mit Deep Learning wurde innerhalb von zwei bis drei Wochen eine Bildverarbeitungslösung aus dem Camera Link Framegrabber microEnable 5 marathon deepVCL und VisualApplets aufgebaut. Die Summe aller Optimierungen und das modulare Konzept der Inference mit Pre-Processing, Deep Learning Ausführung und Post-Processing ermöglichen Verbesserungen der Klassifikation ohne Abstriche bei der Performance. Anwender verwenden ihr bereits vorhandenes Bildverarbeitungssystem einfach weiter.

 Die FPGA-Leistung ist 7,3-mal höher als diejenige der GPU. (Bild: Silicon Software GmbH)

Die FPGA-Leistung ist 7,3-mal höher als diejenige der GPU. (Bild: Silicon Software GmbH)

Fazit

Für die Objekt- und Merkmalsklassifikation setzen sich in der Bildverarbeitung immer mehr neuronale Netze durch, insbesondere bei Aufgaben mit vielen Merkmals- oder Umgebungsvariablen oder solchen die algorithmisch schwierig zu beschreiben sind. Die Stärken von Deep Learning überwiegen bei weitem die Schwächen. Ein relativ hoher Trainingsaufwand wird durch Zuverlässigkeit, Schnelligkeit und Transfermöglichkeit der Ergebnisse mehr als aufgewogen. Im industriellen Umfeld sind FPGAs die beste Wahl aufgrund ihrer hohen Rechenleistung, geringen Latenzen und Leistungsaufnahme sowie der Langzeitverfügbarkeit und weiten Verbreitung auch in Embedded Geräten. Somit werden FPGAs auch unter dem Aspekt des Return on Investment zu einer interessanten Alternative, wenn man die Gesamtkosten eines Bildverarbeitungssystems zugrunde legt.

Seiten: 1 2Auf einer Seite lesen

Ausgabe:
Silicon Software GmbH
www.silicon-software.de

Das könnte Sie auch Interessieren

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige

Anzeige