sistema de identificação pessoal por impressão digital ... · sempre esteve pronto para nos...

45
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO GABRIEL PODOLAN E GUSTAVO COSTA MARIN Sistema de identificação pessoal por impressão digital e reconhecimento de voz Trabalho de Conclusão de Curso. Prof. M. Sc. Maurício Perretto Orientador Curitiba, dezembro de 2009.

Upload: vukien

Post on 27-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

GABRIEL PODOLAN E GUSTAVO COSTA MARIN

Sistema de identificação pessoal por impressão digital e reconhecimento de voz

Trabalho de Conclusão de Curso.

Prof. M. Sc. Maurício Perretto

Orientador

Curitiba, dezembro de 2009.

UNIVERSIDADE POSITIVO

Reitor: Prof. Oriovisto Guimarães

Vice-Reitor: Prof. José Pio Martins

Pró-Reitor de Graduação: Prof. Renato Casagrande

Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi

Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

AGRADECIMENTOS

Agradeço à minha esposa e filhos pela paciência, suporte e tolerância com as minhas ausências, aos meus pais por continuar incentivando a minha longa jornada acadêmica, aos meus amigos pelas risadas e apoio durante esse período e ao meu parceiro neste projeto por agüentar meu (mau) humor durante as várias horas em que trabalhamos juntos.

Gabriel Podolan

Agradeço aos meus pais, Natal e Vanda, por seus ensinamentos e educação proporcionados, aos meus irmãos, Guilherme e Gabriela, pelo companheirismo de todos estes anos e a minha namorada, Sandra, por sempre estar ao meu lado me incentivando e compreendendo minhas ausências neste período acadêmico. Obrigado a todos por sempre estarem me apoiando.

Agradeço a todos os amigos que estiveram sempre presentes em todos os momentos desta jornada e ao meu companheiro de projeto que muitas vezes teve que deixar sua família para podermos concluir nosso objetivo.

Gustavo Costa Marin

Agradecimentos gerais:

Somos gratos aos doutores Akinobu Lee e Fred dePiero por disponibilizarem seus conhecimentos publicamente, o que permitiu que tivéssemos uma base para trabalhar em um campo até então praticamente desconhecido para nós.

Ao professor M. Sc. Maurício Perretto, nosso orientador e amigo, que sempre esteve pronto para nos auxiliar e orientar em nosso objetivo.

Ao Eng. Roberto Junqueira por sua ajuda e esclarecimentos relacionados à área de identificação por impressões digitais.

Agradecemos também aos senhores John Styth Pemberton e Phillip Morris por criarem seus produtos que nos ajudaram a suportar as longas horas sem sono.

SUMÁRIO

1 INTRODUÇÃO .................................................................................. 11

2 FUNDAMENTAÇÃO TEÓRICA ........................................................ 13

2.1 Impressão digital ................................................................................................................... 13 2.1.1 Sistema de classificação de Henry ................................................................................. 14

2.2 Reconhecimento de voz ......................................................................................................... 14 2.2.1 Modelo oculto de Markov .............................................................................................. 15 2.2.2 Coeficientes cepstrais de frequências Mel ..................................................................... 16 2.2.3 Transformada rápida de Fourier ..................................................................................... 16 2.2.4 Transformada discreta de cosseno ................................................................................. 16

3 ESPECIFICAÇÃO DO PROJETO .................................................... 17

3.1 Definição do sistema .............................................................................................................. 17

3.2 Hardware ................................................................................................................................ 17 3.2.1 Sensor óptico ................................................................................................................. 18 3.2.2 Módulo biométrico ........................................................................................................ 18 3.2.3 Microcontrolador ........................................................................................................... 18 3.2.4 Microcomputador........................................................................................................... 18 3.2.5 Microfone ...................................................................................................................... 19 3.2.6 Display ........................................................................................................................... 19 3.2.7 Atuador .......................................................................................................................... 19

3.3 Firmware ................................................................................................................................ 19

3.4 Software .................................................................................................................................. 20 3.4.1 Interfaceamento entre sistemas ...................................................................................... 20

3.5 Requisitos mínimos do sistema ............................................................................................. 21

3.6 Benefícios esperados .............................................................................................................. 22

3.7 Impactos esperados ............................................................................................................... 22

3.8 Análise funcional ................................................................................................................... 22 3.8.1 Funções de comunicação ............................................................................................... 22 3.8.2 Funções de processamento de informação ..................................................................... 22 3.8.3 Funções de interface homem/máquina ........................................................................... 23 3.8.4 Funções de aquisição de dados ...................................................................................... 23 3.8.5 Funções de atuação ........................................................................................................ 24

3.9 Análise de requisitos .............................................................................................................. 24

3.10 Análise de arquitetura ........................................................................................................... 24

3.11 Análise de alternativas .......................................................................................................... 25

4 IMPLEMENTAÇÃO .......................................................................... 26

4.1 Projeto de Hardware .............................................................................................................. 26 4.1.1 Placa de interface ........................................................................................................... 26 4.1.2 Módulo Biométrico ........................................................................................................ 29 4.1.3 Sensor Óptico ................................................................................................................. 31 4.1.4 Comunicação ................................................................................................................. 31

4.2 Firmware ................................................................................................................................ 31

4.3 Projeto de Software ................................................................................................................ 34 4.3.1 Levantamento de requisitos ........................................................................................... 34 4.3.2 Diagramas de casos de uso ............................................................................................ 34 4.3.3 Diagramas de sequência ................................................................................................. 37 4.3.4 Banco de dados .............................................................................................................. 37

5 VALIDAÇÃO E RESULTADOS ........................................................ 39

5.1 Testes realizados .................................................................................................................... 39

5.2 Resultados obtidos ................................................................................................................. 39

6 CONCLUSÃO ................................................................................... 41

REFERÊNCIA ............................................................................................. 43

ANEXO 1 – ARTIGO ................................................................................... 44

ANEXO 2 – MANUAL ................................................................................. 45

LISTA DE ABREVIATURAS E SIGLAS

PC Personal Computer

RAM Randon Access Memory

USB Universal Serial Bus

LCD Liquid Crystal Display

DNA Desoxirribo Nucleic Acid

RISC Reduced Instruction Set Computer

MVC Model-View-Controler

LISTA DE FIGURAS

Figura 1 – Visão geral do projeto. ............................................................................................................. 12 Figura 2 – Impressão do tipo arco ............................................................................................................. 14 Figura 3 – Impressão do tipo laço ............................................................................................................. 14 Figura 4 – Impressão do tipo espiral ......................................................................................................... 14 Figura 5 - Diagrama de blocos do sistema de alto nível. ........................................................................... 18 Figura 6 - Digrama de blocos do firmware................................................................................................ 20 Figura 7 - Diagrama de blocos do software .............................................................................................. 20 Figura 8 - Diagrama de blocos com protocolos de comunicação .............................................................. 21 Figura 7 - Tela inicial do sistema .............................................................................................................. 23 Figura 8 – Opções de relatórios................................................................................................................. 23 Figura 9 – Arquitetura do sistema ............................................................................................................. 26 Figura 10 – Placa de interface ................................................................................................................... 27 Figura 11 – Descrição dos pinos do microcontrolador Atmega128. ......................................................... 28 Figura 12 – Diagrama de blocos do microcontrolador ATmega128. ........................................................ 29 Figura 13 – Diagrama de blocos do módulo FIM2040HV. ....................................................................... 30 Figura 14 – Fluxograma da interrupção de registro de usuário. .............................................................. 32 Figura 15 – Fluxograma da interrupção de identificação de usuário. ...................................................... 33 Figura 16 – Caso de uso “Cadastrar Usuário” ......................................................................................... 35 Figura 17 – Caso de uso “Identificar Usuário”. ....................................................................................... 35 Figura 18 – Caso de uso “Gerar relatório” .............................................................................................. 36 Figura 19 – Diagrama de seqüência “Cadastrar Usuário” ...................................................................... 37 Figura 20 – Diagrama de seqüência “Identificar Usuário” ...................................................................... 37 Figura 21 – Modelo do banco de dados ..................................................................................................... 38

LISTA DE TABELAS

Tabela 1 – Especificação de hardware do módulo FIM2040HV ............................................................... 29 Tabela 2 – Descrição dos pinos do módulo FIM2040HV .......................................................................... 30 Tabela 3 – Protocolos de comunicação entre os módulos. ........................................................................ 31 Tabela 4 – Correspondência de casos de uso com os diagramas de sequência. ........................................ 36 Tabela 5 – Testes de validação da voz ....................................................................................................... 40 Tabela 6 – Testes de validação da impressão digital ................................................................................. 40

RESUMO

O objeto deste trabalho consiste no desenvolvimento de um sistema de controle de acesso e ponto eletrônico utilizando as tecnologias de impressões digitais e reconhecimento de voz. O objetivo final é desenvolver o hardware necessário para realizar a interface entre um módulo biométrico comercial e o software para tratar os dados gerados por este componente de hardware. Também estão contemplados o processamento de amostras de voz capturadas por este mesmo software através de um microfone conectado diretamente ao computador e a geração de relatórios de eventos de acesso e registro de ponto.

Palavras-Chave: impressão digital, reconhecimento de voz, identificação pessoal.

Personal Identification System by fingerprint and voice recognition

ABSTRACT

The goal of this project is the development of an access control and work registration system based on fingerprint and voice recognition technologies. The target is to develop the necessary hardware to act as the interface between a low cost commercial biometric module and the software to process the data generated by this hardware. It is also planned to process voice samples captured by this same software through a microphone connected directly to the computer and the generation of access and work registration event reports.

Keywords: fingerprint, voice recognition, personal identification.

11

1 INTRODUÇÃO

Atualmente os controles de acesso e ponto eletrônico baseiam-se, em sua maioria, na utilização de cartões magnéticos ou smartcard. Estes sistemas apresentam algumas falhas de segurança, pois limitam-se a garantir que o usuário possua um objeto válido (cartão) e em alguns casos saiba uma senha. Isto permite com que estes sistemas sejam mais susceptíveis a fraude, uma vez que a cópia destes tipos de cartão é feita com relativa facilidade.

Sistemas que utilizam parâmetros biométricos como impressões digitais, espectro de frequência de voz, reconhecimento facial ou de íris estão menos sujeitos a serem burlados, pois dependem de características pessoais do usuário, algumas das quais são virtualmente impossíveis de serem reproduzidas. Estes sistemas, porém, costumam apresentar custos elevados devido à tecnologia envolvida em sua produção. Algumas destas tecnologias, como reconhecimento de impressões digitais, já apresentam uma redução de custos e uma consequente popularização na sua utilização.

O objetivo deste projeto é o desenvolvimento de um sistema de controle de acesso e ponto eletrônico por reconhecimento de impressões digitais e validação de voz utilizando uma plataforma de baixo custo. A figura 1 apresenta a visão geral do sistema onde podemos identificar todos os seus periféricos, suas funcionalidades básicas no sistema e o padrão de comunicação entre os dispositivos. A razão para se utilizar dois parâmetros biométricos é aumentar o nível de confiabilidade do sistema sem elevar seu custo de forma considerável.

Este sistema controlará um atuador e um display LCD que serão acionados no momento de uma identificação. Esta ocorrerá por meio da leitura e comparação da impressão digital do usuário e também da validação de uma impressão de voz. O controle de ponto é realizado da mesma forma, porém a funcionalidade será selecionada através de um botão. O sistema disponibilizará uma interface para cadastro de novos usuários e também um conjunto de relatórios para análise de acesso e ponto.

12

Figura 1 – Visão geral do projeto.

Sensor Óptico

Módulo Biométrico

Microcontrolador ATmega

Display Atuador

Microfone

Microcomputador

Comunicação paralela TTL

Comunicação serial RS232

Armazena e processa informações

Verifica autorizações

de acesso

Comunicação serial RS232

Envia informações do

usuário

Envia senha verbal

Envia informações ao usuário

Libera ou restringe o acesso

13

2 FUNDAMENTAÇÃO TEÓRICA

Neste capítulo apresentar-se-á uma visão teórica dos conceitos envolvidos no desenvolvimento do projeto. Os conceitos abrangidos são: impressões digitais, padrões de voz e alguns conceitos envolvidos no processamento de ondas sonoras, como transformada rápida de Fourier, transformada discreta de cosseno, coeficientes cepstrais de frequências Mel e modelo oculto de Markov.

Existem vários parâmetros biométricos que permitem a identificação de um indivíduo. Estes podem ser divididos em duas classes: os parâmetros fisiológicos e os comportamentais. Os primeiros referem-se a características de formato do corpo, como impressão digital, reconhecimento de face, DNA, geometria da mão e da palma e padrão de íris. Já os últimos estão relacionados a características do comportamento da pessoa, como a voz, ritmo de digitação e caligrafia. Devido à grande gama de opções disponíveis o escopo deste trabalho limitar-se-á à utilização de dois parâmetros para a identificação de um indivíduo: impressão digital e voz.

A seleção destes parâmetros deveu-se à constante popularização das tecnologias envolvidas na validação destas características e do baixo custo associado a estas. Também levou-se em consideração a utilização de um parâmetro de cada grupo e a complexidade da implementação de um sistema de identificação baseado nestes dados.

2.1 Impressão digital

Uma impressão digital é a impressão de cristas de todas as partes do dedo. Uma crista é uma porção levantada da epiderme nas palmas, plantas ou dedos das mãos ou pés. Estas cristas auxiliam no atrito ao pegar objetos e também servem para amplificar vibrações produzidas ao esfregar as pontas dos dedos em uma superfície desigual, auxiliando nas percepções tácteis.

O estudo das impressões digitais iniciou-se no século XVII com a publicação dos estudos de Nehemiah Grew, Govard e Marcello Malpighi sobre a estrutura das cristas encontradas nos dedos. No fim do século XVIII o anatomista alemão Johann Christoph Andreas Mayer reconheceu a unicidade das impressões digitais de um indivíduo. Os estudos seguiram evoluindo até permitir os primeiros usos desta característica biométrica como forma de identificação pessoal em meados do século XIX. O método se popularizou nos anos seguintes tornando-se uma prática comum no início do século XX, sendo que o primeiro bureau de impressões digitais foi fundado na Argentina, sendo seguido por exemplos semelhantes em Calcutá e em Londres.

14

Durante o século XX a identificação de indivíduos por impressões digitais ganhou credibilidade sendo largamente utilizada em criminalística e no fim dos anos 90 a técnica começou a ser usada em aplicações comerciais como controle de acesso e autenticação de usuários em computadores.

2.1.1 Sistema de classificação de Henry

Desenvolvido por Richard Henry e publicado em 1900 o sistema de classificação de Henry divide as impressões digitais em três grupos básicos: arcos, laços e espirais conforme ilustrado nas figuras 2, 3 e 4. Por meio destes padrões básicos e da extração de pontos característicos, chamados minúcias, é possível realizar a identificação de um indivíduo através de suas impressões digitais.

Figura 2 – Impressão do tipo arco Figura 3 – Impressão do tipo laço

Figura 4 – Impressão do tipo espiral

2.2 Reconhecimento de voz

A história do reconhecimento de voz está intimamente ligada ao desenvolvimento dos microcomputadores. Nos anos 70 os primeiros estudos

15

de técnica de reconhecimento foram realizados, porém apenas no fim dos anos 80 foram realizados os primeiros experimentos com sucesso na área. Com os avanços no poder de processamento e na popularização dos microcomputadores obtidos na última década do século passado e nos últimos anos, os modelos de reconhecimento de voz vêm tornando-se cada vez mais eficientes e sua aplicação comercial tem se tornado mais factível.

A voz humana é produzida basicamente pela passagem do ar pelas pregas vocais. Outras estruturas encontram-se envolvidas no processo, como os pulmões, a musculatura da laringe e os articuladores, como língua, palato, bochechas e lábios. O processo inicia-se com o bombeamento de ar pelos pulmões, que ajusta o fluxo e pressão do ar de forma adequada a gerar uma vibração nas pregas vocais. Estas funcionam como válvulas vibratórias que interferem no fluxo de ar dos pulmões funcionando como a fonte de som. A musculatura da laringe ajusta o comprimento e a tensão das pregas, produzindo assim alturas, ou tons, distintos. Os articuladores atuam como filtros e geram diferentes articulações nos sons produzidos, podendo também influenciar até certo ponto no fluxo de ar da laringe tornando a fonte de som mais forte ou mais fraca.

As pregas vocais e os articuladores são capazes de produzir combinações sonoras altamente complexas, o que torna o espectro de freqüência da voz de um indivíduo único, uma vez que além de sua fisiologia também estão envolvidos padrões comportamentais da pessoa (STEVENS, 2000).

A unicidade do timbre produzido nos permite atribuir o espectro produzido por um sistema vocal a uma pessoa com uma margem de segurança relativamente alta, o que torna este parâmetro biométrico um candidato interessante a ser utilizado como ferramenta de validação após uma identificação inicial.

O armazenamento e comparação de impressões de voz podem ser realizados utilizando várias técnicas, como estimativa de frequências, comparação de padrões, representações em matrizes etc. A comparação de padrões apresenta algumas vantagens computacionais sobre as outras técnicas citadas, pois é de fácil implementação. A técnica consiste em extrair certas características da voz analisada. Ao ocorrer à validação de um usuário este padrão será utilizado como base de comparação para a impressão de voz capturada no ato da autenticação.

2.2.1 Modelo oculto de Markov

O modelo oculto de Markov é um modelo estatístico onde o processo sendo modelado é encarado como um processo de Markov, que é um modelo para uma evolução aleatória de um sistema sem memória em que a probabilidade de um estado futura depende apenas do estado atual.

Neste modelo os estados não são diretamente visíveis ao observador e portanto as transições não possuem probabilidades determinadas, mas distribuições de probabilidades e o estado é dependente da saída, portanto a sequência de valores produzidos dá uma idéia da sequência de estados.

16

Modelos ocultos de Markov tem aplicações especialmente no reconhecimento de padrões temporais, como a voz, que apresenta um comportamento de variação aleatória e onde as transições de estados não podem ser determinadas com segurança.

2.2.2 Coeficientes cepstrais de frequências Mel

A escala de frequências Mel é uma escala perceptiva de tons. Nela os intervalos estão igualmente espaçados, diferenciando-se portanto da escala Hertz. Acima dos 500Hz, por exemplo, quatro oitavas na escala Hertz compõem aproximadamente duas oitavas da escala Mel, devido ao fato de que acima dessa frequência os intervalos tornam-se maiores na primeira escala.

O cesptro de frequências Mel é uma representação das potências de curto prazo de um som baseado em uma transformada linear de cosseno de um espectro de potências logarítmico sobre uma escala não linear de frequência.

Os coeficientes cepstrais de frequências Mel são os coeficientes que compões o cepstro. Eles são derivados de um tipo de representação cepstral de uma amostra de som, ou seja, um espectro de um espectro. A diferença básica entre um cepstro e um cepstro de frequências Mel é que as bandas de frequência são igualmente espaçadas na escala Mel neste último, o que o torna mais próximo da audição humana através de uma deformação nas frequências, o que permite uma melhor representação do som.

2.2.3 Transformada rápida de Fourier

A transformada rápida de Fourier é um algoritmo para um cálculo mais eficiente de uma transformada discreta de Fourrier e sua inversa que produz o mesmo resultado. Seu objetivo é transformar uma sequência de valores em componentes de diferentes frequências.

O cálculo de uma transformada discreta de Fourier de N pontos tem um custo computacional muito elevado, da ordem de O(N²). Já a transformada rápida é uma candidata muito mais interessante para uma implementação computacional, uma vez que seu custo se reduz a O(N log N), ou seja, uma redução de tempo de cálculo de várias ordens de magnitude, aproximadamente N/N log N na prática.

2.2.4 Transformada discreta de cosseno

A transformada discreta de cosseno expressa uma sequência de dados finita em termos de uma soma de cossenos em diferentes frequências. Assim como a transformada de Fourier, passa uma sequência de valores do domínio do tempo para o da frequência, porém trabalha com valores discretos. É relacionada com a transformada discreta de Fourier mas trabalha apenas com números reais.

17

3 ESPECIFICAÇÃO DO PROJETO

O projeto consiste de um sistema de controle de acesso e ponto por impressão digital e reconhecimento de voz. O sistema identifica usuários previamente cadastrados e aciona um display e um atuador em caso de identificação positiva. Também são disponibilizados relatórios para análise gerencial.

O desenvolvimento é feito utilizando a tecnologia de identificação por parâmetros biométricos através de sensores conectados a um microcontrolador ou microcomputador.

3.1 Definição do sistema

O sistema é composto por blocos de hardware, firmware e software, conforme a figura 5, que trabalham de forma integrada possibilitando o cadastro e identificação de um usuário. Os relatórios são gerados exclusivamente pelo bloco de software. A comunicação entre os blocos é realizada através de cabos conforme a necessidade dos protocolos envolvidos.

Nesta seção descrevem-se os blocos de hardware, firmware e software que compõem o sistema. Cada um destes blocos será detalhado conforme seus componentes, plataformas de desenvolvimento e funcionalidade.

3.2 Hardware

O hardware do sistema é composto por um sensor óptico que capta as impressões digitais que são enviadas a um módulo biométrico que realiza a análise desta em conjunto com o microcontrolador e envia informações ao microcomputador. Um display e um atuador estão conectados ao microcontrolador. Também compõe o hardware um microfone para a captura de voz.

18

Figura 5 - Diagrama de blocos do sistema de alto nível.

3.2.1 Sensor óptico

O sensor é utilizado para a captura da impressão digital. Trata-se de um sensor com velocidade de identificação de 0,3 segundo em modo normal e 1,1 segundos em modo seguro e consumo de corrente médio de 300mA.

3.2.2 Módulo biométrico

O módulo biométrico funciona como a interface entre o sensor óptico e o microcontrolador e também realiza o pré-processamento das informações capturadas antes de seu envio aos módulos seguintes. É neste ponto do sistema que as informações brutas obtidas da leitura da impressão digital são transformadas em dados numéricos.

3.2.3 Microcontrolador

O microcontrolador selecionado é o ATMEGA128, pois possui 128KBytes de memória, suficiente para suportar o firmware e os dados que são necessários para o processamento de impressões digitais, além de permitir uma velocidade de clock de até 16MHz, baud rate de 115200 bits por segundo e apresentar um consumo de corrente que varia entre 200 e 400mA.

3.2.4 Microcomputador

Sensor

Óptico

Módulo

Biométri

co

Microcontrolador

ATMEGA128

Firmware

Display Atuador

Microcomputador

Software

Banco de dados

19

O software do sistema é hospedado em um microcomputador PC com arquitetura x86. Os requisitos mínimos para este computador encontram-se descritos na seção de restrições do projeto.

3.2.5 Microfone

Utilizamos um microfone genérico para microcomputador para a captura de voz.

3.2.6 Display

A apresentação de informações ao usuário é feita através de um display LCD de matriz passiva. Neste display são apresentadas quaisquer mensagens que sejam necessárias durante o processo de identificação de um indivíduo.

3.2.7 Atuador

Foi selecionado como atuador um relé para demonstrar o funcionamento no caso de necessidade de acionamento de uma catraca ou algum dispositivo similar.

3.3 Firmware

O firmware do sistema é o conjunto de funcionalidades que são executadas pelo microcontrolador. Desenvolvido utilizando a linguagem C no ambiente AVR Studio 4 e WinAVR, todo o código é embarcado no microcontrolador. Os blocos básicos do firmware estão ilustrados na figura 6. Suas principais funcionalidades são gerenciar a comunicação entre kit, software e dispositivos de saída, controlar e validar os pacotes de dados trafegados e implementar o protocolo de comunicação com o software.

Com

un

icaçã

o c

om

o m

od

ulo

bio

mét

rico

Comunicação com os dispositivos de saída

Com

un

icaçã

o c

om

o m

icro

com

pu

tad

or

Processamento dos dados enviados pelo modulo

biométrico

20

Figura 6 - Digrama de blocos do firmware

3.4 Software

A plataforma selecionada para o desenvolvimento do software é a linguagem C++ e banco de dados SQL, nos ambientes Visual Studio e Microsoft SQL Server, ambos na versão 2008. Todos os executáveis, bibliotecas e banco de dados são hospedados no microcomputador. O software é responsável pelo cadastro de informações do usuário, pela comparação dos dados capturados pelo hardware com as informações armazenadas em banco de dados, pela persistência de eventos de acesso e registro de ponto, bem como sua formatação em relatórios e também pela captura, análise e comparação de impressões vocais. Os principais componentes do software são mostrados na figura 7.

Figura 7 - Diagrama de blocos do software

3.4.1 Interfaceamento entre sistemas

O sistema possui interfaces entre o sensor óptico, módulo biométrico, microcontrolador e microcomputador conforme a figura 8.

Os protocolos de comunicação são:

- Sensor óptico e módulo biométrico: protocolo proprietário dos componentes por porta paralela TTL;

- Módulo biométrico e o microcontrolador: protocolo programado no firmware por porta serial RS-232;

Comunicação com o microcontrolador

Interface com o usuário

Cap

tura

e p

roce

ssam

ento

de

voz

Processamento de

impressão digital

Banco de

dados

21

- Microcontrolador e microcomputador: protocolo programado no firmware e no software por porta serial RS-232.

Figura 8 - Diagrama de blocos com protocolos de comunicação

3.5 Requisitos mínimos do sistema

O sistema requer um microcomputador PC com as seguintes características:

- Processador 400MHz ou superior;

- Memória RAM de 512MB ou superior;

- Sistema operacional Windows XP SP3 ou posterior;

- Placa de som.

Sensor

Óptico

Módulo

Biométric

o

Processador

ATMEGA

128

Atuador

Display

Microcomputador

Paralela TTL Serial RS-232

Serial

RS-232

22

3.6 Benefícios esperados

O projeto visa gerar benefícios operacionais aos usuários do sistema, reforçando a segurança nos ambientes aos quais controla o acesso e aumentando a confiabilidade dos sistemas de ponto evitando fraudes e, portanto, economizando recursos financeiros. Os benefícios indiretos são a redução de custo com equipamentos para identificação, tais como cartões magnéticos ou smartcards e redução de pessoal nos setores de controle de acessos.

3.7 Impactos esperados

Espera-se obter um impacto comportamental na forma de um aumento da pontualidade.

3.8 Análise funcional

3.8.1 Funções de comunicação

O sistema realiza trocas de informação entre seus componentes conforme especificado abaixo:

Sensor óptico-Módulo biométrico

Estes dois módulos se comunicam por porta paralela TTL conforme protocolo desenvolvido pelo fabricante, de forma que sua especificação não está no escopo deste projeto.

Módulo biométrico-Microcontrolador

A comunicação é realizada via porta serial RS-232 utilizando um protocolo previamente definido em firmware baseado no funcionamento do módulo.

Microcontrolador-Microcomputador

A troca de informações ocorre por porta serial RS-232 utilizando um protocolo definido em um módulo do software que é compatível com a arquitetura do microcontrolador selecionado.

3.8.2 Funções de processamento de informação

O processamento de informações ocorre em três módulos do sistema: módulo biométrico, microcontrolador e microcomputador.

Módulo biométrico

Analisa as informações enviadas pelo sensor óptico e envia um resultado deste processamento ao microcontrolador. Este módulo é responsável por interpretar e parametrizar a impressão lida pelo sensor.

Microcontrolador

23

Realiza o empacotamento da informação enviada pelo módulo dentro do protocolo definido para a troca de informações com o microcomputador a quem repassa o resultado obtido.

Microcomputador

Executa a comparação entre os dados obtidos na leitura e as informações previamente armazenadas no banco de dados. É responsável também pela compilação dos registros de acesso e pontos em forma de relatórios para análise gerencial.

3.8.3 Funções de interface homem/máquina

O sistema possui um módulo único de software que realiza toda a interface homem/máquina. A figura 7 mostra a tela principal do sistema.

Figura 7 - Tela inicial do sistema

A geração de relatórios é feita por meio de uma opção de menu conforme mostrado na figura 8.

Figura 8 – Opções de relatórios

3.8.4 Funções de aquisição de dados

24

A aquisição dos dados ocorre em dois pontos do sistema: o sensor óptico e o microfone. O sensor óptico é responsável por capturar a impressão digital do usuário sendo cadastrado ou identificado. O microfone realiza a captação do padrão de voz do usuário em questão.

3.8.5 Funções de atuação

Em caso de identificação positiva o sistema aciona um display onde são exibidas mensagens ao usuário e um atuador, que pode liberar uma catraca ou uma fechadura. Ambos os dispositivos são acionados via microcontrolador.

3.9 Análise de requisitos

Funcionalidade

O sistema apresenta as funcionalidades de identificação por impressão digital e voz para controle de acesso e ponto. A função principal do sistema é a de controle de acesso sendo que o controle de ponto pode ser acionado por um botão no hardware externo ao microcomputador.

Confiabilidade

Por depender de um sistema de banco de dados online o sistema não é tolerante a falhas, pois caso o microcomputador onde o software está sendo executado apresente problemas, o sistema todo se torna inoperante.

Usabilidade

O sistema tem um caráter intuitivo para usuários, não requerendo treinamento especial para sua utilização. Uma leitura do manual de usuário é suficiente para sua operação.

Eficiência

Por se tratar de um sistema online e não crítico o tempo de resposta é relativamente elevado em termos computacionais, ficando em torno de 5 segundos por usuário. Por depender de consultas em bancos de dados e de cálculos complexos sobre o padrão de voz, o tempo requerido para uma identificação completa poderá ser um pouco maior do que o esperado em sistemas tradicionais, que são de aproximadamente 1 segundo.

Portabilidade

O sistema não é portável para outras plataformas inicialmente, pois seu desenvolvimento foi definido utilizando um ambiente específico para a plataforma Windows. Para portá-lo para outras plataformas seria necessária uma nova codificação utilizando uma linguagem compatível com o ambiente.

3.10 Análise de arquitetura

25

A figura 9 apresenta uma visão geral da arquitetura do sistema, com seus principais blocos e funções em alto nível além dos protocolos de comunicação entre os módulos.

3.11 Análise de alternativas

O sistema pode apresentar alguns problemas devido a sua dependência de um microcomputador para realizar as identificações. Uma vez que o banco de dados deve estar disponível sempre que uma identificação seja necessária, o sistema torna-se pouco tolerante a falhas.

Uma alternativa para a resolução deste problema seria a eliminação do reconhecimento de voz e fazer com que a identificação seja realizada exclusivamente pela impressão digital. Desta forma é possível embarcar a base de comparação no hardware externo do sistema, de forma que o microcomputador sirva apenas como uma ferramenta de geração de relatórios, o que tornaria o sistema mais tolerante a falhas.

Se

rial R

S23

2

Microcomputador

Software

Ca

ptu

ra e

pro

cess

am

ento

de

voz

Interface com o usuário

Comunicação com o microcontrolador

Processamento

de impressão

digital

Ba

nco

de

Da

do

s

Display Atuador

Microfone

Sensor

Óptico

Módulo

BiométricoParalell TTL Serial TTL

Microcontrolador

Firmware

Com

un

icaçã

o c

om

o

mód

ulo

bio

mét

rico

Com

un

icaçã

o c

om

o

mic

roco

mp

uta

do

rComunicação com

dispositivos de saída

Processamento dos

dados enviados pelo

módulo biométrico

26

Figura 9 – Arquitetura do sistema

4 IMPLEMENTAÇÃO

4.1 Projeto de Hardware

O sistema foi composto pelos seguintes blocos de hardware: placa de interface com microcontrolador ATmega, módulo biométrico e sensor óptico que trabalharão em conjunto com os outros componentes apresentados na figura 1. A comunicação entre os blocos de hardware será realizada por meio de cabos conforme a necessidade dos protocolos envolvidos.

4.1.1 Placa de interface

Para integração das partes do projeto, foi desenvolvida uma placa de interface com o objetivo de atender as necessidades de comunicação entre o Kit biométrico e o software, exibir informações aos usuários, controlar um atuador e botões de interface com o usuário. A figura 10 nos mostra a placa de interface e seus componentes.

27

Figura 10 – Placa de interface

A placa de interface é composta por: circuito regulador de tensão que alimenta a placa com 5 e 12V, relé de 12V para acionamento de um atuador, 2 interfaces seriais que utilizam um circuito integrado MAX232 para a conversão dos sinais seriais TTL em RS232 e vice-versa, 1 conector para programação do microcontrolador, 1 microcontrolador ATmega128, botões para seleção de funções e display para exibição de informações aos usuários.

Microcontrolador ATmega128

O microcontrolador escolhido foi o ATmega64 da ATMEL. Devido a não disponibilidade do microcontrolador no fornecedor na época da implementação do projeto este foi substituído pelo ATmega128 que apresenta as mesmas características porém com maior capacidade de memória flash. O ATmega128 é um microcontrolador AVR de arquitetura RISC de 8 bits com 128Kbytes de memória flash programável e consumo de energia de 200 a 400mA. Este foi escolhido por possuir duas portas de comunicação seriais, por ser um microcontrolador comum no mercado e por possuir várias ferramentas de desenvolvimento gratuitas.

28

Figura 11 – Descrição dos pinos do microcontrolador Atmega128.

A figura 11 mostra a descrição dos pinos do microcontrolador ATmega128. As portas 2, 3, 27 e 28 foram utilizadas para a comunicação serial, as portas 10, 11 e 48 a 51 para controlar o display, a porta 31 para o relé e as portas 25 e 26 para controle das interrupções dos botões de seleção.

Na figura 12 podemos observar o diagrama em blocos do microcontrolador ATmega128 e o funcionamento de sua arquitetura.

29

Figura 12 – Diagrama de blocos do microcontrolador ATmega128.

4.1.2 Módulo Biométrico

O módulo biométrico utilizado para interface entre o sensor óptico e o microcontrolador foi o FIM2040HV da Nitgen Biometric Solutions. O módulo é um dispositivo de identificação de impressões digitais com alto desempenho de identificação e duas interfaces seriais para fácil integração com várias aplicações.

O módulo trabalha com velocidade de captura de 0,3 segundos no modo normal e 1,1 segundos no modo seguro.

A especificação de hardware do módulo biométrico pode ser visualizada na tabela 1.

Tabela 1 – Especificação de hardware do módulo FIM2040HV

Especificação da placa

CPU S2C2410 (ARM9)

DRAM 8Mbyte SDRAM

Flash ROM Memória flash de programa: 1Mbytes

Dimensões 43 x 93 mm²

30

Sensor NITGEN OPP04

Tensão de alimentação 5 ± 0,5 V

Consumo de corrente Max. 300 mA

Temperatura de operação -20 ~ 60 ºC

Umidade 5 ~ 95 % UR

Canal de comunicação 2 portas RS-232

Velocidade 9600 ~ 115200 bps

O diagrama de blocos do módulo biométrico pode ser visualizado na figura 13.

Figura 13 – Diagrama de blocos do módulo FIM2040HV.

A pinagem do módulo biométrico pode ser visualizada na tabela 2.

Tabela 2 – Descrição dos pinos do módulo FIM2040HV

Pino Nome do pino Descrição

1 VCC Alimentação 5V

2 RXD0 Porta RS-232 de envio de sinal

3 TXD0 Porta RS-232 de

31

recebimento de sinal

6 GND Terra

12 /RESET Sinal de reinicio

4.1.3 Sensor Óptico

O sensor óptico utilizado para a captura da impressão digital foi o OPP04N da Nitgen Biometric Solutions. O sensor é parte integrante do módulo biométrico FIM2040HV e trata-se de um sensor com desempenho de alta velocidade de leitura de amostras, menor que 2 segundos.

4.1.4 Comunicação

A comunicação entre os módulos do sistema foi estabelecida conforme a tabela 3.

Tabela 3 – Protocolos de comunicação entre os módulos.

Nome do módulo 1 Nome do módulo 2 Protocolo de comunicação

Sensor óptico Módulo biométrico Paralela TTL implementado pelo

fabricante das partes.

Módulo biométrico Microcontrolador Serial RS-232 implementado no

módulo pelo fabricante e no microcontrolador

por este projeto.

Microcontrolador Microcomputador Serial RS-232 implementado por este

projeto.

4.2 Firmware

O firmware do sistema foi embarcado na memória do microcontrolador ATmega e trabalha com um sistema de interrupções. A sua implementação foi feita em linguagem C, utilizando o ambiente de desenvolvimento AVR Studio 4 da Atmel e o WinAVR.

Existem duas interrupções que são monitoradas. A primeira é a de registro de usuário, que executa a captura das amostras da impressão digital da pessoa sendo cadastrada. O fluxo seguido por esta interrupção encontra-se na figura 14.

32

Recebe comando de

captura de

impressão digital

Início

Aciona captura no

módulo

Capturado com

sucesso?

Formatar no

protocolo de

comunicação

Sim

Enviar para o PC

Fim

Não

Figura 14 – Fluxograma da interrupção de registro de usuário.

O segundo tipo de interrupção é o de identificação de usuário e seguirá o fluxo demonstrado na figura 15.

33

Aciona botão de

identificação ou

ponto

Aciona leitura no

módulo

Capturado com

sucesso?

Formatar no

protocolo de

comunicação

Sim

Enviar para o PC

Aguardar retorno

Recebeu retorno?

Não

Aguardar retorno

Sim

Identificação

positiva?

Acionar

dispositivosSim

Início

Fim

Não

Figura 15 – Fluxograma da interrupção de identificação de usuário.

34

4.3 Projeto de Software

O software do sistema foi construído utilizando a linguagem de programação C++, no ambiente Microsoft Visual Studio 2008. O banco de dados utilizado foi o Microsoft SQL Server 2008 Express. A linguagem C++ foi selecionada por apresentar recursos que facilitam a captura e o processamento das amostras de voz e por suportar a biblioteca proprietária utilizada para a gravação de amostras. A seleção do banco de dados deveu-se à facilidade de integração com a linguagem de programação selecionada.

4.3.1 Levantamento de requisitos

Os requisitos do software estão divididos em requisitos funcionais e não-funcionais. Seu detalhamento foi feito através dos diagramas de caso de uso e de sequência.

Requisitos funcionais são identificados mais adiante através da numeração sequencial gerada na lista abaixo, seguindo o padrão RFxx. Os requisitos não-funcionais são identificados por padrão RNFxx.

4.3.1.1 Requisitos funcionais

Os requisitos funcionais do sistema são:

RF01 – Cadastrar novos usuários do sistema

RF02 – Identificar impressões digitais cadastradas no banco de dados

RF03 – Identificar padrões de voz armazenados no banco de dados

RF04 – Emitir comandos para o microcontrolador para o acionamento de dispositivos

RF05 – Gerar relatórios

4.3.1.2 Requisitos não-funcionais

Os requisitos não-funcionais do sistema seguem abaixo:

RNF01 – Realizar as leituras de impressão digital de forma rápida

RNF02 – Realizar a comparação do padrão de voz armazenado no banco de dados com a amostra fornecida com boa confiabilidade de forma a identificar o usuário preferencialmente em uma única tentativa

4.3.2 Diagramas de casos de uso

Os diagramas de caso de uso apresentados nas figuras 21 a 23 estão associados a um ou mais requisitos do sistema e também aos diagramas de sequência de cada processo. Essa associação é feita através da tabela 4.

35

Figura 16 – Caso de uso “Cadastrar Usuário”

Figura 17 – Caso de uso “Identificar Usuário”.

36

Figura 18 – Caso de uso “Gerar relatório”

Tabela 4 – Correspondência de casos de uso com os diagramas de sequência.

Nome do caso de uso Requisitos

atendidos

Diagrama de seqüência

associado

Cadastrar usuário RF01 Cadastrar usuário

Identificar usuário RF03, RF04, RF05,

RNF01, RNF02

Identificar usuário

Gerar relatório RF06 Não possui diagrama de

seqüência

37

4.3.3 Diagramas de sequência

As figuras 19 e 20 apresentam os diagramas de sequência dos processos representados nos diagramas de caso de uso. Esses diagramas representam a o fluxo de mensagens entre as diferentes classes do software durante a execução dos processos.

Figura 19 – Diagrama de seqüência “Cadastrar Usuário”

Figura 20 – Diagrama de seqüência “Identificar Usuário”

4.3.4 Banco de dados

O banco de dados possui uma estrutura reduzida de forma a otimizar seu desempenho e foi construído de acordo com o modelo representado na figura 21.

38

Usuarios

PK Index

Sample1

Sample2

SenhaSonora

Nome

Matrícula

Status

FFT

Events

PK EntryID

FK1 Index

FK3 OpType

TStamp

FK2 EquipID

Equipamento

PK EquipID

NomeEquipamento

OpTypes

PK OpType

Description

Figura 21 – Modelo do banco de dados

Os dados armazenados pelo sistema consistem em informações dos usuários cadastrados, tipos de eventos, ocorrência de eventos e equipamentos. Todas as informações encontram-se associadas pela tabela de eventos que armazena também uma data e hora da ocorrência do evento.

39

5 VALIDAÇÃO E RESULTADOS

Durante a etapa de testes do protótipo desenvolvido foram realizados dois conjuntos distintos de provas. Cada um dos conjuntos foi focado em um dos parâmetros biométricos utilizados no projeto.

5.1 Testes realizados

Para a validação da identificação por impressões digitais foi utilizado o seguinte procedimento:

Realizar uma tentativa de identificação antes de cadastrar o usuário, tentando forçar um falso positivo

Cadastrar a impressão digital de um dedo do usuário

Realizar 5 (cinco) tentativas de identificação consecutivas do dedo cadastrado

Realizar 3 (três) tentativas de identificação consecutivas de dedos não cadastrados do usuário

O procedimento adotado para validar o algoritmo de processamento e comparação de amostras de voz está descrito abaixo.

Capturar e processar uma amostra de voz, armazenando o resultado em memória

Capturar uma segunda amostra de voz e processá-la

Realizar a comparação entre os conjuntos de dados obtidos após o processamento.

5.2 Resultados obtidos

Testes preliminares do algoritmo original demonstraram a impossibilidade de sua utilização por não produzir amostras coerentes para comparação. Após introduzir passos adicionais para tratar a variação de frequências no tempo foi realizada uma nova bateria de testes, envolvendo cinco indivíduos em cinco tentativas de identificação. Os resultados destes testes encontram-se na tabela 5. Mesmo após as modificações no algoritmo, os padrões extraídos das ondas sonoras não produziram identificações positivas. Testes utilizando a mesma onda sonora em dois processamentos distintos resultaram em comparações

40

satisfatórias. Verificou-se que o processo adotado é extremamente sensível a ruídos de fundo e apesar de tratar variações no tempo, momentos de silêncio no início e no fim da amostra geram uma variação no padrão extraído que inviabiliza a comparação.

Tabela 5 – Testes de validação da voz

Indivíduos Tentativas de Identificação

Falso Positivo

Falso Negativo 1 5 0 5

2 5 0 5

3 5 0 5

4 5 0 5

5 5 0 5

A tabela 6 mostra os resultados obtidos para os testes realizados com a identificação por impressões digitais. Esta bateria de testes envolveu 22 (vinte e dois) indivíduos totalizando 198 (cento e noventa e oito) tentativas de identificação. O conjunto de resultados obtidos, não conteve nenhum falso positivo e obteve-se um total de 4 falsos negativos, o que representa 3,64% das 110 (cento e dez) identificações que deveriam ser positivas. Esta taxa de erro nas identificações ocorreu devido ao mau posicionamento do dedo no sensor ou à ausência de minúcias em quantidade suficiente na impressão digital do indivíduo sendo identificado e é satisfatória. A ausência de falsos positivos demonstra o alto grau de segurança deste método de identificação.

Tabela 6 – Testes de validação da impressão digital

Indivíduos Tentativas de Identificação

Falso Positivo Falso Negativo 1 9 0 0 2 9 0 0 3 9 0 0 4 9 0 0 5 9 0 1 6 9 0 0 7 9 0 0 8 9 0 0 9 9 0 0 10 9 0 0 11 9 0 0 12 9 0 0 13 9 0 0 14 9 0 3 15 9 0 0 16 9 0 0 17 9 0 0 18 9 0 0 19 9 0 0 20 9 0 0 21 9 0 0 22 9 0 0

41

6 CONCLUSÃO

Este trabalho apresentou o desenvolvimento de um sistema de identificação pessoal por impressão digital e vocal. O sistema foi capaz de identificar e validar indivíduos através de sua impressão digital, porém não foi possível realizar o mesmo processo utilizando um padrão de voz. Este projeto foi desenvolvido utilizando tecnologia de sistemas cliente-servidor e algoritmos de extração de padrões e comparação. A figura 22 nos mostra uma montagem completa do sistema.

Figura 22 – Montagem completa do sistema

Os resultados apresentados caem dentro das faixas esperadas, mostrando uma confiabilidade alta no sistema de identificação por digital. Não foi possível obter dados concretos a respeito da identificação por voz, pois o algoritmo usado na extração dos padrões das amostras capturadas não se mostrou eficiente, gerando conjuntos de dados com grandes diferenças a cada captura, o que tornou a utilização deste parâmetro biométrico inviável. Essas diferenças observadas devem-se à sensibilidade do algoritmo adotado a ruídos de fundo. Os problemas identificados podem ser resolvidos com a implementação de filtros digitais para restringir a faixa de frequências processadas e também remover períodos de silêncio no início e fim da amostra de voz.

42

Algumas melhorias que podem ser incorporadas futuramente ao produto gerado são a utilização de comunicação sem fio entre hardware e software, a incorporação de outros parâmetros biométricos, como reconhecimento de íris ou face e a implementação da gravação de som através da API do Windows, o que tornaria o software mais ágil.

43

REFERÊNCIA

STEVENS, K. N. Acoustics Phonetics. MIT Press, 2000.

MOSKAL M. et al. – Grok variants and matching

(http://nemerle.org/Grok_Variants_and_matching), última visita em Junho de 2009.

BRIGHAM, E. O. The Fast Fourier Transform. New York, Prentice Hall, 2002.

GREW N. The description and use of the pores in the skin of the hands and feet. Philosophical Transactions of the Royal Society of London, vol. 14, p. 566-567, 1684.

ASHBAUGH, D. R. Ridgeology. Journal of Forensics Identification, vol. 41, 1991.

NEHEMIAH GREW, "The description and use of the pores in the skin of the hands and feet," Philosophical Transactions of the Royal Society of London, vol. 14, pages 566-567 (1684).

GOVARD BIDLOO, Anatomia Humani Corporis [Anatomy of the Human Body](Amsterdam, Netherlands: 1685).

MARCELLO MALPIGHI, De Externo Tactus Organo Anatomica Observatio [Anatomical Observations of the External Organs of Touch](Naples, Italy: Aegidius Longus, 1685).

JOHANN CHRISTOPH ANDREAS MAYER, Anatomische Kupfertafeln nebst dazu gehorigen Erklarungen [Anatomical Illustrations (etchings) with Accompanying Explanations] (Berlin, Prussia: Georg Jacob Decker, 1783-1788). See especially the 1788 volume.

Reconhecimento de voz -> DR. AKINOBU LEE - http://en.sourceforge.jp/projects/julius/ (última visita em 03/11/2009).

Ler arquivo wave -> DR. FRED DEPIERO - http://people.msoe.edu/taylor/examples/wav.htm (última visita em 03/11/2009).

44

ANEXO 1 – ARTIGO

45

ANEXO 2 – MANUAL