JANIO ANSELMO
Identificacao de Impressoes Digitais em Tempo Real
Sao Jose – SC
Dezembro/2011
JANIO ANSELMO
Identificacao de Impressoes Digitais em Tempo Real
Monografia apresentada a Coordenacao doCurso Superior de Tecnologia em Sistemasde Telecomunicacoes do Instituto Federal deSanta Catarina para a obtencao do diploma deTecnologo em Sistemas de Telecomunicacoes.
Orientadora:Profa. . Elen Macedo Lobato Merlin, Dr.
Co-orientador:
Prof. Sergio Ricardo Master Penedo, Me.
CURSO SUPERIOR DE TECNOLOGIA EM SISTEMAS DE TELECOMUNICACOES
INSTITUTO FEDERAL DE SANTA CATARINA
Sao Jose – SC
Dezembro/2011
Monografia sob o tıtulo “Identificacao de Impressoes Digitais em Tempo Real”, defendida
por Janio Anselmo e aprovada em 16 de dezembro de 2011, em Sao Jose, Santa Catarina, pela
banca examinadora assim constituıda:
Profa. . Elen Macedo Lobato Merlin, Dra. .Instituto Federal de Santa Catarina - IFSC
Orientadora
Prof. Sergio Ricardo Master Penedo, Me.Fundacao Armando Alvares Penteado - FAAP
Co-orientador
Prof. Diego da Silva de Medeiros, Tecg°.Instituto Federal de Santa Catarina - IFSC
Sabedoria sem humildade,
tem o mesmo valor que o sorriso sem expressao.
Janio Anselmo
Agradecimentos
Esse e o momento em que retribuo o carinho e a paciencia das pessoas que fizeram parte
desse esforco. A voces meu profundo obrigado. Carregarei voces sempre comigo, nunca dei-
xarao de existir em mim, pois se um dia estivermos longe mesmo pela geografia e atraves do
pensamento que seus ensinamentos e bons momentos se farao presentes, pois ao menos assim
poderei sentir saudades! Agradeco aos “culpados” todo esse sucesso:
Ao Nosso Senhor Jesus Cristo, pelas bencaos recebidas durante essa etapa de vida, ter-me
guiado e acolhido nos momentos difıceis. A voce, toda honra e toda gloria.
Maria Otılia Cabral Anselmo, minha mae, meu exemplo de mulher, que mesmo sem ter
grandes conhecimentos da area tecnica, sempre perguntando sobre o andamento do projeto e
com suas palavras de carinho, tentando me guiar.
Thiago Anselmo, meu amado irmao, meu braco forte, pela sua compreensao quando tive
que me afastar dos compromissos profissionais, assumindo todas as responsabilidades, podendo
assim dedicar-me ao cumprimento dessa etapa.
Para minha namorada, companheira e amiga Marihelly, meu “pandinha”, sempre paciente
nos meus momentos de stress, retribuindo-os com amor! Agradeco a Deus por teres entrado em
minha vida.
Higor Rachadel e Jorge Alexandrino Cardoso Costa, meus amigos, conselheiros, muitas
vezes agindo como se fossem pais. Dois gigantes no conhecimento tecnico e na verdadeira arte
da amizade.
Aos meus orientadores Elen Macedo Lobato Merlin e Sergio Ricardo Master Penedo, pela
paciencia em retirar minhas duvidas e pedir-lhes desculpas pelos atrasos nos nossos encontros.
A todas as pessoas que entenderam minha ausencia para dedicacao desse compromisso,
agradeco a compreensao, espero num futuro muito breve lhes retribuir com minha frequente
presenca.
Resumo
Este trabalho apresenta dois algoritmos para identificar impressoes digitais em tempo real.Ambos tem como objetivo primario reconhecer em um banco de imagens pre-cadastradas aimagem que mais se assemelha com a imagem coletada por um leitor biometrico (imagemde entrada). A primeira metodologia identifica impressoes atraves de uma combinacao datransformada wavelet de Haar modificada e as informacoes direcionais obtidas pelo gradienteem multiplas resolucoes. A segunda proposta identifica impressoes digitais pela metodologiaclassica, onde se faz a deteccao de minucias. Para realizacao da identificacao, e pre-estabelecidoum grau de similaridade entre a imagem de entrada e das imagens do banco de dados. A imagemque apresentar maior similaridade e eleita como identificada pelos algoritmos. Os resultadosobtidos demonstram um elevado grau de acerto e satisfacao, em ambas propostas.
Palavras-chave: Transformada wavelet, Extracao de Minucias, Biometria, Impressao Digi-tal, Matlab®.
Abstract
This paper presents two algorithms for identifying fingerprints in real time. Both there isprimary purpose recognizing in an image database (pre-registered) the image that most resem-bles the image collected by a biometric reader (input image). The methodology identifies thefirst impressions through a combination of the Haar wavelet transform and modified directionalinformation obtained by the gradient in multiple resolutions. The second proposal identifiesfingerprints by the conventional method, which makes the detection of minutiae. To performthe identification, it is established a predetermined degree of similarity between the input imageand the images from the database. The image that clearly shows highest similarity is chosen asidentified by the algorithms. The results obtained demonstrate a high degree of matching (andsatisfaction) in both proposals.
Keywords: wavelet Transform, Minutiae Extraction, Biometrics, Fingerprint, Matlab®.
Sumario
Lista de Figuras
Lista de Tabelas
1 Introducao p. 13
1.1 Definicao do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 14
1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
1.3 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
1.4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 15
1.5 Organizacao do texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16
2 Sistemas de Reconhecimento de Impressao Digital p. 17
2.1 Aquisicao da Impressao Digital . . . . . . . . . . . . . . . . . . . . . . . . . p. 18
2.2 Classificacao da Impressao Digital . . . . . . . . . . . . . . . . . . . . . . . p. 18
2.3 Identificacao da Impressao Digital . . . . . . . . . . . . . . . . . . . . . . . p. 20
3 A Transformada wavelet p. 22
3.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22
3.2 Transformada de Fourier . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 22
3.3 Transformada wavelet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24
3.3.1 Decomposicao wavelet . . . . . . . . . . . . . . . . . . . . . . . . . p. 25
3.3.2 Analise Multi-Resolucao (AMR) de Mallat . . . . . . . . . . . . . . p. 26
3.3.3 Analise Multi-resolucao em Processamento de Sinais . . . . . . . . . p. 27
3.3.4 Decomposicao wavelet em Processamento de Imagens . . . . . . . . p. 29
4 Pre-Processamento de Imagens p. 31
4.1 Normalizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31
4.2 Estimativa de orientacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32
4.3 Estimativa de frequencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 36
4.4 Filtro de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 37
4.5 Binarizacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 40
4.6 Rotacao das imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 40
4.7 Afinamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 41
5 Desenvolvimento Pratico p. 43
5.1 Aquisicao das Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . . p. 43
5.1.1 Leitor Biometrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43
5.1.2 Controlador de conexao . . . . . . . . . . . . . . . . . . . . . . . . p. 44
5.2 Cadastro de Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . . . p. 45
5.3 Classificacao de Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . p. 46
5.4 Identificacao de Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . p. 46
5.4.1 Identificacao atraves do Casamento das Informacoes Direcionais em
Multi-Resolucao . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 47
5.4.2 Identificacao atraves do Casamento de Minucias . . . . . . . . . . . p. 52
6 Resultados Obtidos p. 58
6.1 Integracao do Leitor Biometrico . . . . . . . . . . . . . . . . . . . . . . . . p. 58
6.2 Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 59
6.3 Validacao da Etapa de Classificacao . . . . . . . . . . . . . . . . . . . . . . p. 59
6.4 Validacao da Etapa de Identificacao . . . . . . . . . . . . . . . . . . . . . . p. 60
6.4.1 Casamento das Informacoes Direcionais em Multi-Resolucao . . . . p. 60
6.4.2 Casamento de Minucias . . . . . . . . . . . . . . . . . . . . . . . . p. 61
7 Conclusoes p. 62
7.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 64
Anexo A p. 66
Anexo B p. 67
Lista de Abreviaturas p. 68
Referencias Bibliograficas p. 69
Lista de Figuras
2.1 Padrao Arco . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 19
2.2 Padrao Presilha . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
2.3 Padrao Verticilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20
2.4 Exemplos de Minucias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21
2.5 Minucias na Impressao Digital . . . . . . . . . . . . . . . . . . . . . . . . . p. 21
3.1 Plano Bidimensional – Tempo x Frequencia . . . . . . . . . . . . . . . . . . p. 24
3.2 Banco de filtros com dois canais . . . . . . . . . . . . . . . . . . . . . . . . p. 28
3.3 Estagio de decomposicao em sub-bandas . . . . . . . . . . . . . . . . . . . . p. 29
3.4 Resolucoes e orientacoes de decomposicao de imagens . . . . . . . . . . . . p. 30
4.1 (a) Imagem capturada on-line (b) Imagem normalizada . . . . . . . . . . . . p. 32
4.2 (a) Imagem normalizada; (b) Respectivo mapa direcional . . . . . . . . . . . p. 36
4.3 Intensidade dos pixels ao longo de uma direcao ortogonal . . . . . . . . . . . p. 37
4.4 Filtro de Gabor de par simetrico no domınio espacial . . . . . . . . . . . . . p. 38
4.5 (a) Imagem “Crua” (b) Imagem Realcada . . . . . . . . . . . . . . . . . . . p. 40
4.6 (a) Imagem realcada (b) Imagem binarizada . . . . . . . . . . . . . . . . . . p. 41
4.7 (a) Rotacao – 3° no sentido horario (b) Rotacao – 3° no sentido anti-horario . p. 41
4.8 (a) Imagem binarizada (b) Esqueleto (afinamento) . . . . . . . . . . . . . . . p. 42
5.1 Leitor Biometrico - digitalPersona® -U.are.U® 4000B . . . . . . . . . . . . p. 43
5.2 Impressao Digital – Dedo indicador do autor . . . . . . . . . . . . . . . . . . p. 45
5.3 Interface grafica – Menu Principal . . . . . . . . . . . . . . . . . . . . . . . p. 46
5.4 Imagem de entrada – Padrao Verticilo . . . . . . . . . . . . . . . . . . . . . p. 48
5.5 Informacao direcional e Campo direcional – 3o. nıvel . . . . . . . . . . . . . p. 48
5.6 Informacao direcional e Campo direcional – 4o. nıvel . . . . . . . . . . . . . p. 48
5.7 Informacao direcional e Campo direcional – 5o. nıvel . . . . . . . . . . . . . p. 49
5.8 Regiao para obtencao do ponto central – Padrao Arco . . . . . . . . . . . . . p. 49
5.9 Determinacao dos provaveis pontos centrais – Padrao Verticilo . . . . . . . . p. 50
5.10 Regiao para obtencao do ponto central – Padrao Presilhas . . . . . . . . . . . p. 50
5.11 Exemplo de minucias – CN . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53
5.12 (a) Terminacoes (b) Bifurcacoes . . . . . . . . . . . . . . . . . . . . . . . . p. 53
5.13 (a) Sem Terminacoes Espurias (b) Sem Bifurcacoes Espurias . . . . . . . . . p. 54
5.14 (a) Estimativa do ponto central (b) Definicao da regiao de interesse . . . . . . p. 55
5.15 (a) Mascara da regiao de interesse (b) Minucias Espurias . . . . . . . . . . . p. 55
5.16 Localizacao das minucias na regiao de interesse . . . . . . . . . . . . . . . . p. 55
A.1 Menu Principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 66
B.1 Criacao do Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 67
Lista de Tabelas
5.1 Caracterısticas do Leitor Biometrico . . . . . . . . . . . . . . . . . . . . . . p. 44
5.2 Especificacoes Tecnicas do Leitor Biometrico . . . . . . . . . . . . . . . . . p. 44
5.3 Vizinhos de um pixel para aplicar o algoritmo Crossing Number . . . . . . . p. 52
5.4 Valores de Cn para o metodo do Crossing Number . . . . . . . . . . . . . . . p. 53
6.1 Teste Leitor Biometrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 58
6.2 Capturas de Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . . . p. 59
6.3 Classificacao de Impressoes Digitais . . . . . . . . . . . . . . . . . . . . . . p. 60
6.4 Identificacao de Impressoes Digitais - Metodologia wavelet . . . . . . . . . . p. 60
6.5 Identificacao de Impressoes Digitais - Metodologia Classica . . . . . . . . . p. 61
13
1 Introducao
A necessidade de identificar um objeto ou ser vivo nao e algo inovador, vindo dos primordios
da civilizacao. Nos dias atuais, todavia, para determinadas aplicacoes faz-se necessario asso-
ciar cada indivıduo a uma caracterıstica que o identifique unicamente perante os demais. Nesse
contexto, a biometria, que se refere ao uso de caracterısticas biologicas e/ou comportamentais
para a identificacao e autenticacao de indivıduos, tem ganhado relevancia na tarefa de identi-
ficar caracteres biologicos perenes, imutaveis e de relativamente facil observacao. Dentre os
campos de estudo para extrair tais informacoes, os mais difundidos sao os baseados em ca-
racterısticas fisiologicas, tais como: impressoes digitais, geometria palmar, reconhecimento de
face, identificacao da ıris, identificacao da retina e aqueles baseados nas caracterısticas de pro-
cedimento, sendo eles: reconhecimento de voz e assinatura ou reconhecimento dinamico da
digitacao. O foco de estudo do presente projeto esta concentrado nas caracterısticas fisiologicas
de impressoes digitais, amplamente utilizadas em investigacoes criminais e identificacao de
suspeitos.
O bom desempenho dos sistemas que realizam a verificacao automatica e condicionado
a correta representacao da impressao digital real em uma imagem eletronica. Normalmente, a
conversao de uma impressao digital real para um formato utilizavel por um sistema de verificacao
classico, abrange processos de normalizacao, binarizacao, afinamento de linhas, remocao de
ruıdos, filtragem e deteccao de bordas, etapas chamadas de pre-processamento. Tais etapas
sao necessarias para corrigir eventuais falhas que possam degradar a qualidade das imagens
apresentadas, garantindo resultados satisfatorios na etapa de identificacao.
(KUSSENER, 2007) apresenta um algoritmo baseado na extracao de acidentes encontrados
nas cristas papilares, chamados de minucias. Estes acidentes podem ser linhas que terminam
abruptamente (terminacoes) ou bifurcam (bifurcacoes). A tecnica envolve a localizacao das
mesmas, dado um janelamento de 3x3 pixels. Por meio da distancia euclidiana 1 (KUSSENER,
2007) definiu um limiar mınimo entre as minucias encontradas na imagem, em que as minucias
que nao cumprirem com tal limiar serao eliminadas. O algoritmo finaliza apresentando para o
1Em matematica, distancia euclidiana (ou distancia metrica) e a distancia entre dois pontos.
1.1 Definicao do Problema 14
usuario as localizacoes das minucias, assim como suas respectivas angulacoes no espaco.
Alem do sistema usual supracitado, que envolvem o pre-processamento das imagens, ou-
tra metodologia proposta sera baseada na utilizacao da transformada wavelet. Esta transfor-
mada permite a analise de imagens em multiplas escalas espaciais e diferentes resolucoes em
frequencia. No caso particular de imagens de impressoes digitais, a transformada wavelet per-
mite a analise da informacao direcional de regioes distintas das imagens, de acordo com (RAO;
SCHUNCK, 1991), para cada nıvel de resolucao em frequencia, manipulando simultaneamente
diferentes porcoes de informacao espacial.
(LOBATO, 2000) apresenta um algoritmo de identificacao onde o mesmo classifica im-
pressoes digitais de entrada em diferentes grupos datiloscopicos, procedendo a seguir a sua
identificacao em um banco de impressoes digitais previamente definido. A tecnica manipula,
em multiplas escalas e resolucoes, a similaridade entre a informacao direcional da impressao a
ser identificada e das impressoes digitais de referencia, construindo assim uma logica seletiva
que permite uma taxa de eficiencia de identificacao elevada.
Ressalta-se que o trabalho aqui exposto e uma continuidade dos trabalhos referenciados em
(KUSSENER, 2007) e (LOBATO, 2000), onde coletamos algumas sugestoes de melhorias men-
cionados pelos autores e com resultados satisfatorios estaremos descrevendo-os numa tentativa
de contribuir com os algoritmos.
1.1 Definicao do Problema
O trabalho descrito por (LOBATO, 2000) apresenta um banco de impressoes digitais fixo,
sem possibilidade de cadastrar, classificar e identificar usuarios externos. Devido o trabalho da
autora receber como parametro de entrada uma imagem do proprio banco de impressoes digi-
tais, ao iniciar o processo de comparacao a procura da imagem correspondente, o algoritmo de
identificacao, ao realizar o matching (casamento) das informacoes direcionais entre a imagem
de entrada e a imagem armazenada, chegara a similaridade ideal.
O trabalho descrito por (KUSSENER, 2007) nao apresenta banco de dados, tendo como en-
trada uma unica imagem previamente armazenada no disco rıgido. Nao ha etapas de classificacao
e identificacao das impressoes digitais, consequentemente sem interacao de usuarios exter-
nos. O mesmo apresenta para o usuario a imagem de entrada com as respectivas minucias e
angulacoes destacadas no espaco.
1.2 Objetivos 15
1.2 Objetivos
1. Realizar-se-a a coleta e armazenamento das impressoes digitais em tempo real, por meio
de uma interface grafica e um leitor biometrico. Pode-se adicionar e remover impressoes
digitais em um banco de dados para ambos algoritmos (LOBATO, 2000) e (KUSSENER,
2007) tomados como referencia.
2. No algoritmo (LOBATO, 2000) buscar-se-a estudar pontos caracterısticos nas imagens
de informacao direcional das impressoes digitais analisadas, alem dos pontos singulares
tradicionais, como forma de tornar mais eficiente o processo de identificacao.
3. No algoritmo (KUSSENER, 2007) buscar-se-a aplicar a etapa de identificacao das im-
pressoes digitais, ou seja, realizar o matching (casamento) das minucias.
4. Realizar-se-ao as melhorias supracitadas dos algoritmos expostos por (LOBATO, 2000) e
(KUSSENER, 2007), na intencao de localizar a melhor aplicacao academica/comercial.
1.3 Motivacao
O numero de produtos e servicos que encontramos fazendo uso da biometria tem ganhado
relevancia, gracas ao enorme crescimento em aplicacoes comerciais, oriundos do largo uso
destes na area de investigacao criminal.
Atualmente, a necessidade de identificar usuarios se faz presente tambem por questoes
de privacidade (controle de acesso), sendo facilmente encontrados o uso de equipamentos
biometricos aplicados em ambientes empresariais, transportes publicos e residencias. Gracas
a vasta propagacao desses, faz-se necessarios profissionais capacitados para suprir esse nicho
de mercado.
Em um segundo momento, com intuito de contribuir com os algoritmos ja apresentados e
traze-los para um cenario real, faz-se necessario aplicar as melhorias citadas na secao 1.2 desse
trabalho.
1.4 Metodologia
Inicialmente realizou-se a fundamentacao teorica englobando os conceitos de impressoes
digitais. Durante o decorrer do trabalho citam-se nomenclaturas especıficas, justificando a ne-
cessidade desse embasamento teorico. O enfoque da transformada wavelet e da estimacao da
1.5 Organizacao do texto 16
informacao direcional em multi-resolucao, sera alicerce para entendimento da parte matematica
encontrada no algoritmo original de (LOBATO, 2000).
Utilizou-se dos conceitos de sistemas operacionais, redes de computadores e bibliotecas de
codigo aberto (open source) para compilar os pacotes na plataforma Linux, necessarios para
integracao do leitor biometrico com os algoritmos de (LOBATO, 2000) e (KUSSENER, 2007).
Apos essa etapa uma simples interface grafica foi elaborada, onde podem-se adicionar e remover
em tempo real as Impressoes Digitais (ID’s).
Com as impressoes ja adquiridas, realizou-se o pre-processamento (normalizacao, estima-
tiva de orientacao, estimativa de frequencia, filtro de Gabor, binarizacao, rotacao das imagens
e afinamento) das mesmas, com objetivo de eliminar as imperfeicoes da aquisicao pelo leitor
biometrico e assim garantir melhores resultados atraves da comparacao entre imagem de en-
trada (coletada pelo equipamento biometrico) e as imagens do banco de dados ja cadastradas.
A seguir, criaram-se tres bancos de impressoes digitais utilizados na etapa de identificacao.
Apos a realizacao do pre-processamento das imagens, realizou-se a etapa de identificacao.
Para o algoritmo que faz uso da transformada wavelet (LOBATO, 2000), estipula-se um li-
miar de aceitacao no casamento dos mapas direcionais em AMR das imagens processadas. A
imagem que cumprir com o limitar e eleita como identificada. No algoritmo classico (KUSSE-
NER, 2007), tambem estipula-se um limiar de aceitacao entre as localizacoes e angulacoes das
minucias nas imagens em questao. A Impressao Digital (ID) que cumprir com tal condicao e
eleita pelo algoritmo como identificada.
Por fim, desenvolveram-se sucessivos cenarios de testes, na intencao de validar as melhorias
realizadas em ambos algoritmos e localizar a melhor aplicacao pratica, seja para fim academico
e/ou comercial. Quesitos como eficacia na identificacao e velocidade de processamento, foram
os principais itens para tal julgamento.
1.5 Organizacao do texto
A divisao do trabalho se da em sete capıtulos. O capıtulo 2 contempla conceitos basicos
sobre sistemas de reconhecimento de impressoes digitais. No capıtulo 3, sao abordados funda-
mentos teoricos da transformada wavelet atraves da AMR. Etapas de pre-processamento estao
concentradas no capıtulo 4. Aquisicao e identificacao das impressoes digitais estao presentes
no capıtulo 5. Resultados obtidos dos algoritmos estao descritos no capıtulo 6. No capıtulo 7,
sao apresentadas conclusoes e sugestoes para trabalhos futuros.
17
2 Sistemas de Reconhecimento deImpressao Digital
O reconhecimento manual de impressoes digitais alem de ser uma tarefa exaustiva, esta
exposta a uma probabilidade maior de erros. Os aperfeicoamentos nos sistemas de reconhe-
cimento automatico de impressoes digitais tem alcancado um grau de confianca relativamente
considerado, pois sao capazes de identificar os seres [e/ou objetos] de maneira veloz e nao
ambıgua de um indivıduo. Como qualquer outro sistema bem estruturado, um sistema de
reconhecimento de impressoes digitais automatico e dividido em etapas para aperfeicoar a
eficiencia, facilitar futuras melhorias e entendimento do sistema por completo. Classicamente,
podemos dividi-lo nas seguintes etapas:
1. Aquisicao da impressao digital: corresponde a maneira de capturar as imagens e repre-
senta-las em um determinado formato. Neste trabalho realizou-se a coleta em tempo
real atraves de um leitor biometrico da marca digitalPersona®, modelo U.are.U 4000B
Reader.
2. Classificacao da impressao digital: basicamente atribui uma classe/categoria para a im-
pressao digital de acordo com os pontos singulares, sendo que a posicao dos mesmos de-
termina a forma geometrica. Nao contemplamos a etapa pratica de classificacao para am-
bos algoritmos; o foco de estudo esta na identificacao de impressoes digitais. Descreve-se
apenas uma explicacao teorica.
3. Identificacao da impressao digital: consiste em encontrar no banco de dados uma im-
pressao correspondente a impressao de entrada. Esse trabalho contempla dois procedi-
mentos distintos de identificacao. No primeiro, o processo ocorre atraves das comparacoes
das informacoes direcionais em multi-resolucao (LOBATO, 2000), No segundo metodo,
a etapa dar-se-a pelo casamento das minucias (distancias euclidianas) no espaco (KUS-
SENER, 2007).
2.1 Aquisicao da Impressao Digital 18
2.1 Aquisicao da Impressao Digital
A mais antiga tecnica utilizada para aquisicao de impressoes digitais e conhecida como a
tecnica de tinta, que produz frequentemente imagens que perdem porcoes de informacao devido
ao excesso ou a falta de tinta. Essa tecnica tem sido utilizada como tecnica padrao para aquisicao
de impressoes digitais ha mais de 100 anos.
O passo inicial para capturar uma imagem de impressao digital por meio dessa tecnica e
depositar uma fina camada de tinta sobre o dedo, com o auxılio de um rolo. A seguir, o dedo
e rolado de um lado para o outro sobre uma ficha datiloscopica, para que sejam registradas
as linhas papilares. Obviamente, tal metodo consome muito tempo, sendo inconveniente sua
utilizacao em um sistema de identificacao em tempo real.
Quanto as tecnicas que utilizam prismas opticos e hologramas, estas requerem um alto grau
de precisao durante o processo de aquisicao. Alem disso, em alguns casos, especialmente para
impressoes de trabalhadores manuais e pessoas idosas, a proeminencia das linhas papilares pode
ser consideravelmente baixa, a ponto de tornar o padrao de impressao digital ilegıvel. Por outro
lado, tais metodos eliminam o processo de digitalizacao das imagens de impressoes digitais, ja
que sao capazes de adquiri-las na forma digitalizada, viabilizando o reconhecimento em tempo
real de impressoes digitais.
2.2 Classificacao da Impressao Digital
O objetivo da classificacao de impressoes digitais e atribuir a impressao digital uma ca-
tegoria especıfica que concorde com suas propriedades geometricas. A principal importancia
da tarefa de classificacao das impressoes digitais, em um sistema de verificacao, e diminuir o
universo de comparacao no banco de dados. Conforme descrito, a etapa de classificacao nao
foi implementada nos algoritmos, pois trabalha-se aqui com um numero relativamente pequeno
de imagens armazenadas. Para bancos de dados robustos e com um grande volume de imagens,
torna-se interessante a utilizacao da classificacao das ID’s.
De acordo com (WANG; WANG, 2004), o processo de classificacao baseia-se na deteccao
dos pontos singulares, ou singularidades. Estes sao as caracterısticas globais mais importantes
das impressoes digitais. A area de um ponto singular e definida como a regiao onde a curvatura
da linha (crista) e maior que o normal e onde a direcao dessa crista muda rapidamente. Os dois
tipos de pontos singulares que sao usados para classificacao em grupos sao os pontos de core e
pontos de delta.
2.2 Classificacao da Impressao Digital 19
O core (nucleo) e definido como o ponto localizado na area central da impressao digital,
conforme (COSTA, 2001). Segundo (MALTONI et al., 2003), o core corresponde ao ponto mais
extremo no centro de uma singularidade tipo loop 1. Para (ZHANG; HUANG; YAN, 2004) o
core e o ponto mais extremo da crista mais interior em um loop.
Delta e um angulo ou triangulo formado pelas cristas papilares, podendo ser formado por
dois processos: pela bifurcacao de uma linha simples ou pela divergencia de duas cristas para-
lelas. Em (ZHANG; HUANG; YAN, 2004), delta e definido como um ponto onde tres fluxos
de cristas se encontram.
Os padroes de impressoes digitais sao formados por “tipos de linha” (formas) que deter-
minam as caracterısticas gerais de classificacao da impressao. Apresentamos aqui as principais
categorias e suas respectivas definicoes:
1. Padrao Arco: possui linhas entrando em um lado do dedo e saindo do lado oposto. E
caracterizado pela ausencia de pontos singulares, conforme a Figura 2.1.
Figura 2.1: Padrao Arco
2. Padrao Presilha: possui linhas entrando em um lado do dedo e saindo no mesmo lado.
Caracteriza-se por conter um ponto de core e/ou um ponto de delta, conforme a Figura
2.2.
3. Padrao Verticilo: possui linhas entrando em um lado do dedo, espiralando interiormente e
terminando no centro. Nesse tipo de padrao, encontram-se dois pontos de core e/ou dois
pontos de delta, conforme a Figura 2.3.
1Os loop’s sao linhas que entram e saem do mesmo lado da impressao digital, invertendo assim o seu percursoa meio do dedo.
2.3 Identificacao da Impressao Digital 20
Figura 2.2: Padrao Presilha
Figura 2.3: Padrao Verticilo
2.3 Identificacao da Impressao Digital
Basicamente, o processo de identificacao das impressoes digitais determina de forma pre-
cisa se uma impressao digital de entrada se faz presente em um determinado banco de dados.
O processo de identificacao das impressoes digitais, utilizado por (LOBATO, 2000), ex-
trai informacoes direcionais da imagem de entrada para serem comparadas com as imagens do
banco de impressoes no 3o. , 4o. e 5o. nıveis de resolucao. Por fim, aponta como reconhecida
a imagem com maior similaridade em relacao a dada impressao. Se duas impressoes sao da
mesma fonte (do mesmo indivıduo), elas apresentam caracterısticas em comum (mapas direci-
onais similares).
A metodologia classica, utilizada por (KUSSENER, 2007), baseia-se na deteccao/extracao
de minucias, e em seu posicionamento relativo. As minucias, como mostrado na Figura 2.4,
sao acidentes que se encontram nas cristas papilares, como por exemplo, linhas que terminam
abruptamente ou se bifurcam. A Figura 2.5 mostra as localizacoes das terminacoes (em verme-
lho) e bifurcacoes (em verde) em uma impressao digital.
Para garantir a unicidade do indivıduo em questao, precisa-se realizar o matching (casa-
mento) de no mınimo doze minucias, conforme (XIAO; RAAFT, 2001) e (ELECCION, 1973)
2.3 Identificacao da Impressao Digital 21
entre as imagens comparadas (imagem de entrada e imagem armazenadas no banco de dados).
(a) Terminacao (b) Bifurcacao (c) Crista Curta
Figura 2.4: Exemplos de Minucias
Figura 2.5: Minucias na Impressao Digital
Com base nas observacoes supracitadas, o problema de identificacao de impressoes digitais
pode ser caracterizado como um problema de emparelhamento de caracterısticas. E desejavel a
um processo de identificacao de impressoes digitais manter sua eficiencia mesmo em condicoes
adversas, como na presenca de falhas inerentes a impressao digital, como por exemplo uma ci-
catriz ou marca nas linhas papilares. Sendo assim, e necessaria uma etapa de pre-processamento
dessas imagens, para garantir maior similaridade entre as imagens emparelhadas.
22
3 A Transformada wavelet
3.1 Introducao
A contribuicao de matematicos e fısicos para as mais variadas areas da ciencia sempre foi
evidente. No contexto de processamento digital de sinais nao seria diferente. O desenvolvi-
mento de ferramentas que possibilitam melhores visualizacoes/avaliacoes de funcoes ou sinais
quaisquer, tem permitido a diversos ramos cientıficos avaliarem com maior profundidade os
mais variados fenomenos naturais, como por exemplo: sinais de voz, de vıdeo e biologicos.
Varias tecnicas matematicas tem sido aperfeicoadas, com objetivo de melhorias relativas a
precisao e ao poder de processamento. Algumas destas tecnicas que descreveremos sao chama-
das de “transformadas”. Trata-se de ferramentas matematicas capazes de transladar uma deter-
minada informacao, para outro domınio de maior entendimento/visualizacao. Como exemplo,
podemos citar: a Transformada de Laplace, a Transformada de Fourier, a Transformada Z e a
transformada que sera o foco de estudo, a Transformada wavelet. Como ja mencionado, todas
tambem sao capazes de nos mostrar de forma analıtica caracterısticas antes nao observaveis no
domınio a que pertenciam. Vale ressaltar que a maioria dos sinais que encontramos, na natu-
reza possui uma representacao grafica no domınio do tempo (t). Os sinais temporais fornecem a
informacao de variacao de algum parametro (como por exemplo, amplitude) ao longo do tempo.
Dessas transformadas citadas, a transformada de Fourier certamente e a que merece um
considerado destaque quando tratamos de processamento digital de sinais. Na proxima secao,
detalharemos a Short-Time Fourier Transform (STFT), para melhor compreensao da transfor-
mada wavelet.
3.2 Transformada de Fourier
Seja uma funcao f (t) qualquer. Sua transformada de Fourier sera a representacao do sinal
por meio do seu espectro de frequencia. Matematicamente, a transformada de Fourier pode
3.2 Transformada de Fourier 23
ser descrita como o produto interno entre f (t) e a exponencial complexa e jΩ t . Didaticamente
podemos entender a transformada a partir da ideia de produto interno, onde obteremos a “quan-
tidade” de f (t) concentrada na frequencia. Assim a transformada de Fourier pode ser descrita
conforme (LATHI, 2007):
F(Ω),∫
∞
−∞
f (t)e− jΩ t dt (3.1)
Por meio F(Ω) podemos obter f (t) atraves da transformada de Fourier inversa, descrita
conforme (LATHI, 2007):
f (t) =1
2π
∫∞
−∞
F(Ω)e jΩ t dt (3.2)
Pelo fato de e jΩ t cobrir todo o eixo t, nao conseguimos analisar as componentes tem-
porais de f (t) partir de F(Ω), ou seja, a expressao resultante em F(Ω) nao representa a
concentracao de frequencias ao longo do tempo. Assim, identificamos uma grande dificul-
dade dessa transformacao: ela fornece o conteudo em frequencia de um sinal sem fornecer
informacoes sobre o instante de tempo em que cada componente de frequencia ocorreu. Diz-
se, entao, que a transformada de Fourier nao apresenta a propriedade de localizacao no tempo.
Alternativamente a esse problema, foi desenvolvida a analise tempo-frequencia, primeiramente
realizada por meio STFT. A transformada janelada de Fourier, ou transformada de curta duracao
de Fourier, consiste em fazer um janelamento do sinal durante a transformada com o uso de uma
funcao g(t) de duracao t0. Assim, teremos segundo (BOUTON, 2006):
F(Ω) =∫
∞
−∞
f (t)g(t− t0)e− jΩ t dt (3.3)
Dessa forma, observamos que F(Ω) dependera apenas da existencia da funcao g(t). Assim,
definimos que g(t) esta concentrada em ∂t e que o espalhamento de frequencia no intervalo ∂t
sera dado por ∂Ω .
A transformada de Fourier apresenta o espectro de frequencias de um sinal em um plano
unidimensional no eixo t. Com a transformada janelada de Fourier, podemos expressar o resul-
tado em um plano bidimensional que contempla tempo e frequencia. A representacao pode ser
feita atraves de retangulos onde mostramos, em dados intervalos de tempo, alguns intervalos
em frequencia (Figura 3.1).
No entanto, pela definicao, a duracao da janela no calculo da transformada permanece cons-
3.3 Transformada wavelet 24
Figura 3.1: Plano Bidimensional – Tempo x Frequencia
tante. Logo, temos uma resolucao tempo-frequencia melhor que na transformada comum, mas
se quisermos alterar a resolucao de analise, precisaremos refazer todo o calculo da transformada
do sinal, com um tamanho de janela diferente. Alem disso, alguns problemas dependem do ta-
manho e do formato da janela. Por exemplo, ao analisar sinais de alta frequencia, uma janela
muito longa faria com que essas componentes ficassem diluıdas no resto do sinal. Ja as compo-
nentes de baixa frequencia necessitariam de janelas muito longas para poderem ser analisadas,
o que elimina a utilidade da transformada janelada. A solucao entao seria nao uma analise com
uma unica resolucao tempo-frequencia, e sim uma analise com resolucoes diferentes, tanto no
tempo quanto na frequencia.
O problema da STFT, segundo (MALLAT, 1989) e (FARIA, 1994), remonta ao que e co-
nhecido como Princıpio da Incerteza de Heisenberg. Este princıpio, originalmente aplicado ao
momento e localizacao de partıculas moveis, pode ser tambem aplicado a informacao tempo-
frequencia de um sinal, e estabelece que nao se pode conhecer a exata representacao tempo-
frequencia de um sinal, ou seja, nao se pode saber exatamente que componentes espectrais
existem para cada instante de tempo, ou quais sao os intervalos de tempo exatos em que certa
faixa de frequencias ocorre, o que se trata de um problema de resolucao.
3.3 Transformada wavelet
Na secao 3.2, mencionamos o problema encontrado na STFT, que esta relacionado a largura
da funcao janela utilizada, ou, tecnicamente falando, ao suporte da janela. Quanto mais curta a
janela, melhor a resolucao temporal, e melhor a caracterizacao de estacionariedade, porem mais
pobre sera a resolucao em frequencia, e vice-versa. Nesse sentido, um grande esforco de pes-
3.3 Transformada wavelet 25
quisa tem sido feito para superar essas dificuldades. Isso deu origem a algumas solucoes, dentre
as quais destacamos a Transformada wavelet. Tal transformacao consiste basicamente em um
mapeamento do sinal em uma representacao tempo-escala, em que a localizacao temporal do si-
nal e agora preservada. A correta terminologia “tempo-escala” esta de acordo com (SANCHES,
2001), porem ainda encontram-se bibliografias que utilizam o termo “tempo-frequencia”. A
partir deste ponto no texto, menciona-se somente a nomenclatura “tempo-escala”.
A nocao de escala, na transformada wavelet, tem a mesma interpretacao que a escala em
mapas: fatores de escala grandes significam vistas globais, enquanto que escalas pequenas
significam vistas de detalhes. A resolucao de um sinal esta relacionada ao seu conteudo em
frequencia. Por exemplo, uma filtragem passa-baixas mantem a escala, mas reduz a resolucao
de um sinal. Agora, pode-se entao perceber de que forma a transformada wavelet pode entrar
no processo requerido: ela permite resolver o dilema da resolucao, como sera discutido a se-
guir. Para se utilizar a transformada wavelet, e oportuno antes introduzir a definicao formal da
decomposicao wavelet.
3.3.1 Decomposicao wavelet
Uma decomposicao em serie wavelet (ou em multi-resolucao) e uma expansao de uma
funcao f (x) arbitraria baseada na combinacao linear de duas funcoes especiais: uma funcao
φ(x), denominada funcao escalamento, que carrega o valor medio e outras caracterısticas de
baixas frequencias do sinal f (x), e de funcoes wavelet ψ(2 jx− k), um conjunto de funcoes de
base obtidas por meio de translacoes e dilatacoes de uma funcao denominada wavelet-mae ψ(t),
esta com media nula e energia finita. Atraves da wavelet-mae, e possıvel codificar os detalhes
de f (x) em diferentes escalas.
O conjunto ψ jk, j ∈Z, k ∈Z define uma base ortonormal para L2(R). Alternativamente
sao consideradas bases ortonormais da forma φ j0k,ψ jk, j ≥ j0k ∈ Z, onde φ00 e chamada de
funcao escalamento associada a base wavelet ψ jk. O conjunto φ j0k, k ∈ Z abrange o mesmo
sub-espaco como ψ jk < j0, k ∈ Z.
A decomposicao de uma funcao em wavelets corresponde a uma analise dessa funcao em
varias resolucoes de tempo (ou espaco) e escala (“multi-resolucao”). A definicao de wavelet
como a expansao de uma funcao significa que wavelets de altas frequencias correspondem a
intervalos (no domınio do tempo ou espacial) curtos enquanto wavelets de baixas frequencias
correspondem a intervalos mais longos.
Como uma estrutura mais geral, e apresentada na proxima secao a Analise Multi-Resolucao
3.3 Transformada wavelet 26
(AMR) de Mallat, uma ferramenta para uma descricao construtiva de diferentes bases wavelet.
3.3.2 Analise Multi-Resolucao (AMR) de Mallat
Considere-se o espaco L2(R) de todas as funcoes integraveis quadraticamente, correspon-
dente ao espaco de Hilbert de uma funcao f (x) com energia finita. A analise multi-resolucao
de Mallat pode ser definida como a visualizacao dessa funcao f (x) dentro de uma sequencia
crescente de sub-espacos fechados Vj j∈Z que se aproximam de L2(R), segundo (MALLAT,
1989), gerados por uma base ortonormal wavelet, como descrita anteriormente.
Para se proceder a AMR de uma funcao, deve-se fazer de inıcio uma escolha adequada
da funcao escalamento φ . Tal funcao e escolhida de forma a satisfazer alguns requisitos de
continuidade, suavidade e borda. Considerando a famılia φ(x− k), k ∈ Z que forma uma
base ortonormal para o espaco de referencia, descreve-se a AMR da seguinte forma:
...⊂V−1 ⊂V0 ⊂V1 ⊂ ...⊂Vj ⊂Vj+1...
A expressao anterior indica que os espacos Vj sao aninhados, e o espaco L2(R) e um encer-
ramento da uniao de todos Vj. Em outras palavras, U j∈Z esta denso em L2(R), e a intersecao
de todos Vj e o conjunto vazio.
f (x) ∈Vj⇒ f (2x) ∈Vj+1 , j ∈ Z
A expressao anterior indica que os espacos Vj e Vj+1 sao “similares”: se o espaco Vj e
gerado pelas funcoes φ j,k(x) ,k ∈ Z, entao o espaco Vj+1 e gerado por φ j+1,k(x) ,k ∈ Z, com
φ j+1,k(x) =√
2φ j,k(2x). As lacunas entre as sucessivas escalas Vj e Vj+1 sao preenchidas por
espacos Wj, gerados pelas funcoes ψ jk(x). Assim,
Vj+1 =Vj⊕Wj (3.4)
onde todos os espacos Vj sao sub-espacos aninhados e densos em L2(R), ao passo que os
espacos Wj sao seus complementos ortogonais, de forma que o operador ⊕ representa a soma
exclusiva desses sub-espacos ortogonais. Em particular, na descricao de sinais, pode-se comecar
com aproximacoes em uma dada escala (escala normal), por exemplo V0 , e entao utilizar wa-
velets para preencher os detalhes que faltam nas escalas mais finas. Assim, pode-se escrever:
L2(R) =V0⊕Wj. (3.5)
3.3 Transformada wavelet 27
A Analise Multi-Resolucao permite construir funcoes escalamento e wavelets-maes: como
V0 ⊂V1, qualquer funcao em V0 pode ser escrita como uma combinacao linear das funcoes base√
2φ(2x− k) de V1. Em particular, a funcao escalamento para uma aproximacao em multi-
resolucao pode ser obtida como a solucao para uma equacao de dilatacao em 2 escalas:
φ(x) = ∑k
h(k)√
2φ(2x− k), (3.6)
para uma sequencia de coeficientes h(k).
Considere-se agora o complemento ortogonal Wj de Vj para definir Vj+1, ou seja, Vj+1 =
Vj⊕Wj. Uma vez que a funcao φ foi determinada, a wavelet-mae associada e obtida por uma
expressao aparentemente similar:
ψ(x) =√
2∑k(−1)kh(1− k)φ(2x− k). (3.7)
Pode ser mostrado que √
2ψ(2x− k), k ∈ Z e uma base ortonormal para W1. Analoga-
mente, a propriedade de similaridade da AMR assume que j√
2ψ(2 jx−k), j,k∈Z e uma base
para Wj. Como U j∈ZVj = U j∈ZWj e densa em L2(R), a famılia ψ j,k(x)=j√
2ψ(2 jx−k), j,k∈Z e uma base para L2(R). Para construcao de h(k), obviamente algum esforco e requerido.
Em resumo, uma decomposicao em multi-resolucao descreve um sinal em termos de suas
“medias locais” (os termos em Vj ) e seus “detalhes locais” (os termos nos espacos Wj), que
estao localizados em oitavas de frequencia escaladas diadicamente pelo parametro de escala ou
resolucao 2 j, e localizados espacialmente por uma translacao k. Tal decomposicao pode nao ser
ortogonal; no caso nao-ortogonal (que inclui as bases wavelet comumente usadas em processa-
mento de imagens), trabalha-se com pares de bases duais ou “biortogonais”, que satisfazem a
seguinte condicao:
〈ψm,ψ′n〉= δm,n ,n = m (3.8)
onde 〈.〉 e o operador produto interno.
3.3.3 Analise Multi-resolucao em Processamento de Sinais
Lembrando da secao anterior que φ(x) e ψ(x) sao respectivamente
3.3 Transformada wavelet 28
φ(x) = ∑k
h(k)√
2φ(2x− k) (3.9)
ψ(x) =√
2∑k
g(k)φ(2x− k) =√
2∑k(−1)kh(−k+1)φ(2x− k). (3.10)
As sequencias em L2(R) h(k) ,k ∈ Z e g(k) ,k ∈ Z sao Filtro em Quadratura Modulada
(QMF), de acordo com (STRANG, 1989) e (MALLAT, 1989) na terminologia de analise de
sinais. A relacao entre h(k) e g(k) e dada por:
g(k) = (−1)kh(1− k) (3.11)
A sequencia h(k) caracteriza a resposta ao impulso de um filtro “passa-baixas” ou “banda-
baixa”, enquanto que g(k) e a resposta ao impulso de um filtro “passa-altas” ou “banda-alta”.
A Figura 3.2 mostra um diagrama (para duas sub-bandas) de analise via banco de filtros. Os
filtros passa-baixas H(k) e passa-altas G(k) estao seguidos por um operador de dizimacao [↓ 2],
que reduz a taxa de amostragem por um fator 2 na saıda desses filtros ai(n), i = 0,1, .... Para
recompor o sinal, a taxa de amostragem e restaurada por uma interpolacao de fator 2 (operador
[↑ 2]), seguida por mais uma etapa de filtragem e superposicao das sub-bandas. Se os filtros
forem escolhidos corretamente, esse processo proporcionara reconstrucao perfeita.
Figura 3.2: Banco de filtros com dois canais
Os filtros de sıntese, H(k) e G(k) possuem os mesmos coeficientes dos filtros de analise
H(k) e G(k), respectivamente, mas invertidos no domınio do tempo (espaco), alem de possuırem
uma atraso de π/2 na resposta de fase em relacao aqueles.
Do ponto de vista de bancos de filtros, o conceito de multi-resolucao leva a outra interpretacao:
a resolucao no tempo cresce com a frequencia (central) do filtro, de forma que as resolucoes
temporais e frequencias variam com essa frequencia central. Dessa forma, satisfazendo ao
Princıpio da Incerteza de Heisenberg, a resolucao temporal e melhor para frequencias altas,
enquanto que a resolucao em frequencia e melhor para baixas frequencias.
3.3 Transformada wavelet 29
3.3.4 Decomposicao wavelet em Processamento de Imagens
O uso de wavelet em processamento de imagens deve lidar com as peculiaridades de se ter
duas dimensoes nesta aplicacao. Existem varias extensoes da transformada wavelet unidimen-
sional para dimensoes maiores. Segundo (SANCHES, 2001), para sinais de imagem, define-se
uma transformada wavelet bidimensional obtida por meio de filtragem em linhas e colunas,
correspondendo a orientacao horizontal e vertical.
A Figura 3.3 representa um estagio de uma decomposicao de imagem em sub-bandas: os co-
eficientes wavelet da imagem sao obtidos usando-se um algoritmo similar ao de decomposicao
em sub-bandas de um sinal unidimensional, realizando-se inicialmente a filtragem das linhas e
depois das colunas da imagem. Este tipo de decomposicao gera sub-imagens correspondentes
a diferentes nıveis de resolucao e orientacao, como ilustrado na Figura 3.4. Realizando-se uma
filtragem passa-altas segundo as linhas, seguida de uma filtragem passa-baixa segundo as colu-
nas, obtem-se uma sub-imagem de orientacao vertical, que apresenta transicao suave de tons ao
longo das colunas. Na sub-imagem de orientacao horizontal, a transicao suave de tons ocorre
ao longo das linhas, e na sub-imagem de orientacao diagonal, a transicao de tons e semelhante
ao longo das linhas e colunas.
Figura 3.3: Estagio de decomposicao em sub-bandas
O procedimento se alterna entre operacoes nas linhas e nas colunas. Primeiramente, cal-
culamos um passo de medias e diferencas no valor dos pixels de cada linha da imagem. Em
seguida, calculamos as medias e as diferencas em cada coluna. Apos esta operacao, obtere-
mos a imagem da Figura 3.4 (c), composta por quatro imagens menores. A imagem do canto
superior esquerdo contem os coeficientes de baixa resolucao, correspondente a media dos pi-
xels da imagem original, enquanto que as tres demais imagens contem os coeficientes de alta
resolucao, os coeficientes wavelet, que irao permitir a reconstrucao da imagem. Para comple-
tar a transformacao, repetimos este processo recursivamente, somente nos quadrantes contendo
3.3 Transformada wavelet 30
as medias, em ambas as direcoes. Se uma imagem for decomposta em N nıveis de resolucao,
sendo N > 0 e N ∈ Z, isso implicara a obtencao de 3N +1 sub-imagens.
Figura 3.4: Resolucoes e orientacoes de decomposicao de imagens
31
4 Pre-Processamento de Imagens
As etapas classicas de pre-processamento foram descartadas, nos algoritmos dos autores
(LOBATO, 2000) e (KUSSENER, 2007), pois estes utilizavam imagens com um satisfatorio
padrao de qualidade. Porem, ao trabalhar com extracao das imagens em tempo real, a coleta
nos remete esporadicamente a uma imagem de qualidade satisfatoria. Devido as variacoes nas
condicoes da pele e imperfeicoes dos mais variados tipos, coletamos imagens degradadas, falhas
e ate mesmo com diferencas de nitidez (devido a pressao exercida sobre o leitor biometrico).
Sendo assim, com o objetivo de realcar as imagens para obtencao das informacoes direcionais
e minucias com maior confiabilidade, recorre-se as seguintes etapas do pre-processamento:
XNormalizacao;
XEstimativa de orientacao;
XEstimativa de frequencia;
XFiltro de Gabor;
XBinarizacao;
XRotacao das imagens;
XAfinamento.
Esses metodos sao baseados nas tecnicas de (HONG; WAN; JAIN, 1998) expostas por
(THAI, 2003), com a premissa de melhorar o casamento das informacoes.
4.1 Normalizacao
A normalizacao e utilizada para manter a mesma intensidade dos pixels que compoem a
imagem. A imagem normalizada e definida matematicamente como:
4.2 Estimativa de orientacao 32
N(i, j) =
M0 +
√V0(I(i, j)−M)2
V , para I(i, j) > M,
M0−√
V0(I(i, j)−M)2
V , caso contrario,(4.1)
onde M e V sao a media e variancia estimada de I(i, j), respectivamente, M0 e V0 sao a media
desejada e os valores de variancia, respectivamente, I(i, j) representa o valor de nıvel de cinza
dos pixels (i, j) e N(i, j) representa o valor de nıvel de cinza dos pixels normalizados. A
normalizacao nao altera as estruturas das cristas em uma impressao digital, simplesmente pa-
dronizando a variacao dos valores dos nıveis de cinza, facilitando os estagios posteriores. A
Figura 4.1 (b) representa a normalizacao da Figura 4.1 (a).
(a) (b)
Figura 4.1: (a) Imagem capturada on-line (b) Imagem normalizada
4.2 Estimativa de orientacao
O campo de orientacao de uma impressao digital define a orientacao local das cristas con-
tidas na imagem. A estimativa de orientacao e um passo fundamental na aplicacao do filtro
de Gabor (visto adiante), pois depende-se da orientacao para efetivamente realcar a impressao
digital.
O metodo utilizado baseia-se na orientacao do vetor gradiente, que aponta para a direcao
de maxima variacao de intensidade do nıvel de cinza da imagem. Assim, e esperado que a
orientacao de uma determinada linha papilar seja ortogonal a direcao do gradiente de um dado
pixel. Entretanto, tal estimador, baseado em uma unica amostra, apresenta baixo desempenho
devido as irregularidades nas linhas papilares bem como a presenca de ruıdo.
Assumindo uma variacao espacial baixa da orientacao das linhas papilares, uma melhor es-
4.2 Estimativa de orientacao 33
timativa da orientacao pode ser obtida baseada em uma regiao da imagem do que em um unico
pixel. Assim, para essa regiao, diversas direcoes de vetores gradiente sao obtidas e a orientacao
local dominante e determinada atraves de uma composicao (calculo da direcao resultante) des-
sas diversas direcoes vetoriais. No entanto, esse caminho apresenta dois principais problemas:
1. A orientacao resultante nao e unica (direcao θ = θ +π);
2. Poderia haver cancelamento de alguns componentes no processo de obtencao da orientacao
resultante quando nao o fosse esperado.
Uma forma de contornar esses problemas e descrita a seguir. Assume-se que as direcoes
dos vetores gradiente obtidas em uma determinada regiao estao indexadas pelo subscrito j, onde
j = 1,2,3, ...,N, indica a respectiva direcao. Considera-se agora um segmento de referencia
orientado com angulo θ e a orientacao do j-esimo segmento subentendido de angulo θ j. Pode-se
entao mostrar que nao importa o sentido que o angulo e tomado para se determinar a orientacao
local dominante do gradiente.
Seja R j o comprimento do j-esimo segmento. A projecao desse segmento sobre o segmento
de referencia e R j cos(θ j−θ) Considerando-se agora a soma do valor absoluto de todas as N
projecoes, tem-se:
S1 =N
∑j=1|R j cos(θ j−θ)|. (4.2)
S1 varia a medida que a orientacao do segmento de referencia θ e alterada. O valor que
maximiza S1 e denominado orientacao local dominante para um dado conjunto de direcoes
de vetores gradiente de uma determinada regiao. Assim, pode-se calcular a orientacao local
dominante maximizando S1 com relacao a θ . Visto que o valor absoluto da funcao S1 nao e
diferenciavel para todos os valores de θ , pode-se maximizar alternativamente a soma S2, onde:
S2 =N
∑i=1
R2i cos2(θi−θ). (4.3)
Assim, diferenciando S2 com relacao a θ e igualando-se o resultado a zero, tem-se:
N
∑j=1
R2j sin2θ j cos2θ =
N
∑j=1
R2j cos2θ j sin2θ . (4.4)
Portanto, a estimativa otima de orientacao local dominante e dada por:
4.2 Estimativa de orientacao 34
tan(2θ) =
N∑j=1
R2j sin2θ j
N∑j=1
R2j cos2θ j
. (4.5)
Ha uma forma alternativa para a obtencao da expressao em 4.5. Considerem-se os segmen-
tos no plano complexo representados por R jeθ j , onde R j representa o comprimento do j-esimo
segmento e θ j e sua direcao. Elevando-se ao quadrado os segmentos complexos, cada um desses
dara origem a um termo da forma R2je
2iθ j . Efetuando-se a soma dos N termos, o valor complexo
resultante possuindo uma orientacao β com relacao ao eixo horizontal (x), e dado por:
tan(β ) =
N∑j=1
R2j sin2θ j
N∑j=1
R2j cos2θ j
. (4.6)
Tal equacao e identica a Equacao 4.5. Pode-se tambem mostrar que o valor otimo de θ
maximiza S2. Para tal, deve-se mostrar que o valor de d2S2dθ 2 para tal caso e negativo. Assim,
d2S2
dθ 2 =−2N
∑j=1
R2j cos(2θ j−2θ). (4.7)
Deve-se entao mostrar que o resultado da soma na Equacao 4.7 e positivo. Para tanto,
assume-se que a textura possui apenas uma orientacao local dominante. Nesse caso, os termos
cos(2θ j−2θ), para j = 1,2,3, ...,N, representam os quadrados dos modulos das projecoes dos
vetores sobre a linha orientada de direcao 2θ . Portanto, a soma desses valores e positiva quando
a textura possui somente uma orientacao local dominante. Assim, pode-se afirmar, no sentido
da maxima norma quadratica de S1, que a Equacao 4.6 fornece uma estimativa adequada da
orientacao local para uma determinada regiao da imagem.
Outro ponto interessante de interpretacao pode ser abordado como segue. O procedimento
que deu origem a Equacao 4.6 pode ser considerado como um processo de suavizacao da ima-
gem. (RAO; SCHUNCK, 1991) utilizaram para tal, um filtro do tipo box (todos os coeficientes
identicos). (JAIN; HONG; BOLLE, 1987) e (THAI, 2003) utilizaram uma envoltoria gaussi-
ana para suavizacao. Das metodologias expostas, aplicamos para essa secao a metodologia de
(THAI, 2003).
Para se utilizar a Equacao 4.6 na estimativa da orientacao em cada ponto da imagem,
considera-se o vetor gradiente possuindo componentes Gx e Gy. Assim, no plano complexo
4.2 Estimativa de orientacao 35
o vetor gradiente e representado por G = Gx + iGy. Considerando-se agora o vetor gradiente
no ponto (m,n) da imagem, em representacao polar, tem-se: Rm,neiθm,n . Assim, a estimativa da
orientacao local dominante em uma determinada regiao N x N da imagem e dada por:
θ =12
tan−1
N∑
m=1
N∑
n=1R2
mn sin(2θmn)
N∑
m=1
N∑
n=1R2
mn cos(2θmn)
(4.8)
Seja, entao, α ∈ [0,π) a orientacao das linhas papilares em uma dada regiao da imagem.
Usando-se a seguinte notacao:
X =N
∑m=1
N
∑n=1
R2mn cos2
θmn =N
∑m=1
N
∑n=1
G2x(m,n)
Y =N
∑m=1
N
∑n=1
R2mn sin2
θmn =N
∑m=1
N
∑n=1
G2y(m,n) e
Z =N
∑m=1
N
∑n=1
R2mn sinθmn cosθmn =
N
∑m=1
N
∑n=1
Gx(m,n)Gy(m,n) (4.9)
pode-se escrever segundo (KUOSMANEN; TICO, 1999):
α =12
tan−1(
2ZX−Y
)+ sign(sign(Z)−0.5) [1− sign(1+ sign(X−Y ))]
π
2+
π
2(4.10)
onde sign(.) representa a funcao sinal. Os valores de X ,Y e Z podem ser obtidos segundo 4.9
para qualquer estagio de decomposicao wavelet l.
Denotem-se por X (0), Y (0) e Z(0) tres imagens com a mesma resolucao da imagem original
(NxN = 1x1), definidas como segue:
X (0)(i, j) = [Gx(i, j)]2 (4.11)
Y (0)(i, j) = [Gy(i, j)]2 (4.12)
Z(0)(i, j) = [Gx(i, j)Gy(i, j)] (4.13)
4.3 Estimativa de frequencias 36
A Figura 4.2 (b) demonstra uma estimativa de orientacao dos mapas direcionais da Figura
4.2 (a).
(a) (b)
Figura 4.2: (a) Imagem normalizada; (b) Respectivo mapa direcional
4.3 Estimativa de frequencias
Alem da orientacao da imagem, outro parametro importante que e usado na construcao
do filtro de Gabor e a frequencia local das cristas. O primeiro passo na fase de estimacao da
frequencia e dividir a imagem em blocos de tamanho W x W . O proximo passo e projetar os
valores de nıveis de cinza de todos os pixels localizados no interior de cada bloco ao longo de
uma direcao perpendicular a orientacao local das cristas. Essa projecao representa uma forma de
onda sinusoidal com os pontos mınimos locais correspondentes as cristas da impressao digital,
conforme a Figura 4.3.
Novamente utilizando a metodologia empregada por (THAI, 2003), o mesmo alterou a es-
timativa de frequencia original usado por (HONG; WAN; JAIN, 1998), incluindo uma projecao
adicional como fase de suavizacao previa para a computacao do espacamento da crista. Trata-
se de suavizar a forma de onda projetada usando um filtro passa-baixas gaussiano de tamanho
W x W para reduzir o efeito do ruıdo na projecao. O espacamento da crista S(i, j) e entao
calculado pela contagem do numero medio de pixels entre os pontos mınimos consecutivos na
onda projetada. Assim, a frequencia da crista F(i, j) para um bloco centrado no pixel e definida
como:
F(i, j) =1
S(i, j). (4.14)
4.4 Filtro de Gabor 37
Dado que a impressao digital e digitalizada em uma resolucao fixa, o valor ideal de frequencia
da crista deve estar dentro de um intervalo determinado. No entanto, ha casos em que um valor
de frequencia valida nao pode ser obtido de forma confiavel da projecao. Por exemplo, quando
nao ha picos consecutivos que podem ser detectados a partir da projecao, e tambem quando os
pontos de minucias aparecerem no bloco. Para os blocos em que aparecem pontos de minucias,
a forma de onda desejada nao e uma sinusoidal bem definida, podendo levar a uma estimativa
imprecisa da frequencia da crista. Assim, os valores fora da faixa de frequencia, pre-definidos
por (THAI, 2003), sao interpolados usando valores de blocos vizinhos que tem frequencias bem
definidas.
Figura 4.3: Intensidade dos pixels ao longo de uma direcao ortogonal
4.4 Filtro de Gabor
Uma vez que a orientacao e informacao de frequencias das cristas foram determinadas,
esses parametros serao usados para construir o filtro simetrico de Gabor. O filtro de Gabor
bidimensional consiste em uma onda sinusoidal plana de orientacao e frequencia determinadas,
modulada por uma envoltoria gaussiana, conforme (DAUGMAN, 1985). Os filtros de Gabor
sao aqui aplicados, por terem como propriedade seletividade em frequencia e orientacao. Essas
propriedades permitem ao filtro dar resposta maxima as cristas em uma orientacao e frequencia
especıfica na imagem da impressao digital. Portanto, o filtro de Gabor corretamente aplicado
pode usado para preservar as estruturas das cristas enquanto reduz o ruıdo.
O filtro de Gabor de par simetrico e a parte real da funcao de Gabor, dado por uma onda
cosseno modulada por uma gaussiana, como mostra a Figura 4.4. O par simetrico do filtro de
4.4 Filtro de Gabor 38
Gabor no domınio espacial e definido em conformidade com (JAIN; FARROKHNIA, 1991):
G(x,y;θ , f ) = exp
−1
2
[x2
θ
σ2x+
y2θ
σ2y
]cos(2π f xθ ), (4.15)
xθ = xcosθ + ysinθ (4.16)
yθ =−xsinθ + ycosθ (4.17)
onde θ e a orientacao do filtro de Gabor, f e a frequencia da onda cosseno, σx e σy sao os
desvios-padrao da envoltoria gaussiana ao longo dos eixos x e y, respectivamente, e (xθ , yθ )
definem os eixos x e y a coordenada do filtro, respectivamente.
Figura 4.4: Filtro de Gabor de par simetrico no domınio espacial
A convolucao de um pixel (i, j) com a imagem requer o valor correspondente a orientacao
O(i, j) e o valor de frequencia da crista F(i, j) do pixel. Assim, a aplicacao do filtro de Gabor
G obtem o realce da imagem E da seguinte forma:
E(i, j) =
wx2
∑u=−wx
2
wy2
∑v=−wy
2
G(u,v;O(i, j),F(i, j))N(i−u, j− v) (4.18)
onde O e a orientacao da imagem, F e a frequencia da imagem das cristas, N e a imagem
normalizada, e Wx e Wy sao a largura e a altura da mascara do filtro de Gabor, respectivamente.
A largura de banda do filtro especifica a faixa de frequencia de resposta do filtro, e e de-
terminada pelos parametros de desvio-padrao σx e σy A largura de banda do filtro e ajustada
para corresponder a frequencia local das cristas, logo pode-se deduzir-se que os parametros de
4.4 Filtro de Gabor 39
selecao σx e σy devem estar relacionados com a frequencia das cristas. No entanto, o algoritmo
original por (HONG; WAN; JAIN, 1998), σx e σy foram empiricamente definidos [para valores
fixos de 4.0 e 4.0, respectivamente].
Uma desvantagem do uso de valores fixos e que isto forca a banda a ser constante, o que nao
leva em conta a variacao que pode ocorrer nos valores das frequencias das cristas. Por exemplo,
se um filtro com uma largura de banda constante e aplicado a uma imagem digital que apresenta
variacao significativa nos valores de frequencia, isto poderia levar a um aumento nao uniforme
do realce (realce espurio). Assim, em vez de se usar valores fixos, foi escolhida a metodologia
de (THAI, 2003), em que valores de σx e σy passam a ser parametros da funcao de frequencia
das cristas, que sao definidas como:
σx = kxF(i, j)uma (4.19)
σy = kyF(i, j) (4.20)
onde F e a frequencia das cristas da imagem, kx e uma constante para variavel σx, e ky e uma
constante para variavel σy. Isto permite uma abordagem mais flexıvel para ser usada, no sentido
de que os valores de σx e σy agora podem ser especificados adaptativamente de acordo com a
frequencia local das cristas da imagem.
Alem disso, o algoritmo original, a largura e a altura da mascara do filtro foram ambos
fixados em 11. O suporte do filtro controla a extensao espacial do filtro, que idealmente deveria
ser capaz de acomodar a maioria das informacoes uteis da forma de onda de Gabor. No entanto,
um filtro de suporte fixo nao e ideal, pois nao permite a acomodacao de formas de onda de
Gabor de diferentes larguras de banda. Assim, para permitir que o suporte do filtro possa variar
de acordo com a largura de banda da forma de onda, (THAI, 2003) definiu o suporte do filtro
como funcao do desvio-padrao.
wx = 6σx (4.21)
wy = 6σy (4.22)
onde wx e wy sao a largura e altura da mascara do filtro de Gabor, respectivamente. Sendo assim,
σx e σy sao os desvios padrao da envoltoria gaussiana ao longo dos eixos x e y, respectivamente.
4.5 Binarizacao 40
Nas equacoes 4.21 e 4.22, a largura e a altura da mascara do filtro sao especificados como 6σ ,
devido a maioria das informacoes das formas de ondas de Gabor estarem presentes na regiao
[−3σ ,3σ ] de distancia do eixo y. Por tal razao, esta selecao de parametros permite que a
mascara do filtro capture a maioria das informacoes da onda de Gabor. A Figura 4.5 mostra em
(a) uma imagem coletada em tempo real, sem as etapas do realce. Na sequencia, em 4.5 (b), sua
respectiva imagem realcada.
(a) (b)
Figura 4.5: (a) Imagem “Crua” (b) Imagem Realcada
4.5 Binarizacao
O processo de binarizacao consiste em transformar a imagem realcada em uma imagem
com somente dois nıveis de intensidade: 0 (preto) ou 1 (branco), em que o preto indica as
cristas e o branco indica os vales. O algoritmo de binarizacao testa cada pixel da imagem de
entrada e atribui o valor 0 se a intensidade desse pixel for menor que o nıvel de decisao 160
(empiricamente definido) e o valor 1 se a intensidade for maior. A Figura 4.6 (b) demonstra a
imagem binarizada da Figura 4.6 (a).
4.6 Rotacao das imagens
Devido as diferentes maneiras dos usuarios posicionarem seus dedos no leitor biometrico,
alem da etapa de realce das impressoes de entrada, se faz necessaria a rotacao de 3° (no sentido
horario em anti-horario) da imagem original, como uma alternativa de facilitar o casamento
(matching) das informacoes direcionais, entre impressao de entrada e impressoes do banco de
dados. O valor de 3° tomado como base para rotacao e satisfatorio pois valores acima do
mesmo deslocam a imagem da impressao digital para fora da area de captura do sensor, o que
4.7 Afinamento 41
(a) (b)
Figura 4.6: (a) Imagem realcada (b) Imagem binarizada
sinaliza fraude do sistema de identificacao. As imagens rotacionadas estao contidas no banco de
dados realce rot.mat. A Figura 4.7 (a) mostra como seria a rotacao da Figura 4.6 (b), com um
deslocamento de 3° no sentido horario, consequentemente, 4.7 (b) mostra como seria a rotacao
da Figura 4.6 (b), para um deslocamento de 3° no sentido anti-horario.
(a) (b)
Figura 4.7: (a) Rotacao – 3° no sentido horario (b) Rotacao – 3° no sentido anti-horario
A rotacao das imagens foi aplicada somente no algoritmo de decomposicao wavelet em
multi-resolucao, pois o algoritmo de metodologia classica baseia-se na distancia entre as minucias.
4.7 Afinamento
O afinamento de imagens e uma tecnica que pode ser utilizada para a remocao de pixels
indesejaveis sem alterar a sua estrutura basica. Em uma imagem digital, o excesso de pixels
pretos que compoem as cristas e removido de modo a obter um esqueleto da impressao digital.
As cristas passam a ter larguras de um pixel e preservam a informacao referente a distribuicao
4.7 Afinamento 42
das linhas dactilares.
A maioria dos metodos de afinamento de imagem e iterativa e por isso tende a ser lenta,
uma vez que o excesso de pixels e eliminado utilizando-se uma varredura em todos os pixels da
imagem. A Figura 4.8 apresenta, em (a), uma impressao digital binarizada; em (b), seu respec-
tivo esqueleto. Pode-se perceber que o afinamento das cristas mantem preservada a estrutura da
imagem.
(a) (b)
Figura 4.8: (a) Imagem binarizada (b) Esqueleto (afinamento)
O afinamento das imagens foi somente aplicado na metodologia classica, pois a metodolo-
gia de decomposicao wavelet em multi-resolucao, baseia-se no casamento dos mapas direcio-
nais.
43
5 Desenvolvimento Pratico
Como descrito no capıtulo 2, as etapas do reconhecimento de impressao digital sao respec-
tivamente: aquisicao, classificacao e identificacao. Nesse capıtulo detalham-se as etapas em
que se empregam as efetivas modificacoes, sendo elas: a aquisicao e identificacao. Para a etapa
de classificacao, explica-se sua nao utilizacao na secao 5.3.
5.1 Aquisicao das Impressoes Digitais
Para aquisicao das imagens, utilizou-se um leitor biometrico com tecnologia optica, ga-
rantindo qualidade e confiabilidade da imagem. Por meio da biblioteca libfprint versao 0.0.6,
foi compilado o codigo fonte para o sistema operacional General Public License (GNU/GPL)
Linux Ubuntu, e atraves do Matlab® invoca-se o mesmo para captura das imagens.
5.1.1 Leitor Biometrico
Para aquisicao das imagens em tempo real, utilizou-se um leitor biometrico do fabricante
digitalPersona®, modelo U.are.U® 4000B, ilustrado na Figura 5.1. Basta o usuario colocar o
dedo e automaticamente o dispositivo realiza a captura da imagem atraves de leitura optica. O
sistema eletronico calibra o dispositivo e codifica os dados da imagem antes de enviar para uma
porta Universal Serial Bus (USB). Seguem algumas caracterısticas e especificacoes tecnicas
extraıdas da pagina eletronica do fabricante:
Figura 5.1: Leitor Biometrico - digitalPersona® -U.are.U® 4000BFonte: http://www.digitalpersona.com/
5.1 Aquisicao das Impressoes Digitais 44
Caracterısticas
A tabela 5.1 mostra as principais caracterısticas do leitor biometrico.
Tabela 5.1: Caracterısticas do Leitor Biometrico
Caracterısticas DetalhesFormato Pequeno/CompactoSeguranca Criptografia da imagem capturadaAuto-calibracao Ajuste automatico da luminosidadeVelocidade Rapidez de leitura e transferenciaVida util Superior a um milhao de toquesArea de Captura Lente revestida com pelıcula de siliconeCompatibilidade Compatıvel com todas as aplicacoes de U.are.U®
Especificacoes Tecnicas
A tabela 5.2 mostra as principais especificacoes tecnicas do leitor biometrico.
Tabela 5.2: Especificacoes Tecnicas do Leitor Biometrico
Especificacoes Tecnicas DetalhesDefinicao 512 Dots Per Inch (dpi), 8-bits (256 nıveis do cinza)Area da captacao 14.6mm (largura no centro) e 18.1mm (comprimento)Tamanho do sensor Aproximadamente, 79 mm x 49 mm x 19 mmInterface USB: 1.0, 1.1 e 2.0 full-speedSistema operacional Microsoft Windows® 98, Me, NT 4.0, 2000, XP
5.1.2 Controlador de conexao
Como os drivers (controladores) sao adquiridos separadamente do leitor de impressoes, a
alternativa “elegante” seria desenvolver um driver para integracao do leitor diretamente com o
Matlab®. Porem, a solucao encontrada para realizar a coleta foi o uso de um Software Deve-
lopment Kit (SDK), uma biblioteca livre, chamada de libfprint, versao 0.0.6, que interage com
o leitor biometrico atraves da porta USB. Essa biblioteca tem como vantagem suportar varios
modelos de leitores, bastando apenas compilar a mesma no sistema operacional em questao.
O sistema operacional que utilizamos para desenvolvimento e compilacao foi a distribuicao
GNU/GPL Linux Ubuntu 11.10 Oneiric Ocelot, plataforma 64 bits. Apos a compilacao do
pacote libfprint 0.0.6.orig.tar e instalacao das bibliotecas envolvidas, o programa img capture.c
esta pronto para utilizacao. Sendo assim, podemos invocar o programa atraves do Matlab® e
dar sequencia ao processamento da imagem.
5.2 Cadastro de Impressoes Digitais 45
O pacote contem o programa completo, incluindo todo processo de identificacao por meio
das minucias. Porem, como o objetivo primario e a captura, utilizou-se somente o arquivo
img capture.c. Ao realizar a chamada da funcao, a mesma realiza a captura e salva a imagem
em um diretorio pre-definido (/home/janio/MATLAB/fingers) no formato Portable Graymap
(PGM). Por meio do Matlab® alterou-se o formato para Bitmap (BMP), e seguiu-se com o
processamento da imagem adquirida. A Figura 5.2 mostra a coleta de uma impressao digital do
autor.
Figura 5.2: Impressao Digital – Dedo indicador do autor
5.2 Cadastro de Impressoes Digitais
Na secao 5.1.2 detalhamos a extracao das impressoes digitais do leitor optico e seu ar-
mazenamento em disco rıgido, porem se faz necessario guarda-las para que possamos realizar
futuramente a identificacao de uma imagem entrante. Sendo assim, realizou-se o desenvolvi-
mento de uma simples interface grafica, como mostra a Figura 5.3, para adicionar ou subtrair
as impressoes nos bancos de dados do Matlab®.
Um simples codigo da interface grafica encontra-se no Anexo A. Criaram-se tres bancos de
dados, com os respectivos nomes: normal.mat, realce.mat e realce rot.mat. O primeiro contem
as imagens capturadas livre de tratamento, o segundo contempla as imagens do primeiro, porem
pre-processadas (realcadas), e o terceiro e ultimo apresenta as imagens da segunda base de
dados, porem rotacionadas. Um simples exemplo de criacao de banco de dados encontra-se no
Anexo B.
O algoritmo gera um debug no console do Matlab® para cada operacao realizada, como
uma forma de manter o usuario ciente do sucesso da operacao ou ate mesmo da falha do pro-
cesso.
5.3 Classificacao de Impressoes Digitais 46
Figura 5.3: Interface grafica – Menu Principal
5.3 Classificacao de Impressoes Digitais
Na etapa de classificacao, conforme (LOBATO, 2000), o algoritmo classifica as impressoes
digitais atraves da “varredura” nas informacoes direcionais da imagem em multi-resolucao,
a procura dos pontos singulares (pontos de core e pontos de delta) considerados suficientes
para classificacao conforme (BRISLAWN, 1995) e (JAIN; HONG; BOLLE, 1997). A etapa
classificatoria em tempo real nao sera explanada nesse trabalho, devido as seguintes questoes:
1. Classificar se faz necessario para diminuir o numero de comparacoes entre a imagem de
entrada e a imagem armazenada, como consequencia reduzindo o tempo de processa-
mento. Imagens do mesmo padrao geometrico das cristas papilares sao depositadas no
mesmo banco de dados. Porem, a etapa e valida somente quando encontramos um vo-
lume considerado de impressoes digitais. Como o objetivo e trazer o algoritmo para o
mercado de controle de acesso, com limitacoes no numero de imagens, o banco de dados
nao apresenta volume suficiente pra empregar o algoritmo de classificacao.
2. O leitor utilizado nesse projeto se trata de um leitor de identificacao, que nao apresenta
uma area efetiva suficiente para capturar os pontos singulares (pontos de core e delta,
que encontram-se geralmente nas extremidades das polpas dos dedos), sendo responsavel
por classificar as imagens. Para coletar tais pontos precisamos adquirir um leitor do tipo
rolled acquisition (aquisicao rolada).
5.4 Identificacao de Impressoes Digitais
Para a etapa de identificacao apresentam-se duas metodologias estudadas. A primeira pro-
posta (decomposicao wavelet) de identificacao busca, tal como na fase de classificacao, con-
forme (LOBATO, 2000), realizar a comparacao em nıveis diferentes de resolucao das informacoes
5.4 Identificacao de Impressoes Digitais 47
direcionais da impressao digital, metodologia aplicada segundo (RAO; SCHUNCK, 1991). De-
finimos um nıvel de similaridade entre a imagem de entrada (pre-processada) e a imagem arma-
zenada no banco de dados, para fazer o casamento dos mapas direcionais. A imagem que mais
se aproximar dessa similaridade, satisfazendo ao 3o. , 4o. e 5o. nıveis de decomposicao, candidata-
se como imagem desejada.
Uma segunda proposta (extracao de minucias) e o processo classico, em que se busca o mat-
ching (casamento/comparacao) de minucias, sendo elas terminacoes e bifurcacoes das linhas,
quando a analise e feita no domınio espacial. Seguindo o mesmo princıpio do primeiro algo-
ritmo, define-se um nıvel de similaridade entre a imagem de entrada e a imagem armazenada
no banco de dados. A imagem que mais se aproximar dessa similaridade candidata-se como
imagem desejada.
5.4.1 Identificacao atraves do Casamento das Informacoes Direcionais emMulti-Resolucao
Estimacao da Informacao Direcional
O procedimento para estimacao da informacao direcional segue o mesmo princıpio do pro-
cesso apresentado na secao 4.2, diferencando-se apenas na forma de suavizacao da imagem.
Neste trabalho, como o processo de suavizacao da imagem e usado um procedimento de
decomposicao wavelet, em que a reducao das dimensoes da imagem apos cada estagio e apro-
veitada na etapa de identificacao, como sera visto mais adiante.
As aproximacoes finitas das projecoes horizontal e vertical do vetor gradiente em cada pi-
xel da imagem original foram obtidas pelo operador de Sobel, em conformidade com (CHAR-
KREYAVANICH, 1991). Uma representacao multi-resolucao das tres imagens e obtida selecio-
nando as sub-bandas de baixas frequencias de um certo numero de estagios de sua decomposicao
wavelet de Haar. X (l), Y (l) e Z(l) representam, assim, as sub-bandas de frequencia obtidas como
resultado da aplicacao do l-esimo estagio de decomposicao em X (0), Y (0) e Z(0), respectiva-
mente. Cada pixel da sub-banda de baixas frequencias do l-esimo estagio de decomposicao wa-
velet agrega os valores de 2l x 2l pixel da imagem original. Portanto, cada pixel de X (l), Y (l) e
Z(l) e realmente computado como em 4.9 para N = 22l , levando em consideracao a contribuicao
dos vetores gradientes localizados em uma regiao 2l x 2l da imagem original.
Demonstramos conforme as Figuras 5.5, 5.6 e 5.7, as estimativas das informacoes dire-
cionais da imagem de entrada (Figura 5.4) para obtencao de tais informacoes, baseadas nas
extracoes dos vetores gradiente. A partir das grandezas calculadas na secao 4.2, sao obtidas
5.4 Identificacao de Impressoes Digitais 48
informacoes direcionais no 3o. , 4o. e 5o. nıveis de decomposicao da wavelet de Haar.
Figura 5.4: Imagem de entrada – Padrao Verticilo
Figura 5.5: Informacao direcional e Campo direcional – 3o. nıvel
Figura 5.6: Informacao direcional e Campo direcional – 4o. nıvel
Similaridade de Orientacao
O primeiro passo no processo de identificacao corresponde a extracao de informacao direci-
onal das imagens pertencentes a categoria da impressao de entrada (por convencao, nesse traba-
lho tais impressoes serao denominadas impressoes referencia ou imagens referencia). Torna-se
5.4 Identificacao de Impressoes Digitais 49
Figura 5.7: Informacao direcional e Campo direcional – 5o. nıvel
sugestivo, entao, utilizar alguma medida de similaridade entre as informacoes direcionais da
imagem de entrada e de cada imagem tomada como referencia. Para tal, e preciso um ajuste
entre a imagem de entrada e a imagem referencia testada em questao, de forma que se deter-
mina uma estimativa inicial de um ponto central. A determinacao do “ponto central inicial” na
impressao digital de entrada e dependente da classificacao arbitrada a ela. Propoe-se aqui um
metodo para determinacao do ponto central inicial baseado na localizacao de pontos singulares:
1. Para imagens classificadas como do grupo Arco, destaca-se da imagem direcional corres-
pondente ao nıvel 5o. de resolucao da impressao de entrada uma “area efetiva” de 25%
da area total da impressao digital (isto e, relativa a uma regiao de dimensoes reduzidas a
metade), usando suas informacoes estatısticas: o ponto central inicial e definido como o
ponto de intersecao da linha e coluna que apresentam maior variancia, o que e uma boa
estimativa inicial, pois segundo (CHUNG; LEE, 1997) a variancia aumenta a medida que
se move para o centro da impressao digital. Tal ponto central e transportado para os nıveis
seguintes pelo adequado escalamento de suas coordenadas. A Figura 5.8 ilustra a tecnica
proposta.
Figura 5.8: Regiao para obtencao do ponto central – Padrao Arco
2. Para imagens classificadas como do grupo Verticilo, ha dois possıveis pontos centrais
5.4 Identificacao de Impressoes Digitais 50
iniciais, tomados no 2o. nıvel de resolucao. O ponto tomado preferencialmente corres-
ponde ao ponto medio do segmento de linha que une os dois pontos de core da imagem
de verticilo. Na ausencia de identificacao de um dos pontos de core, quando se torna
impossıvel a construcao do segmento citado, traca-se um segmento, S1, unindo os dois
pontos de delta, e outro segmento, S2, unindo o ponto medio ao ponto de core. Marca-se
entao como ponto central inicial o ponto medio do segmento. A seguir, as coordenadas do
ponto central inicial sao transportadas por adequado escalamento aos nıveis de resolucao
3, 4 e 5, para o qual se dara continuidade ao processo de identificacao. A Figura 5.9
ilustra a tecnica proposta.
Figura 5.9: Determinacao dos provaveis pontos centrais – Padrao Verticilo
3. Para imagens do grupo Presilha (Presilha Internas, Externa e Arco Tentado), uma vez que
nao ha pontos singulares que evidenciem simetria na impressao, e tomada uma regiao de
interesse utilizada no processo de classificacao, buscando-se dentro dessa regiao o ponto
que apresentar maior variancia em linha e coluna, conforme a Figura 5.10.
Figura 5.10: Regiao para obtencao do ponto central – Padrao Presilhas
Para determinacao do grau de similaridade entre a impressao entrada e as impressoes de
mesmo grupo no banco de dados, toma-se um bloco de N x N pixels em torno do ponto central
inicial nas imagens direcionais do nıvel de resolucao 3, 4 e 5. Esse bloco “varre” as imagens
5.4 Identificacao de Impressoes Digitais 51
direcionais de mesmo nıvel para cada imagem referencia, sendo calculada ao longo desse pro-
cesso uma medida de erro (ou similaridade). Em cada ponto tomado nas imagens direcionais,
a similaridade entre as impressoes digitais de entrada e referencia e computada. A similaridade
V (m,n), no ponto (m,n), e definida por:
V(v,m) =
fix(N2 )
∑i=-fix(N
2 )
fix(N2 )
∑j=-fix(N
2 )
| θre f (m+ i,n+ j)−θent(i, j) | ∀ m,n ∈N (5.1)
onde θent e θre f representam imagens direcionais das impressoes digitais de entrada e referencia,
respectivamente. A regiao de N x N pixels na imagem referencia que apresentar menor erro em
relacao ao bloco de N x N pixels da imagem de entrada tera seu pixel central marcado, e o
valor de similaridade nesse ponto sera registrado. Tal procedimento e repetido para o quarto
e o terceiro nıveis de resolucao, lembrando que N varia para cada nıvel de resolucao, o que e
esperado, pois diferentes resolucoes supoem diferentes janelas de observacao.
Uma vez registrados os valores de mınima similaridade para o terceiro, quarto e quinto
nıveis de resolucao, o desafio e manipular tais valores de forma a selecionar no conjunto de
imagens referencia ao menos uma imagem que corresponda a imagem de entrada. Por outro
lado, deve-se garantir que nao sejam indicados falsos positivos. Uma estrategia de decisao que
garante a selecao de impressoes referencia sem identificacao de falsos positivos e discutida na
proxima secao.
Selecao de Impressoes Candidatas
Para identificar uma impressao digital de entrada em um banco de dados de impressoes
referencia, suas similaridades de orientacao relativas sao analisadas sucessivamente em distintas
resolucoes. Uma impressao referencia e identificada como candidata se atende aos requisitos
de similaridade nos 3o. , 4o. e 5o. nıveis de resolucao, ou seja, se os valores de similaridade se
mantem baixos para estes 3 nıveis de resolucao (o que pode ser verificado estatisticamente, por
exemplo atraves da media e/ou variancia).
A ideia e verificar o grau de similaridade entre uma impressao de entrada e um grupo de
impressoes referencia atraves de diferentes escalas, de forma que a impressao referencia que ob-
tiver um valor medio de similaridade menor que um limiar pre-estabelecido possa ser apontada
como correspondente a impressao entrada. Finalmente, para a garantia da nao ocorrencia de
falsos positivos, arbitra-se um limiar mınimo de similaridade media, de forma que, para baixos
valores desse limiar, somente uma impressao seja indicada como correspondente.
5.4 Identificacao de Impressoes Digitais 52
5.4.2 Identificacao atraves do Casamento de Minucias
Mapa de Minucias
Uma imagem de qualidade possui em media cerca de 20 a 30 minucias distribuıdas por toda
a impressao digital, segundo (PANKANTI; PRABHAKAR; JAIN, 2002). A comparacao entre
duas impressoes digitais podera ser realizada atraves da justaposicao de ambas e a subsequente
analise da posicao das minucias encontradas nas duas imagens. Parametros relacionados a esses
elementos podem ser definidos dependendo do tipo de minucia encontrado (para este trabalho
consideram-se somente bifurcacoes e terminacoes), sua posicao relativa na imagem, ou ainda o
angulo em que essa minucia esta direcionada.
Uma forma simples de extrair minucias e varrer o esqueleto de uma impressao digital e
verificar a relacao que cada pixel possui com seus vizinhos de borda.
Uma das tecnicas que pode ser utilizada e o algoritmo Crossing Number (CN), conforme
(ARCELLI; BAJA, 1984). Essa tecnica opera sobre o esqueleto de uma impressao digital indi-
cando as propriedades de um pixel pela contagem do numero de transicoes de preto para branco
que existem na vizinhanca D81 desse pixel. A Equacao 5.2 descreve como utilizar a tecnica de
Crossing Number.
Cn(p) =12 ∑
i=1:8|val(pmod(i,8))− val(pi−1)|, (5.2)
Cn(p) representa o valor do algoritmo para um ponto p e val(pi) retorna 1 caso o valor do pixel
pi seja preto e 0 caso contrario. A disposicao de pi e realizada conforme mostrado na matriz
disposta na tabela 5.3. A funcao mod(i,8) ira retornar o resto da divisao inteira de i por 8.
Tabela 5.3: Vizinhos de um pixel para aplicar o algoritmo Crossing Number
p0 p1 p2p7 px p3p6 p5 p4
O tipo de minucia sera funcao do resultado obtido para o Cn. Dependendo do como for
a relacao entre o pixel central px e os pixels vizinhos, indica-se se o ponto em questao e uma
minucia ou uma linha simples. A tabela 5.4 mostra o tipo de minucia que se ira encontrar em
funcao do valor do Cn.
1Distancia medida atraves da soma do maximo valor dentre os modulos das diferencas entre as coordenadasdos pixels em questao.
5.4 Identificacao de Impressoes Digitais 53
Tabela 5.4: Valores de Cn para o metodo do Crossing Number
Valor do Cn p10 Ponto Isolado1 Terminacao2 Crista Normal3 Bifurcacao
4 ou mais Nao Considerado
A Figura 5.11 apresenta exemplos que podem ocorrer na busca de minucias. Em (a), e
apresentada uma crista normal e, em (b) e (c), sao apresentadas minucias, sendo a primeira uma
terminacao e a segunda uma bifurcacao.
Figura 5.11: Exemplo de minucias – CN
O metodo proposto considera somente minucias do tipo terminacao e bifurcacao. Para
extracao do mapa de minucias e aplicacao do algoritmo Crossing Number, utilizou-se uma
funcao do Matlab® chamada nlfilter, que recebe como parametros de entrada o esqueleto da
impressao digital e um janelamento de 3x3 pixels (conforme algoritmo CN) para varredura da
imagem. A Figura 5.12 (a) mostra em vermelho a localizacao das terminacoes e (b) em verde a
localizacao das bifurcacoes.
(a) (b)
Figura 5.12: (a) Terminacoes (b) Bifurcacoes
Porem, percebem-se na Figura 5.12 algumas “falsas” minucias, localizadas na borda da
impressao digital, para eliminacao das mesmas, precisa-se determinar uma regiao de interesse,
5.4 Identificacao de Impressoes Digitais 54
Region of Interest (ROI). Antes de tal procedimento, por meio da distancia euclidiana suavizam-
se as minucias, dado um limiar entre as mesmas. Aquelas que nao cumprirem com tal premissa
serao eliminadas, conforme Figura 5.13.
Sejam dois pontos bidimensionais A = (ax,ay) e B = (bx,by), a distancia euclidiana entre
eles, segundo a Equacao 5.3 sera:
d(A,B) =√(bx−ax)2 +(by−ay)2, (5.3)
(a) (b)
Figura 5.13: (a) Sem Terminacoes Espurias (b) Sem Bifurcacoes Espurias
Regiao de Interesse – ROI
Para delimitacao da regiao de interesse, ha varias metodologias tais como: segmentacao,
conforme (CASTRO, 2008), morfologia matematica, conforme (KUSSENER, 2007), podendo
ser tambem de forma manual, atraves de uma funcao do Matlab® chamada roipoly.
Porem, a metodologia adotada foi a mesma da secao 5.4.1 do algoritmo wavelet, conforme
(LOBATO, 2000), em que primeiramente ha uma localizacao do ponto central da imagem.
Conforme ja descrito pela propria secao, o ponto central inicial e definido como o ponto de
intersecao da linha e coluna que apresentam maior variancia. Segundo (CHUNG; LEE, 1997)
a variancia aumenta a medida que se move para o centro da impressao digital.
Parte-se do ponto central para definir a regiao de interesse, calculando-se a distancia eucli-
diana entre os pontos central e secundario (ponto este definido de forma empırica). A distancia
encontrada sera chamada de raio. Por meio do raio e outros auxılios matematicos estipula-se
um cırculo, que envolve o ponto central, conforme a Figura 5.14.
O circulo sera tomado como mascara para encontrar a ROI, de acordo com a Figura 5.15.
5.4 Identificacao de Impressoes Digitais 55
(a) (b)
Figura 5.14: (a) Estimativa do ponto central (b) Definicao da regiao de interesse
As minucias localizadas fora do mesmo serao desprezadas.
(a) (b)
Figura 5.15: (a) Mascara da regiao de interesse (b) Minucias Espurias
A Figura 5.16 demostra a etapa resultante.
Figura 5.16: Localizacao das minucias na regiao de interesse
5.4 Identificacao de Impressoes Digitais 56
Casamento das Minucias
O casamento de minucias consiste na verificacao dos elementos comuns pertencentes aos
dois mapas de minucias. Para garantir a unicidade realizou-se o casamento de no mınimo doze
minucias, conforme (XIAO; RAAFT, 2001) e (ELECCION, 1973).
Dados dois vetores de minucias, um pertencente a uma imagem modelo M de um banco
de dados e outro pertencente a uma imagem de entrada E, escritos como: M = m1,m2, ...,mn
e E = e1,e2, ...,en sao os elementos extraıdos de cada minucia. Para se comparar esses dois
mapas pode ser tomada a distancia euclidiana entre as minucias dos vetores M e E segundo a
Equacao 5.3.
Uma minucia mn de M sera considerada igual a uma minucia en de E se a distancia euclidi-
ana d entre elas for menor do que uma tolerancia r0.
Alem do criterio da distancia, para se considerar a comparacao realmente efetiva, deve-se
ter a diferenca entre a orientacao das minucias dθ menor do que uma tolerancia angular θ0
conforme definida pela Equacao 5.4. Essa equacao toma o mınimo entre |θmn −θen| e 360°−|θmn − θen | devido a caracterıstica da circularidade dos angulos (a diferenca entre 2° e 358° e
apenas 4°).
dθ (mn,en) = min(|θmn−θen|,(360°−|θmn−θen|))≤ θ0, (5.4)
Os passos para o casamento entre minucias sao descritos a seguir:
1. Obtem-se a distancia relativa entre os pares de minucias pivo (referencia). Para o trabalho
em questao, toma-se como referencia o ponto central, conforme a secao 5.4.2. Por meio
da Equacao 5.5, sabe-se o quanto a imagem modelo esta transladada.
[∆x
∆y
]=
[Mx
My
]−
[Ex
Ey
](5.5)
2. Toma-se a diferenca entre os angulos que indicam a direcao das minucias pivo. ∆θ =
θM−θE .
3. A etapa de alinhamento das impressoes digitais nao se faz presente, haja visto que se
trabalha com uma tolerancia entre as distancias e angulacoes das imagens em questao.
Porem aplicando a Equacao 5.6, pode-se tornar o processo robusto.
5.4 Identificacao de Impressoes Digitais 57
xA
i
yAi
θ Ai
=
∆x
∆y
∆θ
+
cos∆θ sin∆θ 0
cos∆θ sin∆θ 0
0 0 1
xi− xd
yi− yd
θi−θ d
(5.6)
4. E tomada a distancia euclidiana, definida pela Equacao 5.3, entre as minucias proximas
que possuam diferenca entre as direcoes dada pela Equacao 5.4.
Apos a realizacao dos itens supracitados, a imagem que concordar com a Equacao 5.3 em
ao menos doze minucias, segundo (XIAO; RAAFT, 2001) e (ELECCION, 1973), levando em
consideracao suas respetivas tolerancias, e eleita como impressao identificada.
58
6 Resultados Obtidos
6.1 Integracao do Leitor Biometrico
Para testar a integracao do leitor, realizaram-se exaustivas capturas de imagens atraves do
Matlab® . A chamada da funcao img capture.c dentro do “shell” do Matlab® retornou com
um perıodo satisfatorio, tempo entre a chamada da funcao ate a ativacao do leitor (pronto para
captura). Satisfatorio tambem foi o tempo entre a captura e a presenca da imagem dentro do
diretorio /home/janio/MATLAB/fingers, valores estes confirmados pelo Profiler Report 1,
demonstrados conforme tabela 6.1.
Tabela 6.1: Teste Leitor Biometrico
Leitor Biometrico Ensaios Tempo Medio SalvarU.are.U®4000B 250 5ms 1.2s
As imagens capturadas sao representadas em 8 bits (256 nıveis de cinza) no formato PGM.
Ao serem as imagens transportadas para o software de processamento de imagens, pode-se
alterar seus formatos conforme necessario (por exemplo, Joint Photographic Experts Group
(JPEG), BMP e Portable Network Graphics (PNG)). O formato escolhido foi BMP, ou mapea-
mento de bits, devido ao mesmo ser isento de qualquer tipo de compressao, sendo consequen-
temente, uma imagem “rica” em resolucao/definicao.
As imagens usadas por (LOBATO, 2000), nao eram capturadas em tempo real, no formato
Picture File (PCT), formato desenvolvido em 1984 pela Apple para armazenar imagens nos
computadores Macintosh. Foram usadas imagens de bancos de impressoes em numero fixo
e limitado para testes academicos, cedidos pelo National Institute of Standards and Techno-
logy (NIST), agencia do departamento de administracao de comercio e tecnologia dos Estados
Unidos.1Ferramenta do Matlab® , utilizada para aperfeicoar e analisar codigos “.m”
6.2 Banco de Dados 59
6.2 Banco de Dados
Os bancos de dados utilizados em (LOBATO, 2000) foram compostos por imagens do
NIST, sendo de fato utilizados: tres bancos, o banco 4, banco 9 e o banco 14. A autora uti-
lizou para seus testes os bancos 4 e 9, totalizando 90 impressoes, sendo 45 delas com melhor
qualidade, tomadas assim como banco de referencia. As 45 restantes formaram um conjunto de
teste.
Os bancos de dados aqui descritos tem a flexibilidade de adicionar ou remover em tempo
real o numero de impressoes conforme a necessidade. Para povoar as bases de dados realizamos
as coletas de tres elementos, identificados aqui como A, B e C, que serviram como bases de
manipulacao e validacao dos algoritmos expostos, conforme tabela 6.2.
Tabela 6.2: Capturas de Impressoes Digitais
Elementos normal.mat realce.mat realce rot.matA 10 10 30B 10 10 30C 10 10 30
TOTAL 30 30 90
Apos as coletas das imagens, criaram-se tres bancos de dados: normal.mat, realce.mat e
realce rot.mat, com 30, 30 e 90 imagens, respectivamente. O ultimo banco de dados apresenta
90 impressoes, logo a cada imagem do banco realce.mat, correspondem tres imagens do banco
realce rot.mat, a imagem original, mais duas imagens (uma deslocada 3° sentido horario, outra
deslocada 3° sentido anti-horario). Ressalta-se que o intuito das rotacoes e refinar o processo
de identificacao, valido somente para o algoritmo wavelet.
6.3 Validacao da Etapa de Classificacao
A etapa de classificacao exposta por (LOBATO, 2000) e uma etapa complexa, robusta e
precisa, alcancando ındices de 99% de acerto, ou seja, praticamente todas as impressoes corre-
tamente classificadas. Ao realizamos a integracao do algoritmo com as imagens coletadas em
tempo real, percebemos que o mesmo nao classifica de maneira coerente as imagens. Este pro-
blema e ocasionado pela area efetiva do leitor biometrico utilizado. Sua area de captura e de 14.6
mm x 18.1 mm Este leitor e utilizado para identificacao (minucias), e nao para classificacao.
Comprova-se atraves da tabela 6.3, o baixo percentual de acerto. Apenas o padrao arco
apresenta sucesso nos acertos, pois o mesmo nao apresenta pontos singulares. Para outros
6.4 Validacao da Etapa de Identificacao 60
padroes (presilha interna e externa), em que os pontos delta estao geralmente deslocados para
extremidade, o leitor biometrico utilizado nao consegue fazer a aquisicao, justificando o baixo
percentual e no caso do padrao verticilo, ausencia total de acertos.
Tabela 6.3: Classificacao de Impressoes Digitais
Elementos AcertosPadrao Arco 100%
Padrao Presilha 36%Padrao Verticilo –
6.4 Validacao da Etapa de Identificacao
Nesta secao realiza-se o casamento das informacoes adquiridas das impressoes digitais,
para o algoritmo wavelet. Em conformidade com (LOBATO, 2000), casam-se os mapas direci-
onais em multi-resolucao. No algoritmo denominado classico, segundo (KUSSENER, 2007),
casam-se minucias encontradas no espaco. As tabelas 6.4 e 6.5 demostram os percentuais de
acerto, assim como, analise de False Acceptance Rate (FAR)2 e False Rejection Rate (FRR)3.
6.4.1 Casamento das Informacoes Direcionais em Multi-Resolucao
Apos as etapas de pre-processamento das imagens, obtivemos resultados considerados em
relacao as imagens obtidas “cruas” (sem tratamento). A etapa de realce elimina os poros pre-
sentes nas impressoes digitais e deformacoes no processo de aquisicao, melhorando a extracao
da informacao direcional, como consequencia um aumento do percentual de identificacao.
Realizam-se testes com 50 capturas para identificacao em tempo real, para comprovar a
eficacia do pre-processamento e algoritmo, conforme a tabela 6.4.
Tabela 6.4: Identificacao de Impressoes Digitais - Metodologia wavelet
Banco de Dados Acertos FAR FRRnormal.mat 64% 6% 30%realce.mat 80% 4% 16%
realce rot.mat 96% 1% 3%
2Percentual de falsos positivos3Percentual de falsos negativos
6.4 Validacao da Etapa de Identificacao 61
6.4.2 Casamento de Minucias
Para validacao da etapa de identificacao via casamento de minucias, utilizam-se somente
os bancos de dados normal.mat e realce.mat, haja visto que as distancias entre as minucias sao
invariantes a rotacoes.
Assim como na secao 6.4, realizam-se testes com 50 capturas para identificacao em tempo
real, para comprovar a eficacia do pre-processamento e algoritmo, conforme tabela 6.5.
Tabela 6.5: Identificacao de Impressoes Digitais - Metodologia Classica
Banco de Dados Acertos FAR FRRnormal.mat 66,66% 2,35% 30,99%realce.mat 96,66% 1% 2,34%
A etapa de realce tambem trouxe uma melhoria significativa de identificacao via metodo
classico, alem de eliminar os poros presentes nas impressoes digitais e deformacoes, o que reduz
a localizacao de falsas minucias, consequentemente aumentando o percentual de identificacao.
62
7 Conclusoes
O uso da biometria em processamentos digitais de sinais esta em crescimento exponen-
cial. Encontra-se uma vasta linha de produtos e servicos disponıvel no mercado, tornando-a
largamente utilizada em seguranca eletronica e na area de investigacao criminal. Ambos vem
garantindo justica, gracas a eficiencia da identificacao.
Como ja mencionado no decorrer do trabalho, utilizou-se de duas metodologias para iden-
tificar as ID’s, a primeira por analise de informacoes direcionais encontradas nas impressoes di-
gitais, por meio da transformada wavelet e analise em multi-resolucao, e a segunda por extracao
de minucias e suas respectivas angulacoes no espaco.
Para implementar a identificacao via extracao de minucias (metodo classico), encontraram-
se diversas referencias e literaturas sobre o tema. Em contrapartida, na identificacao de ID’s via
transformada wavelet ha uma seletividade relativa de documentos, referencias e literaturas. A
conclusao desse trabalho, pelo fato de expor ambos os metodos, fica com uma “rica” fonte de
referencia para trabalhos futuros.
No desenvolvimento pratico, durante a integracao do leitor biometrico, encontraram-se di-
ficuldades para localizar todas as bibliotecas e dependencias necessarias para compilacao no
sistema operacional. A integracao nao foi realizada diretamente com o Matlab® com o uso
de um driver especıfico, porem foi suficiente pra realizar as aquisicoes com qualidade e tempo
de captura satisfatorios, sem interrupcao ou travamento do leitor biometrico durante a etapa de
testes.
Criaram-se os bancos de dados dentro da propria plataforma Matlab®. Os testes experi-
mentais nao foram concluıdos (sugestao para trabalhos futuros) com mksqlite (interface entre
Matlab® e SQlite), com uma grande vantagem: o mesmo suporta a base de dados acima de 2
Terabytes (TB) em um unico arquivo local, facilitando a portabilidade.
A interface grafica desenvolvida facilita o manuseio das impressoes de entrada e saıda dos
bancos de dados, responsavel pela integracao do usuario com os algoritmos propostos, com
uma interface relativamente simples, porem suficiente para realizar as operacoes necessarias
7 Conclusoes 63
(cadastro/remocao e identificacao dos usuarios).
Embora mantida intacta a etapa de classificacao, realizaram-se testes, e seus resultados
foram de baixo percentual de acerto, pois o leitor utilizado se presta somente a identificacao,
devido sua area efetiva restrita, nao suficiente para aquisicao dos pontos singulares. Sendo
assim, faz-se necessario um leitor com uma area efetiva de aproximadamente tres vezes maior
em relacao ao leitor utilizado, garantindo a aquisicao rolada (rolled acquisition), como por
exemplo, com o leitor biometrico do fabricante Nitgen, modelo eNBioScan-D, area de captura
de 50.8 mm x 50.8 mm, resolucao de 500 dpi e tamanho da imagem de 1000 pixels x 1000
pixels. Inicialmente, o mesmo seria uma solucao para essa etapa.
Para a etapa de identificacao, realizam-se ensaios sem a utilizacao do realce das imagens.
Porem, devido a intensidade variavel dos pixels (diferentes pressoes exercidas em cima do dis-
positivo) e as diferentes posicoes de capturas das imagens, obtivemos um baixo percentual de
identificacao. Cria-se a necessidade do realce e da rotacao das imagens (somente para o algo-
ritmo wavelet), na tentativa de normalizar a intensidade dos pixels e eliminar os poros existentes
nas imagens obtidas, assim melhorando perceptivelmente o percentual de reconhecimento.
Para o algoritmo de identificacao via transformada wavelet, embora este apresente elevados
percentuais de acerto apos o realce das imagens, conforme a tabela 6.4, deixa-se expresso que
a metodologia de identificar usuarios pelo casamento das informacoes direcionais, nao traz a
unicidade do indivıduo, podendo acarretar (percentual nao mensurado nesse trabalho) falsos
positivos (uma impressao e apontada erroneamente como sendo correspondente a impressao de
entrada). Embora essa metodologia nao apresente finalidade comercial, contem uma riqueza
matematica com conceitos de processamento digital de sinais suficientes para aplicacao em
ambientes academicos.
Para o algoritmo de identificacao via extracao de minucias, tambem obteve-se um per-
centual satisfatorio apos o realce das ID’s, segundo a tabela 6.5. Por se tratar de um metodo
classico, encontra-se uma vasta e considerada documentacao. Essa metodologia traz a unicidade
do usuario em questao, por isso e tomada como referencia para aplicacoes comerciais.
Para tornar o processo de identificacao via extracao de minucias robusto, faz-se necessaria
a etapa de alinhamento das impressoes digitais. Salientamos que nao houve a utilizacao do
mesmo, pois trabalhou-se com uma aceitavel tolerancia entre as imagens analisadas.
Por meio dos cenarios de testes, nota-se atraves da ferramenta Profile Report do Matlab®
um aumento considerado no tempo de pre-processamento das imagens, em especial a funcao
ridgefilter com tempo medio de execucao de 5.89s. Como se trata de um processo interativo,
7.1 Trabalhos Futuros 64
justifica-se essa diferenca de tempo de execucao.
A localizacao do ponto central da imagem e a ROI, sao de suma importancia. Quando
as mesmas sofrem uma leve discrepancia, sao suficientes para inviabilizar todo processo de
identificacao. Em alguns cenarios isolados, percebeu-se essa variacao.
Sendo assim, conclui-se que os objetivos expostos na secao 1.2 foram cumpridos de maneira
satisfatoria, exceto o item 2 (sugestao para trabalhos futuros). Todo trabalho desenvolvido e uma
valiosa fonte de informacao na tarefa de reconhecimento impressoes digitais, pois apresenta
duas metodologias distintas para o mesmo objetivo.
7.1 Trabalhos Futuros
Sugerem-se fortemente tres opcoes para trabalhos futuros:
1. Integracao entre o leitor biometrico de captura rolada (rolled acquisition) com ambos
algoritmos apresentados.
2. Implementar a etapa de classificacao para o algoritmo de identificacao via extracao de
minucias, com objetivo de aproveitar o potencial do mesmo e coletar em tempo real os
pontos singulares (core e delta).
3. Continuacao do estudo da etapa de identificacao para o algoritmo wavelet, como men-
cionado. Embora com resultados satisfatorios, o casamento das informacoes direcionais
nao garante total unicidade entre as impressoes digitais comparadas (imagem coletada e
imagem armazenada).
Deixamos outras possıveis sugestoes de melhorias que podem ser realizadas a partir desta
monografia e das bibliografias contidas nas referencias.
XDesenvolver um driver de integracao do leitor biometrico diretamente com o Matlab®.
XOutros metodos de pre-processamento de imagens, com intuito de reduzir o tempo gasto
nessa etapa.
XOutra(s) metodologia(s) para analise da ROI, podendo ser segmentacao ou morfologia
matematica.
XEtapa de alinhamento das impressoes digitais, para algoritmo de identificacao via extracao
de minucias.
7.1 Trabalhos Futuros 65
XCriar um sistema cliente/servidor, podendo assim ter um banco de dados fisicamente
deslocado.
XArmazenar imagens capturadas em um banco de dados de plataforma confiavel:
1. Oracle®;
2. MySQL;
3. PostgreSQL;
4. Mksqlite;
XExportar o(s) algoritmo(s) para outra linguagem de programacao (software e/ou hard-
ware), gerando uma independencia do Matlab®:
1. C/C++;
2. Java;
3. Very High Speed Integrated Circuit Hardware Description Language (VHDL);
4. Verilog.
66
ANEXO A
1 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−2 % Main Menu3 % Autor: Janio Anselmo4 % Data de criacao: 2010.12.19.01.205 % Ultima modificacao: 2011.03.26.17.306 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−7
8 clc;9 clear all;
10 close all;11
12 cd (strcat(getenv('HOME'),'/MATLAB/janio/'))13
14 choice = menu('C&I − Transformada Wavelet',...15 'Cadastrar Impressao(oes)','Identificar Impressao(oes)','Sair');16
17 switch choice()18 case 119 disp('Cadastrar Impressao)20 readbmp21 savebmp22 case 223 disp('Identificar Impressao ')24 fingt(img onlinebmp(),20);25 otherwise26 disp('Finalizou')27 end
Figura A.1: Menu Principal
67
ANEXO B
1 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−2 % Saving image format BMP in "imCell"3 % Autor: Janio Anselmo4 % Data de criacao: 2011.04.06.15.545 % Ultima modificacao: 2011.04.06.15.546 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−7
8 clc;9 clear all;
10 close all;11 mksqlite('open', 'id.db');12 cd (strcat(getenv('HOME'),'/MATLAB/janio/fingers'))13
14 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−15 % Criando Banco de Dados na celula "imCell"16 %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−17
18 imCell = cell(1,npics);19 for ids = 1:npics20 imCell1,ids = imread(pics(ids).name);21 % mksqlite(sprintf('insert into pictures values(NULL, ...
"%s")',22 pics(ids).name));23 end24 save 'db';25 otherwise26 end27
28 elseif (nDB == 1 && npics 6= 0)29 load ('db.mat', 'ids');30 if (npics > ids)31 newIds = npics − ids;32 disp (sprintf('\n Encontrada(s) %d nova(s) impressao(oes) ...
digital(is)',33 newIds));34 switch questdlg('Nova(s) impressao(oes) digital(is) ...
encontrada(s),35 deseja cadastrar ao Banco de Dados?','Banco de Bados','sim','nao','nao');36 case 'sim'
Figura B.1: Criacao do Banco de Dados
68
Lista de Abreviaturas
AMR Analise Multi-Resolucao
BMP Bitmap
dpi Dots Per Inch
FAR False Acceptance Rate
FRR False Rejection Rate
GNU/GPL General Public License
ID’s Impressoes Digitais
ID Impressao Digital
JPEG Joint Photographic Experts Group
NIST National Institute of Standards and Technology
PGM Portable Graymap
PCT Picture File
PNG Portable Network Graphics
QMF Filtro em Quadratura Modulada
ROI Region of Interest
SDK Software Development Kit
STFT Short-Time Fourier Transform
TB Terabytes
USB Universal Serial Bus
VHDL Very High Speed Integrated Circuit Hardware Description Language
69
Referencias Bibliograficas
ARCELLI, C.; BAJA, G. A Widht Independent Fast Thinning Algorithm. [S.l.], 1984.
BOUTON, E. A. Multiplexacao por Divisao em Multirresolucao: um novo sistema baseadoem wavelets. Dissertacao (Mestrado) — Universidade Federal de Pernambuco, 2006.
BRISLAWN, C. Fingerprints go digital. Notices of The AMS, 1995.
CASTRO, T. d. S. Identificacao de Impressoes Digitais Baseada na Extracao de Minucias.Dissertacao (Mestrado) — Universidade Federal de Juiz de Fora, 2008.
CHARKREYAVANICH, U. Edge Detection Operators. [S.l.], 1991.
CHUNG, J.; LEE, W. Fingerprint Recognition Algorithm Development Using DirectionalInformation In Wavelet Transform Domain. [S.l.], 1997.
COSTA, S. M. F. Classificacao e Verificacao de Impressoes Digitais. Dissertacao (Mestrado)— Escola Politecnica da Universidade de Sao Paulo, 2001.
DAUGMAN, J. G. Uncertainty relation for resolution in space, spatial frequency, andorientation optimized by two-dimensional visual cortical filters. Journal of the Optical Societyof America, 1985.
ELECCION, M. Pattern Recognition – Automatic Fingerprint Identification. [S.l.], 1973.
FARIA, R. Wavelets: Teoria e Aplicacoes. [S.l.], 1994.
HONG, L.; WAN, Y.; JAIN, A. K. Fingerprint image enhancement: Algorithm andperformance evaluation. [S.l.], 1998.
JAIN, A.; HONG, L.; BOLLE, R. Analyzing Oriented Patterns. Comput. Vision GraphicsImage Processing. [S.l.], 1987.
JAIN, A.; HONG, L.; BOLLE, R. On-Line Fingerprint Verification. [S.l.], 1997.
JAIN, A. K.; FARROKHNIA, F. Unsupervised texture segmentation using Gabor filters. [S.l.]:Pattern Recognition, 1991.
KUOSMANEN, P.; TICO, M. A Multiresolutional method for singular points detection infingerprint images. [S.l.], 1999.
KUSSENER, F. FingerPrint Application. The MathWorks, 2007. Disponıvel em:<http://www.mathworks.com/matlabcentral/fileexchange/16728-fingerprint-application>.
LATHI, B. P. Sinais e Sistemas Lineares. [S.l.]: Bookman, 2007.
Referencias Bibliograficas 70
LOBATO, E. M. Classificacao e Identificacao de Impressoes Digitais no Domınio daTransformada Wavelet. Dissertacao (Mestrado) — Universidade Federal de Santa Catarina,2000.
MALLAT, S. G. A Multiresolutional method for singular points detection in fingerprint images.[S.l.], 1989.
MALTONI, D. et al. Handbook of Fingerprint Recognition. [S.l.]: 1 ed. Springer – Verlag Inc.,New York, 348 P. ISBN 0-387-95431-7, 2003.
PANKANTI, S.; PRABHAKAR, S.; JAIN, A. K. On The Individuality of Fingerprints. [S.l.],2002.
RAO, A. R.; SCHUNCK, B. G. Computing Oriented Texture Fields. [S.l.]: Comput.VisionGraphics Image Processing, 1991.
SANCHES, I. J. Compressao Sem Perdas de Projecoes de Tomografia ComputadorizadaUsando a Transformada Wavelet. Dissertacao (Mestrado) — Universidade Federal do Parana,2001.
STRANG, G. Wavelets and Dilation Equations: a Brief Introduction. [S.l.]: CBMS-NSFRegional Conference Series on Applied Mathematics (SIAM), 1989.
THAI, R. Fingerprint Image Enhancement and Minutiae Extraction. [S.l.], 2003.
WANG, S.; WANG, Y. S. Fingerprints Enhancement in the Singular Point Area. [S.l.], 2004.
XIAO, Q.; RAAFT, H. Fingerprint Image Postprocessing: A Combined Statistical andStructural Approach. [S.l.]: Pattern Recognition, 2001.
ZHANG, Q.; HUANG, K.; YAN, H. Fingerprint Classification Based on Extraction andAnalysis of Singularities and Pseudoridges. [S.l.]: Pattern Recognition, 2004.