Anzeige
Anzeige
Anzeige

Tiefe neuronale Netze erobern die Bildverarbeitung – Teil 1/2

 Systemkostenvergleich für eine Deep Learning Anwendung. (Bild: Silicon Software GmbH)

Bild 3 | Systemkostenvergleich für eine Deep Learning Anwendung. (Bild: Silicon Software GmbH)

FPGAs und SoCs für Inference

Die Anforderungen an die Inference vieler Bildverarbeitungsaufgaben erfüllen FPGAs als eigenständiger Prozessor bzw. SoC (System on Chip) im Verbund mit ARM-Prozessoren am besten. FPGAs zeichnen sich durch eine hohe Parallelität der Datenberechnung, einen garantiert robusten Bildeinzug und – im Vergleich zu CPUs und GPUs – eine hohe Rechenleistung, Bildrate und Bandbreite aus. Dadurch klassifizieren CNNs auf FPGAs mit einem hohem Datendurchsatz, was ideal für die anspruchsvollen zeitlichen Anforderungen einer Inline-Inspektion ist. Der FPGA ermöglicht eine Verarbeitung der Bilddaten – von der Bildaufnahme bis zur Bildausgabe – direkt auf einem Framegrabber oder eingebetteten Visiongerät, ohne die CPU zu belasten, was besonders für rechenintensive Anwendungen wie CNNs geeignet ist. Dadurch sind kleinere PCs ohne GPU einsetzbar, was die Kosten des gesamten Bildverarbeitungssystems deutlich verringert. Die Energieeffizienz von FPGAs im industriellen Temperaturbereich ist zudem zehnmal höher im Vergleich zu GPUs, was für Embedded Systeme ideal ist. Dies ermöglicht den Einsatz von Deep Learning in Hinblick auf Industrie 4.0, Drohnen oder autonomes Fahren. Für einen FPGA führt die Verlagerung in den Fixed Point Bereich lediglich zu einer zu vernachlässigenden Reduzierung der Treffgenauigkeit im Vergleich zu GPUs, während die gewonnenen Ressourcen für größere Netzarchitekturen oder einen höheren Datendurchsatz zur Verfügung stehen. Dadurch ist es möglich, die Produktionsgeschwindigkeit etwa bei der Schweißnaht-Inspektion oder Robotik zu steigern. Eine datenreduzierende Bildvorverarbeitung ermöglicht es darüber hinaus, kleinere Netze oder FPGAs einzusetzen. Diese reichen oftmals für einfache Klassifizierungsaufgaben mit wenigen Merkmalen aus.

Vergleich FPGA vs. GPU

Für hohe Bandbreiten kommen nur FPGAs oder GPUs als Technologie in Betracht. Eine Gegenüberstellung der jeweiligen Schwächen und Stärken zeigt, dass die höhere Rechengenauigkeit von GPUs und damit auch höhere Genauigkeit durch deutlich kürzere Verfügbarkeiten, höhere Leistungsaufnahme aber auch durch eine geringeren Datendurchsatz erkauft wird. Die Leistung der Datenbearbeitung liegt bei den FPGAs um den Faktor 7,3 höher als bei vergleichbaren GPUs. Der Gewinn bei der Genauigkeit liegt bei 0,3%, bedeutet aber eine 30% höhere Anzahl falsch klassifizierter Bilder. Im Vergleich der Systemkosten für eine Inferenz wurden Rechensysteme basierend auf einem programmierbaren FPGA-Framegrabber, einer speziellen Branchensoftwarelösung mit zwei GPUs und zwei Standardsystemen mit einer industriellen und kommerziellen GPU herangezogen. Die Kosten wurden über die Komponenten für einen Framegrabber (hier eine industrielle Camera Link Lösung), eine oder mehrere GPUs, einen industriellen Rechner und anfallende Softwarelizenzen ermittelt. Nicht berücksichtigt wurde bei der Gegenüberstellung die Leistungswerte für Datendurchsatz, Bandbreite und Energieeffizienz. Die Kehrseite vermeintlich preisgünstiger Systeme sind eine geringe Lieferbarkeit und schlechtere Performance. Ein Upgrade zu industriellen Produkten (auch GPUs) führt sofort zu höheren Preisen als FPGA-basierte Systeme. Branchenlösungen können dagegen durch unterschiedliche Lizenzmodelle (Jahreslizenz, Arbeitsplatzlizenz oder Koppelung) hohe Kosten erzeugen, welche die Hardwarekosten schnell übersteigen.

Fazit

Deep Learning auf FPGAs erzielt gleichzeitig eine hohe Geschwindigkeit als auch Bandbreite bei großer Erkennungsgenauigkeit und geringer Leistungsaufnahme. Die FPGA-Technologie auf Framegrabbern und (Embedded) Vision-Geräten ermöglicht den Einsatz von neuronalen Netzen für Anwendungen mit industriellen Anforderungen an Echtzeitfähigkeit bzw. geringen Latenzen, Datendurchsatz, Bandbreite und geringe Wärmeleistung. Der Ansatz mit FPGAs liefert Echtzeit-Ergebnisse auch für hoch aufgelöste Bilder: von der Bildakquise über die Bildvorverarbeitung direkt zu Ergebnisbildern. Die lange Verfügbarkeit von FPGAs, Framegrabbern und einer grafischen FPGA-Entwicklungsumgebung wie z.B. VisualApplets gewährleistet zudem eine hohe Investitionssicherheit.

Der zweite Teil (inVISION 6/18) beschäftigt sich mit Implementierung und welche Rolle FPGAs bei Deep Learning spielen können.

Anzeige

Empfehlungen der Redaktion

Das könnte Sie auch interessieren

Mit Ansprechzeiten von 0,5ms lässt sich mit dem Weißlicht-Farbsensor FSB10 die Anwesenheit von farbigen Objekten und deren Qualität kontrollieren.‣ weiterlesen

www.di-soric.com

Anzeige

The ultrahigh-speed camera Phantom v1840 provides a very high image quality at 18Gpix/sec. It has the lowest noise floor of any Phantom camera and a high 64dB dynamic range.‣ weiterlesen

www.visionresearchinc.net

Anzeige

NaturalIQ is an AI approach that allows customers to automate subjective camera tuning by learning image quality (IQ) preferences from their own natural image datasets.‣ weiterlesen

www.algolux.com

Anzeige

Der Farbsensor CFO200 hebt die True Color Farberkennungssensoren der Reihe CFO auf eine neue Leistungsstufe. Bei einer Messfrequenz von 20kHz lassen sich 320 Farben in 254 Farbgruppen mit höchster Farbgenauigkeit detektieren.‣ weiterlesen

www.micro-epsilon.de

Anzeige

Nach der Weiterentwicklung des LineFinder IP-Cores, der in der MV1 Kameraserie verwendet wird, hat Photonfocus den IP-Core in vier MV0 Kameramodellen implementiert. ‣ weiterlesen

www.photonfocus.com

Die webbasierte Konfigurationsoberfläche und Ergebnisanzeige machen die Einrichtung der intelligenten Infrarotkameras der IRSX-Serie für thermische Überwachungsaufgaben einfach.‣ weiterlesen

www.automationtechnology.de

Anzeige

Der Vision Controller BT-9002-P6 ist dank Power-over-Ethernet-Anschlüssen auch für IP-Kameras geeignet. Die verbauten Prozessoren garantieren hohe Leistungen bei minimalem Stromverbrauch.‣ weiterlesen

www.bressner.de

Anzeige

In Kameras erfolgt die Abbildung von Objekten der realen Welt auf Bildsensoren nicht in idealer Weise. Die beteiligten mechanischen und optischen Baugruppen fügen beim Prozess der Abbildung vielfältige Abweichungen ein (Abbildungsfehler, Perspektive, schiefe/nicht mittige Lage des Bildsensors usw.), so dass Bilder verzerrt aufgenommen werden. Oft sind die Fehler nur klein und können nicht vom menschlichen Auge erfasst werden.‣ weiterlesen

www.evotron-gmbh.de

Anzeige
Anzeige
Anzeige