IMPLEMENTAÇÃO DE ALGORITMO PARA IDENTIFICAÇÃO DE IMPRESSÕES DIGITAIS

Documentos relacionados
AUTENTICAÇÃO DE IMPRESSÕES DIGITAIS

IMPLEMENTAÇÃO DE SISTEMA DE ATITUDE EM DSP

Estudo e desenvolvimento de processo não convencional de conformação de junção

2.1. Construção da Pista

GEOMETRIC PROPERTY BASED ELLIPSE DETECTION METHOD

DETERMINAÇÃO DA POSIÇÃO DE ALVOS VIA PROCESSAMENTO DIGITAL DE IMAGENS

4. Curvas Paramétricas e Transformações 2D

BCC701 Programação de Computadores I Lista de Exercícios 05: Funções Definidas pelo Usuário

1. Faça uma função que recebe por parâmetro o raio de uma esfera e calcula o seu volume.

5 Análise Experimental

Implementação dos Algoritmos e Resultados

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

Trabalho Final de Processamento de Imagens: Panografia

Alexandre Diehl Departamento de Física UFPel

Processamento de Imagem. Convolução Filtragem no Domínio da Frequência (Fourier) Professora Sheila Cáceres

Extração de atributos usando o método LBP - Local Binary Pattern

Aula 7 - Representação e Descrição de Estruturas Bi-dimensionais. Prof. Adilson Gonzaga

DINÂMICA APLICADA. Livro Texto adotado: Dinâmica: Mecânica para Engenheiros R.C. Hibbeler.

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

Processamento de Imagem. Filtragem no Domínio Espacial Professora Sheila Cáceres

TÍTULO: IDENTIFICAÇÃO DE CARACTERES APRESENTADOS A UMA CÂMERA POR MEIO DO MOVIMENTO DOS DEDOS DA MÃO DE UM SER HUMANO

Desenvolvimento de uma metodologia para avaliação da demanda e capacidade de carga nos principais aeroportos brasileiros

5 Exemplos e testes 5.1 Exemplos de uso da Biblioteca Simula ao de um radar rodovi ario de monitoramento de velocidade automotiva

4 Análise de Dados. 4.1.Procedimentos

PMR2560 Visão Computacional Detecção de bordas. Prof. Eduardo L. L. Cabral

Ambiente de Data Warehouse Para Imagens Médicas Baseado Em Similaridade

FORMULAÇÃO DE MODELOS E ANÁLISE DE PROPRIEDADES DE ALGORITMOS LOCALIZADOS PARA REDES DE COMUNICAÇÃO E REDES SOCIAIS

Sistema de Reconhecimento de Logotipos

Departamento de Matemática

Tranformada de Fourier. Guillermo Cámara-Chávez

Processamento de Imagens COS756 / COC603

Descritores de Imagens

Modelagem de Sistema de Posicionamento para Haste Flexível

Localização georeferenciada de alvos via processamento de imagens

DESENVOLVIMENTO E ANÁLISE DE MODELOS DE ELEMENTOS FINITOS DE ESTRUTURAS AERONÁUTICAS, COM ÊNFASE EM ASAS E FUSELAGENS

Ensaios de bancada no motor Zenoah 80GT utilizado no VANT do ITA

Consultas por Similaridade em Domínios de Dados Complexos

Processamento Digital de Imagens

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

PSI2651 PROCESSAMENTO, ANÁLISE E SÍNTESE DE IMAGENS. 1 o período de 2005 LISTA DE EXERCÍCIOS

EXTRAÇÃO SEMI - AUTOMÁTICA DE FEIÇÕES LINEARES E A CALIBRAÇÃO DOS PARÂMETROS INTRÍNSECOS DE CÂMERAS Projeto de Pesquisa PIBIC/CNPq ( )

1. Uma linguagem de uma máquina de Turing

Processamento de Imagem. Relaçionamentos entre pixels e Operações Aritméticas e Lógicas Professora Sheila Cáceres

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

BLOCKSIM. Simulador de Sistemas Dinâmicos por Diagrama de Blocos

3 Modelos Flex ıveis 3.1 Active Contour Model

UFERSA / Departamento de Ciências Exatas / 2. UFERSA / Departamento de Ciências Exatas /

Detecção e Correção Automáticas de Olhos Vermelhos

Chamaremos AC de vetor soma (um Vetor resultante) dos vetores AB e BC. Essa soma não é uma soma algébrica comum.

Simulações e Problemas para o Curso de Física Fundamental -Eletromagnetismo.

Influência da Temperatura no Equilíbrio dos Fragmentos em um Modelo de Emissão Simultânea para Núcleos Leves

de maior força, tanto na direção normal quanto na direção tangencial, está em uma posição no

Reconhecimento de Tipos de Movimento Humano baseados no método GMM.

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS PROGRAMA DE PÓS-GRADUAÇÃO EM SENSORIAMENTO REMOTO DIVISÃO DE PROCESSAMENTO DE IMAGENS

RECONHECIMENTO AUTOMÁTICO DE SINAIS GESTUAIS (LIBRAS) EMPREGANDO PROCESSAMENTO DE IMAGENS.

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

Prova Fundamentos Computação Gráfica

Métodos de Extração de Características

Metodologia para extração de características invariantes à rotação em imagens de Impressões Digitais

INTERPOLAÇÃO LINEAR E BILINEAR: APLICAÇÃO EM TRANSFORMAÇÕES GEOMÉTRICAS DE IMAGEM INTRODUÇÃO

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

Figura 9.1: Corpo que pode ser simplificado pelo estado plano de tensões (a), estado de tensões no interior do corpo (b).

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS

Análise de Componentes Principais Simbólicas

Aula 9 Representação e Descrição. Profa. Fátima Nunes AULA 9 / 1. Profa. Fátima L. S. Nunes

1.3.4 Configuração da Rede Tabulação de Resultados Algoritmo para Configuração de Subestações... 4

RECONHECIMENTO FACIAL 2D

DETECÇÃO DE FALHAS EM UM HELICÓPTERO DE TRÊS GRAUS DE LIBERDADE EMPREGANDO CONTROLE ESTATÍSTICO MULTIVARIADO DE PROCESSO

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

3 Metaeurísticas e Resolvedores MIP

CIC 111 Análise e Projeto de Algoritmos II

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

6 MATERIA IS UTILIZADOS E PREPARO DOS DADOS

Universidade Federal do Rio de Janeiro COPPE. Trabalho de Processamento de Imagens Reconhecimento de Símbolos de Componentes Eletrônicos

SEMINÁRIO DOS ARTIGOS:

Universidade Federal do Paraná Departamento de Informática. Reconhecimento de Padrões. Extração de Características

Translação e Rotação Energia cinética de rotação Momentum de Inércia Torque. Física Geral I ( ) - Capítulo 07. I. Paulino*

Introdução USP - EESC

Aula 07 - Momento (formulação vetorial) 2011 Pearson Prentice Hall. Todos os direitos reservados.

Universidade Federal do Espírito Santo Departamento de Informática 1 o Trabalho de Algoritmos Numéricos I - 17/2 Sistemas Lineares

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

Autenticação biométrica utilizando impressão digital. Tales Tenorio de Souza Pimentel

MODOS DE ENDEREÇAMENTO E CONJUNTO DE INSTRUÇÕES

Face Detection. Image Processing scc moacir ICMC/USP São Carlos, SP, Brazil

CONSTRUÇÃO DE UM TUBO DE DETONAÇÃO

5 Resultados Dados artificiais Convergência à mediana e à média com dados artificiais

Aula 9 Balanço curso e novos trabalhos.

Instituto Tecnológico de Aeronáutica. Prof. Carlos Henrique Q. Forster Sala 121 IEC. ramal 5981

LOM Teoria da Elasticidade Aplicada

6 Aplicações Detalhes da Implementação

Calibração da lente do fotômetro imageador utilizando o programa UASDA Univap All Sky Data Analysis

Álgebra Linear I - Aula 5. Roteiro

Conceitos de vetores. Decomposição de vetores

MECÂNICA GERAL 1. Marcel Merlin dos Santos

Olimpíada Brasileira de Física a Fase Gabarito Comentado para a prova de 3º ano

Aula 5 - Produto Vetorial

Realimentação de Relevância

Componentes de um Computador Típico

5 Estudo de Casos. 5.1 Modelo de Reservatório Sintético Homogêneo

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

Transcrição:

Anais do 12 O Encontro de Iniciação Científica e Pós-Graduação do ITA XII ENCITA / 2006 Instituto Tecnológico de Aeronáutica São José dos Campos SP Brasil Outubro 16 a 19 2006 IMPLEMENTAÇÃO DE ALGORITMO PARA IDENTIFICAÇÃO DE IMPRESSÕES DIGITAIS Alexandre Magnago Conceição Instituto Tecnológico de Aeronáutica - ITA/CTA 12228-900 São José dos Campos São Paulo Brasil Bolsista PIBIC-CNPq Correio eletrônico: alemgc@yahoo.com.br Elder Moreira Hemerly ITA-IEE-IEES Praça Mal. Eduardo Gomes 50 Vila das Acácias São José dos Campos-SP Correio eletrônico: hemerly@ita.br Resumo. Impressões digitais são uma maneira de reconhecer a identidade de uma pessoa com alto grau de fidelidade. Esse artigo formula um algoritmo baseado no método estatístico para identificação de impressões digitais. O objetivo é calcular o grau de similaridade entre uma impressão digital teste e outra presente em um banco de dados. O algoritmo é desenvolvido para ser invariante às mais comuns distorções ao se obter a imagem de uma impressão digital mais especificamente a rotação e translação. O programa final pode ser executado com rapidez em um PC comum com diversas aplicações. Palavras chave: impressões digitais autenticação processamento de imagens. 1. Introdução Identificar a verdadeira identidade de pessoas de forma rápida e eficiente é bastante útil para a humanidade. O uso de impressões digitais devido a sua imutabilidade no decorrer do tempo e unicidade foi e é largamente usado por sua confiabilidade. Sua implementação todavia era lenta e o advento dos computadores agilizou bastante esse processo que é agora usado tanto em algumas repartições governamentais quanto em empresas particulares que necessitam de maior segurança. Para o uso desse meio de identificação de forma rápida é necessário o desenvolvimento de um algoritmo computacional que possa simular o modo como o especialista identifica as impressões digitais. Esse é o propósito desse trabalho: o desenvolvimento e a implementação de um algoritmo que possa de forma rápida e eficiente identificar pessoas previamente cadastradas em um banco de dados. Existem diversos métodos de autenticação de impressões digitais. O foco desse trabalho reside naquele proposto por Wahab Chin e Tan [2] que é denominado método estatístico que é uma adaptação do método proposto por Hrechak e McHugh [1] o método estrutural. A escolha do primeiro método é justificada pela sua rapidez apesar de suportar um banco de dados menor que a do método estrutural. A autenticação de uma impressão digital foi dividida em duas partes: Na primeira são extraídas as características principais de uma identidade (etapa de image processing ). O resultado é uma matriz que contém tanto a localização quanto o tipo das características da identidade estudada Na segunda duas impressões digitais serão estudadas uma presente num banco de dados e outra chamada de teste. O intuito é saber se a impressão digital teste é similar àquela presente no banco de dados. O algoritmo retorna o grau de similaridade entre as duas impressões digitais. Para aceitar uma pessoa como sendo cadastrada no banco de dados basta estipular-se um grau de similaridade mínimo que depende do usuário final do programa. 2. Descrição do algoritmo O algoritmo resultante no final desse trabalho deve ser capaz de conseguir decidir se a digital de uma pessoa possui determinado grau de similaridade com uma identidade que consta de um banco de dados. O grande problema no processo de autenticação é que a digital quando tomada pela segunda vez sofre deformações devido à rotação translação e a pressão do dedo sob o sensor. O algoritmo proposto por Wahab Chin e Tan [2] é em parte invariante às deformações que normalmente ocorrem na obtenção da imagem. Existem vários tipos especiais de padrões na impressão digital. Tais padrões serão chamados de características (Fig. 1) que podem ser de diversos tipos. As mais comuns e aquelas que serão estudadas são a bifurcação (duas linhas que se unem) e a ilha (uma pequena linha com começo e fim próximos). A entrada desse algoritmo é uma matriz que contém as posições de tais características e seu tipo obtidas na primeira fase da autenticação. Para um especialista o que define a unicidade de uma impressão digital são as posições relativas entre as características que a compõe ou seja tanto o ângulo entre elas quanto a distância. A estratégia é considerar cada

Anais do XII ENCITA 2006 ITA Outubro 16-19 2006 característica juntamente com seu entorno. Dessa forma em um primeiro estágio de matching são utilizadas como características de entorno apenas as cinco características mais próximas e que estão dentro de um circulo de raio prédeterminado e em um segundo estágio são utilizadas características especiais definidas no primeiro estágio todavia em toda extensão da impressão digital. Figura 1. Exemplo típico de características em impressão digital. Após saber quais são as características do entorno pode-se determinar a distância entre essas e a característica central e o ângulo relativo entre àquelas do entorno. Esse processo deve ser feito para cada característica da impressão digital. Dessa formaestabelece-se um conceito primário de unicidade local que é expandido posteriormente para a unicidade global da impressão digital. A Figura 2 mostra um exemplo de característica com seu entorno e exemplifica os ângulos relativos e as distâncias. Figura 2. Exemplo de característica local. O processo é dividido em dois estágios para torná-lo mais rápido: 2.1. Primeiro estágio Nessa etapa é definido um vetor vetor 1 que contém: o tipo da característica central os tipos de cada características no entorno suas distancias e os ângulos relativos. Tal vetor deve ter portanto 16 coordenadas. Esse vetor é denominado característica local pois define uma característica em função de seu entorno. A primeira

Anais do XII ENCITA 2006 ITA Outubro 16-19 2006 coordenada do vetor corresponde ao tipo da característica central. Daí em diante para cada grupo de três coordenadas (sendo no máximo cinco grupos de três totalizando 16 coordenadas) são atribuídos respectivamente os valores: tipo de coordenada vizinha sua distância à característica central e seu ângulo relativo com a característica anterior (o sentido de rotação considerado é o anti-horário). A Figura 3 exemplifica esse processo. Figura 3. Representação vetorial da característica local. Serão definidos tantos vetores deste tipo quanto forem as características encontradas na impressão digital na fase de image processing. Esses vetores ajudam a melhorar a velocidade do algoritmo já que para as imagens do banco de dados essa parte do processamento será feita apenas uma vez restando realizar o processo para a imagem teste somente. O critério de comparação entre duas características é feito com bases nos vetores definidos acima comparando-se cada característica local da impressão digital base definida pelo seu vetor com todos os outros vetores da imagem teste. A comparação desses vetores é feita primeiramente se verificando se a primeira coordenada é a mesma e em caso positivo se comparam os vetores em grupos de três coordenadas (cada grupo de três coordenadas define uma característica vizinha). Para cada grupo encontrado na imagem teste que é dentro de uma pequena margem de erro igual àquele que consta no banco de dados também definido por um vetor soma-se um ao grau de similaridade da característica local grau esse que varia de zero até cinco. No final desse estágio a cada característica tanto na impressão digital teste quanto na base é atribuído um grau de similaridade. Aquelas que possuem grau de no mínimo 1 serão marcadas e usadas no próximo estágio. 2.2. Segundo estágio Aqui o conceito de característica local é usado novamente mas agora sob o nome de característica global respeitando os critérios de se achar os tipos das características vizinhas suas distâncias e seus ângulos relativos. A diferença é que nessa fase não há restrições quanto à distância máxima da característica vizinha ou quanto ao número máximo de características a serem usadas como de entorno. A característica central desse estágio a ser escolhida é um elemento importante pois ela define o centro da impressão digital base de toda a comparação nessa parte. Portanto se escolhe para ser a característica central aquela que tem maior grau de similaridade (obtido no 1º estágio) na impressão digital contida no banco de dados e sua similar naquela a ser testada. As características vizinhas serão aquelas que foram marcadas no 1º estágio. Defini-se um outro vetor vetor 2 (define a característica global) similar ao vetor 1 que contém as informações das características na vizinhança todavia seu número de coordenadas não é previamente definido mas depende do número de características marcadas no primeiro estágio. O vetor 2 possui na sua primeira coordenada o tipo de característica central e nos grupos de três que se seguem (tantos grupos quantas forem as características marcadas menos um) guardam-se respectivamente o tipo da característica a distância à característica central e o ângulo relativo.

Anais do XII ENCITA 2006 ITA Outubro 16-19 2006 3. Implementação do algoritmo Partindo do algoritmo desenvolvido se pode implementá-lo para o uso em computadores. Utilizou-se a linguagem de programação C. Na Figura 4 é mostrado o esquema em diagrama de blocos para o algoritmo desenvolvido de modo que esse esquema foi utilizado como base para a criação do programa de computador. Estão representadas nos blocos as etapas importantes do processo geral. Figura 4. Diagrama de blocos do algoritmo. Como já foi dito anteriormente o programa deve ler uma matriz de entrada para a impressão digital que consta no banco de dados (denominada de matriz base) e outra para a impressão digital a ser testada (denominada de matriz teste). Essas matrizes (m x n) ficam armazenadas num arquivo de texto e seu conteúdo é primeiramente os valores do número de linhas (m) e de colunas (n) em seguida a matriz apresenta os valores zero um ou dois que correspondem respectivamente a ausência dos tipos estudados de características aquelas que são do tipo um e as que são do tipo dois. A interpretação dessa matriz é simples: a característica representada pelo número 1 ou 2 na linha i e coluna j da matriz encontra-se na posição i j em um plano cartesiano Dessa forma está bem representada a impressão digital e a posição de suas características. O programa foi subdividido em diversas funções de forma que sua construção se tornou mais simples onde cada função é responsável por uma parte do processo geral. As funções foram feitas para reproduzir os blocos mostrados na Fig. 4. 3.1. Funções de medidas Foram desenvolvidas duas funções de medidas: uma retorna o valor do ângulo entre duas características que são os parâmetros de entrada e o eixo horizontal positivo. A outra retorna as distâncias entre duas características que são os parâmetros de entrada. Utilizando-se essas funções é possível desenvolver todas as outras. 3.2. Função que determina as características locais e globais A próxima função a ser desenvolvida é responsável por determinar o vetor da característica local. Para tal basta para cada característica da matriz estudada analisar a distância dela à todas as outras da mesma matriz; tomam-se aquelas cinco mais próximas usando a função que mede distâncias que se encontram dentro de um círculo de raio prédeterminado (esse raio é discutido com mais detalhes no tópico de testes do programa final). Tomando-se as distâncias entre a característica central e as vizinhas escolhidas além dos ângulos com a horizontal das características vizinhas se pode então organizar as características em ordem crescente de ângulos bastando em seguida se diminuir os ângulos entre elas para se formar os ângulos relativos. Faz-se assim um vetor da característica local (vetor 1). Para se formar a característica global (vetor 2) basta se proceder da mesma forma notando que não existirão restrições quanto à distância máxima até a característica central (definida pelo maior grau de comparação no primeiro estágio) nem quanto ao número de características a serem usadas (que será o número de características marcadas no primeiro estágio menos um). 3.3. Funções de comparação entre vetores A função de comparação entre vetores depende de dois fatores que são definidos de acordo com a aplicação mais precisamente os erros máximos permitido entre as distâncias e entre ângulos. Como os vetores do tipo um e do tipo dois diferem apenas pelo número de coordenadas as funções usadas para comparar tais vetores são bastante similares. Dada que a estratégia é armazenar as características em função dos ângulos relativos se duas características vizinhas são iguais então em um caso extremo um vetor é igual ao outro se aplicando uma rotação como mostra a Fig. 5 bastando rotacionar o vetor (no máximo tantas vezes quantos forem o número de características vizinhas) e se subtraindo um vetor do outro o resultado deve ser um vetor com todas as coordenadas próximas de zero. O grau de

Anais do XII ENCITA 2006 ITA Outubro 16-19 2006 similaridade obtido na comparação entre dois vetores é exatamente o máximo de números de grupos cujas três coordenas são nulas em uma dada rotação quando se considera o vetor resultante da subtração. Figura 5. Exemplo de um vetor 1 rotacionado. 4. Teste do programa Para se testar o programa foram construídos três tipos de matrizes duas 100 x 100 (uma base e uma teste) próximo do caso real mas é complicado representá-las nesse relatório duas 50 x 50 um caso simulado mas que permite visualizar de maneira fácil o comportamento do programa e uma 8 x 7 também simulado. Alguns parâmetros necessários para se executar o programa devem ser adaptados quando se muda o tamanho de uma matriz. Primeiramente se fez o teste usando uma matriz 100 x 100. O raio do círculo para as características locais é de 25 (pixels) o erro máximo na distância considerado foi 6 pixels e o erro do ângulo foi de 5. A partir dessas constantes se supôs uma matriz onde foram colocadas 27 características. Nesse caso o programa apresentou um grau de similaridade de 24 quando se moveram ligeiramente as características da matriz teste em torno de seu ponto original contra um máximo de 27 quando a matriz teste é a mesma da base o que comprova o bom funcionamento do programa nesse caso No caso das matrizes 50 x 50 representadas na Fig. 8 os parâmetros foram reajustados para um raio de 18 pixels e um erro máximo na distância de 3 pixels e o erro no ângulo continua de 5. Quando se faz a matriz teste ser igual à matriz base obtém-se um grau de similaridade de 16 que é o número de características ou seja o grau máximo. Ao se executar o programa com a matriz teste representada na Fig. 8 o grau de similaridade obtido foi de 16 satisfatoriamente próximo de 18. As matrizes 8 x 7 mostram o programa sendo invariante a uma rotação de 90 somado a uma translação na matriz teste. Tais matrizes estão representadas na Fig. 7. O resultado retornado pelo programa é 6 um a menos do máximo possível. O raio foi definido como 6 pixels o erro da distância de 1 pixel e o erro do ângulo de 2. Figura 7. Matrizes 8 x 7.

Anais do XII ENCITA 2006 ITA Outubro 16-19 2006 Figura 8. Matrizes 50 x 50. Nota-se que o programa consegue interpretar as matrizes em casos extremos como a rotação de 90 a translação e o espalhamento randômico das características que corresponde a um caso extremo e portanto pouco provável na realidade mostrando que o programa é bem confiável. 3. Agradecimentos Agradeço à minha família pelas horas ao telefone em que me davam forças para continuar essa jornada. Ao professor Elder Hemerly agradeço por ter depositado em mim sua confiança e pela oportunidade de me desenvolver tanto pessoalmente quanto profissionalmente além de me aconselhar sabiamente quanto às atitudes a serem tomadas com relação à faculdade. Ao PIBIC e ao CNPq agradeço por tornar isso tudo possível. 5. Referências [1] HRECHAK A.K. and MCHUGH J.A. Automated Fingerprint Recognition Using Structural Matching Pattern Recognition 1990 23 (8) pp. 893-904. [2] WAHAB A. CHIN S.H. and TAN E.C. Novel Approach to Automated Fingerprint Recognition IEE Proc. Vision Image Signal Process 1998 145 (3) pp 160-166 New York McGraw-Hill 1953.