Sistemas Gráficos 3D 2007
Instituto de Matemática Pura e Aplicada

 
line decor
  Introdução  :: Calibração  ::  Etapas Envolvidas  ::  Sistema Desenvolvido  :: Resultados  :: Slides  ::
line decor
   
 
Introdução
linha

Os métodos de calibração de câmera consistem em determinar as características geométricas e ópticas internas da câmera assim como sua orientação e posição em relação a um certo sistema de coordenadas do mundo. Este processo geralmente é dado pela resolução de um problema de otimização não-linear supondo ser conhecido um conjunto de pares de pontos 3D, Pi, no sistema de coordenadas da câmera e sua projeção 2D, pi,  no sistema de coordenadas em pixels.

Existem diversos trabalhos e sistemas de calibração disponíveis que geram bons resultados para calibrações. Grande parte destes sistemas realizam a calibração utilizando padrões e suas respectivas imagens, com os métodos do Tsai (Tsai 1987) e Zhang(Zhang 1998). Porém, nota-se a ausência de um sistema de calibração que permita calibrar vários equipamentos, com a possibilidade de utilizar métodos diferentes para cada um, e realizar uma análise comparativa entre os mesmos com o resultado de cada calibração. A não existência destes sistemas de calibração adaptativos deu o impulso inicial para a proposta de uma estrutura generalizada e desenvolvimento do sistema.

O objetivo deste trabalho durante a disciplina consistiu em implementar a reprojeção dos pontos do mundo, utilizando uma câmera virtual com os parâmetros obtidos como resultado da calibração. Estes pontos reprojetados deverão coincidir com os da imagem original se o resultado da calibração estiver correto. Portanto, trata-se de uma análise de erro do método de calibração utilizado.

Calibração
linha

A calibração de câmera consiste no processo de determinar dados geométricos e ópticos da câmera, admitindo que sejam conhecidos pares de  conjuntos de pontos bidimensionais em uma imagem e seus respectivos pontos tridimensionais. Estes parâmetros podem ser classificados em dois grupos: extrínsecos e intrínsecos.

  • Parâmetros Extrínsecos: fornecem informações da posição e orientação da câmera em relação a um certo sistema de coordenadas global (ou do mundo);
  • Parâmetros Intrínsecos: fornecem características ópticas e geométricas internas da câmera (distância focal, fatores de escala, posição em pixels da projeção ortogonal do centro óptico no plano de projeção e as distorções proporcionadas pelas lentes).

Existe uma transformação que relaciona os pontos tridimensionais com os respectivos bidimensionais, exceto por distorções e erros mínimos. Equacionando estas relações com o uso de equações lineares na variável de posição de um objeto, os coeficientes destas equações serão exatamente funções dos dados que a calibração determina. O processo de calibração de câmera pode se resumir a encontrar tais valores a partir de um conjunto de pontos 3D e 2D correspondentes.

Esta transformação é dada por:

Onde:

  • f é a distância focal;
  • sx e sy correspondem ao número de pixels por unidade de comprimento em ambas direções, horizontal e vertical, respectivamente;
  • Cx e Cy representam as coordenadas da projeção ortogonal do centro óptico no plano de projeção;
  • t é dada pela tangente do ângulo que as colunas da matriz de pixels formam com a perpendicular com as linhas;
  • R e T, correspondem a matriz de rotação e o vetor de translação, respectivamente, que levam o ponto P no Sistema de Coordenadas do Mundo no Sistema de Coordenadas da Câmera.

A resolução desse sistema de equações, conhecendo os conjuntos de pontos pi, e Pi,, é o problema central da calibração, e por isso existem diversos métodos para encontrar tais soluções, tais como Tsai (Tsai 1987), Zhang(Zhang 1998)., entre outros. De um modo geral o processo de calibração pode ser descrito da seguinte forma:

1. Determinar um conjunto de pontos no sistema de coordenadas do mundo e suas respectivas projeções nas imagens;
2. Resolver as equações lineares;
3. Otimizar os dados obtidos, utilizando o resultado da etapa anterior como solução inicial.

Etapas Envolvidas
linha

Um processo padrão de calibração de câmera, como vimos anteriormente, pode ser estruturado da seguinte forma:

  1. Aquisição dos dados (especificação e correspondência);
  2. Calibração (resolução de equações lineares);
  3. Otimização dos dados obtidos, utilizando o resultado da etapa anterior como solução inicial.

A etapa de Aquisição de Dados Iniciais está altamente relacionada com a especificação do usuário, a partir da qual o conjunto de dados de entrada será definido. Esses dados, em geral, são composto por um conjunto de pares de pontos 2D e 3D.

Usualmente o conjunto de pontos 3D correspondem a pontos de um padrão de calibração. Diversos métodos utilizam padrões cujas coordenadas de seus pontos sejam relativamente fáceis de se calcular. O conjunto de pontos 2D é extraído de uma imagem do padrão adquirida pelo equipamento a ser calibrado. A partir do padrão e das imagens precisamos de algum método para obter a correspondência entre os pontos adquiridos que serão utilizados na calibração.

A etapa de Calibração consiste em definir a heurística para resolver o problema, ou sejam define-se  o método de calibração que irá ser utilizado, exemplo de métodos são Tsai (Tsai 1987) e Zhang(Zhang 1998). Assim como para etapa de Calibração, a etapa de Otimização consiste em definir o método que será usado para otimizar os resultados obtidos durante a Calibração. O método de otimização mais utilizado é o algoritmo de Levenberg-Marquadt (Ranganathan 2004), (Lourakis 2005), que provê uma solução numérica para o problema de minimização de uma função de reprojeção dos pontos, esta geralmente não linear. 

A figura abaixo mostra as etapas do processo de calibração detalhando os elementos envolvidos.

etapas
Sistema Desenvolvido
linha

O sistema desenvolvido consiste em dois módulos:

  • EditCalib - responsável pela criação e edição dos pipelines de calibração;
  • ExecCalib - responsável pela execução dos pipelines.
2modulos
O módulo EditCalib permite a personalização de cada elemento das etapas de Calibração, o que fornece maior flexibilidade ao usuário para criar diferentes processoes de calibração. Tais pipelines serão interpretados para sua execução no módulo ExecCalib. Foi adicionado no ExecCalib, para fins do projeto da disciplina, a opção de reprojetar os pontos 3D do padrão utilizando uma câmera virtual calibrada com os parâmetros encontrados pela calibração. Ou seja, com os resultados obtidos na calibração (parâmetros intrínsecos e extrínsecos), "construir" uma câmera virtual e "tirar uma foto" dos pontos 3D que foram dados pelo método de correspondência. Se a foto(imagem) "tirada" pela câmera virtual coincidir com os pontos da imagem original, podemos afirmar que os resultados da calibração estão corretos.
Resultados
linha

Foram realizados vários testes utilizando o método Tsai e padrões Xadrez. Seguem abaixo alguns dos resultados obtidos:

EXEMPLO 1.

corresp0

CORRESPONDÊNCIA

calib1

CALIBRAÇÃO

REPROJ1

REPROJEÇÃO

EXEMPLO 2.

calib2

CALIBRAÇÃO

reproj2

REPROJEÇÃO

EXEMPLO 3.

calib3

CALIBRAÇÃO

reproj3

REPROJEÇÃO

Referências
linha
Carvalho, P. C., Velho, L., Montenegro, A. A., Peixoto, A., Sá, A., Soares, E. & Escriba,L. A. R. (2005), Fotografia 3D, Associação Instituto de Matemática Pura e Aplicada, IMPA, Rio de Janeiro.
Horn, B. K. (2000), ‘Tsai’s camera calibration method revisited’.
Kushal, A. M., Bansal, V. & Banerjee, S. (n.d.), ‘A simple method for interactive 3d reconstruction and camera calibration from a single view’.
Lourakis, M. I. A. (2005), ‘A brief description of the levenberg-marquardt algorithm implemented by levmar’.
Ranganathan, A. (2004), ‘The levenberg-marquardt algorithm’.
Szenberg, F., Carvalho, P. & Gattass, M. (2001), ‘Automatic camera calibration for image sequences of a football match, advances in pattern recognition’, pp. 301–311.
Tapper, M., McKerrow, P. J. & Abrantes, J. (2002), ‘Problems encountered in the implementation of tsai’s algorithm for camera calibration’, Proc.2002 Australasian Conference on Robotics and Automation .
Tsai, R. Y. (1987), ‘A versatile camera calibration technique for high-accuracy 3d machine vision metrology using off-the-shelf tv cameras and lenses’, Ieee Journal Of Robotics And Automation RA-3(4), 323–344.
Velho, L. & Gomes, J. (2003), Fundamentos da Computação Gráfica, Associação Instituto de Matemática Pura e Aplicada, IMPA, Rio de Janeiro.
Zhang, Z. (1998), A flexible new technique for camera calibration, Technical report, Microsoft Corporation.