79
Programação Genética no Mundo Visual Fábio Augusto Faria [email protected] Orientador: Ricardo da Silva Torres [email protected] Co-Orientador: Anderson Rocha [email protected] Instituto de Computação - Unicamp

Programação Genética no Mundo Visualfabiof/ia1s2019/class05/ffaria-programacao... · Treinamento; Classificação. ... os vetores de características das imagens Calcula as matrizes

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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 8

Indivíduo PG

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 10

Programação Genética - PG

Reprodução

Gi Gi+1

Programação Genética no Mundo Visual 11

Programação Genética - PG

Crossover

Programação Genética no Mundo Visual 12

Programação Genética - PG

Crossover

Programação Genética no Mundo Visual 13

Programação Genética - PG

Crossover

Programação Genética no Mundo Visual 14

Programação Genética - PG

Mutação

Programação Genética no Mundo Visual 15

Programação Genética - PG

Mutação

Programação Genética no Mundo Visual 16

Programação Genética - PG

Mutação

Programação Genética no Mundo Visual 17

Processo de Evolução de Indivíduos PG

Melhor indivíduo

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 21

Classificação de Imagens

Programação Genética no Mundo Visual 22

Recuperação de Imagens por Conteúdo

Programação Genética no Mundo Visual 23

Recuperação de Imagens

Classificação de Imagens

Programação Genética no Mundo Visual 24

Recuperação de Imagens

Classificação de Imagens

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 28

Exemplo de 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 34

Módulo PG

Melhor indivíduo

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 36

Classificador kNN

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 41

Descritores

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 52

Indivíduo Classe 001: sqrt(((las * ccv) * (sqrt(las))))

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 54

Indivíduo Classe 007: bic

Programação Genética no Mundo Visual 55

Indivíduo Classe 008: las

Programação Genética no Mundo Visual 56

Classificação de Café

Programação Genética no Mundo Visual 57

Outra Aplicação – Imagem de Café

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 61

Descritores de 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 64

Resultados – Corel

Programação Genética no Mundo Visual 65

Resultados – Caltech

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 71

Obrigado pela Atenção!

Programação Genética no Mundo Visual 72

Perguntas?

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 76

Extras

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

Programação Genética no Mundo Visual 79

Parâmetros usados na Classificação