Počítačová grafka III Monte Carlo ntegrování Přímé osvětlení Jaroslav Křvánek, MFF UK Jaroslav.Krvanek@mff.cun.cz
Renderng = Integrování funkcí L r ( x, o H ( x L ( x, f r ( x, cos d o Příchozí radance L (x, pro jeden bod na podlaze. Problémy Nespojtost ntegradu (vdtelnost Téměř lbovolné hodnoty ntegrandu (dstrbuce světla, BRDF Složtá geometre PG III (NPGR010 - J. Křvánek 2013 2
Hstore Monte Carlo (MC Vývoj atomové bomby, Los Alamos 1940, John von Neumann, Stanslav Ulam, Ncholas Metropols Rozvoj a aplkace metod od roku 1949 PG III (NPGR010 - J. Křvánek 2013 3
Metoda Monte Carlo Smuluje se mnoho případů daného děje, například: Neutrony vznk, zánk, srážky s atomy vodíku Úlohy hromadné obsluhy chování počítačových sítí, dopravní stuace Socologcké a ekonomcké modely demografe, vývoj nflace, pojšťovnctví atd. PG III (NPGR010 - J. Křvánek 2013 4
Slde credt: Iwan Kawrakov PG III (NPGR010 - J. Křvánek 2013 5
Slde credt: Iwan Kawrakov PG III (NPGR010 - J. Křvánek 2013 6
Šum v obrázcích PG III (NPGR010 - J. Křvánek 2013 7
Odbočka Kvadraturní vzorce pro numercké ntegrování Obecný předps v 1D: Iˆ n 1 w f ( x f n x ntegrand (tj. ntegrovaná funkce řád kvadratury (tj. počet vzorků ntegrandu uzlové body (tj. umístění vzorků v oboru ntegrálu f(x vzorky ntegrandu w váhy PG III (NPGR010 - J. Křvánek 2013 8
Odbočka Kvadraturní vzorce pro numercké ntegrování Kvadraturní pravdla se lší volbou uzlových bodů x a váham w Obdélníková metoda, Rovnoběžníková metoda, Smpsonova metoda, Gaussovská kvadratura, Vzorky na ntegračním oboru (tj. uzlové body jsou rozmístěny determnstcky Jednoznačně určeny kvadraturním pravdlem PG III (NPGR010 - J. Křvánek 2013 9
Kvadraturní vzorce pro více dmenzí Obecný předps pro ntegrování fcí více proměnných: Iˆ n n n... 1 1 1 1 2 s w w... w f ( x s, x,..., x 1 2 1 2 s Rychlost konvergence pro s-dmenzonální ntegrál je O(N -1/s Např. pro dvojnásobné zpřesnění odhadu 3-rozměrného ntegrálu musíme zvýšt počet vzorků 2 3 = 8 krát Nepoužtelné pro vysokodmenzonální ntegrály Dmenzonální exploze PG III (NPGR010 - J. Křvánek 2013 10
Kvadraturní vzorce pro více dmenzí 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! PG III (NPGR010 - J. Křvánek 2013 11
Monte Carlo ntegrování Obecný nástroj k numerckému odhadu určtých ntegrálů f(x p(x Integrál: I 1 N I N 1 f ( x dx Monte Carlo odhad I: f ( ; p( p( x 0 1 5 3 1 4 2 6 V průměru to funguje: E[ I ] PG III (NPGR010 - J. Křvánek 2013 12 I
Monte Carlo ntegrování Vzorky jsou rozmístěny náhodně (nebo pseudonáhodně Konvergence: O(N -1/2 Konvergence nezávsí na dmenzonaltě Rychlejší než klascké kvadraturní vzorce pro 3 a více dmenzí Specální metody pro rozmístění vzorků Quas-Monte Carlo, Randomzed quas-monte Carlo Ještě rychlejší konvergence než MC PG III (NPGR010 - J. Křvánek 2013 13
Monte Carlo ntegrování shrnutí Výhody Jednoduchá mplementace Robustní řešení pro různé tvary domén a ntegrantů Efektvní pro vícerozměrné ntegrály Nevýhody Relatvně pomalá konvergence zmenšení statstcké chyby o polovnu vyžaduje zvětšt počet vzorků čtyřkrát Pro syntézu obrazu: obrázek obsahuje šum PG III (NPGR010 - J. Křvánek 2013 14
The MC method: applcatons Fnancal market smulatons Traffc flow smulatons Envronmental scences Partcle physcs Quantum feld theory Astrophyscs Molecular modelng Semconductor devces Optmzaton problems Lght transport calculatons... PG III (NPGR010 - J. Křvánek 2013 15
Náhodné velčny
Náhodná velčna X náhodná velčna X nabývá různých hodnot s různou pravděpodobností X p(x Rozložení pravděpodobnost PG III (NPGR010 - J. Křvánek 2013 17
Dskrétní náhodná velčna Konečná množna hodnot x Pravděpodobnostní funkce (probablty mass functon S pravděpodobností p p Pr( X x 0 n 1 p 1 p x Dstrbuční funkce (cumulatve dstrbuton functon 1 P Dstrbuční funkce P X x Pr p 1 j1 j P n PG III (NPGR010 - J. Křvánek 2013 18 x
Spojtá náhodná velčna Hustota pravděpodobnost p(x (probablty densty functon, pdf V 1d: Pr X D p( x dx D Pr a X b b a p( t dt PG III (NPGR010 - J. Křvánek 2013 19
Spojtá náhodná velčna Dstrbuční funkce P(x (cumulatve dstrbuton functon, cdf V 1d: P( x Pr x X x p( t dt Pr X a p( t dt 0! a a PG III (NPGR010 - J. Křvánek 2013 20
Spojtá náhodná velčna Př. Rovnoměrné rozdělení (unform dstrbuton Hustota pravděpodobnost (pdf Dstrbuční funkce (cdf PG III (NPGR010 - J. Křvánek 2013 21
Zdroj: wkpeda Spojtá náhodná velčna Gaussovské (normální rozdělení Hustota pravděpodobnost (pdf Dstrbuční funkce (cdf PG III (NPGR010 - J. Křvánek 2013 22
Střední hodnota a rozptyl Střední hodnota (očekávaná hodnota, expected value E X D x p( x dx Rozptyl (varance Vlastnost (pokud jsou X nezávslé PG III (NPGR010 - J. Křvánek 2013 23
Transformace náhodné velčny Y f X Y je náhodná velčna Střední hodnota Y E Y D f ( x p( x dx PG III (NPGR010 - J. Křvánek 2013 24
Monte Carlo ntegrování
Prmární estmátor určtého ntegrálu Odhadovaný ntegrál: I f x dx Je-l X náhodná velčna s dstrbucí p(x, pak f(x/p(x je tzv. prmární estmátor ntegrálu: F prm f ( X p( X PG III (NPGR010 - J. Křvánek 2013 26
Prmární estmátor určtého ntegrálu f(x f(x 0 X 1 PG III (NPGR010 - J. Křvánek 2013 27
Estmátor a odhad Estmátor je náhodná velčna Vznkla transformací jné náhodné velčny Její realzace (hodnota je konkrétní odhad (estmate PG III (NPGR010 - J. Křvánek 2013 28
Nestrannost obecného estmátoru Nestrannost estmátoru (obecně: V průměru estmátor dává správnou hodnotu odhadované velčny (bez systematcké chyby E F Q Estmátor velčny Q (náhodná velčna Odhadovaná velčna (např. ntegrál PG III (NPGR010 - J. Křvánek 2013 29
Nestrannost Náš estmátor F prm je nestranným (unbased odhadem I E f x F prm I p( x p x dx PG III (NPGR010 - J. Křvánek 2013 30
Rozptyl prmárního estmátoru Měřítkem kvalty odhadu je jeho rozptyl (nebo standardní odchylka: V 2 2 2 2 F E[ F ] E[ F ] dx I prm prm prm prm 2 f x p( x (pro nestranný odhad Př výpočtu jedného vzorku je rozptyl výsledku přílš velký! PG III (NPGR010 - J. Křvánek 2013 31
Sekundární estmátor ntegrálu N nezávslých náhodných velčn, f(x / p(x F N 1 N N 1 f p X X Sekundární estmátor je nestranný PG III (NPGR010 - J. Křvánek 2013 32
Rozptyl sekundárního estmátoru prm 2 1 1 ( ( 1 ( ( 1 ( ( 1 F V N X p X f V N X p X f V N N X p X f N V F V N N... std. chyba je N-krát menší! (konvergence 1/N PG III (NPGR010 - J. Křvánek 2013 33
Vlastnost estmátorů
Nestrannost obecného estmátoru Nestrannost estmátoru (obecně: V průměru estmátor dává správnou hodnotu odhadované velčny (bez systematcké chyby E F Q Estmátor velčny Q (náhodná velčna Odhadovaná velčna (např. ntegrál PG III (NPGR010 - J. Křvánek 2013 35
Výchylka (bas obecného estmátoru Pokud E F Q pak estmátor není nestranný (je vychýlený, based. Systematcká chyba, bas Q E F PG III (NPGR010 - J. Křvánek 2013 36
Konzstence (obecného estmátoru Uvažujme sekundární estmátor (N vzorků: F F N N ( X, X 2,..., X 1 N Estmátor F N je konzstentní pokud tj. pokud chyba F N Q jde k nule s pravděpodobností 1. PG III (NPGR010 - J. Křvánek 2013 37
Konzstence (obecného estmátoru Postačující podmínka pro konzstenc estmátoru: bas (tj. ne každý nestranný estmátor je konzstentní PG III (NPGR010 - J. Křvánek 2013 38
Zobrazovací algortmy Nestranné (unbased Sledování cest (path tracng Obousměrné sledování cest (bdrectonal path tracng Metropols lght transport Konzstentní (consstent Progresvní fotonové mapy (progressve photon mappng Nekonzstentní, vychýlené (based Fotonové mapy (photon mappng Irradance / radance cachng PG III (NPGR010 - J. Křvánek 2013 39
Střední kvadratcká chyba (Mean Squared Error MSE Defnce MSE[ F] E[( F Q 2 ] Platí MSE[ F] V[ F] [ F] 2 Důkaz PG III (NPGR010 - J. Křvánek 2013 40
Střední kvadratcká chyba (Mean Squared Error MSE Pokud F je nestranný, pak MSE[ F] V[ F] tj. pro nestranný estmátor je snazší odhadnout chybu, protože rozptyl estmátoru lze odhadnout ze vzorků Y = f(x / p(x Nestranný estmátor rozptylu PG III (NPGR010 - J. Křvánek 2013 41
Účnnost estmátoru Pro nestranný estmátor je účnnost (efcence, angl. effcency dána vztahem: rozptyl čas výpočtu (počet operací, např. počet vržených paprsků PG III (NPGR010 - J. Křvánek 2013 42
Metody snížení rozptylu MC estmátorů
Metody snížení rozptylu Importance samplng (vzorkování podle důležtost a Podle BRDF (nejčastější b Podle L (pokud známo: přímé osvětlení V syntéze obrazu je IS nejčastěj používaná metoda Řídící funkce (control varates Lepší rozložení vzorků Stratfkace quas-monte Carlo (QMC PG III (NPGR010 - J. Křvánek 2013 44
Vzorkování podle důležtost Některé část vzorkovaného ntervalu jsou důležtější, protože zde má f větší hodnotu Vzorky z těchto oblastí mají větší vlv na výsledek Vzorkování podle důležtost ( mportance samplng umsťuje vzorky přednostně do takových oblastí Tj. pdf p je podobná ntegrandu Menší rozptyl př zachování nestrannost PG III (NPGR010 - J. Křvánek 2013 45
Vzorkování podle důležtost f(x p(x X 5 X 3 X 1 X 4 X 2 X 6 0 1 PG III (NPGR010 - J. Křvánek 2013 46
Řídící funkce Funkce g(x, která aproxmuje ntegrant a dokážeme j analytcky ntegrovat: I f x dx f x gx dx gx dx numercké ntegrování (MC menší rozptyl než f(x umíme analytcky ntegrovat PG III (NPGR010 - J. Křvánek 2013 47
Transformace řídící funkcí f(x g(x 0 f(x-g(x 0 1 PG III (NPGR010 - J. Křvánek 2013 48
Řídící funkce vs. Importance samplng Importance samplng Lepší pokud se funkce, podle níž umíme vzorkovat, vyskytuje v ntegrantu jako multplkatvní člen (rovnce odrazu, zobrazovací rovnce. Řídící funkce Lepší pokud se funkce, kterou umíme analytcky ntegrovat, vyskytuje v ntegrantu jako adtvní člen. Proto v se v syntéze obrazu téměř vždy používá mportance samplng. PG III (NPGR010 - J. Křvánek 2013 49
Lepší rozmístění vzorků Př výběru množny nezávslých vzorků se stejnou hustotou pravděpodobnost dochází ke shlukování velký rozptyl odhadu Lepší rozmístění vzorků = ntegrační oblast je pravdelněj pokryta snížení rozptylu Metody Vzorkování po částech (stratfkace, stratfed samplng quas-monte Carlo (QMC PG III (NPGR010 - J. Křvánek 2013 50
Vzorkování po částech Interval se rozdělí na část, které se odhadují samostatně f(x f(x 0 1 x 1 x 2 x 3 x 4 PG III (NPGR010 - J. Křvánek 2013 51
Rozdělení ntervalu na N částí : Estmátor: N X X f N I, ( 1 ˆ 1 strat N N I x x f x x f I 1 1 d d Vzorkování po částech PG III (NPGR010 - J. Křvánek 2013 52
Vzorkování po částech Potlačuje shlukování vzorků Redukuje rozptyl odhadu Rozptyl menší nebo roven rozptylu sekundárního estmátoru Velm účnné pro nízkou dmenz ntegrantu PG III (NPGR010 - J. Křvánek 2013 53
Rozklad ntervalu na část unformní rozklad ntervalu (0,1 přrozená metoda pro zcela neznámou funkc f známe-l alespoň přblžně průběh funkce f, snažíme se o takový rozklad, aby byl rozptyl funkce na subntervalech co nejmenší rozklad d-rozměrného ntervalu vede na N d výpočtů úspornější metodou je vzorkování N věží PG III (NPGR010 - J. Křvánek 2013 54
Metody Quas Monte Carlo (QMC Použtí strktně determnstckých sekvencí místo náhodných čísel Vše funguje jako v MC, důkazy se ale nemohou opírat o statstku (nc není náhodné Použté sekvence čísel s nízkou dkrepancí (lowdscrepancy sequences PG III (NPGR010 - J. Křvánek 2013 55
Dskrepance Hgh Dscrepancy (clusters of ponts Low Dscrepancy (more unform PG III (NPGR010 - J. Křvánek 2013 56
Henrk Wann Jensen Stratfed samplng 10 cest na pxel PG III (NPGR010 - J. Křvánek 2013 57
Henrk Wann Jensen Quas-Monte Carlo 10 cest na pxel PG III (NPGR010 - J. Křvánek 2013 58
Henrk Wann Jensen Fxní náhodná sekvence 10 cest na pxel PG III (NPGR010 - J. Křvánek 2013 59
Příklady MC estmátorů
Přímé osvětlení Přímé osvětlení 61
Odhad rradance unformní vzork. Unformní vzorkování: Estmátor: PG III (NPGR010 - J. Křvánek 2013 62 ( d cos, ( ( x x x H L E 2 1 p( N k,k k N k k k N L N p f N F 1, 1,, cos, ( 2 1 x
Odhad rradance cos vzorkování Importance samplng: Estmátor: PG III (NPGR010 - J. Křvánek 2013 63 ( d cos, ( ( x x x H L E cos p( N k,k N k,k,k N L N p f N F 1 1, ( 1 x
PG III (NPGR010 - J. Křvánek 2013 64
Odhad rradance vzrokování zdroje PG III (NPGR010 - J. Křvánek 2013 65
Odhad rradance vzrokování zdroje Unformní vzorkování plochy zdroje: Estmátor PG III (NPGR010 - J. Křvánek 2013 66 A H A V L L E d cos cos ( ( d cos, ( ( 2 e ( x y x y x y x x x y x ( x G y A p 1 ( y N k k k k N G V L N A F 1 e ( ( ( x y x y x y
PG III (NPGR010 - J. Křvánek 2013 67
PG III (NPGR010 - J. Křvánek 2013 68
Plošné zdroje světla 1 vzorek na pxel 9 vzorků na pxel 36 vzorků na pxel PG III (NPGR010 - J. Křvánek 2013 69
Přímé osvětlení na ploše s obecnou BRDF Odhadovaný ntegrál Estmátor (unformní vzorkování povrchu zdroje PG III (NPGR010 - J. Křvánek 2013 70 A r A G V f L L d ( ( ( (, ( o e o o x y x y x y x y x N k k k k r k N G V f L N A F 1 o e ( ( ( ( x y x y x y x y