NLMAP - Localização e Navegação de Robôs Cooperativos para Inspeção

Documentos relacionados
Uma Abordagem Baseada em Visão Computacional para Localização e Mapeamento Simultâneos de Robôs Subaquáticos

MouseCam: aplicação de controle do mouse via câmera

TECSUB LOC: Localização e mapeamento baseado em visão para robôs subaquáticos

Descritores de Imagens

2 SIFT (Scale Invariant Feature Transform)

Descritores de Imagem

SIFT - Scale Invariant Feature Transform

Exemplo de aplicação

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Processamento de Imagens COS756 / COC603

Image Descriptors: local features

Kanade-Lucas-Tomasi Tracker

DESENVOLVIMENTO DE SISTEMA PARA GERAÇÃO DE MOSAICO DE IMAGENS VISANDO LOCALIZAÇÃO E NAVEGAÇÃO DE ROBÔS MÓVEIS

Sistema de Reconhecimento de Logotipos

Criação de mosaico usadando o SURF e o matcher FLANN

Universidade Federal do Rio de Janeiro. Flávio Henrique Schuindt da Silva. Estimativa de Fluxo Ótico com o método de Lukas-Kanade

Relatório sobre os Resultados obtidos através do uso dos algoritmos SIFT e RANSAC para Reconstrução de um Objeto a partir de uma Nuvem de Pontos

SSC5887 SSC5887. Histórico. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER. Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER

Estimativa de Posição 3D de Obstáculos para VANTs

4 SIFT (Scale Invariant Feature Transform)

Detecção de falsas correspondências em pares de imagens estereoscópicas utilizando a transformação projetiva no plano e o algoritmo RANSAC

SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro

2 Trabalhos Relacionados

5 Análise Experimental

Mapeamento de ambientes e processamento visual utilizando Kinect

SISTEMA DE ANÁLISE DE VÍDEO EM TEMPO REAL NA DETECÇÃO DE PADRÕES DE MOVIMENTO

Descritores de Imagens

Processamento de Imagens Termais Aplicado à Navegação Autônoma. Wanessa da Silva

3 Transformação SIFT (Scale Invariant Feature Transform)

Introdução. Introdução. Introdução. Introdução. Introdução. Introdução à Robótica Robótica Móvel Localização. Principais questões na Robótica

Disciplina de Introdução aos Sistemas Robóticos SSC-5887

USO DO DETECTOR DE PONTOS DE INTERESSE SIFT PARA LOCALIZAÇÃO DE ALVOS ARTIFICIAIS DE CONTROLE

SLAM II Localização e Mapeamento Simulatâneos

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva

Extração de atributos usando o método LBP - Local Binary Pattern

Face Recognition using RGB-D Images

Rastreamento de objeto e estimativa de movimento

8 Conclusões e Trabalhos Futuros

SEMINÁRIO DOS ARTIGOS:

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO

!"$# %$'& (#) *+! *,$ -) -#.+/ &$0 $"$# 1 ' #$4!*.+5 #76$8 8'9

Modelagem de Ambientes para Robô Móvel baseado em Rede Neural Hierárquica e Visão Omnidirecional

Assim, a rápida acumulação de erros pequenos pode causar o fracasso de quase todos os métodos para resolver o problema de SLAM.

SLAM Visual. Fernando Zuher Mohamad Said Cavalcante Orientadora: Profª. Drª. Roseli Romero Mestrado em Computação, ICMC-USP

Sistema de Localização Visual da Equipe de Futebol de Robôs POTI-UFRN (versão 2008) na Categoria Very Small Size

INTRODUÇÃO À ROBÓTICA MÓVEL

3 TÉCNICAS ÓPTICAS NA MECÂNICA EXPERIMENTAL

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.

Reconhecimento de Instâncias (parte 2)

Robótica Subaquática: Uma Abordagem Baseada em Visão Computacional Aplicada a SLAM

Orientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local

TÍTULO: FUZZY TAKAGI-SUGENO PARA IDENTIFICAÇÃO E CONTROLE INERCIAL DE UM ROBÔ MÓVEL

Desenvolvimento de Algoritmos de Exploração e Mapeamento Visual para Robôs Móveis de Baixo Custo

Apresentação de uma Plataforma Computacional para a Reconstrução e Caracterização da Forma 3D de Objectos

Detecção Robusta de Movimento de Câmera em Vídeos por Análise de Fluxo Ótico Ponderado

Reconhecimento de Gestos

Grupo de Sistemas Embarcados Evolutivos e Robóticos - SEER

APLICAÇÃO DO FILTRO DE KALMAN A UM SISTEMA DE POSICIONAMENTO DE VEÍCULO AQUÁTICO

Processamento digital de imagens

Reconhecimento Ótico de Caracteres em Placas Veiculares

Processamento digital de imagens

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

Processamento de Imagens COS756 / COC603

Anotador automático de placas de publicidade em vídeos esportivos

Region Based CNNs. Francisco Calaça Xavier. Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado. Instituto de Informática UFG

Mapas Auto Organizáveis SOMs Mapas de Kohonen

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( )

PMR2560 ELEMENTOS DE ROBÓTICA 2016 TRABALHO DE VISÃO COMPUTACIONAL CALIBRAÇÃO DE CÂMERAS E VISÃO ESTÉREO

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

PROCESSAMENTO DIGITAL DE IMAGENS

1 Introdução 1.1. Motivação

Feature Description (SIFT + SURF) Prof. Dr. Geraldo Braz Junior

Um Estudo das Técnicas de Obtenção de Forma a partir de Estéreo e Luz Estruturada para Engenharia

Implementação do algoritmo SIFT para detecção de objetos em imagens.

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

T4.1 Processamento de Imagem

INTRODUÇÃO À ROBÓTICA MÓVEL

Localização de Robôs Móveis Autônomos Utilizando Fusão Sensorial de Odometria e Visão Monocular

Visão Computacional. Alessandro L. Koerich. Programa de Pós-Graduação em Engenharia Elétrica Universidade Federal do Paraná (UFPR)

T4 Processamento de Imagem

Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo

3 Estimação e Compensação de movimento na codificação de vídeo

Métodos de Segmentação de Imagem para Análise da Marcha

Capítulo III Processamento de Imagem

2 Reconhecimento Facial

Processamento de Imagens COS756 / COC603

Implementação dos Algoritmos e Resultados

- lnteligência Artificial. Seminário sobre o artigo: Beans quality inspection using correlationbased granulometry

MÉTODO DE DETECÇÃO DE PONTOS DE INTERESSE PARA SENSOR DE TRIANGULAÇÃO LASER APLICADA A SOLDAGEM

Detecção de Faces Humanas em Imagens Coloridas Utilizando Redes Neurais Artificiais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Localização de Robôs Móveis por Aparência Visual

Processamento digital de imagens

Introdução. Introdução Exemplo. Introdução. Representação do Ambiente Exemplo. Representação do Ambiente. Mapeamento e Localização Simultâneos

Emparelhamento de Objectos Representados em Imagens usando Técnicas de Optimização

19/05/2014. Histórico da Pesquisa em Robótica. Objetivos do curso. Informações. Calendário. Histórico

Mapas Auto-Organizáveis de Kohonen SOM

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

Transcrição:

NLMAP - Localização e Navegação de Robôs Cooperativos para Inspeção Eder Gonçalves, Emanuel Estrada, Gabriel Leivas, Silvia Botelho Abstract O uso de veículos autônomos para inspeção visual é um promissor campo da robótica. As imagens capturadas usadas para avaliar o meio inspecionado podem também auxiliar em sua localização/navegação. Nesse contexto, este trabalho propõem o uso de técnicas de visão computacional para localização e mapeamento de robôs autônomos. Supondo o uso de câmeras de inspeção, nossa proposta é composta de dois estágios: i o uso de visão computacional através do algoritmo SIFT para extrair pontos característicos em uma seqüência de imagens,capturadas por um robô de inspeção subterrânea de cabos elétricos, e ii o desenvolvimento de mapas topológicos para localização e navegação. A integração destas duas técnicas permitirá ao sistema desenvolvido simultaneamente fazer a localização e mapeamento do ambiente. Teste inicias com um protótipo foram realizados, revelando como resultados uma boa precisão e robustez para uma série de condições, iluminação e ruído, mostrando ser uma técnica de SLAM promissora e original. I. INTRODUÇÃO A utilização de tecnologias para exploração de ambientes não estruturados desconhecidos e de difícil acesso para exploração humana, como um ambiente de inspeção, faz com que robôs móveis remotamente controlados sejam cada vez mais usados. Assim sendo, o desenvolvimento de sistemas de inspeção visuais aplicados a veículos não tripulados apresenta-se como uma interessante área de pesquisa. No seguinte artigo propõe-se uma nova abordagem para extrair e mapear pontos característicos entre imagens consecutivas em um ambiente de inspeção. Usa-se Scale Invariant Feature Transform (SIFT), o qual é um método robusto para detecção de pontos característicos [12]. Além disso, estes pontos-característicos são utilizados como marcos no mapeamento topológico. Propõe-se o uso de mapas autoorganizáveis baseados em mapas de Kohonen [11] e estruturas de células de crescimento (GCS - Growing Cell Structures) [7] que permite a construção de mapas, mesmo em presença de informações ruidosas. Vários métodos de localização e mapeamento são baseados em mosaicos [8], [10]. No entanto, a utilização do SIFT para extrair características visuais e mapas topológicos não foi encontrada na literatura. Algumas abordagens usam SIFT para SLAM visual indoor[15][16]. Estas abordagens utilizam o SIFT em um sistema estéreo visual para detecção de marcos visuais, juntamente com a odometria, utilizando filtro de Kalman. Tal proposta é validada a priori em ambientes conhecidos e estruturados. Todos os autores são do Curso de Engenharia de Computação da Universidade Federal do Rio Grande (FURG), Km 8, Itália Av., Rio Grande, Brasil eder,emanuel,gabriel,silviacb@ee.furg.br De forma semelhante à abordagem desenvolvida no presente trabalho, [2] apresenta SLAM topológica visual com mapas baseados em aparência, utilizando SIFT em imagens omnidimensionais. No entanto, esta abordagem só é validada com robôs móveis em ambiente terrestre. Na seção II é descrito o sistema de visão para mapeamento, sendo cada etapa envolvida neste processo, detalhada em subseções. As implementações assim como testes e resultados são apresentados na seção III Por último, alhos futuros. II. SISTEMA DE VISÃO PARA MAPEAMENTO Com a finalidade de montar um mosaico, as várias imagens (frames) capturadas de forma consecutiva devem ser alinhadas sucessivamente, resultando em um único mapa visual. Normalmente, o processo pode ser resumido pelos seguintes passos: - pré-processamento da imagem, objetivando a correção de deformações geométricas e remoção de características inadequadas para processamento; - detecção de características relevantes de cada imagem; - correlação de características entre imagens consecutivas; - estimativa de movimento entre imagens; - construção do mosaico. Cada fase da criação do mosaico é abaixo explicada. Fig. 1. A. Pré-Processamento Visão geral do sistema proposto. O pré-processamento tem como objetivo corrigir deformações geométricas causadas por imperfeições no sistema

óptico e solucionar problemas relativos à iluminação nãohomogênea do ambiente. Estas distorções introduzem uma incorreta interpretação do posicionamento real do robô e, conseqüentemente, erros de mapeamento e localização. A distorção causada pelas lentes da câmera na imagem é uma etapa que demanda um certo tempo de processamento, podendo ser modelada por uma aproximação radial e tangencial. Porém, como a componente radial é a que causa maior distorção, a maioria dos trabalhos desenvolvidos até hoje corrige apenas esta distorção [9], sendo suficiente para a solução do problema. Da mesma forma, optou-se neste trabalho apenas pela correção da distorção radial. Em ambiente subaquático, há ainda a distorção causada pela difração da água. A Equação 1 mostra um método para resolver este problema [20], onde (mx, my) é o ponto sem distorção radial, (m0x, m0y) é o novo ponto sem distorção por difração e u0 e v0 são as coordenadas do ponto central. escala de freqüência. Esta vizinhança é definida como sendo uma janela n x n, tanto no mesmo espaço de escala quanto nos adjacentes, como mostra a Figura 2. Por meio da operação de Diferença Gaussiana (Equação 3) obtida pela subtração de duas imagens geradas a partir da convolução, chega-se à banda de freqüência para cada escala. B. SIFT m 0 x = m x + R 0 R (m x u 0 ) m 0 y = m y + R 0 R (m y v 0 ) (1) R 0 = f tan (sin 1 (1.33 sin(tan 1 R ))) (2) f O algoritmo Scale Invariant Feature Transform - SIFT - é um eficiente filtro para extração e descrição de pontos de características relevantes para a análise de imagens [12]. Em termos gerais, é um método robusto em relação a ruídos, iluminação imprópria, oclusão e variações mínimas no ponto de vista de captura da imagem, e constitui-se de quatro estágios principais: Detecção de extremos no espaço de escala O primeiro estágio utiliza-se do filtro de diferença gaussiana (DOG) para detectar pontos potencialmente interessantes em um espaço invariante à escala e rotação; Localização de pontos relevantes A localização e escala de cada ponto encontrado no estágio anterior são calculadas e pontos relevantes são selecionados baseado em medidas de estabilidade; Definição de orientação dos pontos relevantes Considerando características das imagens, como gradientes locais, as orientações dos pontos relevantes são determinadas. Todas as operações futuras serão feitas em relação a esta orientação, além de escala e posição, garantindo invariância em relação a estas transformações; Criação do descritor dos pontos relevantes Os gradientes locais da imagem são calculados baseados na vizinhança de cada ponto relevante. Estes cálculos são transformados em uma representação que permite mudanças significantes nos níveis de distorção e iluminação. Sendo assim, o vetor descritor de cada ponto armazena suas características para que um mesmo ponto possa ser encontrado em diferentes regiões de imagens consecutivas. Um ponto candidato à relevância é um pixel extremo em relação à sua vizinhança, localizado em uma determinada Fig. 2. Espaço de escala. D(x, y, σ) = (G(x, y, kσ) G(x, y, σ)) I(x, y) = L(x, y, kσ) L(x, y, σ) (3) Onde L(x, y, σ) é a escala do espaço determinada pela convolução entre a imagem I(x, y) com o filtro Gaussiano G(x, y, σ). Os pontos na função DOG que são extremos locais em sua própria escala e em maiores ou menores são extraídos como pontos chave. Para obter esses pontos extremos é necessário uma freqüência de amostra na escala do espaço k e um nivelamento inicial σ 0. Após, os pontos chave são filtrados para as mais estáveis correlações na escala com maiores precisões e com maior acurácia de subpixel usando o método descrito em [3]. Depois da construção de descritor de pontos chaves, é necessário computar a orientação desses pontos, assim conseguindo um descritor invariante a rotação. A orientação referida é calculada com base nos histogramas de gradientes locais L(x, y, σ). Para cada amostra L(x, y) na mesma escala de pontos chaves, a magnitude do gradiente m(x, y) e orientação θ(x, y) é computado usando diferença de pixels, como na equação 4 e 5. m(x, y) = (L(x + 1, y) L(x 1, y)) 2 + (L(x, y + 1) L(x, y 1)) 2 ) 1/2 (4) θ(x, y) = tan 1 ((L(x, y + 1) L(x, y 1)) /(L(x + 1, y) L(x 1, y))) (5) A nossa orientação de histograma tem 36 valores cobrindo 360 graus do alcance de rotação. Cada amostra adicionada ao histograma é uma medida de gradiente por sua magnitude e por uma ponderada circular-gaussiana com um σ que é 1,5 vezes mais elevado do que a escala do ponto chave. O local mais próximo do gradiente de dados de imagem suavizados L(x, y, σ) também é utilizado para criar

o descritor de pontos chave. Com este valor, uma método quicksort é utilizado para selecionar os melhores pontos. Este gradiente informação é primeiro rotacionado para obterse um alinhamento com a orientação definida pelos pontos chave e ponderada por um Gaussiano com uma variância σ. Os dados ponderados são utilizados para criar um número nomeado de histogramas, ao longo de um conjunto em torno da janela de pontos característicos. O histograma têm 8 valores de orientação, cada um criado ao longo de uma janela de apoio de 4x4 pixels. O vetor resultante de característica tem 128 elementos com uma janela de apoio total de 16x16pixels redimensionado. C. Correlação de características entre imagens consecutivas Normalmente, os candidatos à correlação de um ponto de relevância são pontos próximos ao mesmo, de maneira que o melhor candidato é o ponto que apresenta a menor distancia Euclidiana. No entanto, alguns pontos instáveis (outliers) são detectados ao longo do processo, levando a falsas correspondências. Para a eliminação desse problema, um método para comparar a menor distancia com a segunda melhor distancia é usado, selecionando somente correspondentes próximos por treshold [12]. Além disto, uma Matriz Fundamental estimada pelos métodos RANSAC e LMedS é usada para remoção de outliers, validando cada correspondência encontrada. D. Estimando a matriz de homografia As imagens correlatas fornecem um conjunto de vetores deslocamento relativo,((x i, y i ), (x, yprime)) associadas com os pontos correspondentes. Os n pares são utilizados para determinar a matriz de homografia H. Esta matriz vai proporcionar o movimento estimado entre essas imagens, transformando as coordenadas homogêneas em não-homogêneas. Os termos são operados a fim de obter um sistema linear, como mostrado pela equação 6: x 1 0 x n 0 y 1 0 y n 0 1 0 1 0 0 x 1 0 x n 0 y 1 0 y n 0 1 0 1 x 1.x 1 y 1.x 1 x n.x n y n.x n x 1.y 1 y 1.y 1 x n.y n y n.y n x 1 [ ] y 2 h11 h 12 h 13 h 21 h 22 h 23 h 31 h 32 =.. x n y n A posição atual do robô pode ser estimada com o inicio da equação 7, onde 1 H k+1 é a matriz de homografia entre as imagens I 1 e I k+1. A matriz 1 H 1 é definida pela matriz identidade 3x3. (6) 1 H k+1 = k i H i+1 (7) i=1 Das posições estimadas do centro do frame, pode-se estimar a posição global do robô (sabe-se a posição relativa entre o robô e a câmera) O SIFT prove um conjunto de pontos chave invariante à escala, descritos por um vetor de características. Este vetor é usado para obter o mapa topológico, detalhado na próxima seção. E. Mapas Topológicos Os vetores extraídos pelo SIFT são utilizados para compor o mapa topológico obtido pelo uso de mapas autoorganizáveis baseados em redes neurais de Kohonen [11] e Estruturas Celulares Crescentes [7]. O Mapa de Kohonen é um tipo de rede neural artificial treinada através de aprendizado não supervisionado. Um mapa de pequena dimensão, normalmente de duas, discretiza o espaço de entrada das amostras de treinamento, tentando preservar as propriedades topológicas do mesmo. A estrutura de uma rede de Kohonen consiste de componentes chamadas nodos ou neurônios. Associado a cada nodo há um vetor de pesos da mesma dimensão dos vetores dos dados de entrada e uma posição no espaço. Os nodos são conectados por linhas, resultando em um grid 2D. A atual proposta do projeto opera no espaço de características invariantes à escala ao invés do espaço da imagem. Durante o processo de navegação, vetores de características são apresentadas aos mapas auto-organizáveis. O algoritmo de aprendizagem é baseado no conceito de aprendizado de vizinho mais próximo (nearest-neighbor). Quando uma nova entrada é obtida, o mapa topológico determina o vetor de características do nodo de referencia que melhor corresponde ao vetor de entrada. Como o sistema usa diversos vetores de características associados a cada imagem, o algoritmo de nearest-neighbor é aplicado a cada vetor separadamente. Os resultados deste algoritmo são então combinados com um esquema simples de votação unânime. Nodos podem ser criados ou deletados durante o processo de aprendizado. O mapa topológico final permite duas possibilidades de navegação: através de posições alvo ou através de metas visuais. Da posição corrente, algoritmos de busca em grafo, [6] ou A algoritmo [5] podem ser usados para achar o caminho ideal até o ponto desejado. III. IMPLEMENTAÇÃO DO SISTEMA,TESTES E RESULTADOS Para validar este trabalho, realizou-se testes com dois tipos de robôs, um subaquático e um capaz de mover-se no interior de um duto. Primeiramente, é apresentado na figura 3 o robô subaquático. Este é equipado com uma câmera de vídeo Tritech Typhoon Colour Underwater, um sonar Miniking e um conjunto de sensores (altímetros e acelerômetros) [4]. O sistema visual foi testado em um desktop Intel core 2 Quad Q6600, com 2 Gb of RAM. A câmera é padrão NTSC

Fig. 3. ROVFURGII em campo de teste. Distorção 1 2 3 4 5 Distância da Fonte de Luz(m) 0.2 0.22 0.25 0.25 0.3 Valor de Atenuação(%) 0.05 0.05 0.06 0.05 0.05 Ruído gaussiano(σ) 2 2 2 4 4 Mínimo Nível de Cinza 20 30 20 20 20 Número de Flocos de Neve Marinha 30 30 30 30 30 TABLE I CARACTERÍSTICAS SUBMARINAS PARA CADA DISTORÇÃO USADA NOS TESTES. usando 320x240 pixels a uma taxa máxima de 29.97 frames por segundo. Diferenças de características submarinas foram aplicadas as imagens, como a turbidez, neve marinha, iluminação nãolinear, e outros, simulando diferentes condições subaquática. A Tabela I mostra os recursos aplicados. A. O método em diferentes características subaquática O sistema visual foi testado em cinco diferentes sistemas submarinos, o correspondente a cada uma (filtro i) é apresentado na tabela I. A figura 4 enumera a detecção e correspondência de pontos chave obtidos em uma navegação visual. Apesar de o número de pontos e de correlações diminuir de qualidade por causa da perda de condições subaquática, ainda é possível localizar o robô, de acordo com a figura 5. Nesta figura, o movimento referencial é representado em azul, executado por um braço robótico composto por um atuador harmonic drive acoplado com um odômetro fornecendo leituras em cada 0,000651 segundos, com uma câmera acoplada a este. É possível ver que a abordagem proposta é robusta a ambientes subaquáticos mutáveis. B. Localização Online do Robô Alguns testes foram realizados para comparar a desempenho do algoritmo SIFT frente a um algoritmo muito utilizado para localização robótica em ambiente subaquático, o KLT [14] [19]. Ele foi proposto por Lucas e Kanade [13], sendo melhorado, posteriormente [18] [17]. Para os testes com KLT foi utilizado a implementação de Birchfield [1], com algumas modificações, como a busca por pontos a cada 5 imagens. Visto que a KLT é um método que utiliza fluxo ótico para procurar pontos em uma janela de busca, assim, Fig. 4. Número de pontos chave e correlações verdadeira em um movimento de um braço robótico. Fig. 5. Posição determinada por odometria e pelo sistema visual com e sem distorção. buscando pontos apenas no início do processo, depois apenas localiza estes pontos nas imagens consecutivas. A figura 6 mostra os resultados de performance usando os métodos SIFT e KLT. O SIFT obteve uma taxa média de 4.4 fps sobre as imagens originais, sem distorção, e uma taxa de 10.5 fps com o uso do filtro 5, com a pior distorção aplicada. O KLT apresentou maiores médias, 13.2 fps and 13.08 fps, respectivamente. Note que SIFT teve piores tempos de processamento em imagens de alta qualidade, porque teve um maior número de pontos detectados e conseqüentemente um maior número de descritores a ser processado. O KLT, ao invés disso, manteve um tempo quase constante de processamento. No entanto, devido à lenta dinâmica associada ao movimento de veículos submarinos, os dois métodos podem ser aplicados.

Os resultados relacionados a localização de robôs usando SIFT foram considerados satisfatórios, mesmo em ambientes com extrema distorção (filtro 5). De outra forma, KLT obteve resultados insatisfatórios em ambos os casos, uma vez que o robô é muito suscetível a variações de profundidade ou de escala na imagem, o que ocorre constantemente no movimento de AUV s (Autonomous Underwater Vehicle - Veículo Autônomo Subaquático). Fig. 7. Localização com translação e movimento de escala com e sem distorção. Fig. 6. Localização real de um robô em um sistema online com e sem distorção. C. Robustez a escala Testes foram realizados para estimar a robustez do sistema proposto a súbitas variações de escala. Neste caso, o movimento de translação com zoom constante foi realizado com a câmera para simular um movimento do robô em condições críticas. A figura 7 mostra o deslocamento do SIFT x KLT medidos a partir do centro de captura dos frames. O desempenho do SIFT é considerado satisfatório, mesmo em condições aquáticas críticas. Considerando-se o uso de alguns filtros em condições extremas, o SIFT é superior ao KLT, embora ele mostre a inexistência do movimento no eixo Y. Repare que, devido à escala tratar variação, o desempenho do SIFT é muito melhor do que o KLT. Durante os ensaios, o SIFT demonstrou uma taxa média de mais de 6,22 fps sobre as imagens originais capturadas pela câmera e uma taxa de 7,31 fps utilizando o filtro 1 e 10.24 fps usando o filtro 5. O KLT mostrou 12.5, 10.2 e 11.84 fps, respectivamente. D. Mapas Topológicos Testes para validação do sistema de mapeamento foram realizado, utilizando as imagens capturadas pelo veículo subaquático, gerando assim o gráfico mostrado na figura 8, permitindo assim a navegação do veículo, tanto pela determinação de uma posição objetivo quanto a partir de um local(imagem) objetivo. Tendo assim um sistema capaz de realizar SLAM e permitir a navegação em online. Por último, foram realizados testes no sistema de localização de uma robô para inspeção de linhas subterrâneas de distribuição de energia. Este robô desloca-se no interior de um duto junto a cabos de energia. Para validar o sistema de localização do robô, foi acoplada uma câmera de vídeo Samsung SC-D364 a base do robô e gravado um deslocamento linear de 96 centímetros e um tempo de 38 segundos no interior do duto. O sistema visual foi testado em um desktop Intel core 2 Quad Q6600, com 2 Gb of RAM. A câmera é padrão NTSC usando 320x240 pixels a uma taxa máxima de 29.97 frames por segundo, da mesma forma do teste anterior. O resultado apresentado pelo sistema de visão é demonstrado pela figura??. A linha verde desta figura representa o movimento principal, usado como comparação para a distância previamente conhecida. Foi encontrado um erro de

Fig. 8. Mapa topológico gerado pelo ROVFURGII. aproximadamente 2 centímetros entre o valor real e o valor retornado pelo SIFT. O outro movimento, representado pela linha azul, mostra uma pequena rotação no interior do duto, o qual será desprezada. Estes valores foram ao encontro do esperado, apresentando um gráfico linear. Assim o sistema de visão deste robô é capaz de auxiliar na navegação, uma vez que fornece dados de posição, tempo e, conseqüentemente, velocidade. devido a sua invariância a escala e rotação, além de parcialmente invariante a condições de iluminação e transformações perspectivas. Também, foram realizados testes em um veículo projetado para deslocar-se no interior de um duto. Neste caso, avaliou-se dados de odometria comprovando ser uma alternativa à odômetros acoplados em rodas, visto que estes podem fornecer dados inconsistentes devido a derrapagens. A correlação dos pontos de interesse provido pelo SIFT foi satisfatória, apesar de, na presença de muitas outliers (falsas correlações). A proposta de utilização da matriz fundamental estimada em formas sólidas, a fim de remover outliers através do algoritmo RANSAC e LMedS mostraram bons resultados. O mapeamento topológico baseado nas redes de Kohonen e nas GCS, apesar de pouco difundido, mostrou potencial para aplicações de SLAM subaquático utilizando informação visual, sendo robusto a imprecisões sensoriais além de apresentar baixo custo computacional. Como trabalhos futuros propõe-se a implementação do sistema em hardware embarcado. Também a utilização da informação de escala fornecida pelo SIFT, que juntamente com a informação do altímetro, possibilitaria a determinação do movimento em profundidade do veículo. O uso de visão estereoscópica também é uma possibilidade, fornecendo assim, diretamente, a profundidade do veiculo. REFERENCES Fig. 9. Sistema de localização visual para um robô de inspeção subterrânea. IV. CONCLUSÃO O trabalho apresentou uma nova abordagem para localização e mapeamento simultâneo (SLAM) para robôs autônomos, utilizando apenas a informação visual online. O uso de visão computacional como fonte sensorial mostrouse uma solução de baixo custo, com bom desempenho e robusta. Tal sistema pode ser utilizado em tarefas de inspeção autônomas ou no auxílio ao controle em malha fechada de robôs, no caso de existir um operador remoto. Diversos testes foram realizados com diferentes características subaquáticas. A efetividade da nossa proposta foi validada em um conjunto de cenários reais, com diferentes níveis de turbidez, neve marinha, iluminação não-uniforme, ruído, entre outros. Os resultados mostraram a vantagem de utilizar SIFT, em relação a outros métodos como o KLT, [1] Stan Birchfield. Klt 1.3.4 : A c implementation of klt tracker. http://www.ces.clemson.edu/ stb/klt/, 2007. [Last Acessed in February, 2008]. [2] O. Booij, B. Terwijn, Z. Zivkovic, and B. Krose. Navigation using an appearance based topological map. In IEEE International Conference on Robotics and Automation, pages 3927 3932, April 2007. [3] Matthew Brown and David Lowe. Invariant features from interest point groups. In British Machine Vision Conference, pages 656 665, Cardiff, Wales, 2002. [4] Mario Centeno. Rovfurg-ii: Projeto e construção de um veículo subaquático não tripulado de baixo custo. Master s thesis, Engenharia Oceânica - FURG, 2007. [5] Rina Dechter and Judea Pearl. Generalized best-first search strategies and the optimality af a*. Journal of the Association for Computing Machinery, 32(3):505 536, July 1985. [6] Edsger W. Dijkstra. A note on two problems in connexion with graphs. Numerische Mathematik, 1:269 271, 1959. [7] Bernd Fritzke. Growing cell structures - a self-organizing network for unsupervised and supervised learning. Technical report, University of California - Berkeley, International Computer Science Institute, May 1993. [8] Rafael Garcia, Xavier Cufi, and Marc Carreras. Estimating the motion of an underwater robot from a monocular image sequence. In IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 3, pages 1682 1687, 2001. [9] N. Gracias, S. Van der Zwaan, A. Bernardino, and J. Santos-Vitor. Results on underwater mosaic-based navigation. In IEEE Oceans Conference, volume 3, pages 1588 1594, 10 2002. [10] Nuno Gracias and Jose Santos-Victor. Underwater video mosaics as visual navigation maps. Computer Vision and Image Understanding, 79(1):66 91, July 2000. [11] Teuvo Kohonen. Self-Organizing Maps. Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2001. [12] David Lowe. Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60(2):91 110, 2004. [13] Bruce D. Lucas and Takeo Kanade. An iterative image registration technique with an application to stereo vision. In International Joint Conferences on Artificial Intelligence, pages 674 679, 1981. [14] K. Plakas and E. Trucco. Developing a real-time, robust, video tracker. In MTS/IEEE OCEANS Conference and Exhibition, volume 2, pages 1345 1352, 2000.

[15] Stephen Se, David Lowe, and James Little. Mobile robot localization and mapping with uncertainty using scale-invariant visual landmarks. The International Journal of Robotics Research, 21(8):735 758, 2002. [16] Stephen Se, David Lowe, and James Little. Vision-based global localization and mapping for mobile robots. IEEE Transactions on Robotics, 21(3):364 375, June 2005. [17] Jianbo Shi and Carlo Tomasi. Good features to track. In IEEE Conference on Computer Vision and Pattern Recognition, pages 593 600, 1994. [18] Carlos Tomasi and Takeo Kanade. Detection and tracking of point features. Technical report, Carnegie Mellon University, April 1991. [19] T. Tommasini, A. Fusiello, V. Roberto, and E. Trucco. Robust feature tracking in underwater video sequences. In IEEE OCEANS Conference and Exhibition, volume 1, pages 46 50, 1998. [20] Xun Xu and Shahriar Negahdaripour. Vision-based motion sensing for underwater navigation and mosaicing of ocean floor images. In MTS/IEEE OCEANS Conference and Exhibition, volume 2, pages 1412 1417, October 1997.