• Nenhum resultado encontrado

[Fingerprint Recognition]

N/A
N/A
Protected

Academic year: 2021

Share "[Fingerprint Recognition]"

Copied!
15
0
0

Texto

(1)

Mestrado em Engenharia de Segurança

Informática

Tecnologias Biométricas

Pedro Santos santos.pmcm@gmail.com 12065 Filipe Vieira fil.vieira@gmail.com 12049 Rui Pereira ruipereira.eng@gmail.com 12061

Docente

Doutor José Jasnau Caeiro

(2)

1

Índice

Índice ... 1 Índice Imagens ... 2 1. Introdução ... 3 1.1. Objetivo ... 3 1.2. Método Adotado ... 3 1.2.1. Ambiente de Desenvolvimento ... 3 1.2.2. Interpretação do Artigo ... 3

1.3. Opções de Engenharia Adotadas ... 3

2. Resultados ... 4

2.1. Estimação da região efetiva ... 4

Fase 1 – Determinação de zonas efetivas ... 4

Fase 2 – verificação de continuidade da região efetiva ... 5

Fase 3 – Determinação do centroide ... 5

Fase 4 – Cálculo das coordenadas limite (ChainCode) ... 6

Divergências/melhorias relativamente à implementação sugerida ... 6

Discussão de resultados ... 6

Sugestões de melhoria ... 7

2.2. Estimar campo de orientação ... 7

Fase 1 – Calculo do campo orientação baseado no filtro de Sobel ... 7

Fase 2 – Estimação do campo de orientação e mapa de força anisotrópica ... 7

Discussão de resultados ... 9

Sugestões de melhoria ... 9

2.3. Melhoria da Impressão Digital ... 10

2.4. Estimar o mapa de densidade ... 10

Fase 1 – Binarização ... 10

Fase 2 – Cálculo da distância entre cumes ... 10

Discussão de resultados ... 12

2.5. Modelação do mapa de densidade (aproximação polinomial) ... 12

Discussão de resultados ... 12

2.6. Correspondência dos dois mapas de densidade ... 12

Discussão de resultados ... 13

(3)

3. Conclusões ... 13

4. Referências ... 14

Índice Imagens

Ilustração 1 - Diagrama de fluxo do modelo proposto por [1]. ... 4

Ilustração 2 - Imagem da ID Original ... 4

Ilustração 3 - Pontos de descontinuidade na região efetiva ... 5

Ilustração 4 - Identificação dos pontos do ChainCode ... 5

Ilustração 5 - Região efetiva ... 6

Ilustração 6 - Resultados intermédio do filtro de Sobel, a) dx b) dy c) adição ponderada das imagens dx e dy (alpha=0.5, beta = 0.5). ... 7

Ilustração 7 - Mapa de orientação (calculado com 5x5 pixels) ... 8

Ilustração 8 - Mapa de força anisotrópica ... 8

Ilustração 9 - Amostragem com dimensão ... 9

Ilustração 10 - Amostragem com dimensão 5 ... 9

Ilustração 11 - Impressão Digital após a Melhoria ... 10

Ilustração 12 - Imagem (após aplicação do filtro Gabor) com segmento alinhado com eixo yy ... 11

Ilustração 13 - Cumes após alinhamento ... 11

Ilustração 14 - Esquema de Pesquisa ... 11

Ilustração 15 - Mapa de densidade... 12

(4)

3

1. Introdução

1.1. Objetivo

O objetivo deste trabalho prende-se com a necessidade de demonstrar a capacidade de engenharia e de interpretação de artigos científicos relacionados com a biometria. Foi atribuído ao grupo um artigo científico sobre impressões digitais [1] e pedido que após análise fosse implementado tecnicamente a solução proposta no mesmo.

1.2. Método Adotado

1.2.1. Ambiente de Desenvolvimento

Assim e mesmo antes de iniciar a análise do artigo em questão, houve uma análise às soluções de desenvolvimento na área de imagem e matemática. Esta análise seria importante na medida de se poder encontrar uma linguagem de programação com o maior e melhor numero de bibliotecas de matemática e tratamento de imagem possível, sabíamos que iria ser uma mais valia na implementação.

Das opções propostas no decorrer das aulas de Tecnologias Biométricas e que foram as de MatLab, Python e C++, o

MatLab foi colocado de parte devido ao cariz proprietário da solução (apesar de possuir fortes bibliotecas gráficas e ser

inteiramente vocacionado para o tratamento matemático), entre o Python e o C++ ambos com a possibilidade de recurso às bibliotecas de OpenCv (Open Source Computer Vision), optou-se pela utilização do C++ pela sua capacidade de otimização e rapidez que julgamos de muita importância em ambientes biométricos.

1.2.2. Interpretação do Artigo

O artigo [1] propõe uma melhoria ao método tradicional de reconhecimento de impressões digitais. Classicamente a comparação é efetuada através das minucias extraídas, aqui é proposta uma análise de modelo polinomial para aproximação dos mapas de densidade. Assim é proposto que a conjunção do uso de minucias com o mapa de densidade originará um aumento de eficácia no reconhecimento das impressões digitais.

Para isso os autores dividem em seis partes (A, B, C, D, E, F) o processo de determinar o mapa de densidade, serão estes métodos apresentados que foram seguidos para a implementação do sistema, nos próximos pontos do relatório é efetuada a análise a cada parte e a forma como foi implementada.

1.3. Opções de Engenharia Adotadas

De forma a se conseguir uma maior definição do trabalho e dos resultados independentes de cada uma das partes explanadas no artigo, estas foram desenvolvidas de forma independente, sendo que sempre que uma necessita como entrada a saída de uma outra, esta passagem é efetuada com uma leitura da imagem resultante previamente gravada em disco pelo método anterior.

O desenvolvimento foi efetuado em ambiente Linux (Distro Ubuntu 12.04) com a edição do código fonte efetuado com recurso ao geany, foram instaladas as versões 2.3 do OpenCv nos computadores de dois membros do grupo e a versão 2.4 no terceiro. Numa primeira fase, foi atribuída a cada membro o desenvolvimento de cada uma das três primeiras partes, o que deu origem a um interessante acontecimento relacionado com a opção de trabalhar as imagens no OpenCv como imagem Iplmage ou como matriz Mat::cv. Só numa fase de apoio conjunto já num estado avançado de desenvolvimento foi observada a diferença na leitura, tratamento e escrita das imagens fazendo todas uso das bibliotecas do OpenCv mas usando opções metodológicas diferentes. Como se trata da mesma biblioteca, ela própria

(5)

fornece também métodos de transformação dos dados, pelo que não resultou num contratempo, tendo sim dado origem a uma melhor e mais alargada aprendizagem do OpenCv.

2. Resultados

Conforme indicado pelo autor de [1], o trabalho é proposto segundo um diagrama de fluxo que englobas as etapas (Ilustração 1) necessárias para a implementação do modelo computacional baseado em mapas de densidade de impressões digitais.

Ilustração 1 - Diagrama de fluxo do modelo proposto por [1].

2.1. Estimação da região efetiva

Identificação da região efetiva para posterior utilização na correspondência de mapas de densidade. Mais concretamente o resultado final nesta fase será a determinação do que os autores referem como ChainCode. Este corresponde a 16 coordenadas que delimitam a região de interesse da impressão digital da restante imagem.

Fase 1 – Determinação de zonas efetivas

O processo baseia-se na deslocação de uma janela de 16x16 pixéis ao longo da imagem original (Ilustração 2). Em cada interação, é atribuído a pixel da janela o valor 0 (preto) ou 255 (branco) conforme a variância dos pontos da janela estiver abaixo ou acima do limiar pré-estabelecido pelo utilizador. Para o cálculo da variância foi utilizada a função

gsl_stats_int_variance() da biblioteca GSL.

(6)

5

Fase 2 – verificação de continuidade da região efetiva

A Ilustração 3, apresenta uma imagem na fase anterior ao teste de continuidade. Neste caso é possível verificar que a aplicação simples do limitar para a variância não é suficiente para eliminar os pontos de descontinuidade da imagem. Segundo os autores, devem ser tomadas medidas de pós-processamento para garantir que a imagem seja composta por apenas uma zona continua. Como solução é proposto a aplicação de métodos como a dilatação e erosão como solução. A implementação efetuada consiste na aplicação consecutiva da dilatação sempre que a imagem não seja contínua. Um resultado negativo deste processo é o aumento da dimensão da zona efetiva, e que é minimizado com o processo de erosão aplicado segundo a seguinte fórmula:

(1)

A aplicação da fórmula (1) permite manter automático esta parte do processo, simultaneamente limitando os efeitos da dilatação. Nesta fase são aplicadas as funções cvDilate() e cvErode() da biblioteca OpenCV.

Ilustração 3 - Pontos de descontinuidade na região efetiva

Fase 3 – Determinação do centroide

A determinação do ponto central (Ilustração 4) da região efetiva tem por base o exemplo apresentado em [2]. Este exemplo baseia-se na função CvMoments() que realiza o cálculo dos momentos de uma imagem. Desses momentos alguns podem ser usados na determinação do centroide, mais especificamente, os momentos espaciais M00, M10 e M01. O ponto central é obtido segundo (2).

(x,y) = (M10/M00, M01/M00) (2)

(7)

Fase 4 – Cálculo das coordenadas limite (ChainCode)

A determinação das coordenadas limite consiste na identificação dos pontos que estão no limite da região efetiva a cada 22.5º relativamente ao ponto central da imagem. Por conseguinte podem ser determinados 16 ângulos (Ilustração 4), correspondendo cada um a uma coordenada do ChainCode.

O processo adotado consiste em estimar para cada angulo, os pixéis da reta entre o centroide e a coordenada no limite da imagem. Neste processo foram utilizado o sistema de coordenadas polares (3) e (4). A distância

r

é incrementada em cada iteração até que seja verificado o final da região efetiva e determinado o ponto limite.

)) (3) )) (4)

O processo de determinação da região efetiva termina com a identificação das 16 coordenadas limites, que correspondem aos pontos que delimitam a área da Ilustração 5.

Ilustração 5 - Região efetiva

ChainCode correspondente aos pontos da Ilustração 5:

(428,256) (428,332) (396,407) (338,480) (245,480) (152,480) (83,418) (67,330) (67,256) (99,196) (115,126) (147,20) (245,0) (336,35) (380,121) (412,187)

Divergências/melhorias relativamente à implementação sugerida

 Os autores apenas referem a necessidade de aplicar os processos de dilatação e erosão, deixando ao critério do programador os detalhes da implementação. Na aplicação efetuada, teve prioridade a possibilidade de automatizar o maior número de parâmetros possível. Nos testes efetuados, a dependência criada entre a dilatação e erosão em (1) não teve implicações na eficiência do algoritmo.

Discussão de resultados

(8)

7

Sugestões de melhoria

Utilização da região efetiva nas fases seguintes do artigo e não apenas na fase de correspondência (matching), uma vez que permitirá reduzir o tempo de processamento global.

2.2. Estimar campo de orientação

Determinar a orientação local dos cumes. O método aplicado pelo autor baseia-se na baixa frequência associada à variação dos cumes. O processo seguido pelo autor remete para [3] que descreve uma técnica para a computação do campo de orientação que combina de três métodos:

a) Computação do campo de orientação; b) Extração de pontos singulares; c) Aproximação polinomial bivariada.

Na Ilustração 6 a utilização de a) permite determinar o campo de orientação inicial e que é aplicado à totalidade da impressão digital. Por falta de suavidade das curvas junto aos pontos singulares, é realizada a extração de pontos singulares b) para permitir a aplicação de algoritmos para a melhoria da precisão local da orientação. Por fim é aplicado um modelo polinomial variado para descrever globalmente o campo de orientação c).

Fase 1 – Calculo do campo orientação baseado no filtro de Sobel

Por análise de [3] o processo inicial consiste na utilização uma abordagem baseada no gradiente para a determinação do campo de orientação. O processo utlizado consiste na utilização da função cvSobel() para calculo da derivada da imagem primeira ordem para x e y, com base num kernel de Sobel de dimensão 3.

O resultado obtidos da aplicação do filtro de Sobel:

cvSobel(imgIN,dx,1,0,3); (5) cvSobel(imgIN,dy,0,1,3); (6)

Fase 2 – Estimação do campo de orientação e mapa de força anisotrópica

O processo de estimação do campo de orientação é realizado numa vizinhança de nXn pixels relativamente a cada ponto da imagem original. Para cada pixel da região é determinado o gradiente de x e y com base nos resultados obtidos na fase anterior. A estimação da orientação em cada ponto da imagem é dada pela fórmula:

Ilustração 6 - Resultados intermédio do filtro de Sobel, a) dx b) dy c) adição ponderada das imagens dx e dy (alpha=0.5, beta = 0.5).

(9)

Ilustração 7 - Mapa de orientação (calculado com 5x5 pixels)

Mapa de força anisotrópica

É também nesta fase que os autores propõem a determinação do mapa da força anisotrópica. Estre processo reutiliza parte dos cálculos locais efetuados na determinação da orientação. O cálculo do mapa da força anisotrópica permite obter o grau de confiança da orientação calculada e pode ser obtido por (8).

W(x,y) varia no intervalo de 0 a 1, indicado uma vizinhança de (x,y) idêntica em todas as direções sempre que os valores são mais próximos de 1. O mapa apresentado na Ilustração 8 apresenta várias regiões a preto correspondentes a pontos da Ilustração 7 onde a orientação não é precisa.

Ilustração 8 - Mapa de força anisotrópica

(10)

9 Grelha de amostragem

Para permitir a visualização do mapa da Ilustração 7, foi criada um processo de amostragem do mapa de orientação o qual definido pelo parâmetro “dimensão janela V” (Ilustração 9 e Ilustração 10) que permite definir o intervalo (em

pixéis) para criação de cada pondo de amostra. Cada ponto representa a orientação no ponto (x,y) e permite a

visualização global do mapa de orientação e avaliar o comportamento do algoritmo.

Ilustração 9 - Amostragem com dimensão Ilustração 10 - Amostragem com dimensão 5

Recursos não implementados:

 Em [3], apontado pelo autor para a implementação da estimação do campo de orientação, recorre a cálculos adicionais para melhoria da orientação local, em especial na vizinhança dos pontos singulares. A implementação efetuada e que foi descrita nos pontos anteriores, não inclui as fases de otimização efetuadas pelos autores. O motivo para esta decisão deve-se a ser uma otimização, que apesar da vantagem que possam ter para o restante trabalho, não constitui uma prioridade dado que os resultados obtidos sem otimização não invalidam o restante trabalho. Resultante desta decisão, não foram implementadas as seguintes otimizações b) e c) referidas inicialmente.

Discussão de resultados

 Os resultados estão de acordo como os resultados apresentados pelo autor, apresentando ligeira falta de precisão na determinação na vizinhança de pontos lingulares.

Sugestões de melhoria

 Limitar a área de determinação do mapa de orientação recorrendo à região efetiva, uma vez que permitirá reduzir o tempo de processamento global.

(11)

2.3. Melhoria da Impressão Digital

Para a melhoria (eliminação de ruído e clarificação dos ridges) da impressão digital de forma a que seja mais eficaz a sua leitura para o cálculo do mapa de densidade, os autores do artigo [1] indicam [4] que deve ser utilizado um filtro de

Gabor1 em convulsão com a imagem, e ao resultado obtido aplicado um threshold [5] para segmentação dos ridges. De referir que o filtro de Gabor desenvolvido no código da aplicação teve por base um algoritmo apresentado pela

WiKicker2, e que foi adaptado para as necessidades especificas deste trabalho. Numa fase mais tardia foi descoberto que a partir da versão 3.2 do OpenCv já existe uma função para aplicar o filtro de Gabor pronta a usar “getGaborKernel3”, mas não documentada ainda nos manuais oficiais da biblioteca, pelo que se manteve a nossa versão em funcionamento depois de alguns testes frustrados à função existente no OpenCv.

Ilustração 11 - Impressão Digital após a Melhoria

2.4. Estimar o mapa de densidade

Aplicação da abordagem espacial para determinação da distância entre cumes. O autor opta por esta abordagem, uma vez que este processo tem um desempenho aceitável após aplicação de um processo de pós-processamento de suavização da imagem aliado a um baixo custo computacional. O processo tem por base um dos métodos apresentado por [6] e divide-se em duas fases:

a) Binarização da imagem melhorada (pela aplicação do filtro de Gabor); b) Determinação da distância entre cumes consecutivos.

Fase 1 – Binarização

O processo de binarização da imagem utilizado consistiu na aplicação da função cvThreshold() com limiar de 150.

Fase 2 – Cálculo da distância entre cumes

O processo utilizado para determinar a distância entre cumes consiste na análise da imagem em segmentos de 32x32

pixels. Para cada segmento é determinado a orientação P local com base no campo de orientação determinado

anteriormente. A orientação local P permite efetuar o alinhamento do segmento em análise com o eixo yy (Ilustração 12 e Ilustração 13), o que simplifica o processo de cálculo da distância entre cumes, ou seja, a distância entre os pontos A e B na Ilustração 12.

1 http://en.wikipedia.org/wiki/Gabor_filter

(12)

11

Ilustração 12 - Imagem (após aplicação do filtro Gabor) com segmento alinhado com eixo yy

Ilustração 13 - Cumes após alinhamento

Após o alinhamento do segmento, é realizado uma pesquisa com início no ponto central do segmento na coordenada (16,16). A pesquisa é realizada para os pixéis à esquerda e direita do ponto inicial (PI) conforme o esquema (Ilustração 14).

Ilustração 14 - Esquema de Pesquisa

Após percorrer o segmento ao longo do eixo xx, é possível determinar os pontos extremos os cumes A e B e por conseguinte determinar os pontos intermédios a3 e b3 e assim determinar a distância entre ambos. O calculo da distancia, uma vez determinados os pontos a1, a2, b1 e b2 é dado por (9):

)

)

(9)

Caso o ponto inicial PI, coincida com um cume, o algoritmo efetua o reposicionamento do ponto inicial no vale seguinte.

Por fim, o mapa de densidade é determinado com base na distância entre os cumes. As zonas escuras correspondem a uma menor densidade de cumes.

(13)

Ilustração 15 - Mapa de densidade

Recursos não implementados

 Na abordagem [6], o processo geométrico recorre a um processo de determinação de orientação dos cumes. Na implementação proposta, o processo segue as indicações [1] e reutiliza o campo de orientação.

 A implementação de [6] inclui um conjunto de cálculos iniciais aplicados à imagem em níveis de cinzento, que difere da implementação sugerida por Dingrui Wan e Jie Zhou. Neste caso, o processo tem início na imagem resultante do processo de melhoria da impressão digital.

Discussão de resultados

 O processo de determinação da distância utilizado recorre ao cálculo da distância entre dois cumes parte do princípio que a dimensão do segmento (neste exemplo 32x32) é suficiente para incluir 2 ou mais cumes e assim garantir o cálculo da distância.

 A presença de ruid3o ou descontinuidades na imagem da impressão digital pode resultar no cálculo errado da distância entre cumes (ex: inexistência de um par de cumes no segmento em analise). Esta situação também pode ocorrer quando a dimensão do segmento não apresenta dimensão suficiente para incluir dois ou mais cumes.

2.5. Modelação do mapa de densidade (aproximação polinomial)

Modelação do mapa original de densidade segundo um polinómio bivariado.

Discussão de resultados

Não foi possível concluir esta etapa à data da entrega do trabalho.

2.6. Correspondência dos dois mapas de densidade

Comparação dos dois mapas de densidade com base nos parâmetros polinomiais. O processo inclui o alinhamento das impressões digitais recorrendo a algoritmos convencionais. No caso em concreto, a abordagem escolhida pelo autor é a transformada de Hough para a finalização do alinhamento.

O processo de comparação é realizado na correlação entre os dois mapas de densidade alinhados, após o qual é calculada a interceção das regiões efetivas. O resultado a obter é o número de pontos resultantes da interceção e que será utilizado para determinar a pontuação da correspondência (matching score).

(14)

13

Discussão de resultados

Esta etapa não foi implementada.

2.7.Resumo

A seguinte imagem ilustra os resultados finais obtidos em cada etapa do trabalho

Imagem Original A- Região Efetiva

(ChainCode) B- Campo de Orientação

C- Mapa de Força Anisotrópica D- Melhoria de Imagem (Gabor) E- Mapa de Densidade

Ilustração 16 - Resultados Finais em Sequencia de Imagens

3. Conclusões

A primeira conclusão que se tira deste trabalho é a de que analisar um artigo obriga à análise de um outro sem número de artigos referenciados por este, pelo que, ao contrário do esperado a análise efetuada a um artigo obrigou à análise de mais de 5 artigos.

Não foi possível efetuar em tempo útil a junção automática de todos os módulos criados, mas ficou patente a facilidade de interligação entre os mesmos, sendo que como em cada modulo o input e output é efetuado de uma e para uma imagem .pgm estes são facilmente aplicados em outras aplicações que deles necessitem.

(15)

A maior dificuldade encontrada no processo de desenvolvimento do trabalho, prende-se com a ausência de detalhe matemático no artigo analisado, em especial nas fases anteriores à correspondência (pré-matching), pelo que foi necessário o consumo extra de tempo na pesquisa das mesmas.

4. Referências

[1] D. Wan e J. Zhou, “Fingerprint Recognition Using Model-Based Density Map,” IEEE TRANSACTIONS ON IMAGE

PROCESSING, p. Vol. 15 no 6, Junho 2006.

[2] “Stackoverflow - Centroid,” [Online]. Available: http://stackoverflow.com/questions/8143414/centroid-of-contour-object-in-opencv-in-c. [Acedido em Maio 2012].

[3] J. Zhou e J. Gu, “A model-based method for the computation of fingerprints’ orientation field,” IEEE Trans. Image

Process, Vols. %1 de %2vol. 13, no. 6, p. 821–835, Jun-2004.

[4] A. Jain, H. Lin e R. Bolle, “On-Line Fingerprint Verification,” IEEE TRANSACTIONS ON PATTERN ANALYSIS

AND MACHINE INTELLIGENCE, pp. VOL. 19, NO. 4, Abril 1997.

[5] L. Hong, Y. Wan e A. Jain, “Fingerprint Image Enhancement: Algorithm and Performance Evaluation,” IEEE

TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, pp. VOL. 20, NO. 8, Agosto 1998.

[6] Z. M. Kovacs-Vajna, R. Rovatti e R. Frazzoni, “Fingerprint ridge distance computation methodologies,” attern

Referências

Documentos relacionados

A sociedade local, informada dos acontecimentos relacionados à preservação do seu patrimônio e inteiramente mobilizada, atuou de forma organizada, expondo ao poder local e ao

Todas as outras estações registaram valores muito abaixo dos registados no Instituto Geofísico de Coimbra e de Paços de Ferreira e a totalidade dos registos

Estudos sobre privação de sono sugerem que neurônios da área pré-óptica lateral e do núcleo pré-óptico lateral se- jam também responsáveis pelos mecanismos que regulam o

Finally,  we  can  conclude  several  findings  from  our  research.  First,  productivity  is  the  most  important  determinant  for  internationalization  that 

Entende-se que os objetivos desta pesquisa foram alcançados, uma vez que a medida de polaridade conseguiu captar espaços com maiores potenciais de copresença (espaços

Este estudo tem o intuito de apresentar resultados de um inquérito epidemiológico sobre o traumatismo dento- alveolar em crianças e adolescentes de uma Organização Não

Sabe-se que a produtividade e a satisfação dos colaboradores esta ligada a sua qualificação profissional e treinamentos recebidos no ambiente de trabalho ou em cursos apoiados

F I G U R E 1   Schematic representation of the experiment undertaken to test different routes of oestradiol benzoate administration for cervical dilation prior to