DETECÇÃO AUTOMÁTICA DE IMPRESSÕES DIGITAIS



Documentos relacionados
SEGMENTAÇÃO DE IMAGENS EM PLACAS AUTOMOTIVAS

CorelDRAW UM PROGRAMA DE DESIGN

Filtragem Espacial. (Processamento Digital de Imagens) 1 / 41

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

Organização e Arquitetura de Computadores I

3 Classificação Resumo do algoritmo proposto

4 Segmentação Algoritmo proposto

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

SUMÁRIO 1. AULA 6 ENDEREÇAMENTO IP:... 2

Figura 01: Aplicações do Filtro Espacial Passa-Baixa.

Sistema de Autorização Unimed

Trabalho 2 Fundamentos de computação Gráfica

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Protocolo em Rampa Manual de Referência Rápida

Gerencie a sala de espera e garanta a satisfação dos pacientes

Guia Rápido. Copyright Todos os direitos reservados.

29/08/2011. Radiologia Digital. Princípios Físicos da Imagem Digital 1. Mapeamento não-linear. Unidade de Aprendizagem Radiológica

Universidade Federal de Goiás Instituto de Informática Processamento Digital de Imagens

SAJ. Cadastro Excepcional para Processos Digitais

2.1.2 Definição Matemática de Imagem

Introdução. Capítulo. 1.1 Considerações Iniciais

Controle do Arquivo Técnico

PROCESSAMENTO DIGITAL DE IMAGENS

Processo de Controle das Reposições da loja

Módulo 4. Construindo uma solução OLAP

FACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>

Manual do Visualizador NF e KEY BEST

UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Atividade: matrizes e imagens digitais

Pesquisa e organização de informação

RECONHECIMENTO DE PLACAS DE AUTOMÓVEIS ATRAVÉS DE CÂMERAS IP

Manual de Instalação... 2 RECURSOS DESTE RELÓGIO REGISTRANDO O ACESSO Acesso através de cartão de código de barras:...

UNIVERSIDADE DE SÃO PAULO. Faculdade de Arquitetura e Urbanismo

Guia de qualidade de cores

ISO/IEC 12207: Gerência de Configuração

Introdução aos critérios de consulta. Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em

Manual Do Usuário Processo Aditivo de Prazo

Normalização do sistema de bloqueio conforme a NR 10

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Image Enable: conceito

PARA A CONSTRUÇÃO DOS GRÁFICOS

DATA WAREHOUSE. Introdução

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

ARQUITETURA DE COMPUTADORES - CONCEITUAL

Processamento de histogramas

Astra. Introdução e conceitos básicos do sistema

GUIA DE REDAÇÃO PARA TRABALHO DE EM974

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

Modelo Cascata ou Clássico

Qual é o risco real do Private Equity?

Ajuda On-line - Sistema de Portaria. Versão 4.8.J

Receber intimações: poderão receber intimações em processos eletrônicos nos quais estejam vinculados.

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

Filtragem. pixel. perfil de linha. Coluna de pixels. Imagem. Linha. Primeiro pixel na linha

4 Avaliação Experimental

Universidade Federal do Rio de Janeiro - IM/DCC & NCE

2. Representação Numérica

ADM041 / EPR806 Sistemas de Informação

Volte ao Menu Principal e escolha a opção Acesso Manual

UFGD FCA PROF. OMAR DANIEL BLOCO 6 CLASSIFICAÇÃO DE IMAGENS

Caso já seja usuário do SCAW siga as instruções a partir da página X.

APLICAÇÕES DA DERIVADA

Guia Site Empresarial

Procedimento de anexação de peças e envio

1. NÍVEL CONVENCIONAL DE MÁQUINA

Pesquisa com Professores de Escolas e com Alunos da Graduação em Matemática

CAPÍTULO 5 CONCLUSÕES, RECOMENDAÇÕES E LIMITAÇÕES. 1. Conclusões e Recomendações

Colorindo com Números Representação de Imagens

Manual do Publicador. Wordpress FATEA Sistema de Gerenciamento de Conteúdo Web

Operações Algébricas e Lógicas. Guillermo Cámara-Chávez

Livro Caixa. Copyright ControleNaNet

Thales Trigo. Formatos de arquivos digitais

Implantação. Prof. Eduardo H. S. Oliveira

Histórico da Revisão. Data Versão Descrição Autor

NOVIDADES TRANSPORTE COLETIVO

Manual de Relação de Pontos por Indicação

Recursos. Um recurso é ou um dispositivo físico (dedicado) do hardware, ou Solicitar o recurso: esperar pelo recurso, até obtê-lo.

Sphinx Scanner Informações gerais V

QFD: Quality Function Deployment QFD: CASA DA QUALIDADE - PASSO A PASSO

Sistema de Gestão de Freqüência. Manual do Usuário

UM ESTUDO SOBRE A BIOMETRIA A STUDY ON BIOMETRICS

Status. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

Feature-Driven Development

Gerenciamento de software como ativo de automação industrial

Setores Trilhas. Espaço entre setores Espaço entre trilhas

MANUAL PAPELETA MOTORISTA Criado em: 15/02/2013 Atualizado em: 12/11/2014

agility made possible

Disciplina: Unidade III: Prof.: Período:

Fundamentos de Teste de Software

Dadas a base e a altura de um triangulo, determinar sua área.

TÉCNICAS DE PROGRAMAÇÃO

Regulamento Complementar do Trabalho de Conclusão de Curso do Curso de Engenharia de Computação UTFPR, campus Pato Branco

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

6. Geometria, Primitivas e Transformações 3D

Segmentação de Imagens de Placas Automotivas

Transcrição:

UNIVERSIDADE DO ESTADO DE SANTA CATARINA BACHARELADO EM CIÊNCIA DA COMPUTAÇÃO Maiquel Bandeira Fiorentin DETECÇÃO AUTOMÁTICA DE IMPRESSÕES DIGITAIS Trabalho de conclusão de curso submetido à Universidade do Estado de Santa Catarina como parte dos requisitos para a obtenção do grau de Bacharel em Ciência da Computação. Alexandre Gonçalves Silva Orientador Joinville, Novembro de 2006

DETECÇÃO AUTOMÁTICA DE IMPRESSÕES DIGITAIS Maiquel Bandeira Fiorentin Este Trabalho de Conclusão de Curso foi julgado adequado para a obtenção do título de Bacharel em Ciência da Computação e aprovado em sua forma final pelo Curso de Ciência da Computação Integral do CCT/UDESC. Banca Examinadora Alexandre Gonçalves Silva, M. Sc. (Orientador) Carlos Norberto Vetorazzi Jr., M. Sc. Marcelo da Silva Hounsell, PhD. Roberto Silvio Ubertino Rosso Jr., PhD.

RESUMO Este TCC explora o emprego de um sistema biométrico para realizar a identificação de pessoas. Uma utilização da biometria consiste na identificação de indivíduos, através de suas características físicas que são únicas. O método utilizado é a datiloscopia, que se baseia na análise de amostras de impressões digitais. Conceitos teóricos importantes sobre sistemas biométricos são vistos para auxiliar o entendimento do processo como um todo. Várias ferramentas de processamento digital de imagens são apresentadas, com o intuito de encontrar um conjunto que apresente resultados satisfatórios para o reconhecimento dos padrões existentes em diferentes amostras de impressões digitais. Para as ferramentas pesquisadas são feitos testes com diferentes parâmetros identificando resultados aceitáveis ao contexto do trabalho. O assunto pertinente a este trabalho está inserido no campo de processamento de imagens digitais, sendo que a impressão digital é submetida a várias etapas de processamento até chegar na etapa de comparação, para decidir se as impressões são ou não do mesmo indivíduo. Os métodos utilizados serão descritos no decorrer da monografia. Palavras-chave: biometria, impressão digital, datiloscopia, processamento de imagens.

ABSTRACT This work explores a biometric system for identifying people. The biometry consists on identification of people through their unique physical characteristics. The used method is the dactyloscopy that is based on fingerprint sample analysis. Important theoretical concepts of biometric systems are used to assist the learning of all process. Some tools of digital image processing are presented. The aim is to find a tool set with satisfactory results for the pattern recognition considering different samples of fingerprints. Tests are done with different parameters in the researched tools for identifying acceptable results in the work context. The pertinent subject of this work is in the digital image processing field. The fingerprint is submitted to several processing stages until the comparison phase, and it decides if the images are or not are of same person. The used methods will be described in this monograph. Keywords: biometry, fingerprint, dactyloscopy, image processing.

LISTA DE FIGURAS Figura 2.1 Taxas de erros de sistemas biométricos... 8 Figura 3.1 Os quatro tipos principais de Juan Vucetich... 16 Figura 3.2 Aspectos básicos de minúcias... 17 Figura 3.3 Aspectos compostos de minúcias.... 17 Figura 3.4 - Etapas de um AFIS... 19 Figura 4.1 Visão ampliada de uma imagem.... 21 Figura 4.2 Principais passos de um sistema de processamento de imagens.. 22 Figura 4.3 Visão geral do sistema.... 23 Figura 4.4 Resultado da aplicação do negativo.... 25 Figura 4.5 Resultado da normalização.... 26 Figura 4.6 Exemplos de histogramas... 28 Figura 4.7 Resultado da normalização de uma imagem.... 29 Figura 4.8 Filtragem no domínio espacial.... 31 Figura 4.9 Aplicação do filtro da mediana... 32 Figura 4.10 Método k-vizinhos mais próximos.... 33 Figura 4.11 Exemplos de máscaras h(x, y)... 34 Figura 4.12 Máscara 3x3 genérica... 34 Figura 4.13 Filtro passa-baixas 3x3.... 36 Figura 4.14 Filtragem passa-baixas.... 36 Figura 4.15 Filtro passa-altas 3x3.... 37 Figura 4.16 Máscara do filtro de Gabor... 38 Figura 4.17 Filtro de Gabor... 39 Figura 4.18 Filtro de Gabor no domínio da freqüência.... 40 Figura 4.19 Resultado da limiarização... 43 Figura 4.20 Eixo médio de três regiões.... 46 Figura 4.21 Imagem após esqueletização.... 47 Figura 4.22 Máscara utilizada para o cálculo do Crossing Number.... 48 Figura 4.23 Processo de dilatação... 50 Figura 4.24 Processo de casamento das impressões digitais... 51 Figura 4.25 Processo de triangulação.... 53 Figura 5.1 Leitor de impressões digitais utilizado.... 55 Figura 5.2 Imagem adquirida pelo leitor.... 56 Figura 5.3 Resultado da remoção de pequenos componentes.... 58 Figura 5.4 Abertura.... 59 Figura 5.5 Fechamento.... 59 Figura 5.6 Processo Molde adaptativo.... 60 Figura 5.7 Resultado da esqueletização.... 61 Figura 5.8 Máscara do afinamento morfológico.... 62 Figura 5.9 Resultado do afinamento morfológico.... 62 Figura 5.10 Máscara da poda.... 63 Figura 5.11 Resultado da poda... 63 Figura 5.12 Resultado da extração de minúcias... 64 Figura 5.13 Remoção por densidade... 65

Figura 5.14 Lei dos cossenos.... 67 Figura 5.15 Arquivo gerado pelo processo de triangulação... 67 vi

LISTA DE TABELAS Tabela 3.1 Distribuição média de minúcias nas impressões digitais... 18 Tabela 4.1 Definição do tipo de minúcia.... 48

SUMÁRIO RESUMO...iii ABSTRACT... iv LISTA DE FIGURAS... v LISTA DE TABELAS...vii SUMÁRIO... 1 1 INTRODUÇÃO... 3 2 SISTEMAS BIOMÉTRICOS... 6 2.1 Medida de desempenho de um sistema biométrico... 7 2.2 Tipos de sistemas biométricos... 9 3 DATILOSCOPIA... 11 3.1 História da datiloscopia... 11 3.2 Princípios da datiloscopia... 13 3.3 Classificação dos componentes de uma impressão digital... 14 3.4 Minúcias ou Detalhes de Galton... 16 3.5 Tecnologia AFIS... 18 4 PROCESSAMENTO DE IMPRESSÕES DIGITAIS... 21 4.1 Aquisição de imagens... 23 4.2 Pré-processamento... 24 4.2.1 Processamento ponto-a-ponto... 25 4.2.1.1 Negativos de imagens... 25 4.2.1.2 Normalização... 26 4.2.1.3 Equalização de histograma... 28 4.2.2 Filtragem no domínio espacial... 30 4.2.2.1 Filtragem por mediana... 31 4.2.2.2 Filtragem por k-vizinhos mais próximos... 32 4.2.2.3 Convolução... 33 4.2.2.4 Filtragem passa-baixas... 35 4.2.2.5 Filtragem passa-altas... 37 4.2.2.6 Filtro de Gabor... 37 4.2.3 Filtragem no domínio da freqüência... 40 4.2.3.1 Transformada de Fourier... 40 4.2.3.2 Teorema da Convolução... 41 4.3 Segmentação... 42 4.3.1 Limiarização ou Threshold... 43 4.3.2 Limiarização Niblack... 44 4.4 Representação e Descrição... 45 4.4.1 Esqueletização... 46 4.4.2 Extração de características... 47 4.5 Reconhecimento e Interpretação... 49 4.5.1 Reconhecimento baseado em dilatação morfológica... 49 4.5.2 Reconhecimento baseado em triangulações... 52 5 ALGORITMOS DESENVOLVIDOS... 55 5.1 Hardware utilizado... 55 5.2 Resultados do filtro de Gabor... 56

5.3 Resultados da limiarização Niblack... 57 5.4 Remoção de pequenos componentes... 58 5.5 Molde adaptativo... 58 5.6 Afinamento Morfológico... 61 5.6.1 Poda... 63 5.7 Extração de minúcias... 64 5.8 Eliminação de falhas em impressões digitais... 65 5.9 Triangulações... 66 5.10 Comparação... 68 6 CONCLUSÃO... 70 7 REFERÊNCIAS... 73 ANEXO A Resultados do filtro de Gabor... 78 ANEXO B Resultados da limiarização Niblack... 80 ANEXO C Resultado da extração de minúcias... 82 ANEXO D Tempo de execução... 85 ANEXO E Plano de TCC... 86 2

1 INTRODUÇÃO Existe uma forte preocupação com mecanismos que garantam que somente usuários autorizados façam acessos a determinados serviços. Este fator leva à busca de soluções que assegurem que os recursos disponíveis sejam utilizados apenas por pessoas autorizadas para esse fim. Diversas soluções mostram-se interessantes, todas com a intenção de garantir que a pessoa que está se identificando ao sistema realmente é quem diz ser. Uma possível alternativa para este fim, seria utilizar como forma de autenticação algum mecanismo que revele características únicas de cada pessoa. Desta maneira, a utilização de alguma parte do próprio corpo humano como uma forma de senha mostra-se muito interessante, pois não exige esforço de memorização. Soluções biométricas consistem em autenticações desta natureza. Conceitualmente, biometria é a medida de características únicas do indivíduo que podem ser utilizadas para reconhecer sua identidade (LIU & SILVERMAN, 2001). Este conceito pode ser aplicado à identificação de pessoas, sendo que os padrões físicos ou comportamentais dos indivíduos tornam-se seus métodos particulares de autenticação. O objetivo geral deste trabalho é estudar algoritmos de processamento de imagens dirigidos à verificação de impressões digitais, com o intuito de identificar um conjunto de métodos satisfatórios para uma aplicação biométrica da datiloscopia. A motivação principal para esse trabalho foi a de aumentar a segurança no processo de autenticação de usuários. O emprego de um sistema biométrico para este fim, garante que a pessoa que está presente no ato do empréstimo tem realmente permissões para utilizar o sistema, não sendo possível uma pessoa

4 passar a sua permissão a outra, pois a autenticação da mesma se dará através de características presentes no corpo dela, neste caso, a impressão digital. Existem outras vantagens de se utilizar este sistema, por exemplo, não há necessidade de o usuário memorizar uma senha, já que seu código de acesso será encontrado pela disposição particular de sua impressão digital, atenuando qualquer inconveniente decorrente do esquecimento da mesma. É importante salientar que o desenvolvimento do sistema biométrico, tem foco principal nas atividades de processamento de imagens de impressões digitais, sem preocupações maiores com o armazenamento das mesmas em um banco de dados e/ou com o sistema de aquisição através de um leitor de impressões digitais. Para os testes pode-se considerar uma base de impressões digitais de teste, ou seja, previamente existente em meio digital. Os objetivos específicos para este trabalho são: apresentar motivações para a utilização de sistemas biométricos; introduzir conceitos sobre sistemas biométricos bem como os diferentes tipos; aprender sobre técnicas de datiloscopia computacional; definir etapas e ferramentas do processamento das imagens; implementar algoritmos escolhidos e realizar os devidos ajustes; testar e avaliar o resultado. Na seqüência do trabalho existem mais quatro capítulos, com toda a fundamentação teórica e prática. No segundo são introduzidos alguns conceitos de sistemas biométricos, são apresentados alguns tipos principais e são diferenciados os tipos de sistemas de verificação e de identificação. No terceiro capítulo é aprofundado o método biométrico utilizado neste trabalho, ou seja, a datiloscopia. É apresentado um histórico deste método,

5 mostrados os princípios da técnica datiloscópica, são apresentadas também, as características que tornam as impressões digitais únicas e é mostrada a estrutura de um sistema automático de identificação de impressões digitais. No quarto capítulo, primeiramente são definidos os principais passos envolvidos em um sistema de processamento de imagens. Após isso são apresentados os fundamentos teóricos de cada etapa que compõe o processamento de imagens, tais como pré-processamento, que tem o objetivo de melhorar a qualidade da imagem inicialmente adquirida, segmentação, que separa a imagem em áreas de interesse e representação e descrição, que deixa as informações prontas para fazer a sua análise. Ao final deste capítulo, também é proposta uma metodologia para realizar a verificação das impressões digitais concluindo com a etapa de reconhecimento e interpretação. O quinto capítulo apresenta os algoritmos desenvolvidos e os resultados obtidos a partir da realização de testes. São mostradas também, as soluções encontradas para problemas que foram identificados apenas na etapa final de implementação. No sexto, e último capítulo, são feitas as conclusões sobre todas as atividades desenvolvidas no TCC.

2 SISTEMAS BIOMÉTRICOS Neste capítulo são apresentados os conceitos sobre sistemas biométricos, buscando ressaltar os tipos de características que podem ser levadas em consideração, o comportamento do sistema quanto a sua execução e os tipos de erros que podem influenciar no desempenho do sistema. Também são apresentados os principais tipos de identificação existentes que usam biometria. Em especial, entende-se por biometria a medida de características únicas do indivíduo que podem ser utilizadas para reconhecer sua identidade (LIU & SILVERMAN, 2001). Biometria é o ramo da ciência que estuda a mensuração dos seres vivos (FERREIRA, 2004). Em termos tecnológicos, refere-se à identificação automatizada de um indivíduo em particular, baseado em suas características físicas ou comportamentais (GUMZ, 2002). As características comportamentais são reflexos de atitudes psicológicas do indivíduo, sendo que fatores biológicos ou químicos também podem influenciar. Estas incluem assinatura manuscrita, reconhecimento de voz, a forma como se digita nos teclados, entre outras. As características físicas, por outro lado, estão presentes no corpo humano e são basicamente imutáveis. Estas incluem análise da geometria da mão, reconhecimento de impressões digitais, reconhecimento da íris, padrão dos vasos sangüíneos do fundo dos olhos, entre outras. Vale ressaltar que as características físicas têm um grau de variação menor. Com exceção de algum ferimento no dedo, as impressões digitais serão sempre iguais ao longo da vida. Já uma assinatura é influenciada tanto por fatores fisicamente controláveis, quanto por fatores emocionais. Isso quer dizer que o sistema biométrico baseado em características comportamentais terá um

7 grande trabalho para ajustar as variações adquiridas no decorrer dos anos, necessitando ser reajustado com grande freqüência. Um dos principais usos destes sistemas está em aplicações policiais como forma de identificar o suspeito de um crime. Entretanto, não é só no âmbito policial que a biometria está inserida. Nos dias de hoje percebe-se uma grande preocupação com a correta identificação das pessoas a fim de evitar fraudes. O computador tem um papel importante neste sentido, colaborando na agilização e precisão deste processo. Os sistemas automáticos baseados em características biométricas podem ser classificados quanto à forma como ele se comporta, podendo ser um-paraum ou um-para-muitos (SUCUPIRA, 2004). Um sistema um-para-um compara a informação biométrica apresentada com uma informação que o sistema tem referente a um indivíduo específico. Neste caso o sistema decide se tem um casamento entre as amostras disponíveis. Por exemplo, um sistema desse tipo pode funcionar solicitando primeiramente um código de acesso, ou alguma informação que identifique o usuário no sistema, e após, solicitar a informação biométrica como forma de confirmação da identidade. Este método também é conhecido como um sistema de verificação. Já um sistema um-para-muitos busca em toda sua base de dados algum registro que faça um casamento com a informação biométrica de entrada. Neste caso o processamento é bem mais custoso, visto que o sistema deverá encontrar o usuário em seu cadastro. Este tipo de sistema é conhecido como sistema de identificação. 2.1 Medida de desempenho de um sistema biométrico A leitura de amostras biométricas não é uma atividade que leva à perfeita exatidão dos dados, ou à extração de características perfeitamente precisas. Vários fatores podem influenciar na leitura destas amostras, tais como o estado

8 físico ou emocional da pessoa, para características comportamentais, e fatores externos como a temperatura e a umidade. Desta forma, existem duas estimativas de erros de autenticação para os sistemas biométricos, erros tipo I e erros tipo II (SUCUPIRA, 2004). O erro tipo I ou também conhecido como Erro de Falsa Aceitação ocorre quando o sistema aceita um dado biométrico que na realidade deveria ser recusado, liberando acesso a uma pessoa não autorizada. Já o erro tipo II, também chamado de Erro de Falsa Rejeição, ocorre quando o sistema recusa uma amostra biométrica que deveria ser aceita, rejeitando um usuário com permissão no sistema. O ideal seria reduzi-los a zero, pois quanto menor o valor destes erros mais confiável o sistema. Porém na figura 2.1 percebe-se que à medida que a taxa de erros do tipo I é reduzida, os erros tipo II são elevados proporcionalmente, não sendo possível a eliminação de qualquer um deles. A linha pontilhada representa o equilíbrio entre as duas taxas. (KAZIENKO, 2003) (KAZIENKO, 2003) Figura 2.1 Taxas de erros de sistemas biométricos. Essas taxas podem ser ajustadas de acordo com o nível de segurança desejado ao sistema. Por exemplo, se for desejável que o sistema tenha alta proteção quanto ao acesso de pessoas não autorizadas pode-se baixar a taxa de falsa aceitação para zero. Entretanto, com isso os usuários do sistema poderão ter maior dificuldade para utilizá-lo, visto que a taxa de falsa rejeição aumenta,

9 sendo possível que o usuário tenha que tentar o acesso por várias vezes até ser aceito. 2.2 Tipos de sistemas biométricos A seguir são apresentados alguns tipos de sistemas que se baseiam em características biométricas para autenticação pessoal (KAZIENKO, 2003): Assinatura manuscrita: esses sistemas fazem uma análise de como a pessoa escreve seu nome. Características como velocidade, pressão e formato final da assinatura. Este método não necessita que o usuário tenha que entrar em contato diretamente com o sistema. Face: é utilizado com a intenção de separar uma pessoa de um público. Requer uma câmera para leitura e leva em consideração as curvas do rosto de uma pessoa, além de aspectos geométricos como a distância entre os dois olhos e entre a boca e o queixo. Mãos: a maioria dos sistemas biométricos que levam em consideração essas características baseiam-se na da geometria da mão, ou seja, em seu próprio formato. Entretanto existem algumas aplicações que se baseiam no padrão dos vasos sangüíneos das mãos. Íris: levam em consideração as características do anel colorido de tecido que se encontra ao redor da pupila. Existem cerca de 249 pontos de diferenciação em cada íris. Retina: analisa a camada dos vasos sangüíneos, localizada na parte de traz dos olhos. Proporciona alta precisão, no entanto não é muito popular entre os usuários, pois requer contato com os mecanismos de scaneamento da retina. Voz: baseia-se na conversão da voz em texto. Essa técnica possui um grande potencial de crescimento na sua utilização, sendo que não

10 requer nenhum hardware específico a não ser um microfone. Ruídos naturais podem influenciar seu desempenho. Odor: é possível identificar cerca de 30 tipos diferentes de componentes químicos no odor humano que são levados em conta nos algoritmos. É utilizado principalmente em laboratórios. Impressão digital: baseia-se nas características dos desenhos papilares presentes nas pontas dos dedos. É o sistema mais utilizado atualmente e é conhecido também como datiloscopia. Este método será aprofundado no capítulo seguinte, sendo que todo o trabalho é desenvolvido sobre os conceitos desta característica biométrica.

3 DATILOSCOPIA A datiloscopia (do grego daktilos = dedos, skopein = examinar) é uma ciência que se baseia na comparação entre as impressões digitais, impressas em papel ou armazenadas em um banco de dados computacional, com o intuito de identificar uma pessoa. Essa comparação envolve a verificação de pontos característicos, conhecidos como minúcias (KEHDY, 1968). 3.1 História da datiloscopia A seguir é apresentado de forma resumida um histórico da datiloscopia com datas e fatos importantes: Ano 782: as impressões dos dedos eram usadas para firmar acordos. Ano 800: na Índia, as impressões digitais eram usadas pelos analfabetos para legalização de papéis. Ano 1300: os chineses empregavam a impressão digital também nos casos de crime. Ano 1664: Marcelo Malpighi, médico italiano, publicou um trabalho intitulado Epístola sobre o órgão do tato, o qual estuda os desenhos digitais e palmares. Ano 1788: uma descrição detalhada da formatação anatômica das impressões digitais foi feita por Mayer, onde foram definidas características das cristas. Ano 1823: João Evangelista Purkinje apresentou à Universidade de Breslau Alemanha, uma tese na qual analisou os caracteres externos da

12 pele, estudou o sistema déltico e agrupou os desenhos digitais em nove categorias. Ano 1888: Francis Galton afim de estabelecer um sistema de identificação mais seguro que a antropometria, lança as bases científicas da impressão digital. Ano 1891: Juan Vucetich apresentou seu sistema de identificação com o nome de Icnofalangometria. Ano 1894: Dr. Francisco Latzina sugere que o nome Icnofalangometria fosse substituído por Datiloscopia. Ano 1900: Edward Richard Henry, publicou na Inglaterra, seu livro Classification and Uses of Fingerprints expondo seu novo sistema de identificação datiloscópico, adotando 4 tipos fundamentais: arcos, presilhas, verticilos e compostos. Ano 1901: o sistema datiloscópico de Henry foi adotado oficialmente na Inglaterra pela Scotland Yard. Ano 1903: foi regulamentada a Lei 947, pelo decreto n 4764, instituindo o sistema datiloscópico Vucetich, no Rio de Janeiro. Ano 1904: expedida a primeira carteira de identidade, então denominada Ficha Passaporte ou Cartão de Identidade, ainda usando assinalamentos antropométricos junto a datiloscopia. Ano 1963: inaugurado em Brasília, o instituto Nacional de Identificação, com o objetivo fundamental de centralizar a identificação criminal no país. Ano 1998: o Instituto de Identificação do Estado de São Paulo possui um acervo de aproximadamente 40.000.000 prontuários e expede diariamente, em média 15.000 cédulas de identidade e 300 atestados de antecedentes criminais.

13 Desta forma é possível verificar a evolução do processo de identificação através de impressões digitais. Além disso, percebe-se que com os vários estudos realizados nesta área e com a adoção desta abordagem, por entidades reconhecidamente respeitáveis, nota-se a importância dada ao tema e sugere um sentimento grande de confiança no método. Esta percepção é fundamentada por conceitos que serão vistos na seqüência deste capítulo. 3.2 Princípios da datiloscopia A datiloscopia pode ser dividida em civil, criminal e clínica (GUMZ, 2002), sendo que a civil é utilizada para autenticar uma pessoa para ter acesso a recursos restritos como documentos de identidade, carteira profissional, etc. A criminal é utilizada para identificar um suspeito que tenha deixado as marcas de suas impressões digitais na cena de um crime. Já a clínica estuda as perturbações nas impressões digitais causadas por doenças. Algumas características físicas pessoais como as impressões digitais, impressões palmares, face, retina e outras, podem ser usadas como características biométricas, desde que respeitem as condições a seguir (HONG, 1998): Universalidade: todas as pessoas devem possuir as características escolhidas. Unicidade (variabilidade): indica que duas pessoas não possuem as mesmas características, ou seja, cada pessoa tem suas características próprias. Permanência (imutabilidade): as características não podem ser modificadas, ou seja, não se alteram no decorrer do tempo. Critério quantitativo: indica que as características podem ser medidas quantitativamente.

14 Analisando a datiloscopia, temos que, quase a totalidade dos indivíduos possui impressões digitais, portanto é uma característica universal. As impressões digitais são únicas, diferentes de dedo para dedo e de pessoa para pessoa, assim, não é possível encontrar dois indivíduos com desenhos das impressões digitais iguais. O desenho digital é formado aproximadamente ao 6º mês de gestação e permanece até após a morte antes da etapa de putrefação. Todas essas características podem ser medidas e encontrando 12 pontos característicos iguais, independentemente do tipo de minúcia adotada, é possível fazer a identificação de uma pessoa (XIAO, 1991), o que satisfaz o critério quantitativo. Assim, as impressões digitais podem ser utilizadas como informações biométricas, visto que satisfazem aos quatro requisitos citados anteriormente, salvo raros casos em que há modificação física da impressão digital por fatores externos. 3.3 Classificação dos componentes de uma impressão digital Baseando-se nos estudos realizados por Galton (1892), que tinha classificado as impressões digitais em quatro grupos, Vucetich (1904) criou e colocou em funcionamento um sistema para identificação de pessoas através de impressões digitais (OLIVEIRA, 2004), com enfoque maior na classificação e arquivamento de impressões dos dez dedos das mãos. A classificação de Galton era baseada no seguinte (RABELLO, 1996): Desenhos formados por linhas arqueadas e mais ou menos paralelas entre si, chamados por ele de arch, ou, arco. Desenhos que apresentam, na parte central, linhas dobradas sobre si mesmas em forma de alça ou presilha. A essas atribuiu o nome de loop, ou, presilha, as quais dividiu em dois tipos, a saber: ulnar ou cubital e radial, conforme as extremidades livres das alças da mão

15 considerada apontassem, respectivamente, para o cúbito ou o rádio do correspondente antebraço. Desenhos compostos por linhas enroladas em espiral ou em círculos concêntricos, aos quais deu o nome de whorl, ou seja, verticilo. A partir da classificação de Galton, Vucetich apenas traduziu arch para arco, loop para presilha e whorl para verticilo. Após isso percebeu que existia um pequeno acidente nas digitais, em forma de triângulo, que o denominou de delta e o incluiu na classificação levando em consideração a presença ou ausência do mesmo. A conceituação de Juan Vucetich para os tipos fundamentais ficou a seguinte (RABELLO, 1996): Arco: Datilograma (imagem da impressão digital) que não possui delta. As linhas que formam a impressão digital atravessam de um lado ao outro, assumindo forma abaulada. Presilha Interna: Apresenta um delta à direita do observador, sendo que as linhas da região do núcleo da impressão digital dirigem-se para a esquerda do observador. Presilha Externa: Apresenta um delta à esquerda do observador, sendo que as linhas da região nuclear dirigem-se para a direita do observador. Verticilo: Tipo datiloscópico que apresenta normalmente dois deltas, um à esquerda e outro à direita do observador. Outro aspecto é que as linhas da região do núcleo da impressão digital ficam encerradas entre as linhas que se prolongam dos deltas. Juan Vucetich também definiu símbolos que caracterizam os tipos de impressões digitais, auxiliando no arquivamento. Os símbolos eram literais ou numéricos, sendo que representavam os tipos Arco (A ou 1), Presilha Interna (I ou 2), Presilha Externa (E ou 3) e Verticilo (V ou 4). Os símbolos literais eram utilizados para identificar as impressões digitais dos polegares, enquanto os símbolos numéricos eram utilizados para representar os outros dedos. Na figura

16 3.1 são apresentados os desenhos de impressões digitais que seguem esta classificação: A 1 I 2 E 3 V 4 Arco Presilha Interna Presilha Externa Verticilo Figura 3.1 Os quatro tipos principais de Juan Vucetich (GUMZ, 2002). Todas as impressões digitais coletadas devem ser classificadas em um dos grupos acima citados. Existe a possibilidade do sistema não conseguir classificar a impressão digital em uma dessas classes, quando isso ocorrer, a imagem é classificada em uma Classe X. Se uma impressão que está sendo verificada pertencer a um grupo diferente da que está no banco de dados, já é condição suficiente para negar a identidade. Não obstante, a coincidência de tipos não quer dizer que as impressões pertencem à mesma pessoa. Como várias impressões digitais podem ser classificadas em um mesmo grupo, existem outros aspectos que também devem ser levados em consideração para uma correta individualização das impressões digitais, a estas características dá-se o nome de minúcias, abordado a seguir. 3.4 Minúcias ou Detalhes de Galton As minúcias, ou também chamadas de detalhes de Galton, são acidentes que se encontram nas cristas papilares como, por exemplo, linhas que terminam abruptamente ou se bifurcam, e têm a finalidade de estabelecer a unicidade das impressões digitais (COSTA, 2001). Cristas papilares são as linhas escuras, as quais devem ser levadas em consideração na comparação, já os sulcos interpapilares são as linhas claras, que separam as cristas papilares (GUMZ, 2002).

17 Segundo Costa (2001), as minúcias podem ser resumidamente classificadas dentro de duas categorias: aspectos básicos e aspectos compostos. Na figura 3.2 encontram-se os dois aspectos básicos das minúcias que são as cristas finais e as cristas bifurcadas. A crista final é definida como um ponto onde a crista termina abruptamente, já a bifurcação é definida como um ponto onde a crista diverge dentro de cristas brancas, ou seja, vales (COSTA, 2001). Figura 3.2 Aspectos básicos de minúcias (COSTA, 2001). A partir destes dois tipos de minúcias são derivados os aspectos compostos, representados na figura 3.3. Os aspectos compostos citados são: ilhas (islands), definidas como duas bifurcações conectadas; ponte (bridge) que é definida como duas ou mais bifurcações conectadas na vizinhança; espora (spur), formada pela combinação de bifurcações e terminações; cristas curtas (short ridge), que são cristas finais pequenas; ponto (dot), que é uma crista final muito pequena; e cruzamento (crossover), composto por duas bifurcações com um caminho conectado (COSTA, 2001). Figura 3.3 Aspectos compostos de minúcias (COSTA,2001). A tabela 3.1 demonstra a distribuição média das minúcias encontradas nas impressões digitais (COSTA, 2001). É importante observar que quando algum aspecto composto de minúcias é contabilizado, o número de terminações e/ou bifurcações não é aumentado. Por exemplo, uma ilha é formada por duas bifurcações, entretanto somente é contabilizada uma minúcia do tipo ilha, sendo que as duas bifurcações decorrentes não são contabilizadas.

18 Tipos de Minúcias Freqüência Média % do total de minúcias Minúcias por impressão Pontos (dot) 4,3 18 Cristas Finais (ridge ending) 60,6 258 Bifurcações (bifurcation) 17,9 76 Ilhas (islands) 0,7 3 Esporas (spur) 4,7 20 Cruzamentos (crossover) 3,2 14 Pontes (bridge) 2,5 10 Cristas Curtas (short ridge) 6,1 26 Tabela 3.1 Distribuição média de minúcias nas impressões digitais. Faz-se necessário satisfazer duas condições para confirmar se duas impressões digitais são iguais: Que haja coincidência de doze pontos característicos, no mínimo (XIAO, 1991; ELECCION, 1973). Que não exista nenhuma discordância entre estes pontos, ou seja, devem ser idênticos e ter a mesma localização (COSTA, 2001). Como visto, os tipos de minúcias mais incidentes nas impressões digitais são as cristas finais e as cristas bifurcadas (aproximadamente 78,5%). Além disso, o número médio de vezes que essas minúcias aparecem em um datilograma é bem superior a doze (aproximadamente 334). Conclui-se, desta forma, que a utilização destes dois tipos de características é suficiente para realizar uma correta identificação de uma impressão digital. Desta forma, serão levados em consideração somente esses dois tipos de minúcias para o algoritmo a ser implementado, ou seja, cristas finais e cristas bifurcadas. 3.5 Tecnologia AFIS AFIS é a abreviação do termo em inglês Automated Fingerprint Identification System (Sistema Automático de Identificação de Impressões Digitais) e em termos gerais, esse modelo de sistema computacional captura impressões digitais de pessoas, para após realizar o processamento. Dentre as tarefas envolvidas, o objetivo final é realizar a comparação entre as impressões

19 digitais capturadas, com outras previamente cadastradas em um banco de dados computacional (NAVARRO, 2001), conforme esquematizado na figura 3.4. Aquisição: Impressão Digital de Entrada Captura Processa Dados Verificação ou Identificação: Impressão Digital Captura de Entrada Processa Compara Não Figura 3.4 Etapas de um AFIS. A utilização desses sistemas automáticos mostra-se muito útil na etapa de identificação, facilitando o acesso ao banco de dados e agilizando a etapa de verificação, visto que não se faz necessário que um perito tenha que analisar as amostras uma a uma de forma manual para só após chegar a uma conclusão. Vale ressaltar que um AFIS é um sistema um-para-muitos, conforme conceito visto no primeiro capítulo, ou seja, de identificação. Os AFIS s consistem em várias etapas de processamento, dentre as quais são citadas por Jain (1997): melhoria da imagem, redução de ruídos, segmentação (seção 4.3), esqueletização (seção 4.4.1) e extração de características. Com isso, é possível classificar cada impressão em um dos grupos citados anteriormente, e extrair as minúcias para serem armazenadas no banco de dados. Na etapa de comparação, o sistema deverá verificar se a distribuição dos pontos característicos (minúcias) da imagem se dá de forma similar aos da imagem que o sistema tem previamente armazenada, levando em consideração também a classificação da impressão digital. As etapas de processamento de um sistema biométrico automático têm relação direta com processamento digital de imagens, que pode ser definido como a manipulação de uma imagem de modo que a entrada e a saída do processo sejam imagens (COSTA, 2001). Para o reconhecimento de padrões

20 admite-se como entrada uma imagem e a saída é constituída de uma classificação ou descrição da mesma. Existem diversas técnicas de processamento de imagens, e estas podem ser empregadas em inúmeras aplicações. Segundo Gonzalez (2000), o interesse em métodos de processamento de imagens digitais vem de duas áreas principais: melhoria de informação visual para a interpretação humana; processamento de dados de cenas para percepção automática através de máquinas. Desta forma, para o caso de impressões digitais o sistema deverá fazer a coleta, o processamento e a identificação de forma automática se enquadrando no segundo item citado.

4 PROCESSAMENTO DE IMPRESSÕES DIGITAIS Processamento digital de imagens pode ser conceituado como análise e manipulação de imagens por computador (FACON, 2002). O objetivo desse processo é transformar a imagem (por exemplo, aumentando o contraste, realçando bordas, etc.), de forma que a informação seja mais bem reconhecida e extrair informações da imagem que a identificarão na etapa de comparação (GREIPEL, 1996). No processamento digital de imagens, o sistema tem como entrada imagens e, após o processamento, são obtidas também imagens como saída. Entretanto, ao final do processo pode-se desejar o armazenamento deste resultado. O armazenamento de imagens pode requerer um relevante espaço de armazenamento em disco. No caso de processamento de impressões digitais é possível armazenar as coordenadas respectivas das características encontradas diminuindo, desta forma, o espaço em disco requerido. Uma imagem é uma função de intensidade luminosa bidimensional, denotada por f(x, y), em que o valor ou amplitude de f nas coordenadas espaciais (x, y) dá a intensidade (brilho) da imagem naquele ponto (GONZALEZ, 2000). Ou seja, uma imagem não passa de uma matriz de pontos, onde cada ponto, representado por f(x, y), possui um valor intensidade. Este conjunto de pontos revela as características da imagem conforme a figura 4.1 a seguir. Figura 4.1 Visão ampliada de uma imagem (CASSOL, 2005).

22 Para o processamento de impressões digitais, a imagem inicialmente capturada está com suas características naturais, em níveis de cinza e com certa quantidade de ruído que impede que suas características sejam extraídas satisfatoriamente. Para contornar este problema, a imagem deve ser submetida a algumas etapas de pré-processamento para que as características possam ser extraídas com maior confiabilidade. Os valores das intensidades de cinza são sobrescritos à imagem ampliada da figura 4.1. Os valores estão distribuídos em uma escala entre 0 e 255 (considerando inteiros sem sinal de 8 bits para pixel). Nota-se que, quanto mais próximo de 255, mais clara a intensidade e quanto mais próximo de 0, mais escura esta será. A figura 4.2 demonstra os passos que um sistema usual de processamento de imagens realiza. Percebe-se que todas as etapas têm relação com a base de conhecimento. Esta base representa os conceitos já definidos, as técnicas utilizadas, os fundamentos necessários para cada etapa, etc. No geral, para cada fase existe um vasto conjunto de ferramentas disponíveis, todas elas pertencem a esta base de conhecimento, sendo que algumas delas serão estudadas para definir as que apresentam melhores resultados para esta aplicação. Segmentação Representação e descrição Domínio do Problema Préprocessamento Aquisição de imagens Base de conhecimento Reconhecimento e interpretação Resultado Figura 4.2 Principais passos de um sistema de processamento de imagens (GONZALEZ, 2000). O desenvolvimento deste trabalho englobará todas as etapas que compõem um sistema de processamento de imagens, desde tarefas de baixo

23 nível, chegando até o processamento de alto nível com as etapas de reconhecimento e interpretação. A estrutura básica de um sistema de processamento de imagens aplicado ao reconhecimento de impressões digitais pode ser esquematicamente resumida conforme a figura 4.3. Captura da impressão digital Usuário Aceito! Digitalização da Imagem Processamento das imagens Usuário Rejeitado! Figura 4.3 Visão geral do sistema. A idéia básica do sistema é que um usuário forneça sua impressão digital para um leitor específico, este digitaliza a informação e a transfere para o computador onde serão realizadas todas as etapas de processamento. Após este processamento, o sistema aceitará ou rejeitará o usuário. Nos próximos tópicos serão apresentados detalhadamente cada fase com os principais métodos que podem ser utilizados. 4.1 Aquisição de imagens A primeira etapa é capturar a imagem. Esta atividade é feita com um sensor que pode ser um scanner, para o caso de impressões digitais retiradas de um arquivo físico, ou também através de um leitor de impressões digitais, desta forma adquirindo-as diretamente para um computador. Esses tipos de sensores

24 obtêm a imagem na forma de uma matriz bidimensional de pontos, onde cada ponto representa a intensidade ou nível dos pixels da imagem. No caso das impressões digitais a imagem capturada encontra-se em tons de cinza e pode apresentar vários ruídos ou pontos que não devem ser levados em consideração para o reconhecimento. Se a imagem fosse analisada visualmente por um datiloscopista seria possível este identificar alguns, ou vários, pontos característicos na imagem, entretanto o objetivo do sistema é fazer o reconhecimento automático dos mesmos. Assim, a imagem ainda não está pronta para ser verificada, existindo a necessidade de serem aplicadas algumas técnicas de realce, tornando-a mais facilmente reconhecível por uma máquina. Na seqüência será vista a etapa de pré-processamento, e serão apresentadas diferentes técnicas que poderão ser utilizadas. 4.2 Pré-processamento Antes da etapa de segmentação, a imagem capturada deve ser melhorada de forma a reduzir ou eliminar ruídos e realçar informações úteis, para isso alguns tipos de filtros devem ser aplicados à imagem. Essa etapa é chamada de pré-processamento, e o seu ponto chave é melhorar a imagem de forma a aumentar as chances de sucesso dos processos seguintes (GONZALEZ, 2000). O objetivo deste tópico é apresentar e analisar diferentes métodos de préprocessamento, com o intuito de definir aqueles que apresentam resultados satisfatórios ao problema proposto. As impressões digitais geralmente são irregulares devido às condições da pele (marcas de nascimento, marcas de ocupação, cortes, uso de cremes), marcas causadas por dilatação (rolamento do dedo, excesso de tinta), dispositivos de aquisição de má qualidade e comportamento inadequado por parte dos usuários (COSTA, 2001). A qualidade da imagem pode ser prejudicada significativamente por esses fatores, sendo que a estrutura das cristas papilares pode não ficar muito bem definida, impedindo a sua completa identificação.

25 Dentre os métodos de pré-processamento existentes, será dado um enfoque maior para o realce de imagens, cujo objetivo principal é processar uma imagem, de modo que o resultado seja mais apropriado para uma aplicação específica do que a imagem original (GONZALEZ, 2000). É importante salientar que a expressão específica tem um sentido muito relevante, já que a escolha das técnicas dependerá do tipo de problema ao qual serão aplicadas. Na seqüência será visto como o processamento digital das imagens pode comportarse de acordo com o resultado desejado. 4.2.1 Processamento ponto-a-ponto O processamento ponto-a-ponto leva em consideração para o cálculo de cada novo ponto apenas seu próprio valor. Essas técnicas são as mais simples utilizadas no realce de imagem, mas dependendo da aplicação são extremamente importantes. A seguir serão apresentadas algumas dessas técnicas, apresentando os benefícios que cada uma delas proporciona. 4.2.1.1 Negativos de imagens A utilização de negativos de imagens tem grande importância, principalmente em aplicações médicas e consiste em reverter a ordem do preto para o branco, de modo que, a intensidade da imagem de saída diminua à medida que a intensidade da entrada aumente, tal resultado é visto na figura 4.4. (a) (b) Figura 4.4 Resultado da aplicação do negativo.

26 Esta técnica não gera um resultado interessante no sentido de redução de ruídos, sendo que normalmente não é utilizada isoladamente. Entretanto, pode ser utilizada como forma de processamento auxiliar a outros filtros. 4.2.1.2 Normalização Após a utilização de alguns filtros, existe a possibilidade dos novos valores da imagem ficarem muito altos ou muito baixos (HONG, 1998), como é o caso da figura 4.5-a. Essa imagem pode ter uma interpretação facilitada pelo computador através da normalização da mesma (resultado representado na figura 4.5-b), com o intuito de que os valores dos pixels passem a pertencer ao domínio da escala de cinza mais adequado. Esta técnica terá relevante importância para o resultado final, pois após a utilização de alguns filtros, detalhados mais a frente, a imagem resultante deverá ser normalizada. (a) (b) Figura 4.5 Resultado da normalização. A forma geralmente utilizada para realizar essa tarefa consiste em redistribuir os pesos de cada ponto de forma uniforme, relacionando a escala imaginária (gerada pela utilização do filtro) com a escala correta (0 a 255), ou seja, considerando que os valores dos pixels dessa imagem estejam contidos em um intervalo entre MIN e MAX, f seja a imagem resultante da normalização e

27 f(x, y) representando a intensidade de um ponto da imagem f (original), para todos os pontos f(x, y) da imagem f, aplica-se a seguinte equação: f ( x, y) MIN f '( x, y) = 255 (4.2-1) MAX MIN onde, f ' (x, y) é um novo ponto normalizado da imagem e, por conseguinte f ' é a imagem normalizada. Deste modo todos os valores pertencentes a esta imagem estão contidos na escala correta. Um método alternativo de normalização que leva em consideração a média dos valores dos pixels e a variância pode ser descrito da seguinte forma (HONG, 1998): Considerando uma imagem f, definida por uma matriz de dimensões N M, e que f(x, y) representa a intensidade de um ponto da imagem f. A média MED e a variância VAR de uma imagem em nível de cinza f é definida como: N 1 M 1 1 MED ( f ) = f ( x, y) (4.2-2) N. M x= 0 y= 0 e N ( 1 M 1 1 2 VAR ( f ) = f ( x, y) MED( f )) (4.2-3) N. M x= 0 y= 0 assim a imagem normalizada f ' é definida como ( f ( x, y) MED( f )) 2 VAR0 MED + se f(x, y) > MED(f) 0 VAR( f ) f '( x, y) = (4.2-4) 2 VAR0 ( f ( x, y) MED( f )) MED0 caso contrário VAR( f ) onde MED 0 e VAR 0 são valores escolhidos, normalmente MED 0 = 100 e VAR 0 = 100.

28 Esta forma de normalização se mostra muito útil quando a utilização de algum tipo de filtro gera uma imagem de valores fora da escala de 0 a 255. Na abordagem mostrada neste texto, existe uma adaptação à original, onde são consideradas imagens de dimensões N M, diferentemente da abordagem utilizada por Hong (1998) que era N N. Desta forma são consideradas imagens de quaisquer dimensões e não somente imagens quadradas. 4.2.1.3 Equalização de histograma O histograma de uma imagem representa a distribuição dos pixels em cada nível de cinza da imagem (GONZALEZ, 2000). O histograma é representado por um gráfico de barras, cada uma delas representa um nível de cinza, e em cada uma existe um valor que representa a quantidade (ou percentual) de pixels que se encontra no correspondente nível de cinza. Com base nos histogramas é possível fazer algumas conclusões sobre a qualidade da imagem, quanto ao nível de contraste e brilho de uma imagem. Um histograma com grandes concentrações de pixels em uma estreita faixa da escala de cinza, como na figura 4.6-a, representa uma imagem com baixo contraste. Do contrário, histogramas com valores uniformemente distribuídos em toda a escala de cinza, como na figura 4.6-b, representam imagens com alto contraste, portanto de boa qualidade. Probabilidade Probabilidade Níveis de Cinza (a) Níveis de Cinza (b) Figura 4.6 Exemplos de histogramas.

29 Quando a imagem apresenta seu histograma similar ao da figura 4.6-a, faz-se necessário realizar a equalização do mesmo, com o intuito de tornar mais perceptíveis as alterações entre os níveis de cinza. Uma forma de equalizar um histograma é utilizando a função de distribuição acumulada, podendo ser ilustrada da seguinte forma (GONZALEZ, 2000): S k = k j= 0 n j n k = 0, 1,, L 1 (4.2-5) O valor S k é calculado para todos k níveis de cinza, L é correspondente ao número de níveis de cinza, n k é o numero de vezes que o nível k aparece, e n é o total de pixels da imagem. A escala de níveis de cinza deverá estar normalizada entre os valores 0 (preto) e 1 (branco). Após o cálculo dos valores de cada S k os pixels serão remapeados conforme os resultados obtidos. Todos os pixels compreendidos no nível de cinza k serão alocados no nível correspondente ao valor de. S k O resultado da equalização de histograma pode ser visto na figura 4.7, onde é mostrada a aplicação do método à uma imagem com baixo contraste. A figura 4.7-b, difere-se da figura 4.5-b por apresentar um histograma mais uniformemente distribuído na escala de níveis de cinza. (a) (b) Figura 4.7 Resultado da normalização de uma imagem.

30 Este método é interessante para definir melhor os limites entre um nível de cinza e outro, o que contribui para tarefas que tem o objetivo de gerar resultados baseando-se na analise da intensidade dos pixels da vizinhança. Essas tarefas serão detalhadas a partir do tópico 4.2.2 a seguir. 4.2.2 Filtragem no domínio espacial As operações realizadas no domínio espacial levam em consideração uma determinada operação aplicada sobre certa vizinhança pré-definida para cada pixel da imagem, sendo que todas as intensidades da imagem são substituídas por novos valores (GONZALEZ, 2000). O cálculo desses novos valores depende do procedimento adotado. Para a definição do novo valor de um determinado ponto da imagem são levados em consideração os valores de sua vizinhança. O cálculo é realizado em grupos de pixels, utilizando o conceito de janelamento. Estas janelas podem ter dimensões 3x3, 5x5, 9x9, e assim por diante, sendo que o pixel, da imagem original, que terá seu valor alterado fica na posição central da janela. Considerando a imagem iniciando da esquerda para a direita e de cima para baixo, a janela inicialmente será colocada sobre a primeira posição da imagem. Os cálculos são realizados com os valores da imagem, correspondentes às posições que a janela está ocupando no momento. O valor resultante destes cálculos substituirá o valor correspondente à posição central da janela. Na figura 4.8-a está representada a primeira iteração, utilizando-se uma máscara de dimensões 3x3. Todos os valores pertencentes a ela são levados em consideração para o cálculo do valor final (N, em vermelho). Na próxima iteração a máscara é deslocada uma posição à direita e o cálculo é realizado da mesma forma, conforme representado na figura 4.8-b.

31 z 1 z 2 z 3 z 4 z 5 z 6 z 1 z 2 z 3 z 4 z 5 z 6 z 7 N z 9 z 10 z 11 z 12 z 7 z 8 N z 10 z 11 z 12 z 13 z 14 z 15 z 16 z 17 z 18 z 19 z 20 z 21 z 22 z 23 z 24 z 25 z 26 z 27 z 28 z 29 z 30 z 31 z 32 z 33 z 34 z 35 z 36 (a) z 13 z 14 z 15 z 16 z 17 z 18 z 19 z 20 z 21 z 22 z 23 z 24 z 25 z 26 z 27 z 28 z 29 z 30 z 31 z 32 z 33 z 34 z 35 z 36 (b) Figura 4.8 Filtragem no domínio espacial. Para as próximas iterações o procedimento realizado é o mesmo, sendo que a filtragem termina quando chegar à última posição possível da imagem. É importante perceber que os pontos onde a máscara está fora do domínio da imagem são desconsiderados. Existem duas formas de realizar este tipo de operação, a primeira utiliza regras especificas para o cálculo do novo ponto em relação à máscara utilizada e a outra, utiliza-se de um mecanismo chamado convolução que é padrão para qualquer tipo de filtro utilizado e é detalhado na seção 4.2.2.3. Dois métodos serão vistos na seqüência, referentes à primeira abordagem: filtragem por mediana e filtragem por k-vizinhos, entretanto o foco maior será dado para os métodos que utilizam convolução. 4.2.2.1 Filtragem por mediana Este filtro pode ser aplicado quando for desejável a redução do ruído contido na imagem. O processo consiste em passar uma máscara por toda imagem sendo que, neste caso, o pixel central será substituído pela mediana dos níveis de cinza na vizinhança deste pixel (GONZALEZ, 2000).

32 De forma resumida, a mediana é calculada a partir das intensidades dos pixels contidos na vizinhança de um ponto (FACON, 1993). Primeiramente os valores que estão sob a máscara são ordenados. O elemento que estiver na posição central (mediano) desta ordenação será o novo valor do pixel da imagem resultante (correspondente ao centro da máscara). A imagem da figura 4.9-b representa o resultado do filtro da mediana aplicado à imagem da figura 4.9-a. (a) (b) Figura 4.9 Aplicação do filtro da mediana. De forma geral, esse filtro elimina pontos isolados da imagem, forçando os pixels a assemelharem-se com seus vizinhos, sendo muito eficiente em ruídos do tipo sal e pimenta, que se caracteriza por uma distribuição aleatória de pontos claros e/ou escuros na imagem. 4.2.2.2 Filtragem por k-vizinhos mais próximos Outro método que pode ser utilizado é o k-vizinhos mais próximos. Neste método o pixel central da janela é substituído pela média dos k-vizinhos, cujas amplitudes mais se aproximam da amplitude do pixel central (DORINI, 2004). O objetivo é evitar a inclusão no cálculo da média, valores que possam estar sob a janela em decorrência de bordas ou regiões de alto contraste. O valor de k é definido arbitrariamente.

33 Na figura 4.10 é apresentada uma janela com dimensões 3x3 que apresenta os valores, da imagem original, que serão levados em consideração para a aplicação do método. O valor escolhido para k é 4 e M representa o resultado que será colocado na posição central desta janela. Primeiramente os valores contidos na janela são ordenados. A partir daí são escolhidos os 4 vizinhos que apresentam menor diferença do pixel central. O próximo passo é fazer o cálculo do valor de M, que representa a média dos k-vizinhos escolhidos. 40 43 40 50 60 61 k = 4 73 65 51 40, 40, 43, 50, 51, 60, 61, 65, 73 (escolha dos k-vizinhos) 61 + 65 + 51+ 50 M = (cálculo de M) 4 M = 57 (novo valor para o pixel central) Figura 4.10 Método k-vizinhos mais próximos. Da mesma forma que o método anterior, a janela percorrerá toda a figura, e os resultados serão agrupados representando a imagem filtrada. 4.2.2.3 Convolução Como visto, alguns filtros como mediana e k-vizinhos utilizam-se de regras específicas para chegarem ao resultado final. Por outro lado existe outra abordagem para realizar a filtragem utilizando o conceito de janelamento, chamado convolução. A diferença está na forma de cálculo para o pixel central, e esta abordagem é base para diferentes tipos de filtros existentes. O tipo do filtro será caracterizado pelos valores presentes na máscara utilizada. Algumas máscaras podem ser vistas na figura 4.11.

34 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 Máscara 3x3 1 1 1 1 1 Figura 4.11 Exemplos de máscaras h(x, y). Independentemente do tipo de filtro a ser usado, a abordagem básica consiste em somar os produtos entre os coeficientes da máscara e as intensidades de pixels sob a máscara em determinado ponto da imagem (GONZALEZ, 2000). Considerando uma máscara genérica de dimensões 3x3 como a da figura 4.12 e denotando os níveis de cinza de pixels sob a máscara em qualquer posição por z 1, z 2,... z 9, a resposta da passagem dessa máscara é R = h + 1 z1 + h2 z2 +... h9 z9. (4.2-6) máscara. Este resultado será colocado na posição correspondente ao centro da h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 Figura 4.12 Máscara 3x3 genérica.

35 A convolução entre uma máscara h(x, y) de dimensões N M e uma imagem f(x, y) tem como resultado uma outra imagem r(x, y) e pode também ser representada por (FACON, 1993): r ( x, y) = h( x, y) * f ( x, y) (4.2-7) onde * é o símbolo que representa o produto da convolução. O resultado final de cada novo ponto r(x, y) da imagem será r( x, y) = N 1 M 1 i= 0 j= 0 h( i, j) f ( x i, y j) (4.2-8) Os métodos que serão vistos na seqüência terão como princípio para filtragem o conceito de convolução. 4.2.2.4 Filtragem passa-baixas Os filtros passa-baixas são também conhecidos como filtros de suavização ou de borramento. Eles diminuem ou eliminam os componentes de alta freqüência. Os componentes de alta freqüência caracterizam bordas e outros detalhes finos de uma imagem (GONZALEZ, 2000), desta forma o resultado será uma imagem borrada. Estes filtros baseiam-se na utilização de máscaras de convolução que normalmente apresentam todos os seus valores positivos. Como exemplo é possível passar esse filtro com todos seus coeficientes iguais a 1/9. Após a passagem da máscara de convolução temos que normalizar a imagem, já que pode resultar em valores fora da escala de cinza utilizada. Entretanto, conforme se aumentam as dimensões da máscara, a imagem final vai ganhando um aspecto mais borrado, o que diminui a definição e a nitidez da imagem. Na figura 4.13 é possível ver um exemplo de máscara de convolução de dimensões 3x3 com todos os seus coeficientes iguais a 1/9. Logo abaixo, é apresentado um exemplo da passagem desta máscara em uma imagem de

36 impressão digital, onde na figura 4.14-a está a imagem original e na figura 4.14-b está o resultado da filtragem. 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 1 9 Figura 4.13 Filtro passa-baixas 3x3. (a) (b) Figura 4.14 Filtragem passa-baixas. Este tipo de filtragem pode não ser apropriada para o contexto desse trabalho uma vez que o resultado é uma imagem suavizada, sendo que a diferença entre os níveis de cinza dos pixels tende a diminuir gerando uma imagem mais homogênea, sendo assim, detalhes importantes podem ser perdidos. Entretanto, ajustando os parâmetros deste filtro, pode-se obter uma imagem onde são suavizados detalhes considerados como ruído na imagem, contribuindo assim para a melhoria da qualidade da imagem. Enfim, deve-se analisar algumas formas de implementação para definir se este tipo de filtragem será ou não útil em imagens de impressões digitais.

37 4.2.2.5 Filtragem passa-altas Um filtro passa-altas é também conhecido como filtro de aguçamento e tem como objetivo realçar detalhes finos da imagem. Em outras palavras, realça mudanças súbitas de níveis de cinza da imagem, entretanto tende a enfatizar o ruído que possa existir na imagem (GONZALEZ, 2000; FACON, 1993). Da mesma forma que no filtro passa-baixas, para realizar esta operação pode-se aplicar uma máscara de convolução na imagem. Normalmente a estrutura desta máscara tem o peso central positivo e os demais negativos, sendo que a soma de todos esses coeficientes deverá ser zero. Um exemplo deste tipo de máscara é mostrado na figura 4.15. -1-1 -1-1 8-1 -1-1 - 1 4.2.2.6 Filtro de Gabor Figura 4.15 Filtro passa-altas 3x3. Entre várias alternativas de filtros existentes o filtro de Gabor mostra-se muito eficiente na análise de textura. Este filtro está incluso na categoria de filtros passa-faixa, diferentemente das categorias de filtragem vistas nos dois tópicos anteriores. Os filtros classificados desta forma buscam capturar informações distribuídas em uma faixa definida de freqüência. Existem diversos métodos nesse sentido, entretanto o filtro de Gabor mostra-se interessante para impressões digitais. O filtro tem sido aplicado com sucesso no reconhecimento de faces, reconhecimento de assinaturas, melhoria e identificação de impressões digitais, devido às suas características, especialmente as representações de freqüência e orientação, que são similares ao do sistema visual humano (LEE, 1999). O filtro bidimensional de Gabor tem a seguinte estrutura (HONG, 1998):

38 2 2 Xφ ij Yφ ij 0,5 + 2 2 deltax deltay g( x, y, φ, f ) = e * 2. π. f. xfi (4.2-9) ij onde X φ X cosφ + Y sinφ = (4.2-10) e Y φ X sinφ + Y cosφ = (4.2-11) As variáveis x e y são as coordenadas espaciais da imagem, φ é a orientação do filtro de Gabor, f é a freqüência da onda no plano senoidal e deltax e deltay são as constantes de espaço do envelope Gaussiano através dos eixos x e y respectivamente (SOUZA, 2005). Os valores que devem ser ajustados para cada passagem do filtro são φ, que representa o ângulo de orientação, e f, que representa a freqüência. Se f for muito grande, geram-se ruídos na imagem, se for muito pequeno, linhas são entrelaçadas. Utiliza-se f = 1/d, onde d é a distância entre as linhas presentes na imagem. Como as impressões digitais possuem linhas e vales localmente paralelos, com uma orientação local espaço-freqüêncial bem definida, ruídos podem ser reduzidos, devido ao efeito resultante no plano senoidal (OLIVEIRA, 2004). Assim, a estrutura da máscara de convolução ficará como a figura 4.16 a seguir. Figura 4.16 Máscara do filtro de Gabor.

39 Esta máscara está representada na forma tridimensional sendo que o tamanho da mesma é de 30x30 e os valores correspondentes a cada ponto variam em uma escala de -0,8 e 1. É possível também observar na figura 4.17 a aplicação deste filtro em uma amostra de impressão digital. A figura 4.17-b representa a aplicação do filtro de Gabor à figura 4.17-a. Percebe-se que com a aplicação do filtro de Gabor os novos valores dos pixels da imagem não estão compreendidos dentro da escala de cinza utilizada (0 a 255). Deste modo, esta imagem tem a necessidade de ser normalizada, para que suas características se tornem mais perceptíveis. A figura 4.17-c apresenta o resultado final, onde além de uma normalização foi feita a limiarização da mesma, assim é possível verificar a aparência final gerada pelo filtro de Gabor. O conceito de limiarização citado será introduzido na seção 4.3.1. (a) (b) (c) Figura 4.17 Filtro de Gabor. O filtro de Gabor também pode ser aplicado no domínio da freqüência, tais conceitos serão vistos na seção seguinte, sendo que a máscara de convolução deve ser convertida para este domínio. A representação deste resultado pode ser vista na figura 4.18.

40 a seguir. Figura 4.18 Filtro de Gabor no domínio da freqüência. Maiores informações sobre filtragem no domínio da freqüência serão vistos 4.2.3 Filtragem no domínio da freqüência Os métodos vistos de filtragem, que utilizam o conceito de convolução, podem também ser realizados no domínio da freqüência. Para isso deve-se representar a imagem conforme sua distribuição de freqüência. Esta conversão é realizada utilizando-se o conceito da Transformada de Fourier que será vista no item 4.2.3.1. A utilização de filtragem no domínio da freqüência traz a vantagem de melhorar o desempenho da operação, sendo que o número de cálculos necessários será reduzido. 4.2.3.1 Transformada de Fourier O conceito de transformada de Fourier, desenvolvido pelo matemático francês de mesmo nome em 1908, tem importância fundamental para processamento de imagens. Através desta ferramenta é possível representar imagens no domínio da freqüência e realizar operações sobre elas de forma a melhorar o desempenho da filtragem. A forma geral de representação de uma imagem no domínio da freqüência através da transformada de Fourier é a seguinte (GONZALEZ, 2000):

41 F( u, v) = M 1 N 1 x= 0 y= 0 f ( x, y) e NM 2πj( ux / M + vy / N ) (4.2-12) Onde j = 1 M e N são as dimensões da imagem, e consequentemente NM é o número de pixels da mesma. F é a representação da imagem no domínio da freqüência e f é a representação da imagem no domínio espacial. Para realizar o cálculo da transformada inversa de Fourier é realizado (GONZALEZ, 2000): F 1 [ F( u, v)] = f ( x, y) = M 1N 1 u = 0 v= 0 F( u, v) e 2πj ( ux / M + vy / N ) (4.2-13) 4.2.3.2 Teorema da Convolução As técnicas no domínio da freqüência são fundamentadas pelo teorema da convolução. A convolução entre a imagem h(x, y) e f(x, y) pode ser calculada utilizando as transformadas de Fourier F(h) e F(f). A transformada de Fourier está relacionada com a convolução das duas imagens, pois a transformada da imagem resultante r(x, y) é igual ao produto das transformadas de Fourier de h(x, y) e f(x, y), ou seja: F ( r) = F( h * f ) = F( h) F( f ) (4.2-14) para gerar a imagem filtrada r(x, y) aplicamos a esse resultado a transformada inversa de Fourier: r = F 1 [ F( h) F( f )] (4.2-15) Na equação 4.2-14 a multiplicação dos pontos é feita diretamente, ou seja, ponto a ponto, não levando em consideração o conceito de multiplicação de matrizes. Este método se mostra mais eficiente do que a convolução normal, que é uma seqüência de multiplicações e somatórios, quando da utilização de máscaras com dimensões superiores a 7x7, aproximadamente.

42 A idéia da utilização de filtragem no domínio da freqüência é simples, primeiramente é computada a transformada de Fourier da imagem a ser realçada, calcula-se a transformada de Fourier da máscara, após isso multiplicase os dois resultados entre si, ponto a ponto. Calculando a transformada inversa de Fourier deste resultado, o resultado da filtragem é gerado. Sendo assim, todos os métodos vistos que fazem uso do conceito de convolução podem ser aplicados no domínio da freqüência, fazendo-se uso da transformada de Fourier, sendo que na maioria dos casos é apresentado maior desempenho no cálculo da imagem final. É importante observar que neste caso a máscara deverá estar do mesmo tamanho que a imagem a ser filtrada. Para fazer esta ampliação, as dimensões da máscara são aumentadas de forma que sua estrutura básica fique no centro da nova imagem e ao redor são colocados valores zero. Até este ponto foram vistos métodos de filtragem com o intuito de melhorar a qualidade da imagem para tratamento computacional, sendo importante para a etapa seguinte no sentido de acentuar as fronteiras entre o que é informação útil e o que é considerado ruído. No próximo tópico será tratado do assunto da segmentação, que é utilizado para separar da imagem somente as partes de interesse ao problema. 4.3 Segmentação No início deste século alguns psicólogos alemães introduziram o principio da segmentação, afirmando que os seres humanos, em nível de visão, efetuam um agrupamento sobre os aspectos que ele percebe com base na proximidade, similaridade e continuidade. A decomposição de uma cena em unidades significantes é uma etapa decisiva na compreensão da imagem. Geralmente, as primitivas usadas são contornos e regiões (FACON, 2002). Para o processamento de impressões digitais não é diferente. Até o momento foram vistos métodos para realçar as imagens de forma a diminuir ruídos, ou melhorar a qualidade das mesmas destacando as características

43 específicas de impressões digitais. A partir de agora, com as características da imagem realçadas, deve-se separar a imagem em suas unidades significantes com o intuito de trabalhar somente com as informações que interessam da imagem. Desta forma, a imagem começará a ser analisada a partir desta etapa, sendo que, após o processo de segmentação, a mesma deve estar representada somente com dois valores de intensidade, 0 e 1, representando uma imagem binária que pode ser interpretada como "preto e branco. Com isso a idéia básica é separar as partes que interessam da imagem de tudo aquilo que deve ser desconsiderado da análise. A forma de decisão sobre o novo valor de cada pixel da imagem será discutida nesta seção. Uma das principais técnicas de segmentação é a limiarização, sendo que na sequência esta será detalhada, bem como algumas modificações que tem o intuito de melhorar a qualidade do resultado. 4.3.1 Limiarização ou Threshold Neste método, todos os pontos são analisados com o objetivo de decidir se este terá valor 0 (preto) ou 255 (branco). O cálculo do novo ponto se dá através da comparação entre o valor do mesmo com um determinado valor de limiar. Se o ponto de interesse tiver o valor inferior a esse limiar, então receberá o valor 0, no caso contrário receberá o valor 255 (COSTA, 2001), conforme figura 4.19. (a) (b) Figura 4.19 Resultado da limiarização.

44 Na figura 4.19-a é apresentada uma figura capturada em níveis de cinza. O resultado da aplicação deste método, com valor de limiar igual a 128 está apresentado na figura 4.19-b. A forma de determinação do valor do limiar para este exemplo foi a mais simples, ou seja, foi escolhido o nível de cinza mediano da escala (128). É possível notar que a imagem final não obteve bons resultados, sendo que partes importantes foram perdidas ou não poderão ser consideradas para a análise, conforme destaque na figura 4.19-b. Pensando nisso, pode ser interessante uma técnica que auxilie na seleção de um valor de limiar próximo do ideal, para cada região da imagem. Desta forma, existem métodos considerados adaptativos que realizam esta escolha. Essa é a preocupação da abordagem que será vista a seguir. 4.3.2 Limiarização Niblack Em certos casos quando o nível de cinza não é uniformemente distribuído na imagem, o valor de limiar pode apresentar um valor não coerente à situação podendo suprimir algumas informações. Nestes casos é comum fazer a operação em blocos da imagem, por exemplo, 8x8 ou 10x10 e para cada bloco definir um valor de limiar. A forma mais simples seria definir o valor médio dos níveis de cinza do bloco como valor de limiar. Mesmo já apresentando bons resultados, existe um método também adaptativo que leva em consideração a média e o desvio padrão dos pixels do bloco, chamado limiarização Niblack. Este é um ponto importante para obter um bom desempenho em imagens de impressões digitais, já que vários fatores podem contribuir com a qualidade da imagem, por exemplo, a pressão exercida no leitor no momento da captura pode gerar imagens com regiões mais claras e outras mais escuras. Busca-se, com isso, minimizar as perdas de precisão que a utilização da limiarização normal pode gerar. O algoritmo consiste em calcular para cada bloco a média ( μ ) e o desvio padrão ( σ ) dos valores dos pixels contidos nele. Em seguida calcula-se T

45 (definido na equação 4.3-1) que é definido como valor de limiar do bloco. Todos os valores dos pixels que estiverem ali contidos são comparados com T, se o pixel tiver um valor superior a T assumirá como novo valor 255, caso contrário, assumirá o valor 0 (SOUZ & SUZIN, 2000). T = α. σ + μ (4.3-1) É importante perceber que α controla a influência do desvio padrão sobre a média da janela, sendo que para uma mesma imagem a alteração do seu valor pode alterar consideravelmente o valor do limiar da imagem. A definição deste valor depende do tipo de imagens que estão sendo analisadas. Habitualmente é definido como 0,2 e o tamanho da janela utilizada é de 15 x 15 (SOUZ & SUZIN, 2000). Terminando esta etapa, a imagem está com suas partes constituintes bem definidas. A tarefa seguinte consiste em refinar tais detalhes para facilitar a extração das características. Assunto que será visto na seqüência. 4.4 Representação e Descrição Após a etapa de segmentação, onde foram separadas as áreas de interesse da imagem em regiões, é necessário representar e descrever esse novo agregado de pixels em uma forma facilmente acessível para o processamento subseqüente. Existem duas formas de representação, a primeira leva em consideração características externas da região, ou seja, principalmente bordas e a outra leva em consideração as características internas, ou seja, os pixels que estão nessas regiões (FACON, 2002). Após a imagem ser representada por algum método escolhido, deve-se então, descrever esta região (GONZALEZ, 2000). A forma, de representação escolhida para o caso de impressões digitais será o esqueleto da imagem, procedimento realizado através de um método chamado esqueletização, e posteriormente será descrito através de características correspondentes ao número de terminações e bifurcações presentes na amostra e suas correspondentes posições.

46 A seguir serão detalhados os funcionamentos destes dois processos que correspondem à extração de características. 4.4.1 Esqueletização A esqueletização é utilizada para fazer a representação estrutural de uma imagem, podendo ser utilizado para remover pontos isolados no fundo da imagem e ângulos retos ao longo de bordas (COSTA, 2001). No contexto deste trabalho, este método converterá cada região encontrada na impressão digital em uma linha. Esta representação auxilia para a etapa subseqüente que é a identificação das minúcias na imagem. Pode-se definir o esqueleto de uma região pela transformação do eixo médio (medial axis transform - MAT). A MAT de uma região R com borda B é definida da seguinte maneira: para cada ponto p em R, é encontrado seu vizinho mais próximo em B. Se p tiver mais de um vizinho em B com a mesma distância, então se diz que ele pertence ao eixo médio (ou esqueleto) de R (GONZALEZ, 2000). O resultado deste método é representado na figura 4.20, onde a linha pontilhada representa o esqueleto de cada região. (a) (b) (c) Figura 4.20 Eixo médio de três regiões (GONZALEZ, 2000). Na figura 4.21 é apresentado o resultado da esqueletização para uma amostra de impressão digital. É importante salientar que esta última já havia passado previamente pela etapa de segmentação com o método Niblack.

47 Figura 4.21 Imagem após esqueletização. Ao final do processo de esqueletização, a imagem estará pronta para que as suas minúcias sejam extraídas. A forma que será utilizada para realizar tal procedimento é descrita a seguir. 4.4.2 Extração de características A etapa de extração de características pode ser também considerada a etapa de descrição da imagem. Como o nome já diz, tem o objetivo de capturar da imagem detalhes que servirão para identificar somente esta imagem dentre várias amostras diferentes. Além disso, um ponto de fundamental importância para aplicações de processamento de imagens é o esforço computacional necessário para realizar determinada tarefa. É natural que, se todas as imagens forem armazenadas, o desempenho da etapa de identificação também será afetado. Usualmente não são armazenadas as imagens das impressões digitais inicialmente capturadas, mas sim uma descrição das mesmas. Essa descrição poderá ser a localização de cada tipo de característica encontrada na imagem. Conforme visto anteriormente, existem duas características que terão fator importante para o processo e que deverão se extraídas. Estas características são as terminações e as bifurcações, chamadas de minúcias. Uma das técnicas mais utilizadas para realizar a extração das minúcias é conhecida como Crossing Number (KASAEI, DERICHE & BOASHASH, 1997). A idéia básica deste método é contar o número de transições preto e branco na

48 vizinhança do pixel que está sendo processado. O Crossing Number de um ponto p é dado pela equação 4.4-1 abaixo (AFSAR, ARIF & HUSSAIN, 2004). 8 0,5 i= 1 CN = p i p i (4.4-1) + 1 onde p é o valor do pixel na vizinhança de p e p terá valor 0 ou 1, pois a i imagem está segmentada. Para ficar mais fácil o entendimento, na figura 4.22 está a máscara que será passada pela imagem. i p 4 p 3 p 2 p 5 p p 1 p 6 p 7 p 8 Figura 4.22 Máscara utilizada para o cálculo do Crossing Number. Esta máscara é passada por todos os pixels pertencentes ao esqueleto da imagem e em cada iteração é calculado o valor de CN do ponto p. Dependendo do valor resultante o pixel central será classificado conforme a tabela 4.1. Crossing Number (CN) Minúcia 0 Ponto Isolado 1 Terminação 2 Crista Contínua 3 Bifurcação 4 Cruzamento Tabela 4.1 Definição do tipo de minúcia. Lembrando que os tipos de minúcias que serão levadas em consideração são as terminações e bifurcações, os valores que serão interessantes para serem guardados são CN = 1 e CN = 3. Os demais pixels são desconsiderados da imagem. Desta forma, os pontos característicos da imagem já estão mapeados, e somente serão armazenadas as coordenadas correspondentes à localização de

49 cada minúcia. É importante perceber que o sistema deverá distinguir o conjunto de minúcias que foram encontradas como pertencente a uma dessas duas classes (terminação ou bifurcação), e este fator deve ser levado em consideração também para a etapa de casamento entre duas imagens. Efetuada esta etapa, a impressão digital já tem um conjunto de atributos que irão diferenciá-la das demais. Entretanto, o sistema também lidará com a aceitação ou não de um possível usuário. Então, o sistema deverá ser capaz de decidir se uma impressão digital candidata pertence a uma pessoa previamente cadastrada, consequentemente liberando ou restringindo o acesso ao mesmo. Esta tarefa será detalhada a seguir. 4.5 Reconhecimento e Interpretação Como última etapa do processamento de impressões digitais é necessário utilizar algumas técnicas para reconhecer os padrões existentes na imagem bem como interpretar esse padrões. Esta etapa está enquadrada como processamento de alto nível, pois aqui existe a responsabilidade de uma tomada de decisão por intermédio do sistema. Um dos principais objetivos da análise de imagens por computador é dotar uma máquina com a capacidade de interpretação similar a dos seres humanos (GONZALEZ, 2000). Serão apresentadas duas formas de reconhecimento das impressões digitais, uma mais simples, que desconsidera grandes mudanças de orientação entre as imagens, e outra mais robusta, que consegue perceber se duas impressões digitais são iguais independentemente de desvios de rotação e translação decorrentes de diferentes aquisições. 4.5.1 Reconhecimento baseado em dilatação morfológica O termo morfologia é normalmente utilizado em biologia para o estudo da forma e estrutura de animais e plantas. Para morfologia matemática o conceito

50 utilizado é semelhante, sendo utilizada para representação e descrição da forma de uma região (GONZALEZ, 2000). A morfologia matemática tem ligação direta com a teoria dos conjuntos, sendo esta teoria considerada como a linguagem utilizada por este método. Existe um conjunto muito grande de operações morfológicas, a maioria tem como base dois operadores, dilatação e erosão. Para a comparação de impressões digitais será utilizado, nesta técnica, apenas o conceito básico de dilatação. A dilatação tem por objetivo aumentar as dimensões de um determinado componente conexo presente na figura seguindo algum padrão pré-definido. Normalmente é apresentada uma imagem limiarizada, onde toda a borda de cada componente conexo é varrida por uma máscara que é denominada elemento estruturante. Em cada ponto de passagem é realizada o operação de união ( ) entre o componente conexo e o elemento estruturante. Como resultado uma imagem é obtida com seus contornos aumentados e conseqüentemente dilatados. Para melhor vizualizar este procedimento a figura 4.23-a representa uma imagem que contém apenas um componente conexo, representado pelos pontos em preto. A figura 4.23-b representa a forma do elemento estruturante utilizado e o resultado da dilatação pode ser visto na figura 4.23-c. (a) (b) (c) Figura 4.23 Processo de dilatação. Para o contexto de impressões digitais este método será aplicado de forma mais simplificada, pois a dilatação será realizada apenas sobre componentes conexos com dimensão máxima de 1 x 1 pixel. Como comentado anteriormente, as coordenadas de cada minúcia encontrada na impressão digital serão armazenadas. No processo de

51 reconhecimento estas coordenadas gerarão uma outra imagem composta por diversos pontos correspondentes às localizações de cada minúcia. Cada ponto de uma das imagem será dilatado, com isso ao realizar a comparação com uma outra impressão digital candidata será considerada uma pequena folga na posição das minúcias. Isso auxiliará no processo de casamento, pois os passos anteriores de processamento poderão alterar de forma sutil a posição de uma mesma minúcia presente em amostras diferentes de uma impressão digital. A comparação será através da intersecção ( ) entre a imagem com os pontos dilatados e a imagem candidata. Dependendo do número de pontos que restarão na imagem final, as impressões digitais serão consideradas ou não como pertencentes à mesma pessoa. Conforme definido na seção 3.2, um conjunto mínimo de 12 pontos coincidentes são suficientes para tirar essa conclusão. A representação do casamento entre as imagens pode ser esquematizada de forma simplificada pela figura 4.24, onde também é detalhado o processo de intersecção entre as imagens. Dilatação Pontos da imagem 1 Pontos da imagem 2 Intersecção Figura 4.24 Processo de casamento das impressões digitais.

52 Em alternativa a este método, é apresentada a seguir outra forma de realizar as comparações das impressões digitais, com o intuito de resolver o problema da variação de posição e orientação das imagens. 4.5.2 Reconhecimento baseado em triangulações O método anterior mostra-se muito interessante, entretanto apenas para imagens onde existe pouca translação e rotação entre diferentes imagens. Desta forma existe a necessidade de posicionar o dedo no leitor com o máximo de precisão. É correto afirmar que os leitores têm certo controle na aquisição das imagens, todavia uma alteração aparentemente insignificante na forma de posicionar o dedo no leitor pode gerar alteração muito grande na localização das minúcias. Levando em consideração este fato, um método foi elaborado para realizar as comparações independentemente de fatores de translação e rotação. O método proposto visa gerar triângulos entre as minúcias encontradas nas imagens e extrair deles os ângulos internos e as distâncias entre os pontos. Ao final da etapa de extração de minúcias as coordenadas correspondentes a cada ponto encontrado serão armazenadas. Para cada ponto da imagem, são gerados todos os possíveis triângulos que podem ser formados, respeitando-se três critérios: distância mínima entre os pontos, ângulo mínimo e ângulo máximo. Estes três parâmetros são flexíveis e devem ser ajustados com testes. Na figura 4.25 é mostrado um exemplo de como é realizado este processo. Na figura 4.25-a está o conjunto de pontos gerados pela extração de minúcias e nas imagens que seguem são mostrados os possíveis triângulos que podem ser formados. O número de triângulos gerados crescerá combinatoriamente, podendo ser obtido da seguinte maneira: 3 n! N Δ = Cn = (4.4-2) 3!( n 3)!

53 onde, N é o número de triângulos e n o número de minúcias. Δ (a) (b) (c) (d) (e) Figura 4.25 Processo de triangulação. O casamento entre as imagens será realizado comparando todos os triângulos de uma imagem com todos os triângulos da outra imagem, podendo ser adotada uma pequena folga entre os valores. O número de acertos será levantado, conduzindo à conclusão de coincidência ou discordância. É importante perceber que um triângulo transladado ou rotacionado de qualquer forma permanece com as distâncias das arestas e os ângulos internos inalterados, resolvendo desta forma o problema apresentado no início desta seção. Este processo representa a última etapa do sistema automático de identificação de impressões digitais, com isso conferindo ao sistema o encargo

54 de tomar uma decisão com base no conhecimento previamente adquirido, o que representa a fase de reconhecimento e interpretação. Percebe-se também, que os métodos escolhidos são extremamente específicos ao contexto de impressões digitais.

55 5 ALGORITMOS DESENVOLVIDOS Neste capítulo serão apresentados os algoritmos desenvolvidos com o intuito de validar a proposta descrita neste TCC. Todas as ferramentas serão detalhadas, sendo que os resultados obtidos também serão mostrados. Os algoritmos foram desenvolvidos com linguagem C++ e o ambiente utilizado foi o Dev C++ 1. Foram utilizadas também duas bibliotecas auxiliares para processamento de imagens, são elas im.h e mm.h. Estas bibliotecas foram desenvolvidas pelo grupo de pesquisa LAPIS (Laboratório de Processamento de Imagens e Sinais) da própria instituição. A biblioteca im.h contém as funções para manipulação de imagens e na mm.h estão as funções de morfologia matemática. As imagens utilizadas foram do tipo PGM, pois é um tipo simples, alem de que essas bibliotecas conseguem abri-las sem problemas. 5.1 Hardware utilizado Para realizar os testes foi adquirido o leitor de impressões digitais Microsoft Fingerprint Reader que pode ser visto na figura 5.1. Figura 5.1 Leitor de impressões digitais utilizado. 1 Ambiente integrado de desenvolvimento gratuito, que utiliza compilador baseado no GCC.

56 Este leitor utiliza interface USB para comunicação com o computador e a imagem adquirida é apresentada na resolução 390 x 355 pixels, sendo que os valores de todos os pontos estão dispostos em uma escala que varia de 0 a 255. Um exemplo da imagem adquirida por ele pode ser vista na figura 5.2. Figura 5.2 Imagem adquirida pelo leitor. É importante observar que existe uma borda ao redor da imagem onde não existe informação alguma, ou seja, todos os pixels nesta região são brancos, desta forma esta área deve ser desconsiderada para a análise. 5.2 Resultados do filtro de Gabor Dentre os métodos estudados, a utilização do filtro de Gabor se mostrou eficaz como pré-processamento e bastante apropriado para este tipo de imagem, eliminando ruídos e, de certa forma, reconstruindo a imagem em pontos de interrupção das papilas. Este resultado já vem sendo comprovado em literaturas dirigidas a processamento de impressões digitais como no estudo de Oliveira (2004) e de Hong (1998). Para realização deste algoritmo primeiramente foi realizado uma limiarização pelo método Niblack na imagem original, sendo este aplicado com máscara de dimensões 15 x 15 e a variável α com valor 0. O objetivo desta tarefa foi realizar uma pré-limiarização para rotular os pontos que tinham maior probabilidade de pertencerem às cristas da impressão digital.

57 Após isso o filtro de Gabor foi executado, sendo que os parâmetros possíveis de serem ajustados eram o tamanho da máscara de convolução (tam) e o ângulo de aplicação do filtro (ang). No caso do ângulo, o filtro é passado de 0 até 180 sendo que a periodicidade da passagem pode ser alterada, ou seja, a cada 10, 20, 30, etc. Nos testes realizados e mostrados no anexo A, entendase o parâmetro ang por essa periodicidade. Outro parâmetro utilizado por este filtro é o d, que representa a distância em pixels entre as cristas. Este parâmetro é ajustado automaticamente pelo programa, sendo que são realizados filtros com d = 6 até d = 10, variando de 2 em 2. Por fim, para os parâmetros dx e dy são testados os valores 2,5 e 3,0. A filtragem é realizada para todas as combinações destes parâmetros, sendo que os melhores valores de cada filtragem pertencentes aos pontos rotulados pelo Niblack inicial são guardados. Desta forma, não fazendo-se necessária a extração da imagem direcional da imagem antes da aplicação do filtro de Gabor. Os resultados da aplicação deste filtro são mostrados no anexo A, localizado no final da monografia, com os diferentes valores de tam e ang usados. Ao final do processo, os valores escolhidos foram tam = 9 e ang = 30. 5.3 Resultados da limiarização Niblack Como introduzido na seção 4.3.2, este método é útil para imagens com distribuição de iluminação não uniformes, ou seja, imagens que contém regiões mais claras e outras mais escuras. As impressões digitais têm exatamente esta característica, gerada pela pressão exercida pelo dedo no momento da captura, quanto menor a pressão mais clareada é a imagem. Por este motivo, foi escolhido este modelo de limiarização para ser implementado. Desta forma, os resultados obtidos foram satisfatórios, sendo que o algoritmo conseguiu limiarizar a imagem mantendo a maior parte de suas características originais. Os diversos testes realizados são apresentados no anexo B, onde para cada imagem são mostrados os valores dos parâmetros que

58 foram utilizados para a geração da mesma. Os parâmetros que podem ser ajustados são: a altura da janela (alt), a largura da janela (lar) e a variável α que controla a influência do desvio padrão no cálculo do limiar. Este método foi aplicado sobre a imagem resultante do filtro de Gabor. Os valores finais escolhidos foram alt = 15, lar = 15, α = -0,1 5.4 Remoção de pequenos componentes Após a limiarização, foi detectado que regiões muito pequenas podem ser criadas na imagem. Estas regiões, se não removidas, poderão ser mal interpretadas pelo algoritmo e consideradas terminações ou bifurcações, gerando falsas minúcias. Assim, foi criado um mecanismo relativamente simples para resolver tal problema, o qual remove regiões com área inferior a 50 pixels da imagem. Este valor foi escolhido por se adaptar melhor à resolução utilizada, sendo que se esta for alterada, o valor da área também deverá ser alterado. Um exemplo da aplicação deste método pode ser visto na figura 5.3. (a) (b) Figura 5.3 Resultado da remoção de pequenos componentes. 5.5 Molde adaptativo As imagens de impressões digitais possuem regiões que devem ser desconsideradas por apresentarem regiões sem interesse ou simplesmente não apresentarem nenhuma informação (branco). Se não desconsideradas, contribuem para geração de falsas minúcias na imagem. Com isso, foi desenvolvido um algoritmo para geração de um molde adaptativo, que tem o objetivo de delimitar a área útil de processamento.

59 Para realizar o molde adaptativo são utilizados os conceitos de Abertura e Fechamento. A abertura geralmente suaviza o contorno de uma imagem. De modo simplificado, a abertura da imagem A por um elemento estruturante B é a erosão de A por B seguido da dilatação do resultado por B (GONZALEZ, 2000). Este processo pode ser mais bem visualizado na figura 5.4, onde a linha pontilhada representa a erosão de A por B e o resultado final do processo é a área escura da figura resultante. Figura 5.4 Abertura. O processo de fechamento também tende a suavizar os contornos, mas elimina pequenos buracos e preenche fendas. Na figura 5.5 é mostrado o fechamento de A por um elemento estruturante B, que é simplesmente, a dilatação de A por B, representada pela linha pontilhada, seguida da erosão do resultado por B. Figura 5.5 Fechamento.

60 Além destes dois mecanismos, também é utilizado uma função inclusa na biblioteca de morfologia matemática (mm.h) Hmax, que tem o objetivo de eliminar picos de intensidade da imagem. Este processo pode ser melhor visualizado na figura 5.6, sendo que logo após são explicados os passos do algoritmo. F A 1 A 2 A 3 A 4 A 5 Molde Figura 5.6 Processo Molde adaptativo. Para a geração do molde a partir da imagem original F, são realizados os seguintes passos: 1. A 1 = abertura de F por um disco de raio 20;

61 2. A 2 = F A 1 ; 3. A 3 = Hmax(A 2 ); 4. A 4 = Limiariza(A 3 ); 5. A 5 = fechamento de A 4 por um disco de raio 20; 6. Molde = abertura de A 5 por um disco de raio 50. Depois de gerado, o molde é multiplicado com a imagem removendo toda região correspondente a parte preta do molde, desconsiderando regiões de ruído. 5.6 Afinamento Morfológico Nesta etapa, o algoritmo proposto inicialmente era de esqueletização, sendo que seu funcionamento está descrito na seção 4.4.1. Entretanto este método não gerou bom resultados, sendo que ao final do processamento a imagem continha linhas com espessura maior que 1 pixel e descontinuidade de algumas linhas, o que contribui largamente com a ineficiência da etapa de extração de minúcias. O resultado deste método é mostrado na figura 5.7. (a) (b) Figura 5.7 Resultado da esqueletização. Desta forma, buscou-se uma alternativa para este problema. O método encontrado é chamado de afinamento morfológico, e mostrou-se bastante viável,

62 pois as funções auxiliares necessárias estão inclusas na biblioteca de morfologia matemática ( mm.h ) que já estava sendo utilizada. A aplicação deste método consiste em varrer a imagem em busca de uma região que faça correspondência com a máscara descrita na figura 5.8, sendo as posições contendo o símbolo ponto ( ) significam que o pixel pode ter valor 0 ou 1. Encontrando esta região, o pixel central desta máscara é removido da imagem. Este procedimento é realizado nas oito rotações de 45 da máscara. O algoritmo é repetido até que não existam mais pixels a serem removidos (DOUGHERTY & LOTUFO, 2003). 0 0 0 1 1 1 1 Figura 5.8 Máscara do afinamento morfológico. O resultado da aplicação deste método é notavelmente melhor, que o da esqueletização, visto que as linhas formadas na imagem possuem espessura máxima de 1 pixel. Este fator é de fundamental importância para a viabilidade do algoritmo Crossing Number, utilizado para extração de minúcias. O resultado pode ser visto na figura 5.9. (a) (b) Figura 5.9 Resultado do afinamento morfológico.

63 5.6.1 Poda Este afinamento gera outro aspecto não desejado: muitas ramificações nas linhas da impressão digital. Para um especialista isso não seria problema, entretanto, no momento da extração das minúcias o algoritmo irá considerar estas ramificações como bifurcação e/ou terminação. A solução adotada para este problema foi chamada de poda, e tem o objetivo de diminuir tais aspectos da imagem afinada. Este processo é iterativo sendo possível definir um grau de poda, ou seja, quantas vezes o algoritmo realizará a operação. O funcionamento é semelhante ao do afinamento, onde existe uma máscara (figura 5.10) que é passada por toda a imagem. Encontrando região coincidente, o pixel central é removido. 0 1 0 0 0 0 Figura 5.10 Máscara da poda. O processo é realizado nas oito rotações de 45 da máscara gerando o resultado mostrado na figura 5.11. Figura 5.11 Resultado da poda.

64 É importante observar que esta solução diminui o tamanho de todo final de linha, desta forma o grau de poda deve ser utilizado com cuidado, pois poderá afetar de forma relevante o posicionamento das minúcias encontradas na imagem. O grau de poda utilizado no algoritmo foi 3. 5.7 Extração de minúcias A extração de minúcias é realizada com o método Crossing Number introduzido na seção 4.4.2. No estudo realizado por Costa (2001), este método é utilizado para extração de minúcias. O método é eficaz, sendo que duas imagens são geradas no final do processo, uma contento os pontos referentes às terminações (figura 5.12-b) e outra com os pontos referentes às bifurcações (figura 5.12-c). Esta separação é importante, pois as comparações são realizadas entre as características do mesmo tipo, melhorando a performance e diminuindo a possibilidade de falsa aceitação. (a) (b) (c) Figura 5.12 Resultado da extração de minúcias. Para cada impressão digital deverão ser guardadas as informações das terminações e das bifurcações, ou seja, as coordenadas espaciais de cada ponto obtido.

65 5.8 Eliminação de falhas em impressões digitais Em algumas imagens existem cortes transversais às linhas das impressões digitais como na figura 5.13-a. Estes cortes inicialmente foram incluídos no processamento e considerados como terminações, entretanto na etapa de comparação foi detectado que poderiam acarretar alguns problemas de falsa aceitação. As regiões com esta característica apresentavam muitas terminações próximas uma das outras, dispostas de forma uniforme, assim o algoritmo de reconhecimento respondia como sendo pontos coincidentes entre imagens diferentes. Como estas regiões têm vários pontos próximos, é possível chamá-la de região com alta densidade de minúcias. Pensando desta forma foi implementado um mecanismo de remoção por densidade mostrado na figura 5.13. (a) (b) (c) (d) Figura 5.13 Remoção por densidade.

66 Esta implementação dilata todos os pontos da imagem por um disco de raio 8 e após isto remove as regiões resultantes com área superior a 800. Apesar de ser um método de fácil implementação não foi encontrada solução semelhante na literatura pesquisada. Com este resultado a imagem está pronta para a próxima etapa, que é realizar as triangulações. No anexo C estão várias imagens de impressões digitais, onde aparecem as minúcias encontradas, já submetidas à eliminação de falhas, e a delimitação formada pelo molde adaptativo. 5.9 Triangulações A partir da extração de minúcias será obtido um conjunto de coordenadas que se referem à posição de cada ponto da imagem. Com essas informações é possível gerar os triângulos que serão armazenados para cada imagem. Dois fatores são importantes para este processo: o cálculo das distâncias entre os pontos e após isso, encontrar os ângulos formados pelo conjunto de três pontos. Para o cálculo da distância entre dois pontos p 1 (x 1, y 1 ) e p 2 (x 2, y 2 ) é utilizado a métrica da distância Euclidiana que é definida como (GONZALEZ, 2000): De( p = y (5.9-1) 2 2 1, p2 ) ( x1 x2 ) + ( y1 2 ) Para calcular os ângulos formados por este triângulo é utilizado a Lei dos Cossenos (WIKIPÉDIA, 2006), a qual afirma que em um triângulo qualquer ABC de lados BC, AC e AB que medem respectivamente a, b e c e com ângulos internos, e conforme figura 5.14, valem as relações descritas nas equações 5.9-2, 5.9-3 e 5.9-4.

67 Figura 5.14 Lei dos cossenos. (5.9-2) (5.9-3) (5.9-4) O algoritmo permite ainda, definir valor mínimo para as distâncias (distmin), ângulo mínimo (angmin) e ângulo máximo (angmax). Os valores utilizados no algoritmo foram 10, 10 e 170, respectivamente. Ao final do processo são obtidos vários triângulos, cada um formado por três distâncias e três ângulos. Estes conjuntos de informações são armazenados em arquivos de texto para identificar determinada impressão digital. O arquivo referente às terminações terá extensão.ter e o arquivo referente às bifurcações terá extensão.bif. Na figura 5.15 é mostrado um arquivo.ter gerado com este método. Figura 5.15 Arquivo gerado pelo processo de triangulação.