Calibração de cameras

March 21, 2018 | Author: F.s. Guizi | Category: Computer Vision, Geometry, Physics & Mathematics, Mathematics, Mathematical Objects


Comments



Description

DCC884 – Visão ComputacionalCalibraçã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 Estrutura da apresentação 1. Introdução 2. Formação de imagens 3. Apresentação do 1o método do Trucco & Verri 4. Coordenadas homogêneas 5. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 2 / 39 Estrutura da apresentação 1. Introdução 2. Formação de imagens 3. Apresentação do 1o método do Trucco & Verri 4. Coordenadas homogêneas 5. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 3 / 39 Calibração de câmeras Descrever a correspondência entre pontos da cena (3D) e pontos da imagem (2D) Essa correspondência pode ser modelada por uma função de projeção proj Com coordenadas cartesianas: proj : R3 → R2 . onde Pi = proj( Pc ) Cuidado com as unidades! Coordenadas cartesianas não são a única maneira! DCC884 — Visão Computacional Calibração de câmeras 4 / 39 . Calibração de câmeras Independentemente da representação adotada. a função de projeção depende de um conjunto de parâmetros Parâmetros intrínsecos modelam: características e configuração das lentes (ex: zoom) características do elemento sensor geometria de montagem da câmera Parâmetros extrínsecos modelam: pose (posição e orientação) da câmera Apenas parâmetros geométricos importam! DCC884 — Visão Computacional Calibração de câmeras 5 / 39 . os parâmetros extrínsecos ou ambos.Calibração de câmeras Problema da Calibração de Câmeras Dadas uma ou mais imagens geradas por uma câmera. estimar: os parâmetros intrínsecos. DCC884 — Visão Computacional Calibração de câmeras 6 / 39 . Câmeras pinhole Todos os raios de luz passam por um pequeno orifício em um anteparo Imagem é formada em um plano dentro de uma câmera obscura Raios ópticos Orifício (pinhole) Anteparo Cena Imagem formada DCC884 — Visão Computacional Calibração de câmeras 7 / 39 . Câmeras pinhole: modelo geométrico Considera-se que a imagem é formada antes do centro de projeção Facilita o entendimento e os cálculos Centro de projeção Plano de imagem DCC884 — Visão Computacional Calibração de câmeras 8 / 39 . oy ) f DCC884 — Visão Computacional Calibração de câmeras 9 / 39 .Parâmetros intrínsecos sx sy ( o x . etc. a gosto do freguês Deve-se decidir quais parâmetros são relevantes para cada problema DCC884 — Visão Computacional Calibração de câmeras 10 / 39 . sy ) [mm/px] Coeficientes de distorção (radial. o = (o x .) Cisalhamento ou skew (relacionado com o ângulo entre os eixos da imagem) Outros. f [mm] Coordenadas do centro da imagem.Parâmetros intrínsecos Distância focal. tangencial. s = (s x . oy ) [px] Tamanho do pixel. T [mm. km.] Orientação (rotação) da câmera. etc. R (matriz ortonormal) DCC884 — Visão Computacional Calibração de câmeras 11 / 39 .Parâmetros extrínsecos Posição da câmera. m. Estrutura da apresentação 1. Formação de imagens 3. Introdução 2. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 12 / 39 . Coordenadas homogêneas 5. Apresentação do 1o método do Trucco & Verri 4. projeções perspectivas. rotações. escalas. etc. Mais fácil de compreender o processo de formação de imagens Mais fácil de modelar os parâmetros de interesse DCC884 — Visão Computacional Calibração de câmeras 13 / 39 .Formação de imagens Pontos da cena são mapeados para pontos da imagem segundo a função de projeção Função pode ser complexa e não-linear → difícil de recuperar os parâmetros A função de projeção pode ser modelada como a aplicação sucessiva de transformações sobre as coordenadas dos pontos Translações. ) para mapear pontos 3D em pontos 2D DCC884 — Visão Computacional Calibração de câmeras 14 / 39 .Formação de imagens Dois grandes passos: Transformação extrínseca → Transformação intrínseca Transformação extrínseca: translação + rotação para o sistema local de coordenadas da câmera Eixo z apontando para a cena (pontos visíveis têm z > 0) Eixos x e y alinhados com os sensores da câmera Transformação intrínseca: várias transformações (translação + rotação + escala + projeção + cisalhamento + etc. Transformações em coordenadas cartesianas Translação T = (t x . tz ) (3D → 3D): p0x     tx px  0      py  =  ty  +  py  tz pz p0z   Rotação de α graus em torno do eixo x (3D → 3D):  p0x   1 0 0  px   0     py  = 0 cos α − sin α  py  p0z 0 sin α cos α pz DCC884 — Visão Computacional Calibração de câmeras 15 / 39 . ty . Transformações em coordenadas cartesianas Rotação de β graus em torno do eixo y (3D → 3D):  p0x   cos β 0 sin β  px     0  1 0   py   py  =  0 p0z − sin β 0 cos β pz Rotação de γ graus em torno do eixo z (3D → 3D):  p0x   cos γ − sin γ 0  0   py  =  sin γ p0z 0 DCC884 — Visão Computacional cos γ 0  px    0  p y  1 Calibração de câmeras pz 16 / 39 . 2 r1.1 r1.3 pz R é uma matriz ortonormal.2 r2.3  px     0   py  = r2.2 r3.3   py  p0z r3.Transformações em coordenadas cartesianas Rotação arbitrária R (3D → 3D):  p0x   r1.1 r2. DCC884 — Visão Computacional Calibração de câmeras 17 / 39 .1 r3. sy . sz ) (3D → 3D):  p0x   sx px   0    py  =  sy py  p0z sz pz Projeção: sk = 0 Espelhamento: sk < 0 DCC884 — Visão Computacional Calibração de câmeras 18 / 39 .Transformações em coordenadas cartesianas Escala não-uniforme S = (s x . descartando-se as operações sobre o eixo z DCC884 — Visão Computacional Calibração de câmeras 19 / 39 .Transformações em coordenadas cartesianas Transformações em sistemas bidimensionais (2D → 2D): Seguem a idéia das transformações anteriores. Transformações em coordenadas cartesianas Projeção perspectiva com distância focal f (3D → 2D): " p0x p0y  # = f  f  p x pz p y pz Projeção paralela (3D → 2D): " p0x p0y DCC884 — Visão Computacional # " = px # py Calibração de câmeras 20 / 39 . . .Demonstração prática da função de projeção [Demonstração em Matlab. ] DCC884 — Visão Computacional Calibração de câmeras 21 / 39 . Coordenadas homogêneas 5.Estrutura da apresentação 1. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 22 / 39 . Formação de imagens 3. Introdução 2. Apresentação do 1o método do Trucco & Verri 4. Apresentação do 1o método do Trucco & Verri [Demonstração em Matlab. . . ] DCC884 — Visão Computacional Calibração de câmeras 23 / 39 . Apresentação do 1o método do Trucco & Verri 4. Introdução 2. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 24 / 39 .Estrutura da apresentação 1. Formação de imagens 3. Coordenadas homogêneas 5. w H ) Relação com o ponto PC = ( xC . 24) representam o mesmo ponto bidimensional DCC884 — Visão Computacional Calibração de câmeras 25 / 39 . −3. −1) e (48. no sistema homogêneo as coordenadas (2. (−2. (4. yC ) em coordenadas cartesianas: " xC yC # " = x H /w H # y H /w H Coordenadas insensíveis a um fator de escala diferente de zero Portanto. 2).Coordenadas homogêneas Um ponto no espaço bidimensional é representado por três coordenadas: PH = ( x H . 6. y H . 72. 1). 3. 0) é um ponto no infinito a 30◦ do eixo x Convenção: sinais definem o quadrante em questão (1. sin 30◦ . 0) ≡ (−100. 0. 0. (−1.Coordenadas homogêneas Pontos no infinito podem ser representados com w H = 0: (1. 0) é no lado negativo coordenadas insensíveis a um fator de escala positivo Ponto (0. 0) não existe DCC884 — Visão Computacional Calibração de câmeras 26 / 39 . 0) é no lado positivo do eixo x. 0) ≡ (20 cos 30◦ . 0) ≡ (2. 0. 0. 0. 0. 0) é um ponto no infinito no eixo x (cos 30◦ . 20 sin 30◦ . Coordenadas homogêneas Um ponto no espaço tridimensional segue a mesma filosofia e é representado por quatro coordenadas: PH = ( x H . zC ) em coordenadas cartesianas:  xC   x H /w H       yC  =  y H /w H  zC z H /w H DCC884 — Visão Computacional Calibração de câmeras 27 / 39 . w H ) Relação com o ponto PC = ( xC . y H . z H . yC . projeções. perspectivas. rotações. Funciona com pontos no infinito! DCC884 — Visão Computacional Calibração de câmeras 28 / 39 . espelhamentos.Transformações em coordenadas homogêneas Qualquer transformação projetiva pode ser representada pela multiplicação das coordenadas por uma matriz de transformação PH0 = M PH Inclui: translações. escalas. cisalhamento. etc. . M3 M2 M1 DCC884 — Visão Computacional Calibração de câmeras 29 / 39 .Transformações em coordenadas homogêneas Pode ser aplicada a vários pontos com uma única operação h 0 PH1 | 0 PH2 i h i = M | ··· PH1 | PH2 | · · · Várias transformações podem ser combinadas pela simples multiplicação das matrizes correspondentes (em ordem inversa) M = . . Matrizes de transformações homogêneas Translação T = (t x . tz ) (3D → 3D):  1 0 0 tx    0 1 0 t y    MT =   0 0 1 t z  0 0 0 1 Rotação de α graus em torno do eixo x (3D → 3D):  MRx DCC884 — Visão Computacional 1 0 0 0    0 cos α − sin α 0  = 0 sin α cos α 0   0 0 0 1 Calibração de câmeras 30 / 39 . ty . Matrizes de transformações homogêneas Rotação 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 Rotação de γ graus em torno do eixo z (3D → 3D):  MRz DCC884 — Visão Computacional cos γ − sin γ 0 0   sin γ =  0  0 cos γ 0 0   0 0  1 0  0 1 Calibração de câmeras 31 / 39 . 3 0    r2.1 r1.3 0 0 0 0 1 DCC884 — Visão Computacional Calibração de câmeras 32 / 39 .1 r3.3 0  MR =  r   3.Matrizes de transformações homogêneas Rotação arbitrária R (3D → 3D):  r1.2 r3.2 r1.1 r2.2 r2. sz ) (3D → 3D):   sx 0 0 0  0 MS =  0  0 sy 0 0 sz 0 0  0  0  1 Projeção: sk = 0 Espelhamento: sk < 0 DCC884 — Visão Computacional Calibração de câmeras 33 / 39 .Matrizes de transformações homogêneas Escala não-uniforme S = (s x . sy . Matrizes de transformações homogêneas Transformações em sistemas bidimensionais (2D → 2D): Seguem a idéia das transformações anteriores. descartando-se as operações sobre o eixo z (3a linha e 3a coluna de cada matriz) DCC884 — Visão Computacional Calibração de câmeras 34 / 39 . Matrizes de transformações homogêneas Projeção perspectiva com distância focal f (3D → 2D):  1 0 0  M P = 0 1 0 0 0 1/ f 0   0 0 Projeção paralela (3D → 2D):  1 0 0 0    MPar = 0 1 0 0 0 0 0 1 DCC884 — Visão Computacional Calibração de câmeras 35 / 39 . Demonstração prática de transformações homogêneas [Demonstração em Matlab. . . ] DCC884 — Visão Computacional Calibração de câmeras 36 / 39 . Introdução 2. Apresentação do 2o método do Trucco & Verri DCC884 — Visão Computacional Calibração de câmeras 37 / 39 . Apresentação do 1o método do Trucco & Verri 4. Coordenadas homogêneas 5.Estrutura da apresentação 1. Formação de imagens 3. ] DCC884 — Visão Computacional Calibração de câmeras 38 / 39 . .Apresentação do 2o método do Trucco & Verri [Demonstração em Matlab. . Perguntas? DCC884 — Visão Computacional Calibração de câmeras 39 / 39 .
Copyright © 2024 DOKUMEN.SITE Inc.