Počítačová grafika III Monte Carlo rendering 2. Jaroslav Křivánek, MFF UK

Podobné dokumenty
Počítačová grafika III Multiple Importance Sampling. Jaroslav Křivánek, MFF UK

Počítačová grafika III Multiple Importance Sampling. Jaroslav Křivánek, MFF UK

Počítačová grafika III Path tracing II. Jaroslav Křivánek, MFF UK

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

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

Monte Carlo rendering

Fotonové mapy. Leonid Buneev

A4M39RSO. Sledování cest (Path tracing) Vlastimil Havran ČVUT v Praze CTU Prague Verze 2014

Počítačová grafika III Photon mapping. Jaroslav Křivánek, MFF UK

Počítačová grafika III Photon mapping. Jaroslav Křivánek, MFF UK

Počítačová grafika III Úvod

Počítačová grafika III Důležitost, BPT. Jaroslav Křivánek, MFF UK

X39RSO/A4M39RSO Vychýlené (biased) metody globálního osvětlení. Vlastimil Havran ČVUT v Praze CTU Prague Verze 2011

Photon-Mapping Josef Pelikán CGG MFF UK Praha.

Počítačová grafika III Úvod

Realistický rendering

Fotonové mapy. Martin Bulant 21. března Fotonové mapy jsou podobné obousměrnému sledování cest, ale odlišují se tím,

Počítačová grafika III Všehochuť. Jaroslav Křivánek, MFF UK

Počítačová grafika III Bidirectional path tracing. Jaroslav Křivánek, MFF UK

Zobrazování a osvětlování

Distribuované sledování paprsku

Fotorealistická syntéza obrazu Josef Pelikán, MFF UK Praha

Radiometrie, radiační metody

Odraz světla, BRDF. Petr Kadleček

Počítačová grafika III (NPGR010) Přednáška: Path tracing II

Počítačová grafika III Globální osvětlení ve filmové produkci. Jaroslav Křivánek, MFF UK

Global illumination with many-light methods. Martin Kahoun (2011)

Fotorealistická grafika

X39RSO/A4M39RSO. Integrace a syntéza obrazu pomocí metody Monte Carlo. Vlastimil Havran, ČVUT v Praze

Principy fotorealistického zobrazování

Moderní fotorealistický rendering

Rekurzivní sledování paprsku

Monte Carlo metody Josef Pelikán CGG MFF UK Praha.

Fotorealistická syntéza obrazu

6. ZÁKLADY STATIST. ODHADOVÁNÍ. Θ parametrický prostor. Dva základní způsoby odhadu neznámého vektoru parametrů bodový a intervalový.

PRAVDĚPODOBNOST A STATISTIKA

Stavový model a Kalmanův filtr

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST

Pokročilé osvětlovací techniky Josef Pelikán, MFF UK Praha

Precomputed radiance transfer

Počítačová grafika III Přibližný výpočet globálního osvětlení. Jaroslav Křivánek, MFF UK

Vícerozměrná rozdělení

Bayesovské metody. Mnohorozměrná analýza dat

Fyzikálně založené modely osvětlení

Markov Chain Monte Carlo. Jan Kracík.

Odhady Parametrů Lineární Regrese

Počítačová grafika Radiozita

3 Bodové odhady a jejich vlastnosti

Úvod do teorie odhadu. Ing. Michael Rost, Ph.D.

Počítačová grafika III Radiometrie. Jaroslav Křivánek, MFF UK

Počítačová grafika III Monte Carlo integrování Přímé osvětlení. Jaroslav Křivánek, MFF UK

Náhodný vektor. Náhodný vektor. Hustota náhodného vektoru. Hustota náhodného vektoru. Náhodný vektor je dvojice náhodných veličin (X, Y ) T = ( X

Počítačová grafika III Světlo, Radiometrie. Jaroslav Křivánek, MFF UK

Pravděpodobnost a statistika, Biostatistika pro kombinované studium. Tutoriál č. 5: Bodové a intervalové odhady, testování hypotéz.

metodou Monte Carlo J. Matěna, Gymnázium Českolipská, Praha

5EN306 Aplikované kvantitativní metody I

Dvojné a trojné integrály příklad 3. x 2 y dx dy,

Využití hybridní metody vícekriteriálního rozhodování za nejistoty. Michal Koláček, Markéta Matulová

Určujeme neznámé hodnoty parametru základního souboru. Pomocí výběrové charakteristiky vypočtené z náhodného výběru.

Kombinatorická minimalizace

Princip metody Transport částic Monte Carlo v praxi. Metoda Monte Carlo. pro transport částic. Václav Hanus. Koncepce informatické fyziky, FJFI ČVUT

Gymnázium, Brno, Slovanské nám. 7 WORKBOOK. Mathematics. Teacher: Student:

12. Křivkové integrály

Progressive photon mapping na GPU

Monte Carlo. Simulační metoda založená na užití stochastických procesů a generace náhodných čísel.

Hough & Radon transform - cvičení

DIPLOMOVÁ PRÁCE. BRDF dílna

Pravděpodobnost a statistika (BI-PST) Cvičení č. 9

Odhad stavu matematického modelu křižovatek

Příklady ke čtvrtému testu - Pravděpodobnost

1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.

Pravděpodobnostní algoritmy

Metoda Monte Carlo, simulované žíhání

Kombinatorika, výpočty

Počítačová grafika III Radiometrie. Jaroslav Křivánek, MFF UK

Nestranný odhad Statistické vyhodnocování exp. dat M. Čada

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

HDR obraz (High Dynamic Range)

Výpočet nejistot metodou Monte carlo

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

Pravděpodobnost a statistika

Metoda backward výběru proměnných v lineární regresi a její vlastnosti

Josef Pelikán, 1 / 51

Pravděpodobnost, náhoda, kostky

Obraz matematický objekt. Spojitý obraz f c : (Ω c R 2 ) R

Řešení. Označme po řadě F (z) Odtud plyne, že

Počítačové simulace a statistická mechanika

Téma 4: Stratifikované a pokročilé simulační metody

Markovovy modely v Bioinformatice

Náhodná veličina Číselné charakteristiky diskrétních náhodných veličin Spojitá náhodná veličina. Pravděpodobnost

Osvětlování a stínování

Deformace rastrových obrázků

PSY117/454 Statistická analýza dat v psychologii přednáška 8. Statistické usuzování, odhady

Detekce nabitých částic Jak se ztrácí energie průchodem částice hmotou?

PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE

TGH06 - Hledání nejkratší cesty


Matematika pro chemické inženýry

Vlastnosti a modelování aditivního

KGG/STG Statistika pro geografy

Transkript:

Počítačová grafika III Monte Carlo rendering 2 Jaroslav Křivánek, MFF UK Jaroslav.Krivanek@mff.cuni.cz

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; }

Náhodné vzorkování (nezávislé vzorky pro každý pixel) Henrik Wann Jensen 10 cest na pixel

Fixní náhodná sekvence Henrik Wann Jensen 10 cest na pixel

2006: Monster house Sledování cest (Path tracing) Image courtesy of Columbia Pictures. 2006 Columbia Pictures Industries, Inc. All rights reserved. PG III (NPGR010) J. Křivánek 2011 5

Sledování cest (Path tracing) Image courtesy of Sony Pictures Animation. 2009 Sony Pictures Animation, Inc. All rights reserved. PG III (NPGR010) J. Křivánek 2011 6

Sledování cest (Path tracing) Image courtesy of Columbia Pictures. 2009 Columbia Pictures Industries, Inc. All rights reserved. PG III (NPGR010) J. Křivánek 2011 7

Sledování cest (Path tracing) Alice in the Wonderland, 2010 Images courtesy of Walt Disney Pictures 8

Výběr náhodného směru BRDF IS 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; }

Výběr náhodného směru BRDF IS Obyčejně vzorkujeme s hustotou co nejpodobnější součinu f r (ω i, ω o ) cos θ i Ideálně bychom chtěli vzorkovat podle L i (ω i ) f r (ω i, ω o ) cos θ i, ale to neumíme, protože neznáme L i Co když bude hustota přesně úměrná f r (ω i, ω o ) cos θ i? PG III (NPGR010) - J. Křivánek 2011 10

Ideální BRDF Importance Sampling PG III (NPGR010) - J. Křivánek 2011 11 ) ( i i o i i o i d cos ) ( cos ) ( x H r r f f ω θ ω ω θ ω ω i o i i cos ) ( ) ( θ ω ω ω r f p = ) ( i ω p odrazivost ρ

Ideální BRDF IS v Path Traceru Obecná hustota (pdf)... thrput *= fr(.) * dot(.) / ( ρ * p(wi) ) Ideální BRDF importance sampling p( ωi ) = f r ( ωi ωo) cosθi ρ... thrput *= 1 PG III (NPGR010) - J. Křivánek 2011 12

Pravděpodobnost přežití cesty 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; }

Pravděpodobnost přežití cesty Použití odrazivosti ρ jako p-nosti přežití dává smysl Pokud plocha odráží jen 30% energie, pokračujeme pouze s 30% pravděpodobností. Co když neumím spočítat ρ? Alternativa 1. Nejdříve vygeneruj náhodný směr podle p(ω i ) 2. q survival = min 1, f r ( ω i ωo)cosθi p( ωi) Pro ideální BRDF IS stejné jako původní metoda PG III (NPGR010) - J. Křivánek 2011 14

Výpočet přímého osvětlení

Problém: Najde path tracer světlo? Images: Alexander Wilkie reference simple path tracer (150 cest na pixel) PG III (NPGR010) - J. Křivánek 2011 16

Přímé osvětlení Zapomeňme na chvíli na path tracing Řešíme jednodušší problém: přímé osvětlení z daného zdroje světla tj. odražená radiance z bodu x způsobená osvětlením ze zdroje světla PG III (NPGR010) - J. Křivánek 2011 17

Přímé osvětlení: Dva možné přístupy Vzrorkování BRDF Vzorkování plochy světel PG III (NPGR010) - J. Křivánek 2011 18

Přímé osvětlení: Vzorkování BRDF Formulace integrálu (integrování přes hemisféru) MC estimátor Generujeme náhodný směr ω i,k podle hustoty p Vrhneme paprsek z x ve směru ω i,k Pokud protne nějaký zdroj světla, přičteme L e (.) f r (.) cos/pdf PG III (NPGR010) - J. Křivánek 2011 19 = ) ( i i o i i i e o r d cos ), ( ) ),, (r( ), ( x x x x H f r L L ω θ ω ω ω ω ω = = N k,k,k,k r,k,k p f L N L 1 i i o i i i e o r ) ( cos ), ( ) ),, (r( 1 ), ( ˆ ω θ ω ω ω ω ω x x x

Přímé osvětlení: Vzorkování světel Formulace integrálu (integrování přes plochu zdroje) MC estimátor Generujeme náhodnou pozici y k na zdroji Testujeme viditelnost mezi x a y Pokud V(x,y)=1, přičteme A L e (y) f r (.) cos/pdf PG III (NPGR010) - J. Křivánek 2011 20 = A r A G V f L L y x y x y x y x y x d ) ( ) ( ) ( ) ( ), ( o e o r ω ω = = N k k k k r k G V f L N A L 1 o e o r ) ( ) ( ) ( ) ( ), ( ˆ x y x y x y x y x ω ω

Dvě vzorkovací techniky Image: Alexander Wilkie PG III (NPGR010) - J. Křivánek 2011 21

Přímé osvětlení: Dva možné přístupy Vzorkování BRDF Výhodnější pro velké zdroje světla Pro malé zdroje světla je pravděpodobnost zásahu zdroje velmi malá -> vysoký rozptyl, šum Vzorkování světel Výhodnější pro malé zdroje Jediná možná alternativa pro bodové zdroje Pro velké zdroje mnoho vzorků mimo lalok BRDF -> vysoký rozptyl, šum PG III (NPGR010) - J. Křivánek 2011 22

Přímé osvětlení: Dva možné přístupy Images: Eric Veach Vzorkování BRDF Vzorkování světel PG III (NPGR010) - J. Křivánek 2011 23

Přímé osvětlení: Dva možné přístupy Kterou techniku zvolit? OBĚ Problém Obě techniky odhadují stejnou veličinu L r (x, ω o ) Pouhým sečtením bychom dostali odhad 2 L r (x, ω o ) - špatně Potřebuji vážený průměr příspěvků obou technik Jak zvolit váhy? PG III (NPGR010) - J. Křivánek 2011 24

Jak zvolit váhy? Multiple importance sampling (Veach & Guibas, 95) Váhy závislé na pdf vzorků Minimalizuje rozptyl kombinovaného estimátoru Téměř optimální řešení Image: Eric Veach PG III (NPGR010) - J. Křivánek 2011 25

Multiple Importance Sampling f(x) p 1 (x) p 2 (x) 0 1

Multiple importance sampling Máme dáno n vzorkovacích technik (hustot pravděpodobnosti) p 1 (x),.., p n (x) Z každé techniky (hustoty) vybereme n i vzorků X i,1,.., X i,n i Kombinovaný estimátor kombinační váhy (mohou být různé pro každý vzorek) vzorkovací techniky vzorky z jednotlivých technik PG III (NPGR010) - J. Křivánek 2011 27

Nestrannost kombinovaného odhadu Podmínka pro váhové funkce PG III (NPGR010) - J. Křivánek 2011 28 [ ] ( ) ( ) ( ) = = = x f x x f x w F E n i i d 1 ( ) = = n i w i x x 1 1 :

Volba váhových funkcí Cíl: minimalizovat rozptyl kombinovaného estimátoru 1. Aritmetický průměr (velmi špatná kombinace) 1 w ( x) i = n 2. Vyrovnaná heuristika (velmi dobrá kombinace). PG III (NPGR010) - J. Křivánek 2011 29

Vyrovnaná heuristika (Balance heuristic) Kombinační váhy Výsledný estimátor (po dosazení vah) příspěvek vzorku nezávisí na tom, ze které byl pořízen techniky (tj. pdf) PG III (NPGR010) - J. Křivánek 2011 30

Vyrovnaná heuristika (Balance heuristic) Vyrovnaná heuristika je téměř optimální Žádný kombinovaný estimátor nemůže mít rozptyl o mnoho menší než vyrovnaná heuristika Další možné kombinační heuristiky Maximální heuristika Mocninná heuristika viz. Veach 1997 PG III (NPGR010) - J. Křivánek 2011 31

Jeden člen kombin. odhadu f(x) p 1 (x) p 2 (x) 0 1

Aritmetický průměr 0.5 f p 1 ( x) ( x) 0 1

Vyrovnaná heuristika p f ( x) ( x) p ( x) 1 + 2 0 1

Výpočet přímého osvětlení pomocí MIS Image: Alexander Wilkie Vzorkovací technika (pdf) p 1 : Vzorkování BRDF Vzorkovací technika (pdf) p 2 : Vzorkování světel PG III (NPGR010) - J. Křivánek 2011 35

Kombinace Image: Alexander Wilkie Aritmetický průměr Zachovává špatné vlastnosti obou technik Vyrovnaná heuristika Bingo!!! PG III (NPGR010) - J. Křivánek 2011 36

Dvě vzorkovací techniky w1 * A1 w2 * A2 Image: Alexander Wilkie PG III (NPGR010) - J. Křivánek 2011 37

Výpočet vah Váha vzorku z BRDF vzorkování w 1 ( ω j ) = p 1 p ( ) 1 ω j ( ω ) + p ( ω ) j 2 j Hustota pravděpodobnosti vzorkování z BRDF Hustota, s jakou by byl směr ω j vygenerován, kdybychom použili vzorkování plochy zdroje PG III (NPGR010) - J. Křivánek 2011 38

Hustoty pravděpodobnosti Vzorkování BRDF: p 1 (ω) Závisí na BRDF, např. pro Lambertovskou BRDF p 1 ( ω) = cosθx π Vzorkování zdroje: p 2 (ω) p 2 ( ω) 1 = A x y cosθ y 2 Převedení hustoty 1/ A z plošné míry (da) do míry prostorového úhlu (dω) PG III (NPGR010) - J. Křivánek 2011 39

Příspěvky vzorkovacích technik Image: Alexander Wilkie w1 * vzorkování BRDF w2 * vzorkování zdroje PG III (NPGR010) - J. Křivánek 2011 40

Použití MIS v path traceru Generování explicitního stínového paprsku pro techniku p 2 (vzorkování zdroje) Sekundární paprsek pro techniku p 1 (vzorkování zdroje) Sdílený pro výpočet přímého i nepřímého osvětlení Pouze na přímé osvětlení se aplikuje MIS váha (nepřímé osvětlení se připočte celé) Při výpočtu MIS vah je potřeba vzít v úvahu pravděpodobnost ukončení cesty (ruská ruleta) PG III (NPGR010) - J. Křivánek 2011 41

Více zdrojů světla Možnost 1: Stínový paprsek pro náhodný bod na každém zdroji světla Možnost 2: Náhodný výběr zdroje (s p-ností podle výkonu) Stínový paprsek k náhodně vybranému bodu na vybraném zdroji Pozor: Pravděpodobnost výběru zdroje ovlivňuje hustoty (a tedy i váhy) v MIS Dobrá heuristika Možnost 2 až po prvním nelesklém odrazu PG III (NPGR010) - J. Křivánek 2011 42

Osvětlení z mapy prostředí

Image-based lighting Introduced by Paul Debevec (Siggraph 98) Routinely used for special effects in films & games 44

Image-based lighting Illuminating CG objects using measurements of real light (=light probes) Paul Debevec 45

Point Light Source Paul Debevec 46

Paul Debevec 47

Paul Debevec 48

Paul Debevec 49

Paul Debevec 50

Mapping

Mapping 52

Mapping Mapping from direction in Cartesian coordinates to image UV. float d = sqrt(dir.x*dir.x + dir.y*dir.y); float r = d>0? 0.159154943*acos(dir.z)/d : 0.0; u = 0.5 + dir.x * r; v = 0.5 + dir.y * r; Quote from http://ict.debevec.org/~debevec/probes/ The following light probe images were created by taking two pictures of a mirrored ball at ninety degrees of separation and assembling the two radiance maps into this registered dataset. The coordinate mapping of these images is such that the center of the image is straight forward, the circumference of the image is straight backwards, and the horizontal line through the center linearly maps azimuthal angle to pixel coordinate. Thus, if we consider the images to be normalized to have coordinates u=[-1,1], v=[-1,1], we have theta=atan2(v,u), phi=pi*sqrt(u*u+v*v). The unit vector pointing in the corresponding direction is obtained by rotating (0,0,-1) by phi degrees around the y (up) axis and then theta degrees around the -z (forward) axis. If for a direction vector in the world (Dx, Dy, Dz), the corresponding (u,v) coordinate in the light probe image is (Dx*r,Dy*r) where r=(1/pi)*acos(dz)/sqrt(dx^2 + Dy^2). 53

Sampling strategies Technique (pdf) 1: BRDF importance sampling Generate directions with a pdf proportional to the BRDF Technique (pdf) 2: Environment map importance sampling Generate directions with a pdf proportional to L(ω) represented by the EM 54

Sampling strategies

Vlastnosti estimátorů

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

Výchylka obecného estimátoru (bias) Pokud E [ F] Q pak estimátor není nestranný (je vychýlený, biased ). Systematická chyba, bias [ ] F = Q E β PG III (NPGR010) - J. Křivánek 2011 58

Konzistentnost (obecného estimátoru) Nechť F = F N N ( X, X 2,..., X 1 N ) Estimátor F N je konzistentní pokud tj. pokud chyba F N Q jde k nule s pravděpodobností 1. PG III (NPGR010) - J. Křivánek 2011 59

Konzistentnost (obecného estimátoru) Postačující podmínka pro konzistentnost estimátoru: bias (tj. ne každý nestranný estimátor je konzistentní) PG III (NPGR010) - J. Křivánek 2011 60

Zobrazovací algoritmy Nestranné (unbiased) Sledování cest (path tracing) Obousměrné sledování cest (bidirectional path tracing) Metropolis light transport Konzistentní (consistent) Progresivní fotonové mapy (progressive photon mapping) Nekonzistentní, vychýlené (biased) Fotonové mapy (photon mapping) Irradiance / radiance caching PG III (NPGR010) - J. Křivánek 2011 61

Střední kvadratická chyba (Mean Squared Error MSE) Definice MSE[ F] = E[( F Q) 2 ] Platí MSE[ F] = V[ F] + β[ F 2 ] Důkaz PG III (NPGR010) - J. Křivánek 2011 62

Střední kvadratická chyba (Mean Squared Error MSE) Pokud F je nestranný, pak MSE [ F] = V[ F] tj. pro nestranný estimátor je snazší odhadnout chybu, protože rozptyl estimátoru lze odhadnout ze vzorků Y i : Nestranný estimátor rozptylu PG III (NPGR010) - J. Křivánek 2011 63

Účinnost estimátoru Pro nestranný estimátor je účinnost (eficience, angl. efficiency) dána vztahem: rozptyl čas výpočtu (počet operací, např. počet vržených paprsků) PG III (NPGR010) - J. Křivánek 2011 64