1
VII – Detecção de Contornos
Prof. José Santos-Victor Instituto Superior Técnico Instituto de Sistemas e Robótica Lisboa - PORTUGAL
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.
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.
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.
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 E9
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 2cos
)
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
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 iE
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.
13 b) 2ªsDerivadas ∂ ∂ − + ∂ ∂ ⋅ = ∂ ∂ ) ( ) 1 ( 1 2 2 x x E x x E x E
ε
[
(
)
(
)
]
1
, 1 , , , 1 2E
x+ y−
E
x y−
E
x y−
E
x− y=
ε
[
E
x 1,yE
x,yE
x 1,y]
22
1
− +−
+
=
ε
]
2
[
1
1 , , 1 , 2 2 2 − +−
+
=
∂
∂
y x y x y xE
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ε 1Os operadores diferenciais resultam numa combinação linear do valor de brilho de alguns pixels da imagem.
Quando assim é, podemos definir estes operadores usando máscaras ou kernels.
1 -1
1 -1
15
a) Operadores diferenciais primeira ordem
1 -1 1 -1 1 -1 1 -1 2 -2 1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 -1 -2 -1 1 2 1 -1 -1 1 1 x E ∂ ∂ y E ∂ ∂ || || E∇ E ∠∇ : 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
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
∫ ∫
∫
∫
+∞ ∞ − +∞ ∞ − −∞ ∞ + ∞ ∞ −
−
−
=
−
−
,
)
(
,
)
(
)
(
)
(
,
)
(
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σ
baixoSoluçã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 ∅.
21 Operador Marr-Hildreth σ=1 Sobel Operador Marr-Hildreth σ=2 Laplaciano
0
=
σ
σ
=
1
3
=
σ
σ
=
6
23
7.8 O operador de Canny
O cálculo do Laplaciano/Gradiente tem a desvantagem de ser rotacionalmente simétrico. Se o contorno for horizontal (p.ex.) a derivada vertical apenas introduz ruído.
Canny [83] desenhou um filtro óptimo para step edges, tendo em conta: erro de localização , respostas falsas, probabilidade de detecção.
[
]
= • ∗ ∂ ∂ = • ∇ ∇ = • 0 ) , ( Contornos ) , ( ) , ( ) , ( Calcular contorno ao 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 E ∇ direcção do gradiente - edge - 1ª derivada - 2ª derivadaEm vez do cálculo da 2ª derivada pode-se procurar o máximo do gradiente na direcção do gradiente.
25 Interpolação Int. bilinear
∑
∑
= = = 4 1 4 1 1 ) ( ) , ( i i i i i d 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:
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.
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.
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 AExemplos 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 Um8.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)
(
M −s(x))
[
(xi) (xj)]
IX – Transformação de Histograma
Prof. José Santos-Victor Instituto Superior Técnico Instituto de Sistemas e Robótica Lisboa - PORTUGAL
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
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= q− p 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)dqNesta situação pretende-se que g(q)seja uniforme
Imagem N x N M níveis de cinzento
Equalização de Histograma
X - Reconstrução Stereo e
Fotogrametria
Prof. José Santos-Victor Instituto Superior Técnico Instituto de Sistemas e Robótica Lisboa - PORTUGAL
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.
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 x′ l 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 d∆ l − r= ' '
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 zcrescente
α
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 nx
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~=ρ~ ~∧~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 yi2
1
≤
≤
+
ρ
=
y
i
n
Ax
i i i2. 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
9
2.1 Propriedades de
P
1[
]
Tm
~
~
µ
1µ
2 Ponto no infinito: 1 x x2 2 µ 1 µ[
2]
2 2 1 µ µ (ponto no ∞∞∞∞) (espaço afim)[ ]
1 2 1 1 µ µ x 1Visualizaçã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] µ~∞ (−µ2,µ1,0) 1 x 3 x 2 x 2 1 ~ ~ m m ×××× 1 ~ m 2 ~ m 2 P 1 P
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
13 3
P
Pontos : m~=
(
x1,x2,x3,x4)
não simultaneamente nulos e a menos de um factor de escala
Planos : ~µ=(µ1,µ2,µ3,µ4)
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.
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
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
cO
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 1Z
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 pr
r
r
r
λ
λ
λ
Parâmetros intrínsecos Projecção perspectiva Orientação externa19 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 fm
~
=
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 estimarP
~
. Temos :
=
1
~ 34 33 32 31 24 23 22 21 14 13 12 11Z
Y
X
w
p
p
p
p
p
p
p
p
p
p
p
p
y
x
P p p4
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
~
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~
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
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 OTodas 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~ , , ~ ,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 LO
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 RO
w
P
e
O
w
P
e
{ }L O ' m M { }R O ma) 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.
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
~
2m
~
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 Dm
~
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:
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 TF
X T S X T~× ~ = (~)⋅ ~ − − − = 0 0 0 ) ~ ( 1 2 1 3 2 3 t t t t t t T S Usando Usando0
~
~
1 2F
m
=
m
T Matriz fundamental Matriz fundamental ––tem tem 99elementos e elementos e 88incognitas,incognitas, sendo definida a menos de umsendo definida a menos de um
factor de escala. factor de escala. Recta epipolar Recta epipolar dede 1
~
~
TF
m
e=
µ
m
~
1A 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 yx 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 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
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 AP
P
P
=
ξ
+
B AP
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
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émP
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 t239
Reconstrução Projectiva
Reconstrução Afim
•
pode ser calculada a partir das imagens a partir de
linhas paralelas ou pontos de fuga.
i
∞
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 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 ∆ opt y ∆ opt 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 IC 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 CMean Square Differences normalizada
Correlação Cruzada normalizada
C3, C4são robustas face a variação de brilho C2mais robusto que C1
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
47 3D Reconstruction (results)
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/)
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
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 rRelaçã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)
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,v2. Fluxo Óptico (Optical Flow) :
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
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 δ δ = , ,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 Normal3.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