Post on 13-Aug-2020
1
VII – Detecção de Contornos
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL
jasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
2
Contornos
O que são?
Os “edges” são pontos nas imagens onde existem variações rápidas dos níveis de brilho.
Para que servem?
O interesse na detecção de contornos advém da redução da quantidade de informação a processar; e por poderem corresponder a limites físicos dos objectos observados , defeitos em peças, etc...
Como detectar?
Vamos estabelecer modelos dos contornos e definir técnicas de detecção adequadas.
3
Os contornos revelam nas imagens variações bruscas dos níveis de brilho e, por corresponderem muitas vezes fenómenos importantes em 3D (descontinuidade na orientação ou estrutura de uma superfície, oclusão de um objecto por outro , etc...) são importantes na percepção.
Detecção de Contornos
4
5
6
7.1 Modelos de Edges
“Step edge” “Roof edges”
Os edges numa imagem são modelados como variações (descontinuidades) do nível de brilho ou das suas derivadas.
7
7.2 Operadores Diferenciais e Detecção de Contornos
1B
2B
Considere-se a seguinte imagem:
∫∞
=
<
=
>
=τ
δτµ
τ
τ
τ
τµ-
(x)dx)( ;
0 ,0
0 ,21
0 ,1
)(
Função escalão:
Recta contorno:
0)cos()sin( =+− ρθθ yx
Imagem: )cossin()(),( 121 θθµ yxBBByxE −−+=
8
Podemos calcular o gradiente da imagem:
)cossin()(cos),(
)cossin()(sin),(
12
12
ρθθδθ
ρθθδθ
+−−−=∂
∂
+−−=∂
∂
yxBBy
yxE
yxBBx
yxE
São operadores direccionais pois a amplitude da resposta depende da direcção (θ) do contorno.
T
yyxE
xyxEyxE
∂
∂∂
∂=∇ ),(,),(),(
A direcção do gradiente é perpendicular à direcção do contorno. O sentido é o da máxima variação da função, no sentido crescente.
Direcção do contorno :
Direcção do gradiente: ]sin,[cos θθ
]cos,[sin θθ −
xxE
∂∂ )()(xE
9
7.3. Operadores Rotacionalmente Simétricos
[ ]212
22
)cossin()( ρθθδ +−−=
∂∂+
∂∂ yxBB
yE
xE
É um operador não linear, rotacionalmente simétrico, que processa de igual forma os contornos de qualquer direcção.
a) Gradiente quadrado
10
b) Laplaciano
2
2
2
22 ),(
yE
xEyxE
∂∂+
∂∂=∇
+−−=∂∂
+−−=∂∂
θρθθδ
θρθθδ
2122
2
2122
2
cos)cossin´()(
sin)cossin´()(
yxBByE
yxBBxE
δ´(⋅) - doublet (derivada do divac)
)cossin´()( 122 ρθθδ +−−=∇ yxBBE
A amplitude da resposta não depende da direcção do contorno.
11
c) Variação quadrática
)cossin´()(cossin 12
2
ρθθδθθ +−−−=∂∂
∂ yxBByx
E
Variação quadrática:
[ ]212
2
2
2222
2
2
)cossin´()(
2
ρθθδ +−−=
=
∂∂+
∂∂
∂⋅
∂∂
∂⋅+
∂∂
yxBB
yE
xyE
yxE
xE
Nota: Dos 3 operadores rotacionalmente simétricos considerados, apenas o Laplaciano é linear e mantém o sinal do contorno, permitindo recuperar o brilho da imagem inicial.
Segunda derivada cruzada
12
7.4 Aproximações Discretas
Ei, j+1 Ej+1, j+1
Ei, j Ei+1, j
a) 1ªs Derivadas
[ ]
[ ])()(21),(
)()(21),(
,1,,11,1
,,11,1,1
jijijiji
jijjjiji
EEEEjiyE
EEEEjixE
−+−=∂∂
−+−=∂∂
++++
++++
ε
ε
ε→ Espaçamento da grelha.
Uma vez que a imagem está definida num domínio discreto, há que discretizar os operadores diferenciais a utilizar.
13
b) 2ªs Derivadas
∂∂−+
∂∂⋅=
∂∂ )()1(1
2
2
xxEx
xE
xE
ε
[ ])()(1,1,,,12 yxyxyxyx EEEE −+ −−−=
ε
[ ]yxyxyx EEE ,1,,12 21−+ +−=
ε
]2[11,,1,22
2
−+ +−=∂∂
yxyxyx EEEyE
ε
][41
1,11,11,11,12
2
−++−++−− −−+=∂∂
∂yxyxyxyx EEEE
yxE
ε
14
7.5 Utilização de máscaras
Ex-1,y+1 Ex,y+1 Ex+1,y+1
Ex-1,y Ex,y Ex+1,y
Ex-1,y-1 Ex,y-1 Ex+1,y-1
Exemplo
[ ]yxyxyxyx EEEExE
,,11,1,121 −+−=
∂∂
++++εε21
Os operadores diferenciais resultam numa combinação linear do valor de brilho de alguns pixels da imagem.
Quando assim é, podemos definir estes operadores usando máscaras ou kernels.
1-1
1-1
15
a) Operadores diferenciais primeira ordem
1-1
1-1
1-1
1-1
2-2
1-1
1-1
1-1
-1-1-1
111
-1-2-1
121
-1-1
11
xE
∂∂
yE
∂∂
|||| E∇
E∠∇: Intensidade do contorno
: Direcção normal ao contorno
Prewitt
Sobel
Isotrópico2−
2− 2
2
16
b) O Laplaciano
]4[1,1,1,,1,122
2
2
22
yxyxyxyxyx EEEEEyE
xE −+++=
∂∂+
∂∂=∇ +−+−ε
2
1ε
( L.1)
Se pretendermos usar os pixels das diagonais, podemos considerar uma rotação dos cixos de 45º (x´, y´).
)2(21
´ 1,1,1,122
2
−−++ +−=∂∂
yxyxyx EEExE
ε
)2(21
´ 1,1,1,122
2
−++− +−=∂∂
yxyxyx EEEyE
ε
221ε ( L.2)
1
1-41
1
11
-4
11
17
Considerando ambas as máscaras com
)2.(31)1(
32 LL. +
Resulta na máscara frequentemente usada para o Laplaciano.
261ε
141
4-204
141
18
A energia das imagens concentra-se normalmente nas baixas frequências enquanto que o ruído pode estar distribuído por todo o espectro.
Os operadores diferenciais amplificam as altas frequências, nomeadamente o ruído.
⇒ Em vez de se aplicar directamente os filtros diferenciais às imagens, é conveniente realizar uma pré-filtragem passa-baixo.
O filtro gaussiano é frequentemente usado como filtro passa-baixo:
2
22
222
1),( σ
πσ
yx
eyxG+
=
É separável em duas convoluções unidimensionais
ξηηξηξξηξηξ ddIyGxGdydIyxG∫ ∫ ∫ ∫+∞
∞−
+∞
∞−
−∞
∞+
∞
∞−
−−=−− ),()()(),(),(
7.6 Operadores Locais e Ruído
19
7.7 O operador de Marr- Hildreth
- Larg. Banda menor- Não detecta contornos pequenos- Erros de localizacão dos contornos são maiores
- Larg. Banda maior- Detectados muito contornos- Falsos edges assinalados devido ao ruído
σ elevadoσ baixo
Solução “Coarse – to – fine”
Pode-se fazer o seguimento dos pontos de contorno das frequências mais elevadas para as mais baixas.
(Laplaciano da Gaussiana)
i) ∇ 2 (G * I )
ii) Determinar as passagens por zero
Equivale a determinar os máximos locais do módulo do gradiente da imagem.
O desvio padrão, σσσσ , determina a largura de banda da filtragem passa-baixo (1/σσσσ )
σ3
σ2
σ
20
Gaussiana
2
22
222
1),( σ
πσ
yx
eyxG+−
=
2
22
26
222
22)),(( σ
πσσ yx
eyxyxGLap+−−+=
É necessário cuidado ao discretizar estas máscaras. O volume coberto pela gaussiana deve ser 1 e o volume coberto pelo ∇ 2G deve ser ∅ .
∇ 2G
21
Operador Marr-Hildreth
σ=1
Sobel
Operador Marr-Hildreth
σ=2
Laplaciano
22
0=σ 1=σ
3=σ 6=σ
23
7.8 O operador de Canny
O cálculo do Laplaciano/Gradiente tem a desvantagem de ser rotacionalmente simétrico. Se o contorno for horizontal (p.ex.) a derivada vertical apenas introduz ruído.
Canny [83] desenhou um filtro óptimo para step edges, tendo em conta: erro de localização , respostas falsas, probabilidade de detecção.
[ ]
=•
∗∂∂=•
∇∇=•
0),( Contornos
),(),(),( Calcular
contorno ao normalr verso),(),( Seja
2
2
yxO
yxEyxGn
yxO
yxEyxEn
σr
r
2
2 ),(n
yxGr∂
∂
24
Implementação
E∇direcção do gradiente
- edge
- 1ª derivada
- 2ª derivada
Em vez do cálculo da 2ª derivada pode-se procurar o máximo do gradiente na direcção do gradiente.
25
Interpolação
Int. bilinear
∑
∑
=
== 4
1
4
1
1
)(
),(
i i
i i
i
d
dPf
yxf
22 )()( iii yyxxd −+−=
Necessários valores de brilho fora da grelha de imagem!
513
163
142
x
x
dir.grad.
Pi Pi+1
Pi+2 Pi+3
(x,y)
26
Exemplos:
27
Pós-Processamento: Relaxação
Se um contorno horizontal fraco estiver ladeado de dois contornos horizontais fortes, podemos aumentar a confiança no contorno em análise.
Extensível a mais direcções.
VIII – Transformada de Hough
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL
jasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
8.1 Transformada de Hough
y
x
(x”,y”)
(x’,y’)
c= -mx’+y’ (espaço mx-c)
(m’,c’)
c= -mx”+y”
c
m
Exemplo : (detecção de linhas rectas)
1. Para um ponto de contorno x’,y’ considerar todas as rectas que passam pelo ponto e incementar o contador A(m,c) correspondente a essas rectas.
2. Repetir para outro ponto de contorno.
3. Quando todos os pontos tiverem sido considerados, seleccionar as rectas onde A (m,c) é maior.
Uso de transformada de Hough para detecção de curvas parametrizáveis. A ideia é parametrizar a curva e trabalhar no espaço de parâmetros.
Uso do Gradiente
Uma variante possível, se estiver disponível a informação de gradiente do ponto de contorno: incrementar apenas os pontos A(m,c) correspondentes àquela direcção (com dada tolerância).
Uma outra parametrização possível para a recta é usar
Neste caso, no espaço de pârametros (θ,r) iremos ter sinusoides em vez de rectas mantendo-se a idéia geral.
Outra parametrizações
ryx =+ )sin()cos( θθ
8.1.1 Transformada de Hough Generalizada
Aplicação da ideia da transformada de Hough a uma forma generalizada.
1) Percorrer o contorno da figura, e guardar , αi, ri, indexado pela direcção do gradiente.
nnn r
rr
αφ
αφαφ
222
111
MM
2) Formar o acumulador A (xmin:xmáx , ymin:ymáx)
3) Para cada ponto de contorno, clacular φ (gradiente) e calcular os possíveis centros
4) Seleccionar o centro mais “rotado”.
( )( ))(sin
)(cosφαφα
ryyrxx
c
c
+=+= ++),( cc yxA
Exemplos de Aplicação da Transformada de Hough
8.2. Seguimento de contornos - Busca em Grafo
A cada arco podem ser associados pesos ou custos.Admita-se que se calculou pontos de contorno de uma imagem e se assinalaram os valores do módulo S(x) e direcção φ(x).Nós : cada ponto da “imagem” de direcção do gradiente, com valor S(x)Arcos: Ligar φ(x1), φ(x2) se as gradientes estão alinhados com o arco que se está a considerar.
22mod)()(
)()(
,
ππφφ <−
>>
ji
j
i
ji
xx
TxSTxS
nn
ji
i
nn
n
, :Arcos
:Nóspor oconstituíd é grafo Um
8.3 Algoritmos de Procura Heurística (Nilson 1971,80)
(Martelli,1972)
Definir:
• Caminho entre dois pontos de contorno xA e xB.
• Heurística para criação de nós sucessores (do tipo xA, xB são pontos de contorno, vizinhos segundo C-4, e os gradientes não diferem mais que um limiar fixo).
• Função de avaliação do custo de uma dada trajectória.
Exemplos de aplicação: Edge linking, refinamento de contornos, ...
Outras Técnicas: Programação dinâmica.
Exemplos de função de custo:
1. Intensidade do contorno
2. Curvatura
3. Proximidade a estimativa a priori: d=dist(xi,B)
( ))(xsM −
[ ])()( ji xxdiff φφ −
IX – Transformação de Histograma
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL
jasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
9- Transformação de Histograma
Considere-se na imagem:
p brilho da imagem (variárel aleatória)
h(p) densidade de probabilidade da variável alatória (histograma normalizado)
Suponha-se uma outra imagem:
q brilho (variável aleatória)
g(q) densidade de probabilidade
Tenta-se agora determinar a transformação da variável aleatória p por forma a apresentar a densidade de probabilidade de q.
)()( pHdsshwp
op∫ ==
)()( qGdssgwq
oq∫ ==
é uma variável aleatória com dist.uniforme enter 0 e 1.
Tendo: )()( qGpH qp =
Podemos ter:
Explicita como calcular q em função de p por forma a q ter a distríbuicão desejada.
[ ])(1 pHGq pq−=
Normalização de Histograma
Mqg 1)( =
MqqGq =)(
MyyGq =− )(1
vem
dsshMqP
)(0∫=
∫=P
dssHistNMq
02 ).(
q h(p)
g(q) p
∫ dqph )(
Nesta situação pretende-se que g(q) seja uniforme
Imagem N x NM níveis de cinzento
Equalização de Histograma
Equalização de histograma
X - Reconstrução Stereo e
Fotogrametria
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL
jasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
2
O stereo é um dos processos principais que nos permite perceber a distância aos objectos que nos rodeiam.
Problemas associados :
FOTOGRAMETRIA - Estuda como os pontos 3D são observados por câmaras em posições distintas (geometria de múltiplas vistas).
CALIBRAÇÃO - Determinação a transformação geométrica entre os referenciais das câmaras.
MATCHING – Procura de pontos correspondentes em duas imagens, resultantes da projecção do mesmo ponto 3D.
1. Fotogrametria e Stereo
3
Consiste em determinar a forma de um objecto com imagens de várias câmaras cuidadosamente colocadas.
Pontos correspondentes ou homólogos - São pixels de 2 ou mais imagens que são projecção de um mesmo ponto 3D.
1. Fotogrametria
É necessário conhecer a orientação relativa entre os sistemas de coordenadas das câmaras ou a sua orientação absoluta relativamente a um sistema de coordenadas fixo do mundo.
-Fotografia aérea
-Fotografia satélite
-Topografia de monumentos
4
1.1. Disparidade entre duas imagens
f
rx′lx′
),( ZXP
X
Z
Z
bX
frx
Z
bX
flx 2;2
−−=
′+−=
′
Disparidade (d):
dfbz =
Consideram-se duas câmaras, alinhadas com os eixos ópticos paralelos,separadas por uma distância b - baseline.
zfbxxd rl =−∆ ''
5
A disparidade é uma diferença de coordenadas da imagem. Está sempre limitada pela resolução das imagens usadas.
1.2 - Sensibilidade
( ) ( )
dd
fbz
dddzz
dfbdz
δ×−≈δ⇔
δ∂
∂≈δ⇔×=
2
ou ainda :
dzdfb
zz δαδδ 22
=×
−≈
Num setup stereo paralelo, a incerteza na recuperação de z, cresce com o quadrado da distância
[ ]mzδ
[ ]mz0z
crescenteα
Dada a distância média aos objectos e dado o erro admissível na reconstrução, devemos dimensionar :
- resolução imagem- b (baseline)- f
6
2. Geometria Projectiva
i) é um espaço projectivo de dimensão n. Um ponto de é dado por: nPnP
[ ]Tnxxx 11,...,~+=
ii) Dois vectores e representam o mesmo ponto
sse
[ ]Tnxxx 11,...,~+= [ ]Tnyyy 11,...,~
+=
0,~~ ≠= λλyx
iii) Uma colineação (collineation) é uma transformação linear de em por
uma matriz , não singular. A matrix A é definida a menos de um factor
de escala
nP nP
)11( +×+ nnA
yxouyxA ~~~~ ∧= ρ
7
iv) Uma base projectiva em é definida por n+2 vectores de
, dos quais n+1 são linearmente independentes.
nP
nP
v) Entre duas bases projectivas existe uma única
collineation definida a menos de um factor t.q. :
ii yx ,
21 +≤≤ρ= niyAx iii
2. Geometria Projectiva
8
Ordem Euclideano Projectivo
1
ℜ∈x
[ ][ ]T
T
xm
λλµµ 21~
(Linha projectiva)
2
( ) 2, ℜ∈yx
[ ][ ]T
T
yxm
λλλµµµ 321~
(Plano projectivo)
3
( ) 3,, ℜ∈zyx
[ ][ ]T
T
zyxm
λλλλµµµµ 4321~
(Espaço projectivo)
Com frequência, existe vantagem em considerar o espaço Euclideano embebido num espaço projectivo.
2. Geometria Projectiva
9
2.1 Propriedades de 1P
[ ]Tm 21~~ µµ
Ponto no infinito:
1x 2x
2µ
1µ
[ ]22
21 µµ
(ponto no ∞∞∞∞ )
(espaço afim)
[ ]12
11 µµ
x1
Visualização de como e sua relação com 1P 2ℜℜℜℜ ℜℜℜℜ
2
1
µµ=x
)0( 2 =µ
0
1µ
não singular, definida a menos de um factor de escala
Pontos:
Collineation:
utsr
10
2.2 Propriedades de 2PPontos :
Rectas :
Eq. Recta:
Recta que passa por 2 pontos
Intersecção entre duas rectas
Recta no infinito
Cada recta intersecta a recta no ponto
que é o ponto no infinito dessa recta.
[ ]
[ ]
0~~
~
~
321
321
=µ⋅
µµµ=µ
=
Tm
xxxm
0:~
~~~~
~~~
3
21
21
=µ
µ×µ
×=µ
∞ x
m
mm
[ ]321 µµµ ∞µ~
( )0,, 12 µµ−
1x
3x2x
21~~ mm ××××
1~m
2~m
2P
1P
11
Transformações Afins do plano
bBxx +=' Amm λ='
10
~bB
A
As transformação afins são um sub-grupo do grupo projectivo.
Preservam a linha no ∞.
Desta forma, preservam paralelismo.
Euclideano Projectivo
12
Propriedades das Transformações do Plano
Transformação Graus de
liberdade
Matriz Propriedades
invariantes
grupo
projectivo
do plano
8
333231
232221
131211
ttttttttt
concorrência e colinearidade
ordem de contacto: intersecção; tangência;
inflecção
discontinuidades tangentes e cusps
cross-ratio (ratio de ratio de comprimentos)
grupo
afim
do plano
6
33
232221
131211
00 ttttttt
paralelismo
ratio de comprimentos de segmentos
colineares ou paralelos (e.g. ponto médio)
ratio de áreas
combinação linear de vectores
grupo
semelhança
do plano
4
1002221
1211
y
x
tt
rrrr
s
ratio de comprimentos, ângulos, ratio de
áreas
grupo
Euclideano
do plano
3
1002221
1211
y
x
trrtrr
comprimentos, ângulos, áreas
13
3P
Pontos : ( )4321 ,,,~ xxxxm = não simultaneamente nulos e a menos de um factor de escala
Planos : ( )4321 ,,,~ µµµµ=µ
Eq. do plano : 0~ =µTm (dualidade pontos-planos)
Recta : conjunto de pontos linearmente dependentes de 2 outros:
2.3 Propriedades de
21~~~ mmm βα +=
14
Plano no ∞∞∞∞:
∞Π definido por 04 =x
Os pontos do plano ( )0,,, 321 xxx∞Π definem direcções
paralelas a [ ]321 ,, xxx no espaço afim correspondente.
Cada plano intersecta o plano no infinito numa recta no infinito.
15
P
y
x
p
Y X
Z
f
[ ] [ ]
ZYfy
ZXfx
yxpZYXP
== ,
~;~
3. Projecção Perspectiva
Estas equações podem ser escritas em coordenadas projectivas :
=
=
10100000000
3
2
1
ZYX
ff
yx
µµµ
λλλ
A dificuldade reside no facto de os pontos Pno espaço 3D terem que ser medidos no referencial da câmara.
16
4. Parâmetros Intrínsecos
( )pixelsem
CykyCxkx
yyp
xxp
+=+=
'
'
Pode ser escrito em coordenadas projectivas :
intA é uma colineação afim de 2P em 2P .
=
=
3
2
1
int
'
'
1000
0
µµµ
λλλ
λλλ
A
yx
CkCk
yx
yy
xx
p
p px
py
y
x
Os parâmetros intrínsecos descrevem :
- Dimensão dos pixels da imagem
- Posição do ponto principal ou centro da imagem(intersecção do eixo óptico com plano de imagem),
Nas equações da projecção perspectiva, os pontos da imagem são expressos em unidades métricas e não no índice (inteiro) dos pixels. y [cm]
x[cm]
xp
yp
17
Com frequência, é preferível indicar as coordenadas dos pontos 3D relativamente a um referencial W que não o da câmara.
Oc
Ow
M
cM
wM
worldcâmara
Movimento rígido : Rotação, Translação
5. Orientação externa (parâmetros extrínsecos)
→Mc Ponto M expresso em c→w
cR Rotação w, c→w
cO Origem de w expressa em c
=
×
11
1 3
)33( ZYXw
O
OR
ZYXc
T
wcw
c
ww
wOcMRcMc +=
18
Juntando as equações anteriores (projecção, parâmetros intrínsecos, e extrínsecos) obtém-se o modelo completo.
6. Modelo de formação de imagem
=
110010000100001
1000
0
3
3
2
1
ZYX
trtrtr
CkfCkf
yx
W
z
y
x
yy
xx
p
p
rr
r
r
λλλ
Parâmetrosintrínsecos
Projecçãoperspectiva
Orientaçãoexterna
19
Multiplicando as matrizes anteriores obtém-se :
++++
=
13
32
31
ZYXw
trtCtSrCrStCtSrCrS
yx
z
zyyyyy
zxxxxx
p
p
4444 34444 21λλλ
é definida a menos de um factor de escala
fKSfKS
yy
xx
==
K - Parâmetros intrinsecos
R - Rotação entre o mundo a a câmara
T - Coordenadas no centro óptico noreferencial do mundo
6. Modelo de formação de imagem
[ ]RTRKP −=~
M
y
x
m
Y X
Z
f MPm ~~~=
P~P~
20
7. Calibração das câmaras
A matriz P~ encapsula a informação dos parâmetros intrínsecos e extrínsecos da câmara, bem como da projecção perspectiva. A calibração das câmaras consiste em estimar P~ .
Temos :
=
1~34333231
24232221
14131211
ZYXw
pppppppppppp
yx
P
p
p
4444 34444 21λλλ
P~ é definida a menos de um factor de escala. Podemos impôr : 134 =p
M
y
x
m
Y X
Z
f MPm ~~~=
21
Rearranjando vem :
1
1
333231
24232221
333231
14131211
++++++=
++++++=
ZpYpXppZpYpXpy
ZpYpXppZpYpXpx
p
p
Matricialmente :
=
−−−−−−
p
p
ppp
ppp
yx
p
ppp
ZyYyXyZYXZxYxXxZYX
33
13
12
11
1000000001
M
θ↑
11 incógnitas2 eqs. por ponto => mínimo 6 pontos para calibração
7. Calibração das câmaras
M
y
x
m
Y X
Z
f MPm ~~~=
22
7.1 Estimação de P~
Para um conjunto de N pares de pontos correspondentes temos o seguinte sistema :
Quando o sistema é Quando o sistema é sobredimensionado (N>11) sobredimensionado (N>11) podepode--se usar mínimos se usar mínimos quadrados. quadrados.
2N
eqs.11 incógnitas
−−−−−−−−
−−−−−−−−−−−−−−−−
=
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
M
MM
M
MMMMM
MMMMM
33
12
11
p
pp
Mθ b
( ) bMMM
bMMin
TTLS
LS
1
2
ˆ
ˆ
−=
−⋅=
θ
θθθ
Problemas com outliers → Estimação robusta de P~
M
y
x
m
Y X
Z
f MPm ~~~=
23
24
Quando temos as duas câmaras calibradas podemos reconstruir as coordenadas 3D de um ponto a partir das projecções homólogas.
=
λλλ
=
λλλ
1
~
1
~2
2
22
22
1
1
11
11
ZYXW
Pyx
ZYXW
Pyx
8. Reconstrução Tridimensional
Expandindo as equações temos :
11 333231
24232221
333231
14131211
++++++++++++++++++++++++====
++++++++++++++++++++++++====
ZpYpXppZpYpXpy
ZpYpXppZpYpXpx iii
iiii
iiii
iiii
j
LO
'm
M
RO
m
25
Matricialmente temos :
−−−−
=
−−−−−−−−−−−−
2242
2142
1241
1141
2233
2232
232
2222
231
221
2233
2132
232
2122
231
211
1133
1231
132
1221
131
121
1133
1131
132
1121
131
111
pypxpypx
ZYX
yppyppyppxppxppxppyppyppyppxppxppxpp
(pode-se usar Least Squares ou as 3 equações melhor condicionadas)
3 incógnitas
4 equações
LO
'm
M
RO
m
8. Reconstrução Tridimensional
26
9. A Linha EpipolarPlano Epipolar
Recta
epipolarRecta
epipolar
Epipolos
Le Re LO
'm
0M1M
2M3M
RO
Todas as rectas epipolares se intersectam nos epipolos. Os epipolos são as posições da imagem onde uma câmara "observa" a outra câmara.
a) Cálculo dos epipolos
MPmMPm RRLL~~~ , ~~~ ==
e considere-se
= RLRLRL pPP ,,,
~~
27
O centro óptico de cada câmara é o único ponto 3Dque não pode ser projectado no plano projectivode uma câmara.Assim, temos :
=
000
1~ ,,, RLRLRL
OwpP
O centro de projecção pode ser expresso em coordenadas globais:
RLRLRL pPOw,
1,,
~−−=
O epipolo resulta da projecção do centro óptico de uma câmara na outra câmara.
=
=
1~~;
1~~ R
LLL
RROw
PeOwPe
LO
'm
M
RO
m
a) Cálculo dos epipolos
28
Determinada o epipolo, basta conhecer um outro ponto da recta epipolar.
Da recta mO ~, já conhecemos O . Falta conhecer mais um ponto, porexemplo, o ponto no ∞ desta recta.
b) O cálculo da recta epipolar
µµµµ
=
4
3
2
1
~~
w
pPm
M~
m~
O
mPDPDm ~~ 1−∞∞ =⇔=
A projecção na outra câmara vem : [ ]
11
12
222
~0
~~
mPP
DpPm D
−
∞
=
=
Podemos considerar o ponto no infinito dessa recta ( )04 =µ .
ficando identificada a linha epipolar.
29
Imagens originais
Linhas epipolares
30
10. A matriz fundamental / essencial
Dado um ponto Dado um ponto mm11, na imagem 1, o seu correspondente, , na imagem 1, o seu correspondente, mm22, na imagem 2, tem que , na imagem 2, tem que estar sobre a linha epipolar.estar sobre a linha epipolar.
De me 22~~~ ×=µ
Recta epipolar (intersecção de dois pontos no plano projectivo):Recta epipolar (intersecção de dois pontos no plano projectivo):
[ ] 0)~(~~0~~~~
11
1222
22
=×⇔
=⋅⇒∈− mPPem
mmT
eT
eT µµRestrição
Epipolar
Dm2~
−=−
1
~~~ 11
122pPPe
Dm2~
: Epipolo na câmara 2: Epipolo na câmara 2
: Projecção na imagem 2 de um ponto no infini: Projecção na imagem 2 de um ponto no infinito queto quese projecta em se projecta em m1m1, na imagem 1., na imagem 1.
A recta epipolar é definida por:A recta epipolar é definida por:
31
10. A matriz fundamental / essencial
[ ] [ ] 0~)~(~0)~(~~1
112221
11222 =⇔=× −− mPPeSmmPPem TT
F
XTSXT ~)~(~~ ⋅=×
−−
−=
00
0)~(
12
13
23
tttt
ttTS
UsandoUsando
0~~12 =mFmT
Matriz fundamental Matriz fundamental –– tem tem 99 elementos e elementos e 88 incognitas,incognitas,sendo definida a menos de um sendo definida a menos de um factor de escala.factor de escala.
Recta epipolar Recta epipolar dede1~~ mFT
e =µ 1~m
32
A equação da restrição epipolar escreve-se :
[ ] 01
1 1
1
333231
232221
131211
22 =
yx
fffffffff
yxPara fixar o factor de escala, podemos impôr : 133 =f
10.1 Estimação de F a partir de correspondências
A equação pode ser reescrita como :
8 incógnitas + factor de escala
1 equação por par de pontos correspondentes
F pode ser estimada a partir de N ≥ 8 pares de correspondências entre duas imagens.Pode ser resolvido por SVD, impondo ||F||=1.
[ ] 0
32
31
11
112121221212 =
ff
f
yxyyyxyxyxxxMMMM
1
33
f
33
021 =Fmm T
10.1 Estimação de F a partir de correspondências
34
10.2 Reconstrução Não Calibrada
Pressupostos:
Escolhem-se 5 pontos ( 4 não co-planares) e admitimos que eles formam uma base projectiva standard em 3P
[ ]
=
11000101001001010001
~~~~~54321 MMMMM
- Foram determinadas pelo menos 8 correspondências entre 2 imagens
- A matriz essencial, F, foi estimada.
[ ]
MPm
mmmm
i~~~
110010101001
~~~~4321
=
=
λ
[ ]
MPm
mmmm
i~~~
110010101001
~~~~4321
′=′′
=′′′′
λ
Câmara 1 Câmara 2
2PAs projecções dos 4 primeiros pontos formam uma base projectiva standard em
35
a) Cálculo das Matrizes de Projecção
Temos:Usando os primeiros
4 pontos
=
=
1000010000100001
~
000000
~~~
43
42
41
PMPm iii
λλλλλλ
λ
43421)44( ×I
Usando agora o 5º ponto, teremos:
=
γβα
λλλλλλλ
5
43
42
41
1111
000000
O que resulta:
γλλλβλλλαλλλ
543
542
541
=+=+=+
E vem então:
~A B
~
−−
−+
=
110010101001
000000000
~45 λ
γβ
αλP
P P
Ou, fixando o factor de escala vem:
~~~BA PPP +=ξ
BA PPP ′+′′=′ ~~~ ξ
36
Falta calcular os parâmetros eξξξξ ξξξξ ′′′′
b) Cálculo dos epipolos
Com [ ]pPP ~~ = os centros de projecção das câmaras vêm : 0~ =CPT
C
−−−
= 11
11
11
1γξξξξβξξξξαξξξξ
T
C
′′−′′′′′−′′−
=′ 11
11
11
1ξξξξγξξξξβξξξξα
E os epipolos vêm: CPo ′=′ ~ CPo ′= ~e
[ ]WVUoT
′′′=
−−′′
−−′′
−−′′
=′ξξξξγγγγξξξξγγγγγξξξξ
ξξξξββββξξξξβββββξξξξ
ξξξξααααξξξξαααααξξξξ
111
[ ]WVUoT
=
′′−′′−
′′−′′−
′′−′′−=
γξξξξγξξξξξξξξγγγγ
βξξξξβξξξξξξξξββββ
αξξξξαξξξξξξξξαααα
111
Em coordenadas reais (não projectivas), os epipolos vêm:
γξξγγξ
βξβξξβ
γξξγγξ
αξαξξα
′′−′′−⋅
′′−′′−=
′′−′′−⋅
′′−′′−=
11
11
WV
WU
ξγγξξγ
ξβξββξ
ξγγξξγ
ξαξααξ
−′′−⋅
−−′′
=′′
−′′−⋅
−−′′
=′′
11
11
WV
WU
37
c) Determinação dos epipolos a partir das imagens
Tendo a equação da restrição epipolar vem: 0~~ =′ mFm T
0~ ====OF 0~ ====′′′′OFTe os epipolos verificam: e
Os epipolos podem então ser determinados directamente a partir da matriz fundamental minimizando:
1asujeitominarg 22 == OFOO O
(vector próprio unitário de com menor valor próprio)FFT
d) Cálculo de eξξξξ ξξξξ ′
Uma vez determinados os epipolos a partir de F, podemos usar as equaçõesem b) para calcular e , resultando:
ξξξξ ξξξξ ′
[ ] ( )( ) [ ]TWVUo
mmommWVU ′′′=′
′×⋅′′×⋅′′′
= γβαξ 5555
55~~
~~
( ) ( ) ( )( ) ( ) ( )γαββγααβγ
γαββγααβγξξ−′′′+−′′′+−′′′−′′+−′′+−′′
=′UWWVVU
UWWVVU
Calculados e , as matrizes e ficam determinadas e os pontos podem ser reconstruídos na base projectiva definida pelos primeiros 5 pares de pontos correspondentes.
ξξξξ ξξξξ ′ P~ P ′~
38
e) Via Algébrica
Uma outra forma de colocar o prblema da reconstrução não calibrada é o de encontrar duas matrizes de projecção que “produzam” uma dada matriz F determinada a partir de imagens. Essa decomposição não é única:
~~21,PP FSe
também HPHP 21~,~ F
Onde é uma colineação qualquer em que representa uma transformação de coordenadas projectivas qualquer.
H 3P
( ) 00,, ≥≥= srVsrdiagUF T
Faça-se (escolha do sistema de coordenadas da primeira câmara) : [ ] [ ]22221~;0~ tMMPIP −==
( )[ ]
−=
ℜ∈= +−
100001010
,,2
E
EVsrdiagUM TT γγ
[ ]TVt 1002 =
Os valores de e podem ser calculados de acordo com:2M 2t
Decomposição SVD de F:
39
Reconstrução Projectiva
40
Reconstrução Afim
• pode ser calculada a partir das imagens a partir de linhas paralelas ou pontos de fuga.
i∞H
41
Reconstrução Euclideana a partir de pontos conhecidos
• Calcular que mapeia para EuclideanoT~ T~P~P~ iProj
iEucl ⋅=
• Mínimo de 5 pontos com coordenadas Euclideanas conhecidas
T~
42
11. Procura de Pontos Conjugados (MATCHING)
O problema fundamental na visão stereo é o de localizar em duas ou mais imagens, pontos que sejam projecção do mesmo ponto 3D.
Métodos de Matching
Feature Matching- Cada imagem é sujeita a pré-processamento e extraiem-se características, tais como pontos de contorno, cantos, linhas rectas, regiões, etc
Area / Pixel Based- Assume-se que regiões de imagens que sejam correspondentes têm distribuições de brilho semelhantes. Tenta-se assim identificar regiões das duas imagens que sejam "parecidas" em termos de distribuição de brilho.
43
Se pontos conjugados têm níveis de brilho semelhantes então poderemos encontrá-los correlacionando regiões das duas imagens.
11.1 Matching por Correlação
SSD
x∆
y∆
opty∆
optx∆
( ) ( ) ( )[ ]2
,,,,, ∑ ∑−= −=
∆++∆++−++=∆∆M
Mi
N
NjRL yjyxixEjyixEyxyxSSD
(Sum of Squared Differences)
44
Medidas do Tipo Correlação
( )∑∑
∑ −=
22
21
221
1II
IIC
∑∑∑=
22
21
212
II
IIC Correlação Cruzada não-normalizada
Mean Square Difference não-normalizada
( ) ( )[ ]( ) ( )[ ] 2
1222
211
22211
3
∑∑∑
−−
−−−=
IIII
IIIIC
( )( )( ) ( )∑ ∑∑
−−
−−=
222
211
22114
IIII
IIIIC
Mean Square Differences normalizada
Correlação Cruzada normalizada
C3, C4 são robustas face a variação de brilhoC2 mais robusto que C1C1 sensível a variação de iluminação
45
Muito Pequena – A distribuição de brilho não será suficientemente descriminativa, dando origem a muitos falsos matches.
Muito Grande – Vai-se perder resolução uma vez que regiões da imagem com disparidades vão ser combinadas na mesma medida.
Hipótese : Matcher a vários níveis de resolução
Restrições
das baixas
para altas
resoluções
Redução
dimensão
imagem
Como escolher a dimensão da janela de matching?
46
Os métodos baseados em correlação têm problemas com falta de textura.
Pode-se tentar emparelhar apenas as regiões de uma imagem onde existem rápidas e marcadas variações de brilho, como nos pontos de contorno, cantos, etc, ...
O matching é feito com base numa medida de semelhança entre característicassemelhantes :
11.2 Feature Based Matching
( )Rj
Liii ffFF ,= L
if - feature i da imagem L
No caso de contornos, as características a comparar podem ser :
Devem-se considerar as características que estejam na linha epipolar.
• Intensidade
•Orientação
•Comprimento (segmentos de recta)
47
3D Reconstruction (results)
48
3D Reconstruction (results)
49
Aplicações: realidade aumentada)
50
Referências
O. Faugeras, “Three-Dimensional Computer Vision”, MIT Press 1993
B.K. Horn, “Robot Vision”, MIT Press, 1986
R. Jain, R. Kasturi, B. Schunck, Machine Vision, Mc Graw Hill & MIT Press 1995.
E. Trucco, A. Verri, Introductory Techniques for 3-D Computer Vision, Prentice-Hall, 1998.
Computer Vision HomePage -http://www.cs.cmu.edu/afs/cs/project/cil/ftp/html/vision.html)
Computer Vision On-line – (http://www.dai.ed.ac.uk/CVonline/)
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGALjasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
XI - Campo de Movimento
eFluxo Óptico
1
Movimento de objectos diante de uma câmara fixa
Câmara em movimento num ambiente estático
Os vectores e estão relacionados pela equação perspectiva
orr
irr
Zrr
fr
o
oiˆ⋅
= r
rr
movimento no plano de imagem!
trv o
∂∂=r
r0 t
rv ii ∂
∂=r
r
1. Campo de Movimento (Motion Field):
A velocidade, com que Po se desloca, induz a velocidade na imagem.
0vr
ivrP0f
irr
orr
tvo δr
tvi δr
ip
2
Diferenciando resulta:
( ) ( )( )
( )( )2
2
ˆ
ˆ
ˆ
ˆˆ
Zr
Zvrf
Zr
rZvvZrfv
o
oo
o
ooooi
⋅
××=
⋅
⋅−⋅=
r
rr
r
rrrrr
Relação entre velocidade 3D e a velocidade projectada na imagem.
Este movimento no plano da imagem chama-se o Campo de movimento (motion field)
P0f
irr
orr
tvo δr
tvi δr
ip
1. Campo de Movimento
3
2. Fluxo Óptico (Optical Flow) :
•O movimento aparente dos padrões de brilho na imagem designa-se por fluxo óptico (optical flow)
•Nem sempre coincide com o motion field:
4
C’C
pp’
t t + dt
Considerando o ponto p no instante t, qual será o ponto correspondente p’, no instante t+dt ?
Se o brilho não se tiver alterado, então o ponto estará sobre uma curva de isobrilho C’, correspondente a C.
2. Fluxo Óptico (Optical Flow) :
5
Definições:
)],(),([
),,(
),,(
yxvyxu
tttvytuxI
tyxI
δ+δ+δ+
Brilho (irradiância) no instante t
Irradiância em t+dt do ponto que ocupava a posição (x,y) no instante t.
Optical Flowtvytux
δ=δδ=δ
( ) ( )tyxItttvytuxI ,,,, =δ+δ+δ+
2.1 Hipótese do brilho constante:( )vu ,
2. Fluxo Óptico (Optical Flow) :
6
0=++ tyx IvIuI
( ) ( )
tII
yII
xIIcom
tItvItuItyxItttvytuxI
tyx
tyx
δδ=
δδ=
δδ=
δ+δ+δ+≈δ+δ+δ+
,,
,,,,
2.2 Restricção do Fluxo Óptico
Restricção do Fluxo Óptico
Esta equação impõe uma restricção nas componentes horizontal e vertical do fluxo óptico que é função das derivadas espaço-temporais de primeira ordem da imagem.
7
tyxtyx IvuIIIvIuI −=•⇔=++ ),(),(0
Fluxo Normal
2.3 Interpretação Geométrica : Fluxo Normal
A restricção fundamental do fluxo óptico consiste num produto interno os vestores de fluxo e gradiente espacial da imagem:
IIF
IvuI
vuvuvu
tn
t
∇=
−=⋅∇
+=
⊥
⊥
),(
),(),(),(
Fluxo Normal (Fn) - perpendicularaos contornos na imagem.
Componente do Fluxo com a direcção dos contornos da imagem
( )vu ,
Fn
F||
Problema da abertura
Com as derivadas de primeira ordem, apenas se pode determinar a componente do fluxo na direcção do gradiente da imagem: Fluxo Normal.
8
Exemplo cálculo Fluxo Normal
Imagem 1
Imagem 3
Imagem 2
9
Exemplo cálculo Fluxo Normal (cont.)
( )x
tyxII x δδ= ,, ( )
ytyxII y δ
δ= ,, ( )t
tyxIIt δδ= ,,
10
Exemplo cálculo Fluxo Normal (cont.)
Fluxo Normal:
( )22
,
yx
tytx
tn
IIIIII
II
IIF
+−=
∇∇⋅
∇=
r
11
Daqui resulta :
Ou, se considerarmos também a restricção de primeira ordem:
3. Cálculo do Fluxo Óptico Completo
3.1. Filtragem espacial do Fluxo Normal
3.2. Restricções de segunda Ordem
Restricção no gradiente da imagem: ( ) 00,, =
⇔=∇
y
xII
dtdtyxI
dtd
−=
yt
xt
yyyx
xyxxII
vu
IIII
−=
t
ytxt
y
yy
xy
x
yx
xx
I
II
vu
III
III
12
3.3. Regularização do Optical FlowO cálculo do optical flow é um problema mal-posto, não tendo solução única. Podem-se usar técnicas de regularização que permitem inserir conhecimento a priori sobre a solução(suavidade).
Funcional Estabilizadora (suavidade) ( ) ( ) ∫∫ +++=ΨI
yxyxs dxdyvvuu 2222
penaliza variações rápidas do fluxo, i.e sempre que o fluxo não é suave.
Funcional de Ajuste aos dados ( )∫∫ ++=ΨI
tyxd dxdyIvIuI 2
penaliza desvios à restricção fundamental do optical flow..
Funcional de custo completa
ds Ψλ+Ψ=Ψ Exprime um compromisso entre a o ajuste aos dados(observações) e restricções de suavidade.
( )( ) ytyx
xtyx
IIvIuIv
IIvIuIu
++λ=∇
++λ=∇2
2Pode-se escrever a equação de Euler correspondente
13
Solução no caso Discreto
No caso discreto poder-se-ia discretizar a equação de Euler e resolvê-la, ou minimizar uma versão discreta do funcional de custo. Assim temos:
( ) ( ) ( ) ( )[ ]
( )
∑∑ λ+=Ψ
++=
−+−+−+−= ++++
i jijij
tijyijxij
ijjiijjiijjiijjiij
DS
IvIuID
vvvvuuuuS
2
21,
2,1
21,
2,14
1
Suavidade
Ajuste aos dados
Total
( ) ( )
( ) ( ) ytklyklxklklkl
xtklyklxklklkl
IIvIuIvvv
IIvIuIuuu
++λ+−=∂
Ψ∂
++λ+−=∂
Ψ∂
22
22
Diferenciando em ordem a e obtém-se:klu klv
klkl vu ,
são médias locaisem conectividade 4.
14
Solução Iterativa:
( )
( ) yyx
tnkly
nklxn
klnkl
xyx
tnkly
nklxn
klnkl
III
IvIuIvv
III
IvIuIuu
221
221
1
1
+λ+
++−=
+λ+
++−=
+
+
E descontinuidades no Optical Flow ?
1, 4, 16 e64 iterações
15
4. Equações do Fluxo e Aproximação Planar
4.1 Equações do Campo de Movimento
Movimento rígido da câmara: T, W
Projecção Perspectiva
( )
( ) ( )
( )
( )
−−+
+−+
−
−=
z
y
x
z
y
x
xxyy
yxxy
TTT
y
x
yxZyxv
yxu
ωωω
2
2
1
1
10
01
,1
,
,
Velocidade Angular
Velocidade de Translação
Assumpções: ZYyZXxPTdtPd /;/ ==×−−=
rrrr
ω
Aproximação de superfície Planar ( ) YXZYXZ yx γ+γ+= 0,
( )yx
ZyxZyx γ−γ−
=1
, 0Inserindo as equações da projecção perspectiva, resulta:
4.2 Movimento Planar
16
Modelo Paramétrico Global
( )( ) 2
0
20
,
,
yvxyvyvxvvyxv
xuxyuyuxuuyxu
yyxyyx
xxxyyx
++++=
++++=
Parâmetros
xyxx
yyxy
zyx
y
xxZx
yx
vu
vuZ
Tu
ZTTu
ZTu
=
=
ω+
γ=
γ+=
ω−−=
0
0
00
ω+
γ−=
ω−γ=
γ+=
ω−
γ=
ω+−=
xzy
xx
yzx
xy
yyXy
zxy
x
xy
ZT
v
ZTv
ZTT
v
ZT
v
ZT
v
0
0
0
0
00
Simplificação desprezando os parâmetros de segunda ordem :Modelo Afim
( )( ) yvxvvyxv
yuxuuyxu
yx
yx
++=
++=
0
0
,
,
17
Equação fundamental do Fluxo Óptico
Modelo Afim
uI vI Ix y t+ = −
( )( )
u x y u u x u y
v x y v v x v yx y
x y
,
,
= + +
= + +0
0
4.3 Estimação dos parâmetros do Fluxo
Recursão Linear
[ ][ ]
=
=Θ
−=Θ
xnxnxnynynyn
xxxyyy
xxxyyy
Tyxyx
txxxyyy
yIxIIyIxII
yIxIIyIxIIyIxIIyIxII
M
uuuvvv
IyIxIIyIxII
MLLM
222222
111111
00
−=
tn
t
t
I
II
DM2
1
( )$Θ= −M M M DT T1
18
5. Recuperação de Estrutura e/ou Movimento
O campo de movimento encerra informação sobre a trajectória da câmara ao longo do tempo e da estrutura tridimensional das superfícies observadas.
Se o movimento da câmara fôr conhecido, então podemos resolver as equações do campo de movimento e calcular a profundidade, Z:
( )
( ) ( )
( )( )
ωωω
−−+
+−+
−
−=
z
x
x
z
y
x
xxyy
yxxy
TTT
y
x
yxZyxv
yxu
2
2
1
1
10
01
,1
,
,
Velocidade Angular
Velocidade de Translação
19
5.1. Movimento de Translacção e Foco de Expansão
Quando o movimento de rotação é nulo, as equações do campo de movimento têm uma forma mais simples:
( )
( ) ( )
−
−=
ZTyTxT
y
x
yxZyxv
yxu
10
01
,1
,
,
( )
=⇒==
z
y
z
x
TT
TTyxvu 0
Usando as equações anteriores pode-se calcular as coordenadas da imagem ondeo fluxo óptico é nulo:
FOE
Tr
O fluxo radia do Foco de Expansão (FOE)
Se determinarmos o FOE ficamos a saber a direcção de translacção da câmara!
20
5.2. Tempo-para-contacto
Quando só existe translacção da câmara, podemos interpretar a amplitude do fluxo de translacção a partir do Foco de Expansão.
( )FOEz
xxz xxZTz
TTx
ZTz
ZTxTu −=
−=−=
( )FOEz
yyz yyZTz
TT
yZTz
ZTyT
v −=
−=
−=
- Distância medida ao longo do eixo óptico dividida pela velocidade ao longo desse eixo. Exprime-se em unidades de tempo!
- TEMPO que levará a uma colisão se o movimento da câmara não se alterar.
- Calculado a partir do fluxo e do FOE.
- Com rotação e translacção simultâneas, a estimação do movimento e profundidade é mais difícil pois cada vector de fluxo contém ambos os tiposde contribuição.
Tempo-para-contacto
vyy
uxx
TZ FOEFOE
Z
−=−=
ZTZ
21
5.2. Tempo-para-contacto
XIII - Luminosidadee Côr
Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGALjasv@isr.ist.utl.pthttp://www.isr.ist.utl.pt/~jasv
1
13. Luminosidade e Côr
Para reconhecer um objecto ou medir propriedades interessantes, é necessário recuperar características tais como forma e reflectância.
O problema de recuperação da reflectância de uma superfície a partir do brilho de uma imagem, não é fácil, pois o brilho depende de muitos factores tais como a iluminação e, não apernas a reflectância. Através da estimação da reflectância de uma superfície através de imagens adquiridas com filtros seleccionados pode-se determinar a côr.
13.1 Reflectância: As experiências de Land
O brilho de um ponto na imagem é proporcional à reflectância do ponto correspondente do objecto. É ainda proporcional à quantidade de luz que cai sobre o objecto. No geral, pode ainda depender de outros factores tais como a orientação da zona de superfície a analisar.
2
Experiências de Land
I – Colocar numa sala várias folhas de cartolina com diversas intensidades de cinzento. As folhas mais escuras são colocadas em zonas mais claras da sala e vice-versa para as folhas mais claras. Com um fotómetro assegura-se que a quantidade de luz recebida pelo observador é sempre a mesma. Apesar disto, o observador não tem dificuldade em determinar a reflectância das diversas folhas.
II – Usando objectos de côr iluminados por luz colorida com fortes gradientes espaciais (fontes de luz montadas inclinadas). Usando duas fontes de luz com diferentes comprimentos de onda, gera-se uma situação em que a luz incidente varia dramaticamente em brilho e côr de um ponto da cena para outro. Com um fotómetro, equilibrar o brilho das diversas regiões da imagem, em diversas bandas do espectro. Contudo, elas não parecem iguais e os observadores conseguem indentificar as cores tão bem com em condições normais de iluminação.
As experiências de Land provam ser possível recuperar a reflectância das superfícies usando o brilho. (Land desenvolveu o RETINEX a 1D)
3
13.2 Imagens MondrianasPor simplicidade, supõe-se que a orientação das superfícies não é importante e que as cenas são formadas por objectos de reflectividade constante – Imagens Moldrianas – (Artista holandês (1872-1944).
Nesta situação a radiância da cena é proporcional à irradiância que incide sobre o objecto e à reflectância do objecto.
A irradiância da imagem, por sua vez é proporcional à radiância da cena.
Uma figura Mondriana consiste em secções de cor constantes. Iluminação não uniforme resultará numa imagem em que as secções não apresentam brilho constante.
4
321321321),(),(),( yxeyxryxb ′⋅′=′
Irradiância de um ponto da cena correspondendo ao pixel (x,y).
Reflectância do ponto da superfície correspondente ao pixel (x,y)
Irradiância do pixel da imagem (x,y).
A tarefa a desenvolver é recuperar a partir do seu produto.),( e ),( yxeyxr ′′
Modelo de Imagens Mondrianas
5
13.3 Recuperação da “Luminosidade”
Para recuperar r´ e e´ a partir do seu produto vai ser necessário incluir pressupostos a priori sobre o problema em análise.
Numa imagem Mondriana é razoável pressupor que:i) e´(x,y) está relacionado com a fonte de luz que incide sobre a
cena e é de esperar que varie suavemente de ponto para ponto na imagem.
ii) r´(x,y) é constante dentro de cada região da cena e apresenta descontinuidades importantes nos limites das regiões.
Idéia: Uma vez que apenas r´(x,y) tem componentes de alta frequência, pode-se tentar realçar os componentes de alta frequência da imagem e eliminar a baixa frequência.
6
Temos pois, basicamente que acentuar os contornos da imagem.
Para separar as contribuições da reflectância e irradiânciatomamos o logarítimo do brilho da imagem:
),(),(),( yxeyxryxb +=
′=′=′=
eerrbb
logloglog
com
13.3 Recuperação da “Luminosidade”
7
Usando o Laplaciano, o operador diferencial de menor ordem rotacionalmente simétrico vamos ter:
erbd 222 ∇+∇=∇=
∇2e vai ter valores finitos uma vez que e varia suavemente (podendo até ser nulo se e for linear).
∇2r, por outro lado é nulo em quase toda a imagem, sendo muitoelevado nas transições entre regiões onde apresenta um dupleto.
Se usarmos agora uma operação de threshold que elimina os valores baixos e mantenha apenas os dupletos vamos ter:
( ) rerTt 222 ∇=∇+∇=
13.3 Recuperação da “Luminosidade”
8
Resta agora, eliminada a contribuição de e, recuperar r.
No caso unidimensional r pode ser recuperado integrando o sinal thresholded.
O sinal assim recuperado não corresponderá exactamente à reflectância e assim chamar-lhe-emos l(x,y), luminosidade.
A luminosidade define-se assim como a estimativa da reflectância a partir do brilho da imagem. O logaritmo da luminosidade denota-se por l(x,y).
b
d
t
l
13.3 Recuperação da “Luminosidade”
9
13.4 Resolução do problema inverso
O problema é dado pela seguinte equação diferencial:
( ) ( )yxtyxlyx
,,2
2
2
2
=⋅
∂∂+
∂∂ Equação de Poisson
Para resolver esta equação diferencial eliptica pode-se tentar encontrar a função de Green correspondente q(x,y,ξ,η).
A solução vem então dada sob a forma de integral:
ηξηξηξ ddyxgtyxlR
),(),(),( −−⋅= ∫∫
10
No caso da região R se estender ao infinito, então o integral
∫ ∫∞
∞−
∞
∞−
−−⋅ ηξηξηξ ddyxgt ),(),( determinar g(.)
Tomando a transformada de Fourrier vem:
GTLgtl ×=⇒⊗=
mas, uma vez que t é o laplaciano de l ao qual corresponde uma função de transferência de vem:( ) 222 ρ−=+− vu
LGLLT 22 ρρ −=⇒−=
Transformada de Fourrier da função de Green2
1ρ
−=G⇔
11
Invertendo a transformada de Fourrier, vem:
( ) cyxyxg ++= 22log21),(π
Menos para 022 =+ yx onde c é uma constante arbitrária.
12
13.5 Normalização
•O logarítmo da luminosidade é calculado convoluindo o resultado da operação de threshold com g(x,y). Contudo, a componente DC do sinal foi completamente removida pelo Laplaciano. Este offset constante não poderá ser recuperado.
•Um offset em l(x,y) ⇒ factor multiplicativo em l´(x,y).
•A reflectância só vai ser recuperada a menos de um factor de escala.
•No limite, podemos ter uma superfície que reflicta toda a luz que incide sobre si, tendo reflectância unitária. Todas as outras superfícies têm reflectância inferior a 1 ou r(x,y) ≤ 0.
•Como normalização, soma-se a r(x,y) uma constante de forma a ter valor máximo 0. Se na imagem houver uma superfície de reflectância unitária, então a recuperação é perfeita.
13
13.6 Cálculo da Luminosidade: Caso discreto
No caso discreto a recuperação da luminosidade, pode ser feita através de técnicas algo diferentes.
O Laplaciano é calculado através da aplicação de uma máscara:
141
4-204
141
61
Para inverter a operação de realce dos contornos, havia que, no caso contínuo convoluir a imagem com a função de Green
( )22log21 yx +π
14
Pode-se optar por realizar uma aproximação discreta desta função. No entanto, uma aproximação discresta do inverso do Laplaciano, não será o operador inverso exacto de uma aproximação discreta do Laplaciano.
Pretendemos pois obter um operador tal que:
δ=⊗ fg (onde g é o operador Laplaciano)
Expandindo a convolução, vem:
( )( ) 0
420
1,11,11,11,1
1,,11,,1,
=++++
++++−
−+−−+−++
−−++
jijijiji
jijijijiji
fffffffff
para (i,j)≠(0,0)
( )( ) 6 420
1,11,11,11,1
1,00,11,00,10,0
=++++++++−
−−−−
−−
fffffffff
para (i,j)=(0,0)
15
Pode-se resolver assim de forma interativa estas equações determinando-se o operador inverso do Laplaciano discretizado:
( ) ( )nf
nf
nf
nf
nf
nf
nf
nf
nji jijijijijijijiji
fffffffff1,11,11,11,11,,11,,1 20
1511
, −+−−+−++−−+++++++++=+
Determinando o operador, convolve-se este com a imagem resultante do threshold do Laplaciano.
Outra hipotese é resolver iterativamente a equação que descreve a imagem após o threshold:
( )( ) jijijijiji
jijijijiji
trrrrrrrrr
,1,11,11,11,1
1,,11,,1,
6
420
=++++
++++−
−+−−+−++
−−++
( ) ( ) jinf
nf
nf
nf
nf
nf
nf
nf
nji trrrrrrrrr
jijijijijijijiji ,1
, 206
201
51
1,11,11,11,11,,11,,1−+++++++=
−+−−+−++−−++
+
Ou resolvendo iterativamente:
XIV - Mapa de ReflectânciaStereo fotométrico
Prof. José Santos-VictorInstituto de Sistemas e RobóticaInstituto Superior TécnicoLisboa, Portugal
jasv@isr.ist.utl.pt
1
Mapa de Reflectâncias - Stereo fotométrico
• Como depende o brilho de uma imagem da forma da superfície visualizada?
• Recuperação da forma de uma superfície a partir de imagens sob diferentes tipos de iluminação.
1. Estudo da formação de imagem: radiometria2. Inversão do processo → forma
Radiometria
Irradiância: quantidade de luz incidente numa superfície por unidade de área [w.m-2] A
P∂∂
Radiância: quantidade de luz emitida por uma superfície por unidade de área, por unidade de ângulo sólido [w.m-2.sr-1]
wAP∂∂
∂
2
Ângulo sólido de um cone de direcções – A área cortada pelo cone na esfera de raio unitário (um hemisfério → w=2π).
Ângulo sólido de uma região plana A a distância R da origem:
2
)cos(R
A θ=Ω
θ→ ângulo entre a normal à superfície e o raio R.
Acos(θ) → área “encolhida” pela perspectiva: área útil (foreshorted area).
nr
3
Formação da imagem
Analisar a relação entre a radiância de um ponto de um objecto e a irradiância do ponto correspondente na imagem.
ΩI - ângulo sólido correspondente a δI
2
)cos(
)cos(
=Ω
α
αδf
II
ΩO ângulo sólido ocupado por δO será:
2
)cos(
)cos(
=Ω
α
θδZ
OO
Atendendo à igualdade destes ângulos sólidos, que pertencem ao mesmo cone de direcções, vem: 2
)cos()cos(
⋅=
fZ
IO
θα
δδ
4
Determinemos agora a quantidade de luz que emitida pela superfície, atinge a superfície da lente. O ângulo sólido ocupado pela lente será:
)(cos24
)cos(
)cos(2 3
2
2
2
απ
α
απ
=
=Ω dZ
d
A potência emitida pelo objecto que atinge a lente será:
)cos()(cos4
32
θαπδδ ⋅⋅
⋅⋅⋅=
ZdOLP
radiância do objecto
5
Se admitirmos não haver perdas na lente, esta potência luminosa será concentrada na imagem. A irradiância E virá:
)cos()(cos4
32
θαπδδ
δδ ⋅⋅
⋅⋅⋅==
Zd
IOL
IPE
E usando a expressão de δO/δI vem: )(cos4
42
απ ⋅
⋅⋅=
fdLE
Concluíndo: 1: A irradiância da imagem é proporcional à radiância da cena.2: O factor de proporcionalidade depende da relação focal (f/d).3: Existe um factor que decai com cos(α) onde α é o ângulo
entre a normal da lente e a direcção de observação.
Questão seguinte:Como determinar a radiância da cena?De que forma depende da fonte de luz?
6
Função de Distribuição da Reflectância Bidireccional
A radiância de um objecto depende de:- quantidade de luz que cai sobre o objecto e da fracção que é reflectida. - geometria do processo de reflecção (direcção da luz incidente e
posição do observador).
(θi, φi) – direcção da luz incidente sobre uma superfície.(θe, φe) – direcção ao longo da qual a luz é emitida para o observador.
linha de referência
nr - normal à superfícieθ - ângulo polarϕ - azimute(θi, ϕi) – podem específicar uma qualquer
direcção.
7
Função de Distribuição da Reflectância BidireccionalDiz-nos quão brilhante uma superfície aparece vista de uma dada direcção com luz incidente da outra direcção. (BRDF)
δL(θe, φe) – radiância da superfície vista de (θe,φe)δE(θi, φi) – quantidade de luz incidente sobre a
superfície segundo a direcção (θi, φi).
),(),(),,,(
ii
eeeeii E
Lfφθδφθδφθφθ =
Em muitas superfícies, a radiância não é alterada se a superfície for rodada em torno da normal. Assim, f dependerá de (φe - φi) e não de φe e φi isoladamente.
Nalgumas superfícies com microestrutura isto não se verifica (e.g. penas de aves)
Tem-se ainda, decorrendo do equilíbrio térmico entre dois corpos, a condição recíproca de Helmholtz:
),,,(),,,( iieeeeii ff φθφθφθφθ =
8
Fontes de luz estendidas
•Até agora considerou-se que a luz era proveniente de uma única direcção.
• Normalmente a luz virá de várias direcções (várias fontes) ou de uma fonte estendida (como o céu).
Uma zona infinitesimal do céu com dimensão δθi no ângulo polar e δφi em azimute corresponderá um ângulo sólido dado por:
iii δφδθθδω ⋅⋅= )sin(
(ângulo sólido da regiãoobservada de frente)
9
Se E(θi, φi) for a radiância/unidade de ângulo sólido vindo da direcção (θi, φi), então a radiância da superfície em análise será (no ponto caracterizado pela normal n):
iiiiiE δφδθθφθ ⋅⋅⋅ )sin(),(
A irradiância total da superfície será:
∫ ∫−
⋅⋅⋅⋅=π
π
π
φθθθφθ2
00 )cos()sin(),( iiiiii ddEE
)cos( iθ exprime a compressão da região quando vista da direcção (θi, φi).
Para se calcular a radiância da superfície temos que introduzir a função de distribuição da reflectância bidireccional:
∫ ∫−
⋅⋅⋅⋅⋅=π
π
π
φθθθφθφθφθφθ2
0
)cos()sin(),(),,,(),( iiiiiieeiiee ddEfL
10
Propriedades da Reflectância das Superfícies
Uma superfície diz-se Lambertiana se aparece igualmente brilhante quando vista de todas as direcções e reflecte toda a luz incidente. A BRDF f(θi, φi ,θe, φe) será constante para toda a superfície. Qual o valor desta constante?
πφθφθ
θθπ
φθθθ
π
ππ
π
1),,,(
1)2sin(212
)cos()sin(
2
2
0
totalairradiânci
corpo do totalradiância
0
=⇔
=⇔
=⋅⋅⋅⋅⋅
∫
∫ ∫−
eeii
ee
eeee
f
df
EddEf444444 3444444 21
Uma vez que f é constante numa superfície Lambertiana, então a radiância pode ser calculada directamente a partir da irradiância:
01 ELπ
=(E0 é a irradiância total num ponto,
proveniente de uma fonte estendida)
11
Uma superfície especular caracteriza-se por reflectir toda a luz proveniente da direcção (θi, φi) na direcção (θi, φi+π). A BRDF é pois proporcional a δ(θe, -θi) δ(φe- φi-π). Qual a constante de proporcionalidade?
Integrando em todas as direcções de emissão para calcular a irradiância total e igualando à radiância vem:
)cos()sin()()(),,,(
ii
ieieeeiif
θθπφφδθθδφθφθ −−−=Logo:
1)cos()sin(
1)cos()sin()()(2
0
=⇔
=⋅⋅⋅⋅−−⋅−∫ ∫−
ii
eeeeieie dd
θθκ
φθθθπφφδθθκδπ
π
π
12
Calculando a radiância de uma superfície especular sob uma fonte estendida, vem:
),(),(
)cos()sin(),()cos()sin(
)()(),(2
0
πφθφθ
φθθθφθθθ
πφφδθθδφθπ
π
π
−=
⋅⋅⋅⋅−−−= ∫ ∫−
eeee
iiiiiiii
ieieee
EL
ddEL
•Estamos assim a olhar para uma réplica virtual da fonte de luz.
•Experimentalmente a BRDF pode ser obtida para um dado material usando dois goniómetros (dispositivos com dois eixos de rotação que permitem variar com rigor a orientação).
•1 goniómetro controla a direcção da luz incidente.•1 goniómetro controla posição (direcção) de observação.
13
Brilho de uma Superfície
Qual o brilho de uma superfície Lambertiana iluminada por uma fonte pontual de radiância E? A radiância da fonte localizada em (θs, φs) vem dada por:
)sin()()(),(
s
sisiii EE
θφφδθθδφθ −−⋅=
O sin (θs) é um termo de normalização para a radiância total ser E.
EddE iiiii =⋅⋅⋅∫ ∫−
π
π
π
φθθφθ2
0
)sin(),(
Usando a BRDF de uma superfície Lambertiana iramos ter neste caso:
)cos(1sEL θ
π=
(a dependência do ângulo de incidência cos(θs) advém do encolhimento da superfície quando vista da fonte de luz e é o mesmo termo que surge no cálculo da irradiância)
14
Qual a radiância de uma superfície Lambertiana sob um céu de radiância E uniforme?
EddEL iiii =⋅⋅⋅⋅= ∫ ∫−
π
π
π
φθθθπ
2
0
)cos()sin(
A radiância da superfície é a mesma da fonte.
Exemplo:
Sob um céu nebulado, um campo de neve apresenta muito pouco contraste, todos os pontos surgindo igualmente brilhantes. (sob uma iluminação pontual a forma de superfície seria relativamente fácil de distinguir)
15
Orientação de Superfícies
•Para quantificar a existência de várias fontes de luz temos que integrar a BRDF em todas as direcções possíveis obtendo-se uma função de 2 parâmetros apenas. A ideia agora é relacionar estes dois parâmetros com a orientação das superfícies.
•Para isso vamos deixar de usar o referencial local mas sim um sistema de coordenadas centrado no observador.
•Uma superfície suave tem um plano tangente em cada ponto. A orientação deste plano representa a orientação da superfície neste ponto.
16
Vamos descrever a superfície com sendo vista de um plano coincidente com a lente
A normal à superfície é perpendicular a quaisquer duas rectas no plano tangente à superfície.
O gradiente pertence ao plano tangente à superfície num dado ponto:
yyxZq
xyxZp
∂∂=
∂∂= ),( ),(
Por variações infinitesimais em x e y, z vai variar:2
1
eyqZexpZ
+∂=∂+∂=∂
Assim, a inclinação em x e y corresponde aos vectores:( )( )T
y
Tx
qr
pr
,1,0
,0,1
=
=
17
A normal à superfície pode, ser dada por: (sentido para fora)
[ ]Tyx qprrn 1,,−−=×= rrr
A normal unitária:( )
221
1
11,,qp
qpnnn
T
++−−== r
rr
Ângulo entre a normal à superfície e o eixo da lente (0,0,1):
2211)cos(
qpe
++=θ
Assumindo que as fontes de luz estão longe do objecto, relativamente à dimensão do objecto, a sua direcção pode ser especificada por um vector fixo (-ps,-qs,1)T ou apenas pelo gradiente equivalente (ps,qs).
Passaremos a assumir que o observador e as fontes de luz estão longe dos objectos visualizados.
18
Mapa de Reflectância
•Explicita a relação entre o brilho de uma superfície e a sua forma.
•Depende da reflectância da superfície e da distribuição das fontes de luz.
Seja uma fonte de radiância E, iluminando uma superfície Lambertiana:
0 , )cos(1 ≥= iiEL θθπ
Onde θi é o ângulo entre a normal à supefície e a direcção da fonte de luz. Usando o referencial centrado no observador temos (produto interno):
2222 111)cos(
ss
ssi
qpqpqqpp
++++++=θ
19
• A irradiância da imagem é proporcional através de uma série de constantes ao mapa de reflectâncias.
• Normalmente o mapa de reflectâncias é normalizado para tomar o valor 1 no seu máximo.
• No caso da superfície Lambertiana por uma fonte luminosa pontual distante:
2222 111),(
ss
ss
qpqpqqppqpR
++++++=
O mapa de reflectâncias descreve a dependência da radiância de um objecto da orientação da superfície.
Mapa de Reflectância
20
Se representarmos as curvas de nível:
( ) )1)(1(1 222222ssss qpqpcqqpp ++++=++
Pode ver-se que existe um máximo para (p,q)=(ps,qs). As curvas de nível são secções cónicas centradas neste ponto.
Superfície Lambertiana sob luz pontual: As curvas de nível são secções cónicas anichadas em torno do máximo que ocorre em (p,q)=(ps,qs).
Mapa de Reflectância
21
Outro tipo de superfície:
Seja uma superfície que radia igualmente em todas as direcções.
Seria então mais brilhante quando vista obliquamente uma vez que a mesma potência seria proveniente de uma área “encolhida”.
O brilho vai depender do inverso do coseno do ângulo de emissão e, tomando em conta ao encolhimento das regiões temos
)cos()cos(),(
e
iqpRθθ∝
2211)cos(
qpe
++=θ
2211),(
ss
ss
qpqqppqpR
++++=
com:
vem:
22
Neste caso as curvas de nível verificam:
2211 ssss qpcqqpp +++=++
Rectas perpendiculares a (ps,qs)!
Superfície que radia igualmente em todas as direcções (exemplo: material do
solo lunar?)
Outro tipo de superfície: Superfícies lustrosas
Duas reflexões: - Interface entre ar e o objecto.- Luz espalhada que penetra a superfície do objecto.
Se a superfície for lisa, a primeira reflexão é quase especular, caso contrário, tenderá a ter menor amplitude apresentando-se mais difusa. Um ponto de luz dará origem a um pico no mapa de reflectância e não apenas a um dirac.
23
Sombra nas Imagens (Shading)
Como varia o brilho numa imagem em virtude da forma do objecto visualizado?
! Idealmente, num poliedro a imagem consistirá de regiões poligonais de brilhouniformes uma vez que todos os pontos de cada face têm a mesma orientação.
! Numa superfície curva suave, o brilho vai apresentar variações motivadas pela variação da orientação da superfície sombra (shading).
! Infelizmente a sombra depende não apenas da forma do objecto mas também das propriedades da superfície e da distribuição das fontes de luz.
O mapa de reflectância capta a dependência do brilho com a orientação da superfície. O brilho da imagem (irradiância) E(x,y) é proporcional a R(p,q), onde (p,q) é o gradiente em (x,y). Abstraindonos da constante de proporcionalidade:
),(),( qpRyxE =
24
Exemplo:Considere-se o exemplo de uma esfera com superfície Lambertiana, iluminadapor uma fonte pontual, sensivelmente na mesma localização do observador:
Estando a direcção do observador coincidente com a direcção da iluminação, então )0,0(),( =ss qp
2211),(
qpqpR
++=
Estando a esfera no eixo óptico, a equação vem dada por
ryxyxrZZ ≤++−+= 222220 para )(
O gradiente vem dado por:00
ZZ
yqZZ
xp−
−=−
−=
Z=f(x,y)
25
( )r
ZZqp
qpR 0221
1, −=++
=
e vem:
2
22
1),(),(r
yxqpRyxE +−==
O brilho decai suavemente desde o centro até a periferia da imagem, sendo zero nos contornos.
É esta variação suave de brilho que nos permite concluir que estamos a olhar para uma superfície esférica.
26
Caso a esfera tivesse outras características de reflectância daria origem a uma imagem diferente.
2211),(
ss
ss
qpqqppqpR
++++=se e )0,0(),( =ss qp
Resulta um disco brilhante iluminado uniformemente. (o brilho é função de cos(θe)/cos(θi) com θe=θi. )
Esta esfera, iluminada de uma direcção próxima do observador, parece plana para um observador habituado a superfícies com características de reflectância próximas das superfícies Lambertianas.
É esta a razão porque a lua cheia parece plana manchada apenas por regiões onde varia a eficiência da reflectividade da superfície.
27
As superfícies apresentam propriedades de reflectância motivadas por dois termos:
• Termo Geométrico – dependendo dos ângulos de reflecção da luz
• Albedo – relacionado com a fracção de luz incidente que éreflectida pela superfície.
.
28
Sombras em gráficos
O mapa de reflectância pode ser usado para produzir gráficos sombreados
Para determinar o nível de cinzento de um pixel da imagem, considera-se o raio entre o observador e o ponto da superfície. Calcula-se o gradiente (p,q)e usa-se R(p,q) para determinar o brilho correspondente.
Uma vez que o número de níveis de cinzento a que a visão humana é sensível é limitado, não é necessário conhecer R(p,q) com grande precisão, podendo-se calcular uma tabela com os seus valores.
29
Stereo Fotométrico
O mapa de reflectância é util em gráficos por computador na síntese de imagens:
+Descrição de forma
Descrição de iluminação
A nós interessa-nos sobretudo o problema inverso.
No entanto:
1) Existe um mapeamento único da orientação da superfície (p,q) para radiância
2) O mapeamento inverso não é único. Inúmeras orientações de superfície podem corresponder à mesma radiância
Imagem
30
A recuperação da orientação apenas poderá ser determinada de forma única em alguns pontos, nomeadamente onde seja um máximo de R(p,q).
Uma superfície Lambertiana tem R(p,q)=1 apenas quando (p,q)=(ps,qs).
Para determinar p e q temos que introduzir mais restrições. Precisamos de duas equações para duas incógnitas: duas imagens obtidas com iluminação diferente fornecerão duas equações para cada ponto da imagem.
Se estas equações forem lineares e independentes, existirá uma solução única para (p,q).
2211 ),( , ),( EqpREqpR ==
Stereo Fotométrico
31
Exemplo (sup. Lambertiana , fonte de luz pontual):
1
111
1),(r
qqppqpR ++=2
222
1),(r
qqppqpR ++=
com: ( )21
21
211 1 qpr ++= ( )2
122
222 1 qpr ++=
Resulta: ( ) ( )2121
122221
21 11
pqqpqrEqrEp
−−−−= ( ) ( )
2121
212
11222 11
pqqpqrEqrEq
−−−−=
Desde que:
2
2
1
1
qp
qp ≠
32
Uma solução única pode ser calculada desde que as duas imagens tenham sido obtidas com direcções de iluminação diferentes (Stereo Fotométrico).
O erro no gradiente depende de (p1q2- q1p2) pelo que as fontes de luz deverão ter direcções o mais distintas possível.
Se as equações de R1, e R2 forem não lineares, então pode não haver solução ou ela não ser única.
21
21
22
111
11
1),(
qpqp
qqppqpR
++++
++=
22
22
22
222
11
1),(
qpqp
qqppqpR
++++
++=
Podem existir duas, uma ou zero soluções, dependendo dos valores de R1=R2.
Stereo Fotométrico
33
Usando mais do que duas condições de iluminação, pode-se melhorar o resultado. Nalguns casos as equações podem-se tornar lineares.
34
Frequentemente, as propriedades de reflectância de uma superfície não são uniformes.
No caso mais simples, a radiância é dada pelo produto de um factor de reflectância – o albedo – com outro termo dependente da orientação.
O albedo (entre 0 e 1) indica quanta luz é reflectida por uma superfície relativamente a uma superfiície ideal com a mesma dependência geométrica na BRDF.
Uma superfície mate pode ser modelada como uma superfície Lambertiana, exceptuando o facto de não reflectir toda a luz que sobre ela incide. O brilho seria ρ cos(θi), onde o albedo, ρ, pode variar de ponto para ponto.
Recuperação do Albedo
35
Para recuperar o albedo e o gradiente (p,q) necessitamos de três fontes de luz:
( )221
1,,
ii
Tii
iqp
qps++
−−=r e ( )nsE iirr ⋅= ρ i=1,2,3.
com( )
2211,,qp
qpnT
++−−=r
Com estas três equações pode-se obter:
[ ])()()()(
1323322321
321
ssEssEssEsss
n rrrrrrrrr
r ×+×+××⋅
=⋅ρ
O valor de ρ calcula-se obtendo o módulo do membro direito da equação.
Recuperação do Albedo
XV - Mapa de ReflectânciaShape from Shading
Prof. José Santos-VictorInstituto de Sistemas e RobóticaInstituto Superior TécnicoLisboa, Portugal
jasv@isr.ist.utl.pt
1
Mapa de Reflectância – Shape from Shading
No capítulo anterior foi referido o mapa de reflectância, a equação da irradiância da imagem, que foram utilizadas para a recuperação da orientaçãode superfícies usando imagens adquiridas em condições de iluminação (stereo fotométrico) controladas.
Será possível recuperar a forma de uma superfície usando o mapa de reflectância de uma única imagem?
Vamos considerar mapas de reflectancia: (i)lineares (mares lunares); (ii) rotacionalmente simétricos (microscópio eletrónico) e (iii) o caso geral
A equação da irradiância da imagem, E(x,y)=R(p,q) pode ser vista como uma equação diferencial não linear de 1ª ordem. Estas equações são normalmente resolvidas, num processo sequencial onde se fazem crescer faixascaracterísticas da solução.
2
Shape from Shading
• Como determinar a forma de uma superfície através de uma única imagem?
• Superfícies com diferentes orientações apresentam normalmente, níveis de brilho diferentes (shading).
•O shading, pode ser usada para estimar a orientação das superfícies.
•O conhecimento do brilho E(x,y)=R(p,q) apenas fornece uma restrição para o cálculo de (p,q). Restrições adicionais foram introduzidas, por exemplo, no stereo fotométrico, ao serem consideradas várias condições de iluminação.
• O ser humano consegue inferir a forma das faces reproduzidas em fotografias. Permitirá uma única imagem recuperar forma ou será que o ser humano assume implicitamente alguns pressupostos ...
•Muitas superfícies são suaves apenas apresentado descontinuidades nos contornos. Este é um forte pressuposto que implica que a orientação de regiões vizinhas não pode ser arbitrária.
3
Caso 1: Mapa de reflectância linear
Suponha-se que o mapa de reflectância é dado por: )(),( bqapfqpR +=
onde a, b são constantes e f é uma função estritamente monótona que admite inversa, f--1.
Temos então: ( )),(1 yxEfbqap −=+
O gradiente (p,q) não pode ser determinado por esta única restrição.
O declive da superfície Z(x,y), ao longo de uma direcção que faça um ângulo θcom o eixo dos xx é dado pela derivada direccional de Z(x,y):
)()sin()cos()( nZqpm r⋅∇=+= θθθ
4
Consegue-se calcular o declive da superfície ao longo desta direcção particular. Nada sabemos quanto ao declive da superfície na direcção perpendicular.
Se, ao longo da direcção θ 0 dermos um incremento δξ, irá ocorrer uma variação de Z dada por δZ=m δξ.
( )),(1 1
22yxEf
baddZ −
+=
ξonde
)sin()()cos()(
00
00
θξξθξξ
+=+=
yyxx
(1)
Partindo de um ponto (x0 , y0 , z0 ) pode-se integrar a equação diferencial:
( )( ) τττξξ
dyxEfba
ZZ ∫ −
++=
0
1
220 )(),(1)(Onde x(τ), y(τ) são as equações lineares (1).
Suponhamos agora que se escolhe uma direcção particular (θ 0) tal que tan (θ 0) = b/a. Então:
( )),(1)( 1
22220 yxEfbaba
bqapm −
+=
++=θ
5
É possível obter um perfil da superfície ao longo de uma direcção particular. O perfil denomina-se por curva característica.
Na prática recorre-se a integração numérica e, a menos que seja conhecida a distância do ponto inicial (Z0) apenas é possível recuperar a forma da superfície.
Este exemplo pressupõe que o mapa da reflectância é linear no gradiente e que corresponde, por exemplo, ao material dos mares lunares.
No caso geral (mapa de reflectância geral) também se procederá à integração ao longo de determinadas curvas na imagem. No entanto, estas curvas não serão linhas rectas previamente conhecidas neste caso.
Conhecendo um perfil da superfície que não seja paralelo à direcção, pode-se integrar ao longo de direcções partindo desta curva, reconstruindo toda a superfície.
6
Caso 2: Mapa de Reflectância Rotacionalmente Simétrico
Se a fonte de luz for distribuída de forma rotacionalmente simétrica em torno do observador, também o mapa de reflectância o será:(ex: céu esférico com o observador no topo) )(),( 22 qpfqpR +=
Se f for estritamente monótona e diferenciável com inversa f—1 vem:
( )),()( 122 yxEfqp −=+
A direcção da superfície com o máximo crescimento (steepest ascent) é especificada pela direcção do gradiente, θs :
++=
2222,)sin(),cos(
qpq
qpp
ss θθ
O declive nesta direcção será dado por:
( )),()( 122 yxEfqpm s−=+=θ
Nota: a partir da imagem, pode-se determinar o declive na direcção do gradiente (p,q) mas não adirecção em si (p,q).
7
• Caso conhecessemos a direcção (p,q) então:pq
s =)tan(θ
•Definindo:δξ - incremento na direcção θsδx, δy - incrementos correspondentes em x e y δξδ
δξδ
22
22
qpqy
qppx
+=
+=
• O declive de Z(x,y) viria ( ) δξδξδξδ ⋅=⋅+== − ),(122 yxEfqpmZ
• O problema ficava resolvido se conhecêssemos p e q. Como tal não acontece, temos que determinar novas equações que permitam caucular δp e δq.
• Usa-se agora
δξδξ ⋅+= 221 qp
( ) ( )
=+=
==
−1
11
221
1
),( δξδξδδξδδξδ
yxEfqpZqypx
8
• Definindo: 2
22
2
2
yZt
yxZs
xZr
∂∂=
∂∂∂=
∂∂=
• Temos ytxsqysxryypx
xpp δδδδδδδδ +=+=
∂∂+
∂∂= ;
• Usando
==
1
1
δξδδξδ
qypx vem ( )
( ) 1
1
δξδδξδ
qtpsqqsprp
+=+=
( )22),( qpfyxE +=• Usando a equação de irradiancia da imagem
• Calculando ogradiente da imagem
( )( ) fqtpsE
fqsprE
y
x
′+=′+=
22
ssff
∂∂=′ )(com
ou ainda:
1
1
2
2
δξδ
δξδ
fE
q
fEp
y
x
′=
′=
!!! Consegue-se calcular δp e δq a partir do gradiente da imagem!
9
pxx ==∂∂
&ξ
qyy ==∂∂
&ξ
22 qpZZ +==∂∂ &ξ
fEpp x
′==
2&
δξδ
fE
qq y
′==
2&
δξδ
Resolvendo o sistema de equações diferenciais ao longo das curvas características vai-se construindo a solução. (curva do steepest ascent) (São curvas normais às curvas de nível do gradiente)
Com δξ1 → 0 obtém-se o sistema de equações diferenciais:
Solução com Mapa de Reflectância rotacionalmente simétrico
10
Caso 3: Situação Geral
No caso geral, admita-se que se conhecem as coordenadas de um ponto específico e deseja-se estender a solução para outros pontos. Tomando um incremento (δx,δy) vem:
A equação da irradiância da imagem, contudo, apenas fornece uma única equação, não sendo possível determinar p e q.
yqxpZ δδδ += yZq
xZp
∂∂=
∂∂= ,
11
Hipótese: Conhecemos (x,y) e (p,q) nesse ponto.Problema: Estender a solução a outros pontos.
( )( )ytxsq
ysxrpδδδδδδ
+=+=
∂∂=
∂∂∂=
∂∂∂=
∂∂=
2
22
2
2
2
yZt
yxZs
yxZs
xZr
Ou seja:
=
yx
Hqp
δδ
δδ H – matriz Hessiana (2ª derivada)
Usando a equação do gradiente da imagem tem-se:
=
⇔
+=+=
q
p
y
x
qpy
qpx
RR
HEE
tRsREsRrRE
de novo a matriz Hessiana!
12
Problema: não conseguimos calcular o Hessiano?!
Apenas possuimos duas equações em r, s, t. Temos pois que escolher uma direcção que permita o cálculo. Suponha-se que se escolhe a direcção:
δξδδ
=
q
p
RR
Hyx
ou δξδδ
=
y
x
EE
qp
δξδδ
δδ
=
=
q
p
RR
Hyx
Hqp
Uma deslocação no plano da imagem feita paralelamente ao gradiente de R(p,q) permite o cálculo da variação em (p,q).
A variação no espaço (p,q) tem a mesma direcção do gradiente de imagem (Ex, Ey).
13
∂∂=ξxx&
Caso 3: Solução caso Geral
qp
q
p
qRpRzRyRx
+=
=
=
&
&
&
y
x
EqEp
==
&
&
14
Curvas Características e Bases Características
As curvas traçadas pelas equações diferenciais no espaço de dimensão s das equações diferenciais são chamadas curvas características. As suas projecções na imagem são chamadas bases características.
15
Espaço imagem versus Espaço gradiente (p,q)
16