Title: Vis
1Visão ComputacionalCalibração de Câmeras
- http//www.dca.ufrn.br/lmarcos/courses/visao
2Parâ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
3Pressupostos
- 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
4Parâ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
5Parâ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
6De 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.
7Com distorção
- Com introdução de distorção
- x xd(1k1r2k2r4)
- y yd(1k1r2k2r4)
- sendo (xd,yd) as coordenadas dos pontos
distorcidos e r2 xd2yd2. Veja que a distorção
é um deslocamento radial dos pontos na imagem.
Deslocamento é zero no centro da imagem,
crescendo para as bordas
8Parâ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
9Parâ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.
10Parâ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.
11Descrevendo 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 (RtRRRt), desejado ortonormal, que
traz os eixos correspondentes dos dois frames um
no outro - Ortogonalidade reduz o número de graus de
liberdade para 3
12Notação
- A relação entre as coordenadas de um ponto P em
frame de mundo (Pw) e câmera (Pc) é dada por - PcR(Pw-T)
- r11 r12 r13
t1 - R r21 r22 r23 T
t2 - r31 r32 r33
t3 -
13Parâ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
14Melhorando o modelo de câmera
- PcR(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 , i1,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
15Reescrevendo 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
16Equaçã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
17Modelo de câmera perspectiva
- Assumindo, por simplicidade, que oxoy e sxsy, M
pode ser re-escrita como - -fr11 -fr12 -fr13 fR1tT
- M -fr21 -fr22 -fr23 fR2tT
- r31 r32 r33 R3tT
18Modelo 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.
19Modelo com perspectiva fraca
- Então, a equação que aproxima a perspectiva fraca
pode ser escrita como - R3t(Pi-P)/R3t(P-T) ltlt 1
- onde Pi (i1,2) são pontos no espaço e P é o
centróide deles
20Modelo 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
- 0 0 0 R3t (P-T)
21O 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
22Equacionando 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)
23Equacionando 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!
24Resolvendo 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
25Importâ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
26Uma 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 .
27Uma 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.
28Derivando as equações
(1)
(2)
29Derivando as equações
12 parâmetros
30Impondo 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
31Restriçõ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).
32Church 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)
33Church and Ganapathy
- Assumindo f conhecido, ou seja, arbitrando f 1,
pode-se re-escrever as equações
34Church and Ganapathy
- Se os pontos são coplanares, pode-se assumir que
estão num plano genérico z0 , eliminando então
as coordenadas z e consequentemente os parâmetros
R13, R23 e R33
35Church 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.
36Church and Ganapathy
- Os parâmetros restantes, ainda não determinados,
são obtidos por
37Modelo 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
38Ballard
- 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-Ut0 e v-Vt0 como - xC11yC21zC31C41-UxC13 -UyC23 -UzC33 -UC43 0
- xC12yC22zC32C42-VxC13 -VyC23 -VzC33 -VC43 0
39Ballard
- Forma homogênea elimina fator de escala em C
(C431). - Então
- xC11yC21zC31C41-UxC13 -UyC23 -UzC33 U
- xC12yC22zC32C42-VxC13 -VyC23 -VzC33 V
- Daqui é possível montar um sistema de equações
40Ballard
-
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 Vn - 0 0 0 0 xn yn zn 1 -Vnxn -Vnyn
-Vnzn C42 Vn -
C13 -
C23 -
C33
41Nú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)!
42Mé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)
43Método direto
- (Xc,Yc,Zc)t R(Xw,Yw,Zw)t T
- Em forma de componentes
- Xc r11Xwr12Ywr13ZwTx
- Yc r21Xwr22Ywr23ZwTx
- Zc r31Xwr32Ywr33ZwTx
- Negligenciando distorções radiais
- xim -(f/sx)(Xc/Zc) ox
- yim -(f/sy)(Xc/Zc) oy
44Mé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
45Método direto
- Determinando fy
- fx f /sx gt f fxsx ? sy/sx gt sy ?sx
- então f /sy fxsx/?sx fx/? fy
46Mé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
47Método direto
- Substituindo equações (Xc,Yc,Zc)t nas de
projeção - x-ox-fx(r11Xwr12Ywr13ZwTx)/(r31Xwr32Ywr33Zw
Tz) - y-oy-fy(r21Xwr22Ywr23ZwTy)/(r31Xwr32Ywr33Zw
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
48Mé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(r21Xiwr22Yiwr23ZiwTy)
- yifx(r11Xiwr12Yiwr13ZiwTx)
49Método direto
- Como ? fx/fy pode ser linear, pode-se escrever
- xiXwiv1xiYwiv2xiZwiv3xiv4-yiXwiv5-yiYwiv6-yiZwi
v7yiv80 - onde v1 r21 v2 r22 v3 r23 v4 Ty
- v5 ?r11 v6 ?r12 v7 ?r13 v8 ?Tx
- Pode-se escrever como Av0, com A sendo
- x1Xw1 x1Yw1 x1Zw1 x1 -y1Xw1
-y1Yw1 -y1Zw1 -y1 - A
- xnXwn xnYwn xnZwn xn -ynXwn
-ynYwn -ynZwn -yn
50Método direto
- Se Ngt7 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)
51Mé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 r2231, obtém-se
52Mé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 ?
? p3 -
b
y a -
p1 -
c
p2 -
53Método de FISCHLER-BOLLES
- Baseando-se na figura 3 e aplicando a lei dos
cosenos, pode-se estabelecer as seguintes
equações
54Mé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.
55Mé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.
56Método de Grosky e Tamburino
- Base transformações homogêneas (trata em
conjunto rotação e translação) - yi
- ?
-
-
?
xi - ?
-
zi
57Mé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)
58Método de Grosky e Tamburino
- Sendo ?, ? e ? direções de rotação na figura, os
parâmetros de rotação são dados por
59Mé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
60Mé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)
61Mé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
62Método de Grosky e Tamburino
- Sendo Pxpxf, Pypyf os fatores de escala
embutidos, a11cosw, a12senw, a21senv,
a22cosv, a equação anterior é reescrita da
seguinte forma - Usando (3), a equação anterior fica
63Mé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
64Kumar 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.
65Restriçõ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.
66Restriçõ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.
67Restrições de posição para pontos
- xw
-
yc N - zw
-
b
B - yw
zc -
xc a -
-
A
68Restriçõ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
69Restriçõ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)
70Restriçõ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.
71Restriçõ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)
72Restriçõ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
73Restriçõ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(Rpt)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.
74Restriçõ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.
75Generalidades
- 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.
76Generalidades
- 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.
77Generalidades
- 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.
78Generalidades
- 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.
79Dever 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.