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

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

Embed Size (px)

Citation preview

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