Matriz de Transformação em Perspectiva
Download
Report
Transcript Matriz de Transformação em Perspectiva
Computação Gráfica: Aula4:
Câmeras
http://www.fei.edu.br/~psergio
[email protected]
Transformação em Perspectiva
x
X
X
Z Z
y
Y
Y
Z Z
Transformação em Perspectiva
x
X
Z
e
y
Y
Z
X
Y
x
e y
Z
Z
Transformação em Perspectiva:
Coordenadas Homogêneas
X
w Y
Z
e
kX
kY
wh
kZ
k
Transformação em Perspectiva:
Coordenadas Homogêneas
x
c y
z
e
kx
ky
ch
kz
k
Transformação em Perspectiva:
Coordenadas Homogêneas
k X
Z
k Y
Z
k Z
Z
k
x
c y
z
e
kx
ky
ch
kz
k
Transformação em Perspectiva:
Coordenadas Homogêneas
kX
Z
kX
kY kY
Z kZ
h
kZ k
kZ
Z
k
kx
ky
c
kz
k
Transformação em Perspectiva:
Coordenadas Homogêneas
kX
kY
wh
kZ
k
kX
kY
ch kZ
kZ
k
Transformação em Perspectiva:
Coordenadas Homogêneas
(4 x 1)
(4 x 4)
P
(4 x 1)
kX
kX
kY
kY
kZ
kZ
kZ
k
k
Transformação em Perspectiva:
Coordenadas Homogêneas
(4 x 4)
(4 x 1)
(4 x 1)
kX
1
0
0
0
kX
kY
kY
kZ
kZ
kZ
k
k
Transformação em Perspectiva:
Coordenadas Homogêneas
(4 x 4)
(4 x 1)
(4 x 1)
kX
1
0
0
0
kX
0 1 0 0 kY
kY
kZ
kZ
kZ
k
k
Transformação em Perspectiva:
Coordenadas Homogêneas
(4 x 4)
(4 x 1)
(4 x 1)
kX
1
0
0
0
kX
0 1 0 0 kY
kY
kZ
0 0 1 0 kZ
kZ
k
k
Transformação em Perspectiva:
Coordenadas Homogêneas
(4 x 4)
1
0
0
0
0
1
0
0
(4 x 1)
(4 x 1)
kX
0 0 kX
kY
0 0 kY
kZ
1 0 kZ
kZ
1
k
1 k
Transformação em Perspectiva:
Matriz de Transformação em Perspectiva
1
0
P 0
0
0
1
0
0
0
1
1
0
0
0
0
1
Transformação em Perspectiva:
Matriz de Transformação em Perspectiva
ch Pwh
1
0
ch 0
0
0
1
0
0
0
1
1
0
0 kX kX
0 kY
kY
0 kZ kZ
kZ
1 k
k
Transformação em Perspectiva:
Matriz de Transformação em Perspectiva
ch Pwh
1
0
P 0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
wh P ch
1
0
1
P 0
0
0
0
1
0
0
0
1
1
0
0
0
1
Transformação em Perspectiva:
Matriz de Transformação em Perspectiva: Resumo
kX
X
kY
w Y wh
kZ
Z
k
ch Pwh
1
0
P 0
0
X
kX
kY
x Z
Y
ch kZ
c y
Z
kZ
z Z
k
Z
wh P 1ch
0
1
0
0
0
1
1
0
0
0
0
1
1
0
1
P 0
0
0
0
1
0
0
1
1
0
0
0
0
1
Transformação em Perspectiva: ambigüidade colinear
x0 , y0 ,0
kx0
ky
ch 0
0
k
de acorcocom wh P1ch
kx0
ky
0
wh
0
k
X x0
w Y y0
Z 0
Transformação em Perspectiva: ambigüidade colinear
Resultado Inesperado!!!
x0 , y0 ,0
kx0
kx0
X x0
ky
ky
ch 0 wh 0 w Y y0
0
0
Z 0
k
k
Transformação em Perspectiva: ambigüidade colinear
x0 , y0 , z
de acorcocom wh P1ch
kx0
ky
0
wh kz
kz
k
kx0
ky
0
ch
kz
k
x0
X z
y0
w Y
z
Z z
z
Transformação em Perspectiva: ambigüidade colinear
kx0
ky
0
wh kz
kz
k
x0
z
X
y
w Y 0
z
Z z
z
X
x0
Z
Y
y0
Z
x0
X
z
y0
Y
z
z 0
Z
z
Transformação em Perspectiva: Modelo de Câmera
Transformação em Perspectiva: Modelo de Câmera
•
Para alinhar o plano da imagem (x,y) com o
plano em coordenadas do mundo (X,Y), pode-se
fazer a seguinte seqüência de passos:
1.
2.
3.
4.
Translação do suporte para origem, G
Rotação no eixo x,
Rotação no eixo z,
Translação do plano da imagem com relação
ao suporte, C
Transformação em Perspectiva: Modelo de Câmera
Translação para origem:
1
0
G
0
0
0
1
0
0
0 X0
0 Y0
1 Z0
0
1
Gwh
Transformação em Perspectiva: Modelo de Câmera
Rotação no eixo x
Rotação no eixo z
0
0
1
0 cos sin
R1
0 sin cos
0
0
0
0
0
0
1
cos sin
sin cos
R1
0
0
0
0
0
0
0
1
0
0
1
0
Transformação em Perspectiva: Modelo de Câmera
Rotação nos eixos x e z
cos
sin cos
R R R
sin sin
0
sin
cos cos
cos sin
0
0
sin
cos
0
0
0
0
1
Transformação em Perspectiva: Modelo de Câmera
Translação do plano da imagem com relação ao suporte
1
0
C
0
0
0
1
0
0
0 r1
0 r2
1 r3
0 1
Transformação em Perspectiva: Modelo de Câmera
Translação para origem:
Rotação:
cos
sin cos
R
sin sin
0
Translação:
1
0
G
0
0
sin
cos cos
cos sin
0
0
1
0
0
0
sin
cos
0
1
0
C
0
0
0
1
0
0
0 X0
0 Y0
1 Z0
0
1
0
0
0
1
0 r1
0 r2
1 r3
0 1
Transformação em Perspectiva: Modelo de Câmera
Combinando as duas translações e as duas rotações:
ch PC( R R )Gwh
ch PCRGwh
Transformação em Perspectiva: Modelo de Câmera
Dado um pontow X , Y , Z em coordenadas do mundo,o seu
correspondenteem coordenadas Cartezianas no planoda imagem,
considerando a equeção ch PCRGwh , e dividindo o primeiroe segundo
componente
s pelo quarto,será :
X X 0 cos (Y Y0 ) sin r1
x
X X 0 sin sin Y Y0 cos sin Z Z 0 cos r3
X X 0 sin cos Y Y0 cos cos Z Z 0 sin r2
y
X X 0 sin sin Y Y0 cos sin Z Z 0 cos r3
Transformação em Perspectiva: Modelo de Câmera
Como fica a expressão anterior se tivermos:
X 0 Y0 Z0 r1 r2 r3 0 e 0
o
?
Transformação em Perspectiva: Modelo de Câmera
Como fica a expressão anterior se tivermos:
X 0 Y0 Z0 r1 r2 r3 0 e 0
o
X
Y
x
e y
Z
Z
Transformação em Perspectiva: Visão Stereo
Transformação em Perspectiva: Visão Stereo
Transformação em Perspectiva: Visão Stereo
X1
x1
Z1
X2
x2
Z 2
X 2 X1 B
Z 2 Z1 Z
Transformação em Perspectiva: Visão Stereo
X1
x1
X2
x2
Z1
Z 2
X 2 X1 B
Z 2 Z1 Z
X1
x1
Z
X2
x2
Z
X1 B
Z
x2
Z
B
x2 x1
Transformação em Perspectiva: Visão Stereo
X1
x1
Z
Y1
y1
Z
Z
B
x2 x1
Transformação em Perspectiva: Calibração de Câmera
• Calibração de câmera é o processo de determinar quais os parâmetros da
câmera, intrínsecos e extrínsecos, para um conjunto de coordenadas do mundo e
da imagem.
Transformação em Perspectiva: Calibração de Câmera
• Um problema que ocorre com imagens 2D, vistas projetadas no
plano de imagem da câmera, é a ambigüidade colinear.
Transformação em Perspectiva: Calibração de Câmera
ch PCRGwh
A PCRG
ch Awh
Transformação em Perspectiva: Calibração de Câmera
ch Awh
Se K = 1 na representação homogênea:
ch1 a11
c a
h 2 21
ch 3 a31
ch 4 a41
a12
a13
a22
a23
a32
a33
a42
a43
a14 X
a24 Y
a34 Z
a44 1
Transformação em Perspectiva: Calibração de Câmera
As coordenadas da projeção perspectiva do ponto
(X,Y,Z) na forma Cartesiana são:
ch1 a11
c a
h 2 21
ch 3 a31
ch 4 a41
a12
a13
a22
a32
a23
a33
a42
a43
x ch1 / ch 4
y ch 2 / ch 4
a14 X
a24 Y
a34 Z
a44 1
Transformação em Perspectiva: Calibração de Câmera
Substituindo ch1 = xch4 e ch2 = ych4 no sistema linear e
expandindo, temos:
xch 4
ych 4
ch 3
ch 4
a11 X
a21 X
a31 X
a41 X
a12Y
a22Y
a32Y
a42Y
a13 Z
a23 Z
a32 Z
a43 Z
a14
a24
a34
a44
Assumindo ch3 = 0 uma vez que z = 0, temos:
Transformação em Perspectiva: Calibração de Câmera
xch 4
ych 4
ch 4
a11 X
a21 X
a41 X
a12Y
a22Y
a42Y
a13 Z
a23 Z
a43 Z
a14
a24
a44
Substituindo ch4 na primeira e segunda equações, obtemos duas equações
com 12 variáveis!
a11 X
a21 X
a12Y
a22Y
a13 Z
a23 Z
a41 xX
a41 yX
a42 xY
a42 yY
a43 xZ a44 x a14
a43 yZ a44 y a24
0
0
Transformação em Perspectiva: Calibração de Câmera
•
O procedimento de calibração consiste então em:
(a) Obter pelo menos 6 pontos de coordenadas do mundo m ≥ 6 com
valores conhecidos (Xi, Yi, Zi ) i = 1,2,..,m. Isso gera um Sistema
Linear de 12 equações e 12 incógnitas!
a11 X 1
a21 X 1
a11 X 2
a21 X 2
a12Y1
a22Y2
a12Y2
a22Y2
a11 X 6
a21 X 6
a12Y6
a22Y6
a14
a24
a14
a24
0
0
0
0
a14
a24
0
0
Transformação em Perspectiva: Calibração de Câmera
•
O procedimento de calibração consiste então em:
(b) Resolver o Sistema Linear para obter os pontos correspondentes na
imagem (xi, yi), i = 1, 2, ..., m.
X 1 , Y1 , Z1
x1 , y1
X 2 , Y2 , Z 2
x2 , y 2
X 3 , Y3 , Z 3
x3 , y3
X 4 , Y4 , Z 4
x4 , y 4
X 5 , Y5 , Z 5
x5 , y5
X 6 , Y6 , Z 6
x6 , y6
Transformação em Perspectiva: Calibração de Câmera
•
O procedimento de calibração consiste então em:
(c) Tendo então a matriz de transformação A da câmera, pode-se mapear
qualquer ponto w do mundo no plano da imagem:
p = (xi, yi)
w = (X,Y,Z)
P = Aw
A