LABORATÓRIO DE ÓPTICA E MECÂNICA EXPERIMENTAL Relatóio Inteno Método de Calibação de Câmaas Poposto po Zhang Maia Cândida F. S. P. Coelho João Manuel R. S. Tavaes Setembo de 23
Resumo O pesente elatóio tem como pincipal objectivo desceve, esumidamente, o método e o softwae de calibação poposto po Zhang, facilitando a sua posteio utilização. Assim, o elatóio é constituído po tês secções: na pimeia, é feita uma pequena intodução ao método de calibação poposto; na segunda, são apesentados os paâmetos de calibação a estima e a classe na qual o método se insee; e na teceia e última secção, são descitas as funções implementadas no softwae que pemitem a calibação de uma câmaa e a coecção de imagens com distoção.
Abstact The main goal of the pesent epot is to biefly descibe the calibation method and softwae poposed by Zhang, facilitating its posteio use. Thus, this epot is constituted by thee sections: in the fist one, a small intoduction to the consideed calibation method is pesented; in the second, the calibation paametes to be estimated and the class in which the method fits ae indicated; and in the thid and last section, ae descibed the implemented functions that allow cameas calibation and distoted images coection.
Índice 1 - Intodução...5 2 - Classificação do Método...5 3 - Softwae de Calibação Desenvolvido po Zhang...6 3.1 - Calibação de uma câmaa...6 3.2 - Coecção da distoção adial da lente...8 4 - Refeências...9 Anexo: Paâmetos α, β, γ... 1
1 - Intodução O método de calibação de câmaas poposto po Zhang é um método simples, que não necessita de um gande conhecimento de geometia 3D e de Visão po Computado. Este método apesenta um setup de fácil aplicação e de custo baixo, que eque apenas que a câmaa obseve um padão plana com difeentes (pelo menos duas) oientações/posições 1, podendo ambos moveem-se livemente. O método poposto consiste na deteminação de uma solução analítica ( closed-fom solution ) que pemite obte uma apoximação inicial dos paâmetos intínsecos/extínsecos da câmaa, seguida de um efinamento não-linea baseado no citéio de Máxima Veosimilhança. Finalmente, é incluído no modelo a distoção adial da lente, dadas as soluções analítica e não-linea. 2 - Classificação do Método Este método de calibação está inseido nas técnicas de múltiplos-passos e utiliza: no pimeio passo, apoximação linea paa deteminação de uma solução analítica; no segundo passo, estimação da distoção adial da lente (dois temos); e, no teceio passo, optimização não-linea de todos os paâmetos utilizando o citéio de Máxima Veosimilhança (Fig. 1). Início Deteminação dos paâmetos intínsecos: cento da imagem na memóia fame, (C x, C y ), desfasamento ente os eixos da imagem, γ, factoes de escala segundo os eixo i e j da imagem, α e β, espectivamente). Deteminação dos paâmetos extínsecos (matiz de otação 3D, R, e vecto de tanslação 3D, T). Apoximação linea Estimação dos coeficientes da distoção adial da lente, k 1 e k 2. Refinamento não-linea de todos os paâmetos do modelo baseado no citéio de Máxima Veosimilhança. Fim Figua 1 - Esquema do método de calibação poposto po Zhang. 1 As matizes de otação obsevadas quando se adquiem duas imagens do padão plana têm de se independentes (não pode existi uma tanslação pua), de outa foma não fonecem estições adicionais necessáias à aplicação do método. Laboatóio de Óptica e Mecânica Expeimental 5
3 - Softwae de Calibação Desenvolvido po Zhang O softwae desenvolvido po Zhang paa calibação de câmaas pemite: estima os paâmetos intínsecos e extínsecos de uma câmaa consideando ou não distoção adial da lente (secção 3.1), e coigi essa distoção dados os paâmetos da câmaa e a imagem oiginal (secção 3.2). Este softwae foi desenvolvido paa os sistemas opeativos Micosoft Windows e é executável po linha de comando (Command Pompt). Este método de calibação de câmaas está implementado no OPENCV distibuído pela Intel (disponível em http://soucefoge.net/pojects/opencvlibay) e em ambiente Micosoft Visual C ++ (disponível em http://www.tjhsst.edu/~ehebst/techlab/). 3.1 - Calibação de uma câmaa 3.1.1 - Paâmetos de entada: ModelFile - nome do ficheio de entada (fomato de texto) que contém as coodenadas 3D no efeencial mundo dos pontos de calibação. Na Fig. 2 é apesentado um exemplo desse ficheio em que os pontos de calibação são as coodenadas dos vétices de váios quadados; ImageDataFile1, ImageDataFile2, <... > - nome dos ficheios de entada (fomato de texto) que contêm as coodenadas 2D imagem na memóia fame dos pontos de calibação (Fig. 4). Quadado: Vétice 1 Vétice 2 Vétice 3 Vétice 4 X w Y w X w Y w X w Y w X w Y w -.5.5 -.5.5.888889 -.5 1.38889 -.5 1.38889.888889 1.77778 -.5 2.27778 -.5 2.27778 1.77778 2.66667 -.5 3.16667 -.5 3.16667 2.66667 3.55556 -.5 4.5556 -.5 4.5556 3.55556... 2.66667-6.72222 3.16667-6.72222 3.16667-6.22222 2.66667-6.22222 3.55556-6.72222 4.5556-6.72222 4.5556-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 Figua 2 Exemplo de um ficheio de entada (.txt) da implementação do método de Zhang, que contem as coodenadas 3D dos pontos de calibação (eixo Z do efeencial mundo é igual a zeo). Paa melho compeensão dos dados foam adicionadas as tês pimeias linhas (não fazem pate do ficheio). Laboatóio de Óptica e Mecânica Expeimental 6
Figua 3 Imagens adquiidas po uma câmaa com oientações distintas. As coodenadas 2D dos vétices dos quadados são os pontos de calibação na memóia fame a seem utilizados pela implementação. Quadado: Vétice 1 Vétice 2 Vétice 3 Vétice 4 I J I J I J I J 63.439214461 45.5767976684 92.462714167 47.455653975 91.8636571669 438.65765854 62.58724663945 436.2884421212 116.28355342 49.1785833324 146.452796 41.923217566 145.6115365739 442.5588539245 115.4621289243 44.291448311 17.8326968376 412.46381383 21.848741676 414.3669733915 21.728234256 446.1786859 169.969485476 444.4218267 226.8684678464 415.866937726 258.8775247 417.2222366669 258.879886273 449.416488145 226.5537431 447.656825567 284.39496819 418.525615619 317.18179452 419.987937656 316.171282918 452.37694852 283.586111151 45.9388521872 342.9473487862 42.8686269181 376.12455628 422.3172738779 375.2486315425 454.8351472215 342.18459852 453.616848341 42.378659761 423.39136991 435.729564896 424.29444786 434.984226529 456.8888798 41.4553642367 455.96962427 134.636229879 22.61581743258 163.49441256 21.6712518625 161.5574838572 5.4998498322 132.431513172 51.212177266 187.124925274 2.9554911622 216.67521544 2.3411968651 215.4386767 49.46759282 185.1887397 5.2127396914 24.9165999666 19.8372478225 271.33878651 19.12826253252 269.983155576 48.58731916715 239.26979255 48.99785244231 295.9948347437 18.7811199293 326.993329867 18.46896861919 325.88719253 48.9948571686 294.53262177 48.45749239278 351.9299118 18.261321351 383.41849299 18.683834568 382.6677477731 47.9526484826 35.9172862 48.475738431 48.526161592 17.9912882948 44.32319121 18.119723541 44.88794597 48.6368484279 47.88197148 48.268586921 465.656214245 18.2751641371 497.2681549 18.38533394813 497.3887395771 48.524781978 465.389383362 48.3739787254 Figua 4 Exemplo de um ficheio de entada (.txt) da implementação do método de Zhang, que contem as coodenadas 2D na memóia fame dos pontos de calibação. Paa melho compeensão dos dados foam adicionadas as tês pimeias linhas (não fazem pate do ficheio). Nota: Os vétices dos quadados apesentados nas imagens da Fig. 3 são detectados atavés da intesecção de linhas ectas ajustadas a cada quadado e as suas coodenadas são guadadas em ficheios de texto (Fig. 4) paa seem utilizados como paâmetos de entada da implementação do método de Zhang (o softwae utilizado paa a detecção dos pontos de calibação não foi disponibilizado, nem efeenciado, no tabalho publicado po Zhang). 3.1.2 - Paâmetos de saída (Fig. 5): α (alpha) - facto de escala da imagem na memóia fame segundo o eixo i; β (beta) - facto de escala na imagem na memóia fame segundo o eixo j; Laboatóio de Óptica e Mecânica Expeimental 7
γ (gamma) - paâmeto que desceve o desfasamento ente os dois eixos da imagem (numa câmaa ideal o valo deste paâmeto é, que coesponde a um ângulo de 9 ente os dois eixos da imagem); (C x, C y ) - cento da imagem na memóia fame; k 1, k 2 - pimeios dois coeficientes da séie infinita que epesenta a distoção adial da lente; R 1, T 1 ; R 2, T 2 ; <... > - matiz de otação 3D e vecto de tanslação 3D estimados paa os dados dos ficheios: ImageDataFile1, ImageDataFile2, <... >. o 83.469-6.5323e-26 83.242 37.32 26.551 (α, γ, β, C x, C y) -.226881.193933 (k, k ) 1 2 (ImageDataFile1).99325 -.258774.11533 ( 11, 12, 13 ).13819.994431.14481 ( 21, 22, 23 ) -.11796 -.12163.987852 ( 31, 32, 33 ) -3.88683 3.6536 12.7527 (t x, t y, t z ) (ImageDataFile2).997534 -.525723.69997 ( 11, 12, 13 ).175977.98473 -.176892 ( 21, 22, 23 ) -.67946.177687.981739 ( 31, 32, 33 ) -3.76473 3.773 13.1569 (t x, t y, t z ) Figua 5 Exemplo do conteúdo do ficheio de saída da implementação do método de Zhang. Paâmetos intínsecos e extínseco estimados po esse método. Paa melho compeensão dos dados foam adicionados, ente paênteses, o paâmeto a que coesponde cada valo (não fazem pate do ficheio). 3.2 - Coecção da distoção adial da lente 3.2.1 - Paâmetos de entada: OiginalImage - nome do ficheio de entada (fomato de imagem) que contém as coodenadas 2D na memóia fame distocidas (Fig. 3); CalibationFile - nome do ficheio de entada (fomato de texto) que contém os paâmetos da câmaa estimados (Fig. 5). 3.2.2 - Paâmetos de saída: UndistotedImage - nome do ficheio de saída (fomato de imagem) que contém a imagem não distocida (Fig. 6). Laboatóio de Óptica e Mecânica Expeimental 8
Figua 6 Imagens não distocidas obtidas a pati da implementação desenvolvida po Zhang, tendo como paâmetos de entada as imagens apesentadas na Fig. 3 e os paâmetos da câmaa. 4 - Refeências Z. Zhang - A Flexible New Technique fo Camea Calibation. IEEE Tansactions on Patten Analysis and Machine Intelligence, 22(11):133-1334, 2. Z. Zhang - Flexible Camea Calibation By Viewing a Plane Fom Unknown Oientations. Intenational Confeence on Compute Vision (ICCV'99), Cofu, Geece, pgs 666-673, Sept 1999. OPENCV - Intel Open Compute Vision Libay. http://soucefoge.net/pojects/opencvlibay, 21 E. Hebst - Camea Calibation by Cones Detection. http://www.tjhsst.edu/~ehebst/techlab/, 23 O método de calibação poposto, o softwae desenvolvido e as expeiências ealizadas po Zhang estão disponíveis na seguinte página da Web: http://eseach.micosoft.com/~zhang/calib Laboatóio de Óptica e Mecânica Expeimental 9
Anexo: Paâmetos α, β, γ a.1 - Método Pin Hole Um ponto P w, no sistema de coodenadas 3D mundo, é tansfomado num ponto P i, no sistema de coodenadas 2D imagem na memóia fame, po uma tansfomação geomética C, ou seja, P, = C P, ( u v) ( x, y z ) w w w, ou ainda, w. u d x = w v w 1 d y1 C C 1 x y 11 21 31 12 22 32 13 23 33 t x xw xw t y yw = yw C, (1) t z zw zw 1 1 1 1 1 x1 x x y1 y f com d = s d f e d = d, onde R é a matiz de otação 3D, T é o vecto de tanslação 3D, f é a distância focal efectiva, ( ) x C y C, são as coodenadas discetas do cento óptico na memóia fame, é facto de inceteza hoizontal (que neste modelo tem o valo um) e d e d são as distâncias ente centos dos elementos sensoes vizinhos segundo as diecções X e Y, espectivamente. x y s x a.2 - Apoximação Linea do método de Zhang [ ] T T Um ponto 2D é definido como m = u; v. Um ponto 3D é definido como M = [ X ; Y; Z ]. É usado x~ paa epesenta as coodenadas homogéneas desses pontos: m ~ ~ = 1 e M = X ; Y; Z; 1. [ u; v; ] T [ ] T Consideando um modelo ideal paa a câmaa (modelo Pin Hole): a elação ente um ponto 3D, M, e a sua pojecção na imagem, m, é dada po: sm~ ~ = A[ R T ]M, (2) onde s é um facto de escala abitáio e A, designada matiz dos paâmetos intínsecos da câmaa, é dada po: α A = γ C x C, 1 β y Laboatóio de Óptica e Mecânica Expeimental 1
onde, α e β são os factoes de escala da imagem na memóia fame segundo os eixos u e v, espectivamente, e γ é o paâmeto que desceve o desfasamento ente estes dois eixos (eixos da imagem na memóia fame). A.3 - Relação ente os Dois Métodos Obsevando as equações (1) e (2) de cada um dos métodos veifica-se que se tata da mesma tansfomação, assim conclui-se que, 1 ' α = d x f, 1 β = d y f, e γ =, pois o método Pin Hole não considea qualque desfasamentos ente os eixos u e v da imagem na memóia fame (modelo pefeito: o ângulo ente os eixos u e v da imagem é de 9 o γ = ). Note-se que, no método de Zhang, a deteminação da distância focal efectiva, f, é ealizada após o efinamento não-linea de todos os paâmetos do modelo (com distoção adial da lente) e conhecendo os paâmetos da câmaa d x ou d y, nomalmente fonecidos pelo fabicante. O seu valo é obtido diectamente do paâmeto β ou, indiectamente, do paâmeto α. Laboatóio de Óptica e Mecânica Expeimental 11