Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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 esposa Kaliane, pelo seu amor. Te Amo mais que tudo, para sempre.
Sumário i
Lista de Tabelas v
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
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
v
Resumo
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:
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
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
Calibração
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
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
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:
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
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
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
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
λ = 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
Ω 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]:
& 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
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
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
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
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.
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.
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:
a = (2m + 1) ∗ (2n + 1)
σ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].
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
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.
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.
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
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.
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
â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
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:
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
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.
É 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
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.
Figura 5.4: Par de imagens capturado pelas câmeras da cabeça estéreo durante a segunda
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
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ô.
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.
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.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ô.
Figura 5.7: Vértices destacados na imagem capturada pela câmera direita durante a
primeira aquisiçã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
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
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
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
Conclusões e Perspectivas
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.
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.
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 .
67
68 REFERÊNCIAS BIBLIOGRÁFICAS
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.
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.
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.
Hartley, R. (1994b), ‘Self-calibration from multiple views with a rotating camera’, Lec-
ture Notes in Computer Science 800, 471–478.
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.
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 .
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.
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. 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.
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.
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, 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.
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.
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.
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.
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.
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.