70
Počítačová grafika III – Monte Carlo integrování Přímé osvětlení Jaroslav Křivánek, MFF UK [email protected]

Počítačová grafika III – Monte Carlo integrování P římé osvětlení

  • Upload
    euclid

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Počítačová grafika III – Monte Carlo integrování P římé osvětlení. Jaroslav Křivánek, MFF UK [email protected]. Rendering = Integrování funkcí. Problémy Nespojitost integradu (viditelnost) Téměř libovolné hodnoty integrandu (distribuce světla, BRDF) Složitá geometrie. - PowerPoint PPT Presentation

Citation preview

Page 1: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Počítačová grafika III –Monte Carlo integrováníPřímé osvětlení

Jaroslav Křivánek, MFF [email protected]

Page 2: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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 2013 2

)(

iioiiior dcos),(),(),(x

xxxH

rfLL

Příchozí radiance Li(x,i) pro jeden bod na podlaze.

Page 3: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Historie Monte Carlo (MC)

Vývoj atomové bomby, Los Alamos 1940, John von Neumann, Stanislav Ulam, Nicholas Metropolis

Rozvoj a aplikace metod od roku 1949

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

Page 4: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Metoda Monte Carlo

Simuluje se mnoho případů daného děje, například:

Neutrony – 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.

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

Page 5: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

Slide credit: Iwan Kawrakov

5

Page 6: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

Slide credit: Iwan Kawrakov

6

Page 7: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Šum v obrázcích

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

Page 8: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odbočka – Kvadraturní vzorce pro numerické integrování Obecný předpis v 1D:

f integrand (tj. integrovaná funkce)n řád kvadratury (tj. počet vzorků integrandu) xi uzlové body (tj. umístění vzorků v oboru integrálu)f(xi) vzorky integranduwi váhy

n

iii xfwI

1

)(ˆ

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

Page 9: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odbočka – Kvadraturní vzorce pro numerické integrování Kvadraturní pravidla se liší volbou uzlových bodů

xi a váhami wi

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

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

Page 10: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Kvadraturní vzorce pro více dimenzí Obecný předpis pro integrování fcí více

proměnných:

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ů 23 = 8 krát

Nepoužitelné pro vysokodimenzionální integrály Dimenzionální exploze

n

i

n

i

n

iiiiiii

s

ssxxxfwwwI

1 1 11 2

2121),...,,(......ˆ

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

Page 11: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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!

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

Page 12: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Monte Carlo integrování

Obecný nástroj k numerickému odhadu určitých integrálů

1

f(x)

0 1

p(x)

23 45 6

xx d)(fI

)(;)()(1

1

xppf

NI i

N

i i

i

Integrál:

Monte Carlo odhad I:

„V průměru“ to funguje:

IIE ][PG III (NPGR010) - J. Křivánek 2013 12

Page 13: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

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

Page 14: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Monte Carlo integrování – shrnutí

Výhody Jednoduchá implementace Robustní řešení pro různé tvary domén a

integrantů 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 šumPG III (NPGR010) - J. Křivánek

2013 14

Page 15: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

The MC method: applications

Financial market simulations Traffic flow simulations Environmental sciences Particle physics Quantum field theory Astrophysics Molecular modeling Semiconductor devices Optimization problems Light transport calculations ...

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

Page 16: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Náhodné veličiny

Page 17: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Náhodná veličina

X … náhodná veličina

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 2013 17

Page 18: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Diskrétní náhodná veličina

Konečná množina hodnot xi

S pravděpodobností pi

Distribuční funkce (cumulative distribution function)

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

0)Pr( ii xXp

n

iip

1

1ip

ix

Pravděpodobnostní funkce(probability mass function)

i

jjii pxXP

1

Pr 1nP

iP

ix

Distribuční funkce1

Page 19: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Spojitá náhodná veličina

Hustota pravděpodobnosti p(x)(probability density function, pdf)

V 1d:

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

xxpDXD

d)(Pr

b

attpbXa d)(Pr

Page 20: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Spojitá náhodná veličina

Distribuční funkce P(x)(cumulative distribution function, cdf)V 1d:

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

xttpxXxP d)(Pr)(

!0d)(Pr a

attpaX

Page 21: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Spojitá náhodná veličina

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

Hustota pravděpodobnosti (pdf)

Př. Rovnoměrné rozdělení (uniform distribution)

Distribuční funkce (cdf)

Page 22: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Spojitá náhodná veličina

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

Zdro

j: w

ikip

edia

Gaussovské (normální) rozdělení

Hustota pravděpodobnosti (pdf)

Distribuční funkce (cdf)

Page 23: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Střední hodnota a rozptyl

Střední hodnota (očekávaná hodnota, expected value)

Rozptyl (variance)

Vlastnosti

DpXE xxx d)(

(pokud jsou Xi nezávislé)

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

Page 24: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Transformace náhodné veličiny

Y je náhodná veličina

Střední hodnota Y

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

XfY

D

pfYE xxx d)()(

Page 25: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Monte Carlo integrování

Page 26: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

xxfI dOdhadovaný integrál:

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

)()(

prim XpXfF

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

Primární estimátor určitého integrálu

Page 27: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Primární estimátor určitého integrálu

X

f(x)

f(X)

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

2013 27

Page 28: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Estimátor a odhad

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 2013 28

Page 29: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Nestrannost obecného estimátoru

Nestrannost estimátoru (obecně):

„V průměru“ estimátor dává správnou hodnotu odhadované veličiny (bez systematické chyby)

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

QFE

Odhadovaná veličina (např. integrál)

Estimátor veličiny Q(náhodná veličina)

Page 30: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Nestrannost

Náš estimátor Fprim je nestranným (unbiased) odhadem I

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

I

xxpxpxfFE

d)(prim

Page 31: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Rozptyl primárního estimátoru

22

2prim

2prim

2primprim d

)(][][ Ix

xpxfFEFEFV

Měřítkem kvality odhadu je jeho rozptyl(nebo standardní odchylka):

Při výpočtu jediného vzorku je rozptyl výsledkupříliš velký!

(pro nestranný odhad)

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

Page 32: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Sekundární estimátor integrálu

N nezávislých náhodných veličin, f(Xi) / p(Xi)

Sekundární estimátor je nestranný

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

N

i i

iN Xp

XfN

F1

1

Page 33: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Rozptyl sekundárního estimátoru

prim

2

1i

1)()(1

)()(1

)()(1

FVN

XpXfV

N

XpXfVN

N

XpXf

NVFV

i

i

i

i

N

i

iN

... std. chyba je ÖN-krát menší! (konvergence 1/ÖN)

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

Page 34: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Vlastnosti estimátorů

Page 35: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Nestrannost obecného estimátoru

Nestrannost estimátoru (obecně):

„V průměru“ estimátor dává správnou hodnotu odhadované veličiny (bez systematické chyby)

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

QFE

Odhadovaná veličina (např. integrál)

Estimátor veličiny Q(náhodná veličina)

Page 36: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Výchylka (bias) obecného estimátoru Pokud

pak estimátor není nestranný (je vychýlený, „biased“).

Systematická chyba, bias

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

QFE

FEQ

Page 37: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Konzistence (obecného estimátoru)

Uvažujme sekundární estimátor (N vzorků):

Estimátor FN je konzistentní pokud

tj. pokud chyba FN – Q jde k nule s pravděpodobností 1.

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

),...,,( 21 NNN XXXFF

Page 38: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Konzistence (obecného estimátoru)

Postačující podmínka pro konzistenci estimátoru:

(tj. ne každý nestranný estimátor je konzistentní)

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

bias

Page 39: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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 2013 39

Page 40: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Střední kvadratická chyba(Mean Squared Error – MSE) Definice

Platí

Důkaz

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

])[(][ 2QFEFMSE

2][][][ FFVFMSE

Page 41: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Střední kvadratická chyba(Mean Squared Error – MSE) Pokud F je nestranný, pak

tj. pro nestranný estimátor je snazší odhadnout chybu, protože rozptyl estimátoru lze odhadnout ze vzorků Yi = f(Xi) / p(Xi)

Nestranný estimátor rozptylu

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

][][ FVFMSE

Page 42: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Účinnost estimátoru

Pro nestranný estimátor je účinnost (eficience, angl. efficiency) dána vztahem:

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

rozptyl čas výpočtu (počet operací, např. početvržených paprsků)

Page 43: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Metody snížení rozptylu MC estimátorů

Page 44: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Metody snížení rozptylu

Importance sampling (vzorkování podle důležitosti)a) Podle BRDF (nejčastější)b) Podle Li (pokud známo: přímé osvětlení) V syntéze obrazu je IS nejčastěji používaná

metoda

Řídící funkce (control variates)

Lepší rozložení vzorků Stratifikace quasi-Monte Carlo (QMC)PG III (NPGR010) - J. Křivánek

2013 44

Page 45: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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 2013 45

Page 46: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Vzorkování podle důležitosti

X1

f(x)

0 1

p(x)

X2X3 X4X5 X6PG III (NPGR010) - J. Křivánek

2013 46

Page 47: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Řídící funkce

xxxxxxx ddd ggffI

Funkce g(x), která aproximuje integrant adokážeme ji analyticky integrovat:

numerické integrování (MC)menší rozptyl než f(x)

umíme analyticky integrovat

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

Page 48: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Transformace řídící funkcí

f(x)

0 1

0

g(x)

f(x)-g(x)

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

Page 49: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Řídící funkce vs. Importance sampling Importance sampling

Lepší pokud se funkce, podle níž umíme vzorkovat, vyskytuje v integrantu jako multiplikativní člen (rovnice odrazu, zobrazovací rovnice).

Řídící funkce Lepší pokud se funkce, kterou umíme analyticky

integrovat, vyskytuje v integrantu jako aditivní člen.

Proto v se v syntéze obrazu téměř vždy používá importance sampling.

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

Page 50: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Lepší rozmístění vzorků

Při výběru množiny nezávislých vzorků se stejnou hustotou pravděpodobnosti dochází ke shlukování velký rozptyl odhadu

Lepší rozmístění vzorků = integrační oblast je pravidelněji pokryta snížení rozptylu

Metody Vzorkování po částech (stratifikace, stratified

sampling) quasi-Monte Carlo (QMC)

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

Page 51: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Vzorkování po částech

Interval se rozdělí na části, které se odhadují samostatně

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

x2

f(x)f(xi)

0 1x1 x3 x4

Page 52: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Rozdělení intervalu na N částí i:

Estimátor:

ii

N

ii XXf

NI

,)(1ˆ1

strat

N

ii

N

i

IxxfxxfIi

11

dd

Vzorkování po částech

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

Page 53: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Vzorkování po částech

Potlačuje shlukování vzorků

Redukuje rozptyl odhadu Rozptyl menší nebo roven rozptylu sekundárního

estimátoru

Velmi účinné pro nízkou dimenzi integrantu

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

Page 54: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

uniformní rozklad intervalu (0,1) přirozená metoda pro zcela neznámou funkci f

známe-li alespoň přibližně průběh funkce f, snažíme se o takový rozklad, aby byl rozptyl funkce na subintervalech co nejmenší

rozklad d-rozměrného intervalu vede na Nd výpočtů úspornější metodou je vzorkování “N věží”

Rozklad intervalu na části

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

Page 55: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Metody Quasi Monte Carlo (QMC)

Použití striktně deterministických sekvencí místo náhodných čísel

Vše funguje jako v MC, důkazy se ale nemohou opírat o statistiku (nic není náhodné)

Použité sekvence čísel s nízkou dikrepancí (low-discrepancy sequences)

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

Page 56: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Diskrepance

Low Discrepancy (more uniform)

High Discrepancy (clusters of points)

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

Page 57: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Stratified sampling

Hen

rik

Wan

n Je

nsen

10 cest na pixelPG III (NPGR010) - J. Křivánek

2013 57

Page 58: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Quasi-Monte Carlo

Hen

rik

Wan

n Je

nsen

10 cest na pixelPG III (NPGR010) - J. Křivánek

2013 58

Page 59: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Fixní náhodná sekvence

Hen

rik

Wan

n Je

nsen

10 cest na pixelPG III (NPGR010) - J. Křivánek

2013 59

Page 60: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Příklady MC estimátorů

Page 61: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Přímé osvětlení

Globální = přímé + nepřímé

61

Přímé osvětlení

Page 62: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odhad irradiance – uniformní vzork.

Uniformní vzorkování:

Estimátor:

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

)(

iiii dcos),()(x

xxH

LE

21)( p

N

k,kk

N

k k

kN

LN

pf

NF

1ii,i

1 i,

i,

cos),(2

1

x

Page 63: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odhad irradiance – cos vzorkování

Importance sampling:

Estimátor:

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

)(

iiii dcos),()(x

xxH

LE

cos)( p

N

k,k

N

k ,k

,kN

LN

pf

NF

1ii

1 i

i

),(

1

x

Page 64: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

Page 65: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odhad irradiance – vzrokování zdroje

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

Page 66: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Odhad irradiance – vzrokování zdroje

Uniformní vzorkování plochy zdroje:

Estimátor

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

A

H

AVL

LE

dcoscos

)()(

dcos),()(

2e

)(iiii

xyxyxy

xx

xy

x

)( xy G

Ap 1)( y

N

kkkkN GVL

NA

F1

e )()()( xyxyxy

Page 67: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

Page 68: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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

Page 69: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

Plošné zdroje světla

1 vzorek na pixel 9 vzorků na pixel 36 vzorků na pixel

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

Page 70: Počítačová grafika III – Monte Carlo  integrování P římé osvětlení

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 2013 70

A

r AGVfLL d)()()()(),( oeoo xyxyxyxyx

N

kkkkrkN GVfL

NA

F1

oe )()()()( xyxyxyxy