Feature Learning for Image Classification via Multiobjective
Genetic Programming
Seminários de Inteligência Artificial
Felipe de Paula Wanderley Barros (FPWB)
Introdução•Classificação de Imagens
▫ Extração de Características (feature extraction) Diversos algoritmos para extração de
bordas, quinas, orientação, cores...
Introdução•Problema
▫Grande maioria de algoritmos tem sua eficácia restrita a domínios específicos de imagens.
Como determinar quais os melhores algoritmos a serem utilizados para a
extração de determinada característica?
Introdução•Proposta
▫Definir características de propósito geral e propor uma solução ótima capaz de extraí-las de quaisquer domínio de imagens.
Como encontrar essa solução ótima?
Introdução•Abordagem
▫Utilizando o conceito de Genetic Programming (GP), ser capaz de se aproximar de uma solução ótima.
Genetic Programming?
Genetic Programming (GP)•Conceitos
▫Operadores Primitivos.▫Evolução (Crossovers e Mutações).▫Best Fitness.
Genetic Programming (GP)•Conceitos
Trabalhos Relatos•Feature-Focused: Técnicas
especializadas na extração de características específicas.▫Essas técnicas são sensíveis a mudança
de domínio. Podem ser excelentes para alguns domínios de imagens, e péssimas em outros.
Trabalhos Relatos•Whole Scene-Focused: Técnicas que
avaliam a imagem por completo.▫Todas as referências citadas são utilizadas
em características hand-crafted. Ou seja, tiveram o seu ambiente de teste preparado para a sua utilização.
Trabalhos Relatos•Deep Learning: Técnicas utilizando
massivos conjuntos de dados para treinamento.▫Essas técnicas extraem as características
de maneira estática. Ou seja, não “aprendem” a melhor maneira de realizar a extração de características.
Trabalhos Relatos•Genetic Programming: Técnicas
utilizando o conceito de programação genética para caracterização de imagens.▫Todas com uma única finalidade. Enquanto
que o artigo propõe uma abordagem de multifinalidade. Além disso, o artigo é o único a utilizar a complexidade da árvore como parâmetro.
Metodologia
MOGP
Estrutura do Programa MOGP
Estrutura do Programa MOGP•O programa MOGP está dividido em 4
partes:▫Input▫Filtering▫Max-polling▫Concatenation.
Segundo o autor, essa estrutura imita a estrutura do córtex humano.
Estrutura do Programa MOGP•Input•Filtering•Max-Polling•Concatenation
Estrutura do Programa MOGP
Estrutura do Programa MOGP•Conjunto Final
▫Conjunto de características extraídas pelo sistema. Componentes Azul, Verde, Vermelho (Ib, Ig,
Ir) Intensidade de Tom Cinza (Igray) Coeficiente C atribuído aleatoriamente para
cada sub-árvore.▫A saída possui estas informações a respeito
do programa gerado {Ib, Ig,Ir, Igray, C}
Estrutura do Programa MOGP•Conjunto Final
Estrutura do Programa MOGP
Estrutura do Programa MOGP•Conjunto Funções
▫Definição das funções que podem ser utilizadas para compor as árvores do programa (nós).
▫Programas se diferenciam de acordo com a composição de funções.
▫Extrair Informações Significativas▫Simples e Eficiente (Partículas Atômicas)
Estrutura do Programa MOGP•Conjunto Funções
Estrutura do Programa MOGP•Conjunto Funções - Filtering Layer
▫24 Funções distintas.▫Denoising, Contorno, Orientação...▫Conjunto Fechado de Funções
Tamanho da Entrada = Tamanho da Saída
Composição Irrestrita de Funções!
Estrutura do Programa MOGP•Conjunto Funções - Filtering Layer
Estrutura do Programa MOGP•Conjunto Funções – Max-Polling Layer
▫5 Funções distintas.▫Etapa fundamental do reconhecimento de
imagens no córtex cerebral.▫Conjunto Fechado de Funções
Tamanho da Entrada != Tamanho da Saída, MAS
as imagens são restauradas ao tamanho original por interpolação.
Composição Irrestrita de Funções!
Estrutura do Programa MOGP•Conjunto Funções – Max-Polling Layer
Estrutura do Programa MOGP•Conjunto Funções – Concatenation
Layer▫Funções responsáveis pela fusão de
informação de cada árvore em um único vetor.
▫Possuem mesma saída (Descritor de Característica Final)
Estrutura do Programa MOGP•Conjunto Funções – Concatenation
Layer
Estrutura do Programa MOGP
Estrutura do Programa MOGP•Fitness Function
▫Maneira de medir/avaliar os programas gerados.
▫Duas medidas: Taxa de Erro. Complexidade dá Árvore
Estrutura do Programa MOGP•Fitness Function – Taxa de Erro
▫Avalia o programa N vezes sobre o conjunto de dados.
▫Conjunto de treinamento: ((1-N)/N)ths▫Cross-Validation com o restante dos dados.
(SVM ou KNN).▫Taxa de erro final é a média das taxas de
cada avaliação.
Estrutura do Programa MOGP•Fitness Function – Complexidade da
Árvore▫Conta-se o número de nós da árvore.▫Tentativa de evitar bloat.
Explosão da árvore do programa, aumentando complexidade, e causando overfitting.
Estrutura do Programa MOGP•Fitness Function
▫Como determinar qual a melhor árvore se baseando em duas medidas?
Fronteira de Pareto!
Estrutura do Programa MOGP•Fitness Function
Estrutura do Programa MOGP
Experimentos•Implementação do MOPG
▫200 Indivíduos e 70 Gerações.▫Operadores Genéticos: CrossOvers(90%) e
Mutações (10%).▫Tournament como seleção de indivíduos.▫0.5% de taxa de erro.
Experimentos•Divisão dos Conjuntos de Dados
Experimentos•Descrição dos Conjuntos de Dados
Caltech-101
MIT Urban and Nature Scene
CMU PIE Face Set
Jochen Triesch Static Hand Posture
Database II
Resultados
ResultadosÁrvore Gerada para o conjunto de dados Caltech-101
ResultadosÁrvore Gerada para o conjunto de dados CMU PIE face data set
Conclusões• Segundo os pesquisadores:
▫ O método demonstrou autonomia na extração de features, sem nenhum tipo de informação a respeito do domínio de imagens.
Tambem mostrou, de alguma forma, a escalabilidade dessa abordagem na tentativa de reconhecimento de objetos em larga-escala.
▫ Tambem aferiram que a arquitetura abordada é, de fato, consistente com a estrutura física do córtex visual humano.
Os pesquisadores atribuem o sucesso da abordagem principalmente à capacidade do algoritmo em extrair e fundir os componentes de cores das imagens automaticamente.
Dúvidas?