Warum mehrere Gaußsche Unschärfen?

9

Das Anwenden mehrerer Gaußscher Unschärfen kann zu einem Effekt führen, der einer stärkeren Gaußschen Unschärfe entspricht.

Zum Beispiel lautet diese Frage: Ist das Ausführen mehrerer Gaußscher Unschärfen dasselbe wie das Ausführen einer größeren Unschärfe?

Wikipedia sagt es auch, sagt aber, dass es immer genauso viele Berechnungen oder mehr sein wird, es in mehreren Unschärfen zu tun, anstatt es in einer einzigen Unschärfe zu tun.

Das Anwenden mehrerer aufeinanderfolgender Gaußscher Unschärfen auf ein Bild hat den gleichen Effekt wie das Anwenden einer einzelnen größeren Gaußschen Unschärfe, deren Radius die Quadratwurzel der Summe der Quadrate der tatsächlich angewendeten Unschärferadien ist. Das Anwenden aufeinanderfolgender Gaußscher Unschärfen mit Radien von 6 und 8 führt beispielsweise zu denselben Ergebnissen wie das Anwenden einer einzelnen Gaußschen Unschärfe mit dem Radius 10, da \ sqrt {6 ^ 2 + 8 ^ 2} = 10. Aufgrund dieser Beziehung kann die Verarbeitungszeit nicht Sparen Sie durch Simulieren einer Gaußschen Unschärfe mit aufeinanderfolgenden, kleineren Unschärfen - die erforderliche Zeit ist mindestens so groß wie die Ausführung der einzelnen großen Unschärfe.

Quelle: https://en.wikipedia.org/wiki/Gaussian_blur#Mechanics

Ich habe jedoch von Leuten gehört und gelesen, die in Echtzeitgrafiken mehrere Unschärfen ausführen, um eine stärkere Unschärfe zu erzielen.

Welchen Vorteil hat es, wenn die Berechnung nicht reduziert wird?

Alan Wolfe
quelle
3
Sind Sie sicher, dass es sich um mehrere Gaußsche Unschärfen handelte? Das Ausführen mehrerer Box-Unschärfen ist eine übliche Methode, um eine Gaußsche Unschärfe zu approximieren.
Yuriks
Interessante Infos. Ich glaube schon, könnte sich aber irren!
Alan Wolfe
1
Es kann einfacher sein, nur benachbarte Pixel
abzutasten

Antworten:

13

Ich kann mir zwei Fälle vorstellen, in denen mehrere Unschärfen nacheinander für ein einzelnes Bild ausgeführt werden.

Wenn Sie eine Unschärfe mit großem Radius ausführen, kann dies die Gesamtberechnung verringern, wenn Sie zuerst das Bild (das eine Unschärfe ist) herunterabtasten und dann eine Unschärfe mit kleinerem Radius für das heruntergetastete Bild ausführen. Wenn Sie beispielsweise ein Bild um das Vierfache herunterabtasten und dann eine 10 Pixel breite Gaußsche Unschärfe für das Ergebnis durchführen, würde dies ungefähr eine 40 Pixel breite Gaußsche Unschärfe des Originals bewirken - ist jedoch aufgrund der verbesserten Lokalität bei der Abtastung und weniger entnommenen Proben wahrscheinlich erheblich schneller insgesamt.

Boxnäherung eines breiten Gaußschen

Das anfängliche Downsampling-Filter ist oft einfach eine Box (wie oben gezeigt), aber es kann auch selbst etwas Anspruchsvolleres sein, wie ein Dreieck oder ein bikubisches Filter, um die Approximation zu verbessern.

Mitchell-Netravali-Approximation eines breiten Gaußschen

Dies ist ein Mitchell-Netravali-Downsample (kubisch), gefolgt von einem Gaußschen. Interessanterweise stellt sich heraus, dass die Verwendung eines Gaußschen für das anfängliche Downsampling keine so gute Annäherung darstellt, wenn Sie damit einen größeren Gaußschen erzeugen möchten.

Ein ähnlicher Downsampling-Schritt wird aus ähnlichen Gründen auch häufig verwendet, wenn visuelle Effekte wie Schärfentiefe und Bewegungsunschärfe implementiert werden.

Ein zweiter Grund, mehrere Gaußsche Unschärfen durchzuführen, besteht darin, einen nicht trennbaren Filter durch Mischen zwischen verschiedenen Gaußschen mit unterschiedlichen Radien zu approximieren. Dies wird beispielsweise häufig in der Blüte verwendet. Der Standard-Bloom-Effekt extrahiert zunächst helle Objekte aus dem Bild, erstellt dann mehrere unscharfe Kopien der hellen Objekte (normalerweise unter Verwendung der soeben beschriebenen Downsample-Then-Blur-Technik) und gewichtet und summiert sie schließlich zusammen. Dies ermöglicht den Künstlern ein höheres Maß an Kontrolle über die endgültige Form und das Erscheinungsbild der Blüte.

Die Summe von drei Gaußschen erzeugt eine "Heavy-Tailed" -Funktion

Hier ist zum Beispiel eine gewichtete Summe von drei Gaußschen (rote Linie), die eine Form erzeugt, die schmaler und schwerer ist als eine einzelne Gaußsche (blaue Linie). Dies ist eine beliebte Konfiguration für die Blüte, da die Kombination eines schmalen, hellen Zentrums mit einem breiten, diffusen Lichthof optisch ansprechend ist. Da diese Art von Filterform jedoch nicht trennbar ist, ist es billiger, sie aus einer Mischung von Gaußschen zu machen, als direkt damit zu filtern.

Eine weitere Variation dieser Idee ist das Konzept eines Diffusionsprofils, das mit Streuung unter der Oberfläche für die Hautwiedergabe verwendet wird. Für den roten, grünen und blauen Kanal können unterschiedliche Unschärferadien verwendet werden, um die unterschiedlichen Wellenlängen der Lichtstreuung unterschiedlich zu approximieren, wie im Kapitel über Hautschattierungen in GPU Gems 3 von Eugene d'Eon und Dave Luebke. Tatsächlich verwendet dieses Papier eine Mischung aus sieben verschiedenen Gaußschen mit jeweils unterschiedlichen R-, G- und B-Gewichten, um die komplizierte nicht trennbare, wellenlängenabhängige Streuantwort der menschlichen Haut zu approximieren.

Diffusionsprofile aus dem Artikel GPU Gems 3 über Hautschattierungen

Nathan Reed
quelle