ANHANGUERA EDUCACIONAL SA. Faculdade Anhanguera de Valinhos  Curso de Ciência da Computação        André Luiz Pitante,    ...
André Luiz Pitante,         Daniel Vecchiato e      Felipe Kaufmann CorrêaRedes Neurais para a Identificaçãode Padrões em ...
André Luiz Pitante,                       Daniel Vecchiato e                    Felipe Kaufmann Corrêa              Redes ...
AGRADECIMENTOSA todos os familiares, amigos, professores e colegas que ajudaram a realizar otrabalho.
“Por pensar ser o trabalho mais difícil que    existe, só poucos se dedicam a isso.”    Henry Ford, 30.07.1863 - 07.04.1947
RESUMOPITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. RedesNeurais para a Identificação de Padrões em Ima...
ABSTRACTPITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. NeuralNetworks for Identification of Patterns in ...
LISTA DE FIGURASFigura 1 – Histórico do desmatamento...............................................................15Figur...
LISTA DE TABELASTabela 1 – Médias Obtidas pela técnica 10 fold Cross Validation, 300 ciclos......42Tabela 2 – Médias Obtid...
LISTA DE SIGLASINPE – Instituto Nacional de Pesquisas EspaciaisJavaNNS – Java Neural Network SimulatorRNA – Redes Neurais ...
SUMÁRIO1. Introdução ........................................................................................................
1. Introdução      Atualmente a questão do meio ambiente tornou-se um assunto importante,tanto por parte das empresas quan...
programa na linguagem Java que pudesse fazer o tratamento e transformar aimagem em um código binário dentro de um arquivo....
Qualquer outra ferramenta do gênero poderia ser utilizada, mas neste projeto foiconsiderada a mais apropriada por possuir ...
2. Pesquisa Bibliográfica2.1. Diminuição das Áreas Verdes         As áreas arborizadas nem sempre são devidamente valoriza...
vegetal. A Figura 1 mostra um gráfico com o histórico do desmatamento.      Figura 1 – Histórico do desmatamento. (O Estad...
consistem na localização de endereços de interesse do usuário, ou na busca delugares que a pessoa gostaria de conhecer. Id...
Além dos recursos supracitados foi utilizado o programa Gimp para recortarum pedaço de uma imagem maior e colocar no taman...
A técnica baseadas em limiarização (thresholding) é uma das maisimportantes    do   processo     de    segmentação     de ...
2006], onde neurônios artificiais conectados em rede são capazes de aprender egeneralizar. Técnica de aproximação de funçõ...
Na Figura 2 é ilustrado um neurônio biológico.              Figura 2 - Representação do neurônio biológico. [UNISANTA, 200...
capacidade de aprendizagem em redes neurais biológicas vem da alteração daeficiência sináptica, ou seja, a conexão somente...
A operação de um neurônio artificial se resume ao modo como os sinaissão apresentados à entrada (x1 à xm). Cada sinal é mu...
A Função Logística determina o tipo de operação realizada entre os neurônios, demodo a propagar valores que variam entre 0...
A rede Feedforward de uma única camada, os neurônios da camada deentrada correspondem aos neurônios sensoriais que possibi...
2.6 Treinamento      A propriedade mais importante das redes neurais consiste na habilidade deaprender de seu ambiente e c...
Vetor de estado                               do ambiente              ambiente                                professor  ...
2.7. Aprendizado de Máquina        A Inteligência Computacional [UFLA, 2006] busca, através de técnicasinspiradas na Natur...
Figura 10 – Rede Neural não treinada.      Inicialmente foi escolhida a arquitetura MLP, mostrada na Figura 10, por serde ...
Aprendizagem da rede com JNNS      Foram realizados treinamentos, como mostra a Figura 12, com diversosnúmeros de ciclos d...
Na Figura 14 é mostrado o padrão reconhecido como área verde                      Figura 14 – Saída de neurônios ativada  ...
3. Trabalhos Correlatos3.1. Integração entre redes neurais e correlação para a identificação depontos de apoio pré-sinaliz...
Depois de a aerofoto ser tirada, foram anotadas as coordenadas dospontos marcados, permitindo aos algoritmos calcular os p...
Em seguida foi preciso fazer uso de um terceiro programa para converter todas asimagens em escalas de cinza. O MATLAB foi ...
4. Metodologias4.1. Metodologia de Pesquisa       Este trabalho utilizou-se primordialmente da Internet para encontrar uma...
Uma grande variedade de informações foi encontrada ao longo do trabalho,tanto na Internet quanto em alguns livros sobre re...
5. Desenvolvimento5.1. Programa de Segmentação      Para solução do problema abordado no caso de uso, faz-se a utilização ...
Devido à representação bidimensional de uma fotografia foi dotado àutilização da manipulação dos pixels em forma de uma Ma...
Apesar da necessidade da utilização de diversas bibliotecas na codificaçãodeste software, nenhuma delas dispensou a necess...
6. Avaliações e Testes       Para obter os resultados, vários processos foram desenvolvidos antes. Amáquina utilizada, no ...
A Imagem escolhida para gerar as amostras para a técnica de substituição émostrada na Figura 15.                 Figura 15...
Imagem da Figura 17, escolhida para gerar as amostras para a técnica desubstituição                     Figura 17 – Imagem...
1000100000000000111111110                          1110000000100011111111110                          11000000001000111111...
A segunda tabela gerada com o treino com uma nova amostra, treinadacom 100 ciclos e outra metodologia, que os pesos foram ...
7. Análise dos Resultados  45  40  35  30                                                                      25x2;10x1 1...
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...
Figura 21 – Gráfico de erro da rede neural durante o treinamento.                                46
8. Conclusão      O trabalho precisou de muita pesquisa para superar as dificuldades por eleapresentadas, a fim de chegar ...
8.1 Limitações      Durante o processo de avaliação do JavaNNS, constataram-se algumaslimitações, dentre elas o fato de se...
Um estudo aprofundado da mata atlântica disponível no Brasil poderiatambém se beneficiar de estudos como este estudo que f...
Referências BibliográficasANDRADE, Adriano de Oliveira, Redes Neurais Aplicadas ao Processamentode Imagens de Satélite, de...
MOREIRA, José, Porquê usar Java …, 22 de março 2007. Disponível em:<http://www.josemoreira.net/2007/03/22/porque-usar-java...
WANDRESEN, Romualdo, ANDRADE , José Bittencourt de, MITISHITA , EdsonAparecido, Integração entre redes neurais e correlaçã...
AnexosAnexo 1 – Visões do JNNSFigura 22 – Rede Neural não treinada.Figura 23 – Interface de ferramentas para o treinamento...
Aprendizagem da rede com JNNS       Foi realizado um total de 100 ciclos de treinamentos.Figura 24 - Rede Neural em proces...
Padrão reconhecido como área verdeFigura 26 – Saída de neurônios ativada                                         55
Anexo 2 – Dados brutos dos testesTabela 3 - Resultados obtidos pela técnica de 10 fold Cross-validation, 100 ciclosNº Conj...
Total de acertos    342    1           +          0.940     2           +          0.207     3           -          0.658 ...
7           -          0.021     8           +          0.991     9           +          0.955    10           -          ...
14           -            0    15           +          0.991    16           +          0.994    17           +          0...
21           +          0.975    22           -            0    23           +          0.092    24           +          0...
28           +          0.996    29           -          0.024    30           -          0.084    31           +         ...
35           +          0.993    36           -          0.040    37           +          0.681    38           -         ...
9     1           +          0.990      2           +          0.985      3           +          0.990      4           + ...
8           -           0.059 9           -             010           -           0.00711           -           0.12712   ...
Próximos SlideShares
Carregando em…5
×

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

1.788 visualizações

Publicada em

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

0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.788
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
66
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 1. ANHANGUERA EDUCACIONAL SA. Faculdade Anhanguera de Valinhos Curso de Ciência da Computação André Luiz Pitante, Daniel Vecchiato e Felipe Kaufmann CorrêaRedes Neurais para a Identificaçãode Padrões em Imagens de Mapas Valinhos 2008
  2. 2. André Luiz Pitante, Daniel Vecchiato e Felipe Kaufmann CorrêaRedes Neurais para a Identificaçãode 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
  3. 3. André Luiz Pitante, Daniel Vecchiato e Felipe Kaufmann Corrêa Redes Neurais para a Identificação de Padrões em Imagens de MapasTrabalho de conclusão de curso aprovado em 18 de dezembro de2008 como exigência parcial para a obtenção do grau de Bacharel emCiência da Computação da Faculdade Anhanguera de Valinhos, pelabanca 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
  4. 4. AGRADECIMENTOSA todos os familiares, amigos, professores e colegas que ajudaram a realizar otrabalho.
  5. 5. “Por pensar ser o trabalho mais difícil que existe, só poucos se dedicam a isso.” Henry Ford, 30.07.1863 - 07.04.1947
  6. 6. RESUMOPITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. RedesNeurais 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 desatélite, utilizando redes neurais artificiais. Como caso de estudo, optou-se poridentificar áreas verdes nas imagens de mapas tiradas por satélite. Tais imagenspodem ser escolhidas pelo usuário. As imagens utilizadas foram obtidas a partirde ferramentas como o Google Earth e Maps. Um programa escrito emlinguagem Java foi usado para fazer a segmentação da imagem e o seutratamento, transformando a imagem em código binário gravado em um arquivo. Aimportância deste processo de segmentação consiste em permitir que o programaseguinte entenda a imagem, pois os arquivos de entrada só serão arquivos textocom códigos em binário. Uma rede neural artificial criada para o trabalho, com ouso do JavaNNS (Java Neural Network Simulator), foi treinada para que a áreaverde pudesse ser identificada no mapa. A partir deste experimento conseguiu-seobter resultados que demonstram que a rede foi treinada para identificar o padrãode forma eficiente.Palavras-chave:áreas verdes, segmentação de imagem, Redes neurais artificiais
  7. 7. ABSTRACTPITANTE, André Luiz; VECCHIATO, Daniel; CORRÊA, Felipe Kaufmann. NeuralNetworks for Identification of Patterns in Images of Maps. Valinhos 2008, 65 p.Monograph of completion of course work (Computer Science) ACF, 2008The goal is to recognize patterns in satellite images, using artificial neuralnetworks. As a case study, we decided to identify green areas in the images ofmaps drawn by satellite. Such images can be chosen by the user. The usedimages were obtained from tools like Google Earth and Maps. A program written inJava 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 thisprocess of segmentation is to allow the program to understand the image as theinput files only with text files in binary codes. An artificial neural network designedto work with the use of JavaNNS (Java Neural Network Simulator) was trained forthe green area that could be identified on the map. From this experiment we wereable to achieve results that demonstrate that the network was trained to identifythe pattern efficiently.Keywords:green areas, image segmentation, artificial neural networks
  8. 8. LISTA DE FIGURASFigura 1 – Histórico do desmatamento...............................................................15Figura 2 – Representação do Neurônio Biológico..............................................20Figura 3 – Modelo de Neurônio Artificial.............................................................21Figura 4 – Função de saída................................................................................22Figura 5 – Função de Ativação...........................................................................22Figura 6 – Função logística.................................................................................22Figura 7 – Rede Neural Monocamada................................................................24Figura 8 – Modelo de Rede Neural Múltiplas Camadas......................................24Figura 9 - Diagrama de treinamento de algoritmo Backpropagation...................26Figura 10 – Rede Neural não treinada................................................................28Figura 11 – Interface de ferramentas para o treinamento...................................28Figura 12- Rede Neural em processo de treinamento........................................29Figura 13 – Saída de neurônios não ativada......................................................29Figura 14 – Saída de neurônios ativada.............................................................30Figura 15 – Exemplo de imagem não segmentada.............................................40Figura 16 – Exemplo de imagem fragmentada...................................................40Figura 17 – Imagem escolhida para gerar as amostras......................................41Figura 18 – Fragmento da imagem colorida e preto e branca............................41Figura 19 – Imagem preto e branca e código binário ao lado............................42Figura 20 – Gráfico dos resultados.....................................................................44Figura 21 - Gráfico de erro da rede neural durante o treinamento.....................46Figura 22 – Rede Neural não treinada................................................................53Figura 23 – Interface de ferramentas para o treinamento...................................53Figura 24 - Rede Neural em processo de treinamento ......................................54Figura 25 – Saída de neurônios não ativada .....................................................54Figura 26 – Saída de neurônios ativada ............................................................55
  9. 9. LISTA DE TABELASTabela 1 – Médias Obtidas pela técnica 10 fold Cross Validation, 300 ciclos......42Tabela 2 – Médias Obtidas pela técnica 10 fold Cross Validation, 100 ciclos......43Tabela 3 - Resultados pela técnica de 10 fold Cross-validation, 100 ciclos..........56
  10. 10. LISTA DE SIGLASINPE – Instituto Nacional de Pesquisas EspaciaisJavaNNS – Java Neural Network SimulatorRNA – Redes Neurais Artificiais
  11. 11. SUMÁRIO1. Introdução ............................................................................................................. 11 1.1. Objetivo........................................................................................................... 12 1.2 Proposta .......................................................................................................... 122. 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 ................................................................................ 273. 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 ........................................................................... 324. Metodologias ......................................................................................................... 34 4.1. Metodologia de Pesquisa................................................................................ 34 4.2. Metodologia de Desenvolvimento de Software ............................................... 355. Desenvolvimento ................................................................................................... 36 5.1. Programa de Segmentação ............................................................................ 36 5.2. Projeto da Rede Neural .................................................................................. 386. Avaliações e Testes ............................................................................................... 39 6.1. Treinamento da Rede ..................................................................................... 39 6.2. Coleta dos Resultados .................................................................................... 427. Análise dos Resultados ......................................................................................... 448. Conclusão ............................................................................................................. 47 8.1 Limitações ........................................................................................................ 48 8.2 Trabalhos futuros ............................................................................................. 48Referências Bibliográficas ......................................................................................... 50Anexos ...................................................................................................................... 53 Anexo 1 – Visões do JNNS .................................................................................... 53 Anexo 2 – Dados brutos dos testes ....................................................................... 56
  12. 12. 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 nomundo foi devastada devido ao interesse pela madeira e pela utilização do espaçopara a produção agrícola. O acompanhamento dessa devastação é hoje facilitadopor meio de satélites que monitoram a superfície da terra, permitindo que se façao controle das áreas desmatadas de um país. Porém, são poucos os softwaresque fazem a análise das imagens de satélite e normalmente não são acessíveisao público. Esse tipo de aplicação pode gerar um custo bem elevado para serobtido e até existem empresas que fazem esse trabalho, mas é necessário pagaruma taxa mensal para a realização deste estudo que tragam os resultadosatualizados. Ao longo deste trabalho procurar-se-á apresentar como é realizada aidentificação de áreas verdes em imagens de satélite. Para isso a escolha dogrupo foi pela utilização de uma Rede Neural Artificial (RNA) que faça o trabalhode reconhecimento do padrão, embora existam outras formas de realizar estatarefa. Outros métodos de identificação podem ser usados neste processo,entretanto, com o estudo feito aqui, o mais adequado envolve um programa desegmentação e outro para a criação da rede neural. Além da rede neural artificial, são necessárias ferramentas para fazer acaptura da imagem, seu tratamento e sua segmentação. O Google Maps e oGoogle Earth são as ferramentas gratuitas disponíveis na Internet, que fornecemas imagens dos mapas a serem utilizados para os treinamentos e os testes. Afunçã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 qualidentifica, por exemplo, uma pessoa e seu nome correspondente, sendo apta areconhecê-la novamente no dia seguinte. O procedimento da segmentação da imagem é um processo que divide aimagem em pedaços menores para depois tratá-los e simplificar o processo dereconhecimento. Foram estudados códigos para a implementação de um 11
  13. 13. programa na linguagem Java que pudesse fazer o tratamento e transformar aimagem em um código binário dentro de um arquivo. Este processo foinecessário, pois o programa JavaNNS, usado para criar a rede neural, só aceitaarquivos em código binário como entrada. Os treinamentos e testes realizadospermitiram identificar a eficiência da RNA criada.1.1. Objetivo Hoje em dia existem várias aplicações de reconhecimento de padrõesimplementadas para identificar objetos em imagens. Existem softwares que fazema identificação de rostos humanos com a ajuda de algoritmos baseados em redesneurais artificiais. Esses sistemas são tanto usados em alguns aeroportos, quantoem 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. Paraisso, o trabalho foi dividido em etapas, com um programa que captura a imagemoriginal tirada da Internet, com tamanhos definidos, converte em preto e branco edepois a transforma em um arquivo binário que alimentará a rede neural. Alémdisso, foi escolha uma ferramenta para criar uma RNA, que se mostrou um auxíliovalioso para este trabalho. No meio de várias opções de aplicativos que fariameste processo, o JavaNNS foi a melhor opção, pois, além de ser um softwarelivre1, também traz uma gama de opções para criar e configurar uma rede. A redecriada passa por uma fase de treinamento, para depois obter os resultados pormeio 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 áreasverdes em mapas por meio de softwares que utilizam recursos facilmenteencontrados no mercado. As ferramentas que disponibilizam gratuitamente asimagens 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. 12
  14. 14. Qualquer outra ferramenta do gênero poderia ser utilizada, mas neste projeto foiconsiderada a mais apropriada por possuir uma maior quantidade de imagensatualizadas com boa qualidade. A idéia principal para o trabalho, uma vez definida, precisa ser colocada emprá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 emrelação à configuração física no caso um hardware, um notebook facilmenteencontrado em lojas online a um preço acessível. Em relação ao software, a ferramenta gratuita Google Maps, usada parafazer a captura das imagens utilizadas no trabalho. O Gimp, um programa deedição de imagens também gratuito, usado para fazer o corte das imagens notamanho compatível que será usado para o trabalho. O código aberto emlinguagem Java ajudou a criar o código que faz a parte de segmentação daimagem, transforma primeiro em uma imagem preta e branca, separa em pedaçose depois em um código binário. O último programa que também não tem custo é oJavaNNS, que é responsável pela criação, treinamento e testes das redes neuraisartificiais. Ao final deste trabalho será apresentado o resultado dos testes e análisesrealizados, comprovando que as RNAs podem e devem ser utilizadas na tarefa dereconhecimento de áreas verdes, bem como o fato de ser possível obter taisresultados a um custo realmente baixo. 13
  15. 15. 2. Pesquisa Bibliográfica2.1. Diminuição das Áreas Verdes As áreas arborizadas nem sempre são devidamente valorizadas nascidades, e, por causa disso, são escassas, apesar de existirem estudos queapontem a importância das árvores para a redução das emissões dos gasesCO22, que são emitidos em grande parte pelos automóveis que contribuem com oefeito estufa [O Estado de São Paulo, 08.12. 2007]. Nos parques de cidades sãoencontradas mais áreas com vegetação, sendo lugares com uma temperaturamais baixa. A Amazônia está sendo seriamente devastada devido ao desmatamentoilegal e também à falta de controle do mesmo. As plantações em grandeascensão, como a cana-de-açúcar ou a soja, por exemplo, também são umproblema que pouco discutido. São poucos os produtores que buscam formasalternativas para aumentar a produção sem ter que aumentar a quantidade deárea plantada. Outro problema também é a pecuária, que cresce conforme aprocura pela carne, tanto para o mercado interno como para a exportação. Estudos do Instituto Nacional de Pesquisas Espaciais (INPE) [Estado deSã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 MatoGrosso, Pará e Maranhão. As queimadas contribuem com três quartos dasemissões de CO2 do país devido às carvoarias na região, além de destruírem amata. Empresas que precisam de madeira para construir móveis, casas, podemestar ligadas ao desmatamento ilegal que extraem madeira sem a permissão. Ogoverno também se mostra ineficiente na realização de algum tipo de controle naregião da Amazônia, mesmo havendo várias leis contra o desmatamento. Issotudo 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 cobertura2 Dióxido de Carbono 14
  16. 16. 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 coma reflexão em torno da questão do desmatamento, bastante presente no Brasil,podendo auxiliar nas propostas de preservação e reflorestamento. Mesmohavendo outros sistemas de maior porte, que fazem o controle como, porexemplo, o Sistema de Detecção do Desmatamento em Tempo Real (Deter) [OEstado de São Paulo, 2008], que avalia mensalmente a situação dodesmatamento brasileiro, este estudo pode fornecer uma proposta mais acessívelem termos financeiros. O Deter se mostra um recurso de custo muito elevado, noque 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 mesmoconseguem fontes de terceiros por meio de acordos, permitindo a realização demapeamentos de uma determinada região ou de um país. Algumas dessasempresas fornecem essas fontes de dados, que são mapas, de forma gratuita. Éo caso da Google, que consegue fornecer gratuitamente mapas com fotos viasatélite com qualidade de serviços pagos ao público. Tanto o Maps quanto o Earthpossuem 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 15
  17. 17. consistem na localização de endereços de interesse do usuário, ou na busca delugares que a pessoa gostaria de conhecer. Identificar áreas com mata atlânticana região sudeste, por exemplo, para fazer uma análise de quanto uma área foidevastada, criando assim, estatísticas conforme a área estudada. Grandes empresas ou mesmo corporações fazem o uso desses recursospara identificar áreas de interesse. Há empresas que utilizam a ferramenta paralocalizaçã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 preciseser retirado. A empresa constatou que houve uma redução do tempo de espera docliente e o retorno do guincho a sua central, havendo assim, uma economia emtermos de custo.2.3 Ferramentas para Captura das Imagens Para conseguir as imagens dos mapas, precisou-se fazer uso dasferramentas de mapas como Google Maps e Earth. Ambas são gratuitas e comisso é possível conseguir imagens de satélite de boa qualidade para a pesquisasem qualquer custo. As fontes destes aplicativos são satélites que tiram as fotosde maior distância, enquanto as fotos mais próximas são tiradas de aviões. Sãovários satélites que cobrem o mundo, com isso as fotos adquiridas são mescladaspara se obter um grande mapa. Ambos os programas utilizam a mesma base defotos, que é atualizada. O número de recursos de cada um varia em torno de cadaaplicação. Por exemplo, no Google Maps há um número reduzido de recursos porser um programa que roda no navegador de Internet. A escala de cada umtambém se diferencia, sendo o Google Earth um pouco mais preciso que oanterior, pois existem recursos como um medidor de distâncias, por exemplo, quecalcula conforme os pontos escolhidos no mapa. Além de outros recursos visuaisque 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 desetas, por exemplo. 16
  18. 18. Além dos recursos supracitados foi utilizado o programa Gimp para recortarum pedaço de uma imagem maior e colocar no tamanho de uma imagemmanipulável pelo programa de segmentação. O mesmo também foi necessáriopara salvar as imagens capturadas, utilizando-se da tecla “Print Screen” que éencontrada em qualquer teclado. Para fazer o tratamento da imagem antes depoder passar ao programa que segmenta a imagem e depois a transforma em umarquivo em binário, é necessário ter a imagem com um tamanho compatível. Aimagem adquirida da Internet é maior do que a necessária para o projeto. Oprograma permitiu realizar o recorte de um pedaço da imagem. Depois a imagemestá 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ãoArtificial. O que ocorre nesse processo é uma análise, o uso de computador paraseparar as regiões que compõem uma imagem, para que seja possível a extraçãode suas características, como recortes ao redor de objetos ou espaços deinteresse. A segmentação subdivide uma imagem em suas partes ou objetos deinteresse. Tal subdivisão é realizada levando-se em conta o problema abordado.Algoritmos de segmentação permitem achar diferenças entre duas ou maisregiõ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 daimagem, identificando-o a qual grupo ele pertence, de acordo com suascaracterísticas em interesse. Esses algoritmos são geralmente baseados emvalores de níveis de cinza, ou seja, as propriedades básicas descontinuidade esimilaridade que o compõem. Existem diversas técnicas de segmentação de imagens, dentre as quaisexiste 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). 17
  19. 19. A técnica baseadas em limiarização (thresholding) é uma das maisimportantes do processo de segmentação de imagens por sercomputacionalmente mais utilizadas em comparação a outras técnicas. Tendocomo 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 emseu histograma. Tais imagens podem ser facilmente segmentadas pela utilização de umsimples valor de limiar. Este limiar teria um valor intermediário entre asconcentrações de nível de cinza de cada objeto. Esta é a técnica mais comum de limiarização, conhecida como limiarizaçãobimodal. Este processo também é denominado binarização. Se uma imagem f(x,y) possuir um histograma multimodal, será necessário a determinação de valorespara mais de um limiar. Esta é a técnica é conhecida como limiarizaçãomultimodal. É menos confiável que a bimodal, devido à dificuldade em estabelecermúltiplos limiares que efetivamente isolem as regiões de interesse. Para obter integridade na segmentação, as técnicas de limiarização devemgarantir a menor taxa de erro possível, ou seja, assegurar uma alta probabilidadede que o pixel tenha sido corretamente classificado e que os dados segmentadoscontenham a maior quantidade possível de informação útil. A escolha de um valor pode ser difícil para casos em que as propriedadesespectrais dos dados não revelem informações suficientes. Sendo que em algunscasos pode ser necessário determinar o número de limiares para a segmentaçãode 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 quesimulam o funcionamento de redes de neurônio biológico. No entanto, paraentender o funcionamento das redes neurais artificiais, o funcionamento doneurônio biológico precisa ser esclarecido. Trata-se de uma técnica inspirada no funcionamento do cérebro [UFLA, 18
  20. 20. 2006], onde neurônios artificiais conectados em rede são capazes de aprender egeneralizar. Técnica de aproximação de funções por regressão não linear issosignifica que se a rede aprende a lidar com certo problema, e lhe é apresentadoum similar, mas não exatamente o mesmo, ela tende a reconhecer esse novoproblema, 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 deatender certos critérios de especialização. Segundo a definição encontrada em Stuart Russel e Peter Norvig, em suaobra Inteligência Artificial Tradução da Segunda Edição, “Um neurônio é umacélula no cérebro cuja principal função é coletar, processar e disseminar sinaiselétricos” (Inteligência Artificial, 2004, pág. 713). 19
  21. 21. 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 outrosneurônios. Soma ou chamado corpo celular é responsável por coletar e combinaras informações vindas de outros neurônios e o Axônio é responsável portransmitir estímulos para outras células. As sinapses são as interligações entre os neurônios, possuindo cadaneurônio em média de mil a dez mil sinapses. O cérebro humano possui cerca de10¹¹ neurônios, e um número de sinapses que pode chegar a mais de 10¹ 4, o quepossibilita a formação de redes muito complexas. O neurofisiologista McCulloch eo matemático Water Pitts (1943) [UFLA, 2006] realizaram um trabalho que fazia aanalogia entre as células vivas e o processo eletrônico, simulando ocomportamento do neurônio natural, sendo que o neurônio possuía apenas umasaída, em função do valor de suas entradas. O Neurônio de McColloch e Pitts consiste basicamente em um neurônioque executa funções lógicas. Os neurônios produzem somente resultados bináriose as conexões transmitem exclusivamente zeros e uns. As suas redes sãocompostas de conexões com peso, de tipos excitatórios e inibitórios. Cadaunidade é caracterizada por certo limiar. O psicólogo Donald Hebb (1949) [UFLA, 2006] demonstrou que a 20
  22. 22. capacidade de aprendizagem em redes neurais biológicas vem da alteração daeficiência sináptica, ou seja, a conexão somente é reforçada se tanto as célulaspré-sinápticas quanto as pós-sinápticas estiverem excitadas; Hebb foi o primeiro apropor 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 seuspesos sinápticos. Em 1958, Rosemblatt [UFLA, 2006] mostrou em seu livro Principles ofNeurodynamics o modelo dos “Perceptrons”. Nele os neurônios eram organizadosem camada de entrada e saída, na qual os pesos das conexões eram adaptadosa 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 doneurônio. entrada fixa wk0=bk (bias) x0=+1 wk0 x1 wk1 função de ativação sinais uk yk x2 wk2 de f(uk) entrada saída junção aditiva xm wkm Função degrau pesos sinápticos Figura 3 – Modelo de Neurônio Artificial [UFLA, 2006] 21
  23. 23. A operação de um neurônio artificial se resume ao modo como os sinaissão apresentados à entrada (x1 à xm). Cada sinal é multiplicado por um peso queindica sua influência na saída da unidade (wk), na qual é feita a soma ponderadados sinais que produz um nível de atividade (u k), a função de ativação f(uk) tem afunção de limitar a saída e introduzir a não-linearidade ao modelo. O bias bk tem opapel de aumentar ou diminuir a influência do valor das entradas, podendo-seconsiderar o bias como uma entrada de valor constante 1, multiplicado por umpeso igual a bk.Na Figura 4, é mostra matematicamente a saída que pode ser expressa por: m y fk f k () u wb x k kj j j1 Figura 4-Função de saídaConsiderando o bias como entrada de valor x0=1 e peso wk0=bk também pode serexpressa por:Funções de ativação, mostrado na Figura 5 m y fu f k () k wx kjj j0 Figura 5- Função de ativaçãoA Função logística é mostrada na Figura 6 Figura 6 – Função logística 22
  24. 24. A Função Logística determina o tipo de operação realizada entre os neurônios, demodo a propagar valores que variam entre 0 e 1 de um neurônio a outro ou deuma camada a outra. As RNAs, em suas características gerais, consistem em modelosadaptativos treináveis, podendo representar domínios complexos (não lineares),capazes de generalização diante de informação incompleta, além de realizar oarmazenamento associativo de informações. Elas processam informaçõesEspaço/Temporais e possuem grande paralelismo, o que lhes confere rapidez noprocessamento. Usualmente as camadas são classificadas em três grupos: Camada deEntrada, Camadas Intermediárias ou Ocultas e Camada de Saída. Na Camada deEntrada os padrões são apresentados à rede, enquanto nas CamadasIntermediárias ou Ocultas são realizadas a maior parte do processamento, pormeio das conexões ponderadas, que podem ser consideradas como extratoras decaracterísticas. Por fim, na Camada de Saída o resultado final é concluído eapresentado.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 peloproblema a ser abordado. No entanto, a quantidade de neurônios nas camadasde processamento são características do projeto. Aumentando-se o número deneurônios na camada escondida aumenta-se a capacidade de mapeamento não-linear da rede. 23
  25. 25. A rede Feedforward de uma única camada, os neurônios da camada deentrada correspondem aos neurônios sensoriais que possibilitam a entrada desinais na rede (não fazem processamento). Os neurônios da camada de saídafazem processamento além de possibilitar o resultado obtido e quais neurôniosforam ativados ou não. A Figura 7 mostra um exemplo de rede neuralmonocamada. Figura 7 - Rede Neural Monocamada-[UFLA, 2006]Rede Feedforward de Múltiplas Camadas (Multilayer Perceptron - MLP). Essasredes têm uma ou mais camadas intermediárias ou ocultas, como é mostrado naFigura 8. Figura 8 – Modelo de Rede Neural Múltiplas Camadas-[UFLA, 2006] 24
  26. 26. 2.6 Treinamento A propriedade mais importante das redes neurais consiste na habilidade deaprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito pormeio de um processo interativo de ajustes aplicado a seus pesos, denominadotreinamento. O aprendizado ocorre quando a rede neural atinge uma soluçãogeneralizada para uma classe de problemas. Denomina-se algoritmo de aprendizado a um conjunto de regras bemdefinidas para a solução de um problema de aprendizado. Existem muitos tipos dealgoritmos de aprendizado específicos para determinados modelos de redesneurais. Estes algoritmos diferem entre si principalmente pelo modo como ospesos 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émconhecida com aprendizagem com professor. Tal aprendizagem consiste em queo professor tenha o conhecimento do ambiente, fornecendo o conjunto deexemplos de entrada-resposta desejada. Com este conjunto, o treinamento utiliza-se da regra de aprendizagem por correção de erro. 25
  27. 27. Vetor de estado do ambiente ambiente professor Resposta desejada Resposta real + Sistema de aprendizagem - Sinal de erro Figura 9 - Diagrama de treinamento de algoritmo Backpropagation-[UFLA, 2006] No entanto, quando este número for muito grande, o modelo pode sesobre-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 aprendizagembaseada na correção do erro pelo método do Gradiente, o algoritmo deaprendizagem é composto de duas fases, cálculo do erro (forward) e correção dospesos sinápticos (backward). Durante o treinamento com o algoritmo backpropagation, a rede opera naseguinte seqüência: Primeiro, um padrão é apresentado à camada de entrada darede. A atividade resultante propaga pela rede, camada por camada, até acamada de saída. No passo seguinte a saída obtida é comparada à saídadesejada 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 deentrada, e os pesos das conexões das unidades das camadas internas vão sendomodificados conforme o erro é propaga pela a rede. 26
  28. 28. 2.7. Aprendizado de Máquina A Inteligência Computacional [UFLA, 2006] busca, através de técnicasinspiradas na Natureza, o desenvolvimento de sistemas inteligentes que imitemaspectos 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 redesneurais, preferencialmente gratuito. Desta forma, optou-se por estudar o programaJava Neural Network Simulator (JavaNNS) para criação de redes neurais quefossem 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 haveralgum 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 redesforam criadas e treinadas. O treinamento da rede exige a criação de um arquivotexto com código em binário, no formato texto. Havia também uma limitação quefoi descoberta: que não havia como fazer para que o programa aceitasse umaimagem maior que 44x44 pixel. Essa imagem gerava uma matriz de 44x44 que oJavaNNS não permitia, pois era limitado em 2000 neurônios que é o limite doprograma. 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 comobase. 27
  29. 29. Figura 10 – Rede Neural não treinada. Inicialmente foi escolhida a arquitetura MLP, mostrada na Figura 10, por serde 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 e1 neurônio na camada de saída. Figura 11 – Interface de ferramentas para o treinamento 28
  30. 30. Aprendizagem da rede com JNNS Foram realizados treinamentos, como mostra a Figura 12, com diversosnúmeros de ciclos de treinamentos buscando encontrar a convergência da rede. Figura 12 - Rede Neural em processo de treinamentoNa Figura 13, o padrão reconhecido como área não verde Figura 13 – Saída de neurônios não ativada 29
  31. 31. Na Figura 14 é mostrado o padrão reconhecido como área verde Figura 14 – Saída de neurônios ativada 30
  32. 32. 3. Trabalhos Correlatos3.1. Integração entre redes neurais e correlação para a identificação depontos de apoio pré-sinalizados. Neste trabalho [PUCPR, 2005] foi adotada a técnica de redes neurais parafazer o reconhecimento automático dos pontos de uma foto aérea que foi utilizadapara o estudo. Priorizou-se o estudo para a implementação de uma rede neuralartificial que não utilizasse recursos muito caros e nem utilizasse muitoprocessamento para executar e reconhecer os padrões. Houve um tratamento das imagens selecionadas, para depois serempassadas para o sistema de reconhecimento implementado. Com o auxílio doaplicativo Paint Shop Pro as imagens foram tratadas com tons de cinza. Outrofator importante consistiu na calibragem da câmera, necessária para a obtençãodo foco adequado para o experimento, sem que houvesse distorção na imagempara não comprometer a identificação do padrão. Para que o experimento pudesse ser realizado foi necessário fazer umaaerofoto da região a ser reconhecida pelo sistema adotado. Antes de tirar a fotoforam marcados três pontos em uma determinada área, com um tamanhoadequado para dar destaque. Estes três pontos serviram para sinalizar a área quepudesse ser reconhecida e também para facilitar a área de reconhecimento pormeio da triangulação. Foi realizado um estudo das derivadas que fossem usadas para fazer otreinamento da rede antes de ser implementada a rede neural artificial. Oalgoritmo Backpropagation foi usado para fazer o treinamento da rede neural e amorfologia matemática foi estudada para diminuir o tamanho de algumasderivadas. Foi usado um código em Visual C++ para a implementação da redeneural, além de fazer a identificação na foto com a ajuda dos três pontos de apoioque são apresentados na imagem para o estudo. 31
  33. 33. Depois de a aerofoto ser tirada, foram anotadas as coordenadas dospontos marcados, permitindo aos algoritmos calcular os pontos relativos para oreconhecimento do padrão. Essas marcas chamadas de fiduciais foram passadaspara o um programa que funciona em um dos que consegue fazer a correlaçãodesses pontos. Para identificar o alvo da imagem foi usado o Matlab. Após todo oprocesso de tratamento e identificação das imagens, com todos os cálculos feitosdos sistemas, conseguiu-se chegar a um resultado. O treinamento com outrasimagens de apoio para a rede neural também foi importante para obter esteresultado. Mesmo com uma imagem de alta resolução não foi exigido muito dodesempenho da máquina de, obtidos com uma máquina de baixo custo. Um aspecto positivo deste trabalho foram as técnicas abordadas para arealização do experimento, por exemplo, marcar os pontos para depois identificá-los, por meio dos algoritmos que calculam os pontos relativos. A máquina debaixo custo na época que foi citada, usou um grande volume de dados comoentrada no caso uma imagem de alta definição. Mas o custo do projeto todo foielevado, por exemplo, contratar uma empresa para sobrevoar uma área efotografá-la.3.2. Detecção de volume de tráfego de veículos proporcionada por visãocomputacional via redes neurais Outro trabalho [ITA, 1999] relacionado ao que foi estudado fez aidentificação do número de carros em uma rodovia. Foram usados os melhoresrecursos que os autores(RIBEIRO, F. F. S., LIMA, A. C. de C., 1999) tinhadisponível na época para realizar a captura das imagens e fazer o tratamento paradepois passar para a rede neural artificial treinar. No local escolhido por ele para a filmagem do trânsito foi instalada umacâmera comum, com a objetiva apontada para o movimento da rua. Depois foirealizada a captura da filmagem com o auxílio de um programa. Outro programafoi usado para desmanchar o filme em várias imagens, separadas por arquivos. 32
  34. 34. Em seguida foi preciso fazer uso de um terceiro programa para converter todas asimagens em escalas de cinza. O MATLAB foi a ferramenta que estes autoresutilizaram para fazer um pré-processamento das imagens e depois passar para arede neural dentro do mesmo. O MATLAB trazia várias opções para detectar a borda das imagens. Oautor escolheu aquela que estava mais própria para identificar o número exato decarros presentes na imagem. Com o vídeo gerado anteriormente, após oprocesso de separação de todas as imagens do vídeo, foi gerado um grandenú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 neuralartificial pronta para ser treinada. O processo, segundo ele, foi demorado, mesmocom os melhores recursos disponíveis para o experimento. O resultado constatado foi que ele chegou ao nível de erro desejado. Oprograma 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 amelhorar a identificação a cada treinamento. Um menor número de erros tambémfoi constatado, à medida que a rede neural ficava mais experiente. Oprocedimento de passar as imagens pelo processo de pré-processamento eramais 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 umcusto elevado para a época. Uma parte importante do trabalho consistiu nocá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 depassar elas para a rede treinar, está semelhante com a segmentação de imagens,tornou o trabalho dos autores mais próximo ao proposto. 33
  35. 35. 4. Metodologias4.1. Metodologia de Pesquisa Este trabalho utilizou-se primordialmente da Internet para encontrar umasolução para o problema proposto. Inicialmente foi necessário identificar o métodomais adequado para fazer a identificação de objetos. As redes neurais artificiaisse mostravam mais eficientes em vários trabalhos que as adotaram. Sobre a diminuição das áreas verdes também se usou a Internet paraconseguir as informações, principalmente em sites brasileiros, como por exemplo,O Estado de São Paulo. Para encontrar áreas verdes no mapa, precisava-se dealgo que fizesse a pesquisa na imagem e, com o auxílio do computador, identificara imagem sem a intervenção humana. Para simplificar a solução do problema aoinvés de criar uma RNA implementada por meio de um código, um programaauxiliou 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 comocriar a rede neural artificial. Após o entendimento de como funciona o programa, descobriu-se que elerecebia como entrada apenas arquivos em código binário. Algumas imagensforam passadas para um arquivo binário por meio de vários programas, masdessa forma perder-se-ia muito tempo para fazer os testes. Códigos forampesquisados na Internet no site Sourceforge [SOURCEFORGE, 2008] e namaioria dos casos soluções em linguagem Java. Após a pesquisa – várioscódigos traziam soluções diferentes – apenas alguns foram usados, para ajudar afazer um código para transformar a imagem em preto e branco e segmentar emarquivo binário. O material pesquisado permitiu a obtenção de um programa quefazia tudo para gerar o arquivo em códigos binários. 34
  36. 36. Uma grande variedade de informações foi encontrada ao longo do trabalho,tanto na Internet quanto em alguns livros sobre redes neurais artificiais. Sem apesquisa não seria possível realizar boa parte do trabalho, além de haver umaaprendizagem que possivelmente será usada no futuro.4.2. Metodologia de Desenvolvimento de Software Apesar de estudos desse porte serem bastante difundidos no meiocientífico-acadêmico, cada trabalho apresenta suas particularidades. Por estemotivo, no início, observou-se a necessidade de uma metodologia que atendesseao interesse de gerenciar tal desenvolvimento da melhor maneira possível comum 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 enfoquenas pessoas e não nos processos de desenvolvimento. Além disso, existe apreocupação de gastar menos tempo com documentação e mais com resoluçãode problemas de forma iterativa”. 35
  37. 37. 5. Desenvolvimento5.1. Programa de Segmentação Para solução do problema abordado no caso de uso, faz-se a utilização doalgoritmo de limiarização bimodal, que tem como objetivo extrair os dados deinteresse para que este seja submetido a processamento pela rede neural. A linguagem Java foi adotada para fazer a implementação do programa queserve para tratamento e a segmentação da imagem. Com a adoção de umametodologia ágil o paradigma de Orientação a Objetos se adaptou de maneirasatisfatória ao desenvolvimento do aplicativo, devido às inúmeras iterações noprocesso de codificação do programa. O programa desenvolvido é composto de quatro utilidades importantes paraeste trabalho. Recorte de imagem, conversão em preto e branco, binarização ecriação dos códigos interpretados pela rede neural artificial. Durante aimplementação das utilidades diversos problemas foram encontrados, que serãoabordados neste tópico. O recorte da imagem é responsável pela divisão da imagem em fragmentosde 25 por 25 pixels, um dos principais problemas encontrado nessa fase deimplementação e que iria se estender a fases de conversão e binarização seria amanipulação dos pixels das imagens. Dada uma imagem, por exemplo, de500x500 pixels ela possuirá 250.000 pixels que deverão ser divididos emfragmentos ordenados de 25x25 pixels. A solução para este que seria o maior dos problemas de implementaçãoveio após uma longa busca por modelos de segmentação, com a adoção debiblioteca disponível na linguagem Java chamada “java.awt.image.pixelreader”,que possibilita a manipulação individual de cada pixel da imagem a serprocessada. 36
  38. 38. Devido à representação bidimensional de uma fotografia foi dotado àutilização da manipulação dos pixels em forma de uma Matriz, conseqüentementefoi dividida em pequenas matrizes para a implementação das demais fases dasegmentação Durante o desenvolvimento da parte de conversão das cores foramencontradas certas dificuldades como a manipulação do conteúdo dos pixels, umadas alternativas para esse problema de conversão de imagem é a utilização deoutra biblioteca “handle single pixel”, que tem como função tratar a representaçãodas cores no pixel, o objetivo desta fase é minimizando as cores vermelha, e azulque compõe o pixel e então converter em preto e branco através de um limiaraplicado sobre a cor verde, sendo branco representando o verde e o pretorepresentando as demais cores. Com a imagem já processada a segmentação por limiar bimodal é iniciadadando 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. Novamenteno decorrer dessa fase faz se uso da manipulação de pixels, dessa vez para adeterminação do valor de saída, com a utilização de um limiar para separação dasduas cores. Esta última fase do programa é responsável por gerar um arquivo deextensão “Pat”, nesse ponto uma preocupação ameaçou o projeto, a utilização dalinguagem Java para a geração de um arquivo tipo texto, o arquivo de textodeveria ter uma composição especifica que descreve os dados e informaçõespara a Rede Neural Artificial. Para solução desse problema foi adotado mais uma biblioteca “java.io” aqual possibilita a escrita de arquivos tipo texto, com a implementação desta fasepode se gerar um arquivo com uma estrutura legível pela Rede Neural Artificial,que é composto de cabeçalho ,entradas e saídas. 37
  39. 39. Apesar da necessidade da utilização de diversas bibliotecas na codificaçãodeste software, nenhuma delas dispensou a necessidade de implementação ecodificaçõ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áciaquanto ao aprendizado. A rede MLP é composta por 25x25 neurônios na camada de entrada, umacamada oculta de 5x5 neurônios e 1 neurônio na camada de saída. Os valoresquanto ao número de neurônios da camada de entrada foram determinados combase na varredura de uma área equivalente a uma casa, que poderia ser cobertopor 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 JNNSofereça o uso de até 2000 neurônios. Quanto ao número de neurônios da camadade saída, um neurônio foi suficiente, pois a resposta desejada está entre 0 e 1. 38
  40. 40. 6. Avaliações e Testes Para obter os resultados, vários processos foram desenvolvidos antes. Amáquina utilizada, no caso um notebook, precisava de uma configuraçãoapropriada para o trabalho.Dividido em etapas:  Obtenção da imagem  Tratar e Segmentar a imagem  Treinar a rede neural artificial6.1. Treinamento da Rede Na preparação das amostras, foi escolhida uma imagem colorida comproporções de 250 x 250 para técnica de treinamento por substituição, quelevando em consideração tais proporções, tal imagem submetida à segmentaçãogerou 100 fragmentos de 25x25 pixels que correspondem à matriz neural de25x25 neurônios e uma imagem colorida com proporções de 500 x 500 obtendo400 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 foicapturada do Google Earth e salva com o programa Gimp;2º - Aplicação do algoritmo de binarização: esse algoritmo estava implementadonos códigos que foram estudados, que faz o tratamento da imagem tornando elapreto e branca e depois a transforma em um código binário;3º – Fragmentação: com o mesmo programa usado para o processoanteriormente, faz o processo de fragmentação das imagens em pedaçosdivididos em 25x25;4º - Obtenção dos valores binários: esses valores binários foram criados noprocesso anterior para depois poder passá-los para o JavaNNS que só aceitaarquivos binários como entrada; 39
  41. 41. 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 segmentadaFragmentação da imagem apresentada na Figura 16 Figura 16 – Exemplo de imagem fragmentada 40
  42. 42. Imagem da Figura 17, escolhida para gerar as amostras para a técnica desubstituição Figura 17 – Imagem escolhida para gerar as amostrasTransformação ocorrida em um fragmento de imagem após a aplicação doalgoritmo de binarização, mostrado nas duas figuras abaixo. Figura 18 – Fragmento da imagem colorida e preto e brancoResultado da obtenção de valores em binário correspondentes aos pixels daimagem, na Figura 19, como é mostrado abaixo. 41
  43. 43. 1000100000000000111111110 1110000000100011111111110 1100000000100011111111110 0000000001101111111111110 0010000011000111111111110 0011000011000111111111110 0011110110001111111111111 0100111111011111111111111 0000011111111111111111111 0000011111011111111111100 0000011110001111111110001 0000111110000011111100000 0000111000000001111100000 0000111000000001111110100 0000001110000000100110001 0000000111000001000000000 0000000100000000000000000 0000000111000000000000000 1000101011110000000000111 0000001111110011100110000 0000000111100001111111100 0000011011100000011111110 0000111111100000000111100 0011111101001000000001000 0001101100000000000000000 Figura 19 – Imagem em preto e branco e código binário ao lado6.2. Coleta dos Resultados Esta primeira tabela foi gerada com três metodologias, alterada apenas acamada 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. 42
  44. 44. A segunda tabela gerada com o treino com uma nova amostra, treinadacom 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. 43
  45. 45. 7. Análise dos Resultados 45 40 35 30 25x2;10x1 100 25 25x2;10x1 500 20 25x2 200 2x25 100 15 10 5 0 1 2 3 4 5 6 7 8 9 10 Figura 20 – Gráfico de resultados Os resultados geraram o gráfico da figura 20 que, de acordo com a Tabela2, mostra a evolução de cada pacote de treinamento, com os devidos testes de 40resultados com o número de acertos apenas. Os resultados obtidos de cima parabaixo conforme a legenda de cima para baixo, duas camadas ocultas com linhasde 25 colunas mais uma camada de uma linha de 10 colunas treinadas com 100 e500 ciclos, respectivamente. A terceira com uma camada oculta de duas linhas de25 colunas treinada com 200 ciclos. A última com uma camada oculta de 25 linhascom duas colunas, treinada com 100 ciclos. A média dos resultados obtidos nos testes, conforme a primeira tabelamostrou se não muito eficiente, pois os testes feitos com uma amostra que nãohavia um número grande de áreas verdes na imagem inteira. Havia apenaspoucas árvores que estavam distantes uma das outras, isso compromete logo notreinamento da rede, que gera um número grande de erros nos testes. Mesmoassim a rede estava apta para os testes com um número de ciclos em todos os 44
  46. 46. 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, treinadacom 100 ciclos. O último usou um método diferente dos outros, pois houve umavariação dos pesos antes do treinamento da rede resultado é melhor que osoutros dois. Nos testes que geraram a segunda tabela alterou bastante o resultado, poishouve diferentes metodologias como na primeira. Nos três testes, 25x2; 10x1 com100 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 de25x2, com o treinamento de 200 ciclos, sendo esse o número máximo, gera umresultado melhor mesmo com um número menor de ciclos. A rede neural artificial com o melhor número de resultados foi a de duascamadas ocultas de 25 linhas que obteve o resultado de 91,30 % de acertos. Ométodo usado foi o mesmo da primeira tabela com 72,5 % de acerto e com onúmero de ciclos máximo usado, que foi de 100. Fez com que a quantidade deacertos aumentasse, com isso, a rede já mostrava uma eficiência que não havia anecessidade 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 otreinamento. A análise do gráfico era fundamental, pois quanto melhor o resultadodo gráfico gerado melhor se tornava à rede. Quando a linha do gráfico se tornavamais próxima a uma reta significava que a rede se tornava mais estável quantoaos resultados que gerava depois nos testes. O gráfico da Figura 21 demonstra oexemplo da rede que resultou em 77 % de acertos. 45
  47. 47. Figura 21 – Gráfico de erro da rede neural durante o treinamento. 46
  48. 48. 8. Conclusão O trabalho precisou de muita pesquisa para superar as dificuldades por eleapresentadas, 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áriopara o aprendizado do padrão a ser ensinado, que métodos e programaspoderiam ser usados para criar e treinar a rede para fazer a pesquisa em umamatriz. A segmentação de imagens mostrou-se um procedimento necessário, poisuma 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 oGoogle Earth, foi possível adquirir as fotos de satélite com algumas áreas verdesda região de Campinas, a cidade escolhida para este estudo. Um processonecessário após a captura da imagem foi o tratamento e a segmentação paradepois transformar a imagem em um arquivo binário. Baseado em vários códigosdisponíveis na Internet, foi desenvolvido um software segmentador de imagensque gera, ao final, um arquivo texto com o código binário. O programa JavaNNSauxiliou na criação da rede neural artificial que foi treinada e testada com base noarquivo gerado no processo de segmentação. Efetuar esse processo usandoprogramas pagos não seria possível, pois além se haver um custo elevado,exigiria uma melhor configuração de hardware. Os recursos utilizados nestetrabalho são gratuitos e exigem um equipamento com configurações não muitoavançadas. No melhor dos testes, consegui-se obter o resultado alvo, que é aidentificação das áreas verdes em mapas com uma precisão de 72,5%. Após aanálise dos resultados percebeu-se que a rede neural artificial foi bem treinada eestava bem preparada para a tarefa de identificação proposta. Isso mostrou que apesquisa realizada ao decorrer do ano, com os recursos disponíveis, resultou noresultado procurado. 47
  49. 49. 8.1 Limitações Durante o processo de avaliação do JavaNNS, constataram-se algumaslimitaçõ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 programaque originalmente é construído em linguagem C e uma camada Java faz ainterface do aplicativo. Mas o que se descobriu é que partes de kernel não erampassíveis de alteração, eram simplesmente arquivos exe3, uma engenhariareversa tomaria muito tempo além do fato de não saber que tipo de código, deque maneira estaria estruturado e caso pudesse ser alterado, como secomportaria. O código não estava muito bem estruturado e comentado, tambémdificultou ainda mais a busca mal-sucedida de uma solução. Outro limite encontrado foi quanto à arquitetura proposta ao encontrar umatopologia estável, pois muitas das topologias testadas, embora razoavelmenteeficientes, tornava o framework instável. Isso esta relacionado às camadasocultas, responsáveis pelo processamento. Quanto maior o número de camadasocultas, automaticamente aumentava o tempo de processamento ou mesmo nãohavendo 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 aserem criadas. A utilização da rede neural artificial para fazer o reconhecimento dopadrão pode ser usada não só para as áreas verdes de uma cidade comotambém para construções e outros objetos que possam ser reconhecidos essatécnica como, por exemplo, encontrar ruas que sejam mais movimentadas emrelação ao trânsito, em um determinado local. Esse tipo de aplicativo pode aindaser usado em aparelhos celulares - como o Google Maps, que já é compatível namaioria dos navegadores – e permitir a identificação da área verde mais próximapara fazer turismo ecológico, por exemplo. 48
  50. 50. Um estudo aprofundado da mata atlântica disponível no Brasil poderiatambém se beneficiar de estudos como este estudo que foi feito. Ainda é possívelrealizar a comparação entre diferentes regiões com cálculos estatísticos quepoderiam ser feitos por meio do tamanho da área, observando a quantidadeexistente em uma região. Outra possibilidade seria a criação da rede neuralartificial 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 umaconfiguração que tenha um custo mais alto.3 arquivo executável. 49
  51. 51. Referências BibliográficasANDRADE, Adriano de Oliveira, Redes Neurais Aplicadas ao Processamentode Imagens de Satélite, de Universidade Federal de Goiás, Escola deEngenharia Elétrica, Grupo PIRENEUS, 1997. Disponível em:<http://www.aoandrade.eletrica.ufu.br/Documents/Relat%F3rio%20final%20do%20CNPQ.pdf > Acesso em: 31 mai 2008.CASTRO, Fernando César Comparsi de, Reconhecimento e Localização dePadrões em Imagens Utilizando Redes Neurais Artificiais como Estimadoresde Correlação Espectral, Pontifícia Universidade Católica do Rio Grande d Sulpara Obtenção do Grau de Mestre em Engenharia, dezembro de 1995. Disponívelem: <http://www.ee.pucrs.br/~decastro/pdf/F_MasterThesis.pdf>. Acesso em: 16mar 2008.RUSSEL, Stuart e NORVIG, Peter, Inteligência Artificial, Tradução de: ArtificialIntelligence, 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: 12ago 2008.CARDOZO, André, Google Revista Info, Editora Abril, jan, 2006FORTES, Débora, A Era dos Mapas, Revista Info, Editora Abril, jan 2007.OSÓRIO Fernando e BITTENCOURT, João Ricardo, I WORKSHOP DEINTELIGÊNCIA ARTIFICIAL, Universidade de Santa Cruz do Sul, Departamentode Informática, Junho 2000. Disponível em: <http://osorio.wait4.org/oldsite/wia-unisc/wia2000-full.pdf>. Acesso em: 20 mar 2008. 50
  52. 52. 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 ago2008.RIBEIROO, F. F. S., LIMA,A. C. de C., Detecção de volume de tráfego deveículos proporcionada por visão computacional via redes neurais, InstitutoTecnoló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 deDecisõ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. 2008NOVAES, Washington, O clima, a economia, o futuro da Amazônia, 2006.Disponível em: < http://www.estadao.com.br>. Acesso em: 15 nov 2008SOARES, Michel dos Santos, Comparação entre Metodologias Ágeis eTradicionais 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 naAmazô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 paraneutralizar CO2, 2007. Disponível em: <http://www.estadao.com.br/estadaodehoje/20071208/not_imp92502,0.php>. Acesso em: dez 2008. 51
  53. 53. WANDRESEN, Romualdo, ANDRADE , José Bittencourt de, MITISHITA , EdsonAparecido, Integração entre redes neurais e correlação para a identificaçãode 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 2008SOURCEFORGE, 2008. Todos os códigos para o desenvolvimento do programade segmentação. 2008. Disponível em: <http://sourceforge.net/ >. Acesso em: 10abr 2008LACERDA, Prof. Wilian Soares, REDES NEURAIS ARTIFICIAIS, UniversidadeFederal de Lavras, 2006. Disponível em:<http://www.dcc.ufla.br/~lacerda/download/palestras/rna/introducao_RNA_2006.ppt >. 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. 52
  54. 54. AnexosAnexo 1 – Visões do JNNSFigura 22 – Rede Neural não treinada.Figura 23 – Interface de ferramentas para o treinamento 53
  55. 55. Aprendizagem da rede com JNNS Foi realizado um total de 100 ciclos de treinamentos.Figura 24 - Rede Neural em processo de treinamentoPadrão reconhecido como área não verdeFigura 25 – Saída de neurônios não ativada 54
  56. 56. Padrão reconhecido como área verdeFigura 26 – Saída de neurônios ativada 55
  57. 57. Anexo 2 – Dados brutos dos testesTabela 3 - Resultados obtidos pela técnica de 10 fold Cross-validation, 100 ciclosNº Conjunto Nº Amostra Resultado Resultado esperado obtido1 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 56
  58. 58. Total de acertos 342 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 363 1 - 0 2 - 0.024 3 + 0.993 4 - 0.585 5 - 0.003 6 - 0.028 57
  59. 59. 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 354 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 58
  60. 60. 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 345 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 59
  61. 61. 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 376 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 60
  62. 62. 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 397 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 61
  63. 63. 35 + 0.993 36 - 0.040 37 + 0.681 38 - 0.053 39 - 0.093 40 + 0.993 Total de acertos 388 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 62
  64. 64. 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 3810 1 + 0.993 2 + 0.988 3 + 0.995 4 + 0.995 5 + 0.994 6 - 0.026 7 + 0.995 63
  65. 65. 8 - 0.059 9 - 010 - 0.00711 - 0.12712 - 0.00113 - 0.33914 + 0.87015 - 0.11416 + 0.99517 + 0.95518 - 0.88119 + 0.99520 - 0.23221 - 022 - 0.54123 + 0.99524 + 0.99425 - 0.05926 - 0.05227 + 0.99428 + 0.99529 + 0.96230 - 031 - 0.00332 + 0.16433 - 0.02134 - 0.25135 - 0.24636 + 0.93137 + 0.99538 + 0.68639 + 0.93140 - 0.026 Total de acertos 38 Porcentgem de 91.25% acerto 64

×