Počítačová grafika III – Monte Carlo integrování Jaroslav Křivánek, MFF UK

Slides:



Advertisements
Podobné prezentace
Téma 5 Metody řešení desek, metoda sítí.
Advertisements

TEORIE ROZHODOVÁNÍ A TEORIE HER
MARKOVSKÉ ŘETĚZCE.
Počítačová grafika III Odraz světla, BRDF – Cvičení Jaroslav Křivánek, MFF UK
Počítačová grafika III – Monte Carlo integrování II Jaroslav Křivánek, MFF UK
Limitní věty.
NORMOVANÉ NORMÁLNÍ ROZDĚLENÍ
Jaroslav Křivánek, MFF UK
Téma 3 ODM, analýza prutové soustavy, řešení nosníků
Počítačová grafika III – Zobrazovací rovnice a její řešení
Počítačová grafika III – Zobrazovací rovnice a její řešení Jaroslav Křivánek, MFF UK
Počítačová grafika III – Monte Carlo integrování
Počítačová grafika III – Path tracing II Jaroslav Křivánek, MFF UK
Diskrétní rozdělení a jejich použití
VY_32_INOVACE_ 14_ sčítání a odčítání do 100 (SADA ČÍSLO 5)
Získávání informací Získání informací o reálném systému
Dělení se zbytkem 5 MODERNÍ A KONKURENCESCHOPNÁ ŠKOLA
Pravděpodobnost a statistika opakování základních pojmů
Obsah prezentace Náhodná proměnná Rozdělení náhodné proměnné.
Náhodná veličina.
25. října 2004Statistika (D360P03Z) 4. předn.1 Statistika (D360P03Z) akademický rok 2004/2005 doc. RNDr. Karel Zvára, CSc. KPMS MFF UK
Počítačová grafika III – Monte Carlo integrování Přímé osvětlení
Náhoda, generátory náhodných čísel
Zásady pozorování a vyjednávání Soustředění – zaznamenat (podívat se) – udržet (zobrazit) v povědomí – představit si – (opakovat, pokud se nezdaří /doma/)
také Gaussovo rozdělení (normal or Gaussian distribution)
8. listopadu 2004Statistika (D360P03Z) 6. předn.1 chování výběrového průměru nechť X 1, X 2,…,X n jsou nezávislé náhodné veličiny s libovolným rozdělením.
STANOVENÍ NEJISTOT PŘI VÝPOŠTU KONTAMINACE ZASAŽENÉHO ÚZEMÍ
Počítačová grafika III – Sekvence s nízkou diskrepancí a metody quasi-Monte Carlo Jaroslav Křivánek, MFF UK
Počítačová grafika III Úvod Jaroslav Křivánek, MFF UK
Počítačová grafika III Světlo, Radiometrie – Cvičení Jaroslav Křivánek, MFF UK
Počítačová grafika III – Cvičení 3 Jaroslav Křivánek, MFF UK
Nechť (, , P) je pravděpodobnostní prostor:
1 Celostátní konference ředitelů gymnázií ČR AŘG ČR P ř e r o v Mezikrajová komparace ekonomiky gymnázií.
Počítačová grafika III – Multiple Importance Sampling Jaroslav Křivánek, MFF UK
Náhodný jev A E na statistickém experimentu E - je určen vybranou množinou výsledků experimentu: výsledku experimentu lze přiřadit číslo, náhodnou proměnnou.
Data s diskrétním rozdělením
Interpretace výsledků modelových výpočtů
Náhoda, generátory náhodných čísel
Počítačová grafika III – Monte Carlo integrování II Jaroslav Křivánek, MFF UK
Vybraná rozdělení spojité náhodné veličiny
Počítačová grafika III – Monte Carlo rendering 2 Jaroslav Křivánek, MFF UK
Výpočet plochy pomocí metody Monte Carlo
Odhad metodou maximální věrohodnost
Počítačová grafika III – Monte Carlo integrování Jaroslav Křivánek, MFF UK
Experimentální fyzika I. 2
Počítačová grafika III – Path tracing Jaroslav Křivánek, MFF UK
Náhodné výběry a jejich zpracování Motto: Chceme-li vědět, jak chutná víno v sudu, nemusíme vypít celý sud. Stačí jenom malý doušek a víme na čem jsme.
Počítačová grafika III – Důležitost, BPT Jaroslav Křivánek, MFF UK
Náhodné výběry a jejich zpracování Motto: Chceme-li vědět, jak chutná víno v sudu, nemusíme vypít celý sud. Stačí jenom malý doušek a víme na čem jsme.
Počítačová grafika III – Zobrazovací rovnice a její řešení Jaroslav Křivánek, MFF UK
2. Vybrané základní pojmy matematické statistiky
Základy matematické statistiky. Nechť je dána náhodná veličina X (“věk žadatele o hypotéku“) X je definována rozdělením pravděpodobností, s nimiž nastanou.
Monte Carlo simulace Experimentální fyzika I/3. Princip metody Problémy které nelze řešit analyticky je možné modelovat na základě statistického chování.
Počítačová grafika III Organizace Jaroslav Křivánek, MFF UK
Počítačová grafika III ZS 2014 Organizace Jaroslav Křivánek, MFF UK
Počítačová grafika III Organizace Jaroslav Křivánek, MFF UK
Počítačová grafika III Úvod Jaroslav Křivánek, MFF UK
(Popis náhodné veličiny)
Počítačová grafika III – Path tracing Jaroslav Křivánek, MFF UK
Statistické odhady (inference) Výběr Nepotřebujeme sníst celého vola jenom proto, abychom poznali, že to jde ztuha. Samuel Johnson (anglický básník a.
Aritmetický průměr - střední hodnota
Počítačová grafika III – Monte Carlo rendering 3 Jaroslav Křivánek, MFF UK
Náhodná veličina. Nechť (, , P) je pravděpodobnostní prostor:
Některá rozdělení náhodných veličin
Spojitá náhodná veličina
Stochastické procesy a Markovovy řetězce
Monte Carlo Typy MC simulací
Základy zpracování geologických dat Rozdělení pravděpodobnosti
Počítačová grafika III Monte Carlo estimátory – Cvičení
Náhodné výběry a jejich zpracování
Transkript prezentace:

Počítačová grafika III – Monte Carlo integrování Jaroslav Křivánek, MFF UK

Rendering = Integrování funkcí Problémy  Nespojitost integradu (viditelnost)  Téměř libovolné hodnoty integrandu (distribuce světla, BRDF)  Složitá geometrie PG III (NPGR010) - J. Křivánek

Historie Monte Carlo (MC) Vývoj atomové bomby, Los Alamos 1940, John von Neumann, Stanislav Ulam, Metropolis Rozvoj a aplikace metod od roku 1949

Metoda Monte Carlo Simuluje se mnoho případů daného děje, například:  Neurony – vznik, zánik, srážky s atomy vodíku  Úlohy hromadné obsluhy – chování počítačových sítí, dopravní situace  Sociologické a ekonomické modely – demografie, vývoj inflace, pojišťovnictví atd.

Num. integrování – Kvadraturní vzorce Obecný předpis v 1D: f integrand (tj. integrovaná funkce) n řád kvadratury (tj. počet vzorků integrandu) x i uzlové body (tj. umístění vzorků v oboru integrálu) f(x i ) vzorky integrandu w i váhy

Num. integrování – Kvadraturní vzorce Kvadraturní pravidla se liší volbou uzlových bodů x i a váhami w i  Obdélníková metoda, Rovnoběžníková metoda, Simpsonova metoda, Gaussovská kvadratura, … Vzorky na integračním oboru (tj. uzlové body) jsou rozmístěny deterministicky  Jednoznačně určeny kvadraturním pravidlem

Kvadraturní vzorce pro více dimenzí Obecný předpis pro více dimenzí: Rychlost konvergence pro s-dimenzionální integrál je O(N -1/s )  Např. pro dvojnásobné zpřesnění odhadu 3-rozměrného integrálu musíme zvýšit počet vzorků 2 3 = 8 krát Nepoužitelné pro vysokodimenzionální integrály  Dimenzionální exploze

Kvadraturní vzorce pro více dimenzí Kvadraturní vzorce  V 1D lepší přesnost než Monte Carlo  Ve 2D srovnatelné s MC  Od 3D bude MC téměř vždy lepší Kvadraturní metody NEJSOU metody Monte Carlo!

Monte Carlo integrování Vzorky jsou rozmístěny náhodně (nebo pseudonáhodně) Konvergence: O(N -1/2 )  Konvergence nezávisí na dimenzionalitě  Rychlejší než klasické kvadraturní vzorce pro 3 a více dimenzí Speciální metody pro rozmístění vzorků  Quasi-Monte Carlo, Randomized quasi-Monte Carlo  Ještě rychlejší konvergence než MC

Monte Carlo integrování – shrnutí Výhody  Jednoduchá implementace  Robustní řešení pro různé tvary domén a integrandů  Efektivní pro vícerozměrné integrály Nevýhody  Relativně pomalá konvergence – zmenšení statistické chyby o polovinu vyžaduje zvětšit počet vzorků čtyřikrát  Pro syntézu obrazu: obrázek obsahuje šum

Náhodné veličiny

Náhodná veličina X … náhodná hodnota X nabývá různých hodnot s různou pravděpodobností  X  p(x)  Rozložení pravděpodobnosti PG III (NPGR010) - J. Křivánek

Diskrétní náhodná veličina Konečná množina hodnot x i S pravděpodobností p i Distribuční funkce (cummulative distribution function) PG III (NPGR010) - J. Křivánek Pravděpodobnostní funkce (probability mass function) Distribuční funkce

Spojitá náhodná veličina Hustota pravděpodobnosti p(x) (probability density function, pdf) V 1d: PG III (NPGR010) - J. Křivánek

Spojitá náhodná veličina Distribuční funkce P(x) (cummulative distribution function, cdf) V 1d: PG III (NPGR010) - J. Křivánek

Spojitá náhodná veličina PG III (NPGR010) - J. Křivánek Hustota pravděpodobnosti (pdf) Rovnoměrné rozdělení (uniform distribution) Distribuční funkce (cdf)

Spojitá náhodná veličina PG III (NPGR010) - J. Křivánek Zdroj: wikipedia Gaussovské (normální) rozdělení Hustota pravděpodobnosti (pdf) Distribuční funkce (cdf)

Stř. hodnota a rozptyl Stř. Hodnota (očekávaná hodnota, expected value) Rozptyl (variance)  Vlastnosti (pokud jsou X i nezávislé)

Transformace náhodné veličiny Y je náhodná veličina Stř. hodnota Y PG III (NPGR010) - J. Křivánek

Monte Carlo integrování

Primární estimátor urč. integrálu Odhadovaný integrál: Je-li X náhodná veličina s distribucí p(x), pak Y = f(X)/p(X) je tzv. primární estimátor integrálu:

Primární estimátor urč. integrálu X f(x)f(x) f(X) f(X) 01

Estimátor Estimátor je náhodná veličina  Vznikla transformací jiné náhodné veličiny Její realizace (hodnota) je konkrétní odhad (estimate) PG III (NPGR010) - J. Křivánek

Nestrannost obecného estimátoru Nestrannost estimátoru (obecně):  V průměru estimátor dává správnou veličinu (bez systematické chyby) PG III (NPGR010) - J. Křivánek Odhadovaná veličina (např. integrál) Estimátor veličiny Q (náhodná veličina)

Nestrannost Náš estimátor F prim je nestranným (unbiased) odhadem I PG III (NPGR010) - J. Křivánek

Rozptyl estimátoru F prim Měřítkem kvality odhadu je jeho rozptyl (nebo standardní odchylka): Při výpočtu jediného vzorku je rozptyl výsledku příliš velký! (pro nestranný odhad)

Sekundární estimátor integrálu N nezávislých náhodných veličin, Y i = f(X i ) / p(X i ) Sekundární estimátor je nestranný PG III (NPGR010) - J. Křivánek

Rozptyl sekundárního estimátoru... std. chyba je  N-krát menší! (konvergence 1/  N)

Vzorkování podle důležitosti Některé části vzorkovaného intervalu jsou důležitější, protože zde má f větší hodnotu  Vzorky z těchto oblastí mají větší vliv na výsledek Vzorkování podle důležitosti (“importance sampling”) umisťuje vzorky přednostně do takových oblastí  Tj. pdf p je „ podobná“ integrandu Menší rozptyl při zachování nestrannosti PG III (NPGR010) - J. Křivánek

Vzorkování podle důležitosti X1X1 f(x) 01 p(x) X2X2 X3X3 X4X4 X5X5 X6X6

Příklady MC estimátorů

Odhad irradiance – uniformní vzork. Uniformní vzorkování: Estimátor: PG III (NPGR010) - J. Křivánek

Odhad irradiance – cos vzork. Importance sampling: Estimátor: PG III (NPGR010) - J. Křivánek

PG III (NPGR010) - J. Křivánek

Odhad irradiance – vzrokování zdroje

Uniformní vzorkování plochy zdroje: Estimátor PG III (NPGR010) - J. Křivánek

PG III (NPGR010) - J. Křivánek

PG III (NPGR010) - J. Křivánek

Plošné zdroje světla 1 vzorek na pixel 9 vzorků na pixel 36 vzorků na pixel

Přímé osvětlení na ploše s obecnou BRDF Odhadovaný integrál Estimátor (uniformní vzorkování povrchu zdroje) PG III (NPGR010) - J. Křivánek

Nepřímé osvětlení na ploše s obecnou BRDF Odhadovaný integrál Estimátor pro vzorkování směrů s obecnou pdf p(  ) PG III (NPGR010) - J. Křivánek PDF úměrná nebo velmi podobná BRDF Pozn. L o = L r + L e

Distribution Ray Tracing Path tracing

Sledování cest od kamery renderImage() { for all pixels { Color pixelCol = (0,0,0); for k = 1 to N { wk := náhodný směr skrz k-tý pixel pixelCol += getLi(camPos,wk) } return Lo / N }

Distribution Ray Tracing getLi(x, wi) { hit := NearestIntersect(x, wi) wo := -wi; y := hit.pos; if no intersection return backgroundCol; else { Lo = (0,0,0) for k = 1 to N { wk := náhodný směr na hemisféře s hustotou p(w) Lo += getLi(y, wk) * fr(y, wk, wo) * dot(hit.n,wk) / p(wk) } return Lo / N + directLighting (y, wo); }

Distribution Ray Tracing Ad hoc ukončení rekurze  maximální povolená hloubka  minimální povolený příspěvek PG III (NPGR010) - J. Křivánek

Sledování cest (Path tracing) Pouze jeden sekundární paprsek 1. vyber způsob interakce (ideální lom, difúzní odraz, …) 2. použij importance sampling podle vybrané interakce Přímé osvětlení  Doufej, že náhodně vygenerovaný paprsek trefí zdroj, anebo  Vyber náhodně jeden vzorek na jednom zdroji světla Trasuj stovky cest přes každý pixel a zprůměruj výsledek Výhoda: žádná exploze počtu paprsků kvůli rekurzi

Path Tracing – Implicitní osvětlení getLi(x, w) { Color thrput = (1,1,1) Color accum = (0,0,0) while(1) { hit = NearestIntersect(x, w) if no intersection return accum + thrput * bgRadiance(x, w) if isOnLightSource(hit) accum += thrput * Le(hit.pos, -w) ρ = reflectance(hit.pos, -w) if rand() < ρ // russian roulette – survive (reflect) wi := SampleDir(hit) thrput *= fr(hit.pos, wi, -w) * dot(hit.n, wi) / (ρ*p(wi)) x := hit.pos w := wi else // absorb break; } return accum; }

Ukončení rekurze – Ruská ruleta Pokračuj v rekurzi s pravděpodobností q Uprav váhu faktorem 1 / q PG III (NPGR010) - J. Křivánek