Bildverarbeitungssysteme

Bildvorverarbeitung verstärkt und verschlankt Bildverarbeitungssysteme

Bildvorverarbeitung und Bildverarbeitungssysteme
White Paper

Bild- und Signalverarbeitung onboard

In Anwendungen der industriellen Bildverarbeitung übernimmt der Framegrabber den Vermittlerpart zwischen Kamera und PC. In unserem White Paper klären wir folgende Fragen zur Echtzeit-Bild- und Signalverarbeitung auf FPGA-Framegrabbern:

  • Wie kann die Echtzeitkette aufrechterhalten werden?

  • Wie schwer darf die Programmierung von Hardware sein?

  • Welche Anwendungen sind prädestiniert für FPGAs?

Sichere und schnellere Übertragung der aufgenommenen Bilder durch Bildvorverarbeitung
Sichere und schnellere Übertragung der aufgenommenen Bilder durch Bildvorverarbeitung

Im Bildverarbeitungsprozess von der Bilderfassung mit der Kamera über die Verarbeitung im Framegrabber bis zur Ergebnisausgabe im Host-PC ist die Bildvorverarbeitung auf dem Framegrabber ein zentraler Zwischenschritt. Sie gewährleistet, dass Bilddaten für die jeweilige Anwendung optimiert, sicher und ohne Verlust von Einzelbildern an die daran anschließende Verarbeitung überführt werden, damit diese reibungslos funktioniert. Ziel der Bildvorverarbeitung ist die Aufbereitung der Daten, um weitere Verarbeitungsschritte zu vereinfachen und Last von der Verarbeitung im Host-PC zu nehmen.

Dazu gehört eine bessere Darstellung der Bilder, um bestimmte Eigenschaften oder Strukturen hervorzuheben, die zu schwach ausgeprägt oder für die weitere Verarbeitung (Bereiche eingrenzen, Segmentierung und Merkmalsextraktion) von Bedeutung sind. Hierfür wird meist das gesamte Rohbild zugrunde gelegt. Ebenso zählt dazu die automatische Auswahl von Bildausschnitten (Region of Interest, ROI) nach Bildinhalt und die JPEG-Bildkomprimierung – dazu später mehr.

Die verwendeten Verarbeitungsschritte der Vorverarbeitung richten sich immer nach der vorhandenen Bildqualität des Kamerasensors. Die Schritte werden auf dem FPGA-Prozessor des Framegrabbers, aber auch der übrigen Vision Hardware wie der Kamera selbst, des Vision Sensors oder Embedded Systems ausgeführt. Auf diesen Vision Geräten lässt sich mit der einfach zu bedienenden grafischen Entwicklungsumgebung VisualApplets eine umfangreiche Vorverarbeitung als auch vollständige Bildverarbeitungslösung auf dem FPGA implementieren und somit ein echtzeitfähiges System umsetzen.

Vorverarbeitung in der Kamera
CPU-Auslastung mit und ohne Basler Bildvorverarbeitung: Ein System aus der Software VisualApplets und einem programmierbaren Framegrabber reduziert die CPU-Auslastung signifikant. So kann die Rechenleistung für die Anlagensteuerung genutzt werden.

Vorverarbeitung in der Kamera

Bei Kameraschnittstellen wie USB3 Vision und GigE Vision, die ohne Framegrabber auskommen, oder bei Embedded Systemen findet die Vorverarbeitung direkt in Kamera und Sensor statt. Sie ist immer dann notwendig, wenn Kameraschnittstellen wie GigE Vision oder die Rechnerschnittstelle nur begrenzte Datenmengen übertragen oder beim Einsatz eingebetteter Systeme, die eine geringere Rechenleistung bieten. Durch Reduktion der Datenmenge bereits in der Kamera lässt sich die Dauer für Übertragung und Auswertung verkürzen und somit der Durchsatz der Applikation erhöhen.

Basler Kameras bieten bereits einen Grundstock an Vorverarbeitung wie etwa Debayering, Farb-Anti-Aliasing, Bildschärfung und Rauschunterdrückung. Sie bewirkt unter anderem eine weit verbesserte Brillanz, Detailtreue und Schärfe des Bildes, während das Rauschen gleichzeitig sinkt. Wird die Vorverarbeitung hingegen um programmierbare Framegrabber erweitert, lassen sich aufwändige Berechnungen wie etwa Filter-Operationen und Farbraum-Umwandlungen ausführen und dadurch die CPU entlasten.

Programmierbare Vision-Hardware anhand der FPGA-Entwicklungsumgebung VisualApplets
Programmierbare Vision-Hardware anhand der FPGA-Entwicklungsumgebung VisualApplets

Framegrabber erweitern die Vorverarbeitung

Ein Framegrabber ist bei vielen Kameraschnittstellen wie CoaXPress, Camera Link und Camera Link HS notwendig oder kann bei Echtzeitanforderungen beziehungsweise großen Datenmengen unverzichtbar sein. Er ermöglicht eine weit größere Palette an Vorverarbeitung direkt auf dem FPGA. Ist das Bildverarbeitungssystem mit Standard-Framegrabbern aufgebaut, sind Vorverarbeitungen wie hochqualitatives Debayering, Look-Up-Tables (LUT) und Spiegelung je nach Anwendung meist inbegriffen. Bei programmierbaren Framegrabbern sind die Möglichkeiten noch vielfältiger:

  • Deadpixel-Ausgleich

  • Weißabgleich

  • Shading Correction

  • Flat Field Correction

  • Unschärfen beseitigen

  • Rauschanteil im Bild vermindern, durch Mittelwertbildung oder unterschiedliche Filter, z.B. durch Glättungsfilter

  • Hoher Dynamikbereich (HDR), um zu helle oder dunkle Bildpartien zu verrechnen

  • Geometrische Entzerrung, um ggf. die Formen von Strukturen zu normieren, z.B. durch affine Transformationen

  • Kontrast verstärken, z.B. durch Look-Up-Tables (LUT) bereits während der Bildaufnahme sowie Histogrammebnung oder -dehnung

  • Farbraumkonvertierung

  • Filterung

Eine solche Vielfalt an Vorverarbeitungen ist ebenso auf allen VisualApplets kompatiblen Vision Geräten realisierbar, je nach Rechenleistung in unterschiedlichem Umfang. Dadurch werden Kameras und übrige Vision Hardware echtzeitfähig, was neue Anwendungsfelder erschließt. Mit VisualApplets ist für die Implementierung kein Spezialwissen über Schaltungen und Zeitverhalten im FPGA erforderlich. Sie ist somit durch Applikations- oder Softwareingenieure umsetzbar.

Visual Applets herunterladen

Blob-Analyse und Bildung von Bounding Boxes mit Bildausschnitten
Blob-Analyse und Bildung von Bounding Boxes mit Bildausschnitten

Blob Analyse

Die Entwicklungsmöglichkeiten mit VisualApplets gehen jedoch über die Bildvorverarbeitung weit hinaus. Mit der Software lassen sich unzählige Bildverarbeitungs-Aufgaben lösen, wie etwa die Blob-Analyse. Diese trennt zusammenhängende Pixelbereiche als separate Objekte voneinander und vom Hintergrund (Segmentierung) und ordnet jedem Objekt Eigenschaften wie Flächengröße, Konturlänge und Bounding Box-Koordinaten zu (Klassifizierung). Wird diese bereits während der Vorverarbeitung durchgeführt, verlagert sich ein großer Teil der Bildsegmentierung dorthin, noch bevor die Daten erstmals gespeichert werden.

Der JPEG-Operator in VisualApplets reduziert die Datenmenge deutlich
Der JPEG-Operator in VisualApplets reduziert die Datenmenge deutlich

Datenmenge per JPEG-Komprimierung reduzieren

Die Bandbreiten, mit denen Bilddaten aus der Kamera in den Framegrabber gelangen, sind in den letzten Jahren durch schnellere und größere Sensoren und Farbverarbeitung kontinuierlich gestiegen, zum Beispiel auf 5 GBps bei CXP-12 mit vier Links. Um diese zu verarbeiten, lässt sich die Bilddatenmenge über eine JPEG-Komprimierung stark reduzieren. Beim Laserschweißen in der Automobilindustrie beispielsweise konnte so der Datendurchsatz von 100 MBps (Eingangsbandbreite Framegrabber) auf ca. 5 MBps verringert werden. Andererseits lässt sich durch eine Reduktion der Datenmenge, die für die Übertragung eines einzelnen Bildes benötigt wird, die Bildrate deutlich erhöhen. Dies kommt besonders bei Anwendungen zu tragen, bei welchen die JPEG-Komprimierung direkt in der Kamera durchgeführt wird und somit der Übertragungsweg als Flaschenhals effizienter genutzt werden kann.

Zentrale Rolle des Framegrabbers im Bildverarbeitungssystem bei der Bild- und Signalverarbeitung
Zentrale Rolle des Framegrabbers im Bildverarbeitungssystem bei der Bild- und Signalverarbeitung

Steuerung der Aktoren und Triggerung

Framegrabber steuern über die Signalverarbeitung die Auslösung der Kamera, die Beleuchtung und Aktoren (Triggerung) sowie die Auswertung von Sensoren über die digitalen I/O-Schnittstellen. Dabei sind auch komplexe Regelschleifen und Kombinationen mit Vorverarbeitungen möglich. Beispielsweise kann mittels Bildvorverarbeitung eine Belichtungsmessung durchgeführt werden, um damit eine korrigierte Steuerung der Beleuchtung oder Triggerung der Kamera durchzuführen.

Bildrestauration eines zuvor unscharfen Bildes anhand eines speziellen Filters
Bildrestauration eines zuvor unscharfen Bildes anhand eines speziellen Filters

Robuste, beschleunigte und effiziente Bildverarbeitung

Alles in allem gewährleistet Bildvorverarbeitung, rechenintensive Algorithmen zu beschleunigen, die Anwendungsperformanz zu verbessern und durch Steigerung des Datendurchsatzes Bilddaten mit sehr hoher Auflösung und Bandbreite effizient zu verarbeiten, um so die Genauigkeit und Robustheit der Bildauswertung zu erhöhen. Die komplette Bandbreite einer Hochgeschwindigkeitskamera ist sicher übertragbar bei gleichzeitiger Entlastung der CPU des Host-PC und nachgelagerter Analysesoftware.

Anhand von VisualApplets ist Bildvorverarbeitung auf dem FPGA durch Endanwender wie Anwendungs- und Softwareingenieure ohne Hardware-Programmierkenntnisse mit geringem Aufwand umsetzbar. Dies versetzt sie in die Lage, den Funktionsumfang von Kameras, Framegrabbern und anderen Vision Geräten in kurzer Zeit flexibel anzupassen, wenn die Anwendungsanforderungen sich ändern, ohne eine neue Kamera einzusetzen.

Die Vorteile auf einen Blick

  • Einfachere Kameraschnittstellen verwenden

  • Steigerung des Datendurchsatzes

  • Kosteneffizientes Systemdesign durch günstige Schnittstellen (GigE)

  • Beschleunigen rechenintensiver Algorithmen

  • Erhöhen der Anwendungsperformanz

  • Echtzeit-Bildverarbeitung ermöglicht neue Anwendungen

  • Kleinere Prozessoren mit geringerer Rechenleistung einsetzen

  • Optimierte neuronale Netze

  • Einsparen von IPCs

  • Geringere CPU-Last

  • Genauigkeit und Robustheit der Bildauswertung steigern

  • Eigenentwicklungen umgehen

Anwendungsbeispiele, um Bildverarbeitungsaufgaben mit bestmöglichen Ergebnissen effizient zu lösen

Bildverarbeitungssystem für die Druckbildkontrolle
Bildverarbeitungssystem für die Druckbildkontrolle
  • Eine häufige Anwendung ist die Farbrekonstruktion (Debayering) und Farbraum- sowie Bitbreitenkonvertierung, die eine Übertragung der Rohbilder der Kamera bei voller Geschwindigkeit der Kameraschnittstelle erlaubt und somit maximale Bandbreiten ermöglicht. Der Framegrabber kann dadurch dem Host-PC ein aufbereitetes Bild zur Verfügung stellen.

  • Anwendungen wie High Dynamic Range (HDR), JPEG-Komprimierung, automatische ROI-Auswahl oder die 3D-Lasertriangulation reduzieren Datenmengen bereits in der Vorverarbeitung wirkungsvoll.

  • Beleuchtungs- und Bildverzeichnungskorrekturen erhöhen die Bildqualität und vereinfachen somit die Auswertung in späteren Verarbeitungsschritten.

  • Objektsegmentierung und Merkmalsextraktion (Blob, Center of Gravity, Angle, Eccentricity, Image Moments, etc.) stellen der weiteren Verarbeitung Eigenschaften für die Klassifikation zur Verfügung.

  • Bei der Druckbildkontrolle ist es unabdingbar, eine hoch präzise Lageerkennung und Ausrichtung der gewonnenen Bilder zu erzielen, um einen Vergleich mit der Vorlage zu ermöglichen. Dabei kommen subpixelgenaue geometrische Verzeichnungskorrekturen zum Einsatz mit dem Ziel, Farbartefakte gering zu halten. Die automatische Lageerkennung richtet sich an Kanten- oder Bildmerkmalen aus.

Unsere Framegrabber für Ihr schlankes Vision System

Wie können wir Sie unterstützen?

Wir beraten Sie gerne bei der Produktauswahl und finden die richtige Lösung für Ihre Anwendung.