Ist der Anti-Alias-Filter wirklich ein Weichzeichnungsfilter?

Ich versuche herauszufinden, wie der Anti-Aliasing-Filter funktioniert. Dies ist für mich von Bedeutung, da ich kleine Details am äußersten Rand der Auflösungsgrenze des Kameraobjektivs erfassen muss, wie von Ernst Abbe beschrieben. Ich muss die billigste mögliche Lösung berechnen, nur dass die Auswirkungen der aa-Filter im Moment etwas unbekannt sind.

Es gibt noch einen zweiten Grund – ich interessiere mich auch dafür, was das eigentliche Schärfen im Allgemeinen ist. Ist also zum Beispiel die unscharfe Maske das eigentliche Mittel, um dem entgegenzuwirken, oder sollten wir stattdessen entfalten? Vielleicht beides? Ich meine, wenn wir wirklich wissenschaftlich so genau wie möglich sein wollten.

Verwischt der AA-Filter das Bild wirklich, bevor es auf den Sensor trifft? Gibt es da ein elektronisches Bauteil?

Antworten (2)

Ja, der Anti-Aliasing-Filter der meisten Digitalkameras ist ein optischer Filter, der das Licht direkt vor dem Bildsensor unscharf macht. Aber für Ihre Zwecke ist das Ihre geringste Sorge.

Die Funktionsweise einer Bayer-Filtermaske bei der überwiegenden Mehrheit der Digitalkameras bedeutet, dass die tatsächliche Auflösungsgrenze der damit ausgestatteten Kameras etwa 1/2 der Anzahl der Pixelmulden beträgt! Die Rohdaten enthalten nur einen einzigen Luminanzwert für jedes Pixel, das so maskiert ist, dass es am empfindlichsten auf eine der drei Farben reagiert, aus denen die Bayer-Maske besteht: Rot, Grün oder Blau.¹ Die Farbempfindlichkeit des menschlichen Auges widerspiegelnd, Es gibt zwei grüne, ein blaues und ein rotes Pixel in jeder vier Pixelgruppe, die 2 x 2 auf dem Sensor angeordnet sind. Um Farben aus diesen monochromatischen Informationen zu erhalten, müssen die Rohdaten mithilfe von Algorithmen demosaikiert werden, die die Werte benachbarter Pixel vergleichen und einen Rot-, Grün- und Blauwert für jedes Pixel auf dem Sensor interpolieren.

¹ Nur dass unsere Bayer-Masken nicht die RGB-Farben sind, für die wir sie halten. "Rot" auf den meisten Bayer-Masken ist am empfindlichsten bei 590-600 nm, was Menschen als gelb-orange wahrnehmen. Rot, das von unseren RGB-Bildschirmen emittiert wird, beträgt ≈640nm. „Grün“ auf den meisten Bayer-Masken ist am empfindlichsten bei ≈535 nm, im Gegensatz zu Grün in RGB bei ≈525 nm. „Blau auf den meisten Bayer-Masken ist am empfindlichsten für ≈450 nm anstelle von RGB-Blau bei ≈480 nm.

Keine Sorge, wir arbeiten mit SW-Bildern, würde das nicht helfen?
Bayer meint NICHT 1/4 Auflösung! Sie behalten die volle Luminanzauflösung bei, solange alle drei Kanäle Informationen enthalten – sie sind nicht überbelichtet.
Es bedeutet tatsächlich etwa die Hälfte dessen, was Sie mit einem wirklich monochromatischen Sensor erhalten würden.
@joojaa Nicht, wenn der Sensor ein Bayer-maskierter Farbsensor ist. Auch bei der Graustufenausgabe müssen die Werte für jedes Pixel aus den maskierten Pixeln für jede Farbe interpoliert werden.
@RogerKrueger Ja, Sie haben Werte für so viele Pixel. Aber die Grenze dafür, wie viele Linien/mm von einem Testchart von einem Bayer-Sensor aufgelöst werden können, liegt bei etwa der Hälfte dessen, was entweder ein monochromatischer Sensor (keine Bayer-Maske) oder ein Foveon-Sensor mit der gleichen Pixelgröße erreichen kann (wenn das Objektiv ist nicht der limitierende Faktor).
@MichaelClark wissen Sie, ob dieser optische Filter eine Gaußsche Unschärfe verursacht oder die Form unbestimmt ist?
Da es optisch ist, hängt es von der Form der Mikrolinsen ab, aus denen der AA-Filter besteht. Kreisförmige Unschärfe wäre vorzuziehen, ist aber möglicherweise nicht immer praktisch erreichbar. Aber Gaußsche Unschärfe wird durch mathematische Manipulation eines digital gespeicherten Bildes erzeugt, daher würde ich nicht glauben, dass die optisch induzierte Unschärfe als Gaußsche betrachtet werden könnte. Denken Sie daran, dass die durch einen AA-Filter verursachte Unschärfe kaum größer als ein einzelner Pixel ist.
@MichaelClark, aber es blutet immer noch zum nächsten Pixel oder nur zu Subixel-Elementen? Oder könnte ich diesen Effekt bis zu einem gewissen Grad digital wegschärfen
Es gibt keine Subpixel-Elemente. Alle Photonen, die an den Rand des nächsten Pixels bluten, werden in die Gesamtzahl für dieses Pixel aufgenommen , unabhängig davon, auf welchen Teil des Pixels sie treffen.
Sie können digitales Schärfen verwenden, aber das führt zu Artefakten und stellt keine tatsächlichen Daten wieder her, die bei der Analog-Digital-Konvertierung verloren gegangen sind. Diese Artefakte können dem tatsächlichen Bild ähneln oder auch nicht.
Meine andere Frage ist mehr. Ich werde die verlorenen Daten nicht wiederherstellen, nur den Schärfeverlust wiederherstellen. Ich versuche festzustellen, welche Methode die physikalischen Phänomene, die vor sich gehen, am besten beschreiben würde.
@RogerKrueger Sie können theoretisch die volle Auflösung erhalten, wenn die Eingabe monochrom ist, die Ausgabe spielt keine Rolle. Ich denke, viele moderne De-Bayering-Filter versuchen, sich diesem Ideal zu nähern, aber ich weiß nicht, wie nahe sie kommen.
@joojaa die Antwort ist komplex. Wie in dieser Antwort erwähnt, ist nur die Hälfte des Problems der Anti-Aliasing-Filter, die andere das Demosaicing des Bayer-Filters. Das Anti-Aliasing sendet einige der Informationen, die in ein Farbpixel hätten gehen sollen, stattdessen in ein anderes Farbpixel. Moderne demosaische Filter sind keine einfachen Bestien, und ich bezweifle, dass ihre Reaktion konsistent modelliert werden kann.

Sie werden nicht in der Lage sein, die besten Ergebnisse zu erzielen, wenn Sie einen oder mehrere Effekte, die Unschärfen verursachen, nur theoretisch analysieren. Der beste Weg, um fortzufahren, besteht darin, die Unschärfe zu messen und dann eine Dekonvolution basierend auf der gemessenen Punktverteilungsfunktion durchzuführen. Sie können ein Schwarz-Weiß-Muster aus Linien in verschiedenen Richtungen oder Kreisen auf ein Blatt Papier drucken. Als Referenzbild mit hoher Auflösung kann ein Bild verwendet werden, das relativ nah aufgenommen wurde, beispielsweise aus einem Meter Entfernung, aber so, dass Sie keine großen Kantenverformungen erhalten. Wenn Sie dann ein weiteres Bild von weiter entfernt (mit genau derselben Brennweite) aufnehmen, erhalten Sie ein Bild mit niedrigerer Auflösung. Die Abbildung vom Bild mit hoher Auflösung auf das Bild mit niedriger Auflösung umfasst alle Unschärfeeffekte, die Sie korrigieren möchten.

Jetzt müssen Sie, wie in den Kommentaren in Michaels Antwort erwähnt, mit den ursprünglichen Rohbildern arbeiten, ohne Demosaikierung durchzuführen. Dazu können Sie das Programm dcraw verwenden und die Option -d oder -D verwenden, um TIFF-Dateien zu erzeugen. Diese Tiff-Dateien müssen in 3 Teile geteilt werden, indem die Pixel ausgewählt werden, die R, G und B aus dem Originalbild entsprechen. Sie müssen dann sicherstellen, dass die Ausgabe, die Sie erhalten, tatsächlich so linear ist, wie sie sein sollte, andernfalls müssen Sie dies korrigieren. Sie müssen dies also richtig machen, bevor Sie mit der Messung der Point-Spread-Funktion beginnen können.

Was Sie tun können, ist, einige Objekte in einem Raum mit zwei Lichtern A und B mit einem Stativ zu fotografieren. Sie nehmen Bilder nur mit Licht A, nur Licht B und sowohl A als auch B auf. Wenn die Rohbilder dann wirklich genau linear sind, sollten Sie in der Lage sein, das A+B-Bild genau aus dem A- und B-Bild zu berechnen. Aber Sie müssen viele Bilder machen, sie ausrichten und mitteln, um sie fast vollständig rauschfrei zu machen. Sie müssen auch die unterschiedlichen Belichtungszeiten korrigieren, nach dem Stapeln erhalten Sie eine unbekannte effektive Belichtungszeit. Aber das spielt keine Rolle, weil A + B eine lineare Kombination von A und B sein soll, und wenn nicht, können Sie das leicht erkennen.

Unter der Annahme, dass Sie Bilder ohne Demosaik erzeugen können, die fast genau linear und rauschfrei sind, können Sie solche Bilder für die Muster erzeugen und diese dann verwenden, um die Punktverteilungsfunktion für verschiedene Kameraeinstellungen zu berechnen. Dies sollte für unterschiedliche Blendenzahlen und auch für bewusste Abweichungen von der perfekten Fokussierung erfolgen. Die Berechnung der jeweiligen Point-Spread-Funktion kann mit Fourier-Transformationsverfahren erfolgen.

Mit den Daten aller Point-Spread-Funktionen können Sie mit Dekonvolution sehr genau schärfen. Wenn Sie ein Objekt fotografieren, sollten Sie dies mit Bildstapelmethoden tun, um das Rauschen so gut wie möglich zu entfernen. Außerdem sollten Sie dies für leicht unterschiedliche Fokuseinstellungen innerhalb des Randes tun, was Sie als perfekt scharf beurteilen würden. Verwenden Sie dann die nicht demosaikierten linearen Rohdateien (unter Verwendung der zusätzlichen Transformation, die Sie gefunden haben, um zu einer fast genau linearen Ausgabe zu gelangen).

Dann können Sie durch Studieren der Bilder die Punktverteilungsfunktionen mit einer gewissen Annäherung extrahieren (z. B. indem Sie Kanten mit hohem Kontrast betrachten). Anschließend vergleichen Sie diese Punktverteilungsfunktionen mit den genauen experimentell ermittelten, um die beste auszuwählen. Am besten lässt man die experimentellen Punktbildfunktionen in mathematischer Form verarbeiten, wobei die Defokussierung durch einen kontinuierlichen Parameter beschrieben wird. In Abhängigkeit von diesem Parameter wird die Punktbildfunktion in guter Näherung gerade skalieren.

Sie wählen dann das Bild aus, das der engsten Punktverteilungsfunktion entspricht, und entfalten dieses Bild dann. Je schmaler die Point-Spread-Funktion, desto weniger Rauschen erhalten Sie (je breiter die Point-Spread-Funktion, desto schmaler ist sie im k-Raum, wodurch die hohen Fourier-Komponenten verstärkt werden, wodurch das Rauschen verstärkt wird).

wow, ja macht sinn.