processamento de imagens cps755 - lcgmarroquim/courses/cos857/lessons/02... · geometria projetiva:...

Post on 30-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related