3. Calibração do Sistema - Faculdade de Engenharia da...

18
Interface com computador por Controlo Visual de Cursores Rui Meireles Página 13 07-2002 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. T XX R XX c = * ( 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

Transcript of 3. Calibração do Sistema - Faculdade de Engenharia da...

Page 1: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 13 07-2002

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 XXc=(Xc;Yc;Zc) 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.

TXXRXX c += * ( 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

Page 2: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 14 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 );;( cccc ZYXXX = 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.

=

=

yx

ZYZX

xcc

ccn /

/ ( 2 )

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

Page 3: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 15 07-2002

quando maior for a distância normalizada destes pixels ao ponto principal normalizado – de coordenadas )0;0(=nx .

O vector da distorção tangencial dx é dado por:

++++

=yxtkcyrtkc

xrtkcyxtkcdx

**)2(_*2)*2(*)1(_

)*2(*)2(_**)1(_*222

22

( 3 )

onde kc_t(1) e kc_t(2) são os coeficientes da distorção tangencial e 222 yxr += . As coordenadas normalizadas com distorção xdn calculam-se da seguinte forma:

dxxrrkcrrkcyx

x nd

ddn +++=

= *)*)2(_*)1(_1( 42 ( 4 )

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:

=

1

*

1d

d

p

p

y

x

KKy

x

( 5 )

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:

=

100

0

0

yy

xx

ccfc

ccfc

KK ( 6 )

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) xdn por xn.

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 xd a partir das

coordenadas pixel xp o processo é idêntico, bastando inverter a matriz KK na equação (5).

Page 4: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 16 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 xd (processo de normalização). Assim recorreu-se a um método iterativo de convergência – aproxima-se sucessivamente do valor de xd que gera o xp 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

XXc para as normalizadas xn – 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

Page 5: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 17 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

Page 6: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 18 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.

Page 7: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 19 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 XXg do sistema coordenado da grelha para as respectivas coordenadas XXc no sistema da câmara.

TcXXRcXX gc += * ( 7 )

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 );;( 1111 cccc ZYXXX = e );;( 2222 cccc ZYXXX = que se

sabe formarem um segmento frontal à câmara (tal significa que a recta formada por estes é perpendicular ao eixo Zc) 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 21 cc ZZ = , 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).

Page 8: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 20 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

sf ≅ . 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 Z1 do centro da lente terá uma projecção t1 no plano imagem proporcional à distância focal f (Fig. 10). Note -se que objectivas com grandes zooms têm distâncias focais grandes.

11

1

1

*tt

fZft

Zt

=⇔= ( 8 )

Assim se depreende que sabendo o tamanho t do objecto e a distância focal f da câmara a distância Z1 à câmara é inversamente proporcional ao tamanho do objecto no plano imagem.

Se se colocar o mesmo objecto a uma nova distância Z2 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:

Page 9: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 21 07-2002

2

1

1

2

1

2

1

2

/1/1

*

*

tt

tt

ttf

ttf

ZZ

=== ( 9 )

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/Z1 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 t1 e a distância Z1. 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.

Fig. 11 - Posições frontais de várias grelhas

Fig. 12 - Grelha número 3

Page 10: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 22 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 Zc 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

grelha, ou seja, combinar cada canto com todos os restantes ( NC2 ou

2N

). Depois, para

cada ligação, determinou-se a distância do seu ponto médio à câmara (Z1) 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 Z1 = f(t/t1)

Para cada grelha tem-se assim uma nuvem de pontos no gráfico, com distâncias

Z1 muito próximas. Pode -se agora, por intermédio da função determinada na interpolação, saber a distância Z1 a que está um segmento de tamanho conhecido t que se encontra numa posição frontal à câmara e cujo tamanho na imagem normalizada é t1.

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

Page 11: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 23 07-2002

interpolação pelo facto de os dois extremos da ligação não terem o mesmo valor de Zc 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

Page 12: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 24 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

olhos em pixels 2

_2__1__

pdiampdiampdiam

+= e também a distância entre os olhos

em pixels dist_p é fácil determinar o diâmetro real dos olhos por uma regra de 3 simples:

pdiampdist

distdiam _*

_= ( 10 )

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.

Page 13: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 25 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ã

Page 14: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 26 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 componente (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.

TTcXXRcRTXXRXX

TcXXRcXXTcXXRcXX

cge

cggc

+−=+=

−=⇔+=−

))(*(**

)(**1

1

( 11 )

ou seja,

TceXXRceXX ce += * , com 1* −= RcRRce e TcRcRTTce ** 1−−= ( 12 )

Page 15: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 27 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 k c é 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.

Page 16: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 28 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

Page 17: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 29 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/t1) e a sua distância à câmara (Z1) foi o esperado. Como se viu anteriormente no gráfico a recta

6685.1*0034.1 −= xy

aproximou bem as “nuvens” de pontos, confirmando a relação linear que se esperava. De notar a proximidade da expressão com a recta xy = , 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 fs ≅ .

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,

2283.498623.010*2069.1 25 ++= − xxy

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 Zc (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

Page 18: 3. Calibração do Sistema - Faculdade de Engenharia da ...ee97107/Relatorio_de_Projecto_FINAL_PARTE_2.pdf · A conversão de coordenadas tridimensionais de um sistema de eixos coordenados

Interface com computador por Controlo Visual de Cursores

Rui Meireles Página 30 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.