Fotorealismo no Infravermelho
DIRCEU G SILVA
Espectro Eletromagnético
http://www.crisp.nus.edu.sg/~research/tutorial/em.htm#irbands
Divisão do Infravermelho
 Infrared: comprimento de onda de 0.7 a 300
µm:





Near Infrared (NIR): 0.7 a 1.5 µm.
Short Wavelength Infrared (SWIR): 1.5 a 3 µm.
Mid Wavelength Infrared (MWIR): 3 a 8 µm.
Long Wanelength Infrared (LWIR): 8 a 15 µm.
Far Infrared (FIR): acima de 15 µm.
 NIR e SWIR são conhecidos como
infravermelho Refletido.
 MWIR e LWIR são conhecidos
como infravermelho Termal.
http://www.crisp.nus.edu.sg/~research/tutorial/em.htm#irbands
http://www.crisp.nus.edu.sg/~research/tutorial/optical.htm#spectral_signature
Irradiação do Sol
Comprimento de onda que
corresponde sensivelmente
à luz verde-amarelada
Corpo Negro a 6500 K
1400
1200
1000
800
600
400
200
0.2
0.4
0.6
0.8
1
1.2
Comprimento de onda (nm)
1.4
1.6
Corpo Negro
É uma idealização do emissor
perfeito. Todos os outros
corpos terão uma intensidade
espectral abaixo da curva
gerada pelo Corpo Negro.
K = oC + 273,15
Reflectância x Comprimento de Onda
Typical Reflectance Spectrum of Vegetation. The labelled arrows
indicate the common wavelength bands used in optical remote
sensing of vegetation: A: blue band, B: green band; C: red band;
D: near IR band; E: short-wave IR band
http://www.crisp.nus.edu.sg/~research/tutorial/optical.htm#spectral_signature
MultiLayer and HyperSpectral Image
Ilustração de uma imagem
multilayer de 5 camadas.
Hyperspectral Image Cube:
Cada pixel está associado
com um espectro completo
de uma área da imagem.
http://www.crisp.nus.edu.sg/~research/tutorial/image.htm#multilayer
Classificação dos Sensores de Infravermelho
Exemplos de Câmeras IR
Filtros para IR
Wratten filters for Infrared- & UV-Photography
http://www.wrotniak.net/photo/infrared/ -- http://www.markerink.org/WJM/HTML/irfilter.htm
Fotografia IR
Uso de False Color
Camera D-SLR with IR-filter - Hoya R72
http://www.wrotniak.net/photo/infrared/#VIEW
Fotografia IR
http://www.markcassino.com/b2evolution/index.php/digital_infrared_hoya_r72_vs_rm90
Sensores de Presença - NIR
Exemplo de IR para Segurança
Stock Nikon D100. standard photograph.
Stock Nikon D100 adjusted for gamma, contrast
and brightness
IR Enabled Nikon D100.
IR Enabled Nikon D100 adjusted for gamma,
contrast and brightness.
Imagem Satélite
Foto IR com destaque para vegetação
Exemplos de Foto na Faixa Termal
http://www.thermotronics.com.br/termografia_galeria.asp
Exemplos de Foto na Faixa Termal
Tubulação de água
quente sob o piso.
Melhoria da visibilidade na direção.
Cálculo da Potência Espectral
 W(C) = ∑λ PC(λ) * [Ʀ(λ), ɑ(λ), τ(λ) ] * Ɛ(λ)*PΤ(λ) * PS(λ)
Densidade
espectral de
potência do
canal (Ex:
Filtro)
Propriedades de
Reflectância,
Transmitância e
Absorção do
material com:
Ʀ+τ +ɑ=1
 Para corpos opacos (T = 0)
 ɛ=1–Ʀ=ɑ
 Bons refletores são maus emissores
Densidade espectral
de potência gerada
pelo corpo para a
Temperatura T (K),
ponderada pela
emissividade (ɛ).
Resposta de
Frequência do
Sensor
Propriedades - NIR
 Ênfase das propriedades de Reflectância,
Transmitância e Absorção
 Para o corpo poder emitir calor nessa faixa a
temperatura do corpo deve ser maior que 700 oC
Limites de Temperatura por Faixa do
Espectro
10000
9000
Visível
8000
Temperature (C)
7000
NIR
6000
MIR
5000
FIR
4000
3000
3500
oC
2000
1000
0
0
2
700 oC
4
6
wavelength (um)
8
10
200 oC
12
Mudanças PBRT
 Mudanças Básicas
 Spectrum -> multi spectrum
 Criação de um canal adicional -> RGBN
 api.cpp -> para receber as novas classes
 Fonte
 Fonte de IR -> espectro estendido
 Objeto
 Material com parâmetros T,R,A+E (Spectrum) + K (temperatura)
 Câmera e Film
 Introdução do Filtro de IR
 Mudança para gerar multi-Image
Modificações no PBRT
 Modificação da Classe SampledSpectrum
 Criação do canal N para o IR
 Criação da base do canal N e ajuste no XYZ
 Modificação na função blackbody para qualquer temperatura
 Criação da Classe – ExtendedImageFilm
 Alteração na Struct Pixel para incluir o canal N.
 Suporte a filmes com canais RGB e N.
 Alteração das funções de AddSample() e WriteN() e WriteImage()
 Alteração da função AddSample -> Instrudução do filtro Espectral
Modificações no PBRT
 Criação da Classe – ExtendedInfiniteLight
 Suporte a mix de espectros.
 Parâmetros “Spectrum I” e “amount”
 (1 - amount) * Spectrum(MipMap) + amount * I
 Criação da Classe ThermalAreaLight
 Fonte de Luz com espectro ampliado e intensidade obtida pelo
corpo negro.
 Parâmetros – Temp, Emiss
 Cálculo do espectro usando blackbody.
Modificações no PBRT
 Ajustes nas distribuições dos canais RGB e
criação do canal NIR (Spectrum.cpp/h)
Spectrum RGB + IR
1.2
1
0.8
0.6
0.4
0.2
0
-0.2
300
400
500
600
700
800
900 1000
Comprimento de onda (nm)
1100
1200
1300
Simulação
 NIR





Uso de canais RGB + Ampliação do espectro
Mix do Espectro dos objetos
Uso de filtros Espectrais
Imagem RGB
Imagem NRG
Simulação - Espectro
Refletividade
Irradiação
90
Corpo Negro a 6500 K
Veget1
Veget2
Veget3
BareSoil
TurbidWater
ClearWater
80
1400
70
1200
Reflectância (%)
60
1000
800
600
50
40
30
400
20
200
10
0.2
0.4
0.6
0.8
1
1.2
Comprimento de onda (nm)
1.4
0
0.4
1.6
Filtro de IR
Imagem
RGB
NRG
0.5
0.6
0.7
0.8
wavelength (um)
0.9
1
1.1
Scale -1 1 1
Film "extendedimage“ "integer xresolution" [1600] "integer yresolution" [800] "string filename" "plants-dusk.exr"
Sampler "lowdiscrepancy" "integer pixelsamples" [32]
PixelFilter "box"
SurfaceIntegrator "directlighting"
# normal view
LookAt 28 1.8 1.5 69 65 1.3 0 0 1
Camera "perspective" "float fov" [60]
WorldBegin
AttributeBegin
Material "mirror“ Texture "water" "float" "windy”
Material "mirror" "spectrum Kr" "spds/extras/clearwater.spd" "texture bumpmap" "water"
Translate 0 0 -.01
Shape "trianglemesh" "point P" [0 0 .01 100 0 .01 100 100 .01 0 100 .01 ] "integer indices" [ 0 1 2 2 3 0 ]
AttributeEnd
AttributeBegin
Rotate 320 0 0 1
LightSource “extendedinfinite" "integer nsamples" [4] "blackbody L" [6500 20] "string mapname" ["textures/skylight-dusk.exr" ]
AttributeEnd
AttributeBegin
AreaLightSource "thermal" "integer nsamples" [16] "float Lmin" [400] "float Lmax" [1200] "float T" [6500] "float E" [4]
ReverseOrientation
Translate 400 200 800 # -500 1300 # 200 800
Rotate 90 0 0 1
Rotate 90 1 0 0
Shape "disk" "float radius" [100]
AttributeEnd
Include "geometry/ecosys/ecosys-texture.pbrt"
Include "geometry/ecosys/ecosys-apple.pbrt"
Include "geometry/ecosys/ecosys-urtica.pbrt"
WorldEnd
Vegetação - Material
 Árvores


Material "matte" "texture Kd" "apple-leaves“ Shape "trianglemesh“
Material "matte" "texture Kd" "apple-bark“ Shape "trianglemesh"
 Arbustos



Material "matte" "texture Kd" "urtica-1“ Shape "trianglemesh"
Material "uber" "color Ks" [0 0 0] "texture Kd" "urtica-2" "texture
opacity" "urtica-2-alpha“ Shape "trianglemesh“
Material "uber" "color Ks" [0 0 0] "texture Kd" "urtica-3" "texture
opacity" "urtica-3-alpha“ Shape "trianglemesh"
Vegetação - Texture
Texture "apple-leaves-ir" "color" "constant" "spectrum value" "spds/extras/veget2_ir.spd"
Texture "apple-leaves-imag" "color" "imagemap" "string filename" ["textures/ecosys/apple.exr"]
Texture "apple-leaves" "color" "mix" "texture tex1" "apple-leaves-ir" "texture tex2" "apple-leaves-imag" "float
amount" [0.5]
Texture "apple-bark" "color" "imagemap" "string filename" ["textures/ecosys/bark.exr"]
Texture "urtica-1-ir" "color" "constant" "color value" [.25 .14 .025 ]
Texture "urtica-1-imag" "color" "constant" "spectrum value" "spds/extras/veget2_ir.spd"
Texture "urtica-1" "color" "mix" "texture tex1" "urtica-1-ir" "texture tex2" "urtica-1-imag" "float amount" [0.5]
Texture "urtica-2-alpha" "color" "imagemap" "string filename" ["textures/ecosys/urticaleaf_alpha.exr"]
Texture "urtica-2-ir" "color" "constant" "spectrum value" "spds/extras/veget1_ir.spd"
Texture "urtica-2-imag" "color" "imagemap" "string filename" ["textures/ecosys/urticaleaf.exr"]
Texture "urtica-2" "color" "mix" "texture tex1" "urtica-2-ir" "texture tex2" "urtica-2-imag" "float amount" [0.5]
Texture "urtica-3-alpha" "color" "imagemap" "string filename" ["textures/ecosys/urticaseed_alpha.exr"]
Texture "urtica-3-ir" "color" "constant" "color value" [.3 .6 .4 ]
Texture "urtica-3-imag" "color" "constant" "spectrum value" "spds/extras/veget3_ir.spd"
Texture "urtica-3" "color" "mix" "texture tex1" "urtica-3-ir" "texture tex2" "urtica-3-imag" "float amount" [0.5]
Imagem RGB
R = red band
G = green band
B = blue band
Imagem NRG – sem uso de filtros IR
R = NIR band
G = red band
B = green band
Imagem NRG com uma intensidade maior para IR – sem
uso de filtro IR
R = NIR band
G = red band
B = green band
Imagem N
R = NIR band
G=0
B=0
Imagem com Filtro IR – Wratten # 70
R = Red
G = Green
B = Blue
Imagem com Filtro IR – Wratten # 70
R = NIR band
G = red band
B = green band
Modificações a serem feitas no PBRT
 Criação de texturas com informação de
temperatura para IR Distante.
 Criação dos canais MIR e FIR
 Simulação da detectividade do sensor da câmera
(filme)
 Superposição das imagens



Visível
NIR
FIR
Obrigado
Download

Fotorealismo no Infravermelho