UNICAMP – Universidade Estadual de Campinasgaiotto/ia707/Projeto Final.doc  · Web viewUma das...

28
UNICAMP – Universidade Estadual de Campinas FEEC – Faculdade de Engenharia Elétrica e de Computação DCA – Departamento de Computação e Automação Industrial IA 707 – Computação Evolutiva Prof. Dr. Fernando J. Von Zuben Uma Proposta Evolutiva para um Uma Proposta Evolutiva para um Classificador de Distância Mínima Classificador de Distância Mínima Fábio Gaiotto Dias [email protected] RA: 025635 Orientador: Prof. Dr. Roberto de Alencar Lotufo

Transcript of UNICAMP – Universidade Estadual de Campinasgaiotto/ia707/Projeto Final.doc  · Web viewUma das...

UNICAMP – Universidade Estadual de CampinasFEEC – Faculdade de Engenharia Elétrica e de ComputaçãoDCA – Departamento de Computação e Automação Industrial

IA 707 – Computação EvolutivaProf. Dr. Fernando J. Von Zuben

Uma Proposta Evolutiva para umUma Proposta Evolutiva para umClassificador de Distância MínimaClassificador de Distância Mínima

Fábio Gaiotto [email protected]

RA: 025635

Orientador: Prof. Dr. Roberto de Alencar Lotufo

Campinas, 29 de Junho de 2004

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Índice

1 – Introdução...........................................................................................................................3

2 – Classificador de Distância Mínima.....................................................................................4

3 – Medidas de Similaridade....................................................................................................5

4 – Algoritmo Genético............................................................................................................5

5 – Representação do Cromossomo..........................................................................................6

6 – Função de Adaptação (Fitness)...........................................................................................6

7 – Estruturas Populacionais.....................................................................................................7

8 – Experimentos Didáticos......................................................................................................8

8.1 – Experimento Didático 1............................................................................................8

8.2 – Experimento Didático 2............................................................................................9

8.3 – Experimento Didático 3............................................................................................9

8.4 – Experimento Didático 4..........................................................................................10

8.5 – Análise da Superfície de Adaptação.......................................................................10

9 – Experimento Prático.........................................................................................................12

10 – Conclusões......................................................................................................................16

11 – Perspectivas....................................................................................................................16

12 – Referências.....................................................................................................................17

IA 707 – Computação Evolutiva (Projeto Final) 2

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Resumo:

Este projeto foi desenvolvido no curso da disciplina “IA 707 – Computação Evolutiva”, ministrado pelo Prof. Dr. Fernando J. Von Zuben, na Universidade Estadual de Campinas, durante o primeiro semestre de 2004. Sendo apresentado como projeto de conclusão do curso, visando utilizar os conceitos adquiridos na disciplina para resolução problemas reais.

O problema prático a ser resolvido é a configuração de um vetor de pesos a ponderar os vetores de características utilizados em um classificador de distância mínima, tendo como medida de similaridade a distância Euclidiana ponderada. Este sistema fará o reconhecimento de letras maiúsculas e números obtidos, por técnicas de visão computacional, de imagens de placas de licenciamento veicular.

Nesta etapa inicial da proposta o objetivo é verificar a funcionalidade e viabilidade da metodologia. Deste modo, não é garantido obter bons resultados, mas sim um caminho de melhorias que levarão ao sucesso da metodologia.

Palavras-chave: Computação Evolutiva, Algoritmo Genético, Reconhecimento de Padrões, OCR (Optical Character Recognition), Classificador de Distância Mínima, Medidas de Similaridade, Compartilhamento de Fitness, Especiação.

1 – Introdução

Classificar um padrão desconhecido, dado um conjunto de classes conhecidas, é um problema fundamental em reconhecimento de padrões.

O classificador de distância mínima é um método comum. Consiste em encontrar o padrão de maior similaridade em um conjunto de referências utilizando uma medida de distância, também conhecida como medida de similaridade.

Cada padrão é descrito por um conjunto de características denominado vetor de características. Sendo assim, os padrões e seus representantes (classes) são descritos em um espaço N-Dimensional, onde N é a quantidade de características.

O principal problema é encontrar um conjunto de características que distribua da melhor forma possível as classes no espaço.

Uma proposta consiste em ponderar as características com um vetor de pesos. Isso pode ser feito utilizando como medida de similaridade a distância Euclidiana ponderada.

Nossa proposta utiliza como ferramenta o Algoritmo Genético para configurar o vetor de pesos que otimize a distribuição das classes.

IA 707 – Computação Evolutiva (Projeto Final) 3

Uma Proposta Evolutiva para um Classificador de Distância Mínima

2 – Classificador de Distância Mínima

As classes W1, W2 e W3 são descritas respectivamente pelos vetores de protótipo (médio) m1, m2, m3:

Onde:

j = 1, 2, ..., M

Nj é o número de vetores de padrões (v) da classe W j e a soma é realizada sobre esses vetores.

M é o número de classes.

O vetor x é um padrão a ser classificado, representado por um vetor de características:

x = [x1, x2]

Adotando como medida de similaridade a distância Euclidiana, temos o padrão ‘x’ associado a classe j com menor distância D(x, mj) do vetor de protótipo mj ao padrão ‘x’.

As fronteiras de decisão, são definidas como retas perpendiculares ao segmento que liga dois protótipos (classes), sendo que a fronteira intercepta a mediatriz desse segmento.

IA 707 – Computação Evolutiva (Projeto Final) 4

Figura 1 – Representação do Classificador de Distância Mínima

Uma Proposta Evolutiva para um Classificador de Distância Mínima

3 – Medidas de Similaridade

Em um classificador de distância mínima as fronteiras de decisão são obtidas através da medida de similaridade. As mais usadas são:

Distância Euclidiana:

Distância Euclidiana Ponderada:

Distância Euclidiana Normalizada:

Distância de Mahalanobis:

Distância de Manhattan:

Distância de Minkowsky:

Como algumas características descrevem uma classe melhor do que outras, torna-se necessário aplicar uma ponderação de modo que estas características tenham mais importância na classificação do que as outras.

A medida de similaridade que permite fazer isto é a distância Euclidiana ponderada.

4 – Algoritmo Genético

Os algoritmos genéticos (AG’s) foram desenvolvidos por HOLLAND (1975; 1992), da Universidade de Michigan.

O AG’s foram inspirados na teoria da evolução das espécies. O processo de evolução que ele executada corresponde a um procedimento de busca em um espaço de soluções potenciais para o problema. Onde cada solução candidata é representada por um cromossomo. Utiliza uma abordagem populacional, a qual trabalha com um grupo de soluções candidatas por vez de maneira iterativa, onde a cada iteração (geração) temos um novo conjunto de soluções candidatas. Elas são selecionadas de acordo com sua adaptação (fitness), ou seja, quanto mais próximo da solução melhor adaptada e maior será a possibilidade de participar da próxima geração. A cada geração aplica-se os operadores de reprodução (crossover), o qual combina valores de duas soluções candidatas fazendo uma exploração no espaço de busca, em seguida aplica o operador de mutação, sendo este uma variação aleatória na solução fazendo uma busca local.

Uma das vantagens de um algoritmo genético é a simplificação que eles permitem na formulação e solução de  problemas de otimização.

Iremos utilizar o Algoritmo Genético Padrão para otimizar o vetor de pesos que deve ser utilizado na distância Euclidiana ponderada.

Para implementação será utilizada a ferramenta AGBIN [7] (Domínio Público) com o MATLAB R13 (CopyRight The MathWorks Inc.).

IA 707 – Computação Evolutiva (Projeto Final) 5

Uma Proposta Evolutiva para um Classificador de Distância Mínima

5 – Representação do Cromossomo

Cada característica dos padrões será ponderada por um peso de valor inteiro no intervalo [0, 15].

A codificação do cromossomo será em binário, visando seguir a Teoria dos Esquemas, proposta por HOLLAND (1975; 1992), a qual utiliza o conceito de blocos construtivos para provar o funcionamento dos AG’s. Deste modo, cada peso no vetor é representado por 4 bits.

Para forçar que vizinhos no espaço de busca também sejam vizinhos no espaço de parâmetros, foi adotado o código de Gray para a transformação de genótipo em fenótipo.

Sendo assim, para padrões com 2 características temos:

Genótipo: [ 0 0 1 1 0 1 1 1 ]

Fenótipo: [ 2 5 ]

6 – Função de Adaptação (Fitness)

Para otimizar a distribuição das classes no espaço de características, temos que maximizar a distância entre as classes, interclasses (Objetivo 1) e minimizar a distância dos padrões em relação a sua classe, intraclasses (Objetivo 2).

Portanto temos um problema multi-objetivo que pode ser representado da seguinte maneira:

Para minimizar o Objetivo 2, devemos adotar o valor de negativo.

IA 707 – Computação Evolutiva (Projeto Final) 6

Fitness = Objetivo1 + Objetivo 2

Figura 2 – Representação das Funções Objetivo.

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Como todo problema multi-objetivo, teremos dificuldade em otimizar a superfície de Pareto. Uma maneira de evitar este problema é criar uma interdependência dos objetivos, utilizando o operador multiplicativo no lugar do aditivo.

Sendo que para minimizar o Objetivo 2 devemos utilizar o inverso de seu valor restringindo o valor zero:

Se (Objetivo 2 = 0) então Objetivo 2 1

Adotando para o calculo do fitness a pior situação, ou seja, o padrão que está mais próximo da fronteira de decisão ou em outra região, temos:

Onde N é o número de padrões de treinamento.

7 – Estruturas Populacionais

A otimização do vetor de pesos pode admitir múltiplas soluções. Configurações variadas do cromossomo podem apresentar valor de adaptação (fitness) com pouca diferença do máximo global. Sendo assim foram implementados métodos de Compartilhamento de Fitness e Especiação visando aumentar a probabilidade de se obter o máximo global. Para o Compartilhamento de Fitness temos:

Sendo que para d(.) foi adotada a distância de Hamming.

Na Especiação somente é permitido a reprodução (crossover) de indivíduos que tenham distância d(xi, xj) < mate e diferente de zero.

Outro problema é que o alto custo computacional do cálculo de fitness não permite trabalhar com muitos indivíduos na população. Portanto foi implementado um sistema de controle visando compensar a deriva genética, tendo como variável controlada a taxa de mutação e como realimentação a porcentagem da diversidade da população, sendo assim temos a taxa de mutação auto-ajustável de TMmin a TMmax:

8 – Experimentos Didáticos

IA 707 – Computação Evolutiva (Projeto Final) 7

Fitness = min , i { 1 .. N } Objetivo 1 i

Objetivo 2 i

TM = TMmin + ( 1 – Diversidade ) . ( TMmax – TMmin )

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Estes experimentos foram sintetizados em 2 dimensões visando reforçar o entendimento e a motivação através da demonstração visual dos resultados obtidos.

Parâmetros utilizados no Algoritmo Genético:• População: 15 indivíduos (20 para o Experimento Didático 4)• Indivíduos selecionados para a próxima geração: 60%• Tipo de seleção: Roleta• Taxa de crossover: 100%• Tipo de recombinação: Crossover de um ponto • Taxa de mutação: AUTO AJUSTAVEL 1% até 5%• Parâmetros para o compartilhamento de fitness e especiação:

• GAMA: 1• SIGMAshare: 1 (Distância Hamming)• SIGMAmate: 2 (Distância Hamming)

8.1 – Experimento Didático 1

Classe: 1 Razão: 3.757985 Classe mais próxima: 2Classe: 2 Razão: 0.779272 Classe mais próxima: 1

Classe: 1 Razão: 4.857143 Classe mais próxima: 2Classe: 2 Razão: 5.833333 Classe mais próxima: 1

Vetor de Pesos: [ 0 4 ]

IA 707 – Computação Evolutiva (Projeto Final) 8

Figura 4 – Distância Euclidiana PonderadaFigura 3 – Distância Euclidiana

Uma Proposta Evolutiva para um Classificador de Distância Mínima

8.2 – Experimento Didático 2

Classe: 1 Razão: 3.757985 Classe mais próxima: 2Classe: 2 Razão: 0.779272 Classe mais próxima: 1Classe: 3 Razão: 3.440456 Classe mais próxima: 2

Classe: 1 Razão: 4.411288 Classe mais próxima: 3Classe: 2 Razão: 1.916254 Classe mais próxima: 1Classe: 3 Razão: 1.899517 Classe mais próxima: 2

Vetor de Pesos: [ 4 11 ]

8.3 – Experimento Didático 3

Classe: 1 Razão: 4.219005 Classe mais próxima: 2Classe: 2 Razão: 2.587253 Classe mais próxima: 3Classe: 3 Razão: 1.166667 Classe mais próxima: 2

Classe: 1 Razão: 4.030291 Classe mais próxima: 2Classe: 2 Razão: 2.450615 Classe mais próxima: 3Classe: 3 Razão: 3.135322 Classe mais próxima: 2

Classe: 1 Razão: 4.052595 Classe mais próxima: 2Classe: 2 Razão: 2.466827 Classe mais próxima: 3Classe: 3 Razão: 2.464598 Classe mais próxima: 2

Vetor de Pesos: [ 9 3 ]

Vetor de Pesos: [ 9 4 ]

IA 707 – Computação Evolutiva (Projeto Final) 9

Figura 6 – Distância Euclidiana PonderadaFigura 5 – Distância Euclidiana

Figura 8 – Distância Euclidiana PonderadaFigura 7 – Distância Euclidiana

Uma Proposta Evolutiva para um Classificador de Distância Mínima

8.4 – Experimento Didático 4

Classe: 1 Razão: 3.757985 Classe mais próxima: 2Classe: 2 Razão: 0.779272 Classe mais próxima: 1Classe: 3 Razão: 1.387417 Classe mais próxima: 2

Classe: 1 Razão: 3.943876 Classe mais próxima: 2Classe: 2 Razão: 1.029078 Classe mais próxima: 1Classe: 3 Razão: 1.026741 Classe mais próxima: 2

Vetor de Pesos: [ 8 11 ]

8.5 – Análise da Superfície de Adaptação

Para esta análise foram utilizados os dados do experimento didático 4.

A ilustração da superfície de fitness comprova que a configuração do vetor de pesos admite múltiplas soluções. E que grandes variações no cromossomo podem ter um valor de fitness próximo do valor global. O que dificulta ao Algoritmo Genético obter o máximo global.

O máximo global está circulado em azul.

IA 707 – Computação Evolutiva (Projeto Final) 10

Figura 9 – Distância Euclidiana PonderadaFigura 10 – Distância Euclidiana

Figura 12 – Perfil da Superfície de AdaptaçãoFigura 11 – Superfície de Adaptação (Fitness)

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Os gráficos abaixo visualizam o resultado obtido com o AG Padrão.

Fitness: 1.0012Pesos: [ 9 12 ]

Os gráficos abaixo visualizam o resultado obtido com a utilização de Compartilhamento de Fitness, Especiação e Taxa de Mutação Auto-Ajustável. Onde o máximo global foi encontrado.

Fitness: 1.0267Pesos: [ 8 11 ]

IA 707 – Computação Evolutiva (Projeto Final) 11

Figura 16 – Diversidade da População no AG com Compartilhamento de Fitness, Especiação e Taxa de mutação Auto-Ajustável

Figura 15 – Evolução da População no AG com Compartilhamento de Fitness, Especiação e Taxa de mutação Auto-Ajustável

Figura 14 – Diversidade da População no AG PadrãoFigura 13 – Evolução da População no AG Padrão

Uma Proposta Evolutiva para um Classificador de Distância Mínima

9 – Experimento Prático

Como experimento prático será utilizada uma aplicação OCR (Optical Character Recognition) para um sistema de identificação de placas de licenciamento veicular. O qual classifica as 26 letras maiúsculas e 10 números, totalizando 36 caracteres. As imagens foram obtidas com câmeras analógicas em ambiente aberto, ou seja, possui características que dificultam a aplicação OCR.

Um classificador de distâncias mínimas com distância Euclidiana ponderada será utilizado para classificar os caracteres, tendo como conjunto de treinamento 10 padrões de cada classe, totalizando 360 padrões de treinamento.

Cada padrão é descrito por um vetor contendo 47 características, obtidas da imagem binária do caractere, composto por:

Posição 1: Valor lógico (1 ou 0) indicando se a razão de aspecto do caractere é menor que 0,3. Característica importante para identificar o caractere 1 ou I.

Posição 2: Coordenada vertical do centro do primeiro furo normalizado pela altura do caractere.

Posição 3: Coordenada horizontal do centro do primeiro furo normalizado pela largura do caractere.

Posição 4: Área do primeiro furo normalizada pela área total do caractere.Posição 5: Coordenada vertical do centro do segundo furo normalizado pela altura do

caractere.Posição 6: Coordenada horizontal do centro do segundo furo normalizado pela largura do

caractere.Posição 7: Área do segundo furo normalizada pela área total do caractere.Posição de 8 até 47: Valores na seqüência de leitura raster (da esquerda para direita e de

cima para baixo) de uma reamostragem da imagem binária com 5 de largura e 8 de altura, ou seja, a imagem do caractere é dividida em partes 5 horizontais e 8 partes verticais, onde é calculando a porcentagem de preenchimento de cada quadrante.

Para os caracteres que não contém furos deve-se atribuir o valor zero nessas características.

Exemplo de um vetor de características do número 6:

V = [ 0 0.7296 0.3703 0.0504 0 0 0 0 0 0 0.6988 0.9678 0 0 0.3113 0.9922 0.4143 0 0.1042 0.9072 0.6473 0.0076 0.0410 0.8068 1.0000 0.3539 0.0050 0.5045 0.9704 0.7876 0.9974 0.4787 0.9548 0.4735 0 0.6602 0.9548 0.9806 0.6293 0.1119 0.8172 0.7040 0.4015 1.0000 1.0000 0.8660 0.1428 ]

IA 707 – Computação Evolutiva (Projeto Final) 12

Primeiro furo. Este caractere não tem o segundo furo.

Figura 17 – Imagem binária com 21 bits de largura e 37 bits de altura Figura 18 – Imagem reamostrada com

5 de largura e 8 de altura

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Parâmetros utilizados no Algoritmo Genético:

• População: 50 indivíduos• Indivíduos selecionados para a próxima geração: 60%• Tipo de seleção: Roleta• Taxa de crossover: 100%• Tipo de recombinação: Crossover de um ponto • Taxa de mutação: AUTO AJUSTAVEL 1% até 5%• Parâmetros para o compartilhamento de fitness e especiação:

• GAMA: 1• SIGMAshare: 23 (Distância Hamming)• SIGMAmate: 47 (Distância Hamming)

Os caracteres “0”, “O” e “Q” possuem características conflitantes. Como este problema é pouco tratável, resolveu-se associar os caracteres “O” e “Q” na mesma classe do caractere “0”.

Resultado obtido após 500 gerações:

Vetor de pesos: [ 10 15 0 10 3 6 11 10 1 11 15 15 2 12 5 1 11 14 1 13

7 13 7 2 11 7 13 8 8 12 9 1 9 4 11 6 15 6 3 5 11 15 9 12 9 0 2 ]

Onde verificamos que a característica da posição 3, coordenada horizontal do centro do primeiro furo, foi eliminada. Fazendo uma breve comparação com os caracteres que possuem esta característica: ‘0’, ‘6’, ‘9’, ‘8’, ‘A’, ‘B’, ‘D’, ‘O’, ‘P’, ‘Q’ e ‘R’, podemos constatar que ocorre

IA 707 – Computação Evolutiva (Projeto Final) 13

Figura 20 – Diversidade da População durante 500 gerações

Figura 19 – Evolução da População durante 500 gerações

Uma Proposta Evolutiva para um Classificador de Distância Mínima

pouca variação na coordenada horizontal do centro do primeiro fura, sendo assim o sistema atuou corretamente em eliminar esta característica adotando o peso zero para ela.

IA 707 – Computação Evolutiva (Projeto Final) 14

Uma Proposta Evolutiva para um Classificador de Distância Mínima

O gráfico abaixo mostra as contribuições positivas e negativas do vetor de pesos encontrado pelo AG e aplicado na Distância Euclidiana Ponderada. Onde padrões próximos da fronteira foram afastados, como conseqüência padrões distantes foram aproximados.

Os dendrogramas abaixo permitem visualizar a distância entre classes vizinhas.

IA 707 – Computação Evolutiva (Projeto Final) 15

Distância Euclidiana

Distância Euclidiana Ponderada

Figura 21 – Gráfico da Razão Interclasses / Intraclasses com contribuições positivas e negativas do vetor de pesos

Figura 22 – Dendrograma dos vetores de protótipos utilizando a distância Euclidiana

Figura 23 – Dendrograma dos vetores de protótipos utilizando a distância Euclidiana Ponderada

Uma Proposta Evolutiva para um Classificador de Distância Mínima

Verificamos melhoras locais onde alguns grupos foram afastados (O, Q, 0 e D); (9 8 B); (P e R); (H e N); (2 e 2); (7 e Z); (E e F); (1 e I); (P e R). Porém a distância entre os caracteres dentro de um grupo (Ex.: O, Q, 0, D) não foram melhoradas.

O gráfico abaixo mostra a performance do classificador de distância mínima. Tendo como conjunto de validação 30 amostras de cada classe.

A porcentagem total de classificação correta foi:

Distância Euclidiana: 95.19%

Distância Euclidiana Ponderada: 94.91%

O conjunto de pesos aplicado na distância Euclidiana ponderada apresentou melhoras locais, ou seja, em alguns caracteres, porem não de maneira global. Embora tenha seu resultado final próximo do obtido com a distância Euclidiana.

A explicação está no gráfico que mostra a razão das distâncias interclasses pelas intraclasses. A razão de algumas classes melhorou enquanto as de outras piorou.

Existe a possibilidade de que o conjunto de características não esteja descrevendo as classes da melhor forma possível, sendo assim o conjunto de pesos não conseguiu melhorar as piores condições sem prejudicar as demais. Uma solução seria modificar o conjunto de características.

O conjunto de treinamento também é importante na descrição da classe, sendo assim é necessário verificar a utilização de outras amostras.

Talvez esta medida de adaptação (fitness) não seja a melhor proposta.

IA 707 – Computação Evolutiva (Projeto Final) 16

Figura 24 – Quantidade de acertos na classificação por caractere

Uma Proposta Evolutiva para um Classificador de Distância Mínima

10 – Conclusões

O método utilizado apresentou melhoras nas classes em pior condição (padrões próximos das fronteiras), mas não conseguiu melhoras de maneira global (porcentagem total de acertos na classificação). Isto deve-se principalmente a medida de adaptação (fitness), pois o que ela propõe é melhorar a pior condição, tendo a melhora global como conseqüência. Outra melhora constatada foi o afastamento de alguns grupos, embora a distância entre as classes de um mesmo grupo não tenham aumentado.

Torna-se necessário verificar novas formas de cálculo da adaptação (fitness) para que o sistema tenha uma melhora global mesmo não tendo uma melhora local.

Este método mostrou-se promissor na tarefa de qualificar cada característica. Não apenas selecionando, mas ponderando as características de acordo com sua importância. Esta tarefa é necessária e não trivial.

11 – Perspectivas

Modificar a medida de adaptação (fitness) para que o vetor de pesos consiga melhorar o sistema classificador de maneira global. Uma possibilidade é a utilização da matriz de dispersão (scatter) [6].

Utilizar um Classificador Hierárquico. No qual, classes com características semelhantes são agrupadas. Primeiramente serão ajustados pesos para os grupos e depois para cada grupo será calculado um conjunto de pesos utilizando somente as classes deste grupo. Essa possibilidade mostrou-se promissora através da melhora de alguns grupos de classes no dendrograma da distância Euclidiana ponderada.

Verificar a possibilidade de aplicar a Regra Majoritária utilizando vários resultados obtidos com diferentes inicializações da população, ou com um conjunto dos k melhores indivíduos.

Fazer testes comparativos com outras medidas de similaridade (Ex.: Mahalanobis).

Estender o método para aprendizagem não supervisionada, utilizando um método de agrupamento (Ex.: k-means).

IA 707 – Computação Evolutiva (Projeto Final) 17

Uma Proposta Evolutiva para um Classificador de Distância Mínima

12 – Referências

Livros:[1] F. J. Von Zuben, “Notas de Aula, IA 707 – Computação Evolutiva”,

http://www.dca.fee.unicamp.br/~vonzuben/courses/ia707.html, Unicamp, Brasil, 2002[2] R. O. Duda and P. E. Hart, “Pattern Classification and Scene Analysis”, Wiley-

Interscience Publication, California, USA, 1973[3] R. C. Gonzalez e R. E. Woods, “Processamento de Imagens Digitais”, Edgard Blücher,

Brasil, 2000

Artigos:[4] G. Dimauro, S. Impedovo, R. Modugno and G. Pirlo, “Numeral Recognition by

Weighting Local Decisions”, 7th ICDAR – IEEE Computer Society Press, 2003[5] S. Cha, C. C. Tappert and S. N. Srihari, “Optimizing Binary Feature Vector Similarity

Measure using Genetic Algorithm and Handwritten Character Recognition”, 7th ICDAR – IEEE Computer Society Press, 2003

[6] M. Morita, R. Sabourin, F. Bortolozzi and C. Y. Suen, “Unsupervised Feature Selection Using Multi-Objective Genetic Algorithms for Handwritten Word Recognition”, <draft version>

Ferramentas:[7] “AGBIN: Algoritmo Genético para Codificação Binária”,ftp://ftp.dca.fee.unicamp.br/pub/docs/vonzuben/ia707_1s04/projetos/binario.zip

IA 707 – Computação Evolutiva (Projeto Final) 18