A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "Visão Computacional Calibração de Câmeras"— Transcrição da apresentação:

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

2 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 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 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 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

8 Parâmetros intrínsecos - resumo
f = distância focal (ox,oy) = localização do centro da imagem, em coordenadas de pixel (sx,sy) = tamanho efetivo horizontal e vertical do pixel (k1, k2) = coeficientes de distorção, se forem requeridos

9 Parâmetros extrínsecos
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.

10 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.

11 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

12 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 r t1 R = r21 r22 r T = t2 r31 r32 r t3

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

14 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. Relaciona coordenadas de mundo às de imagem, usando parâmetros intrínsecos e extrínsecos

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

16 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: x Xw x2 = Mint Mext Yw x Zw 1 x1/x3 e x2/x3 são as coord. de imagem xim e yim

17 Modelo de câmera perspectiva
Assumindo, por simplicidade, que ox=oy e sx=sy, M pode ser re-escrita como: -fr11 -fr12 -fr13 fR1tT M = -fr21 -fr22 -fr23 fR2tT r31 r32 r33 R3tT

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

19 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

20 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 -fr fR1tT Mwp = -fr21 -fr22 -fr fR2tT R3t (P´-T)

21 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

22 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. Transformação de corpo rígido (translação mais rotação e projeção):

23 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!

24 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

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

26 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

27 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.

28 Derivando as equações (1) (2)

29 Derivando as equações = 12 parâmetros

30 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

31 Restrições de ortonormalidade
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).

32 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)

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

34 Church and Ganapathy Se os pontos são coplanares, 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:

35 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.

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

37 Modelo do livro do Dana Ballard
Considere uma matriz C 4x3 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

38 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

39 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

40 Ballard C11 Em forma matricial: C21 C31
x1 y1 z U1x1 -U1y1 -U1z1 C U1 x1 y1 z V1x1 -V1y1 -V1z C V1 C22 = x2 y2 z U2x2 -U2y2 -U2z2 C Vn xn yn zn Vnxn -Vnyn -Vnzn C Vn C13 C23 C33

41 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 solução usando método dos mínimos quadrados ou outro modelo de regressão polinomial pode ser usado (pseudo-inversa)!

42 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; 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 Procura-se parâmetros de T (3x1) e R (3x3)

43 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+Tx Zc = r31Xw+r32Yw+r33Zw+Tx Negligenciando distorções radiais: xim = -(f/sx)(Xc/Zc) + ox yim = -(f/sy)(Xc/Zc) + oy

44 Método direto Seja x = xim e y = xim
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

45 Método direto Determinando fy
fx = f /sx => f = fxsx ;  = sy/sx => sy = sx então f /sy = fxsx/sx = fx/= fy

46 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) Parâmetros extrínsecos: R e T

47 Método direto Substituindo equações (Xc,Yc,Zc)t nas de projeção:
x-ox=-fx[(r11Xw+r12Yw+r13Zw+Tx)/(r31Xw+r32Yw+r33Zw+Tz)] y-oy=-fy[(r21Xw+r22Yw+r23Zw+Ty)/(r31Xw+r32Yw+r33Zw+Tz)] Método reverte-se em: dado um certo número de pontos conhecidos e suas imagens, tentar determinar os parâmetros acima Articulado em duas partes: (1) assumir ox e oy conhecidos, determinar o restante (2) encontrar as coordenadas do centro da imagem

48 Método direto (1) 1) Assuma ox e oy conhecidos, negligencia distorção, estima fx, , R e T a partir de coordenadas de pontos de mundo (Xiw,Yiw, Xiw) e de imagem (xi, yi). Equações anteriores tem o mesmo denominador, então cada par de pontos dá uma equação: xify(r21Xiw+r22Yiw+r23Ziw+Ty) = yifx(r11Xiw+r12Yiw+r13Ziw+Tx)

49 Método direto Como  = fx/fy pode ser linear, pode-se escrever:
xiXwiv1+xiYwiv2+xiZwiv3+xiv4-yiXwiv5-yiYwiv6-yiZwiv7+yiv8=0 onde v1= r21; v2= r22 ; v3= r23 ; v4= Ty; v5= r11; v6= r12 ; v7= r13 ; v8= Tx Pode-se escrever como Av=0, com A sendo: x1Xw1 x1Yw1 x1Zw1 x1 -y1Xw1 -y1Yw1 -y1Zw1 -y1 A= xnXwn xnYwn xnZwn xn -ynXwn -ynYwn -ynZwn -yn

50 Método direto Se N>=7 e os pontos não são complanares, então o sistema tem uma solução não trivial (pode ser obtida pelos mínimos quadrados)

51 Método direto Determinar então o fator de escala e os parâmetros de câmera. Seja  este fator. Então: v´= (r21,r22 ,r23,Ty,r11,r12,r13,Tx) é a solução procurada. Uma vez que r221 +r222 r223=1, obtém-se:

52 Método de FISCHLER-BOLLES
Ao invés de procurarem R e T diretamente, procuram as distâncias entre os pontos transformados e a origem: O’  z x   p’3 b y a p’1 c p’2

53 Método de FISCHLER-BOLLES
Baseando-se na figura 3 e aplicando a lei dos cosenos, pode-se estabelecer as seguintes equações:

54 Método de FISCHLER-BOLLES
Usando as duas últimas equações, por substituição, pode-se eliminar o termo z, chegando-se a uma equação quártica. Usando então esta equação mais a primeira, some o termo y, resultando numa equação de grau oito em x, do tipo sendo e onde g é um polinômio em a, b, c, d, e e f.

55 Método de FISCHLER-BOLLES
A resolução da equação pode ser conseguida no termo x2 (é uma quártica em x2) e então encontrados os outros termos por substituição nas equações originais. As distâncias x, y e z são funções dos pontos transformados, nos quais estarão inseridos os parâmetros de transformação, podendo estes ser determinados a partir da determinação das distâncias.

56 Método de Grosky e Tamburino
Base: transformações homogêneas (trata em conjunto rotação e translação) yi  xi zi

57 Método de Grosky e Tamburino
Considerando a translação com sinal negativo, um ponto de imagem em coordenadas homogêneas pode ser obtido a partir de um ponto objeto também em coordenadas homogêneas por: (1)

58 Método de Grosky e Tamburino
Sendo ,  e  direções de rotação na figura, os parâmetros de rotação são dados por:

59 Método de Grosky e Tamburino
Sendo xF, yF e zF as coordenadas da origem do sistema de coordenadas de câmera em coordenadas de mundo, temos os parametros de translação dados por:

60 Método de Grosky e Tamburino
Seja a matriz homogênea , as coordenadas de câmera , as coordenadas de mundo pode-se reescrever a equação (1): (2) Das equações de projeção, um ponto na imagem pode ser escrito (centro da imagem como origem do sistema de imagem), como: (3)

61 Método de Grosky e Tamburino
A equação que permite passar de coordenadas convencionais (xi,yi), no sistema intermediário 2D, a píxels (Xi,Yi), que são as coordenadas naturais de imagem (em forma matricial), sem levar em consideração outras correções mais acuradas, pode ser dada por: x0 y0 x0 y0

62 Método de Grosky e Tamburino
Sendo Px=pxf, Py=pyf os fatores de escala embutidos, a11=cosw, a12=senw, a21=senv, a22=cosv, a equação anterior é reescrita da seguinte forma: Usando (3), a equação anterior fica:

63 Método de Grosky e Tamburino
Expandindo e usando as equações de (2), a equação anterior é expressa com 20 parâmetros, determinados por: que pode ser abreviado:

64 Kumar e Hanson Dadas as correspondências entre linhas ou pontos em uma cena (3D) e linhas ou pontos numa imagem (2D), o objetivo é encontrar as matrizes de rotação e de translação que mapeiam coordenadas no sistema de mundo para o sistema de câmera.

65 Restrições de posição para pontos
Dado um ponto p numa cena (em coordenadas de mundo) e seu correspondente pc numa imagem (em coordenadas de câmera), pode-se representar uma transformação entre os sistemas de coordenadas por uma translação e uma rotação, dada por: (1) o vetor de translação representa a localização da origem do sistema de coordenadas de mundo representada no sistema de coordenadas de câmera.

66 Restrições de posição para pontos
A inversa desta transformação pode ser reescrita para mapear pontos do sistema de coordenadas de câmera para o sistema de mundo como: (2) sendo Rt a transposta do operador de rotação (R-1 = R t) e Tw representa a localização da origem do sistema de coordenadas de câmera em coordenadas de mundo.

67 Restrições de posição para pontos
xw yc N zw b B yw zc xc a A

68 Restrições de posição para pontos
Na figura anterior, a linha AB na cena 3D é projetada na linha ab na imagem, representada pelos píxels a e b. As equações que relacionam um píxel P na imagem e suas coordenadas em um sistema de câmera são dadas por: (3) sendo sx e sy fatores de escala ao longo das direções X e Y, respectivamente

69 Restrições de posição para pontos
Com base nas equações (1) e (3), as equações de restrição para pontos podem ser formuladas, sendo as mesma equações anteriores, mas escritas de uma forma diferente da encontrada na literatura: (4)

70 Restrições de posição para pontos
Juntanto a estas as outras restrições de ortonormalidade da seção 2.1, pode-se usar o método dos mínimos quadrados para encontrar uma solução para R e T.

71 Restrições de posição para linhas
Considerando que haja definida na imagem uma linha reta (ab), sua equação pode ser estabelecida nos parâmetros  (ângulo com um dos eixos) e  (um deslocamento constante) como: Substituindo X e Y dados pela equação (3) a equação anterior fica: (5)

72 Restrições de posição para linhas
Esta é a equação de um plano de projeção definido pela reta ab na imagem e pela origem (centro da câmera). A normal a este plano é dada por: (6) Usando as equações (1) e (6), pode-se encontrar a equação de restrição básica para linhas, reescrevendo a equação (5) como:

73 Restrições de posição para linhas
A distância perpendicular de um ponto ao plano de projeção dado pela equação (5) é dada por N´(Rp+t)=0, onde N´ é o vetor unitário de N. Considerando que um ponto esteja exatamente no plano de projeção dado pela equação (5), neste caso com a distância do ponto a este plano igual a zero, pode-se formular de uma forma mais simplificada a seguinte equação de restrição básica.

74 Restrições de posição para linhas
Ambas equações relacionam os parâmetros de rotação e translação. Para separar rotação subtrai-se a equação anterior em dois pontos na linha reta, obtendo-se a equação com parâmetros de rotação apenas: sendo d´ o vetor unitário definidor da direção p1p2 . Juntanto as outras restrições de ortonormalidade, pode-se usar o método dos mínimos quadrados para encontrar uma solução para R e T.

75 Generalidades As diversas soluções para o problema utilizam-se de equações e formas adotadas em fotogrametria, obtendo-se medidas ou estabelecendo-se relações entre objetos na cena e sua imagem correspondente, desde que a obtenção das imagens tenha sido feita de modo controlado.

76 Generalidades O problema de calibração de câmera é típico de visão computacional, muito abordado na última década e nesta. Como vimos, em síntese, refere-se à determinação dos parâmetros intrínsecos e extrínsecos de câmeras, a partir de imagens e é um pré- processamento para as diversas aplicações de visão computacional.

77 Generalidades Note que o método dos mínimos quadrados é sugerido como ferramenta para resolução do sistema sobredeterminado, dado pela formulação do problema de calibração, ou seja, têm-se mais equações (pontos conhecidos nas imagens) do que incógnitas.

78 Generalidades Uma vez resolvido o problema de calibração e determinados os parâmetros das equações, pode-se usar estes por exemplo para localização de um robô em um determinado ambiente ou para determinação da posição de um dado objeto cujo modelo é conhecido, a partir de sua projeção nas imagens.

79 Dever de casa (para dia 18)
Determinar os parâmetros intrínsecos e extrínsecos das câmeras (calibração). Para os parâmetros extrínsecos, considere um padrão colocado a uma distância fixa da câmera, cuja posição e orientação em relação à câmera deverá ser mantida em todo o experimento. Para isso, pontos fácil de localizar na imagem devem ter suas coordenadas determinadas tanto no frame de mundo quanto no de imagem. Arbitre a origem do frame de imagem e o tamanho de cada pixel (em milímetros) coerentemente. Cada grupo, usar dois métodos diferentes.


Carregar ppt "Visão Computacional Calibração de Câmeras"

Apresentações semelhantes


Anúncios Google