Realce de Impressões Digitais por Algoritmos Genéticos

Documentos relacionados
3 Algoritmos Genéticos

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Algoritmos Genéticos

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Inteligência Artificial

Algoritmos Genéticos

1. Computação Evolutiva

Técnicas de Inteligência Artificial

Utilizando Algoritmos Genéticos para determinar a fonte de um campo magnético.

Algoritmo Genético aplicado ao Sistema de Análise de Concessão de Crédito (SACC) Rosini Antonio Monteiro Bezerra Professor Marco Aurélio

Planejamento Hidrotérmico Utilizando Algoritmos Genéticos

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Introdução a Algoritmos Genéticos

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

Introdução aos Algoritmos Genéticos

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Modelos Evolucionários e Tratamento de Incertezas

Clusterização de Clientes Johnson utilizando Algoritmos Genéticos

Técnicas de Inteligência Artificial

Algoritmos Evolutivos para Otimização

3. Resolução de problemas por meio de busca

Algoritmos Genéticos

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Tópicos Especiais em Informática Fatec Indaiatuba

Computação Evolucionária Aplicada ao Problema de Seleção de Características em Text Mining

Escalonador de Ordens de Produção Utilizando Algoritmos Genéticos

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

3 Otimização Evolucionária de Problemas com Restrição

Introdução a Análise de Imagens Digitais

3 Algoritmos Genéticos

4 Implementação Computacional

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Inteligência Artificial

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

INF 1771 Inteligência Artificial

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

5 Projeto de Novos Polímeros Condutores

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Estrutura comum dos AEs

Ancoragem de Embarcações utilizando Algoritmos Genéticos

Algoritmos Evolutivos Canônicos

Max Pereira. Inteligência Artificial

INF 1771 Inteligência Artificial

Processamento de Imagem. Prof. MSc. André Yoshimi Kusumoto

Utilizando um Algoritmo Genético para Encontrar os Zeros de uma Função Real

6 Estudos de Casos Porta Lógica OU de 4 Entradas

Uso de Algoritmo Genético para a otimização do ponto de corte da probabilidade de sucesso estimada do modelo de Regressão Logística

Implementação de códigos no Matlab para detecção de falhas em cordão de soldas. Adailton Turczen de Melo Andrine M. Varela da Cruz Wallace Griz Ayres

GT-JeDi - Curso de Desenv. de Jogos IA para Jogos. Gustavo Pessin 2007

5 Testes em Imagens. Figura 5.1: Esquema de proteção com detecção de erros LT Hamming. Imagem. Cod-Hamming SPIHT. Cod-LT. Canal.

Seleção do Portifólio de Projetos para Investimento por Computação Evolucionária

Modelos Evolucionários e Tratamento de Incertezas

3 Computação Evolucionária

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR RESUMO INTRODUÇÃO

Utilização de Algoritmos Genéticos para Otimização de Altura de Coluna da Matriz de Rigidez em Perfil no Método dos Elementos Finitos

Sintonia de um sistema PID via Algoritmos Genéticos aplicado ao controle de um manipulador robótico em forma de paralelogramo

Construção de uma Ferramenta para Evoluir Estratégias e Estudar a Agressividade/Cooperação de uma População submetida ao Dilema dos Prisioneiros

ANÁLISE DE RESULTADOS

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

Realce de imagens parte 1: operações pontuais SCC0251 Processamento de Imagens

Processamento Digital de Imagens

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

RECONHECIMENTO AUTOMÁTICO DE PADRÕES MUSICAIS UTILIZANDO OPERADORES MORFOLÓGICOS E PROGRAMAÇÃO GENÉTICA.

CONSTRUÇÃO AUTOMÁTICA DE OPERADORES MORFOLÓGICOS UTILIZANDO PROGRAMAÇÃO GENÉTICA.

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

Modelos Evolucionários e Tratamento de Incertezas

UNIVERSIDADE ESTADUAL PAULISTA Campus de Sorocaba. Transformações Geométricas

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

1. Computação Evolutiva

> Princípios de Contagem e Enumeração Computacional 1/10

4 Sistema de Identificação de Parâmetros em Dados Sísmicos por Algoritmos Genéticos

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 4 Sarita Mazzini Bruschi

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

Problema do vendedor: uma abordagem via algoritmos genéticos

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Aula 3- Codificação de Canal. October 18, 2017

EET-61 Introdução a Teoria da Informação

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Otimização da Flexão em Estruturas de Aço com Ligações Semi-Rígidas através de Algoritmos Genéticos

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

PLANEJAMENTO E OTIMIZAÇÃO DO DESENVOLVIMENTO DE UM CAMPO DE PETRÓLEO POR ALGORITMOS GENÉTICOS

Processamento Digital de Imagens. Análise de Imagens

4 APLICAÇÃO DO MODELO E RESULTADOS

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

Algoritmos Genéticos para Gerência de Projetos

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Processamento de Imagens Digitais

Transcrição:

Technical Notes in Computational Intelligence, ICA, PUC-Rio 1 Realce de Impressões Digitais por Algoritmos Genéticos Marco Aurélio C. Pacheco 1, Raul Queiroz Feitosa 1, Dan Posternak 1 1 ICA: Computational Intelligence Laboratory, Department of Electrical Engineering, PUC-Rio R. Marques de S. Vicente 225, Gávea, Rio de Janeiro, CEP 22453-9, RJ, Brazil {marco, raul}@ele.puc-rio.br dposternak@alternex.com.br Resumo. Este projeto diz respeito à realce uma escala de cinza representado por uma imagem da impressão digital de imagens pretobranco através de um algoritmo genético. A idéia é mostrar uma vez mais a aplicação do algoritmo genético para ajudar um reconhecimento de padrões futuros de uma impressão digital. Palavras-chave: Algoritmo Genético, impressão digital, Realce. Abstract. This project concerns the enhancement of a grey-scale represented fingerprint image by a black-white image through a Genetic Algorithm. The idea is to show once more Genetic Algorithm application to help pattern recognition of a fingerprint in the future. Keywords: Genetic Algorithm, Fingerprint, Realce. 1 Introdução Com o crescimento avassalador dos meios de comunicações na última década, é fato motivante que tenhamos dois tipos de preocupação: O que nos interessa e o que queremos que os outros saibam. Como hoje em dia há cada vez mais uma confiança crescente na transferência de dados por meios digitais, há também uma preocupação em saber se há algum tipo de segurança no tráfego destes. Para controle de segurança, utilizam-se técnicas biométricas, dentre as quais, está o reconhecimento de impressões digitais.

Technical Notes in Computational Intelligence, ICA, PUC-Rio 2 O objetivo deste trabalho é realçar uma imagem de impressão digital em tons de cinza, transformando-a em uma imagem em preto e branco. Este realce tem como objetivo minimizar imperfeições no reconhecimento da imagem devido provavelmente a um "scaneamento" mau feito que torne os tons de cinza muito escuro e consequentemente torne difícil separar os cumes dos vales de uma impressão digital. Para se ter uma idéia do problema, observe a figura abaixo: Fig. 1. Impressão Digital scaneada. Há cumes e vales que se confundem devido a escuridão da imagem. 1.1 Realce A função do Realce é chamar a atenção para detalhes que desejamos conhecer melhor visualmente. O Realce é a segunda fase em processamento de imagens que vai desde a Aquisição da Imagem passando pelo Realce, Segmentação, Pós-Processamento, Extração de Atributos e Reconhecimento. Tendo isto em vista, pode-se dizer que dependendo do que queremos realçar, poderemos melhorar o reconhecimento de uma imagem. Neste trabalho, foi realizado Realce de uma impressão digital em segmentos de 64x64 por Algoritmos Genéticos. 1.2 Algoritmos Genéticos Algoritmos Genéticos têm sido utilizados para resolução de problemas desde o começo dos anos de 197. Um grande passo para a adoção desta poderosa ferramenta foi dado a partir da introdução dos Fundamentos Matemáticos por John Holland. Os Algoritmos Genéticos se baseiam nos mecanismos da genética para chegar a uma solução ótima, sendo estes o crossover e a mutação entre outros. Considerando

Technical Notes in Computational Intelligence, ICA, PUC-Rio 3 que na genética tratamos a evolução de seres ou indivíduos como uma seleção natural do ambiente, cria-se uma função de avaliação que terá o intuito de melhorar cada vez mais o desempenho da população corrente. Assim sendo, tendo uma população inicial, colocaria esta a prova de uma função de avaliação. Os n melhores sobrevivem e vão cruzar com os descendentes desta geração na geração seguinte ou sofrer mutação (os sobreviventes e os descendentes). Isto levará a uma melhoria contínua até que se tenha uma população aonde os indivíduos se aproximam de uma solução que pode ser lucrativa para o problema da qual extraímos o melhor, que é o melhor indivíduo que já existiu. Para que AGs convirjam, é necessário fazer ajustes em parâmetros que regulam a diversidade desta população, pois aonde há diversidade, há intercâmbio facilitando o surgimento de outras soluções (indivíduos) que podem ser melhores do que as já existentes. 1.2.1 Cromossoma O cromossoma é o indivíduo da população e uma das soluções propostas pelo AG para o problema. Este será avaliado e preservado se atingir uma posição bem colocada entre os demais cromossomas. Por ser a solução, tem que ter boa representatividade do problema como solução proposta, e como catalizador do algoritmo genético na busca por melhores soluções. Neste trabalho, o cromossoma foi implementado binariamente de forma que cada ou 1 sejam os genes. 1.2.2 Crossover O Crossover é um operador de diversidade. O Crossover utilizado neste trabalho será o crossover de 1 ponto: (1)Sorteio de taxa de crossover Capture 2 cromossomas Sorteie ponto de corte Troque pedaços de mesmo tamanho entre os comossomas Vá para o próximo par Vá para (1). O ponto de corte é onde se dará a quebra do cromossoma. Esta quebra se dará de par em par como exemplificado acima. 1.2.3 Mutação A mutação tem um poder mais destrutivo que o crossover de bons padrões de soluções viáveis, por isso, deve-se utilizar em doses pequenas. A mutação também possui uma taxa de ocorrência, que poderá ser disparada a cada gene rastreado pelo

Technical Notes in Computational Intelligence, ICA, PUC-Rio 4 AG. No caso do cromossoma ser binário, pode se sortear a cada gene (bit) se haverá a mutação, e se positivo, troca-se o valor binário corrente. 2 Descrição do Problema O problema consiste em melhorar a visualização dos cumes e vales de uma impressão digital. Para isto o AG deve, para cada linha "scaneada" achar os melhores pontos de segmentação da imagem para separação de trechos pretos de brancos (após um trecho preto vem um branco, ou vice-versa). Para avaliar a solução, será utilizada a correlação entre linha estimada e a linha corrente da imagem (a linha estimada será um cromossoma). r = I 1 i= I 1 i= [ y( i) y ] yˆ ( i) [ yˆ ] 2 I 1 [ y( i) y ] yˆ ( i) 2 [ yˆ ] i= (1) Onde: y = 1 1 I I i= y ( i) (2) e y ˆ 1 = I I 1 i= yˆ ( i) (3) Aonde y é a curva que define a variação em tons de cinza e ŷ a curva discreta que representa os segmentos como branco ou preto (1 ou ) como na figura:

Technical Notes in Computational Intelligence, ICA, PUC-Rio 5 Fig. 2. Variação dos tons de cinza (y) e curva de preto e branco (ŷ) em uma linha scaneada de uma impressão digital. 3 Experimentos Nesta seção será descrito os 2 tipos de experimentos realizados e na próxima seção será feita uma comparação entre estes. 3.1 Experimento 1 3.1.1 Codificação Segundo o professor Abutaleb em [1] cada largura scaneada que faça parte de um cume ou um vale que tenha inclinação de ± 45º, terá no mínimo 2 pixels de largura e no máximo 6. Para cada imagem digital, foram utilizados segmentos de 64x64 pixels, sendo assim, há um algoritmo genético para cada linha que determinará os pontos de corte da linha que separam trechos pretos de brancos. Sendo 2 pixels no mínimo e 6 no máximo para largura de cada trecho, foi tentado a modelagem de um cromossoma de 187 bits. Se cada corte na linha scaneada, pode ter uma posicao que varia de 1 a 63 (tamanho da linha - 1), então, para cada posição, serão dimensionados 6 bits (CEIL(log 2 (tamanho linha)), aonde CEIL é arredondamento para cima) e como serão possíveis no máximo 31 cortes (se tiver 2 pixels de largura), teremos 31x6 = 186. Como após cada trecho preto vem um branco ou vice-versa, precisa-se ter apenas uma cor inicial da linha no cromossoma, ou seja, o cromossoma terá 187 bits. 3.1.2 Decodificação Para Decodificar o cromossoma, serão consideradas as posições de cortes que variam de 1 a 63. A ocorrência de posições de cortes repetidas devem ser distintas. 3.1.3 Resultados Foi obtida correlação relativamente baixa de.59273:

Technical Notes in Computational Intelligence, ICA, PUC-Rio 6 Fig. 3. Imagem gerada pelo AG e imagem original.59273. respectivamente com correlação de Para este resultado ocorrer foi necessário rodar o AG com 5 indivíduos por geração durante 1 gerações. Isto se explica pelo fato de o cromossoma de 187 bits não cobrir todo o espaço de busca possível. Se tivermos 6 bits para cada corte, um tamanho que gere uma linha com probabilidade alta de não conter segmentos com repetição, e se encaixe o melhor possível na linha da imagem original, seria 31!*2 6 o que torna uma implementação pouco viável. Por isso, deve-se aumentar as chances de diversos pontos de corte ocorrerem aumentando-se a população. 3.2 Experimento 2 O Experimento 2 já parte do princípio da diminuição do segmento realçado, haja visto que 64x64 é oneroso computacionalmente, além de exigir um espaço de busca que para dar resultados ótimos, deveria ter um cromossomo com muito mais casas do que foi planejado. Neste Experimento, o tamanho da linha foi reduzido de 64 pixels para 16 pixels. Com isso, como foi visto em 3.1.3, as chances de haver cortes coincidentes com a imagem original é maior devido à diminuição do espaço de busca. Neste Experimento 2, o tamanho da população é de 1 por geração com 1 gerações. 3.2.1 Codificação Para o cromossoma que busca em 16 trechos foi dimensionado como CEIL(log 2 (tamanho linha))x(tamanho_linha - 1). Desta vez foi desconsiderado o fato de poder ser 2 pixels o mínimo de largura, com a intenção de aumentar a probabilidade de diversificação de cortes. 3.2.2 Decodificação A decodificação é feita da mesma maneira do Experimanto 1.

Technical Notes in Computational Intelligence, ICA, PUC-Rio 7 3.2.3 Resultados Todos os 4 segmentos de 16x64 testados tiveram correlação maior que.7, sendo a correlação final do segmento 64x64 de.7211 conforme figura abaixo: Fig. 4. Resultado visual do experimento2. Tempo de processamento muito menor para os 4 segmentos de 64x16 do que o experimento 1 com 5 inidvíduos processados para cada AG. 4 Conclusão e Experimentos Futuros O Experimento 2 mostrou-se melhor que o Experimento 1 devido a diminuição do espaço de busca do problema tornando o cromossoma mais representativo. Ainda poderia se diminuir mais ainda o espaço de busca, mas corre-se o risco de encontrarse segmentos de pixels com tons de cinza repetidos por todo o tamanho do da linha, e incorrermos no erro de divisão por zero o que daria indefinição ou infinito levando o AG a se perder na melhor solução. Ainda dentro da comparação com outros métodos, a busca aleatória não conseguiu "vencer" os AGs do Experimento 1 especialmente no AG que teve pior correlação. Olhando para o Experimento 1 aonde tivemos o pior AG na linha 1 com correlação de.431, tivemos na busca aleatória para esta linha, a melhor correlação atingida de.4294. Para a melhor linha que foi a 58, tivemos correlação.7361 para o AG e para a busca aleatória.5595, ou seja, a busca aleatória conseguiu ser pior do que um AG do pior experimento (Experimento 1) para 5 rodadas. Dimniuindo-se o espaço de busca, aumenta-se as chances de se obter soluções melhores, diminuindo-se o tempo de processamento e o "swap" de disco. Para um possível experimento futuro, pretende-se investigar mais a ligação de processamento de imagens com Algoritmos Genéticos em controle de qualidade visual para industrias.

Technical Notes in Computational Intelligence, ICA, PUC-Rio 8 Referências [1] Abutaleb S., Ahmed and Kamel M., A Genetic Algorithm for the Estimation of Ridges in Fingerprint. [2] Pacheco, Marco Aurélio C., Notas de Aula de 22 em http://www.ica.ele.puc-rio.br [3] Feitosa, Raul Queiroz, Notas de Aula de 22 e Transparências em http://www.ele.pucrio.br/~visao/22.2 [4] Gonzales, Rafael C., Digital image processing - Addison-Wesley Publishing Company, Inc., 1992