Sie sind auf Seite 1von 2

Stereo Matching com filtro WLS em tempo real

1. Estrutura de Nodes do ROS:


Cada Node um modulo executado paralelamente, para esta aplicao foram utilizados 3
nodes: bumblebee_camera_driver, rectify e stereo_node. Responsaveis respectivamente pela
interface entre a camera e o ROS, a retificao e pr processamento das imagens adquiridas e do
matching e filtragem da imagem de disparidade.
1.1 bumblebee_camera_driver
Node ROS que integra o software nativo da pointgrey com a bumblebee, fornecendo de
maneira facil as imagens individuais de cada camera.
Publica nos tpicos:
camera/left/image_raw
camera/right/image_raw
1.2 rectify
Node para a retificao da imagem da camera com parametros previamente obtidos na
calibrao.
Subscreve:
camera/left/image_raw
camera/right/image_raw
Publica:
camera/left/ret
camera/right/ret
1.3 stereo node
Node principal onde so realizados o matching stereo(StereoSGBM) e a filtragem da
imagem de disparidade(WLSFilter). Esse node publica a imagem gerada em tempo real.
Tambem foi feito a reconstruao espacial e criaao de um pointcloud.
Subscreve:
camera/left/ret
camera/right/ret
Publica:
camera/depth/image
camera/depth/pointcloud

2. Stereo Matching
A imagem de disparidade foi gerada utilizando o algoritimo stereo de semi-global block
matching.
Tal algoritimo minimiza a funo abaixo em tempo linear ao numero de pixeis na imagem.

Assim, o primeiro termo da funo representa a soma do custo de matching para todos os pixeis da
imagem, e o segundo e terceiro adicionam uma penalidade para regioes com descontinuidades onde
a disparidade de um pixel bem diferente a de seus vizinhos.
Somente o uso de tal algoritimo no traz resultados satisfatorios, com baixa definio nos
conornos e zonas esparas. Para contornar tal problema foi adotado o filtro descrito abaixo

3. WLS Filtering
O filtro WLS (Weighted Least Squares filter) um tipo de filtro por optimizao que
mantem uma boa definio de contornos na imagem filtrada
O filtro foi aplicado de forma a usar a informao de contorno da imagem mono para gerar
uma imagem de disparidade com melhores contornos. Alem disso, tambem utilizado um mapa de
confiana gerado pela disparidade esquerda e direita e propagado para reduzir a esparcidade na
imagem.
Assim, temos uma imagem de disparidade em tempo real e com uma qualidade razoavel de
contornos.

4. Point Cloud
Utilizando a imagem de disparidade filtrada, foi feita uma projeo dos valores para pontos
xyz com base em uma matriz de parametros obtida na calibrao. O resultado apresentou bastante
ruido, ento foi feito o downsample da pointcloud utilizando um filtro voxelgrid e a remoo de
pontos outliers utilizando um filtro estatistico por desvio padro de k vizinhos.
Ambos os filtros foram implementados utilizando a point cloud library e o pointcloud
resultante enviado pelo ROS em um tipo padro de mensagem que pode ser facilmente utilizado
em outros projetos

5. Melhorias
O maior gargalo do programa a calibrao da camera principalmente para a projeo 3d
para gerar o pointcloud. Acredito que efetuando uma melhor calibrao (com um erro RMS mais
baixo) sero obtidos resultados consideravelmente melhores tanto da imagem de disparidade quanto
do pointcloud

Das könnte Ihnen auch gefallen