Demosaicing

Ein Demosaicing-Algorithmus ist ein digitaler Bildprozess, der verwendet wird, um ein Vollfarbenbild aus den unvollständigen Farbproben zu rekonstruieren, die von einem Bildsensor ausgegeben werden, der mit einem Farbfilterarray (CFA) überlagert ist. Es ist auch bekannt als CFA-Interpolation oder Farbrekonstruktion.

Die meisten modernen Digitalkameras erfassen Bilder unter Verwendung eines einzelnen Bildsensors, der mit einem CFA überlagert ist, so dass Demosaicing Teil der Verarbeitungspipeline ist, die erforderlich ist, um diese Bilder in ein sichtbares Format zu bringen.

Viele moderne Digitalkameras können Bilder in einem Rohformat speichern, so dass der Benutzer sie mithilfe von Software demasieren kann, anstatt die integrierte Firmware der Kamera zu verwenden.

Tor
Das Ziel eines Demosaicing-Algorithmus besteht darin, ein Vollfarbbild (dh einen vollständigen Satz von Farbtripeln) aus den räumlich unterabgetasteten Farbkanälen, die von dem CFA ausgegeben werden, zu rekonstruieren. Der Algorithmus sollte die folgenden Merkmale aufweisen:

Vermeidung der Einführung falscher Farbartefakte, wie chromatische Aliase, Zippering (abrupte unnatürliche Änderungen der Intensität über eine Anzahl benachbarter Pixel) und violette Farbsäume
Maximale Erhaltung der Bildauflösung
Geringe rechnerische Komplexität für schnelle Verarbeitung oder effiziente hardwaremäßige Implementierung in der Kamera
Analysefähigkeit für genaue Geräuschreduzierung

Farbfilter-Array
Ein Farbfilter-Array ist ein Mosaik aus Farbfiltern vor dem Bildsensor. Im Handel ist die am häufigsten verwendete CFA-Konfiguration der hier dargestellte Bayer-Filter. Dies hat abwechselnde rote (R) und grüne (G) Filter für ungerade Reihen und abwechselnde grüne (G) und blaue (B) Filter für gerade Reihen. Es gibt doppelt so viele grüne Filter wie rote oder blaue, die dem menschlichen Auge eine höhere Empfindlichkeit gegenüber grünem Licht bieten.

Da die Farbunterabtastung eines CFA von Natur aus zu Aliasing führt, wird typischerweise ein optischer Anti-Aliasing-Filter in dem optischen Weg zwischen dem Bildsensor und der Linse angeordnet, um die durch Interpolation eingeführten Falschfarbenartefakte (chromatische Aliase) zu reduzieren.

Da sich jedes Pixel des Sensors hinter einem Farbfilter befindet, ist die Ausgabe eine Anordnung von Pixelwerten, die jeweils eine rohe Intensität einer der drei Filterfarben anzeigen. Daher wird ein Algorithmus benötigt, um für jedes Pixel die Farbpegel für alle Farbkomponenten anstelle einer einzelnen Komponente zu schätzen.

Illustration
Um ein Vollfarbenbild aus den Daten zu rekonstruieren, die von dem Farbfilterarray gesammelt wurden, ist eine Form der Interpolation erforderlich, um die Leerstellen auszufüllen. Die Mathematik unterliegt hier einer individuellen Implementierung und wird als Demosaicing bezeichnet.

In diesem Beispiel verwenden wir die bikubische Interpolation von Adobe Photoshop, um die Schaltung eines Bayer-Filtergeräts wie einer Digitalkamera zu simulieren.

Das Bild unten simuliert die Ausgabe eines Bayer-gefilterten Bildsensors; Jedes Pixel hat nur eine rote, grüne oder blaue Komponente. Das entsprechende Originalbild wird neben der demosaikierten Rekonstruktion am Ende dieses Abschnitts gezeigt.

Das rekonstruierte Bild ist typischerweise in gleichfarbigen Bereichen genau, hat jedoch einen Verlust an Auflösung (Detail und Schärfe) und weist Kantenartefakte auf (z. B. haben die Kanten von Buchstaben sichtbare Farbsäume und eine gewisse Rauhigkeit).

Algorithmen

Einfache Interpolation
Diese Algorithmen sind Beispiele für multivariate Interpolation auf einem gleichmäßigen Gitter unter Verwendung relativ einfacher mathematischer Operationen an nahegelegenen Instanzen der gleichen Farbkomponente. Das einfachste Verfahren ist die Nearest-Neighbor-Interpolation, die einfach ein benachbartes Pixel desselben Farbkanals kopiert. Es ist für Anwendungen, bei denen Qualität von Bedeutung ist, ungeeignet, kann aber bei begrenzten Rechenressourcen zur Erzeugung von Vorschaubildern nützlich sein. Ein weiteres einfaches Verfahren ist die bilineare Interpolation, wobei der Rotwert eines nicht-roten Pixels als Durchschnitt der zwei oder vier benachbarten roten Pixel berechnet wird, und ebenso für Blau und Grün. Komplexere Verfahren, die unabhängig innerhalb jeder Farbebene interpolieren, umfassen bikubische Interpolation, Spline-Interpolation und Lanczos-Resampling.

Obwohl diese Verfahren in homogenen Bildregionen gute Ergebnisse erzielen können, neigen sie in Regionen mit Kanten und Details zu starken Demosaiking-Artefakten, wenn sie mit reinen Farb-CFAs verwendet werden. Die lineare Interpolation kann jedoch sehr gute Ergebnisse erzielen, wenn sie mit einem räumlich-spektralen (panchromatischen) CFA kombiniert wird. Man könnte einfache Formationsmodelle von Bildern für das Demosaicing ausnutzen. In natürlichen Bildern innerhalb desselben Segments sollte das Verhältnis der Farben beibehalten werden. Diese Tatsache wurde in einer bildsensitiven Interpolation für das Demosaicing ausgenutzt.

Pixel-Korrelation innerhalb eines Bildes
Anspruchsvollere Demosaicing-Algorithmen nutzen die räumliche und / oder spektrale Korrelation von Pixeln innerhalb eines Farbbildes aus. Räumliche Korrelation ist die Tendenz von Pixeln, ähnliche Farbwerte innerhalb einer kleinen homogenen Region eines Bildes anzunehmen. Spektralkorrelation ist die Abhängigkeit zwischen den Pixelwerten verschiedener Farbebenen in einem kleinen Bildbereich.

Diese Algorithmen umfassen:

Variable Anzahl der Gradienten Die Interpolation berechnet Gradienten in der Nähe des interessierenden Pixels und verwendet die unteren Gradienten (die glattere und ähnlichere Teile des Bildes darstellen), um eine Schätzung vorzunehmen. Es wird in den ersten Versionen von dcraw verwendet und leidet an Farbartefakten.
Die Pixelgruppierung verwendet Annahmen über natürliche Landschaften, um Schätzungen vorzunehmen. Es hat weniger Farbartefakte auf natürlichen Bildern als die Methode der Variablenanzahl der Gradienten. es wurde in dcraw aus rel eingeführt. 8.71 als “Gemusterte Pixelgruppierung”.
Adaptive homogenitätsgerichtete Interpolation wählt die Richtung der Interpolation aus, um eine Homogenitätsmetrik zu maximieren, wodurch typischerweise Farbartefakte minimiert werden. Es wurde in den letzten Versionen von dcraw implementiert.

Video-Super-Auflösung / Demosaicing
Es hat sich gezeigt, dass Super-Resolution und Demosaicing zwei Gesichter desselben Problems sind und es sinnvoll ist, sie in einem einheitlichen Kontext anzusprechen. Beachten Sie, dass diese beiden Probleme das Alias-Problem beheben. Insbesondere im Fall der Video (Multi-Frame) -Rekonstruktion bietet daher ein gemeinsamer Super-Resolution- und Demosaicing-Ansatz die optimale Lösung.

Kompromisse
Einige Methoden können bessere Ergebnisse für natürliche Szenen liefern, und einige für gedrucktes Material. Dies spiegelt das inhärente Problem bei der Schätzung von Pixeln wider, die wir nicht wirklich sicher kennen. Natürlich gibt es auch den allgegenwärtigen Kompromiss zwischen Geschwindigkeit und Qualität der Schätzung.

Verwenden Sie in Computer-Bildverarbeitungssoftware
Wenn man Zugriff auf die Rohbilddaten von einer Digitalkamera hat, kann man eine Computersoftware mit einer Vielzahl von verschiedenen Demosaicing-Algorithmen verwenden, anstatt sich auf die in der Kamera eingebaute zu beschränken. Einige rohe Entwicklungsprogramme, wie RawTherapee, geben dem Benutzer die Möglichkeit zu wählen, welcher Algorithmus verwendet werden soll. Die meisten Programme sind jedoch so codiert, dass sie eine bestimmte Methode verwenden. Die Unterschiede bei der Wiedergabe der feinsten Details (und der Kornstruktur), die von der Wahl des Demosaicing-Algorithmus herrühren, gehören zu den Hauptunterschieden zwischen verschiedenen Rohentwicklern; oft bevorzugen Fotografen ein bestimmtes Programm aus ästhetischen Gründen, die mit diesem Effekt verbunden sind.

Die Farbartefakte aufgrund der Demosaikierung liefern wichtige Hinweise zur Identifizierung von Fotofälschungen.