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