• Nenhum resultado encontrado

Utilização de Modelos de Redes Neurais Associados a Imagens para Navegação de Robôs Móveis

N/A
N/A
Protected

Academic year: 2021

Share "Utilização de Modelos de Redes Neurais Associados a Imagens para Navegação de Robôs Móveis"

Copied!
12
0
0

Texto

(1)

Utilização de Modelos de Redes Neurais Associados a Imagens

para Navegação de Robôs Móveis

ANA CAROLINA LORENA1

ROSELI APARECIDA FRANCELIN ROMERO (ORIENTADORA)1

1

USP – Universidade de São Paulo

ICMC - Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Cx. Postal 668 – CEP 13560-970 São Carlos (SP)

{aclorena, rafrance}@icmc.sc.usp.br

Resumo: Neste trabalho a utilização de redes neurais artificiais na orientação da navegação de um robô móvel por ambientes delimitados é investigada. Para interação do robô com o ambiente, foram utilizadas informações visuais, captadas por uma câmera. A rede neural é responsável por interpretar as imagens adquiridas em possíveis direções a serem fornecidas ao robô. O foco deste artigo está na descrição da modelagem desse módulo neural. Muitos conceitos para realização desta proposta de pesquisa estão sendo estendidos do projeto ALVINN (Autonomous Land Vehicle

In a Neural Network), em que uma rede neural relativamente simples é utilizada no fornecimento

de direções a um automóvel à medida que este se locomove por rodovias. Palavras-chave: navegação, imagens, robôs móveis, redes neurais artificiais.

1 Introdução

A área de Robótica tem emergido consideravelmente no decorrer dos últimos anos. Diversas contribuições vêm sendo obtidas através da utilização de Sistemas Robóticos. Pode-se citar neste contexto o uso de robôs na reali-zação de tarefas que envolvem riscos aos humanos, tal como na exploração de locais potencialmente perigosos.

Neste trabalho são descritos os passos realizados rumo à implementação de um sistema para o controle da na-vegação de robôs móveis em um ambiente delimitado por faixas uniformemente espaçadas. Este tipo de ambien-te é encontrado em aplicações de robôs móveis em indústrias, em que comumenambien-te se delimita os espaços a serem percorridos pelo robô através de faixas no chão de fábrica. Portanto, a obtenção de um sistema autônomo para realização deste tipo de tarefa torna-se bastante interessante.

A arquitetura do sistema proposto se baseia na utilização de informações visuais para a orientação do robô móvel. O robô utilizado nos experimentos descritos foi um Pioneer I (Figura 1), da companhia Activemedia, per-tencente ao Laboratório de Inteligência Computacional (LABIC) do ICMC. As informações sensoriais captadas devem ser passadas a uma rede neural artificial (RNA), treinada de forma a indicar o próximo movimento do robô para que ele se mantenha nos limites da pista delineada. A RNA age, portanto, como uma estrutura de tomada de decisão a respeito da ação apropriada a ser realizada pelo robô em sua tarefa de navegação. Estas decisões devem então ser interpretadas por um módulo de controle, o qual apresenta os comandos que efetivamente levam o Pioneer a executar as ações recomendadas.

Figura 1: O robô móvel Pioneer I

Algumas unidades que compõem a arquitetura do sistema proposto já foram implementadas. Estas envolvem desde a captação de informações sensoriais, à edição e pré-processamento destas para treinamento da RNA. Os principais resultados obtidos no processo de modelagem da estrutura neural são descritos neste trabalho. É objeto

(2)

de futuras pesquisas a efetiva implantação desse sistema, que envolve a implementação do módulo de controle do robô e como etapa final a interação entre cada uma das unidades citadas.

A arquitetura descrita se baseia na utilizada no sistema ALVINN (Autonomous Land Vehicle In a Neural

Network) [Pomerleau, 1992][Pomerleau, 1995], em que uma RNA é utilizada na geração de comandos de

dire-ção a um automóvel, e em sistemas semelhantes aplicados a robôs móveis [Krabbes, 1997][Meng, 1993][Waldherr, 2000]. O sistema ALVINN é amplamente referenciado e demonstra a eficácia do uso de RNAs e imagens na navegação em ambientes delimitados (no caso, em rodovias).

Este artigo está organizado como segue. Inicialmente, a Seção 2 conceitua as RNAs de forma breve, sendo focado o tipo de rede multicamadas de neurônios (MLP1), modelo utilizado neste trabalho. A Seção 3 aborda o uso de RNAs em sistemas de controle, com um enfoque particular na área de Robótica. A seguir, a Seção 4 apresenta uma breve descrição da pesquisa sendo conduzida. A Seção 5 apresenta então a modelagem da RNA para o sistema proposto, bem como os experimentos conduzidos nesse sentido. Na Seção 6 os resultados obtidos neste processo são analisados e discutidos. Finalmente, a Seção 7 conclui o artigo.

2 As Redes Neurais Artificiais

Na busca pela construção de máquinas inteligentes (ou com comportamento inteligente) um modelo que ocorre naturalmente é o do cérebro humano [Rich, 1994]. Seguindo este ponto de vista várias técnicas que tentam simular de algum modo o raciocínio ou o comportamento do cérebro humano têm sido propostas. Entre elas se encontram as redes neurais artificiais (RNAs). Uma RNA pode ser definida como um sistema computacional inspirado na estrutura, método de processamento e habilidade de aprendizado de um “cérebro biológico” [Cybenko, 1996]. Seu funcionamento é espelhado, portanto, nas redes biológicas (presentes no cérebro), e suas principais características são [Rich, 1994]:

• Possuem vários elementos de processamento simples, simulando os neurônios biológicos. Estes elemen-tos são denominados nós da RNA.

• Cada elemento de processamento encontra-se conectado a um ou vários outros por meio de conexões que procuram simular as sinapses biológicas. Estas conexões possuem pesos, que codificam o conhecimento adquirido pela RNA [Haykin, 1999].

• Sendo modeladas sobre uma estrutura massivamente paralela, o cérebro, possuem uma estrutura compu-tacional paralela [Russel, 1990].

• A forma como o conhecimento é adquirido e armazenado na RNA se dá por um processo de aprendizado (também denominado treinamento).

Nos experimentos realizados neste trabalho, os quais são descritos de forma mais detalhada na Seção 5, utili-zou-se uma arquitetura de rede MLP (Figura 2). As redes MLP são um tipo de rede feedforward (sinal se propa-ga somente em um sentido, não havendo realimentação da rede com novos sinais produzidos) e apresentam as seguintes características [Haykin, 1999]:

• Os neurônios possuem uma função de ativação2 não linear. Geralmente é utilizada a função Sigmóide, que produz valores no intervalo (0,1) e é definida pela Equação (1).

( )

(

a v

)

v ⋅ − + = exp 1 1 ϕ (1) em que a é o grau de inclinação da Sigmóide.

• Possuem uma ou mais camadas de neurônios intermediários (entre a entrada e a camada de saída). • Possuem um alto grau de conectividade entre seus nós.

As redes MLP têm sido aplicadas com sucesso na solução de diversos problemas, alguns bastante complexos. Exemplos incluem a identificação de objetos 3D em imagens [Intrator, 1993], o reconhecimento de sons [Robinson, 1996], a Bioinformática [Futschik, 1999] e a Robótica [Kung, 1989].

Para seu treinamento em geral é utilizado o algoritmo Back-Propagation (BP) [Rumelhart, 1986]. O BP realiza mudanças nos pesos da rede de forma a minimizar o erro quadrático cometido pela mesma na classificação dos dados. Os ajustes nestes parâmetros são realizados a partir da propagação do erro obtido na última camada da RNA.

____________________________

1

Do inglês Multilayer Perceptrons. 2

(3)

Figura 2: Exemplo de uma rede MLP de uma camada intermediária

Apesar do algoritmo BP ser o mais utilizado, o treinamento através do mesmo é em geral bastante lento. Além disso, técnicas de otimização baseadas no gradiente, como o BP, são limitadas pelo fato de realizarem uma busca por uma solução local, alcançando tipicamente a melhor solução na região do ponto em que começam a busca.

Para minimizar estes problemas, uma solução comumente utilizada é a adição de um termo denominado

mo-mentum na atualização dos pesos. Com isto é evitada a ocorrência de oscilações durante o processo de

aprendiza-do. Utilizou-se neste trabalho o algoritmo BP com termo momentum. A seguir é ilustrado como as RNAs são utilizadas em sistemas de controle. 3 O Uso de RNAs em Sistemas de Controle

A utilização de RNAs em sistemas de controle tem sido bastante explorada. Muitas aplicações de sucesso foram obtidas através da utilização de tais estruturas nesta área. A característica mais atrativa em seu uso está em sua capacidade de aprendizado, o que a torna capaz de lidar com novas situações de forma segura e robusta.

Na tarefa de controle, as RNAs são utilizadas na geração de comandos a uma planta, a partir de informações provenientes de algum tipo de sensor [Sartori, 1992]. Por planta de controle entende-se o item a ser controlado, que pode ser desde um robô fixo (como braços mecânicos em indústrias) a um automóvel (como no caso do sis-tema ALVINN [Pomerleau, 1992]).

Diversos trabalhos presentes na literatura utilizam RNAs dessa forma. Um sistema de grande importância nesta área é o ALVINN (Autonomous Land Vehicle In a Neural Network) [Pomerleau, 1992][Pomerleau, 1995]. Diversas extensões dos conceitos empregados neste trabalho foram aplicados à navegação de robôs móveis. Uma proposta neste sentido foi desenvolvida por Krabbes et al. [Krabbes, 1997]. Estes autores estenderam diversos conceitos do ALVINN para a navegação de um robô em miniatura por um labirinto. Outro sistema para navega-ção de um robô móvel cujos conceitos derivam diretamente do projeto ALVINN é o CONNER (Computer

Operated Neural Network Enhanced Robot), projetado pelo estudante David Fry [Fry, 1999].

Waldherr et al. utilizaram em [Waldherr, 2000] uma RNA para a implementação de uma interface baseada em gestos para o controle de um robô móvel. Graças ao sistema desenvolvido, o robô se torna capaz de obedecer a comandos apresentados por uma pessoa através de gestos, tais como de parar ou seguir.

Em 1993, Meng e Kak apresentaram uma abordagem envolvendo o uso de RNAs, denominada NEURO-NAV [Meng, 1993], em que um robô deveria ser capaz de se locomover em corredores ao redor dos laboratórios de uma Universidade. Para realização desta tarefa um conjunto de RNAs foi treinado para lidar com situações específicas, tais como seguir corredores, identificar obstáculos, virar em junções e detectar landmarks (marcos como portas, fins de corredores, etc.).

Através dos exemplos apresentados verifica-se a eficácia da utilização das RNAs na tarefa de controle. Todos estes trabalhos utilizaram em suas soluções uma arquitetura de RNA MLP treinada segundo o algoritmo BP, a exemplo do trabalho conduzido.

4 Descrição da Pesquisa

Iniciando a descrição da pesquisa realizada, a Figura 3 ilustra alguns dos ambientes construídos durante a realização deste trabalho.

Camada de Saída Camada Intermediária Camada de Entrada

(4)

Figura 3: Alguns ambientes construídos durante o projeto

Como já descrito, o controle autônomo do robô por estes ambientes deve ser realizado com o auxílio de uma MLP. Esta abordagem se assemelha à do sistema ALVINN e suas extensões. Uma ilustração mais detalhada da arquitetura utilizada no trabalho sendo conduzido pode ser visualizada na Figura 4.

Figura 4: Arquitetura do sistema proposto

Os módulos que constituem a arquitetura da Figura 4 têm as seguintes funcionalidades:

Percepção do ambiente: modo como são captadas as informações sensoriais do ambiente em que o robô

se encontra, assim como os processamentos realizados antes que estas sejam submetidas à RNA.

Rede Neural Artificial: recebe as informações sensoriais processadas e gera respostas na forma de ações

(direções) a serem tomadas pelo robô na navegação.

Comandos: representa o módulo em que as direções fornecidas pela RNA são interpretadas em

coman-dos ao robô móvel Pioneer.

A forma de obtenção da RNA é descrita em maiores detalhes na próxima Seção. 5 O Módulo Neural

A RNA constitui o módulo principal do sistema sendo projetado. É ela que recebe os estímulos sensoriais pro-vindos do ambiente, representados pelas imagens, e deve obter informações a partir dos mesmos para o controle do robô.

Antes das imagens captadas no meio em que o robô se encontra serem submetidas à RNA, elas devem passar por uma etapa de pré-processamento, descrita a seguir.

5.1 Pré-Processamento dos Dados3

Os seguintes procedimentos são aplicados às imagens captadas:

Redução: as imagens estão sendo captadas a uma resolução de 320 x 240 pixels e reduzidas para o

tama-nho de 32 x 24 pixels. Cada pixel da imagem é uma entrada da RNA e um tamatama-nho muito grande impli-caria em demasiadas entradas à mesma, o que resultaria em tempos muito grandes de resposta (e princi-palmente de treinamento da RNA).

Normalização: as imagens devem ser normalizadas de forma que seus pixels assumam valores

pertencen-tes estritamente ao intervalo [0,1].

Na realização do primeiro procedimento mencionado, utilizou-se um software denominado RobotVision CAD [Suvan, 2001], especialmente adequado à realização de processamentos de imagens para utilização em sistemas robóticos. A etapa seguinte exigiu o desenvolvimento de uma rotina que realizasse tal tarefa.

Para facilitar a realização dos processamentos indicados, as imagens foram capturadas em níveis de cinza. No caso de imagens coloridas, é necessário tratar-se os canais R (vermelho), G (verde) e B (azul) de cada pixel individualmente. Em imagens em nível de cinza, por sua vez, os valores desses canais são idênticos, podendo-se então utilizar somente um deles.

A Figura 5 apresenta à esquerda uma imagem percebida sob o “ponto de vista” do robô e o resultado do pré-processamento aplicado sobre a mesma, à direita. Embora a redução das imagens por um fator de 10 gere perdas, essas não se revelaram significativas. Este processo levou inclusive à vantagem de “mascarar” as deformações ____________________________

3

A etapa de pré-processamento faz parte do módulo de percepção do ambiente. Sua apresentação na descrição do módulo neural é porém necessária, pois a aplicação da mesma visa melhorar o desempenho da RNA, assim como acelerar seu treinamento.

Percepção do ambiente Rede Neural Artificial Comandos Direções Informações Sensoriais

(5)

Figura 5: Imagem captada sob o “ponto de vista” do robô e o respectivo resultado das etapas de pré-processamento descritas sobre a mesma

formadas pelos tacos do piso. Para melhor visualização, a imagem original foi diminuída e a reduzida, ampliada, pois seu tamanho é pequeno (32 x 24 bits).

Após a realização dos procedimentos mencionados, as imagens captadas foram utilizadas no treinamento de uma RNA. Os resultados obtidos nesse processo não se mostraram satisfatórios, e diversas topologias de rede não obtiveram uma boa generalização4 mesmo com uma quantidade considerável de exemplos (mais de 1000). Foi identificada então a possibilidade que o excesso de ruídos nas imagens poderia ser a causa de tal falha. Os ruídos são representados por manchas brancas (da mesma cor, portanto, das pistas) de luminosidade nas fotos, correspondentes a reflexos de luz no solo do ambiente, conforme pode ser visualizado nas imagens da Figura 5.

Na tentativa de contornar este problema, realizou-se um passo adicional de análise nas imagens, através da técnica de detecção de bordas. Bordas são definidas como regiões nas imagens que possuem um alto contraste em termos de intensidade, estando presentes geralmente nas fronteiras de objetos [Fisher, 2001]. Existem diver-sas técnicas de detecção de fronteiras, entre elas a Prewitt, Sobel, Canny e Kirsch [Costa, 1998]. Estas técnicas diferem basicamente pela forma como é realizada a segmentação da imagem nesta detecção.

A Figura 6 ilustra os resultados obtidos após a aplicação deste processo em duas imagens captadas. Utilizou-se neste caso o método de Kirsch. Optou-Utilizou-se por este método por Utilizou-seus resultados Utilizou-se demonstrarem mais próximos dos objetivos almejados. Detalhes sobre o funcionamento desta técnica podem ser obtidos em [Costa, 1998].

Figura 6: Resultados obtidos através da aplicação do algoritmo de detecção de bordas Kirsch a duas imagens captadas durante o projeto

Esta fase de análise das imagens também foi realizada com a utilização do software RobotVision CAD [Suvan, 2001]. Ela se situa dentro do ciclo de processamentos já apresentados e é realizada antes da normaliza-ção das imagens. Como as imagens neste caso possuem pixels nos tons preto e branco somente, a normalizanormaliza-ção foi adaptada de forma a codificar os pixels na cor branca com o valor 0.1 e os na preta com 0.9. Escolheu-se o valor maior para a cor preta por esta ser a tonalidade que representa as informações mais significativas nas no-vas imagens obtidas (as bordas das pistas).

Além de mascarar os reflexos de luminosidade no solo do ambiente, verifica-se que utilização de um proces-so de detecção de bordas provê um maior destaque à informação primordial presente nas imagens utilizadas nes-te trabalho, as faixas delimitadoras no solo. Os resultados da aplicação desnes-te método são apresentados na Seção 5.5.

5.2 Topologias de RNAs testadas

Visando analisar a performance obtida através da utilização do método de detecção de bordas, treinou-se redes para o conjunto de imagens obtido sem a realização desta etapa de análise, o qual será referenciado por

“conjun-to de dados original”, e também para os mesmos dados submetidos a essa técnica.

Em ambos os casos, diversas topologias de redes MLP foram testadas, variando-se o número de camadas intermediárias e o número de nós em cada uma delas, conforme descrito na Tabela 1. As redes utilizadas pos- ____________________________

4

A capacidade de generalização de uma RNA é medida pela performance diante de novos exemplos (não utilizados durante o treinamento da mesma).

(6)

suem, porém, as seguintes características em comum:

Utilização de função de ativação do tipo Sigmóide (Equação 1);

• Topologia completamente conectada (os nós de uma camada estão conectados a todos os da camada ime-diatamente anterior);

• A primeira camada é constituída de 768 neurônios, os quais recebem as imagens captadas após terem sido pré-processadas segundo os procedimentos descritos;

• A camada de saída possui oito neurônios, representando as possíveis ações a serem tomadas pelo robô. São elas: virar bruscamente à esquerda ou à direita, virar medianamente à esquerda ou à direita, virar sua-vemente à esquerda ou à direita, seguir em frente e parar. A decisão por um oitavo neurônio indicando a parada do robô pretende lidar com situações em que o mesmo esteja muito afastado do centro da pista e não seja possível realizar uma curva para corrigir este posicionamento sem que se saia da pista ou danifi-que-a. Também estão previstos casos em que o robô se encontra nos limites da pista e não visualiza qual-quer faixa. Estas situações podem ocorrer neste sistema devido à não consideração de erros odométricos5 em seu projeto (este tipo de erro é bastante significativo no ambiente sendo utilizado, pois o solo encon-tra-se bastante acidentado).

Rede N° camadas intermediárias N° entradas N° neurônios 1a camada intermediária N° neurônios 2a camada intermediária N° neurônios camada saída 1 1 768 5 -- 8 2 1 768 50 -- 8 3 1 768 100 -- 8 4 1 768 200 -- 8 5 2 768 50 20 8 6 2 768 100 30 8

Tabela 1: Topologias de RNAs testadas

Para o treinamento das RNAs utilizou-se o algoritmo BP com constante momentum. Sendo o BP pertencen- te ao paradigma de Aprendizado Supervisionado6, foi necessário organizar um esquema para coleta dos dados a serem utilizados no treinamento da rede, assim como um modelo para interpretação das imagens obtidas em di-reções desejadas, o que é apresentado a seguir.

5.3 Coleta de Dados

Na realização da tarefa de seguir rotas delimitadas, um conjunto significativo de exemplos de treinamento deve-ria conter imagens de posicionamentos corretos do robô e a direção a ser seguida de forma a mantê-lo na pista, e também de posições incorretas e direções a tomar para corrigi-las. Para tal foram captadas imagens em diversas disposições do robô no ambiente. Na obtenção das direções a serem tomadas, utilizou-se o modelo Pure Pursuit, a exemplo dos sistemas ALVINN [Pomerleau, 1992] e CONNER [Fry, 1999]. Uma ilustração deste modelo é apresentada na Figura 7.

Na Figura 7, o ponto A representa a posição correta do robô em um determinado instante, ou seja, centraliza-do na pista. Para chegar à posição correta T no próximo instante, é necessário que se realize uma curva à esquer-da de raio rp. Porém, se o robô se encontra afastado da posição correta A de uma distância s e rotacionado de um ângulo θ (ponto B), ele deve realizar uma curva de raio r (direção transformada) para recuperar-se de seu posi-cionamento incorreto. Tem-se então exemplos de comportamentos corretos a serem seguidos pelo robô e tam-bém de como ele deve agir diante de uma eventual falha em seu posicionamento, o que torna o conjunto de trei-namento mais completo.

O raio r que leva o robô da posição B a T pode ser calculado através da Expressão 2. ____________________________

5

Erros odométricos são erros mecânicos do robô que o levam a cometer falhas em sua localização e na realização de comandos em que são fornecidas medidas de distância [Arkin, 1998].

6

No Paradigma de Aprendizado Supervisionado tem-se a figura de um “professor” externo, o qual apresenta um conhecimento do ambiente representado por conjuntos de exemplos na forma de pares entrada/saída.

(7)

Figura 7: Ilustração do Modelo Pure Pursuit, utilizado no cálculo de direções a serem seguidas pelo robô [Pomerleau, 1995] d d l r ⋅ + = 2 2 2 (2) Onde a variável l indica a distância à frente do robô escolhida como ponto final da curva a ser realizada e d representa a distância entre os pontos T e C. O ponto C, por sua vez, é determinado por seguir em frente l metros a partir de B.

No ALVINN, para determinação do valor de l, foram utilizadas informações de tempo e velocidade. Neste projeto a obtenção dessa constante foi adaptada. Utilizou-se o valor de 80 centímetros, baseado na distância em que se inicia a visualização das faixas em alguns posicionamentos da câmera (no pior caso). Desta forma, sempre são consideradas as informações das faixas na determinação de um novo posicionamento.

O valor de d pode ser obtido pela Equação 3.

d =cosθ

(

dp + s +l⋅tanθ

)

(3) A distância dp, por sua vez, pode ser determinada pela Equação 4.

2 2

l r r

dp = pp

(4) No projeto ALVINN, o raio rp era obtido de forma automática, sendo dado pelo raio de direção de uma pes-soa dirigindo, pois o treinamento da RNA se dava por meio da “observação” de uma pespes-soa na direção do veícu-lo.

Neste projeto foi necessário realizar a coleta destes dados de forma manual. Logo, a determinação do raio rp não é automática, devendo-se para isto usar a Equação 2, que exige o conhecimento prévio das variáveis dp e l. Os valores dos diversos dp foram coletados de forma manual e os raios rp puderam então ser determinados. A partir destes, foi possível obter as direções a serem tomadas para o caso em que o robô se encontra posicionado de forma incorreta, através da aplicação das Equações 2 e 3.

Uma vez realizado o processo de coleta de dados e calculados os raios das direções a serem seguidas em cada caso, devem ser tomadas decisões de como estes valores serão interpretados em cada uma das saídas fornecidas pela RNA. Estes pontos são discutidos a seguir.

5.4 Mapeamento dos valores de direção nas saídas da RNA

Como já apresentado, a saída das RNAs treinadas neste trabalho são modeladas através de oito neurônios. As di-reções a serem tomadas a partir das imagens adquiridas durante o processo de coleta de dados, por sua vez, são dadas por valores de raios, em metros, de curvas a serem realizadas. Deve-se, portanto, mapear estes valores em cada uma das classes de saídas da RNA.

Os dados foram classificados da maneira apresentada na Tabela 2. Para obtenção dos valores citados, agru-pou-se os dados e uma média ponderada sobre todos os exemplos presentes em cada classe foi realizada. Estas

Direção Correta

Direção Transformada

(8)

médias representam os raios das curvas utilizadas para representar cada classe, ou seja, das curvas a serem efeti-vamente realizadas pelo robô em cada caso.

Classe Direções segundo Pure Pursuit (metros) Média Ponderada (metros)

Esquerda Brusca [0.8 .. 1.2) 0.9 Esquerda Média [1.2 .. 3.0) 1.7 Esquerda Suave [3.0 .. 9.0) 3 Reto 0 U > 9.0 U < -9.0 0 Direita Suave [- 3.0 .. – 9.0) - 3 Direita Média [- 1.2 .. – 3.0) - 1.7 Direita Brusca [- 0.8 .. – 1.2) - 0.9

Tabela 2: Mapeamento dos valores de curvas obtidos utilizando o modelo Pure Pursit nas saídas da RNA

A determinação de que imagens pertenceriam à classe “parar” foi realizada através de uma simulação do comportamento do robô em determinadas situações. Os valores de curva obtidos encontram-se entre 0.8 e 1 me-tros. Este intervalo também é verificado nas classes de virada brusca e por esse motivo ele foi omitido na Tabela 2. As imagens de parada, porém, são facilmente identificáveis, pois correspondem a situações em que o robô se encontra muito próximo dos limites da pista. Foi verificado que a parada do robô é exigida geralmente nas ima-gens captadas nos ângulos de 60 e 75 graus, e também nos ângulos de 30 e 45 graus quando o robô se encontra transladado do centro da pista.

A seguir os experimentos realizados são descritos, incluindo os resultados obtidos para diversas topologias de RNAs treinadas para realização da tarefa de navegação proposta.

5.5 Experimentos Realizados

Foram treinadas diversas RNAs visando obter uma melhor configuração para o sistema em mãos. As topologias utilizadas foram listadas na Tabela 1. Também se utilizaram diversos valores para as taxas de aprendizado (η) e

momentum (α) no algoritmo BP.

Em primeiro lugar, porém, foi necessário realizar uma divisão nos dados a serem utilizados para treinamento e teste da RNA. Visando estimar a taxa de erro verdadeira7 das redes geradas, utilizou-se o método Random

Subsampling [Bao, 2001].

Segundo este método, o conjunto de dados original é dividido em três subconjuntos: de treinamento, de vali-dação e de teste, em uma proporção de 50%, 25% e 25% respectivamente. O conjunto de treinamento é utilizado para adaptar os pesos da rede. O conjunto de validação é responsável por uma avaliação do desempenho da RNA sendo treinada sobre novos padrões. Ele é submetido à RNA durante o treinamento, não realizando, porém, qualquer alteração nos parâmetros livres da mesma. O terceiro conjunto, de teste, é apresentado à rede após seu treinamento e validação, e avalia a generalidade da mesma. Estes subconjuntos são gerados três vezes, de forma randômica, formando um total de três partições para treinamento, validação e teste. São então gerados classificadores (ou seja, RNAs) para cada uma destas partições. A taxa de erro total é dada pela média das taxas observadas em cada classificador. Deve ser salientado que se procurou manter a mesma proporção de exemplos por classe em cada um dos subconjuntos gerados, para que a RNA não viesse a apresentar resultados tendencio-sos. Estas divisões foram realizadas para o conjunto de imagens original e para os mesmos dados submetidos à detecção de fronteiras.

Na realização de todos os testes envolvendo RNAs, utilizou-se a ferramenta de simulação batchman do SNNS (Stuttgart Neural Network Simulator) [SNNS, 1995]. Este aplicativo permite a fácil construção de diver-sas topologias de RNAs, assim como seu treinamento através de diversos algoritmos. Também são fornecidos meios para análise dos resultados, e a possibilidade de se gerar o código da rede treinada como uma biblioteca C, portável para qualquer programa escrito nesta linguagem. Isto é particularmente atrativo no caso deste projeto, pois os programas para controle do robô móvel Pioneer I devem ser escritos nesta linguagem.

A seguir os resultados alcançados no treinamento de RNAs para cada um dos conjuntos de dados (original e com detecção de bordas) são descritos. Em ambos os casos as topologias testadas são as da Tabela 1, e as taxas de aprendizado η e termo momento α foram variadas segundo os seguintes valores: η = 0.01 e α = 0.01, η = 0.2 e

α = 0.1, e η = 0.5 e α = 0.1. ____________________________

7A taxa de erro verdadeira de um classificador é a cometida para todos os exemplos do domínio em que este deve operar. No mesmo sentido, a taxa de erro aparente é definida como o erro que o classificador comete para os exemplos do conjunto de treinamento.

(9)

Conjunto de dados original. Neste caso os melhores resultados foram obtidos para a rede 4 (de topologia 768 - 200 - 8), com a utilização dos valores de 0.2 para η e 0.1 para α. Essa foi a rede que apresentou o menor erro de validação8. A Tabela 3 lista os erros MSE (Mean Squared Error) obtidos durante o treinamento, validação e teste da rede 4, para cada partição do conjunto de dados. Nesta Tabela também são apresentados uma média destes erros e o desvio padrão das medidas em relação a esta média.

Rede Conjunto Partição 1 Partição 2 Partição 3 Média Desvio-Padrão

Treinamento 0.00991 0.00965 0.00984 0.00980 0.00013

Validação 0.34281 0.32015 0.32649 0.32982 0.01169

4

Teste 0.33429 0.29635 0.36149 0.33071 0.03272

Tabela 3: Erros MSE verificados no treinamento, validação e teste da RNA 4 sobre o conjunto de dados original Analisando a Tabela 3, pode-se observar que os erros obtidos para a validação e teste encontram-se relativa-mente altos, indicando problemas na generalização. Foi identificada então a necessidade de avaliar o comporta-mento da rede escolhida em relação aos erros cometidos durante a classificação. A Tabela 4 apresenta o desempenho geral da rede 4 na classificação dos conjuntos de teste. Os valores indicados constituem uma média dos obtidos durante o teste de cada uma das RNAs geradas para as diferentes partições dos dados. Uma margem aceitável de erros de classificação no teste encontra-se normalmente na faixa de 15 a 20%. Utilizando o teste es-tatístico Z [Box, 1978] para estimar um intervalo de confiança para a média do erro, obtém-se que com 95% de confiabilidade seu valor se encontra no intervalo (21.93 , 21.97)%. Pode ser observado, portanto, que o erro obtido encontra-se um pouco acima do aceitável. Porém, este número é bem próximo e uma análise mais efe-tiva do desempenho da rede seria através do uso desta no sistema de navegação e verificação de sua performance na geração de comandos ao robô.

Média Desvio-padrão

Acertos 206.84 (78.35 %) 5.46 (2.34 %) Erros 57.16 (21.65 %) 5.46 (2.34 %) Desconhecidos 0 (0 %) 0 (0 %)

Tabela 4: Desempenho geral da rede 4 na classificação dos dados pertencentes aos conjuntos de teste (imagens originais) Prosseguindo, as análises aqui indicadas são realizadas para o conjunto de dados submetido à detecção de bordas.

Conjunto de dados após processo de detecção de bordas. Para este conjunto de dados, os melhores resul-tados também foram alcançados com η igual a 0.2 e α igual a 0.1, porém a topologia mais adequada no caso foi a da rede 6 (arquitetura 768 - 100 - 30 - 8). A Tabela 5 lista os erros MSE (Mean Squared Error) obtidos durante o treinamento, validação e teste da RNA 6, para cada partição do conjunto de dados. Nesta tabela também é calculada uma média destes erros e o desvio padrão das medidas em relação a esta média.

Rede Conjunto Partição 1 Partição 2 Partição 3 Média Desvio-Padrão

Treinamento 0.00964 0.00913 0.00989 0.00955 0.00039

Validação 0.27180 0.32328 0.34329 0.31279 0.03688 6

Teste 0.29432 0.39499 0.42368 0.37100 0.06794 Tabela 5: Erros MSE verificados no treinamento, validação e teste da RNA 6

(Tabela 1) sobre o conjunto de dados submetido à detecção de fronteiras

Como no caso do conjunto de dados original, os erros verificados durante a validação e teste encontram-se relativamente altos, indicando problemas de generalização.

Semelhantemente ao realizado para os dados originais, a Tabela 6 apresenta o desempenho geral da rede 6 na classificação dos conjuntos de teste. O intervalo de confiança obtido para a média do erro neste caso foi de (22.62 , 23.24)%. Verifica-se que o desempenho neste caso é um pouco pior que o alcançado pela rede treinada ____________________________

8

Escolhe-se a RNA que possui menor erro na validação por esta taxa indicar um compromisso entre a minimização do erro de treinamento, e a capacidade de generalização da rede.

(10)

sobre o conjunto de dados original. Esta análise é formalizada na próxima Seção.

Média Desvio-padrão

Acertos 203.33 (77.02 %) 7.02 (3.01%) Erros 60.67 (22.98 %) 7.02 (3.01%)

Desconhecidos 0 (0 %) 0 (0 %)

Tabela 6: Desempenho geral da rede 6 na classificação dos dados pertencentes aos conjuntos de teste, no caso das imagens em que foi realizado o processamento de detecção de bordas.

6 Discussão dos Resultados

Verificando o desempenho das RNAs treinadas sobre os conjuntos de dados originais e submetidos à detecção de bordas, pode-se verificar que o processo de detecção não obteve um resultado melhor que o original. Porém, estes valores se encontram aparentemente próximos. Foi realizada então uma análise estatística para compa-ração de dois tratamentos, também segundo o método Z. A estimativa obtida foi que a RNA gerada para o con-junto de dados original é melhor que a treinada sobre os dados em que foi aplicada a detecção de fronteiras, com 95% de confiança. Portanto, a realização desta fase de processamento utilizando o método Kirsch não melhorou a performance da RNA na interpretação das imagens. Outras técnicas mais poderosas podem ser investigadas na tentativa de melhorar os resultados alcançados.

Uma análise mais rigorosa, porém, leva a uma constatação de que mesmo a RNA descrita para os dados ori-ginais possui um desempenho que poderia ser melhorado. É reportado em [Pomerleau, 1992] que o uso de uma representação Gaussiana na obtenção das entradas/saídas da RNA modela mais fielmente o comportamento dese-jado na obtenção de direções. Esta é a solução utilizada no sistema ALVINN e em trabalhos como [Krabbes, 1997] e [Waldherr, 2000]. Neste caso a representação de uma resposta em particular se dá pela ativação de diver-sas unidades em uma forma Gaussiana, com o pico dessa função centrado na direção correta. Uma pequena mu-dança nas imagens gera apenas pequenas modificações na saída. Se o centro se encontrar entre dois valores de resposta, estes são interpolados na produção da saída. Desta forma se obtém um mapeamento suave entre diver-sas direções. Em um mapeamento puramente 1-para-n, como o utilizado neste trabalho, cada neurônio representa uma saída em particular e pequenas mudanças nas imagens acarretam uma grande alteração na saída, o que pode ser a causa do prejuízo verificado no processo de generalização da RNA. A representação Gaussiana também possui a vantagem de representar respostas arbitrárias de direção.

A utilização de uma codificação 1 para n foi motivada pelo sucesso reportado no projeto CONNER, o qual é bastante semelhante ao sistema aqui descrito, através do uso desta forma de saída [Fry, 1999]. O motivo deste sucesso pode ser devido, porém, à utilização de um volume de dados significativamente maior para treinamento da RNA.

Fica como sugestão a ser investigada em trabalhos futuros a utilização de uma representação Gaussiana na codificação das entradas/saídas da RNA para o sistema de navegação descrito neste trabalho.

Outra observação que merece destaque diz respeito ao tamanho das RNAs geradas. No caso das imagens originais, apenas uma camada intermediária foi suficiente para codificar as entradas. Para as imagens de bordas, foram necessárias duas camadas, o que reflete uma dificuldade maior da RNA em extrair informações desses dados.

Além disso, realizou-se uma análise do tempo de resposta de cada um dos modelos de RNA obtidos. No caso das RNAs treinadas sobre os dados originais, o tempo médio de interpretação de imagens é de 35 milésimos de segundos. A segunda RNA processa cada imagem em 25 milésimos de segundos em média. Um tempo menor foi alcançado pela última RNA devido ao fato desta possuir um número menor de neurônios. A etapa de pré-pro-cessamento dos dados leva em média 7 milésimos de segundo para ser executada, sem a realização do processo de detecção de bordas, que é executado em aproximadamente 3 milésimos de segundo. Pode-se verificar que o modelo neural e a etapa de pré-processamento são bastante rápidos, sendo adequados para a aplicação sugerida no trabalho, em que se exige respostas em tempo real.

7 Conclusão

Neste trabalho foram descritos os passos tomados rumo à implementação de uma RNA para um sistema de nave-gação em ambientes delimitados destinado a robôs móveis. A interação com este ambiente é realizada através de um sistema de visão montado no decorrer do projeto. A utilização de imagens se justifica pelo fato de estas pro-verem informações mais efetivas sobre o meio em questão.

(11)

As informações sensoriais são então transmitidas à RNA, responsável por interpretá-las em ações a serem realizadas pelo robô. Entre as ações recomendadas estão a realização de curvas de diferentes graus à direita ou à esquerda (brusca, média e suave), de seguir em frente e de parada. Seguindo estas indicações, o robô deverá na-vegar no ambiente descrito de forma a manter-se nos limites das pistas formadas (e preferencialmente no centro das mesmas). Diversas topologias de redes foram treinadas com este objetivo, e os resultados observados são analisados nas Seções 5 e 6, respectivamente.

Grande parte dos conceitos utilizados na orientação deste trabalho derivam do Projeto ALVINN, em que uma RNA é utilizada na predição de direções a serem tomadas por um veículo em rodovias. Entre eles está a forma de obtenção de exemplos de treinamento para a RNA, a qual foi simplificada para uso neste projeto, e também a forma de mapear as informações visuais obtidas em direções.

Como trabalhos futuros advindos dessa pesquisa, tem-se a sugestão da utilização de outras técnicas de processamento nas imagens e a utilização de uma representação Gaussiana para modelagem das entradas/saídas da RNA. Também devem ser implementados o módulo de controle do robô e a interação entre cada uma das unidades constituintes da arquitetura do sistema proposto.

Finalizando as considerações a respeito do trabalho realizado, alguns benefícios advindos dessa pesquisa po-dem ser apontados. Em primeiro lugar, a investigação do uso de visão em sistemas robóticos foi até então pouco explorada no ICMC, e este trabalho constitui, portanto, uma das tentativas pioneiras neste sentido. Pode-se con-siderar esta pesquisa como uma base para realização de outros projetos nesta área. Também deve ser apontado que através do processo de coleta de dados, foi gerada uma grande base de imagens, as quais podem ser utiliza-das em trabalhos futuros. Finalmente, este trabalho pode ser estendido a aplicações práticas, tal como na orienta-ção de um robô em um chão de fábrica. Um trabalho neste sentido está sendo realizado em conjunto com a Universidade Federal de São Carlos (UFSCar).

Agradecimentos

As autoras gostariam de agradecer à Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP) pelo financiamento concedido para a realização deste projeto.

Referências Bibliográficas

[Arkin, 1998] Arkin, R. C. “Behavior-Based Robotics”. The MIT Press, 1998.

[Bao, 2001] Bao, H. T. “Knowledge Discovery and Data Mining Techniques and Practice”, Department of Pattern Recognition and Knowledge Engineering, Institute of Information Technology, Hanoi, Vietnam Japan Advanced Institute of Science and Technology. Disponível em: <http://203.162.7.85/unescocourse/knowlegde/knowlegd.htm>. Acesso em: 2001.

[Box, 1978] Box, G., Hunter, W., Hunter J. “Statistics for experiments”, Wiley, 1978.

[Costa, 1995] Costa, L. F., Cesar Jr., R. M. “Shape Analysis and Classification: Theory and Applications”, CRC Press Books Series on Image Processing, 1998.

[Cybenko, 1996] Cybenko, G. “Neural Networks in Computational Science and Engineering”, IEEE

Computational Science & Engineering, 36-43, Spring 1996.

[Fisher, 2001] Fisher, C. P., Walker, A., Wolfart, E. “Edge Detectors”. Disponível em: <http:// www.dai.ed.ac.uk/HIPR2/edgdetct.htm>. Acesso em: 2001.

[Fry, 1999] Fry, D. “CONNER (Computer Operated Neural Network Enhanced Robot)”, 1999. Disponível em: <http://www.assumption.edu/users/fry/david/conner/default.html>.

[Futschik, 1999] Futschik, M., Schreiber, M., Brown, C., Kasabov, N. “Comparative studies of neural network models for mRNA analysis”, Proceedings of the Intern. Conference on Intelligent

Systems for Molecular Biology, Neidelberg, Germany, Agosto 1999.

[Haykin, 1999] Haykin, S. “Neural Networks – A Comprehensive Foundation”, 2a edição, Prentice Hall, 1999.

[Intrator, 1993] Intrator, N., Gold, J. I. "Three-dimensional object recognition of using an unsupervised {BCM} network: the usefulness of distinguishing features”, Neural Computation 5, 61-74, 1993.

[Krabbes, 1997] Krabbes, M., Böhme, H.-J., Stephan, V. e Gross, H.-M. “EUROBOT’97 – Workshop on Advanced Mobile Robots”, Brescia, Italy, 22-24 Outubro, 1997, IEEE Computer Society

(12)

[Kung, 1989] Kung, S.-Y., Hwang, J.-N. “Neural Network Architectures for Robotic Applications”,

IEEE Transactions on Robotics and Automation, vol. 5, no. 4, 641-657, Outubro 1989.

[Meng, 1993] Meng, M., Kak, A. C. “Mobile Robot Navigation using Neural Networks and Nonmetrical Models”, IEEE Control Systems, 30-39, Outubro 1993.

[Pomerleau, 1992] Pomerleau, D. “Neural Network Perception for Mobile Robot Guidance”, Carnegie

Mellon University Ph.D. Thesis, 1992.

[Pomerleau, 1995] Pomerleau, D. “Neural Network Vision for Robot Driving”, Carnegie Mellon University, 1995.

[Rich, 1994] Rich, E. e Knight, K. “Inteligência Artificial”, McGraw Hill, 2ª edição, 1994.

[Robinson, 1996] Robinson, T., Hochberg, M., Renals, S. “The use of recurrent networks in continuous speech recognition”, In Lee, C.-H., Paliwal, K. K., Soong, F. K., editores, Automatic

Speech and Speaker Recognition - Advanced Topics, 233-258, Kluwer Academic

Publishers, 1996.

[Rumelhart, 1986] Rumelhart, D. E., Hinton, G. E., Williams, R. J. “Learning Internal Representations by error propagation”, Parallel Distributed Processing, vol. 1, MIT Press, 1986.

[Russel, 1990] Russel, C. E. e Dobbins, R. W. “Neural Network PC Tools”, Academic Press, Inc., 1990. [Sartori, 1992] Sartori, M. A., Panos, J. A. “Implementations of Learning Control Systems using Neural

Networks”, IEEE Control Systems, 49-57, Abril 1992.

[SNNS, 1995] SNNS – Stuttgart Neural Network Simulator User Manual version 4.1, University of

Stuttgart, Institute for Parallel and Distributed High Performance Systems (IPVR),

Technical Report N° 6/95, 1995.

[Suvan, 2001] Suvan, P. “RobotVision CAD”, Northeastern University (Boston). Disponível em: <http:// hammer.prohosting.com/~vision4/RobotVision/RvCAD/RvCAD.html>. Acesso em: 2001. [Waldherr, 2000] Waldherr, S., Romero, R. A. F., Thrun, S. “A Gesture Based Interface for Human-Robot

Referências

Documentos relacionados

O objetivo do curso foi oportunizar aos participantes, um contato direto com as plantas nativas do Cerrado para identificação de espécies com potencial

O primeiro passo para introduzir o MTT como procedimento para mudança do comportamento alimentar consiste no profissional psicoeducar o paciente a todo o processo,

Segundo o mesmo autor, a animação sociocultural, na faixa etária dos adultos, apresenta linhas de intervenção que não se esgotam no tempo livre, devendo-se estender,

Conforme refere Chiavenato (2000, p.82), os clientes são os elementos que compram ou adquirem os produtos ou serviços prestados, ou seja, absorvem as saídas e os

O efetivo pagamento da(s) RECEITA(S) FIXA(S) estará condicionado ao início da operação comercial da(s) USINA(S), devendo os recursos financeiros associados a este

Considerando a importância do assunto, a variabilidade existente nas características físicas e a ausência de dados na literatura especializada referente a