scieee AI-readable full text Open interactive document viewer

Método de calibração de câmaras proposto por Zhang

Maria Cândida Felgueiras Seabra Pinto Coelho,João Manuel Ribeiro da Silva Tavares

Abstract

O presente relatório tem como principal objectivo descrever, resumidamente, o método e o software de calibração proposto por Zhang, facilitando a sua posterior utilização. Assim, o relatório é constituído por três secções: na primeira, é feita uma pequena introdução ao método de calibração proposto; na segunda, são apresentados os parâmetros de calibração a estimar e a classe na qual o método se insere; e na terceira e última secção, são descritas as funções implementadas no software que permitem a calibração de uma câmara e a correcção de imagens com distorção.

Full text

LABORATÓRIO DE ÓPTICA E MECÂNICA EXPERIMENTAL Relatório Interno Método de Calibração de Câmaras Proposto por Zhang Maria Cândida F. S. P. Coelho João Manuel R. S. Tavares Setembro de 2003 Resumo O presente relatório tem como principal objectivo descrever, resumidamente, o método e o software de calibração proposto por Zhang, facilitando a sua posterior utilização. Assim, o relatório é constituído por três secções: na primeira, é feita uma pequena introdução ao método de calibração proposto; na segunda, são apresentados os parâmetros de calibração a estimar e a classe na qual o método se insere; e na terceira e última secção, são descritas as funções implementadas no software que permitem a calibração de uma câmara e a correcção de imagens com distorção. Abstract The main goal of the present report is to briefly describe the calibration method and software proposed by Zhang, facilitating its posterior use. Thus, this report is constituted by three sections: in the first one, a small introduction to the considered calibration method is presented; in the second, the calibration parameters to be estimated and the class in which the method fits are indicated; and in the third and last section, are described the implemented functions that allow cameras calibration and distorted images correction. Índice 1 - Introdução ....................................................................................5 2 - Classificação do Método ...........................................................5 3 - Software de Calibração Desenvolvido por Zhang ..............6 3.1 - Calibração de uma câmara.......................................................................................6 3.2 - Correcção da distorção radial da lente...............................................................8 4 - Referências ..................................................................................9 Anexo: Parâmetros α, β, γ............................................................. 10 Método de Calibração de Câmaras Proposto por Zhang 1 - Introdução O método de calibração de câmaras proposto por Zhang é um método simples, que não necessita de um grande conhecimento de geometria 3D e de Visão por Computador. Este método apresenta um setup de fácil aplicação e de custo baixo, que requer apenas que a câmara observe um padrão planar com diferentes (pelo menos duas) orientações/posições1, podendo ambos moverem-se livremente. O método proposto consiste na determinação de uma solução analítica (“closed-form solution”) que permite obter uma aproximação inicial dos parâmetros intrínsecos/extrínsecos da câmara, seguida de um refinamento não-linear baseado no critério de Máxima Verosimilhança. Finalmente, é incluído no modelo a distorção radial da lente, dadas as soluções analítica e não-linear. 2 - Classificação do Método Este método de calibração está inserido nas técnicas de múltiplos-passos e utiliza: no primeiro passo, aproximação linear para determinação de uma solução analítica; no segundo passo, estimação da distorção radial da lente (dois termos); e, no terceiro passo, optimização não-linear de todos os parâmetros utilizando o critério de Máxima Verosimilhança (Fig. 1). Início Determinação dos parâmetros intrínsecos: centro da imagem na memória frame, (Cx, Cy), desfasamento entre os eixos da imagem, γ, factores de escala segundo os eixo i e j da imagem, α e β , respectivamente). Figura 1 - Esquema do método de calibração proposto por Zhang. 1As matrizes de rotação observadas quando se adquirem duas imagens do padrão planar têm de ser independentes (não pode existir uma translação pura), de outra forma não fornecem restrições adicionais necessárias à aplicação do método. A p roximação linear Determinação dos parâmetros extrínsecos (matriz de rotação 3D, R, e vector de transla ç ão 3D, T ) . Estimação dos coeficientes da distorção radial da lente, k 1e k 2. Refinamento não-linear de todos os parâmetros do modelo baseado no critério de M áxima Verosimilhança. Fi m Laboratório de Óptica e Mecânica Experimental 5 Método de Calibração de Câmaras Proposto por Zhang 3 - Software de Calibração Desenvolvido por Zhang O software desenvolvido por Zhang para calibração de câmaras permite: estimar os parâmetros intrínsecos e extrínsecos de uma câmara considerando ou não distorção radial da lente (secção 3.1), e corrigir essa distorção dados os parâmetros da câmara e a imagem original (secção 3.2). Este software foi desenvolvido para os sistemas operativos Microsoft Windows e é executável por linha de comando (Command Prompt). Este método de calibração de câmaras está implementado no OPENCV distribuído pela Intel (disponível em http://sourceforge.net/projects/opencvlibrary) e em ambiente Microsoft Visual C++ (disponível em http://www.tjhsst.edu/~eherbst/techlab/). 3.1 - Calibração de uma câmara 3.1.1 - Parâmetros de entrada: • ModelFile - nome do ficheiro de entrada (formato de texto) que contém as coordenadas 3D no referencial mundo dos pontos de calibração. Na Fig. 2 é apresentado um exemplo desse ficheiro em que os pontos de calibração são as coordenadas dos vértices de vários quadrados; • ImageDataFile1, ImageDataFile2, < ... > - nome dos ficheiros de entrada (formato de texto) que contêm as coordenadas 2D imagem na memória frame dos pontos de calibração (Fig. 4). Quadrado: Vértice 1 Vértice 2 Vértice 3 Vértice 4 Xw Yw Xw Yw Xw Yw Xw Yw 0 -0.5 0.5 -0.5 0.5 0 0 0 0.888889 -0.5 1.38889 -0.5 1.38889 0 0.888889 0 1.77778 -0.5 2.27778 -0.5 2.27778 0 1.77778 0 2.66667 -0.5 3.16667 -0.5 3.16667 0 2.66667 0 3.55556 -0.5 4.05556 -0.5 4.05556 0 3.55556 0 .... 2.66667 -6.72222 3.16667 -6.72222 3.16667 -6.22222 2.66667 -6.22222 3.55556 -6.72222 4.05556 -6.72222 4.05556 -6.22222 3.55556 -6.22222 4.44444 -6.72222 4.94444 -6.72222 4.94444 -6.22222 4.44444 -6.22222 5.33333 -6.72222 5.83333 -6.72222 5.83333 -6.22222 5.33333 -6.22222 6.22222 -6.72222 6.72222 -6.72222 6.72222 -6.22222 6.22222 -6.22222 Figura 2 – Exemplo de um ficheiro de entrada (.txt) da implementação do método de Zhang, que contem as coordenadas 3D dos pontos de calibração (eixo Z do referencial mundo é igual a zero). Para melhor compreensão dos dados foram adicionadas as três primeiras linhas (não fazem parte do ficheiro). Laboratório de Óptica e Mecânica Experimental 6 Método de Calibração de Câmaras Proposto por Zhang Figura 3 – Imagens adquiridas por uma câmara com orientações distintas. As coordenadas 2D dos vértices dos quadrados são os pontos de calibração na memória frame a serem utilizados pela implementação. Quadrado: Vértice 1 Vértice 2 Vértice 3 Vértice 4 I J I J I J I J 63.43921044061 405.5767976684 92.4627014167 407.4556539075 91.80636571669 438.6576508540 62.58724663945 436.2884421212 116.2803553042 409.1785833324 146.450270096 410.9232175606 145.6115365739 442.5588539245 115.4621289243 440.2901448311 170.8326968376 412.4603813083 201.848741676 414.3669733915 201.0728234256 446.1786800590 169.9694854760 444.0421082670 226.8684678464 415.8660937726 258.877500247 417.2222366669 258.0879886273 449.4164088145 226.0553704310 447.6506825567 284.3904968109 418.5256156019 317.018179452 419.9879376056 316.1712829180 452.3706948520 283.5861111501 450.9388521872 342.9473487862 420.8686269181 376.124556280 422.3172738779 375.2486315425 454.8351472215 342.1840598520 453.6168480341 402.3786597601 423.0391036991 435.729564896 424.2094044786 434.9842265290 456.8888709008 401.4553642367 455.9696204207 … 134.6306229879 22.61581743258 163.494410256 21.67125186025 161.5574838572 50.49984983220 132.4315103172 51.21217702660 187.1249252740 20.95504911622 216.675210544 20.30411968651 215.0438676007 49.46007509282 185.0018807397 50.02127396914 240.9165999666 19.80372478225 271.330878651 19.12826253252 269.9083155576 48.58731916715 239.2069709255 48.99785244231 295.9948347437 18.78111909293 326.993329867 18.46896861919 325.8087109253 48.09948571686 294.5326210707 48.45749239278 351.9209900118 18.26130021351 383.418492990 18.06838345680 382.6677477731 47.95264840826 350.9172860020 48.04757384310 408.5261061592 17.99128802948 440.323109121 18.11972354100 440.0088794597 48.06368484279 407.8801970148 48.20685086921 465.6562142405 18.20751641371 497.268015049 18.38533394813 497.3887395771 48.52478019078 465.3893833602 48.30739787254 Figura 4 – Exemplo de um ficheiro de entrada (.txt) da implementação do método de Zhang, que contem as coordenadas 2D na memória frame dos pontos de calibração. Para melhor compreensão dos dados foram adicionadas as três primeiras linhas (não fazem parte do ficheiro) . Nota: Os vértices dos quadrados apresentados nas imagens da Fig. 3 são detectados através da intersecção de linhas rectas ajustadas a cada quadrado e as suas coordenadas são guardadas em ficheiros de texto (Fig. 4) para serem utilizados como parâmetros de entrada da implementação do método de Zhang (o software utilizado para a detecção dos pontos de calibração não foi disponibilizado, nem referenciado, no trabalho publicado por Zhang). 3.1.2 - Parâmetros de saída (Fig. 5): • α ( alpha) - factor de escala da imagem na memória frame segundo o eixo i; • β (beta) - factor de escala na imagem na memória frame segundo o eixo j; Laboratório de Óptica e Mecânica Experimental 7 Método de Calibração de Câmaras Proposto por Zhang • γ (gamma) - parâmetro que descreve o desfasamento entre os dois eixos da imagem (numa câmara ideal o valor deste parâmetro é 0, que corresponde a um ângulo de 90 entre os dois eixos da imagem); o • (Cx, Cy) - centro da imagem na memória frame; • k1, k2 - primeiros dois coeficientes da série infinita que representa a distorção radial da lente; • R1, T1; R2, T2; < ... > - matriz de rotação 3D e vector de translação 3D estimados para os dados dos ficheiros: ImageDataFile1, ImageDataFile2, < ... >. 830.469 -6.50323e-026 830.242 307.032 206.551 ( α , γ , β , C, C) x y -0.226881 0.193933 (k , k ) 1 2 (ImageDataFile1) 0.993025 -0.0258774 0.115033 (r11, r12, r13) 0.0138109 0.994431 0.104481 (r21, r22, r23) -0.117096 -0.102163 0.987852 (r31, r32, r33) -3.88683 3.65306 12.7527 (tx, ty, tz) (ImageDataFile2) 0.997534 -0.00525723 0.0699907 (r11 , r12, r13) 0.0175977 0.984073 -0.176892 (r21 , r22, r23) -0.067946 0.177687 0.981739 (r31 , r32, r33) -3.76473 3.77003 13.1569 ( tx, t y , tz ) Figura 5 – Exemplo do conteúdo do ficheiro de saída da implementação do método de Zhang. Parâmetros intrínsecos e extrínseco estimados por esse método. Para melhor compreensão dos dados foram adicionados, entre parênteses, o parâmetro a que corresponde cada valor (não fazem parte do ficheiro). 3.2 - Correcção da distorção radial da lente 3.2.1 - Parâmetros de entrada: • OriginalImage - nome do ficheiro de entrada (formato de imagem) que contém as coordenadas 2D na memória frame distorcidas (Fig. 3); • CalibrationFile - nome do ficheiro de entrada (formato de texto) que contém os parâmetros da câmara estimados (Fig. 5). 3.2.2 - Parâmetros de saída: • UndistortedImage - nome do ficheiro de saída (formato de imagem) que contém a imagem não distorcida (Fig. 6). Laboratório de Óptica e Mecânica Experimental 8 Método de Calibração de Câmaras Proposto por Zhang Figura 6 – Imagens não distorcidas obtidas a partir da implementação desenvolvida por Zhang, tendo como parâmetros de entrada as imagens apresentadas na Fig. 3 e os parâmetros da câmara. 4 - Referências Z. Zhang - A Flexible New Technique for Camera Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000. Z. Zhang - Flexible Camera Calibration By Viewing a Plane From Unknown Orientations. International Conference on Computer Vision (ICCV'99), Corfu, Greece, pgs 666-673, Sept 1999. OPENCV - Intel Open Computer Vision Library. http://sourceforge.net/projects/opencvlibrary, 2001 E. Herbst - Camera Calibration by Corners Detection. http://www.tjhsst.edu/~eherbst/techlab/, 2003 O método de calibração proposto, o software desenvolvido e as experiências realizadas por Zhang estão disponíveis na seguinte página da Web: http://research.microsoft.com/~zhang/Calib Laboratório de Óptica e Mecânica Experimental 9