VII – Detecção de Contornos -...

92
1 VII – Detecção de Contornos Prof. José Santos-Victor Instituto Superior Técnico Instituto de Sistemas e Robótica Lisboa - PORTUGAL [email protected] http://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.

Transcript of VII – Detecção de Contornos -...

Page 1: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

1

VII – Detecção de Contornos

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL

[email protected]://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.

Page 2: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 3: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 4: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 5: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 6: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 7: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 8: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

( 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

Page 9: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 10: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 11: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

21

Operador Marr-Hildreth

σ=1

Sobel

Operador Marr-Hildreth

σ=2

Laplaciano

22

0=σ 1=σ

3=σ 6=σ

Page 12: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 13: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 14: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 15: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

VIII – Transformada de Hough

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL

[email protected]://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.

Page 16: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 17: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 18: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 φφ −

Page 19: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

IX – Transformação de Histograma

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL

[email protected]://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

Page 20: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 21: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

Equalização de Histograma

Equalização de histograma

Page 22: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

X - Reconstrução Stereo e

Fotogrametria

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - PORTUGAL

[email protected]://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

Page 23: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 =−∆ ''

Page 24: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 ~~~~ ∧= ρ

Page 25: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 26: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

9

2.1 Propriedades de 1P

[ ]Tm 21~~ µµ

Ponto no infinito:

1x 2x

[ ]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

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

Page 27: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 28: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 29: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 30: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 31: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 ~~~=

Page 32: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 ~~~=

Page 33: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 34: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 ,,,

~~

Page 35: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 36: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 37: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 38: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 39: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 40: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 41: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 42: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 43: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 44: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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)

Page 45: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

47

3D Reconstruction (results)

48

3D Reconstruction (results)

Page 46: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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/)

Page 47: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - [email protected]://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

Page 48: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 49: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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) :

Page 50: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 51: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 δδ= ,,

Page 52: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 53: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 54: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 55: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 56: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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!

Page 57: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 58: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

XIII - Luminosidadee Côr

Prof. José Santos-VictorInstituto Superior Técnico Instituto de Sistemas e RobóticaLisboa - [email protected]://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.

Page 59: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 60: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 61: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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”

Page 62: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

),(),(),( −−⋅= ∫∫

Page 63: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

−=G⇔

11

Invertendo a transformada de Fourrier, vem:

( ) cyxyxg ++= 22log21),(π

Menos para 022 =+ yx onde c é uma constante arbitrária.

Page 64: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 +π

Page 65: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 66: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

XIV - Mapa de ReflectânciaStereo fotométrico

Prof. José Santos-VictorInstituto de Sistemas e RobóticaInstituto Superior TécnicoLisboa, Portugal

[email protected]

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∂∂

Page 67: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

θα

δδ

Page 68: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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?

Page 69: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 φθφθφθφθ =

Page 70: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 71: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

θθκ

φθθθπφφδθθκδπ

π

π

Page 72: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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)

Page 73: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 74: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 75: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 76: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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:

Page 77: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 =

Page 78: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 79: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

.

Page 80: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 81: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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 ≠

Page 82: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 83: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 84: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

XV - Mapa de ReflectânciaShape from Shading

Prof. José Santos-VictorInstituto de Sistemas e RobóticaInstituto Superior TécnicoLisboa, Portugal

[email protected]

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.

Page 85: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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⋅∇=+= θθθ

Page 86: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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.

Page 87: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 88: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

Page 89: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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!

Page 90: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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

==

&

&

Page 91: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

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)

Page 92: VII – Detecção de Contornos - ULisboausers.isr.ist.utl.pt/~jasv/visao-leic/SMCV02-03chap7-15.pdf · 17 Considerando ambas as máscaras com ( .2) 3 1 ( 1) 3 2 L. + L Resulta na

16