Home
Relatório - Universidade do Porto
Contents
1. 0 2 020000005 2d Antes Tr shold ssa ds ga RISE ED PE ME Et SE Da 3 2 2 Procura da posi o do objecto 2 2 2 2 0 2 020200 ee ee 32 3 Convex Hull sam a hd epa gp pp ede De do D O es 3 2 4 Divis o em Vectores Unit rios a aoao aoao 3 2 5 Retirar caracteristicas 2 a a a o a e ei l a a e eei 4 Rede neuronal de reconhecimento de objectos simples 4 1 Early Stopping ss u cestas nag a Ea EU a ee ee o i 5 Esquemas de Representa o de Conhecimento que usou 6 Ambiente de desenvolvimento 7 Avalia o do programa 8 Resultados Experimentais 8 1 Procura da melhor rede aoaaa 00202 eee ee 9 Conclus o 10 Melhoramentos 11 Bibliografia 11 1 Processamento de imagem oaoa e a a 00 a 11 2 Redes Neuronais oo coa caooo rsdd 002 n EER T Er ara ee 12 Manual de Utiliza o Oo NANANA A A AAAA 00 10 10 10 11 11 11 12 13 1 Introdu o 1 1 Objectivo O objectivo deste trabalho consistiu na elabora o de um programa que permita com a maior precis o poss vel identificar correctamente objectos simples para os quais a sua rede neuronal tenha sido previamente treinada Pretendeu se que a aplica o pudesse ser utilizada por qualquer pessoa com o m nimo conheci mento sobre o assunto raz o pela qual foi focado parte do esfor o na elabora o de uma interface intuitiva 1 2 Motiva o Esta rea da intelig ncia artificial das que apresenta maior potencial de atingir a m
2. 0 25 0 2 D aria Figura 8 Grafico do erro de generaliza o dependendo do numero de neuronios na 1 e 22 camada 9 Conclus o Embora as redes neuronais n o sejam actualmente a solu o para todos os problemas da investiga o artificial tudo leva a crer que eventualmente ser o as limita es que apresentam s o apenas as mesmas que apresenta qualquer sistema ca tico Tal e qual uma pessoa n o consegue prever as flutua es do mercado da bolsa com suficiente precis o para ficar milion ria de um dia para o outro com completa consci ncia de todos os passos que completou para efectuar essa transi o tamb m os resultados de uma rede neuronal s o imprevisiveis sem ver o seu resultado na altura o n mero de vari veis envolvidas simplesmente colossal No dia em que as capacidades de proces samento se tornarem um problema do passado estar o abertas as portas para poss bilitar efectuar qualquer tarefa cognitiva com redes neuronais Infelizmente esta rea coberta de mist rio aparentamente desenvolvida apenas por um con junto selecto de pessoas regra geral acad micas e consequentemente com uma particular estrat gia e modalidade preferidas de pensamento que se revela prim riamente na grande prefer ncia de 10 ilustra o de conceitos em linguagem matem tica Este facto apresenta algum desafio na popu lariza o desta tecnologia tornando se mais complicada do que realmente O resultado do
3. e tirando com ela as fotos que quer ver classificadas A interface trata de enviar a imagem para a aplica o de processamento e classifica o e devolver a sua resposta elabora o da interface surgiu sobretudo pela motiva o de preencher um certo vazio que existe nas aplica es desenvolvidas sobre o tema Sendo o tema sobretudo foco de estudo e investiga o acad mica tende a focar se sobretudo na elabora o de aplica es que demonstrem conceitos te ricos a pessoas que estejam dentro do assunto tornando inacess vel esta tecnologia s pessoas que desejam ver o potencial da mesma imediatamente e sem grande esfor o quer para testes experimentais quer pela curiosidade O desenvolvimento de mais aplica es destetipo mais demonstrativas tornaria e diminuiria muito tempo perdido com investiga o redundante e testes de tentativa e erro 3 Pr Processamento de imagem A fim de introduzir informa o de uma imagem na rede neuronal esta pr processada e retiram se algumas caracteristicas varias combina es de filtros transforma es imagem e informa es extraidas foram pensadas e testadas Devido enorme versatilidade de um objecto e sua posi o rota o distancia e envolvente t m de ser consideradas caracteristicas bastante flexiveis a escolha passou por tentar vectorizar caracteristicas das imagens 3 1 Caracteristicas introduzidas na rede As caracteristicas utilizadas s o a descri o do contorn
4. na rede neuronal talvez permiti se fazer melhores distin es em termos embora tenhamos implementado e testado a rede neuronal com esta informa o e at com resultados bastante satisfat rios achamos que entraria em conflicto com a nossa prioridade de classificar os objectos pelo contorno sendo a nossa prioridade a capacidade de generaliza o que tanto torna a rede neuronal distinta 11 Bibliografia 11 1 Processamento de imagem 1 An Introduction to Machine Vision James Matthews 2000 http www generations org content 2000 vision asp 2 Basic Introduction to Image Processing 2001 http www generationds org content 2001 im00 asp 3 Histogram Equalization James Matthews 2004 http www generations org content 2004 histogram Equalization asp 4 Thresholding and Segmentation James Matthews 2003 http www generations org content 2003 segmentation asp 5 Canny Edge Detection Tutorial Bill Green 2002 http www pages drexel edu weg22 can_tut html 6 Open Source Computer Vision Library http www intel com research mrl research openco 7 RGB YUV Pixel Conversion www fource org fecyurgb php 8 Computer Vision Thinning Algorithm R Mukundan http www cosc canterbury ac nz people mukundan coun Thin html 11 10 11 12 13 14 Leaves Recognition A leaf image recognition based on a neuronal network LightSpeed Communications GbR http damato light speed de lrecog Com
5. nios menos tempo de processamento pelo algoritmo esta escolha tornou se permanente O n mero de neur nios ptimo a escolher para cada camada revelou se incalculavel de forma a chegar a uma conclus o semi determinista elaborou se uma pequena aplica o para testar todas as combina es de neur nios por camada testando para cada combina o de rede a capacidade de generaliza o da mesma Depois de algumas horas de brute forcing foram encontradas solu es bastante promissoras e s o utilizada na nossa implementa o ver testes experimentais 4 1 Early Stopping Surgiram algumas d vidas acerca de como ensinar a rede a generalizar alguma investiga o levou descoberta do Early Stopping Method of Training m todo que se revelou muito eficaz O m todo consiste na divis o dos casos de treino em duas partes uma de treino e uma de valida o O treino decorre normalmente com os primeiros casos e de cinco em cinco pocas de treino s o testados os casos de valida o Na altura em que o erro de valida o suba o treino imediatamente parado Embora este m todo por si s devolva resultados satisfat rios descubrimos experimentalmente que existem v rios minimos locais e o minimo absoluto raramente o primeiro Por esta raz o alteramos o m todo para fazer 2000 pocas de treino e guardar o estado da rede sempre que o erro baixar No fim a rede neuronal com menor erro de valida o utilizada esta varia o apr
6. projecto foi sem d vida alguma para al m das nossas expectativas iniciais Ap s um per odo de ingenuidade em que pensavamos que a rede neuronal conseguiria generalizar qualquer coisa e um posterior periodo de desilus o e descren a acerca do potencial da aplica o que ir amos desenvolver com alguma criatividade e engenho contornamos todos os problemas que se apresentaram e desenvolvemos um sistema de reconhecimento que se comporta bastante bem tendo em conta os par metros de aprendizagem escolhidos 10 Melhoramentos O projecto poderia ser alvo de muitos melhoramentos n o fosse a falta de informa o compreensi vel acerca de certos temas do nosso interesse Um dos grandes melhoramentos seria o da aplica o um algoritmo que discretizasse perfeitamente os contornos dos objectos Encontramos duas al ternativas o Concave Hull e o Gradient Vector Flow Snake Contour Detection ambos com pouqu ssima informa o dispon vel sobre o assunto e nenhuma dela acess vel O algoritmo de aprendizagem poderia ser bastante acelerado com um dos muitos algoritmos que existem de optimiza o do Backpropagation Foi tentada a implementa o do RPROP algoritmo dito como sendo at 50 vezes mais r pido que o Backpropagation no entanto miste riosamente n o funcionou embora aparentemente siga todos os passos apresentados pelos autores do algoritmo no seu artigo A introdu o de informa o sobre a distribui o de cor no objecto
7. Principal do Programa 1 In cio de captura este bot o inicia a captura da m quina fotogr fica digital Caso n o esteja nenhuma m quina ligada se estiver uma imagem no clipboard esta ser capturada 2 Parar a captura 3 Enviar a imagem presente no ecr 6 naquele momento para o servidor esta imagem ser ent o pr processada e enviada para o ecr 8 4 Processar a ltima imagem enviada para o servidor imagem no ecr 8 a resposta ent o enviada para o ecr 5 5 Ecr de reconhecimento de objecto mostra a percentagem de classifica o da imagem rela tivamente aos objectos que a rede conhece 6 Imagem capturada pela c mara no momento ou retirada do clipboard 13 7 Automatizar o processo de captura e envio da imagem para pr processamento 8 Imagem pr processada com o contorno detectado ilustrado a vermelho 9 Gest o da liga o ao servidor 10 Nome da rede neuronal a ser utilizada para o reconhecimento 14
8. Reconhecimento de Objectos Simples Uso de Redes Neuronais Jo o Nuno Boavista Taborda Tiago Andr Dias Silva 27 de Maio de 2005 Trabalho realizado no mbito da disciplina de Intelig ncia Artificial do 2 Semestre do 3 Ano da Licenciatura em Eng Inform tica e Computa o da Faculdade de Engenharia da Universidade do Porto leccionada por Eug nio da Costa Oliveira Ana Paula Rocha e Lu s Paulo Reis Faculdade de Engenharia da Universidade do Porto Licenciatura em Engenharia Inform tica e Computa o Rua Roberto Frias s n 4200 465 Porto Resumo Este relat rio foi elaborado para a disciplina de Intelig ncia Artificial no segundo semestre do terceiro ano do curso de Engenharia Inform tica e de Computa o Documenta o o trabalho proposto para a disciplina cujo tema visa o uso do paradigma da intelig ncia artificial O tema abordado a identifica o de objectos simples usando redes neuronais s o focados os objectivos e metodos descritos os algoritmos utilizados e dificuldades e escolhas encontradas durante a realiza o do trabalho Conte do 1 Introdu o TA Objectivo ora secs De ada de da RE RR AR RE E E Ps 122 MOLIVA O us seres gar a BR E EU eee eo AG DS ede ae A cega A 1 3 Descri o do projecto 2 2 ee 2 Interface com c mara digital 3 Pr Processamento de imagem 3 1 Caracteristicas introduzidas na rede 0 0 020 000202 eee eee 3 2 Retirar Caracteristicas de umaimagem
9. a de cada cor na imagem encontrar o ponto ideal para transformar a imagem a 2 cores de modo a salientar as cores mais predominantes e esconder as outras Como se pode ver na imagem seguinte uma caixa de cd s colocada em cima duma mesa nitido a elemina o de ruido a cor da mesa a separa o entre mesas alguma sombra algum reflexo Figura 1 Exemplo de Auto Treshold 3 2 2 Procura da posi o do objecto Um objecto pode se encontar em v rias posi es da imagem esta parte do pre processamento trata de encontrar o objecto mais proximo do centro seguindo a partir do centro da imagem em espiral at encontrar um objecto Por exemplo na imagem a baixo o telemovel apesar dos objectos volta o que se encontra mais perto do centro e isolado Figura 2 Exemplo de procura do objecto 3 2 3 Convex Hull De forma a descrever o contorno de um objecto foi implementado um algoritmo bastante comum em computa o gr fica e reconhecimento de padr es o convex hull Por defini o um convex hull o menor poligono que dado um conjunto disperso de pontos S consegue abranger no seu interior todos os pontos do conjunto S com o menor numero de arestas Elimina o de pontos Devido complexidade do algoritmo que descobre o convex hull ser elevada antes de o encontrar eliminam se todos os pontos que partida s o redundantes ou seja aqueles pontos que est o rodeados por bastantes pontos Note se na imagem que os p
10. esentou resultados bastante melhores 03 0 25 s 5 ot aa I ot AM P 1 7 13 19 25 31 37 43 49 55 61 67 73 79 85 91 97 103 109 115 121 127 133 Erro de Treino Erro de Valida o Figura 7 Gr fico de Convergencia 5 Esquemas de Representa o de Conhecimento que usou Como ilustrado anteriormente na descri o do m dulo de pr processamento de imagem e cria o de arquivos de treino foi escolhido o menor esquema de representa o poss vel que descrevesse as caracter sticas mais relevantes de um objecto Pensa se que uma das caracter stica mais relevantes de um objecto o seu contorno e esta a nica informa o que fornecida rede neuronal As caracter sticas da aresta s o representadas em forma dos ngulos internos dos vectores que a repre sentam Esta representa o de conhecimento tem a grande vantagem de devolver caracter sticas muito semelhantes para um dado objecto de todos os ngulos e dist ncias contribuindo ent o para uma grande capacidade de generaliza o por parte da rede neuronal 6 Ambiente de desenvolvimento Toda a aplica o de servidor rede neuronal e pr processamento de imagem foi implementada em Visual C 6 0 a aplica o de cliente interface gr fica foi implementada Cf necessitando ent o da NET Framework para ser executada O m dulo de captura de imagem da webcam foi desenvolvido por Philip Pierce e encontrado na internet 7 Avalia o d
11. eta da rea a de replica o das fun es cognitivas do ser humano e quem sabe ir mais al m Tudo aponta para que n o exista um modelo de grande abstrac o conscientemente compreens vel que permita replicar tarefas cognitivas de qualquer complexidade conservando a capacidade de adapta o a novos problemas A solu o aparenta estar no dom nio dos sistemas ca ticos na descoberta de processos de gera o e selec o de sistemas que resistam a mudan as de ambiente e contexto emulando assim o processo de selec o natural Embora a rea de redes neuronais seja rodeada de modelos demasiados desconexos e teorias e supostas provas por vezes contradit rias eventualmente se tornar mais unificada tornando se acess vel a cada vez mais investigadores e consequentemente dando muitos mais resultados satisfat rios ao longo do tempo Com tempo desempenhar um grande papel em tornar os filmes de fic o de hoje nas banalidades de amanh 1 3 Descri o do projecto O projecto toma a forma de duas aplica es uma de cliente que funciona como uma interface gr fica e uma de servidor que trata de processar as imagens enviadas pelo cliente e de responder com o seu pr processamento de imagem e consequente classifica o do objecto e do treino da rede 2 Interface com c mara digital A interface gr fica funciona como uma aplica o de cliente permitindo ao utilizador ligar uma m quina fotogr fica digital ao computador
12. indo o Figura 6 Exemplo de divis o em 20 vectores unit rios 3 2 5 Retirar caracteristicas Depois de encontrados os vectores que descrevem o contorno s o analisados e guardados para posterior introdu o na rede neuronal os angulos entre cada dois vectores seguidos Criando por exemplo para a imagem acima esta linha de caracteristicas de angulos note se que devido s caracteristicas do convex hull nunca ultrapassam os 180 e s o reduzidos a valores entre 0 e 1 0 709660 0 992255 1 000000 1 000000 1 000000 0 455289 0 912571 1 000000 1 000000 0 800121 0 799569 1 000000 1 000000 0 987739 1 000000 0 501501 0 857117 1 000000 1 000000 0 974905 4 Rede neuronal de reconhecimento de objectos simples Este m dulo constitui o n cleo do programa foi programado de ra z estruturado segundo o para digma de programa o orientada a objectos e feito a pensar na sua flexibilidade Esta arquitectura totalmente parametriz vel o que permitiu a realiza o de v rios testes de desempenho da rede com diferentes arquitecturas e n mero de par metros amostrais com relativa facilidade Inicialmente foi tomada a decis o de utilizar tr s camadas escondidas tendo em conta que este n mero de camadas consegue aproximar qualquer fun o Hecht Neilson 1990 no entanto comprovou se experimentalmente que este n mero poderia ser reduzido para duas sem qualquer perda de capacidade de generaliza o e tendo em conta que quantas menos neur
13. iung 1999 http www generations org content 1999 nn_ bp asp BP Example XOR Net James Matthews 2001 http www generationds org content 2001 rornet asp Summing with Neural Networks Stephen Tashev 2003 http www generationds org content 2003 nn_ sum asp Simple BMP File Analysis Using MLPs Povilas Daniudis 2004 http www generationd org content 2004 petras asp The Face Recognition Home page Peter Kruizinga http www cs rug nl peterkr FA CE face html Neural Networks for Face Recognition http www 2 cs cmu edu tom faces html Organization of face and object recognition in modular neural network models M N Dailey G W Cottrell 1998 12 15 Direct adaptive method for faster backpropagation learning The RPROP algorithm M Riedmiller H Braun http leeds faculty colorado edu laguna syst 7330 rprop pdf 12 Manual de Utiliza o Reconhecimento de Objectos Simples com Redes Neuronais Clique no bot o de captura para apresentar o caso a ser classificado Reconhecimento Imagem processada Telemovel 0 Alicate 3 Caneta 96 Disquete 2 m Liga o cerebral 9 Configura o da rede Erma imagem periodicamente 5000 Estado Conectado Desligar Comunica o sucessoDEnviado tamanho da imagem 128054 Tamanho de imagem recebido 16058 Recebendo imagem BMvAlmagem recebida 16118 05 45 16 6725000 Proposta de reconhecimento Figura 9 Ecra
14. o do objecto por vectores Esta pareceu uma abordagem sensata mas o problema surge quando se pensa que a rede neuronal tem um numero fixo e finito de neuronios de input mas dependendo do objecto o numero de vectores descritores do contorno pode variar De forma a garantir um numero fixo de caracteristicas introduzidas na rede o contorno de cada objecto dividido num numero fixo de vectores de tamanho unitario todos os vectores tentam ter o mesmo comprimento igual ao numero de neur nios de entrada da rede neuronal As caracteristicas introduzidas na rede s o os angulos que os vectores descrevem entre si consegue se assim informa o independente da rota o e distancia pois os vectores relacionam se entre si de forma igual independentemente da distancia e rota o em rela o ao ponto de observa o 3 2 Retirar Caracteristicas de uma imagem Segue se agora uma descri o dos filtros transforma es e algoritmos que s o usados de forma a retirar de uma foto de um objecto as caracteristicas a introduzir na rede neuronal 3 2 1 Auto Treshold Em primeiro lugar aplica se um treshold foto do objeto de modo a eliminar alguns residuos indesejaveis O filtro treshold resume se a dado uma cor central colocar a branco todas as cores com inferiores e a preto todas as superiores O algoritmo de encontrar o ponto ideal a aplicar o treshold bastante simples resume se a depois de calculado o histograma da imagem predominanci
15. o programa O melhor programa de reconhecimento de objectos seria obviamente o que apresenta se uma melhor rela o de memoriza o generaliza o Identificando com bastante certeza os objectos para os quais fosse treinado em situa es e locais diversos O programa ideal um pouco ut pico seria o que conseguisse associar generaliza es a deriva es dessa generaliza o Este programa teria que ter a capacidade de dizer que uma bola azul era uma bola azul que uma bola vermelha era uma bola vermelha mas que ambas eram uma bola Como segunda prioridade o programa seria tanto melhor quanto maior precis o apresentasse na classifica o de dois objectos bastante semelhantes 8 Resultados Experimentais 8 1 Procura da melhor rede Depois de alguns testes um pouco for a seguidos de verifica es menos rigorosas encontrou se uma boa rede com um erro de generaliza o bastante reduzido resultados do teste em anexo e Neur nios de entrada 32 e Neur nios da primeira camada 25 e Neur nios da segunda camada 3 e Neur nios de sa da 4 Pode se ent o deduzir por metodo exprimental que para as caracteristicas introduzidas uma boa rede a primeira camada teria um n mero de neur nios pouco distanciado do n mero dos de input e a segunda camada um n mero de muito perto do n mero de sa da Posteriores testes com menor rigor parecem ter comprovada esta teoria 0 35 VAT Woy 0 3 um TH gt 4 0 05
16. ontos essenciais do contorno da disquete s o mantidos Figura 3 Exemplo de elimina o de pontos Convex Hull O algoritmo utilizado para encontrar o convez hull conhecido por Graham Scan provavelmente um dos algoritmos com menor compelxidade para encontrar um convex hull a sua complexidade apenas dependente do algoritmo de ordena o pois para pontos ordenados comporta se linearmente O n log n A Exemplo simples de 1 i progress o do algoritmo E Graham Scan Note se que no terceiro passo a liga o a um novo vertice causa uma curva direita e 2 consequente back tracking Figura 4 Explica o simples do algoritmo Graham scan Para encontrar o convez hull e encontra se o ponto com a menor coordenada y se existir um empate escolhe se a que tem menos coordenada x toma se este ponto como pivot e Para todos os pontos calcula se o angulo que fazem com o pivot e Ordena se todos os pontos pelo angulo calculado e Partindo do pivot liga se ao primeiro ponto este ao segundo etc e De cada vez que se liga um ponto a outro analisa se o tipo de curva que faz e quando ocorre uma curva direita elimina se o ponto actual do poligono e faz se back tracking e Repete se ate n o sobrarem pontos desligados Figura 5 Exemplo de Convex hull 3 2 4 Divis o em Vectores Unit rios Seguido do convez hull discretiza se o contorno em vectores de tamanho igual seguindo o perimetro do objecto e divid
17. puter Vision and Image Processing Scott E Umbaugh 1999 Graham s Scan Applet http www es princeton edu ah alg anim versiont GrahamsScan html Convex Hull Algorithms Eric Eilberg Denison University http personal denison edu havill 272 papers convexhulls pdf Active Contours Deformable Models and Gradient Vector Flow Chenyang Xu J L Prince http iacl ece jhu edu projects guf Gradient Vector Flow A New External Force for Snakes Chenyang Xu J L Prince http iecezplore icee org iel4 83 143893 00661186 pdf 11 2 Redes Neuronais 1 2 10 11 12 13 14 Artificial Intelligence A modern approach Stuart Russel e Peter Norvig An Introduction to Neural Networks James Matthews 2000 http www generationds org content 2000 nnintro asp Neural Networks Motivation Theory and DANN Daniel Eaton 2000 http www generationds org content 2000 nn00 asp Notes on Neural Network Learning and Training Wan Hussain Wan Ishak 2004 http www generationds org content 2000 NNTrLr asp Back propagation for the Uninitiated James Matthews 2002 http www generations org content 1999 bp asp Perceptrons James Matthews 1999 http www generations org content 1999 perceptron asp Multi Backpropagation Network Concept and Modeling Wan Hussain Wan Ishak 2004 http www generations org content 2004 MultiBP asp Multilayer Feedforward Network and the Backpropagation Algorithm Samuel Hs
Download Pdf Manuals
Related Search
Related Contents
Intel (SRCU41L) SCSI Controller karathane* lc - Dow AgroSciences Certificado profesional al que pertenece Honda Power Equipment DT18 C Lawn Mower User Manual Copyright © All rights reserved.
Failed to retrieve file