Anzeige
Anzeige
Anzeige

CNN auf FPGAs

Tiefe neuronale Netze erobern die Bildverarbeitung – Teil 1/2

Der Beitrag erläutert aktuelle Deep-Learning-Technologien für die Verarbeitung von Bildern und Videos als 2D- und 3D-Daten sowie daraus resultierende Vision-Anwendungen, für die sich tiefe neuronale Netze wie CNN sehr gut eignen.

 Die Grafiken zeigen eine deutliche Zunahme der Vorhersagegenauigkeit bei Deep-Learning- Anwendungen durch das Erhöhen der Anzahl der Trainingsdaten. (Bild: Silicon Software GmbH)

Bild 1 | Die Grafiken zeigen eine deutliche Zunahme der Vorhersagegenauigkeit bei Deep-Learning- Anwendungen durch das Erhöhen der Anzahl der Trainingsdaten. (Bild: Silicon Software GmbH)

Bei der Bildklassifikation wird Deep Learning immer wichtiger, während ergänzend dazu die Bildvorverarbeitung, -nachbearbeitung und Signalverarbeitung weiterhin mit den bisherigen Methoden ausgeführt werden. Deep Learning kommt insbesondere bei Applikationen wie reflektierende Oberflächen, schlecht ausgeleuchtete Umgebungen, variierende Beleuchtung oder bewegende Objekte zum Einsatz. Klassische Algorithmen eignen sich aber weiterhin, wenn eine Lokalisierung von Objekten oder Fehlern in einem Bild, das maßliche Prüfen, Codelesen oder Post-Processing benötigt werden. Deep Learning besticht dagegen durch eine hohe Zuverlässigkeit bei den Erkennungsraten. Im Wettbewerb um die bessere Lösung stehen somit die Aufwände für eine algorithmische Umsetzung gegen die Zeit für Training und Vorklassifizierung anhand von Trainingsbildern. Dabei unterscheidet man zwischen dem Training zum Anlernen des neuronalen Netzes, der Implementierung des Netzes und der Inference, d.h. dem Ausführen der CNN-Algorithmik (Convolutional Neural Networks) des Netzes auf Bilder mit der Ausgabe eines Klassifizierungsergebnisses. Beim Training wird das Netz über die Parameter so lange angepasst, bis das erwartete Klassifizierungsergebnis vorliegt. Dies ist zeitaufwändig und setzt eine hohe Expertise voraus. Deep Learning benötigt zudem eine große Mengen vorklassifizierter Daten und eine hohe Rechenleistung. Je mehr Daten für das Antrainieren verwendet werden, desto höher ist die Vorhersagegenauigkeit bei der Klassifikation.

 Die FPGA-Leistung ist zwar 7,3-mal höher als die einer GPU, der Verlust an der Vorhersagegenauigkeit liegt aber bei 0,3%, was 30% mehr inkorrekt klassifizierten ern entspricht. (Bild: Silicon Software GmbH)

Bild 2 | Die FPGA-Leistung ist zwar 7,3-mal höher als die einer GPU, der Verlust an der Vorhersagegenauigkeit liegt aber bei 0,3%, was 30% mehr inkorrekt klassifizierten Bildern entspricht. (Bild: Silicon Software GmbH)

Geschwindigkeit vs. Treffgenauigkeit

Die Defekt- und Objekt-Klassifikation anhand von Deep Learning ist derzeit ein viel diskutiertes Thema. Eignen sich aber die verschiedenen Machine Vision Prozessortechnologien mit ihren speziellen Voraussetzungen hinsichtlich eines schnellen Ausführens (Inference) von CNNs mit sehr geringen Latenzen? Neben Geschwindigkeit und Echtzeit-Anforderungen sind hier hohe Bandbreiten, geringe Wärmeleistung und Langzeitverfügbarkeit gefragt, wofür sich herkömmliche CPUs oder GPUs kaum eignen. Diese stellen eher eine geeignete Lösung für Bildverarbeitungsaufgaben im nicht-industriellen Umfeld dar, wo eine geringere Performanz oder Treffgenauigkeit manchmal ausreichend sind. Zudem zeigen beim Vergleich der technischen Aspekte die Technologieplattformen unterschiedliche Leistungswerte, die ihren Einsatz bei Anwendungen mit hohen Anforderungen ausschließen. So ist die Inference-Zeit einer GPU als Performanz-Indikator bei einer angenommenen Bildgröße von 400×400 Pixeln im Schnitt geringer als 8MB/s und die Bildrate kaum höher als 50fps. Allerdings sind GPUs die richtige Wahl für das Training von neuronalen Netzen aufgrund der sehr hohen Datenmengen. Da für das Training meistens nur eine GPU benötigt wird, wirkt sich die Hardwareumgebung wenig auf die Systemkosten aus. Hier haben sich mittlerweile kommerzielle GPUs durchgesetzt und werden von fast jeder Trainingssoftware unterstützt. Bei der Auswahl eines geeigneten Netzes genügen für typische Visionanwendungen oftmals mittelgroße Netze, wenn nur wenige Merkmale zu klassifizieren sind. Diese sind ausreichend für hohe Geschwindigkeiten bei geringen Abstrichen in der Treffgenauigkeit. Schwerpunkt sind immer größere, aber auch langsamere Netze, die eine breite Erkennung unterschiedlichster Objekte ermöglichen. Gleichzeitig entstanden aber auch kleinere, sehr effiziente Netze für Klassifikationsaufgaben, die typisch für die Bildverarbeitung sind.

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

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
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige