Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
Processamento de ImagensCPS755
aula 02 - geometria projetiva e transformacoes 2D - parte 2
Antonio OliveiraRicardo Marroquim
1 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
laboratorio de processamento de imagens
topicos
discussao trabalho 1
recordar primeira aula
decomposicao da matriz de projecao
retificacao afim
utilizando retas paralelasutilizando razao cruzada
conicas
retificacao metrica
em dois passosdireta
tarefa 2
2 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
trabalho1
3 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
trabalho 1
discussao
correspondencia de 4 pontos
fixamos 8 graus de liberdade
mas em realidade estamos passando a foto para que espaco?(euclideano, afim, similaridade ...)
similaridade tem 4 graus de liberdade, enquanto espacoprojetivo tem 8
entao quantos graus de liberdade precisamos reduzir?somente 4
4 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
trabalho 1
discussao
correspondencia de 4 pontos
fixamos 8 graus de liberdade
mas em realidade estamos passando a foto para que espaco?(euclideano, afim, similaridade ...)
similaridade tem 4 graus de liberdade, enquanto espacoprojetivo tem 8
entao quantos graus de liberdade precisamos reduzir?somente 4
4 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
invariantes
Euclideana
comprimento, area
similaridade
razao entre comprimentos, angulos, pontos circulares
afim
paralelismo, razao entre areas, razao ente comprimentos entreretas paralelas (ponto medio), combinacao linear de vetores(centroide), reta no infinito (l∞)
projetiva
colinearidade, razao entre razao de comprimentos
5 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
decomposicao
decomposicao de uma transformacao projetiva
podemos decompor a transformacao projetiva em uma cadeiade transformacoes hierarquicas
H = HSHAHP
H =
[sR t0T 1
] [K 00T 1
] [I 0vT v
]=
[A tvT v
]
6 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
decomposicao
decomposicao de uma transformacao projetiva
HP esta relacionada com a distorcao perspectiva
HA esta relacionada com a distorcao afim
HS e uma transformacao de similaridade que nao afeta aspropriedades afim ou projetivas
K e uma matriz triangular superior
como sempre estamos definindo as transformacoes a menos deuma escala, geralmente temos v = 1
H =
[sR t0T 1
] [K 00T 1
] [I 0vT v
]=
[A tvT v
]
7 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
podemos passar do espaco projetivo para o afim reduzindo 2graus de liberdade
se especificarmos l∞ teremos esses 2 graus
projecao afim mantem a reta l∞ no infinito
l′∞ = HA−T l∞ =
[A−T 0−tTA−T 1
] 001
=
001
= l∞
8 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
sera que tambem fixa os pontos no infinito?
HAx =
[A t0T 1
] ab0
=
a′
b′
0
ponto continua na reta no infinito, mas nao e o mesmoponto
9 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
entao, se identificamos na imagem uma reta no infinito:l = (l1, l2, l3)
T
e descobrimos qual a transformacao que leva l eml∞ = (0, 0, 1)T
estaremos realizando uma retificacao afim (estamos levandode volta ao espaco afim)
uma transformacao projetiva que realiza isto e a seguinte:
H = HAHP = HA
1 0 00 1 0l1 l2 l3
para l3 6= 0
10 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
transformacao projetiva
H = HA
1 0 00 1 0l1 l2 l3
pode-se verificar que
H−T[l1 l2 l3
]T=[0 0 1
]T
11 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
l
/
π ππ1 2 3
H H
H
P P
A
l = H ( )P
12 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
desta imagem o que precisamos descobrir?
onde duas retas “paralelas” se encontram: reta no infinito
13 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
desta imagem o que precisamos descobrir?
onde duas retas “paralelas” se encontram: reta no infinito
13 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
onde duas retas “paralelas” se encontram: reta no infinito1 marcamos dois pares de retas paralelas na imagem2 achamos as duas intersecoes:
x0 = l0 × l1
x1 = l2 × l3
3 a reta que passa por estes dois pontos
l = x0 × x1
4 construımos a matriz HP utilizando a reta l5 projetamos a imagem utilizando essa matriz
repare que neste caso estamos removendo somente a distorcaoperspectiva
14 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
note que apos esta retificacao podemos medir somentepropriedade invariantes ao espaco afim:
ex. : paralelismo entre retas, razao entre comprimentos namesma reta ...atencao angulos nao por exemplo
15 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao afim
projetivo para afim
16 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
conicas
17 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
definicao
curva planar de segunda ordem
geometria Euclideana: hiperbole, parabola e elipse (+ casosdegenerados)
geometria projetiva: todas sao equivalentes
os pontos na conica sao aqueles que satisfazem:
ax2 + bxy + cy2 + dx+ ey + f = 0
e em coordenadas homogeneas: x→ x1x3
e y → x2x3
ax21 + bx1x2 + cx22 + dx1x3 + ex2x3 + fx23 = 0
18 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
definicao
em forma matricial: xTCx = 0
[x1 x2 x3
] a b/2 d/2b/2 c e/2d/2 e/2 f
x1x2x3
= 0
5 graus de liberdade: 6 elementos menos 1 da escala
entao, de quantos pontos precisamos para definir unicamenteuma conica?
19 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
definicao
cada ponto: (xi, yi) de satisfazer:
ax2i + bxiyi + cy2i + dxi + eyi + f = 0
ou, em forma vetorial:
[x2i xiyi y2i xi yi 1
]
abcdef
= 0
20 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
definicao
com 5 pontos podemos resolver este sistema:
x20 x0y0 y20 x0 y0 1x21 x1y1 y21 x1 y1 1x22 x2y2 y22 x2 y2 1x23 x3y3 y23 x3 y3 1x24 x4y4 y24 x4 y4 1
abcdef
= 0
estamos resolvendo um sistema de equacoes linear: Ax = 0
para recuperar a conica, precisamos de uma matriz 5x6
neste caso sao 5 pontos, mas poderiam ser outras 5 restricoes
21 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
propriedades
o que quer dizer: l = Cx ?
reta tangente a conica C que passa pelo ponto x
se a reta passa pelo ponto, e o ponto esta na conica:
lTx = xTCx = 0
xT l = xTCx
l = Cx
22 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
propriedades
o que quer dizer: l = Cx ?
reta tangente a conica C que passa pelo ponto x
se a reta passa pelo ponto, e o ponto esta na conica:
lTx = xTCx = 0
xT l = xTCx
l = Cx
22 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
dual
23 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
propriedades
a conica C e definida por pontos: xTCx
a conica dual C∗ e definida por retas tangentes lTC∗l
C∗ e a matriz adjunta
para uma matriz nao singular C∗ = C−1 a menos de umaescala
C−1 =1
det(C)adj(C)
24 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
transformacao
a conica C e transformada seguindo
C′ = H−TCH−1
que pode ser verificado substituindo x′ = Hx em xTCx
analogamente ao dual ponto-reta, a conica dual etransformada por
C∗′= HC∗HT
25 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
degeneradas
se a matriz C nao tem posto 3, a conica e degenerada
posto 2: duas retasposto 1: uma reta repetida
ex. de posto 2C = lmT +mlT
pontos em l ou m satisfazem a equacao e definem a conicadegenerada
da mesma forma a conica dual pode ter duas degeneracoes
posto 2: dois pontosposto 1: um ponto repetido
C∗ = xyT + yxT
26 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
pontos circulares
vimos que todo cırculo passa por dois pontos ideais (noinfinito)
I =
1i0
J =
1−i0
estes pontos sao fixos para uma transformacao de similaridade: I′ = HSI
I′ =
s cos θ −s sin θ txs sin θ s cos θ ty
0 0 1
1i0
= se−iθ
1i0
= I
27 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
pontos circulares
vimos que todo cırculo passa por dois pontos ideais (noinfinito)
ax21 + bx1x2 + cx22 + dx1x3 + ex2x3 + fx23 = 0
para um cırculo a = c e b = 0
x21 + x22 + dx1x3 + ex2x3 + fx23 = 0
e os pontos I e J satisfazem esta equacao
entao 3 pontos reais + dois pontos circulares = 5 pontosdefinem um cırculo
28 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
conica dual
se temos dois pontos circulares, podemos encontrar umaconica dual degenerada que passa por estes dois pontos
C∗∞ = IJT + JIT
forma matricial:
C∗∞ =
1i0
( 1 −1 0)+
1−i0
( 1 1 0)
C∗∞ =
1 0 00 1 00 0 0
29 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
conica dual aos pontos circulares
a propriedade mais importante desta conica e que, assimcomo os pontos duais, ela se mantem fixa (a menos de umaescala) por uma transformacao de similaridade
C∗′∞ = HSC∗∞HT
S = C∗∞
30 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
angulos no plano projetivo
na geometria Euclideana como se pode calcular o angulo entreduas retas?
ex. produto escalar dos vetores normais as retas
para as retas l = (l1, l2, l3)T e m = (m1,m2,m3)
T temos osvetores normais (l1, l2)
T e (m1,m2)T
o angulo entre elas e
cos θ =l1m1 + l2m2√
(l21 + l22)(m21 +m2
2)
o problema e que isto nao e valido apos uma transformacaoafim ou projetiva
angulo nao e uma invariante nestes espacos
31 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
angulos no plano projetivo
na geometria Euclideana como se pode calcular o angulo entreduas retas?
ex. produto escalar dos vetores normais as retas
para as retas l = (l1, l2, l3)T e m = (m1,m2,m3)
T temos osvetores normais (l1, l2)
T e (m1,m2)T
o angulo entre elas e
cos θ =l1m1 + l2m2√
(l21 + l22)(m21 +m2
2)
o problema e que isto nao e valido apos uma transformacaoafim ou projetiva
angulo nao e uma invariante nestes espacos
31 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
conicas
angulos no plano projetivo
porem, existe uma maneira invariante a transformacaoprojetiva
cos θ =lTC∗∞m√
(lTC∗∞l)(mTC∗∞m)
ou seja, encontrando C∗∞ no plano projetivo, podemos realizarmedidas Euclideanas de angulos
32 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
retificacao de metrica
outra maneira de passar do espaco projetivo para um espacode similaridade
trazer os pontos circulares para posicoes canonicas na reta l∞
reparem que fizemos algo parecido para passar do espacoprojetivo para o afim
identificar a reta no infinito e levar para posicao canonical∞ = (0, 0, 1)
lembrando das propriedade invariantes
fixando a reta l∞ temos o espaco afimfixando os pontos circulares I e J temos o espaco desimilaridade
33 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
retificacao de metrica
a conica C∗∞ contem todas informacoes necessarias, ja que edual aos pontos circulares
para uma transformacao projetiva H = HPHAHS
C∗′∞ = (HPHAHS)C
∗∞(HPHAHS)
T
C∗′∞ = (HPHA)HSC
∗∞HT
S (HTAHT
P )
porem, vimos que C∗∞ e invariante a transformacoes desimilaridade (assim como os pontos circulares)
C∗′∞ = (HPHA)C
∗∞(HT
AHTP )
34 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
retificacao de metrica
lembrando da decomposicao
C∗′∞ = (HPHA)C
∗∞(HT
AHTP )
C∗′∞ =
[I 0vT 1
] [K 00T 1
]C∗∞
[KT 00T 1
] [I v0T 1
]
1 0 00 1 0vx vy 1
k11 k12 00 k22 00 0 1
1 0 00 1 00 0 0
k11 0 0k12 k22 00 0 1
1 0 vx0 1 vy0 0 1
35 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
retificacao de metrica
lembrando da decomposicao
C∗′∞ = (HPHA)C
∗∞(HT
AHTP )
C∗′∞ =
[KKT KKTv
vTKKT vTKKTv
]se nao acreditam ... facam as contas ...
mas o importante e que podemos retirar as componentes afim(K) e projetiva (v) diretamente de C∗
′∞ (imagem de C∗∞)
obs: similaridade e indeterminada pela invariancia
36 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 1
digamos que tenhamos uma imagem com a distorcaoperspectiva ja removida
ou seja, ja fizemos a retificacao afim
37 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 1
agora, ou inves de escolhermos retas que correspondam aretas paralelas, escolhemos retas que correspondam a retas l em ortogonais no plano do mundo
vimos que podemos calcular angulos mesmo no espaco afimou projetivo
lT′C∗
′∞m′ = 0
como ja removemos a distorcao perspectiva, podemos fazerv = 0 e montar o sistema
(l′1 l′2 l′3
) [ KKT 00T 0
] m′1m′2m′3
= 0
38 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 1
como KKT e simetrica tem 3 graus de liberdade, menos aescala so precisamos reduzir 2 graus de liberdade
reescrevendo a matriz, multiplicando e rearrumando
HHT =
s11 s12 0s12 s22 00 0 0
(l′1m
′1 l′1m
′2 + l′2m
′1 l′2m
′2
) s11s12s22
= 0
como escala nao e importante podemos fazer s22 = 1, eresolver com mais uma restricao
ou seja, com mais um par de retas ortogonais
39 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 1
passo 1 : identificando retas paralelas passamos do espacoprojetivo para o afim
40 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 1
passo 2 : identificando retas ortogonais passamos do espacoafim para o de similaridade
41 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 2
podemos fazer isso em um passo
identificando duas retas ortogonais temos
(l′1 l′2 l′3
) [ KKT KKTvvTKKT vTKKTv
] m′1m′2m′3
= 0
como nao podemos fazer v = 0 neste caso, precisamosresolver para todos os termos da conica
C∗′∞ =
[KKT KKTv
vTKKT vTKKTv
]=
a b/2 d/2b/2 c e/2d/2 e/2 f
42 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 2
cada par de retas ortogonais nos fornece
(l′1 l′2 l′3
) a b/2 d/2b/2 c e/2d/2 e/2 f
m′1m′2m′3
= 0
ou, multiplicando e rearrumando temos
[l′1m
′1
l′1m′2+l′2m′
12
l2m2l′1m′
3+l′3m′1
2
l′2m′3+l′3m′
22
l3m3
]
abcdef
= 0
temos 6 variaveis - menos escala, precisamos encontrar 5
43 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
retificacao de metrica
metodo 2
com cinco pares de retas ortogonais podemos passardiretamente para o espaco de similaridade
44 / 46
intro decomposicao retificacao afim conicas retificacao de metrica tarefa 2
tarefa 2
tarefa 2
1 implementar retificacao de metrica - metodo 1
2 implementar retificacao de metrica - metodo 2
MOLEZA!!! BOA DIVERSAO!!!
45 / 46