Importanza del campionamento delle mappe ambientali


14

Qual è l'approccio attualmente più noto e idealmente anche verificato dalla produzione per le mappe di ambiente di campionamento (EM) in un tracciatore unidirezionale basato su MIS e tipi simili di renderer? Preferirei soluzioni ragionevolmente complicate mentre ragionevolmente funzionali a quelle che forniscono un campionamento perfetto a costo di implementazione super complicata e di difficile comprensione.

Quello che so finora

Esistono alcuni modi semplici per campionare gli EM. Si può campionare l'emisfero necessario in modo ponderato in base al coseno, il che ignora sia la BSDF che la forma della funzione EM. Di conseguenza, non funziona con EM dinamici:

inserisci qui la descrizione dell'immagine

Per migliorare il campionamento a un livello utilizzabile, è possibile campionare la luminanza dell'EM su tutta la sfera. È relativamente facile da implementare e i risultati sono abbastanza buoni. Tuttavia, la strategia di campionamento sta ancora ignorando le informazioni sulla visibilità emisferica e il fattore del coseno (e anche il BSDF), causando un rumore elevato sulle superfici che non sono illuminate direttamente dalle aree ad alta intensità dell'EM:

inserisci qui la descrizione dell'immagine

documenti

Ho trovato alcuni articoli sull'argomento, ma non li ho ancora letti. Qualcuno di questi vale la pena di leggere e implementare in un tracciatore di percorso unidirezionale in avanti, o c'è qualcosa di ancora meglio?

  • Campionamento strutturato delle mappe ambientali (2003) di Agarwal et al.

  • Steerable Importance Sampling (2007) di Kartic Subr e Jim Arvo. Sostengono di presentare "... un algoritmo per un efficiente campionamento di importanza stratificata delle mappe ambientali che genera campioni nell'emisfero positivo definita dall'orientamento locale di superfici arbitrarie, tenendo conto della ponderazione del coseno. "Il documento" Importance Sampling Harmonics Sferical "commenta su di esso:" Creano una rappresentazione triangolata della mappa ambientale e memorizzano l'illuminazione premoltiplicata da ciascuna delle prime nove funzioni di base armonica sferica ad ogni vertice. Ciò costituisce una base orientabile in cui il coseno bloccato può essere ruotato in modo efficiente secondo qualsiasi orientamento. "

  • Campionamento di importanza pratica del prodotto per illuminazione diretta (2008) di Petrik Clarberg e Tomas Akenine-Möller. Un algoritmo per campionare il prodotto dell'illuminazione della mappa ambientale e della riflettanza della superficie. Utilizza il campionamento dell'importanza basato su wavelet.

  • Importance Sampling Sferical Harmonics (2009) di Jarosz, Carr e Jensenn. L'abstract dice: "... presentiamo il primo metodo pratico per importanti funzioni di campionamento rappresentate come armoniche sferiche (SH) ..."

  • Campionamento di mappe di ambiente basate su turni medio-mappati (2015) di Feng et al. Questo è piuttosto nuovo e non ho trovato né un riferimento né il documento stesso.


Ho una domanda. La seconda immagine viene generata solo campionando l'EM? Oppure è la versione MISed del campionamento del coseno e del campionamento EM? Spero davvero che sia la versione MISed, perché se è così, allora potrei avere un rimedio per l'alto rumore nella parte in ombra.
Tom,

No @tom, utilizza solo il campionamento EM sperical, ignorando sia il (Lambert) BRDF sia il fattore del coseno. Sono stati usati 64 campioni e non è stato applicato alcun filtro dello spazio immagine, solo facendo una media dell'area dei pixel. Quando viene applicato MIS per combinare il campionamento EM con il campionamento del coseno, il rumore nell'ombra diminuisce molto, ma aumenta leggermente nella parte illuminata dal sole.
Ivokabel,

Risposte:


6

Questa non è una risposta completa, vorrei solo condividere le conoscenze che ho ottenuto studiando due dei documenti citati nell'interrogazione: campionamento dell'importanza orientabile e campionamento dell'importanza del prodotto pratico per l'illuminazione diretta .

Campionamento dell'importanza orientabile

In questo documento propongono un metodo per campionare il prodotto del componente coseno bloccato e l'illuminazione della mappa ambientale:

LEM(ωi)(ωin)+

Sfruttano il fatto che un'approssimazione lineare a pezzo della funzione del prodotto può essere relativamente ben espressa e parzialmente pre-calcolata usando le prime nove basi armoniche sferiche. Costruiscono questa approssimazione sopra un EM adattativamente triangolato e lo usano come una funzione importante per il campionamento.

Pre-calcolano e memorizzano i coefficienti di approssimazione per ciascun vertice del triangolo e anche i coefficienti per il calcolo dell'integrale di approssimazione sul triangolo per ciascun triangolo. Questi coefficienti sono chiamati pesi vertici e triangolari. Quindi sfruttano il fatto che è possibile calcolare facilmente i coefficienti per un integrale su un insieme di triangoli semplicemente sommando i pesi dei singoli triangoli senza incorporare ulteriori basi armoniche sferiche. Ciò consente loro di costruire un albero binario bilanciato sopra i triangoli in cui ciascun nodo contiene coefficienti per calcolare l'integrale di approssimazione sui triangoli del sottoalbero del nodo.

La procedura di campionamento consiste nel selezionare un triangolo e campionarne l'area:

  • Un triangolo viene scelto scendendo dall'albero binario precostruito con probabilità proporzionale alle approssimazioni sub-integrali. Questo costa calcoli al volo di sub-integrali, ciascuno costituito da un prodotto interno di coordinate armoniche sferiche al coseno bloccato con i coefficienti pre-calcolati. O(logN)
  • La superficie del triangolo scelta viene quindi campionata nel tempo in modo bi-lineare da una nuova strategia di campionamento stratificata proposta nel documento.O(1)

A me sembra una tecnica promettente , ma la classica domanda con le carte è come si comporterà nella vita reale. Da un lato, possono esserci casi patologici in cui l'EM è difficile da approssimare con una funzione lineare triangolata saggia, che può portare a un'enorme quantità di triangoli e / o a una scarsa qualità del campione. D'altra parte, può fornire immediatamente un'approssimazione relativamente buona dell'intero contributo EM, che può essere utile quando si campionano più sorgenti luminose.

Pratico campionamento dell'importanza del prodotto per l'illuminazione diretta

In questo articolo propongono un metodo per campionare il prodotto dell'illuminazione della mappa ambientale e della riflettanza della superficie ponderata al coseno:

LEM(ωi)fr(ωi,ωo,n)(ωin)+

L'unica pre-elaborazione in questo metodo è il calcolo di una rappresentazione gerarchica dell'EM (basata su mipmap o wavelet). Il resto viene fatto al volo durante il campionamento.

La procedura di campionamento:

  • Costruire un'approssimazione BRDF al volo: prima disegnano diversi campioni di importanza BRDF e valutano . Da questi valori costruiscono un'approssimazione costante in termini di quad-core basata su pezzi a tre punte del BRDF, dove ogni foglia dell'albero contiene esattamente un campione.fr(ωi,ωo,n)(ωin)+
  • Calcolo di un prodotto dell'approssimazione del BRDF e dell'EM: la moltiplicazione viene effettuata sulle foglie del quadrifoglio BRDF e i valori medi vengono propagati ai genitori.
  • Campionamento del prodotto: i campioni uniformi vengono alimentati attraverso l'albero del prodotto mediante una semplice deformazione del campione.

La procedura dovrebbe generare campioni relativamente buoni a scapito di una pesante pre-computazione - dimostrano che sono necessari circa 100-200 campioni BRDF per l'approssimazione BRDF per ottenere le migliori prestazioni di campionamento. Ciò può renderlo adatto a calcoli di illuminazione puramente diretti, in cui si generano molti campioni per punto di ombreggiatura, ma molto probabilmente è troppo costoso per gli algoritmi di illuminazione globale (ad esempio tracciatori di percorso unidirezionali o bidirezionali), in cui di solito si generano solo pochi campioni per punto di ombreggiatura.


4

Disclaimer: non ho idea di quale sia lo stato dell'arte nel campionamento delle mappe ambientali. In realtà, ho pochissime conoscenze su questo argomento. Quindi questa non sarà una risposta completa, ma formulerò matematicamente il problema e lo analizzerò. Lo faccio principalmente per me stesso, quindi lo chiarisco da solo, ma spero che OP e altri lo troveranno utile.


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

Stimiamo questo integrale generando 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)+

Metodi suggeriti dall'OP:

p

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

Sulla base dei nomi degli articoli citati, posso in parte indovinare cosa fanno (sfortunatamente non ho il tempo e l'energia per leggerli in questo momento). Ma prima di discutere di ciò che probabilmente fanno, parliamo un po 'delle serie di potenze: D


f(x)

f(x)=k=0akxk
akfn
f(x)k=0nakxk
n è sufficientemente alto, quindi l'errore è davvero piccolo.

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 può essere scritto come una somma di alcune funzioni conosciute.

f(ω,ω)

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

Allora, come è tutto utile?

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.


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.


Yes, MIS is an important production-verified technique, which helps a lot and I employ it in my solution (I guess, I should have stated that more clearly in the question). However, the overall performance of a MIS-based estimator depends on the quality of its partial sampling strategies. What I am trying to do here is to improve one of the the sub-strategies to improve the overall performance of the estimator. In my experience, it is usually more efficient to use less high-quality samples than may be more expensive to generate than more easily-generated low-quality ones.
ivokabel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.