65
ANHANGUERA EDUCACIONAL SA. Faculdade Anhanguera de Valinhos Curso de Ciência da Computação André Luiz Pitante, Daniel Vecchiato e Felipe Kaufmann Corrêa Redes Neurais para a Identificação de Padrões em Imagens de Mapas Valinhos 2008

Monografia redes neurais para identificação de padrões de imagens em mapas

Embed Size (px)

DESCRIPTION

RedesNeurais Artificiais para reconhecimento de padrões em imagens de satélite..

Citation preview

Page 1: Monografia redes neurais para identificação de padrões de imagens em mapas

ANHANGUERA EDUCACIONAL SA. Faculdade Anhanguera de Valinhos Curso de Ciência da Computação

André Luiz Pitante, Daniel Vecchiato e

Felipe Kaufmann Corrêa

Redes Neurais para a Identificação de Padrões em Imagens de Mapas

Valinhos 2008

Page 2: Monografia redes neurais para identificação de padrões de imagens em mapas

André Luiz Pitante, Daniel Vecchiato e

Felipe Kaufmann Corrêa

Redes Neurais para a Identificação de Padrões em Imagens de Mapas

Monografia apresentada, como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação, à Faculdade Anhanguera de Valinhos, sob a orientação do prof. Esp. Maurício Rodrigues de Morais.

Valinhos 2008

Page 3: Monografia redes neurais para identificação de padrões de imagens em mapas

André Luiz Pitante, Daniel Vecchiato e

Felipe Kaufmann Corrêa

Redes Neurais para a Identificação de Padrões em Imagens de Mapas

Trabalho de conclusão de curso aprovado em 18 de dezembro de 2008 como exigência parcial para a obtenção do grau de Bacharel em Ciência da Computação da Faculdade Anhanguera de Valinhos, pela banca examinadora constituída pelos professores:

________________________________ Prof. Esp. Maurício Rodrigues de Morais

Orientador

________________________________ Prof. Dra. Jaqueline Brigladori Pugliesi

________________________________ Prof. Ms. Eduardo Nicola Ferraz Zagari

________________________________ Prof. Ms. Janaine Cristiane de Souza Arantes

Valinhos 2008

Page 4: Monografia redes neurais para identificação de padrões de imagens em mapas

AGRADECIMENTOS

A todos os familiares, amigos, professores e colegas que ajudaram a realizar o

trabalho.

Page 5: Monografia redes neurais para identificação de padrões de imagens em mapas

“Por pensar ser o trabalho mais difícil que

existe, só poucos se dedicam a isso.”

Henry Ford, 30.07.1863 - 07.04.1947

Page 6: Monografia redes neurais para identificação de padrões de imagens em mapas

RESUMO

PITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. Redes Neurais para a Identificação de Padrões em Imagens de Mapas. Valinhos 2008, 65 f. Monografia de trabalho de conclusão de curso (Ciência da Computação) FAV, 2008

O objetivo deste trabalho é o reconhecimento de padrões em imagens de

satélite, utilizando redes neurais artificiais. Como caso de estudo, optou-se por

identificar áreas verdes nas imagens de mapas tiradas por satélite. Tais imagens

podem ser escolhidas pelo usuário. As imagens utilizadas foram obtidas a partir

de ferramentas como o Google Earth e Maps. Um programa escrito em

linguagem Java foi usado para fazer a segmentação da imagem e o seu

tratamento, transformando a imagem em código binário gravado em um arquivo. A

importância deste processo de segmentação consiste em permitir que o programa

seguinte entenda a imagem, pois os arquivos de entrada só serão arquivos texto

com códigos em binário. Uma rede neural artificial criada para o trabalho, com o

uso do JavaNNS (Java Neural Network Simulator), foi treinada para que a área

verde pudesse ser identificada no mapa. A partir deste experimento conseguiu-se

obter resultados que demonstram que a rede foi treinada para identificar o padrão

de forma eficiente.

Palavras-chave:

áreas verdes, segmentação de imagem, Redes neurais artificiais

Page 7: Monografia redes neurais para identificação de padrões de imagens em mapas

ABSTRACT

PITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. Neural

Networks for Identification of Patterns in Images of Maps. Valinhos 2008, 65 p.

Monograph of completion of course work (Computer Science) ACF, 2008

The goal is to recognize patterns in satellite images, using artificial neural

networks. As a case study, we decided to identify green areas in the images of

maps drawn by satellite. Such images can be chosen by the user. The used

images were obtained from tools like Google Earth and Maps. A program written in

Java language was used to make the segmentation of the image and its treatment,

transforming the image into binary code stored in a file. The importance of this

process of segmentation is to allow the program to understand the image as the

input files only with text files in binary codes. An artificial neural network designed

to work with the use of JavaNNS (Java Neural Network Simulator) was trained for

the green area that could be identified on the map. From this experiment we were

able to achieve results that demonstrate that the network was trained to identify

the pattern efficiently.

Keywords:

green areas, image segmentation, artificial neural networks

Page 8: Monografia redes neurais para identificação de padrões de imagens em mapas

LISTA DE FIGURAS

Figura 1 – Histórico do desmatamento...............................................................15

Figura 2 – Representação do Neurônio Biológico..............................................20

Figura 3 – Modelo de Neurônio Artificial.............................................................21

Figura 4 – Função de saída................................................................................22

Figura 5 – Função de Ativação...........................................................................22

Figura 6 – Função logística.................................................................................22

Figura 7 – Rede Neural Monocamada................................................................24

Figura 8 – Modelo de Rede Neural Múltiplas Camadas......................................24

Figura 9 - Diagrama de treinamento de algoritmo Backpropagation...................26

Figura 10 – Rede Neural não treinada................................................................28

Figura 11 – Interface de ferramentas para o treinamento...................................28

Figura 12- Rede Neural em processo de treinamento........................................29

Figura 13 – Saída de neurônios não ativada......................................................29

Figura 14 – Saída de neurônios ativada.............................................................30

Figura 15 – Exemplo de imagem não segmentada.............................................40

Figura 16 – Exemplo de imagem fragmentada...................................................40

Figura 17 – Imagem escolhida para gerar as amostras......................................41

Figura 18 – Fragmento da imagem colorida e preto e branca............................41

Figura 19 – Imagem preto e branca e código binário ao lado............................42

Figura 20 – Gráfico dos resultados.....................................................................44

Figura 21 - Gráfico de erro da rede neural durante o treinamento.....................46

Figura 22 – Rede Neural não treinada................................................................53

Figura 23 – Interface de ferramentas para o treinamento...................................53

Figura 24 - Rede Neural em processo de treinamento ......................................54

Figura 25 – Saída de neurônios não ativada .....................................................54

Figura 26 – Saída de neurônios ativada ............................................................55

Page 9: Monografia redes neurais para identificação de padrões de imagens em mapas

LISTA DE TABELAS

Tabela 1 – Médias Obtidas pela técnica 10 fold Cross Validation, 300 ciclos......42

Tabela 2 – Médias Obtidas pela técnica 10 fold Cross Validation, 100 ciclos......43

Tabela 3 - Resultados pela técnica de 10 fold Cross-validation, 100 ciclos..........56

Page 10: Monografia redes neurais para identificação de padrões de imagens em mapas

LISTA DE SIGLAS

INPE – Instituto Nacional de Pesquisas Espaciais

JavaNNS – Java Neural Network Simulator

RNA – Redes Neurais Artificiais

Page 11: Monografia redes neurais para identificação de padrões de imagens em mapas

SUMÁRIO

1. Introdução ............................................................................................................. 11

1.1. Objetivo ........................................................................................................... 12

1.2 Proposta .......................................................................................................... 12

2. Pesquisa Bibliográfica ........................................................................................... 14

2.1. Diminuição das Áreas Verdes ......................................................................... 14

2.2. Análise da situação atual ................................................................................ 15

2.3 Ferramentas para Captura das Imagens ......................................................... 16

2.4. Segmentação de Imagens Digitais ................................................................. 17

2.5. Arquitetura de Redes Neurais Artificiais (RNAs) ............................................ 18

2.6 Treinamento ..................................................................................................... 25

2.7. Aprendizado de Máquina ................................................................................ 27

3. Trabalhos Correlatos ............................................................................................. 31

3.1. Integração entre redes neurais e correlação para a identificação de pontos de apoio pré-sinalizados. ............................................................................................ 31

3.2. Detecção de volume de tráfego de veículos proporcionada por visão computacional via redes neurais ........................................................................... 32

4. Metodologias ......................................................................................................... 34

4.1. Metodologia de Pesquisa ................................................................................ 34

4.2. Metodologia de Desenvolvimento de Software ............................................... 35

5. Desenvolvimento ................................................................................................... 36

5.1. Programa de Segmentação ............................................................................ 36

5.2. Projeto da Rede Neural .................................................................................. 38

6. Avaliações e Testes ............................................................................................... 39

6.1. Treinamento da Rede ..................................................................................... 39

6.2. Coleta dos Resultados .................................................................................... 42

7. Análise dos Resultados ......................................................................................... 44

8. Conclusão ............................................................................................................. 47

8.1 Limitações ........................................................................................................ 48

8.2 Trabalhos futuros ............................................................................................. 48

Referências Bibliográficas ......................................................................................... 50

Anexos ...................................................................................................................... 53

Anexo 1 – Visões do JNNS .................................................................................... 53

Anexo 2 – Dados brutos dos testes ....................................................................... 56

Page 12: Monografia redes neurais para identificação de padrões de imagens em mapas

11

1. Introdução

Atualmente a questão do meio ambiente tornou-se um assunto importante,

tanto por parte das empresas quanto das pessoas. Grande parte da vegetação no

mundo foi devastada devido ao interesse pela madeira e pela utilização do espaço

para a produção agrícola. O acompanhamento dessa devastação é hoje facilitado

por meio de satélites que monitoram a superfície da terra, permitindo que se faça

o controle das áreas desmatadas de um país. Porém, são poucos os softwares

que fazem a análise das imagens de satélite e normalmente não são acessíveis

ao público. Esse tipo de aplicação pode gerar um custo bem elevado para ser

obtido e até existem empresas que fazem esse trabalho, mas é necessário pagar

uma taxa mensal para a realização deste estudo que tragam os resultados

atualizados.

Ao longo deste trabalho procurar-se-á apresentar como é realizada a

identificação de áreas verdes em imagens de satélite. Para isso a escolha do

grupo foi pela utilização de uma Rede Neural Artificial (RNA) que faça o trabalho

de reconhecimento do padrão, embora existam outras formas de realizar esta

tarefa. Outros métodos de identificação podem ser usados neste processo,

entretanto, com o estudo feito aqui, o mais adequado envolve um programa de

segmentação e outro para a criação da rede neural.

Além da rede neural artificial, são necessárias ferramentas para fazer a

captura da imagem, seu tratamento e sua segmentação. O Google Maps e o

Google Earth são as ferramentas gratuitas disponíveis na Internet, que fornecem

as imagens dos mapas a serem utilizados para os treinamentos e os testes. A

função da RNA é realizar o reconhecimento do padrão escolhido, no caso as

áreas verdes. Esta rede se assemelha com a rede neural biológica, a qual

identifica, por exemplo, uma pessoa e seu nome correspondente, sendo apta a

reconhecê-la novamente no dia seguinte.

O procedimento da segmentação da imagem é um processo que divide a

imagem em pedaços menores para depois tratá-los e simplificar o processo de

reconhecimento. Foram estudados códigos para a implementação de um

Page 13: Monografia redes neurais para identificação de padrões de imagens em mapas

12

programa na linguagem Java que pudesse fazer o tratamento e transformar a

imagem em um código binário dentro de um arquivo. Este processo foi

necessário, pois o programa JavaNNS, usado para criar a rede neural, só aceita

arquivos em código binário como entrada. Os treinamentos e testes realizados

permitiram identificar a eficiência da RNA criada.

1.1. Objetivo

Hoje em dia existem várias aplicações de reconhecimento de padrões

implementadas para identificar objetos em imagens. Existem softwares que fazem

a identificação de rostos humanos com a ajuda de algoritmos baseados em redes

neurais artificiais. Esses sistemas são tanto usados em alguns aeroportos, quanto

em notebooks como identificação visual ao invés de usar uma senha para abri-lo.

A principal idéia é fazer a identificação da área verde em um mapa. Para

isso, o trabalho foi dividido em etapas, com um programa que captura a imagem

original tirada da Internet, com tamanhos definidos, converte em preto e branco e

depois a transforma em um arquivo binário que alimentará a rede neural. Além

disso, foi escolha uma ferramenta para criar uma RNA, que se mostrou um auxílio

valioso para este trabalho. No meio de várias opções de aplicativos que fariam

este processo, o JavaNNS foi a melhor opção, pois, além de ser um software

livre1, também traz uma gama de opções para criar e configurar uma rede. A rede

criada passa por uma fase de treinamento, para depois obter os resultados por

meio dos testes e, assim, identificar as áreas verdes.

1.2 Proposta

Este trabalho propõe uma solução para a questão da identificação de áreas

verdes em mapas por meio de softwares que utilizam recursos facilmente

encontrados no mercado. As ferramentas que disponibilizam gratuitamente as

imagens de satélite, como o Google Maps, foram usadas neste trabalho.

1 Software Livre, um programa de computador, que pode ser usado, estudado por programadores.

Page 14: Monografia redes neurais para identificação de padrões de imagens em mapas

13

Qualquer outra ferramenta do gênero poderia ser utilizada, mas neste projeto foi

considerada a mais apropriada por possuir uma maior quantidade de imagens

atualizadas com boa qualidade.

A idéia principal para o trabalho, uma vez definida, precisa ser colocada em

prática. A região de Campinas foi escolhida para fazer a busca de áreas verdes.

Com isso definido, neste caso era necessário fazer a segmentação de imagem,

para depois passar a usar a rede neural para fazer a identificação do padrão.

Poucos recursos precisariam ser usados tanto financeiramente, quanto em

relação à configuração física no caso um hardware, um notebook facilmente

encontrado em lojas online a um preço acessível.

Em relação ao software, a ferramenta gratuita Google Maps, usada para

fazer a captura das imagens utilizadas no trabalho. O Gimp, um programa de

edição de imagens também gratuito, usado para fazer o corte das imagens no

tamanho compatível que será usado para o trabalho. O código aberto em

linguagem Java ajudou a criar o código que faz a parte de segmentação da

imagem, transforma primeiro em uma imagem preta e branca, separa em pedaços

e depois em um código binário. O último programa que também não tem custo é o

JavaNNS, que é responsável pela criação, treinamento e testes das redes neurais

artificiais.

Ao final deste trabalho será apresentado o resultado dos testes e análises

realizados, comprovando que as RNAs podem e devem ser utilizadas na tarefa de

reconhecimento de áreas verdes, bem como o fato de ser possível obter tais

resultados a um custo realmente baixo.

Page 15: Monografia redes neurais para identificação de padrões de imagens em mapas

14

2. Pesquisa Bibliográfica

2.1. Diminuição das Áreas Verdes

As áreas arborizadas nem sempre são devidamente valorizadas nas

cidades, e, por causa disso, são escassas, apesar de existirem estudos que

apontem a importância das árvores para a redução das emissões dos gases

CO22, que são emitidos em grande parte pelos automóveis que contribuem com o

efeito estufa [O Estado de São Paulo, 08.12. 2007]. Nos parques de cidades são

encontradas mais áreas com vegetação, sendo lugares com uma temperatura

mais baixa.

A Amazônia está sendo seriamente devastada devido ao desmatamento

ilegal e também à falta de controle do mesmo. As plantações em grande

ascensão, como a cana-de-açúcar ou a soja, por exemplo, também são um

problema que pouco discutido. São poucos os produtores que buscam formas

alternativas para aumentar a produção sem ter que aumentar a quantidade de

área plantada. Outro problema também é a pecuária, que cresce conforme a

procura pela carne, tanto para o mercado interno como para a exportação.

Estudos do Instituto Nacional de Pesquisas Espaciais (INPE) [Estado de

São Paulo, 2008] mostram que o desmatamento aumenta a cada ano que passa e

áreas desmatadas em maior número estão concentradas na região do Mato

Grosso, Pará e Maranhão. As queimadas contribuem com três quartos das

emissões de CO2 do país devido às carvoarias na região, além de destruírem a

mata. Empresas que precisam de madeira para construir móveis, casas, podem

estar ligadas ao desmatamento ilegal que extraem madeira sem a permissão. O

governo também se mostra ineficiente na realização de algum tipo de controle na

região da Amazônia, mesmo havendo várias leis contra o desmatamento. Isso

tudo contribui com o aquecimento global, que é muito discutido fora do país,

apesar de ser um dos países que possui uma das maiores áreas de cobertura

2 Dióxido de Carbono

Page 16: Monografia redes neurais para identificação de padrões de imagens em mapas

15

vegetal. A Figura 1 mostra um gráfico com o histórico do desmatamento.

Figura 1 – Histórico do desmatamento. (O Estado de São Paulo, dez 2008)

Este trabalho, que faz a identificação de áreas verdes, pode contribuir com

a reflexão em torno da questão do desmatamento, bastante presente no Brasil,

podendo auxiliar nas propostas de preservação e reflorestamento. Mesmo

havendo outros sistemas de maior porte, que fazem o controle como, por

exemplo, o Sistema de Detecção do Desmatamento em Tempo Real (Deter) [O

Estado de São Paulo, 2008], que avalia mensalmente a situação do

desmatamento brasileiro, este estudo pode fornecer uma proposta mais acessível

em termos financeiros. O Deter se mostra um recurso de custo muito elevado, no

que se refere ao acesso a esse tipo de dado.

2.2. Análise da situação atual

Hoje já existem várias empresas que possuem satélites ou mesmo

conseguem fontes de terceiros por meio de acordos, permitindo a realização de

mapeamentos de uma determinada região ou de um país. Algumas dessas

empresas fornecem essas fontes de dados, que são mapas, de forma gratuita. É

o caso da Google, que consegue fornecer gratuitamente mapas com fotos via

satélite com qualidade de serviços pagos ao público. Tanto o Maps quanto o Earth

possuem a mesma base de dados, sendo o segundo com alguns recursos a mais,

pois o primeiro é uma ferramenta que roda dentro do navegador de Internet.

Existem muitas ferramentas semelhantes a essas com a mesma proposta que

Page 17: Monografia redes neurais para identificação de padrões de imagens em mapas

16

consistem na localização de endereços de interesse do usuário, ou na busca de

lugares que a pessoa gostaria de conhecer. Identificar áreas com mata atlântica

na região sudeste, por exemplo, para fazer uma análise de quanto uma área foi

devastada, criando assim, estatísticas conforme a área estudada.

Grandes empresas ou mesmo corporações fazem o uso desses recursos

para identificar áreas de interesse. Há empresas que utilizam a ferramenta para

localização, como é o caso da USS, que dá assistência às seguradoras de carros,

e faz a busca do guincho mais próximo ao local onde haja um carro que precise

ser retirado. A empresa constatou que houve uma redução do tempo de espera do

cliente e o retorno do guincho a sua central, havendo assim, uma economia em

termos de custo.

2.3 Ferramentas para Captura das Imagens

Para conseguir as imagens dos mapas, precisou-se fazer uso das

ferramentas de mapas como Google Maps e Earth. Ambas são gratuitas e com

isso é possível conseguir imagens de satélite de boa qualidade para a pesquisa

sem qualquer custo. As fontes destes aplicativos são satélites que tiram as fotos

de maior distância, enquanto as fotos mais próximas são tiradas de aviões. São

vários satélites que cobrem o mundo, com isso as fotos adquiridas são mescladas

para se obter um grande mapa. Ambos os programas utilizam a mesma base de

fotos, que é atualizada. O número de recursos de cada um varia em torno de cada

aplicação. Por exemplo, no Google Maps há um número reduzido de recursos por

ser um programa que roda no navegador de Internet. A escala de cada um

também se diferencia, sendo o Google Earth um pouco mais preciso que o

anterior, pois existem recursos como um medidor de distâncias, por exemplo, que

calcula conforme os pontos escolhidos no mapa. Além de outros recursos visuais

que tanto servem para embelezar a forma de como são explorados os mapas,

quanto para indicar um detalhe importante que pode ser mostrado por meio de

setas, por exemplo.

Page 18: Monografia redes neurais para identificação de padrões de imagens em mapas

17

Além dos recursos supracitados foi utilizado o programa Gimp para recortar

um pedaço de uma imagem maior e colocar no tamanho de uma imagem

manipulável pelo programa de segmentação. O mesmo também foi necessário

para salvar as imagens capturadas, utilizando-se da tecla “Print Screen” que é

encontrada em qualquer teclado. Para fazer o tratamento da imagem antes de

poder passar ao programa que segmenta a imagem e depois a transforma em um

arquivo em binário, é necessário ter a imagem com um tamanho compatível. A

imagem adquirida da Internet é maior do que a necessária para o projeto. O

programa permitiu realizar o recorte de um pedaço da imagem. Depois a imagem

está pronta para ser passada para o programa que fará a sua segmentação.

2.4. Segmentação de Imagens Digitais

A segmentação de imagens é um dos principais processos da Visão

Artificial. O que ocorre nesse processo é uma análise, o uso de computador para

separar as regiões que compõem uma imagem, para que seja possível a extração

de suas características, como recortes ao redor de objetos ou espaços de

interesse.

A segmentação subdivide uma imagem em suas partes ou objetos de

interesse. Tal subdivisão é realizada levando-se em conta o problema abordado.

Algoritmos de segmentação permitem achar diferenças entre duas ou mais

regiões, e distingui-los uns dos outros, como um avião de um céu azul no fundo.

Outra característica da segmentação é atribuir um rótulo a cada pixel da

imagem, identificando-o a qual grupo ele pertence, de acordo com suas

características em interesse. Esses algoritmos são geralmente baseados em

valores de níveis de cinza, ou seja, as propriedades básicas descontinuidade e

similaridade que o compõem.

Existem diversas técnicas de segmentação de imagens, dentre as quais

existe a técnica por detecção de descontinuidades, por região ou limiar (threshold)

como descrito no conteúdo de João L. Sobral (Universidade do Minho – Portugal,

2002).

Page 19: Monografia redes neurais para identificação de padrões de imagens em mapas

18

A técnica baseadas em limiarização (thresholding) é uma das mais

importantes do processo de segmentação de imagens por ser

computacionalmente mais utilizadas em comparação a outras técnicas. Tendo

como exemplo uma imagem f(x, y), composta por apenas dois objetos distintos,

sendo que, cada objeto possui uma média do nível de cinza bem diferenciada em

seu histograma.

Tais imagens podem ser facilmente segmentadas pela utilização de um

simples valor de limiar. Este limiar teria um valor intermediário entre as

concentrações de nível de cinza de cada objeto.

Esta é a técnica mais comum de limiarização, conhecida como limiarização

bimodal. Este processo também é denominado binarização. Se uma imagem f(x,

y) possuir um histograma multimodal, será necessário a determinação de valores

para mais de um limiar. Esta é a técnica é conhecida como limiarização

multimodal. É menos confiável que a bimodal, devido à dificuldade em estabelecer

múltiplos limiares que efetivamente isolem as regiões de interesse.

Para obter integridade na segmentação, as técnicas de limiarização devem

garantir a menor taxa de erro possível, ou seja, assegurar uma alta probabilidade

de que o pixel tenha sido corretamente classificado e que os dados segmentados

contenham a maior quantidade possível de informação útil.

A escolha de um valor pode ser difícil para casos em que as propriedades

espectrais dos dados não revelem informações suficientes. Sendo que em alguns

casos pode ser necessário determinar o número de limiares para a segmentação

de um volume de dados, quando sua natureza não é bem conhecida.

2.5. Arquitetura de Redes Neurais Artificiais (RNAs)

Redes Neurais Artificiais [UNISANTA, 2006] são modelos matemáticos que

simulam o funcionamento de redes de neurônio biológico. No entanto, para

entender o funcionamento das redes neurais artificiais, o funcionamento do

neurônio biológico precisa ser esclarecido.

Trata-se de uma técnica inspirada no funcionamento do cérebro [UFLA,

Page 20: Monografia redes neurais para identificação de padrões de imagens em mapas

19

2006], onde neurônios artificiais conectados em rede são capazes de aprender e

generalizar. Técnica de aproximação de funções por regressão não linear isso

significa que se a rede aprende a lidar com certo problema, e lhe é apresentado

um similar, mas não exatamente o mesmo, ela tende a reconhecer esse novo

problema, oferecendo a mesma solução.

A característica mais significativa das redes neurais está em sua habilidade

de aproximar qualquer função contínua ou não contínua com um grau de

correção desejado. Esta habilidade das redes neurais as tem tornado úteis

para modelar sistemas não lineares.

Os principais componentes dos neurônios são:

Os dendritos, que têm por função, receber os estímulos transmitidos pelos

outros neurônios;

O corpo de neurônio, também chamado de soma, que é responsável por

coletar e combinar informações vindas de outros neurônios;

E finalmente o axônio, que é constituído de uma fibra tubular que pode

alcançar até alguns metros, e é responsável por transmitir os estímulos

para outras células.

Um neurônio biológico é uma estrutura celular formada por dendritos,

axônio e soma, compondo diferentes tipos de redes ou sistemas especializados,

assim como diferentes configurações celulares moldadas pela natureza, a fim de

atender certos critérios de especialização.

Segundo a definição encontrada em Stuart Russel e Peter Norvig, em sua

obra Inteligência Artificial Tradução da Segunda Edição, “Um neurônio é uma

célula no cérebro cuja principal função é coletar, processar e disseminar sinais

elétricos” (Inteligência Artificial, 2004, pág. 713).

Page 21: Monografia redes neurais para identificação de padrões de imagens em mapas

20

Na Figura 2 é ilustrado um neurônio biológico.

Figura 2 - Representação do neurônio biológico. [UNISANTA, 2006]

Dendritos têm por função receber os estímulos transmitidos por outros

neurônios. Soma ou chamado corpo celular é responsável por coletar e combinar

as informações vindas de outros neurônios e o Axônio é responsável por

transmitir estímulos para outras células.

As sinapses são as interligações entre os neurônios, possuindo cada

neurônio em média de mil a dez mil sinapses. O cérebro humano possui cerca de

10¹¹ neurônios, e um número de sinapses que pode chegar a mais de 10¹4, o que

possibilita a formação de redes muito complexas. O neurofisiologista McCulloch e

o matemático Water Pitts (1943) [UFLA, 2006] realizaram um trabalho que fazia a

analogia entre as células vivas e o processo eletrônico, simulando o

comportamento do neurônio natural, sendo que o neurônio possuía apenas uma

saída, em função do valor de suas entradas.

O Neurônio de McColloch e Pitts consiste basicamente em um neurônio

que executa funções lógicas. Os neurônios produzem somente resultados binários

e as conexões transmitem exclusivamente zeros e uns. As suas redes são

compostas de conexões com peso, de tipos excitatórios e inibitórios. Cada

unidade é caracterizada por certo limiar.

O psicólogo Donald Hebb (1949) [UFLA, 2006] demonstrou que a

Page 22: Monografia redes neurais para identificação de padrões de imagens em mapas

21

capacidade de aprendizagem em redes neurais biológicas vem da alteração da

eficiência sináptica, ou seja, a conexão somente é reforçada se tanto as células

pré-sinápticas quanto as pós-sinápticas estiverem excitadas; Hebb foi o primeiro a

propor uma lei de aprendizagem específica para as sinapses dos neurônios.

Em 1951 foi construído o primeiro neuro-computador denominado “Snark”,

criado por Marvin Minsky. O Snark operava ajustando automaticamente seus

pesos sinápticos.

Em 1958, Rosemblatt [UFLA, 2006] mostrou em seu livro Principles of

Neurodynamics o modelo dos “Perceptrons”. Nele os neurônios eram organizados

em camada de entrada e saída, na qual os pesos das conexões eram adaptados

a fim de atingir a eficiência sináptica usada no reconhecimento de caracteres.

Sinapses (entrada) com seus pesos associados. Junção somadora,

responsável pelo processamento. Função de ativação, ativa ou não a saída do

neurônio.

wk1

wk2

wkm

f(uk)

x1

x2

xm

uk

wk0

=bk

yk

sinais

de

entrada

pesos

sinápticos

junção

aditiva

(bias)

função

de ativação

saída

wk0

x0=+1

entrada fixa

Função

degrau

Figura 3 – Modelo de Neurônio Artificial [UFLA, 2006]

Page 23: Monografia redes neurais para identificação de padrões de imagens em mapas

22

A operação de um neurônio artificial se resume ao modo como os sinais

são apresentados à entrada (x1 à xm). Cada sinal é multiplicado por um peso que

indica sua influência na saída da unidade (wk), na qual é feita a soma ponderada

dos sinais que produz um nível de atividade (uk), a função de ativação f(uk) tem a

função de limitar a saída e introduzir a não-linearidade ao modelo. O bias bk tem o

papel de aumentar ou diminuir a influência do valor das entradas, podendo-se

considerar o bias como uma entrada de valor constante 1, multiplicado por um

peso igual a bk.

Na Figura 4, é mostra matematicamente a saída que pode ser expressa por:

Figura 4-Função de saída

Considerando o bias como entrada de valor x0=1 e peso wk0=bk também pode ser

expressa por:

Funções de ativação, mostrado na Figura 5

Figura 5- Função de ativação

A Função logística é mostrada na Figura 6

Figura 6 – Função logística

m

j

kjkjkk bxwfufy1

)(

m

j

jkjkk xwfufy0

)(

Page 24: Monografia redes neurais para identificação de padrões de imagens em mapas

23

A Função Logística determina o tipo de operação realizada entre os neurônios, de

modo a propagar valores que variam entre 0 e 1 de um neurônio a outro ou de

uma camada a outra.

As RNAs, em suas características gerais, consistem em modelos

adaptativos treináveis, podendo representar domínios complexos (não lineares),

capazes de generalização diante de informação incompleta, além de realizar o

armazenamento associativo de informações. Elas processam informações

Espaço/Temporais e possuem grande paralelismo, o que lhes confere rapidez no

processamento.

Usualmente as camadas são classificadas em três grupos: Camada de

Entrada, Camadas Intermediárias ou Ocultas e Camada de Saída. Na Camada de

Entrada os padrões são apresentados à rede, enquanto nas Camadas

Intermediárias ou Ocultas são realizadas a maior parte do processamento, por

meio das conexões ponderadas, que podem ser consideradas como extratoras de

características. Por fim, na Camada de Saída o resultado final é concluído e

apresentado.

2.5.1 Tipos de Redes Neurais Artificiais

Existem basicamente 3 tipos básicos de arquitetura de RNAs [UFLA, 2006]:

Feedforward de uma única camada – Sinais percorrem a rede em uma

única direção, da entrada para saída.

Feedforward de múltiplas camadas - Sinais percorrem a rede em uma

única direção, da entrada para saída.

Redes recorrentes – Saída de neurônios alimentam neurônios da mesma

camada inclusive o mesmo.

A quantidade de neurônios na camada de entrada e saída é dada pelo

problema a ser abordado. No entanto, a quantidade de neurônios nas camadas

de processamento são características do projeto. Aumentando-se o número de

neurônios na camada escondida aumenta-se a capacidade de mapeamento não-

linear da rede.

Page 25: Monografia redes neurais para identificação de padrões de imagens em mapas

24

A rede Feedforward de uma única camada, os neurônios da camada de

entrada correspondem aos neurônios sensoriais que possibilitam a entrada de

sinais na rede (não fazem processamento). Os neurônios da camada de saída

fazem processamento além de possibilitar o resultado obtido e quais neurônios

foram ativados ou não. A Figura 7 mostra um exemplo de rede neural

monocamada.

Figura 7 - Rede Neural Monocamada-[UFLA, 2006]

Rede Feedforward de Múltiplas Camadas (Multilayer Perceptron - MLP). Essas

redes têm uma ou mais camadas intermediárias ou ocultas, como é mostrado na

Figura 8.

Figura 8 – Modelo de Rede Neural Múltiplas Camadas-[UFLA, 2006]

Page 26: Monografia redes neurais para identificação de padrões de imagens em mapas

25

2.6 Treinamento

A propriedade mais importante das redes neurais consiste na habilidade de

aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito por

meio de um processo interativo de ajustes aplicado a seus pesos, denominado

treinamento. O aprendizado ocorre quando a rede neural atinge uma solução

generalizada para uma classe de problemas.

Denomina-se algoritmo de aprendizado a um conjunto de regras bem

definidas para a solução de um problema de aprendizado. Existem muitos tipos de

algoritmos de aprendizado específicos para determinados modelos de redes

neurais. Estes algoritmos diferem entre si principalmente pelo modo como os

pesos são modificados.

Os principais modelos (paradigmas) de aprendizagem são: [UFLA, 2006]

1) Aprendizagem Não-supervisionada; a rede atualiza seus pesos sinápticos

sem indicações quanto à adequação das saídas.

2) Aprendizagem por Reforço; uma função de avaliação indica o grau de

aprendizagem da rede.

3) Aprendizagem Supervisionada; interfere-se nos pesos sinápticos de modo

a minimizar o erro propagado entre o padrão apresentado a rede e o

padrão a ser reconhecido.

Neste trabalho optou-se pela Aprendizagem Supervisionada, também

conhecida com aprendizagem com professor. Tal aprendizagem consiste em que

o professor tenha o conhecimento do ambiente, fornecendo o conjunto de

exemplos de entrada-resposta desejada. Com este conjunto, o treinamento utiliza-

se da regra de aprendizagem por correção de erro.

Page 27: Monografia redes neurais para identificação de padrões de imagens em mapas

26

Figura 9 - Diagrama de treinamento de algoritmo Backpropagation-[UFLA, 2006]

No entanto, quando este número for muito grande, o modelo pode se

sobre-ajustar aos dados, na presença de ruído nas amostras de treinamento. Diz-

se que a rede está sujeita ao sobre-treinamento. [UFLA, 2006]

Algoritmo de aprendizagem – backpropagation, regra de aprendizagem

baseada na correção do erro pelo método do Gradiente, o algoritmo de

aprendizagem é composto de duas fases, cálculo do erro (forward) e correção dos

pesos sinápticos (backward).

Durante o treinamento com o algoritmo backpropagation, a rede opera na

seguinte seqüência: Primeiro, um padrão é apresentado à camada de entrada da

rede. A atividade resultante propaga pela rede, camada por camada, até a

camada de saída. No passo seguinte a saída obtida é comparada à saída

desejada para o padrão apresentado à entrada. Se esta não estiver correta, o erro

é calculado. O erro é propagado a partir da camada de saída até a camada de

entrada, e os pesos das conexões das unidades das camadas internas vão sendo

modificados conforme o erro é propaga pela a rede.

ambiente professor

Sistema

de aprendizagem

Vetor de estado

do ambiente

Resposta

desejada

Resposta

real

Sinal de erro

-

+

Page 28: Monografia redes neurais para identificação de padrões de imagens em mapas

27

2.7. Aprendizado de Máquina

A Inteligência Computacional [UFLA, 2006] busca, através de técnicas

inspiradas na Natureza, o desenvolvimento de sistemas inteligentes que imitem

aspectos do comportamento humano, tais como: aprendizado, percepção,

raciocínio, evolução e adaptação.

Este trabalho carecia de um programa para auxiliar na criação de redes

neurais, preferencialmente gratuito. Desta forma, optou-se por estudar o programa

Java Neural Network Simulator (JavaNNS) para criação de redes neurais que

fossem adequadas ao nosso trabalho. Trata-se de um programa é open source

(de código aberto), o que fornece uma grande vantagem para o caso de haver

algum problema no código, sendo possível estudar uma solução para o mesmo.

Após o aprendizado e ter ganhado conhecimento do JavaNNS as primeiras redes

foram criadas e treinadas. O treinamento da rede exige a criação de um arquivo

texto com código em binário, no formato texto. Havia também uma limitação que

foi descoberta: que não havia como fazer para que o programa aceitasse uma

imagem maior que 44x44 pixel. Essa imagem gerava uma matriz de 44x44 que o

JavaNNS não permitia, pois era limitado em 2000 neurônios que é o limite do

programa. Esse código de preferência deve ser adquirido a partir de uma imagem,

por mais simples que ela seja, para que a rede seja treinada tendo imagens como

base.

Page 29: Monografia redes neurais para identificação de padrões de imagens em mapas

28

Figura 10 – Rede Neural não treinada.

Inicialmente foi escolhida a arquitetura MLP, mostrada na Figura 10, por ser

de fácil treinamento e eficácia quanto ao aprendizado.

A rede MLP é composta por 25x25 neurônios na camada de entrada,

variações na camada oculta, mostrado na Figura 11, buscando melhor eficiência e

1 neurônio na camada de saída.

Figura 11 – Interface de ferramentas para o treinamento

Page 30: Monografia redes neurais para identificação de padrões de imagens em mapas

29

Aprendizagem da rede com JNNS

Foram realizados treinamentos, como mostra a Figura 12, com diversos

números de ciclos de treinamentos buscando encontrar a convergência da rede.

Figura 12 - Rede Neural em processo de treinamento

Na Figura 13, o padrão reconhecido como área não verde

Figura 13 – Saída de neurônios não ativada

Page 31: Monografia redes neurais para identificação de padrões de imagens em mapas

30

Na Figura 14 é mostrado o padrão reconhecido como área verde

Figura 14 – Saída de neurônios ativada

Page 32: Monografia redes neurais para identificação de padrões de imagens em mapas

31

3. Trabalhos Correlatos

3.1. Integração entre redes neurais e correlação para a identificação de pontos de apoio pré-sinalizados.

Neste trabalho [PUCPR, 2005] foi adotada a técnica de redes neurais para

fazer o reconhecimento automático dos pontos de uma foto aérea que foi utilizada

para o estudo. Priorizou-se o estudo para a implementação de uma rede neural

artificial que não utilizasse recursos muito caros e nem utilizasse muito

processamento para executar e reconhecer os padrões.

Houve um tratamento das imagens selecionadas, para depois serem

passadas para o sistema de reconhecimento implementado. Com o auxílio do

aplicativo Paint Shop Pro as imagens foram tratadas com tons de cinza. Outro

fator importante consistiu na calibragem da câmera, necessária para a obtenção

do foco adequado para o experimento, sem que houvesse distorção na imagem

para não comprometer a identificação do padrão.

Para que o experimento pudesse ser realizado foi necessário fazer uma

aerofoto da região a ser reconhecida pelo sistema adotado. Antes de tirar a foto

foram marcados três pontos em uma determinada área, com um tamanho

adequado para dar destaque. Estes três pontos serviram para sinalizar a área que

pudesse ser reconhecida e também para facilitar a área de reconhecimento por

meio da triangulação.

Foi realizado um estudo das derivadas que fossem usadas para fazer o

treinamento da rede antes de ser implementada a rede neural artificial. O

algoritmo Backpropagation foi usado para fazer o treinamento da rede neural e a

morfologia matemática foi estudada para diminuir o tamanho de algumas

derivadas. Foi usado um código em Visual C++ para a implementação da rede

neural, além de fazer a identificação na foto com a ajuda dos três pontos de apoio

que são apresentados na imagem para o estudo.

Page 33: Monografia redes neurais para identificação de padrões de imagens em mapas

32

Depois de a aerofoto ser tirada, foram anotadas as coordenadas dos

pontos marcados, permitindo aos algoritmos calcular os pontos relativos para o

reconhecimento do padrão. Essas marcas chamadas de fiduciais foram passadas

para o um programa que funciona em um dos que consegue fazer a correlação

desses pontos. Para identificar o alvo da imagem foi usado o Matlab. Após todo o

processo de tratamento e identificação das imagens, com todos os cálculos feitos

dos sistemas, conseguiu-se chegar a um resultado. O treinamento com outras

imagens de apoio para a rede neural também foi importante para obter este

resultado. Mesmo com uma imagem de alta resolução não foi exigido muito do

desempenho da máquina de, obtidos com uma máquina de baixo custo.

Um aspecto positivo deste trabalho foram as técnicas abordadas para a

realização do experimento, por exemplo, marcar os pontos para depois identificá-

los, por meio dos algoritmos que calculam os pontos relativos. A máquina de

baixo custo na época que foi citada, usou um grande volume de dados como

entrada no caso uma imagem de alta definição. Mas o custo do projeto todo foi

elevado, por exemplo, contratar uma empresa para sobrevoar uma área e

fotografá-la.

3.2. Detecção de volume de tráfego de veículos proporcionada por visão computacional via redes neurais

Outro trabalho [ITA, 1999] relacionado ao que foi estudado fez a

identificação do número de carros em uma rodovia. Foram usados os melhores

recursos que os autores(RIBEIRO, F. F. S., LIMA, A. C. de C., 1999) tinha

disponível na época para realizar a captura das imagens e fazer o tratamento para

depois passar para a rede neural artificial treinar.

No local escolhido por ele para a filmagem do trânsito foi instalada uma

câmera comum, com a objetiva apontada para o movimento da rua. Depois foi

realizada a captura da filmagem com o auxílio de um programa. Outro programa

foi usado para desmanchar o filme em várias imagens, separadas por arquivos.

Page 34: Monografia redes neurais para identificação de padrões de imagens em mapas

33

Em seguida foi preciso fazer uso de um terceiro programa para converter todas as

imagens em escalas de cinza. O MATLAB foi a ferramenta que estes autores

utilizaram para fazer um pré-processamento das imagens e depois passar para a

rede neural dentro do mesmo.

O MATLAB trazia várias opções para detectar a borda das imagens. O

autor escolheu aquela que estava mais própria para identificar o número exato de

carros presentes na imagem. Com o vídeo gerado anteriormente, após o

processo de separação de todas as imagens do vídeo, foi gerado um grande

número de arquivos. O autor separou tudo em nove blocos de 400 fotos cada um,

passando todas as imagens para o MATLAB, que já estava com a rede neural

artificial pronta para ser treinada. O processo, segundo ele, foi demorado, mesmo

com os melhores recursos disponíveis para o experimento.

O resultado constatado foi que ele chegou ao nível de erro desejado. O

programa gerou gráficos para fazer as comparações que ele denominou de

épocas. Em cada época houve uma evolução da rede neural artificial, de forma a

melhorar a identificação a cada treinamento. Um menor número de erros também

foi constatado, à medida que a rede neural ficava mais experiente. O

procedimento de passar as imagens pelo processo de pré-processamento era

mais rápido e eficiente do que sua ausência, obtendo, assim, um bom resultado,

segundo o autor.

Neste trabalho os autores obtiveram resultados satisfatórios, mas com um

custo elevado para a época. Uma parte importante do trabalho consistiu no

cálculo da dimensão do problema a ser resolvido antes da realização dos testes,

para não perder tanto tempo. Fazer um pré-processamento das imagens antes de

passar elas para a rede treinar, está semelhante com a segmentação de imagens,

tornou o trabalho dos autores mais próximo ao proposto.

Page 35: Monografia redes neurais para identificação de padrões de imagens em mapas

34

4. Metodologias

4.1. Metodologia de Pesquisa

Este trabalho utilizou-se primordialmente da Internet para encontrar uma

solução para o problema proposto. Inicialmente foi necessário identificar o método

mais adequado para fazer a identificação de objetos. As redes neurais artificiais

se mostravam mais eficientes em vários trabalhos que as adotaram.

Sobre a diminuição das áreas verdes também se usou a Internet para

conseguir as informações, principalmente em sites brasileiros, como por exemplo,

O Estado de São Paulo. Para encontrar áreas verdes no mapa, precisava-se de

algo que fizesse a pesquisa na imagem e, com o auxílio do computador, identificar

a imagem sem a intervenção humana. Para simplificar a solução do problema ao

invés de criar uma RNA implementada por meio de um código, um programa

auxiliou na criação da rede. Com relação ao programa adotado, JavaNNS,

também foi estudado o manual para esclarecer o funcionamento, a forma de como

criar a rede neural artificial.

Após o entendimento de como funciona o programa, descobriu-se que ele

recebia como entrada apenas arquivos em código binário. Algumas imagens

foram passadas para um arquivo binário por meio de vários programas, mas

dessa forma perder-se-ia muito tempo para fazer os testes. Códigos foram

pesquisados na Internet no site Sourceforge [SOURCEFORGE, 2008] e na

maioria dos casos soluções em linguagem Java. Após a pesquisa – vários

códigos traziam soluções diferentes – apenas alguns foram usados, para ajudar a

fazer um código para transformar a imagem em preto e branco e segmentar em

arquivo binário. O material pesquisado permitiu a obtenção de um programa que

fazia tudo para gerar o arquivo em códigos binários.

Page 36: Monografia redes neurais para identificação de padrões de imagens em mapas

35

Uma grande variedade de informações foi encontrada ao longo do trabalho,

tanto na Internet quanto em alguns livros sobre redes neurais artificiais. Sem a

pesquisa não seria possível realizar boa parte do trabalho, além de haver uma

aprendizagem que possivelmente será usada no futuro.

4.2. Metodologia de Desenvolvimento de Software

Apesar de estudos desse porte serem bastante difundidos no meio

científico-acadêmico, cada trabalho apresenta suas particularidades. Por este

motivo, no início, observou-se a necessidade de uma metodologia que atendesse

ao interesse de gerenciar tal desenvolvimento da melhor maneira possível com

um baixo custo e para isso foi escolhida Metodologias Ágeis.

Segundo a definição encontrada em Michel dos Santos Soares [UNIPAC,

2004] “As metodologias ágeis surgiram com a proposta de aumentar o enfoque

nas pessoas e não nos processos de desenvolvimento. Além disso, existe a

preocupação de gastar menos tempo com documentação e mais com resolução

de problemas de forma iterativa”.

Page 37: Monografia redes neurais para identificação de padrões de imagens em mapas

36

5. Desenvolvimento

5.1. Programa de Segmentação

Para solução do problema abordado no caso de uso, faz-se a utilização do

algoritmo de limiarização bimodal, que tem como objetivo extrair os dados de

interesse para que este seja submetido a processamento pela rede neural.

A linguagem Java foi adotada para fazer a implementação do programa que

serve para tratamento e a segmentação da imagem. Com a adoção de uma

metodologia ágil o paradigma de Orientação a Objetos se adaptou de maneira

satisfatória ao desenvolvimento do aplicativo, devido às inúmeras iterações no

processo de codificação do programa.

O programa desenvolvido é composto de quatro utilidades importantes para

este trabalho. Recorte de imagem, conversão em preto e branco, binarização e

criação dos códigos interpretados pela rede neural artificial. Durante a

implementação das utilidades diversos problemas foram encontrados, que serão

abordados neste tópico.

O recorte da imagem é responsável pela divisão da imagem em fragmentos

de 25 por 25 pixels, um dos principais problemas encontrado nessa fase de

implementação e que iria se estender a fases de conversão e binarização seria a

manipulação dos pixels das imagens. Dada uma imagem, por exemplo, de

500x500 pixels ela possuirá 250.000 pixels que deverão ser divididos em

fragmentos ordenados de 25x25 pixels.

A solução para este que seria o maior dos problemas de implementação

veio após uma longa busca por modelos de segmentação, com a adoção de

biblioteca disponível na linguagem Java chamada “java.awt.image.pixelreader”,

que possibilita a manipulação individual de cada pixel da imagem a ser

processada.

Page 38: Monografia redes neurais para identificação de padrões de imagens em mapas

37

Devido à representação bidimensional de uma fotografia foi dotado à

utilização da manipulação dos pixels em forma de uma Matriz, conseqüentemente

foi dividida em pequenas matrizes para a implementação das demais fases da

segmentação

Durante o desenvolvimento da parte de conversão das cores foram

encontradas certas dificuldades como a manipulação do conteúdo dos pixels, uma

das alternativas para esse problema de conversão de imagem é a utilização de

outra biblioteca “handle single pixel”, que tem como função tratar a representação

das cores no pixel, o objetivo desta fase é minimizando as cores vermelha, e azul

que compõe o pixel e então converter em preto e branco através de um limiar

aplicado sobre a cor verde, sendo branco representando o verde e o preto

representando as demais cores.

Com a imagem já processada a segmentação por limiar bimodal é iniciada

dando origem a uma matriz de 25 por 25 posições de representação binária,

sendo que o valor 1 representa o branco e valor 0 representa o preto. Novamente

no decorrer dessa fase faz se uso da manipulação de pixels, dessa vez para a

determinação do valor de saída, com a utilização de um limiar para separação das

duas cores.

Esta última fase do programa é responsável por gerar um arquivo de

extensão “Pat”, nesse ponto uma preocupação ameaçou o projeto, a utilização da

linguagem Java para a geração de um arquivo tipo texto, o arquivo de texto

deveria ter uma composição especifica que descreve os dados e informações

para a Rede Neural Artificial.

Para solução desse problema foi adotado mais uma biblioteca “java.io” a

qual possibilita a escrita de arquivos tipo texto, com a implementação desta fase

pode se gerar um arquivo com uma estrutura legível pela Rede Neural Artificial,

que é composto de cabeçalho ,entradas e saídas.

Page 39: Monografia redes neurais para identificação de padrões de imagens em mapas

38

Apesar da necessidade da utilização de diversas bibliotecas na codificação

deste software, nenhuma delas dispensou a necessidade de implementação e

codificações alem do estudo para comunicação entre elas.

5.2. Projeto da Rede Neural

Foi escolhida a arquitetura MLP por ser de fácil treinamento e eficácia

quanto ao aprendizado.

A rede MLP é composta por 25x25 neurônios na camada de entrada, uma

camada oculta de 5x5 neurônios e 1 neurônio na camada de saída. Os valores

quanto ao número de neurônios da camada de entrada foram determinados com

base na varredura de uma área equivalente a uma casa, que poderia ser coberto

por 25x25 pixels sendo que a imagem fornecia um zoom de 200 metros.

Já quanto ao número de neurônios da camada oculta, embora o JNNS

ofereça o uso de até 2000 neurônios. Quanto ao número de neurônios da camada

de saída, um neurônio foi suficiente, pois a resposta desejada está entre 0 e 1.

Page 40: Monografia redes neurais para identificação de padrões de imagens em mapas

39

6. Avaliações e Testes

Para obter os resultados, vários processos foram desenvolvidos antes. A

máquina utilizada, no caso um notebook, precisava de uma configuração

apropriada para o trabalho.

Dividido em etapas:

Obtenção da imagem

Tratar e Segmentar a imagem

Treinar a rede neural artificial

6.1. Treinamento da Rede

Na preparação das amostras, foi escolhida uma imagem colorida com

proporções de 250 x 250 para técnica de treinamento por substituição, que

levando em consideração tais proporções, tal imagem submetida à segmentação

gerou 100 fragmentos de 25x25 pixels que correspondem à matriz neural de

25x25 neurônios e uma imagem colorida com proporções de 500 x 500 obtendo

400 fragmentos.

O produto final obtido pelo processo de segmentação se deu em quatro etapas:

1º - Escolha da imagem: escolhida uma imagem aleatória na região de Campinas,

com pouca área verde para conseguir medir a eficiência da rede criada, que foi

capturada do Google Earth e salva com o programa Gimp;

2º - Aplicação do algoritmo de binarização: esse algoritmo estava implementado

nos códigos que foram estudados, que faz o tratamento da imagem tornando ela

preto e branca e depois a transforma em um código binário;

3º – Fragmentação: com o mesmo programa usado para o processo

anteriormente, faz o processo de fragmentação das imagens em pedaços

divididos em 25x25;

4º - Obtenção dos valores binários: esses valores binários foram criados no

processo anterior para depois poder passá-los para o JavaNNS que só aceita

arquivos binários como entrada;

Page 41: Monografia redes neurais para identificação de padrões de imagens em mapas

40

A Imagem escolhida para gerar as amostras para a técnica de substituição é

mostrada na Figura 15.

Figura 15 – Exemplo de imagem não segmentada

Fragmentação da imagem apresentada na Figura 16

Figura 16 – Exemplo de imagem fragmentada

Page 42: Monografia redes neurais para identificação de padrões de imagens em mapas

41

Imagem da Figura 17, escolhida para gerar as amostras para a técnica de

substituição

Figura 17 – Imagem escolhida para gerar as amostras

Transformação ocorrida em um fragmento de imagem após a aplicação do

algoritmo de binarização, mostrado nas duas figuras abaixo.

Figura 18 – Fragmento da imagem colorida e preto e branco

Resultado da obtenção de valores em binário correspondentes aos pixels da

imagem, na Figura 19, como é mostrado abaixo.

Page 43: Monografia redes neurais para identificação de padrões de imagens em mapas

42

1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 1 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Figura 19 – Imagem em preto e branco e código binário ao lado

6.2. Coleta dos Resultados

Esta primeira tabela foi gerada com três metodologias, alterada apenas a

camada oculta da rede neural artificial criada, com os treinamentos 300 ciclos.

Camadas ocultas 4x4 3x25 1x25; 1x25

N° do Teste N° de Acertos

1 28 29 30

2 24 30 24

3 27 28 25

4 21 22 30

5 17 24 34

6 26 28 28

7 23 28 26

8 23 25 31

9 32 35 31

10 31 32 31

Total de acertos 252 281 290

Porcentagem de Acertos 63% 70,3 % 72,5% Tabela 1 – Médias Obtidas pela técnica 10 fold Cross Validation, 300 ciclos.

Page 44: Monografia redes neurais para identificação de padrões de imagens em mapas

43

A segunda tabela gerada com o treino com uma nova amostra, treinada

com 100 ciclos e outra metodologia, que os pesos foram alterados.

Camadas Ocultas 25x2; 10x1 25x2; 10x1 25x2 1x25; 1x25

Nº de Ciclos 100 500 200 100

Nº do Teste N° de Acertos

1 29 27 30 34

2 26 26 31 36

3 25 25 28 35

4 28 25 28 34

5 31 32 36 37

6 32 30 31 39

7 30 31 35 38

8 27 24 31 36

9 25 26 29 38

10 27 27 29 38

Total de acertos em 400 280 273 308 365

porcentagem de acertos 70% 68,25% 77% 91,30%

Tabela 2 – Médias Obtidas pela técnica 10 fold Cross Validation, com diferentes ciclos.

Page 45: Monografia redes neurais para identificação de padrões de imagens em mapas

44

7. Análise dos Resultados

0

5

10

15

20

25

30

35

40

45

1 2 3 4 5 6 7 8 9 10

25x2;10x1 100

25x2;10x1 500

25x2 200

2x25 100

Figura 20 – Gráfico de resultados

Os resultados geraram o gráfico da figura 20 que, de acordo com a Tabela

2, mostra a evolução de cada pacote de treinamento, com os devidos testes de 40

resultados com o número de acertos apenas. Os resultados obtidos de cima para

baixo conforme a legenda de cima para baixo, duas camadas ocultas com linhas

de 25 colunas mais uma camada de uma linha de 10 colunas treinadas com 100 e

500 ciclos, respectivamente. A terceira com uma camada oculta de duas linhas de

25 colunas treinada com 200 ciclos. A última com uma camada oculta de 25 linhas

com duas colunas, treinada com 100 ciclos.

A média dos resultados obtidos nos testes, conforme a primeira tabela

mostrou se não muito eficiente, pois os testes feitos com uma amostra que não

havia um número grande de áreas verdes na imagem inteira. Havia apenas

poucas árvores que estavam distantes uma das outras, isso compromete logo no

treinamento da rede, que gera um número grande de erros nos testes. Mesmo

assim a rede estava apta para os testes com um número de ciclos em todos os

Page 46: Monografia redes neurais para identificação de padrões de imagens em mapas

45

casos se estabilizaram em 300 ciclos. O último resultado, o melhor entre os três,

foi de 72,5 % com uma camada oculta de 25 linhas com duas colunas, treinada

com 100 ciclos. O último usou um método diferente dos outros, pois houve uma

variação dos pesos antes do treinamento da rede resultado é melhor que os

outros dois.

Nos testes que geraram a segunda tabela alterou bastante o resultado, pois

houve diferentes metodologias como na primeira. Nos três testes, 25x2; 10x1 com

100 e 500 ciclos, ha uma variação de resultados conforme o número de ciclos.

Com o aumento do número de ciclos o resultado estranhamente fica inferior,

normalmente acontece o contrario. O teste realizado com uma camada oculta de

25x2, com o treinamento de 200 ciclos, sendo esse o número máximo, gera um

resultado melhor mesmo com um número menor de ciclos.

A rede neural artificial com o melhor número de resultados foi a de duas

camadas ocultas de 25 linhas que obteve o resultado de 91,30 % de acertos. O

método usado foi o mesmo da primeira tabela com 72,5 % de acerto e com o

número de ciclos máximo usado, que foi de 100. Fez com que a quantidade de

acertos aumentasse, com isso, a rede já mostrava uma eficiência que não havia a

necessidade de aumentar o número de ciclos.

Durante os treinos, também houve a possibilidade de prever os resultados,

pois o programa JavaNNS gerava um gráfico de erro enquanto havia o

treinamento. A análise do gráfico era fundamental, pois quanto melhor o resultado

do gráfico gerado melhor se tornava à rede. Quando a linha do gráfico se tornava

mais próxima a uma reta significava que a rede se tornava mais estável quanto

aos resultados que gerava depois nos testes. O gráfico da Figura 21 demonstra o

exemplo da rede que resultou em 77 % de acertos.

Page 47: Monografia redes neurais para identificação de padrões de imagens em mapas

46

Figura 21 – Gráfico de erro da rede neural durante o treinamento.

Page 48: Monografia redes neurais para identificação de padrões de imagens em mapas

47

8. Conclusão

O trabalho precisou de muita pesquisa para superar as dificuldades por ele

apresentadas, a fim de chegar ao objetivo desejado, qual seja, a identificação de

áreas verdes em mapas. O funcionamento da rede neural artificial foi necessário

para o aprendizado do padrão a ser ensinado, que métodos e programas

poderiam ser usados para criar e treinar a rede para fazer a pesquisa em uma

matriz. A segmentação de imagens mostrou-se um procedimento necessário, pois

uma imagem muito grande não poderia ser tratada com os recursos disponíveis.

Com as ferramentas disponíveis na Internet, no caso o Google Maps e o

Google Earth, foi possível adquirir as fotos de satélite com algumas áreas verdes

da região de Campinas, a cidade escolhida para este estudo. Um processo

necessário após a captura da imagem foi o tratamento e a segmentação para

depois transformar a imagem em um arquivo binário. Baseado em vários códigos

disponíveis na Internet, foi desenvolvido um software segmentador de imagens

que gera, ao final, um arquivo texto com o código binário. O programa JavaNNS

auxiliou na criação da rede neural artificial que foi treinada e testada com base no

arquivo gerado no processo de segmentação. Efetuar esse processo usando

programas pagos não seria possível, pois além se haver um custo elevado,

exigiria uma melhor configuração de hardware. Os recursos utilizados neste

trabalho são gratuitos e exigem um equipamento com configurações não muito

avançadas.

No melhor dos testes, consegui-se obter o resultado alvo, que é a

identificação das áreas verdes em mapas com uma precisão de 72,5%. Após a

análise dos resultados percebeu-se que a rede neural artificial foi bem treinada e

estava bem preparada para a tarefa de identificação proposta. Isso mostrou que a

pesquisa realizada ao decorrer do ano, com os recursos disponíveis, resultou no

resultado procurado.

Page 49: Monografia redes neurais para identificação de padrões de imagens em mapas

48

8.1 Limitações

Durante o processo de avaliação do JavaNNS, constataram-se algumas

limitações, dentre elas o fato de ser limitado quanto ao número de neurônios,

totalizado em 2000 neurônios. Houve a tentativa de mexer no kernel do programa

que originalmente é construído em linguagem C e uma camada Java faz a

interface do aplicativo. Mas o que se descobriu é que partes de kernel não eram

passíveis de alteração, eram simplesmente arquivos exe3, uma engenharia

reversa tomaria muito tempo além do fato de não saber que tipo de código, de

que maneira estaria estruturado e caso pudesse ser alterado, como se

comportaria. O código não estava muito bem estruturado e comentado, também

dificultou ainda mais a busca mal-sucedida de uma solução.

Outro limite encontrado foi quanto à arquitetura proposta ao encontrar uma

topologia estável, pois muitas das topologias testadas, embora razoavelmente

eficientes, tornava o framework instável. Isso esta relacionado às camadas

ocultas, responsáveis pelo processamento. Quanto maior o número de camadas

ocultas, automaticamente aumentava o tempo de processamento ou mesmo não

havendo a execução do aplicativo com um número grande de camadas ocultas.

8.2 Trabalhos futuros

Com os resultados obtidos neste estudo existem outras possibilidades a

serem criadas. A utilização da rede neural artificial para fazer o reconhecimento do

padrão pode ser usada não só para as áreas verdes de uma cidade como

também para construções e outros objetos que possam ser reconhecidos essa

técnica como, por exemplo, encontrar ruas que sejam mais movimentadas em

relação ao trânsito, em um determinado local. Esse tipo de aplicativo pode ainda

ser usado em aparelhos celulares - como o Google Maps, que já é compatível na

maioria dos navegadores – e permitir a identificação da área verde mais próxima

para fazer turismo ecológico, por exemplo.

Page 50: Monografia redes neurais para identificação de padrões de imagens em mapas

49

Um estudo aprofundado da mata atlântica disponível no Brasil poderia

também se beneficiar de estudos como este estudo que foi feito. Ainda é possível

realizar a comparação entre diferentes regiões com cálculos estatísticos que

poderiam ser feitos por meio do tamanho da área, observando a quantidade

existente em uma região. Outra possibilidade seria a criação da rede neural

artificial usando o MATLAB que traz e utiliza muitos recursos de uma máquina,

com o objetivo de se vencer as limitações do JavaNNS, mesmo sendo com uma

configuração que tenha um custo mais alto.

3 arquivo executável.

Page 51: Monografia redes neurais para identificação de padrões de imagens em mapas

50

Referências Bibliográficas

ANDRADE, Adriano de Oliveira, Redes Neurais Aplicadas ao Processamento

de Imagens de Satélite, de Universidade Federal de Goiás, Escola de

Engenharia Elétrica, Grupo PIRENEUS, 1997. Disponível em:

<http://www.aoandrade.eletrica.ufu.br/Documents/Relat%F3rio%20final%20do%2

0CNPQ.pdf > Acesso em: 31 mai 2008.

CASTRO, Fernando César Comparsi de, Reconhecimento e Localização de

Padrões em Imagens Utilizando Redes Neurais Artificiais como Estimadores

de Correlação Espectral, Pontifícia Universidade Católica do Rio Grande d Sul

para Obtenção do Grau de Mestre em Engenharia, dezembro de 1995. Disponível

em: <http://www.ee.pucrs.br/~decastro/pdf/F_MasterThesis.pdf>. Acesso em: 16

mar 2008.

RUSSEL, Stuart e NORVIG, Peter, Inteligência Artificial, Tradução de: Artificial

Intelligence, 2nd edition, tradução de PubliCare Consultoria, Rio de Janeiro,

Elsevier, 2004.

TAYLOR, Bret, The Official Google Blog, 2005. Disponível em:

<http://googleblog.blogspot.com/2005/02/mapping-your-way.html>. Acesso em: 12

ago 2008.

CARDOZO, André, Google Revista Info, Editora Abril, jan, 2006

FORTES, Débora, A Era dos Mapas, Revista Info, Editora Abril, jan 2007.

OSÓRIO Fernando e BITTENCOURT, João Ricardo, I WORKSHOP DE

INTELIGÊNCIA ARTIFICIAL, Universidade de Santa Cruz do Sul, Departamento

de Informática, Junho 2000. Disponível em: <http://osorio.wait4.org/oldsite/wia-

unisc/wia2000-full.pdf>. Acesso em: 20 mar 2008.

Page 52: Monografia redes neurais para identificação de padrões de imagens em mapas

51

MOREIRA, José, Porquê usar Java …, 22 de março 2007. Disponível em:

<http://www.josemoreira.net/2007/03/22/porque-usar-java/>. Acessado em: 15 ago

2008.

RIBEIROO, F. F. S., LIMA,A. C. de C., Detecção de volume de tráfego de

veículos proporcionada por visão computacional via redes neurais, Instituto

Tecnológico de Aeronáutica, 1999. Disponível em: < www.ele.ita.br/cnrn/artigos-

4cbrn/4cbrn_024.pdf >. Acesso em: 31 mai 2008.

GARCIA, João Carlos Eugênio, Proposta de uma Infra-Estrutura de Tomada de

Decisões para SDIs, Centro Universitário de Araraquara, Araraquara, 2004.

Disponível em: <

http://buscatextual.cnpq.br/buscatextual/visualizacv.jsp?id=K4701521U9 >.

Acesso em: 10 set. 2008

NOVAES, Washington, O clima, a economia, o futuro da Amazônia, 2006.

Disponível em: < http://www.estadao.com.br>. Acesso em: 15 nov 2008

SOARES, Michel dos Santos, Comparação entre Metodologias Ágeis e

Tradicionais para o Desenvolvimento de Software, 2004. Disponível em: <

http://www.dcc.ufla.br/infocomp/artigos/v3.2/art02.pdf >. Acesso em: 15 nov 2008.

MARCHEZI, Fabiana, Inpe vê 552 pontos de alerta de desmatamento na

Amazônia, 2008. Disponível em:

<http://www.estadao.com.br/vidae/not_vid153967,0.htm >. Acesso em: dez 2008.

NOVAES, Washington, Só a quebradeira para ajudar o meio ambiente, 2008.

Disponível em: < http://www.estadao.com.br/ suplementos/not_sup297121,0.htm>.

Acesso em: dez 2008.

O ESTADO DE SÃO PAULO, SP precisa de 162 milhões de árvores para

neutralizar CO2, 2007. Disponível em: <http://www.estadao.com.br/

estadaodehoje/20071208/not_imp92502,0.php>. Acesso em: dez 2008.

Page 53: Monografia redes neurais para identificação de padrões de imagens em mapas

52

WANDRESEN, Romualdo, ANDRADE , José Bittencourt de, MITISHITA , Edson

Aparecido, Integração entre redes neurais e correlação para a identificação

de pontos de apoio pré-sinalizados, Pontifícia Universidade Católica do Paraná,

2005. Disponível em: <http://ojs.c3sl.ufpr.br/ojs2/index.php/bcg/

article/viewPDFInterstitial/4394/3459>. Acesso em: 11 ago 2008

SOURCEFORGE, 2008. Todos os códigos para o desenvolvimento do programa

de segmentação. 2008. Disponível em: <http://sourceforge.net/ >. Acesso em: 10

abr 2008

LACERDA, Prof. Wilian Soares, REDES NEURAIS ARTIFICIAIS, Universidade

Federal de Lavras, 2006. Disponível em:

<http://www.dcc.ufla.br/~lacerda/download/palestras/rna/introducao_RNA_2006.pp

t >. Acesso em: 2007.

SOBRAL, João Luís, Segmentação de Imagem, Universidade do Minho Portugal,

2002 Disponível em: <http://gec.di.uminho.pt/lesi/

vpc0304/Aula07Segmentação.pdf>. Acesso em: 7 ago 2008.

Page 54: Monografia redes neurais para identificação de padrões de imagens em mapas

53

Anexos

Anexo 1 – Visões do JNNS

Figura 22 – Rede Neural não treinada.

Figura 23 – Interface de ferramentas para o treinamento

Page 55: Monografia redes neurais para identificação de padrões de imagens em mapas

54

Aprendizagem da rede com JNNS

Foi realizado um total de 100 ciclos de treinamentos.

Figura 24 - Rede Neural em processo de treinamento

Padrão reconhecido como área não verde

Figura 25 – Saída de neurônios não ativada

Page 56: Monografia redes neurais para identificação de padrões de imagens em mapas

55

Padrão reconhecido como área verde

Figura 26 – Saída de neurônios ativada

Page 57: Monografia redes neurais para identificação de padrões de imagens em mapas

56

Anexo 2 – Dados brutos dos testes

Tabela 3 - Resultados obtidos pela técnica de 10 fold Cross-validation, 100 ciclos

Nº Conjunto Nº Amostra Resultado esperado

Resultado obtido

1 1 + 0.627

2 + 0.338

3 + 0.995

4 + 0.918

5 + 0.997

6 + 0.997

7 + 0.993

8 + 0.994

9 + 0.991

10 + 0.996

11 - 0.033

12 - 0.343

13 - 0.042

14 + 0.646

15 - 0.142

16 + 0.992

17 + 0.321

18 + 0.756

19 - 0.070

20 - 0.010

21 - 0.008

22 - 0.018

23 + 0.991

24 + 0.712

25 + 0.994

26 + 0.991

27 + 0.997

28 - 0.023

29 - 0.002

30 - 0

31 - 0.352

32 - 0.631

33 + 0.989

34 + 0.996

35 + 0.391

36 - 0

37 - 0.460

38 - 0.122

39 + 0.037

40 - 0.153

Page 58: Monografia redes neurais para identificação de padrões de imagens em mapas

57

Total de acertos 34

2 1 + 0.940

2 + 0.207

3 - 0.658

4 - 0.529

5 - 0.002

6 - 0.002

7 + 0.994

8 + 0.992

9 + 0.776

10 - 0.009

11 + 0.297

12 + 0.888

13 + 0.791

14 - 0

15 - 0.005

16 - 0.001

17 + 0.978

18 - 0.201

19 - 0.010

20 - 0.014

21 + 0.993

22 - 0.345

23 + 0.992

24 - 0.004

25 + 0.992

26 - 0.057

27 + 0.967

28 + 0.994

29 - 0.024

30 - 0.130

31 + 0.954

32 - 0.049

33 - 0.001

34 - 0

35 - 0.298

36 + 0.962

37 + 0.994

38 - 0.061

39 - 0.004

40 - 0.022

Total de acertos 36

3 1 - 0

2 - 0.024

3 + 0.993

4 - 0.585

5 - 0.003

6 - 0.028

Page 59: Monografia redes neurais para identificação de padrões de imagens em mapas

58

7 - 0.021

8 + 0.991

9 + 0.955

10 - 0.844

11 - 0.525

12 - 0.015

13 - 0.003

14 + 0.929

15 + 0.879

16 - 0.007

17 - 0.029

18 + 0.995

19 + 0.995

20 - 0.001

21 + 0.900

22 - 0.908

23 - 0.773

24 - 0.013

25 - 0.041

26 - 0.002

27 - 0.075

28 + 0.905

29 + 0.995

30 + 0.990

31 + 0.995

32 + 0.957

33 + 0.989

34 + 0.983

35 + 0.995

36 + 0.995

37 - 0.701

38 - 0.026

39 - 0

40 - 0.261

Total de acertos 35

4 1 - 0.930

2 - 0.049

3 + 0.904

4 - 0.022

5 - 0

6 - 0.591

7 - 0.008

8 - 0.893

9 + 0.994

10 + 0.994

11 + 0.994

12 + 0.994

13 + 0.991

Page 60: Monografia redes neurais para identificação de padrões de imagens em mapas

59

14 - 0

15 + 0.991

16 + 0.994

17 + 0.990

18 - 0.797

19 - 0

20 - 0.972

21 - 0.866

22 + 0.992

23 + 0.987

24 - 0.425

25 - 0.007

26 - 0.003

27 - 0.207

28 + 0.977

29 + 0.990

30 + 0.976

31 + 0.994

32 + 0.992

33 + 0.920

34 - 0.010

35 - 0.032

36 - 0.011

37 + 0.994

38 - 0.007

39 - 0.011

40 + 0.994

Total de acertos 34

5 1 - 0

2 - 0.006

3 + 0.975

4 - 0.621

5 - 0

6 - 0.017

7 - 0.093

8 + 0.980

9 + 0.423

10 - 0.010

11 + 0.980

12 + 0.980

13 + 0.976

14 - 0.045

15 + 0.980

16 - 0

17 + 0.602

18 + 0.980

19 + 0.980

20 + 0.980

Page 61: Monografia redes neurais para identificação de padrões de imagens em mapas

60

21 + 0.975

22 - 0

23 + 0.092

24 + 0.971

25 - 0.103

26 - 0.070

27 - 0.089

28 + 0.980

29 + 0.966

30 - 0

31 - 0.001

32 + 0.982

33 + 0.910

34 - 0.004

35 - 0.001

36 - 0

37 - 0

38 - 0

39 + 0.980

40 + 0.975

Total de acertos 37

6 1 + 0.996

2 + 0.997

3 + 0.996

4 + 0.996

5 - 0

6 - 0

7 + 0.993

8 + 0.920

9 + 0.962

10 - 0

11 - 0

12 + 0.980

13 + 0.989

14 - 0.255

15 - 0.222

16 - 0.002

17 - 0

18 + 0.992

19 + 0.945

20 + 0.996

21 + 0.966

22 + 0.730

23 + 0.981

24 + 0.760

25 - 0.029

26 - 0

27 - 0

Page 62: Monografia redes neurais para identificação de padrões de imagens em mapas

61

28 + 0.996

29 - 0.024

30 - 0.084

31 + 0.898

32 - 0.012

33 - 0.325

34 + 0.869

35 - 0.328

36 + 0.995

37 - 0.039

38 + 0.996

39 + 0.968

40 + 0.147

Total de acertos 39

7 1 + 0.992

2 + 0.032

3 - 0.004

4 + 0.994

5 + 0.993

6 - 0.758

7 - 0.006

8 + 0.954

9 - 0.053

10 + 0.983

11 - 0.341

12 - 0.122

13 - 0.011

14 - 0.050

15 + 0.995

16 + 0.833

17 - 0.168

18 + 0.988

19 + 0.993

20 + 0.994

21 + 0.960

22 + 0.916

23 + 0.760

24 + 0.887

25 - 0.367

26 - 0.031

27 + 0.790

28 + 0.992

29 - 0.006

30 - 0.077

31 - 0.095

32 + 0.900

33 + 0.784

34 + 0.989

Page 63: Monografia redes neurais para identificação de padrões de imagens em mapas

62

35 + 0.993

36 - 0.040

37 + 0.681

38 - 0.053

39 - 0.093

40 + 0.993

Total de acertos 38

8 1 - 0.119

2 - 0.722

3 - 0.260

4 + 0.976

5 - 0

6 - 0

7 + 0.982

8 + 0.988

9 + 0.988

10 + 0.433

11 + 0.979

12 + 0.988

13 + 0.988

14 - 0.227

15 + 0.985

16 - 0

17 - 0

18 + 0.892

19 - 0

20 - 0.282

21 + 0.988

22 + 0.988

23 + 0.988

24 - 0.407

25 - 0.006

26 - 0.357

27 - 0.011

28 - 0.762

29 + 0.987

30 - 0

31 - 0

32 + 0.988

33 + 0.987

34 + 0.867

35 - 0.764

36 + 0.972

37 + 0.953

38 + 0.988

39 - 0.002

40 - 0.055

Total de acertos 36

Page 64: Monografia redes neurais para identificação de padrões de imagens em mapas

63

9 1 + 0.990

2 + 0.985

3 + 0.990

4 + 0.641

5 - 0

6 - 0.472

7 - 0.233

8 - 0.001

9 - 0

10 - 0

11 - 0.002

12 + 0.990

13 + 0.975

14 + 0.967

15 - 0.001

16 + 0.990

17 + 0.990

18 - 0.156

19 - 0.829

20 + 0.967

21 + 0.990

22 + 0.984

23 + 0.989

24 + 0.988

25 - 0.058

26 - 0.512

27 + 0.990

28 + 0.986

29 - 0.001

30 - 0

31 - 0.004

32 + 0.990

33 - 0.117

34 - 0

35 + 0.981

36 + 0.990

37 + 0.990

38 - 0.004

39 + 0.872

40 - 0.008

Total de acertos 38

10 1 + 0.993

2 + 0.988

3 + 0.995

4 + 0.995

5 + 0.994

6 - 0.026

7 + 0.995

Page 65: Monografia redes neurais para identificação de padrões de imagens em mapas

64

8 - 0.059

9 - 0

10 - 0.007

11 - 0.127

12 - 0.001

13 - 0.339

14 + 0.870

15 - 0.114

16 + 0.995

17 + 0.955

18 - 0.881

19 + 0.995

20 - 0.232

21 - 0

22 - 0.541

23 + 0.995

24 + 0.994

25 - 0.059

26 - 0.052

27 + 0.994

28 + 0.995

29 + 0.962

30 - 0

31 - 0.003

32 + 0.164

33 - 0.021

34 - 0.251

35 - 0.246

36 + 0.931

37 + 0.995

38 + 0.686

39 + 0.931

40 - 0.026

Total de acertos 38

Porcentgem de acerto

91.25%