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