Você está na página 1de 83

U NIVERSIDADE F EDERAL DO R IO G RANDE DO N ORTE

C ENTRO DE T ECNOLOGIA
UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE P ROGRAMA DE P ÓS -G RADUAÇÃO EM E NGENHARIA E LÉTRICA

Um Método para Determinação da


Profundidade Combinando Visão Estéreo e
Autocalibração para Aplicação em Robótica
Móvel

José Savio Alves de Sousa Segundo

Orientador: Prof. Dr. Pablo Javier Alsina

Dissertação de Mestrado apresentada ao


Programa de Pós-Graduação em Engenharia
Elétrica da UFRN (área de concentração:
Engenharia de Computação) como parte dos
requisitos para obtenção do título de Mestre
em Ciências.

Natal, RN, Abril de 2007


Um Método para Determinação da
Profundidade Combinando Visão Estéreo e
Autocalibração para Aplicação em Robótica
Móvel

José Savio Alves de Sousa Segundo

Dissertação de Mestrado aprovada em 30 de Abril de 2007 pela banca examinadora com-


posta pelos seguintes membros:

Prof. Dr. Pablo Javier Alsina (orientador) . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN

Prof. Dr. Teodiano Freire Bastos Filho . . . . . . . . . . . . . . . . . . . . . . . . DELE/UFES

Prof. Dr. Adelardo Adelino Dantas de Medeiros . . . . . . . . . . . . . . . . DCA/UFRN

Prof. Dr. Luiz Marcos Garcia Gonçalves . . . . . . . . . . . . . . . . . . . . . . . DCA/UFRN


Agradecimentos

Ao meu orientador, Prof. Pablo Javier Alsina, sou grato pela orientação.

Ao Prof. Luiz Marcos Gonçalvez pela ajuda durante a realização deste trabalho.

Aos Professores Adelardo Adelino de Medeiros e Teodiano Freire Bastos Filho por nos
honrar com suas presenças na banca examinadora.

Aos colegas João Paulo, Ricardo, Marcelo e demais colegas do laboratório de robótica
pelas contribuições e sugestões ao trabalho.

A minha família pelo apoio durante esta jornada.

A minha esposa Kaliane, pelo seu amor. Te Amo mais que tudo, para sempre.

À CAPES, pelo apoio financeiro.


Sumário

Sumário i

Lista de Figuras iii

Lista de Tabelas v

Lista de Símbolos e Abreviaturas vii

1 Introdução 1
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Estrutura do Trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Calibração 7
2.1 Modelagem da Câmera . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Parâmetros Geométricos da Câmera . . . . . . . . . . . . . . . . . . . . 11
2.3 Método de Zhang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Autocalibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Visão Estéreo 19
3.1 Extração das Características . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.1 Operador SUSAN . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Fusão Binocular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.1 Geometria Epipolar . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.2.2 Restrição de Ordenação . . . . . . . . . . . . . . . . . . . . . . 24
3.2.3 Correlação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3 Reconstrução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.1 Retificação da imagem . . . . . . . . . . . . . . . . . . . . . . . 28
3.3.2 Reconstrução . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.3 Triangulação Retificada . . . . . . . . . . . . . . . . . . . . . . 30

4 Sistema Proposto 33
4.1 Cabeça Estéreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.1.1 Aspectos Físicos . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.2 Funcionamento do Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.3 Reconstrução Geométrica Baseada em Coordenadas Polares . . . . . . . 38

i
4.4 Autocalibração Através das Coordenadas Polares . . . . . . . . . . . . . 45

5 Experimentos e Resultados 49
5.1 Calibração do Parâmetros Intrínsecos . . . . . . . . . . . . . . . . . . . 49
5.2 Descrição dos Experimentos . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3 Aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4 Detecção dos Vértices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.5 Correlação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.6 Determinação da Geometria . . . . . . . . . . . . . . . . . . . . . . . . 56
5.7 Autocalibração . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.8 Estimação da Profundidade . . . . . . . . . . . . . . . . . . . . . . . . . 56

6 Conclusões e Perspectivas 63

Referências bibliográficas 66
Lista de Figuras

2.1 Modelo de Câmera de Orifício . . . . . . . . . . . . . . . . . . . . . . . 9


2.2 Efeito de perspectiva: Objetos distantes aparentam menores que objetos
mais próximos. A distância d do orifício O para o plano contendo o objeto
C é a metade da distância para o plano contendo os objetos A e B . . . . . 9
2.3 Efeitos da perspectiva: As imagens de linhas paralelas intersectam-se no
horizonte. Nesse caso, o plano virtual da imagem H está à frente do
orifício . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Projeção perspectiva: As equações de projeção perspectivas são derivadas
da colinearidade do ponto P, sua imagem P e o orifício O . . . . . . . . 10
2.5 Cone Absoluto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1 Geometria Epipolar: O ponto P, os centros óticos O e O das duas câmeras,


e as duas imagens p e p de P pertencem ao mesmo plano . . . . . . . . . 22
3.2 Restrição epipolar: O conjunto de possíveis correspondências para o ponto
p e restringido à pertencer à linha epipolar associada l  . . . . . . . . . . 23
3.3 Restrição de ordenação . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Correlação de duas janelas 3x5 sobre as linhas epipolares correspondentes 26
3.5 A perspectiva de superfícies não-frontoparalelas é diferente para as duas
câmeras: Um segmento de superfície com comprimento L projeta-se em
dois segmentos de imagem com diferentes comprimentos l e l  . . . . . . . 26
3.6 Um par estéreo retificado . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.7 Triangulação em presença dos erros de medida . . . . . . . . . . . . . . 29
3.8 Triangulação retificada entre os dois centros óticos O e O´ das imagens . . 31

4.1 Cinemática da Plataforma experimental . . . . . . . . . . . . . . . . . . 34


4.2 Movimentação da Plataforma experimental . . . . . . . . . . . . . . . . 35
4.3 Vista lateral de parte do robô . . . . . . . . . . . . . . . . . . . . . . . . 36
4.4 Sistema de visão desenvolvido . . . . . . . . . . . . . . . . . . . . . . . 38
4.5 Comparação das notações para representação das imagens . . . . . . . . 39
4.6 Esquema para medição dos ângulos de abertura da câmera . . . . . . . . 40
4.7 Invariância da representação por coordenadas polares em relação à dis-
tância focal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.8 Representação das projeções da distância PM no plano horizontal . . . . 43
4.9 Representação da projeção da distância PM no plano vertical . . . . . . . 44
4.10 Esquema simplificado da representação por coordenadas polares relacio-
nando a cabeça estéreo e um ponto P . . . . . . . . . . . . . . . . . . . . 44

iii
4.11 Esquema detalhado da representação por coordenadas polares relacio-
nando a cabeça estéreo e um ponto P . . . . . . . . . . . . . . . . . . . . 45
4.12 Esquema da autocalibração baseada em coordenadas polares e em um
deslocamento conhecido . . . . . . . . . . . . . . . . . . . . . . . . . . 46
4.13 Esquema modificado da autocalibração baseada em coordenadas polares
e em um deslocamento conhecido . . . . . . . . . . . . . . . . . . . . . 47

5.1 Imagens capturadas pelas câmeras direita e esquerda da cabeça estéreo . . 49


5.2 Configuração utilizada nos experimentos. A região B representa a região
"visível"ao robô, enquanto que as regiões A e C não são visíveis . . . . . 51
5.3 Par de imagens capturado pelas câmeras da cabeça estéreo durante a primeira
aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.4 Par de imagens capturado pelas câmeras da cabeça estéreo durante a se-
gunda aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.5 Vértices detectados no par de imagens da primeira aquisição . . . . . . . 53
5.6 Vértices detectados no par de imagens da segunda aquisição . . . . . . . 54
5.7 Vértices destacados na imagem capturada pela câmera direita durante a
primeira aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Lista de Tabelas

5.1 Resultados obtidos pelas etapas de correlação e determinação da geome-


tria para os vértices exemplificados . . . . . . . . . . . . . . . . . . . . . 58
5.2 Resultados do método de reconstrução por triangulação retificada uti-
lizando distância focal calculada pela calibração convencional . . . . . . 58
5.3 Resultados do método de reconstrução por coordenadas polares utilizando
distância focal calculada pela calibração convencional . . . . . . . . . . . 58
5.4 Distâncias focais calculadas pelo método de autocalibração por coorde-
nadas polares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.5 Resultados do método de reconstrução por coordenadas polares utilizando
distância focal ajustada pela autocalibração por coordenadas polares . . . 59
5.6 Erro de estimação da profundidade dos métodos analisados . . . . . . . . 60
5.7 Erro médio de estimação da profundidade dos métodos analisados para a
primeira aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.8 Erro médio de estimação da profundidade dos métodos analisados para a
segunda aquisição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
5.9 Erro médio de estimação da profundidade dos métodos analisados . . . . 61

v
Resumo

Este trabalho propõe um método para determinar a profundidade de objetos em cena


utilizando uma combinação das técnicas de visão estéreo e autocalibração. Determinando
a distância relativa entre objetos visualizados e um robô móvel, dotado de uma cabeça
estéreo, é possível efetuar sua navegação em ambientes desconhecidos. As técnicas de
visão estéreo fornecem uma medida de profundidade a partir da combinação de duas ou
mais imagens de uma mesma cena. Para a obtenção de estimativas da profundidade dos
objetos presentes nesta cena é necessário uma reconstrução da geometria da mesma.
Para tal reconstrução é necessário o relacionamento das coordenadas tridimensionais
do mundo com as coordenadas bidimensionais das imagens. Através da obtenção dos
parâmetros intrínsecos das câmeras é possível fazer o relacionamento entre os sistemas
de coordenadas. Estes parâmetros podem ser obtidos através da calibração geométrica
das câmeras, a qual é geralmente feita através da visualização de um objeto padrão de
calibração com dimensões conhecidas. A autocalibração das câmeras permite a obtenção
dos parâmetros intrínsecos das mesmas sem a utilização de um padrão conhecido de cal-
ibração, sendo possível a obtenção e a alteração destes durante o deslocamento do robô
móvel em um ambiente desconhecido.
É apresentado neste trabalho um método de autocalibração baseado na representação
de características da imagem por coordenadas polares tridimensionais. Estas são determi-
nadas relacionando-se características das imagens com os ângulos de abertura horizontal
e vertical das câmeras. Utilizando-se estas coordenadas polares é possível efetuar uma re-
construção geométrica da cena de forma precisa. Através desta combinação das técnicas
proposta é possível obter-se uma estimativa da profundidade de objetos cena, permitindo
a navegação de um robô móvel autônomo em um ambiente desconhecido.
Palavras-chave: Visão Estéreo, Autocalibração, Representação por Coordenadas Po-
lares Tridimensionais, Estimação de Profundidade.

vii
Abstract

This work proposes a method to determine the depth of objects in a scene using a
combination between stereo vision and self-calibration techniques. Determining the rel-
ative distance between visualized objects and a robot, with a stereo head, it is possible to
navigate in unknown environments. Stereo vision techniques supply a depth measure by
the combination of two or more images from the same scene. To achieve a depth estimates
of the in scene objects a reconstruction of this scene geometry is necessary.
For such reconstruction the relationship between the three-dimensional world coordi-
nates and the two-dimensional images coordinates is necessary. Through the achievement
of the cameras intrinsic parameters it is possible to make this coordinates systems rela-
tionship. These parameters can be gotten through geometric camera calibration, which,
generally is made by a correlation between image characteristics of a calibration pat-
tern with know dimensions. The cameras self-calibration allows the achievement of their
intrinsic parameters without using a known calibration pattern, being possible their cal-
culation and alteration during the displacement of the robot in an unknown environment.
In this work a self-calibration method based in the three-dimensional polar coordi-
nates to represent image features is presented. This representation is determined by the
relationship between images features and horizontal and vertical opening cameras angles.
Using the polar coordinates it is possible to geometrically reconstruct the scene. Through
the proposed techniques combination it is possible to calculate a scene objects depth esti-
mate, allowing the robot navigation in an unknown environment.
Keywords: Stereo Vision, Self-calibration, Three-dimensional Polar Coordinates Rep-
resentation, Depth Estimation.

ix
Capítulo 1

Introdução

De acordo com o Robotics Industries Association, um robô pode ser definido como um
dispositivo mecânico móvel reprogramável, que consegue, de forma autônoma e recor-
rendo à sua capacidade de processamento:

• Obter informação do meio no qual está inserido, utilizando sensores,


• Tomar decisões sobre o que fazer com base nessas informações adquiridas e em
informações predefinidas,
• Interagir com o meio envolvente utilizando atuadores, ou alterando seu próprio es-
tado.

A robótica móvel lida com a concepção de robôs capazes de locomover-se.


Segundo França [França 2003], dois termos têm sido bastante empregados na clas-
sificação de robôs móveis: veículos automáticos (auto-guiados) e veículos autônomos.
Veículos automáticos são veículos que utilizam algum método de locomoção que altera
o ambiente de trabalho, tais como, guias, marcadores artificiais implantados no ambiente
(códigos de barra, figuras geométricas incomuns ao ambiente, etc), sendo incapazes de
tomar decisões sobre rotas que não tenham sido previamente planificadas.
O ambiente de operação do veículo deve ser modificado de acordo com o tipo de guia
ou marcador empregado. De uma forma geral, os veículos automáticos possuem uma
locomoção bastante limitada. Em compensação, podem utilizar sensores simples que ne-
cessitam de pouco processamento. Como exemplo deste tipo de veículo, pode-se citar o
trabalho desenvolvido por Borges [Borges 1998]. Em seu trabalho, foi utilizado um sen-
sor óptico constituído de uma matriz de receptores e transmissores infravermelhos. Com
esse sensor, determina-se a posição do veículo em relação a uma faixa-guia localizada no
piso do ambiente do robô. Com isso, a ação de controle necessária para mantê-lo na sua
rota é determinada.
Veículos Autônomos são capazes de realizar o planejamento de sua rota com base em
análises de dados provenientes de seus sistemas sensoriais. Geralmente possuem uma ar-
quitetura hierárquica de controle e na maioria das vezes são projetados seguindo conceitos
da teoria de agentes autônomos. Entretanto, outras ferramentas, como redes neurais, lóg-
ica nebulosa e algoritmos evolutivos, têm sido aplicadas também em sua arquitetura, prin-
cipalmente no auxílio da tomada de decisões, fusão de dados multisensoriais, aquisição
de conhecimento e planejamento de navegação autônoma.
2 CAPÍTULO 1. INTRODUÇÃO

A navegação autônoma de robôs em ambientes desconhecidos é uma tarefa complexa,


que exige a resolução de uma gama de problemas, que vão desde a captura de sinais
sensoriais, seu pré-processamento usando técnicas de filtragem, sua integração de modo
a obter medidas úteis à navegação, a construção de modelos geométricos do ambiente a
partir dos dados sensoriais e o uso destes modelos para localização do robô, bem como
para o planejamento e a execução de tarefas de navegação e manipulação.
Em algumas aplicações da robótica móvel, por exemplo, em sistemas multiagentes,
inicialmente, é necessário determinar-se, segundo um sistema de coordenadas qualquer,
a posição do veículo, do seu "alvo"(local para o qual o mesmo deve mover-se) e, em
alguns casos, dos obstáculos inseridos no seu ambiente. Em seguida, ações devem ser
realizadas para que o veículo chegue ao seu destino. Neste caso, a dificuldade está no fato
do ambiente de um veículo autônomo geralmente ser desconhecido e, às vezes, dinâmico.
Por isso, para que o veículo possa atingir sua meta apesar das dificuldades deste ambiente,
ele deve ser dotado de sensores robustos capazes de fornecer as informações de posição
necessárias.
Em alguns trabalhos, como por exemplo, Ottoni [Ottoni 2000] e Carvalho [de Car-
valho & Souza 1998], sensores de baixo custo, como ultra-som, odômetro e bússola digital
são utilizados no controle de trajetórias de robôs móveis autônomos. Contudo, esses sis-
temas são incapazes de reconhecer obstáculos com precisão e apresentam elevados erros
de posição, mostrados por Sandi, Hemerly e Lages [F. A. Sandi L. & Lages 1998]. Nos
animais, o principal sentido é a visão, o qual é o principal responsável pela estimação de
posição e percepção dos obstáculos. Por isso, é natural que a visão computacional seja
muito utilizada também com veículos autônomos. Exemplos dessa metodologia podem
ser encontrados em Chaimowicz e Campos [Campos & Chaimowicz 1999], [Chaimowicz
& Campos 1999]. Nestes trabalhos, são realizadas estimações de distâncias através da
medição dos tamanhos relativos de marcas-guias em imagens capturadas de uma câmera.
Em Pimentel e Hemerly [Pimentel & Hemerly 2000] um sistema de visão é utilizado
para extrair do ambiente do veículo guias para sua navegação através da transformada de
Hough e interpolação por mínimos quadrados. Já em Freitas [Freitas 1999], um sistema
de visão (em conjunto com sensores de ultra-som) é utilizado para reconhecer obstáculos
que estão a uma distância aproximadamente de 1 m em relação ao veículo. No processo
de formação da imagem, basicamente a câmera projeta um ponto no espaço em um plano
imaginário chamado de plano de imagem da câmera. Todo esse processo é descrito por
uma matriz chamada matriz de projeção da câmera. A matriz de projeção é uma carac-
terística particular de cada câmera e depende do processo de fabricação. Além disso, essa
matriz pode ser alterada durante a execução normal do sistema, por exemplo, após uma
alteração na distância focal da câmera, e pode variar de acordo com as condições do ambi-
ente (variações térmicas e mecânicas) Faugeras, Luong e Maybank [Olivier D. Faugeras
& Maybank 1992]. Por isso, a única maneira de determinar a matriz de projeção correta-
mente é através de calibração.
No processo de calibração da câmera, as coordenadas de um conjunto de pontos no
espaço, assim como as coordenadas das projeções no plano da imagem desses pontos, de-
vem ser conhecidas. Uma maneira de obter-se essas coordenadas é através de um gabarito
de calibração. Normalmente, este gabarito é composto por um ou dois planos ortogonais
3

com padrões contrastantes nas suas faces. Então, pode-se considerar a origem do sistema
de coordenadas do ambiente como sendo um dos cantos do gabarito. Assim, as coorde-
nadas dos padrões do gabarito e suas respectivas projeções no plano da imagem podem
ser conhecidos com grande exatidão, Tsai [Tsai 1986].
Os métodos baseados em um padrão de calibração são bastante exatos, mas pos-
suem duas limitações importantes, descritas por Faugeras, Luong e Maybank [Olivier
D. Faugeras & Maybank 1992]: Primeiro, nem sempre um objeto que sirva como gabarito
está disponível. Neste caso, é impossível realizar a calibração. Segundo, se os parâmet-
ros da câmera forem alterados durante o funcionamento normal do sistema, a inspeção
visual deve ser interrompida e o gabarito (novamente) deve ser posto no campo de visão
da câmera. Em vista disso, métodos de calibração automática de câmeras foram desen-
volvidos. Neste caso, a calibração não necessita de gabarito e pode ser realizada durante a
operação normal de inspeção visual, enquanto a câmera realiza uma série de movimentos
em relação a uma cena rígida. As primeiras técnicas de calibração automática, propostas
por Zhang, Luong e Faugeras em [Z. Zhang & Faugeras 1996], eram muito suscetíveis
a ruídos e não tinham uso prático. Felizmente, em 1997, Faugeras, Luong e Maybank
[Olivier D. Faugeras & Maybank 1992] propuseram modificações que aumentaram a ex-
atidão destas e as tornaram mais estáveis.
O uso de visão monocular em veículos autônomos tem limitações. Com a matriz
de projeção conhecida, ou seja, com a câmera calibrada, a partir de um ponto no plano
da imagem, é possível saber apenas a reta a qual pertence o ponto 3D correspondente,
mostrado por Hartley e Zisserman [Hartley & Zisserman 2000]. Com isso, não se pode
medir a distância deste ponto 3D a outro ponto no espaço e nem, caso este se mova, a sua
velocidade. Em tais aplicações, o uso de visão monocular faz necessária a obtenção de
mais de uma imagem de uma mesma cena a partir de pontos de vistas diferentes, como
nos trabalhos de Campos e Chaimowicz [Campos & Chaimowicz 1999], [Chaimowicz &
Campos 1999]. Mesmo assim, além de necessitar de mais tempo de processamento, essa
técnica tende a produzir desvios na trajetória dos veículos autônomos, como no trabalho
de Lamiroy, Espiau, Andreff e Horaud [B. Lamiroy & Horaud 2000].
As técnicas de visão estéreo baseiam-se em estabelecer pontos correlacionados entre
duas ou mais imagens capturadas. A partir desta correlação determina-se a disparidade
destes, obtendo-se a geometria da cena e determinando a profundidade dos objetos em
cena. Por isso, nas aplicações em que tais informações são importantes, pode-se utilizar
a estereoscopia (duas imagens de uma mesma cena fornecidas por um par de câmeras)
para estimá-las. Após os trabalhos independentes de Faugeras [Faugeras 1992] e Hart-
ley [R.I. Hartley & Chang 1992], uma técnica de calibração de um par estereoscópico
conhecida como calibração relativa tornou-se popular. Nesta, para calibração de um par
estereoscópico, necessita-se apenas de uma imagem de cada câmera e, no mínimo, cinco
mapeamentos de pontos quaisquer entre elas.
Assim, a calibração pode ser feita de forma bem menos complexa. Contudo, perde-se
algumas informações importantes, por exemplo, comprimentos e ângulos. O processo
de triangulação necessita de duas imagens de uma mesma cena, mas de pontos de vistas
distintos. Assim, um ponto 3D tem projeções no plano de ambas as imagens. Então,
conhecendo-se a localização dessas projeções no plano das imagens, pode-se estimar a
4 CAPÍTULO 1. INTRODUÇÃO

localização do ponto 3D. Por isso, o processo de emparelhamento (casamento) de pontos


é um dos problemas fundamentais da estereoscopia, explorado em vários trabalhos como:
Baumberg, Hirschmüller, Maciel [Baumberg 2000], [Hirschmüller 2001], [Maciel 2001].
Se o par de câmeras não está calibrado, não existe nenhuma restrição geométrica para
estabelecer os emparelhamentos, ou seja, de uma forma geral, dado um ponto no plano
de imagem de uma câmera, todos os pontos pertencentes ao plano de imagem da outra
câmera que compõe o par são candidatos à emparelhamento, conforme demonstrado por
Zhang [Z. Zhang & Luong 1995].
O emparelhamento de pontos é uma tarefa extremamente complexa e existem várias
técnicas para realizá-la. Contudo, basicamente, para realizar emparelhamento de pontos
em imagens sem calibração, determina-se, independentemente, pontos de interesse em
ambas as imagens e, em seguida, tenta-se encontrar associações de pontos, como no tra-
balho de Pilu [Pilu 1997]. Com os pontos de interesse determinados e segmentados, para
que o problema de emparelhamento de pontos tenha solução, devem existir restrições que
sirvam de guia para a resolução da tarefa. Estas restrições são encontradas no sistema
de visão humano, nas propriedades das câmeras e sensores ópticos, e na geometria. Para
encontrar os possíveis emparelhamentos, essas restrições devem ser aplicadas ao conjunto
de pontos de interesse de duas imagens de forma seqüencial ou paralela.
Desta forma, espera-se que, ao final do processo, a maior quantidade possível de em-
parelhamentos tenha sido encontrada corretamente, como no trabalho de Maciel [Maciel
2001]. Com alguns emparelhamentos encontrados, a matriz fundamental pode ser calcu-
lada. Esta matriz relaciona um ponto no plano de uma imagem ao seu ponto correspon-
dente na outra imagem, conforme mostrado por Hartley, Zisserman e Luong [Hartley
1995], [Hartley & Zisserman 2000], [Q. T. Luong & Papadopoulo 1993]. Contudo, a ma-
triz fundamental não indica a localização exata do ponto, mas apenas a reta (no plano de
imagem) a qual este ponto pertence. A esta reta, dá-se o nome de linha epipolar. O prob-
lema em calcular-se a matriz fundamental é que, normalmente, a sua estimação é bastante
suscetível a ruídos. Por isso, devido à instabilidade da técnica utilizada para segmentar os
pontos de interesse ou a erros cometidos no processo de emparelhamento, a matriz funda-
mental encontrada não é muito confiável, conforme mostrado por Torr e Murray, Zhang
[Torr & Murray 1997], [Zhang 1998]. Em vista disso, vários métodos robustos, baseados
no algoritmo RANSAC [M. A. Fischler 1981], LMedS [Rousseeuw & Leroy 1987] são
empregados na detecção e eliminação do ruído.
A matriz fundamental calculada desta forma apresenta resultados bem melhores. A
matriz fundamental transforma o processo de emparelhamento de pontos de um problema
2D em um de apenas uma dimensão. Além disso, se as linhas epipolares forem paralelas
entre si e em relação ao eixo das abscissas, o correspondente ponto pode ser encontrado de
forma menos complexa, por exemplo, simplesmente calculando uma função que forneça
o grau de semelhança entre os dois pontos, como nos trabalhos de Fusiello, Trucco e Verri
[Fusiello 1998], [A. Fusiello & Verri 1998], [A. Fusiello & Verri 2000].
Dessa forma, com as câmeras calibradas e a matriz fundamental conhecida, pode-se
utilizar estereoscopia para resolver os problemas fundamentais da robótica móvel: desviar
de obstáculos e seguir pela melhor trajetória dentro do ambiente do robô até a sua meta.
A localização e desvio dos obstáculos são fundamentais para a segurança do robô. Além
1.1. MOTIVAÇÃO 5

disso, é através do conhecimento desses obstáculos que o veículo pode planejar a sua
trajetória.
Em oposição a trabalhos que utilizam além do sistema de visão outros sensores (ultra-
som, lasers etc.) que requerem um pré-conhecimento ou alterações no ambiente do robô,
propõe-se um sistema de visão que retorne a profundidade, distância relativa, entre obje-
tos, ou obstáculos, e o robô. Através da combinação das técnicas de autocalibração e visão
estéreo, fornecemos uma ampla faixa de distâncias para determinação da profundidade de
objetos em cena.

1.1 Motivação
A razão deste trabalho surge em função da especificação do projeto de um robô móvel
de pequeno porte, denominado Karel. Nele, está prevista a capacidade de se locomover
em ambientes desconhecidos e fechados. Daí aparece a necessidade de o robô visualizar
estes ambientes e, assim, decidiu-se por equipar a plataforma com uma cabeça estéreo
dotada de duas câmeras. Desta forma é necessário o desenvolvimento de métodos para
determinar a profundidade entre objetivos visualizadoe e o robô, a várias distâncias, e
resolver problemas de visão estéreo tradicional, sendo este trabalho parte do desenvolvi-
mento da cabeça estéreo deste robô móvel.

1.2 Objetivo
Neste trabalho, propomos um sistema que permite a obtenção da distância relativa
(profundidade) entre um robô e objetos visualizados pelo mesmo, de forma autônoma,
durante sua execução. Isto é realizado através da combinação de técnicas de visão estéreo
e autocalibração. Utilizando-se uma cabeça estéreo e técnicas de visão estéreo, recupera-
se a geometria da cena e obtém-se a profundidade desta. Para a obtenção das distâncias é
necessário o relacionamento desta geometria com os parâmetros das câmeras. A autocal-
ibração permite a obtenção destes parâmetros de forma autônoma durante a navegação do
robô. Combinando-se estas técnicas é possível obter a profundidade de objetos em cena
em uma variada gama de distâncias às câmeras.

1.3 Metodologia
Primeiramente, iremos utilizar uma plataforma experimental (cabeça estéreo) con-
feccionada no Laboratório de Robótica da UFRN. Tal plataforma é equipada com duas
câmeras do tipo ”webcam” que são utilizadas para a captura das imagens. Esta plataforma
também é equipada com servomotores de forma a permitir variações no ponto de vista
das câmeras. A partir da obtenção das imagens adquiridas pelo par de câmeras e através
do conhecimento da configuração dos ângulos da cabeça estéreo o robô será capaz de
determinar a profundidade de objetos visualizados, permitindo a navegação deste em am-
bientes desconhecidos. Este sistema combina técnicas de visão estéreo, efetuando a etapa
6 CAPÍTULO 1. INTRODUÇÃO

de reconstrução geométrica da cena através de coordenadas polares tridimensionais dos


pontos na imagem, e técnicas de autocalibração, baseadas nas coordenadas polares de
pontos nas imagens, um deslocamento conhecido do robô e com ajuste da distância focal
calculada das câmeras. O sistema proposto será mais bem explicado no capítulo 4.

1.4 Estrutura do Trabalho


Este trabalho está organizado em seis capítulos. Neste capítulo 1 foi feita uma breve
introdução sobre robótica móvel, além de apresentar a motivação e os objetivos do tra-
balho. Informações sobre calibração e autocalibração de câmeras e visão estéreo, focando
a determinação da profundidade, como também os métodos destas técnicas, serão discuti-
das e revisadas nos Capítulos 2 e 3. No Capítulo 4 serão mostrados os métodos utilizados
na implementação do sistema. Experimentos e resultados serão apresentados no Capítulo
5. Finalmente, no Capítulo 6 os resultados serão discutidos e analisados
Capítulo 2

Calibração

A calibração de câmeras é uma etapa necessária a qualquer aplicação em visão com-


putacional e tem por finalidade obter parâmetros que tornarão possível mapear coor-
denadas tridimensionais do mundo em coordenadas bidimensionais de imagens. Esses
parâmetros, são geralmente divididos em duas categorias: parâmetros extrínsecos, que
fornecem a posição da origem do sistema de coordenadas da câmera em relação à origem
das coordenadas do mundo, e os intrínsecos, que exprimem a geometria interna da câmera
bem como suas características ópticas. Existem na literatura diversos métodos utilizados
para calibração.
Os métodos existentes na literatura diferenciam-se basicamente em duas categorias:
Os que efetuam a calibração através da observação de um objeto com dimensões conheci-
das, (padrão de calibração), denominados métodos clássicos de calibração de câmeras, ou
calibração convencional, e os métodos que efetuam a calibração através da observação do
ambiente, denominados autocalibração de câmeras.
Nos métodos de calibração convencional, um ponto em comum é a modelagem por
meio de equações que relacionam pontos conhecidos em coordenadas de mundo com suas
respectivas representações em imagem. Essas equações comporão um sistema a partir do
qual serão encontrados os parâmetros extrínsecos e intrínsecos. É necessária a observação
de uma ou mais imagens de objetos cuja geometria no espaço tridimensional é conhecida
com alta precisão. Normalmente estes objetos, denominados padrão de calibração, estão
contidos em um, dois ou três planos ortogonais entre si. O principal problema destes
métodos é que exigem uma alta precisão nas medições dos objetos nas coordenadas de
mundo, nas medições dos pontos correspondentes na imagem ou nos deslocamentos re-
alizados pela câmera. Os parâmetros intrínsecos encontrados representam a configuração
atual da câmera. Caso estes sejam alterados, é necessária uma nova calibração, impli-
cando em uma nova observação do padrão de calibração, o que não é possível em algumas
situações.
Na autocalibração, não são usados objetos conhecidos previamente. A calibração é
realizada apenas capturando-se diferentes imagens com uma câmera, de uma cena es-
tática, sem alteração dos parâmetros intrínsecos desta câmera. Em seguida é feita a cor-
respondência entre pontos presentes nestas imagens. Estes métodos se mostram interes-
santes quando não é possível realizar a calibração da câmera em um ambiente controlado,
observando objetos conhecidos. Além disso, os mesmos oferecem a capacidade de cali-
8 CAPÍTULO 2. CALIBRAÇÃO

brar a câmera dinamicamente durante o funcionamento do sistema em que ela é utilizada.


A alteração dos parâmetros intrínsecos obriga uma nova calibração, que pode ser execu-
tada sem dificuldades neste método. Porém, estes exigem um maior processamento para
realizar a correspondência entre os pontos das imagens, além de normalmente serem mais
complicados e de fornecerem resultados menos precisos.
Neste trabalho, desejamos calibrar os parâmetros intrínsecos das câmeras para efetuar
a reconstrução geométrica da cena. Esta reconstrução é fundamental para a obtenção da
profundidade da cena após a aplicação das técnicas de visão estéreo, Zhang, em [Z. Zhang
& Deriche 1997], enunciou que: Para a estimação de profundidade a distância focal cal-
culada pela calibração convencional é apenas válida para um volume em torno da posição
do objeto de calibração. O desempenho da calibração degrada com o afastamento desta
posição.
Considerando a precisão da calibração convencional e o fato de não ocorrer variação
no foco manual das câmeras durante a operação do robô, utilizaremos uma estimativa ini-
cial da distância focal. Portanto, resolvemos calcular esta distância focal inicial utilizando
o método proposto por Zhang em [Zhang 2002], baseado em um padrão de calibração
com dimensões conhecidas. Iremos utilizar um método de autocalibração baseado na rep-
resentação por coordenadas polares tridimensionais durante a execução do processo para
obter a distância focal relativa aos objetos em cena. De tal forma, a distância focal uti-
lizada no sistema é baseada na estimativa inicial obtida pela calibração convencional com
seu valor ajustado pela autocalibração. As vantagens da utilização do método de Zhang
são a flexibilidade, robustez e baixo custo de processamento. As vantagens da autocali-
bração baseada em coordenadas polares são o baixo custo de processamento e a utilização
das características geométricas do dispositivo e da cena, que serão explicados no Capítulo
4.

2.1 Modelagem da Câmera


O modelo de câmera mais utilizado é o pinhole, ou modelo de orifício. Este modelo é
a mais simples representação do funcionamento de uma câmera: Seja uma caixa com um
furo pequeno no centro de um de seus lados, e com uma placa opaca no seu interior. Se a
caixa for posicionada de frente para uma fonte de luz, tal como uma vela, será possível ver
uma imagem invertida da mesma aparecendo na placa opaca, ilustrada na figura 2.1. Esta
imagem é formada pelos raios de luz emitidos pela fonte em frente à caixa. Se o orifício
fosse realmente reduzido a um ponto (o que é fisicamente impossível), exatamente um
único raio de luz passaria através de cada ponto na placa (ou plano da imagem).
Na realidade, o orifício possui um tamanho pequeno e cada ponto na imagem coleta
luz de um cone de raios com um pequeno ângulo. Isto mostra que este modelo idealizado
e extremamente simples da geometria da imagem não é tão restrito. Câmeras reais são
normalmente equipadas com lentes, que tornam a geometria mais complexa. O modelo de
projeção da perspectiva do orifício (também chamada de perspectiva central), primeira-
mente proposto por Brunelleschi no começo do século XV, é matematicamente conve-
niente e, apesar de sua simplicidade, geralmente proporciona uma aproximação aceitável
do processo de formação da imagem. A projeção perspectiva cria imagens invertidas, e é
2.1. MODELAGEM DA CÂMERA 9

Figura 2.1: Modelo de Câmera de Orifício

conveniente algumas vezes considerar uma imagem virtual associada com um plano que
se encontra na frente do orifício, à mesma distância para o plano da imagem. Esta imagem
virtual não é invertida, mas é estritamente equivalente à atual. Dependendo do contexto,
pode ser mais conveniente utilizar uma ou a outra.
A figura 2.2 ilustra um efeito óbvio da projeção perspectiva: o tamanho aparente dos
objetos depende da sua distância: por exemplo, as imagens B’ e C’ dos vetores B e C têm
o mesmo tamanho, mas A e C possuem realmente a metade do tamanho de B. A figura 2.3
ilustra outro efeito bem conhecido: A projeção de duas linhas paralelas sobre um plano
Π faz com que as mesmas aparentem convergir sobre uma linha horizontal H formada
pela intersecção do plano da imagem com o plano paralelo a Π e passando através de um
orifício. Note que a linha L em Π que é paralela ao plano da imagem não possui imagem.

Figura 2.2: Efeito de perspectiva: Objetos distantes aparentam menores que objetos mais
próximos. A distância d do orifício O para o plano contendo o objeto C é a metade da
distância para o plano contendo os objetos A e B
10 CAPÍTULO 2. CALIBRAÇÃO

Figura 2.3: Efeitos da perspectiva: As imagens de linhas paralelas intersectam-se no


horizonte. Nesse caso, o plano virtual da imagem H está à frente do orifício

Estas propriedades são fáceis de serem provadas de forma puramente geométrica.


Contudo, é geralmente conveniente (se não elegante) usar uma convenção em termos dos
referenciais, coordenadas e equações. Considere por exemplo um sistema de coordenadas
(O, i, j, k) anexados à câmera de orifício, onde a origem O coincide com o orifício, e os
vetores i e j formam a base do plano vetorial paralelo ao plano da imagem, localizado a
uma distância positiva f  para o orifício ao longo do vetor k, como ilustrado na figura 2.4.
A linha perpendicular a Π e que passa através do orifício é chamada de eixo ótico, e o
ponto C onde perfura Π é chamado de centro da imagem. Esse ponto pode ser usado
como a origem do referencial de coordenadas do plano da imagem, e desempenha um
papel importante nos procedimentos de calibração da câmera.

Figura 2.4: Projeção perspectiva: As equações de projeção perspectivas são derivadas da


colinearidade do ponto P, sua imagem P e o orifício O
2.2. PARÂMETROS GEOMÉTRICOS DA CÂMERA 11

Seja P um ponto da cena com coordenadas (x, y, z) e P sua imagem com coordenadas
(x , y , z ). Estando P sobre o plano da imagem, temos z = f  . Os três pontos P, O e P
−−→ −→
são colineares, obtendo-se OP = λOP para uma constante λ.

x = λx
x y z
y = λy ⇐⇒ λ = = = (2.1)
x y z
z = λz
e
x
x = f  (2.2)
z
y
y = f  (2.3)
z

2.2 Parâmetros Geométricos da Câmera


As coordenadas (x, y, z) de um ponto P na cena observada por uma câmera de orifício
são relacionados com suas coordenadas da imagem (x , y ) pelas equações de perspectiva
2.2 e 2.3. Porém, essas equações só são validas quando todas as distâncias são medidas
no referencial da câmera, e as coordenadas da imagem têm sua origem no ponto central,
onde o eixo de simetria da câmera iguala-se a sua lente. Na prática, o mundo e o sistema
de coordenadas da câmera são relacionados por um conjunto de parâmetros físicos, como
a distância focal das lentes, o tamanho dos pixels, a posição do ponto central, e a posição
e orientação da câmera. Assim, ocorre a distinção dos parâmetros intrínsecos, que rela-
cionam o sistema de coordenadas da câmera ao sistema de coordenadas idealizado, e dos
parâmetros extrínsecos, que relacionam o sistema de coordenadas da câmera ao sistema
de coordenadas fixo do mundo e especifica sua posição e orientação no espaço.
Nesta modelagem de câmeras, um ponto apenas estará no foco quando sua profun-
didade e a distância entre o centro ótico da câmera e o plano da imagem obedecerem às
equações 2.2 e 2.3. Do mesmo modo, distorções não-lineares associadas com lentes reais
não são levadas em consideração nestas equações.
Os parâmetros extrínsecos, ou de orientação exterior, representam a posição da origem
do referencial imagem e sua orientação em relação ao referencial objeto (do mundo real).
Podemos dizer que definem a posição e orientação 3D da câmera em relação a um de-
terminado sistema de coordenadas, ou seja, a relação espacial entre a câmera e o mundo.
Estes parâmetros fazem a transformação entre o sistema de coordenadas do mundo para
o sistema de coordenadas da câmera e são, portanto, translações e rotações.
Os parâmetros intrínsecos são aqueles que definem a geometria interna da câmera e
suas características óticas. São eles: Distância Focal da Câmera, Ponto Central, Constante
de Distorção Ótica, Fator de Escala em X. A distância focal da câmera é a distância entre o
ponto nodal interior do sistema de lentes e o plano da imagem. Não podemos considerar
a distância focal impressa nas lentes das máquinas fotográficas, pois é um parâmetro
baseado no modelo de lentes espessas. Embora os dois parâmetros dos diferentes modelos
de câmera gerem efeitos similares na imagem, eles possuem diferentes medidas. O ponto
12 CAPÍTULO 2. CALIBRAÇÃO

principal ou centro projetivo é definido como a intersecção do eixo ótico do sistema de


lentes da câmera com o plano da imagem. A constante de distorção ótica mede a distorção
causada pela imperfeição na forma geométrica das lentes da câmera. O fator de escala em
X é oriundo da diferença entre o número de elementos sensores na câmera e o número de
pixels amostrados pelo hardware de digitalização da imagem.

2.3 Método de Zhang

No trabalho apresentado por Zhang [Zhang 2002], é utilizado um padrão plano para
realizar a calibração. Relacionando um ponto no plano imagem com o seu correspondente
em coordenadas de mundo, tem-se:

sm̃ = A[R T ]M̃ (2.4)

Os vetores aumentados de 1 m̃ = [u, v, 1]T e M̃ = [X,Y, Z, 1]T são, respectivamente,


as coordenadas na imagem e no mundo de um ponto P. Os parâmetros R e T são os
parâmetros extrínsecos e a matriz A é a matriz contendo os parâmetros intrínsecos, dada
por: ⎡ ⎤
f x γ ox
A = ⎣ 0 f y oy ⎦ (2.5)
0 0 1
onde ox e oy são as coordenadas do ponto central, fx e fy são os fatores de escala na
imagem nos eixos x e y, respectivamente, e y descreve o "skewness", ou a inclinação, dos
dois eixos da imagem.

Como o padrão utilizado para calibração é plano, sem perda de generalidade, pode-se
re-escrever 2.4 como ⎡ ⎤ ⎡ ⎤
u X
s ⎣ v ⎦ = A [ r1 r2 t] ⎣ Y ⎦ (2.6)
1 1
que implica dizer que um ponto no padrão dado por uma coordenada M relaciona-se a sua
coordenada na imagem m por uma homografia H, onde r1 e r2 representam os elementos
da matriz de rotação R, e t representaa translação, ou seja

sm̃ = H M̃ sendo H = A [r1 r2 t] (2.7)

Essa homografia pode ser calculada facilmente através da resolução de um sistema


2.3. MÉTODO DE ZHANG 13

sobredeterminado como
⎡ ⎤⎡ ⎤
M̃1T 0T −uM̃1T h11
⎢ 0T M̃1T −vM̃1T ⎥⎢ h12 ⎥
⎢ ⎥⎢ ⎥
⎢ M̃2T 0T −uM̃2T ⎥⎢ h13 ⎥
⎢ ⎥⎢ ⎥
⎢ 0T M̃2T −vM̃2T ⎥⎢ .. ⎥
⎢ ⎥⎢ . ⎥=0 (2.8)
⎢ .. .. .. ⎥⎢ .. ⎥
⎢ . . . ⎥⎢ ⎥
⎢ ⎥⎢ . ⎥
⎣ M̃N 0T
T −uM̃NT ⎦⎣ h32 ⎦
0T M̃NT −vM̃NT h33

utilizando-se a decomposição SVD.


Com o conhecimento de que r1 e r2 na equação 2.7 são ortonormais e sendo H =
[h1 h2 h3 ], tem-se

hT1 (AT )− 1A−1 h2 = 0 (2.9)


hT1 (AT )− 1A−1 h1 = hT2 A−T A−1 h2 (2.10)

Seja a matriz B dada por


⎡ ⎤
B11 B12 B13
B = (AT )− 1A−1 = ⎣ B21 B22 B23 ⎦ (2.11)
B31 B32 323
⎡ oy γ−ox fy

1
fx2
− f 2γf fx2 fy
⎢ x y ⎥
⎢ − f 2γf 2 γ2
+ f12
γ(ox γ−oy fy )
− f 2 f 2 − f y2
o ⎥
B=⎢ fx fy2
2 ⎥ (2.12)
⎣ x y y x y y ⎦
oy γ−ox fy γ(ox γ−oy fy ) o (oy γ−ox fy )2 o2y
fx2 fy
− f 2 f 2 − f y2 fx2 fy2
+ f2 +1
x y y y

Uma vez que a matriz B é simétrica, pode-se representá-la por um vetor de seis ele-
mentos
b = [B11 , B12 , B22 , B13 , B23 , B33 ]T (2.13)
e assim tem-se
hTi Bh j = vTij b (2.14)
onde

vi j = [hi1 h j1 , hi1 h j2 + hi2 h j1 , hi2 h j2 , hi3 h j1 + hi1 h j3 ,


hi3 h j2 + hi2 h j3 , hi3 h j3 ]T

A partir das restrições 2.9 e 2.10 pode-se escrever um sistema para cada uma das
imagens do padrão, apresentadas como

vT12
b=0 (2.15)
(v11 − v22 )T
14 CAPÍTULO 2. CALIBRAÇÃO

Se n imagens forem utilizadas o sistema será composto por 2 × n equações. Esse


sistema pode ser resolvido de novo com o auxílio da decomposição SVD.
A partir da solução encontrada para a matriz B podem-se obter os parâmetros in-
trínsecos

oy = (B12 B13 − B11 B23 )/(B11 B22 − B212 )


B33 −
[B213 + oy (B12 B13 − B11 B23 )]/B11
fx = λ/B11
fy = λB11 /(B11 B22 − B212 )
γ = −B12 fx2 fy /λ
ox = γoy / fy − B13 fx2 /λ

e os extrínsecos para cada imagem

λ = 1/  A−1 h1  = 1/  A−1 h2 
r1 = λA−1 h1
r2 = λA−1 h2
r3 = r1 × r2
t = λA−1 h3

2.4 Autocalibração
A autocalibração foi inicialmente proposta por [Maybank & Faugeras 1992] e [Olivier
D. Faugeras & Maybank 1992] como uma tentativa de efetuar-se a calibração de uma
câmera obtendo-se os parâmetros intrínsecos consistentes com a geometria projetiva de
uma seqüência de imagens. De tal forma, os algoritmos de autocalibração efetuam nen-
huma ou poucas suposições sobre a estrutura da cena visualizada. Recentemente, os
pesquisadores estenderam as técnicas de autocalibração utilizando outras restrições além
das restrições dos parâmetros intrínsecos, principalmente restrições na movimentação das
câmeras e restrições na cena. O problema da autocalibração estende-se também para
variações nos parâmetros intrínsecos, principalmente a distância focal de uma câmera.
A maioria dos algoritmos de autocalibração baseiam-se no modelo de câmera de
orifício, assumindo que a câmera efetua uma transformação perspectiva perfeita, como
demonstrado na seção 2.1. Sendo (u, v) as coordenadas da imagem e (X,Y, Z) as coorde-
nadas de mundo, então a equação de projeção é dada por:
⎡ ⎤ ⎡ ⎤
⎡ ⎤ X X
u ⎢ Y ⎥ ⎢ Y ⎥
s v ⎦ = KRT [I| − t] ⎢
⎣ ⎥ ⎢
⎣ Z ⎦ = P⎣ Z ⎦
⎥ (2.16)
1
1 1
Onde K é uma matriz triangular superior definida pelos parâmetros intrínsecos da
câmera, e R e t representam a orientação e posição da câmera, respectivamente, e são
definidas pelos parâmetros extrínsecos da câmera. A matriz P é a matriz de transformação
2.4. AUTOCALIBRAÇÃO 15

perspectiva, que relaciona as coordenadas do mundo em coordenadas da imagem. O


número de parâmetros variáveis da matriz K depende do modelo da câmera empregado.
⎡ ⎤
αu −αu cot(θ) u0
⎣ 0 αv / sin(θ) v0 ⎦ (2.17)
0 0 1
Neste caso, os cinco parâmetros intrínsecos são: (u0 , v0 ) que são as coordenadas do
ponto principal, (αu , αv ) que são os fatores de escala, e θ é o ângulo entre os eixos da
imagem.
O cone absoluto Ω é um cone particular no plano do infinito. O cone Ω é invariante
sobre movimentações rígidas e sobre mudanças de escala uniformes, logo, sua posição
relativa em relação a uma câmera em movimento é constante. Então a imagem de Ω será
constante se os parâmetros intrínsecos permanecerem constantes durante o movimento
das câmeras.
O cone Ω pode ser considerado um objeto de calibração presente em todas as cenas.
O cone Ω pode ser representado pelo quadrilátero absoluto Ω . Neste caso, Ω e seu plano
de suporte, o plano no infinito Π∞ , são expressos através de uma entidade geométrica, e
a relação entre Ω e sua imagem ω é facilmente obtida usando-se a equação de projeção
para Ω :

ωi ≈ Pi Ω PiT (2.18)


Onde o operador ≈ significa um fator de escala, ωi representa a imagem de ωi , Ω a
imagem de Ω e Pi a matriz de projeção, com centro ótico ci , ilustrado na figura 2.5

Figura 2.5: Cone Absoluto

Utilizando-se as equações 2.16 e 2.18 e escrevendo-se Ω = diag(1, 1, 1, 0), obtém-se


a relação entre os parâmetros intrínsecos K e a imagem dual do cone absoluto Ω , dada
por:

ωi ≈ Ki KiT (2.19)


16 CAPÍTULO 2. CALIBRAÇÃO

Ω pode ser transferido de uma imagem para a outra através da homografia do plano
Π∞ .

ω j ≈ Hi∞−T
j ωi Hi∞−1
j (2.20)
Então, se aplicarmos a restrição da geometria epipolar, obtêm-se as equações de
Kruppa [Kruppa 1913]:

[ei j ]Tx KK T [ei j ]x ≈ Fi j KK T FiTj (2.21)


Onde Fi j é a matriz fundamental para os pontos de vista i e j, e ei j é o epipolo cor-
respondente. Por esta restrição, elimina-se a solução da posição no infinito da equação.
Neste caso apenas duas equações independentes podem ser obtidas. Combinando-se as
equações 2.20 e 2.21 obtém-se a seguinte equação:

Ki KiT ≈ Pi Ω PiT (2.22)


As equações 2.20 e 2.22 são os fundamentos da maioria dos métodos de autocali-
bração de câmeras. Quando a homografia do plano no infinito Hi∞j é conhecida, então a
equação 2.20 pode ser reduzida a um conjunto de equações lineares nos coeficientes de
ωi ou ωi [Hartley 1994a].
Segundo [Hemayed 2003], os algoritmos de autocalibração classificam-se de acordo
com os tipos de restrições consideradas para obter-se os parâmetros intrínsecos:

• Alguns algoritmos baseiam-se em parâmetros intrínsecos desconhecidos mas re-


stringidos, sem nenhuma suposição sobre a estrutura da cena visualizada. Algumas
abordagens interessantes foram propostas em [Maybank & Faugeras 1992], [Olivier
D. Faugeras & Maybank 1992], [Kruppa 1913], [Hartley 1994a], [Luong & Faugeras
1997], [Heyden & Astrom 1996], [M. Pollefeys & Oosterlinck 1996], [M. Pollefeys
1997], [M. Pollefeys 1999], [Triggs 1997], [Lourakis & Deriche 2000b], [C. Lei &
Tsui 2002], [Heyden & Astrom 1997], [M. Pollefeys & Gool 1998], [M. Pollefeys
& Gool 1999], [Heyden & Astrom 1998], [R. I. Hartley & Reid 1999], [M. Polle-
feys & Proesmans 1996], [Hartley 1992], [Huang & Faugeras 1989], [Bougnoux
1998], [Mendonca & Cipolla 1999], [Lourakis & Deriche 2000a], [Rousso & Shilat
1998], [Seo & Heyden 2000].
• Alguns algoritmos são específicos para movimentos restritos, combinando a re-
strição de movimentos da câmera com a restrição dos parâmetros intrínsecos. Em
muitos casos isto torna o algoritmo mais simples, porém a ambigüidade geralmente
não é restringida. Algumas abordagens interessantes são propostas em [T. Moons
& Pauwels 1996], [Hartley 1994b], [M. Armstrong & Hartley 1996], [O. Faugeras
& Sturm 2000], [L. Wang & Xu 2001], [L. De Agapito & Hayman 1999], [L. De Agapito
& Reid 1998], [L. De Agapito & Reid 2001], [Kim & Hong 2001], [Tordoff &
Murray 2000], [Seo & Hong 1998], [Seo & Hong 1999], [Hayman & Murray
2002].
• Outros algoritmos de autocalibração combinam a autocalibração com restrições da
cena.
2.4. AUTOCALIBRAÇÃO 17

Os primeiros métodos de autocalibração foram propostos por Maybank e Faugeras,


em [Maybank & Faugeras 1992] e Faugeras, Luong, Maybank, em [Olivier D. Faugeras
& Maybank 1992], baseando-se nas equações de Kruppa [Kruppa 1913] e utilizando-se
de três vistas para uma mesma cena. Esta abordagem foi evoluindo com o passar dos
anos e atualmente [Luong & Faugeras 1997] usam as equações de Kruppa para derivar
sistemas de equações polinomiais, mas esta técnica envolve um alto custo computacional,
possui incertezas associadas à estimação da geometria epipolar e necessita de algum con-
hecimento prévio dos parâmetros intrínsecos, além de não relacionarem todas as imagens
em um único quadro projetivo.
Pollefeys desenvolveu um método que se inicia com a calibração projetiva, utiliza a
homografia do plano no infinito para obter a calibração afim e então obtém a calibração eu-
clidiana a partir de três imagens. Hartley, em [Hartley 1994a] baseando-se em [Maybank
& Faugeras 1992], desenvolveu um algoritmo prático para mais de três câmeras. Triggs
propõe em [Triggs 1997] minimizar a recuperação do quadrado absoluto, que consiste
em um quadrado degenerado formado por planos tangentes ao cone absoluto e possui a
propriedade de que sua projeção da imagem coincide com a imagem dual do cone abso-
luto.
Lourakis e Deriche propõem, em [Lourakis & Deriche 2000b], uma simplificação de
forma algébrica e baseada na matriz fundamental das equações de Kruppa [Kruppa 1913]
tornando o algoritmo da autocalibração mais estável e mais robusto em relação ao ruído.
Lei, em [C. Lei & Tsui 2002], propõe um método que utiliza uma técnica de otimização
para determinar os fatores de escala, sendo os parâmetros intrínsecos são derivados das
restrições lineares resultantes.
Moons em [T. Moons & Pauwels 1996] e Hartley [Hartley 1994b] propõem uma
redução para equações lineares através de uma abordagem estratificada, obtendo as ho-
mografias do plano no infinito através de uma calibração afim baseada em uma translação
pura [T. Moons & Pauwels 1996] e uma rotação pura [Hartley 1994b]. Armstrong, em
[M. Armstrong & Hartley 1996], considera o caso da autocalibração de uma câmera sobre
uma movimentação planar, que consiste de uma translação em um plano e uma rotação
sobre um eixo perpendicular a este plano. Foi introduzida a relação polar entre o ponto
do eixo de rotação e a linha trifocal.
Faugeras investiga em [O. Faugeras & Sturm 2000] a relação entre uma câmera 2D e
uma 1D. É mostrado que uma movimentação planar de uma câmera 2D pode ser reduzida
para uma câmera 1D sobre o plano trifocal da câmera 2D, substituindo-se as equações
de Kruppa [Kruppa 1913] para autocalibração de câmeras 2D por um algoritmo linear
para a autocalibração de câmeras 1D. Li propõem um método em [H. Li & Hu 2002]
que calcula os 5 parâmetros intrínsecos linearmente. Neste, informações planares da cena
são utilizadas e a câmera efetua dois ou mais conjuntos de três movimentos ortogonais
mútuos ou cinco ou mais conjuntos de dois movimentos ortogonais.
Triggs em [W 1998] desenvolve uma técnica baseada em algumas restrições en-
volvendo o quadrado absoluto e colinearidades do plano da cena para o plano da im-
agem. Strum e Maybank em [Sturm & Maybank 1999] e Zhang em [Zhang 2002]
propõem independentemente utilizar padrões planos conhecidos num espaço 3D para
calibrar precisamente uma câmera. Lowbowitz e Zisserman descrevem em [Liebowitz
18 CAPÍTULO 2. CALIBRAÇÃO

& Zisserman 1998] uma técnica de retificação para imagens em perspectivas de planos
utilizando-se de informações como um ângulo conhecido, ou dois ângulos semelhantes
desconhecidos ou uma razão entre comprimentos conhecida.
Xu propõe em [G. Xu & Shum 2000] um algoritmo linear recuperando-se a movi-
mentação das câmeras e equações de dois planos através de suas matrizes de homografia.
Utiliza-se inicialmente estimativas que são otimizadas pela minimização da diferença
entre observações e reprojeções. Liebowitz e Zisserman propõem em [Liebowitz &
Zisserman 1999] uma abordagem combinando-se as restrições da cena e as restrições
da autocalibração sobre o cone absoluto.
Em alguns casos, a movimentação das câmeras não é suficiente para permitir a au-
tocalibração. Este tipo de movimento é definido como uma seqüência de movimentos
críticos. Nestes casos não existe uma única solução para a o problema da autocalibração.
Strum, em [Sturm 1997], [Sturm 1999], promove uma análise completa destas seqüências
de movimentos críticos para parâmetros intrínsecos constantes e identifica falhas específi-
cas para alguns algoritmos. Análises parciais e alguns casos específicos são mencionados
em [Pollefeys 1999], [Y. Ma & Sastry 1999], [Kahl 1999].
Kahl, em [F. Kahl & Astrom 2000], promove uma análise para os movimentos críticos
no caso de variação de parâmetros intrínsecos. Strum, em [Sturm 2000], apresenta um
tipo de movimento de câmera que não é crítico para o problema da autocalibração, mas
neste caso a abordagem baseada nas equações de Kruppa falha. Este é o caso se os
centros óticos das câmeras estão sobre uma esfera e seu eixo ótico passa através do centro
da esfera.
Capítulo 3

Visão Estéreo

A visão computacional pode ser utilizada como um sensor de distâncias, substituindo


sonares e sensores baseados em infravermelho, que apresentam problemas de resolução
angular e reflexão difusa, respectivamente. Uma imagem plana não é suficiente - na maior
parte dos casos - para fornecer informações sobre a distância dos objetos à câmera. Para
obter esta informação, são utilizadas, no mínimo, duas imagens, sejam elas adquiridas
por uma ou mais câmeras, ou pela movimentação da(s) mesma(s) ou do robô. Usar duas
imagens, conhecendo-se o deslocamento do observador na tomada de uma para a outra,
para obter a distância dos objetos é no que consiste a visão estéreo.
A visão computacional estéreo é uma tentativa de reprodução do modo como os seres
humanos vêem o mundo, onde as imagens separadas de dois olhos são combinadas com
sucesso em uma imagem tridimensional no cérebro. Cada olho captura sua própria vista e
as duas imagens separadas são transmitidas ao cérebro para serem "processadas". Quando
as duas imagens chegam simultaneamente na parte traseira do cérebro, são combinadas
em uma única imagem. O cérebro combina as duas imagens casando as similaridades e
adicionando as pequenas diferenças. Essas pequenas diferenças entre as duas imagens
são adicionadas até que se obtenha uma diferença total na imagem final. A imagem
combinada é mais do que a soma de duas imagens. É uma imagem estereoscópica tridi-
mensional.
Para construir-se um programa computacional capaz de possuir uma percepção estere-
oscópica, é preciso entender como vários pontos de vista de uma mesma cena restringem
a estrutura tridimensional e as configurações correspondentes das câmeras. No caso de
uma visão estéreo binocular, a primeira imagem de qualquer ponto deve estar no plano
formado pela segunda imagem e pelo centro ótico das duas câmeras. Essa restrição epipo-
lar é expressa geometricamente por uma matriz 3x3 chamada de matriz essencial, quando
os parâmetros intrínsecos das câmeras são conhecidos, ou matriz fundamental, caso con-
trário.
Pode-se resumir a visão estéreo como: A habilidade de inferir informações na estru-
tura 3D e a distância de uma cena para duas ou mais imagens através de diferentes pontos
de vista. A visão estéreo envolve basicamente três processos:

• Extração das características das imagens observadas pelo par de câmeras.


• A fusão binocular das características observadas pelas duas câmeras, ou seja, esta-
belecer a correspondência entre características das duas imagens.
20 CAPÍTULO 3. VISÃO ESTÉREO

• Utilizar a informação do estágio anterior juntamente com a dados geométricos do


sistema estéreo para recuperar a posição tridimensional do ponto no mundo,( a re-
construção da imagem 3D).

3.1 Extração das Características


O processo de fusão binocular é extremamente complexo. Para reduzir a complex-
idade, geralmente é realizado um pré-processamento nas imagens para detectar e isolar
caracteres primitivos que sejam de fácil identificação. Esta técnica é denominada extração
de características das imagens.
Para extrair-se características da imagem é necessário realizar operações de filtragem
sobre estas imagem de modo que seja possível detectar linhas, bordas, vértices, etc. O
objetivo é extrair as características essenciais das imagens, reduzindo o volume de dados
e eliminando características desnecessárias para uma determinada aplicação.
Os vértices são características amplamente utilizadas em visão computacional por
serem bastante estáveis sob pequenas variações das condições de iluminação e orientação
das câmeras. Em estereoscopia, pares de vértices correspondentes são tidos como mais
eficientes no cálculo da posição tridimensional do que segmentos de linhas, especialmente
quando as posições dos pontos terminais dos segmentos de linhas não são conhecidas com
precisão, como no trabalho de Huynh em [Huynh 1994]. Segundo Huynh, por serem
bastante estáveis sob variações de iluminação e orientação das câmeras, os cantos (ou
vértices) são muito utilizados em estereoscopia como características primitivas.
Supõe-se que um canto mr na primeira imagem e o canto correspondente mr na se-
gunda imagem tenham, respectivamente, coordenadas (u, v) e (u , v ). Na prática, um
detector de cantos padrão irá detectar estes mesmos cantos em m = (u + Δu, v + Δv) e
m = (u + Δu , v + Δv ), onde Δu, Δv, Δu e Δv representam deslocamentos em pixels e
podem ser positivos ou negativos. Por isso, mesmo se o algoritmo de emparelhamento
utilizado encontre corretamente o par (m, m ), haverá erros de localização de alguns pix-
els no emparelhamento. Isto, por exemplo, faz com que raios ópticos relacionados aos
pontos m e m não se toquem, ou seja, torna difícil a determinação das coordenadas 3D
do vértice em questão [Hartley & Sturm 1997]. Por isso, é desejável que o algoritmo de
detecção de cantos tenha as seguintes características.

• Forneça Δu, Δv, Δu e Δv próximos de zero;


• as contribuições de Δu e Δu sejam ambas positivas ou ambas negativas, e;
• da mesma forma, as contribuições de Δv e Δv sejam ambas positivas ou ambas
negativas.

Além disso, é importante que o operador detecte apenas uma coordenada para cada
vértice da imagem. Isso diminui a incidência de emparelhamentos ambíguos ou com
multiplicidade.
3.1. EXTRAÇÃO DAS CARACTERÍSTICAS 21

3.1.1 Operador SUSAN

O operador SUSAN, proposto por Smith em [Smith & Brady 1997], segue o método
usual de detecção de vértices, ou seja, dada uma imagem, usando uma janela pré-determinada
centralizada em cada pixel desta imagem, aplica-se localmente um conjunto de regras. O
resultado dessas regras são processadas e fornecem um conjunto de vértices na saída. Será
feita uma análise sobre o operador de detecção de vértices SUSAN Smallest Univalue
Segment Assimilating Nucleus, ou Menor Segmento de Valor Semelhante ao Núcleo.
O princípio deste detector de vértices é baseado no fato de que cada ponto da imagem
tem uma área de intensidade comparável. O algoritmo envolve aplicar uma máscara cir-
cular centralizada em cada pixel e então comparar a intensidade dos pixels da vizinhança
com a do centro. A área com intensidade similar ao núcleo é denominada de Área USAN,
Univalue Segment Assimilating Nucleus.
Uma filtragem não-linear define quais partes da imagem são relacionadas a cada pixel
individualmente. Cada pixel associa uma região de intensidade similar. Quando fazemos a
minimização desta mesma região, obtemos um método de detecção mais preciso, robusto
a ruídos e rápido.
A máscara circular utilizada é uma matriz 7x7:
0 0 1 1 1 0 0
0 1 1 1 1 1 0
1 1 1 1 1 1 1
1 1 1 1 1 1 1
1 1 1 1 1 1 1
0 1 1 1 1 1 0
0 0 1 1 1 0 0
De tal forma que representa um circulo discretizado com raio de 3,5 pixels, para cada
pixel dentro desta janela, é calculado:

n(m0 ) = ∑ c(m, m0 )
m
onde m é um vetor de localização de um pixel dentro da janela, m0 é a localização do
ponto central da janela e

c(m, m0 ) = exp−[(I(m)−I(m0 ))/t]


6

sendo I(m) é a intensidade (nível de cinza) do pixel no pixel m e t é um limiar da variação


de intensidade. Por fim, se n(m0 ) for maior que um limiar g, o ponto na posição m0 é
considerado um vértice. Pode-se dizer que o operador SUSAN considera um vértice como
o ponto que tem menos vizinhos similares [E. Loupias & Jolion 2000]. Em uma aplicação
de visão estéreo alguns pontos de interesse não tem o seu correspondente ponto marcado
precisamente na mesma localização da cena nas duas imagens. O operador SUSAN marca
muitos pontos de interesses, valor controlado pelo limiar t, e marca apenas um ponto em
cada vértice da imagem. Em vista disso, o operador SUSAN parece ser bastante estável e
indicado a aplicações de estereoscopia.
22 CAPÍTULO 3. VISÃO ESTÉREO

3.2 Fusão Binocular


Após um conjunto de pontos detectados no par de imagens, pode-se iniciar o processo
de fusão binocular. Para que o problema de emparelhamento de pontos tenha solução,
devem existir restrições que sirvam de guia na busca por pontos correspondentes. Estas
restrições são encontradas nas geometria dos dispositivos, destacando-se a linha epipolar
e a restrição de ordenação. A correlação entre os vértices detectados na etapa de extração
de característica é feita seguindo estas restrições e obtendo os pares de vértices mais
correlacionados no par de imagens.

3.2.1 Geometria Epipolar


Consideremos as imagens p e p de um ponto P, observado por duas câmeras com
centros óticos O e O . Estes cinco pontos pertencem ao plano epipolar, definido pela
intersecção dos dois raios OP e O P, observados na figura 3.1. Em particular, o ponto p
está sobre a linha l  onde esse plano e a retina Π da segunda câmera se intersectam. A
linha l  é a linha epipolar associada com o ponto p, e passa através do ponto e , onde a
linha base entre os centros óticos O e O intersecta Π . Simetricamente, o ponto p está
sobre a linha l que passa através da intersecção e da linha base com o plano Π.

Figura 3.1: Geometria Epipolar: O ponto P, os centros óticos O e O das duas câmeras, e
as duas imagens p e p de P pertencem ao mesmo plano

Os pontos e e e são chamados de epipolos das duas câmeras. O epipolo e é a imagem


(virtual) do centro ótico O da primeira câmera na imagem observada pela segunda câmera,
e vice versa. Se p e p são imagens do mesmo ponto, então p deve estar na linha epipolar
associada com p. Essa restrição epipolar é fundamental para visão estéreo e análise de
movimento.
A parte mais difícil da análise de dados da visão estéreo é estabelecer correspondên-
cias entre as duas imagens, i.e., decidir quais pontos na imagem direita combinam com
quais pontos na imagem esquerda. A restrição epipolar limita a busca por essa corre-
spondência: As coordenadas do ponto p determinam completamente a junção do raio O
3.2. FUSÃO BINOCULAR 23

e p, conseqüentemente determinando o plano epipolar associado OO P e a linha epipolar.


A busca por correspondências pode ser restrita a essa linha em vez das imagens inteiras,
como ilustrado na figura 3.2. Na análise estéreo, cada câmera deve estar calibrada interna-
mente, mas a transformação rígida separando o sistema de coordenadas das duas câmeras
é desconhecida. Nesse caso, a geometria epipolar restringe o conjunto de possíveis corre-
spondências entre as duas imagens.

Figura 3.2: Restrição epipolar: O conjunto de possíveis correspondências para o ponto p


e restringido à pertencer à linha epipolar associada l 

Assumindo-se que os parâmetros intrínsecos de cada câmera são conhecidos, então


−→ −−→ −−→
p = p . A restrição epipolar implica que os três vetores Op,O p e OO são coplanares.
Portanto:
−→ −−→ −→
Op.[OO × Op ] = 0
Pode-se reescrever essa equação de coordenadas independentes no referencial de co-
ordenadas associado à primeira câmera como:

p.[T × (R p )] = 0 (3.1)
Onde p = (u, v, 1)T e p = (u , v , 1)T representam os vetores de coordenadas ho-
−−→
mogêneas da imagem de p e p ,T é o vetor de coordenadas da translação OO , separando
os dois sistemas de coordenadas, e R é a matriz de rotação na qual um vetor livre com co-
ordenadas w no segundo sistema de coordenadas, possui coordenadas R .w no primeiro
sistema. Neste caso, as duas matrizes de projeção são dadas pelo sistema de coordenadas
anexado à primeira câmera por (I 0) e (R T , −R T T ), onde I é a matriz identidade,
que é a rotação de uma câmera em relação a si mesma. Então reescrevemos a equação 3.1
como:

pT εp = 0 (3.2)
Onde ε = [TX ]R . A matriz de torção simétrica [aX ] é o produto cruzado dos vetores a e
x, [a× ]x = a × x. A matriz ε é uma matriz 3x3 chamada de matriz essencial, como definida
24 CAPÍTULO 3. VISÃO ESTÉREO

por Longuet [Longuet-Higgins 1981]. Seus nove coeficientes são apenas definidos por
uma escala, e podem ser parametrizados pelos três graus de liberdade da matriz de rotação
R e os dois graus de liberdade definindo a direção do vetor de translação T .
εp pode ser interpretado como um vetor de coordenadas representando a linha epipo-
lar associada ao ponto p na primeira imagem. Uma linha da imagem l pode ser definida
pela sua equação au + bv + c = 0, onde (u, v) representam as coordenadas do ponto sobre
a linha, (a, b) são as normais às linhas, e c é a distância entre a origem e l. Alterna-
tivamente, podemos definir a equação em termos do vetor de coordenadas homogêneas
p = (u, v, 1)T de um ponto na linha e o vetor l = (a, b, c)T por l.p = 0. Neste caso a
restrição a2 + b2 = 1 é relaxada já que a equação é independente a um fator de escala
aplicado a l. De tal forma, a equação 3.2 expressa o fato de que o ponto p está sobre a
linha epipolar associada ao vetor εp . Por simetria, fica claro que εT p é o vetor de co-
ordenadas representando a linha epipolar associada a p na segunda imagem. A matriz
essencial é singular, já que .[T é paralelo ao vetor de coordenadas e do epipolo esquerdo,
então εT e = −R T [.[T× ]e = 0. Pode-se mostrar que e é um autovetor zero de ε. Huang e
Faugeras [Huang & Faugeras 1989] mostraram que a matriz essencial é de fato caracter-
izada pelo fato de ser singular com dois autovalores diferentes de zero.

3.2.2 Restrição de Ordenação


A ordem das imagens combinadas sobre um par de linhas epipolares é inversa à or-
dem dos atributos das superfícies correspondentes sobre a curva onde a linha epipolar
intercepta os limites dos objetos, como se pode observar no lado esquerdo da figura 3.3.
Baker e Ohta em [Baker & Binford 1981], [Ohta & Kanade 1985] denominaram este
fato de restrição de ordenação. Esta restrição pode não ser satisfeita em cenas reais, em
particular quando pequenos objetos ocludem grande parte de objetos posteriores, como
no lado direito da 3.3, ou quando há a presença de objetos transparentes.

Figura 3.3: Restrição de ordenação

No caso comum, mostrado à esquerda, na figura 3.3, a ordem dos pontos de carac-
terísticas ao longo das duas linhas epipolares é a mesma, e é inversa à ordem dos pontos
da cena ao longo da curva onde a superfície observada intersecta o plano epipolar. No
3.2. FUSÃO BINOCULAR 25

caso mostrado à direita, um objeto menor está em frente a um maior. Alguns dos pontos
da superfície não são visíveis em uma das imagens; A não é visível na imagem direita,
nem C é visível na imagem esquerda. A ordem dos pontos da imagem não é a mesma nas
duas figuras: b está à direita de d na imagem esquerda, mas b está à esquerda de d  na
imagem direita.
Essa restrição é utilizada para obter algoritmos eficientes, utilizando-se da progra-
mação dinâmica para estabelecer correspondências estéreo. Especificamente, assume-se
que um número de pontos de características foram encontrados em linhas epipolares cor-
respondentes. O objetivo é combinar os intervalos, separando os pontos sobre os dois
perfis de intensidade. De acordo com a restrição de ordenação, a ordem dos pontos de
características deve ser a mesma. Contudo, o intervalo nessa imagem pode ser reduzida
para uma correspondência de pontos simples, retirando correspondências associadas com
oclusão e/ou ruído.

3.2.3 Correlação
Os métodos de correlação encontram correspondentes dos pixels em imagens pela
comparação de perfis de intensidade na vizinhança de possíveis correspondências. Essa
técnica é a primeira técnica proposta para a resolução do problema de fusão binocular.
Mais precisamente, consideremos um par estéreo retificado e um ponto (u, v) na primeira
imagem. Associa-se com uma janela de tamanho p = (2m + 1) × (2n + 1) centralizada
em (u, v), sendo que o vetor w(u, v) ∈ R p é obtido pela varredura dos valores da janela,
uma linha por vez. Dada uma possível correspondência (u + d, v) na segunda imagem,
podemos construir um segundo vetor w (u + d, v) e definir a função de correlação cruzada
normalizada correspondente como:

1 1
C(d) = .  .(w − w).(w − w ) (3.3)
|w − w| |w − w |
onde os índices u, v e d foram omitidos e w representa o vetor cujas coordenadas são
iguais à média das coordenadas de w, como mostrado na figura 3.4.
Na figura 3.4 a posição da segunda janela é separada da primeira por uma diferença d.
A duas janelas são codificadas por vetores w e w , e a função de correlação mede o cosseno
do ângulo θ entre os vetores w − w̄ e w − w̄ obtidos pela subtração entre os componentes
de w e w e as componentes dos vetores de intensidade média na janela correspondente
A função de correlação normalizada C claramente varia entre -1 e +1, e alcança o valor
máximo quando o brilho da imagem das duas janelas são relacionados por uma transfor-
mação afim I  = λI + μ para algumas constantes λ e μ, com λ > 0. Em outras palavras, o
máximo dessa função corresponde às regiões das imagens separadas por uma constante e
por um fator positivo de escala, e os pares correspondentes podem ser encontrados pela
busca do máximo de C sobre alguma variação pré-determinada de disparidades.
É fácil mostrar que maximizando a função de correlação é equivalente a minimizar
a norma da diferença entre os vetores (1/|w − w|) e (1/|w − w |)(w − w ), ou equiv-
alentemente, a soma do quadrado da diferença entre os valores dos pixels das janelas
normalizadas comparadas. Embora seja computacionalmente custoso o cálculo da função
26 CAPÍTULO 3. VISÃO ESTÉREO

Figura 3.4: Correlação de duas janelas 3x5 sobre as linhas epipolares correspondentes

de correlação normalizada sobre cada pixel da imagem ao longo de uma faixa de dispari-
dades, esta pode ser implementada eficientemente através de recursão.
Superfícies inclinadas podem trazer problemas para métodos de correlação baseados
em regiões, pois a correlação baseada em regiões assume implicitamente que a superfície
observada é paralela aos dois planos das imagens, o que nem sempre é verdade, como
mostra a figura 3.5.

Figura 3.5: A perspectiva de superfícies não-frontoparalelas é diferente para as duas


câmeras: Um segmento de superfície com comprimento L projeta-se em dois segmen-
tos de imagem com diferentes comprimentos l e l  .

Outro problema para os métodos de correlação é o tamanho das janelas, sendo um


fator fundamental para o sucesso desta etapa. Se a janela, usada para procurar por cor-
respondências, for pequena; O ruído pode facilmente destruir qualquer correspondência;
Se o tamanho da janela for aumentado, aumentam-se as ambigüidades nos limites dos
objetos que estão em distâncias diferentes.
Estes problemas relacionados à inclinação de superfícies e ao tamanho da janela de
correlação sugerem que a busca por correspondências entre características fisicamente
3.2. FUSÃO BINOCULAR 27

significantes da imagem, tais como vértices, e sua vizinhança, devem ser preferidas à
utilização apenas de regiões ou níveis de intensidades dos pixels.
A iluminação sobre o par de câmeras deve ser igual para que as imagens adquiridas
apresentem o mesmo valor de níveis de cinza para um mesmo ponto. Porém, tal condição
é difícil de ser implementada sem a utilização de um dispositivo de iluminação acoplado
às câmeras, dependendo basicamente do ambiente visualizado. Como o objetivo é deter-
minar a profundidade de objetos em um ambiente desconhecido, é necessário utilizarmos
um algoritmo de correlação que seja robusto a esta dificuldade.
A correlação cruzada normalizada de média zero (ZNCC) calcula a correspondência
entre pixels independentemente de diferenças no brilho ou contraste nas imagens, devido
à normalização efetuada em relação à média e ao desvio padrão. Na literatura, os trabalhos
de Crouzil; Psarakis e Evabgelidis; MA e Liu e; Lindoso, Entrena, López-Ongil e Liu,
[Crouzil 2004, Psarakis & Evangelidis 2005, YongZhuang Ma 2005, A. Lindoso 2005],
demonstram o desempenho da ZNCC é demonstrado. Para uma janela de dimensões
2 ∗ m + 1 × 2 ∗ n + 1, este método de correlação é o seguinte:

∑nk=−n ∑m [Ide × Idd]


ZNCC(i, j) =
k=−m (3.4)
a ∗ σ2 (Ide) ∗ σ2 (Idd)
onde

a = (2m + 1) ∗ (2n + 1)

Ide = Ie(ui + k, vi + l) − Ie(ui, vi)

Idd = Id(u j + k, v j + l) − Id(u j, v j)


com Ie(ui, vi) e Id(u j, v j) sendo o valor médio do nível de cinza das janelas das imagens
esquerda Ie e direita Id, respectivamente, calculados da seguinte forma:
n m
Id(ui + k, vi + l)
Id(ui, vi) = ∑ ∑ a
k=−n l=−m
n m
Ie(ui + k, vi + l)
Ie(ui, vi) = ∑ ∑ a
k=−n l=−m

σ2 (Ide) e σ2 (Idd) representam os desvios padrões das janelas das imagens esquerda
e direita, respectivamente, calculados da seguinte forma.

l=−m [Ide]
∑nk=−n ∑m 2
σ2 (Ide) =
a

l=−m [Idd]
∑nk=−n ∑m 2
σ (Idd) =
2
a
De tal forma executa-se o "matching"ou emparelhamento (casamento), do par de im-
28 CAPÍTULO 3. VISÃO ESTÉREO

agens baseado nas características, vértices e regiões em torno dos vértices, o que pro-
porciona uma maior robustez quando comparado com um emparelhamento baseado em
apenas um destes atributos.

3.3 Reconstrução
A Reconstrução consiste em recuperar o formato tridimensional de uma cena visu-
alizada pelo par de câmeras. Este processo envolve a retificação, reconstrução e trian-
gulação das imagens. Variações e aperfeiçoamentos dos métodos de triangulação são
apresentados na literatura em [Hopken 2006, Tandler 2006, J. Tandler 2006, Davis et al.
2003].

3.3.1 Retificação da imagem


Os cálculos associados com algoritmos estéreo são consideravelmente simplificados
quando as imagens de interesse são retificadas, i.e, substituídas por figuras equivalentes
projetivamente com um plano de imagem comum, paralelo à base de junção dos dois
centros óticos, como exemplificado na figura 3.6. O processo de retificação pode ser
implementado pela projeção das imagens originais em novos planos de imagem. Com
uma escolha apropriada do sistema de coordenadas, as linhas epipolares retificadas são
mantidas nas novas imagens, e também são paralelas à linha base.

Figura 3.6: Um par estéreo retificado

Na figura 3.6 os dois planos das imagens Π e Π são reprojetados sobre um plano
comum Π̄ = Π̄ paralelo à linha base. As linhas epipolares l e l  associadas com os pontos
p e p nas duas imagens, são mapeadas em uma linha de varredura comum l¯ = l¯ também
paralela à linha base e passando através dos pontos reprojetados p̄ e p̄ . As imagens
retificadas são facilmente construídas considerando cada imagem de entrada como um
3.3. RECONSTRUÇÃO 29

poliedro e usando mapeamento de textura para renderizar a projeção dessa rede em um


plano Π̄ = Π̄ .
Existem dois graus de liberdade envolvidos na escolha de um plano de imagem reti-
ficado: A distância entre esse plano e a linha base, o qual é irrelevante, desde que se
modifique somente na escala das imagens retificadas. Um balanço efetivo pela escala in-
vertida dos eixos de coordenadas da imagem e a direção do plano retificado normal no
plano perpendicular a base. Uma escolha natural inclui escolher uma plano paralelo à
linha onde as duas retinas originais intersectam-se, minimizando a distorção associada
com o processo de reprojeção.

3.3.2 Reconstrução
Dado um conjunto estéreo calibrado, dois pontos correspondentes p e p estão em
princípio direcionados para a frente com o objetivo de reconstruir-se o ponto da cena
correspondente, utilizando-se da intersecção de dois raios R = Op e R = O p . Contudo,
os raios R e R nunca irão, na prática, se interceptarem, devido à calibração e aos erros de
localização de características, como mostrado na figura 3.7.

Figura 3.7: Triangulação em presença dos erros de medida

Nesse contexto, várias abordagens para o problema de reconstrução podem ser ado-
tados. Para construir o segmento da linha perpendicular a R e R , que intersecta ambos
os raios, podemos escolher o ponto médio P desse segmento. Este ponto é o ponto mais
próximo aos dois raios e pode ser utilizado como uma pré-imagem de p e p . Podemos
reconstruir um ponto da cena usando uma abordagem algébrica. Através das matrizes de
projeção M e M  e dos pontos correspondentes p e p podemos reescrever as constantes
z.p = M.P e z .p = M  .P como:

p × M.P = 0 [pX ].M
⇔ P=0 (3.5)
p × M  .P = 0 [pX ].M 
Este sistema sobreconfinado de quatro equações, linearmente independentes nas co-
ordenadas homogêneas de P, é resolvido usando o método dos mínimos quadrados. Esta
30 CAPÍTULO 3. VISÃO ESTÉREO

abordagem não possui uma interpretação geométrica, mas generaliza prontamente o caso
de três ou mais câmeras. Pode-se reconstruir um ponto de uma cena associado com p e p
como um ponto Q com imagens q e q que minimizam d 2 (p, q) + d 2 (p , q ), mostrados na
figura 3.7. Esta abordagem não permite uma computação fechada do ponto reconstruído,
o qual deve ser estimado através de técnicas de mínimos quadrados não-lineares como
as utilizadas para calibração da câmeras. A reconstrução obtida pode ser utilizada como
uma estimativa para inicializar um processo de otimização.

3.3.3 Triangulação Retificada


No caso de imagens retificadas, a noção de disparidade adquire um significado pre-
ciso: dados dois pontos p e p localizados numa mesma linha de varredura das ima-
gens esquerda e direita, com coordenadas (u, v) e (u , v), a disparidade é definida como
a diferença d = u − u. b representa metade da distância entre os centros óticos, também
chamadas de linha base nesse contexto, é fácil mostrar que a distância euclidiana PM no
sistema de coordenadas normalizadas anexado à primeira câmera é PM = −2 ∗ b/d, como
na figura 3.8.
Na figura 3.8 os raios associados com dois pontos p e p sobre a mesma linha de
varredura intersectam-se em um ponto P. A distância do ponto P relativa a um sistema
de coordenada anexado à câmera esquerda é inversamente proporcional à disparidade
d = u − u. Em particular, a pré-imagem para todos os pares de pontos da imagem com
disparidade constante d é frontoparalela ao plano Πd , i.e., um plano paralelo às retinas
das câmeras.
Consideremos os pontos q e q com coordenadas (u, 0) e (u , 0), e o ponto da cena
correspondente Q. Sejam b e b as distâncias respectivas entre a projeção ortogonal de
Q sobre a linha base e os dois centros óticos O e O . Os triângulos qQq e OQO são
similares, logo 2 ∗ b = −PM ∗ d, o que prova o resultado para q e q . Ao caso geral
envolvendo p e p com v = 0 segue-se imediatamente o fato que a linha PQ é paralela às
duas linhas pq e p q e conseqüentemente também paralela ao plano da imagem retificada.
Em particular, o vetor coordenado do ponto P no referencial anexado à primeira câmera
é PM = −(B/d)p, onde p = (u, v, 1)T é o vetor das coordenadas normalizadas de p. Isso
gera o método de reconstrução estéreo.
Na estereoscopia, através do conhecimento da disparidade de cada ponto é possível
obter-se a distância euclidiana PM de cada ponto em relação ao centro da cabeça estéreo,
representado pelo ponto M de acordo com a equação 4.3, como mostra a figura 3.8.

2∗b
PM = (3.6)
d
onde b é metade da distância entre os centros de projeções e o ponto central, M, a distância
entre as duas câmeras, e d e a disparidade calculada para cada ponto.
Para obtermos a distancia euclidiana entre os pontos P e M é preciso relacionar estas
medidas com a distância focal das câmeras, f . Logo, reescrevemos a equação 4.3 con-
siderando a distância focal em relação ao ponto P, obtendo a equação da reconstrução
geométrica baseada na triangulação retificada 4.15.
3.3. RECONSTRUÇÃO 31

Figura 3.8: Triangulação retificada entre os dois centros óticos O e O´ das imagens

2∗b∗ f
PM = (3.7)
d
32 CAPÍTULO 3. VISÃO ESTÉREO
Capítulo 4

Sistema Proposto

Neste capítulo apresentaremos o sistema de estimação da profundidade de objetos


em cena baseado numa cabeça estéreo dotada de um par de câmeras CCD. A estimação
da profundidade dos objetos na cena utiliza as técnicas apresentadas nos Capítulos 2 e
3. As técnicas de autocalibração baseada em coordenadas polares tridimensionais e em
um deslocamento conhecido do robô, e a reconstrução e recuperação da geometria da
cena baseadas em coordenadas polares tridimensionais para obtenção da profundidade
são apresentadas neste capítulo.

4.1 Cabeça Estéreo


Uma cabeça estéreo robótica é um dispositivo que dá suporte a n-câmeras para a cap-
tura de n-imagens diferentes de uma mesma cena, executando-se técnicas de visão com-
putacional sobre as imagens capturadas. A utilização dessas técnicas de visão computa-
cional torna-se necessária, pois a informação de uma única imagem não determina unica-
mente a posição de um dado ponto correspondente no mundo. Pode-se então, através da
utilização de duas ou mais câmeras recuperar a informação de profundidade da cena.
A cabeça estéreo utilizada neste trabalho foi a LabRoHead desenvolvida no Labo-
ratório de Robótica da UFRN como uma plataforma experimental de baixo custo para
aplicação das técnicas propostas. A cinemática desta cabeça estéreo pode ser visualizada
na figura 4.1.
Esta plataforma experimental de baixo custo utilizada apresenta uma estrutura feita de
tecnil, o que lhe confere um baixo peso, o que é um ponto importante pois se a estrutura
for muito pesada pode ocorrer sobrecarregamento dos motores das juntas. Outro ponto
importante na estrutura é a precisão na cabeça, já que é necessário que os motores movi-
mentem precisamente as partes da cabeça, pois é necessário que as câmeras possuam um
alinhamento adequado, a fim de estabelecer-se a restrição epipolar.
Em cada uma das três juntas da cabeça estéreo está acoplado um servomotor, respon-
sável pela rotação das mesmas com ângulos θ1, θ2 e θ3. O ângulo θ1 é denominado pan,
responsável pela rotação sobre o eixo z de todo o conjunto em relação à base da cabeça,
semelhante ao movimento de girar o nosso pescoço olhando para os lados. O ângulo θ2 é
denominado tilt, responsável pela rotação sobre o eixo x do suporte onde estão acopladas
as câmeras em relação ao segimento que conecta este a base, onde se localiza o primeiro
34 CAPÍTULO 4. SISTEMA PROPOSTO

motor, semelhante ao nosso movimento do nosso pescoço ao olhar-se para baixo e para
cima. O ângulo θ3 é responsável pela vergência das câmeras, semelhante ao movimento
dos nossos olhos ao focalizarem objetos mais próximos e mais distantes. A ilustração
destes movimentos pode ser vista na figura 4.2.
Utiliza-se nessa plataforma um controle da posição dos motores em malha aberta,
portanto, a utilização de um motor para a vergência de cada câmera não é adequada, pois
se aumentaria o erro do valor do ângulo de vergência das câmeras, já que este ângulo
deve possuir o mesmo valor absoluto. O conjunto é formado por um servomotor e quatro
engrenagens. O motor e as duas câmeras são acoplados às engrenagens, de tal forma que
a engrenagem acoplada ao motor está conectada diretamente com a engrenagem acoplada
a uma das câmeras, enquanto que a câmera acoplada a outra engrenagem é conectada à
engrenagem do motor por meio da quarta engrenagem, como mostra a figura 4.2.
Estes servomotores desempenham um papel muito importante no funcionamento geral
do sistema, pois é necessária uma grande precisão no posicionamento e movimentação
dos motores. Pois o valor do ângulo de cada junta é importante para a recuperação da ge-
ometria da cena. Também acopladas à estrutura da cabeça estéreo estão as duas câmeras,
do tipo web cam, responsáveis pela visualização da cena "vista"pela cabeça estéreo.

Figura 4.1: Cinemática da Plataforma experimental

Os servomotores são compostos cada um por um circuito integrado, um motor DC,


engrenagens e um potenciômetro. Porém, não há nenhum tipo de sensoriamento externo
ao motor, como sensores de fim de curso ou encoders na cabeça estéreo, fato este que leva
a um controle em malha aberta.
O circuito eletrônico de controle recebe como entrada um sinal de referência, que
codifica o ângulo que o servo deve atingir e aplica uma tensão ao motor para que este se
posicione no ângulo desejado. As engrenagens têm como objetivo aumentar o torque de
saída e diminuir a velocidade de rotação do eixo do motor. O potenciômetro tem como
objetivo verificar se a posição foi atingida e informar ao microcontrolador, pra que este
corrija a posição do servo se o ângulo desejado não for atingido, por algum motivo.
As câmeras utilizadas nesse projeto são da marca Creative, modelo NX Ultra. Para a
fixação na cabeça estéreo, foi retirada a estrutura de suporte das mesmas.
4.1. CABEÇA ESTÉREO 35

Figura 4.2: Movimentação da Plataforma experimental

Estas câmeras possuem dimensões bastante reduzidas, mesmo quando comparadas a


outras webcam’s, e também possuem um peso bastante reduzido. Esse fato fez com que
praticamente este fosse desconsiderado diante do peso total. O fabricante afirma que as
câmeras conseguem uma taxa de atualização de até 30 quadros por segundo. Esse valor
foi comprovado durante sua utilização. É possível esta taxa de atualização para o uso de
apenas uma câmera. Para o par de câmeras utilizado, a taxa máxima de atualização é divi-
dida por dois, obtendo-se assim o valor máximo de 15 quadros por segundo. As câmeras
comunicam-se com o computador através de um barramento USB. Possuem um ajuste
automático de acordo com o iluminamento do ambiente, sendo este um ponto que poderia
comprometer os resultados, pois se forem obtidas imagens com pouca iluminação há uma
perda de características da cena. Entretanto é possível, através do driver da câmera, alterar
o brilho, o contraste e o ajuste de branco das câmeras. As câmeras possuem um ajuste
de foco manual. Esse ajuste é feito girando a lente da câmera, o que impossibilita uma
mudança significativa de distância focal, sem perda de nitidez, a menos que o foco seja
reajustado manualmente. Neste trabalho utilizamos as câmeras com o foco no infinito.
A especificação da câmera, é a seguinte:
• Sensor de Imagem CCD colorido com resolução de até 640x480 pixels
• Captura vídeo colorido em 24bits a 30 quadros por segundo para resolução de
320x240
• Formatos de cor disponíveis : I420 & RGB24
• Faixa de foco variando de 15 cm ao infinito
• Foco manual
• Campo de visão de até 72 graus na horizontal
• Conecta ao PC através da porta USB (Universal Serial Bus)
• Peso (incluindo suporte) : 145 gramas (10 gramas de tolerância)
36 CAPÍTULO 4. SISTEMA PROPOSTO

4.1.1 Aspectos Físicos


As características físicas do robô fornecem informações adicionais que podem ser
utilizadas para melhorar a eficiência do processo de correlação, permitindo o cálculo da
disparidade máxima possível para determinada configuração atual do robô, sem como são
de fundamental importância para a recuperação da geometria da cena vista pelo robô.
Os centros ópticos das duas câmeras da cabeça estéreo, a qual é fixa à base do robô
móvel, estão a uma altura de 540 mm em relação ao solo, quando o valor do ângulo
θ2 = 0. As câmeras utilizadas apresentam um ângulo de abertura de 52,5o na vertical
e 70o na horizontal. A obtenção destes ângulos de abertura horizontal e vertical serão
explicados na seção 4.3.
O conhecimento destas dimensões do robô juntamente com o valor dos ângulos das
juntas da cabeça estéreo do robô permitem as seguintes equações 4.1 e 4.2:

h = 390 + 149, 3 ∗ cos(θ2 ) (4.1)


onde h é a altura, em milímetros, em relação ao solo, do centro óptico das câmeras, e
149,3mm é o valor do tamanho da peça do suporte na qual gira o motor responsável pelo
movimento de "tilt".

β = 90 − (θ2 + AV /2) (4.2)


Onde AV /2 representa metade do ângulo de abertura vertical das câmeras, ou seja
26,25o , β é o ângulo formado entre os centros ópticos das câmeras do robô e o início da
região visualizada pelas câmeras, correspondendo aos pixels da imagem com coordenada
y = 0: y é a coordenada representando a altura da imagem, devido as câmeras serem
posicionadas de "cabeça para baixo". A figura 4.3 ilustra estes parâmetros.

Figura 4.3: Vista lateral de parte do robô

A partir do conhecimento do ângulo β1 , e da altura h é possível estimar a distância P,


mostrada na figura 4.3. O valor de P será utilizado para o cálculo da disparidade máxima
4.2. FUNCIONAMENTO DO SISTEMA 37

da busca a ser realizada.


A distância entre objetos em cena pode ser calculada tendo-se a disparidade entre as
duas imagens da cabeça estéreo. Logo, é possível calcular a disparidade para um valor
de profundidade. Utilizando-se o valor β calculado segundo a equação 4.2, obtém-se a
disparidade máxima para esta configuração da cabeça estéreo.
2∗b∗ f 2∗b∗ f
p= ⇔d= (4.3)
d p
Onde b é a metade da distância entre os centros ópticos, (90 mm), f é a distância focal
das câmeras, e P é a distância mínima, calculada como P = cos(β1 )/h, sendo h calculada
pela equação 4.1.

4.2 Funcionamento do Sistema


Para obter-se a profundidade de objetos em cena, devemos saber qual o par de imagens
visualizado pelo robô, de forma a localizar objetos em cena e estimar a distância relativa
entre estes e o robô. A partir da captura de um par de imagens da cena através das câmeras
localizadas na cabeça estéreo, utilizando os métodos de visão estéreo discutidos no Capí-
tulo 3, podemos calcular a profundidade. Supondo então conhecida a profundidade dos
objetos, pode-se então calcular, através da distância focal das câmeras, a profundidade
relativa entre estes e o robô, o que constitui o objetivo deste trabalho.
Para obtenção da profundidade é necessário um relacionamento entre esta profundi-
dade obtida pelas técnicas de visão estéreo com os parâmetros intrínsecos das câmeras,
discutidos no Capítulo 2. Estes podem ser obtidos por uma calibração convencional ou
uma autocalibração. Neste trabalho, estes parâmetros focais foram obtidos primeiramente
por uma calibração convencional e ajustados de acordo com a autocalibração baseada nas
coordenadas polares tridimensionais obtidas do par de imagens estéreo.
O sistema de visão desenvolvido divide-se em sete etapas:

1. Calibração convencional das câmeras: Utilizando um padrão com dimensões con-


hecidas é efetuada a calibração convencional pelo método de Zhang para a obtenção
da distância focal primária;
2. Aquisição estéreo: O sistema adquire o par de imagens correspondendo aos pontos
de vista das duas câmeras da cabeça estéreo;
3. Extração, ou detecção, de características das imagens capturadas: Sobre as imagens
adquiridas é efetuada a detecção dos vértices do par de imagens;
4. Correlação cruzada normalizada: Baseando nas restrições geométricas, de orde-
nação, e tendo como guia as listas de vértices detectados na etapa anterior, são
buscados os pares de vértice mais correlacionados, obtendo a disparidade destes;
5. Determinação da geometria da cena: A partir das disparidades obtidas pela etapa
anterior e das informações geométricas obtidas em cada imagem através da repre-
sentação por coordenadas polares é feita uma reconstrução da geometria da cena;
6. Estimação da distância focal através da autocalibração: Baseando-se no conheci-
mento da geometria do dispositivo, das informações geométricas das imagens através
38 CAPÍTULO 4. SISTEMA PROPOSTO

da coordenadas polares e do conhecimento do deslocamento do robô, é estimada a


distância focal para os pares de vértice correlacionados;
7. Estimação da profundidade: Utilizando a reconstrução geométrica da cena obtida e
o valor da distância focal primária calculada pela calibração convencional ajustada
pela autocalibração para os pares de vértices correlacionados é feita a estimação da
profundidade dos objetos em cena.
Um diagrama ilustrando estas etapas do sistema de estimação da profundidade pro-
posto é mostrado na figura 4.4.

Figura 4.4: Sistema de visão desenvolvido

A reconstrução geométrica e a autocalibração baseadas nas informações geométricas


das imagens obtidas através da representação por coordenadas polares tridimensionais
serão descritas neste capítulo.

4.3 Reconstrução Geométrica Baseada em Coordenadas


Polares
Utilizamos valores angulares no lugar do número de pixels nas direções da largura e da
altura da imagem para determinar a localização de um determinado pixel numa imagem.
4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES39

Assim, deslocamos o centro do eixo de pixels, geralmente localizado no canto superior


direito, para o centro da imagem.
Esta notação permite relacionar-se facilmente os pontos na imagem com o cone ab-
soluto Ω da imagem, demonstrado no Capítulo 2, centralizado no centro de projeção da
câmera, utilizando-se o modelo de orifício. Devido a aquisição das imagens ser feita em
pixels, é necessário converter a posição de um ponto na imagem de pixels para ângulos.
Para tal conversão, é necessário obter-se as frações entre a posição do ponto, em pixels, e
a largura e a altura da imagem, também expressa em pixels. Em seguida relacionar estas
frações aos ângulos de abertura horizontal e vertical da câmera. Esta notação é ilustrada
na figura 4.5, para o caso de uma imagem de 320 por 240 pixels de uma câmera com
ângulo de abertura horizontal igual a 70o e ângulo de abertura vertical igual a 52.5o .

Figura 4.5: Comparação das notações para representação das imagens

É necessário o conhecimento ou obtenção dos ângulos de abertura horizontal e ver-


tical da câmera. Estes valores podem ser obtidos na documentação do fabricante ou ex-
perimentalmente de forma simples. Posicionando-se a câmera a uma distância conhecida
de um objeto com escala métrica, é possível verificar os limites desta escala visualizados
na imagem da câmera. Repetindo-se este processo nas direções horizontal e vertical é
possível calcular o ângulo de abertura em uma destas direções, como ilustra a figura 4.6,
o qual é dado por:
eh
AH = 2 ∗ arctan (4.4)
d
ev
AV = 2 ∗ arctan (4.5)
d
40 CAPÍTULO 4. SISTEMA PROPOSTO

Figura 4.6: Esquema para medição dos ângulos de abertura da câmera

Onde
e f h − eih e f v − eiv
eh = ev =
2 2
Sendo que AH é o ângulo de abertura horizontal da câmera, AV é o ângulo de abertura
vertical da câmera, d é a distância entre o centro óptico da câmera e o objeto com a escala
métrica, eh e ev representam metade da variação de escala visualizada pela câmera, sendo
e f h , e f v o valor final da escala visualizada e eih , eiv o valor inicial da escala visualizada,
respectivamente nas direções horizontal e vertical.
Estes parâmetros de abertura vertical e abertura horizontal da câmera são invariáveis
para câmeras que não apresentam lentes de magnificação, zoom. Logo podem ser con-
siderados parâmetros intrínsecos constantes à variação da distância focal das câmeras,
ilustrados na figura 4.7. No caso do modelo de câmera utilizado neste trabalho, Creative
nx Ultra, o ângulo de abertura horizontal equivale a 70o e o ângulo de abertura 52.5o ,
respectivamente. Considera-se a imagem retificada, onde as imagens ∏ e∏ são planos
paralelos entre si, diferindo apenas no valor da distância focal. Neste caso, a conversão
da notação de pixel para ângulos é feita segundo as equações 4.6 e 4.7:

xp AH
α= ∗ AH − (4.6)
l 2
yp AV
β= ∗ AV − (4.7)
a 2
4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES41

Figura 4.7: Invariância da representação por coordenadas polares em relação à distância


focal

onde α é o ângulo na direção horizontal, β é o ângulo na direção vertical, x p é a posição


x de um ponto p, y p é a posição y do ponto p, AH é o ângulo de abertura horizontal
da câmera, AV é o ângulo de abertura vertical, l é a largura da imagem e a a altura da
imagem.
Exemplificando a utilização desta notação, os pontos na imagem 4.5 possuirão os
seguinte valores:

• a = 120,80 pixels = -8,75o ,8,75o


• b = 200,80 pixels = 8,75o ,8,75o
• c = 120,160 pixels = -8,75o ,-8,75o
• d = 200,160 pixels = 8,75o ,-8,75o

Adicionando-se a distância euclidiana entre um ponto p e o centro da imagem aos


ângulos α e β temos as coordenadas polares tridimensionais deste ponto. Utilizando-
se esta notação de coordenadas polares tridimensionais como coordenadas da imagem
relacionamos diretamente a geometria da cena com a geometria da imagem através dos
ângulos α e β. A distância euclidiana entre o centro óptico da câmera e o objeto em
cena, no mundo, é equivalente à distância euclidiana entre o centro da imagem e o ponto
p, na imagem. Logo, esta notação de coordenadas polares simplifica o mapeamento das
coordenadas de mundo em coordenadas de imagem, pois existe uma representação direta
da distância entre objeto e a câmera.
Para a obtenção da distância euclidiana entre o centro da imagem e um ponto nesta
imagem, é necessário o conhecimento de alguma informação geométrica adicional sobre
a cena. para relacionar a distância expressa em pixels na imagem para uma distância
métrica no mundo. Informações geométricas adicionais sobre ambientes desconhecidos
são improváveis de ocorrer, porém, utilizando-se um sistema de visão estéreo com os
42 CAPÍTULO 4. SISTEMA PROPOSTO

ângulos de juntas e distância entre os centros ópticos das câmeras conhecidas, é possível
obter esta distância e conseqüentemente a profundidade da cena.
Efetuando-se o mapeamento das coordenas de mundo (métricas tridimensionais), em
coordenadas da imagem, (pixels bidimensionais), utilizando-se apenas a disparidade en-
tre as imagens, não é possível reconstruir metricamente uma cena, sendo necessário o
conhecimento da distância focal.
Utilizando-se uma distância focal fixa, a reconstrução geométrica será próxima da real
apenas para distâncias próximas da qual o padrão estava quando se efetuou a calibração da
câmera, segundo Zhang []. Utilizando um sistema de autocalibração, é possível calcular
as diferentes distâncias focais entre objetos e a câmera, durante a execução desta. Assim,
para calcular-se a profundidade de forma precisa, é necessário calcular a distância focal
para todos os pontos desejados.
Como os ângulos de abertura horizontal e vertical da câmera são constantes à vari-
ação da distância focal, e a notação de coordenadas polares tridimensionais relaciona
diretamente a geometria da cena com a geometria da imagem, esta notação demonstra-
se adequada para o problema da visão estéreo e reconstrução geométrica de uma cena
por simplificar o processo, sendo possível recuperar de maneira simples a distância focal
para cada ponto através desta notação. A reconstrução geométrica da cena é simplificada,
através da utilização de dois pares de coordenadas polares. Os ângulos destes pares são
obtidos pelas imagens das câmeras, e o conhecimento dos ângulos de juntas e as distância
entre os centros ópticos das câmeras, permite estimar a distância entre os objetos e as
câmeras.
Na estereoscopia, a reconstrução da cena basea-se no princípio da triangulação retifi-
cada das imagens, demonstrado no Capítulo 3. Esta triangulação fornece a noção de pro-
fundidade. Para obtermos uma maior precisão da tridimensionalidade da cena devemos
considerar o posicionamento dos objetos em cena, efetuando correções na profundidade
devido à posição, já que os objetos estão distribuídos na cena e não ocupando a posição
central.
A distância PM obtida por triangulação retificada na etapa de reconstrução geométrica
da cena representa a distância euclidiana entre o centro da cabeça estéreo, representado
pelo ponto M, e um ponto P na imagem. Esta distância só será igual a profundidade do
ponto P caso este esteja alinhado verticalmente e horizontalmente com o ponto M. Logo
é preciso relacionar esta distância com a geometria da cena para obter-se a profundidade
do ponto P. Recuperando-se a posição tridimensional do ponto P em relação ao robô,
é possível calcular a profundidade deste ponto a partir da distância PM. A figura 4.8
demonstra a relação entre PM, o ângulo αM e a profundidade z.
A profundidade z é a projeção da distância PM no eixo z, e a inclinação de PM em
relação ao eixo z é representada pelo ângulo αM 4.8. O valor de αM é desconhecido,
porém, é facilmente calculado pela equação 4.8 como a média dos valores dos ângulos
αO e αO menos o valor do ângulo de "pan"θ1 da cabeça estéreo. Os ângulos αO e αO
são calculado segundo a equação 4.6.

αO + αO
αM = − θ1 (4.8)
2
4.3. RECONSTRUÇÃO GEOMÉTRICA BASEADA EM COORDENADAS POLARES43

Figura 4.8: Representação das projeções da distância PM no plano horizontal

A cena possui uma estrutura tridimensional. Logo a profundidade z será a projeção de


PM sobre o eixo z se o ponto P estiver alinhado verticalmente com o ponto M na cabeça
estéreo. Devido o robô ser projetado para locomover-se em ambientes desconhecidos,
as câmeras são posicionadas de forma a visualizar o piso a distâncias próximas ao robô,
portanto, geralmente, o robô apresenta um valor positivo para o ângulo de "tilt"θ2 da
cabeça estéreo. A figura 4.9 demonstra a relação entre PM, os ângulos βM , θ2 e β e a
profundidade z.
O valor de βM é desconhecido, porém é facilmente calculado pela equação 4.9. Este
ângulo βM é semelhante para ambas as câmeras e para o ponto médio M, pois as câmeras
movimentam-se de forma dependente em relação ao conjunto da cabeça estéreo.

AV iy
βM = 90 − θ2 − + ∗ AV (4.9)
2 a
onde θ2 é o ângulo de "tilt"da cabeça estéreo, AV é o ângulo de abertura vertical da
câmera, iy é a coordenada y da posição do ponto P na imagem e a é a altura da imagem.
Os dois primeiros são representados em graus e os dois últimos em pixels.
Assim, podemos calcular as projeções da distância PM obtida pela estereoscopia
através dos ângulos αM e βM , obtendo-se as coordenadas polares tridimensionais para o
ponto P em relação ao ponto M e recuperando-se a profundidade deste ponto em relação
ao robô, conforme mostrada na figura 4.10.
A figura 4.11 representa o esquema detalhado da estrutura tridimensional da cena
ilustrada na figura 4.10. Onde O é o centro óptico da câmera direita, O é o centro óptico
da câmera esquerda, M é o ponto médio entre os dois centros ópticos, (ix , iy ) são as coor-
denadas do ponto de interesse P, z é a profundidade do ponto de interesse em relação ao
44 CAPÍTULO 4. SISTEMA PROPOSTO

Figura 4.9: Representação da projeção da distância PM no plano vertical

Figura 4.10: Esquema simplificado da representação por coordenadas polares relacio-


nando a cabeça estéreo e um ponto P

robô, POY é a projeção de PO sobre o plano vertical, POX é a projeção de PO sobre o


plano horizontal, POY  é a projeção de PO sobre o plano vertical, POX  é a projeção de
PO sobre o plano horizontal, PMY é a projeção de PM sobre o plano vertical, PMX é a
projeção de PM sobre o plano horizontal, αM é o ângulo correspondente ao deslocamento
horizontal do ponto P em relação a M, αO é o ângulo correspondente ao deslocamento
4.4. AUTOCALIBRAÇÃO ATRAVÉS DAS COORDENADAS POLARES 45

horizontal do ponto P em relação a O, α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
46 CAPÍTULO 4. SISTEMA PROPOSTO

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 βM entre 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 M1 e M2 , respectivamente, na cabeça estéreo, e h1 e h2 representam a altura
entre o ponto P e os pontos M1 e 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 βM2 e 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
dz em 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 PMY1 PMY2
= = (4.14)
sin(βM1 − βM2 ) sin(90 + βM2 ) sin(90 − βM1 )

onde os valores de dz, βM1 e βM2 sã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
PM1 e PM2 facilmente pela equação 4.15 para, em seguida, substituirmos na equação da
triangulação retificada (4.16):
PMY
PM = (4.15)
cos(αM )
PM ∗ d
f= (4.16)
2∗b
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
48 CAPÍTULO 4. SISTEMA PROPOSTO

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:
fz + fa
fM = (4.17)
2
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:

Figura 5.1: Imagens capturadas pelas câmeras direita e esquerda da cabeça estéreo
50 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

⎡ ⎤
266.34759 −46.442318 275.48567
A=⎣ 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.

5.2 Descrição dos Experimentos


Para verificar os métodos propostos foi efetuado o seguinte experimento. As duas
webcam foram montadas em uma base fixa de forma que os seus centro óticos ficaram
a uma altura de 52 cm. A pose das câmeras é dada pelo valor dos ângulos de junta
da cabeça estéreo, simulando o robô. Estes foram ajustados com os seguinte valores,
θ1 = 0.0o , θ2 = 30.0o e θ3 = 0.0o , ou seja, as câmeras estão posicionadas paralelamente
sem convergência nem divergência, direcionadas para frente do robô e inclinadas 30o para
baixo.
Esta configuração apresentada pode ser considerada padrão para este sistema, apesar
de ser possível movimentar a cabeça alterando o valor dos ângulos das junta. Porém, a
movimentação das partes da cabeça estéreo provoca o borramento na imagem capturada
devido ao movimento, impossibilitando a estimação da profundidade de objetos em cena,
simultaneamente, durante a movimentação da cabeça estéreo. Portanto, o programa de
controle geral do robô deve efetuar a captura apenas quando não estiver movimentando as
partes da cabeça estéreo. Nos experimentos realizados não há movimentação da cabeça
estéreo. É necessária uma visualização de objetos que possam ser obstáculos à navegação
do robô, já que este deve locomover-se de forma autônoma em ambientes desconhecidos.
De tal forma, é preciso visualizar uma faixa do chão próxima ao robô, porém sem deixar
de visualizar objetos que estejam na altura do robô; Esta situação é ilustrada na figura 5.2.
Logo, com esta configuração é possível visualizar o chão a cerca de 35 cm à frente do
robô.
Para simularmos a estimação da profundidade distribuímos objetos no espaço onde
o robô se encontra, porém, sabendo precisamente a posição relativa entre estes objetos
e o robô. O robô foi posicionado de forma que não existissem objetos muito próximos
ao robô, dentro da região A. Dentro da região B, uma caixa preta foi posicionada a uma
profundidade de 50 cm em relação ao robô, uma caixa branca foi posicionada a uma
profundidade de 100 cm e existe uma parede posicionada 2430 cm à frente do robô e
não existem objetos na região C. Nesta posição inicial foi feita a aquisição de um par de
imagens da cena, e em seguida o robô foi deslocado 5 cm para a frente, sendo efetuada
uma nova aquisição de um par de imagens da cena.
Utilizando-se esta configuração, podemos verificar o sistema de estimação da profun-
didade usando a combinação de técnicas de visão estéreo e autocalibração baseada em
5.3. AQUISIÇÃO 51

Figura 5.2: Configuração utilizada nos experimentos. A região B representa a região


"visível"ao robô, enquanto que as regiões A e C não são visíveis

coordenadas polares para três situações.

• Distâncias curtas, onde os objetos localizam-se próximos do robô e conseqüente-


mente a imagem deste objeto está localizada próximo ao topo das imagens adquiri-
das pelas câmeras. Este posicionamento ocorre devido as câmeras estarem acopladas
à cabeça estéreo "de cabeça para baixo";
• Distâncias intermediárias, onde os objetos localizam-se no centro das imagens adquiri-
das e;
• Distâncias longas, onde os objetos localizam-se próximos ao fundo das imagens
adquiridas.

É feita uma comparação entre os resultados deste sistema proposto com os resultados
utilizando-se outros métodos. Faremos uma comparação entre as estimativas de profun-
didade e utilizando-se a reconstrução e autocalibração baseadas em coordenadas polares
com um sistema utilizando calibração convencional, e com reconstrução da cena baseada
apenas na triangulação retificada.
O sistema de visão para determinação da profundidade de objetos em cena através da
combinação dos métodos de calibração e visão estéreo foi desenvolvido na linguagem C.
Os tempos necessários para o processamento das etapas foram obtidos rodando o sistema
proposto no sistema operacional Linux em um computador com um processador Pentium
4 de 2400MHz, com 256 Mb de memória RAM.

5.3 Aquisição
O driver utilizado para a aplicação envolvendo as duas web cams foi o Spca5xx, obtido
em [Libland 2006]. Este é um driver aberto para a utilização de várias web cams de
várias marcas no sistema operacional Linux. O Spca5xx é um driver do tipo V4L Video
for Linux, o que significa que a sua utilização segue este padrão. Portanto, os formatos
52 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

Figura 5.3: Par de imagens capturado pelas câmeras da cabeça estéreo durante a primeira
aquisição

de imagem, a abertura e fechamento dos dispositivos, como também a captura seguem


uma padronização determinada pelo padrão V4L, facilitando o desenvolvimento de apli-
cações no Linux, o qual é o sistema utilizado nessa proposta por ser de distribuição livre
e gratuita, código aberto e muito mais indicado para aplicações em tempo real quando
comparado ao Windows.
A aquisição das imagens é feita através da utilização da função capture do driver
Spca5xx sobre um objeto do tipo grabber criado. Por este ser um driver do tipo V4L, a
operação de aquisição simultânea das duas câmeras é facilitada, pois é necessário apenas
definir qual dispositivo está sendo acessado, da seguinte forma:

grabber g("/dev/video0", 320, 240, VIDEO_PALETTE_RGB24);


grabber g2("/dev/video1", 320, 240, VIDEO_PALETTE_RGB24);

Desta forma, definimos uma câmera como g e a outra como g2; os dois parâmetros
seguintes representam a largura e a altura, respectivamente, da imagem a ser capturada; O
ultimo parâmetro determina o modo de cores utilizado. Como mostrado na seção anterior
a web cam suporta apenas os modos: I420 & RGB24, sendo este último o utilizado.
As figuras 5.3 e 5.4 mostram um exemplo de pares de imagens capturadas simultane-
amente pelas duas câmeras da cabeça estéreo. A figura 5.3 representa o par de imagens
da primeira aquisição da cabeça estéreo, enquanto que a figura 5.4 representa o par de im-
agens da segunda aquisição. A captura simultânea do par de imagens das duas câmeras é
feita aproximadamente a cada 68,8 ms, o que fornece uma taxa de captura de 14,5 quadros
por segundo.

5.4 Detecção dos Vértices


A implementação da etapa de extração de características foi feita utilizando-se o algo-
ritmo SUSAN [Smith & Brady 1997]. Nesta implementação é necessário uma conversão
5.4. DETECÇÃO DOS VÉRTICES 53

Figura 5.4: Par de imagens capturado pelas câmeras da cabeça estéreo durante a segunda
aquisição

Figura 5.5: Vértices detectados no par de imagens da primeira aquisição

da imagem no formato de cor RGB24 para níveis de cinza, já que as câmeras não per-
mitem uma captura em níveis de cinza. Esta conversão é feita somando-se as intensidades
dos níveis R, G e B e dividindo-se por 3.
A partir das imagens capturadas pelas duas câmeras, como na figura 5.3, é efetuada a
detecção dos vértices utilizando-se um limiar igual a 20. A figura 5.5 representa o par de
imagens resultantes da detecção de vértices sobre a primeira aquisição, enquanto que a
figura 5.6 representa o par de imagens resultantes da detecção de vértices sobre a segunda
aquisição.
Para a detecção dos vértices usando o operador SUSAN o tempo de processamento
utilizado para cada imagem foi de cerca de 11ms.
Juntamente com a detecção do vértices é gerada uma lista destes vértices detectados.
Os dados de entrada para a próxima etapa, responsável por estabelecer a correlação en-
tre as imagens, serão as listas de vértices e o par de imagens. Estas listas de vértices
detectados fornecem uma grande redução dos dados de entrada para o algoritmo da corre-
lação. Caso utilizássemos a imagem inteira, teríamos que comparar 76800 pontos de uma
54 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

Figura 5.6: Vértices detectados no par de imagens da segunda aquisição

imagem com os 76800 da outra imagem formadora do par de imagens capturada.


Enquanto que após a detecção de cantos, com limiar igual a 20, para estas imagens
foram obtidos na primeira aquisição 145 vértices na imagem esquerda e 203 vértice na
imagem direita, na segunda aquisição foram obtidos 146 vértices na imagem esquerda e
180 vértice na imagem direita.

5.5 Correlação
O objetivo da etapa de correlação é encontrar os vértices correspondentes no par de
imagens e retornar a disparidade destes. Como entrada desta etapa tem-se o par de ima-
gens, que guarda a intensidade, em nível de cinza, da cena visualizada por cada câmera
e a lista de vértices detectados, que será a base da busca entre vértice correlacionados.
Assim, foram utilizados apenas os valores da intensidade em níveis de cinza dos pixels
pertencentes às janelas centralizadas nos vértices detectados.
A lista de vértices detectados apresenta as seguintes variáveis: o número do vértice,
a coordenada x do vértice, a coordenada y do vértice, a disparidade em relação ao vér-
tice mais correlacionado, o número do vértice mais correlacionado, o valor da correlação
entre estes vértices, e a profundidade deste vértice. Apenas as duas primeiras variáveis
de cada elemento da lista receberam um valor atribuído na etapa de detecção de vértices.
As variáveis que guardam os valores da disparidade em relação ao vértice mais correla-
cionado encontrado, o valor desta correlação e o número deste vértice na lista da imagem
receberão um valor nesta etapa de correlação.
Nesta etapa, alguns problemas podem ocorrer principalmente devido a diferenças de
iluminação entre as câmeras, já que estas não estão posicionadas no mesmo ponto e o
robô não é dotado de nenhum dispositivo que forneça iluminação na direção do campo
visual das câmeras.
As variações na iluminação adquirida por cada câmera diminuem, no par de imagens,
a semelhança entre pixels correspondentes a um mesmo ponto no mundo, diminuindo o
valor da correlação entre estes vértices, apesar de o algoritmo de correlação cruzada nor-
5.5. CORRELAÇÃO 55

malizada de média zero utilizado apresentar uma relativa robustez a este problema. Por
ser fundamental para a eficiência de um sistema estereoscópico os experimentos para ver-
ificação dos métodos foram feitos sob luz artificial, de forma a tentar manter a iluminação
constante durante o deslocamento do robô.

Outro problema enfrentado nesta etapa é a existência de vértices detectados em ape-


nas uma das imagens devido a oclusão, sombreamento, como também diferenças na ilu-
minação, provocando a não correspondência de alguns vértices encontrados nas imagens.
Outro erro que pode acontecer durante esta etapa é o de vértices semelhantes serem de-
tectados em uma posição deslocada do ponto real destes vértices. Este erro pode ser
ocasionado pela detecção de vários vértices, ou ocorrer devido a discretização da im-
agem em pixels. Este erro provoca um cálculo errado da disparidade entre vértices, sendo
propagado na reconstrução geométrica.

Devido a estes possíveis problemas encontrados durante a etapa de correlação foram


testados vários tamanhos de máscara. O tamanho escolhido foi o de 9×5 pixels, este
apresentou melhores resultados com mais correspondências corretas, pois compara mais
os pixels na horizontal do que na vertical. A imagem base para a correlação é a imagem
direita, logo, um mesmo ponto na imagem esquerda estará mais à direita, e possuirá coor-
denada x maior, em relação à imagem base. A máscara da correlação é posicionada sobre
os vértices detectados na imagem direita e então percorre-se a lista de vértices detectados
na imagem esquerda calculando a correlação entre estas duas janelas. A busca apresenta
as seguintes restrições:

Só será efetuada a correlação entre as janelas centradas nos vértices da imagem es-
querda para os vértices que possuam coordenada x maior que o vértice da imagem direita,
e esta diferença entre o valor das coordenadas não pode ser maior que a disparidade máx-
ima. Este valor depende da configuração da cabeça estéreo. Por outro lado estes vértices
da imagem esquerda devem possuir coordenada y até duas unidades maior ou menor que
o vértice da imagem direita. Caso o vértice da imagem esquerda seja corralionado a um
vértice da imagem direita, o primeiro terá o valor de uma variável que indica se este vér-
tice já está correlacionadp a algum vértice alterado. Assim, só será verificada a correlação
entre vértices que não tenham sido correlacionados com outro vértice anteriormente.

Após restringir o espaço de busca nos vértices da imagem esquerda, é calculada a


correlação cruzada normalizada de média zero entre as janelas. É armazenada a maior
correlação encontrada, juntamente com o número do vértice da imagem esquerda de maior
correlação, bem como a disparidade entre estes vértices. A variável disparidade deste
vértice na lista de vértices da imagem esquerda recebe o valor de -2, indicando que este
ponto já foi correlacionado.

Nesta etapa foram encontradas 87 correspondências entre vértices nas imagens dire-
ita e esquerda durante a primeira aquisição, e 98 correspondências entre vértices no par
de imagens da segunda aquisição. O tempo de processamento necessário para efetuar a
correlação foi cerca de 12 ms para cada par de imagens.
56 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

5.6 Determinação da Geometria


Nesta etapa são calculados os ângulos responsáveis para a reconstrução geométrica
baseada em coordenadas polares, como também a distância euclidiana entre o ponto M,
localizado no ponto médio entre as duas câmeras da cabeça estéreo, e um ponto P, repre-
sentando um vértice detectado no par de imagens.
A lista de vértices das imagens é a entrada para esta etapa, e os ângulos al phaO ,
al phaO , al phaM e βM são calculados baseados nas posições x e y dos pares de vértices
correspondentes detectados. A distância PM é calculada com esta disparidade obtida pela
correlação para os pares de vértices correspondentes detectados e na distância focal que
pode ser obtida pela calibração convencional ou ajustada de acordo com a autocalibração,
apresentada na seção 5.1. A partir do valor de PM são calculadas as projeções PMX,
PMY e a estimativa de profundidade z.
O tempo de processamento necessário para calcular os ângulos e a estimativa de pro-
fundidade inicial foi cerca de 3ms para cada par de imagens.

5.7 Autocalibração
Na etapa de autocalibração, as listas de vértices correlacionados obtidos para os dois
pares de imagens são comparadas para a formação do triângulo com lados PMY 1, PMY 2
e dz. A etapa da reconstrução geométrica fornece os ângulos αM e βM para os pares
de vértices correlacionados detectados. A partir da diferença dos valores de βM entre a
primeira aquisição e a segunda aquisição obtemos o desvio angular correspondente ao
deslocamento dz conhecido, nos experimentos este deslocamento equivale a 5 cm. De tal
forma é aplicada a lei dos senos e os valores de PMY 1 e PMY 2 são calculados baseados
nesta relação entre a variação angular e o deslocamento do robô.

5.8 Estimação da Profundidade


Após a etapa de autocalibração todos os dados para a estimação da profundidade dos
objetos, cujos vértices correlacionados foram detectados, estão disponíveis. A estimação,
utilizando-se a reconstrução geométrica e distância focal obtida através da calibração con-
vencional, foi calculada durante a etapa de reconstrução geométrica da cena. A distân-
cia focal calculada pela calibração convencional é utilizada como uma estimativa inicial,
sendo ajustada de acordo com os resultados da autocalibração.
São ilustrados os resultados referentes a três pontos específicos. Os pontos (90,39),
(198,128) e (205,204) na imagem direita da primeira aquisição. Estes pontos represen-
tam vértices nos objetos posicionados no ambiente onde o robô se encontra. O ponto
(90,39) representa um vértice da caixa preta posicionada 50 cm à frente do robô; o ponto
(198,128) representa um vértice da caixa branca posicionada 100 cm à frente do robô e o
ponto (205,204) representa um vértice do rodapé da parede localizada 2430 cm à frente
do robô. Na figura 5.7 estes pontos estão destacados em vermelho.
5.8. ESTIMAÇÃO DA PROFUNDIDADE 57

Figura 5.7: Vértices destacados na imagem capturada pela câmera direita durante a
primeira aquisição

Após as etapas de correlação e reconstrução geométrica obtivemos os resultados ex-


pressos na tabela 5.1. Estes dados são utilizados para estimar-se a profundidade destes
três vértices destacados. No método utilizando a reconstrução geométrica da cena, apenas
pela triangulação retificada, a única correção efetuada foi devido ao ângulo de inclinação
de "tilt"de 30o , logo, a profundidade é determinada como a projeção de PM de acordo
com a equação PM ∗ sin(60). Caso não fosse efetuada esta correção as estimativas apre-
sentariam um erro irreal para o método, já que as câmeras estão posicionadas a uma altura
de cerca de 52 cm.
Após a etapa de autocalibração obtivemos os resultados expressos na tabela 5.4, mostrando
a diferença entre os ângulos dos pares de imagem, as distâncias PM estimadas e as dis-
tâncias focais estimadas para cada ponto.
Os sistema comparados são:

• O sistema que efetua reconstrução por triangulação retificada com distância focal
calculada pela calibração convencional;
• o sistema que efetua a reconstrução por coordenadas polares com distância focal
calculada pela calibração convencional;
• O sistema que efetua a reconstrução por coordenadas polares com distância focal
calculada pela autocalibração.

As tabelas 5.2, 5.3 e 5.5 apresentam os diferentes sistemas comparados, assim como as
estimativas das distâncias euclidianas entre o ponto médio M e os pontos exemplificados,
como também as estimativas da profundidade destes pontos. Na tabela 5.5 é mostrado o
valor da distância focal calculada como média entre o valor obtido pela calibração con-
vencional e a estimativa da autocalibração para cada ponto.
Os erros de estimação da profundidade de cada um dos sistemas comparados em re-
lação às distâncias reais são exibidos nas tabelas 5.7, 5.8 e 5.9. Na tabela 5.7 é comparado
o erro médio de estimação da profundidade durante a primeira aquisição entre o sistemas
comparados, enquanto que na tabela 5.8 é comparado o erro médio de estimação da pro-
58 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

Objeto Aquisição Ponto Correlacionado Disparidade αM βM


Caixa 1 90,39 138,37 68 -7,8750 42,0625
Preta 2 85,22 159,22 74 -8,3125 38,5625
Caixa 1 198,128 241,129 43 13,0156 61,8593
Branca 2 201,121 247,122 46 14,0000 60,3281
Parede 1 205,204 226,204 21 12,1406 78,375
2 207,203 229,203 22 12,6875 78,15625
Tabela 5.1: Resultados obtidos pelas etapas de correlação e determinação da geometria
para os vértices exemplificados

Reconstrução por Triangulação Retificada com Calibração Convencional


Objeto Aquisição PM(mm) Z(mm)
Caixa Preta 1 690,5280 598,0148
2 634,5393 549,5271
Caixa Branca 1 1091,9979 945,6979
2 1020,7806 884,0219
Parede 1 2235,9957 1936,4290
2 2134,3595 1848,4095
Tabela 5.2: Resultados do método de reconstrução por triangulação retificada utilizando
distância focal calculada pela calibração convencional

fundidade durante a segunda aquisição entre os sistemas comparados. A tabela 5.9 mostra
o erro médio entre os sistemas comparados, levando-se em consideração a primeira e a
segunda aquisição.
Analisando os resultados nas tabelas 5.6 podemos verificar que todos os três métodos
comparados apresentam um menor erro de estimação da profundidade para o segundo vér-
tice exemplificado. Este vértice, que representa um dos vértices da caixa branca localizada
1 metro à frente do robô, está localizado próximo ao centro das imagens. Este menor erro
ocorre devido à escolha do modelo de orifício como modelo geométrico utilizado para
modelar as câmeras, que não considera a existência de lentes. As lentes alteram o ângulo

Reconstrução por Coordenadas Polares com Calibração Convencional


Objeto Aquisição PM(mm) Z(mm)
Caixa Preta 1 690,5280 458,2502
2 634,5393 391,3959
Caixa Branca 1 1091,9979 938,1771
2 1020,7806 860,5847
Parede 1 2235,9957 2141,1460
2 2134,3595 2037,9147
Tabela 5.3: Resultados do método de reconstrução por coordenadas polares utilizando
distância focal calculada pela calibração convencional
5.8. ESTIMAÇÃO DA PROFUNDIDADE 59

Objeto Aquisição βM1 − βM2 dz(mm) PM(mm) Disparidade f(mm)


Caixa 1 3,5000 50 754,5840 68 285,0650
Preta 2 770,8156 74 316,8908
Caixa 1 1,5312 50 1222,6500 43 292,0775
Branca 2 1204,7251 46 307,8742
Parede 1 0,21875 50 2755,1859 21 321,4383
2 2705,0055 22 330,6117
Tabela 5.4: Distâncias focais calculadas pelo método de autocalibração por coordenadas
polares

Objeto Aquisição f(mm) PM(mm) Z(mm)


Caixa Preta 1 272,9656 722,5560 479,5047
2 288,8785 702,6774 433,4248
Caixa Branca 1 276,4718 1157,3239 994,3012
2 284,3701 1112,7528 938,1233
Parede 1 291,1522 2495,5908 2386,9605
2 295,7389 2419,6825 2310,3449
Tabela 5.5: Resultados do método de reconstrução por coordenadas polares utilizando
distância focal ajustada pela autocalibração por coordenadas polares

de refração da luz nas regiões próximas à periferia da lente, enquanto que no centro da
lente o ângulo de refração da luz praticamente não sofre alteração.
Podemos verificar, através das tabelas 5.2, 5.6 que o sistema com reconstrução ge-
ométrica baseada apenas da triangulação retificada e utilizando distância focal calculada
pela calibração convencional apresenta grandes erros de estimação, estimando distân-
cias cerca de 20,86% maiores que a profundidade real para objetos próximos e cerca de
21,32% menores que a profundidade real para objetos distantes. Para distâncias estimadas
próximas ao centro das imagens foi estimada uma profundidade cerca de 6,18% menor
que a distância real.
O sistema que realiza a reconstrução geométrica da cena baseada em coordenadas po-
lares e utilizando a distância focal calculada pela calibração convencional apresentou er-
ros de estimação menores quando comparados ao sistema anterior, observando as tabelas
5.3 e 5.6. Para objetos próximos estimou as distâncias cerca de 10,68% menores que a
profundidade real, e para objetos distantes, cerca de 13,13% menores que a profundidade
real. A profundidade de objetos localizados próximos ao centro da imagem foi estimada
cerca de 7,79% menor que a distância real, sendo este sistema pior quando comparado
ao anterior para esta condição. Isto se deve ao fato da utilização de uma distância focal
fixa em ambos os casos, e ao fato de que na reconstrução por triangulação retificada é
considerado, apenas a inclinação das câmeras pelo ângulo de "tilt". O erro provocado por
esta última consideração é oposto ao erro provocado pelo valor da distância focal; estes
erros somados diminuem o erro do sistema neste caso.
O sistema de estimação de profundidade proposto neste trabalho, que utiliza a re-
construção geométrica da cena baseada em coordenadas polares e utilizando distância
60 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS

Objeto/ Profundidade Profundidade Erro(mm) Erro(%)


Aquisição Real(mm) Estimada(mm)
Reconstrução por Triangulação Retificada com Calibração Convencional
Caixa Preta/1 500 598,0148 98,0148 19,6029
Caixa Preta/2 450 549,5271 99,5271 22,1171
Caixa Branca/1 1000 945,6979 -54,3021 -5,4302
Caixa Branca/2 950 884,0219 -65,9781 -6,9450
Parede/1 2430 1936,4290 -493,571 -20,3115
Parede/2 2380 1848,4095 -531,5905 -22,3357
Reconstrução por Coordenadas Polares com Calibração Convencional
Caixa Preta/1 500 458,2502 -41,7498 -8,3499
Caixa Preta/2 450 391,3959 -58,6041 -13,0231
Caixa Branca/1 1000 938,1771 -61,8229 -6,1822
Caixa Branca/2 950 860,5847 -89,4153 -9,4121
Parede/1 2430 2141,1460 -288,8540 -11,8869
Parede/2 2380 2037,9147 -342,0853 -14,3733
Reconstrução por Coordenadas Polares com Autocalibração
Caixa Preta/1 500 479,5047 -20,4953 -4,0990
Caixa Preta/2 450 433,4248 -16,5752 -3,6833
Caixa Branca/1 1000 994,3012 -5,6988 -0,5698
Caixa Branca/2 950 938,1233 -11,8767 -1,2501
Parede/1 2430 2386,9605 -43,0395 -1,7711
Parede/2 2380 2310,3449 -69,6551 -2,9266
Tabela 5.6: Erro de estimação da profundidade dos métodos analisados

focal ajustada pela autocalibração baseada nas coordenadas polares, apresentou um de-
sempenho melhor quando comparado aos anteriores, observando-se as tabelas 5.5 e 5.6.
A profundidade de objetos localizados próximos ao robô foi estimada cerca de 3,89%
menor que a distância real, mostrando uma maior precisão quando comparado aos sis-
temas anteriores na estimação da profundidade, devido ao ajuste da distância focal. Para
objetos distantes ao robô a profundidade foi estimada cerca de 2,34% menor que a distân-
cia real, confirmando uma estimação mais precisa deste sistema em relação aos anteriores.
Neste caso, as estimativas dos sistemas anteriores apresentaram piores resultados por uti-
lizarem um valor de distância focal calculado para um padrão relativamente próximo às
câmeras, quando a distância focal é proporcional a distância relativa entre os objetos e
o robô. Logo, a maior distância focal das câmeras ocorre na visualização dos objetos
mais distantes. Para objetos localizados próximos ao centro da imagem a profundidade
estimada foi apenas cerca de 0,90% menor que a distância real, confirmando novamente
a maior precisão do sistema.
Estes últimos resultados mostram que a abordagem proposta neste trabalho é apropri-
ada para o problema da estimação da profundidade de objetos em cena.
5.8. ESTIMAÇÃO DA PROFUNDIDADE 61

Método Erro Médio(%)


Reconstrução por Triangulação Retificada
com Calibração Convencional 15,1148
Reconstrução por Coordenadas Polares
com Calibração Convencional 8,8063
Reconstrução por Coordenadas Polares
com Autocalibração 2,1466
Tabela 5.7: Erro médio de estimação da profundidade dos métodos analisados para a
primeira aquisição

Método Erro Médio(%)


Reconstrução por Triangulação Retificada
com Calibração Convencional 17,1326
Reconstrução por Coordenadas Polares
com Calibração Convencional 12,2695
Reconstrução por Coordenadas Polares
com Autocalibração 2,6200
Tabela 5.8: Erro médio de estimação da profundidade dos métodos analisados para a
segunda aquisição

Método Erro Médio(%)


Reconstrução por Triangulação Retificada
com Calibração Convencional 16,1237
Reconstrução por Coordenadas Polares
com Calibração Convencional 10,5379
Reconstrução por Coordenadas Polares
com Autocalibração 2,3833
Tabela 5.9: Erro médio de estimação da profundidade dos métodos analisados
62 CAPÍTULO 5. EXPERIMENTOS E RESULTADOS
Capítulo 6

Conclusões e Perspectivas

Neste trabalho, propomos um método para determinar a profundidade de objetos em


cena utilizando uma combinação das técnicas de visão estéreo e autocalibração em um
robô dotado de uma cabeça estéreo. As técnicas de visão estéreo fornecem uma medida
de profundidade, através da utilização da notação de coordenadas polares tridimensionais
para efetuar a autocalibração. Esta autocalibração fornece os parâmetros necessários para
o relacionamento das coordenadas tridimensionais do mundo com as coordenadas bidi-
mensionais das imagens, e para efetuar uma reconstrução geométrica da cena de forma
mais precisa. Através desta combinação das técnicas propostas, é possível obter-se uma
estimativa da profundidade de objetos em cena, permitindo a navegação de um robô
autônomo em um ambiente desconhecido. De maneira geral, o sistema apresentado se
mostrou eficaz para fazer a estimação da profundidade de objetos em cena, mesmo com
um par de câmeras webcam de baixa resolução. Em resumo, os seguintes trabalhos foram
realizados e foram obtidas as seguintes conclusões:

• Na calibração convencional dos parâmetros intrínsecos, foi utilizado o método de


Zhang, que se mostrou apropriado ao problema, garantindo uma calibração robusta
e fornecendo um bom valor da distância focal como estimativa inicial. Como esta
calibração tem a função de fornecer uma estimativa inicial para distância focal, a
calibração foi efetuada numa distância adequada para o deslocamento do robô e o
padrão não foi centralizado na imagem. Como sugestão, para um trabalho futuro,
propõe-se a utilização de um padrão com dimensões diferentes do utilizado, a uma
distância diferente e mais centralizado sobre a imagem, o qual pode fornecer uma
estimativa inicial mais precisa da distância focal. Porém para uma faixa de distân-
cias próximas a qual está o padrão durante a calibração, o ajuste para diferentes
distâncias será necessário da mesma forma.
• A detecção dos vértices nos pares de imagem demonstrou-se apropriada para o
problema, sendo bastante rápida. A precisão da localização exata dos vértices, para
algum poucos casos, não coincidiu. Isto provoca um cálculo errado da dispari-
dade entre estes vértices na etapa de correlação. A detecção de vértices sobre cada
imagem do par apresentou um número relativamente alto de vértices sem corre-
spondentes na outra imagem do par, porém isto não é uma falha do método. Isto
ocorre basicamente devido a diferença de ponto de vista entre as câmeras, de tal
forma que os pontos mais à direita da imagem direita e os pontos mais à esquerda
64 CAPÍTULO 6. CONCLUSÕES E PERSPECTIVAS

da imagem esquerda não possuem correspondentes na outra imagem porque não


são visualizados. Como sugestão, para trabalhos futuros, visando melhorar a pre-
cisão do sistema, podemos utilizar de outros métodos para a detecção de vértices e
compararmos a precisão e o tempo de processamento necessário para a localização
de vértices.
• A correlação cruzada normalizada de média zero demonstrou-se apropriada para
o problema, sendo bastante rápida e robusta em relação a pequenas variações na
iluminação. O erro no cálculo da disparidade foi relativamente pequeno, devido
basicamente à discretização dos pixels. Porém, apesar de os experimentos serem
realizados em um ambiente desconhecido, este apresentava condições favoráveis
de iluminação. Sugerimos, para um trabalho futuro, a utilização de um sistema
com uma fonte de iluminação direta localizada acima de cada câmera da cabeça es-
téreo, ou de câmeras com "visão noturna". Isto permitirá a navegação em ambientes
com iluminação desfavorável. Outra sugestão é a utilização de conhecimentos da
geometria do dispositivo e da cena através das coordenadas polares das imagens
como uma restrição na busca por pontos correspondentes no par de imagens para
tratar o problemas das oclusões. Assim, será possível estimar aonde estaria o ponto
correspondente na outra imagem, mesmo que este não esteja visível.
• A reconstrução geométrica da cena baseada em coordenadas polares demonstrou-se
apropriada para o problema, sendo um método bastante simples, facilmente imple-
mentado e bastante rápido. A representação por coordenadas polares tridimension-
ais demonstrou-se bastante adequada para aplicações de visão estéreo utilizando
dispositivos que permitam o conhecimento da pose das câmeras, relacionando di-
retamente as coordenadas de mundo com as coordenadas da imagem. Sugerimos,
para um trabalho futuro, a utilização de câmeras com maior resolução para rela-
cionarmos mais precisamente os seus ângulos de abertura horizontal e vertical com
a sua resolução.
• A autocalibração baseada em coordenadas polares tridimensionais demonstrou-se
apropriada para o problema de estimação da profundidade, sendo um método bas-
tante simples, facilmente implementado e bastante rápido, sendo utilizado neste
trabalho para a obtenção direta da distância focal ao longo de diferentes distâncias
relativas ao robô. O cálculo das distâncias focais finais para a estimação da pro-
fundidade aplicado para os diferentes pontos ao longo da imagem, efetuando-se a
média entre o valor obtido pela calibração convencional e o valor estimado pela au-
tocalibração, demonstrou-se apropriado para o problema, fornecendo um resultado
final bastante preciso, dada a simplicidade dos métodos e dos dispositivos utiliza-
dos. Sugerimos, para um trabalho futuro, a formulação de um método de autocali-
bração baseado em coordenadas polares mais generalizado, estudando a movimen-
tação não apenas translacional do robô como também alteração na vergência das
câmeras, de forma a estimar diretamente um valor preciso da distância focal, sem a
necessidade de ponderação com um valor obtido pela calibração convencional.

A etapa seguinte a este trabalho será a integração do sistema proposto com os demais
sistemas do robô, possibilitando uma maior gama de testes e aplicações, necessitando um
sistema para o gerenciamento dos sistemas de locomoção e estimação da profundidade.
65

Melhores análises deste método só poderão ser feitas quando o sistema estiver completo.
Também poderá ser feito um reconhecimento dos objetos em cena, reconhecendo estes
objetos pela forma, classificando-os como obstáculos à locomoção ou objetos de interesse
e verificando o dinamismo destes, como também um planejamento de trajetórias para o
robô em função do ambiente inserido.
A aplicação deste sistema se dá em situações onde seja requisitada ou necessitada
a locomoção de um veículo autônomo sobre um ambiente desconhecido, permitindo a
execução de diversas tarefas. O sistema proposto permite que experiências de navegação
sejam possibilitadas utilizando sistemas de visão estéreo de baixo custo.
66 CAPÍTULO 6. CONCLUSÕES E PERSPECTIVAS
Referências Bibliográficas

A. Fusiello, E. Trucco & A. Verri (1998), ‘Rectification with unconstrained stereo geom-
etry’, ICCV .

A. Fusiello, E. Trucco & A. Verri (2000), ‘A compact algorithm for rectification of stereo
pairs’, Machine Vision and Applications 12(1), 16–22.

A. Lindoso, L. Entrena, C. López-Ongil J. Liu (2005), ‘Correlation-based fingerprint


matching using fpgas’, ICFPT .

B. Lamiroy, B. Espiau, N. Andreff & R. Horaud (2000), ‘Controlling robots with two
cameras: How to do it properly’, IEEE International Conference on Robotics e Au-
tomation pp. 2100–2105.

Baker, H.H. & T.O. Binford (1981), ‘Depth from edge- and intensity-based stereo’, Inter-
national Joint Conference on Artificial Intelligence pp. 631–636.

Baumberg, A. (2000), ‘Reliable feature matching across widely separated views’, Con-
ference on Computer Vision and Pattern Recognition pp. 774–781.

Borges, G. (1998), Um sistema óptico de reconhecimento de trajetórias para veículos


automáticos, Dissertação de mestrado, Universidade Federal da Paraíba, UFPB, João
Pessoa, PB.

Bougnoux, S. (1998), ‘From projective to euclidean space under any practical situation, a
criticism of self-calibration’, 6th Int. Conf. on Computer Vision pp. 790–796.

C. Lei, F. Wu, Z. Hu & H. T. Tsui (2002), ‘A new approach to solving kruppa equations
for camera self-calibration’, Int. conf. on Pattern recognition .

Campos, M. F. M. & L. Chaimowicz (1999), ‘Visual measurement estima-


tion for autonomous vehicle navigation’, Annual International Symposium on
Aerospace/Defense Sensing Simulation and Controls 13.

Chaimowicz, L. & M. F. M. Campos (1999), ‘Estimação visual de distâncias na navegação


de robôs móveis’, SBAI 4.

Crouzil, Sylvie Chambon Alain (2004), ‘Towards correlation-based matching algorithms


that are robust near occlusions’, 17th International Conference on Pattern Recogni-
tion .

67
68 REFERÊNCIAS BIBLIOGRÁFICAS

Davis, J., R. Ramamoorthi & S. Rusinkiewicz (2003), ‘Spacetime stereo: A unifying


framework for depth from triangulation’, IEEE Conf. on Computer Vision and Pat-
tern Recognition .

de Carvalho, J. A. D. & J. S. S. Souza (1998), ‘Sistema inteligente de navegação de robôs


móveis autônomos’, Brazilian Automatic Control Conference 12, 575–600.

E. Loupias, N. Sebe, S. Bres & J.-M. Jolion (2000), ‘Wavelet-based salient points for
image retrieval’, In International Conference on Image Processing .

F. A. Sandi L., E. M. Hemerly & W. F. Lages (1998), ‘Sistema para navegação e guiagem
de robôs móveis autônomos’, SBS Controle e Automação 9, 107–118.

F. Kahl, B. Triggs & K. Astrom (2000), ‘Critical motions for auto-calibration when some
intrinsic parameters can vary’, J. of Mathematical Image and Vision 13(2), 131–146.

Faugeras, O. D. (1992), ‘What can be seen in three dimensions with an uncalibrated stereo
rig?’, European Conference on Computer Vision 2, 563–578.

França, J.A. (2003), Desenvolvimento de Algoritmos de Visão Estereoscópica para Apli-


cações em Robótica Móvel, Tese de doutorado, Universidade Federal de Santa Cata-
rina, UFSC, Florianópolis, SC.

Freitas, R. (1999), Sistema de visão para robôs móveis: Uma aplicação ao reconheci-
mento de referências geométricas, Dissertação de mestrado, Universidade Federal
do Espírito Santo, UFES, Vitória, ES.

Fusiello, A. (1998), ‘Tutorial on rectification of stereo images’, On-Line Compendium of


Computer Vision .

G. Xu, J. Terai & H. Shum (2000), ‘A linear algorithm for camera self-calibration, motion
and structure recovery for multi-planar scenes from two perspective images’, CVPR
pp. 474–479.

H. Li, H. Zhang, F. Wu & Z. Hu (2002), ‘A new linear camera self-calibration technique’,


5th Asian Conf. on Computer Vision pp. 89–105.

Hartley, R. (1992), ‘Estimation of relative camera positions for uncalibrated cameras’,


Conf. on Comp. Vision pp. 579–587.

Hartley, R. (1994a), ‘Euclidean reconstruction from uncalibrated views’, Applications of


Invariance in Computer Vision, Lecture Notes in Computer Science pp. 237–256.

Hartley, R. (1994b), ‘Self-calibration from multiple views with a rotating camera’, Lec-
ture Notes in Computer Science 800, 471–478.

Hartley, R. (1995), ‘In defence of the 8-point algorithm’, International Conference on


Computer Vision 5, 1064–1070.
REFERÊNCIAS BIBLIOGRÁFICAS 69

Hartley, R.I. & A. Zisserman (2000), ‘Multiple view geometry in computer vision’, Cam-
bridge University Press .

Hartley, Richard I. & Peter Sturm (1997), ‘Triangulation’, Computer Vision and Image
Understanding: CVIU 68(2), 146–157.

Hayman, E. & D. W. Murray (2002), ‘The effects of translational misalignment in the


self-calibration of rotating and zooming cameras’, Oxford Eng. Library .

Hemayed, Elsayed E. (2003), ‘A survey of camera self-calibration’, IEEE Conference on


Advanced Video and Signal Based Surveillance .

Heyden, A. & K. Astrom (1996), ‘Euclidean reconstruction from constant intrinsic pa-
rameters’, Int. Conf. on Pattern Recognition 13, 339–343.

Heyden, A. & K. Astrom (1997), ‘Euclidean reconstruction from image sequences with
varying and unknown focal length and principal point’, IEEE CVPR pp. 438–443.

Heyden, A. & K. Astrom (1998), ‘Minimal conditions on intrinsic parameters for eu-
clidean reconstruction’, Asian Conference on Computer Vision .

Hirschmüller, H. (2001), ‘Improvements in real-time correlation-based stereo vision’,


IEEE Workshop on Stereo and Multi-Baseline Vision pp. 141–148.

Hopken, M. Grinberg, M. Willersinn D. (2006), ‘Modeling depth estimation errors for


side looking stereo video systems’, Intelligent Vehicles Symposium .

Huang, T.S. & O.D. Faugeras (1989), ‘Some properties of the e matrix in two-view motion
estimation’, IEEE Trans. Patt. Anal. Mach. Intell. 11(12), 1310–1312.

Huynh, Du Quan (1994), Feature-based stereo vision on a mobile platform, Tese de


doutorado, University of Western, Australia.

J. Tandler, D. Willersinn, M. Grinberg (2006), ‘Side pre-crash sensing system specifica-


tion’, IEEE Intelligent Vehicle Symposium .

Kahl, F. (1999), ‘Critical motions and ambiguous euclidean reconstructions in auto-


calibration’, Proc. ICCV pp. 469–475.

Kim, H. & K. S. Hong (2001), ‘A practical self-calibration method of rotating and zoom-
ing cameras’, IEEE Proc. on Vision, Image and Signal Proc. 148(5), 349–355.

Kruppa, E. (1913), ‘Zur ermittlung eines objektes aus zwei perspektiven mit innerer ori-
entierung’, Int. Journal of Computer Vision pp. 1939–1948.

L. De Agapito, E. Hayman & I. Reid (1998), ‘Self-calibration of a rotating camera with


varying intrinsic parameters’, 9th British Machine Vision Conf. pp. 105–114.

L. De Agapito, E. Hayman & L. Reid (2001), ‘Self-calibration of rotating and zooming


camera’, Int. Journal of Computer Vision 45(2), 107–127.
70 REFERÊNCIAS BIBLIOGRÁFICAS

L. De Agapito, R. Hartley & E. Hayman (1999), ‘Linear calibration of a rotating and


zooming camera’, IEEE CVPR pp. 15–21.

L. Wang, S.B. Kang, H. Y. Shum & G. Xu (2001), ‘Error analysis of pure rotation-based
self-calibration’, 8th Int. conf. on Computer Vision pp. 464–471.

Libland, A Free World (2006), ‘Spca5xx’. http://mxhaard.free.fr/download.html.

Liebowitz, D. & A. Zisserman (1998), ‘Metric rectification for perspective images of


planes’, CVPR pp. 482–488.

Liebowitz, D. & A. Zisserman (1999), ‘Combining scene and auto-calibration con-


straints’, ICCV pp. 293–300.

Longuet-Higgins, H.C. (1981), ‘A computer algorithm for reconstructing a scene from


two projections’, Nature 293, 133–135.

Lourakis, M. A. & R. Deriche (2000a), Camera self-calibration using the kruppa equa-
tions and the svd of the fundamental matrix: The case of varying intrinsic parame-
ters, Relatório Técnico RR-3911, INRIA.

Lourakis, M. A. & R. Deriche (2000b), ‘Camera self-calibration using the singular value
decomposition of the fundamental matrix’, 4th Asian Conference on Computer Vi-
sion 1, 403–408.

Luong, Q. T. & O. Faugeras (1997), ‘Self-calibration of a moving camera from point


correspondences and fundamental matrices’, Int. Journal of Computer Vision
22(3), 261–289.

M. A. Fischler, R. C. Bolles (1981), ‘Random sample consensus: A paradigm for


model fitting with applications to image analysis and automated cartography’, ACM
24, 381–395.

M. Armstrong, A. Zisserman & R. Hartley (1996), ‘Euclidean reconstruction from image


triplets’, ECCV 1064, 3–16.

M. Pollefeys, L. Van Gool (1997), ‘Self-calibration from the absolute conic on the plane
at infinity’, Computer Analysis of Images and Patterns 1296, 175–182.

M. Pollefeys, L. Van Gool (1999), ‘Stratified self-calibration with the modulus con-
straint’, IEEE Trans. PAMI 21(8), 707–724.

M. Pollefeys, L. Van Gool & A. Oosterlinck (1996), ‘The modulus constraint: A new
constraint for self-calibration’, Int. Conf. on Pattern Recognition 13, 349–353.

M. Pollefeys, L. Van Gool & M. Proesmans (1996), ‘Euclidean 3d reconstruction from


image sequences with variable focal lengths’, ECCV pp. 31–42.
REFERÊNCIAS BIBLIOGRÁFICAS 71

M. Pollefeys, R. Khoch & L. Van Gool (1998), ‘Self-calibration and metric reconstruc-
tion in spite of varying and unknown internal camera parameters’, 6th Int. Conf. on
Computer Vision pp. 90–95.

M. Pollefeys, R. Khoch & L. Van Gool (1999), ‘Self-calibration and metric reconstruc-
tion in spite of varying and unknown internal camera parameters’, Int. Journal of
Computer Vision 32(1), 7–25.

Maciel, J. (2001), Global Matching: optimal solution to correspondence problems, Tese


de doutorado, Instituto Superior Técnico, Universidade Técnica de Lisboa, Lisboa,
Portugal.

Maybank, S. & O. D. Faugeras (1992), ‘A theory of selfcalibration of a moving camera’,


Int. Journal of Computer Vision 8(2), 123–151.

Mendonca, P. R. S. & R. Cipolla (1999), ‘A simple technique for self-calibration’, CVPR


1, 500–505.

O. Faugeras, L. Quan & P. Sturm (2000), ‘Self-calibration of a 1d projective camera and


its application to the self-calibration of a 2d projective camera’, IEEE trans. PAMI
22(10), 1179–1185.

Ohta, Y. & T. Kanade (1985), ‘Stereo by intra- and inter-scanline search’, IEEE Trans.
Patt. Anal. Mach. Intell. 7(2), 139–154.

Olivier D. Faugeras, Quang-Tuan Luong & Stephen J. Maybank (1992), ‘Camera self-
calibration: Theory and experiments’, European Conference on Computer Vision
pp. 321–334.

Ottoni, G. (2000), ‘Planejamento de trajetórias para robôs móveis em ambientes descon-


hecidos’, CBA 13, 2239–2244.

Pilu, M. (1997), ‘A direct method for stereo correspondence based on singular value de-
composition’, Computer Vision & Pattern Recognition pp. 261–266.

Pimentel, J. & E. Hemerly (2000), ‘An algorithm to detect lanemarks for mobile robots
navigation’, INDUSCON pp. 114–119.

Pollefeys, M. (1999), ‘Self-calibration and metric 3d reconstruction from uncalibrated


image sequences’, K.U.Leuven .

Psarakis, Emmanouil Z. & Georgios D. Evangelidis (2005), ‘An enhanced correlation-


based method for stereo correspondence with sub-pixel accuracy’, Tenth IEEE In-
ternational Conference on Computer Vision .

Q. T. Luong, R. Deriche, O. Faugeras & T. Papadopoulo (1993), On determining the fun-


damental matrix : analysis of different methods and experimental results, Relatório
Técnico RR-1894, INRIA.
72 REFERÊNCIAS BIBLIOGRÁFICAS

R. I. Hartley, E. Hayman, L. de Agapito & I. D. Reid (1999), ‘Camera calibration and the
search for infinity’, 7th Int. Conf. on Computer Vision pp. 510–517.

R.I. Hartley, R. Gupta & T. Chang (1992), ‘Stereo from uncalibrated cameras’, European
Conference on Computer Vision 2, 579–587.

Rousseeuw, P.J. & A.M. Leroy (1987), ‘Robust regression and outlier detection’.

Rousso, B. & E. Shilat (1998), ‘Varying focal length selfcalibration and pose estima-
tion from two images’, IEEE Conf. on Computer Vision and Pattern Recognition
pp. 469–475.

Seo, Y. & A. Heyden (2000), ‘Auto-calibration from the orthogonality constraints’, Int.
Conf. on Pattern Recognition pp. 1067–1072.

Seo, Y. & K. Hong (1998), ‘Auto-calibration of a rotating and zooming camera’, IAPR
workshop on Machine Vision Applications pp. 17–19.

Seo, Y. & K. Hong (1999), ‘About self-calibration of a rotating and zooming camera:
Theory and practice’, 7th Int. Conf. On Computer Vision .

Smith, S.M. & J.M. Brady (1997), ‘SUSAN - a new approach to low level image process-
ing,int. journal of computer vision’, 23, 45–78.

Sturm, P. (1997), ‘Critical motion sequences for monocular selfcalibration and uncali-
brated euclidean reconstruction’, Conf. Computer Vision and Pattern Recognition
pp. 1100–1105.

Sturm, P. (1999), ‘Critical motion sequences for the self-calibration of cameras and stereo
systems with variable focal length’, British Machine Vision Conference 1, 63–72.

Sturm, P. (2000), ‘A case against kruppa’s equations for camera self-calibration’, IEEE
Trans. PAMI pp. 1199–1204.

Sturm, P. & S. Maybank (1999), ‘On plane based camera calibration: a general algorithm,
singularities, applications’, IEEE Conf. CVPR pp. 432–437.

T. Moons, L. Van Gool, M. Proesmans & E. Pauwels (1996), ‘Affine reconstruction from
perspective image pairs with a relative object-camera translation in between’, IEEE
Trans. PAMI 18(1), 77–83.

Tandler, J. (2006), ‘Intelligent safety systems for side impact detection’, International
Workshop on Intelligent Transportation (WIT) .

Tordoff, B. & D. W. Murray (2000), ‘Violating rotating camera geometry: the effect of
radial distortion on self-calibration’, Int. Conf. on Pattern Recognition pp. 1423–
1427.
REFERÊNCIAS BIBLIOGRÁFICAS 73

Torr, P. & D. Murray (1997), ‘The development and comparison of robust methods
for estimating the fundamental matrix’, International Journal of Computer Vision
24(3), 271–300.

Triggs, B. (1997), ‘Autocalibration and the absolute quadric’, CVPR pp. 609–614.

Tsai, R. Y. (1986), ‘An efficient and accurate camera calibration technique for 3d machine
vision’, IEEE Computer vision and pattern recognition pp. 364–374.

W, Triggs (1998), ‘Auto-calibration from planar scenes’, 5th European Conference on


Computer Vision pp. 89–105.

Y. Ma, S. Soatto, J Ko¡secka & S. Sastry (1999), ‘Euclidean reconstruction and reprojec-
tion up to subgroups’, Proc. ICCV pp. 773–780.

YongZhuang Ma, WeiJun Liu (2005), ‘Progressive matching based on segmentation for
3d reconstruction’, The Fifth International Conference on Computer and Informa-
tion Technology .

Z. Zhang, O. Faugeras & R. Deriche (1997), ‘An effective technique for calibrating a
binocular stereo through projective reconstruction using both a calibration object
and the environment’, Videre: Journal of Computer Vision Research 1(1), 58–68.

Z. Zhang, Q.-T. Luong & O. Faugeras (1996), ‘Motion of an uncalibrated stereo rig:
self-calibration and metric reconstruction’, IEEE Trans. Robotics and Automation
12(1), 103–113.

Z. Zhang, R. Deriche, O. D. Faugeras & Q. T. Luong (1995), ‘A robust technique for


matching two uncalibrated images through the recovery of the unknown epipolar
geometry’, Artificial Intelligence 78(1-2), 87–119.

Zhang, Z. (1998), ‘Determining the epipolar geometry and its uncertainty: a review’,
International Journal of Computer Vision 27(2), 161–195.

Zhang, Z. (2002), A flexible new technique for camera calibration, Relatório Técnico
MSR-TR-98-71, Microsoft Research Microsoft Corporation.

Você também pode gostar