Post on 05-Oct-2015
description
DCC884 Viso ComputacionalCalibrao de Cmeras
Prof.: Mario Fernando Montenegro CamposMonitor: Vilar Fiuza da Camara Neto
Universidade Federal de Minas Gerais UFMGDepartamento de Cincia da Computao
Programa de Ps-Graduao em Cincia da Computao
Maio de 2007
DCC884 Viso Computacional Calibrao de cmeras 1 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 2 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 3 / 39
Calibrao de cmeras
Descrever a correspondncia entre pontos da cena (3D) epontos da imagem (2D)
Essa correspondncia pode ser modelada por uma funode projeo proj
Com coordenadas cartesianas: proj : R3 R2, onde
Pi = proj(Pc)
Cuidado com as unidades!Coordenadas cartesianas no so a nica maneira!
DCC884 Viso Computacional Calibrao de cmeras 4 / 39
Calibrao de cmeras
Independentemente da representao adotada, a funo deprojeo depende de um conjunto de parmetros
Parmetros intrnsecos modelam:
caractersticas e configurao das lentes (ex: zoom)caractersticas do elemento sensorgeometria de montagem da cmera
Parmetros extrnsecos modelam:
pose (posio e orientao) da cmera
Apenas parmetros geomtricos importam!
DCC884 Viso Computacional Calibrao de cmeras 5 / 39
Calibrao de cmeras
Problema da Calibrao de Cmeras
Dadas uma ou mais imagens geradas por uma cmera, estimar:
os parmetros intrnsecos,
os parmetros extrnsecos ou
ambos.
DCC884 Viso Computacional Calibrao de cmeras 6 / 39
Cmeras pinhole
Todos os raios de luz passam por um pequeno orifcio emum anteparo
Imagem formada em um plano dentro de uma cmeraobscura
Anteparo
Orifcio (pinhole)
Imagem formada
Raios pticos
Cena
DCC884 Viso Computacional Calibrao de cmeras 7 / 39
Cmeras pinhole: modelo geomtrico
Considera-se que a imagem formada antes do centro deprojeo
Facilita o entendimento e os clculos
Centro deprojeo
Plano deimagem
DCC884 Viso Computacional Calibrao de cmeras 8 / 39
Parmetros intrnsecos
f
sx
sy
(ox, oy)
DCC884 Viso Computacional Calibrao de cmeras 9 / 39
Parmetros intrnsecos
Distncia focal, f [mm]
Coordenadas do centro da imagem, o = (ox, oy) [px]
Tamanho do pixel, s = (sx, sy) [mm/px]
Coeficientes de distoro (radial, tangencial, etc.)
Cisalhamento ou skew (relacionado com o ngulo entre oseixos da imagem)
Outros, a gosto do fregus
Deve-se decidir quais parmetros so relevantes para cadaproblema
DCC884 Viso Computacional Calibrao de cmeras 10 / 39
Parmetros extrnsecos
Posio da cmera, T [mm, m, km, etc.]
Orientao (rotao) da cmera, R (matriz ortonormal)
DCC884 Viso Computacional Calibrao de cmeras 11 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 12 / 39
Formao de imagens
Pontos da cena so mapeados para pontos da imagemsegundo a funo de projeo
Funo pode ser complexa e no-linear difcil derecuperar os parmetros
A funo de projeo pode ser modelada como a aplicaosucessiva de transformaes sobre as coordenadas dospontos
Translaes, rotaes, escalas, projees perspectivas, etc.Mais fcil de compreender o processo de formao deimagensMais fcil de modelar os parmetros de interesse
DCC884 Viso Computacional Calibrao de cmeras 13 / 39
Formao de imagens
Dois grandes passos: Transformao extrnsecaTransformao intrnseca
Transformao extrnseca: translao + rotao para osistema local de coordenadas da cmera
Eixo z apontando para a cena (pontos visveis tm z > 0)Eixos x e y alinhados com os sensores da cmera
Transformao intrnseca: vrias transformaes(translao + rotao + escala + projeo + cisalhamento +etc.) para mapear pontos 3D em pontos 2D
DCC884 Viso Computacional Calibrao de cmeras 14 / 39
Transformaes em coordenadas cartesianas
Translao T = (tx, ty, tz) (3D 3D):px
pypz
=txtytz
+pxpypz
Rotao de graus em torno do eixo x (3D 3D):p
x
pypz
=1 0 00 cos sin
0 sin cos
pxpypz
DCC884 Viso Computacional Calibrao de cmeras 15 / 39
Transformaes em coordenadas cartesianas
Rotao de graus em torno do eixo y (3D 3D):px
pypz
= cos 0 sin 0 1 0 sin 0 cos
pxpypz
Rotao de graus em torno do eixo z (3D 3D):p
x
pypz
=cos sin 0sin cos 0
0 0 1
pxpypz
DCC884 Viso Computacional Calibrao de cmeras 16 / 39
Transformaes em coordenadas cartesianas
Rotao arbitrria R (3D 3D):px
pypz
=r1,1 r1,2 r1,3r2,1 r2,2 r2,3r3,1 r3,2 r3,3
pxpypz
R uma matriz ortonormal.
DCC884 Viso Computacional Calibrao de cmeras 17 / 39
Transformaes em coordenadas cartesianas
Escala no-uniforme S = (sx, sy, sz) (3D 3D):px
pypz
=sx pxsy pysz pz
Projeo: sk = 0
Espelhamento: sk < 0
DCC884 Viso Computacional Calibrao de cmeras 18 / 39
Transformaes em coordenadas cartesianas
Transformaes em sistemas bidimensionais (2D 2D):Seguem a idia das transformaes anteriores,descartando-se as operaes sobre o eixo z
DCC884 Viso Computacional Calibrao de cmeras 19 / 39
Transformaes em coordenadas cartesianas
Projeo perspectiva com distncia focal f (3D 2D):[pxpy
]=
px fpzpy
fpz
Projeo paralela (3D 2D):[
pxpy
]=
[pxpy
]
DCC884 Viso Computacional Calibrao de cmeras 20 / 39
Demonstrao prtica da funo de projeo
[Demonstrao em Matlab. . . ]
DCC884 Viso Computacional Calibrao de cmeras 21 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 22 / 39
Apresentao do 1o mtodo do Trucco & Verri
[Demonstrao em Matlab. . . ]
DCC884 Viso Computacional Calibrao de cmeras 23 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 24 / 39
Coordenadas homogneas
Um ponto no espao bidimensional representado por trscoordenadas: PH = (xH, yH,wH)
Relao com o ponto PC = (xC, yC) em coordenadascartesianas: [
xCyC
]=
[xH/wHyH/wH
]Coordenadas insensveis a um fator de escala diferente dezero
Portanto, no sistema homogneo as coordenadas (2, 3, 1),(4, 6, 2), (2,3,1) e (48, 72, 24) representam o mesmoponto bidimensional
DCC884 Viso Computacional Calibrao de cmeras 25 / 39
Coordenadas homogneas
Pontos no infinito podem ser representados com wH = 0:
(1, 0, 0) (2, 0, 0) (100, 0, 0) um ponto no infinito noeixo x(cos 30, sin 30, 0) (20 cos 30, 20 sin 30, 0) um pontono infinito a 30 do eixo xConveno: sinais definem o quadrante em questo
(1, 0, 0) no lado positivo do eixo x, (1, 0, 0) no ladonegativocoordenadas insensveis a um fator de escala positivo
Ponto (0, 0, 0) no existe
DCC884 Viso Computacional Calibrao de cmeras 26 / 39
Coordenadas homogneas
Um ponto no espao tridimensional segue a mesmafilosofia e representado por quatro coordenadas:PH = (xH, yH, zH,wH)
Relao com o ponto PC = (xC, yC, zC) em coordenadascartesianas: xCyC
zC
=xH/wHyH/wHzH/wH
DCC884 Viso Computacional Calibrao de cmeras 27 / 39
Transformaes em coordenadas homogneas
Qualquer transformao projetiva pode ser representadapela multiplicao das coordenadas por uma matriz detransformao
PH = MPH
Inclui: translaes, rotaes, escalas, espelhamentos,projees, cisalhamento, perspectivas, etc.
Funciona com pontos no infinito!
DCC884 Viso Computacional Calibrao de cmeras 28 / 39
Transformaes em coordenadas homogneas
Pode ser aplicada a vrios pontos com uma nica operao[PH1 | PH2 |
]= M
[PH1 | PH2 |
]Vrias transformaes podem ser combinadas pela simplesmultiplicao das matrizes correspondentes (em ordeminversa)
M = . . . M3 M2 M1
DCC884 Viso Computacional Calibrao de cmeras 29 / 39
Matrizes de transformaes homogneas
Translao T = (tx, ty, tz) (3D 3D):
MT =
1 0 0 tx0 1 0 ty0 0 1 tz0 0 0 1
Rotao de graus em torno do eixo x (3D 3D):
MRx =
1 0 0 00 cos sin 00 sin cos 00 0 0 1
DCC884 Viso Computacional Calibrao de cmeras 30 / 39
Matrizes de transformaes homogneas
Rotao de graus em torno do eixo y (3D 3D):
MRy =
cos 0 sin 0
0 1 0 0 sin 0 cos 0
0 0 0 1
Rotao de graus em torno do eixo z (3D 3D):
MRz =
cos sin 0 0sin cos 0 0
0 0 1 00 0 0 1
DCC884 Viso Computacional Calibrao de cmeras 31 / 39
Matrizes de transformaes homogneas
Rotao arbitrria R (3D 3D):
MR =
r1,1 r1,2 r1,3 0r2,1 r2,2 r2,3 0r3,1 r3,2 r3,3 00 0 0 1
DCC884 Viso Computacional Calibrao de cmeras 32 / 39
Matrizes de transformaes homogneas
Escala no-uniforme S = (sx, sy, sz) (3D 3D):
MS =
sx 0 0 00 sy 0 00 0 sz 00 0 0 1
Projeo: sk = 0
Espelhamento: sk < 0
DCC884 Viso Computacional Calibrao de cmeras 33 / 39
Matrizes de transformaes homogneas
Transformaes em sistemas bidimensionais (2D 2D):Seguem a idia das transformaes anteriores,descartando-se as operaes sobre o eixo z (3a linha e 3a
coluna de cada matriz)
DCC884 Viso Computacional Calibrao de cmeras 34 / 39
Matrizes de transformaes homogneas
Projeo perspectiva com distncia focal f (3D 2D):
MP =
1 0 0 00 1 0 00 0 1/ f 0
Projeo paralela (3D 2D):
MPar =
1 0 0 00 1 0 00 0 0 1
DCC884 Viso Computacional Calibrao de cmeras 35 / 39
Demonstrao prtica de transformaes homogneas
[Demonstrao em Matlab. . . ]
DCC884 Viso Computacional Calibrao de cmeras 36 / 39
Estrutura da apresentao
1. Introduo
2. Formao de imagens
3. Apresentao do 1o mtodo do Trucco & Verri
4. Coordenadas homogneas
5. Apresentao do 2o mtodo do Trucco & Verri
DCC884 Viso Computacional Calibrao de cmeras 37 / 39
Apresentao do 2o mtodo do Trucco & Verri
[Demonstrao em Matlab. . . ]
DCC884 Viso Computacional Calibrao de cmeras 38 / 39
Perguntas?
DCC884 Viso Computacional Calibrao de cmeras 39 / 39
Folha de rostoEstrutura da apresentaoIntroduoCalibrao de cmerasCmeras pinholeParmetros intrnsecosParmetros extrnsecos
Formao de imagensDemonstrao prtica da funo de projeo
Apresentao do 1 mtodo do Trucco & VerriCoordenadas homogneasDemonstrao prtica de transformaes homogneas
Apresentao do 2 mtodo do Trucco & VerriPerguntas?