Wichtige Stichproben von Umgebungskarten

14

Was ist der derzeit bekannteste und idealerweise auch produktionsgeprüfte Ansatz für das Abtasten von Umgebungskarten (EM) in einem MIS-basierten unidirektionalen Pfad-Tracer und ähnlichen Renderertypen? Ich würde Lösungen vorziehen, die einigermaßen kompliziert und gleichzeitig einigermaßen funktional sind, als solche, die eine perfekte Stichprobenerfassung zu Kosten einer äußerst komplizierten und schwer verständlichen Implementierung bieten.

Was ich bisher weiß

Es gibt einige einfache Möglichkeiten, EMs abzutasten. Man kann die benötigte Hemisphäre auf kosinusgewichtete Weise abtasten, wobei sowohl die BSDF- als auch die EM-Funktionsformen ignoriert werden. Infolgedessen funktioniert es nicht für dynamische EMs:

Bildbeschreibung hier eingeben

Um die Abtastung auf ein brauchbares Niveau zu verbessern, kann man die Leuchtdichte des EM über die gesamte Kugel abtasten. Es ist relativ einfach zu implementieren und die Ergebnisse sind recht gut. Die Abtaststrategie ignoriert jedoch immer noch die hemisphärischen Sichtbarkeitsinformationen und den Kosinusfaktor (und auch den BSDF), was zu starkem Rauschen auf den Oberflächen führt, die nicht direkt von hochintensiven Bereichen der EM beleuchtet werden:

Bildbeschreibung hier eingeben

Papiere

Ich habe einige Artikel zu diesem Thema gefunden, sie aber noch nicht gelesen. Ist eine davon lesenswert und in einem unidirektionalen Vorwärtspfad-Tracer umsetzbar, oder gibt es etwas noch Besseres?

  • Strukturierte Stichprobenerhebung zur Bedeutung von Umgebungskarten (2003) von Agarwal et al.

  • Steerable Importance Sampling (2007) von Kartic Subr und Jim Arvo. Sie behaupten, “... einen Algorithmus zur effizienten Stratified-Wichtigkeits-Abtastung von Umgebungskarten vorzustellen, der Abtastungen in der positiven Hemisphäre erzeugt, die durch die lokale Ausrichtung beliebiger Oberflächen unter Berücksichtigung der Cosinus-Gewichtung definiert wird. In der Abhandlung „Wichtigkeitsabtastung sphärischer Harmonischer“ heißt es dazu: „Sie erstellen eine triangulierte Darstellung der Umgebungskarte und speichern die von jeder der ersten neun sphärischen harmonischen Basisfunktionen vormultiplizierte Beleuchtung an jedem Scheitelpunkt. Dies bildet eine steuerbare Basis, auf der der geklemmte Kosinus effizient in jede Richtung gedreht werden kann. “

  • Praktische Stichprobe zur Ermittlung der Produktbedeutung bei direkter Beleuchtung (2008) von Petrik Clarberg und Tomas Akenine-Möller. Ein Algorithmus zum Abtasten des Produkts aus Umgebungskartenbeleuchtung und Oberflächenreflexion. Verwendet Wavelet-basierte Wichtigkeitsabtastung.

  • Spherical Harmonics (2009) von Jarosz, Carr und Jensenn. In der Zusammenfassung heißt es: "... wir präsentieren die erste praktische Methode für wichtige Abtastfunktionen, die als sphärische Harmonische (SH) dargestellt werden ..."

  • Tone-Mapped Mean-Shift-basiertes Umgebungskarten-Sampling (2015) von Feng et al. Das ist ziemlich neu und ich habe weder einen Hinweis darauf noch das Papier selbst gefunden.

ivokabel
quelle
Ich habe eine Frage. Wird das zweite Bild nur durch Abtasten der EM erzeugt? Oder ist es eine MISed-Version von Sampling Cosine und Sampling EM? Ich hoffe wirklich, dass es die MISed-Version ist, denn wenn ja, dann könnte ich vielleicht Abhilfe für das hohe Rauschen im Schatten schaffen.
Tom
Nein @tom, es wird nur eine sphärische EM-Abtastung verwendet, wobei sowohl das (Lambert) BRDF als auch der Kosinusfaktor ignoriert werden. Es wurden 64 Abtastwerte verwendet und keine Filterung des Bildraums angewendet, sondern lediglich ein Durchschnitt über die Pixelfläche. Wenn MIS angewendet wird, um die EM-Abtastung mit der Cosinus-Abtastung zu kombinieren, nimmt das Rauschen im Schatten stark ab, im sonnenbeschienenen Teil jedoch leicht zu.
IvoKabel

Antworten:

6

Dies ist keine vollständige Antwort. Ich möchte nur das Wissen weitergeben, das ich durch das Studium von zwei der in der Frage genannten Artikel gewonnen habe : Stichproben von steuerbarer Bedeutung und Stichproben von praktischer Bedeutung für die direkte Beleuchtung .

Lenkbare Wichtigkeitsprobe

In diesem Artikel schlagen sie eine Methode vor, um das Produkt der geklemmten Kosinuskomponente und der Umgebungskartenbeleuchtung zu untersuchen:

LEM(ωich)(ωichn)+

Sie machen sich die Tatsache zunutze, dass eine stückweise lineare Approximation der Produktfunktion mit den ersten neun sphärischen harmonischen Basen relativ gut ausgedrückt und teilweise vorausberechnet werden kann. Sie bauen diese Näherung auf einer adaptiv triangulierten EM auf und verwenden sie als wichtige Funktion für die Abtastung.

Sie berechnen und speichern Näherungskoeffizienten für jeden Dreieckscheitelpunkt und auch Koeffizienten für die Berechnung des Näherungsintegrals über dem Dreieck für jedes Dreieck. Diese Koeffizienten werden Scheitelpunkt- und Dreieckgewichte genannt. Dann machen sie sich die Tatsache zunutze, dass es möglich ist, Koeffizienten für ein Integral über einen Satz von Dreiecken einfach zu berechnen, indem die einzelnen Dreiecksgewichte summiert werden, ohne zusätzliche kugelförmige harmonische Basen einzubeziehen. Auf diese Weise können sie einen ausgeglichenen Binärbaum über den Dreiecken erstellen, wobei jeder Knoten Koeffizienten zur Berechnung des Approximationsintegrals über den Teilbaumdreiecken des Knotens enthält.

Das Abtastverfahren besteht aus der Auswahl eines Dreiecks und dem Abtasten seiner Fläche:

  • Ein Dreieck wird ausgewählt, indem der vorgefertigte Binärbaum mit einer Wahrscheinlichkeit, die proportional zu den subintegralen Approximationen ist, nach unten absteigt. Dies kostet Ö(LogN) fliegende Berechnungen von Teilintegralen, die jeweils aus einem inneren Produkt von kugelförmigen Kosinuskoordinaten mit den vorberechneten Koeffizienten bestehen.
  • Die gewählte Dreieckoberfläche wird dann in -Zeit auf eine bi-lineare Weise durch eine in der Veröffentlichung vorgeschlagene neuartige Strategie für geschichtete Abtastung abgetastet.Ö(1)

Für mich sieht das aus wie ein vielversprechenden Technik aus , aber die klassische Frage bei Papieren ist, wie sie sich im wirklichen Leben verhalten wird. Einerseits kann es pathologische Fälle geben, in denen es schwierig ist, die EM mit einer triangulierten stückweisen linearen Funktion anzunähern, was zu einer enormen Anzahl von Dreiecken und / oder zu einer schlechten Probenqualität führen kann. Andererseits kann es sofort eine relativ gute Annäherung an den gesamten EM-Beitrag liefern, was nützlich sein kann, wenn mehrere Lichtquellen abgetastet werden.

Praktische Produktwichtigkeitsprobe für die direkte Beleuchtung

In diesem Artikel schlagen sie eine Methode vor, mit der das Produkt aus Umgebungskartenbeleuchtung und cosinusgewichteter Oberflächenreflexion untersucht werden kann:

LEM(ωich)fr(ωich,ωÖ,n)(ωichn)+

Die einzige Vorverarbeitung bei diesem Verfahren ist die Berechnung einer hierarchischen Darstellung der EM (entweder auf Mipmap- oder Wavelet-Basis). Der Rest wird während der Probenahme im laufenden Betrieb erledigt.

Das Probenahmeverfahren:

  • Der Aufbau eine On-the-fly BRDF Näherung: sie zunächst mehrere BRDF Bedeutung Proben und zu bewerten zeichnen fr(ωich,ωÖ,n)(ωichn)+ . Aus diesen Werten bilden sie eine quadtree-basierte stückweise konstante Approximation der BRDF, wobei jedes Blatt des Baumes genau eine Stichprobe enthält.
  • Die Berechnung eines Produkts aus der BRDF-Approximation und der EM: Die Multiplikation erfolgt an den BRDF-Quadtree-Blättern, und gemittelte Werte werden an die Eltern weitergegeben.
  • Produktentnahme: Durch einfaches Sample Warping werden einheitliche Proben durch den Produktbaum geführt.

Das Verfahren sollte relativ gute Stichproben auf Kosten einer umfangreichen Vorberechnung generieren. Sie zeigen, dass für die BRDF-Approximation etwa 100–200 BRDF-Stichproben erforderlich sind, um die beste Stichprobenleistung zu erzielen. Dies macht es möglicherweise für rein direkte Beleuchtungsberechnungen geeignet, bei denen pro Schattierungspunkt viele Abtastwerte generiert werden. Für globale Beleuchtungsalgorithmen (z. B. Tracer mit uni- oder bidirektionalem Pfad), bei denen in der Regel nur wenige Abtastwerte generiert werden , ist es jedoch höchstwahrscheinlich zu teuer pro Beschattungspunkt.

ivokabel
quelle
4

Haftungsausschluss: Ich habe keine Ahnung, wie der Stand der Technik bei der Probenahme von Umgebungskarten ist. Tatsächlich habe ich sehr wenig Wissen über dieses Thema. Das ist also keine vollständige Antwort, aber ich werde das Problem mathematisch formulieren und analysieren. Ich mache das hauptsächlich für mich, also mache ich es mir selbst klar, aber ich hoffe, dass OP und andere es nützlich finden.


I=S2f(ωi,ωo,n)L(ωi)(ωin)+dωi
f(ωi,ωo,n)L(ωi)(ωin)++(ωin)+=0(ωin)<0

Nωi1,,ωiNp(ωi)

I1Nk=1Nf(ωik,ωo,n)L(ωik)(ωikn)+p(ωik)

p


p

p(ωi)f(ωi,ωo,n)L(ωi)(ωin)+

Vom OP vorgeschlagene Methoden:

p

p(ωi)(ωin)+
p
p(ωi)L(ωi)

Anhand der Namen der genannten Artikel kann ich teilweise erraten, was sie tun (leider habe ich momentan nicht die Zeit und Energie, sie zu lesen). Aber bevor wir diskutieren, was sie höchstwahrscheinlich tun, lassen Sie uns ein wenig über Potenzreihen sprechen: D


f(x)

f(x)=k=0akxk
akfn
f(x)k=0nakxk
n ist ausreichend hoch dann ist der fehler wirklich klein.

f(x,y)

f(x,y)=k=0bk(y)xk
bk(y)y
f(x,y)=k,l=0cklxkyl
ckl

f(ω)

f(ω)=k=0αkSk(ω)
αkSk(ω)f kann als Summe einiger bekannter Funktionen geschrieben werden.

f(ω,ω)

f(ω,ω)=k=0βk(ω)Sk(ω)
f(ω,ω)=k,l=0γklSk(ω)Sl(ω)

Wie ist das alles nützlich?

f(ωi,ωo,n)=k,l,m=0αklmSk(ωi)Sl(ωo)Sm(n)L(ωi)=n=0βnSn(ω)(ωin)+=p,q=0γpqSp(ωi)Sq(n)
If we plug this into the integral we get
I=k,l,m,n,p,q=0αklmβnγpqSl(ωo)Sm(n)Sq(n)S2Sk(ωi)Sn(ω)Sp(ωi)dωi

Actually we no longer need Monte Carlo because we can calculate values of the integrals S2Sk(ωi)Sn(ω)Sp(ωi)dωi beforehand and then evaluate the sum(actually approximate the sum, we would sum only first few terms) and we get desired result.

This is all nice but we might not know the expansions of BSDF or environmental map or the expansions converge very slowly therefore we would have to take a lots of terms in the sum to get reasonably accurate answer.


So the idea is not to expand in all arguments. One method which might be worth investigating would be to ignore BSDF and expand only the environmental map i.e.

L(ωi)n=0KβnSn(ωi)
this would lead to pdf:
p(ωi)n=0KβnSn(ωi)(ωn)+

We already know how to do this for K=0, this is nothing but the method one. My guess is, it is done in one of the papers for higher K.


Further extensions. You can expand different functions in different arguments and do similar stuff as above. Another thing is, that you can expand in different basis, i.e. do not use spherical harmonics but different functions.

So this is my take on the topic, I hope you have found it at least a little bit useful and now I'm off to GoT and bed.

tom
quelle
Haha, when I posted the answer, SE asked me if I'm a human or a robot, the site wasn't sure :D I hope it is not because of the length of the answer, It got a little bit out of hand.
tom
you want to make my brain melt, don't you. ;-) BTW: I already managed to read two of the papers/presentations so I'll hopefully extend the question or write a superficial answer at the end of this week. And now, GoT FTW!
ivokabel
0

While the product sampling methods provides better (perfect) distribution for rays I would say that using MIS (multiple importance sampling) is a method verified in production. Since shadowing information is unknown product sampling doesn't become perfect anyway and it is quite hard to implmenet. Shooting more rays might be worth more! Depends on your situation and ray budgets of course!

Short description of MIS: In essence you trace both a BSDF-ray (as you would anyway for doing indirect lighting) and an explicit ray towards the EM. MIS give you weights so that you can combine them in a way that removes a lot of the noise. MIS is especially good at choosing "technique" (implicit or explicit sampling) based on the situation that arises. This happens naturally without the user having to make hard choices based on roughness etc.

Chapter 9 of http://graphics.stanford.edu/papers/veach_thesis/ covers this in detail. Also see https://www.shadertoy.com/view/4sSXWt for a demo of MIS in action with area lights.

anders
quelle
Ja, MIS ist eine wichtige produktionsgeprüfte Technik, die sehr hilfreich ist und ich setze sie in meiner Lösung ein (ich denke, das hätte ich in der Frage klarer ausdrücken müssen). Die Gesamtleistung eines MIS-basierten Schätzers hängt jedoch von der Qualität seiner Teilstichprobenstrategien ab. Ich versuche hier, eine der Unterstrategien zu verbessern, um die Gesamtleistung des Schätzers zu verbessern. Nach meiner Erfahrung ist es in der Regel effizienter, Proben mit geringerer Qualität zu verwenden, als dies bei der Erstellung möglicherweise teurer ist als bei Proben mit geringerer Qualität, die leichter zu erstellen sind.
ivokabel