Visão Computacional Geometria de Transformações
description
Transcript of Visão Computacional Geometria de Transformações
![Page 1: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/1.jpg)
www.dca.ufrn.br/~lmarcos/courses/visao
Visão ComputacionalGeometria de Transformações
Luiz M. G. Gonçalves
![Page 2: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/2.jpg)
Transformações
Vetores, bases e matrizesTranslação, rotação e escalaCoordenadas homogêneasRotações e translações 3D
![Page 3: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/3.jpg)
Uso de transformações
Construir modelos complexos a partir de componentes simples
Transformar coordenadas de câmera em mundo, objeto e imagem e vice-versa
Analisar efeitos de transformações rígidas e não rígidas em objetos
xo
zoyo
yc
xc
zc
xwzw
yw
yimxim
![Page 4: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/4.jpg)
Cinemática
![Page 5: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/5.jpg)
Combinação linearDados dois vetores v1 e v2,ande uma
distância qualquer na direção de v1 e então ande outra distância na direção de v2
O conjunto de todos os lugares (vetores, pontos) que podem ser atingidos é dado pelas combinações lineares possíveis entre v1 e v2
Um conjunto de vetores é dito linearmente independentes se nenhum deles pode ser escrito como uma combinação linear dos outros
![Page 6: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/6.jpg)
Combinação linear
V = k1V1+k2V2
v1
v2
k1V1
k2V2
V = k1V1+k2V2
![Page 7: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/7.jpg)
Bases vetoriaisUma base vetorial é um conjunto de
vetores linearmente independentes entre si, cuja combinação linear leva a qualquer lugar dentro do espaço, isto é, varre o espaço.
Para varrer um espaço n-dimensional, são necessários n vetores
Se a base é normalizada e os vetores mutu-amente ortogonais, ela é dita ser ortonormal
Obviamente, há muito mais que uma base possível para um dado espaço vetorial.
![Page 8: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/8.jpg)
Representação de vetores
Todo vetor tem uma representação única numa dada base Os multiplicadores pelos vetores da base são
chamados de componentes ou coordenadas Mudando a base, muda os componentes,
mas não o vetor
V= v1E1+v2E2+...+vnEn
Os vetores E1, E2, ..., En são a base
Os escalares v1, v2 , ..., vn são os componentes de v com respeito à base.
![Page 9: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/9.jpg)
Transformação Linear e AfimUma função (ou mapeamento ou
ainda transformação) F é linear se, para todos os vetores v1 e v2 e todos escalares k:
F(V1+V2) = F(V1) + F(V2)
F(kV1) = kF(V1)Qualquer mapeamento linear é
completamente especificado pelo seu efeito numa base vetorial
![Page 10: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/10.jpg)
Efeito na base
v = v1E1+ v2E2+ v3E3
F(v) = F(v1E1+v2E2+v3E3)=
= F(v1E1)+F(v2E2)+F(v3E3)= = v1F(E1) + v2F(E2)+v3F(E3)
Uma função F é afim se ela é linear mais uma translação Então a função y = mX+b não é linear,
mas é afim
![Page 11: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/11.jpg)
Transformando um vetor
As coordenadas do vetor da base transformado (em termos dos vetores da base original):
F(E1) = f11E1 +f21E2+f31E3
F(E2) = f12E1 +f22E2+f32E3
F(E3) = f13E1 +f23E2+f33E3
O vetor geral V transformado torna-se:F(V) = v1F(E1) + v2F(E2)+v3F(E3) =v1(f11E1+f21E2+f31E3)+v2(f12E1+f22E2+f32E3)+v3(f13E1+f23E2+f33E
3)=(f11v1+f12v2 +f13v3)E1+(f21v1+f22v2+f23v3)E2+
(f31v1+f32v2+f33v3)E3
![Page 12: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/12.jpg)
Transformando um vetor
Suas coordenadas ainda em referência a E tornam-se:
v1´= f11v1 +f12v2+f13v3
v2´= f21v1+f22v2+f23v3
v3´= f31v1+f32v2+f33v3
Ou simplesmentevi = fijvj
que é a fórmula de multiplicação matricial
![Page 13: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/13.jpg)
Multiplicação de matrizes!
Uma matriz F de dimensões nxn representa uma função linear em n dimensões A i-ésima coluna mostra o que a função
faz ao vetor de base correspondenteTransformação é uma combinação
linear das colunas de F Primeiro componente do vetor de
entrada escala a primeira coluna da matriz
acumula no vetor de saída repete para cada coluna e componente
![Page 14: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/14.jpg)
Multiplicação matricial
Usualmente calcula-se de modo diferente faça o produto interno da coluna i da
matriz com o vetor de entrada para conseguir componente i do vetor de saída:
v1´ f11 f12 f13 v1
v2´ = f21 f22 f23 v2
v3´ f31 f32 f33 v3
![Page 15: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/15.jpg)
![Page 16: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/16.jpg)
Translação
![Page 17: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/17.jpg)
Rotação
![Page 18: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/18.jpg)
Matriz de rotação possui vetores unitários
![Page 19: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/19.jpg)
Representação da rotação
![Page 20: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/20.jpg)
Exemplo de rotação
![Page 21: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/21.jpg)
Relações espaciais
Representação em relação a um frame (sistema de coordenadas)
P (X,Y,Z)
![Page 22: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/22.jpg)
Orientação
![Page 23: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/23.jpg)
Orientação
![Page 24: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/24.jpg)
Matriz de orientação
![Page 25: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/25.jpg)
Propriedade elementar (unitária)
![Page 26: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/26.jpg)
Juntando orientação e posição
![Page 27: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/27.jpg)
Coordenadas Homogêneas
![Page 28: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/28.jpg)
Juntar rotação e translação
![Page 29: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/29.jpg)
Coordenadas homogêneas
Translação não é linear. Como representar em forma de matriz? Adiciona uma coordenada extra a cada vetor
x´ 1 0 0 tx xy´ = 0 1 0 ty yz´ 0 0 1 tz z1 0 0 0 1 1
Coordenada extra é chamada de homogênea (ou w)
Transformação denominada homogênea
![Page 30: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/30.jpg)
Transformação Homogênea
![Page 31: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/31.jpg)
![Page 32: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/32.jpg)
![Page 33: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/33.jpg)
Translação pura
![Page 34: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/34.jpg)
Roll, Pitch, Yaw
![Page 35: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/35.jpg)
Rotação em torno de cada eixo
![Page 36: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/36.jpg)
Generalização da Rotação
![Page 37: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/37.jpg)
Exemplo de rotação + translação
![Page 38: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/38.jpg)
Exemplo: continuação
![Page 39: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/39.jpg)
![Page 40: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/40.jpg)
![Page 41: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/41.jpg)
![Page 42: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/42.jpg)
![Page 43: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/43.jpg)
![Page 44: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/44.jpg)
![Page 45: Visão Computacional Geometria de Transformações](https://reader035.fdocument.pub/reader035/viewer/2022081503/56814f73550346895dbd259c/html5/thumbnails/45.jpg)
Invertendo a transf. homogênea