calibração de cameras

39
 DCC884 – Visão Computacional Calibração de Câmeras Prof.: Mario Fernando Montenegro Campos Monitor: Vilar Fiuza da Camara Neto Universidade Federal de Minas Gerais — UFMG Departamento de Ciência da Computação Programa de Pós-Graduação em Ciência da Computação Maio de 2007 DCC884 — Visão Computacional  Calibração de câmeras  1 / 39

Upload: fs-guizi

Post on 05-Oct-2015

227 views

Category:

Documents


0 download

DESCRIPTION

Aula de calibração de cameras.

TRANSCRIPT

  • 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?