• Nenhum resultado encontrado

VII Detecção de Contornos

N/A
N/A
Protected

Academic year: 2021

Share "VII Detecção de Contornos"

Copied!
92
0
0

Texto

(1)

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

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.

(2)

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.

(3)

5

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.

(4)

7

7.2 Operadores Diferenciais e Detecção de Contornos

1

B

2

B

Considere-se a seguinte imagem:

=

<

=

>

=

µ

τ

τ

δ

τ

τ

τ

τ

µ

-(x)dx

)

(

;

0

,

0

0

,

2

1

0

,

1

)

(

Função escalão: Recta contorno:

0

)

cos(

)

sin(

θ

y

θ

+

ρ

=

x

Imagem:

(

,

)

(

)

(

sin

cos

)

1 2 1

B

B

µ

x

θ

y

θ

B

y

x

E

=

+

Podemos calcular o gradiente da imagem:

) cos sin ( ) ( cos ) , ( ) cos sin ( ) ( sin ) , ( 1 2 1 2 ρ θ θ δ θ ρ θ θ δ θ + − − − = ∂ ∂ + − − = ∂ ∂ y x B B y y x E y x B B x y x E

São operadores direccionais pois a amplitude da resposta depende da direcção (θ) do contorno. T

y

y

x

E

x

y

x

E

y

x

E

=

(

,

)

(

,

)

,

(

,

)

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:

[cos

θ

,

sin

θ

]

]

cos

,

[sin

θ

θ

x x E ∂ ∂ ( ) ) (x E

(5)

9

7.3. Operadores Rotacionalmente Simétricos

[

]

2 1 2 2 2 ) cos sin ( ) ( −

δ

θ

θ

+

ρ

=       ∂ ∂ +       ∂ ∂ y x B B y E x E

É um operador não linear, rotacionalmente simétrico, que processa de igual forma os contornos de qualquer direcção.

a) Gradiente quadrado b) Laplaciano 2 2 2 2 2

)

,

(

y

E

x

E

y

x

E

+

=



+

=

+

=

θ

ρ

θ

θ

δ

θ

ρ

θ

θ

δ

2 1 2 2 2 2 1 2 2 2

cos

)

cos

sin

´(

)

(

sin

)

cos

sin

´(

)

(

y

x

B

B

y

E

y

x

B

B

x

E

δ´(⋅) - doublet (derivada do divac)

)

cos

sin

´(

)

(

2 1 2

=

δ

θ

θ

+

ρ

E

B

B

x

y

(6)

11 c) Variação quadrática ) cos sin ´( ) ( cos sin 2 1 2

ρ

θ

θ

δ

θ

θ

− − + − = ∂ ∂ ∂ y x B B y x E Variação quadrática:

[

]

2 1 2 2 2 2 2 2 2 2 2

)

cos

sin

´(

)

(

2

ρ

θ

θ

δ

+

=

=





+









+





y

x

B

B

y

E

x

y

E

y

x

E

x

E

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

7.4 Aproximações Discretas

Ei, j+1 Ej+1, j+1 Ei, j Ei+1, j a) 1ªsDerivadas

[

]

[

(

)

(

)

]

2

1

)

,

(

)

(

)

(

2

1

)

,

(

, 1 , , 1 1 , 1 , , 1 1 , 1 , 1 j i j i j i j i j i j j j i j i

E

E

E

E

j

i

y

E

E

E

E

E

j

i

x

E

+

=

+

=

+ + + + + + + +

ε

ε

ε→

Espaçamento da grelha.

Uma vez que a imagem está definida num domínio discreto, há que discretizar os operadores diferenciais a utilizar.

(7)

13 b) 2ªsDerivadas     ∂ ∂ − + ∂ ∂ ⋅ = ∂ ∂ ) ( ) 1 ( 1 2 2 x x E x x E x E

ε

[

(

)

(

)

]

1

, 1 , , , 1 2

E

x+ y

E

x y

E

x y

E

xy

=

ε

[

E

x 1,y

E

x,y

E

x 1,y

]

2

2

1

− +

+

=

ε

]

2

[

1

1 , , 1 , 2 2 2 − +

+

=

y x y x y x

E

E

E

y

E

ε

] [ 4 1 1 , 1 1 , 1 1 , 1 1 , 1 2 2 − + + − + + − − + − − = ∂ ∂ ∂ y x y x y x y x E E E E y x E

ε

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

[

Ex y Ex y Ex y Ex y

]

x E , , 1 1 , 1 , 1 2 1 + = ∂ ∂ + + + +

ε

2ε 1

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

(8)

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 1 1 1 -1 -2 -1 1 2 1 -1 -1 1 1 x E ∂ ∂ y E ∂ ∂ || || EE ∠∇ : Intensidade do contorno : Direcção normal ao contorno

Prewitt Sobel Isotrópico 2 − 2 − 2 2 b) O Laplaciano ] 4 [ 1 , 1 , 1 , , 1 , 1 2 2 2 2 2 2 y x y x y x y x y x E E E E E y E x E − + + + = ∂ ∂ + ∂ ∂ = ∇ + + ε 2

1

ε

( L.1)

Se pretendermos usar os pixels das diagonais, podemos considerar uma rotação dos cixos de 45º (x´, y´). ) 2 ( 2 1 ´2 2 1, 1 , 1, 1 2 − − + + − + = ∂ ∂ y x y x y x E E E x E ε ) 2 ( 2 1 ´2 2 1, 1 , 1, 1 2 − + + − − + = ∂ ∂ y x y x y x E E E y E ε 2 2 1 ε ( L.2) 1 1 -4 1 1 1 1 -4 1 1

(9)

17

Considerando ambas as máscaras com

)

2

.

(

3

1

)

1

(

3

2

L

L.

+

Resulta na máscara frequentemente usada para o Laplaciano.

2 6 1 ε 1 4 1 4 -20 4 1 4 1

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 2 2 2 2 2 1 ) , ( σ

πσ

y x e y x G + =

É separável em duas convoluções unidimensionais

ξ

η

η

ξ

η

ξ

ξ

η

ξ

η

ξ

y

I

d

dy

G

x

G

y

I

d

d

x

G

∫ ∫

+∞ ∞ − +∞ ∞ − −∞ ∞ + ∞ ∞ −

=

,

)

(

,

)

(

)

(

)

(

,

)

(

(10)

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 σ Gaussiana 2 2 2 2 2 2 1 ) , ( σ

πσ

y x e y x G + − = 2 2 2 2 6 2 2 2 2 2 )) , ( ( σ

πσ

σ

y x e y x y x G Lap + − − + =

É necessário cuidado ao discretizar estas máscaras. O volume coberto pela gaussiana deve ser 1 e o volume coberto pelo ∇2G deve ser .

(11)

21 Operador Marr-Hildreth σ=1 Sobel Operador Marr-Hildreth σ=2 Laplaciano

0

=

σ

σ

=

1

3

=

σ

σ

=

6

(12)

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 normal r verso ) , ( ) , ( Seja 2 2 y x O y x E y x G n y x O y x E y x E n σ r r 2 2

)

,

(

n

y

x

G

r

Implementação Edirecçã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.

(13)

25 Interpolação Int. bilinear

= = = 4 1 4 1 1 ) ( ) , ( i i i i i d d P f y x f 2 2 ) ( ) ( i i i x x y y d = − + −

Necessários valores de brilho fora da grelha de imagem! 5 1 3 1 6 3 1 4 2 x x dir.grad. Pi Pi+1 Pi+2 Pi+3 (x,y) Exemplos:

(14)

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.

(15)

VIII – Transformada de Hough

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

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.

(16)

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

r y

xcos(θ)+ sin(θ)=

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.

      n n n r r r α φ α φ α φ 2 2 2 1 1 1 M M

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 φ α φ α r y y r x x c c + = + = ++ ) , (xc yc A

(17)

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. 2 2 mod ) ( ) ( ) ( ) ( ,

π

π

φ

φ

− < > > j i j i j i x x T x S T x S n n     j i i n n n , : Arcos : Nós por o constituíd é grafo Um

(18)

8.3 Algoritmos de Procura Heurística

(Nilson 1971,80) (Martelli,1972)

Definir:

• Caminho entre dois pontos de contorno xAe xB.

• Heurística para criação de nós sucessores (do tipo xA, xBsã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)

(

Ms(x)

)

[

(xi) (xj)

]

(19)

IX – Transformação de Histograma

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

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

(20)

Tenta-se agora determinar a transformação da variável aleatória ppor forma a apresentar a densidade de probabilidade de q.

)

(

)

(

s

ds

H

p

h

w

p o p

=

=

)

(

)

(

s

ds

G

q

g

w

q o q

=

=

é uma variável aleatória com dist. uniforme enter 0 e 1.

Tendo: Hp(p)=Gq(q) Podemos ter:

Explicita como calcular qem função de ppor forma a qter a distríbuicão desejada.

[

( )

]

1 p H G q= qp Normalização de Histograma M q g( )= 1 M q q Gq( )= My y Gq = − ) ( 1 vem ds s h M q P ) ( 0

=

= P ds s Hist N M q 0 2 .( ) q h(p) g(q) p

h(p)dq

Nesta situação pretende-se que g(q)seja uniforme

Imagem N x N M níveis de cinzento

(21)

Equalização de Histograma

(22)

X - Reconstrução Stereo e

Fotogrametria

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

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.

(23)

3 Consiste em determinar a forma de um objecto com imagens

de várias câmaras cuidadosamente colocadas.

Pontos correspondentesou 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

1.1. Disparidade entre duas imagens

f r xl x′ ) , (X Z P X Z Z b X f r x Z b X f l x 2 ; 2 ′ = − + − = ′ Disparidade (d): d f b z =

Consideram-se duas câmaras, alinhadas com os eixos ópticos paralelos,separadas por uma distância b - baseline.

z f b x x dlr= ' '

(24)

5 A disparidade é uma diferença de

coordenadas da imagem. Está sempre limitada pela resolução das imagens usadas.

1.2 - Sensibilidade

( )

( )

d d f b z d d d z z d f b d z δ × − ≈ δ ⇔ δ ∂ ∂ ≈ δ ⇔ × = 2 ou ainda : d z d f b z z

δ

α

δ

δ

2 2 = × − ≈

Num setup stereo paralelo, a incerteza na recuperação de z, cresce com o quadrado da distância

[ ]

m z δ

[ ]

m z 0 z

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

2. Geometria Projectiva

i) é um espaço projectivo de dimensão n. Um ponto de é dado por: Pn Pn

[

]

T n

x

x

x

1

,...,

1

~

+

=

ii) Dois vectores e representam o mesmo ponto

sse

[

]

T n x x x 1,..., 1 ~ + =

[

]

T n y y y 1,..., 1 ~ + =

0

,

~

~

x

=

λ

y

λ

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 n

P

P

n ) 1 1 (n+ ×n+ A y x ou y x A~=ρ~ ~∧~

(25)

7

iv) Uma base projectiva em é definida por n+2 vectores de

, dos quais n+1 são linearmente independentes.

n

P

n

P

v) Entre duas bases projectivas existe uma única

collineation definida a menos de um factor t.q. :

{ } { }

x ,i yi

2

1

+

ρ

=

y

i

n

Ax

i i i

2. Geometria Projectiva

Ordem

Euclideano Projectivo

1 x∈ℜ

[

]

[

]

T T x m λ λ µ µ1 2 ~ (Linha projectiva) 2

( )

2 ,y ∈ℜ x

[

[

]

]

T T y x m λ λ λ µ µ µ1 2 3 ~ (Plano projectivo) 3

(

)

3 , ,y z ∈ℜ x

[

]

[

]

T T z y x m λ λ λ λ µ µ µ µ1 2 3 4 ~ (Espaço projectivo) Com frequência, existe vantagem em considerar o espaço Euclideano embebido num espaço projectivo.

2. Geometria Projectiva

(26)

9

2.1 Propriedades de

P

1

[

]

T

m

~

~

µ

1

µ

2 Ponto no infinito: 1 x x2 2 µ 1 µ

[

2

]

2 2 1 µ µ (ponto no ∞∞∞∞) (espaço afim)

[ ]

1 2 1 1 µ µ x 1

Visualização de como e sua relação com P1 ℜℜℜℜ2 ℜℜℜℜ

2 1 µµ = x ) 0 (µ2 =       0 1 µ

não singular, definida a menos de um factor de escala Pontos: Collineation:

u

t

s

r

2.2 Propriedades de

P

2 Pontos : 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 ~ ~ ~ ~ 3 2 1 3 2 1 = µ ⋅ µ µ µ = µ = T m x x x m 0 : ~ ~ ~ ~ ~ ~ ~ ~ 3 2 1 2 1 = µ µ × µ × = µ ∞ x m m m [µ1 µ2 µ3] µ~∞ (−µ21,0) 1 x 3 x 2 x 2 1 ~ ~ m m ×××× 1 ~ m 2 ~ m 2 P 1 P

(27)

11

Transformações Afins do plano

b

Bx

x

'

=

+

m

'

=

λ

Am

1

0

~

B

b

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           33 32 31 23 22 21 13 12 11 t t t t t t t t t 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 23 22 21 13 12 11 0 0 t t t t t t t 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                 1 0 0 22 21 12 11 y x t t r r r r s

ratio de comprimentos, ângulos, ratio de áreas grupo Euclideano do plano 3           1 0 0 22 21 12 11 y x t r r t r r

(28)

13 3

P

Pontos : m~=

(

x1,x2,x3,x4

)

não simultaneamente nulos e a menos de um factor de escala

Planos : ~µ=(µ1234)

Eq. do plano : m~Tµ=0 (dualidade pontos-planos)

Recta :conjunto de pontos linearmente dependentes de 2 outros:

2.3 Propriedades de

2 1

~

~

~

m

m

m

=

α

+

β

Plano no

:

Π

definido por

x

4

=

0

Os pontos do plano Π (x1,x2,x3,0) definem direcções paralelas a [x1,x2,x3] no espaço afim correspondente. Cada plano intersecta o plano no infinito numa recta no infinito.

(29)

15 P y x p Y X Z f

[

]

[ ]

Z Y f y Z X f x y x p Z Y X P = = , ~ ; ~

3. Projecção Perspectiva

Estas equações podem ser escritas em coordenadas projectivas :                       =           =           1 0 1 0 0 0 0 0 0 0 0 3 2 1 Z Y X f f y x µ µ µ λ λ λ

A dificuldade reside no facto de os pontos P no espaço 3D terem que ser medidos no referencialda câmara.

4. Parâmetros Intrínsecos

(

em pixels

)

C y k y C x k x y y p x x p     + = + = ' '

Pode ser escrito em coordenadas projectivas :

int

A é uma colineação afim de P2 em P2.

          =                     =           3 2 1 int ' ' 1 0 0 0 0 µ µ µ λ λ λ λ λ λ A y x C k C k y x y y x x p p xp p y y x

Os parâmetros intrínsecos descrevem : -Dimensão dos pixelsda 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

(30)

17 Com frequência, é preferível indicar as coordenadas dos pontos 3D relativamente a um referencial {W} que não o da câmara.

O

c

O

w M c M w M {world} {câmara}

Movimento rígido : Rotação, Translação

5. Orientação externa (parâmetros extrínsecos)

M c Ponto M expresso em {c}w cR Rotação {w, c}w cO Origem de {w} expressa em {c}                       =             × 1 1 1 3 ) 3 3 ( Z Y X w O O R Z Y X c T w c w c w w w O c M R c M c = +

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

=

1

1

0

0

1

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

3 3 2 1

Z

Y

X

t

r

t

r

t

r

C

k

f

C

k

f

y

x

W z y x y y x x p p

r

r

r

r

λ

λ

λ

Parâmetros intrínsecos Projecção perspectiva Orientação externa

(31)

19 Multiplicando as matrizes anteriores

obtém-se :                       + + + + =           1 3 3 2 3 1 Z Y X w t r t C t S r C r S t C t S r C r S y x z z y y y y y z x x x x x p p 4 4 4 4 3 4 4 4 4 2 1 λ λ λ

é definida a menos de um factor de escala

f K S f K S y y x x = = K - Parâmetros intrinsecos

R - Rotação entre o mundo a a câmara T - Coordenadas no centro óptico no

referencial do mundo

6. Modelo de formação de imagem

[

R

RT

]

K

P

~

=

M y x m Y X Z f

m

~

=

P

~

M

~

P~ P~

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

~ 34 33 32 31 24 23 22 21 14 13 12 11

Z

Y

X

w

p

p

p

p

p

p

p

p

p

p

p

p

y

x

P p p

4

4

4

4

3

4

4

4

4

2

1

λ

λ

λ

P~ é definida a menos de um factor de escala. Podemos impôr : p34 =1

M y x m Y X Z f

m

~

=

P

~

M

~

(32)

21 Rearranjando vem : 1 1 33 32 31 24 23 22 21 33 32 31 14 13 12 11 + + + + + + = + + + + + + = Z p Y p X p p Z p Y p X p y Z p Y p X p p Z p Y p X p x p p Matricialmente :       =                       − − − − − − p p p p p p p p y x p p p p Zy Yy Xy Z Y X Zx Yx Xx Z Y X 33 13 12 11 1 0 0 0 0 0 0 0 0 1 M θ↑ 11 incógnitas

2 eqs. por ponto

=> mínimo 6 pontos para calibração

7. Calibração das câmaras

M y x m Y X Z f

m

~

=

P

~

M

~

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

pode--se usar mínimos se usar mínimos quadrados. quadrados. 2N eqs. 11 incógnitas                           −−−− −−−− −−−− −−−− −−−− −−−− =                                           −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− −−−− M M M M M M M M M M M M M M 33 12 11 p p p M θ b

(

M M

)

M b b M Min T T LS LS 1 2 ˆ ˆ − = − ⋅ = θ θ θ θ

Problemas com outliers → Estimação robusta de P~

M y x m Y X Z f m~=P~M~

(33)

23

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 2 2 2 2 1 1 1 1 1 1 Z Y X W P y x Z Y X W P y x

8. Reconstrução Tridimensional

Expandindo as equações temos :

1 1 31 32 33 24 23 22 21 33 32 31 14 13 12 11 ++++ ++++ ++++ ++++ ++++ ++++ ==== ++++ ++++ ++++ ++++ ++++ ++++ ==== Z p Y p X p p Z p Y p X p y Z p Y p X p p Z p Y p X p x i i i i i i i i i i i i i i i j { }L O ' m M { }R O m

(34)

25 Matricialmente temos :               − − − − =                         − − − − − − − − − − − − 2 24 2 2 14 2 1 24 1 1 14 1 2 2 33 2 23 2 2 32 2 22 2 2 31 2 21 2 2 33 2 13 2 2 32 2 12 2 2 31 2 11 1 1 33 1 23 1 1 32 1 22 1 1 31 1 21 1 1 33 1 13 1 1 32 1 12 1 1 31 1 11 p y p x p y p x Z Y X y p p y p p y p p x p p x p p x p p y p p y p p y p p x p p x p p x p p

(pode-se usar Least Squares ou as 3 equações melhor condicionadas) 3 incógnitas 4 equações { }L O ' m M { }R O m

8. Reconstrução Tridimensional

9. A Linha Epipolar

Plano Epipolar Recta epipolar Recta epipolar Epipolos L e eR { }L O ' m 0 M 1 M 2 M 3 M

{ }

R O

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

M

P

m

M

P

m

~

L

=

~

L

~

,

~

R

=

~

R

~

e considere-se      = L R L R R L P p P~ , , ~ ,

(35)

27 O centro óptico de cada câmara é o único ponto 3D

que não pode ser projectado no plano projectivo de uma câmara. Assim, temos :

=

0

0

0

1

~

, , ,R L R L R L

O

w

p

P

O centro de projecção pode ser expresso em coordenadas globais:

R L R L R L

P

p

O

w

, 1 , ,

~

=

O epipolo resulta da projecção do centro óptico de uma câmara na outra câmara.

=

=

1

~

~

;

1

~

~

R L L L R R

O

w

P

e

O

w

P

e

{ }L O ' m M { }R O m

a) Cálculo dos epipolos

Determinada o epipolo, basta conhecer um outro ponto da recta epipolar.

D a recta

{

O ~

,

m

}

já conhecemos O . Falta conhecer ma is um ponto, por exemplo, o ponto no ∞ desta recta.

b) O cálculo da recta epipolar

            µ µ µ µ           = 4 3 2 1 ~ ~ w p P m M~ m~ O

m

P

D

PD

m

~

=

=

−1

~

A projecção na outra câmara vem :

[

]

1 1 1 2 2 2 2

~

0

~

~

m

P

P

D

p

P

m

D − ∞

=

=

Podemos considerar o ponto no infinito dessa recta (µ4=0).

ficando identificada a linha epipolar.

(36)

29 Imagens originais

Linhas epipolares

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.

D e

e

~

2

m

~

2

~

=

×

µ

Recta epipolar (intersecção de dois pontos no plano projectivo):

Recta epipolar (intersecção de dois pontos no plano projectivo):

[

~

(

~

)

]

0

~

0

~

~

~

~

1 1 1 2 2 2 2 2

=

×

=

m

P

P

e

m

m

m

T e T e T

µ

µ

Restrição Epipolar         = − 1 ~ ~ ~ 11 1 2 2 P P p e D

m

~

2 : 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 que se projecta em

se projecta em m1m1, na imagem 1., na imagem 1. A recta epipolar é definida por:

(37)

31

10. A matriz fundamental / essencial

[

~

(

~

)

]

0

~

[

(

~

)

]

~

0

~

1 1 1 2 2 2 1 1 1 2 2 2

×

=

=

− −

m

m

S

e

P

P

m

P

P

e

m

T T

F

X T S X T~× ~ = (~)⋅ ~           − − − = 0 0 0 ) ~ ( 1 2 1 3 2 3 t t t t t t T S Usando Usando

0

~

~

1 2

F

m

=

m

T Matriz fundamental Matriz fundamental ––tem tem 99elementos e elementos e 88incognitas,incognitas, sendo definida a menos de um

sendo definida a menos de um

factor de escala. factor de escala. Recta epipolar Recta epipolar dede 1

~

~

T

F

m

e

=

µ

m

~

1

A equação da restrição epipolar escreve-se :

[

]

0 1 1 1 1 33 32 31 23 22 21 13 12 11 2 2 =                     y x f f f f f f f f f y

x Para fixar o factor de escala, podemos

impôr : f33=1

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

Fpode ser estimada a partir de N ≥8pares de correspondências entre duas imagens. Pode ser resolvido por SVD, impondo ||F||=1.

[

]

0 32 31 11 1 1 2 1 2 1 2 2 1 2 1 2 =                   f f f y x y y y x y x y x x x 1 MMMM 33  f   

(38)

33

0

2

1

Fm

=

m

T

10.1 Estimação de F a partir de correspondências

10.2 Reconstrução Não Calibrada

Pressupostos:

Escolhem-se 5pontos ( 4 não co-planares) e admitimos que eles formam uma base projectiva standardem

P

3 [ ]             = 1 1 0 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 0 1 ~ ~ ~ ~ ~ 5 4 3 2 1 M M M M M

- Foram determinadas pelo menos 8 correspondências entre 2 imagens - A matriz essencial, F, foi estimada.

[m m m m ] ~ ~ ~ 1 1 0 0 1 0 1 0 1 0 0 1 ~ ~ ~ ~ 4 3 2 1 =           = λ [m m m m ] ~ ~ ~ 1 1 0 0 1 0 1 0 1 0 0 1 ~ ~ ~ ~ 4 3 2 1 ′ = ′ ′           = ′ ′ ′ ′ λ Câmara 1 Câmara 2 2 P

(39)

35 a) Cálculo das Matrizes de Projecção

Temos: Usando os primeiros 4 pontos             =           = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ~ 0 0 0 0 0 0 ~ ~ ~ 4 3 4 2 4 1 P M P mi i i λ λ λ λ λ λ λ 43 42 1 ) 4 4 ( × I

Usando agora o 5º ponto, teremos:

          =                       γ β α λ λ λ λ λ λ λ 5 4 3 4 2 4 1 1 1 1 1 0 0 0 0 0 0 O que resulta: γ λ λ λ β λ λ λ α λ λ λ 5 4 3 5 4 2 5 4 1 = + = + = + E vem então: ~ A B ~           − − − +           = 1 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0 ~ 4 5 λ γ β α λ P P P

Ou, fixando o factor de escalavem:

~

~

~

B A

P

P

P

=

ξ

+

B A

P

P

P

~

=

ξ

~

+

~

Falta calcular os parâmetros eξξξξ ξξξξ′′′′

b) Cálculo dos epipolos

Com P~ =

[

P ~p

]

os centros de projecção das câmaras vêm :

P

~

C

=

0

T C      − − − = 1 1 1 1 1 1 1 γξξξξ βξξξξ αξξξξ T C      ′ ′ − ′′′′ ′ − ′ ′ − = ′ 1 1 1 1 1 1 1 ξξξξ γ ξξξξ β ξξξξ α E os epipolos vêm: o′=P~′C e o=P~C′ [U V W] o T ′ ′ ′ =       −− ′ ′ −− ′ ′ −− ′ ′ = ′ ξξξξγγγγξξξξγγγγ γ ξξξξ ξξξξββββξξξξββββ β ξξξξ ξξξξααααξξξξαααα α ξξξξ 1 1 1 [U V W] o T =       ′ ′ − ′ ′ − ′ ′ − ′ ′ − ′ ′ − ′ ′ − = ξξξξαααα ξξξξξξξξαα ξξξξββββ ξξξξξξξξββ ξξξξγγγγ ξξξξξξξξγγ 1 1 1

Em coordenadas reais (não projectivas), os epipolos vêm:

γ ξ ξγ ξγ β ξξβ ξβ γ ξ ξγ ξγ α ξξα ξα ′ ′ − ′ ′ − ⋅ ′ ′ − ′ ′ − = ′ ′ − ′ ′ − ⋅ ′ ′ − ′ ′ − = 1 1 1 1 W V W U ξγ γ ξ ξγ ξβ ξβ β ξ ξγ γ ξ ξγ ξαξα α ξ − ′ ′ − ⋅ − − ′ ′ = ′ ′ − ′ ′− ⋅ − − ′ ′ = ′ ′ 1 1 1 1 W V W U

(40)

37 c) Determinação dos epipolos a partir das imagens

Tendo a equação da restrição epipolar vem: m~′T F m~=0

0 ~ ==== O F FTO~′′′′==== 0 e os epipolos verificam: e

Os epipolos podem então ser determinados directamente a partir da matriz fundamental minimizando: 1 a sujeito min arg 2 2= = FO O O O

(vector próprio unitário de com menor valor próprio)FTF

d) Cálculo de ξξξξ e ξξξξ′

Uma vez determinados os epipolos a partir de F, podemos usar as equações em b) para calcular e , resultando: ξξξξ ξξξξ′ [ ] ( ) ( ) o [ U V W ]T m m o m m W V U = ′ ′ × ⋅ ′ ′ × ⋅ ′ ′ ′ = α β γ ξ 5 5 5 5 5 5 ~ ~ ~ ~ ( ) ( ) ( ) (β α) α (γ β) β (α γ) γγ β α α γ β β α γ ξ ξ − ′ ′ ′ + − ′ ′ ′ + − ′ ′ ′ − ′ ′ + − ′ ′ + − ′ ′ = ′ U W W V V U U W W V V U

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~

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:

~

~

2 1

,P

P

F

Se também

P

H

P

H

2 1

~

,

~

F

Onde é uma colineação qualquer em que representa uma transformação de

coordenadas projectivas qualquer.

H

P

3

( , ,0) ≥ ≥0

=Udiag r s V r s

F T

Faça-se (escolha do sistema de coordenadas da primeira câmara) :

[

]

[

]

2 2 2 2 1 ~ ; 0 ~ t M M P I P = = − ( )

[

]

    − = ℜ ∈ = − + 0 0 1 0 1 0 , , 2 E EV s r diag U M γ T T γ

[

]

T = Os valores de e podem ser calculados de acordo com:M2 t2

(41)

39

Reconstrução Projectiva

Reconstrução Afim

pode ser calculada a partir das imagens a partir de

linhas paralelas ou pontos de fuga.

i

(42)

41

Reconstrução Euclideana a partir de

pontos conhecidos

• Calcular que mapeia para Euclideano

T

~

P

~

Eucli

=

P

~

Proji

T

~

• Mínimo de 5 pontos com coordenadas Euclideanas

conhecidas

T

~

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

(43)

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 xyopt yopt x ∆ ( , , , )

∑ ∑

[

( , ) ( , )

]

2 − = =− ∆ + + ∆ + + − + + = ∆ ∆ M M i N N j R L x i y j E x i x y j y E y x y x SSD

(Sum of Squared Differences)

Medidas do Tipo Correlação

( )

− = 2 2 2 1 2 2 1 1 I I I I C

= 2 2 2 1 2 1 2 I I I I

C Correlação Cruzada não-normalizada

Mean Square Difference não-normalizada

(

) (

)

[

]

(

) (

)

[

2

]

12 2 2 2 1 1 2 2 2 1 1 3

− − − − − = I I I I I I I I C

(

)(

)

(

) (

)

− − − = 2 2 2 2 1 1 2 2 1 1 4 I I I I I I I I C

Mean Square Differences normalizada

Correlação Cruzada normalizada

C3, C4são robustas face a variação de brilho C2mais robusto que C1

(44)

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?

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ísticas semelhantes :

11.2 Feature Based Matching

(

R

)

j L i ii F f f F = ,

f

iL - feature i da imagem L No caso de contornos, as características a comparar podem ser :

•Intensidade

•Orientação

(45)

47 3D Reconstruction (results)

(46)

49 Aplicações: realidade aumentada)

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

(47)

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

XI - Campo de

Movimento

e

Fluxo Óptico

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

o rr rri Z r r f r o o i ˆ ⋅ = rr r movimento no plano de imagem! t r v o ∂ ∂ = r r 0 t r v i i ∂ ∂ = r r

1. Campo de Movimento (Motion Field):

A velocidade, com que Po se desloca, induz a velocidade na imagem.

0 vr i vr P0 f i rr o rr t vroδ t vriδ i p

(48)

2 Diferenciando resulta:

( ) ( )

( )

(

)

( )

2 2 ˆ ˆ ˆ ˆ ˆ Z r Z v r f Z r r Z v v Z r f v o o o o o o o o i ⋅ × × = ⋅ ⋅ − ⋅ = r r r r r r r r r

Relação entrevelocidade 3De a velocidade projectadana imagem. Este movimento no plano da imagem chama-se o Campo de movimento (motion field) P0 f i rr o rr t vroδ t vriδ i p

1. Campo de Movimento

2. Fluxo Óptico (Optical Flow) :

•O movimento aparente dos padrões de brilho na imagem designa-se por

fluxo óptico (optical flow)

(49)

4 C’ C p p’ 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) :

Definições: )] , ( ) , ( [ ) , , ( ) , , ( y x v y x u t t t v y t u x I t y x I δ + δ + δ +

Brilho (irradiância) no instante t

Irradiância em t+dt do ponto que ocupava a posição (x,y) no instante t.

Optical Flow t v y t u x δ = δ δ = δ

(

x u t y v t t t

) (

I x y t

)

I + δ, + δ, +δ = , , 2.1 Hipótese do brilho constante:

( )

u,v

2. Fluxo Óptico (Optical Flow) :

(50)

6

0

=

+

+

y

t

x

u

I

v

I

I

(

) (

)

t I I y I I x I I com t I t v I t u I t y x I t t t v y t u x I t y x t y x δ δ = δ δ = δ δ = δ + δ + δ + ≈ δ + δ + δ + , , , , , ,

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. t y x t y xu I v I I I u v I I + + =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:

I I F I v u I v u v u v u t n t ∇ = − = ⋅ ∇ + = ⊥ ⊥ ) , ( ) , ( ) , ( ) , (

Fluxo Normal (Fn) - perpendicular aos contornos na imagem.

Componente do Fluxo com a direcção dos contornos da imagem

(u ,v ) Fn F||

Problema da abertura

(51)

8

Exemplo cálculo Fluxo Normal

Imagem 1

Imagem 3 Imagem 2

Exemplo cálculo Fluxo Normal (cont.)

(

)

x t y x I Ix δ δ = , ,

(

)

y t y x I Iy δ δ = , ,

(

)

t t y x I It δ δ = , ,

(52)

10

Exemplo cálculo Fluxo Normal (cont.)

Fluxo Normal:

(

)

2 2 , y x t y t x t n I I I I I I I I I I F + − = ∇ ∇ ⋅ ∇ = r Daqui resulta :

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: ( , , ) 0 =0      ⇔ = ∇ y x I I dt d t y x I dt d       − =             yt xt yy yx xy xx I I v u I I I I       − =           yt xt yy xy yx xx I I u I I I I

Referências

Documentos relacionados

A tem á tica dos jornais mudou com o progresso social e é cada vez maior a variação de assuntos con- sumidos pelo homem, o que conduz também à especialização dos jor- nais,

A pesquisa pode ser caracterizada como exploratória e experimental em uma primeira etapa (estudo piloto), na qual foram geradas hipóteses e um conjunto de observáveis, variáveis

Na apropriação do PROEB em três anos consecutivos na Escola Estadual JF, foi possível notar que o trabalho ora realizado naquele local foi mais voltado à

A placa EXPRECIUM-II possui duas entradas de linhas telefônicas, uma entrada para uma bateria externa de 12 Volt DC e uma saída paralela para uma impressora escrava da placa, para

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Neste momento a vacina com a melhor perspetiva de disseminação pelos cuidados de saúde é a M.vaccae, pela sua ação como vacina terapêutica, aguardando-se a sua

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,