====== Odometria Visual ====== Paulo Lilles Jorge Drews Junior \\ Mestrando em Ciencia da Computacao - UFMG\\ Trabalho Prático da Disciplina de Visão Computacional\\ Primeiro Semestre / 2008\\ ===== Introdução ===== A odometria convencional é um dos métodos mais utilizados para estimar a posição de um robô. Sabe-se bem que ela proporciona uma boa precisão em movimentos curtos e permite taxas de amostragem muito altas. A idéia fundamental da odometria é a integração de informação incremental do movimento ao longo do tempo, o qual envolve uma inevitável acumulação de erros. A acumulação de erros de orientação causa grandes erros na estimação da posição, os quais vão aumentando proporcionalmente com a distância percorrida pelo robô.\\ Esses erros são ainda maiores quando a odometria é fornecida por dados de encoder preso as rodas do robô devido a derrapagem da roda, que acontece normalmente, em maior ou menor quantidade, dependendo do local que o robô está andando. Outra fonte de erro é quando o robô percorre subidas e descidas, ou quando ocorre movimentos de rotação.\\ Assim, a odometria visual surge como uma alternativa a odometria convencional, através da qual é possível estimar a posição do robô mesmo quando acontece derrapagem ou rotação.\\ Porém, a odometria visual é dependente do ambiente que o robô está inserido. Como a fonte sensora se utiliza as imagens advindas de câmeras, o ambiente precisa ter iluminação e features visuais de forma que o robô possa determinar como está se locomovendo. Além disso, o ambiente visto pela câmera, precisa ser predominantemente estático de forma que consiga-se determinar o movimento do robô.\\ O processo de odometria visual, pode ser divido em três grandes passos: * **Detecção de Características na Imagem** - Neste passo são determinadas características distintivas que pudem ser buscadas em diferentes imagens, como por exemplo, quinas(corners) , bolhas (blobs) ou cumes(ridge); * **Correlação de Características** - As diferentes características determinadas em imagens, precisam ser correlacionadas, ou seja, é preciso determinar quais características são as mesmas em imagens distintas; * **Estimação do Movimento do Robô** - Através dos pares de pontos correlacionados em imagens distintas, tornar possível determinar qual o movimento da câmera, tanto de translação quanto de rotação. ===== Revisão Bibliográfica ===== Descrita em detalhes no artigo gerado do trabalho, que se encontra para download abaixo. ===== Metodologia Proposta ===== A metodologia proposta neste trabalho utilizará os seguintes passos para determinar a odometria visual: * Calibração da Câmera e Correção das Distorções do Sistema Óptico; * Determinação de Pontos de Interesse em Imagens Utilizando Algoritmos Descritores de Features (SIFT,SURF e LESH); * Correlação Entre Descritores de Features; * Remoção Robusta de Outliers, utilizando RANSAC/LMedS; * Determinação do Movimento Com Visão Monocular Matriz Essencial; É proposto ainda nesse trabalho um comparativo de performance para a tarefa de odometria visual dos principais algoritmos de descrição de \emph{features}. Um diagrama para melhor ilustrar a metodologia proposta é apresentado na figura abaixo. Ela mostra os passos necessários para a obtenção da posição X,Y e orientação da câmera em relação a um referencial inercial. {{:cursos:visao:2008-1:grupo01:metodologia_Small_.png|:cursos:visao:2008-1:grupo01:metodologia_Small_.png}} ===== Versão Final do Artigo Gerado ===== {{:cursos:visao:2008-1:grupo01:Grupo1_-_Paulo.pdf|:cursos:visao:2008-1:grupo01:Grupo1_-_Paulo.pdf}} ===== Alguns Videos Do Robô Utilizado nos Testes ===== {{:cursos:visao:2008-1:grupo01:Robo.wmv.pdf|:cursos:visao:2008-1:grupo01:Robo.wmv.pdf}} {{:cursos:visao:2008-1:grupo01:TATU1.avi.pdf|:cursos:visao:2008-1:grupo01:TATU1.avi.pdf}} Devido ao servidor não aceitar videos, os arquivos foram renomeados para .pdf, logo para visualizar basta remover a extensão diretamente. ===== Apresentação ===== {{:cursos:visao:2008-1:grupo01:Odometria_Visual.pdf|:cursos:visao:2008-1:grupo01:Odometria_Visual.pdf}} ===== Referências Bibliográficas ===== @inproceedings{Harris88, author = {C. Harris and M. Stephens }, booktitle = {Fourth Alvey Vision Conference}, title = {A Combined Corner and Edge Detection},}} year = {1988}, url = {http://www.ipb.uni-bonn.de/readings/1987/harris87.combined.pdf}, }