Múltipla calibração eficiente e precisa de câmeras baseada em padrões colineares invariantes a projeção (Efficient and precise multiple camera calibration based on collinear projective invariant patterns) Proposta de doutorado Manuel Eduardo Loaiza Fernandez Marcelo Gattass (orientador) Alberto B. Raposo (co-orientador) 1 Objetivo da Proposta • Desenvolver um algoritmo para, simultaneamente, calibrar de forma eficiente e precisa várias câmeras com base nas características invariantes intrínsecas dos padrões colineares. 2 Índice • Calibração de câmera. – Calibração câmera e parâmetros. – Múltipla calibração câmera. • Áreas de aplicação da teoria múltipla calibração câmera. • Métodos para múltipla calibração câmera. • Novo método proposto. • Correspondência de imagens 2D. – Geometria epipolar. • Calculo da matriz fundamental. • Reconstrução 3D. – Euclidiana. – Euclidiano - Métrica. • Resultados. 3 Calibração de câmera • Modelar o relacionamento entre o mundo 3D e o plano da imagem 2D que é a projeção do espaço físico capturado. • O modelo mais utilizado é o modelo de câmera “Pinhole”. 4 Calibração de câmera: parâmetros • Internos. – Distancia focal (f). – Centro da imagem(Ou’,Ov’). • Externos. – Matriz de rotação ( R ). – Vetor de translação ( T ). 5 Calibração de câmera: outros parâmetros internos • Coeficientes da distorção das lentes. • Radial (k1,k2). • Tangencial (p1,p2). • Tipos de distorção “pincushion” e “barrel”. Barrel Pincushion 6 Múltipla calibração câmera • Calibração de varias câmeras simultaneamente. • Estéreo: calibração de 2 câmeras. Calibração estéreo Múltipla calibração 7 Áreas de aplicação da teoria Múltipla calibração câmera • Sistemas de rastreamento óptico, usadas em aplicações de realidade virtual e aumentada. 8 Áreas de aplicação da teoria múltipla calibração câmera • Sistemas de captura de movimento, usadas em áreas de animação 3D. 9 Áreas de aplicação da teoria Múltipla calibração câmera • Sistemas de navegação para robôs. 10 Múltipla calibração câmera (Métodos) • Alguns dos métodos mais conhecidos para calibração de câmera são: – [Jean-Yves Bouguet, 2008 ] apresenta um toolbox completa para calibração de câmera onde se inclui uma versão para estéreo câmera calibração . – [Borghese, 2000] apresenta um método para estéreo calibração baseada na captura de uma barra com 2 marcadores bem identificados, adotado por vários sistema de rastreamento ótico comerciais como [ART, 2008 ] [VICON, 2008]. – [Svoboda et al, 2005] apresenta um novo método para múltipla calibração câmera baseada na captura de um 1 marcador, e foi modificado para funcionar num sistema estéreo por [Pintaric, 2007]. – [Uematsu et al, 2007] apresenta um software D-Calib para múltipla calibração câmera baseada na captura e um padrão planar e uma barra com 2 marcadores, misturando as abordagens de Borghese e Bouguet e mantendo as mesmas restrições de ambos. 11 Calibração de Câmeras Estéreo • Apresentada em [Jean-Yves Bouguet, 2008 ]: – Padrão de calibração: padrão planar com formato de tabuleiro de xadrez. 12 Jean-Yves Bouguet, 2008 – Calibração inicial individual para cada câmera. – A captura da amostragem para otimização global do sistema estéreo é difícil, por causa de não puder capturar uma boa amostra de vistas validas do padrão nas duas câmeras ao mesmo tempo. – Otimização baseada no erro de reprojeção 2D dos pontos da amostragem em cada vista do padrão. – Não aplicável para um sistema múltipla calibração. 13 Calibração estéreo [Borghese, 2000]: • Padrões de calibração: – Barra em formato de “L”. – Barra com dois marcadores em cada extremo. 14 Borghese, 2000 – Calibração inicial é baseada na extração dos parâmetros internos e externos a partir da decomposição da matriz fundamental(abordagem “Structure from motion”). – A captura da amostragem para calibração precisa de um processamento especifico para realizar a correspondência entre as imagens dos pontos que conformam a barra com 2 marcadores. – Otimização baseada no erro de reprojeção 2D dos pontos da amostragem e distancia 3D entre os pontos do padrão. – Extensível para um sistema múltipla calibração. 15 Múltipla calibração de câmera • Apresentada em [Svoboda et al, 2005] modificada por [Pintaric, 2007]. – Padrão de calibração: um marcador (ponteiro laser). 16 [Svoboda et al, 2005 e Pintaric, 2007] – Calibração inicial é baseada na teoria da “Rank – 4 Factorization” e “Euclidean Estratification”. – Alguns parâmetros internos e de distorção das lentes ( radial, tangencial) precisam ser pré - calculados. – Otimização baseada no erro de reprojeção 2D dos pontos da amostragem. – Adaptável para um sistema de estéreo calibração , mas com muitas restrições iniciais sobre que parâmetros são pré - definidos. – Correspondência 2D entre pontos da amostragem nas diferentes câmeras precisam de um pós – processamento para detectar falsas correspondências. 17 Múltipla calibração de câmera • Apresentada em [Uematsu et al, 2007], quase mistura das implementações de [Borghese, 2000] e [Bouguet, 2008]. – Padrão de calibração: barra de calibração e padrão planar. 18 Uematsu, 2007 – Calibração inicial feita a partir da analise e extração da homografia entre os pontos 3D do padrão planar e os pontos 2D correspondentes que aparecem em cada câmera do sistema. – Alguns parâmetros internos como a distancia focal podem ser calculados e outros são desprezados como distorção de lentes. – Otimização baseada no erro de reprojeção 2D e medidas 3D dos pontos da amostragem (Borghese , 2000). – Correspondência 2D entre pontos da amostragem nas diferentes câmeras precisam de um pós – processamento para detectar falsas correspondências. 19 Múltipla calibração de câmera • Método proposto para múltipla calibração de câmera. – Padrão de calibração: padrão planar (Planar formato de Xadrez, “L” ou nenhum) e padrão colinear com características projetivas invariantes [Loaiza et al, 2007]. – Calibração feita em 3 etapas. 20 Múltipla calibração de câmera • Sistema estéreo de câmeras, extensível a múltiplas câmeras. • Um computador (ou Laptop ). 21 Método proposto • Etapa inicial: – Calibração inicial individual para cada câmera usando método planar [Zhang, 2000]. – Calibração estéreo pode ser com padrão planar ou um padrão do tipo em L. – Nenhum padrão, onde usamos uma abordagem “Structure from motion”. 22 Método proposto • Etapa Inicial: – Captura de um amostra do padrão colinear projetivo invariante. – Detecção do padrão e correspondência dos pontos que conformam o padrão é feita usando a teoria sobre padrões projetivos invariantes [Loaiza et al, 2007], [Meer et al, 1998]. idRight idLeft 23 Método proposto • Etapa Intermédia: – Usando a implementação descrita em [Thormählen et al,2003] podemos aproveitar a colinearidade de nossos padrões para extrair um estimativa dos parâmetros de distorção das lentes. – E usando o valor da projetiva invariantes de nosso padrão podemos fazer a extração de possíveis falsos positivos baseado no desvio padrão calculado para toda amostra de padrões capturados em cada câmera. idProjInv 24 Método proposto • Etapa final: – Otimização dos parâmetros iniciais calculados para cada câmera, isto é feito explorando as características do padrão: – Erro reprojeção 3D - 2D dos pontos: parâmetros internos. – Erro distancias entre pontos do padrão: parâmetros externos (Reconstrução métrica 3D). – Erro colinearidade do padrão: extração dos coeficientes da distorção das lentes. a b c 25 Correspondência de imagens 2D • Correspondência de imagens 2D – Geometria epipolar é a geometria intrínseca projetiva existente entre duas vistas. – A matriz fundamental encapsula esta geometria intrínseca projetiva. – Duas formas de calcular a matriz fundamental: • Baseado no calculo de pontos correspondentes entre duas imagens, sem precisar conhecer os parâmetros câmeras. • Por composição dos parâmetros intrínsecos e extrínsecos das câmeras. 26 Correspondência de imagens 2D • Calculo da matriz fundamental: – Por composição dos parâmetros intrínsecos e extrínsecos das câmeras. – Baseado nos parâmetros intrínsecos de cada câmera e os parâmetros extrínsecos em relação a uma origem em comum podemos calcular a Rotação e Translação “(R,t)” entre as câmeras do sistema estéreo. F K´T t x R K 1 E t x R K, Rl , Tl K´, Rr , Tr 27 Correspondência de imagens 2D • Calculo da matriz fundamental: – Por calculo direto sobre a amostra de pontos corretamente correspondidos. – Algoritmo de “ 8 pontos” – Extração dos parâmetros intrínsecos e extrínsecos das câmeras desde a matriz fundamental. – Parâmetros da distorção das lentes previamente calculados com o padrão colinear. F K´T t x R K 1 E t x R K, Rl , Tl K´, Rr , Tr 28 Correspondência de imagens 2D • Em nossa implementação utilizamos o primeiro método para calcular nossa matriz fundamental, pois aproveitaremos o processo de otimização da etapa de calibração para também otimizar o cálculo de nossa matriz fundamental. 29 Correspondência de imagens 2D • Aproveitamos o calculo inicial dos coeficientes da distorção das lentes (Radial, Tangencial). idProjInv 30 Correspondência de imagens 2D • Este cálculo e otimização consiste no seguinte processamento: 1. Calcula-se uma matriz fundamental inicial baseada nos parâmetros intrínsecos e extrínsecos de nossa calibração inicial. 2. Cria-se uma função de erro baseada na distância do ponto para a linha epipolar correspondente a cada ponto de nossa amostra. 3. Nossa matriz fundamental será calculada num espaço “não afetado pela distorção das lentes”, para isto cada vez que nossa amostra de pontos da calibração é utilizado eles serão previamente transformados para o campo não distorcido da imagem. 4. Cada iteração da otimização os passo 1 – 3 são repetidos até que um certo limiar do erro seja alcançado. Em nosso caso o erro de distância da linha epipolar ao seu ponto correspondente fico na média menor que 1 pixel. 31 Correspondência de imagens 2D • O calculo da matriz fundamental é feito sobre imagens não distorcidas da amostragem capturada na etapa de calibração de câmera estéreo. 32 Reconstrução 3D • Nesta etapa nosso objetivo é testar a precisão que podemos alcançar na extração de medidas reais 3D dos objetos analisados dentro da imagem. – Nossa reconstrução 3D pode se considerar uma reconstrução feita num espaço projetivo euclidiano e métrico. – A diferença entre uma reconstrução só euclidiana e uma métrica é a seguinte: • Os dois tipos de reconstrução são feitos num espaço projetivo 3D que mantêm as seguintes características: perpendicularidade, ortogonalidade, colinearidade, crossratio, paralelismo. A diferença é que a reconstrução euclidiana é feita num mundo que se encontra em uma escala qualquer. Já no caso da reconstrução métrica nós conseguimos definir qual é essa escala em relação as medidas de nosso mundo real. Estas podem ser definidas em metros, centímetros ou até milímetros. 33 Reconstrução 3D • Reconstrução 3D – Alguns testes foram feitos usando diferente cenário, câmera e mudando as lentes das câmeras, os resultados alcançados são apresentados a seguir: a) Imagem 1, medida real entre os pontos selecionados: 196.0 mm ( 19.6 cm), b) Imagem 2, medida real entre os pontos selecionados: 1685.0 mm (1.68 m), c) Imagem 3, medida real entre os pontos selecionados: 414.0 mm (41.4 cm), (a) (b) • Imagem 1 (c) • Imagem 2 34 Testes na imagem 1: • Vista 1 : medida recuperada 194.01 mm (19.4 cm - real 19.6 cm ) 35 Testes na imagem 1: • Vista 2 : medida recuperada 192.14 mm (19.2 cm - real 19.6 cm ) 36 Testes na imagem 1: • Vista 3 : medida recuperada 194.87 mm (19.4 cm - real 19.6 cm ) 37 Testes na imagem 2: • Vista 1 : medida recuperada 1671.79 mm (1.67 m - real 1.68 m ) 38 Testes na imagem 2: • Vista 2 : medida recuperada 1671.26 mm (1.67 m - real 1.68 m ) 39 Testes na imagem 2: • Vista 3 : medida recuperada 1666.85 mm (1.66 m - real 1.68 m ) 40 Testes na imagem 3: • Vista 1 : medida recuperada 402.49 mm (40.2 cm - real 41.4 cm ) 41 Testes na imagem 3: • Vista 2 : medida recuperada 409.75 mm (40.9 cm - real 41.4 cm ) 42 Testes na imagem 3: • Vista 3 : medida recuperada 409.29 mm (40.9 cm - real 41.4 cm ) 43 Resultados • Alguns resultados do avanço feito ate agora na implementação da proposta são: – Novo método para múltipla calibração de câmera (testado num sistema estéreo). • Pareamento automático da área 2D escolhida como padrão a ser correlacionado. • Precisão das medições recuperadas. 44 Resultados – Novo método para múltipla calibração de câmera (testado num sistema estéreo). • Algumas estimativas de erros tomando em conta a calibração feita com pontos capturados num sistema onde se tem em conta o calculo da distorção das lentes (radial e tangencial). 45 Vantagens da nossa proposta • Nosso algoritmo é mais eficiente e preciso que os disponíveis da literatura. • A simplicidade do padrão de calibração permite: – Robustez na identificação dos marcadores, mesmo face a ruídos e falsos positivos. – Eficiência na captura (mais informação em cada quadro): colinearidade, distâncias entre marcadores e maior numero de marcadores. • O método se aplica desde um simples sistema estéreo de duas câmeras até múltiplas câmeras cobrindo grandes áreas de rastreamento. • Não requer conhecimento prévio de parâmetros das câmeras. 46 Trabalho a ser desenvolvido • Desenvolver a extração dos parâmetros das câmera desde a matriz fundamental (Abordagem “Structure from Motion”). • Dar maior robustez na otimização dos parâmetros das câmeras (Testar outros algoritmos de otimização com restrições). • Testar o método num sistema com câmera corretamente sincronizadas por hardware, talvez possa agregar maior precisão ao processamento dos parâmetros. 47 Perguntas ? 48 Referencias • • • • • • [Borghese, 2000] , Alberto Borghese and Pietro Cerveri . “ Calibrating a video camera pair with a rigid bar”. Pattern Recognition, 2000. [Svoboda et al, 2005] , Tomas Svoboda, Daniel Martinec and Tomas Pajdla, “ A Convenient Multi-Camera Self-Calibration for Virtual Environments”, PRESENCE: Teleoperators and Virtual Environments, MIT Press, August 2005. [Bouguet, 2008 ] Jean-Yves Bouguet , “Camera Calibration Toolbox for Matlab”, http://www.vision.caltech.edu/bouguetj/calib_doc/htmls/example5.html, August ,2008 [Pintaric, 2007] , Thomas Pintaric and Hannes Kaufmann, "Affordable InfraredOptical Pose Tracking for Virtual and Augmented Reality“, IEEE VR Workshop on Trends and Issues in Tracking for Virtual Environments, Charlotte, NC (USA), 2007. [Loaiza et al, 2007], Mnauel Loaiza, Alberto B. Raposo, Marcelo Gattass, "A Novel Optical Tracking Algorithm for Point-Based Projective Invariant Marker Patterns“, 3rd International Symposium on Visual Computing – ISVC 2007, Lake Tahoe, Nevada/California, EUA. Advances in Visual Computing - Lecture Notes in Computer Science, vol. 4841, p.160-169. Springer-Verlag, 2007. [Zhang, 2000], Z. Zhang, “A Flexible New Technique For Camera Calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):13301334, 2000. 49 Referencias • • • • • • • • [Meer et al, 1998], Peter Meer,Reiner Lenz amd Sudhir Ramakrishna,“ Efficient Invariant Representations”. International Journal of Computer Vision 26, 137– 152, 1998. [Torr, 1997] Phil Torr and David Murray, “The development and comparision of robust methods for estimating the fundamental matrix”, International Journal Computer Ession, vol. 24, no. 3, pp. 271-300, September, 1997. [Hartley, 1997], Richard Hartley, “In defense of the eight-point algorithm”, IEEE Transactions on Pattern Analysis and Machine Intelligence, pp. 580-593, Vol. 19, June, 1997. [Flusser, 2000],J. Flusser: "On the Independence of Rotation Moment Invariants", Pattern Recognition, vol. 33, pp. 1405-1410, 2000 [Uematsu et al, 2007], Uematsu Y., Teshima T., Saito H., Cao Honghua, “DCalib: Calibration Software for Multiple Cameras System”, 14th International Conference on Image Analysis and Processing (ICIAP), pp. 285-290, 2007. [Thormählen et al,2003],T. Thormählen, H. Broszio, I. Wassermann,"Robust Line-Based Calibration of Lens Distortion from a Single View“, Proceedings of Mirage 2003 ( Computer Vision / Computer Graphics Collaboration for Modelbased Imaging, Rendering, Image Analysis and Graphical Special Effects), INRIA Rocquencourt, France, 10-12 March 2003, pp. 105-112,2003. [Vicon, 2008 ], Vicon Motion Systems, http://www.vicon.com/, August 2005. [ART, 2008 ], Advanced Real Time Tracking GmbH, http://www.artracking.de/,August 2005. 50