3. Calibração do Sistema 3.1. Introdução A calibração consiste em determinar todos os parâmetros que caracterizam o sistema, o ambiente em que se insere e o modo como vai ser utilizado. Estes parâmetros podem ser referentes tanto a características físicas de objectos como a coeficientes ou matrizes. Têm valores constantes cujo valor se pretende estimar. A caracterização total do modelo passa pela determinação de todos parâmetros. Uma estimação grosseira pode deteriorar a qualidade dos resultados ou mesmo inviabilizar o correcto funcionamento do sistema. Para se poder fazer a correspondência dos pontos do espaço tridimensional com os pixels das imagens é necessário efectuar previamente a calibração da câmara. Esta compreende duas fases: a determinação dos seus parâmetros intrínsecos e extrínsecos. Os parâmetros intrínsecos servem para se poder relacionar as coordenadas pixel relativas às imagens com as coordenadas de pontos do espaço medidos no sistema referencial com origem no centro da câmara. Estes parâmetros dependem exclusivamente das características físicas da câmara (da sua geometria interna, do tipo de lente). Os parâmetros extrínsecos consistem na posição e na orientação do referencial de coordenadas da câmara relativamente a um outro sistema de coordenadas. A determinação dos parâmetros extrínsecos nem sempre é necessária, caso se possa trabalhar exclusivamente com as coordenadas da câmara (coordenadas no sistema referencial da câmara). Contudo, no caso em questão, a sua determinação terá que ser efectuada, porque será necessário saber qual a posição do ecrã do computador relativamente ao sistema coordenado da câmara. A conversão de coordenadas tridimensionais de um sistema de eixos coordenados para outro é realizada através de uma transformação linear. No caso da transformação das coordenadas de um ponto no espaço XX=(X;Y;Z) num certo sistema referencial do mundo em coordenadas do referencial da câmara XX c =(X c ;Y c ;Z c ) basta conhecer a matriz de rotação R e o vector de translação T que transformam este determinado referencial do mundo no da câmara. XX c = R * XX + T ( 1 ) A matriz R é uma matriz 3x3 que pode ser determinada a partir do conhecimento dos ângulos que o referencial do mundo tem que girar em torno de cada um dos seus eixos para se transformar num referencial idêntico ao da câmara a menos de uma deslocação, T. T é um vector coluna de 3 elementos. Utilizando um dos modelos mais simples para a descrição do processo geométrico de formação da imagem, o modelo buraco de alfinete ( pinhole ) [2, 3], pode-se obter as coordenadas pixel a partir das coordenadas câmara por uma simples transformação matricial (não invertível). Para tal bastará apenas saber as coordenadas de seis pontos em ambos os referenciais para se poder calcular as matrizes de transformação. Contudo com este modelo não se tem em consideração factores Rui Meireles Página 13 07-2002
importantes introduzidos, nomeadamente a distorção provocada pela lente. Por outro lado a medição de distâncias no referencial da câmara é difícil e bastante sujeita a erros pelo facto de não se saber a distância focal da câmara f, que é a distância do centro óptico da lente ao plano da imagem. A figura seguinte (Fig. 4) mostra a construção da projecção de um ponto 3D no plano imagem. Todos os raios projectantes passam no centro da lente ( buraco de alfinete ). Geralmente considera-se o plano imagem invertido, de modo às coordenadas das projecções terem o mesmo sinal que as coordenadas 3D. Fig. 4 - Modelo buraco de alfinete [3] A determinação dos parâmetros intrínsecos obtém-se a partir da relação das coordenadas 3D do espaço com a sua respectiva projecção no plano da imagem. Tendo as coordenadas da câmara XX c = ( X c; Yc; Zc ) de uma série de pontos do espaço determinam -se as coordenadas normalizadas desses mesmos pontos. As coordenadas normalizadas são obtidas dividindo as duas primeiras componentes pela terceira (seguindo a convenção do eixo Zc ser o perpendicular à superfície da lente). Note-se que deste modo todos os pontos de um raio projectante (com origem no centro da lente) terão as mesmas coordenadas normalizadas. x n X = Yc c / Zc x = / Zc y Com os resultados da calibração é possível estimar a distorção da lente que irá afectar estes pontos normalizados. Geralmente a influência da distorção radial é bastante superior comparativamente ao da distorção tangencial. A distorção será tanto maior ( 2 ) Rui Meireles Página 14 07-2002
quando maior for a distância normalizada destes pixels ao ponto principal normalizado de coordenadas x = (0;0). n O vector da distorção tangencial dx é dado por: 2 2 2* kc_ t(1) * x * y + kc_ t(2)*( r + 2* x ) dx = 2 2 kc_ t(1)* ( r + 2 * y ) + 2* kc_ t(2) * x * y ( 3 ) 2 2 2 onde kc_t(1) e kc_t(2) são os coeficientes da distorção tangencial e r = x + y. As coordenadas normalizadas com distorção x dn calculam-se da seguinte forma: xd 2 4 xdn = = + kc r r + kc r r xn + dx y (1 _ (1)* _ (2)* )* d onde k c_r(1) e kc_r(2) são os coeficientes da distorção radial. Obtidas as coordenadas normalizadas com distorção desses pontos obtêm-se as coordenadas pixel através da seguinte equação linear: x p xd y = p KK * y d 1 1 KK é designada como a matriz de transformação da câmara. Esta matriz permite converter coordenadas normalizadas em coordenadas pixel. Depende dos valores estimados para a distância focal da câmara fc e do ponto principal cc (ambos expressos em pixels), e é dada pela seguinte expressão: ( 5 ) fcx 0 ccx KK = 0 fc y cc y ( 6 ) 0 0 1 Caso não se pretenda estimar a distorção (ou caso não se tenha dados suficientes), as coordenadas pixel podem ser calculadas substituindo em (6) x dn por x n. As equações (3) a (6) aplicam-se nos casos em que se conhecem os coeficientes de distorção radiais de 2ª e 4ª ordem e os tangenciais. Também se assumiu que os pixels são rectangulares (e não quadrados, visto a distância focal em pixels fc ter valores diferentes para as duas componentes). Desta forma o ângulo entre os eixos xp e yp da imagem é de 90º. Este modelo corresponde ao descrito por Heikkilä [6], embora a notação dos parâmetros intrínsecos aqui utilizada seja diferente daquela descrita no seu paper. Embora segundo as equações (1) a (6) sejam directas as transformações de coordenadas do sistema referencial do mundo para as coordenadas pixel, as respectivas transformações inversas são um pouco mais complicadas. Para se calcular as coordenadas normalizadas distorcidas x d a partir das coordenadas pixel x p o processo é idêntico, bastando inverter a matriz KK na equação (5). ( 4 ) Rui Meireles Página 15 07-2002
Contudo, para o modelo de distorção utilizado, não existe nenhuma expressão algébrica para realizar a transformação de coordenadas normalizadas distorcidas xnd para as normalizadas x d (processo de normalização). Assim recorreu-se a um método iterativo de convergência aproxima-se sucessivamente do valor de x d que gera o x p actual usando as equações (3) e (4) para se poder obter estas coordenadas. Embora se possa realizar facilmente a projecção 3D das coordenadas câmara XX c para as normalizadas x n equação (2) o inverso não é possível sem informação adicional, pois há uma infinidade de pontos do espaço com a mesma projecção na imagem (Fig. 5). De modo a se obter as coordenadas câmara de um ponto normalizado é necessário saber uma das suas coordenadas 3D. Assim será impossível localizar um ponto no espaço apenas partindo da sua projecção na imagem (como referido anteriormente a transformação matricial da projecção de coordenadas tridimensionais num plano não é invertível). Fig. 5 - Transformação de perspectiva inversa [3] 3.2. Metodologia 3.2.1. A Calibração dos Parâmetros Intrínsecos da Câmara Esta fase descreve os métodos utilizados para calibrar o sistema, isto é, os métodos para estimar todos os parâmetros cujo valor é necessário conhecer de modo a que o sistema possa trabalhar. Como uma inexactidão de resultados na fase do projecto que envolve localização 3D poderia comprometer seriamente o funcionamento do método, a calibração teve que ser realizada assegurando certo nível de confiança. Assim procurou-se utilizar um método seguro que garantisse bons resultados e ao mesmo Rui Meireles Página 16 07-2002
tempo desse uma estimativa do erro cometido. O método de calibração teria também de ser simples e de não exigir equipamentos de custo elevado (como instrumentos de precisão ou lasers). Como solução utilizou-se uma implementação em Matlab de um software incluído na Open CV (Open Source Computer Vision Library) da INTEL [14] para determinar os parâmetros intrínsecos da câmara. Este software permite calibrar uma câmara através de múltiplas imagens de posições diferentes de uma grelha quadriculada (Fig. 6). A partir da dimensão conhecida das quadrículas, o programa determina qual a posição exacta no espaço tridimensional que cada ponto da grelha ocupa (Fig. 7). É um método iterativo que vai ajustando os parâmetros intrínsecos da câmara de modo a minimizar o erro de projecção de cada uma das imagens. Fig. 6 - Imagens utilizadas na Calibração da Câmara Rui Meireles Página 17 07-2002
Fig. 7 - Posição de cada grelha no referencial da Câmara Após este algoritmo efectuar a convergência para a melhor solução os seguintes parâmetros intrínsecos da câmara são retornados: distância focal (em pixels); ponto principal da imagem (o correspondente ao centro da lente); os coeficientes de distorção radial (modelo de distorção radial simétrico de 4ª ordem) e tangenciais; Consequentemente obtém-se a matriz de transformação KK para converter coordenadas normalizadas distorcidas em coordenadas pixel. O software utilizado permitia estimar os valores do coeficiente de distorção radial de 6ª ordem e do desvio de inclinação. Nesse caso as equações anteriormente descritas seriam diferentes. Contudo este tipo de modelo só será necessário utilizar com câmaras de grande angular, e sendo estas de extrema resolução, pois normalmente origina valores de exactidão muito baixa para estes dois coeficientes (com grandes desvios padrão). Após a calibração é possível saber os parâmetros extrínsecos da câmara relativamente a cada um dos planos da grelha utilizados. Rui Meireles Página 18 07-2002
Fig. 8 - O sistema referencial de uma das grelhas Por exemplo, para a imagem da Fig. 8, o software retorna as matrizes de rotação Rc e de translação Tc que permitem transformar pontos XX g do sistema coordenado da grelha para as respectivas coordenadas XXc no sistema da câmara. XX = Rc* XX Tc ( 7 ) c g + 3.2.2. A R elação Distância/Tamanho Conhecidos os parâmetros intrínsecos da câmara é possível para cada ponto do espaço no sistema referencial da câmara associar-lhe um pixel na imagem, e para cada pixel da imagem associar um raio projectante (uma recta que passa no centro da lente) cujos pontos constituintes têm a mesma coordenada normalizada. Contudo interessa determinar coordenadas espaciais de pixels da imagem. Tal só será possível, como referido anteriormente, se se dispuser de informação adicional. Tendo apenas um ponto isolado na imagem não é possível determinar a sua localização 3D, tem-se 2 equações lineares para determinar 3 incógnitas equação (2). Tendo dois pontos na imagem XX c1 = ( X c1; Yc1; Z c1) e XX c2 = ( X c2; Yc 2; Z c2 ) que se sabe formarem um segmento frontal à câmara (tal significa que a recta formada por estes é perpendicular ao eixo Z c ) de comprimento conhecido já será possível localizá-los no espaço. De facto, com 2 pontos teremos 4 equações para 6 incógnitas, mas uma das incógnitas desaparece fazendo Z c1 = Z c2, pois o segmento é de frente. Falta agora determinar mais uma equação para resolver o sistema. Segundo o modelo buraco de alfinete [2, 3] conhecendo a distância focal f e a distância entre o plano imagem e a lente s pode determinar-se o tamanho de um objecto paralelo à lente pelo tamanho da sua projecção na imagem, admitindo que o tamanho real do objecto é conhecido. Para determinar a distância utilizar-se-iam exclusivamente cálculos baseados em regras geométricas. A Fig. 9 mostra o princípio da formação das imagens com uma lente delgada (a lente da objectiva da câmara). Rui Meireles Página 19 07-2002
Fig. 9 - Formação de imagens com uma lente delgada [3] No entanto ao projectar objectos distantes (r elevado) geralmente assume-se que f s. Contudo estas grandezas são muito difíceis de estimar, e cálculos que se baseiem nos seus valores terão consequentemente um erro substancial. Fig. 10 - Deformação de perspectiva Aplicando regras elementares de Geometria é fácil verificar que um objecto de tamanho t colocado a uma distância Z 1 do centro da lente terá uma projecção t 1 no plano imagem proporcional à distância focal f (Fig. 10). Note -se que objectivas com grandes zooms têm distâncias focais grandes. t Z t 1 = Z1 = f ( 8 ) 1 f 1 Assim se depreende que sabendo o tamanho t do objecto e a distância focal f da câmara a distância Z 1 à câmara é inversamente proporcional ao tamanho do objecto no plano imagem. Se se colocar o mesmo objecto a uma nova distância Z 2 ter-se-á então um novo tamanho t2 associado. Usando a equação (8) para esta nova distância, e dividindo as duas expressões obtem-se: * t t Rui Meireles Página 20 07-2002
Z Z f * t t 2 2 2 1 = = = ( 9 ) 1 t 1/ t1 t2 f * t 1 1/ t Ou seja, um acréscimo na distância do objecto traduz-se num decréscimo proporcional do seu tamanho na imagem. Chega-se assim à conclusão que para poder calcular a distância associada ao objecto para um determinado tamanho é necessário saber a relação t1/z 1 para qualquer outro caso. Infelizmente a distância do plano imagem ao centro da lente não é conhecida. Como não se dispunha do valor de f foi experimentado um método inovador para determinar a relação existente entre o tamanho t 1 e a distância Z 1. Capturaram-se várias imagens com a grelha numa posição frontal à câmara (Fig. 11), imagens estas que tomaram parte no processo de calibração para a determinação dos parâmetros intrínsecos. t Fig. 11 - Posições frontais de várias grelhas Fig. 12 - Grelha número 3 Rui Meireles Página 21 07-2002
Como são conhecidas as dimensões das quadrículas determina-se facilmente as coordenadas de cada canto da grelha (cada vértice que une quatro quadrados). Depois determinou-se as coordenadas destes pontos todos relativamente ao referencial da câmara, usando a transformação da equação (7). Estas coordenadas terão todas um valor Z c muito próximo, embora não sejam exactamente iguais. Finalmente calculou-se as coordenadas normalizadas dos pontos. O passo seguinte foi determinar todas as ligações possíveis de cantos dessa N grelha, ou seja, combinar cada canto com todos os restantes ( C ou N 2 ). Depois, para 2 cada ligação, determinou-se a distância do seu ponto médio à câmara (Z 1 ) e o seu tamanho na imagem normalizada dividido pelo seu tamanho real (t1/t). Essa informação foi representada num gráfico para todos os pontos das várias grelhas. De seguida foi efectuada uma interpolação para determinar a função que melhor descreve a relação entre estas duas grandezas. Os valores do eixo dos xx (os tamanhos normalizados dos segmentos) encontram-se invertidos, já que se sabe à partida que a relação entre estes valores e a distância são inversamente proporcional. Deste modo obter-se-á um gráfico linear (Fig. 13). Fig. 13 - Interpolação Linear Z 1 = f(t/t 1 ) Para cada grelha tem-se assim uma nuvem de pontos no gráfico, com distâncias Z 1 muito próximas. Pode -se agora, por intermédio da função determinada na interpolação, saber a distância Z 1 a que está um segmento de tamanho conhecido t que se encontra numa posição frontal à câmara e cujo tamanho na imagem normalizada é t 1. Deve-se tentar colocar as grelhas o mais paralelas possível à lente da câmara. Como se pode ver na figura há diferenças numa mesma grelha nas distâncias dos pontos à câmara até 3 cm. Embora se utilize a distância média de cada segmento na Rui Meireles Página 22 07-2002
interpolação pelo facto de os dois extremos da ligação não terem o mesmo valor de Z c estão a sofrer distorções de perspectiva diferentes, que não estão a ser consideradas neste processo. Obtida esta relação distância/tamanho pode -se determinar a distância de segmentos frontais à câmara, sabendo antecipadamente o seu tamanho real. Isto servirá posteriormente para estimar a localização 3D dos contornos do olho com base no tamanho do seu diâmetro na imagem. Mas para isso é necessário conhecer antecipadamente o seu tamanho real. Este parâmetro pode ser passado ao programa, mas visto ser uma medida muito pequena e sujeita a erros de medição, foi elaborado outro método. Assim foi necessário efectuar uma calibração do sistema para estimar o diâmetro dos olhos do utilizador. 3.2.3. A Determinação do Diâmetro dos Olhos do Utilizador De modo a calibrar o sistema para o tamanho dos seus olhos o utilizador medirá a distância entre eles, com a máxima precisão possível, e introduzirá esse dado durante a fase de calibração do sistema. Depois, através de uma imagem frontal para a câmara (de modo a os olhos estarem ambos à mesma distância e a sua projecção aparecer como uma circunferência) os contornos das íris são estimados (como será explicado adiante) e a distância ente eles é calculada (Fig. 14). Fig. 14 - Determinação do diâmetro dos olhos do utilizador Rui Meireles Página 23 07-2002
O diâmetro de cada olho foi considerado igual ao tamanho do eixo maior da elipse que melhor se adaptou ao contorno da íris. Sabendo a distância real entre os olhos dist e calculando o diâmetro médio dos diam _1_ p + diam _ 2 _ p olhos em pixels diam _ p = e também a distância entre os olhos 2 em pixels dist_p é fácil determinar o diâmetro real dos olhos por uma regra de 3 simples: dist diam = * diam _ p ( 10 ) dist _ p Nesta altura, conhecidos o diâmetro dos olhos do utilizador e o respectivo diâmetro em pixels na imagem seria possível determinar a distância dos olhos do utilizador à câmara. 3.2.4. A Calibração dos Parâmetros Extrínsecos da Câmara O último passo da calibração foi a determinação dos parâmetros extrínsecos da câmara relativamente ao sistema de coordenadas do monitor do computador. Como posteriormente se irá determinar a intersecção dos raios visuais com o plano do ecrã do monitor é necessário defini-lo correctamente. Contudo não é possível determinar as matrizes de transformação Rce e Tce (que transformam coordenadas câmara em coordenadas ecrã) por intermédio de imagens deste, como foi feito com as grelhas, pois devido à disposição do sistema o monitor não é visível nas imagens captadas pela câmara. Assim teve que se usar outro método para se localizar o monitor relativamente à câmara. Um método de obtenção do vector Tce medindo directamente a distância entre os dois eixos seria certamente muito pouco rigoroso, pois não se consegue localizar ao certo a origem do referencial da câmara (este encontra -se no interior desta). Além do mais, a medição dos ângulos do rotação de cada eixo coordenado teria também muito pouco rigor, pois não é garantido que os eixos das coordenadas da câmara sejam paralelos às superfícies da sua armadura. O método escolhido para realizar este processo foi recorrer a um plano auxiliar. Colocou-se previamente o monitor numa posição em que o plano formado pelo seu ecrã ficasse perpendicular ao solo. Depois colocou-se um painel vertical numa posição paralela ao ecrã. A imagem seguinte (Fig. 15) ilustra a situação. Rui Meireles Página 24 07-2002
Fig. 15 - Determinação dos parâmetros extrínsecos da câmara Como se vê na figura a grelha quadriculada foi colocada no painel, tendo a preocupação de alinhar os seus lados com as arestas que delimitam o ecrã do monitor. Se todo este processo tiver sido realizado com rigor, tem-se uma réplica do plano do ecrã numa posição visível pela câmara. Agora é possível determinar os parâmetros extrínsecos da câmara relativamente ao plano do painel. De facto a imagem utilizada neste processo (Fig. 16) foi também utilizada para determinar os parâmetros intrínsecos da câmara, e por isso já são conhecidas as matrizes de transformação Rc e Tc. Fig. 16 - Plano do painel, paralelo ao ecrã Rui Meireles Página 25 07-2002
Fig. 17 - Posição do placar relativamente à câmara Nesta altura já se tem condições para determinar as matrizes R e T que transformam as coordenadas do placar em coordenadas do ecrã. O vector de translação T foi medido, com a maior precisão conseguida, utilizando uma fita métrica, medindo cada com ponente (X,;Y;Z) (no sistema coordenado do placar) do vector que une as origens dos dois referenciais (Fig. 18). O vector de rotação com a rotação necessária para cada eixo do referencial do placar ficar paralelo ao do ecrã foi também medido, e consequentemente calculada a matriz (3x3) de rotação R. Neste caso o vector de rotação seria (0,π,0), pois os eixos dos dois referenciais são paralelos (o referencial sofre apenas uma rotação de 180º em torno do eixo dos xx). Fig. 18 - Posição relativa dos sistemas referenciais do ecrã e do placar Agora basta realizar as duas transformações (câmara-placar/placar-ecrã) para converter coordenadas do referencial da câmara XXc em coordenadas do ecrã XXe. ou seja, XX XX XX c e = Rc* XX = R * XX g g + Tc XX g + T = R *( Rc 1 = Rc 1 *( XX * ( XX Tc) c c Tc)) + T ( 11 ) 1 1 = Rce* XX Tce, com Rce = R * Rc e Tce = T R * Rc * Tc ( 12 ) e c + Rui Meireles Página 26 07-2002
3.3. Resultados Os resultados obtidos para os parâmetros intrínsecos da câmara foram os seguintes. Esta calibração utilizou uma grelha de 9x7 quadrículas, embora os cantos exteriores não sejam utilizados (a zona útil são apenas 7x5 quadrículas), sendo cada quadrícula um quadrado de 28 milímetros de lado, em 25 posições diferentes. Calibration results (with uncertainties): Focal Length: fc = [ 1488.17385 1418.35812 ] ± [ 11.89975 11.42286 ] Principal point: cc = [ 470.95976 224.15195 ] ± [ 28.62565 21.06361 ] Skew: alpha_c = [ 0.00000 ] ± [ 0.00000 ] => angle of pixel axes = 90.00000 ± 0.00000 degrees Distortion: kc = [ -0.30933 0.41637-0.00273 0.00237 0.00000 ] ± [ 0.06069 0.50115 0.00285 0.00260 0.00000 ] Pixel error: err = [ 0.61244 0.68442 ] Note: The numerical errors are approximately three times the standard deviations (for reference) A distância focal e o ponto principal estão expressos em pixels (a distância focal real em milímetros não é determinada) e o desvio dos eixos em graus. Os 2 primeiros coeficientes de kc referem-se aos coeficientes de distorção radial de 2ª e 4ª ordem respectivamente kc_r(1) e kc_r(2). O terceiro e quarto referem-se aos coeficientes tangenciais kc_r(1) e kc_r(2). O último coeficiente de kc é o coeficiente de distorção radial de 6ª ordem. Como este valor não foi estimado, bem como o desvio dos eixos da imagem, os seus valores são nulos. Verifica-se que embora o erro da estimação de um pixel ao converter um ponto com coordenadas câmara para coordenadas pixel (Pixel error) seja bastante pequeno (inferior a 1 pixel em cada direcção) os valores para certos coeficientes de distorção não são uma estimativa de muita confiança (para o radial de 4ª ordem e para os tangenciais), pois o seus desvios padrão têm valores altos compara tivamente com a média, o que leva a que os intervalos de confiança atinjam valores muito baixos, chegando alguns até a cruzar o valor zero. De modo a estimar estes valores com maior exactidão deve -se usar câmaras e objectivas de melhor qualidade, ter as imagens muito bem focadas e utilizar bastantes imagens na calibração. As imagens seguintes (Fig. 19/Fig. 21) mostram os diagramas de distorção para os pixels das imagens. Rui Meireles Página 27 07-2002
Fig. 19 - Componente Radial da Distorção Fig. 20 - Componente Tangencial da Distorção Fig. 21 - Modelo completo da Distorção Por análise das figuras e dos seus valores é nitidamente visível a grande predominância da componente radial na distorção total do modelo. Os valores seguintes são o resultado da calibração quando se estima os valores do coeficiente de distorção radial de 6ª ordem e do desvio dos eixos da imagem. Calibration results (with uncertainties): Focal Length: fc = [ 1489.01886 1419.53158 ] ± [ 11.95753 11.50998 ] Principal point: cc = [ 472.65244 216.46073 ] ± [ 28.67513 21.18704 ] Skew: alpha_c = [ -0.00235 ] ± [ 0.00232 ] => angle of pixel axes = 90.13449 ± 0.13306 degrees Distortion: kc = [ -0.34268 1.47704-0.00389 0.00308-6.78554 ] ± [ 0.11934 2.40496 0.00328 0.00284 13.65753 ] Pixel error: err = [ 0.60837 0.68441 ] Note: The numerical errors are approximately three times the standard deviations (for reference) O coeficiente radial de 6ª ordem tem um intervalo de confiança com uma gama grande demais (comparativamente com a média) para ser utilizado na estimação da distorção. O desvio do ângulo também tem um intervalo associado relativamente Rui Meireles Página 28 07-2002
grande, e não se incluiu nos parâmetros intrínsecos de modo a seguir o modelo de Heikillä, e por sugestão do implementador do software de calibração. O resultado da regressão que aproximou a relação existente entre o inverso do tamanho do objecto (t/t 1 ) e a sua distância à câmara (Z 1 ) foi o esperado. Como se viu anteriormente no gráfico a recta y = 1.0034* x 1.6685 aproximou bem as nuvens de pontos, confirmando a relação linear que se esperava. De notar a proximidade da expressão com a recta y = x, já que o valor da ordenada na origem (-1.6685mm) é muito pouco significativo para as distâncias que se utilizam (da ordem dos 550/900mm). Não esquecer que a relação ideal directamente proporcional entre a distância e o tamanho do objecto equação (8) parte da aproximação s f. De modo a comprovar a forte relação linear desta relação realizou-se também uma interpolação quadrática com os mesmos valores. A equação resultante, y = 1.2069*10 5 x 2 + 0.98623x + 4.2283 mostra que o termo quadrático é quase desprezável para os valores de x utilizados. Usando o método de determinação da dimensão dos olhos foi possível estimar o diâmetro dos olhos do utilizador com uma precisão maior que a obtida utilizando com uma simples régua. Os valores obtidos para o diâmetro dos olhos foram sempre praticamente iguais, próximos dos 13 milímetros. Para a estimação ser mais segura poder-se-ia realizar o cálculo com várias imagens, e utilizar a média dos resultados. Obviamente este parâmetro só deverá ser aceite caso a detecção de ambos os olhos tenha sido efectuada correctamente. A calibração dos parâmetros extrínsecos da câmara foi um processo cujos erros não se puderam quantificar. Contudo é de esperar um ligeiro erro nas medições dos vectores de rotação e de translação visto não terem sido realizadas com instrumentos de grande precisão. Fica apenas a referência que um erro de 1 centímetro na componente X ou Y do vector de translação origina um erro de 1 centímetro na localização final da estimação do olhar. 3.4. Síntese As diferentes calibrações do sistema funcionaram como desejado, e geraram estimativas bastante boas para os vários parâmetros. O método usado para a determinação dos parâmetros intrínsecos da câmara gerou resultados com uma grande exactidão. O método provou ser robusto e as estimativas obtidas continham erros relativamente pequenos. A distorção radial da objectiva não foi suficientemente pequena para poder ser desprezada. O estudo prático da determinação da coordenada Z c (no referencial da câmara) de segmentos paralelos à lente usando as grelhas mostrou erros da ordem dos 2 centímetros, para as distâncias e tamanhos de segmentos testados. Embora não seja um Rui Meireles Página 29 07-2002
método extremamente exacto, a margem de erro obtida é relativamente pequena comparada com as distâncias utilizadas (na ordem dos 40/60 cm). A determinação mais precisa do diâmetro dos olhos do utilizador foi proposta de modo a conferir uma maior exactidão no funcionamento geral do algoritmo. Os resultados obtidos mostraram-se constantes e de valores aceitáveis. O método de calibração dos parâmetros extrínsecos da câmara proposto foi a melhor alternativa encontrada para estimar as matrizes de transformação com a maior exactidão possível. Embora seja um método sujeito a erros de medição por parte do utilizador, a solução não virá muito afectada a menos que se efectuem erros grosseiros nas medições. Rui Meireles Página 30 07-2002