Bildverarbeitung

Schnelle Bilderfassung und Deep Learning mit GPU-Processing in Echtzeit

18.02.2019 -

Neben dem Einsatz von FPGAs in der Bildverarbeitung bieten GPUs eine effiziente und flexible Option. Sie sind leichter integrierbar, kostengünstig, und durch die Entlastung der CPU werden Speicher und Rechenleistung für andere Funktionen frei.

Moderne GPUs sind bei der Bild- und Grafikverarbeitung äußerst effizient. Aufgrund ihrer Struktur eignen sie sich besonders gut für Anwendungen, bei denen große Datenblöcke parallel verarbeitet werden müssen. Da Kameras und Sensoren leistungsfähiger werden, müssen immer größere Datenmengen verarbeitet werden. Innerhalb des Machine Vision-Markts bewegen sich auch viele Branchen auf die 100 %-Inline-Inspektion zu, und Bildverarbeitungsaufgaben werden schwieriger. Eine größere Vielfalt unterschiedlicher und komplexerer Objekte muss mit mehreren Sensoren in immer kürzerer Zeit gescannt werden.

Steigende Qualitätsansprüche und Deep Learning

Durch die steigenden Qualitätsstandards in der Inspektion ist es notwendig, umfangreichere Berechnungsalgorithmen anzuwenden. Die Einführung von Deep Learning in der Bildverarbeitung trägt zusätzlich dazu bei, dass mehr Computerleistung erforderlich wird. Bei Verwendung von GPUs können alle Verarbeitungsebenen ohne CPU durchgeführt werden. Dies hat zu neuen Entwicklungen geführt, und so konnte zum Beispiel IBM 2017 neue Maßstäbe setzen, indem sie einen logistischen Regressionsklassifikator 46-mal schneller trainierten, als der bisherige TensorFlow-Rekord (90 Sekunden anstelle 70 Minuten). Diese Verbesserung beruhte auf verteiltem Training, GPU-Beschleunigung und neuen Algorithmen.

Bilderfassung in Echtzeit

Die zwei führenden GPU Hersteller, NVIDIA und AMD, stellen Programmierschnittstellen, so genannte APIs, zur Verfügung: GPUDirect for Video und Direct GMA. Diese APIs können in Verbindung mit Framegrabbern eingesetzt werden. Mit Hilfe der APIs werden sowohl die Systempuffer, als auch die CPU beim Datentransfer übersprungen, da der GPU-Speicher direkt für den Framegrabber verfügbar gemacht wird. Dadurch wird eine schnelle Bildakquisition in Echtzeit und mit sehr geringen Latenzzeiten ermöglicht.

Auch FPGAs bieten Technologien für Parallel-Computing. Viele Hersteller, darunter auch Active Silicon, verwenden in ihrer Hardware sowohl FPGA- als auch GPU-Technologie. GPUs haben jedoch gegenüber FPGAs mehrere Vorteile. Dazu zählen einerseits niedrigere Implementierungskosten, die Softwareentwicklung ist schneller und unkomplizierter als die Entwicklung von FPGA-Firmware, und es stehen weitaus mehr Ingenieure mit den erforderlichen Fähigkeiten und Kenntnissen zur Verfügung. Auch ist es einfacher, Software von Drittanbietern im Bildverarbeitungssystem einzusetzen.

GPU Processing in der digitalen Datenspeicherung

Die meisten GPUs verfügen über integrierte Videocodecs, mit denen die Videokomprimierung beschleunigt werden kann. Daher sind Anwendungen, die Videoströme kodieren müssen, besonders für GPU-Processing geeignet.
Framegrabber und GPUs sind eine ideale Kombination, wenn Bildverarbeitung in Echtzeit mit hohen Datenraten erforderlich ist. Ein Active Silicon FireBird Framegrabber wird zum Beispiel in einem neuartigen System verwendet, das von der norwegischen Firma Piql entwickelt wurde. Piql bietet sichere, durchsuchbare digitale Datenspeicherung für große Datenmengen auf 35-mm-Film an. Ihre einzigartige Anwendung digitalisiert Daten aus verschiedenen Medien, wendet OCR (Optical Character Recognition) und Indexierung an (für eine schnelle Suche) und druckt die Daten dann digital auf einen hochbeständigen 35-mm-Film. Dabei wird eine QR-Code ähnliche Kodierungstechnologie verwendet.
Die Daten können mit Hilfe ihres Spezialscanners jederzeit aus dem Film zurückgelesen werden. Dank dieses Prozesses lassen sich Daten mindestens 500 Jahre sicher aufbewahren. Piql entschied sich für den Active Silicon Firebird Framegrabber in ihren Lesegeräten aufgrund der Hochgeschwindigkeits-Bilderfassungsfunktionen, des angemessenen Preises und der Kompatibilität mit anderen Systemkomponenten. Der Piql-Speicherprozess schreibt Daten mit 20 bis 24 Bildern pro Sekunde auf 150 mm eines 35-mm-Films. Jeder Frame erzeugt 80 MB Daten. Daher werden kontinuierlich 1,6 GB Daten pro Sekunde verarbeitet. Diese enorme Datenmenge und hohe Rechenleistung konnten auf einer CPU nicht verarbeitet werden. Daher untersuchte Piql GPUs und FPGAs als mögliche Optionen. Letztendlich entschieden sie sich für eine NVIDIA-GPU aufgrund der überlegenen Systemflexibilität. Weitere Optionen standen in Bezug auf GPU-Karten, Konfigurationen, Framegrabber und andere kompatible Komponenten zur Verfügung.

GPUs in der medizinischen Bildverarbeitung

Eine weitere interessante Fallstudie betrifft die medizinische Bildverarbeitung. Active Silicon stellt derzeit ein USB 3.0 Embedded Vision System für eine spezifische medizinische Anwendung im Bereich computergestützter Chirurgie her. Das System verarbeitet die Bilddaten von bis zu drei USB 3.0-Kameras, zwei Kameras für das sichtbare Spektrum, um Stereosehen zu ermöglichen und eine Kamera im nicht-sichtbaren Bereich, die ein Fluoreszenzbild erstellt. Aktuell wird die nächste Generation dieses Systems entwickelt, die Bilder in 4K erfassen, verarbeiten, anzeigen und aufzeichnen wird. Es werden Bilder von bis zu vier 4K-60-Hz-Kameras verwendet, die eine riesige Datenmenge generieren werden. FPGAs, ASICs und GPUs wurden als Lösung für diese enorme Datenverarbeitungsaufgabe in Erwägung gezogen, da eine CPU nicht genug Rechenleistung bietet. Während FPGAs und GPUs bei der Datenverarbeitung unter Testbedingungen gleiche Leistung zeigten, wurde letztendlich eine GPU gewählt, hauptsächlich aufgrund der schnelleren und unkomplizierteren Entwicklung von Software im Vergleich zu FPGA-Firmware. ASICs boten keine offensichtlichen Vorteile. Software, die bereits mit der medizinischen ISO 13485 kompatibel ist, kann erworben und auf einer GPU installiert werden, sodass keine weiteren Konformitätstests erforderlich sind. Eine NVIDIA-GPU wurde in diesem Fall gewählt, da das Produkt gut entwickelt ist, über umfangreiche Bibliotheken und Support verfügt und Ingenieure oft gut mit der NVIDIA CUDA-Codierung vertraut sind. Letzteres ist zum Beispiel auch bei der Rekrutierung neuer Mitarbeiter von Vorteil.

GPU Processing und Deep Learning

GPUs in Kombination mit Deep Learning werden beispielsweise in autonomen Fahrzeugen eingesetzt. Die Automatisierung ist in vier Bereiche unterteilt - Sensorik, Wahrnehmung, Vorhersage und Planung. Als Sensoren werden Radar, LiDAR und Kameras verwendet. Deep Learning wird zur Erkennung von Verkehrszeichen, zur Fußgängererkennung und zur Spurüberwachung verwendet. Die Bilder sind komplex, sehr vielfältig und von den Bedingungen wie Beleuchtung und Wetter beeinflusst. Es ist zwingend, dass die Verarbeitung und die daraus resultierenden Aktionen in Echtzeit ausgeführt werden.
Aufgrund ihrer Fähigkeit, mit riesigen Datenmengen zu arbeiten, sind GPUs derzeit die beste Lösung für diese Art von Bildverarbeitung. Zu den Herausforderungen zählen jedoch das Managen des Energieverbrauchs und der mit Fahrzeugen verbundenen Temperaturumgebung. Eine Lösung für das Energieproblem ist es, neuronale Netze auf GPU-Servern außerhalb des Fahrzeugs zu trainieren und die Daten sobald sie abgeschlossen sind an die Bordeinheiten zu übertragen. NVIDIA und Intel konzentrieren sich beide darauf, GPUs speziell für das autonome Fahren zu produzieren: NVIDIA Tesla V100 erreicht eine Rechengeschwindigkeit von 120 Tera-Operationen pro Sekunde bei einem Stromverbrauch von 300 W. Die NVIDIA Jetson TX1-Mobil-GPU bietet auf einem VGG-16 eine Geschwindigkeit von 300 Giga-Operationen pro Sekunde und eine Spitzenleistung von 1 Tera-Operationen pro Sekunde bei nur 10 W Leistung.

Deep Learning für Ihr System – worauf ist zu achten?

Deep Learning in Verbindung mit Machine Vision ist ein aufregendes und sich schnell entwickelndes Werkzeug für die industrielle Inspektion, und eine GPU mit paralleler Architektur ist für die Verarbeitung der dabei entstehenden Daten besser geeignet als eine CPU. Deep Learning ist stark von Matrixmultiplikationen abhängig. Diese Algorithmen können auf einer CPU nicht effektiv gehandhabt werden. Computer, auf denen Deep Learning ausgeführt wird, sind in der Lage Muster in Daten oder Merkmalen selbst zu finden - und das mit nur begrenztem Training. Worauf sollten Sie also achten, wenn Sie Deep Learning in Ihr System integrieren möchten?
Die wichtigsten Merkmale einer GPU, die Deep Learning ausführt, sind eine hohe Speicherbandbreite, eine hohe Prozessorleistung und eine große Video-RAM-Größe. NVIDIA ist wegweisend und daher eine getestete und bewährte Option. CUDA ist eine gut etablierte Sprache, die mit allen wichtigen Deep-Learning-Frameworks kompatibel ist. NVIDIA Jetson unterstützt Artificial Intelligence-Funktionen im Netzwerk-Randbereich für tragbare medizinische Geräte, Robotik und Smart- Kameras. Der Jetson TX2 enthält eine NVIDIA Pascal-GPU mit 256 CUDA-Kernen. AMD, der zweitgrößte Anbieter auf dem Markt, bietet kostengünstigere Produkte, und einige der AMD-GPUs haben auch erhöhte Leistung und größere VRAMs.

Einführen von schneller Bildakquisition

Die Verarbeitung über GPUs ist eine einfache und kostengünstige Möglichkeit die Bilderfassung zu beschleunigen und kann rasch in die meisten modernen Bildverarbeitungssysteme implementiert werden. Active Silicon ist einer der führenden Anbieter für die Bereitstellung zuverlässiger und robuster Komponenten, die mit der GPU-Technologie kompatibel sind. Die Camera Link Framegrabber erreichen Taktraten von bis zu 85 MHz, während die neuen CoaXPress v2.0 Quad-Boards Daten mit einer Übertragungsrate von bis zu 50 Gbit / s bieten. Die Integration in bestehende Systeme und die Einführung von Deep Learning waren noch nie einfacher.

Kontakt

Active Silicon Ltd.

Bond Close, Pinewood Mews
SL0 0NA Iver
Vereinigtes Königreich

+44 1753 650 600
+44 1753 651 661

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2024 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon

Spannende Artikel zu Fokus-Themen finden Sie in unseren E-Specials. Lesen Sie jetzt die bisher erschienenen Ausgaben.

Zu den E-Specials

Media Kit

Die Mediadaten 2024 sind jetzt verfügbar! Laden Sie sie hier herunter.

Industrie-Lexikon

Begriffe aus der Bildverarbeitung und Automation, die man kennen sollte

Zum Lexikon