Was ist der optimale Radius der Gaußschen Verteilung zur Bestimmung der Pixelfarbe?

10

Welcher Radius / welche Standardabweichung liefert unter Verwendung einer Gaußschen Verteilung von Punkten auf einer Bildebene zur Berechnung eines Pixelwerts die meisten Informationen im endgültigen Bild? Ein zu großer Radius ergibt ein unscharfes Bild, und ein zu kleiner Radius vernachlässigt Informationen, die kleiner als ein Pixel sind, so dass sie nicht zum endgültigen Bild beitragen. Wo ist der optimale Kompromiss? Gibt es eine einzige Antwort auf diese Frage oder gibt es Umstände, unter denen sie variieren kann?

Ich denke in Bezug auf Raytracing darüber nach, aber ich kann mir vorstellen, dass dies auch für Dinge wie das Verkleinern eines Bildes gilt. Wo sich die Antworten unterscheiden würden, interessiert mich, was beim Abtasten einer kontinuierlichen Bildebene gilt, sodass die Positionen von Pixeln in einem größeren Bild nicht zur Bestimmung eines optimalen Radius verwendet werden können.

Trichoplax
quelle

Antworten:

7

Ich bin mir nicht sicher, ob es einen wirklich optimalen Radius gibt - es wird eine subjektive Angelegenheit sein, die darauf basiert, wie das Bild aussieht. Wie Sie sagen, führt ein zu großer Radius zu Unschärfe und ein zu kleiner Radius zu Aliasing.

Ich setze gerne Sigma = 0,5 px, so dass der Gesamtradius ungefähr 1,5 px beträgt (da der Gaußsche den größten Teil seines Gewichts innerhalb von ± 3 Sigma seines Mittelwerts hat). Nach meiner Erfahrung bietet dies einen guten Kompromiss zwischen Unschärfe und Aliasing, aber das ist nur mein Geschmack, der nicht auf objektiven Überlegungen beruht.

Übrigens habe ich im Rahmen eines Blogposts über Antialiasing, den ich letztes Jahr geschrieben habe (basierend auf einer Antwort, die ich auf die vorherige Inkarnation dieser Site gepostet habe!), Eine Vielzahl von Antialiasing-Kerneln gegen ein synthetisches Testbild getestet und bin herausgekommen mit 0,5 px Gauß als mein subjektiver Favorit.

Nathan Reed
quelle
Ich erinnere mich an diese Antwort beim letzten Mal :) (Ich war damals Githubphagozyt). Interessant zu sehen, dass es zu einem Blog-Beitrag erweitert wurde.
Trichoplax
4

Stellen Sie sich vor, Sie rendern ein Bild eines flachen Bodens mit einem einheitlichen Schachbrettmuster in Schwarzweiß, das sich bis zum Horizont erstreckt. Die Kontrolleure sind groß genug, um an Punkten in der Nähe der Kamera gut sichtbar zu sein, aber nicht groß genug, um in der Nähe des Horizonts erkennbar zu sein.

In der Nähe des Horizonts sollte der Boden einfach als einheitliches Grau erscheinen. In der Nähe der Kamera sollten die Steine ​​deutlich sichtbar sein. Zwischen der Kamera und dem Horizont muss das Erscheinungsbild des Bodens irgendwie zwischen diesen beiden Extremen wechseln.

Wenn die Szene als Raumfilter gerendert wird, der sehr stark von Schafen abgeschnitten ist, gibt es einen bestimmten Abstand, in dem der Boden von kariert zu grau wechselt. Wenn man einen flacheren Filter verwendet, ist der Übergang viel allmählicher, aber Dinge in der Nähe des ursprünglichen "Grenzabstands" sind weniger scharf als sonst.

Wenn man eine "Wand" hinzufügt oder die Szene zuschneidet, um die entfernten Teile des Bodens zu verbergen, so dass keine Teile des karierten Bodens grau verschwimmen müssen, werden die besten Ergebnisse erzielt, wenn der steilste verwendet wird Filter, um das schärfste Bild zu erhalten. Die Verwendung eines flacheren Filters würde die Bildschärfe aufgeben, um einen unangenehmen Übergang zu verhindern, der ohnehin nicht sichtbar sein würde.

Um herauszufinden, welche Art von Filterung verwendet werden soll, muss man etwas über den Raumfrequenzgehalt der anzuzeigenden Informationen wissen. Wenn das Bild nichts Interessantes enthält, das sich Nyquist annähern würde, führt die Verwendung eines steilen Filters zu den schärfsten Ergebnissen. Wenn der Bildinhalt jedoch Nyquist überschreitet, werden durch die Verwendung eines schrittweisen Filters hässliche "Übergänge" vermieden. Kein einziger Ansatz ist in allen Fällen optimal.

Superkatze
quelle
2

Meiner Meinung nach und meiner Erfahrung nach gibt es keine eindeutige Antwort ... da man in der Literatur im Grunde auch leicht Beispiele für adaptive Filter finden kann (dh von variabler Größe).

Ich denke, die eigentliche Antwort sollte sich sowohl auf den Kontext der Anwendungen (dh Hardware oder Software, Echtzeit oder nicht) als auch auf die Art der Szene beziehen, die Sie synthetisieren möchten (einige Szenen beinhalten normalerweise eine andere Art von Aliasing, wenn sie synthetisiert werden (ich verwende sie) dieser allgemeine Begriff absichtlich)). Grundsätzlich ist Computergrafik das Studium von Algorithmen und Datenstrukturen für die Bildsynthese, und eine solche Definition ist nicht eng mit irgendeiner Art von Anwendung verbunden.

Ein wichtiger Faktor ist natürlich auch das Ziel, das durch einen Filterprozess erreicht werden soll (dh nicht unbedingt eine übermäßige Unschärfe könnte schlecht sein ...).

Wenn Sie von "schön zu sehen" sprechen, könnten Sie mir zustimmen, wenn ich sage, dass es kein spezifisches Maß für "angenehmes Bild" gibt.

user8469759
quelle