Polarisierung in Echtzeit

Einsatz der On-Camera Datenvorverarbeitung von IDS Polarisationskameras

Mit dem Wissen über polarisiertes Licht können in der industriellen Bildverarbeitung Spiegelungen und Glanzlichter reduziert oder Kontraste feiner Strukturen erhöht werden. Sogar physikalische Eigenschaften wie Materialspannungen, die unter der Oberfläche wirken, lassen sich damit visualisieren. Zur Ermittlung der Polarisationsinformationen waren bisher 4 sequentielle Aufnahmen mit unterschiedlicher Ausrichtung des Polarisationsfilters und anschließender PC-Verarbeitung notwendig. Mit Sonys Polarsens Technologie genügt dafür eine einzige Aufnahme. Durch zusätzliche Datenvorverarbeitung werden die Rohdaten von IDS Polarisationsakameras in Echtzeit zu sinnvollen Bildformaten konvertiert, für eine effektivere Weiterverarbeitung oder Auswertung im Host PC.

Was unterscheidet eine IDS Polarisationskamera von einer normalen Kamera, beziehungsweise welche Möglichkeiten bringt eine Vorverarbeitung der Polarisationsinformationen in der Kamera? Um den Anwendungsfall dieser speziellen Kameras zu verstehen, ist ein kurzer Technik-Exkurs notwendig.

Wir wissen bereits, dass es sich bei Licht um elektromagnetische Wellen handelt, die alle wichtigen Informationen enthalten, um die für uns sichtbaren Merkmale des Lichts zu beschreiben. Sowohl das menschliche Auge als auch die Bildsensoren von Kameras können Richtung, Intensität (Amplitude) und Farbe (Wellenlänge) des Lichts einfangen und für Bildverarbeitung digitalisieren. Wobei der Wellenlängenbereich des Lichts nur einen kleinen Teil des gesamten Spektrums elektromagnetischer Wellen ausmacht.

Polarisiertes Licht

Ein weiteres Merkmal, das in der Bildverarbeitung bisher hauptsächlich durch spezielle Beleuchtungen, Filtergläser und Optiken nutzbar war, ist die Polarisierung der Wellen. Die Polarisierung beschreibt nicht die Richtung der Lichtstrahlen selbst, sondern die Richtung der Wellen-Amplituden, in welcher die Lichtteilchen (Photonen) senkrecht zur Ausbreitungsrichtung schwingen. Die Wellen von unpolarisiertem Licht schwingen in verschiedene Richtungen. Glühlampen oder das Sonnenlicht sind Beispiele dafür. Bewegen sich die Photonen hingegen in lediglich einer Ebene sprechen wir von linear polarisiertem Licht. Spezielle Polarisatoren absorbieren bzw. dämpfen einfallendes Licht, das in allen Ebenen außer einer - ihrer Polarisationsachse - oszilliert, wodurch eine annähernd lineare Polarisation entsteht.

Zur Wirkung von linearen Polarisationsfiltern
Den Einfluss auf die resultierende Intensität einer Lichtwelle mit der Anfangsintensität I0 beim Durchgang durch einen linearen Polarisationsfilter, hat der französischen Physikers Étienne Louis Malus bereits 1808 nachgewiesen und mit dem "Gesetz von Malus" mathematisch beschrieben: I = I0 . cos²(Φ)
Demnach werden Lichtwellen, die gegenüber der optischen Achse des Polarisators verdreht sind, nicht generell blockiert, sondern in der Intensität winkelabhängig abgeschwächt und in Richtung des Filters polarisiert. Die Wirkung von linearen Polarisatoren wird oft missverständlich beschrieben oder dargestellt. Auch die Graphik oben ist leider ein Beispiel dafür.

Was haben Reflexionen mit Polarisierung zu tun?

Auf stark reflektierenden Oberflächen, wie beispielsweise Glas, können Lichtstrahlen abgelenkt werden. Je nach Betrachtungswinkel des Objekts kann es dann zu unerwünschten Reflexionen in Richtung des Betrachters kommen. Das folgende Bildbeispiel mit dem Auto zeigt, wie Autoscheiben bedingt durch solche Lichtreflexionen undurchsichtig werden. Objekte oder Personen im Innenraum sind dadurch kaum noch zu erkennen - werden quasi "unsichtbar".

Treten Lichtreflexionen an nichtmetallischen Oberflächen auf (wie hier auf Glas), kommt es durch physikalische Vorgänge zu einer natürlichen Polarisierung des Lichts. D.h. durch einen entsprechenden Polfilter kann dieser spezielle, polarisierte Lichtanteil und damit der Blendeffekt reduziert werden. Der unpolarisierte Teil des Lichts kann hingegen weiterhin den Filter passieren.

Lichtreflexionen an einer Windschutzscheibe können durch Polarisationsfilter entfernt werden

Reflexionen an metallischen Oberflächen können nicht durch einen Polfilter allein eliminiert werden! Auf metallischen Oberflächen wird das Licht nicht polarisiert, sondern nur gespiegelt. Deshalb ist es trotz Polarisationskamera je nach Anwendung unbedingt erforderlich, einen zusätzlichen Polfilter auf die Beleuchtung zu montieren, um störende Lichtspiegelungen zu unterdrücken.

Der Einsatz von bereits polarisiertem Licht (z.B. durch eine Polfilterfolie vor der Beleuchtung) vermindert die Erzeugung von Reflexionen an Oberflächen zusätzlich. Spezielle Computer Displays (ohne Touch-Funktion) werden daher mit einer "entspiegelten" Folie versehen. Die Lichtintensität nimmt damit zwar mit geringen Betrachtungswinkel ab, es entstehen aber keine Spiegelungen. Schaut man fast parallel auf diese Displays scheint der Bildschirm dunkel zu sein!

Bedeutung von Polarisierung für die Bildverarbeitung

Für die reine Wahrnehmung bzw. die Digitalisierung von Licht macht es technisch keinen Unterschied ob wir es mit polarisiertem bzw. unpolarisiertem Licht zu tun haben. In der digitalen Bildverarbeitung ist in erster Linie die Ausleuchtung einer Szene das A und O, um bestimmte Merkmale sichtbar zu machen. Doch jeder, der schon selbst eine Bildaufnahme mit Beleuchtung gemacht hat, kennt die Vor- und Nachteile. Die unerwünschte Schattenbildung ist eher einfach mit zusätzlicher oder stärkerer Beleuchtung aus weiteren Richtungen in den Griff zu bekommen. In Verbindung mit Diffusor-Scheiben erreicht man damit eine homogenere Ausleuchtung der Szene. Doch in Zusammenhang mit Licht kämpft man auch immer mit störenden Reflexionen und Überblendungen, wodurch wichtige Merkmale oft unentdeckt bleiben. Wenn eine Spiegelung Informationen auslöscht, weil beispielsweise das Gesicht eines Autofahrers durch die Spiegelung auf der Windschutzscheibe überstrahlt wird, kann dies nach der Bildaufnahme mit keiner Bildbearbeitungstechnik wiederhergestellt werden. Gerade in der industriellen Bildverarbeitung arbeitet man daher oft mit diffusem Streulicht, um die Störeinflüsse möglichst zu reduzieren. Je nach Anwendung kann eine optimale Beleuchtung aber mit sehr hohen Kosten zu Buche schlagen.

Doch nicht immer ist mehr auch besser bzw. geeignet! Im Fall von Licht kann auch durch gezielte Filterung der störenden Einflüsse das Wesentliche sichtbar werden. Das Wissen über polarisiertes Licht, wie es entsteht und wie man es beeinflusst, liefert hierzu Lösungsansätze. So werden Polarisationsfilter in der Bildverarbeitung zur Verringerung von Spiegelungen oder Glanzlichter aber auch zur Erhöhung des Kontrasts eingesetzt. Auch in der Spannungsoptik sind sie hilfreich, um physikalische Eigenschaften unter der Oberfläche zu visualisieren.

Vorteil Polarisation
Da Licht nicht nur von oberflächlichen sondern auch durch andere physikalische Eigenschaften, wie z.B. mechanischen Belastungen oder Lichtbrechungen polarisiert wird, können auch Objektmerkmale und Defekte sichtbar gemacht werden, die von normalen Bildsensoren nicht erfasst werden können.

Unsichtbares sichtbar machen

Nicht immer werden gesuchte Materialfehler oder Objektmerkmale durch mehr Licht oder durch Eliminierung störender Einflüsse sichtbar. Im folgenden Bildbeispiel scheint es nur so, als würden die für uns wichtigen Inhalte mehr belichtet bzw. deren Lichtintensität verstärkt. Dem ist nicht so. Durch die Reflexionen des Lichts an den Flecken und Kratzern wird das Licht polarisiert.

Mithilfe des Polarisationsgrads werden bei der Glasinspektion Flecken und Kratzer sichtbar

Die Fingerabdrücke und Kratzer sind hier nur durch die Visualisierung des "Polarisationsgrads" sehr deutlich zu sehen, wodurch die polarisierten Lichtstrahlen deutlicher zu erkennen sind als unpolarisiertes Licht. Doch normale Kamerasensoren zeichnen die Polarisation des Lichts nicht auf. Damit geht die Information bei der Aufnahme verloren. Eine Visualisierung oder sogar eine nachträgliche Polarisationskorrektur per Bildverarbeitung kann nicht mehr angewendet werden, da selbst in einer RAW-Datei nicht mehr erkennbar ist, wo Licht mit welchem Polarisationswinkel und -grad aufgenommen wurde.

Um ein solches Bild zu berechnen ist es notwendig die Polarisation des Lichts dieser Szene in Zahlen zu erfassen. Damit wird es möglich ein bereits digitalisiertes Bild nachträglich zu bearbeiten bzw. für uns "unsichtbare" Merkmale sichtbar zu machen. Diese Quantisierung der Polarisation ist beispielsweise mit Sonys Polarsens Technologie sehr einfach möglich. D.h. mit Kameras wie unsere GV-5080CP-P (GigE Vision) bzw. U3-3080CP-P (USB3 Vision), die den Sony Mono Polarsens-Sensor IMX250MZR beinhalten, können die Polarisationsinformationen mit einem einzigen Bild erfasst werden.

Ein einziges Bild genügt, um die Polarisationsinformationen mitsamt dem Bildinhalt zu erfassen. Besonderes Zubehör wie eine polarisierte Lichtquelle oder Polarisationsfilter sind dafür nicht notwendig. Möglich macht das der neuartige Aufbau des Sony Sensors.

Aufbau des Sony OnChip-Polarizer

Der zwischen Fotodioden und Mikrolinsen liegende "Vier-Richtungs-Polarisator" erzeugt durch das Prinzip von linearen Polarisationsfiltern ein Sensor-Rohbild mit vier Polarisationsrichtungen (0°, 45°, 90° oder 135°) in einer Aufnahme. Für jeden Winkel der Polarisationsfilter misst man eine unterschiedliche Intensität. Jeweils vier benachbarte Pixel in einem 2x2 Cluster bilden mit ihren vier verschiedenen Polarisationsfiltern eine "Berechnungseinheit". Die realen 5 Megapixel des Sensors teilen sich dadurch in 4 kleinere Bilder für je einen Polarisationswinkel, deren Bildinhalt aber denselben Moment wiederspiegeln. Damit liegen in der Kamera die optimalen Ausgangsdaten für die Berechnung der Polarisationsinformationen vor – und das mit jeder Aufnahme.

Die vier Einzelbilder liegen mit 1,26 MP in einer reduzierten Auflösung und Helligkeit vor, was bei den nachfolgenden Polarisationsbestimmungen im Grenzbereich zu starkem Rauschen der Ergebniswerte führen kann. Sorgen Sie deshalb bei den Aufnahmen für geeignete und ausreichende Beleuchtung.

OnCamera-Polarisierung

Komponentenauswahl und Datenvorverarbeitung der Polarisationsinformationen in der Kamera
Komponentenauswahl und Datenvorverarbeitung der Polarisationsinformationen in der Kamera

Industriekameras liefern das Bildmaterial für die digitale Verarbeitung. Auch wenn das Rohformat eines Bildsensors, die meisten Möglichkeiten für eine nachträgliche Bildverarbeitung bietet, ist es beispielsweise ungeeignet für eine direkte visuelle Inspektion. Durch eine Vorverarbeitung könnten wichtige und oft benötigte Ergebnisse direkt berechnet werden. Zudem kann damit Zeit und PC-Rechenlast eingespart werden. In Kombination mit der Sony Polarsens Technologie bieten sich daher neben dem Sensor-Rohformat weitere sinnvolle Bildformate an, welche für die Bildverarbeitungsprozesse auf dem PC optimale Ausgangsdaten zur Verfügung zu stellen können.

Ab Kamerafirmware Version 2.4 sind uEye CP Polarisationskameras in der Lage, mittels der Rohbilddaten des "Vier-Richtungs-Polarisators" die Richtung und Grad von polarisiertem Licht durch Pixelvorverarbeitung selbständig aus einer einzigen Bildaufnahme zu bestimmen. Dadurch können mit den Polarisationsdaten neue Bildinformationen berechnet und visualisiert werden, um beispielsweise einen Kontrast sichtbar zu machen. Mit vordefinierten, auswählbaren Bildkomponenten kann der Anwender beispielsweise störende Lichtreflexionen direkt aus den Sensor-Rohdaten herausfiltern oder reflektierende Objektmerkmale bei fast vollständiger Dunkelheit schon vor der Bildübertragung zum PC sichtbar machen – und das mit einem Klick!

Vorteil "OnCamera-Datenvorverabeitung"
  - It's so easy  - Erleichtert die Arbeit des Bildverarbeiters, der von der Kamera schon die optimalen Daten für die Weiterverarbeitung bekommt.
  - Effizient  -  Schont PC-Ressourcen. Kamera und PC teilen sich die Arbeit sinnvoll auf.
  - Vision-konform  -  Ergebnisdaten der Kamera stehen ohne zusätzliche oder spezielle Software jeder Standard Vision Anwendung zur Verfügung.

Anwendungsspezifische Bildformate

Für die wichtigsten Anwendungsfälle werden dafür 8 Bildformate zur Auswahl angeboten, die in Echtzeit im FPGA der Kamera berechnet werden.

Raw
Bildformat: 8 Bit Mono, 2448 x 2048 Pixel (volle Sensorauflösung)
Im Raw-Modus liefert die Kamera die Sensordaten ohne Vorverarbeitung in voller 5 MPixel Auflösung als 8 Bit Grauwertbild aus. Mit den Intensitätswerten der unterschiedlich polarisierten Pixelfilter können sowohl Winkel als auch der Polarisationsgrad des linear polarisierten Lichts bestimmt werden. Das Raw-Datenformat ist damit Basis für eigene PC-basierte Auswertungen und Berechnungen in der Kundenanwendung.

Intensity
Bildformat: 8 Bit Mono, 1216 x 1024 Pixel (1/4 der Sensorauflösung)
"Intensity" entspricht dem Mittelwert (m) der vier gemessenen Licht-Intensitäten nach Durchqueren des "Vier-Richtungs-Polarisators" mit den vier Polarisationsrichtungen 0°, 45°, 90° oder 135°. Er wird berechnet mit m = (I_0° + I_45° + I_90° + I_135°) / 4
Das Bildformat repräsentiert die Helligkeit ohne Polarisationsinformation des Lichts. Es ist damit am ehesten mit dem Intensitätswert vergleichbar, den auch ein normaler Mono-Bildsensor aufnehmen würde.

IntensityNonPolarized
Bildformat: 8 Bit Mono, 1216 x 1024 Pixel (1/4 der Sensorauflösung)
Dieser Intensitätswert (I_min) entspricht lediglich dem Anteil an unpolarisiertem Licht im Bild. Der polarisierte Anteil des Lichts wird mit I_min = m * (1 - DoP) herausgerechnet. Mit diesem Bildformat werden Licht-Reflexionen bereits effektiv reduziert.

IntensityOnlyPolarized
Bildformat: 8 Bit Mono, 1216 x 1024 Pixel (1/4 der Sensorauflösung)
Dieses Grauwertbild (I_amp) beinhaltet nur den polarisierten Anteil des Lichts. Es wird mittels I_amp = I_max - I_min berechnet. Bereiche, in denen kein polarisiertes Licht vorhanden ist, werden dunkler. Die aktuelle Helligkeit der einzelnen Pixel geht voll in die Abbildung mit ein. Belichtungsänderungen beeinflussen die Darstellung. Das unterscheidet den Modus vom Polarisationsgrad (DoP), da hier die Absolutwerte und nicht die relativen Anteile ausgegeben werden.

DegreeOfPolarization (DoP)
Bildformat: 8 Bit Mono, 1216 x 1024 Pixel (1/4 der Sensorauflösung)
Der Polarisationsgrad gibt den Anteil des polarisierten Lichts in Prozent im Verhältnis zur Gesamtintensität an. Durch die relativen Werte wird die DoP-Berechnung nur wenig von Belichtungsänderungen beeinflusst, solange kein Clipping auftritt.

  • Je höher der Polarisationsgrad, desto besser sind die ermittelten Winkel für nachfolgende Berechnungen und Analysen geeignet.
  • Bei zu geringen DoP-Werten werden die Polarisationsinformationen unbrauchbar für Analysen. Es kommt zu starkem Rauschen in den Bildinformationen.

In Anwendungen mit polarisiertem Licht ist DoP ein wichtiger Wert für die Qualität der Ergebnisse bzw. ein gutes Maß für die Qualifizierung der richtigen Lichtverhältnisse einer Szene.

PolarizationAngle
Bildformat: 8 Bit Mono, 1216 x 1024 Pixel (1/4 der Sensorauflösung)
Dieser Bildmodus stellt alle berechneten Polarisationswinkel (1 Winkel pro "Vier-Richtungs-Polarisators" mit 2x2 Pixel) als Grauwertbild dar. Die Winkel werden intern so skaliert, dass sie im Bereich von 0-180° ausgegeben werden. Negative Ausgabewerte treten somit nicht auf.

In Bereichen, mit sehr wenig polarisiertem Licht variieren die Winkelergebnisse sehr stark, da die Winkelinformation aus den "Vier-Richtungs-Polarisatoren" durch Rauschen nicht sauber extrahiert werden können. Dadurch ist oft keine stabile Winkelberechnung möglich.

Bei Verwendung der berechneten Polarisationswinkel in einer Anwendung ist eine vorherige Qualifizierung durch den Grad der Polarisierung (DoP) ratsam.

Verknüpfung von Winkel- und Polarisationsgrad-Information

Unter Zuhilfenahme des HSV-Farbraums kann die Kamera ein Kombinationsbildformat mit mehr als einer Information erzeugen. Durch die Verknüpfung von beispielsweise Winkel und Grad der Polarisation in einem Bild lassen sich die Ergebnisse besonders gut interpretieren. Dabei entsteht zudem eine Falschfarbendarstellung, welche die Zusammenhänge auch visualisiert.

Gerade wenn die Winkelinformation durch Rauschen nicht sauber extrahiert werden kann, da sehr wenig polarisiertes Licht vorhanden ist, sind die Ergebnisse meist unbrauchbar für aussagekräftige Weiterverarbeitung. Hier liefert ein Kombinationsformat zusätzlich zum Winkelwert auch gleichzeitig ein Maß zur Validierung im selben Bild!

IDSHeatMap
Bildformat: 24 Bit RGB, 1216 x 1024 Pixel (1/4 der Sensorauflösung), HSV-basiert (H = Winkel, V = DoP, S = 100%)
In diesem Kombiformat wird der ermittelte Polarisationswinkel mit dem Polarisationsgrad verknüpft. Die Helligkeit des Ergebnisbilds wird durch den DoP skaliert. Dadurch zeigen dunkle Bereiche, dass die Winkelinformation nicht zuverlässig ist, da der Polarisationsanteil sehr gering ist und damit die Winkelberechnung ungenau sein kann. Für helle Bereiche ist hingegen sehr viel Polarisationsanteil vorhanden und der Winkel kann verlässlich ermittelt werden.

IDSColorMap
Bildformat: 24 Bit RGB, 1216 x 1024 Pixel (1/4 der Sensorauflösung), HSV-basiert (H = Winkel, V = abs (Mono - DoP), S = DoP)
In diesem Kombiformat werden ebenfalls der ermittelte Polarisationswinkel mit dem Polarisationsgrad verknüpft. Jedoch fließt hier das eigentliche Grauwertbild mit in die Berechnung ein. Die Helligkeit entspricht hier dem Betrag aus der Differenz zwischen dem Grauwertbild und DoP. Dadurch wird das Bild durch helle Monobildbereiche als auch durch hohe DoP insgesamt heller. Nur Bereiche, in denen weder eine Helligkeitsinformation noch eine hohe DoP-Information vorliegen, werden dunkel bzw. schwarz. Zusätzlich wird DoP als Sättigung verwendet. Dadurch deuten kräftige Farben auf einen hohen Anteil an polarisiertem Licht im Bildbereich hin.

IDSColorMap Visualisierung
IDSColorMap Visualisierung

Konfiguration über das IDS Vision Cockpit

Die Bildformate von IDS Polarisationskameras lassen sich mit jeder GenICam-kompatiblen Software einstellen und nutzen. Wir erklären die Konfiguration der Kameraparameter unter Zuhilfenahme des IDS Vision Cockpits, das Sie mit unserem Software Development Kit IDS peak installieren können. Die Bildformate sind als einzeln aktivierbare Bildkomponenten im Zweig ImageFormatControl zu finden. Wenn Sie Ihre Kamera mit Firmware 2.4 geöffnet haben, finden Sie die Einstellungen durch Eingabe von beispielsweise "Component" im Suchfeld.

Die einzelnen Bildformate aktivieren Sie mit dem Vision Cockpit folgendermaßen:

  • Bildeinzug deaktivieren
  • gewünschtes Bildformat mit dem "Component Selector" auswählen
  • Bildformat mit "Component Enable" aktivieren
  • Bildeinzug wieder starten

Das benötigte Bildformat (z.B. "8 Bit Mono" oder "24 Bit RGB") stellt die Kamera selbständig um.

Auswahl der Polarisationsformate im IDS Vision Cockpit
Auswahl der Polarisationsformate im IDS Vision Cockpit

Programmieren mit IDS peak

Für die Verwendung der neuen Bildformate in Ihrer eigenen Anwendung sind auch nur wenige Code-Zeilen notwendig. Die folgenden Code-Blöcke zeigen die Programmierung der Bildformate mit IDS peak in der Programmiersprache C#.

Abrufen aller verfügbaren Bildkomponenten

var imageComponentsNode = nodeMapRemoteDevice.FindNode<peak.core.nodes.EnumerationNode>("ComponentSelector");
var availableImageComponents = imageComponentsNode.Entries();
foreach (var entry in availableImageComponents)
{
    display(entry.StringValue());
}

Abfragen der aktuell aktiven Bildkomponente

var activeImageComponent = "";
foreach (var entry in availableImageComponents)
{
    imageComponentsNode.SetCurrentEntry(entry);
    if (nodeMapRemoteDevice.FindNode<peak.core.nodes.BooleanNode>("ComponentEnable").Value() == true)
    {
       activeImageComponent = entry.StringValue();
    }
}
display(activeImageComponent);

Auswahl und aktiveren einer Bildkomponente

imageComponentsNode.SetCurrentEntry("IDSHeatMap");
nodeMapRemoteDevice.FindNode<peak.core.nodes.BooleanNode>("ComponentEnable").SetValue(true);

Zusammenfassung

Polarisation ist eine Eigenschaft des Lichts, die es ermöglicht Objekteigenschaften zu erkennen, die für das menschliche Auge und auch "normale" Bildsensoren unsichtbar sind. Damit stellt sie ein wichtiges Werkzeug für die digitale Bildverarbeitung in Anwendungen mit spiegelnden oder lichtdurchlässigen Oberflächen dar. Durch den SONY IMX250MZR Sensor und die OnCamera Pixelvorverarbeitung sind IDS Polarisationskameras in der Lage alle notwendigen Polarisationsinformationen der Bildszene mit einer einzigen Bildaufnahme zu ermitteln und diese in verschiedenen Pixelformaten für die Weiterverarbeitung bzw. direkten Auswertung dem Host PC zur Verfügung zu stellen.

FPGA-beschleunigte Algorithmen machen aus den Kameras mehr als Lieferanten der reinen Sensordaten. In Echtzeit liefern sie bereits sinnvolle Auswertungen, die von jeder GenICam konformen Anwendung über GigE oder USB3 Vision Interface weiter verwendet werden können. IDS Polarisationskameras werden damit Teil der Bildverarbeitung und reduzieren zudem noch die Rechenlast des Host PC.

Testen Sie selbst, wie einfach Objektmerkmale schon vor der Bildübertragung mit einem Klick zum PC sichtbar werden.