1 / 98

Visão Computacional Calibração de Câmeras

Visão Computacional Calibração de Câmeras. http://www.dca.ufrn.br/~lmarcos/courses/visao. y c. x im. y im. y w. y o. z c. z o. x c. x w. x o. z w. Parâmetros de câmera .

fairly
Download Presentation

Visão Computacional Calibração de Câmeras

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visão ComputacionalCalibração de Câmeras http://www.dca.ufrn.br/~lmarcos/courses/visao

  2. yc xim yim yw yo zc zo xc xw xo zw Parâmetros de câmera • Reconstrução 3D ou cálculo da posição de objetos no espaço necessitam definir relações entre coordenadas de pontos 3D com as coordenadas 2D de imagens dos mesmos • Alguns pressupostos devem ser assumidos

  3. yc xim yim yw yo zc zo xc xw xo zw Pressupostos • Frame é “Sistema de referência” • O frame da câmera pode ser localizado em relação a algum outro frame bem conhecido (frame de mundo) - referencial assumido • Coordenadas das imagens de pontos no frame de câmera podem ser obtidas das coordenadas de pixels (únicas disponíveis a partir da imagem), pelo menos x e y

  4. Parâmetros intrínsecos e extrínsecos (internos e externos) • Parâmetros intrínsecos são os necessários para ligar as coordenadas de pixel de um ponto na imagem com as respectivas coordenadas no frame de câmera. • Parâmetros extrínsecos são os que definem a localização e orientação do frame de câmera com relação a um frame de mundo conhecido

  5. yc xim yim yw yo zc zo xc xw xo zw Parâmetros intrínsecos • Caracterizam as propriedades óticas, geométricas e digitais da câmera visualizadora. Para pin-hole, 3 conjuntos: • projeção perspectiva (único parâmetro é f) • transformação entre frames de câmera e píxel • distorção geométrica introduzida pelo sistema ótico

  6. De câmera para pixels • Devemos ligar (xim,yim), em pixels, com as coordenadas (x,y) do mesmo ponto no frame de câmera • Neglicenciando distorções e assumindo que o CCD é uma matriz retangular: x = -(xim-ox)sx y = -(yim-oy)sy sendo (ox,oy) as coordenadas em pixel do centro da imagem (ponto principal) e (sx,sy) o tamanho efetivo do pixel (em milímetros) horizontal e verticalmente.

  7. De pixels para câmera x = -(xim-ox)sx y = -(yim-oy)sy (n-1) / 2 xim (0,0) Z yim (0,0,f) (m-1) / 2 Imagem Camera (0,0) -> (((m-1)/2)sx , (n-1)/2)sy) (m-1,n-1) Y ((m-1)/2,(n-1)/2) -> ((0)sx,(0)sy) X (0,0,0) (m-1,n-1) -> (-((m-1)/2)sx, -((n-1) /2)sy)

  8. Com distorção • Com introdução de distorção: x = xd(1+k1r2+k2r4) y = yd(1+k1r2+k2r4) sendo (xd,yd) as coordenadas dos pontos distorcidos e r2 = xd2+yd2. Veja que a distorção é um deslocamento radial dos pontos na imagem. Deslocamento é zero no centro da imagem, crescendo para as bordas

  9. Parâmetros intrínsecos - resumo • f = distância focal (COMO ACHAR?) • (ox,oy) = localização do centro da imagem, coordenadas de pixel (COMO ACHAR?) • (sx,sy) = tamanho efetivo horizontal e vertical do pixel (COMO ACHAR?) • (k1,k2) = coeficientes de distorção, se forem requeridos (COMO ACHAR?) • k2 é geralmente ignorado (k1>>k2).

  10. Parâmetros extrínsecos • O frame de câmera permite escrever equações de projeção perspectiva de uma forma simples, mas o sistema de câmera é geralmente desconhecido • Determinar a localização e orientação do frame de câmera em relação a algum frame de referência, usando apenas informação da imagem.

  11. yc xim yim yw yo zc zo xc xw xo zw Parâmetros extrínsecos • Qualquer conjunto de parâmetros que permitem identificar unicamente a transformação entre o frame desconhecido de câmera e um frame conhecido, normalmente denominado frame de mundo.

  12. Descrevendo a transformação • Vetor 3D de translação, T, que descreve as posições relativas das origens dos dois frames • Uma matriz 3x3, de rotação, R, a princípio ortogonal (RtR=RRt), desejado ortonormal, que traz os eixos correspondentes dos dois frames um no outro • Ortogonalidade reduz o número de graus de liberdade para 3

  13. Rotação + translação yw Ry yc xim yim yw xw Rz Rx yo zc zo T zw xc xw xo zw

  14. yc xim yim yw yo zc zo xc xw xo zw Notação • A relação entre as coordenadas de um ponto P em frame de mundo (Pw) e câmera (Pc) é dada por: Pc=R(Pw-T) r11 r12 r13 t1 R = r21 r22 r23 T = t2 r31 r32 r33 t3 Pc T P Pw

  15. Parâmetros extrínsecos - resumo • T = vetor de translação • R = matriz de rotação (ou seus parâmetros livres) • Especificam a transformação entre o frame de câmera e o frame de mundo

  16. Melhorando o modelo de câmera Pc=R(Pw-T) x = f (X/Z) x = -(xim-ox)sx y = f (Y/Z) y = -(yim-oy)sy -(xim-ox)sx = f [(R1t(Pw-T))/(R3t(Pw-T))] -(yim-oy)sy = f [(R2t(Pw-T))/(R3t(Pw-T))] • Ri , i=1,2,3 é um vetor 3D formado pela i-ésima coluna da matriz R. • Relacionar coordenadas de mundo às de imagem, usando parâmetros intrínsecos e extrínsecos

  17. Reescrevendo como multiplicação de matrizes • Sejam as matrizes: -f/sx 0 ox Mint = 0 -f/sy oy 0 0 1 r11 r12 r13 -R1tT Mext = r21 r22 r23 -R2tT r31 r32 r33 -R3tT

  18. Equação matricial • Mint depende apenas dos parâmetros internos e Mext apenas dos externos. • Negligenciando distorção radial e expressando Pw em coordenadas homogêneas: x1 Xw x2 = Mint Mext Yw x3 Zw 1 • x1/x3 e x2/x3 são as coord. de imagem xim e yim

  19. Observação • Formalmente, as relação entre um ponto 3D e sua projeção 2D na imagem pode ser entendida como uma transformação linear do espaço projetivo (vetores [Xw, Yw, Zw,1]t) no plano projetivo (vetores [xC, yC, zC]t ). • Esta transformação é definida a menos de um fator de escala, assim M tem apenas 11 entradas independentes.

  20. Câmera Perspectiva e Fraca Perspectiva • Mint transforma de câmera para imagem (parâmetros internos) • Mext transforma de mundo para câmera (parâmetros externos) • Os modelos de câmera podem ser definidos a partir das equações anteriores, bastando ajustar os parâmetros de forma correta, isto é, basta alterar a matriz M=Mint Mext

  21. Modelo de câmera perspectiva • Assumindo, por simplicidade, que ox=oy = 0 e que sx=sy= 1, M pode ser re-escrita como: -fr11 -fr12 -fr13 fR1tT M = -fr21 -fr22 -fr23 fR2tT r31 r32 r33 R3tT • Sem restrições, M descreve o modelo perspectivo completo, sendo chamada de matriz de projeção

  22. Modelo com perspectiva fraca • Observe que imagem p de P é dada por: Xw fR1t(T-P) p = M Yw = fR2t (T-P) ZwR3t (P-T) 1 • Mas |R3t(P-T) | é a distância de P ao centro de projeção ao longo do eixo ótico.

  23. Modelo com perspectiva fraca • Então, a equação que aproxima a perspectiva fraca pode ser escrita como: |[R3t(Pi-P´)]/[R3t(P´-T) ]|<< 1 • onde Pi (i=1,2) são pontos no espaço e P´ é o centróide deles yc xim yim yw P1 T zc yo P’ zo xc xw zw xo P2 P’-T

  24. Modelo com perspectiva fraca • Pode-se re-escrever a equação anterior: fR1t(T-Pi) pi  fR2t (T-Pi) R3t (P´-T) • A matriz de projeção se torna: -fr11 -fr12 -fr13 fR1tT Mwp = -fr21 -fr22 -fr23 fR2tT 000R3t (P´-T)

  25. O problema de calibração • Estabelecer equações lineares no parâmetro posição de um objeto (coordenadas de mundo) que deve ser determinado numa dada cena • Coeficientes das equações são funções específicas da posição (conhecida) da projeção do objeto no plano imagem, da geometria da câmera (intrínsecos) e de sua ótica

  26. Equacionando o problema de calibração • Encontrar os parâmetros anteriores significa encontrar os coeficientes de equações lineares, dadas certas posições de objetos na cena em coordenadas de mundo e suas respectivas posições na imagem. • Assumimos uma transformação de corpo rígido (translação mais rotação e projeção):

  27. Equacionando o problema de calibração • Ou ainda, entendendo que a translação T e a rotação R podem ser juntadas numa única matriz: • A partir dos parâmetros das transformações, pode-se determinar todos os parâmetros intrínsecos e extrínsecos, bem como o inverso também vale. Ou apenas um deles!

  28. Resolvendo o problema • Determinar um certo número de pontos na cena de coordenadas conhecidas • Determinar suas projeções nas imagens (coordenadas de imagens conhecidas) • Resolver as equações, encontrando os parâmetros procurados, geralmente usando mínimos quadrados ou outro método de otimização

  29. Importância • Reconhecimento e reconstrução 3D com conhecimento da geometria real do objeto pode ser muito mais eficiente • Permite a localização absoluta de sistemas em relação a um frame de mundo, somente a partir de imagens de objetos na cena

  30. Uma forma simples de entender • Seja (xi , yi , zi) a posição inicial de um ponto pi numa cena em coordenadas de mundo. • Após aplicar uma rotação R e uma translação T no ponto para referenciá-lo ao sistema de coordenadas da câmera temos a posição dada em coordenadas de câmera por .

  31. Uma forma simples de entender • É feita então uma projeção do ponto no plano imagem, resultando nas coordenadas de imagem (Xi, Yi). • O conjunto de equações a seguir representa as transformações, sendo que em (1) considera-se a rotação e translação como uma transformação homogênea e em (2) elas são separadas.

  32. Derivando as equações (1) (2)

  33. Derivando as equações = 13 parâmetros

  34. Impondo restrições • A matriz R representa uma transformação de rotação e isto permite estabelecer a restrição de que sua inversa seja igual a sua transposta ou (ortonormalidade). • e

  35. Restrições de ortonormalidade e Ou ainda: Duas linhas são vetores unitários, ortogonais uma à outra, enquanto que a restante é o produto cruzado destas duas (válido também para as colunas).

  36. Métodos de Calibração • Church and Ganapathy • Dana Ballard (Computer Vision) • Trucco (método direto) • Roger Tsai • Próxima aula 

  37. Church and Ganapathy • Assume pontos co-planares com coordenadas de mundo e de imagem conhecidas • Permite eliminar parâmetros em z • Considera distância focal em 1 (sem perda de generalidade)

  38. Church and Ganapathy • Assumindo f conhecido, ou seja, arbitrando f = 1, pode-se re-escrever as equações

  39. Church and Ganapathy • Se os pontos são co-planares, pode-se assumir que estão num plano genérico z=0 , eliminando então as coordenadas z e consequentemente os parâmetros R13, R23 e R33:

  40. Church and Ganapathy • Novas restrições para a matriz de rotação: • Usa-se um modelo de minimização de erros, sendo derivado um sistema de equações e calculados os parâmetros reduzidos.

  41. Church and Ganapathy • Os parâmetros restantes, ainda não determinados, são obtidos por:

  42. Modelo do livro do Dana Ballard(Transpõe Matriz) • Considere uma matriz C4x3 mapeando pontos 3D de mundo em pontos 2D de imagem • Sejam U e V as coordenadas de imagem de um ponto; um ponto no plano imagem é dado em coordenadas homogêneas por (u,v,t). Então: U = u/t e V = v/t, ou seja: Ut - u = 0 e Vt - v = 0 ou u-Ut = 0 e v-Vt = 0

  43. Ballard • Para transformar um ponto de mundo: (x,y,z,1)C = (u,v,t) • Em notação inversa, sendo Cj colunas de C: u = (x,y,z,1)C1 v = (x,y,z,1)C2 t = (x,y,z,1)C3 • Pode-se expandir esses produtos internos (Cij) e re-escrever u-Ut=0 e v-Vt=0 como: xC11+yC21+zC31+C41-UxC13 -UyC23 -UzC33 -UC43= 0 xC12+yC22+zC32+C42-VxC13 -VyC23 -VzC33 -VC43= 0

  44. Ballard • Forma homogênea elimina fator de escala em C (C43=1). • Então: xC11+yC21+zC31+C41-UxC13 -UyC23 -UzC33 = U xC12+yC22+zC32+C42-VxC13 -VyC23 -VzC33 = V • Daqui é possível montar um sistema de equações

  45. Ballard C11 Em forma matricial: C21 C31 x1 y1 z1 1 0 0 0 0 -U1x1 -U1y1 -U1z1 C41 U1 0 0 0 0 x1 y1 z1 1 -V1x1 -V1y1 -V1z1 C12 V1 C22 = x2 y2 z2 1 0 0 0 0 -U2x2 -U2y2 -U2z2 C32 Un 0 0 0 0 xn yn zn 1 -Vnxn -Vnyn -Vnzn C42 Vn C13 C23 C33

  46. Número de pontos necessários • Cada ponto (x,y,z) associado ao seu ponto (U,V) resulta em duas equações • São 11 equações para achar uma solução • Se mais que 5,5 pontos são usados, então uma solução usando método dos mínimos quadrados ou outro modelo de regressão polinomial pode ser usado (pseudo-inversa)!

  47. Método direto (livro do Trucco) • Considere um ponto P no mundo (3D) definido pelas suas coordenadas (Xw,Yw,Zw) • Supomos o frame de mundo conhecido • Sejam (Xc,Yc,Zc) as coordenadas de câmera do ponto P (com Zc>0, para ser visível); • Origem do frame de câmera é o centro de projeção e o seu eixo Z é o eixo ótico. • Posição e orientação do frame de câmera são desconhecidas, ou seja, procura-se parâmetros extrínsecos: T (3x1)e R (3x3)

  48. Método direto (Xc,Yc,Zc)t= R(Xw,Yw,Zw)t + T • Em forma de componentes: Xc = r11Xw+r12Yw+r13Zw+Tx Yc = r21Xw+r22Yw+r23Zw+Ty Zc = r31Xw+r32Yw+r33Zw+Tz • Negligenciando distorções radiais: xim = -(f/sx)(Xc/Zc) + ox yim = -(f/sy)(Yc/Zc) + oy

  49. Método direto • Sem confusão, seja x = xime y = yim • As equações anteriores dependem dos 5 parâmetros internos, não independentes entre si: f, sx, sy, ox e oy. • Seja fx= f /sx e  = sy/sx, novos parâmetros independentes entre si: fx, , ox e oy • fxé a distância focal em pixels horizontal •  é a razão de aspecto, ou a deformação introduzida pelo sistema de aquisição

  50. Método direto • Estamos procurando • Parâmetros intrínsecos: • ox(origem em x); • oy(origem em y); • fx= f /sx (comprimento em unidades do tamanho de pixel horizontal) •  = sy/sx(razão de aspecto) • K1 = coeficiente de distorção radial • Parâmetros extrínsecos: R e T

More Related