• No results found

O é o ângulo correspondente ao deslocamento horizontal do ponto P em relação a O′, e β

M é o ângulo correspondente ao deslocamento vertical do ponto P em relação a M.

Figura 4.11: Esquema detalhado da representação por coordenadas polares relacionando a cabeça estéreo e um ponto P

Os valores de PMX, PMY e ZM são obtidos a partir das equações dos triângulos, mostrada na figura 4.11, e dadas por:

PMY= PM ∗ cos(αM) (4.10)

PMX= PM ∗ sin(βM) (4.11)

ZM= PMY ∗ sin(βM) (4.12)

ZM= PMX ∗ cos(αM) (4.13)

4.4

Autocalibração Através das Coordenadas Polares

O procedimento de autocalibração implementado neste trabalho baseia-se em uma seqüência de movimentos críticos, juntamente com restrições das câmeras e do sistema físico que as comporta para obter o valor da distância focal para diferentes pontos da cena. A seqüência de movimentos críticos neste cada consiste apenas de um deslocamento translacional conhecido do robô, sem alteração ou com alteração conhecida dos parâmet- ros da câmera e da cabeça estéreo. Para a obtenção da distância percorrida durante este deslocamento, pode-se utilizar a odometria ou outros métodos que proporcionem menor erro. Alguns parâmetros do sistema são invariáveis, como o grau de abertura horizontal e vertical das câmeras e a distância entre os centro ópticos destas, enquanto que os ân- gulos das juntas da cabeça estéreo podem possuir uma variação conhecida. Isto permite

a obtenção de coordenadas polares tridimensionais da posição de determinado objeto na cena em dois momentos, a duas profundidades distintas. A cada instante, durante a movi- mentação do robô, existem dois pontos de vista com posição conhecida e, através do deslocamento conhecido do robô, adiciona-se mais dois pontos de vista com posição con- hecida.

A partir de tais condições efetuam-se triangulações envolvendo o mesmo ponto nas imagens através do deslocamento do robô. Tal ponto, permanecendo no mesmo local, estará a uma mesma altura h em relação ao robô, de tal forma que, com o deslocamento do robô, ocorrerá variação no ângulo βMentre o ponto M na cabeça estéreo e o ponto P do objeto. A disparidade entre os dois pares de imagens, assim como PMY também sofrerá variação de acordo com o deslocamento do robô. A figura 4.12 ilustra esta situação. De tal forma, é possível montar um sistema baseando-se na geometria do conjunto das câmeras e no conhecimento do deslocamento do robô para estimar a distância PMY , relacionando esta com as equações da estereoscopia para a estimação da distância focal para o ponto P:

Figura 4.12: Esquema da autocalibração baseada em coordenadas polares e em um deslo- camento conhecido

Os ângulos βM1 e βM2 são calculados segundo a equação 4.9. A distância dz é o deslocamento conhecido do robô, z1 e z2 representam a profundidade estimada como demonstrado anteriormente, PMY1 e PMY2 são as distâncias entre o ponto P no objeto e os pontos M1e M2, respectivamente, na cabeça estéreo, e h1e h2 representam a altura entre o ponto P e os pontos M1e M2; neste caso h1 = h2, respectivamente.

O objetivo deste método é obter o valor das distâncias PMY1 e PMY2. Isto pode ser feito a partir dos ângulos βM1 e βM2e do deslocamento dz conhecidos e através do fato de que h1= h2. Após obtermos os valores de PMY1 e PMY2, aplicamos estes na equação da etapa de triangulação retificada.

A situação ilustrada na figura 4.12 é equivalente a deslocar o objeto uma distância dzem relação ao robô parado. Nesta situação, forma-se um triângulo com lados PMY1, PMY2 e dz e com ângulos em função de βM1 e βM2, conforme ilustrado na figura 4.13. Os valores de PMY1 e PMY2 podem ser facilmente calculados através da lei dos senos,

4.4. AUTOCALIBRAÇÃO ATRAVÉS DAS COORDENADAS POLARES 47 conforme a equação 4.14.

Figura 4.13: Esquema modificado da autocalibração baseada em coordenadas polares e em um deslocamento conhecido dz sin(βM1− βM2) = PMY1 sin(90 + βM2) = PMY2 sin(90 − βM1) (4.14) onde os valores de dz, βM1e βM2são conhecidos. Após calcularmos os valores de PMY1 e PMY2, que são a projeção de PM1 e PM2 no eixo vertical, calculamos os valores de PM1e PM2facilmente pela equação 4.15 para, em seguida, substituirmos na equação da triangulação retificada (4.16): PM= PMY cos(αM) (4.15) f =PM∗ d 2 ∗ b (4.16)

onde f é a distância focal, em milímetros, d é a disparidade do ponto P entre o par de imagens da cabeça estéreo, e b representa a distância entre o ponto M e o centro óptico de uma câmera, sendo 2 ∗ b a distância entre os dois centro ópticos.

Assim, relacionamos as coordenadas do mundo com as coordenadas da imagem, re- cuperando a distância focal entre os objetos e o robô, parâmetro intrínseco fundamental para o cálculo da profundidade. Este procedimento é feito de forma autônoma durante a movimentação do robô, fornecendo uma estimativa da distância focal para diferentes distâncias relativas ao robô. A distância focal calculada para as câmeras pela calibração convencional será então ajustada de acordo com o resultado da autocalibração.

Na calibração convencional, a distância focal real das câmeras é estimada com pre- cisão. Porém, para a estimação da profundidade, se utilizarmos esta distância para toda a imagem, teremos grandes variações do erro de estimação, como mostrado por Zhang em [Z. Zhang & Deriche 1997] . Calculando-se a distância focal pela autocalibração, estimamos a distância focal com menos precisão se compararmos com a calibração con- vencional, porém, obtemos vários valores para a distância focal a partir de um mesmo

ponto de vista. Isto tenta simular a focalização de vários pontos ao longo da imagem. O ajuste na distância focal utilizada no sistema proposto é feito para cada ponto calculando- se a média entre a distância focal obtida pela calibração convencional e a distância focal calculada pela autocalibração para este ponto, dada por:

fM=

fz+ fa

2 (4.17)

A estimação da profundidade é então calculada segundo as equações de reconstrução geométrica demonstradas na seção 4.3, utilizando este valor médio da distância focal.

Capítulo 5

Experimentos e Resultados

Neste Capítulo iremos apresentar alguns experimentos realizados para verificar os métodos propostos e os resultados obtidos.

5.1

Calibração do Parâmetros Intrínsecos

O método de Zhang foi aplicado sobre as três imagens mostradas na figura 5.1. Foi uti- lizado um padrão de calibração formado por uma configuração tipo "tabuleiro de xadrez"com 40 quadrados pretos e brancos, com dimensão lateral de 3 cm para cada quadrado. Este padrão foi posicionado à frente das câmeras, cerca de 70 cm, estando as câmeras in- clinadas para baixo de forma a simular a configuração padrão do sistema. Esta distân- cia foi escolhida neste valor porque, para o robô visualizar objetos mais próximos seria necessário uma grande inclinação para baixo do conjunto de câmeras, perdendo a visu- laização de objetos qie estivessem a uma altura próxima do robô, nesta situação, o robô estaria movendo-se "olhando"apenas para o chão e não para frente. Porém, como esta distância entre o padrão e as câmeras não é fixa, outros valores podem ser utilizados.

Os resultados obtidos desta forma são esperados ser mais adequados para a estimativa inicial da distância focal na configuração padrão do sistema. Para cada imagem foram extraídos 54 pontos. A aplicação deste método nos forneceu o seguinte resultado:

Matriz de Parâmetros intrínsecos:

A= ⎡ ⎣ 266.34759 −46.442318 275.48567 0 255.38474 174.81175 0 0 1 ⎤ ⎦

Podemos verificar que a distância focal f foi equivalente a 260,86 mm, com f x = 266,34 e f y = 255,38, para as três imagens, nas quais o padrão está a uma distância de cerca de 70 cm em relação a câmera, sendo esta distância relativamente próxima ao robô. Os resultados da estimação da profundidade de objetos em cena baseando-se nesta distância focal serão apresentados na seção 5.8.