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. • 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 • Calculo da matriz fundamental: – Geometria epipolar é a geometria intrínseca projetiva existente entre duas vistas. – A matriz fundamental encapsula esta geometria intrínseca projetiva. 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 • 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. 28 Correspondência de imagens 2D • Aproveitamos o calculo inicial dos coeficientes da distorção das lentes (Radial, Tangencial). idProjInv 29 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. 30 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. 31 Reconstrução 3D • Nesta etapa nosso objetivo é testar a precisão que podemos alcançar na extração de medidas reais 3D, baseado na uso dos parâmetros de nossa calibração. – Nossa reconstrução 3D pode se considerar uma reconstrução feita num espaço projetivo euclidiano e métrico. 32 Alguns resultados • Medidas – Nesta etapa nosso objetivo é testar a precisão que podemos alcançar na extração de medidas reais 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 2, medida real entre os pontos selecionados: 1685.0 mm (1.68 m), b) Imagem 3, medida real entre os pontos selecionados: 414.0 mm (41.4 cm), (a) • (b) Imagem 1 • Imagem 2 33 Testes na imagem 1: • Vista 1 : medida recuperada 1671.79 mm (1.67 m - real 1.68 m ) 34 Testes na imagem 1: • Vista 2 : medida recuperada 1671.26 mm (1.67 m - real 1.68 m ) 35 Testes na imagem 1: • Vista 3 : medida recuperada 1666.85 mm (1.66 m - real 1.68 m ) 36 Testes na imagem 2: • Vista 1 : medida recuperada 402.49 mm (40.2 cm - real 41.4 cm ) 37 Testes na imagem 2: • Vista 2 : medida recuperada 409.75 mm (40.9 cm - real 41.4 cm ) 38 Testes na imagem 2: • Vista 3 : medida recuperada 409.29 mm (40.9 cm - real 41.4 cm ) 39 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 do padrão colinear a ser correlacionado visto entre as diferentes câmeras. • Precisão das medições recuperadas. 40 Resultados • Teste feito sobre uma amostra de 100 imagens do padrão colinear (Fire-i câmeras): – Valor real das distancia do padrão colinear: • A: 25.32mm B: 40.70mm C: 56.88mm Erros sem tomar em conta distorção das lentes: • • Reprojeção 3D - 2D erro por vista do padrão: 35.1240768433 pixels Erro media das distancia no padrão: 46.88874 mm – – – • Distancia Media: Min: Max: A: 27.863 A: 14.939 A: 72.611 B: 37.277 B: 22.382 B: 89.588 C: 55.866 C: 37.818 C: 82.868 Matriz Fundamental erro médio por padrão: 67.577704 pixels por ponto: 16.89 pixels Erros tomando em conta distorção das lentes: • • Reprojeção 3D - 2D erro por vista do padrão: 3.3690681458 pixels Erro media das distancia no padrão : 17.90088 mm – – – • Distancia Media : Min: Max: A: 24.082 A: 20.257 A: 29.444 B: 36.004 B: 30.082 B: 42.705 C: 54.062 C: 44.564 C: 64.355 Matriz Fundamental erro médio por padrão : 7.031216 pixels por ponto: 1.75 pixels 41 Resultados • Teste feito sobre uma amostra de 100 imagens do padrão colinear (Logitech web câmeras): – Valor real das distancia do padrão colinear: • A: 25.32mm B: 40.70mm C: 56.88mm Erros sem tomar em conta distorção das lentes: • • Reprojeção 3D - 2D erro por vista do padrão: 16.7174892426 pixels Erro media das distancia no padrão: 24.33204 mm – – – • Distancia Media: Min: Max: A: 25.442 A: 19.380 A: 61.313 B: 35.423 B: 28.474 B: 60.452 C: 52.849 C: 42.237, C: 65.741, Matriz Fundamental erro médio por padrão: 16.807617 pixels por ponto: 4.20 pixels Erros tomando em conta distorção das lentes: • • Reprojeção 3D - 2D erro por vista do padrão: 9.0390977859 pixels Erro media das distancia no padrão : 15.82423 mm – – – • Distancia Media : Min: Max: A: 24.485 A: 20.079 A: 29.151 B: 36.934 B: 29.876 B: 43.798 C: 56.335 C: 44.316, C: 66.390, Matriz Fundamental erro médio por padrão: 9.067152 por ponto: 2.26 pixels 42 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. 43 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. 44 Perguntas ? 45 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. 46 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. 47