Top Banner
http://www.di.uminho.pt/uce-cg/index.php Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos
34

Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Apr 17, 2015

Download

Documents

Internet User
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

http://www.di.uminho.pt/uce-cg/index.php

Iluminação e FotoRealismo

Integração de Monte Carlo

Luís Paulo Peixoto dos Santos

Page 2: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Competências

GERAIS :• Relacionar os vários métodos de iluminação global com o modelo geral sustentado

pela equação de rendering, inferindo quais os fenómenos de iluminação modelados;• Projectar, implementar e avaliar soluções para novos problemas de iluminação por

recombinação de soluções conhecidas;• Reconhecer as limitações funcionais e/ou de desempenho associadas a cada algoritmo

de iluminação global;

Iluminação e Fotorealismo 2007/082

ESPECÍFICAS :

Page 3: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Motivação

• A equação de rendering não tem solução analítica• Os algoritmos de rendering calculam soluções numéricas aproximadas• O domínio de integração (semiesfera) é discretizado e são seleccionadas amostras

deste domínio discreto• A contribuição de cada amostra é adicionada ao resultado final com um determinado

peso, wi: o integral transforma-se numa soma

• A selecção de quais e quantas as direcções a amostrar e qual o peso w i de cada amostra determinam a qualidade e desempenho dos algoritmos de iluminação global

Iluminação e Fotorealismo 2007/083

s

iipirirrer dNpLpfpLpL ),cos()(),()()(

i

ipiririrer NpLpfwpLpL ),cos()(),()()(

Page 4: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Ray Tracing Clássico

Iluminação e Fotorealismo 2007/084

• O ray tracing clássico selecciona deterministicamente quais as direcções a amostrar com wi=1:– ILUMINAÇÃO DIRECTA: Amostragem das fontes de luz, pois estas

provavelmente correspondem a máximos da radiância incidente– REFLEXÃO ESPECULAR: Amostragem da direcção de reflexão especular

ideal, pois esta corresponde a um máximo da BRDF– TRANSMISSÃO ESPECULAR : Amostragem da direcção de transmissão

especular ideal, pois esta corresponde a um máximo da BRDF

Page 5: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Ray Tracing Clássico

Iluminação e Fotorealismo 2007/085

A selecção determinística de um número limitado de direcções de amostragem resulta em:

• Descontinuidades abruptas, principalmente as resultantes de efeitos de iluminação

• aliasing

• Simulação de um número limitado de efeitos de iluminação

Page 6: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: Formulação

Iluminação e Fotorealismo 2007/086

• Objectivo: calcular o integral de no domínio D:

• O valor esperado de uma função aleatória é o valor médio da função, calculado sobre um conjunto de valores x pertencentes ao domínio da função e distribuídos com probabilidade p(x):

• O valor esperado de uma função é aproximado pela média de um número de amostras aleatórias - converge para o valor correcto quando o número de amostras se aproxima de infinito (Lei dos Grandes Números):

)(xf

D

dxxfI )(

D

dxxpxfxfE )()())((

N

iixfN

xfE1

)(1

))((

Page 7: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: Formulação

Iluminação e Fotorealismo 2007/087

• Combinando estes dois resultados podemos construir um integrador numérico <I> para estimar o valor do integral:

• O integrador é com

N

i i

i

D

N

i i

i

D

N

iiD

xp

xf

Ndxxf

xp

xf

Nxp

dxxpxf

xfN

dxxpxfxfE

1

1

1

)(

)(1)(

)(

)(1

)(

)()(

)(1

)()())((

Ixp

xf

NI

N

i i

i 1 )(

)(1II

N

lim

O integral pode ser estimado pelo somatório pesado de amostras de f(x) geradas aleatoriamente

Page 8: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: Distribuição Uniforme

Iluminação e Fotorealismo 2007/088

N

i i

i

D xp

xf

Ndxxf

1 )(

)(1)(

• Este integrador numérico permite aproximar o valor do integral seleccionando estocasticamente pontos (amostras) no domínio da função!

• Se a distribuição de probabilidade usada para seleccionar os pontos de amostragem é uniforme, então todos os pontos têm a mesma probabilidade

• O integrador passa a ser:

Dxpxp ii ,)(

N

iiDxf

xpNdxxf

1

)()(*

1)(

Page 9: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: Distribuição Uniforme

Iluminação e Fotorealismo 2007/089

4

1)2( dxxI

3

1)( ,

3

111 ,)(

4

1

4

1 xpcxcdxccxp

13)( x,)2(3 1

i1

Px

NI

N

Ii

ξ xi f(xi)

0,31 1,92 3,92

0,59 2,76 4,76

0,61 2,82 4,82

0,09 1,26 3,26

0,15 1,45 3,45

Valores para N=5

5,135,216)22

()2(4

1

24

1

x

xdxx

1 2 3 4 5 6 7 8 90

1

2

3

4

5

6

7

8

9

f(x)

Page 10: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: Semi-Esfera Uniforme

Iluminação e Fotorealismo 2007/0810

AMOSTRAGEM UNIFORME DA SEMI-ESFERA

s

iipirirrr dNpLpfpL ),cos()(),()(

N

iiirirrr pLpf

NpL

1

)cos()(),(2

)(

O ângulo sólido da semi-esfera é 2π, logo p(ω)=1/ 2π

Seleccionar as direcções aleatoriamente e seguir o raio com direcção

211 2 ,cos, i φ

θΨi

Page 11: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo ray tracing

Iluminação e Fotorealismo 2007/0811

N

iiirirrdrer pLpf

NpLpLpL

1

)cos()(),(2

)()()(

)( rpL Radiância reflectida por p na direcção ωr

)( re pL Radiância auto-emitida por p na direcção ωr

)( rd pL Radiância reflectida por p na direcção ωr devida a iluminação directa

N

iiirir pLpf

N 1

)cos()(),(2

Radiância reflectida por p na direcção ωr devida a iluminação indirecta

Page 12: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo ray tracing

Iluminação e Fotorealismo 2007/0812

Page 13: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo path tracing

Iluminação e Fotorealismo 2007/0813

• Para cada pixel gerar N raios primárioscujas direcções são seleccionadasestocasticamente sobre a área do pixel

• As contribuições destes raios são integradas usando o integrador de Monte Carlo para calcular o valor daquele pixel

• Quando um raio intersecta um objecto:– Calcular iluminação directa

disparando shadow rays– Seleccionar estocasticamente uma única

direcção de amostragem na semi-esfera

Page 14: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo path tracing

Iluminação e Fotorealismo 2007/0814

Page 15: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo path tracing

Iluminação e Fotorealismo 2007/0815

for each pixel p on the image plane {

i=0

for (i=0 ; i<N ; i++)

ray = select_dir_stochastically (p, pdf, &prob)

rad[p] += path_trace (ray, 0) / prob

rad[p] /= N;

}

path_trace (ray, depth) {

point = intersect (ray, scene)

rad = direct_lighting (point) // trace shadow rays

if (depth < MAX_DEPTH)

sec_ray = select_dir_stochastically (p, pdf, &prob)

rad += BRDF * path_trace (sec_ray, depth++) * cos(θ) / prob

return (rad)

}

Page 16: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo : Variância

Iluminação e Fotorealismo 2007/0816

• O processo estocástico introduz variância, percepcionada como ruído

Cornell boxPath Tracing1spp; 4.3 seg

• A variância varia com 1/N, o desvio padrão com 1/N2

• Para reduzir o ruído a metade, precisamos de 4 vezes mais amostras (N*4)

Page 17: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo : Variância

Iluminação e Fotorealismo 2007/0817

Cornell boxPath Tracing1spp; 4.3 seg

Cornell boxPath Tracing4spp; 17,5 seg

Cornell boxPath Tracing16spp; 71.7 seg

Cornell boxPath Tracing512spp; 2294.4 seg

Page 18: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo

• Redução da variância– Aumento do número de amostras– Amostragem Estratificada– Amostragem por Importância

Iluminação e Fotorealismo 2007/0818

Page 19: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: estratificação

Iluminação e Fotorealismo 2007/0819

• As amostras podem ser melhor distribuídas no domínio se este for subdividido em subdomínios disjuntos (strata) e o integral calculado separadamente em cada estrato

1 2 3 4 50

1

2

3

4

5

6f(x)

2

0

11

1

4

1)2()2(

m

m

m

m

dxxdxx

m=0 m=1 m=2

2

0 1 ,

,4

1 )(

)(1)2(

m

m

n

i im

im

m

m

xp

xf

ndxx

Page 20: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: estratificação

Iluminação e Fotorealismo 2007/0820

4

1)2( dxxI

3

1)( ,

3

111 ,)(

4

1

4

1 xpcxcdxccxp

)(

1

)2(3 mN

iixN

Iξ αj xi f(xi)0,97 1 1,43 3,430,23 1,6 2,18 4,280,85 2,2 2,63 4,630,36 2,8 2,98 4,980,19 3,4 3,66 5,66

Valores para m=N=5 (1 sample per stratum)

Nota: I=13,5 e <I>=12.12 com uniforme1 2 3 4 50

1

2

3

4

5

6f(x)

Page 21: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: estratificação

Iluminação e Fotorealismo 2007/0821

AMOSTRAGEM ESTRATIFICADA DA SEMIESFERA

s

iipirirrr dNpLpfpL ),cos()(),()(

O ângulo sólido da semiesfera é 2π, logo p(ω)=1/ 2π

Seleccionar as direcções com M strata em θ e N strata em ψ:

O integrador é:

1

0

1

0

)cos()(),(*

2)(

M

j

N

iiirirrr pLpf

NMpL

N

i

M

j 211 2,cos,

Page 22: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: importância

Iluminação e Fotorealismo 2007/0822

• Distribuição de probabilidade uniforme : para seleccionar as amostras não é usada informação acerca do integrando, f(x);

• Algumas partes de f(x) contribuem mais para o valor do integral: aquelas onde o valor de f(x) é maior;

• Se p(x) tem uma forma similar a f(x), então as amostra ficarão localizadas, com maior probabilidade, nas partes mais importantes do domínio.

1 2 3 4 50

1

2

3

4

5

6f(x)

p(x)=1/3

Amostragem Uniforme

1 2 3 4 50

1

2

3

4

5

6f(x)

p(x)=2x/15

Amostragem por Importância

Page 23: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: importância

Iluminação e Fotorealismo 2007/0823

4

1)2( dxxI

15

2)( ,

2

151

21 ,)(

4

1

4

1

2 xxpc

xcdxcxcxxp

115 ,

152

)2(1

1

i

N

i i

i xxx

NIValores para N=5

1 2 3 4 50

1

2

3

4

5

6f(x)

ξ xi p(xi) f(xi)

0,82 3,64 0,49 5,64

0,39 2,63 0,35 4,63

0,80 3,60 0,48 5,60

0,48 2,86 0,38 4,86

0,72 3,45 0,46 5,45

Nota: I=13,5 e <I>=12.12 com uniforme

Page 24: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: importância

Iluminação e Fotorealismo 2007/0824

s

iipirirrr dNpLpfpL ),cos()(),()(

Integrando é um produto: seleccionar um dos factores.COSINE WEIGTHED IMPORTANCE SAMPLING:

cos

)( p 211 2,sin),(

N

iirirrr

N

i i

iirirrr

pLpfN

pL

pLpf

NpL

1

1

)(),()(

)cos()cos()(),(1

)(

Page 25: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo: bias

Iluminação e Fotorealismo 2007/0825

• Quando parar a emissão de raios secundários (path length)?

– Usar uma profundidade máxima fixa

– Quando a contribuição esperada de um raio é inferior a um dado limite

• Estes são métodos determinísticos que afectam o valor do integral (bias)!

not biased biased

IIN

lim

IINlim

Page 26: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo: roleta russa

Iluminação e Fotorealismo 2007/0826

• Definir a probabilidade α de terminar a travessia (não disparar um raio secundário)

• Antes de disparar um raio gerar um número aleatório, ξ, uniformemente distribuído em [0, 1[

• Se ξ <= α então não disparar o raio

• Se ξ > α então disparar o raio

• Uma vez que há uma probabilidade α de não disparar um raio, a contribuição dos raios disparados deve ser multiplicada por 1/(1- α), para compensar aqueles que não são disparados

))( : 0 ? ()1(

1)( ipLpL

Page 27: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Monte Carlo: roleta russa

Iluminação e Fotorealismo 2007/0827

for each pixel p on the image plane {

i=0

for (i=0 ; i<N ; i++)

ray = select_dir_stochastically (p, pdf, &prob)

rad[p] += path_trace (ray) / prob

rad[p] /= N;

}

path_trace (ray) {

point = intersect (ray, scene)

rad = direct_lighting (point) // trace shadow rays

if (ξ > α)

sec_ray = select_dir_stochastically (p, pdf, &prob)

rad_incident = path_trace (sec_ray) / ( prob * (1 – α))

rad += BRDF * rad_incident * cos(θ)

return (rad)

}

Page 28: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo

Iluminação e Fotorealismo 2007/0828

)()()()( rindrdrer pLpLpLpL

)( rpL Radiância reflectida por p na direcção ωr

)( re pL Radiância auto-emitida por p na direcção ωr

)( rd pL Radiância reflectida por p na direcção ωr devida a iluminação directa

)( rind pL Radiância reflectida por p na direcção ωr devida a iluminação indirecta

Page 29: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: iluminação directa

• Nota: apenas são consideradas contribuições que tenham origem directamente nas fontes de luz

Abordagem 1 – Iterar sobre todas as fontes de luz e tirar NLi amostras de cada:

Iluminação e Fotorealismo 2007/0829

iidirrrd pLpfpL cos)(),,()(

Nlights

l

N

i i

iildirr

Lird

Nlights

liildirrrd

Li

p

pLpf

NpL

pLpfpL

1 1

)(

1)(

)(

cos)(),,(1)(

cos)(),,()(

Page 30: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: iluminação directa

Iluminação e Fotorealismo 2007/0830

Nlights

l

N

i i

iildirr

Lird

Li

p

pLpf

NpL

1 1

)(

)(

cos)(),,(1)(

• A selecção das amostras ωi pode ser feita usando distribuição uniforme ou estratificada ou amostragem por importância sobre o ângulo sólido definido pela fonte de luz, ωLi

ωLi

Page 31: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: iluminação directa

Abordagem 2 – Seleccionar com probabilidade p=1/NLi uma fonte de luz e amostrar apenas essa.

A sua contribuição é, obviamente, dividida pela sua probabilidade:

Iluminação e Fotorealismo 2007/0831

iidirrrd pLpfpL cos)(),,()(

iildirrLird

Li

iildirrrd

pLpfNpL

N

pLpfpL

cos)(),,()(

1

cos)(),,()(

)(

)(

Em vez de seleccionar a fonte de luz com probabilidade uniforme podem-se usar outras distribuições.

Exemplo: baseada na potência, área e distância da fonte de luz.

Page 32: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Integração de Monte Carlo: iluminação indirecta

• Nota: apenas são consideradas contribuições que não tenham origem directamente nas fontes de luz.

Iluminação e Fotorealismo 2007/0832

iidirrrind pLpfpL cos)(),,()(

N

i i

iiindirrrind p

pLpf

NpL

1 )(

cos)(),,(1)(

• A selecção de quais as direcções da semi-esfera a amostrar é vulgarmente baseada em:• Amostragem estratificada• Amostragem por importância baseada na distribuição do cosseno• Amostragem por importância baseada na forma da BRDF

• Neste caso é necessário derivar uma distribuição da probabilidade que tenha uma forma semelhante à da BRDF

Page 33: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

Path Tracing: limitações

• Para algumas condições de iluminação a maioria dos trajectos gerados NUNCA encontram as fontes de luz: a sua contribuição será ZERO

• Os poucos trajectos que encontram a fonte de luz são os únicos que contribuem para o valor do pixel, resultando em grande variância (ruído)

Iluminação e Fotorealismo 2007/0833

Page 34: Http:// Iluminação e FotoRealismo Integração de Monte Carlo Luís Paulo Peixoto dos Santos.

BiDirectional Path Tracing

Iluminação e Fotorealismo 2007/0834

p1

p2

p3

q1

q2

q3

1. Gerar caminho a partir do observador

2. Gerar caminho a partir da fonte de luz

3. Unir os 2 caminhos4. e pesar a

contribuição de cada ql para cada pi