Was sind die Vor- und Nachteile verschiedener Bayer-Demosaicing-Algorithmen?

25

Bayer-Sensoren verwenden ein Muster aus roten, grünen und blauen Pixeln und fügen diese zu einem endgültigen Farbbild zusammen, wobei für jeden einzelnen Farbsensor ein Pixel verwendet wird. Dies könnte durch eine "naive" Mischung von Nachbarsensoren geschehen, aber ich habe von komplizierteren Ansätzen mit Namen wie AHD, HPHD und AMaZE gehört.

Was sind diese anderen Ansätze und welche Vorteile bringen sie? Haben sie Schwächen, die über die Komplexität der Berechnungen hinausgehen?

Ich stelle mir vor, dass der Ansatz für JPEG in der Kamera strenger überwacht wird, aber es ist klar, dass viel Forschung und Entwicklung in diesen Bereich fließen. Erzwingt die begrenzte in der Kamera verfügbare Verarbeitungsleistung Kompromisse in diesem Bereich?

mattdm
quelle
Ich könnte mich irren, aber ich hatte den Eindruck, dass das Demosaiacing in der Kamera stattfindet, da das Bild sonst unter einem Aliasing leidet. Es gab einen interessanten Artikel darüber in einer der kürzlich erschienenen "Popular Photography", in dem es um das Sigma (Foveon X3-Sensor) ging, eine der wenigen Kameras, die keinen Bayer-Sensor haben.
Jakub Sisak GeoGraphics
1
Nun, eine kurze Untersuchung zeigt, dass AHD (Adaptive Homogenity-Directed Demosaicing) der "Industriestandard" ist und von ACR / LR verwendet zu werden scheint (zumindest seit einigen Versionen vor ... wer weiß, ob dies der Fall ist) mit ACR 6.x und LR4.x etwas Fortgeschritteneres eingeführt). Es scheint ein gewichteter Algorithmus zu sein, der darauf abzielt, Falschfarben zu reduzieren.
jrista
7
@Jakub: Bei JPEG-Bildern erfolgt die Demosaizierung in der Kamera. Der springende Punkt eines RAW-Bildes ist, dass es noch NICHT demoasiert wurde und die "rohe" Aufzeichnung von Pixeldaten direkt vom Sensor ohne zusätzliche Verarbeitung (außerhalb Ihrer Grundverstärkung, um die erforderliche ISO zu erreichen). Ein optischer Tiefpunkt -Pass-Filter (AA-Filter) eliminiert Aliasing, indem räumliche Frequenzen unterhalb der Nyquist-Rate des Sensors physikalisch "verwischt" werden.
jrista
Denken Sie daran, dass die Farbfilter "Rot", "Grün" und "Blau" in unseren Bayer-Arrays nicht den Emittern "Rot", "Grün" und "Blau" in unseren RGB-Geräten entsprechen.
Michael C
Eh, sie sind wirklich nah genug, um so zu behandeln. Du wirst keine perfekte Farbe bekommen, aber es ist im Stadion. Sehen Sie sich zum Beispiel die vergrößerte Ansicht auf petapixel.com/2013/02/12/… an - nur optisch sind die Farben der Filter definitiv diejenigen, als die wir sie identifizieren.
Mattdm

Antworten:

19

Ich war vor einigen Monaten überrascht, dass mein Bildverarbeitungskamera-SDK die "Interpolation" des nächsten Nachbarn in seiner eingebauten Überlagerungsfunktion verwendete. Es ist der schnellste, aber schlechteste Typ, der harte Kanten liefert, insbesondere wenn Sie anfangen, die Bildkanäle auf Farbkonstanz oder Helligkeitsinvarianz zu berechnen. Ich fand diese Überprüfung der Algorithmen:

http://www.arl.army.mil/arlreports/2010/ARL-TR-5061.pdf

Der nächste Schritt sind bilineare und bikubische Interpolationen, die recht schnell berechnet werden können, weil sie nur Faltungskerne ergeben. Diese ergeben farbige Sägezähne an schrägen Kanten - bilinear mehr als bikubisch.

Kann in diesem Artikel und mit quantifizierten Qualitätsdaten zu 5 verschiedenen Algorithmen gesehen werden:

http://research.microsoft.com/en-us/um/people/lhe/papers/icassp04.demosaicing.pdf

Aus diesem Grund haben sie Interpolationen in Kantenrichtung durchgeführt. Diese behandeln Grün jedoch als einen "wichtigeren Kanal" (da es die beste Auflösung hat und den größten Teil unserer visuellen Empfindlichkeit und der Auflösung unserer Augen ausmacht). Und dann erzeugen sie blau und rot als Funktion des grünen Kanals in einer farbtonerhaltenden Weise. Dies wiederum erhöht die Fehleranfälligkeit von Grünkanal-Hochfrequenzinhalten. Die Komplexität ist höher, da sie erkennen müssen, was vor sich geht, und mehrere Durchgänge erfordern. Moire und Mais sind häufige Artefakte bei dieser Art der Interpolation.

Hier zeigen sie Beispiele für Adaptive Homogeneity Demosaicing und bilineare Versionen mit und ohne Farbtonerhalt und kantenerhaltenden Addons:

http://math.auburn.edu/~kilgota/ahd_bayer.pdf

Dieses Papier bevorzugt AHD und zeigt den negativen Teil nicht. Auf dieser Seite sehen Sie die verschiedenen Musterartefakte von Adaptive Homogeneity Demosaicing, Patterned Pixel Grouping und Variable Number of Gradients (Fahren Sie mit der Maus über die Namen):

http://www.ruevski.com/rawhistogram/40D_Demosaicing/40D_DemosaicingArtifacts.html

Zusammenfassend gibt es eine Reihe von Annahmen, die in diesen Algorithmen verwendet werden, und Artefakte treten auf, wenn die Annahme nicht zutrifft:

  • Glätte pro Kanal. Wenn die nächsten Nachbarn nicht gleich sind, machen Sie den Übergang glatt. Artefakt: Sägen / Reißverschlüsse, Weichheit
  • Helligkeitskonstanz mit gerichteten Kanten (bilineare Richtung). Artefakte: Hochfrequenz-Textur-Moiré, Farbsäume
  • Farbtonkonstanz. Wenn in einer Nachbarschaft der Farbton gleich ist, müssen die anderen folgen, wenn sich ein Kanal ändert. Artefakte: Farbreißverschlüsse an den Farbkanten
  • Konstanz kann von den Grüns vorhergesagt werden. Artefakt: Irrgärten
Michael Nielsen
quelle
Kurze Frage - in der letzten Zeile meinst du "Mais" (Maissorten?) Oder "Labyrinthe"? In beiden Fällen würde ich eine etwas größere Erweiterung dieses Artefakttyps begrüßen.
Mattdm
Maus in einem Labyrinth.
Michael Nielsen
Cool :) Ich glaube, ich kenne das Artefakt, auf das sich das bezieht, bin mir aber nicht ganz sicher. Es ist ein zufälliges Pixel-Level-Muster aus kurzen horizontalen und vertikalen Linien (möglicherweise gemischt mit Rauschen), oder? Interessant zu wissen, woher das kommt - tatsächlich habe ich neulich beinahe eine Frage dazu gestellt, weil ich davon ausgegangen bin, dass es sich um ein NR-Artefakt handelt.
Mattdm
es sind diese Zeilen ja und es kommt von der Art und Weise, wie der Bayer-Algorithmus versucht, die Daten zu erraten.
Michael Nielsen
5

Ich habe ein bisschen damit gespielt und festgestellt, dass der naive Ansatz gar nicht so schlecht ist. Dabei wird einfach jede Farbe einzeln behandelt und interpoliert, um die Zwischenpixel zu ermitteln. Der Hauptnachteil ist, wenn Sie an einer Stelle mit hohem Kontrast Pixel gucken, können Sie ein wenig Farbsäume sehen. Anders ausgedrückt, wenn Sie einen hellgrauen Bereich haben, der an einen schwarzen Bereich angrenzt, sehen Sie einige farbige Pixel an der Grenze. Glücklicherweise werden diese im Allgemeinen gemittelt, aber wenn die Kante fast vertikal oder fast horizontal ist, werden sie über eine niedrige Frequenz gemittelt. Der gleiche Effekt kann bei dünnen, hellen Linien, die nahezu vertikal oder horizontal verlaufen, noch deutlicher sein.

Hier ist ein Beispiel. Dieses Bild wurde absichtlich als Testaufnahme aufgenommen:

Beachten Sie die sichtbare Streifenbildung in der Chromleiste. Um dies in die richtige Perspektive zu rücken:

Ich habe über einen alternativen Ansatz nachgedacht, aber bisher gab es immer zuerst andere Dinge zu tun. Dieses Schema würde versuchen, zuerst nur die Helligkeit zu finden . Dies wäre der einzelne Kanal von Bilddaten, wenn das Bild schwarzweiß wäre. Jeder Sinn trägt etwas dazu bei, obwohl die Farben nicht gleich viel beitragen. Sobald die Intensität bestimmt ist, würden Sie die Farben wie bei der naiven Methode interpolieren, aber das Ergebnis nur verwenden, um die Farben so einzustellen, dass die Intensität erhalten bleibt. Die Intensität hätte eine höhere Bandbreite oder wäre fotografisch schärfer als die Farbtoninformationen. Analoges Fernsehen verwendete diesen Trick, um die Bandbreitenanforderungen eines Farbbildes zu verringern. Sie sind damit durchgekommen, weil das menschliche visuelle System der Intensität eine höhere Bedeutung beimisst als den Farben, insbesondere dem Rot.

Jedenfalls sind das nur ein paar Gedanken. Wie gesagt, ich habe das noch nicht ausprobiert oder die Details herausgearbeitet. Irgendwann mal.

Olin Lathrop
quelle
3

Nach meinem Verständnis entsprechen die verschiedenen Prozessversionen in Lightroom (bisher 2003, 2010 und 2012) unter anderem unterschiedlichen Demosaikierungsalgorithmen. Eine andere interessante Software ist UFRaw , die Folgendes bietet (Zitat von der Webseite):


Nach dem Weißabgleich interpoliert UFRaw das Bayer-Muster.

  • Die AHD-Interpolation ist die adaptive homogenitätsgerichtete Interpolation. Dies ist die Standardinterpolation.
  • Bei der VNG-Interpolation wird eine schwellenwertbasierte Interpolation mit variabler Anzahl von Verläufen verwendet. Dies war die Standardinterpolation und ist immer noch sehr gut .
  • Die VNG-Vierfarbeninterpolation sollte verwendet werden, wenn Sie Bayer-Musterartefakte in Ihrem Foto sehen ( weitere Informationen finden Sie in den FAQ von DCRaw ).
  • PPG-Interpolation steht für Patterned Pixel Grouping Interpolation. Es ist fast so gut wie alle oben genannten und viel schneller.
  • Bilineare Interpolation ist eine sehr einfache Interpolation, die jedoch viel schneller ist.

Dies könnte etwas Material zum Experimentieren liefern. Übrigens scheint UFRaw Open Source zu sein, so dass Sie einen Blick auf die Algorithmen selbst werfen können.

Francesco
quelle
0

In der Astrofotografie wird dieses Thema eingehend untersucht, da bei Verwendung eines One-Shot-Farbsensors eine Menge an Auflösung durch Debayering verloren geht. Andererseits erhält die Verwendung einer RAW-Datei immer noch Zugriff auf die Originaldaten und kann vor der Farbanwendung verarbeitet werden. Dieses Thema ist sehr softwarebezogen.

Kurz gesagt, wenn Sie Zugriff auf viele Bilder mit denselben Motivdaten haben (was zur Reduzierung des Sensorrauschens eingesetzt wird), können Sie eine Einzelbildkonvertierung mit AHD gegen einen Nieselregen-Ansatz austauschen, der die verlorene Auflösung wiederherstellen kann. Die Auswahl hängt von der Art der verfügbaren Quelldaten ab. Die meisten Fotografen müssen nur ein einziges Bild verwenden.

Einige Software, die ich bei der Auswahl von Debayering-Prozessen verwendet habe, sind: Deep Sky Stacker und Pix Insight. Es gibt auch andere. Viele basieren auf DCRAW .

Hier ist der Link zu dem Artikel auf der Deep Sky Stacker-Seite, auf dem einige der Optionen erläutert werden : Debayering- Optionen

Smigol
quelle
1
Das ist interessant (danke!), Aber ich denke nicht, dass es die Frage beantwortet. Dieser letzte Zusammenhang scheint vielversprechend, konzentriert sich jedoch auf Alternativen zur Demosaikierung. Zum vorliegenden Thema heißt es nur: "Es stehen viele verschiedene Interpolationsmethoden zur Verfügung, die schlechte bis gute Ergebnisse liefern (linear, Farbverlauf ...), aber alle beeinträchtigen die Qualität des endgültigen Bildes, indem sie raten, wie die fehlenden Farben aussehen sollten. " Aber es geht nicht weiter in die praktischen Details.
Mattdm