08.05.2013 Views

visualizando geometria projetiva 2D - LCG

visualizando geometria projetiva 2D - LCG

visualizando geometria projetiva 2D - LCG

SHOW MORE
SHOW LESS

Transforme seus PDFs em revista digital e aumente sua receita!

Otimize suas revistas digitais para SEO, use backlinks fortes e conteúdo multimídia para aumentar sua visibilidade e receita.

intro <strong>geometria</strong> <strong>projetiva</strong><br />

Processamento de Imagens<br />

CPS755<br />

aula 03 - <strong>visualizando</strong> a <strong>geometria</strong> <strong>projetiva</strong> planar<br />

Antonio Oliveira<br />

Ricardo Marroquim<br />

1 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

laboratório de processamento de imagens<br />

tópicos<br />

<strong>visualizando</strong> a <strong>geometria</strong> <strong>projetiva</strong> planar<br />

discussão dos primeiros 2 trabalhos<br />

2 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

questões para refletir<br />

porque estudamos <strong>geometria</strong> <strong>projetiva</strong>?<br />

como ela está associada à visão computacional?<br />

o que representa os espaços (projetivo, afim, similaridade e<br />

Euclideano)?<br />

3 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo de câmera pinhole<br />

4 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo de câmera pinhole<br />

todos os raios de luz que refletem no mundo e passam pelo<br />

buraco (centro da câmera) e são projetados no fundo da caixa<br />

(plano da imagem)<br />

note que a relação entre pontos da imagem e raios é<br />

um-para-um<br />

cada raio define apenas um ponto na imagem<br />

um ponto da imagem é definido por um raio<br />

logo, todos os pontos em um raio, são projetados no mesmo<br />

ponto na imagem<br />

em coordenadas homogêneas:<br />

(a, b, 1) = k(a, b, 1) = (ka, kb, k)<br />

5 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

projeção central<br />

o centro da câmera define o conjunto de raios que formam a<br />

imagem<br />

todas imagens tiradas de uma câmera com mesmo centro são<br />

<strong>projetiva</strong>mente equivalentes<br />

ou seja, uma pode ser mapeada na outra sem informações<br />

sobre os pontos 3D ou posição do centro<br />

6 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

projeção central<br />

7 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo<br />

x 1<br />

ideal<br />

point<br />

O<br />

x<br />

2<br />

x<br />

l<br />

π<br />

x 3<br />

8 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo<br />

reta no infinito (0, 0, 1)<br />

define o plano no infinito z = 0<br />

contém todos pontos ideais (a, b, 0)<br />

definem todas retas que estão no plano no infinito<br />

atenção com a representação do (0, 0, 0)<br />

9 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

elementos geradores e elementos no plano z = 1<br />

z=1<br />

z=0<br />

z=0<br />

z=1<br />

10 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

a interseção com o plano z = 0 define a direção da reta<br />

z=1<br />

z=0<br />

11 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

planos geradores das retas se intersectam em uma reta em R 3<br />

que passa pela origem (0, 0, 0)<br />

z=1<br />

z=0<br />

12 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

(0,0,0)<br />

z=1<br />

z=0<br />

13 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

retas paralelas definem a mesma direção<br />

a interseção dos planos geradores é uma reta em z = 0 (reta<br />

no infinito)<br />

z=1<br />

z=0<br />

14 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

modelo projetivo - pontos e retas<br />

(0,0,0)<br />

z=1<br />

z=0<br />

15 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

invariantes<br />

Euclideana<br />

comprimento, área<br />

similaridade<br />

razão entre comprimentos, ângulos, pontos circulares<br />

afim<br />

paralelismo, razão entre áreas, razão ente comprimentos entre<br />

retas paralelas (ponto médio), combinação linear de vetores<br />

(centroide), reta no infinito (l∞)<br />

<strong>projetiva</strong><br />

colinearidade, razão entre razão de comprimentos<br />

16 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

decomposição<br />

decomposição de uma transformação <strong>projetiva</strong><br />

podemos decompor a transformação <strong>projetiva</strong> em uma cadeia<br />

de transformações hierárquicas<br />

H =<br />

sR t<br />

0 T 1<br />

H = HSHAHP<br />

K 0<br />

0 T 1<br />

I 0<br />

v T v<br />

<br />

=<br />

A t<br />

v T v<br />

<br />

17 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

decomposição<br />

decomposição<br />

passa ideia de acertos para<br />

voltar à <strong>geometria</strong><br />

Euclideana<br />

qual as transformações<br />

necessárias para levar um<br />

sistema de coordenadas a<br />

outro?<br />

18 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

decomposição<br />

decomposição<br />

retificação <strong>projetiva</strong>:<br />

encontra o alinhamento do<br />

plano da imagem<br />

retificação afim: encontra<br />

a correspondência entre os<br />

eixos do plano<br />

retificação de<br />

similaridade: encontra a<br />

rotação, translação e escala<br />

dos eixos<br />

19 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

vimos que podemos remover a distorção perspectiva<br />

identificando a reta no infinito na imagem l = (l1, l2, l3)<br />

e descobrindo qual transformação leva l em l∞ = (0, 0, 1)<br />

o que estamos fazendo exatamente?<br />

20 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

podemos pensar na foto como uma projeção central<br />

21 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

no caso do exemplo<br />

22 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

no exercício encontrávamos dois pontos de fuga, que definiam<br />

a reta l<br />

23 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

a reta l é gerada por um plano que passa pela origem<br />

24 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

retificação <strong>projetiva</strong> - afim<br />

o plano gerador encontrado é perpendicular ao plano que<br />

contém o retângulo<br />

ou seja, estamos encontrando a normal do plano!<br />

25 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

26 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

z=1<br />

z=0<br />

z=1<br />

z=0<br />

27 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

<strong>geometria</strong> <strong>projetiva</strong><br />

cônica no infinito (degenerada)<br />

o dual de uma cônica formada por duas retas é uma cônica<br />

formada por dois pontos<br />

C ∗ ∞ é a cônica dual no infinito<br />

28 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

cônica dual<br />

note como é a matriz<br />

C ∗ ∞ =<br />

⎛<br />

⎝<br />

1 0 0<br />

0 1 0<br />

0 0 0<br />

ideia dos eixos x e y no plano z = 0<br />

ou seja, na sua forma canônica, C ∗ ∞ é formada pelo dual dos<br />

eixos x e y no plano no infinito<br />

⎞<br />

⎠<br />

29 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no plano projetivo<br />

forma invariante à transformação <strong>projetiva</strong><br />

cos θ =<br />

l T C ∗′<br />

∞m<br />

(l T C ∗ ∞l)(m T C ∗ ∞m)<br />

ou seja, encontrando C ∗′<br />

∞ no plano projetivo, podemos realizar<br />

medidas Euclideanas de ângulos<br />

conceito<br />

mas o que significa o produto de uma reta por uma cônica,<br />

seguido pelo produto com outra reta??<br />

30 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no espaço de similaridade<br />

sabemos fazer isso no espaço de similaridade<br />

cos θ = l T m =<br />

l1m1 + l2m2<br />

(l 2 1 + l 2 2 )(m2 1 + m2 2 )<br />

então se queremos calcular o ângulo entre duas retas no<br />

espaço projetivo uma solução é<br />

trazer as retas para o espaço de similaridade e calcular o<br />

ângulo neste espaço<br />

31 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no espaço de similaridade<br />

lembrando<br />

e consequentemente<br />

então a expressão l T m fica<br />

l ′<br />

= H −T l<br />

l = H T l ′<br />

cos θ = [H T l ′<br />

] T H T m ′<br />

cos θ = l ′<br />

HH T m ′<br />

32 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no plano projetivo<br />

podemos pensar na cônica degenerada como transformações<br />

“desfaçadas”<br />

ou como uma representação compacta de dois pontos ou duas<br />

retas; ou, ainda melhor, dois eixos<br />

fazendo: C ∗′<br />

∞ = HH T<br />

chegamos a<br />

cos θ =<br />

l ′ T C ∗ ′<br />

∞m ′<br />

(l ′ T C ∗ ∞l ′ )(m ′ T C ∗ ′<br />

∞m ‘ )<br />

e quando C ∗ ∞ está na forma canônica :<br />

cos θ = l ′ T ∗<br />

C∞m ′<br />

= l ′ T ′<br />

m<br />

33 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no plano projetivo<br />

identificando a cônica dual no infinito C ∗′<br />

∞ na imagem,<br />

descobrimos qual transformação leva ela para sua forma<br />

canônica C ∗ ∞<br />

essa transformação, por consequência, é a retificação para o<br />

espaço de similaridade<br />

34 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no plano projetivo<br />

a remoção da distorção perspectiva encontra o plano paralelo<br />

ao plano da imagem que passa pela origem<br />

linha no infinito na imagem<br />

inverte a divisão perspectiva, eixo z<br />

na decomposição, encontra a matriz HP<br />

H = HSHAHP =<br />

sR t<br />

0 T 1<br />

K 0<br />

0 T 1<br />

I 0<br />

v T 1<br />

<br />

35 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

ângulos no plano projetivo<br />

a remoção da distorção afim encontra a transformação que<br />

leva os eixos x e y em uma posição canônica<br />

a cônica C∗′ ∞ é uma forma compacta de representar esses dois<br />

pontos<br />

na decomposição, encontra a matriz HA<br />

H = HSHAHP =<br />

sR t<br />

0 T 1<br />

K 0<br />

0 T 1<br />

I 0<br />

v T 1<br />

<br />

36 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

cônica dual aos pontos circulares<br />

lembrando que a cônica C ∗ ∞ é invariante a transformações de<br />

similaridade (assim como os pontos circulares)<br />

C ∗′<br />

∞ = HSC ∗ ∞H T S = C ∗ ∞<br />

C ∗′<br />

<br />

I 0<br />

∞ =<br />

vT <br />

K 0<br />

1 0T <br />

C<br />

1<br />

∗ <br />

KT 0<br />

∞ 0T 1<br />

fazendo os produtos acima<br />

C ∗′<br />

∞ =<br />

KK T KK T v<br />

v T KK T v T KK T v<br />

<br />

I v<br />

0 T 1<br />

<br />

37 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

cônica dual aos pontos circulares<br />

no sentido inverso, de descobrirmos quem é C ∗′<br />

∞<br />

C ∗′<br />

<br />

KKT KK<br />

∞ =<br />

Tv vT KKT vT KKTv podemos encontrar as matrizes<br />

<br />

K 0<br />

HA =<br />

0T <br />

1<br />

e<br />

HP =<br />

I 0<br />

v T 1<br />

o produto dessas duas matrizes é a transformação que leva do<br />

espaço projetivo para o espaço de similaridade 38 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

cônica dual aos pontos circulares<br />

na aula passada vimos como encontrar C∗′ ∞ marcando ângulos<br />

retos na imagem e montando o sistema linear<br />

C ∗′<br />

∞ =<br />

KK T KK T v<br />

v T KK T v T KK T v<br />

o último passo daquele trabalho é justamente extrair HA e HP<br />

<br />

39 / 40


intro <strong>geometria</strong> <strong>projetiva</strong><br />

cônicas<br />

cônica dual aos pontos circulares<br />

encontrando H = HAHP e podemos gerar a imagem retificada<br />

essas transformações estão<br />

alinhando os planos: remoção da distorção perspectiva<br />

colocando os eixos na forma canônica: remoção da distorção<br />

afim<br />

mas não está<br />

alinhando os eixos: encontrando a rotação<br />

e transladando para origem<br />

por isso não se preocupe se sua imagem final estiver “torta”<br />

40 / 40

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!