1. Índice
1
Índice
2
Introdução
3
Calibração
4
Modelo de formação de imagem
5
Stereo
Binocular
6
Epipolos e Linhas Epipolares
7
Qualidade da calibração
8
Resultados experimentais
9
Reconstrução Tridimensional
10
Reconstrução dos pontos utilizados na
calibração
11
Disparidade
12
Matching
13
Matching
por contornos com operadores morfológicos
14
Matching
por regiões
15 Conclusão e desenvolvimentos futuros
16 Referências
17 Links
2. Introdução
A projecção dos raios de luz na retina
apresenta no sistema visual humano uma imagem 2D do meio envolvente, o que no
entanto permite interagir com o mundo tridimensional, mesmo quer em situações
inovadoras, quer na presença de objectos desconhecidos. O que permite esta
destreza, reside na capacidade da visão humana reconstruir uma representação 3D
do mundo, através da projecção 2D na retina.
Desde a introdução do estereograma de
pontos aleatórios por Julesz, [9], como uma ferramenta de
investigação, tornou-se vulgar considerar que o desenvolvimento de temas sobre
o stereo (stereopsis) [1], [2], [4] e [14], centram-se
sobretudo em duas características fundamentais. A primeira característica
reside na capacidade de extrair informação sobre a disparidade, usando uma
descrição monocular de baixo nível sobre pontos que descrevam características
do objecto (tais como vértices e contornos), que resultam do emparelhamento
binocular. Descrições monoculares de alto nível, tais como as superfícies de
objectos, padrões, não são necessárias para a stereopsis, pois em
estereogramas de pontos aleatórios, este tipo de descrições apenas surgem após
conseguida a stereopsis. A segunda característica resulta da necessidade
de um mecanismo que selecciona correctamente os pontos do binocular a
emparelhar. Tal como Julesz apresenta esta característica, consiste numa
"stereopsis global", capaz de resolver ambiguidades que resultem de "stereopsis
local" de emparelhamento.
Figura 2.1. Imagens
elucidativas da capacidade da visão binocular, quer na robótica móvel, quer na
vida quotidiana.
3. Calibração
3.1. Modelo de formação de imagem
A calibração de uma
câmara é o processo de transformação entre o referencial da câmara e o
referencial do meio em que esta se encontra integrada. Nesta modelização
existem os parâmetros intrínsecos, dimensão dos pixels na imagem e a
posição do centro da imagem e os parâmetros extrínsecos, orientação da câmara,
bem como os parâmetros da projecção perspectiva [1],[2].
Para a determinação
desta transformação, é necessária uma grelha de calibração com dimensões
conhecidas à priori, para além da capacidade de individualizar a
projecção dos pontos de calibração na imagem.
Existe uma classe
de métodos de calibração, onde o conhecimento paramétrico de pontos no espaço
não é necessário. Nesta situação é possível separar a calibração interna
(associada aos parâmetros internos da câmara) da calibração externa. Um dos
métodos propostos por [3],[4] para a calibração interna, consiste na
minimização da curvatura de segmentos resultantes da determinação de contornos
de um ambiente estruturado. Uma das técnicas de detecção e minimização da
curvatura, sugerida por [5], recorre às transformadas de Hough.
Neste trabalho é
incluída uma grelha de calibração, de forma a obter a matriz P=[Pl|pl],
que corresponde ao encapsulamento dos parâmetros intrínsecos e extrínsecos da
câmara, bem como da projecção perspectiva. Eventualmente a grelha pode ser
colocada posteriormente ao objecto que se pretende reconstruir, resultando a
necessidade acrescida da identificação na imagem, dos pontos pertencentes à
grelha. A matriz P permite relacionar as coordenadas entre o
referencial (2D) da câmara {x,y} e o referencial do mundo {X,Y,Z}
(3D).

Figura 3.1. Matriz P (parâmetros intrínsecos, extrínsecos e projecção perspectiva) relaciona
o referencial do mundo com o referencial do plano de imagem.
(3.1)
(3.2)
Da equação 3.1 é possível obter as expressões
3.2. Sendo a matriz P, constituída por 12 elementos (sendo p34
um factor de escala), são necessários N³6 pontos de calibração para a determinação das 11 incógnitas. Fazendo a
reformulação do problema, seja j o vector
com as 11 incógnitas de P, A e b obtidos a partir
dos pontos de calibração. Então A× j = b, sendo um
sistema sobredimensionado com N>6 com pontos não coincidentes.


(3.3)
Aplicando a pseudo inversa como solução de
problemas dos mínimos quadrados, obtém-se a estimativa dos elementos de P,
(equação 3.4).
              
                  
         (3.4)
3.2.Stereo Binocular
Tratando-se de stereo
binocular, corresponde à existência de duas câmaras. Ao plano de imagem de cada uma das câmaras está
acoplado um referencial {x,y}. Sejam {xl,yl}
e {xr,yr} os referenciais das câmaras da esquerda
e da direita, respectivamente (da literatura anglo-saxónica l-left e r-right).
Assim, está associada uma matriz P, Pl e
Pr, a cada uma das câmaras. A cada ponto no
referencial do mundo (X,Y,Z), corresponde a um ponto, (xl,yl),
na imagem da câmara da esquerda (imagem da esquerda) e a outro ponto (xr,yr),
na imagem na câmara da direita (imagem da direita).

Figura 3.2. As matrizes
Pl e Pr relacionam
o referencial do mundo com o referencial do plano de imagem da esquerda e da
direita, respectivamente.
Ao existir uma
matriz de transformação entre o referencial do mundo e o referencial de cada uma
das câmaras, é possível definir uma relação entre as duas câmaras, como vai ser
apresentada de seguida.
3.3.Epipolos e Linhas Epipolares
Os epipolos são as posições da imagem
onde uma câmara observa a outra, isto é, a projecção do centro óptico de uma câmara
na outra câmara [1],[2]. O centro óptico coincide com a origem do sistema de
coordenadas do plano projectivo [6]. As rectas epipolares são formadas pelo
epipolo e pela projecção do ponto no plano da imagem. No exemplo de duas
câmaras com os eixos ópticos paralelos, como apresentado na figura 3.3, as
rectas epipolares são paralelas, visto os epipolos encontrarem-se no infinito.
No caso mais genérico, onde as câmaras não
apresentam os eixos ópticos paralelos, seja M=[X Y Z 1]T
o ponto no referencial do mundo, ml=[lxl lyl
l] e mr=[lxr lyr
l] as projecções
nas câmaras da esquerda e da direita respectivamente. Então:
(3.5)

Figura 3.3. Exemplo de
duas câmaras com os eixos ópticos paralelos (rectas epipolares paralelas).
Como o centro óptico de cada câmara coincide
com a origem do sistema de coordenadas do plano projectivo, a equação 3.6
permite calcular o centro de projecção e exprimi-lo em coordenadas relativas ao
referencial do mundo.
(3.6)
Onde WOl= [WOl
1]T e Pl, pela equação 3.1, corresponde
a [Pl | pl]. De forma similar para WOr
e Pr. Assim,
(3.7)
Os epipolos, el e er,
resultam da projecção do centro óptico de uma cada câmara na outra:
(3.8)
Conhecido o
epipolo, er, é necessário conhecer um ponto de forma a
definir a recta epipolar que contenha o ponto ml. Considerando
o ponto no infinito dessa recta D¥=[D¥ 0]T, então:
(3.9)
Fica assim definida a recta por mr, que deve conter o ponto mr
(na imagem da direita), correspondente ao ponto ml (na imagem
da esquerda). Todos os pontos que pertençam à recta satisfazem a equação 3.10.
(3.10)
A figura 3.4 exemplifica o aspecto das
rectas epipolares de câmaras com os eixos ópticos oblíquos.

Figura 3.4. Exemplo
de duas câmaras com os eixos ópticos oblíquos.
É de salientar o
facto da reconstrução 3D em stereo binocular não exigir a utilização das
rectas epipolares. No entanto reduz a uma dimensão o espaço de procura no matching,
que vai ser tratado mais adiante. Entretanto, as rectas epipolares vão ser
utilizadas na medição da qualidade da calibração.
3.4.Qualidade da calibração
Ao ponto na imagem da esquerda está associada
uma recta epipolar na imagem da direita, que contém o ponto correspondente.
Face à discretização e erros na calibração o ponto da imagem da direita não se
encontra sobre a recta. Assim, a qualidade de calibração é medida pela
distância do respectivo ponto à recta. Esta distância é medida em pixels, o que pode não dar uma medida
exacta da qualidade. Isto devido à dimensão do pixel: numa imagem obtida num laboratório essa dimensão é muito
mais reduzida do que uma imagem paisagística.
3.5.Resultados experimentais
A calibração foi
feita a partir de duas imagens que contêm uma grelha, formada por quadrados,
tal como está apresentado na figura 3.5. A resolução de cada imagem é de 230´143 pixels. De seguida é efectuada a detecção de contornos,
através de operadores de gradiente (tais como Sobel e Isotropic)
[1], [6] e [8] e da aplicação de tresholding [8], obtêm-se as imagens apresentadas
na figura 3.6 (com a mesma resolução das imagens iniciais). É de salientar que
a informação contida nos contornos não se refere apenas à grelha.
Nos contornos
obtidos, são detectados os vértices dos quadrados que constituem a grelha, bem
como a correspondência entre os pontos das duas imagens (matching,
secção 5). Este processo de selecção de pontos e o seu emparelhamento é feito
manualmente, sendo irrelevante nesta fase do projecto a sua automatização. Na
secção do matching, é explicado como automatizar este processo.

Figura 3.5. Imagens
da grelha captadas pelas câmaras (resolução: 230´143).

Figura 3.6. Imagens
dos contornos da grelha, com destaque aos pontos que são utilizados na
calibração.
Como foi referido em 3.4, a qualidade
da calibração é medida pela distância entre o ponto da imagem da direita e a
recta epipolar correspondente. Na figura 3.7 as rectas epipolares estão
representadas por segmentos de recta (azul), na proximidade do respectivo ponto
de calibração. Nem todos os pontos se encontram contidos na respectiva recta,
apresentando um erro médio de 0.39 pixels, num conjunto de 48 pontos.

Figura 3.7.
Avaliação da qualidade da calibração pela distância das rectas epipolares
(representadas apenas por um segmento) aos respectivos pontos.
4. Reconstrução Tridimensional
Calibradas as
matrizes Pl e Pr,
respeitantes a cada uma das câmaras, é aplicada a equação 3.1, que permite
relacionar o ponto (X,Y,Z), medido no referencial do mundo, com o ponto
da imagem da esquerda {xl,yl} e o ponto da imagem
da direita {xr,yr}.
(4.1)
Reformulando as
equações apresentadas em 4.1, obtêm-se as 4 equações para as 3 incógnitas (X,Y,Z), como demonstra a expressão
4.2.
(4.2)
De forma similar à equação, o número de
equações é superior ao número de incógnitas, novamente um sistema
sobredimensionado. É utilizada a pseudo inversa como solução dos mínimos
quadrados (ou seleccionar as 3 equações melhor condicionadas [2]). É assim realizada
a reconstrução tridimensional, isto é, 3D.
4.1.Reconstrução dos pontos utilizados na calibração
Aos pontos utilizados na calibração é aplicada
a reconstrução 3D, apresentada na figura 4.1, segundo diversos ângulos.

Figura 4.1.
Apresentação da reconstrução tridimensional dos pontos utilizados na
calibração, segundo vários ângulos.
4.2.Disparidade
Na reconstrução 3D,
um dos factores que deve ser tomado em conta, é a disparidade, que consiste na
diferença de coordenadas da projecção de um ponto em cada imagem. Veja-se o
exemplo de duas câmaras C e C', de distância focal f, com
os eixos ópticos paralelos, separadas por uma distância b (baseline).
O ponto M tem as projecções m e m' (com coordenadas v e
v') nos planos da imagem das câmaras C e C', respectivamente.
A disparidade é dada por d:
(4.3)
onde z é a distância do ponto M.

Figura 4.2.
Exemplificação do cálculo da disparidade em câmaras com eixos ópticos
paralelos.
O erro na
reconstrução 3D cresce com o quadrado da distância, equação 4.4. Dada a
distância média aos objectos e dado o erro admissível na construção, deve ser
dimensionada a resolução da imagem (valor que limita a disparidade), a baseline
e a distância focal. Pela fórmula 4.3, para que a disparidade seja mensurável,
o produto de b×f deve ser da mesma ordem de grandeza da distância média ao objecto.
(4.4)
No exemplo apresentado na figura 4.3, o
automobilista consegue avaliar quais dos dois obstáculos, posicionados ao longo
da via, se encontra mais próximo. A uma dada velocidade, os pontos que definem
o obstáculo no espaço 2D apresentam uma disparidade maior em imagens
sucessivas, conseguidas pela velocidade de captação da retina humana.

Figura 4.3.
Exemplificação da disparidade com imagens conseguidas a distâncias diferentes.
Outro factor
determinante no erro da reconstrução 3D é o g, abordaddo no ponto
a seguir.
5. Matching
Na reconstrução
tridimensional é necessário identificar os pontos em ambas as imagens que
resultem da projecção do mesmo ponto 3D. A este processo designa-se por Matching.
Face a diversos factores, tais como a distribuição de brilho (e de cores),
existência de padrões, oclusão (Figura 5.1), erros de paralaxe (Figura 5.2),
entre outros o Matching é o problema fundamental na visão stereo.

Figura 5.1.
Exemplificação da oclusão com dois sólidos: um cubo e uma esfera (identifica-se
pelo brilho).

Figura 5.2.
Exemplificação do erro de paralaxe: o pinheiro é a árvore que se encontra à
direita na imagem da esquerda, ao contrário da imagem da direita.
Um dos métodos propostos por Barn em 1987 [6]
utiliza o Simulated Annealing, onde define uma função de energia Exy
(equação 5.1) a minimizar, onde IL(x,y)
e IR(x,y) definem a intensidade de brilho do ponto (x,y)
nas imagens da esquerda e da direita, respectivamente (equação 5.1).

(5.1)
Dx(x,y) e Dy(x,y) são dois vectores que traduzem a
disparidade desse mesmo ponto segundo as direcções x e y,
respectivamente. A grande vantagem consiste na eliminação de altas disparidades
(eliminação de grandes profundidades na reconstrução 3D), no entanto é fútil
face à complexidade da resolução de problemas desta natureza.
Outro método baseado em área ou pixel [1],[2],[6],
Window Based Method, consiste na correlação de uma janela (um conjunto
de pixels) da imagem da direita com uma janela que desloca sobre a recta
epipolar correspondente na imagem da direita. Para além do tipo de correlação
que deve escolhido, existem outros problemas, tais como a dimensão da janela
(optimizado através da Multiresolution, [11]), padrões e erros de
paralaxe.
Mais tarde, Moravec
[10], propôs a optimização deste último método, com a introdução de
"operadores de interesse" que se
limitavam a seleccionar nas imagens, cantos com um nível de cinzento. Desta
forma, existe um pré-processamento na imagem, definindo assim um novo tipo de matching,
baseado em extrair da imagem características relevantes. É nesta área que se
encontra o maior desenvolvimento do matching [7]. Desde a detecção de
contornos e cantos, extracção de segmentos de recta, círculos ou outras figuras
geométricas são algumas das formas para reduzir o espaço de procura no matching,
permitindo uma aceleração e optimização. Também algumas restrições são postas
para reduzir o falso matching, tais como compatibilidade (entre
regiões), continuidade, relaxação, etc. A utilização da recta epipolar no matching
é quase como obrigatória.
5.1.Matching por contornos com
operadores morfológicos
A figura 5.3. apresenta as imagens referentes
ao objecto, sobre o qual se pretende efectuar a reconstrução 3D. Estas imagens
foram captadas pelas câmaras na mesma posição com que foi efectuada a
calibração. Este objecto, representativo de uma casa de habitação, apresenta
pouca informação na textura, visto as paredes serem lisas, de cores semelhantes.

Figura 5.3. Imagens
de um objecto com a forma de uma casa com desenhos correspondentes às janelas,
portas, telhado, etc. captadas pelas câmaras (resolução: 230´143).
A primeira fase de reconstrução baseia-se na
detecção de contornos, da mesma forma
como foi referido em 3.5. A detecção de contornos das imagens da figura
5.3 está apresentada na figura 5.4. A resolução destas imagens é a mesma do
exemplo apresentado na calibração: 230´143.
Como resultado as imagens são binárias. No
entanto existe ainda bastante informação irrelevante, desde pontos isolados na
imagem próximos dos contornos (não confundir com o tipo de ruído designado por Salt
& Pepper, na literatura anglo-saxónica, o qual é possível
eliminar pelo filtro da mediana), contornos "grossos" (vários pontos a
definirem o mesmo contorno), aumentando assim o espaço de procura no matching,
como se constata na figura 5.4.

Figura 5.4. Imagens com os respectivos
contornos (resolução: 230´143).
Em imagens binárias, existe um tipo de operadores,
designados por operadores morfológicos [8], capazes de reduzir este tipo de
problemas. São aplicados iterativamente, até não existir alteração na imagem
entre iterações sucessivas. Este tipo de operadores pode ser definido com
apenas duas operações: erosion e dilation. A partir destas, é
possível a criação de outras operações. Uma delas, designada por clean,
elimina pontos isolados na imagem. A outra operação, bastante importante para
aplicação nos contornos obtidos, é designada por close. Esta operação
procura conciliar pontos referentes ao mesmo contorno, fechando algumas lacunas
existentes, como comprova a figura 5.5.

Figura 5.5. Resultado
da aplicação dos operadores morfológicos nas imagens com os respectivos
contornos.
A aplicação do operador close, embora
tenha conciliado os pixels correspondentes ao mesmo contorno, veio
adicionar pixels irrelevantes. Tal facto aumenta a percentagem do número
de pixels que definem os contornos na imagem: 9.7%, num espaço de 32890 pixels
(dimensões da imagem 230´143=32890).
De forma a reduzir a largura dos contornos,
aplica-se o operador morfológico thinner, que tal como o nome indica,
limita-se a estreitar os contornos.

Figura 5.6. Resultado
da aplicação do operador morfológico thinner.
Dos 32890 pixels que constituem cada
imagem, apenas 5.4% (média de ambas imagens) definem os pontos de contorno,
isto é, o espaço de procura para o matching. Consegue-se assim reduzir
de 9.7% para 5.4% (ainda que inferior ao valor inicial, antes da aplicação dos operadores
morfológicos, 6.7%) a percentagem de pixels que definem os contornos,
sem no entanto perder informação relevante. Quantos menos pixels menor o
espaço de procura para o matching.
De seguida, a cada ponto (xl,yl)
de contorno corresponde uma recta epipolar na
outra imagem. No entanto esta recta pode intersectar os contornos da
outra imagem em N pontos (xr,yr)i,
i=1,...,N. Nesta situação é colhida a informação sobre o brilho de uma
janela, wl(xl,yl), da imagem original,
centrada no ponto sobre o qual se pretende fazer o matching. Com outras
janelas, wri(xr,yr), centradas nos
pontos de contorno intersectados pela recta epipolar na outra imagem, é medida
a correlação, através da utilização da diferença de quadrados não normalizada.
A janela mais correlacionada, identifica o ponto que correspondente ao matching,
como define a equação (5.2).
(5.2)
Os resultados são apresentados na figura 5.7,
onde é possível a visualização da reconstrução tridimensional. A visualização
perspectiva não é divulgadora da qualidade de reconstrução 3D. No entanto, as
duas últimas imagens são bastante expressivas. Quanto maior a profundidade,
pior a reconstrução. Existe outro facto a salientar, referente ao matching.
Nas duas primeiras imagens, é perceptível a existência de segmentos de recta
que demonstram uma descontinuidade na reconstrução do objecto. Deve-se a
ambiguidades resultantes da intersecção das rectas epipolares em diversos
pontos de elevada correlação, onde o matching falha. A figura 5.10 exemplifica
uma destas situações. Na próxima secção é apresentada uma nova forma de matching,
de forma a eliminar estes inconvenientes.

Figura 5.7.
Apresentação da reconstrução tridimensional, segundo vários ângulos.
5.2.Matching por regiões
O método apresentado anteriormente, embora
apresente falhas, apenas pode ser aplicado aos contornos do objecto que se
pretende reconstruir. O resultado é insuficiente para a reconstrução de um
objecto, sobre o qual existam diversas cores, formas geométricas, superfícies
com brilho diferente, etc. Contudo os resultados obtidos na secção 5.1 através
dos contornos, não são desprezáveis.
Após a aplicação dos filtros que permitem a
determinação dos contornos (secção 3.5) e da aplicação dos operadores
morfológicos (secção 5.1), as imagens resultantes (figura 5.6) são constituídas
por diversos contornos fechados que definem o contorno do objecto na sua
totalidade. Desta forma, apenas é necessário efectuar o matching das
regiões definidas pelos diversos contornos fechados.
O algoritmo para determinar individualmente
cada uma das regiões é o seguinte: atribui-se uma cor a um ponto inicial,
dentro dessa região; iterativamente, até alcançar um ponto do contorno,
atribui-se a mesma cor aos vizinhos dos pontos já coloridos (é semelhante à
função "Flood Fill" apresentada em qualquer software de tratamento de
imagem). Os pontos coloridos definem a região. A selecção do ponto inicial pode
ser feito pelo utilizador ou automaticamente, pela geração de um ponto
aleatório que não pertença a qualquer contorno da imagem, nem a uma região já
definida.
Este processo é efectuado até serem
identificadas todas as regiões em ambas as imagens. De seguida é necessário
efectuar o matching das regiões de cada imagem. Para uma região na
imagem da esquerda estão associados pontos de contorno. Pelo processo realizado
em 5.1, procura-se a região da imagem da direita, que mais pontos de contorno
combina com esta.

Figura 5.8. Imagens
com o emparelhamento das respectivas áreas, exemplificada por cores alusivas.
Efectuado o matching de todas as
regiões, o problema da reconstrução é subdivido tantas vezes quantas as regiões
identificadas. A figura 5.9 apresenta um exemplo de uma região a ser
reconstruída. Esta região continua a ser identificada pelos respectivos
contornos. Embora o emparelhamento das regiões em ambas as imagens já
esteja identificado, é necessário o matching
nos pontos que constituem os respectivos contornos. O universo de pontos que
definem o espaço de procura do matching é significativamente mais
reduzido, quando comparado com os contornos de toda a imagem. Desta forma,
acelera o processo de reconstrução, para além de reduzir as ambiguidades.

Figura 5.9. Contornos
de uma região em ambas imagens.
A forma de reconstrução é similar à anterior,
apresentada na secção 5.1. Para cada ponto do contorno da região da imagem da
esquerda, está associada uma recta epipolar que intersecta os contornos da
região na imagem da direita. Quando a intersecção for em mais do que um ponto,
avalia-se pela mesma fórmula apresentada pela equação 5.2: qual a janela que,
centrada nestes pontos de intersecção, se correlaciona mais com a janela
centrada no ponto pretendido. Identificados os pontos, é utilizada a equação
4.2 de forma a calcular o valor desse mesmo ponto no referencial do mundo (onde
se encontra o objecto).
Retomemos o exemplo apresentado na figura 5.9.
Esta região define uma parede da casa, onde se encontra uma porta e uma janela.
Ao observar atentamente a figura 3.7. (utilizada na calibração) as rectas
epipolares apresentam uma inclinação quase horizontal. Assim, a intersecção das
rectas epipolares com os extremos superior e inferior da região, será apenas
num ponto. Quando muito em alguns pontos próximos, sem criar ambiguidades.
Contudo existem algumas situações críticas, como o exemplo apresentado na
figura 5.10.

Figura 5.10. Exemplo
de uma situação ambígua no matching.
A recta epipolar (representada por uma linha azul
ao longo da imagem da direita) intersecta os contornos da região pretendida em
6 pontos: 2 na porta, 2 na janela, 2 no extremo da parede. O ponto correcto
para o matching, corresponde ao ponto de intersecção com a porta do lado
esquerdo. No entanto um dos pontos da intersecção da recta epipolar com a
janela, apresenta características semelhantes, como exemplifica a figura 5.10.
Reduzidas as ambiguidades, o problema não se encontra completamente resolvido.
Uma forma de solucionar, consiste na
continuidade. Os pontos que definem os contornos das regiões em ambas as
imagens, C={(x,y)1,(x,y)2, ..., (x,y)N},
devem estar ordenados sequencialmente, de forma a minimizar as distâncias entre
dois pontos consecutivos:
(5.3)
Não são aplicados os
sufixos l e r, pois esta sequência é aplicada aos contornos da
região, quer na imagem da esquerda, quer na imagem da direita.
Ao percorrer o
contorno da região na imagem da esquerda, devem ser apenas seleccionados os
pontos (resultantes da intersecção das rectas epipolares com os contornos da
região na imagem da direita) que satisfaça a continuidade. Ou seja, os pontos
que se encontrem numa dada vizinhança do ponto anterior.
Finalmente, basta
identificar a cor ou até mesmo o padrão identificativo dessa região. Para tal
pode ser efectuada uma média dos valores em RGB dos pontos que se
encontrem no interior dessa região. Embora não tenha sido efectuado
experimentalmente, é possível determinar o gradiente, isto é, uma forma de
estimar a distribuição de brilho na superfície que define essa região.
Os resultados
experimentais estão apresentados na figura 5.11. Para além de se verificar
melhoramentos na reconstrução, visto ter eliminado grande parte de situações de
matching errado, é visível a facilidade de identificação do objecto.
Verificam-se ainda alguns pontos de descontinuidade, principalmente no telhado.
Estas situações são solucionadas eliminando os pontos onde se verifique
descontinuidade. O resultado apresenta-se na figura 5.12.



Figura 5.11. Reconstrução
tridimensional com o matching por regiões. Visualização segundo
vários ângulos.

Figura 5.12. Reconstrução
tridimensional.
6. Conclusão e desenvolvimentos futuros
A qualidade dos
resultados experimentais obtidos da reconstrução tridimensional, deve-se
fundamentalmente ao matching. A resolução e a informação contida na
imagem, é também muito importante.
Uma forma de
optimizar, consiste no stereo trinocular [12]. Baseia-se na utilização
de três imagens, I1, I2 e I3 captadas por três câmaras,
onde a calibração se efectua de forma similar a 3.2. Na reconstrução
tridimensional, a cada ponto da imagem I1, está associada uma
recta epipolar e12 na imagem I2 e outra
recta epipolar e13 na imagem I3. Ao ponto
de matching na recta epipolar e12 na imagem I2,
está associada outra recta epipolar, e23, na imagem I3.
A intersecção das rectas e13 e e23 deverá
corresponder ao matching do ponto na imagem I3, caso
contrário, existe erro no matching. A forma de medição de matching
utiliza as mesmas janelas de correlação apresentadas em 5.1. Desta forma o
método de reconstrução 3D apresentado em 5.1 deverá ser mais robusto.
7. Referências
[1]
Three-dimensional Computer Vision, O. Faugeras, MIT Press, 1993
[2]
Notas do Curso de Visão, José Santos-Victor, IST.
[3]
F. Devernay and O. Faugeras. Automatic
Calibration and Removal of Distortion from Scenes of Structured Environments.
In Proc. of SPIE'95. 1995.
[4]
O.Nakayama, A.Yamaguchi, Y.Shirai and
M.Asada, "A Multistage Stereo Method Giving Priority to Reliable Matching
with Self Calibration by Stereo," Proc. of Intelligent Robots and
Systems , Osaka, Japan, 1991.
[5]
R. Duda and P. Hart. Use of the Hough
Transformation to Detect Lines and Curves in Pictures Communications of the
ACM. Vol. 15, N. 1. 1972.
[6]
Robot Vision, B. Horn, MIT Press, 1986
[7]
Weng, J., Ahuja, N., and Huang, T.S.
(1992). Matching two perspective views
IEEE Transactions on Pattern Analysis and Machine Intelligence, 14(8):806-825
[8]
Fundamental of Digital Image
Processing, Anil K. Jain, Prentice Hall Internation
Editions, 1989
[9]
Julesz, B. (1971). Foundations of
Cyclopean Perception. Univ. of Chicago Press, Chicago, IL.
[10] H. Moravec, O. Binford and D. B. Gennery,
Final Report: Computer Visual Systems for Exploratory Vehicles, NASA contract
NASW 2916, April 1979
[11] Image and Data Analysis: The Multiscale Approach. JL Starck, F Murtagh, A Bijaoui. Cambridge University Press. 1998
[12] T. Williamson,
C. Thorpe. A
Trinocular Stereo System for Highway Obstacle Detection. International
Conference on Robotics and Automation (ICRA '99), IEEE, 1999.
[13] T. Williamson,
C. Thorpe. System for
Highway Obstacle Detection. International Conference on Robotics and
Automation (ICRA '99), IEEE, 1999.
[14] Y. Yakimovsky and R. T. Cunningham. A
system for extracting three-dimensional measurements from a stereo pair of TV
cameras. Computer Graphics and Image Processing, 7:195-210, 1978
8. Links
·
http://www.dis.uniroma1.it/~iocchi/stereo/calib.html
·
http://www-cv.mech.eng.osaka-u.ac.jp/research/stereo_group
·
http://www.cs.mcgill.ca/~gstamm/P644/stereo.html
·
http://hydra.dis.uniroma1.it/~iocchi/stereo/
·
http://citeseer.nj.nec.com/did/46653
·
http://www.dsp.toronto.edu/~levinas/
·
http://www.dai.ed.ac.uk
·
http://www.cs.ubc.ca/spider/jhoey/review/node3.html
·
http://helios.jpl.nasa.gov/tasks/pioneer/iros98
·
http://nile.spd.louisville.edu/~peter/poster.html
·
http://spaceplace.jpl.nasa.gov/urbie_action.htm
·
http://www.cps.unizar.es/~josemari/monti/demo.html
·
http://www.dai.ed.ac.uk/HIPR2/