Visão Computacional
1.  Representação de 
     imagens
2.  Filtragem de imagens
3.  Detecção de Bordas
4.  Segmentação Simples
5.  Crescimento de Regiões
6.  Segmentação com
     Filtros
7.  Segmentação a Cores
8.  Análise de Texturas
9.  Análise de Texturas
    Multiescalar
10. Redes Neurais
11. Morfologia Matemática
12. Convolução
13. Esqueletonização
14. Técnicas Estatísticas
15. Fractais
16. Reconhecimento de
      Formas
17. Representação de
      Objetos
18. Quadtrees e Octrees
19. Visão Estereo
20. Inteligência Artificial
21. Controle de qualidade
22. Robótica
23. Medicina
24. Sensoriamento remoto

Prof. Aldo von Wangenheim 
Currículo...
Publicações
Pesquisa
Projetos
Ensino de Graduação
Ensino de Pós Graduação 
Cursos

Você lê?

Seminário Visão Computacional - CPGCC/UFSC - 2001.2

Uma Rede Neural Para Reconhecimento Visual e Navegação Autonoma em Ambientes Desconhecidos

<S. Taraglio, UM. Zanela, M. Salerno, F. Sargeni, V. Bonaiuto>
<Artigo Original>


1. Introdução

A navegação autônoma requer informação tridimensional sobre o ambiente para evitar colisões com objetos em movimento ou com os obstáculos. Este trabalho apresenta um algoritmo de visão estéreo, pioneiro na área da robótica que usa uma arquitetura de redes neurais artificiais para recuperar as três informações dimensionais do ambiente, baseado no processo de relaxamento de energia espontânea de uma rede neural celular (CNN).

A CNN são circuitos analógicos capazes processar sinais em tempo real. O alto processamento paralelo analógico processa a uma taxa e velocidade de convergência que torna o paradigma de CNN realmente atrativo para problemas onde são necessárias respostas em tempo real para estímulos externos.
 

2. Aproximação de CNN Para Visão Estéreo e Reconstrução de Volumes

De um par de imagens estéreo é possível recuperar informações de profundidade, pois determinado ponto no espaço é visto de pontos de vista ligeiramente diferentes nas duas imagens. O processo de juntar os pontos conjugados pode ser classificado em dois tipos principais: baseado em características (contornos, extremidades, etc) ou baseado em área (correlação das vizinhaças).

As Redes de Neurais Celulares caracterizam o duplo aspecto, das redes neurais e do automato celular. A estabilidade de uma CNN é garantida pela existência de uma função de Lyapunov. Esta função pode ser interpretada como a energia interna da CNN.

Sendo que a distância seja conhecida, por uma simples geometria, é possível reconstruir todas as coordenadas dos pixels visíveis da imagem e navegar. O modo mais simples para representar esta informação sobre o ambiente é dividir as três representações dimensionais dos dados para obter um mapa dos ambientes, como visto pelas câmeras




Figure 1. A imagem de contribuição, o mapa de disparidade e o mapa de chão obtido pelo Estéreo-CNN.

Pode haver aproximações diferentes para recuperar o mapa de imagens de video, neste trabalho, entretanto, o foco primário é a demonstração da usabilidade da CNN para a navegação autônoma, esta também é a razão para a utilização da reconstrução ambiente, enquanto sendo este a produção natural do algoritmo de CNN Estéreo a nenhum custo  computacional extra. Além da possibilidade para utilizar uma reconstrução tri-dimensional do ambiente, pode ser extremamente útil em outros assuntos de robótica, como por exemplo a localização ou reconhecimento de forma.
 

3. Implementação de Hardware

O projeto da placa é baseado no chip original, assim como o processamento da CNN analógica. Quatro deste neurochips são conectados juntos para implementar uma rede de 6x24 células. Além disso, foi usada uma interface PCI, conectada diretamente em um Pentium que é a placa do robô, reduzindo qualquer demora relacionada à transferência de dados. A placa foi equipada com um microcontrolador de 16 bits para controlar todas as operações on-board.

Um controlador PCI assegura uma manipulação notável da interface. Um SRAM de 512x16 Kbytes foi colocado na placa para armazenar as imagens. Além, algum ADC administrará a própria conversão do análogo de input/output voltagens estatais que permitem para a aquisição da produção imagens de tons de cinza. O PC adquirirá as imagens e os armazenará diretamente na SRAM pela interface PCI. O controlador lê os dados no SRAM e alimenta a CNN que faz o processamento analógico. Finalmente, pega os resultados da CNN analógica e calcula a saída de disparidade do mapa.
 

4. O planejamento e O Subsistema de Navegação

Um método seguro e conhecido para juntar leituras de múltiplos sensores em um mapa global do ambiente é por "Grades de Ocupação". Neste trabalho o único sensor usado é um sistema de visão estéreo que é executado durante o movimento do robô. Os dados são analisados e juntados para modelar mapas, obtendo uma representação mais segura do ambiente no qual o robô tem que se mover. O processo de fusão é feito por um parâmetro adicional do mapa de pixel, a confiança de ocupação. Este parâmetro possui na valor inicial de 0.5 e constantemente é atualizado.

O mapa de chão é dividido em um conjunto de células quadradas C(i,j) das dimensões físicas da base de robô. Para cada célula é definido um estado que possui um valor dependente do seu estado de ocupação. Se a célula estiver ocupada, então ela será excluída do caminho-livre.

5. Resultados Experimentais

Os resultados apresentados são relativos a experiências executadas em um ambiente fechado e ao ar livre. A organização global do software do robô é uma arquitetura cliente-servidor e o controle principal é composto de três passos. Captura do estéreograma e processamento neural. Reconstrução tri-dimensional do traçado do chão e planejamento. Movimentação.


Figure 2. Cálculo  do estado da cela genérica C(i,j).



Figure 3. Os mapas de ocupação obtidos com os dados de Figura 1.




Figure 4.  Experiência ao ar livre. Imagem de entrada, mapa de disparidade, mapa de chão.

Na experiência do corredor, é calculada a largura comum do corredor como 182 cm, enquanto a medida atual é 190 cm. O obstáculo estava a 363 cm com uma largura de 48 cm, a medida atual é 345 cm com uma largura de 45 cm. O erro de percentual é de cerca de 4%. Nas experiências de ao ar livre preliminares o erro foi maior, da ordem de 7%, isto é  devido aos dados de entrada serem mais ruidosos.

6. Conclusões

Foi apresentado um sensor complexo baseado no controle em que o sensor usado é um par de câmeras que provêem um stereogram para um sistema de visão estéreo baseado em uma rede de neural celular. As informações são usadas para criar uma representação do ambiente na qual o robô se movimenta. São detectados obstáculos e a estrutura arquitetônica do ambiente e um caminho livre para movimentar-se.

Os resultados apresentados foram obtidos com um simulador digital uma rede de neural, mas, uma customização em hardware de sistemas de CNN permitirão uma versão do sistema em tempo real. Foi demonstrada a usabilidade do paradigma de CNN em aplicações de robótica.
 
 
 
Contato:
Tel.: +55-48-331 7552/9498
FAX: +55-48-331-9770
awangenh@inf.ufsc.br