Wie unbearbeitete Fotos tatsächlich aussehen
(maurycyz.com)- Ein Experiment, das Schritt für Schritt zeigt, in welcher Form die RAW-Sensordaten einer Digitalkamera aufgezeichnet werden
- Die Ausgangsdaten liegen als Graustufenbild vor, bei dem die 14-Bit-ADC-Ausgabe einfach auf 0–255 RGB abgebildet wird; der tatsächlich nutzbare Helligkeitsbereich ist dabei begrenzt
- Durch Anwenden eines Bayer-Filters werden die Farbfilterinformationen jedes Pixels berücksichtigt, und per Mittelung benachbarter Pixel wird Demosaicing durchgeführt
- Mit Gamma-Korrektur und Anpassung des Weißabgleichs werden Unterschiede zwischen menschlicher Wahrnehmung und der nichtlinearen Helligkeitswahrnehmung von Displays korrigiert
- Abschließend wird im Vergleich zur kamerainternen JPEG-Verarbeitung gezeigt, dass das Konzept eines „unbearbeiteten Fotos“ praktisch nicht existiert
Anfangszustand der RAW-Sensordaten
- Die vom Kamerasensor aufgezeichneten Rohdaten bestehen aus 14-Bit-ADC-Werten; wenn man sie einfach in 0–255 RGB umwandelt, ergibt sich ein Graustufenbild
- Der tatsächliche Bereich der ADC-Werte liegt bei etwa 2110~13600; dieser Bereich wird als Schwarz-Weiß-Referenz gesetzt, um die Helligkeit neu zu skalieren
- In diesem Stadium enthält das Bild kaum Farbinformationen, da der Sensor nur die Lichtintensität misst
Wiederherstellung der Farbinformationen
- Farbkamerasensoren erkennen über ein Bayer-Filter-Array pro Pixel nur eine der Farben Rot, Grün oder Blau
- Wenn man jedem Pixel entsprechend seines Farbfilters eine Farbe zuweist, entsteht zwar Farbeindruck, pro Pixel ist jedoch nur einer der RGB-Werte vorhanden
- Durch Mittelung der Werte benachbarter Pixel und anschließendes Demosaicing werden die Farben im gesamten Bild rekonstruiert
Helligkeit und Gamma-Korrektur
- Dass das Ergebnisbild dunkel wirkt, liegt an den Grenzen des Dynamikbereichs von Monitoren und an der nichtlinearen Helligkeitswahrnehmung des Menschen
- Werden lineare Daten unverändert dargestellt, erscheinen sie dunkel; deshalb wird eine nichtlineare Gammakurve angewendet, um dunkle Bereiche aufzuhellen
- Dabei tritt jedoch ein Übergewicht des Grünkanals auf, was an der Grünempfindlichkeit des Sensors und am hohen Grünanteil im Bayer-Muster liegt
Weißabgleich und Farbkorrektur
- Durch Anpassung der einzelnen Farbkanäle in festen Verhältnissen wird der Weißabgleich eingestellt
- Danach wird zu einem Stadium vor der nichtlinearen Transformation zurückgekehrt, der Grünkanal abgesenkt und die Gammakurve erneut angewendet
- So entsteht schließlich ein Foto mit natürlichen Farben
Vergleich mit der kamerainternen JPEG-Verarbeitung
- Das von der Kamera aus denselben RAW-Daten erzeugte integrierte JPEG-Bild ist bereits das Ergebnis mehrerer mathematischer Korrekturschritte
- Kontrast oder Weißabgleich in einer Bildbearbeitungssoftware anzupassen, ist im Kern dieselbe Art von Verarbeitung wie die kamerainterne Bearbeitung
- Das Konzept eines „unbearbeiteten Fotos“ existiert in der Praxis nicht; alle Fotos sind das Ergebnis mathematischer Verarbeitung
- Da sich menschliches Sehen nicht perfekt nachbilden lässt und Displays Grenzen haben, besteht immer Bedarf an manueller Korrektur
1 Kommentare
Hacker-News-Kommentare
Ich frage mich, ob man es schon als „Verarbeitung“ bezeichnen sollte, wenn auf jedes Pixel dieselbe Übertragungsfunktion angewendet wird
In der Filmzeit entstand bei ISO-400-Schwarzweißfilm, den man auf 1600 pushte, grobes Korn, aber das war gleichmäßiges „Rauschen“ über das ganze Foto
Heute ist Rauschunterdrückung erstaunlich weit entwickelt, aber dabei wird das Bild selbst verändert
Bei meiner IP-Kamera verschwinden zum Beispiel Teile eines Fahrradreifens, wenn ich damit ins Bild fahre. Der Algorithmus hält die Asphaltstruktur für Rauschen und löscht sie
Auch auf Smartphones oder Digitalkameras wirken Gesichter beim Hineinzoomen oder bei wenig Licht oft „malerisch“
Ich hätte lieber ehrliches Rauschen oder einen Rauschunterdrückungsalgorithmus, den man von „aus“ bis zum aktuellen Standardwert regeln kann
Ich mag Artikel, die die Abstraktionsschichten eines „Bildes“ freilegen. Moderne Fotografie ist letztlich nur Signalverarbeitung plus Marketing
Dass das Bayer-Muster RGGB ist (50 % Grün), liegt nicht nur am Farbausgleich, sondern auch an der räumlichen Auflösung
Das menschliche Auge ist für Grün am empfindlichsten, daher trägt der grüne Kanal den Großteil der Helligkeit bzw. der Details
Fortgeschrittene Demosaicing-Algorithmen erzeugen aus dem grünen Kanal eine hochauflösende Luminanzkarte und interpolieren Rot und Blau als Farbdifferenzschichten
Dieses Prinzip ermöglicht auch Videokompression wie 4:2:0-Chroma-Subsampling
Wer tiefer einsteigen will, sollte sich den Source Code von dcraw oder libraw ansehen. Dort gibt es unzählige Sonderfälle, um die „raw voltages“ der verschiedenen Sensorhersteller zu interpretieren
g = .299r + .587g + .114bDieses Verhältnis bestimmt die Helligkeit in Graustufenbildern
Und die dort zitierte Gedichtzeile fand ich eindrucksvoll — sie beschreibt eine Welt, aus der die Farben verschwunden sind, und persifliert, dass das, was wir für „richtig“ halten, letztlich nur Quantisierungsfehler ist
Ein einzelnes RGB→Luminanz-Konvertierungs-Flag im FFmpeg-Aufruf hätte das Problem gelöst
Klar, das liegt daran, dass das menschliche Auge auf Grün empfindlicher reagiert, aber irgendwie wirkt es trotzdem unfair (⩺_⩹)
Schon das JPEG aus der Kamera ist ein stark verarbeitetes Ergebnis
Mit anderen Kurven, Mappings und Korrekturwerten ein anderes JPEG zu erzeugen, ist keine „Manipulation“, sondern nur eine andere Interpretation
Ich arbeite im Bereich Kamerasensoren und finde, dass dieser Artikel sich hervorragend für die Einarbeitung neuer Kolleginnen und Kollegen eignet
Wenn man den Weg von RAW-Daten bis zur vertrauten Ausgabe zeigt, verstehen sie es viel schneller
Kleiner Hinweis auf einen Tippfehler: Statt „then“ müsste dort „than“ stehen
Im Studium habe ich mich mit Fernerkundung (remote sensing) beschäftigt und dadurch Sensoren und Signalverarbeitung wirklich verstanden
Was ich sehe, ist nicht „die Wahrheit“, sondern nur eine partielle Ansicht der Daten
Menschliche Augen, Katzenaugen und Kameras erfassen und repräsentieren jeweils unterschiedliche Teilmengen von Daten
Wenn man Raum und Zeit als zusätzliche Dimensionen eines Signals betrachtet, wird es noch interessanter
Letztlich sind wir alle nur Sensorsysteme, die einen Teil des Universums beobachten
In der Digitalfotografie sind Dynamikbereichskompression und Debayering unverzichtbar,
aber wenn KI Objekte erkennt und das Bild nach dem Muster „so sollte es aussehen“ halluzinatorisch rekonstruiert, ist das etwas anderes
Die Hersteller treiben die Entwicklung in diese Richtung, was Probleme etwa für die Verlässlichkeit von Beweisfotos schafft
Jedes Bild ist eine Interpretation von Daten und das Ergebnis unzähliger Entscheidungen
Wenn man überhaupt unterscheiden will, dann vielleicht in globale Bearbeitung (global) und lokale Bearbeitung (local), wobei lokale Bearbeitung eher in Richtung „falsch“ geht
Aber letztlich ist das Entscheidende die Absicht (intent)
Wenn eine Täuschungsabsicht dahintersteht, kann selbst ein direkt aus der Kamera kommendes Foto „falsch“ sein
Die meisten Menschen halten das Anwenden von Filtern für „falsch“, aber tatsächlich werden auf alle Fotos Filter angewendet
Den Prozess an sich „falsch“ zu nennen, ist bedeutungslos
Mich erinnerte das an ein Zitat aus dem Film Tim’s Vermeer
Wie dort gesagt wird, ist die moderne Vorstellung falsch, Kunst und Technik voneinander trennen zu müssen,
gerade die Verschmelzung von Kunst und Technik war das Kennzeichen des goldenen Zeitalters
Ich empfehle außerdem John Linds The Science of Photography sowie
Bob Atkins’ Erläuterung zu Sensoren.
Besonders die Erklärung, warum die Pixel-Well-Größe wichtig ist, fand ich eindrucksvoll
Dass lineare Daten bei direkter Anzeige dunkel wirken, liegt meiner Meinung nach an den Grenzen von Monitoren
Wenn die Bittiefe groß genug wäre, müsste man lineares Licht vielleicht auch ohne Gammakorrektur darstellen können
Die menschliche Helligkeitswahrnehmung ist nicht linear, daher braucht man an irgendeiner Stelle eine Nichtlinearität
Ideal ist, in einem linearen Farbraum mit 16 Bit oder mehr zu rechnen und Gamma erst direkt vor der Anzeige anzuwenden
Früher führte Blending in nichtlinearem RGB oft zu dunklem Banding
CRTs nutzten Gamma, um die nichtlineare Reaktion der Elektronenkanone zu korrigieren, und auch Film oder CMOS-Sensoren haben eine logarithmische Lichtempfindlichkeit, weshalb ähnliche Verarbeitung eingesetzt wird
Ein „unbearbeitetes Foto“ gibt es praktisch nicht
RAW ist nur eine Sammlung von RGGB-Pixelwerten, und der Prozess, diese Daten strategisch zu verwerfen, um sie an den engen Dynamikbereich eines Displays anzupassen,
und dabei einen mittleren Graupunkt zu definieren, ist genau der Bereich kreativer Interpretation
Schade ist nur, dass die Beispiele im Artikel durch die künstliche und bunte Beleuchtung sehr künstlich wirken, sodass schwer zu verstehen ist, was eigentlich die „Ground Truth“ sein soll
Man kann einfach die letzten beiden Bilder vergleichen und je nach persönlicher Vorliebe beurteilen, welches „Ergebnis“ man bevorzugt