Calibração de câmeras e
projetores
Paulo Cezar P. Carvalho
Luis Antonio Rivera Escriba
Reconstrução tridimensional
• Princípio: estereoscopia (visão binocular)
• Necessário conhecer a relação entre pontos da
imagem e os pontos correspondentes do espaço.
Modelagem e calibração de
câmeras
• Modelagem
Qual é a forma da função que associa a cada
ponto do espaço sua posição na imagem?
De que parâmetros depende?
• Calibração
Para uma câmera específica, quais são os
valores destes parâmetros?
Modelos de câmera
Modelos de câmera
• Câmera pin-hole
equivalente
• Deformação radial causada pelas lentes
(modelo empírico)
Câmera pin-hole
• Projeção perspectiva
• Que técnicas matemáticas são apropriadas para lidar com
projeções perspectivas?
Geometria Projetiva
• Espaço projetivo RPn
Retas pela origem em Rn+1
• Coordenadas homogêneas
(x, y)  [x, y, 1]  [lx, ly, l]
[u, v, w] = {l(u, v, w) | l ≠ 0}
1
R2
ponto (u/w, v/w)
vetor (u’, v’)
[u’, v’, 0] = {l(u’, v’, 0) | l ≠ 0}
Colineações e transformações projetivas
• Transformações lineares em Rn+1 
Colineações em RPn 
Transformações projetivas em Rn
A’
B’
 x
 x u 
 x  
 u / w




   y  [ P ] y  v  







v / w
 y  1 





 
 1   w
1
C
B
R2
A
A’’ B’’
C’
C’’
Projeção Perspectiva
P = (X,Y,Z)
fX
fY
x
, y
Z
Z
y
p = (x, y)
x
Y
Z
f
 x  f
 y   0
  
 1   0
X
0
f
0
X 
0 0  
Y


0 0
Z 
1 0  
1
Transformação de câmera
• Quatro sistemas de coordenadas
–
–
–
–
do mundo (SCM)
da câmera (SCC)
da imagem (SCI)
em pixels (SCP)
P = (X,Y, Z)
y
~
Y
x
• Três transformações
SCI
Z
~
Z
~
O
SCC
~
X
v
X
(u,v)
O
SCM
Y
u
SCP
SCM  SCC
• Mudança de referencial
~
X 
X 
 ~
Y 
R
T


Y
 
 
~


Z  0 1  Z 
 
 
 1 
1
P = (X,Y, Z)
y
~
Y
x
SCI
Z
~
Z
~
O
SCC
~
X
v
X
(u,v)
O
SCM
Y
u
SCP
SCC  SCI
• Projeção perspectiva
 x  f
 y   0
  
 1   0
0
f
0
0 0
0 0
1 0
~
X 
 ~
Y 
 Z~ 
 
 1 
P = (X,Y, Z)
y
~
Y
x
SCI
Z
~
Z
~
O
SCC
~
X
v
X
(u,v)
O
SCM
Y
u
SCP
SCI  SCP
• Transformação afim
P = (X,Y, Z)
y
u   s x
  
v    0
 1   0


sy
0
u0 

v0 

1
 x
 
 y
 1 
~
Y
x
SCI
Z
~
Z
~
O
SCC
~
X
v
X
(u,v)
O
SCM
Y
u
SCP
Compondo as transformações
u   s x
v    0
  
1   0

sy
0
u   f x
v    0
  
1   0
c
fy
0
[ p]  K
X 
0 0
Y 
R
T


 
0 0 

0 1  Z 


1 0
 
1
X 
u0 
Y 

v0  R T   
Z 

1
 
1
u0   f
v0   0
1   0
R
T
0
f
0
P
parâmetros extrínsecos
parâmetros intrínsecos
Calibração de câmera
• Problema: obter os parâmetros extrínsecos (R, T)
e intrínsecos (K) da transformação projetiva de
câmera.
• Dados: n pares de pontos correspondentes (Pi, pi)
na cena e na imagem.
Calibração de câmeras
• Calibração  estimação de parâmetros 
otimização
min  | pi  f K ,R,T ( Pi ) |
2
K , R,T
pontos da cena
projeção (função não linear)
pontos da imagem
Resolvendo o problema de otimização
• Otimização não-linear
• Obtenção de uma boa solução inicial
• Utilização de um método iterativo para
melhorar a solução obtida
Resolvendo o problema de otimização
• Otimização não-linear
• Obtenção de uma boa solução inicial
– método de Tsai
– método de Zhang
• Utilização de um método iterativo para
melhorar a solução obtida
– método de Levenberg-Marquardt
Resolvendo o problema de otimização
• Otimização não-linear
• Obtenção de uma boa solução inicial
– método de Tsai
– método de Zhang
• Utilização de um método iterativo para
melhorar a solução obtida
– método de Levenberg-Marquardt
Método de Tsai
• Padrão de calibração bidimensional (também há
uma versão para padrão tridimensional).
• Modelo mais restrito de câmera (ponto principal
conhecido e pixels quadrados).
f
K   0
 0
0
f
0
0
0
1
• Resolve uma sequência de problemas de mínimos
quadrados lineares
Método de Tsai
• Parâmetros
 rxx rxy

R  ryx ryy
 rzx rzy


rxz 

ryz  (matriz ortonormal
)
rzz 
T  Tx Ty Tz

(em metros),
f (em pixels)
• Dados
Pi = (Xi, Yi, 0), pi = (ui, vi, 0), i = 1, 2, ..., n
Método de Tsai
• Cada par cena-imagem fornece uma equação envolvendo
U1=rxx/Ty, U2=rxy/Ty, U3=Tx/Ty. U4=ryx/Ty, U5=ryy/Ty
ui  f
rxx X i  rxyYi  Tx
rzx X i  rzyYi  Tz
, vi  f
rxx X i  rxyYi  Ty
rzx X i  rzyYi  Tz
rxy
Tx
rxx
Yi 
Xi 
Ty
Ty
ui rxx X i  rxyYi  Tx Ty


ryy
ryx
vi ryx X i  ryyYi  Ty
Yi  1
Xi 
Ty
Ty
vi X iU1  viYiU 2  viU 3  ui X iU 4  uiYiU 5  ui
Método de Tsai
• Os valores de U1, ..., U5 são encontrados
resolvendo um sistema de equações lineares
com mais equações do que incógnitas
(mínimos quadrados).
• As condições de ortonormalidade permitem,
a partir daí, obter R, Tx e Ty.
(ficam faltando f e Tz)
Método de Tsai
• Os valores de f e Tz são encontrados por
meio de outro problema de mínimos
quadrados.
ui  f
rxx X i  rxyYi  Tx
rzx X i  rzyYi  Tz
, vi  f
rxx X i  rxyYi  Ty
rzx X i  rzyYi  Tz

(rxx X i  rxyYi  Tx ) f  uiTz  ui (rzx X i  rzyYi )


(ryx X i  ryyYi  Ty ) f  viTz  vi (rzx X i  rzyYi )
Exemplo
Exemplo
cena: (0, 13.84, 0)
imagem: (15, 254)
Z
Y
X
 0.7847 0.6195  0.0201
 20.2297


R   0.1515  0.2231  0.9629, T   3.6184, f  1755.14
 0.6010 0.7526  0.2690
 56.7600
Posição da câmera: RtT  (49 m, 29 m, 18 m)
Possíveis arquiteturas
• Somente câmeras (calibradas)
• Câmera e projetor (ambos calibrados)
• Câmeras (calibradas) e projetor (não
calibrado)
Calibração conjunta de câmeras
• Padrão de calibração estacionário
• Parâmetros extrínsecos com relação a este sistema
Calibração câmera-projetor
• Projetor não pode ser calibrado diretamente
através de padrão de calibração!
Calibração câmera-projetor
• Câmera calibrada
normalmente
(com padrão de calibração)
• Projetor calibrado através da
câmera: projeção de padrão
conhecido sobre o plano do
padrão de calibração
Calibração câmera-projetor
• Câmera já calibrada, com parâmetros K, R, t
• Para cada ponto, correspondência entre
– ponto (u, v) da imagem projetada (em pixels)
– ponto do plano z = 0 do mundo, obtido resolvendo
 x   wu '
K [ R t ]  y    wv ' 
 0   w 
onde (u’, v’) são as coordenadas na imagem capturada
Exemplo
CAMERA
fc: 539.464252
Rc:
0.948741 -0.195518 0.248319
0.009372 0.802746 0.596248
-0.315915 -0.563358 0.763430
Tc:
-26.773141 -18.953860 118.435571
CAMERA  PROJETOR
Rcp:
0.957363 0.001997 -0.288881
0.049429 0.984097 0.170614
0.284627 -0.177619 0.942040
PROJETOR
fp: 1682.618801
Rp:
0.999570 -0.022836 0.018382
0.002219 0.684199 0.729292
-0.029231 -0.728938 0.683955
Tp:
-20.237278 -11.698420 221.246040
Tcp:
39.645942 -11.929347 113.928842
Download

PCfotografia3D - PUC-Rio