Informations-Beschaffungs-Maßnahmen: Fotos intelligent skalieren
Anwendungen wie Sharpen AI und Gigapixel AI von Topaz Labs oder Adobes KI-basiertes Demosaicing-Verfahren »Details verbessern« versprechen, Fotos mehr Detailzeichnung zu geben. Wie ist das überhaupt möglich und was unterscheidet solche Verfahren vom klassischen Nachschärfen?
Aus der Perspektive des Informatikers, der ich ja von meiner Ausbildung her bin, ist eine ungenügende Detailzeichnung auf einen Mangel an Informationen in zu viel Daten zurückzuführen. Daten sind einfach eine Menge Zahlen; zu Informationen werden sie erst, wenn sie über etwas informieren. Die nackte Zahl 5 ist ein Datum (die Einzahl von „Daten“). Wenn man aber erfährt, dass ich fünf Äpfel oder fünf Birnen habe, ist das eine Information. Die 24 oder 48 Bit eines RGB-Pixels in einer Bilddatei enthalten Informationen, insofern sie uns über den Anteil von Rot, Grün und Blau in einem Punkt einer abgebildeten Szene informieren. In der Praxis wird das nicht immer trennscharf unterschieden: Das Bit ist eigentlich die kleinste Einheit der Information, aber wenn man sagt, dass ein Prozessor mit 64 Bit rechnen kann, redet man zunächst einmal von Daten.
Man könnte meinen, dass eine bestimmte Zahl von Datenbits auch Informationen im Wert dieser Zahl von Bits enthalten würden, aber der tatsächliche Umtauschkurs ist oft schlechter. Nehmen wir an, wir hätten ein 24-Megapixel-Bild im 24-Bit-Modus, das tatsächlich 24.000.000 × 24 Bit an Informationen enthielte, und wollten es auf 96 Megapixel skalieren. Dazu müssten wir die Zahl der Pixel vervierfachen: Zwischen jeweils zwei Pixeln des Originalbildes wäre ein fehlendes Pixel zu ergänzen. Wie immer wir dabei vorgehen, enthält das hochskalierte Bild am Ende zwar die vierfache Datenmenge, aber nicht mehr Informationen als das 24-MP-Bild, denn woher sollten zusätzliche Informationen auch kommen, ohne dieselbe Szene noch einmal mit einer höher auflösenden Kamera zu fotografieren.
Aber schon die Ausgangsdatei litt vermutlich unter einem Informationsmangel. Die Pixel der allermeisten Bildsensoren sind ja nur für eine RGB-Grundfarbe empfindlich; die beiden fehlenden Farbkomponenten müssen aus den Nachbarpixeln interpoliert werden und fügen dem Bild keine Informationen hinzu.
Zurück zur Skalierung von 24 auf 96 Megapixel: Zwischen je zwei Pixeln ist ein weiteres plausibel zu ergänzen, und wenn alle Pixel im Umkreis etwa die gleiche Farbe und Helligkeit haben, ist das nicht weiter schwierig. Was aber, wenn zwei kontrastierende Flächen hat aneinander stoßen?
Ein solches Bild kommt in der Praxis nur zustande, wenn es hier tatsächlich eine harte Kante gibt, und die zwischen den beiden Flächen zu ergänzenden Pixel müssten daher entweder hellgrau (90%) oder dunkelgrau (10%) eingefärbt werden – nur wissen wir nicht, für welche Variante wir uns entscheiden sollen. Der übliche Ausweg besteht in einer Interpolation, also einem mittleren Grau (50%):
Da es sich um eine harte Kontrastkante handelt, ist dieser unentschiedene Mittelwert höchstwahrscheinlich falsch, suggeriert also eine irreführende Information. Dass wir ihn dennoch akzeptieren, liegt daran, dass er den schlimmstmöglichen Fehler begrenzt. Wählen wir eines der Extreme und raten wir richtig, ist das Ergebnis zwar perfekt.Entscheiden wir uns aber für Dunkelgrau, obwohl es Hellgrau sein müsste, betrüge der Fehler 80 Prozentpunkte, und ebenso im umgekehrten Fall. Mit Mittelgrau liegen wir sicher falsch, aber nur um 40 Prozentpunkte. Diese ängstliche, das Risiko scheuende Taktik führt nur leider zu unscharfen Bildern.
Nachschärfen verspricht Abhilfe, löst das Versprechen aber nicht wirklich ein. Gängige Verfahren wie die Unscharfmaskierung heben leicht unscharfe Kanten hervor, indem zu beiden Seiten noch extremere Werte gewählt werden, in diesem Fall also ein noch helleres und ein noch dunkleres Grau. Am interpolierten Wert, der ja das eigentliche Problem darstellt, ändert sich dagegen nichts. Da die Nachschärfung auch Pixel verändert, die aus dem Originalbild stammen, zerstört sie sogar noch Informationen.
Für mehr Informationen gibt es keinen Ersatz, aber auf was für Informationen könnten wir zurückgreifen? Könnten wir die Aufnahme einfach noch einmal wiederholen, würden wir es tun, aber in der Regel ist das keine Option. Auch wenn wir unsere Motive nicht besser kennen als sie uns die vorhandenen Bilddateien zeigen, können wir uns daran orientieren, wie typische Motive aussehen, und auf dieser Idee basieren die KI-basierten Techniken zur Skalierung, zum Nachschärfen und zum Demosaicing von Raw-Daten.
Schon Jahre bevor die KI in die Bildbearbeitung Einzug hielt, hatte Binuscan-Gründer Jean-Marie Binucci mit CDC-4x ein ganz ähnliches Verfahren erfunden. CDC-4x skaliert Bilder auf die vierfache Fläche und greift dafür auf eine Vielzahl von Regeln zurück, die für typische Strukturen angeben, wie eine vergrößerte Version davon aussehen müsste. Diese Regeln mussten noch von den Entwicklern gefunden und in der Software implementiert werden. Heute nutzt man neuronale Netze, die mit Verfahren des maschinellen Lernens trainiert werden. Die Trainingsdaten lassen sich einfach erzeugen: Man geht von hochaufgelösten Bildern aus, die man auf eine geringere Größe herunterskaliert. Das neuronale Netz muss dann daraus wieder eine hochskalierte Version erzeugen, die dem Original möglichst nahe kommt. Für ein KI-basiertes Demosaicing berechnet man aus dem hochaufgelösten Bild eine künstliche Raw-Datei, in der zwei Drittel der Farbinformationen fehlen, und gleicht wiederum das Ergebnis des neuronalen Netzes mit dem Ausgangsbild ab.
Nachdem sich das Netz seine Fähigkeiten mit idealerweise Millionen von Bildern antrainiert hat, ist es in der Lage, hochaufgelöste Bilder mit feinen Details zu produzieren, die zum weniger informationshaltigen Ausgangsbild passen und dem Betrachter plausibel erscheinen. Es ist nicht garantiert, dass die rekonstruierten Details exakt dem Original entsprechen, aber da statt Informationen über die tatsächlich fotografierten Motive Informationen über typische Motive der gleichen Art einfließen, wirkt das Ergebnis meist zumindest realistisch.
„Die Pixel der allermeisten Bildsensoren sind ja nur für eine RGB-Grundfarbe empfindlich …“
Nein, ganz gewiss nicht. Richtig ist vielmehr, dass es nicht einen einzigen Sensor gibt, der für Farben empfindlich ist. Alle Sensoren registrieren (und speichern) lediglich Helligkeit.
Allerdings werden die Helligkeiten durch vor den Pixeln sitzende Farbfilter beeinflusst. Und die dadurch entstehenden unterschiedliche Helligkeiten werden genutzt, um aus den Differenzen auf unterschiedliche Farben zu schließen.
Das ist etwas vollkommen anderes als zu behaupten, es gäbe farbempfindliche Sensoren. Wie meinte schon Einstein: „Man muß die Dinge so einfach wie möglich machen. Aber nicht einfacher.“
Ich habe von den „allermeisten Bildsensoren“ gesprochen, weil es eine Ausnahme gibt, nämlich die X3-Sensoren von Foveon/Sigma. Diese Sensoren differenzieren Licht unterschiedlicher Wellenlängen nach seiner Eindringtiefe in den Siliziumkristall und können so an jeder Stelle alle drei RGB-Grundfarben registrieren. Es gab und gibt diverse andere Konzepte von RGB-Sensoren, aber dieses ist das einzige, das schon vor Jahren die Marktreife erreicht hat.
Nein, Herr Hußmann, Sie irren schon wieder. Auch die X3-Sensoren von Foveon können keinerlei Farben, sondern nur Helligkeiten erkennen. Es ist vollkommen falsch davon zu sprechen, dass „an jeder Stelle alle drei RGB-Grundfarben“ registriert werden könnten. Das wäre nur dann richtig, wenn der Sensor lediglich zweidimensional betrachtet würde.
Die Differenzierung erfolgt vielmehr durch mehrere Schichten von übereinandergelegten Sensoren, ziemlich ähnlich dem Aufbau von analogen Farbfilmen. Kurzwellige Spektren werden in der oberen Schicht, langwellige hingegen auf Grund der Eindringtiefe in der unteren Schicht erfasst. Dadurch kann man wohl auf die Wellenlänge und gleichwohl auf die Farbe schließen, jedoch registriert jede Schicht des Sensor dennoch lediglich Helligkeiten. Auch X3-Sensoren von Foveon sind farbenblind – erst mit der Signalverarbeitung der Potenziale aus den einzelnen Schichten gelingt die letztlich willkürliche Zuordnung/Berechnung von Farben.