Visão Computacional
Calibração de Câmeras
http://www.dca.ufrn.br/~lmarcos/courses/visao
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
yim xim yc
yo z
o
zc
xo
xc
yw
zw
xw
Pressupostos
yo z
o
yim xim yc
zc
xo
xc
yw
zw
• 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
xw
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
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
x y
yim
yo z
o
im
zc
xo
c
xc
yw
zw
xw
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.
De pixels para câmera
(n-1) / 2
(0,0)
xim
yim
Imagem
(0,0,f)
Z
Camera
(0,0) -> (((m-1)/2)sx , (n-1)/2)sy)
Y
((m-1)/2,(n-1)/2) -> ((0)sx,(0)sy)
x = -(xim-ox)sx
y = -(yim-oy)sy
X
(0,0,0)
(m-1,n-1) -> (-((m-1)/2)sx, -((n-1) /2)sy)
(m-1) / 2
(m-1,n-1)
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
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).
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.
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.
yim xim yc
yo z
o
zc
xo
xc
yw
zw
xw
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
Rotação + translação
yw
Ry
yim
yc
xim
yw
xw
yo
zc
zo
Rz
Rx
T
zw
xo
xc
xw
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
Pc
R = r21 r22 r23
T = t2
r31 r32 r33
t3
yo
yim xim yc
yw
T
P
z
c
zo
xc
xo
Pw zw
xw
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
Melhorando o modelo de câmera
Pc=R(Pw-T)
x = -(xim-ox)sx
y = -(yim-oy)sy
x = f (X/Z)
y = f (Y/Z)
-(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
Reescrevendo como
multiplicação de matrizes
• Sejam as matrizes:
-f/sx 0
ox
Mint =
0 -f/sy oy
0
0
1
Mext =
r11
r21
r31
r12
r22
r32
r13
r23
r33
-R1tT
-R2tT
-R3tT
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
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.
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
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
Modelo com perspectiva fraca
• Observe que imagem p de 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.
Modelo com perspectiva fraca
• Então, a equação que aproxima a
perspectiva fraca pode ser escrita como:
|[R (P -P´)]/[R (P´-T) ]|<< 1
t
3
t
i
3
• onde Pi (i=1,2) são pontos no espaço e P´ é
o centróide deles
yim xim yc
y
yo
P1
zo P’
xo P
2
zc
P’-T
T
xc
zw
w
xw
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
0
0
0
R3t (P´-T)
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
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):
(xi , yi , zi)
R
 ~xi , ~yi , ~z i 
T
( xi , yi , zi )
P
(Xi Yi)
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:
(xi , yi , zi)
RT
( xi , yi , zi )
P
(Xi ,Yi)
• 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!
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
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
Uma forma simples de entender
(xi , yi , zi)
RT
( xi , yi , zi )
P
(Xi ,Yi)
• 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 ( xi , yi , zi ) .
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.
Derivando as equações
 R11
R
21

 xi , yi , zi ,1  R
 31
 0
 R11

 xi , yi , zi    R21
 R31
R12
R22
R32
0
R12
R22
R32
R13
R23
R33
0
D1  xi 
D2  yi 
 
D3  zi 
1  1 
(1)
R13  xi   D1 
    (2)
R23  yi    D2 
R33  zi   D3 
Derivando as equações

 X i ,Yi = f

xi
,f
zi
yi 

zi 
R11 xi  R12 yi  R13 zi  D1
Xi  f
R31 xi  R32 yi  R33 zi  D3
R21 xi  R22 yi  R23 zi  D2
Yi  f
R31 xi  R32 yi  R33 zi  D3
13 parâmetros
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
t
1
transposta ou R  R (ortonormalidade).
2
2
2
R11
 R12
 R13
1
R11 R21  R12 R22  R13 R23  0
2
2
2
R

R

R
• 21 22 23  1 e
R11 R31  R12 R32  R13 R33  0
2
R31

2
R32

2
R33
1
R21 R31  R22 R32  R23 R33  0
Restrições de ortonormalidade
R11 R12  R21 R22  R31 R32  0
2
2
2
R11
 R21
 R31
1
2
2
2
R12
 R22
 R32
1
2
2
2
R13
 R23
 R33
1
e
R11 R13  R21 R23  R31 R33  0
R12 R13  R22 R23  R32 R33  0
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).
Métodos de Calibração
•
•
•
•
•
Church and Ganapathy
Dana Ballard (Computer Vision)
Trucco (método direto)
Roger Tsai
Próxima aula 
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)
Church and Ganapathy
• Assumindo f conhecido, ou seja, arbitrando
f = 1, pode-se re-escrever as equações
 xi yi 
 X i ,Yi     ,   
 zi zi 
R11 xi  R12 yi  R13 zi  T1
Xi 
R31 xi  R32 yi  R33 zi  T3
R21 xi  R22 yi  R23 zi  T2
Yi 
R31 xi  R32 yi  R33 zi  T3
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:
R11xi  R12 yi  T1
Xi 
R31xi  R32 yi  T3
R21xi  R22 yi  T2
Yi 
R31 xi  R32 yi  T3
 xi yi 
, 

z
 i zi 
R x  R12 yi  R13 zi  T1
X i  11 i
R31 xi  R32 yi  R33 zi  T3
 X i ,Yi   
R x  R22 yi  R23 zi  T2
Yi  21 i
R31 xi  R32 yi  R33 zi  T3
Church and Ganapathy
• Novas restrições para a matriz de rotação:
2
R11
2
 R21
2
 R31

2
R12
2
 R22
2
 R32
R11 R12  R21 R22  R31 R32  0
2
2
2
R11
 R21
 R31
1
• Usa-se um modelo de minimização de erros,
sendo derivado um sistema de equações e
calculados os parâmetros reduzidos.
Church and Ganapathy
• Os parâmetros restantes, ainda não
determinados, são obtidos por:
R13  R21 R32  R22 R31
R23  R12 R31  R11 R32
R33  R11 R22  R12 R21
Modelo do livro do Dana Ballard
(Transpõe Matriz)
• 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 ou u-Ut = 0 e v-Vt = 0
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
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
Ballard
Em forma matricial:
x1 y1 z1 1 0 0 0 0 -U1x1 -U1y1 -U1z1
0 0 0 0 x1 y1 z1 1 -V1x1 -V1y1 -V1z1
x2 y2 z2 1 0 0 0 0 -U2x2 -U2y2 -U2z2
0 0 0 0 xn yn zn 1 -Vnxn -Vnyn -Vnzn
C11
C21
C31
C41
C12
C22
C32
C42
C13
C23
C33
U1
V1
=
Un
Vn
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 (pseudoinversa)!
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)
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
Método direto
• Sem confusão, seja x = xim e 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
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:
ReT
Obs:
Obs:
x = -(f/sx)(Xc/Zc) + ox
y = -(f/sy)(Yc/Zc) + oy
Método direto
Xc = r11Xw+r12Yw+r13Zw+Tx
Yc = r21Xw+r22Yw+r23Zw+Ty
Zc = r31Xw+r32Yw+r33Zw+Tz
• 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
Assunções
• Assume-se que o centro da imagem é
conhecido: (x,y) = (x-ox, y-oy)
• Centro da imagem é a origem do frame de
referência
• Achar pontos correspondentes suficientes
no mundo e na imagem
x-ox=-fx[(r11Xw+r12Yw+r13Zw+Tx)/(r31Xw+r32Yw+r33Zw+Tz)]
y-oy=-fy[(r21Xw+r22Yw+r23Zw+Ty)/(r31Xw+r32Yw+r33Zw+Tz)]
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, Ziw) e de imagem (xi, yi). As
equações anteriores tem mesmo denominador, então
cada par de pontos dá uma equação da forma:
xify(r21Xiw+r22Yiw+r23Ziw+Ty) = yifx(r11Xiw+r12Yiw+r13Ziw+Tx)
ou
xi(r21Xiw+r22Yiw+r23Ziw+Ty)=yi( fx/fy) (r11Xiw+r12Yiw+r13Ziw+Tx)
xi(r21Xiw+r22Yiw+r23Ziw+Ty)=yi( fx/fy) (r11Xiw+r12Yiw+r13Ziw+Tx)
Método direto
• Como  = fx/fy é 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
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,
única a menos de um fator de escala
• Pode ser determinada pela SVD de A como:
A = UDV, como sendo a coluna de V
correspondente ao único valor singular nulo
ao longo da diagonal de D (veja SVD).
• (pode ser obtida pelos mínimos quadrados)
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:
( v’21 +v’22 v’23)1/2= [2(r221 +r222 r223)]1/2 =||
• Sendo r211 +r212 + r213=1 e >0, obtém-se:
Método direto
• ( v’25+v’26+v’27)1/2=( 22(r211+r212+r213))1/2 =
||
• Basta resolver ambas equações para encontrar
|| e 
• Assim, as primeiras colunas de R e o vetor T
podem ser determinados
• A terceira coluna de R pode ser obtida pelo
produto cruzado das duas anteriores
Método de Tsai
• Tsai's camera model is based on the pin hole
model of perspective projection.
• Given the position of a point in 3D world
coordinates the model predicts the position
of the point's image in 2D pixel coordinates.
• Tsai's model has 11 parameters: five
intrinsics and six extrinsics
Parâmetros internos
• f - Focal length of camera,
• k - Radial lens distortion coefficient,
• Cx, Cy - Co-ordinates of centre of radial
lens distortion,
• Sx - Scale factor to account for any
uncertainty due to imperfections in
hardware timing for scanning and
digitisation,
Parâmetros externos
• Rx, Ry, Rz - Rotation angles for the
transformation between the world and
camera co-ordinates,
• Tx, Ty, Tz - Translation components for the
transformation between the world and
camera co-ordinates.
Método de Tsai
Método de Tsai
• The transformation from world (Xw,Yw,Zw)
to image (Xi,Yi,Zi) co-ordinates considers
the extrinsic parameters of the camera
(Translation T and Rotation R) within the
equation:
Método de Tsai
• where R and T characterize the 3D
transformation from the world to the camera
co-ordinate system and are defined as
follows:
Método de Tsai
Método de Tsai
• 1) Transformation from 3D world coordinates (Xi,Yi) to undistorted image plane
(Xu,Yu) co-ordinates:
Método de Tsai
• 2) Transformation from undistorted (Xu,Yu)
to distorted (Xd,Yd) image co-ordinates:
• with
and k is the lens
distortion coefficient
Método de Tsai
• 3) Transformation from distorted coordinates in image plane (Xd,Yd) to the final
image co-ordinates (Xf,Yf) are:
•
and
• with (dx,dy): distance between adjacent
pixels the X and Y direction (fixed camera
parameters). (Xf,Yf) are the final pixel
position in the image.
Métodos de Calibração
•
•
•
•
Médodo de Fischler-Bolles
Grosky e Tamburino
Kumar e Hanson
Próxima aula 
Método de FISCHLER-BOLLES
• Ao invés de procurarem R e T diretamente,
procuram as distâncias entre os pontos
transformados pi  Rpi  T e a origem:
O’

z

x

b
y
p’3
a
p’1
c
p’2
Método de FISCHLER-BOLLES
• 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 serem determinados a partir da
determinação das distâncias.
Método de FISCHLER-BOLLES
• Baseando-se na figura 3 e aplicando a lei
dos cosenos, pode-se estabelecer as
seguintes equações:
x  y  2 fxy  c  0
2
O
 z
x   p’3
b y a
p’1 c
p’2
2
2
x 2  z 2  2exz  b 2  0
y 2  z 2  2dyz  a 2  0
d  cos , e  cos  ,
f  cos 
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,
elimina o termo y, resultando numa equação
de grau oito em x, do tipo
k 4 x  k 3 x  k 2 x  k1 x  k 0  0
8
sendo
6
4
2
k 4  (1  2 def  d 8  e 2  f 2 ) 2
e
k 3  (1  2 def  d 8  e 2  f 2 ) g
onde g é um polinômio em a, b, c, d, e e f.
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.
• Então, a partir da determinação das
distâncias, podem ser determinados os
parâmetros das transformações.
Método de Grosky e Tamburino
• Base: transformações homogêneas (trata em
conjunto rotação e translação)
yi

 xi
zi

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:
 R11 R12
R
R22
21

 xi, yi, zi,1   xi , yi , zi ,1 R R
 31
32
 D  D
1
2
R13
R23
R33
 D3
0
0

0
1
(1)
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:
R  cos cos  sin  sin  sin 
11
R12
yi
zi



xi
  cos sin   sin  sin  cos
R13  sin  cos
R21  cos  sin 
R22  cos  cos
R23   sin 
R31   sin  cos  cos sin  sin 
R32  sin  sin   cos sin  cos
R11  cos cos 
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:
D1  x F R11  y F R21  zF R31
D2  x F R12  y F R22  zF R32
D3  x F R13  y F R23  zF R33
 R11 R12
R
R
 xi, yi, zi,1   xi , yi , zi ,1 R21 R22
 31
32
 D  D
1
2
R13
R23
R33
 D3
Método de Grosky e Tamburino
• Seja a matriz homogênea T  Tij, as coordenadas de
câmera C   xi, yi, zi,1 , as coordenadas de mundo
W   xi , yi , zi ,1 , pode-se reescrever a equação (1):
(2)
C j  WT
i ij
• Das equações de projeção, um ponto na imagem
pode ser escrito (centro da imagem como origem do
sistema de imagem), como:

xi
yi 
 xi , yi    f z , f z  (3)

i
i 
0
0

0
1
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:
 X i ,Yi    x0  px  xi cos w  yi senw , y0  py  xi senv  yi cos v 
(xi, yi)
(y0 ,y0)
X
Y
(Xi, Yi)
Método de Grosky e Tamburino
• Sendo Px=pxf, Py=pyf fatores de escala, a11=cosw,
a12=senw, a21=senv, a22=cosv, a equação anterior
é reescrita da seguinte forma:

a11xi  a12 yi
a21xi  a22 yi 
, y0  Py
 Xi ,Yi    x0  Px

f
f

• Usando (3), a equação anterior fica:

a11xi  a12 yi
a21xi  a22 yi 
, y0  Py
 Xi ,Yi    x0  Px

zi
zi



 xi , yi    f

xi
yi 
, f 
zi
zi 
(3)
C j  WT
i ij
(2)
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:
Wi  Ti 3 X i  x0   Px  a11Ti1  a12 Ti 2   0


Wi Ti 3 Yi  Y0   Py  a21Ti1  a22 Ti 2   0
que pode ser abreviado:
X iWi Ti 3  X i*Wi  0
*W  0
YW
T

Y
i i i3
i i
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.
• Parâmetros extrínsecos.
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:
pc  Rp  T (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.
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:
t
t
t
p  R pc  R T  R pc  Tw (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.
Restrições de posição para pontos
xw
yc
N
zw
b
yw
xc
B
zc
a
A
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:
xc
X  sx
zc
e
yc
Y  sy
zc
(3)
sendo sx e sy fatores de escala ao longo das
direções X e Y, respectivamente
pc  Rp  T
xc
X  sx
zc
e
yc
Y  sy
zc
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:
 Rp  T  x
X  sx
 Rp  T  z
e
 Rp  T  y
Y  sy
 Rp  T  z
(4)
Restrições de posição para pontos
• Juntando as restrições de ortonormalidade a
estas restrições, pode-se usar o método dos
mínimos quadrados para encontrar uma
solução para R e T.
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:
X cos  Y sin  
• Substituindo X e Y dados pela equação (3) a
equação anterior fica:
sx cosxc  sy sinyc  zc
 0 (5)
zc
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)
N  sx cos , sy sin  , 
• 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:
N  Rp  T 
0
( Rp  T ) z
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.
N  Rp  T   0
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 reta, obtendo-se a equação com
parâmetros de rotação apenas:
  p1  p2   NRd
 0
NR
sendo d´ o vetor unitário definidor da direção
p1p2. Juntando 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.
Generalidades
• As diversas soluções para o problema
utilizam-se de equações e formas adotadas
em geometria (incluindo técnicas de Visão
Computacional e Fotogrametria), obtendose 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.
Generalidades
• O problema de calibração de câmera é típico
de visão computacional, muito abordado nas
duas últimas décadas.
• Em síntese, refere-se à determinação dos
parâmetros intrínsecos e extrínsecos de
câmeras, a partir pontos conhecidos e de
suas imagens e é um pré-processamento para
as diversas aplicações de visão
computacional e visão robótica.
Generalidades
• Note que o método dos mínimos quadrados
é sugerido como ferramenta para resolução
do sistema sobre-determinado, 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.
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 3D de um dado
objeto cujo modelo é conhecido, a partir de
sua projeção (2D) nas imagens.
Dever de casa (para dia 06/10)
• 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 de mundo.
• Cada grupo, usar Tsai e métodos diferentes.
Projeto Final de Visão
Computacional
• Construir o sistema de Visão Estéreo de Galatéia
– Pesquisar na literatura ourtros sistemas similares e
especificar formalmente o problema, resultando num
projeto com objetivos e metas, metodologias,
atividades, UML em alto nível, justificativas, etc (tudo
num relatório). Ao todo umas 20 páginas.
– Projetar o sistema, detalhando cada módulo (fazer UML
detalhando os subsistemas)
– Implementar cada módulo do Sistema de Visão
– Realizar experimentos (tarefas de atenção visual e
reconhecimento deverão ser realizadas pelo sistema)
Download

Calibracao - DCA