Download PDF
ads:
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
PUC-SP
Paulo Kuester Neto
Classificação e Reconhecimento de Padrões em Imagens
Tridimensionais utilizando Redes Neurais Artificiais (RNAs)
MESTRADO EM TECNOLOGIA DA INTELIGÊNCIA E
DESIGN DIGITAL
SÃO PAULO
2009
PUC-SP
2009
Paulo Kuester Neto Classificação e Reconhecimento de Padrões em Imagens
Tridimensionais utilizando Redes Neurais Artificiais (RNAs)
ads:
Livros Grátis
http://www.livrosgratis.com.br
Milhares de livros grátis para download.
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
PUC-SP
Paulo Kuester Neto
Classificação e Reconhecimento de Padrões em Imagens
Tridimensionais utilizando Redes Neurais Artificiais (RNAs)
MESTRADO EM TECNOLOGIA DA INTELIGÊNCIA E
DESIGN DIGITAL
SÃO PAULO
2009
ads:
ii
PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO
PUC-SP
PAULO KUESTER NETO
Classificação e Reconhecimento de Padrões em Imagens
Tridimensionais utilizando Redes Neurais Artificiais (RNAs)
MESTRADO EM TECNOLOGIA DA INTELIGÊNCIA E
DESIGN DIGITAL
Dissertação apresentada à Banca Examinadora da
Pontifícia Universidade Católica de São Paulo, como
exigência parcial para obtenção do título de Mestre
em Tecnologia da Inteligência e Design Digital sob a
orientação do Prof. Dr. Fernando Antonio de Castro
Giorno.
SÃO PAULO
2009
iii
Banca Examinadora
_______________________________
_______________________________
_______________________________
iv
RESUMO
Este projeto se insere na linha de pesquisa Inteligência Coletiva e Ambientes
Interativos, visando investigar os modos de reconhecimento e classificação de
padrões em imagens tridimensionais utilizando Redes Neurais Artificiais.
Para tanto, pretende-se submeter imagens tridimensionais a um sistema
conexionista baseado em Redes Neurais Artificiais de acordo com um algoritmo de
retro-propagação (backpropagation) como base para treinamento, buscando-se
obter padrões comuns entre essas imagens.
Este trabalho objetiva contribuir com a análise de imagens para aplicação em
pesquisa, desde mapeamento florestal, construção de mundos virtuais até
prognósticos e/ou diagnóstico em áreas relacionadas à saúde, em que, devido a
variâncias e imperfeições em imagens ditas similares, não se aplicam a utilização de
algoritmos simples que reconheçam semelhanças entre elas.
De acordo com os pressupostos teóricos discutidos no capítulo 2 e o estado
da arte no capítulo 3, definem-se características, modos de organização, algoritmos
de aprendizagem e parâmetros livres desse modelo neural que melhor se adaptam a
natureza da pesquisa.
O trabalho deve envolver um ambiente de simulação, framework para
experimentação dos modelos neurais e verificação de resultados, escolhido de
acordo com características como confiabilidade, viabilidade e adequação as
condições e limitações de hardware. O ambiente deve ser capaz de lidar ainda com
o objeto de pesquisa, ou seja, a análise e a classificação de formas tridimensionais e
seu reconhecimento através de ajustes nos parâmetros do modelo neural.
A pesquisa a ser realizada foi dividida em duas fases, a primeira, de
treinamento da rede, escolhendo arbitrariamente, a partir de um banco de imagens,
algumas que compartilhem características comuns que devem ser reconhecidas
para ajustes da Rede Neural.
Na segunda fase, posterior a etapa de testes e treinamento, a rede deve ser
capaz de lidar com o restante do banco de imagens selecionado. O sistema deve
ainda ser efetivo ao lidar com exceções e variação em algumas características como
luminosidade, posicionamento e cor.
v
O desafio é tornar o treinamento da Rede Neural o mais genérico possível a
fim de lidar com essas variações, oferecendo um grau de confiabilidade sem
degradação substancial de efetividade.
Palavras-Chave: imagem tridimensional, redes neurais, reconhecimento de
padrões.
ABSTRACT
This project is part of the research line Collective Intelligence and Interactive
Environments and aims to investigate modes of pattern recognition and classification
in three-dimensional images using artificial neural networks.
To achieve this, three-dimensional images will be submitted to a connectionist
system based on Artificial Neural Networks according to a backpropagation algorithm
used as the basis for training, in order to obtain patterns that are common among
these images.
This work aims to contribute to image analysis so that it can be applied to
research, from forest mapping and virtual worlds construction to prognostics and/or
diagnoses in health-related areas, in which, due to variances and imperfections in
images that are said to be similar, it is not possible to use simple algorithms that
recognize similarities between them.
In light of the theoretical presuppositions discussed in chapter 2 and to the
state-of-the-art approached in chapter 3, the characteristics, organization modes,
learning algorithms and free parameters of this neural model that best adapt to the
nature of the research are defined.
The work must involve a simulation environment, the framework for neural
models experimentation and results verification, chosen according to characteristics
like reliability, viability and adequacy to hardware conditions and limitations. In
addition, the environment must be capable of dealing with the research object, that
is, the analysis and classification of three-dimensional forms and their recognition
through adjustments to the parameters of the neural model.
vi
The research to be carried out was divided into two phases: the first one is
network training, in which some images are arbitrarily chosen from an imagebase.
These images share common characteristics that must be recognized to make
adjustments to the Neural Network.
In the second phase, after the stage of tests and training, the network must be
capable of dealing with the rest of the selected imagebase. The system must also
effectively deal with exceptions and variation in some characteristics, such as light,
positioning and color.
The challenge is making the neural network training be as generic as possible,
so it can deal with these variations, offering a degree of reliability without substantial
decrease in effectiveness.
Key-words: three-dimensional images, artificial neural networks, pattern recognition
vii
AGRADECIMENTOS
Ao Prof. Dr. Fernando Antonio de Castro Giorno, pela paciência, conselhos e
experiência com que soube conduzir a pesquisa.
Aos colegas de Pós-Graduação, na divisão dos momentos complicados,
conversas, descontração e alegria que tornaram esse caminho um pouco mais
leve.
A Edna Conti funcionária do PEPG em Tecnologia da Inteligência e Design
Digital (TIDD), pela atenção e profissionalismo que dispensa a todos os alunos,
sempre disposta a ajudar e compartilhar sua experiência com conselhos que
foram fundamentais.
Ao colega, companheiro e amigo Marcio Jorge dos Santos, pela ajuda
inestimável, pelos dias que me ausentei ou pelo sincero incentivo e suporte
sempre dispensado.
Aos meus pais, meu irmão, minha família e amigos, pela compreensão devido ao
afastamento ou ausência nas visitas e reuniões que tiveram que ser adiadas.
A todos aqueles que de certa forma fizeram parte da minha trajetória não só
desta pesquisa mais ao longo da vida, pois deixaram com suas experiências a
soma das partes que sou hoje.
Por fim meu agradecimento especial a minha mulher, Angélica Miyuki Farias, por
seu amor incondicional e seu apoio mesmo nos momentos mais difíceis,
compartilhar de sua alegria e solidariedade são incentivos para qualquer campo
da vida.
viii
SUMÁRIO
RESUMO ................................................................................................................... iv
ABSTRACT................................................................................................................. v
AGRADECIMENTOS................................................................................................ vii
LISTA DE FIGURAS................................................................................................... x
LISTA DE EQUAÇÕES.............................................................................................. xi
LISTA DE TABELAS................................................................................................. xi
LISTA DE ABREVIATURAS E SIGLAS.................................................................... xi
CAPÍTULO 1 INTRODUÇÃO.....................................................................................12
1.1 Motivação..........
.
....................................................................................... 12
1.2 Objetivos................................................................................................... 16
1.3 Resultados Esperados e Contribuições.................................................... 17
1.4 Método de Trabalho.................................................................................. 18
1.5 Organização do Trabalho......................................................................... 19
CAPÍTULO 2 Fundamentos: Ciências Cognitivas, Redes Neurais e
Reconhecimento de Imagens................................................................................. 22
2.1 Ciência Cognitiva............
.
......................................................................... 22
2.1.1 Histórico.....................
.
........................................................................... 23
Visão Cartesiana.................................................................................. 23
Empirismo............................................................................................ 23
Behaviorismo....................................................................................... 24
Inteligência Artificial............................................................................. 25
Abordagem Conexionista X Simbólica................................................. 26
2.2 Redes Neurais................
.
......................................................................... 28
2.2.1 Introdução....................
.
......................................................................... 28
2.2.2 Modelo Neural....................
.
................................................................... 29
2.2.3 Propriedades......................
.
................................................................... 32
2.2.4 Tipos de Função de Ativação................................................................ 33
Função de Limiar ou Heaviside............................................................ 33
Função Linear por partes..................................................................... 34
Função Sigmóide................................................................................. 35
Função Sinal e Função Hiperbólica..................................................... 36
Função Logarítmica............................................................................. 37
2.2.5 Arquitetura............................................................................................. 38
Rede Neural de alimentação direta de camada única......................... 38
Rede Neural de alimentação direta de múltiplas camadas.................. 39
Redes Recorrentes.............................................................................. 40
2.2.6 Aprendizagem........................................................................................ 41
Aprendizagem Supervisionada............................................................ 41
Algoritmo por correção de erro............................................................ 43
Algoritmo Backpropagation.................................................................. 45
Aprendizagem não Supervisionada..................................................... 46
Redes de Hopfield................................................................................ 47
2.2.7 Considerações ...................................................................................... 48
2.3 Reconhecimento de Imagens................................................................... 48
ix
2.3.1 Características de um sistema visual biológico..................................... 49
2.3.2 A Imagem............................................................................................... 50
2.3.3 Processamento de Imagens.................................................................. 50
2.3.4 Considerações Finais............................................................................ 52
CAPÍTULO 3 - Estado da Arte................................................................................. 54
3.1 Introdução..............
.
.................................................................................. 54
3.2 MultiLayer Perceptrons usando Backpropagation ................................... 55
Reconhecimento de Faces.................................................................. 56
Navegação de Robôs........................................................................... 57
Mapeamento de terreno....................................................................... 60
3.3 Redes de Hopfield ................................................................................... 61
Reconhecimento de Faces.................................................................. 62
Reconhecimento de Padrões em imagens ruidosas............................ 64
3.4 Considerações.......................................................................................... 65
CAPÍTULO 4 – Metodologia e Análise de Dados.................................................. 67
4.1 Introdução................................................................................................. 67
4.2 Metodologia.............................................................................................. 67
4.3 Imagens utilizadas para treinamento da Rede Neural.............................. 71
4.4 Parâmetros Livres do Algoritmo Neural.................................................... 72
4.5 Treinamento da Rede Neural................................................................... 76
4.6 Análise de Resultados.............................................................................. 80
Rede Neural utilizando Função Sigmóide (Modelo 1).......................... 81
Rede Neural utilizando Função Hiperbólica (Modelo 2)....................... 82
Rede Neural utilizando Função Logarítmica (Modelo 3)...................... 83
4.7 Rede Neural em Produção....................................................................... 84
4.8 Considerações.......................................................................................... 85
CAPÍTULO 5 – Considerações Finais.................................................................... 87
5.1 Resultados Encontrados........................................................................... 87
5.2 Resultados Esperados e Contribuições.................................................... 89
Referências Bibliográficas......................................................................................91
x
LISTA DE FIGURAS
Figura 2.1 Neurônio biológico.................................................................................... 29
Figura 2.2 Modelo de um Neurônio Artificial............................................................. 30
Figura 2.3 Gráfico representando a função limiar..................................................... 34
Figura 2.4 Gráfico representando a função linear por partes.................................... 35
Figura 2.5 Gráfico da Função Sigmóide ................................................................... 36
Figura 2.6 Rede Neural de alimentação direta de camada única............................. 38
Figura 2.7 Rede Neural de alimentação direta de múltiplas camadas...................... 39
Figura 2.8 Rede Neural recorrente de múltiplas camadas........................................ 40
Figura 2.9 Diagrama mostrando a aprendizagem supervisionada............................ 42
Figura 2.10 Treinamento de Algoritmo Backpropagation.......................................... 46
Figura 2.11 Rede de Hopfield.................................................................................... 47
Figura 2.12 Estrutura de Processamento e Aquisição de Imagens.......................... 51
Figura 3.1 Arquitetura do Sistema de Navegação de um dispositivo móvel............. 58
Figura 3.2 Tipos de Faces......................................................................................... 62
Figura 3.3 Base de treinamento inicial da rede......................................................... 64
Figura 4.1 Software de Modelagem – Easy 3D Objects............................................ 69
Figura 4.2 Cubos em diferentes cores...................................................................... 71
Figura 4.3 Cones em diferentes ângulos de posicionamento................................... 72
Figura 4.4 Amostra dos três tipos de objetos utilizados............................................ 72
Figura 4.5 Diagrama de um modelo Neural utilizando Joone.................................. 77
Figura 4.6 RMSE (Root Mean Squared Error)...........................................................79
Figura 4.7 – Modelo 1- RMSE ao longo dos ciclos de treinamento.......................... 82
Figura 4.8 – Modelo 2- RMSE ao longo dos ciclos de treinamento.......................... 83
Figura 4.9 – Modelo 3- RMSE ao longo dos ciclos de treinamento.......................... 84
xi
LISTA DE EQUAÇÕES
Equação 2.1 Função de Saída do Neurônio k.......................................................... 31
Equação 2.2 Função de Saída do Somador do Neurônio k...................................... 31
Equação 2.3 Função Limiar....................................................................................... 33
Equação 2.4 Função Linear por partes..................................................................... 34
Equação 2.5 Função Sigmóide................................................................................. 35
Equação 2.6 Função Sinal........................................................................................ 37
Equação 2.7 Função Hiperbólica.............................................................................. 37
Equação 2.8 – Função Logarítimica.......................................................................... 37
Equação 2.9 Sinal de Erro ou Mecanismo de Controle............................................. 43
Equação 2.10 Função de Custo................................................................................ 43
Equação 2.11 Regra de aprendizagem Widrow-Hoff................................................ 44
Equação 2.12 Valor do Peso Sináptico
ki
w
............................................................... 44
Equação 2.13 Regra Delta Generalizada.................................................................. 44
Equação 4.1 Sinal de Erro ou Mecanismo de Controle............................................. 73
Equação 4.2 Regra Delta.......................................................................................... 73
Equação 4.3 Regra Delta Generalizada.................................................................... 74
LISTA DE TABELAS
Tabela 3.1 Elementos presentes nas imagens obtidas do satélite........................... 61
Tabela 4.1 Intervalo de valores sugeridos para redes MLP ..................................... 75
Tabela 4.2. Variações dos Parâmetros livres de cada modelo neural...................... 78
Tabela 4.3 Taxa de Erro em Função do Número de Imagens Treinadas................. 81
LISTA DE ABREVIATURAS E SIGLAS
IA Inteligência Artificial
MLP Multi Layer Perceptrons
RMSE Root Mean Squared Error
RNA Rede Neura Artificial
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
12
Capítulo 1 – Introdução
1.1 Motivação
A busca por artefatos que auxiliem em objetivos cotidianos remonta a própria
história de desenvolvimento da humanidade. Durante os períodos da pré-história,
onde a linguagem ainda era pouco desenvolvida, o homem já começava a se
destacar em relação a outros animais utilizando, adaptando ou criando instrumentos
capazes de auxiliá-lo em tarefas diárias. Estas eram inicialmente ligadas
basicamente à sobrevivência como vestuário, pesca e caça.
O surgimento da linguagem teve papel fundamental na sobrevivência e
evolução da espécie humana. Embora mesmo nos dias atuais não haja consenso a
respeito de seu surgimento, teóricos em psicologia evolutiva sugerem que a
evolução da linguagem poderia estar associada à convergência entre teorias
evolutivas e interações sociais para consolidação das primeiras grandes
comunidades nos períodos pré-históricos (Dunbar, 1993). Tarefas coordenadas de
sobrevivência teriam uma possibilidade maior de sucesso se houvesse comunicação
entre os membros (Corballis 2002).
Vygotsky (1930), em seus estudos, de fato já atribuía à linguagem e às
interações sociais um papel fundamental no aprendizado humano, o que teria
contribuído para o desenvolvimento de capacidades cognitivas mais complexas. A
aquisição da escrita atuou como facilitadora da transmissão e conservação de
conhecimento e contribuiu para facilitar o estudo e ensino das ciências. Os artefatos
foram sendo aprimorados e crescendo em complexidade deixando simplesmente de
potencializar ou suprir limitações físicas, mas passando a funcionar como um auxílio
ao processamento de tarefas mentais ou mais recentemente aos processos
analíticos.
Os estudos sobre o funcionamento do cérebro, pensamento, mente e
consciência não são recentes, Descartes foi um dos primeiros filósofos modernos a
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
13
tratar desse tema no culo XVII propondo a teoria sobre separação conceitual
entre mente e cérebro que seria contestada e revista por Locke e Kant.
A base moderna das Ciências Cognitivas, porém, viriam a ser lançadas
somente muito depois por volta de 1956 em um congresso em Darthmouth (USA),
propondo um estudo interdisciplinar valendo-se de outras áreas como ciência da
computação, lingüística, neurociência e psicologia. Acadêmicos reunidos nesse
encontro discutiram acerca da possibilidade de simular capacidades cognitivas
através do novo artefato tecnológico até então pouco conhecido: o computador.
As bases formais para a construção do computador digital foram
apresentadas ainda na década de 30, por Alan Turing, que estabeleceu os
fundamentos para a Ciência da Computação, através da formalização matemática
da noção abstrata de máquina, ou como viria a ser conhecida mais tarde, a Máquina
de Turing. Sua realização, entretanto, viria a se concretizar somente na década de
40 quando o matemático John Von Neumann propôs o modelo moderno da
arquitetura do computador (Memória, Unidade Aritmética e Lógica, Unidade Central
de Processamento e Unidade de Controle).
A construção do computador retirou definitivamente do plano abstrato a idéia
da construção de um artefato que serviria como modelo do cérebro humano. Surgia
então um novo ramo da Ciência da Computação que seria conhecido como
Inteligência Artificial (IA).
O paradigma com que se deparava a Inteligência Artificial nessa época era de
como criar um modelo computacional capaz de simular os processos cognitivos
como possível modelo da mente ou como ficou conhecido “modelo computacional da
mente”.
As pesquisas em Inteligência Artificial (IA) ao longo das cadas seguintes se
subdividiram basicamente em duas escolas: Inteligência Artificial simbólica (modelos
da mente através da manipulação de símbolos) e Inteligência Artificial conexionista
(modelos matemáticos bio-inspirados do rebro). Desde o surgimento do campo da
Inteligência Artificial as duas linhas têm concorrido com pesquisadores dividindo-se
basicamente entre uma ou outra escola. Estudos mais recentes, que levam em
conta a atuação do artefato (combinação de um sistema que pode incluir software e
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
14
ou hardware) em um ambiente e sua contribuição para o aprendizado, têm
aproximado as duas linhas, mostrando que talvez elas não sejam excludentes, mas
complementares.
A evolução dos computadores ampliou exponencialmente as possibilidades e
a gama de problemas que os mesmos poderiam resolver. O computador era capaz
de lidar com situações que poderiam ser resolvidas em tempo muito inferior ao que o
ser humano seria capaz.
Com o advento do modo gráfico, as interfaces ficaram muito mais fáceis
popularizando definitivamente o computador como ferramenta essencial para a vida
nos tempos atuais. Mesmo com todo o avanço e embora seja hoje uma ferramenta
incorporada na rotina diária de milhões de pessoas, as pesquisas em Inteligência
Artificial ainda não conseguiram resolver um problema que desde a década de 50
vem sendo buscado: Como dotar o computador de capacidades que são até então
exclusivas dos seres humanos? Qual o princípio para se afirmar que determinado
sistema é ou não inteligente?
Tomando a definição de inteligência de Gottfredson (1997):
“Inteligência é uma capacidade mental bastante geral que, entre outras
coisas, envolve a habilidade de raciocinar, planejar, resolver problemas,
pensar de forma abstrata, compreender idéias complexas, aprender rápido e
aprender com a experiência”
Até hoje os estudos em Inteligência Artificial destinam-se a tentar resolver o
problema apresentado acima. Pode o computador ser capaz de não apenas
processar ou analisar entradas de acordo com algoritmos previamente descritos,
mas também extrapolar sua própria base sendo capaz de interpretar ou decidir
baseado em algo que não esteja previsto em seu algoritmo inicial e adaptar-
se ou aprender com determinada situação e com o meio em que está inserido?
Embora não tenha conseguido resolver amplamente esse paradoxo, a IA tem
conseguido avançar em áreas onde, através de restrições sobre o domínio de
problemas, é capaz de dotar o computador de algumas capacidades de aprendizado
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
15
e análise que tem tido sucesso em aplicações em diferentes áreas do conhecimento
como finanças, biologia e gestão, apenas para citar algumas.
O problema tratado ao longo deste trabalho pode ser observado a partir da
necessidade de analisar padrões entre fenômenos visuais similares. O emprego de
sistemas computacionais que utilizam algoritmos convencionais de reconhecimento
em tais tarefas mostra-se ineficiente e em alguns casos inviável devido à variância
de características entre os objetos em maior ou menor escala como, por exemplo,
luminosidades, ângulo de visão e imperfeições.
Esse exemplo torna-se claro quando voltamos nossa atenção para o mundo
real, onde um indivíduo que, utilizando a capacidade de aprendizagem que o
cérebro humano possui, é capaz de reconhecer, apesar de particularidades,
imperfeições e diferenças entre dois objetos, que ambos pertencem a uma mesma
designação, ou que ambos possuem algo em comum.
A tarefa torna-se extremamente complexa no mundo computacional onde
esses objetos, não sendo iguais ou possuindo alguma característica idêntica, tornam
sua classificação difusa e complexa, quando não impossível.
A motivação é contribuir com pesquisas onde o campo da Inteligência
Artificial, e mais especialmente as Redes Neurais Artificiais, tem sido eficaz, ao
trabalhar dentro de um domínio especifico de objetos, em reconhecer através de
aprendizado supervisionado, métodos de segmentação e análise, padrões em
imagens tridimensionais
Esta pesquisa se insere, portanto na linha de pesquisa Inteligência Coletiva e
Ambientes Interativos, onde estão concentrados trabalhos desenvolvidos nos em
diversos campos da Inteligência Coletiva, Inteligência Artificial e Ambientes
Inteligentes.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
16
1.2. Objetivos
Este trabalho tem como objetivo geral investigar a aplicabilidade do uso das
Redes Neurais Artificiais (RNAs) na resolução de problemas de reconhecimento e
classificação de padrões delimitado a imagens tridimensionais. Neste caso,
algoritmos que não envolvam questões como aprendizagem e adaptabilidade,
características das RNAs, falham devido a variância dos fatores de entrada como
posicionamento da imagem, luminosidade, cor ou imperfeições.
Busca-se desenvolver um estudo que avalie o potencial das RNAs para
reconhecimento e classificação utilizando redes multi-camadas (Multi Layer
Perceptron ou MLP) treinadas utilizando algoritmo de retropropagação
(backpropagation), que têm sido efetivas para resolução de problemas dessa
natureza, verificando ainda seus modos de organização, aprendizagem e as
limitações dentro do domínio proposto.
Como objetivos específicos, tem-se:
Determinar qual deve ser a topologia da rede para a resolução de problemas
de reconhecimento e classificação de padrões delimitado a imagens
tridimensionais e qual sua influência na capacidade de aprendizagem da
rede.
Verificar a influência de fatores como os citados anteriormente (luz, ângulo do
posicionamento da imagem e cor) no aprendizado e na capacidade de
classificação da rede.
Sistemas baseados em RNAs podem auxiliar em diversos campos que se
apóiem em obter resultados automatizados para observação de similaridades em
imagens tridimensionais.
O uso de Redes Neurais Artificiais tem sido eficaz ao trabalhar na
classificação de imagens, principalmente devido a variância das condições da
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
17
imagem bem como a opção de decomposição por regiões, que propicia uma base
mais eficaz para o treinamento da rede.
1.3. Resultados Esperados e Contribuições
Espera-se atingir, ao término deste trabalho de pesquisa, os seguintes
resultados:
Construção de uma rede neural que permita complementações,
posteriores por parte de pesquisadores que desejem dela se utilizar,
para produzir aplicações de análise de imagens mais complexas.
Estabelecimento de um algoritmo neural para otimizar tarefas de
análise de imagens, que incorpore aprendizagem, produzindo um
sistema que possa ser utilizado junto a sistemas maiores que se
valham desse algoritmo neural para lidar com situações dificilmente
tratadas por algoritmos convencionais.
Identificação da capacidade de aprendizagem das RNAs, e seu
potencial para classificação, lidando com fatores de entrada que
variem em forma e intensidade (não linearidade).
Avaliação do impacto da variação dos fatores de entrada no algoritmo
de aprendizagem, determinando limites possíveis quanto à alteração
desses fatores em contraponto à taxa de efetividade do sistema e o
tempo de convergência que o mesmo demanda para incorporar as
variações.
Como contribuições, espera-se:
Verificar a efetividade de técnicas de decomposição da imagem para
auxiliar na estruturação de uma base de exemplos ou amostras de
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
18
entrada para a RNA que elimine duplicidade ou que elementos não
desejados influam na redução de performance da mesma.
Analisar o sistema de ajustes de parâmetros livres das RNAs como
ciclos ou épocas de treinamento, número de camadas ocultas e
momentum e sua influência na taxa de aprendizagem.
Monitorar o tempo de convergência da rede para minimizar a função de
erro, alterando as amostras de entrada.
Debater os modos de organização, implementação das redes e sua
aplicabilidade para domínios de problema que dela consigam valer-se
para obter resultados comprovados empiricamente.
Expandir e divulgar a Inteligência Artificial, mais especificamente as
Redes Neurais, oferecendo a outros pesquisadores dados
experimentais que auxiliem em estudos similares ou de natureza
complementar.
1.4. Método de Trabalho
As seguintes atividades definem o método de trabalho estabelecido para esta
pesquisa:
Levantamento bibliográfico sobre o objeto do trabalho a ser realizado: as
Redes Neurais. Através deste levantamento, verificar quais os pressupostos
teóricos, que devem ser pesquisados para o desenvolvimento da pesquisa.
Delimitação do domínio do problema a ser tratado e as condições necessárias
para desenvolvimento do trabalho como os recursos computacionais e as linguagens
tecnológicas envolvidas para os ambientes de simulação, treinamento da Rede
Neural e construção e experimentação dos algoritmos.
Seleção criteriosa dos artigos teóricos que compõem o estado da arte dentro
da pesquisa apresentada que possam oferecer lacunas para realização do trabalho
de pesquisa.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
19
Definição de qual será a topologia, modo de organização, funções de ativação
e algoritmos e paradigmas neurais para obter uma maximização da taxa de sucesso
dentro do domínio do problema determinado.
Coleta dos dados de entrada dentro do domínio estabelecido, selecionando
imagens tridimensionais segundo padrões previamente estabelecidos em um banco
de imagens, e procurando obter casos de exceção dentro das condições impostas
pelo trabalho. Essas duas condições vêm ao encontro das características das Redes
Neurais Artificiais, capazes de produzir saídas com níveis de erro relativamente
baixos mesmo quando submetidas a entradas não previstas.
Utilização de uma parte das amostras recolhidas na coleta de dados de
entrada como base para o treinamento e ajustes dos parâmetros da Rede Neural,
objetivando-se encontrar possíveis similaridades, verificando-se assim o grau de
eficiência atingido.
Verificação das condições de alternância de fatores como luminosidade, cor e
posicionamento na fase de treinamento a fim de obter um resultado que leve em
conta o fator de não linearidade na entrada da RNA.
Análise dos resultados de utilização da Rede Neural para o tema proposto e o
impacto da topologia e organização nos resultados finais.
Documentação e organização do trabalho de forma a permitir que
pesquisadores possam integrar a Rede Neural produzida a um sistema maior, que
possua interface amigável para aquisição dos dados e relatórios de resultados
obtidos.
1.5. Organização do Trabalho
No capítulo 2, Fundamentos: Ciências Cognitivas, Redes Neurais e
Reconhecimento de Imagens, serão apresentados os fundamentos e teorias que
embasam este trabalho de pesquisa. Serão analisadas como as Ciências Cognitivas
vêm contribuindo para fornecer teorias para o desenvolvimento de modelos efetivos
capazes de simular capacidades cognitivas humanas.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
20
Será realizada uma breve análise e contraste das duas principais linhas de
pesquisa em Inteligências Artificial ou IA: dos modelos cognitivistas e conexionistas.
Como as duas escolas vêm ao longo dos anos tentados vencer suas diferenças e
como cada uma contribuiu de forma decisiva para incorporar a Inteligência Artificial
aos dispositivos e serviços cada vez mais presentes em nosso dia a dia.
Serão discutidos os fundamentos teóricos das Redes Neurais Artificiais, suas
formas de organização e topologias e como elas têm obtido sucesso em diversas
áreas. Serão analisadas algumas técnicas para identificação e aprendizado
supervisionado.
A imagem compõe parte fundamental deste trabalho sendo o elemento
submetido a processos de análise e classificação. Serão introduzidos, portanto,
alguns conceitos matemáticos de imagens do ponto de vista computacional, assim
como formas de segmentação e elementos presentes em sua estrutura que podem
alterar a percepção por um sistema externo seja ele biológico ou computacional.
No capítulo 3, Estado da Arte, serão abordados e discutidos alguns trabalhos
que compõe o estado da arte na classificação de padrões utilizando Redes Neurais
Artificiais.
No capítulo 4, Metodologia, Análise e Discussão dos Dados, serão mostradas
em quais condições e variáveis foram empregadas as teorias discutidas nos
capítulos 2 e 3. Será apresentado um ambiente visual (framework) onde serão
postos em prática a modelagem, organização, treinamento e obtenção dos dados de
saída da rede neural.
Os dados coletados através dessa experimentação serão contrastados e
analisados, buscando-se obter a função de ativação e os parâmetros que permitam
a rede funcionar da forma mais eficiente possível dentro do problema proposto.
Serão analisadas também as limitações encontradas, a validade dos dados e
a taxa de efetividade dos mesmos.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capítulo 1 – Introdução
21
No capitulo 5, Considerações Finais, será feita uma reflexão e re-análise dos
resultados e contribuições deste trabalho de pesquisa, Quais as contribuições
deixadas para quem deseje seguir a abordagem defendida na pesquisa e como se
beneficiar evitando possíveis erros ou limitações enfrentadas durante o percurso.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
22
Capítulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e
Reconhecimento de Imagens
Pressupostos Teóricos
Este capítulo tem por objetivo apresentar os fundamentos teóricos envolvidos
ao longo deste trabalho de pesquisa. Em linhas gerais, serão discutidos alguns
conceitos diretamente relacionados à pesquisa que foram agrupados em três
grandes áreas: Ciências Cognitivas Redes Neurais e Reconhecimento de Imagens.
Na primeira parte do capítulo que abrange as Ciências Cognitivas será feito
um breve histórico sobre o percurso que culminou no surgimento da Inteligência
Artificial e suas duas principais linhas de pesquisa: Simbólica e Conexionista.
Na segunda parte serão discutidos os conceitos sobre as Redes Neurais
Artificiais: o modelo matemático do neurônio artificial, suas propriedades, diferentes
funções de ativação, arquitetura e alguns dos algoritmos de aprendizagem.
Na terceira e última parte do capítulo serão debatidos alguns conceitos
relativos a imagem, suas propriedades e formas de processá-la
computacionalmente.
Fundamentos
2.1 Ciências Cognitivas
A investigação proposta por esta pesquisa lida com alguns campos do
conhecimento, mas principalmente com sub-ramos da Inteligência Artificial, em uma
abordagem conexionista ligada às Ciências Cognitivas assim como à Ciência da
Computação É indispensável, porém, apresentar um breve histórico sobre os
avanços que culminaram nas teorias abordadas ao longo deste capítulo assim como
diferenciá-las das outras ramificações, deixando claras as escolhas traçadas neste
trabalho.
Faz-se aqui um recorte, mostrando uma visão geral sobre o início da
chamada Ciência Cognitiva moderna e seus desdobramentos, percorrendo outros
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
23
conceitos e áreas de fundamental importância a este trabalho, mas longe, no
entanto, de querer realizar uma pesquisa detalhada ou minuciosa sobre sua história,
o que fugiria do escopo, sendo objeto de investigação por parte de outros autores
citados nesta pesquisa.
2.1.1 Histórico
Inicia-se este percurso sobre Ciências Cognitivas baseando-se na definição
de Teixeira (2004, p 14), segundo a qual Ciência Cognitiva é percebida como “uma
ciência do artificial, ou seja, do comportamento das simulações entendidas como
grandes experimentos mentais”.
Visão Cartesiana
Embora o termo Ciência Cognitiva seja relativamente recente sua história
remonta às pesquisas do filósofo René Descartes, um dos precursores no
questionamento e investigação sobre o funcionamento da mente humana. O modelo
de Descartes propunha uma separação entre o físico (corpo) e o mental (mente), e
indicava como questionáveis ou incertos todos os pensamentos dependentes da
percepção sensorial e objetos materiais externos.
A mente racional ou cartesiana era o local onde teriam origem às idéias
inatas. A influência de suas idéias na época, que parecia ser uma proposta
metodológica interessante para uma descrição mais racional e matemática do
mundo físico, acabou por atrasar a investigação e simulação dos processos mentais
(Teixeira 2004) uma vez que a mente, segundo esse autor era desvinculada do
mundo material (dualismo).
Empirismo
As idéias de Descartes seriam logo refutadas e contestadas por
pesquisadores como Bacon em Novam Organum (1620), Lockhe em An Essay
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
24
Concerning Human Understanding (1689) e Hume em A Treatise of Human Nature
(1739) que iniciariam um movimento conhecido como empirismo.
Pesquisadores ligados ao empirismo questionaram o racionalismo de
Descartes sobre o conceito das idéias inatas e fundamentalmente opuseram-se à
visão cartesiana de refutar os sentidos: para o empirismo, o conhecimento seria
oriundo da experiência sensorial. O termo empirismo deriva do grego empeiría que
significa experiência.
Locke, em An Essay Concerning Human Understanding (1689), descreve a
mente como um papel em branco, a ser preenchido pelo conhecimento adquirido
com a experiência através dos sentidos.
Behaviorismo
no século 20, uma nova abordagem emergiria antes do surgimento da
Ciência Cognitiva moderna: essa linha de pesquisa passaria a ter grande influência
sobre a psicologia na época e seria conhecida como behaviorismo.
A principal característica do behaviorismo era refutar os estados mentais
internos e sentimentos, uma vez que os mesmos teriam pouca utilidade para
explicar o comportamento humano. A proposta era analisar o comportamento
através de variáveis e estímulos ambientais.
Fetzer (2000) sintetiza a teoria behaviorista afirmando que:
“O comportamento de um organismo individual pode ser
sistematicamente predito tendo por base o tipo de organismo que aquele
indivíduo porventura tenha e a história do reforço ao qual foi submetido”.
Diversos estudos foram conduzidos por pesquisadores, destacando-se
Watson com seu trabalho Psicologia vista por um Behaviorista (1913), inaugurando
assim, o Behaviorismo Clássico; seguem outros pesquisadores como Pavlov com
estudos sobre condicionamento clássico de estímulo e resposta além de Skinner,
em The Operational Analysis of Psychological Terms (1953), representante do
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
25
behaviorismo radical, que desenvolveu conceitos como sistematização do modelo de
seleção e condicionamento operante.
Embora tenha prosperado por algumas décadas no início do século 20, o
behaviorismo obteve sucesso apenas ao explicar processos de aprendizagem
simples, e pouco fez para explicar uma cognição mais complexa como a linguagem
ou raciocínio.
Essa tarefa ficaria a cargo da Ciência Cognitiva moderna e de sua vertente
computacional, a Inteligência Artificial (IA), que surgiram como campos
multidisciplinares para se valerem tanto das implicações filosóficas e estudos
psicológicos descritos como da neurociência e no caso da IA, da matemática e
engenharia de computadores.
Inteligência Artificial
De acordo com Russel e Norvig (2004), as bases do que viria a ser o novo
campo conhecido como Inteligência Artificial vinham sendo edificadas e se
desenvolvendo ao longo da década de 40 e início dos anos 50. Entre os diversos
trabalhos publicados nessa fase embrionária da IA podemos destacar Warren
McCullock e Walter Pitts (1943), com o modelo do neurônio artificial. Esse modelo
serviria de base para o campo conexionista (Hebb 1949) demonstrando o conceito
de aprendizagem em Redes Neurais devidamente organizadas e, finalmente, com
Alan Turing (1950) que em seu artigo Computing Machinery and Intelligency,
apresentava uma visão mais abrangente da IA. Além de propor um teste que depois
ficaria conhecido como Teste de Turing para validar programas ou sistemas
inteligentes, Turing formulou teorias sobre aprendizagem de máquinas, algoritmos
genéticos e aprendizagem por reforço.
Entretanto, foi apenas em 1956 em uma conferência de dois meses realizada
em Dartmouth, Estados Unidos, que o termo Inteligência Artificial ficou conhecido. A
conferência organizada por John McCarthy e Marvin Minsky, que haviam se
graduado em Princeton, conseguiu reunir diversos pesquisadores influentes, entre
eles: Allen Newel e Herbert Simon (CMU), Arthur Samuel (IBM), Ray Solomonoff e
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
26
Oliver Selfridge (MIT). Após este encontro, a pesquisa, antes segmentada em áreas
como Estatística e Teoria de Controle, podia agora ser abrigada dentro de um
mesmo campo.
Embora muito tempo tenha se passado desde então e a IA tenha se
solidificado como uma ciência com aplicações em diversos campos como jogos,
robótica, reconhecimento de padrões e linguagem e planejamento logístico, apenas
para citar alguns, a definição de Inteligência Artificial ainda nos dias de hoje não é
um consenso. Além disso, as definições permeiam por discussões sobre se a
mesma deve conter ou o elementos como racionalidade e comportamento ou
sobre a proximidade com que os mesmos mapeiam o modo humano de pensar.
A difícil discussão sobre Inteligência Artificial deve-se ao fato da ainda
incapacidade humana para descrever o conceito de inteligência, embora muitos
tenham tentado fazê-lo. As discussões seguiram e acabaram por dividir a IA, desde
o início, em duas linhas de pesquisa principais: conexionista e simbólica. Muitos as
consideram mutuamente excludentes embora haja, nos dias de hoje, pesquisas
principalmente em robótica que considerem possível uma convergência ou mesmo
cooperação entre as duas linhas.
Abordagem Conexionista X Simbólica
Ambos os paradigmas da Ciência Cognitiva e Inteligência Artificial
(conexionista e simbólica) emergiram para tentar explicar a cognição e os processos
mentais, porém diferiam sobre os requisitos que julgam necessários para a
construção de modelos computacionais que incluam esses elementos em toda a sua
amplitude.
A linha simbólica expressa a cognição como a manipulação de símbolos, por
meio de regras e estruturas ou fórmulas definidas, uma analogia como o computador
digital funciona no processamento, arquivamento e busca de dados. Russell e
Norvig (2004) definem o paradigma simbólico como “qualquer sistema (ser humano
ou máquina) que exibe inteligência deve operar manipulando estrutura de dados
composta por símbolos”.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
27
Dentro da linha simbólica, destacam-se as pesquisas promovidas por Newel e
Simon na construção do GPS (General Problem Solver) que tentava reproduzir a
maneira como os humanos resolviam problemas.
A abordagem para resolver problemas, segundo a linha simbólica, consiste
em tentar identificar o conhecimento necessário para a resolução do problema,
representar esse conhecimento segundo alguma linguagem escolhida e construir um
mecanismo capaz de acessar ou combinar esse conhecimento de modo a resolver o
problema colocado.
Por outro lado, o sistema conexionista preferiu inspirar-se na arquitetura do
cérebro e extrair seu ponto forte do paralelismo com que funciona sua rede. Os nós
ou neurônios artificiais estão interligados por conexões de entrada e saída
semelhantes aos neurônios biológicos.
Por suas características, o sistema conexionista possui propriedades que não
podiam ser modeladas aentão por sistemas simbólicos, a saber: capacidade de
aprender com entradas não previstas e habilidade de resolução de tarefas mal
definidas no qual não temos o domínio completo do problema para formalização.
Embora ainda hoje exista muito debate sobre se uma linha (conexionista ou
simbólica) irá ou não predominar sobre a outra, alguns autores acreditam em uma
visão de complementaridade ou, ao menos, de coexistência entre elas, dado que
cada vez mais se leva em conta à influência do meio sobre a aprendizagem: a
robótica, por exemplo, vem colhendo frutos dessa abordagem, porém ainda sem
conclusões definitivas.
Respeitando suas características, cada uma das linhas de pesquisa vêm
demonstrando sucesso maior ou menor na resolução de alguns tipos de problemas.
Alguns domínios nos quais as Redes Neurais vêm demonstrando relativo
sucesso incluem áreas como processamento de sinais, reconhecimento de imagens
e voz, classificação de dados, robótica e diagnóstico médico, entre outros.
Esta pesquisa se insere no campo da Inteligência Artificial, em uma
abordagem conexionista, onde o domínio do problema está justamente em
classificar e detectar padrões em imagens tridimensionais, explorando as principais
características do sub-ramo das Redes Neurais como vantagem para resolução
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
28
desta tarefa. Os fundamentos teóricos das Redes Neurais serão apresentados a
seguir.
2.2 Redes Neurais
2.2.1 Introdução
A idéia de obter algoritmos computacionais capazes de simular funções
cognitivas complexas como aprendizado e tomadas de decisão datam do surgimento
do campo da Inteligência Artificial, como mostrado anteriormente.
Enquanto a linha simbólica baseava-se no princípio de que a cognição se
daria pela manipulação de símbolos, a linha conexionista procurou estudar a
arquitetura do cérebro humano para portá-lo para um modelo computacional a partir
de sua estrutura biológica.
As bases do campo conexionista e das Redes Neurais foram introduzidas em
1943 quando McCulloch e Pitts publicaram trabalhos sobre um modelo matemático
que simularia computacionalmente o funcionamento de neurônios biológicos. A idéia
central seria, a partir de estudos sobre o funcionamento da estrutural neural, obter
um modelo matemático que pudesse mapear as funções de transmissão e retenção
de conhecimento.
O trabalho proposto por McCulloch e Pitts foi pioneiro, porém incompleto, pois
por meio dele não era possível ainda demonstrar algo inerente a um sistema
biológico inteligente: a capacidade de retenção de conhecimento ou aprendizagem.
Caberia ao psicólogo Donald Hebb, posteriormente em 1949, a formalização
deste importante conceito que complementaria de forma fundamental o modelo
proposto inicialmente por McCulloch e Pitts. Em seu livro, Organization of Behaviour,
Hebb
(1949) propõe:
“A aprendizagem em redes neurais vem da alteração da eficiência
sináptica, isto é, a conexão somente é reforçada se tanto as lulas pré-
sinápticas quanto as pós-sinápticas estiverem excitadas.”
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
29
Ainda de acordo com Russel e Norvig (2004), apesar dos estudos terem
avançado nas décadas de 50 e 60, quando pesquisadores renomados como
Rosenblatt (1958) propôs novos métodos de aprendizagem para as Redes Neurais
Artificiais, entre eles, o modelo denominado perceptron, o poder de processamento e
memória do computador era muito limitado, dificultando o desenvolvimento de
trabalhos.
Até os anos 80 os trabalhos com Redes Neurais permaneceriam
“adormecidos”, em grande parte devido a limitações tecnológicas, mas alguns
autores ressaltam outros aspectos como estudos conduzidos por Minsky e Papert
(1969) demonstrando limitações matemáticas para a utilização de Redes Neurais.
Após esse período, algumas contribuições importantes seriam acrescidas à
linha de pesquisa, destacando-se Grossberg (1980) desenvolvendo o principio de
auto-organização e Hopfield (1982) com estudos sobre redes recorrentes.
2.2.2 Modelo Neural
Embora existam diversos tipos de neurônios que desempenham diferentes
funções, a estrutura básica do elemento principal do sistema nervoso central, o
neurônio, pode ser exemplificado na figura 2.1.
Figura 2.1 – Neurônio biológico Fonte: Portal Sabendo (2008)
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
30
Destacam-se três partes principais de sua composição estrutural:
(a) Corpo celular: coleta e integra a informação recebida dos dendritos e
envia a saída processada ao axônio;
(b) Dendritos: responsáveis por receber os estímulos elétricos transmitidos
por outros neurônios;
(c) Axônio: recebe a saída processada no corpo celular e repassa os
impulsos a outras células.
Analisando a Figura 2.1, é possível correlacionar as três estruturas básicas
presentes em um neurônio biológico, listadas anteriormente com o modelo (neurônio
artificial) mostrado a seguir na Figura 2.2.
Figura 2.2 – Modelo de um Neurônio Artificial Fonte: Haykin (2001, p 36)
As múltiplas entradas simulariam os dendritos ou terminações responsáveis
pelo recebimento dos impulsos elétricos, a unidade de ativação, o corpo celular e o
terminal de saída o axônio que realiza a transmissão a outros neurônios.
Destacam-se ainda alguns elementos importantes do modelo de neurônio
artificial proposto na Figura 2.2:
(a) Conjunto de sinapses: a cada um dos sinais de entrada (
1
x
a
m
x
) listadas
no neurônio
k
da Figura 2.2 está associada uma sinapse em que é aplicado um
peso
ki
w
. Sendo i o número da sinapse e
i
x
o sinal na entrada da sinapse i, o valor
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
31
do sinal de entrada (
i
x
) em determinada sinapse deve ser multiplicado pelo valor do
peso na mesma (
ki
w
).
(b) Somador: responsável por compor ou combinar o conjunto de sinais de
entrada após a aplicação dos pesos sinápticos.
(c) Função de Ativação: utilizada para restringir o intervalo ou limite dos
valores de saída de um neurônio. Os intervalos ou valores de saída normalmente
estão restritos ao intervalo fechado [0,1] ou [-1,1]. Existem alguns tipos de função de
ativação mais utilizados que serão discutidos no item 2.2.4 deste capítulo.
O esquema proposto inclui ainda um índice que pode interferir de forma a
acrescer ou decrescer o valor de entrada a ser aplicado sobre a função de ativação,
o bias. Sendo
k
o neurônio exemplificado na Equação 2.1, a saída
k
do neurônio
artificial é dada de acordo com a seguinte formula:
)
(
kkk
buy
+
=
ϕ
Equação 2.1 - Função de Saída do Neurônio k
k
: sinal de saída do neurônio k
k
u
: saída do somador ou combinador linear
k
b
: valor bias aplicado antes da função de ativação
Onde
k
u
pode ser descrito como sendo a soma ponderada dos sinais de
entrada
[
]
m,1
, multiplicado pelo peso sináptico indicado por
k
w
[
]
m,1
.antes de
aplicar-se o bias e submeter função de ativação (.)
ϕ
=
=
m
i
ikik
xwu
1
Equação 2.2 - Função de Saída do Somador do Neurônio k
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
32
2.2.3 Propriedades
As Redes Neurais possuem uma poderosa capacidade de processamento
paralelo, herdada fundamentalmente de como o modelo biológico (cerebral) em que
se baseia está também estruturado. Outra característica importante, que deve ser
destacada, diz respeito à forma como a estrutura neural é capaz de responder de
forma eficaz a situações não previstas no treinamento inicial, conceito esse
conhecido como generalização.
Além das duas principais características, consideradas centrais, definidas
acima, Haykin (2001) lista ainda um conjunto de propriedades ou capacidades que
podem ser atribuídas às Redes Neurais, dentre as quais destacam-se:
a)
Não Linearidade: capacidade de lidar com eventos de entrada que possuam
padrões não-lineares. Exemplo: sinais de voz.
b)
Aprendizagem Supervisionada: a partir de uma entrada ou amostra
selecionada, e uma saída desejada e conhecida, é possível treinar a rede
com ajustes aos pesos sinápticos a fim de obter uma aproximação o mais fiel
possível da resposta desejada. Repete-se o procedimento com outros
exemplos até a rede convergir a um estado em que haja nenhuma ou
alteração mínima dos pesos Uma aplicação desta capacidade é a
classificação de padrões, na qual a idéia é encontrar semelhança ou distinção
entre classes de objetos.
c)
Adaptabilidade: as Redes Neurais adaptam-se a variações no ambiente onde
operam quando o mesmo tende a modificar-se (ambiente não estacionário).
d)
Resposta a Evidências: caso venha a ser projetada, a rede poderá decidir
entre padrões ambíguos e aferir um grau de confiança à escolha feita.
e)
Informação Contextual: uma vez ativa, a forma como está estruturada e o
estado em que se encontra a rede, permitem que o conhecimento seja
armazenado de forma descentralizada.
f)
Tolerância a Falhas: por possuir a estrutura descentralizada, as Redes
Neurais tendem a minimizar os problemas causados por falhas de uma ou
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
33
poucas unidades dentro da rede, embora haja uma perda de qualidade na
saída, dependendo de quais ou quantos elementos foram afetados.
2.2.4 Tipos de Função de Ativação
A função de ativação (.)
ϕ
, como mostrado no modelo neural do item 2.2.2, é
responsável pela adequação da saída do neurônio artificial a um intervalo de valores
pré-estabelecidos determinados pela fórmula matemática dessa função.
Tipicamente, a saída do neurônio apresenta valores no intervalo fechado
[
]
1,0
ou
[
]
1,1
; porém, existem alguns tipos de função de ativação mais utilizados que
serão mostrados a seguir.
Função de Limiar ou Heaviside
A saída do neurônio (
k
) é dada em função da Equação 2.3. Conhecido
também como modelo McCulloch e Pitts, em homenagem ao trabalho pioneiro
desses pesquisadores, a saída do mesmo é determinada em valores binários ou
booleanos no intervalo fechado
[
]
1,0
ou utilizando a nomenclatura booleana,
verdadeiro ou falso.
=
00
01
k
k
k
vse
vse
y
Equação 2.3 – Função Limiar
Sendo
k
v
o potencial de ativação do neurônio k (a saída do somador
acrescido do valor do bias) conforme o modelo mostrado na Figura 2.2
kkk
buv
+
=
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
34
O gráfico que resulta da equação da equação 2.3 é expresso na figura 2.3
Figura 2.3 – Gráfico representando a função limiar
Função Linear por partes
A função de ativação (.)
ϕ
é dada de acordo com a Equação 2.4
2
1
2
1
2
1
2
1
,0
,
,1
)( +
<<
+
=
vse
vsev
vse
v
ϕ
Equação 2.4 – Função Linear por partes
A função mostra que caso o valor de v opere em uma área maior que +1/2 e
menor -1/2, seu comportamento será idêntico ao da função limiar. Porém, se o
potencial de ativação v se mantiver no limiar entre o primeiro e o segundo caso, o
combinador linear ou somador é quem determinará a saída do neurônio.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
35
O gráfico da função da Equação 2.4 é expresso na Figura 2.4
Figura 2.4 – Gráfico representando a função linear por partes
Função Sigmóide
Dentre os tipos listados, a função sigmóide está entre as mais aplicadas na
elaboração de Redes Neurais. Exibe um comportamento crescente e capaz de
operar em modo linear e não linear.
A saída desse tipo de função de ativação é um intervalo aberto entre (0,1)
sendo (.)
ϕ
a função de ativação definida na Equação 2.5
)exp(1
1
)(
v
v
α
ϕ
+
=
Equação 2.5 Função Sigmóide
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
36
O diferencial dessa função é a utilização do parâmetro
α
com o qual é
possível obter diferentes inclinações da curva de resposta da função de ativação.
Quando o valor
α
tende a infinito, a resposta tende aos valores de uma função
limiar.
O gráfico da função sigmóide pode ser visualizado na figura 2.5
Figura 2.5 Gráfico da Função Sigmóide
Função Sinal e Função Hiperbólica
As três funções mostradas anteriormente restringiam os valores a intervalos
fechados ou abertos, embora com limites não diferentes de (0,1). Existem algumas
variações das citadas anteriormente que possibilitam uma ampliação desse
intervalo: assim, a função de ativação pode vir a assumir valores dentro do intervalo
-1 e 1.
A função sinal ou signum apresenta o comportamento similar a limiar, porém
diferenciando os valores de ativação, conforme mostrado na Equação 2.6.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
37
<
=
>
=
0,1
0,0
0,1
)(
vse
vse
vse
v
ϕ
Equação 2.6 Função Sinal
O correspondente da função sigmóide é chamada de hiperbólica e pode ser
expressa pela seguinte equação 2.7.
)tanh()( vv
=
ϕ
Equação 2.7 – Função Hiperbólica
Função Logarítmica
Por fim, além das funções já citadas anteriormente destaca-se também a
função logarítmica. Esta função por suas características exibe um comportamento
que pode evitar a saturação de elementos da rede quando o número da camada de
entrada, por exemplo, possui um número alto de neurônios ou mesmo quando os
elementos de entrada estão em valores muito próximos dos limites inferior e superior
0 e 1 (Chun-Chi 2004).
A saída desse tipo de função de ativação é um intervalo aberto entre (0,1)
sendo (.)
ϕ
a função de ativação definida na Equação 2.8
|)|1log()( vv
+
=
ϕ
Equação 2.8 – Função Logarítmica
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
38
2.2.5 Arquitetura
A topologia das Redes Neurais está diretamente relacionada a qual processo
de aprendizagem será utilizado para treinar essa mesma rede.
Russell e Norvig (2004) classificam a arquitetura distinguindo duas classes
distintas, redes de alimentação direta e redes recorrentes, embora ambas possam
ter subtipos que levem em conta fatores como o número de camadas e a relação
entre os nós da rede ou como os mesmos estão organizados.
Rede Neural de alimentação direta de camada única
A principal característica dessa rede, como diz o nome, vem do fato da rede
estar estruturada de forma que os nós ou unidades de entrada estão diretamente
ligados aos nós de saída, sendo que cada elemento de saída é independente, tendo
seu próprio peso sináptico.
O fato de também ser chamada de direta ou feedforward refere-se a não
realimentação, ou seja, a saída poderia re-injetar valores na entrada alterando seu
estado; esse tipo de característica será abordada mais adiante.
Um modelo gráfico dessa estrutura pode ser visto na Figura 2.6
Camada de Entrada Camada de Saída
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
39
Figura 2.6 Rede Neural de alimentação direta de camada única
Rede neural de alimentação direta de múltiplas camadas
Embora seja considerada uma subdivisão das redes de alimentação direta,
essa topologia difere em relação ao modelo anterior fundamentalmente em relação
ao número de camadas.
Existem dentro dessa estrutura uma ou mais camadas intermediárias ou
ocultas como também são conhecidas, uma vez que as mesmas compreendem um
espaço de atuação não diretamente acessível a elementos anteriores a entrada ou
saída. A característica desse modelo é permitir um aumento considerável no número
de hipóteses a serem tratadas, sendo ainda maior quando o número de camadas de
entrada for elevado.
A figura 2.7 ilustra um exemplo dessa classe de redes, onde pode ser
visualizada uma única camada intermediária, embora, como foi dito anteriormente, o
número de camadas intermediárias seja variável.
Figura 2.7 Rede Neural de alimentação direta de múltiplas camadas
Camada de Entrada
Camada Oculta
Camada de Saída
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
40
Redes recorrentes
O segundo tipo de classificação de arquitetura de Redes Neurais não leva em
conta o número de camadas, tanto modelo de camada única ou múltiplas camadas;
também podem existir dentro dessa nova classe: o fator que difere dos exemplos
anteriores reside em um novo conceito conhecido como realimentação.
Haykin (2001) define realimentação como sendo:
“Existe realimentação em um sistema dinâmico sempre que a saída de
um elemento do sistema influencia em parte a entrada aplicada àquele
elemento particular”
Esse tipo de rede, ainda conforme Russell e Norvig (2004), introduz um
conceito importante em sua analogia ao sistema cerebral, a memória de curto prazo:
isso se deve aos operadores de atraso unitário. Um exemplo de rede recorrente
pode ser visualizado na Figura 2.8.
Figura 2.8 Rede Neural recorrente
Atraso
Atraso
Atraso
Atraso
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
41
2.2.6 Aprendizagem
Uma das propriedades mais poderosas dos projetos com Redes Neurais diz
respeito à capacidade que a rede tem de melhorar seu desempenho por meio da
experiência que recebe do ambiente onde opera (aprendizagem).
Essa propriedade advém da possibilidade de ajustes nos pesos das múltiplas
sinapses de entrada e no valor bias, referenciados no modelo neural do item 2.2.2.
Haykin (2001) define a aprendizagem em projetos de redes neurais como:
“Aprendizagem é um processo pelo qual os parâmetros livres de uma rede
neural são adaptados através do processo de estimulação pelo ambiente no qual a
rede está inserida. O tipo de aprendizagem é determinado pela maneira pela qual a
modificação dos parâmetros ocorre”.
Como a definição já diz, o modo de modificar os parâmetros dos pesos e bias,
irá influir diretamente no processo de aprendizagem da rede; isto deve ser feito por
meio de um conjunto de instruções ou regras claras e bem definidas às quais se
denomina Algoritmo de Aprendizagem.
Dentre os diversos algoritmos existentes, um critério comumente utilizado
para classificá-los refere-se à existência ou não de um agente externo no processo
de treinamento da rede; assim as Redes Neurais quanto ao critério de Algoritmos de
Aprendizagem, podem ser subdividas em: aprendizagem supervisionada e
aprendizagem não supervisionada.
Esses dois paradigmas classificatórios serão abordados a seguir, cada qual
com vantagens e desvantagens dependendo do problema a ser tratado.
Aprendizagem supervisionada
A aprendizagem supervisionada agrupa o conjunto de algoritmos que
demandem um agente externo que conheça o ambiente do problema onde está
inserido o projeto de Redes Neurais, selecionando exemplos de entrada para a
simulação e ajustes durante processo de treinamento.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
42
Os parâmetros a serem ajustados estão condicionados aos vetores de
entrada injetados normalmente como exemplos do domínio do problema a ser
tratado, mas também de um sinal de erro que é re-injetado a fim de aproximar o
valor de saída do neurônio artificial a uma resposta ideal ou resposta desejada pré-
determinada; essa rotina envolve diversos ciclos de treinamentos até que se atinja
uma generalização ou taxa de sucesso adequada.
O processo dinâmico incluído durante esses ciclos pode ser visualizado sob o
diagrama da Figura 2.9.
Figura 2.9 – Diagrama mostrando a aprendizagem supervisionada. Fonte: Haykin (2001, p 88)
A desvantagem da aprendizagem supervisionada está na dependência
explícita de um agente externo que deve determinar a resposta desejada, assim
como pré-selecionar exemplos de entrada condizentes com o domínio do problema
(ambiente) a que a rede estará exposta após o processo de treinamento.
Alguns exemplos de algoritmos que serão discutidos nos próximos itens estão
reunidos sob o paradigma de aprendizagem supervisionada: correção de erro e sua
variação, o backpropagation.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
43
Algoritmo por correção de erro
A regra geral que constitui o algoritmo por correção de erro é a determinação
de um valor ótimo de saída ao qual a saída da Rede Neural deve ser aproximada,
por meio da realimentação de um valor corretivo a ser injetado nas entradas
alterando dinamicamente o processo de aprendizado.
A fórmula matemática que expressa essa regra do algoritmo em questão pode
ser vista na Equação 2.9.
kkk
yde
=
Equação 2.9 – Sinal de Erro ou Mecanismo de Controle
Sendo k o neurônio a ser representado, o sinal de erro
k
e
é determinado pela
subtração da saída esperada ou desejada
k
d
a saída atual do neurônio
k
Por meio do sinal de erro
k
e
é possível aplicar uma função para minimizar a
taxa de erro e assim injetar um parâmetro de correção aos pesos sinápticos até que
a rede atinja um estado estável.
A fórmula que expressa a função de custo (n)
ε
pode ser vista na Equação 2.10
)(
2
1
(n)
2
ne
k
=
ε
Equação 2.10 – Função de Custo
Onde:
(n)
ε
- Valor da função de custo no instante
n
do treinamento
)(ne
k
Taxa de erro do neurônio k no instante
n
A regra de aprendizagem a ser aplicada a fim de readequar ou realimentar os
pesos das sinapses do neurônio k é conhecida neste caso como regra delta ou regra
de Widrow-Hoff em homenagem os pesquisadores Bernard Widrow e Marcian Hoff
que a formularam em 1960. De acordo com essa regra, os pesos
ki
w
sofrerão
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
44
variação em função do produto da taxa de erro
k
e
dado no instante n pelo valor de
entrada
ki
x
, indicada na Equação 2.11
)()()( nxnenwk
iki
η
=
Equação 2.11 Regra de aprendizagem Widrow-Hoff
Sendo:
η
taxa de aprendizado(constante)
)(nx
i
valor da entrada
i
x
no instante de tempo n
O valor de atualização dos pesos ao longo dos passos de treinamento fica,
portanto expresso segundo a Equação 2.12.
)()()1( nwknWnW
ikiki
+
=
+
Equação 2.12 Valor do Peso Sináptico
ki
w
Rumelhart et al. (1986) propôs uma modificação da regra Delta de forma a
permitir que os valores da taxa de aprendizagem fossem modificados, porém
evitando a possível oscilação que tal variação poderia implicar. Essa modificação
pode ser vista na Equação 2.13 abaixo.
)()()1()( nxnenwknwk
ikii
η
α
+
=
Equação 2.13 Regra Delta Generalizada
A Equação 2.13 introduz um novo parâmetro livre (momentum
α
) em adição
a equação original da regra Delta. Esta nova constante pode influenciar
positivamente no ajuste dos pesos sinápticos, trabalhando em paralelo ou conjunto
com o valor definido para a constante
η
, seu intervalo deve ser limitado ao intervalo
10
α
para que a rede entre em um estado convergente.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
45
Como caso especial, quando o valor da constante momentum
α
for igual a
zero, a regra delta generalizada passa a apresentar os mesmos valores da regra
delta original.
Algoritmo Backpropagation
O algorimo de backpropagation ou retropropagação como é traduzido tem
sido um dos mais utilizados em modelos de Rede Neural Artificial, principalmente
por lidar com rede de múltiplas camadas ou Multilayer Perceptrons (MLP).
Como vantagem, possui uma alta capacidade de lidar com problemas de
detecção e classificação de padrões, além do alto grau de generalização.
A topologia desse tipo de rede é de múltiplas camadas, possuindo camadas
ocultas entre as entradas e saídas da Rede Neural; como visto anteriormente, isso
aumenta o número de hipóteses a serem tratadas.
O treinamento desse tipo de rede é baseado no algoritmo por correção de
erro, mas por possuir uma topologia multicamadas ele precisa ser feito em duas
etapas distintas.
No passo inicial todas os nós em cada camada, excitados pelas entradas de
suas sinapses vão efetuando as comutações necessárias, passando pelos
combinadores de cada nó onde a função de ativação é calculada gerando saídas até
que se atinja a última camada de saída.
No passo seguinte, esse conjunto de respostas é comparado com a saída
desejada e utilizado para calcular o fator corretivo descrito no algoritmo de correção
por erro. Esses fatores devem ser propagados de volta a partir da camada de saída
para as camadas iniciais (retropropagação), adequando os pesos dos nós.
Um diagrama simples mostrando esse principio pode ser visualizado na
Figura 2.10.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
46
Figura 2.10 – Treinamento de Algoritmo Backpropagation
Esse processo pode e normalmente deve ser repetido por muitas vezes
(ciclos de treinamento) até que se obtenha um erro suficientemente satisfatório ou o
grau de generalização comece a decrescer.
Aprendizagem não supervisionada
Neste tipo de paradigma ocorre exatamente o inverso do anterior: não existe
um agente externo para determinar valores ou supervisionar a fase de treinamento
da Rede Neural; alguma vezes, por isso, esse paradigma também é referenciado
como auto-organizado.
Como a rede está exposta diretamente ao ambiente de onde deve adquirir os
dados, a aprendizagem deve ser feita de forma independente e a rede deve ser
capaz de auto-estabilizar-se seguindo algum critério ou medida que independa da
tarefa a ser realizada.
No próximo item será discutido um dos exemplos mais conhecidos de
aprendizagem não supervisionada: as Redes de Hopfield.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
47
Redes de Hopfield
Também conhecida como rede de memória associativa, a Rede de Hopfield
foi assim denominada em homenagem ao físico americano John Hopfield que, em
1982, introduziu novos conceitos associando teorias de sistemas físicos a redes
computacionais.
O trabalho de Hopfield contribuiu fundamentalmente para a revitalização do
campo das Redes Neurais que havia permanecido adormecida por alguns anos.
A principal diferença desse modelo está em sua arquitetura não linear, mas
recorrente, onde os nós de saída são conectados a entradas dos outros neurônios
presentes, com um pequeno atraso de tempo, gerando uma realimentação.
A rede é composta de uma única camada de neurônios, não possuindo,
portanto camadas ocultas.
Por sua característica de realimentação esse tipo de rede permite uma
importante propriedade de memória, uma vez que os dados de entrada são sempre
comparados aos estados já previamente armazenados pela rede.
A Figura 2.11 demonstra graficamente o modelo de Hopfield.
Atraso
Atraso
Atraso
Atraso
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
48
Figura 2.11 – Rede de Hopfield
2.2.7 Considerações
Foram apresentados até aqui os fundamentos sobre Redes Neurais, além de
um breve histórico sobre os paradigmas e linhas de pesquisa cognitiva.
Devido à natureza do trabalho e sua proposta metodológica foram colocados
os princípios teóricos das Redes Neurais Artificiais (RNAs), seu modelo matemático,
propriedades, topologia e funções de ativação. Foram apresentados ainda os
paradigmas de aprendizagem e alguns algoritmos que serão utilizados ao longo da
pesquisa.
Na terceira parte do capitulo serão discutidos os fundamentos ligados ao
reconhecimento digital de imagens.
2.3 Reconhecimento de Imagens
O sentido da visão biológica (percepção visual) talvez seja um dos melhores e
mais eficientes sistemas de obtenção de dados ambientais de que dispõem os seres
humanos.
Embora rotineiramente o processo seja automático, esse mecanismo envolve
múltiplas tarefas que percorrem atividades de níveis cognitivos baixos, como a
própria aquisição da imagem, através do sistema sensório, assim como sua
segmentação para posterior análise dos dados obtidos (interpretação), uma
atividade considerada de mais alto nível.
Qualquer sistema computacional que se proponha a modelar ou reproduzir
parcial ou integralmente esse mecanismo lidará basicamente com um conceito
fundamental: a imagem.
Segundo Facon (2005), a imagem do ponto de vista matemático ou
computacional, pode ser entendida como “uma função f(x,y) da intensidade luminosa
sendo seu valor, em qualquer ponto de coordenadas espaciais (x,y), proporcional ao
seu brilho da imagem naquele ponto.”
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
49
O sistema visual humano e biológico, de um modo geral, traz algumas
características principais, destacadas a seguir, que são determinantes para a
concepção de um modelo computacional.
2.3.1 Características de um sistema visual biológico
a. Tempo de processamento das informações: o tempo de reação que um
sistema biológico tem para interpretar estímulos visuais vindos do ambiente
deve ser o mais baixo possível. Isso garante ao organismo uma maximização
de sua função de sobrevivência a possíveis perigos ou obstáculos
enfrentados.
b. Adaptabilidade às condições ambientais: mudanças nas condições de
funções como luz, cores, imperfeições ou captações parciais das imagens
obtidas ou mudança de ângulo de visão, o processadas pelos sistemas
orgânicos de forma muito eficiente. Um sistema artificial deve recorrer a
alguma função ou sistema de aprendizagem capaz de lidar com essas
variâncias. Sistemas convencionais podem ter extrema dificuldade pelo
número de variáveis que podem ser modificadas.
c. Interpretação da informação: pelas condições listadas nas propriedades
acima e considerando um sistema visual contínuo, o volume de informação
que o sistema biológico é capaz de processar ainda permanece uma
incógnita, pois mesmo com sistemas computacionais de memória e poder de
processamento alto, não podem nos dias de hoje lidar com a quantidade de
informação necessária para essa atividade, se considerada em sua
integralidade.
Ainda que não exista mesmo na Robótica um artefato computacional que
consiga se aproximar em eficiência às condições impostas pelas características
acima, a computação gráfica, valendo-se de funções matemáticas, traz um conjunto
de ferramentas que permitem um nível de pré-processamento das imagens a fim de
garantir uma melhor adequação às condições de entrada dos sistemas artificiais.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
50
2.3.2 A Imagem
Como mostrada anteriormente, a imagem digital foi descrita como uma função
matemática f(x,y), tendo o valor dentro dessa coordenada uma intensidade de luz
proporcional ao brilho da imagem naquele determinado ponto.
Dependendo do tipo e das características da luz que incide sobre um objeto
ou sua reflexão sobre o mesmo, as imagens podem ser classificadas como:
a. Monocromáticas: determinadas apenas pela intensidade de luz que inside
sobre determinado ponto do objeto (níveis de cinza).
b. Cromáticas ou Coloridas: onde devem ser considerados fatores como
radiância (energia determinada pela luz), luminância (energia percebida) e por
fim o brilho como em sua forma monocromática.
Em função dessa reflexão, o comprimento de onda pode variar, fazendo com
que a imagem possa assumir diversas cores dentro do espectro de luz (vermelho,
laranja, amarelo, verde, azul e violeta).
Para padronização, foram criados formatos específicos que diferem
basicamente nas maneiras de armazenar e relacionar suas propriedades
cromáticas. Alguns dos formatos que podem ser destacados são: RGB, NTSC, HSI,
CMYK. A utilização de determinado formato em detrimento de outro depende,
fundamentalmente, do tipo de aplicação, normalmente o hardware que se
utilizado.
2.3.3 Processamento de Imagens
Processar uma imagem, do ponto de vista digital, significa alterar ou modificar
as condições originais, após a captação de um dispositivo que pode ser um sensor
ou câmera, operando um sistema de transformações matemáticas ou filtros que
podem, dependendo do domínio do problema, tentar aproximá-la da imagem real
original no que diz respeito as suas características primárias como cor, luminosidade
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
51
ou distorcê-la e recriá-la aproveitando apenas algumas delas, quando atende a
algum trabalho artístico ou publicitário.
Seja qual for sua aplicação, o processamento de imagens opera sobre
algumas propriedades das imagens digitais, mas seguindo uma arquitetura ou
estrutura que pode ser subdividida em etapas (Facon 2005) e (Paciornik 1999). O
diagrama contendo essas divisões pode ser visualizado na figura 2.22
Figura 2.12 – Estrutura de Processamento e Aquisição de Imagens. Fonte: Facon (2005)
A estrutura procura subdividir e delimitar o processamento em etapas, que
são agrupadas pelos autores em três níveis distintos: alto, médio e baixo nível,
seguindo com isso o critério de complexidade das funções cognitivas envolvidas.
No primeiro nível, de aquisição, o dispositivo (câmera ou scanner) capta a
imagem do ambiente ao qual está ligado e, seguindo parâmetros como tamanho,
qualidade e definição, fornece como saída uma imagem digitalizada descrita em
valores numéricos ou pixels. Ainda no primeiro nível são realizadas algumas
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
52
operações de reconstrução ou realce que permitem corrigir problemas na
captação.
No segundo nível, as operações a serem realizadas devem tratar os dados ou
blocos dentro da imagem para dividi-la em partes ou regiões independentes
(segmentação) a serem interpretadas no nível seguinte.
No último e mais complexo vel, o sistema deve operar de forma inteligente,
interpretando as informações subdivididas pelas etapas anteriores e transformando
esses dados em conhecimento: são realizadas aqui as atividades de classificação e
reconhecimento de padrões.
O desenvolvimento desta pesquisa está voltado para os dois últimos níveis
desse processamento, a segmentação e o reconhecimento de padrões em imagens.
Devido à complexidade cognitiva envolvida e à variabilidade de sua entrada, a
abordagem escolhida deve envolver um certo grau de inteligência e aprendizagem
que será tratada através das Redes Neurais Artificiais, como mostrado
anteriormente nos fundamentos.
Bittencourt (2002) propõe essa abordagem ao lidar com experimentos de
construção de filtros gráficos (etapa de pré-processamento) devido justamente às
características das RNAs para a resolução dessa natureza de problemas.
2.3.4 Considerações Finais
Ao longo deste capítulo foram apresentados os fundamentos teóricos das
Redes Neurais Artificiais, seus modelos, propriedades e características. Em seguida
foram abordados, conceitos e estudos que visem o reconhecimento de imagens,
objetos de análise da pesquisa.
Alguns autores como Bittencourt (2002) e Facon (2005) têm focado seus
estudos no uso de algoritmos inteligentes para classificação de padrões em imagens
através de Redes Neurais. Estudos conduzidos têm mostrado eficiência no uso tanto
de modelos usando redes multi-camadas (MLP) utilizando algoritmo
backpropagation quanto de Redes de Hopfield para lidar com esse tipo de problema.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 2 – Fundamentos: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens
53
No próximo capítulo, Estado da Arte, serão abordados trabalhos que compõe
o estado da arte no reconhecimento de imagens por meio de Redes Neurais e uma
análise crítica das abordagens utilizadas pelos autores.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
54
Capítulo 3 – Estado da Arte
3.1 Introdução
Ao longo deste capítulo serão discutidos alguns trabalhos que se apóiam nos
fundamentos discutidos ao longo do capítulo 2. A aplicação de tais teorias pelos
autores remete ao estado da arte em pesquisas ligadas a análise de imagens
utilizando Redes Neurais Artificiais.
A escolha dos temas apresentados nos trabalhos tem relação direta e forte
vínculo com esta pesquisa. A organização deste capítulo foi conduzida levando em
conta duas das principais abordagens extraídas após a seleção de diversos
trabalhos previamente analisados
A estratégia na resolução de problemas de reconhecimento de padrões, como
descrita no capítulo 2, pode ser amplamente beneficiada com o uso das Redes
Neurais Artificiais. Por suas características, as Redes Neurais possuem
propriedades como adaptabilidade, aprendizagem e não linearidade que podem ser
eficazes ao lidar com problemas onde os dados de entrada podem variar
amplamente, dificultando extremamente a previsão ou a antecipação de todas as
condições que seriam necessárias para a utilização de algoritmos convencionais.
Pesquisadores vêm produzindo modelos neurais que procurem incorporar
características cada vez mais próximas ao modelo biológico de pensamento.
Embora ligados fundamentalmente por sua constituição baseada na estrutura neural
biológica, os modelos podem diferir em diversos pontos como: topologia,
organização dos neurônios artificiais ou funções de ativação.
Até o atual estágio das pesquisas, nenhum deles concentrou elementos
suficientes para ser considerado um modelo completo que tivesse características
tais que permitissem torná-lo o mais eficaz na resolução de qualquer problema
proposto.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
55
A resolução de problemas utilizando Redes Neurais, portanto, tenta ao
mesmo tempo valer-se dos pontos fortes de cada modelo desenvolvido e evitar ou
contornar seus pontos fracos ou limitações.
Dentre os diversos tipos de Redes Neurais, dois tipos destacam-se para
aplicação em problemas de reconhecimento de padrões: as redes multi-camadas
(MLP) usando algortimo backpropagation e as redes de Hopfield.
Nas partes seguintes desse capítulo serão analisados, portanto os trabalhos
selecionados, levando em conta o tipo de Rede Neural agrupados em
backpropagation e redes de Hopfield, que de alguma forma as utilizem para tratar o
reconhecimento de imagens em diferentes tipos de aplicações.
3.2 MultiLayer Perceptrons usando Backpropagation
A Rede Neural do tipo MLP usando backpropagation e suas derivações são
também referenciadas como multilayer perceptrons; como sugere o nome, este tipo
de rede possui uma ou mais camadas ocultas, além da camada de entrada e saída.
A introdução das camadas ocultas, em relação ao modelo original de única
camada de onde derivou, permite estender o número e a complexidade dos
problemas tratados.
Por sua concepção, a resposta ao treinamento desse tipo de rede ocorre em
duas etapas distintas: as sinapses vão sendo ativadas em resposta aos dados de
entrada e propagadas até a ultima camada da rede e, na etapa seguinte, o sinal é
comparado a entrada desejada e a diferença é re-injetada ou propagada de volta as
camadas anteriores para efetuar os ajustes, o que justifica seu nome.
Esse tipo de rede tem sido amplamente utilizado em problemas de
identificação de padrões e classificação, possuindo um razoável grau de
generalização.
Como desvantagem, dependendo da complexidade do problema, possui um
tempo de convergência alto em comparação com outros modelos.
A seguir serão discutidos três trabalhos que se utilizam do modelo
backpropagation para resolução de problemas em três aplicações distintas:
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
56
reconhecimento de faces, navegação de robôs e mapeamento de terreno. Os três
trabalhos envolvem a utilização de imagens como seu objeto de pesquisa variando
nas aplicações e ambiente onde estão envolvidos.
a) Reconhecimento de Faces
A área de reconhecimento de imagens atrai diversas pesquisas, sendo objeto
de investigação com aplicações diversas. Uma de suas vertentes, o reconhecimento
de faces, vem atraindo interessados em desenvolver sistemas capazes de tratar
desde o reconhecimento de emoções até questões que envolvam segurança como
identificação de criminosos.
Boaventura et al. (2005) desenvolveram um interessante trabalho de
reconhecimento de faces apresentado como um aprimoramento do modelo de rede
convolutiva inicialmente proposto por Garcia e Delakis (2004) para o mesmo
propósito.
A idéia central desenvolvida durante o trabalho era como obter as
características principais de uma imagem e determinar se a mesma seria ou não
uma face.
Os autores propuseram uma abordagem que combinava a decomposição de
funções através da transformada de Wavelet, modelo matemático de superposição
de funções utilizadas para problemas de aproximação, referenciada em Silva e Eyng
(2000) com o poder de generalização e o reconhecimento de padrões da rede MLP
(Multi-Layer Perceptron), utilizando o algoritmo de backpropagation.
A princípio, a imagem original de tamanho 32x32 pixels foi decomposta em 8
diferentes imagens. O resultante dessa primeira fase foi então submetido a uma
Rede Neural Multilayer Perceptron, com estrutura de 1 camada oculta com 8
neurônios artificiais além de uma camada de saída, ambas as camadas com função
de ativação tangente hiperbólica uma vez que os dados de entrada foram
previamente limitados a um intervalo entre –1 e 1.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
57
Vale destacar, entretanto, que conforme ressaltam os autores as entradas das
oito sinapses foram alimentadas com a saída da transformada de Wavelet, sendo
portanto partes de uma mesma imagem original.
Foram utilizadas, segundo os autores uma base de duzentas imagens para o
treinamento da rede, sendo divididas em faces e não faces. Para melhorar a
eficiência, as imagens, inicialmente com 186x194 pixels foram reduzidas e
enquadradas antes de submeter-se à transformada de Wavelet e à Rede Neural no
estágio posterior.
O trabalho apresentou resultados promissores, tendo segundo os dados
apresentados, uma taxa de acerto de 96%, sendo capaz de identificar imagens com
diferentes graus de iluminação e variações de característica como óculos ou uma
face sorrindo, por exemplo. Como observação, os autores colocam apenas que
enfrentaram inicialmente uma elevada taxa de erro em imagens não face, e em
algumas faces que apresentavam excessivo grau de inclinação.
A abordagem, para filtrar ou obter um melhor ajuste, foi de aumentar a base
de imagens não face, inclusive com algumas que foram erroneamente classificadas
previamente para re-treinamento da rede.
b) Navegação de Robôs
Outra importante vertente do reconhecimento de objetos e classificação de
imagens está na construção de dispositivos móveis capazes de se locomover, assim
como os seres humanos e animais, através do ambiente onde atuam.
Embora aparentemente simples para humanos e também para animais, sejam
esses insetos ou mamíferos de grande porte, tal sistema de navegação pressupõe
um complexo sistema de identificação em tempo real dos limites e caminhos
possíveis através de tal ambiente.
Romero e Lorena (2002) desenvolveram um estudo utilizando Redes Neurais
Artificiais para lidar com problemas dessa natureza e possibilitar a um robô atuar
dentro de um ambiente delimitado, baseando–se na arquitetura do sistema ALVINN -
Autonomous Land Vehicle In a Neural (Pomerleau 1995).
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
58
A construção do sistema proposto pelos autores está baseado em três etapas
distintas, conforme mostra a figura 3.1
Figura 3.1 Arquitetura do Sistema de Navegação de um dispositivo móvel. Fonte: Romero e
Lorena (2002)
A etapa inicial capta as imagens obtidas do ambiente onde o dispositivo está
atuando, analogamente ao sistema de visão humano. Envolve ainda uma sub-etapa
de preparação das informações antes que sejam repassadas ao sistema neural.
A segunda etapa envolve o recebimento da informação sensória tratada e
padronizada na primeira fase e subseqüente treinamento, reconhecimento e
classificação através de Rede Neural das imagens e objetos captados para gerar
comandos que serão realizados na etapa final.
De acordo com as informações enviadas pela Rede Neural, o roconsegue
então reconhecer e lidar com o ambiente em sua volta, movimentando-se ou
alterando seu curso caso necessário.
Antes de passar efetivamente ao modelo neural proposto no trabalho, como
mostrado anteriormente, as informações captadas pelo sensor ou câmera do robô
devem ser submetidas a um pré-processamento para facilitar o treinamento da Rede
Neural.
Em sua fase inicial, o robô proposto utilizava imagens com resolução de
320x240 reduzidas até um tamanho de 32x24 pixels, principalmente, segundo os
autores, devido ao impacto que imagens grandes teriam na modelagem da Rede
Neural, uma vez que cada entrada corresponderia a um pixel da imagem submetida
à rede.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
59
Além do processo de redimensionamento, as imagens foram ainda
normalizadas a um intervalo [0,1], adequando assim a entrada a valores aceitos pela
rede.
Os autores optaram por utilizar uma rede MultiLayer Perceptron, variando
porém algumas características como o número de camadas e de neurônios em cada
camada, até encontrar a melhor efetividade.
Algumas características foram mantidas entre os diversos modelos de redes
MLP testados por eles e descritas a seguir:
Função de Ativação Sigmóide
Camada inicial com 768 neurônios correspondendo a matriz 32x24 da
imagem de entrada.
Camada de saída com oito neurônios indicando os comandos a serem
realizados pelo robô: virar bruscamente à esquerda ou à direita, virar
medianamente à esquerda ou à direita, virar suavemente à esquerda ou à
direita, seguir em frente e parar.
O treinamento da rede foi feito com uma base de 1.000 imagens, utilizando-se
o algoritmo backpropagation; porém, nesta etapa os autores enfrentaram alguns
problemas, o obtendo o grau de eficiência, segundo eles, adequado para a
implementação.
Como possível solução foi adotada a técnica de detecção de borda, na etapa
de pré-processamento, inicialmente não prevista. Foram feitos então estudos
comparativos, treinando a rede com a utilização da técnica de detecção de bordas e
sem ela para verificar o aumento no poder de generalização.
Os resultados, entretanto, segundo os autores mostraram pouca diferença
entre utilização do modelo originalmente concebido e o modelo utilizando a cnica
de detecção de bordas, indicando ainda um leve favorecimento ao modelo original.
Embora com ressalvas, a análise aponta para uma taxa de efetividade de
95%, permanecendo uma sugestão de análise de outras técnicas que possam
aumentar ainda mais essa taxa.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
60
c) Mapeamento de terreno
O interesse e preocupação cada vez maiores nos dias de hoje sobre os
impactos das ações humanas sobre a natureza trás à tona outro tipo de aplicação
para o reconhecimento e a classificação de imagens: o mapeamento da cobertura
terrestre.
Os satélites, com recursos de captação e qualidade cada vez mais precisos
permitem aos pesquisadores ter em mãos imagens que, até pouco tempo atrás,
seriam inconcebíveis. Apesar dos inúmeros resultados que podem ser extraídos
através dessa análise, muito ainda é feito utilizando-se interpretação por um
especialista, apesar de recursos automatizados estarem disponíveis.
Seja um mapeamento florestal ou urbano, a utilização de Redes Neurais
Artificiais pode ser efetiva ao lidar também com esse domínio de problemas.
Ribeiro, Soares e Vieira (2005) desenvolveram um estudo comparativo
analisando alguns dos métodos de classificação de imagens para mapeamento de
terreno.
Os dados aplicados durante o trabalho de pesquisa são imagens obtidas pelo
satélite IKONOS II, lançado em 1999, que possui um melhor grau de qualidade de
imagem (precisão de 4 metros) permitindo o trabalho de ferramentas computacionais
para classificação das mesmas.
Para o treinamento com os diferentes tipos de classificadores utilizados
durante os estudos, os autores subdividiram as imagens em dois tipos diferentes:
amostras por região ou amostras por pixel. O primeiro tipo foi obtido através da
digitalização de polígonos sobre as partes a serem destacadas (classes de objetos);
no segundo, os valores presentes nos pixels são os próprios dados da fase de
entrada do treinamento do classificador a ser aplicado.
Alguns elementos foram previamente identificados durante a análise da região
de onde as imagens do satélite foram obtidas, destacados segundo a tabela abaixo:
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
61
Mata ciliar Cerrado
Milho Restos culturais
Braquiária Campo pedregoso
Pasto Solo exposto
Campo limpo/sujo Rio
Café maduro Rodovia
Café jovem Ferrovia
Reforma de café
Tabela 3.1 – Elementos presentes nas imagens obtidas do satélite
Foram comparados os resultados obtidos pelos seguintes algoritmos
classificadores: Mínima Distância, Máxima Verossimilhança e Backpropagation. Em
todos os três tipos foram aplicados treinamentos em separado por região e por
pixels, perfazendo portanto seis tipos distintos de classificação.
Para análise de resultados foram aplicados o índice Kappa e o teste
estatístico Z para averiguar o grau de efetividade em cada caso.
Segundo as conclusões a que os autores chegaram, os algoritmos que
apresentaram melhores resultados foram: backpropagation e máxima
verossimilhança, ambos por região, com 95% de taxa de efetividade, não havendo
diferença significativa entre eles.
3.3 Redes de Hopfield
O modelo de redes de Hopfield, ou de memória associativa como é também
conhecido, possui topologia de camada única sendo sua principal diferença em
relação ao modelo multilayer, discutido anteriormente, com camadas intermediárias
ou ocultas.
Sua arquitetura também difere no modo como os neurônios estão
organizados: possuindo uma estrutura não linear e recorrente: os neurônios de saída
estão ligados aos de entrada, porém com um elemento de atraso no sistema.
Esse atraso, por sua concepção, permite que a Rede de Hopfield possua a
característica de armazenar estados anteriores como uma memória que proporciona
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
62
sua posterior comparação aos novos elementos que vão sendo introduzidos na
entrada de rede.
A seguir serão abordados dois trabalhos que se utilizam do modelo de
Hopfield para aplicações distintas: reconhecimento de faces e reconhecimento de
padrões em imagens ruidosas.
a) Reconhecimento de Faces
Em contraste com a abordagem utilizada no início do capítulo onde
Boaventura et al. (2005) desenvolveram seu estudo baseado em redes multilayer
perceptron com algoritmo backpropagation, o tema de reconhecimento de faces
volta a ser abordado em Gonzaga et al. (2005), porém utilizando neste estudo a
Rede de Hopfield.
A pesquisa foi conduzida buscando como objetivo recuperar uma face neutra
previamente armazenada através de imagens com expressões faciais diversas.
Os autores valem-se da característica de memória associativa presente no
modelo de Hopfield para a resolução do problema proposto.
Na figura 3.2 é possível visualizar a diferença entre os tipos de imagem
submetidos a Rede Neural (face neutra e com expressão).
Figura 3.2 – Tipos de Faces. Fonte: Boaventura et al. (2005)
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
63
Para a condução da pesquisa os autores dividiram o processo em duas fases
distintas: a primeira fase era responsável por tratar as imagens com face neutra,
através do redimensionamento (redução) da imagem original e da criação de um
vetor coluna de 1024 posições para o armazenamento dos pixels da imagem pela
Rede Neural.
A imagem original possuía dimensões de 350x275 e sofreu uma redução
substancial para 32x32 pixels utilizando a técnica conhecida como vizinho mais
próximo (nearest). Segundo os autores, apesar da redução, as características
principais foram mantidas e esse processo foi necessário para limitar o número de
neurônios da camada de entrada assim como havia sido discutido nos trabalhos
anteriores deste capítulo.
A segunda fase vale-se das mesmas operações descritas na primeira, porém
tratando agora das imagens com expressão e posterior recuperação da face neutra.
A principio, os autores optaram por utilizar apenas um vetor de 1024 colunas
e submetê-lo diretamente a Rede de Hopfield. Essa abordagem, segundo eles, se
mostrou ineficaz devido a problemas com a gradação de tons de cinza presentes
nas imagens. O projeto inicial foi então alterado para desmembrar o vetor inicial de
1024 posições em oito diferentes vetores (8bits)
O treinamento foi realizado com dez diferentes grupos de imagens sendo
cada grupo composto por dez imagens: nove com expressões e uma apenas neutra.
Os resultados apresentados foram amplamente satisfatórios, sendo que, para
todos os casos, a imagem de face neutra foi recuperada visivelmente, mesmo em
casos mais complexos.
Foram ainda conduzidos testes adicionais para suprimir bits menos
significativos, reduzindo inicialmente os oito bits a seis, onde foi verificada a
manutenção da capacidade de recuperação da imagem inicial pela Rede Neural.
Testes mais agressivos mostraram também que utilizando apenas os três bits
mais significativos ainda era possível recuperar a imagem, porém com visível
degradação da performance.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
64
b) Reconhecimento de Padrões em imagens ruidosas
A recuperação de imagens distorcidas ou defeituosas devido a erros durante
a transmissão em canais de comunicação é um processo trabalhoso que muitas
vezes pode implicar retransmissão e atraso nas tarefas que dependam desses
dados.
SILVA et al. (2006) propõem um método de recuperação de imagens ruidosas
utilizando Redes Neurais Artificiais, justamente para atuar sob esse tipo de situação.
Para solucionar o problema levantado acima, os autores sustentam uma
abordagem baseada em Redes de Hopfield, justamente pela característica de
memória associativa presente nesse tipo de rede.
A rede foi estruturada com 45 neurônios aplicada diretamente à saída do
transmissor de imagens, a fim de ser possível restaurar a imagem original a partir de
uma entrada ruidosa ou distorcida.
Em um primeiro momento do experimento, os autores submeteram ao
treinamento quatro tipos de imagens originais e variações ruidosas das mesmas
para uma recuperação. Uma amostra das imagens pode ser visualizada através da
Figura 3.3.
Figura 3.3 – Base de treinamento inicial da rede. Fonte:
SILVA et al. (2006)
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
65
As imagens foram enviadas em grupo e não individualmente a fim de se
verificar a eficácia desse tipo de recuperação.
Os resultados mostraram uma recuperação de metade das imagens ruidosas
com 100% de precisão, 75% com erro de 4,5% e 25% apresentaram problemas na
recuperação.
Em um segundo experimento, ao invés de submetê-las em conjunto para
recuperação, as imagens ruidosas foram enviadas individualmente. Nesse caso, o
grau de eficiência mostrou-se ótimo com completa recuperação das imagens.
3.4 Considerações
Neste capítulo foram abordados alguns trabalhos de pesquisa que tem o
reconhecimento de padrões ou imagens como seu domínio de problemas. Estes
trabalhos compõem o estado da arte das pesquisas e compartilham a idéia central
do tema desenvolvido por este trabalho de pesquisa.
De acordo com o que foi mostrado nos trabalhos apresentados, existem
inúmeras maneiras de enfrentar o problema inicial de reconhecer padrões, porém as
Redes Neurais possibilitam uma automatização de problemas onde algoritmos
convencionais teriam dificuldade de atuar.
Dentre os diversos tipos de Redes Neurais parece haver uma tendência atual
na utilização de dois tipos na área de identificação de padrões: Hopfield e multi-
camadas (MLP) utilizando algoritmo Backpropagation.
Ambos parecem ser eficazes ao lidar com problemas dessa natureza; porém,
devido a sua estrutura, a Rede de Hopfield parece de acordo com os trabalhos
discutidos ao longo deste capítulo ser mais eficiente ao lidar com recuperação de
informações enquanto backpropagation pode ser indicado em casos da necessidade
de maior grau de generalização.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 3 -Estado da Arte
66
No próximo capítulo serão desenvolvidos os estudos de ordem prática
empregados utilizando os fundamentos abordados no capitulo 2, e embasado em
trabalhos vistos ao longo deste capítulo Serão discutidos ainda qual o ambiente
escolhido para a verificação dos dados, as variáveis e condições aos quais foram
submetidos
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
67
Capítulo 4 – Metodologia e Análise de Dados
4.1 Introdução
Neste capítulo serão desenvolvidos o percurso metodológico proposto e,
posteriormente, a análise dos dados coletados ao longo deste caminho e a
interpretação e discussão dos resultados atingidos. Para tanto será indicado o
contexto no qual a pesquisa se insere e qual abordagem empregada para resolução
do problema.
4.2 Metodologia
Ao longo do capítulo 2 foram elencadas as teorias que embasam a pesquisa
partindo do levantamento bibliográfico. Desse levantamento e com foco no objeto de
pesquisa foram analisadas três grandes áreas que envolvem e fundamentam este
trabalho: Ciências Cognitivas, Redes Neurais e Reconhecimento de Imagens.
Posteriormente, no capítulo 3, foram selecionados alguns artigos que
compõem o estado da arte em pesquisas ligadas ao reconhecimento de imagens
utilizando Redes Neurais Artificiais com aplicações diversas, porém sempre tendo
como foco a imagem.
Embora compartilhem o uso de Redes Neurais para tentar resolver problemas
em diferentes contextos percorrendo desde reconhecimento de faces, mapeamento
geológico até reconstrução de imagens, duas abordagens diferentes foram extraídas
desses trabalhos. O primeiro grupo de trabalhos utilizou-se de um tipo de Rede
Neural multi-camadas (MLP) em conjunto com o algoritmo de aprendizagem
conhecido como backpropagation, enquanto que o segundo baseou-se nas Redes
de Hopfield.
Nas considerações feitas ao final do capítulo 3 pode-se perceber uma
diferença sutil, mas fundamental para a escolha que será feita para este trabalho de
pesquisa. Os trabalhos que utilizam as Redes de Hopfield parecem possuir um foco
sempre na reconstrução ou recuperação de imagens, visto que uma das
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
68
propriedades mais importantes desse tipo de rede é a capacidade de retenção de
informação, ou memória de curto prazo.
O outro conjunto de trabalhos discutido no capítulo 3 utiliza-se das redes MLP
treinadas com algoritmo backpropagation que, segundo a análise efetuada, tem seu
foco em obter um grau de generalização maior.
Partindo desse princípio, este trabalho baseia-se em uma Rede Neural de
arquitetura de alimentação direta de múltiplas camadas, com algoritmo de
aprendizagem backpropagation a fim de tentar valer-se de sua propriedade de
generalização.
Dentro desse tipo de algoritmo e como tentativa de contrapor e analisar o
impacto na taxa de eficiência da rede, tanto o número de neurônios da camada
oculta, o número de ciclos de treinamento como as funções de ativação serão
variadas tentando compor um estudo mais amplo e obter ao final da pesquisa a
melhor escolha dentro desse conjunto de parâmetros.
Dentre as opções disponíveis, três funções de ativação discutidas, foram
selecionadas para o trabalho de análise: sigmóide, tangente hiperbólica e
logarítimica.
A base de treinamento da Rede Neural será composta basicamente de um
grupo de imagens tridimensionais de diferentes objetos: cubos, cones e cilindros.
A fim de obter uma base para treinamento da Rede Neural mais ampla,
podendo dispor de variações necessárias para a condução da pesquisa como:
variações cromáticas (diferentes cores) e monocromáticas (tons de cinza) das
imagens tridimensionais, variações angulares (rotações) e diferentes tipos de
objetos a serem analisados, optou-se por utilizar um software de modelagem de
objetos tridimensionais em detrimento de obter esses objetos em um repositório
online.
O software Easy 3D Objects foi adotado por possuir uma interface simples e
funcional para a modelagem básica que será utilizada e por oferecer opções de
rotacionar os objetos nos três eixos espaciais (X, Y, Z), alterações de cor, difusão e
emissão de luz, além de possuir um grupo de objetos já implementados.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
69
Outros softwares como Blender ou Cinema 4D foram analisados, mas, apesar
de apresentarem recursos muito mais complexos, possuíam uma interface
carregada de recursos que não seriam utilizados e demandariam igualmente uma
curva de aprendizagem exponencialmente maior. O Cinema 4D ainda possuía a
desvantagem de custo que inviabilizaria a pesquisa.
Uma tela com a interface do software pode ser visualizado na Figura 4.1
Figura 4.1 – Software de Modelagem – Easy 3D Objects
Com o software de modelagem, o problema da construção das imagens,
necessárias para o treinamento da rede, foi solucionado, restando, portanto, a busca
por um ambiente onde a própria Rede Neural pudesse ser construída e simulada.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
70
Para esta etapa da pesquisa, o software Joone (Java Object Oriented Neural
Engine) foi selecionado, por abrigar um conjunto de características também
fundamentais para a condução do trabalho de pesquisa, com algumas mais
importantes listadas abaixo:
implementação do algoritmo de backpropagation como base de sua
construção;
construção visual dos diferentes elementos da Rede Neural;
flexibilidade na incorporação de elementos de entrada de diferentes
tipos: imagem, texto, JDBC e Excel, entre outros;
diferentes tipos de funções de ativação;
flexibilidade na exportação dos dados de saída da Rede Neural;
possibilidade de alteração de parâmetros da Rede: número de
camadas de entrada, ocultas e saída, número de ciclos de treinamento
e taxas de aprendizagem;
recursos distintos para treinamento e modo de operação padrão;
software com licença open source;
possibilidade de treinamento distribuído (mais de um computador
sendo utilizado para treinamento de uma Rede Neural).
Além das características acima, destaca-se o uso do framework Joone não
somente para uso em aplicações comerciais, mas em pesquisa acadêmica como
MARTINS (2006) em seu trabalho de aproximação de funções e WONG (2006) no
uso de imagens com fins de estudo meteriológico.
Embasado nos fundamentos teóricos, contextualizado de acordo com os
artigos que compõem o estado da arte, definidos os parâmetros iniciais da pesquisa
bem como os ambientes de onde foram obtidos os dados de entrada (imagens
tridimensionais) e o ambiente de construção e simulação da Rede Neural, os
próximos itens deste capítulo serão dedicados ao detalhamento de cada um dos
passos que serão necessários para a coleta e análise dos dados.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
71
4.3 Imagens utilizadas para treinamento da Rede Neural
O passo inicial que antecede inclusive a construção da Rede Neural é a
definição de como será o conjunto de imagens que serve de parâmetro tanto de
treinamento da Rede Neural como para seu posterior funcionamento.
Essas imagens devem e foram selecionadas obedecendo a alguns critérios a
fim de conduzir este estudo conforme descrito no Método de Pesquisa. A pesquisa
sustenta a possibilidade de utilizar imagens tridimensionais, porém variando
algumas de suas características como cor, luminosidade e posicionamento em
relação aos eixos espaciais (X, Y, Z).
Utilizando-se do software Easy 3D Objects as imagens foram construídas e
divididas em três grupos distintos: cubos, cones e cilindros. Dentro dessas três
subdivisões iniciais, alterações na rotação, cor dos objetos e variações na emissão
de luz foram feitas produzindo em cada grupo seis cores diferentes e três alterações
de posicionamento.
A fim de compatibilizar as imagens com o módulo responsável por fazer a
leitura e repassar a saída à camada de entrada da Rede Neural, adotou-se o
formato JPEG com 80% de qualidade e três variações em cinza para efeito de
comparação durante a fase de treinamento e produção. As imagens iniciais de saída
do software de modelagem tridimensional tinham tamanho inicial em pixels de
1257x756 e tiveram que ser redimensionadas para 324x255.
Um exemplo dessas imagens pode ser visualizado na Figura 4.2, Figura 4.3 e
Figura 4.4.
Figura 4.2 – Cubos em diferentes cores
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
72
Figura 4.3 – Cones em diferentes ângulos de posicionamento
Figura 4.4 – Amostra dos três tipos de objetos utilizados
Tendo definida a base para o treinamento da Rede Neural e estando
agrupada de acordo com os três diferentes objetos: cubo, cilindro e cone, o próximo
passo a ser definido será a construção da Rede Neural, a ser discutido a seguir.
4.4 Parâmetros Livres do Algoritmo Neural
A escolha do tipo de Rede Neural de acordo com os fundamentos teóricos e
os artigos que embasam a pesquisa serve como passo inicial apenas para a
construção da rede. Parâmetros livres como taxa de aprendizagem, momentum,
número de camadas (entrada ou ocultas) ou mesmo funções de ativação serão
fundamentais para o treinamento e funcionamento da rede, podendo influir positiva
ou negativamente na resposta da mesma.
A seguir será feita uma pequena revisão do algoritmo backpropagation
retomando uma parte da teoria que foi discutida no capítulo 2 a fim de auxiliar na
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
73
exemplificação de quais os ajustes podem ser realizados e como efetuá-los de forma
a tornar a rede mais eficiente dentro do problema a ser tratado.
O algoritmo backpropagation tem como base de funcionamento a
minimização da taxa de erro comparando-se um padrão de entrada a qual a rede é
exposta com a saída desejada.
O padrão inicial é propagado ao longo de toda a rede até atingir sua saída,
através de uma regra de generalização, a rede pode então computar a diferença
entre a resposta ideal e a resposta atual dentro dos nós, enviando um sinal de
correção de volta (retropropagação) para ajustes dos pesos.
A fórmula matemática básica que expressa o funcionamento desse algoritmo
neural pode ser expressa na Equação 4.1, conforme visto no capítulo 2.
kkk
yde
=
Equação 4.1 – Sinal de Erro ou Mecanismo de Controle
Sendo k o neurônio a ser representado, o sinal de erro
k
e
é determinado pela
subtração da saída esperada ou desejada
k
d
pela saída atual do neurônio
k
Para a estabilização da rede, busca-se minimizar o erro
k
e
atingindo um
estágio em que os pesos sinápticos não se alterem no caso ideal ou tenham uma
alteração mínima ao longo dos ciclos de funcionamento da Rede Neural no qual o
processo pode então ser encerrado.
De acordo com a regra Delta, os pesos
ki
w
sofrerão variação em função do
produto da taxa de erro
k
e
dado no instante n pelo valor de entrada
ki
x
, indicada na
Equação 4.2 a seguir.
)()()( nxnenwk
iki
η
=
Equação 4.2 Regra Delta
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
74
Sendo:
η
taxa de aprendizado(constante)
)(nx
i
valor da entrada
i
x
no instante de tempo n
Pode se perceber que a taxa de aprendizagem
η
é parte fundamental para a
equalização da resposta de variação dos pesos
ki
w
e durante a fase de treinamento
pode e deve ser ajustada para tentar valores ótimos da rede.
Haykin (2001) relaciona valores da taxa de aprendizagem com o
comportamento da rede, segundo o qual, uma taxa de aprendizagem com valores
baixos implica ajustes menores de correção dos pesos, porém apresenta a
desvantagem de submeter à rede a uma aprendizagem mais lenta. tornar os
valores da taxa de aprendizagem maiores pode tornar a rede instável e tendendo a
oscilações.
Como visto no capítulo 2, Rumelhart et al. (1986) propôs uma modificação da
regra Delta que pode ser vista na Equação 4.3 abaixo.
)()()1()( nxnenwknwk
ikii
η
α
+
=
Equação 4.3 Regra Delta Generalizada
A constante momentum
α
acrescentada em relação à regra delta originial,
permite que alterações nos pesos sinápticos evitem tornar a rede instável,
trabalhando em conjunto com a taxa de aprendizagem
η
.
Os valores possíveis para a constante devem ser igualmente limitados ao
intervalo
10
α
para que a rede entre em um estado convergente.
Ainda que os ajustes dos parâmetros de taxa de aprendizagem e momentum
tornem-se adequados, o treinamento das redes MLP usando algoritmo
backpropagation geralmente demanda um número de interações (ciclo ou épocas)
variável e relativamente alto que serão ajustados de acordo basicamente com o
número de camadas de entrada e ocultas presentes no modelo implementado.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
75
A definição do número de épocas sob o qual a rede deve continuar
aprendendo é um fator decisivo para atingir valores aceitáveis, porém esse
referencial é difuso e difícil de ser definido.
Um dos critérios aceitos para verificar a convergência da rede diz respeito à
variação do erro médio ao longo dos ciclos; quando esse valor for suficientemente
baixo, algo menor que 1% ou menos, o ciclo de treinamentos pode ser interrompido.
A fase de treinamento também é considerada essencial para o bom
funcionamento da rede, de forma que as amostras de entrada que são submetidas à
Rede Neural durante essa fase devem ser escolhidas adequadamente, procurando
incluir o maior número possível de exemplos, além de incluir casos extremos que
possibilitem a mesma convergir com um grau satisfatório de generalização.
Para o correto dimensionamento dos parâmetros da rede de múltiplas
camadas usando algoritmo de retropropagação, Haykin (2001), por meio de
experimentos práticos, chegou a um intervalo de valores que pode ser utilizado para
a construção de Redes Neurais que tenham como função a classificação de
padrões. Estes parâmetros e seus intervalos podem ser vistos na tabela 4.1 a
seguir.
Parâmetros da Rede Neural Intervalo de valores
Número de Neurônios Ocultos (2,)
Taxa de Aprendizagem (0,1)
Constante de momentum
(0,1)
Tabela 4.1 – Intervalo de valores sugeridos para redes MLP.
Seguindo os fundamentos teóricos discutidos no capítulo 2 e, recomendações
e conclusões de intervalo de valores e ajustes dos parâmetros livres de construção
de um modelo neural possível, no próximo item serão realizados e discutidos os
experimentos empíricos para a construção e treinamento da Rede Neural, ajustes e
detalhamento dos dados de entrada e o agrupamento das variações em modelos
neurais distintos.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
76
4.5 Treinamento da Rede Neural
Para minimizar o impacto no tempo de treinamento e execução da Rede
Neural, as imagens em JPEG dos três diferentes objetos tridimensionais tiveram seu
tamanho em pixels reduzido. Essa delimitação foi estabelecida definindo-se alguns
valores associados ao módulo inicial que recebe os dados de entrada (no caso as
imagens tridimensionais) para posteriormente repassar à camada de entrada do
algoritmo neural.
Os ajustes foram feitos dentro do próprio software utilizado para a construção
da Rede Neural (Joone) no elemento definido como (Image Input Layer). As imagens
submetidas ao programa para o treinamento serão, portanto, durante os
experimentos, automaticamente redimensionadas para matrizes de 16x12.
Devido à base de imagens para treinamento em quase sua totalidade ser
composta por imagens coloridas, a camada de entrada em todas as variações ficou
limitada a 576 neurônios, sendo esse valor alcançado pela multiplicação dos
elementos presentes na matriz 16x12 pela matriz RGB (3 cores básicas).
A fim de constatar empiricamente mudanças da taxa de erro de acordo com
os ajustes e variações da construção do modelo neural, foram inicialmente
propostos três diferentes modelos de Rede Neural conforme a função de ativação
utilizada.
Todos os três modelos, entretanto, compartilham uma estrutura básica, sendo
compostos de: uma camada de entrada com 576 neurônios, uma camada
intermediária ou oculta e uma camada de saída.
A diferença fundamental entre os três modelos está na função de ativação
que será utilizada em cada experimento, sendo o modelo 1, composto de camadas
que utilizam a função sigmóide, o modelo 2, utilizando a função hiperbólica, o
modelo 3, a função logarítmica.
Um exemplo de um diagrama da construção da Rede Neural Artificial,
utilizando o software Joone pode ser visto na figura 4.5.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
77
Figura 4.5 Diagrama de um modelo Neural utilizando Joone.
Os três modelos de Rede Neural propostos, embora tendo como base as
mesmas imagens tridimensionais utilizadas para treinamento, foram construídos e
treinados separadamente. Utilizou-se a técnica de treinamento supervisionado, a fim
de verificar posteriormente a escolha dentre os modelos que se enquadra melhor ao
perfil deste trabalho de pesquisa.
Como visto anteriormente no item 4.4, outros parâmetros podem e devem ser
equalizados visando obter um melhor ajuste da Rede Neural ao ambiente em que irá
operar tais como momentum
α
, taxa de aprendizado
η
e número de neurônios da
camada .
A metodologia empregada foi a de variar os valores de acordo com os dados
da tabela 4.2 e treinar cada uma dos três modelos utilizando os mesmos dados de
entrada.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
78
Parâmetros da
Rede Neural
Neurônios
Camada Oculta
Momentum
α
Taxa de
aprendizado
η
Épocas ou
Ciclos
0,3 0,025 500
0,6 0,05 500
2
0,9 0,075 1000
0,3 0,025 500
0,6 0,05 500
8
0,9 0,075 1000
0,3 0,025 500
0,6 0,05 500
16
0,9 0,075 1000
0,3 0,025 500
0,6 0,05 500
Variáveis
32
0,9 0,075 1000
Tabela 4.2. Variações dos Parâmetros livres de cada modelo neural
Sendo um algoritmo backpropagation, o primeiro parâmetro a ser
dimensionado foi o número de neurônios da camada oculta. Não existindo valores
pré-definidos, quatro diferentes valores foram estabelecidos: 2, 4, 16 e 32 neurônios
ocultos. O intervalo é relativamente baixo, pois o aumento do número desses
neurônios tem impacto direto no tempo que a Rede Neural levará para ser treinada e
caso mal dimensionada pode resultar em algo em torno de várias horas.
Para a constante Momentum
α
que tem intervalo limitado entre 0 a 1, foram
testados três diferentes valores com variações de 0.3 podendo cobrir igualmente
quase a totalidade do intervalo possível..
Assim como o momentum, para a taxa de aprendizagem foram estabelecidos
três diferentes valores: 0,025 0.05 e 0.075, sendo essa igualmente limitada ao
intervalo entre 0 e 1. É possível verificar que os valores empregados para a taxa de
aprendizagem, neste caso, foram relativamente baixos se contrastados ao intervalo
possível, porém experimentos realizados em fase de testes mostraram uma
degradação alta quando foram empregados valores maiores que 0,1.
Além dos parâmetros mencionados, os ciclos ou épocas durante os quais a
Rede Neural é treinada produzem uma variação do erro médio que pode ser positivo
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
79
ou negativo e, portanto, diferentes valores de ciclos de treinamento também foram
utilizados para fins de análise.
Foi anexada, por fim, uma camada responsável pelo treinamento
supervisionado e um módulo para medir o erro médio ao longo dos ciclos, tentando
verificar onde o erro seria mínimo ou onde sua variação fosse pequena o suficiente
ao longo dos ciclos de forma a interromper o treinamento sem prejudicar o
desempenho em fase de execução.
Ao final do experimento foram produzidos doze gráficos de erro diferentes
para cada modelo de rede neural proposto, perfazendo 36 gráficos. Um exemplo do
gráfico do RMSE (Root Mean Squared Error) gerado ao longo dos ciclos de
treinamento pode ser visto na Figura 4.6.
Figura 4.6 RMSE (Root Mean Squared Error) durante os ciclos de treinamento
Definidas as combinações de parâmetros para realização dos experimentos,
ao longo do próximo item do capitulo, serão discutidos os dados coletados durante a
fase de treinamento da Rede.
A definição do modelo de Rede Neural a ser adotado será baseado na
configuração que apresentar a menor taxa de erro RMSE ao longo dos ciclos.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
80
Serão discutidos ainda experimentos para submeter imagens não previstas
durante a fase de treinamento para verificar a eficiência ao reconhecer corretamente
dados não previstos, simulando um ambiente de produção.
4.6 Análise de Resultados
Como abordado anteriormente, os experimentos da fase de treinamento da
Rede Neural foram divididos em três diferentes modelos, cada qual variando o tipo
de função de ativação na construção da Rede Neural.
Durante o treinamento foram utilizados três diferentes objetos tridimensionais:
cubos, cones e cilindros.
A fim de analisar a capacidade da Rede Neural de lidar com variações como
cores e ângulo de posicionamento para cada um dos tipos de objetos foram
inicialmente construídas imagens em 6 cores diferentes, além de três ângulos de
posicionamento, perfazendo um total de 54 imagens.
As 54 imagens produzidas foram utilizadas para treinamento da Rede Neural;
posteriormente foram produzidas 54 para a fase de testes de produção.
Para esta fase de análise dos resultados, cada um dos modelos será
analisado separadamente a fim de verificar qual dos três oferece um suporte melhor
à pesquisa.
Dentro de cada um dos modelos construídos, os parâmetros livres foram
combinados de acordo com a tabela 4.2.
A proposta inicial de estabelecer um conjunto de 54 amostras como base de
treinamento da Rede Neural mostrou-se ineficaz: o erro RMSE ao longo dos ciclos
manteve-se alto dentro dos três modelos e pouco sucesso foi alcançado variando-se
os parâmetros livres.
A pesquisa mostrou uma grande influência do número de imagens de
treinamento sob o erro dio RMSE da Rede Neural. Posteriormente, foram
acrescentadas novas imagens que tiveram impacto direto sobre a taxa de erro
conforme mostra a Tabela 4.3.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
81
Número de Imagens de Amostra Taxa de Erro Média
54 ~0.52
90 ~0,40
126 ~0,34
188 ~0,28
242 ~0,24
296 ~0,22
350 ~0,20
510 ~0,17
Tabela 4.3 Taxa de Erro em Função do Número de Imagens Treinadas
Outra constatação observada durante os experimentos foi a do número de
neurônios da camada oculta. Embora tivessem sido estabelecidos 4 diferentes
valores: 2, 8, 16 e 32, a variação do número de neurônios não mostrou ter grande
ganho na minimização do erro médio. Sua variação do número mais baixo para o
mais alto trouxe em contraste um aumento do tempo que a Rede Neural levava para
atingir o mero de ciclos proposto e, portanto, verificou-se uma degradação da
performance sem que uma alteração positiva do RMSE fosse percebida.
a ) Rede Neural utilizando Função Sigmóide (Modelo 1)
A configuração do modelo utilizando a Função Sigmóide que melhor se
adequou e atingiu o menor valor de erro médio RMSE durante a fase de treinamento
foi a que utilizou uma camada oculta de 2 neurônios, com taxa de aprendizagem de
0,05 e momentum 0.6.
O gráfico que mostra o RMSE desta configuração em treinamento pode ser
visto na Figura 4.7.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
82
Figura 4.7 – Modelo 1- RMSE ao longo dos ciclos de treinamento
É possível perceber a exponencial diminuição ao longo das primeiras 100
épocas de treinamento; porém, conforme os ciclos vão se sucedendo, o erro varia
cada vez menos, tendo a Rede Neural atingido um estágio em que é possível
interromper o treinamento não havendo ganho em tentar prolongar os ciclos sob
risco de degradação de performance ou ganho quase nulo em taxa de acerto.
O erro médio alcançado ao final do processo nesta configuração de Rede
Neural foi de 0.1709.
b) Rede Neural utilizando Função Hiperbólica (Modelo 2)
Já para o modelo 2, a configuração que obteve melhor desempenho de
acordo com a variação dos parâmetros estabelecidos foi a que utilizou 2 neurônios
ocultos, taxa de aprendizagem 0,025 e momentum de 0,3, conforme mostra o gráfico
da Figura 4.8.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
83
Figura 4.8 – Modelo 2- RMSE ao longo dos ciclos de treinamento
Embora a taxa de erro média RMSE tenha variado infimamente em relação ao
modelo anterior, tendo atingido o valor de 0.1729 no final do experimento, é possível
perceber que essa configuração de Rede Neural em contraste ao primeiro modelo
foi constante ao longo de todo o ciclo de treinamento, apresentando uma variação
quase nula da taxa de erro.
c) Rede Neural utilizando Função Logarítmica (Modelo 3)
Para o modelo 3, a configuração que também obteve melhor desempenho de
acordo com a variação dos parâmetros estabelecidos foi a utilizando 2 neurônios
ocultos, taxa de aprendizagem 0,025 e momentum de 0,3, conforme mostra o gráfico
da Figura 4.9.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
84
Figura 4.9 – Modelo 3- RMSE ao longo dos ciclos de treinamento
Diferente das duas primeiras configurações, é possível perceber, ainda que
de maneira sutil, no gráfico 4.9 existem pequenas variações da taxa de erro média
RMSE ao longo de todo o experimento, indicando um tempo maior de
aprendizagem, porém uma taxa de acerto maior que os primeiros modelos atingindo
ao final do processo o valor de 0.162.
4.7 Rede Neural em Produção
A fase de treinamento concluída anteriormente mostrou que a taxa de erro
média RMSE foi, no caso desta pesquisa, menor utilizando a função de ativação
logarítmica.
A configuração do Modelo 3 que mostrou ser mais efetiva ao lidar com as
amostras de treinamento, era composta por 2 neurônios ocultos, taxa de
aprendizagem 0,025 e momentum de 0,3. Essa rede foi então submetida à fase de
produção em que 54 imagens não presentes na fase de treinamento foram
produzidas a fim de conduzir novos testes que pudessem ser contrastados com os
dados obtidos anteriormente.
Essas imagens foram produzidas observando-se os seguintes critérios:
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
85
Os objetos tridimensionais foram os mesmos utilizados anteriormente: cubos,
cilindros e cones;
18 imagens de cada objeto foram variadas em cores não presentes
anteriormente;
3 imagens monocromáticas foram produzidas para cada objeto;
O posicionamento dos objetos observou ângulos não utilizados anteriormente.
Ao final desses testes, somente 7 imagens não foram reconhecidas, produzindo
um erro de 12,96%, condizente ao encontrado na fase de treinamento. Nenhuma
das imagens monocromáticas apresentou erro, porém, dentre as cromáticas, não
houve predominância de erro em um objeto, cor ou mesmo de um ângulo de
posicionamento específico.
Embora a taxa de erro não seja desprezível, deve-se considerar que, devido à
complexidade da tarefa efetuada, essa apresenta boa reposta e se mantém coerente
em relação aos experimentos realizados durante o treinamento.
Algumas considerações a respeito da pesquisa serão tratadas a seguir.
4.8 Considerações
Conclui-se ao final dos experimentos que o modelo que obteve o menor erro
médio RMSE e, portanto, a Rede Neural que mostra ser a mais adequada à
pesquisa realizada foi a que utilizou a função de ativação Logarítmica, contendo 2
neurônios ocultos, taxa de aprendizagem 0,025 e momentum de 0,3.
Foi possível perceber que o impacto maior na taxa de erro da Rede Neural foi
determinado, no caso desta pesquisa, diretamente pelo número de amostras de
entrada com que a rede foi treinada. A variação da quantidade de neurônios ocultos
mostrou-se ineficaz inclusive piorando progressivamente a performance.
O ganho em torno da variação dos parâmetros livres dentre os três melhores
resultados de cada modelo foi mínimo; porém, outras combinações indicadas na
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 4 – Metodologia e Análise de Dados
86
tabela 4.2 mostraram uma facilidade da rede em tornar-se instável ou atingir valores
de erro que fugiam completamente a saída desejada.
Ao final desta análise, os objetivos da pesquisa serão re-visitados no Capítulo
5, Considerações Finais, no qual será feito um contraste entre os resultados
esperados e os alcançados como também possíveis contribuições da pesquisa.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 5 – Considerações Finais
87
Capítulo 5 – Considerações Finais
Neste capítulo final serão discutidos os resultado da análise feita no capítulo 4
em contraste com os objetivos pretendidos no início da pesquisa. Serão analisados
também os resultados esperados e as possíveis contribuições deste estudo para a
análise de imagens utilizando Redes Neurais Artificiais (RNAs).
5.1 Resultados Encontrados
O objetivo geral do trabalho que tinha como base a utilização das Redes
Neurais Artificiais para análise de imagens tridimensionais foi alcançado.
Demonstrou-se por meio dos experimentos discutidos no capítulo 4 que sua
utilização é viável e apresenta boa resposta.
A opção pelo algoritmo backpropagation buscando-se obter uma
generalização adequada ao estudo mostrou ser eficaz no reconhecimento de
imagens que foram variadas em cor, luminosidade e diversos tipos de ângulo de
posicionamento dos três objetos escolhidos para este estudo: cones, cubos e
cilindros.
A topologia da Rede Neural adotada foi de múltiplas camadas de alimentação
direta, chegando ao final dos experimentos pela opção da configuração que utilizou
a função de ativação Logarítmica, contendo 2 neurônios ocultos, taxa de
aprendizagem 0,025 e momentum de 0,3.
A variação de caractesticas das imagens traz uma complexidade maior que
impõe a necessidade do correto dimensionamento dos parâmetros livres da Rede
Neural assim como da função de ativação e seu número de camadas. A utilização
de imagens coloridas por si é uma variável que aumentou em 3 vezes o
número de camadas de entrada da Rede Neural devido a decomposição em seu
padrão RGB.
Apesar de alcançados os objetivos e identificada a capacidade da Rede
Neural de aprender com os dados utilizados durante a fase de treinamento o
conjunto inicial de 54 imagens utilizadas subdivididas em: 6 cores e 3 ângulos de
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 5 – Considerações Finais
88
posicionamento diferentes mostrou ser muito baixo, apresentando uma taxa de erro
de 67% o que inviabilizaria sua utilização.
Esse conjunto inicial de 54 imagens foi, portanto, sendo aumentado conforme
consta na Tabela 4.3 e ao fim chegou-se a um total de 510 imagens subdivididas em
10 cores e 17 ângulos de posicionamento. A taxa de erro média RMSE foi
decrescendo até atingir o valor de ~16% conforme a variação da amostra de
treinamento independente do tipo de função de ativação. Isso demonstra a grande
influência do processo de treinamento e escolha dos dados de entrada para a
construção de uma Rede Neural.
Foi possível verificar também que a variação das funções de entrada pode
trazer um ganho que no caso desta pesquisa e de acordo com as configurações
utilizadas pode ser mensurada em torno de 3%.
A variação do número de camadas ocultas parece ter sido, ao menos neste
caso, ineficaz em alterar positivamente a eficácia da Rede Neural, demonstrando na
quase totalidade das vezes em uma perda gradativa de performance no treinamento
e em alguns casos inclusive aumentando o erro médio.
Foram ainda variados os parâmetros livres da Rede Neural, como taxa de
aprendizagem, ciclos de treinamento
η
e momentum
α
.
Nota-se que a variação da
taxa de aprendizagem conforme Haykin (2001) havia sugerido deveria estar dentro
do intervalo entre 0 e 1, porém, no caso desta pesquisa, valores superiores a 0.075
ou 0.1, dependendo do tipo de função de ativação, trouxeram à Rede Neural uma
oscilação que a tornam instável ou com taxa de erro com valores fora de escala.
para a constante momentum, proposta por Rumelhart et. al (1986) como
modificação da Regra Delta originial, mostrou ser eficaz e com boa resposta dentro
do intervalo entre 0 e 1, não permitindo, apesar de sua variação, possíveis
instabilidades.
Ainda quanto ao dimensionamento da Rede Neural, a quantidade de
neurônios de entrada foi escolhida pela multiplicação da matriz em pixels da imagem
pelo padrão de 3 cores RGB.
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 5 – Considerações Finais
89
Esta configuração impôs, senão limitações de valores, uma limitação de
performance devido ao aumento significativo do tempo que a Rede Neural levava
para ser treinada caso fosse adotado imagens com tamanho em pixels muito altos.
Embora os dados de entrada, no caso, as imagens em JPEG estivessem
dimensionadas em 324x252 pixels, o módulo de entrada de imagens configurado no
Joone redimensionou automaticamente as imagens para 16x12. O número de
neurônios da camada de entrada foi, portanto, dimensionado a 576 neurônios, sendo
esse valor alcançado pela multiplicação dos elementos presentes na matriz 16x12
pela matriz RGB ( 3 cores ).
Experimentos de testes feitos antes da coleta de dados mostraram que a
utilização de matrizes de 64x48 pixels transformavam o processo de treinamento de
minutos em horas.
5.2 Resultados Esperados e Contribuições
Discutidos os resultados obtidos no capítulo 4, é possível agora contrastar
com os resultados esperados discutidos no capítulo 1, assim como expor as
contribuições que o trabalho pode oferecer.
Primeiramente a idéia deste trabalho de pesquisa é propor algo que não se
encerre em si mesmo, dito isto mostrando a capacidade de aprendizagem da Rede
Neural e a possibilidade de utilização da mesma para análise de imagens
tridimensionais constrói-se a possibilidade de utilizar este trabalho como referência a
pesquisas que desejam dela valer-se para trabalhos com análise de outros tipos de
imagem podendo contribuir em campos diversos como mapeamento florestal,
construção de mundos virtuais até prognósticos e/ou diagnóstico em áreas
relacionadas à saúde.
Esta discussão traz de volta a idéia da motivação da pesquisa que sem
dúvida é contribuir com a expansão e divulgação da Inteligência Artificial e mais
especificamente das Redes Neurais Artificiais.
Ao longo deste trabalho foi possível também discutir os diversos modos de
organização das Redes Neurais, tanto em sua teoria abordada no capítulo 2, quanto
Classificação e Reconhecimento de Padrões em Imagens Tridimensionais utilizando Redes
Neurais Artificiais (RNAs)
Capitulo 5 – Considerações Finais
90
no que remete ao estado da arte das pesquisas que foram debatidas no capítulo 3.
Somente por meio desse embasamento foi possível conduzir os experimentos
práticos demonstrados no capítulo 4
Através da variação dos parâmetros livres da Rede Neural, sua composição
(função de ativação, número de neurônios ocultos) ou mesmo a escolha e
dimensionamento dos dados de entrada, verificou-se a variação no tempo de
convergência da Rede Neural ou mesmo como a composição desses fatores influía
no processo de aprendizagem.
Por fim espera-se oferecer um trabalho de pesquisa que permita a utilização
desta em tarefas de análise de imagens tridimensionais, como opção a algoritmos
computacionais tradicionais incapazes de tratar questões de não linearidade de
fatores de entrada.
91
REFERÊNCIAS BIBLIOGRÁFICAS
BRAGA,A.P; CARVALHO, A.C.P.L.F. e LUDEMIR T.B. (2000).Redes Neurais
Artificiais: teoria e aplicações. Livros Técnicos e Científicos (LTC).
BITTENCOURT,J.R e OSÓRIO F. S. (2002) Processamento de Imagens Inteligente
usando Redes Neurais Artificiais. UFRGS.
BOAVENTURA, I.A.G et al. (2005) Aplicação de Transformadas Wavelets e Redes
Neurais para Detecção de faces. In: WVC'2005 - I Workshop de Visão
Computacional. Piracicaba
CHUN-CHI, L et al. (2004) Prediction of Specific 70-mer Oligonucleotide with Neural
Network Model. The 21st Workshop on Combinatorial Mathematics and
Computational Theory, Taichung Healthcare and Management University.
CORBALLIS, M.C. (2002) From Hand to Mouth - The Origins of Language. Princeton
University Press.
FETZER, J.H.(2000) Filosofia e Ciência Cognitiva. EDUSC.
GARCIA, C. e DELAKIS (2004), Convolutional Face Finder: A Neural Architecture for
Fast and Robust Face Detection, IEEE Transactions on Pattern Analysis and
Machine Intelligence, v.26 n.11, p.1408-1423.
GARDNER, H.(1996) A Nova Ciência da Mente. EDUSP.
GONZAGA, A. et al. (2005), Reconhecimento de Faces Neutras Usando Redes
Neurais em Paralelo. In: WVC'2005 - I Workshop de Visão Computacional.
Piracicaba.
92
GOTTFREDSON, L.S. (1997). Mainstream science on intelligence: An editorial with
52 signatories, history, and bibliography. Intelligence, 24(1), 13-23.
HEBB, D.O. (1949) The organization of behavior. Wiley, New York.
HAYKIN, S.(2001) Redes Neurais. princípios e prática. Bookman.
LORENA, A.C.; ROMERO, R. A. F (2002) Utilização de Modelos de Redes Neurais
Associados a Imagens para Navegação de Robôs Móveis REIC. Revista eletrônica
de iniciação científica, v. 2, n. 1.
MARTINS, A. C. et al (2006) Utilizando Redes Neurais Artificiais para Soluções de
Problemas de Aproximação de Funções Contínuas. Revista de divulgação científica,
Salvador, Bahia, v. 5, n. I.
POMERLEAU, D. (1995) Neural Netwok Vision for Robot Driving. Carnegie Mellon
University.
RIBEIRO, R.M.P. et al (2002) Avaliação de Métodos de Classificação de Imagens
IKONOS para o Mapeamento da Cobertura Terrestre. In: XII Simpósio Brasileiro de
Sensoriamento Remoto.
RUMELHART, D. E. et al. (1986a). Learning internal representations by error
propagation. In D. E. Rumelhart, & J. L. McClelland (Eds.), Parallel distributed
processing: Explorations in the microstructure of cognition. Vol. 1: Foundations (pp.
318--362). Cambridge, MA: MIT Press.
RUSSEL, S, NORVIG, P. (2004) Inteligência Artificial. Campus.
SILVA, L.S.P et al.(2006) Reconhecimento de Padrões em imagens ruidosas
utilizando Redes Neurais Artificiais, In: In WVC'2006 - II Workshop de Visão
Computacional.
93
TEIXEIRA, J. de F. (2004) Filosofia e Ciência Cognitiva. Vozes.
VASANT, H. (2006) Artificial Intelligence: An Overview
.
VYGOTSKY, L. (1930) A Formação Social da Mente. Martins Fontes 1984
WEBGRAFIA
BITTENCOURT,G., Inteligência Computacional, Departamento de Automação e
Sistemas. UFSC. Disponível em: http://www.das.ufsc.br/gia/softcomp/
DUNBAR, R.I.M. (1993). Coevolution of neocortical size, group size and language in
humans. Behavioral and Brain Sciences. Disponível em:
http://www.bbsonline.org/documents/a/00/00/05/65/bbs00000565-
00/bbs.dunbar.html
EASY 3D Objects Disponível em:
http://www.easyanimationtools.com/products/easy3dobjects
FACON, J. (2005) Processamento e análise de imagens. PUC-PR. Disponível em:
http://www.ppgia.pucpr.br/~facon/
Laboratório Nacional de Computação Científica LNCC, Tutorial de Redes Neurais
Disponível em:http://www.lncc.br/~labinfo/tutorialRN/index.htm
MARRONE, P JOONE Java Object Oriented Neural Engine. Disponível em:
http://www.jooneworld.com.
MINSKY, M (1990) Logical vs. Analogical or Symbolic vs. Connectionist or Neat vs.
Scruffy. Disponível em:
http://web.media.mit.edu/~minsky/papers/SymbolicVs.Connectionist.html
94
PACIORNIK, S. (1999). Introdução ao processamento digital de imagens Disponível
em: http://www.dcmm.puc-rio.br/cursos/ipdi/index_files/frame.html
Portal Sabendo (2008) O SISTEMA NERVOSO HUMANO. Disponível em:
http://www.portaltosabendo.com.br/assuntos_quentes/visualizar/o_sistema_nervoso
_humano.wsa
SILVA, A.V.; EYNG, J.; 2000. Wavelets e Wavelet Packets. Disponível em
http://www.inf.ufsc.br/visao/2000/Wavelets/#3
SUN, R (2001) Artificial intelligence: Connectionist and symbolic approaches.
International Encyclopedia of the Social and Behavioral Sciences. pp.783-789.
Oxford. Disponível em: http://www.cogsci.rpi.edu/~rsun/sun.encyc01.pdf
TURING, A.M. (1950). Computing machinery and intelligence. Mind, 59, 433-460.
Disponível em: http://www.turing.org.uk/turing/
WONG. A (2006) A Study of Weather Detection in Public Webcams Using Neural
Networks. Disponível em:
http://privacy.cs.cmu.edu/courses/dp1/fair/project1/index.html
Livros Grátis
( http://www.livrosgratis.com.br )
Milhares de Livros para Download:
Baixar livros de Administração
Baixar livros de Agronomia
Baixar livros de Arquitetura
Baixar livros de Artes
Baixar livros de Astronomia
Baixar livros de Biologia Geral
Baixar livros de Ciência da Computação
Baixar livros de Ciência da Informação
Baixar livros de Ciência Política
Baixar livros de Ciências da Saúde
Baixar livros de Comunicação
Baixar livros do Conselho Nacional de Educação - CNE
Baixar livros de Defesa civil
Baixar livros de Direito
Baixar livros de Direitos humanos
Baixar livros de Economia
Baixar livros de Economia Doméstica
Baixar livros de Educação
Baixar livros de Educação - Trânsito
Baixar livros de Educação Física
Baixar livros de Engenharia Aeroespacial
Baixar livros de Farmácia
Baixar livros de Filosofia
Baixar livros de Física
Baixar livros de Geociências
Baixar livros de Geografia
Baixar livros de História
Baixar livros de Línguas
Baixar livros de Literatura
Baixar livros de Literatura de Cordel
Baixar livros de Literatura Infantil
Baixar livros de Matemática
Baixar livros de Medicina
Baixar livros de Medicina Veterinária
Baixar livros de Meio Ambiente
Baixar livros de Meteorologia
Baixar Monografias e TCC
Baixar livros Multidisciplinar
Baixar livros de Música
Baixar livros de Psicologia
Baixar livros de Química
Baixar livros de Saúde Coletiva
Baixar livros de Serviço Social
Baixar livros de Sociologia
Baixar livros de Teologia
Baixar livros de Trabalho
Baixar livros de Turismo