Herzlich Willkommen beim beam-Verlag in Marburg, dem Fachverlag für anspruchsvolle Elektronik-Literatur.


Wir freuen uns, Sie auf unserem ePaper-Kiosk begrüßen zu können.

Aufrufe
vor 5 Jahren

1-2-2019

  • Text
  • Software
  • Elektromechanik
  • Positioniersysteme
  • Antriebe
  • Stromversorgung
  • Feldbusse
  • Kommunikation
  • Robotik
  • Qualitaetssicherung
  • Bildverarbeitung
  • Automatisierungstechnik
  • Sensorik
  • Messtechnik
  • Visualisieren
  • Regeln
  • Msr
  • Boards
  • Systeme
  • Sbc
  • Ipc
Fachzeitschrift für Industrielle Automation, Mess-, Steuer- und Regeltechnik

Bildverarbeitung Deep

Bildverarbeitung Deep Learning in der Bildverarbeitung Neuronale Netze (CNN) auf FPGAs im industriellen Einsatz [Quelle: Silicon Software GmbH] Deep Learning besticht in der Bildverarbeitung durch eine sehr hohe Vorhersagegenauigkeit bei der Erkennung, wird die Qualität von heutigen Bildverarbeitungssystemen verbessern und neue Anwendungen erschließen. Der Lösungsansatz mit tiefen neuronalen Netzen wie CNN (Convolutional Neural Networks) übernimmt daher immer mehr Aufgaben der klassischen, auf algorithmischer Beschreibung basierenden Bildverarbeitung. Bei der Bildklassifikation (Defekt-, Objekt- und Merkmalsklassifikation) wird Deep Learning immer wichtiger, während ergänzend dazu die Bildvorverarbeitung, -nachbearbeitung und Signalverarbeitung weiterhin mit den bisherigen Methoden ausgeführt werden. Sind Aufgabenstellungen ausschließlich, einfacher oder mit besseren Ergebnissen mit Deep Learning zu lösen, verdrängt dies die klassische Bildverarbeitung – insbesondere bei erschwerenden Variablen wie reflektierende Oberflächen, schlecht ausgeleuchtete Umgebungen, variierende Beleuchtung oder bewegende Objekte. Die Translationsinvarianz ist eine seiner Stärken, die einen sehr hohen Aufwand bei klassischer Programmierung bedeutet. Klassische Algorithmen sind im Vorteil, wenn eine Lokalisierung von Objekten oder Fehlern in einem Bild, das maßliche Prüfen, Codelesen oder Post-Processing benötigt werden. Bild 1 vergleicht Deep Learning mit konventioneller Bildverarbeitung. Training bei Deep Learning Deep Learning unterscheidet zwischen dem Training zum Anlernen Autor: Martin Cassel, Redakteur Silicon Software GmbH https://silicon.software Bild 1: Eignung von Deep Learning im Vergleich zur klassischen Bildverarbeitung [Quelle: Silicon Software GmbH] 62 PC & Industrie 1-2/2019

Bildverarbeitung Bild 2: Zunahme der Vorhersagegenauigkeit durch Erhöhen der Trainingsdaten [Quelle: Silicon Software GmbH] des neuronalen Netzes, der Implementierung des Netzes und der Inference, dem Ausführen der CNN- Algorithmik des Netzes auf Bilder mit der Ausgabe eines Klassifizierungsergebnisses. Je mehr Daten für das Antrainieren verwendet werden, desto höher ist die Vorhersagegenauigkeit bei der Klassifikation (Bild 2). Aufgrund der sehr hohen Datenmengen beim Training von neuronalen Netzen stellen GPUs hierfür die richtige Wahl dar. Geschwindigkeit versus Vorhersagegenauigkeit Eignen sich jedoch die verschiedenen Prozessortechnologien gleichermaßen für die industrielle Bildverarbeitung mit ihren speziellen Anforderungen an ein schnelles Ausführen (Inference) von CNNs bei gleichzeitig sehr geringen Latenzen? Neben Geschwindigkeit und Echtzeit-Anforderungen sind hohe Bandbreiten, eine geringe Wärmeleistung und Langzeitverfügbarkeit gefragt, wo herkömmliche CPUs oder GPUs alleine an Grenzen stoßen. Diese stellen eher eine passende Lösung für Bildverarbeitungsaufgaben im nicht-industriellen Umfeld dar, wo eine geringere Durchsatz-Performanz zu Gunsten einer komplexeren Erkennungsanforderung manchmal ausreichend ist. Alleine beim Vergleich technischer Aspekte zeigen die Technologieplattformen unterschiedliche Leistungswerte, die ihren Einsatz bei Anwendungen mit hohen Anforderungen ausschließen. So ist die Inference-Bearbeitung auf einer GPU zwar deutlich kürzer als die auf einer CPU oder speziellen Chips wie einer TPU (TensorFlow Processing Units) oder dem Intel Movidius Prozessor, erreicht aber als Performanz-Indikator im Schnitt geringere Durchsatzwerte als 50 MB/s. Auswahl des Netzes Bei der Auswahl eines geeigneten Netzes genügen für typische Anwendungen in der Bildverarbeitung oftmals kleine oder mittelgroße Netze, wenn nur wenige Merkmale zu klassifizieren sind. AlexNet, Squeeze- Net oder MobileNet sind typische Vertreter hierfür. Diese stehen in einem guten Verhältnis zwischen Vorhersagegenauigkeit, Implementierungsgröße und Rechengeschwindigkeit bzw. Bandbreite in der Machine Vision. Hier zeigt sich deutlich, dass durch die Auswahl passender Netzarchitekturen für die jeweilige Anwendungsanforderung ein akzeptabler Erkennungsverlust bei gleichzeitigem Gewinn an Datendurchsatz erreichbar ist – eine Möglichkeit, Ressourcen zu optimieren und die Klassifizierungsqualität zu erhöhen. FPGAs und SoCs für Inference Den Anforderungen an die Inference vieler Bildverarbeitungsaufgaben, insbesondere der Machine Vision, am besten gewachsen sind FPGAs als eigenständiger Prozessor oder als SoC im Verbund mit ARM-Prozessoren. FPGAs zeichnen sich durch eine hohe Parallelität der Datenberechnung aus, garantieren einen robusten Bildeinzug und – im Vergleich zu CPUs und GPUs – eine hohe Rechenleistung, Bildrate und Bandbreite. Dadurch klassifizieren CNNs auf FPGAs mit hohem Datendurchsatz, was beispielsweise die zeitlichen Anforderungen der Inline- Inspektion erfüllt. Der FPGA ermöglicht eine Verarbeitung der Bilddaten – von der Bildaufnahme zur -ausgabe und zur Gerätesteuerung – direkt auf einem Framegrabber oder eingebetteten Vision-Gerä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 verringert. Die Energieeffizienz von FPGAs im industriellen Temperaturbereich ist zehnmal höher im Vergleich zu GPUs, was für eingebettete Geräte ideal ist. Dies vergrößert den Einsatzbereich von Deep Learning etwa in Hinblick auf PC & Industrie 1-2/2019 63

hf-praxis

PC & Industrie

© beam-Verlag Dipl.-Ing. Reinhard Birchel