Anzeige

Smartere Kamera(-features)

Industriekameras mittels FPGA intelligenter machen

Industriekameras sind meist einfach gestrickt: Sie nehmen Bilder auf und senden diese an ein Host-System. Dort bereitet der Kameratreiber die Daten auf, welche die Anwendung auf dem gleichen System verarbeitet. Je nach Datenvolumen kann so selbst ein High-End-System schnell an seine Grenzen kommen. Warum also nicht Industriekameras mittels FPGA smarter machen und diese die Bilddaten aufbereiten lassen, sodass sich das Host-System voll auf die Anwendung konzentrieren kann?

Bild: Matrix Vision GmbHBild: Matrix Vision GmbH
Gamma-Ausgleich eines Monitors (links); Gamma-Korrektur in der Kamera, um einen idealen Gamma-Wert (rot) zu erhalten (rechts)

An und für sich ist ein FPGA nichts Neues, immerhin wurde das erste Patent schon im Jahre 1985 vergeben. Jedoch steckt in dem Baustein ein Potenzial, welches clever ausgeschöpft, eine bildverarbeitende Industriekamera wesentlich smarter macht.

Bild: Matrix Vision GmbHBild: Matrix Vision GmbH
Bild 1: Bilddatenfluss der mvBlueCougar-X. In Verbindung mit dem Bildspeicher, aber auch ohne, kann das FPGA der Kamera viele Aufgaben selbst übernehmen.

Bild: Matrix Vision GmbHBild: Matrix Vision GmbH
Das Bild links zeigt die lineare Kompression der Bilddaten auf 8Bit, während rechts eine Gamma-Korrektur eine höhere Dynamik im 8Bit Bild erreicht.

Nicht verwechseln darf man eine smarte Industriekamera mit einer Smart Kamera. Diese vereint eine Industriekamera und einen vollwertigen PC mit Prozessor, Speicher, Schnittstellenkarte, etc. in einem Gehäuse. Das Smarte an einer Industriekamera kann man am besten anhand des Bilddatenflusses der mvBlueCougar-X GigE-Farbkamera darstellen (Bild 1). In Verbindung mit dem Bildspeicher, aber auch ohne, kann das FPGA der Kamera viele Aufgaben selbst übernehmen. Neben der Generierung der Statistikdaten verwaltet diese beispielsweise die Bildpufferung selbst, welche durch Pre-Triggering einen Blick in die Vergangenheit ermöglicht. Auch die Flat-Field-Korrektur kann direkt auf der Kamera durchgeführt werden, d.h. jeder einzelne Pixel des Sensors wird korrigiert, sodass es bei der Aufnahme von homogenen Objekten nicht zu unterschiedlichen Pixelwerten kommt (was ohne diese Korrektur bei Sensoren ein normaler Effekt ist). Hinter dem Begriff Frame Average versteckt sich eine Entrauschungsfunktionalität, welche zum einen das Bildrauschen reduzieren und zum anderen die Bewegung in einem Bild kompensieren kann. Neben Binning oder Decimation, also dem Kombinieren oder Auslassen benachbarter horizontaler oder vertikaler Pixel mit und ohne Mittelung der Grauwerte, kann die Kamera auch viele Optimierungen zur Verbesserung der Bildqualität übernehmen. Dazu gehören sowohl Gain und Offset, als auch allgemeine Lookup-Tabellen, also Umsetzungstabellen, mit welchen die Bilder beispielsweise invertiert oder anhand eines Schwellwertes binarisiert werden können. Bei Farbkameras kann das FPGA zusätzlich einen automatischen Weißabgleich durchführen, debayern, also aus dem Bild ein Farbbild machen sowie Farben mittels Matrizen korrigieren, d.h. eine Matrix mit sensorspezifischen Korrekturkoeffizenten, ein Parameter für die Farbsättigung, wirksam für alle Bildformate (RGB und YUV) und die Wahl des Farbraums des Anzeigegerätes. Last but not least kann die Kamera noch eine Gamma-Korrektur (LUTLuminanz) durchführen, welche das Bild im Bayer-Pfad oder im RGB-Pfad in die Richtung hin ändert, wie das menschliche Auge Licht und Farbe wahrnimmt. Das visuelle System des Menschen nimmt die Helligkeit als Logarithmus der aktuellen Lichtintensität wahr. Aus diesem Grund muss ein Monitor für eine natürliche Darstellung mit einem Gamma-Wert von üblicherweise 2,2 gegensteuern (Bild 2). Dies führt dazu, dass die linearen Bilder einer digitalen Kamera wiederum am Monitor unnatürlich wirken. Dies kann einfach durch den Reziprok des Gamma-Wertes des menschlichen Auges ausgeglichen werden. Doch die smarte Verwendung des FPGAs ist nicht nur auf den Bereich ´Bilddaten und deren Vorverarbeitung´ begrenzt, nein, das FPGA kann auch hardware-nahe Aufgaben wie die Blitzansteuerung übernehmen und unterstützt zeitkritische I/O- und Erfassungssteuerung. Durch die zeitkritische I/O- und Erfassungssteuerung können beispielsweise Triggersignale flexibel erzeugt, mehrere Kameras synchronisiert oder Bildsequenzen mit unterschiedlichen Blitz- und Belichtungseinstellungen on-the-fly schnell erzeugt werden. Blitz-Controller und anderen Steuerungskomponenten werden nicht mehr benötigt, da die Kamera-Software die Steuerung selbst übernimmt. Diese Echtzeit-Reaktionen sind mit Standard-Netzwerkprotokollen und Standard-PC Betriebssystemen nicht möglich.

Matrix Vision GmbH

Dieser Artikel erschien in inVISION 4 2017 - 14.09.17.
Für weitere Artikel besuchen Sie www.invision-news.de