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

Iluminação e FotoRealismo

  • Upload
    mahala

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

Integração de Monte Carlo Luís Paulo Peixoto dos Santos. Iluminação e FotoRealismo. Competências. Específicas :. 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; - PowerPoint PPT Presentation

Citation preview

Page 1: Iluminação  e  FotoRealismo

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/082

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;

ESPECÍFICAS :

Page 3: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/083

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 wi de cada amostra determinam a qualidade e desempenho dos algoritmos de iluminação global

s

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

i

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

Page 4: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/084

Ray Tracing Clássico

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/085

Ray Tracing Clássico

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/086

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

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/087

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

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

• O integrador é com

N

i i

iD

N

i i

iD

N

iiD

xpxf

Ndxxf

xpxf

Nxpdxxpxf

xfN

dxxpxfxfE

1

1

1

)()(1)(

)()(1

)()()(

)(1)()())((

Ixpxf

NI

N

i i

i 1 )(

)(1 IIN

lim

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

Page 8: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/088

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

N

i i

iD xp

xfN

dxxf1 )(

)(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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/089

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

4

1)2( dxxI

31)( ,

3111 ,)(

4

1

4

1 xpcxcdxccxp

13)( x,)2(3 1i

1

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

xxdxx

1 2 3 4 5 6 7 8 90

1

2

3

4

5

6

7

8

9

f(x)

Page 10: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0810

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

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0811

Monte Carlo ray tracing

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0812

Monte Carlo ray tracing

Page 13: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0813

Monte Carlo path tracing

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0814

Monte Carlo path tracing

Page 15: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0815

Monte Carlo path tracing

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0816

Integração de Monte Carlo : Variância

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0817

Integração de Monte Carlo : Variância

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0818

Integração de Monte Carlo

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

Page 19: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0819

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

• 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

xpxf

ndxx

Page 20: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0820

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

4

1)2( dxxI

31)( ,

3111 ,)(

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0821

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

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

Ni

Mj 211 2,cos,

Page 22: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0822

Integração de Monte Carlo: importância

• 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 Uniforme1 2 3 4 50

1

2

3

4

5

6f(x)

p(x)=2x/15

Amostragem por Importância

Page 23: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0823

Integração de Monte Carlo: importância

4

1)2( dxxI

152)( ,

2151

21 ,)(

4

1

4

1

2 xxpcxcdxcxcxxp

115 ,

152

)2(11

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0824

Integração de Monte Carlo: importância

s

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

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

cos)( p 21

1 2,sin),(

N

iirirrr

N

i i

iirirrr

pLpfN

pL

pLpfN

pL

1

1

)(),()(

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

Page 25: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0825

Monte Carlo: bias

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0826

Monte Carlo: roleta russa

• 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0827

Monte Carlo: roleta russa

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0828

Integração de Monte Carlo

)()()()( 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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0829

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:

iidirrrd pLpfpL cos)(),,()(

Nlights

l

N

i i

iildirr

Lird

Nlights

liildirrrd

Li

ppLpf

NpL

pLpfpL

1 1

)(

1)(

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

cos)(),,()(

Page 30: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0830

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

Nlights

l

N

i i

iildirr

Lird

Li

ppLpf

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0831

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:

iidirrrd pLpfpL cos)(),,()(

iildirrLird

Li

iildirrrd

pLpfNpLNpLpf

pL

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0832

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.

iidirrrind pLpfpL cos)(),,()(

N

i i

iiindirrrind p

pLpfN

pL1 )(

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: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0833

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)

Page 34: Iluminação  e  FotoRealismo

Iluminação e Fotorealismo 2007/0834

BiDirectional Path Tracing

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