programação genética no mundo visualfabiof/ia1s2019/class05/ffaria-programacao... ·...
TRANSCRIPT
Programação Genética no Mundo Visual
Fábio Augusto [email protected]
Orientador: Ricardo da Silva [email protected]
Co-Orientador: Anderson [email protected]
Instituto de Computação - Unicamp
Programação Genética no Mundo Visual 2
● Introdução
● Motivação
● Programação Genética
● Programação Genética no Mundo Visual
● Bibliotecas
● Conclusão
Roteiro
Programação Genética no Mundo Visual 3
Introdução
● Técnica de Inteligência Artificial
● Computação Evolutiva (Teoria da Evolução de Darwin)
● Herança biológica, seleção natural e evolução
Programação Genética no Mundo Visual 4
Introdução
● Popular com o livro de John R. Koza (1992)
● Obtém programas de forma automática
● Busca solução ótima para problemas complexos (Koza)
Programação Genética no Mundo Visual 5
Motivação
● Possui boa capacidade exploratória do espaço de busca
● Tem sido empregada em diversas áreas do conhecimento e obtido sucesso
● Facilmente paralelizável (Paralelismo intrínseco)
Programação Genética no Mundo Visual 6
● Introdução
● Motivação
● Programação Genética
● Programação Genética no Mundo Visual
● Bibliotecas
● Conclusão
Roteiro
Programação Genética no Mundo Visual 7
Indivíduo = Programa
Representadopor
Estruturas de dados,geralmente árvores
Programação Genética
Programação Genética no Mundo Visual 9
● Terminais (nós folhas)
● Função (nós não-folhas): operadores e.g., +, -, /, *, sqrt e log.
● Função de Adequação (fitness)
● Reprodução
● Crossover
● Mutação
Componentes Essenciais
Programação Genética no Mundo Visual 18
Parâmetros de Controle
São 19 parâmetros:
● Número de indivíduos da população
● Número de gerações para evolução
● Taxa de Reprodução
● Taxa de Mutação
● Taxa de Crossover
Programação Genética no Mundo Visual 19
● Introdução
● Motivação
● Programação Genética
● Programação Genética no Mundo Visual
● Bibliotecas
● Conclusão
Roteiro
Programação Genética no Mundo Visual 20
● Classificação de Imagens
● Recuperação de Imagens por Conteúdo (CBIR)
Programação Genética no Mundo Visual
Programação Genética no Mundo Visual 25
• Descritor simples: função de extração (εD) e função de similaridade (δD).
Descritor de Imagem
Programação Genética no Mundo Visual 26
• Descritor composto: combinação de descritores simples.
Descritor de Imagem
Programação Genética no Mundo Visual 27
Combinação de Descritores utilizando Programação Genética
Indivíduo PG
Programação Genética no Mundo Visual 29
Método de Classificação (PG + kNN)
● Adaptação do método de classificação de texto (Zhang et al.) para classificação de imagens
● Combinação de diferentes propriedades visuais (cor, textura e forma) utilizando PG
● Utilização do classificador kNN.
Programação Genética no Mundo Visual 30
Método de Classificação (PG + kNN)
Etapas
● Pré-Processamento;
● Treinamento;
● Classificação.
Programação Genética no Mundo Visual 31
Pré-Processamento
● Extrai os vetores de características das imagens
● Calcula as matrizes de distâncias (diferentes descritores)
Programação Genética no Mundo Visual 32
Treinamento
● Encontrar os melhores indivíduos (função de distância)
● Calcular a adequação dos indivíduos (função de adequação ou fitness)
Programação Genética no Mundo Visual 33
Função de Adequação FFP4
1. Para cada indivíduo PG
2. F = 0
3. Para cada imagem D do conjunto de treino da classe N
4. Fitness = FFP4 calculado com base no conjunto de |C| imagens mais similares a D
5. F+ = Fitness
6. F = F / |C|
* Os valores k8=7,0 e k9=0,982 foram encontrados por meio de análise exaustiva.
Programação Genética no Mundo Visual 35
Classificação
● Especialista + kNN aplicado a um conjunto de imagens de teste
● Classificação final será a votação majoritária
Programação Genética no Mundo Visual 37
Arcabouço PG + kNN
Resultado doPré-Processamento
Treinamento
Classificação
Programação Genética no Mundo Visual 38
● Bases
● Descritores
● Medidas de Avaliação
● Baselines
● Parâmetros PG: mesmos da Zhang et al. (menos para as imagens de café)
Resultados – Classificação
Programação Genética no Mundo Visual 39
Bases
● FreeFoto: são 3.462 imagens, 9 classes e o número de imagens por classe varia de 70 a 854 imagens
● Borboletas: são 165 imagens, 7 classes e o número de imagens por classe varia de 22 a 25 imagens
Programação Genética no Mundo Visual 40
Bases
café
Café: imagem capturada pelo satélite SPOT do município de Monte Santos de Minas (MG). Foram geradas 6.400 subimagens para classificar e 2 classes (café e não-café).
Programação Genética no Mundo Visual 42
Medidas de Avaliação
Predita
Classe 1 Classe 2
Atual Classe 1 a b
Classe 2 c d
Café foi utilizado índice Kappa.
FreeFoto e Borboletas.
Programação Genética no Mundo Visual 43
Baselines
● PG+kNN (método proposto)● kNN● BAGG● LDA● SVM-Linear● SVM-RBF
Programação Genética no Mundo Visual 44
Resultados(Combinação de Descritores)
Resultados de todos os classificadores utilizando a baseFreeFoto e os cinco descritores (BIC, CCV, GCH, HTD e LAS).
Programação Genética no Mundo Visual 45
Resultados
Resultados de todos os classificadores utilizando a baseFreeFoto e os cinco descritores (BIC, CCV, GCH, HTD e LAS).
Programação Genética no Mundo Visual 46
Resultados(Qualquer Combinação)
Os melhores resultados de todos os classificadores utilizando a base FreeFoto.
Programação Genética no Mundo Visual 47
Os melhores resultados de todos os classificadores utilizando a base FreeFoto.
Resultados(Qualquer Combinação)
Programação Genética no Mundo Visual 48
Os melhores resultados de todos os classificadores utilizando a base FreeFoto.
Resultados(Qualquer Combinação)
Programação Genética no Mundo Visual 49
Os melhores resultados de todos os classificadores utilizando a base FreeFoto.
Resultados(Qualquer Combinação)
Programação Genética no Mundo Visual 50
Resultados
Os melhores resultados de todos os classificadores utilizando a base Borboletas.
Programação Genética no Mundo Visual 51
Análise dos Indivíduos
● Melhor resultado do método PG + kNN● Base FreeFoto
http://www.lis.ic.unicamp.br/~fabiof/prototype_gpknn/databases.php
Programação Genética no Mundo Visual 53
Indivíduo Classe 002:(((gch * bic) * ccv) * (sqrt((gch + las)))) - ((htd * ((gch + ccv) - ((htd + ((htd + bic) - (ccv + gch))) + las))) * bic)
Programação Genética no Mundo Visual 58
Resultados – Classificação
Resultado Kappa para reconhecimento de café aplicando o sistema proposto.
Obs. MaxVer obteve 66,00% na mesma base de imagens.
Programação Genética no Mundo Visual 59
● Bases
● Descritores
● Medidas de Avaliação
● Baselines
Resultados – Recuperação
Programação Genética no Mundo Visual 60
Bases
● Bases
● Corel: são 3.906 imagens e 123 imagens consultas. Existem 85 classes de imagens e o número de imagens por classe varia de 7 a 98 imagens
● Caltech: são 8.677 imagens e 122 imagens consultas. Existem 101 classes e o número de imagens por classe varia de 40 a 800 imagens
Programação Genética no Mundo Visual 62
Medidas de Avaliação
● Precision
● Mean Average Precision (MAP)
Programação Genética no Mundo Visual 63
Baselines
● Programação Genética = CBIR-PG
● LAC = CBIR-RA
● RankSVM = CBIR-SVM
● Descritor BIC = BIC
Programação Genética no Mundo Visual 66
Resultados
CBIR-RA CBIR-PG CBIR-SVM BIC CBIR-RA CBIR-PG CBIR-SVM BIC1 0,405 0,399 0,374 0,279 0,051 0,059 0,051 0,0582 0,312 0,328 0,308 0,298 0,011 0,057 0,038 0,0183 0,366 0,376 0,351 0,341 0,098 0,089 0,098 0,0934 0,362 0,354 0,344 0,290 0,046 0,049 0,039 0,0615 0,250 0,246 0,251 0,193 0,064 0,098 0,092 0,063
Média 0,339 0,341 0,326 0,280 0,073 0,070 0,064 0,058CBIR-RA - -0,50% 4,20% 21,00% - 4,10% 14,30% 24,00%CBIR-PG 0,50% - 4,70% 21,60% -4,00% - 9,70% 19,80%
Corel CaltechRun
Valores MAP.
Programação Genética no Mundo Visual 67
● Introdução
● Motivação
● Programação Genética
● Programação Genética no Mundo Visual
● Bibliotecas
● Conclusão
Roteiro
Programação Genética no Mundo Visual 68
● LILGP (linguagem C)
● JGAP (JAVA)
● Beagle (C++ with STL)
● EO (C++ with static polymorphism)
Bibliotecas PG
Programação Genética no Mundo Visual 69
Conclusão
● PG é técnica de Inteligência Artificial
● Computação Evolutiva (Teoria da Evolução de Darwin)
● Herança biológica, seleção natural e evolução
● Muito utilizada em diversas aplicações e obtendo bons resultados
Programação Genética no Mundo Visual 70
Referências
Livros
● J. R. Koza. Genetic Programming: On the Programming of Computers by Means of Natural Selection.
● R. Poli, W. B. Langdon and N. F. Mcphee. A Field Guide to Genetic Programming.
● W. Banzhaf et al. Genetic Programming: An Introduction.
Artigos
● R. da S. Torres et al. A Genetic Programming Framework for Content-based Image Retrieval. Pattern Recognition 2009.
● C. D. Ferreira et al. Image Retrieval with Relevance Feedback based on Genetic Programming. SBBD, 2008.
● F. A. Faria, A. Rocha e R. da S. Torres. Classificação de Imagens usando Programação Genética. SPS-UNICAMP 2010.
● F. A. Faria et al. Learning to Rank for Content-based Image Retrieval. MIR 2010.
● J. A. Santos, F. A. Faria, R. T. Calumby, and R. da S. Torres. A Genetic Programming Approach for Coffee Crop Recognition. IGARSS 2010.
Programação Genética no Mundo Visual 73
Querendo trabalhar com IA e Imagens?
{ffaria,rocha,rtorres}@ic.unicamp.br
Programação Genética no Mundo Visual 74
Trabalho de Doutorado
● Meta-aprendizagem
● Seleção de características
● Combinação de classificadores
● Colaboração com Médicos e Biólogos da UNICAMP
● ...
Programação Genética no Mundo Visual 75
Colaborações
Espécie A Espécie B Espécie c
Asas de Moscas Anastrepha
Células de Medula
Normal Doente
Programação Genética no Mundo Visual 77
Análise de Parâmetros – PG
kNN Reprodução Crossover Mutação População Geração
1 e 7 10 e 30 70 e 90 5 e 10 15 e 30 15 e 30
Programação Genética no Mundo Visual 78
Classes Acertos Erros Total Eficácia (%)
001 91 5 96 94,79
002 46 10 56 82,14
003 82 5 87 94,25
004 34 4 38 89,47
005 14 0 14 100
006 117 2 119 98,32
007 22 1 23 95,65
008 28 6 34 82,35
009 96 12 108 88,89
Resultado por Classe - FreeFoto