6
Verificação de Impressões Digitais usando Algoritmos Genéticos Matheus Giovanni Pires, Fernando Vieira Duarte, Adilson Gonzaga Escola de Engenharia de São Carlos – Universidade de São Paulo (EESC-USP) Av. Trabalhador São-Carlense, 400 – Centro – 13.566-590 – São Carlos – SP – Brasil Tel.(16) 3373-9363 – FAX.(16) 3373-9372 [email protected], [email protected], [email protected] Abstract. The biometric recognition problem of a person through fingerprint can be categorized in two applications types: verification and identification. This work presents a genetic algorithm aimed at verifying if two different fingerprints belonging to the same finger from two sets of minutiae extracted. Experiments with FVC2004 image database were performed and the results were commented. Resumo. O problema do reconhecimento biométrico de uma pessoa por meio de impressões digitais pode ser categorizado em dois tipos: verificação e identificação. Neste artigo é apresentado um algoritmo genético para verificar se duas impressões digitais diferentes correspondem a um mesmo dedo a partir das minúcias extraídas de cada impressão digital. Experimentos com a base de imagens do FVC2004 foram realizados e, por fim, os resultados foram comentados. 1. Introdução A verificação de impressões digitais ainda é um problema desafiador devido à necessidade de processamento intensivo. Os sistemas de verificação de impressões digitais estão normalmente associados à identificação criminal, porém atualmente também estão sendo usados em aplicações comerciais, tais como controle de acesso e segurança em transações financeiras. Há dois tipos de aplicações para os sistemas de reconhecimento de impressões digitais: verificação e identificação. Em um sistema de verificação, a entrada do sistema é uma consulta a uma impressão digital e uma identidade (ID), o qual verifica se o ID é consistente ou não com a impressão digital. Em um sistema de identificação, a entrada do sistema é somente uma consulta a uma impressão digital, o qual tenta responder a seguinte questão: Existe alguma impressão digital na base de dados que se pareça com a impressão digital consultada? A resposta é uma pequena lista de impressões digitais. Uma impressão digital é formada por um grupo de curvas. As características mais comuns incluem os pontos finais e as bifurcações, chamadas de minúcias, como ilustra a Figura 1. Geralmente os algoritmos para verificação de impressões digitais possuem duas etapas: alinhar as minúcias e encontrar as minúcias correspondentes entre duas impressões digitais. A primeira etapa é necessária devido à presença de distorções entre dois conjuntos de minúcias extraídos de diferentes impressões digitais de um mesmo dedo, incluindo translação, rotação e escala, dificultando a localização de minúcias correspondentes. O objetivo deste trabalho é apresentar um algoritmo genético para minimizar os efeitos das distorções e efetuar a verificação de dois conjuntos de minúcias diferentes extraídos de um mesmo dedo.

Algoritmo Impressão Digital

Embed Size (px)

Citation preview

  • Verificao de Impresses Digitais usando Algoritmos Genticos

    Matheus Giovanni Pires, Fernando Vieira Duarte, Adilson Gonzaga

    Escola de Engenharia de So Carlos Universidade de So Paulo (EESC-USP) Av. Trabalhador So-Carlense, 400 Centro 13.566-590 So Carlos SP Brasil

    Tel.(16) 3373-9363 FAX.(16) 3373-9372 [email protected], [email protected], [email protected] Abstract. The biometric recognition problem of a person through fingerprint can be categorized in two applications types: verification and identification. This work presents a genetic algorithm aimed at verifying if two different fingerprints belonging to the same finger from two sets of minutiae extracted. Experiments with FVC2004 image database were performed and the results were commented. Resumo. O problema do reconhecimento biomtrico de uma pessoa por meio de impresses digitais pode ser categorizado em dois tipos: verificao e identificao. Neste artigo apresentado um algoritmo gentico para verificar se duas impresses digitais diferentes correspondem a um mesmo dedo a partir das mincias extradas de cada impresso digital. Experimentos com a base de imagens do FVC2004 foram realizados e, por fim, os resultados foram comentados.

    1. Introduo A verificao de impresses digitais ainda um problema desafiador devido necessidade de processamento intensivo. Os sistemas de verificao de impresses digitais esto normalmente associados identificao criminal, porm atualmente tambm esto sendo usados em aplicaes comerciais, tais como controle de acesso e segurana em transaes financeiras. H dois tipos de aplicaes para os sistemas de reconhecimento de impresses digitais: verificao e identificao. Em um sistema de verificao, a entrada do sistema uma consulta a uma impresso digital e uma identidade (ID), o qual verifica se o ID consistente ou no com a impresso digital. Em um sistema de identificao, a entrada do sistema somente uma consulta a uma impresso digital, o qual tenta responder a seguinte questo: Existe alguma impresso digital na base de dados que se parea com a impresso digital consultada? A resposta uma pequena lista de impresses digitais.

    Uma impresso digital formada por um grupo de curvas. As caractersticas mais comuns incluem os pontos finais e as bifurcaes, chamadas de mincias, como ilustra a Figura 1. Geralmente os algoritmos para verificao de impresses digitais possuem duas etapas: alinhar as mincias e encontrar as mincias correspondentes entre duas impresses digitais. A primeira etapa necessria devido presena de distores entre dois conjuntos de mincias extrados de diferentes impresses digitais de um mesmo dedo, incluindo translao, rotao e escala, dificultando a localizao de mincias correspondentes.

    O objetivo deste trabalho apresentar um algoritmo gentico para minimizar os efeitos das distores e efetuar a verificao de dois conjuntos de mincias diferentes extrados de um mesmo dedo.

  • Figura 1. Exemplo de mincias.

    2. Formalizao do problema da verificao biomtrica O problema da verificao biomtrica pode ser formulado da seguinte forma. Considere uma impresso digital T de uma pessoa e uma outra impresso digital L de entrada para verificao. Se TL, ento as impresses digitais no so da mesma pessoa, caso contrrio, so da mesma pessoa [Maltoni et al. 2003]. Portanto, a verificao consiste em determinar se um par de impresses digitais pertence ou no a uma mesma pessoa, atravs de um grau de similaridade entre eles dado por um limiar Fit. Para definir formalmente este problema, considere dois conjuntos de mincias {(xn,1, xn,2)} e {(yn,1, yn,2)}, denominados template e query, os quais representam a impresso digital de uma pessoa e a entrada do sistema para a verificao, respectivamente, onde n = 1,2,3,, N, m = 1,2,3,, M, (xn,1, xn,2) e (yn,1, yn,2) so as coordenadas dos conjuntos de mincias. Sendo assim, atravs de uma funo Yi = F(Xi) de escala, rotao e translao entre Xi(xi,1, xi,2) e Yi(yi,1, yi,2) possvel aproximar dois conjuntos de mincias. Esta funo pode ser simplificada como

    Yi = s . R . Xi + T, (1)

    onde s o fator de escala, R =

    cossin

    sincos , o ngulo de rotao entre as duas impresses digitais e

    T = [Tx Ty]T o vetor de translao [Tan e Bhanu 2006]. Sendo assim, este trabalho tem por objetivo encontrar uma transformao otimizada para mapear qualquer par de impresses digitais.

    A Figura 2 ilustra todos os passos necessrios para a verificao de duas impresses digitais. O mdulo Extrao de mincias responsvel por detectar as mincias (pontos finais e bifurcaes) das impresses digitais que sero verificadas pelo mdulo Otimizao gentica (ver seo 3). A extrao das mincias baseada em uma metodologia apresentada por Raymond Thai [Thai 2003].

    Figura 2. Esquema do processo de verificao de impresses digitais.

    3. Otimizao gentica Algoritmos Genticos so mtodos de otimizao e busca baseados nos mecanismos da seleo natural introduzidos por John Holland [Holland 1975]. Devido a grande capacidade de explorar espaos de busca grandes e irregulares, os algoritmos genticos tm sido bastante utilizados para estes tipos de problemas. Um algoritmo gentico simples possui uma estrutura conforme o pseudocdigo ilustrado na Figura 3 [Michalewicz 1996]:

  • Programa AG Incio

    t 0 Inicializar P(t) Avaliar P(t) Enquanto (No Terminou) Faa Incio

    t t + 1 Selecionar P(t) de P(t 1) Alterar P(t) Avaliar P(t)

    Fim Fim

    Figura 3. Pseudocdigo de um algoritmo gentico simples.

    Durante a iterao t, o algoritmo gentico mantm uma populao de solues candidatas (cromossomos). Cada soluo avaliada para medir seu fitness (ou aptido), ou seja, a qualidade da soluo do problema representada por este cromossomo. Ento, uma nova populao (iterao t + 1) formada pela seleo dos indivduos mais aptos. Alguns membros desta nova populao sofrero alteraes devido ao dos operadores genticos de cruzamento e mutao, enquanto outros permanecero intactos. O cruzamento combina as caractersticas de dois cromossomos pais para formar dois cromossomos filhos. O objetivo da aplicao do cruzamento trocar informaes entre solues em potencial. A mutao altera aleatoriamente um ou mais genes de um cromossomo selecionado, com o intuito de introduzir informao extra para a populao.

    Conforme apresentado na equao 1, os parmetros que precisam ser otimizados so s, , Tx e Ty.

    3.1 Codificao dos cromossomos e populao inicial Baseado no trabalho de Xuejun Tan e Bir Bhanu [Tan e Bhanu 2006], o intervalo de valores para os parmetros foram definidos da seguinte forma: 0.9s1.1, 3030, 120Tx120, 120Ty120. As escalas para estes parmetros so 0.01, 1, 1 pixel e 1 pixel, respectivamente. A codificao dos cromossomos binria, sendo que o nmero de bits necessrios para representar s, , Tx e Ty so 5, 6, 8 e 8, respectivamente. A Figura 3 ilustra a codificao do cromossomo Ci, onde i=1,2,3, ..., Tp (Tp representa o tamanho da populao). A populao inicial gerada de forma aleatria.

    Figura 4. Codificao cromossmica.

    3.2 Funo de avaliao Durante o processo evolutivo, a populao avaliada e cada cromossomo recebe uma nota, denominada aptido, refletindo a qualidade da soluo que ele representa. A funo de avaliao adotada neste artigo baseada em [Tan e Bhanu 2006], a qual definida em dois passos.

  • Primeiramente verifica-se a consistncia global entre dois conjuntos de mincias e em seguida, uma anlise mais detalhada das mincias realizada para constatar a consistncia local das impresses digitais.

    Passo 1: Seja os conjuntos de mincias (xn,1, xn,2) e (yn,1, yn,2) do template e query, respectivamente (n = 1,2,3,, N). Usando a transformao descrita pela equao 1 calculado a distncia Dn das mincias entre as impresses digitais template e query. Considerando o menor Dn calculado e se este for menor que um determinado limiar Td, as mincias n so consideradas correspondentes.

    =2,

    1,

    2,

    1,minn

    n

    n

    n

    yy

    xx

    FDn (2)

    O valor da funo de avaliao o nmero de mincias correspondentes encontradas. Caso este valor seja maior que o limiar Td, o segundo passo da funo de avaliao executado, caso contrrio, no.

    Passo 2: A consistncia local das mincias feita a partir da similaridade entre tringulos formados pelas mincias correspondentes encontradas no passo 1. Esta metodologia est relatada em [Bhanu e Tan 2003]. Portanto, o valor da funo de avaliao o nmero de tringulos similares formados. Entretanto, este trabalho prope uma nova abordagem com o objetivo de simplificar a funo de avaliao. Esta modificao consiste em alterar o passo 2 para as seguintes etapas:

    1. Calcular o centro de massa para cada conjunto de mincias. 2. A partir das mincias correspondentes encontradas no passo 1, calcular a distncia

    Euclidiana das mesmas em relao ao centro de massa. A Figura 5 ilustra este processo.

    3. Dado um par de mincias correspondentes determinadas no passo 1, verifica-se a diferena entre as distncias calculadas. Se esta for menor que um limiar Tf as mincias so consideradas correspondentes, caso contrrio, no.

    4. A aptido de cada cromossomo dada pelo nmero de mincias correspondentes.

    Figura 5. Distncia Euclidiana entre coordenadas e centro de massa.

    A resposta para a verificao de duas impresses digitais obtida pelo melhor cromossomo encontrado aps a otimizao gentica e por um limiar Fit, ou seja, a resposta do sistema d-se pela seguinte condio: se o valor de aptido do melhor cromossomo for maior ou igual Fit, as impresses digitais pertencem ao mesmo dedo, caso contrrio, no.

  • 3.3 Operadores genticos e outros parmetros Os operadores genticos utilizados neste trabalho foram: Mutao Simples, Cruzamento Uniforme e seleo pela Roda da Roleta e Elitismo. Os valores dos parmetros do algoritmo gentico so descritos na Tabela 1.

    Tabela 1. Parmetros do algoritmo gentico.

    Parmetro Valor Nmero de geraes 100

    Tp (tamanho da populao) 100 Taxa de cruzamento 0,7

    Taxa de mutao 0,2 Taxa de elitismo 0,1

    Td 12 Tf 6

    4. Experimentos e resultados Para testar a abordagem proposta foram realizados experimentos aplicando a verificao das impresses digitais combinando todas as imagens pertencentes mesma classe, totalizando 28 verificaes para cada classe de impresso digital. A Figura 6 ilustra exemplos destes experimentos.

    10_1 e 10_2, valor de aptido = 23. 16_5 e 16_8, valor de aptido = 46.

    (a)

    10_1 e 10_3, valor de aptido = 109. 16_5 e 16_7, valor de aptido = 298.

    (b) Figura 6. Exemplos de resultados da verificao de impresses digitais. (a) Verificao com

    valor baixo de aptido. (b) Verificao com valor alto de aptido.

    A Tabela 2 mostra a preciso do sistema variando o limiar Fit de maneira crescente, conforme descrito na seo 3.2.

  • Tabela 2. Resultados variando o limiar Fit.

    Limiar (Fit) Preciso10 100% 20 74% 30 64% 40 54% 50 46% 60 39% 70 33% 80 28% 90 24% 100 21%

    A partir dos resultados apresentados na Tabela 1 possvel observar que medida que o valor do limiar Fit incrementado, a preciso do sistema diminui. Isto acontece em funo de que o sistema se torna mais restrito ou rgido conforme o aumento de Fit, ou seja, o sistema considera um nmero maior de caractersticas correspondentes entre duas impresses digitais para verificar a correspondncia entre elas.

    5. Concluses Neste trabalho foi apresentado um sistema de verificao de impresses digitais baseado em otimizao gentica. Os experimentos utilizaram a base de imagens do FVC2004, a qual contm imagens com alto grau de distores, tais como rotao, translao e escala, dificultando o processo de verificao. Devido baixa qualidade das imagens, o processo de extrao de mincias retornou uma grande quantidade de mincias, dificultando o processo de verificao. Entretanto, pode-se notar que a abordagem proposta apresentou resultados satisfatrios. Em trabalhos futuros, pretende-se realizar a comparao com outros trabalhos, a realizao de experimentos utilizando outras bases de imagens e o uso de outros mtodos para a extrao de mincias.

    Referncias Bhanu, B. e Tan, X., Fingerprint indexing base don novel features of minutiae triplets, IEEE

    Transactions on Pattern Analysis and Machine Intelligence, pp. 616-622, 2003.

    Holland, J. H., Adaptation in Natural and Artificial Systems, The University of Michigan Press, 1975. Maltoni, D., Maio, D., Jain, A.K. e Prabhakar, S., Handbook of Fingerprint Recognition, Springer-

    Verlag, New York, 2003.

    Michalewicz, Z., Genetic Algorithms + Data Structures = Evolution Programs, Springer, 1996. Tan, X., e Bhanu, B., Fingerprint Matching by Genetic Algorithms, The Journal of the Pattern

    Recognition Society, Elsevier Ltd., pp. 465-477, 2006.

    Thai, R., Fingerprint Image Enhancement and Minutiae Extraction, Report submitted as partial fulfillment to School of Computer Science and Software Engineering, The University of Western Australia, 2003.

    /ColorImageDict > /JPEG2000ColorACSImageDict > /JPEG2000ColorImageDict > /AntiAliasGrayImages false /CropGrayImages true /GrayImageMinResolution 300 /GrayImageMinResolutionPolicy /OK /DownsampleGrayImages true /GrayImageDownsampleType /Bicubic /GrayImageResolution 300 /GrayImageDepth -1 /GrayImageMinDownsampleDepth 2 /GrayImageDownsampleThreshold 1.50000 /EncodeGrayImages true /GrayImageFilter /DCTEncode /AutoFilterGrayImages true /GrayImageAutoFilterStrategy /JPEG /GrayACSImageDict > /GrayImageDict > /JPEG2000GrayACSImageDict > /JPEG2000GrayImageDict > /AntiAliasMonoImages false /CropMonoImages true /MonoImageMinResolution 1200 /MonoImageMinResolutionPolicy /OK /DownsampleMonoImages true /MonoImageDownsampleType /Bicubic /MonoImageResolution 1200 /MonoImageDepth -1 /MonoImageDownsampleThreshold 1.50000 /EncodeMonoImages true /MonoImageFilter /CCITTFaxEncode /MonoImageDict > /AllowPSXObjects false /CheckCompliance [ /None ] /PDFX1aCheck false /PDFX3Check false /PDFXCompliantPDFOnly false /PDFXNoTrimBoxError true /PDFXTrimBoxToMediaBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXSetBleedBoxToMediaBox true /PDFXBleedBoxToTrimBoxOffset [ 0.00000 0.00000 0.00000 0.00000 ] /PDFXOutputIntentProfile () /PDFXOutputConditionIdentifier () /PDFXOutputCondition () /PDFXRegistryName () /PDFXTrapped /False

    /Description > /Namespace [ (Adobe) (Common) (1.0) ] /OtherNamespaces [ > /FormElements false /GenerateStructure true /IncludeBookmarks false /IncludeHyperlinks false /IncludeInteractive false /IncludeLayers false /IncludeProfiles true /MultimediaHandling /UseObjectSettings /Namespace [ (Adobe) (CreativeSuite) (2.0) ] /PDFXOutputIntentProfileSelector /NA /PreserveEditing true /UntaggedCMYKHandling /LeaveUntagged /UntaggedRGBHandling /LeaveUntagged /UseDocumentBleed false >> ]>> setdistillerparams> setpagedevice