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

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

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

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

Počítačová grafika III Monte Carlo rendering 2. 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 Multiple Importance Sampling. Jaroslav Křivánek, MFF UK

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

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

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

Počítačová grafika III Úvod

Fotonové mapy. Leonid Buneev

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

Počítačová grafika III Úvod

Distribuované sledování paprsku

Rekurzivní sledování paprsku

Zobrazování a osvětlování

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

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

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

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

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

Odraz světla, BRDF. Petr Kadleček

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

Radiometrie, radiační metody

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

Zápočtová písemka z Matematiky III (BA04) skupina A

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

Precomputed radiance transfer

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

Deformace rastrových obrázků

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

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

Realistický rendering

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

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

Zobrazování vektorových polí

Josef Pelikán, 1 / 51

n = 2 Sdružená distribuční funkce (joint d.f.) n. vektoru F (x, y) = P (X x, Y y)

Pojmy z kombinatoriky, pravděpodobnosti, znalosti z kapitoly náhodná veličina, znalost parciálních derivací, dvojného integrálu.

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

Transect analysis of reconstructed georelief of the Lake Most area in the years 1938, 1953, 1972, 1982 and 2008

Anti-aliasing a vzorkovací metody

Transformace obrazu Josef Pelikán KSVI MFF UK Praha

Pravděpodobnost, náhoda, kostky

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

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

AVDAT Náhodný vektor, mnohorozměrné rozdělení

Kombinatorická minimalizace

Poznámky k předmětu Aplikovaná statistika, 4. téma

Téma 22. Ondřej Nývlt

10. N á h o d n ý v e k t o r

NÁHODNÉ VELIČINY JAK SE NÁHODNÁ ČÍSLA PŘEVEDOU NA HODNOTY NÁHODNÝCH VELIČIN?

Markov Chain Monte Carlo. Jan Kracík.

Poznámky k předmětu Aplikovaná statistika, 4. téma

DIPLOMOVÁ PRÁCE. BRDF dílna

HDR obraz (High Dynamic Range)

Aproximace funkcí. x je systém m 1 jednoduchých, LN a dostatečně hladkých funkcí. x c m. g 1. g m. a 1. x a 2. x 2 a k. x k b 1. x b 2.

Vzorová písemka č. 1 (rok 2015/2016) - řešení

Principy fotorealistického zobrazování

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

9. T r a n s f o r m a c e n á h o d n é v e l i č i n y

Reprezentace 3D modelu

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

1 Rozptyl a kovariance

Náhodné rozmisťování bodů v rovině

Postup objednávky Microsoft Action Pack Subscription

Introduction to MS Dynamics NAV

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Pravděpodobnost a statistika

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

Fotorealistická grafika

Program pro zobrazení černobílých snímků v nepravých barvách

Kreslení grafů v Matlabu

Monte Carlo rendering

Střední hodnota a rozptyl náhodné. kvantilu. Ing. Michael Rost, Ph.D.

4. Aplikace matematiky v ekonomii

Moderní fotorealistický rendering

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

Výpočet průsečíků paprsku se scénou

Entrance test from mathematics for PhD (with answers)

Náhodná veličina a rozdělení pravděpodobnosti

Vánoční sety Christmas sets

Transportation Problem

Vícerozměrná rozdělení

Fyzikální korespondenční seminář MFF UK

Android OpenGL. Pokročilé shadery

Pravděpodobnost a statistika

Transformujte diferenciální výraz x f x + y f do polárních souřadnic r a ϕ, které jsou definovány vztahy x = r cos ϕ a y = r sin ϕ.

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

Odhad stavu matematického modelu křižovatek

VEKTOROVÁ POLE Otázky

Funkce cat() výstup hodnot atomických typů

Základní radiometrické veličiny

Náhodné vektory a matice

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

Chyby měření 210DPSM

7. Rozdělení pravděpodobnosti ve statistice

Textury v real-time grafice Josef Pelikán, MFF UK Praha Josef.Pelikan@mff.cuni.cz

P13: Statistické postupy vyhodnocování únavových zkoušek, aplikace normálního, Weibullova rozdělení, apod.

Téma 1: Spolehlivost a bezpečnost stavebních nosných konstrukcí

Transkript:

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

Monte Carlo integrování Obecný nástroj k numerickému odhadu určitých integrálů f(x) p(x) Integrál: I 1 N I N i1 f ( x) dx Monte Carlo odhad I: f ( i ) ; p( ) i i p( x) 0 1 5 3 1 4 2 6 V průměru to funguje: E[ I ] PG III (NPGR010) - J. Křivánek 2013 2 I

Generování vzorků z distribuce

1D diskrétní náhodná veličina Dána p-nostní fce p(i), distribuční fce P(i) Postup 1. Vygeneruj u z R(0,1) 2. Vyber x i pro které P( i 1) u P( i) (definujeme P(0) = 0) 1 u Distribuční funkce x 1 x2 x3 x4 Nalezení i se provádí půlením intervalu PG III (NPGR010) - J. Křivánek 2013 4

2D diskrétní náhodná veličina Dána p-nostní fce p I,J (i, j) Možnost 1: Interpretovat jako 1D vektor pravděpodobností Vzorkovat jako 1D distribuci PG III (NPGR010) - J. Křivánek 2013 5

2D diskrétní náhodná veličina PG III (NPGR010) - J. Křivánek 2013 6

2D diskrétní náhodná veličina Možnost 2 (lepší) 1. Sloupec i sel vybrat podle marginálního rozdělení, popsaného 1D marginální p-nostní fcí p I ( i) n j j1 p I, J ( i, j) 2. Řádek j sel vybrat podle podmíněného rozdělení příslušejícího vybranému sloupci i sel p J I ( j I i sel ) p I, J p I ( i ( i sel sel, ) j) PG III (NPGR010) - J. Křivánek 2013 7

Vzorkování 1D spojité náhodné veličiny Transformací rovnoměrné náhodné veličiny Zamítací metoda (rejection sampling) PG III (NPGR010) - J. Křivánek 2013 8

Vzorkování 1D spojité náhodné veličiny transformací Je-li U je náhodná veličina s rozdělením R(0,1), pak náhodná veličina X má rozdělení popsané distribuční funkcí P. X P 1 ( U) Pro generování vzorků podle hustoty p potřebujeme Spočítat cdf P(x) z pdf p(x) Spočítat inverzní funkci P -1 (x) PG III (NPGR010) - J. Křivánek 2013 9

Kombinace vzorkování po částech s transformační metodou PG III (NPGR010) - J. Křivánek 2013 10

Vzorkování 1D spojité náhodné veličiny zamítací metodou Algoritmus Vyber náhodné u 1 z R(a, b) Vyber náhodné a u 2 z R(0, MAX) Přijmi vzorek, pokud p(u 1 ) > u 2 MAX p(x) Přijaté vzorky mají rozložení dané hustotou p(x) Účinnost = % přijatých vzorků 0 a Plocha funkce pod křivkou / plocha obdélníka Transformační metoda vždy efektivnější (ale vyžaduje integrovat hustotu a invertovat distribuční fci) b PG III (NPGR010) - J. Křivánek 2013 11

Vzorkování 2D spojité náhodné veličiny Jako pro 2D diskrétní veličinu Dána sdružená hustota p X,Y (x, y) = p X (x) p Y X (y x) Postup 1. Vyber x sel z marginální hustoty p X ( x) px, 2. Vyber y sel z podmíněné hustoty p Y X ( y X x sel Y ) ( x, p y) X, Y p X dy ( x ( x sel sel, y) ) PG III (NPGR010) - J. Křivánek 2013 12

Transformační vzorce P. Dutré: Global Illumination Compendium, http://people.cs.kuleuven.be/~philip.dutre/gi/ PG III (NPGR010) - J. Křivánek 2013 13

Importance sampling Phongovy BRDF Paprsek dopadne na plochu s Phongovou BRDF. Jak vygenerovat sekundární paprsek pro vzorkování nepřímého osvětlení? Path tracing Pouze 1 sekundární paprsek je třeba zvolit komponentu BRDF (druh interakce) Postup: 1. Vyber komponentu BRDF (difúzní odraz / lesklý odraz / lom) 2. Vzorkuj vybranou komponentu PG III (NPGR010) - J. Křivánek 2013 14

Fyzikálně věrohodná Phongova BRDF Kde: f n 2 2 Phong d n r ( i o) s cos r cos r r i o 2( n) n r i Zachování energie: d s 1 PG III (NPGR010) - J. Křivánek 2013 15

Výběr interakce pd = max(rhod.r, rhod.g, rhod.b); ps = max(rhos.r, rhos.g, rhos.b); pd /= (pd + ps); // pravd. výběru difúzní komponenty ps /= (pd + ps); // pravd. výběru lesklé komponenty Vec3 dir, float pdf, Col brdfval; if (rand(0,1) <= pd) {dir, pdf, brdfval} = samplediffuse(); return {dir, pdf * pd, brdfval} else {dir, pdf, brdfval} = samplespecular(); return {dir, pdf * ps, brdfval} PG III (NPGR010) - J. Křivánek 2013 16

Vzorkování difúzního odrazu Importance sampling s hustotou p() = cos() / úhel mezi normálou a vygenerovaným sekundárním paprskem Generování směru: r1, r2 uniformní na <0,1> Zdroj: Dutre, Global illumination Compendium (on-line) Odvození: Pharr & Huphreys, PBRT PG III (NPGR010) - J. Křivánek 2013 17

samplediffuse() // build a local coordinate frame with N = z-axis Vec3 U = arbitrarynormal(n); // U is perpendicular to the normal N Vec3 V = crossprod(n, U); // orthonormal basis with N and U // generate direction in the local coordinate frame float r1 = rand(0,1), r2 = rand(0,1); float sintheta = sqrt(1 r2); float costheta = sqrt(r2); float phi = 2.0*PI*r1; float pdf = costheta/pi; // convert [theta, phi] to Cartesian coordinates Vec3 locdir (cos(phi)*sintheta, sin(phi)*sintheta, costheta); // transform ldir to the global coordinate frame Vec3 globdir = locdir.x * U + locdir.y * V + locdir.z * N // evaluate BRDF component Col brdfval = rhod / PI; return {globdir, pdf, brdfval} PG III (NPGR010) - J. Křivánek 2013 18

Vzorkování lesklého odrazu Importance sampling s hustotou p() = (n+1)/(2) cos n () úhel mezi ideálně zrcadlově odraženým o a vygenerovaným sekundárním paprskem Generování směru: r1, r2 uniformní na <0,1> PG III (NPGR010) - J. Křivánek 2013 19

samplespecular() // build a local coordinate frame with R = z-axis Vec3 R = 2*dot(N,wi)*N wi; // ideal reflected direction Vec3 U = arbitrarynormal(r); // U is perpendicular to R Vec3 V = crossprod(r, U); // orthonormal basis with R and U // generate direction in local coordinate frame {Vec3 locdir, float pdf} = rndhemicosn (n); // formulas form prev. slide // transform locdir to global coordinate frame Vec3 globdir = locdir.x * U + locdir.y * V + locdir.z * R // return zero BRDF value if the generated direction is under the tangent plane float costhetain = dot(n, globdir); if(costhetain <= 0) return {globdir, pdf, Col(0)}; // evaluate the BRDF component Col brdfval = rhos * (n+2)/(pi*2) * pow(locdir.z, n);//ldir.z = costhetar return {globdir, pdf, brdfval} PG III (NPGR010) - J. Křivánek 2013 20

Image-based lighting

Image-based lighting Introduced by Paul Debevec (Siggraph 98) Routinely used for special effects in films & games PG III (NPGR010) 22 - J. Křivánek 2013

Image-based lighting Illuminating CG objects using measurements of real light (=light probes) Eucaliptus grove Grace cathedral Uffizi gallery Paul Debevec 23

Point Light Source Paul Debevec 24

Paul Debevec 25

Paul Debevec 26

Paul Debevec 27

Paul Debevec 28

Grace cathedral Eucaliptus grove Mapping Debevec s spherical Latitude longitude (spherical coordinates) Cube map

St. Peter s Cathedral Uffizi gallery Mapping Debevec s spherical Latitude longitude (spherical coordinates) Cube map

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). 31

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 PG III (NPGR010) 32 - J. Křivánek 2013

MIS 300 + 300 samples EM IS 600 samples BRDF IS 600 samples Sampling strategies Diffuse only Ward BRDF, a=0.2 Ward BRDF, a=0.05 Ward BRDF, a=0.01

Vzorkování směrů podle mapy prostředí Intenzita mapy prostředí definuje hustotu (pdf) na jednotkové kouli Pro účely vzorkování ji aproximujeme jako 2D diskrétní distribuci nad pixely mapy Pravděpodobnost výběru pixelu je dána součinem Intenzity pixelu Velikostí pixelu na jednotkové kouli (závisí na mapování) Detaily Writeup PBRT - http://pbrt.org/plugins/infinitesample.pdf PG III (NPGR010) - J. Křivánek 2013 34