O sistema de visão estéreo bumblebee2 é um sistema pré-calibrado para distorção de lentes e desalinhamento da câmara. A imagem esquerda e direita são alinhadas com um erro RMS 1 de 0.052 pixéis.
Os ficheiros de calibração encontram-se na câmara, permitindo ao software devolver a informação referente à correcção da imagem, o que permite que exista uma troca harmoniosa entre câmaras, ou que seja devolvida a informação correcta quando existem várias câmaras num único bus. Por sua vez, o sistema de retenção de calibração previne que a câmara perca a calibração devido a choques mecânicos ou vibrações [Research 2006].
Para lentes com distorção barrel, as linhas rectas parecem curvilíneas, na imagem rectificada, a distorção barrel é removida, como podemos ver pela Erro! Fonte de referência não encontrada.Figura 21 [Grey 2008].
Figura 21- Imagem com distorção barrel e imagem rectificada[Grey 2008]
Na primeira imagem, podemos ver como as imagens são capturadas pela câmara. Estas apresentam distorção de lentes. Com base na calibração da
1 RMS – Root mean square, que em Português significa valor quadrático médio, utilizado como medida estatística da magnitude de uma grandeza.
2 A figura é baseada na exactidão epipolar numa resolução estéreo de 320x240 e é válida para os modelos 1024x768 e 640x480. A exactidão da calibração pode variar
câmara a imagem é rectificada dando origem à segunda imagem, imagem rectificada, que se encontra livre de distorção. As imagens rectificadas são essenciais para o bom funcionamento dos algoritmos estéreo [Research 2006].
Depois de concluída a calibração da câmara é realizado o processamento estéreo [Grey 2008].
A imagem seguinte apresenta as várias etapas que permitem a resolução de problemas referentes à calibração do sistema e resolução de problemas de correspondência, os quais depois de ultrapassados, permitem obter a imagem com os valores de disparidade que contém informação da distância aos objectos que constituem a imagem.
Figura 22 – Representação dos passos para resolução de problemas estéreo [Grey 2008]
O problema de correspondência é resolvido através de dois tipos de abordagens de processamento de imagem. Dependendo da aplicação, o algoritmo utilizado pode resolver o problema de correspondências para, apenas um conjunto de características na imagem (algoritmos baseados em características), ou para todos os pixéis na imagem (stereo dense algoritms) [Grey 2008].
A exactidão dos resultados de correspondência estéreo 3D depende de vários factores, tais como, a textura da imagem, a resolução da imagem e a distância entre as câmaras [Grey 2008].
O processamento das imagens estéreo é constituído por 3 etapas: estabelece-se a correspondência entre as diferentes características de cada
imagem, calcula-se o deslocamento entre as características correspondentes de cada imagem e determina-se a localização 3D da característica relativamente à câmara, utilizando a geometria da câmara.
A Figura 23 mostra um par de imagens obtidas através do deslocamento horizontal de uma câmara. Podemos identificar dois pontos, o ponto A e o ponto B em ambas as imagens. O ponto corresponde ao ponto
, de forma semelhante, o ponto corresponde ao ponto .
Figura 23 – Exemplo de pontos correspondentes entre imagens estéreo [Grey 2008]
Se utilizarmos uma régua para medir horizontalmente a distância entre a margem esquerda das imagens e os pontos, verificamos que a distância na imagem esquerda é maior que a distância do ponto correspondente na imagem direita. Por exemplo, a distância do manípulo do telefone à margem esquerda é maior que a distância do manípulo à margem na imagem direita. Com base nessa distância, também apelidada de disparidade, é possível determinar a distância que separa a câmara do manípulo do telefone.
Podemos definir a disparidade como sendo a diferença entre as coordenadas que mapeiam as mesmas características na imagem esquerda e direita. A distância do topo da imagem às características das imagens é exactamente a mesma em ambas as imagens, isto porque as câmaras estão alinhadas horizontalmente.
A disparidade da característica A é definida como e a disparidade do ponto B é obtida através de , onde é a coordenada em x do ponto .
Se calcularmos o valor de D(A) e de D(B) verificaremos que D(B) >D(A), isto indica que o ponto B encontra-se mais próximo do sensor de imagem do que o ponto A. Assim, a disparidade é inversamente proporcional à distância, quanto maior a disparidade mais próximo se encontra o objecto.
A biblioteca Triclops fornecida conjuntamente com o sistema de visão estéreo bumblebee2, apresentado anteriormente, estabelece a correspondência entre imagens utilizando o método de correlação, Soma das Diferenças Absolutas.
A abordagem é feita da seguinte forma, para cada pixel na imagem é seleccionado um conjunto de pixéis vizinhos, que formam um quadrado na imagem de referência, de seguida, os pixéis vizinhos são comparados com os pixéis vizinhos da outra imagem (sempre ao longo da mesma linha). Por fim é seleccionada a melhor combinação.
A correspondência entre pixéis correspondentes é feita recorrendo à seguinte função:
min ∑ ∑
onde, e são, respectivamente, os valores mínimo e máximo de disparidade, representa o tamanho da máscara, e representam as imagens direita e esquerda. A distância às câmaras é determinada utilizando o deslocamento entre as imagens e a geometria das câmaras. A biblioteca Triclops possui uma função que converte os mapas de disparidade em imagens que mapeiam a distância.
A Figura 24 ilustra o sistema de coordenadas no qual a biblioteca Triclops representa as imagens e as medidas reais do mundo real.
Figura 24 – Sistema de coordenadas do mundo e da imagem na biblioteca Triclops [Grey 2008]
As medidas no plano de imagem são calculadas tendo em conta que a origem se encontra no canto superior esquerdo da imagem rectificada. Enquanto a origem das medidas reais se encontra nos sensores do sistema de visão de referência [Inc. 2003].
A Figura 25 mostra o fluxo de dados que ocorre na biblioteca Triclops. A biblioteca recolhe imagens “cruas” que foram capturadas pela câmara
bumblebee2 e produz imagens onde é mapeada a distância aos objectos.
Como podemos verificar existem dois blocos fundamentais na biblioteca, o bloco de pré-processamento da imagem, onde é aplicado um filtro passa-baixo. A imagem é também rectificada, removendo a distorção causada pelas lentes, e por fim procede-se à detecção de contornos. No segundo bloco é efectuada a correspondência estéreo, a validação dos resultados e a interpolação subpixel. Como resultado a biblioteca apresenta a imagem onde são mapeadas as distâncias da câmara aos objectos que constituem a cena.