Buscar

Desenvolvimento_de_um_Sistema_de_Identif

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 39 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

UNIVERSIDADE PAULISTA – UNIP 
 
 
 
 
 
 
 
CLAUDIO ZURITA DE AMORIM 
HENRIQUE MENDONÇA DE SOUZA 
JOSÉ VITOR ZANONI 
KAIO DA FONSECA GONÇALVES 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
DESENVOLVIMENTO DE UM SISTEMA DE IDENTIFICAÇÃO E AUTENTICAÇÃO 
BIOMÉTRICA 
RECONHECIMENTO FACIAL 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SÃO PAULO 
2018 
 
CLAUDIO ZURITA DE AMORIM 
HENRIQUE MENDONÇA DE SOUZA 
JOSÉ VITOR ZANONI 
KAIO DA FONSECA GONÇALVES 
 
 
 
 
 
 
 
 
 
 
 
 
 
DESENVOLVIMENTO DE UM SISTEMA DE IDENTIFICAÇÃO E AUTENTICAÇÃO 
BIOMÉTRICA 
RECONHECIMENTO FACIAL 
 
 
 
 
 
 
 
 
Atividade prática supervisionada e 
apresentada ao curso Ciência da 
Computação, para fins de conhecimento 
na área. 
 
 
Orientador: Rafael do Espírito Santo. 
 
 
 
 
 
 
 
 
 
SÃO PAULO 
2018 
RESUMO 
 
 
 
Biometria é o uso de características biológicas em mecanismos de identificação. Entre 
essas características tem-se a íris (parte colorida do olho), a retina (membrana interna 
do globo ocular), a impressão digital, a voz, o formato do rosto e a geometria da mão. 
O uso de características biológicas para identificação se mostra como uma idéia viável 
porque cada pessoa possui as características mencionadas diferentes das outras. 
Com a biometria, o problema de roubo de senhas ou cartões com chips é extinto ou, 
pelo menos, amenizado. Embora nada impeça os dispositivos de identificação 
biométrica de serem enganados, é muito difícil copiar uma característica física e, 
dependendo do que é usado na identificação, a cópia é impossível (como a íris do 
olho). 
O uso da biometria para a identificação de pessoas já é realidade e é pouco provável 
que outro conceito a substitua. 
É certo que a biometria vai ser cada vez mais parte do dia-a-dia das pessoas. Prova 
disso é que as tecnologias envolvidas ganham aprimoramentos constantes. 
 
Palavras-chave: biometria, identificação, reconhecimento facial, autenticação 
biométrica 
ABSTRACT 
 
 
Biometry is the use of biological characteristics in identification mechanisms. These 
features include the iris (colored part of the eye), the retina (inner membrane of the 
eyeball), fingerprint, voice, face shape, and hand geometry. 
The use of biological characteristics for identification is shown as a viable idea because 
each person has the mentioned characteristics different from the others. 
With biometrics, the problem of theft of passwords or cards with chips is extinct or at 
least mitigated. Although nothing prevents biometric identification devices from being 
cheated, it is very difficult to copy a physical feature and, depending on what is used 
in identification, copying is impossible (like the iris of the eye). 
The use of biometrics to identify people is already a reality and it is unlikely that another 
concept will replace it. 
It is certain that biometrics will be increasingly part of people's daily lives. Proof of this 
is that the technologies involved gain steady improvements. 
 
Keywords: biometrics, identification, facial recognition, biometric authentication. 
 
LISTA DE ILUSTRAÇÕES 
 
 
Imagem 01 – Como é a realizada a impressão digital. Pag 13 
Imagem 02 – Execução da classe captura.py Pag 28 
Imagem 03 – Fotografando a face Pag 29 
 
 
Imagem 04 – Imagens capturadas. Pag 30 
 
 
Imagem 05 – Execução da classe treinamento.py. Pag 31 
Imagem 06 – Execução da classe reconhecedor-eigefaces.py. Pag 32 
SUMÁRIO 
1 INTRODUÇÃO ............................................................................................7 
2 OBJETIVOS ................................................................................................9 
2.1 Objetivos gerais .....................................................................................9 
2.2 Objetivos específicos ............................................................................9 
3 SISTEMAS BIOMETRICOS .....................................................................10 
3.1 O que é Biometria ................................................................................10 
3.2 Impressão Digital .................................................................................10 
3.3 Geometria de mão e dedos .................................................................11 
3.4 Reconhecimento da Íris ......................................................................12 
3.5 Reconhecimento de retina ..................................................................13 
3.6 Reconhecimento de voz ......................................................................14 
3.7 Reconhecimento de termogramas .....................................................14 
3.8 Reconhecimento do “caminhas do índividuo” .................................15 
3.9 RECONHECIMENTO DA 
FORMA DE "DIGITAR" (COMPORTAMENTAL) ...........................................16 
3.10 Reconhecimento da caligrafia ..............................................................17 
4 Reconhecimento Facial ..........................................................................18 
4.1 Definição de reconhecimento facial ...................................................18 
4.2 Métodos baseados em imagens .........................................................18 
4.3 Local Binary pattern ............................................................................18 
4.4 Subespaços Lineares ..........................................................................19 
4.4.1 Independent Component Analysis .........................................................19 
4.4.2 Linear Discriminant Analysis ..................................................................20 
5 DESENVOLVIMENTO ..............................................................................21 
5.1 Classes do Software ..................................................................................22 
5.2 Classe Capturar.py ....................................................................................22 
5.3 Classe Treinamento.py............................................................................. 23 
5.4 Classe Reconhecedor-eigefaces.py ..........................................................24 
5.5 Bibliotecas Utilizadas................................................................................ 25 
5.5.1 Opencv. .................................................................................................25 
5.5.2 Numpy. ..................................................................................................25 
6 RESULTADOS ..........................................................................................26 
7 CONCLUSÃO............................................................................................31 
REFERÊNCIA BIBLIOGRÁFICA ...................................................................33 
ANEXOS ......................................................................................................... 35 
8 FICHAS DE ATIVIDADES PRÁTICAS SUPERVISIONADAS .................40 
7 
 
 
1 INTRODUÇÃO 
 
 
 
O primeiro método de identificação biométrica aceito oficialmente foi 
desenvolvido por Alphonse Bertillon no final do século XVIII. Também chamada de 
antropometria, o sistema se baseava numa combinação de medidas físicas tiradas de 
acordo com elaborados procedimentos. As métricas junto com cor de cabelo, de olhos 
e fotos de frente e de costas eram arquivadas. Bertillon criou 243 categorias. 
 
No século II a.C., os governantes chineses já usavam as impressões digitais 
para lacrar documentos importantes. Foi a primeira vez na história que impressões 
digitais identificaram positivamente uma pessoa. Desde então, a técnica de 
reconhecimento de impressões digitais evoluiu e passou a ser empregada em grande 
escala, tornando-se o principal método para comprovar, de forma inegável, a 
identidade de uma pessoa. 
 
A biometria é o ramo da ciência que estuda as medidas físicas dos seres vivos, 
daí o termo identificação biométricapara indicar as tecnologias que permitem a 
identificação das pessoas através dos traços físicos característicos e únicos de cada 
ser humano: os traços faciais, a íris e a impressão digital. 
 
Biometrias são de grande interesse em áreas onde é realmente importante 
verificar a real identidade de um individuo.Inicialmente estas técnicas eram 
empregadas em aplicações especializadas de alta segurança, entre tanto nós 
estamos vendo agora sua utilização e proposta de uso em uma grande e crescente 
área de situações em utilizações publicas no nosso dia a dia. 
 
Elas são de grande interesse em áreas onde é realmente importante verificar 
a real identidade de um individuo. Inicialmente estas técnicas eram empregadas em 
aplicações especializadas de alta segurança, entre tanto nós estamos vendo agora 
sua utilização e proposta de uso em uma grande e crescente área de situações em 
utilizações publicas. 
8 
 
Sendo uma tecnologia bastante fácil de utilizar, ela é bastante fiável e segura 
pois usa uma característica inerente ao ser humano, tal como a íris, ou a sua 
impressão digital, sendo estas as tecnologias biométricas mais usadas. 
 
Esta tecnologia revela, ainda, uma relação preço/resultados mais eficaz que a 
maioria dos sistemas tradicionais de identificação e validação, sendo um sistema em 
que não implica a perda das credenciais (ao contrario dos cartões), ou o esquecimento 
das mesmas, no caso das passwords. 
 
A biometria é a sua prova de identificação mais fiável e cómoda, a sua 
password sem memorização, sem palavras ou imagens, o seu cartão mais pessoal. 
Biometria é a sua password eterna. 
 
Como qualquer mecanismo de segurança, os dispositivos biométricos estão 
sujeitos a falhas. 
 
Por isso, dependendo do nível de segurança desejado, especialistas 
recomendam o uso de pelo menos dois tipos de autenticação. Outro ponto 
fundamental para tirar melhor proveito das ferramentas é o 
treinamento/conscientização dos funcionários. Se eles estiverem desconfortáveis com 
a tecnologia, é provável que os erros apareçam numa taxa superior aos índices 
considerados normais. 
9 
 
2 OBJETIVOS 
 
 
Esclarecer conceitos, funções e aplicações da Biometria e sistemas 
biometricos. Para tanto, apresentando o desenvolvimento de uma ferramenta simples. 
 
2.1 Objetivos gerais 
 
 
Contribuir para a sociedade acadêmica com explicações para o processo de 
biometria facial. Tendo como resultado uma ferramenta de identificação facial 
desenvolvida na linguagem python. 
 
2.2 Objetivos específicos 
 
 
Visando atingir o objetivo principal, alguns objetivos específicos são requeridos, 
entre eles: 
 
 Pesquisar e enteder o conceito, utilização e aplicação da biometria. 
 Avaliar as principais técnicas usadas e selecionar uma para a 
elaboração da dissertação. 
 Buscar os benefícios que a técnica selecionada proporciona. 
 Desenvolver um software para realizar a biometria. 
 Apresentar o funcionamento do software. 
10 
 
3 SISTEMAS BIOMETRICOS 
 
3.1 O que é Biometria 
 
Biometria é a ciência que procura identificar indivíduos baseando-se em 
características únicas. Essas características podem ser de caráter físico, químico ou 
comportamental. Seu principal uso é controlar o acesso de pessoas a um determinado 
local que exige um alto nível de segurança. 
 
Como formas de segurança, a biometria é utilizada para reconhecimento, 
identificação criminal, controle de acesso a dados e aparelhos etc. Como cada pessoa 
é única e possui características singulares, tanto em aspectos físicos como 
comportamentais, a biometria tem se mostrado uma maneira bem sucedida para 
auxiliar na segurança de empresas, instituições governamentais e em outras áreas. 
 
3.2 Impressão Digital 
 
É o tipo mais popular de sistema biométrico, baseando-se na identificação 
através das irregularidades das impressões digitais, retiradas de um ou mais dedos, 
as chamadas “minúcias”. 
 
A captura da imagem da impressão digital ocorre por meios ópticos, sendo que 
essa imagem é processada digitalmente pelo sistema, que identifica as características 
datiloscópicas, comparando com os registros de banco de dados, determinando ou 
não o acesso. O banco de dados é gerado obtendo-se as impressões digitais dos 
usuários da rede. A finalidade é obter a impressão digital de todos os dedos. 
 
Caso ocorra algum dano na impressão digital de um dos dedos, os outros 
poderão ser utilizados para o reconhecimento. 
11 
 
Imagem 01 – Como é a realizada a impressão digital. 
 
 
Fonte: PINHEIRO, José Mauricio. Biometria nos Sistemas Computacionais 2008 
 
 
 
 
3.3 Geometria da mão e dos dedos 
 
Os sistemas de reconhecimento baseados na geometria da mão estão entre as 
mais antigas ferramentas biométricas utilizadas para a autenticação automática de 
uma pessoa. 
 
A biometria baseada em características da mão fundamenta-se num conjunto 
de medidas que podem ser extraídas recorrendo a alguns pontos característicos da 
mão, as cinco pontas dos dedos e os quatro vales entre eles. Um dos grandes 
obstáculos destes sistemas reside na detecção destes pontos e, dada a dificuldade 
nessa detecção, muitas das vezes são impostas restrições na fase aquisição de modo 
a facilitar a mesma. Estas restrições causam desconforto ao utilizador e limitam a 
aplicação deste tipo de sistemas. Neste trabalho foram desenvolvidas técnicas com o 
intuito de ultrapassar as limitações impostas pelos sistemas actuais. Um dos primeiros 
12 
 
passos passou pela criação de uma Base de Dados livre de restrições durante a 
aquisição. Posteriormente foi implementado um método de detecção dos pontos 
característicos da mão (pontas dos dedos e vales). 
 
Para as pontas dos dedos foi desenvolvida uma metodologia baseada no 
esqueleto da mão, enquanto para os vales foi feita uma análise da curvatura do 
contorno da mão. Um grande obstáculo encontrado nesta fase residiu na binarização 
da mão em relação ao background, que tende a falhar quando esta se encontra com 
os dedos juntos. Identificados os pontos, foi feita uma extracção das características 
necessárias à fase de identificação. Nesta fase, alguns algoritmos de classificação 
foram implementados sendo que, os que mostraram melhores resultados 
apresentaram uma taxa de reconhecimento de 76% com uma taxa de intrusão de 8%. 
3.4 Reconhecimento da Iris 
 
O processo de reconhecimento começa com a aquisição de uma fotografia da 
íris tirada sob uma iluminação infra-vermelha. Apesar da luz visível poder ser utilizada 
para iluminar o olho, as íris de pigmentação escura revelam maior complexidade 
quando sob iluminação infra-vermelha. A fotografia resultante é analisada utilizando 
algoritmos que localizam a íris e extraem a informação necessária para criar uma 
amostra biométrica. 
 
A localização da imagem de uma íris é muito importante, por que, obviamente, 
se a imagem for capturada de forma errada a identificação do usuário pode falhar. De 
fato, existem vários fatores que devem ser considerados ao se capturar a imagem de 
uma íris e que podem afetar o desempenho do processo como um todo. Reflexos, 
movimentação do olho no momento de captura da imagem, pálpebras e cílios podem 
atrapalhar na aquisição da imagem de uma íris. 
13 
 
3.5 Reconhecimento de Retina 
 
O reconhecimento de retina começou a ser utilizado majoritariamente em 
instalações militares e governamentais, uma vez que nessas áreas a presença de um 
fortíssimo sistema de segurança contra ameaças externas se torna necessária. Como 
exemplos de órgãos que empregam esse tipo de autenticação biométrica, podem ser 
citados o FBI, a CIA e a NASA. 
Entre todas as características do corpo humano, a retina é a que possui um 
padrão vascular mais estável ao longo do tempo e tem maior garantia de 
singularidade, não havendo duas pessoas com as retinas idênticas. 
Além disso, a retina não deixa rastros e é impossível recriá-la, o que evitaa falsificação de identidade e delitos mais graves como gerar falsas provas para 
incriminar uma pessoa inocente. 
O modelo de assinatura de retina é bastante reduzido se comparado com 
outras biometrias. Isso reduz a memória necessária e o tempo de processamento na 
etapa de verificação. 
Por isso, a verificação de retina é o método de reconhecimento mais 
seguro entre todos os outros existentes. Uma evidência disso é que até o dia presente 
não houve nenhum caso de falsificação de retina registrado. 
A varredura de retina também tem outra característica que pode ser 
interpretada como uma vantagem ou uma desvantagem. A varredura depende da 
cooperação do usuário, que deve alinhar o olho corretamente de acordo com as 
orientações do sistema. 
Por outro lado, não é muito simples realizar uma varredura de retina. 
Usuários inexperientes podem ter dificuldades em usar o aparelho e efetuar o 
alinhamento do olho, aumentando em muito o tempo gasto para a identificação. E 
também é necessário que o usuário retire seus óculos para não ocorrer problema na 
varredura. 
Ademais, o olho do usuário deve permanecer praticamente estático, 
olhando fixamente para um ponto enquanto a luz de baixa intensidade emitida pelo 
leitor ótico é direcionada diretamente para a sua córnea, sendo necessário que o leitor 
de retina tenha que ficar muito perto do olho. Isso leva algumas pessoas a crer que 
podem ter a visão prejudicada de alguma forma, e a considerar essa forma de 
autenticação como um método intrusivo. 
14 
 
Outro fato a ser considerado é a necessidade de um hardware específico 
para a captação de imagens da retina. Tal fato faz com que o preço mínimo para a 
implementação desse sistema biométrico seja superior ao custo de outros tipos de 
autenticação, que podem ter taxas de erros dentro de um valor aceitável para sua 
utilização. 
 
3.6 Reconhecimento de Voz 
 
A biometria de voz nada mais é que uma tecnologia que permite confirmar a 
identidade de uma pessoa por meio da sua voz. 
A biometria é interessante para a experiência do cliente porque ela 
simplesmente elimina a necessidade dos clientes criarem e memorizarem senhas 
para cada uma das empresas que se relacionam. 
Com apenas 3 segundos de fala os sistemas já conseguem fazer uma análise 
com 98% de eficácia. 
Como a autenticação acontece de forma muito rápida, a biometria de voz é 
muito interessante para as empresas, pois reduz no mínimo em 4 vezes o tempo o 
processo de autenticação tradicional, baseado nas perguntas para confirmação de 
dados. 
Quando isso é multiplicado pelas centenas ou milhares de autenticações que 
são feitas diariamente, isso significa uma redução de custo muito significativa. 
 
3.7 Reconhecimento de termogramas 
 
A termografia é uma técnica que permite mapear um corpo ou uma região com 
o intento de distinguir áreas de diferentes temperaturas, sendo portanto uma técnica 
que permite a visualização artificial da luz dentro do espectro infravermelho. As 
vibrações de campos elétricos e magnéticos que se propagam no espaço a velocidade 
da luz de forma mutuamente sustentadas dá origem às ondas eletromagnéticas, e o 
conjunto de ondas eletromagnéticas de todas as frequências formam o espectro 
eletromagnético. O infravermelho corresponde a uma faixa freqüência 
eletromagnética naturalmente emitida por qualquer corpo à temperatura próxima à do 
ambiente (22ºC), com intensidade proporcional à quarta potência de sua temperatura. 
15 
 
Para aplicar a termografia do rosto, precisaremos medir partes do nosso corpo 
que não mudam ao longo do tempo, nem com fatores externos (exemplo: o rosto) 
Alguns anos atrás, não era viável porque as câmeras de termografia tinham 
baixa resolução. Hoje se faz possível realizar a biometria através de termogramas pois 
a tecnologia avançou e existem muitas câmeras e sensores capazes de medir. 
 
3.8 Reconhecimento do “caminhar do índividuo” 
 
Através de tecnologias modernas de varredura e mapeamento de imagens, a 
pesquisa em biometria comportamental vem avançando rapidamente. Hoje, já é 
possível identificar um ser humano pela maneira como ele se mexe. Utilizando 
sistemas de CFTV (circuito fechado de televisão) comuns, um software pode fazer a 
varredura do vídeo em tempo real, quadro a quadro, removendo objetos do ambiente 
e criando um padrão de movimento para uma pessoa andando. 
Informações sobre altura, postura, distância entre seus passos, ritmo da 
passada, entre outros, são reunidos. As características ficam então armazenadas no 
banco de dados do sistema, que pode identificar o indivíduo posteriormente, caso ele 
passe novamente pela câmera de segurança. 
Este tipo de identificação não é livre de problemas. Por exemplo, se o programa 
tem apenas dados do indivíduo por um ângulo específico, para reconhecê-lo 
posteriormente com precisão, o ponto de captura da nova imagem precisa 
corresponder àquele que registrou o padrão no sistema. É por isso que pesquisadores 
de diferentes países estão desenvolvendo técnicas complementares para uma análise 
eficiente e viável do modo de andar de uma pessoa. 
16 
 
3.9 Reconhecimento da forma de “digitar” (COMPORTAMENTAL) 
 
 
A biometria comportamental coleta três tipos de dados: a duração do toque, 
que compreende quanto tempo a pessoa pressiona cada tecla; o intervalo entre uma 
tecla e outra - por exemplo, entre o 'o' e o 'i' na hora de digitar 'oi' -; e combinações 
comuns - ao digitar sequências comuns, como nome-de-usuário@email, por exemplo. 
É um método pouco confiável, o processo de cadastramento e leitura é demorado, 
porém possui baixo custo e não necessita de hardware específico, apenas de 
software. Algumas vantagens desse método são que o usuário não tem 
conhecimento de quando está sendo autenticado, a menos que tenha sido informado 
antes, além do fato de o seu cadastro e sua verificação não serem invasivos. 
17 
 
 
 
3.10 Reconhecimento da Caligrafia 
 
 
 
A primeira vista, usar a caligrafia para identificar pessoas pode não parecer 
uma boa idéia, pois qualquer um pode aprender a copiar caligrafias em pouco tempo. 
Seria fácil conseguir uma cópia da assinatura de alguém e falsifica-la. 
 
Mas os sistemas biométricos não prestam atenção somente ao formato que se 
dá a cada letra. Eles analisam o ato de escrever, a pressão, a velocidade e o ritmo 
com os quais escreve. Eles também registram a seqüência que se usa para formar as 
letras, como se adicionam pontos e traços ao escrever ou depois de escrever cada 
palavra. 
 
Ao contrário da forma das letras, essas características são mais difíceis de 
falsificar. Mesmo que alguém consiga uma cópia de sua assinatura e a reproduza, o 
sistema provavelmente não aceitará a falsificação. 
 
Sensores do sistema de reconhecimento de caligrafia podem incluir uma 
superfície sensível ao toque ou uma caneta que contenha sensores que detectam 
ângulo, pressão e direção. O software traduz a caligrafia para um gráfico e reconhece 
as pequenas mudanças na caligrafia de uma pessoa no dia-a-dia e durante 
determinado tempo. 
18 
 
 
4 Reconhecimento Facial 
 
 
4.1 Definição de Reconhecimento Facial 
 
 
O reconhecimento facial é uma técnica de biometria baseada nos traços do 
rosto das pessoas. 
O rosto de uma pessoa é formado por diversas características, que são 
chamados pontos nodais. Existem cerca de 80 pontos nodais na face humana. Alguns 
exemplos de pontos nodais são a distância entre os olhos, o comprimento do nariz, o 
tamanho do queixo e a linha da mandíbula. Cada um desses pontos nodais é medido 
e armazenado em uma base de dados, formando a assinatura facial. A obtenção da 
assinatura facial completa a etapa de extração de características. 
 
4.2 Métodos Baseados em Imagens 
 
 
Necessita de um banco de dados que contenham imagens para haver um 
reconhecimento automático . A imagem não é composta unicamente pela face, mas 
também por um plano defundo. Primeiramente, deve-se determinar o padrão das 
imagens e o procedimento necessário para a padronização das imagens de entrada 
como, por exemplo, resolução e escala de cores. Em seguida, deve-se definir os 
parâmetros a serem utilizados no reconhecimento das faces e, assim, classificar as 
imagens do banco de dados segundo esses parâmetros. Por último, a imagem de 
entrada é identificada ou verificada. Na identificação, a face é pesquisada em um 
banco de dados e o resultado é a identidade correspondente ao indivíduo na foto (caso 
o mesmo esteja no banco de dados). Enquanto isso, na verificação, o sistema deve 
responder se a face de entrada pertence a um determinado indivíduo ou não (ZHAO, 
2003). 
 
4.3 Local Binary Pattern 
 
 
O LBP (Local Binary Patterns) é um operador para texturas considerado 
simples e eficiente. Ele se baseia numa idéia trivial: atribui um rótulo (representado 
por um número binário) a cada pixel analisado. Para atribuir esse rótulo, ele verifica 
19 
 
se cada vizinho, do pixel em análise, em uma raio considerado, extrapola, ou não, um 
limiar (threshold) que é determinado pelo valor do pixel central, cujo rótulo está sendo 
determinado. Cada vizinho que extrapolar esse limiar (threshold), ou se igualar a ele, 
será marcado com o dígito binário 1, caso contrário, será marcado com o dígito binário 
0. A junção desses digitos binários representará o pixel central, lembrando que é 
importante seguir uma lógica para determinar qual o dígito mais significativo, ou, em 
outras palavras, à partir de que vizinho o número começará a ser formado, já que a 
vizinhança é circular. Também é preciso observar que quando se determina o dígito 
mais significativo, automaticamente está sendo atribuído um peso a cada um dos 
digitos. A soma da multiplicação de cada dígito pelo seu respectivo peso retornará o 
que é referenciado como código LBP (PIETIKÄINEN et al., 2011, p. 4-5) 
Ainda segundo Pietikäinen et al. (2011, p. 4), possivelmente, a propriedade 
mais importante do operador LBP, em aplicações do mundo real, é a sua invariância, 
percebida quando acontecem variações monotônicas nos níveis de cinza, que podem 
ser causadas por variações na iluminação do ambiente, no momento da captura da 
imagem. Outra característica igualmente importante é a sua simplicidade 
computacional, que torna possível enfrentar desafios nos quais as imagens precisam 
ser analisadas em tempo real. 
 
4.4 Subespaços Lineares 
4.4.1 Independent Component analysis 
A análise de componentes independentes (ACI) é uma técnica estatística e 
computacional para revelar fatores ocultos subjacentes a conjuntos de variáveis, 
medidas ou sinais aleatórios. 
A ACI define um modelo generativo para os dados multivariados observados, 
que normalmente é dado como um grande banco de dados de amostras. No modelo, 
as variáveis de dados são assumidas como misturas lineares de algumas variáveis 
latentes desconhecidas, e o sistema de mistura também é desconhecido. As variáveis 
latentes são assumidas como nongaussianas e mutuamente independentes, e são 
chamadas de componentes independentes dos dados observados. Esses 
componentes independentes, também chamados de fontes ou fatores, podem ser 
encontrados pela ACI. 
ACI é superficialmente relacionado à análise de componentes principais e à 
análise fatorial. ACI é uma técnica muito mais poderosa, no entanto, capaz de 
20 
 
encontrar os fatores ou fontes subjacentes quando esses métodos clássicos falham 
completamente. 
Os dados analisados pela ACI podem ser originários de diversos tipos de 
campos de aplicação, incluindo imagens digitais, bancos de dados de documentos, 
indicadores econômicos e medidas psicométricas. Em muitos casos, as medidas são 
dadas como um conjunto de sinais paralelos ou séries temporais; O termo separação 
de fontes cegas é usado para caracterizar esse problema. Exemplos típicos são 
misturas de sinais de fala simultâneos que foram capturados por vários microfones, 
ondas cerebrais registradas por múltiplos sensores, sinais de interferência de rádio 
que chegam a um telefone celular ou séries temporais paralelas obtidas de algum 
processo industrial. 
 
4.4.2 Linear Discriminant Analysis 
 
 
Análise de Discriminação Linear facilmente lida com o caso em que as 
frequências dentro da classe são desiguais e suas performances foram examinadas 
em dados de teste gerados aleatoriamente. 
Este método maximiza a proporção entre variância entre classes e variação 
dentro da classe em qualquer conjunto de dados específico, garantindo a 
separabilidade máxima. 
O uso da Análise Discriminante Linear para classificação de dados é aplicado 
ao problema de classificação no reconhecimento de fala. 
21 
 
5 DESENVOLVIMENTO 
 
 
O programa de reconhecimento facial foi desenvolvido na linguagem de 
programação orientada a objetos python, pelo IDLE Python 3.6. 
Utilizando também as bibliotecas OpenCV e Numpy. 
22 
 
 
 
 
5.1 Classes do Software 
 
 
5.2 Classe capturar.py 
 
 
Primeiramente foi desenvolvido a classe capturar.py, ela é responsável por 
capturar em tempo real a imagem utilizando a webcam. A primeira parte do código 
determina qual o padrão será utilizado na detecção, logo em seguida é criada uma 
instância da webcam e dentro do laço de repetição é feito a captura da imagem 
utilizando a webcam. 
23 
 
5.3 Classe Treinamento.py 
 
 
Logo após de utilizar a primeira classe para capturar as imagens, deve ser 
executada a classe treinamento.py, que é responsável por fazer o treinamento das 
fotos. 
24 
 
5.4 Classe Reconhecedor-eigefaces.py 
 
 
Em seguida, execute a classe reconhecedor-eigenfaces.py, ela reconhece a 
face do vídeo e com base no aprendizado, classifica as rostos. 
25 
 
5.5 Bibliotecas utilizadas 
 
 
Nas classes contém as bibliotecas OpenCV e Numpy. 
 
 
5.5.1 Opencv 
 
 
O opencv é uma biblioteca multiplataforma, utilizada para o desenvolvimento 
de aplicativos na área de visão computacional. 
 
5.5.2 Numpy 
 
 
O numpy é uma biblioteca para a linguagem de programação Python , a adição 
de suporte para Arrays e matrizes multidimensionais grandes, juntamente com uma 
grande coleção de funções matemáticas de alto nível para operar nessas matrizes. 
26 
 
6 RESULTADOS 
 
 
 
Execute a classe captura.py e digite seu id 
 
 
Imagem 2 – Execução da classe captura.py 
Fonte: elaborado pelo próprio autor. 
27 
 
 
 
Após o programa capturar sua face, aperte Q para capturar a imagem 
 
 
Imagem 3 – Fotografando a face 
Fonte: elaborado pelo próprio autor. 
28 
 
Todas as imagens serão enviadas para a pasta dataset 
 
 
Imagem 4 – Imagens capturadas 
Fonte: elaborado pelo próprio autor. 
29 
 
Execute a classe treinamento.py, para fazer o treinamento das imagens 
 
Imagem 5 – Execução da classe treinamento.py 
 
Fonte: elaborado pelo próprio autor. 
30 
 
Execute a classe reconhecedor-eigenfaces.py 
 
Imagem 6 – Execução da classe reconhecedor-eigefaces.py 
 
Fonte: elaborado pelo próprio autor. 
 
 
 
Face reconhecida como id 1. 
31 
 
 
 
7 CONCLUSÃO 
 
 
A biometria é conhecida como um dos procedimentos mais estáveis de 
reconhecimento e está cada dia mais destacada na sociedade. A palavra em si tem 
sentido de uma medição biológica, ou seja, é a pesquisa dos traços físicos e 
comportamental de cada indivíduo. A origem fundamental deste mecanismo para 
identificação é o corpo humano, porque ele é a chave para acessar determinadas 
informações. 
 
O desenvolvimento do presente estudo possibilitou uma análise do reconhecimento 
facial, que trouxe consigo a busca de algoritmos mais eficientes e seguros, e de suas 
aplicações no mundo real. 
 
De modo geral, o aplicativo desenvolvido obteve razoáveis resultados de detecção e 
reconhecimento . 
 
Um dos problemas ao desenvolver o código, foi a dificuldade de encontrar exemplos 
claros. Ao desenvolver o programa,percebemos que apesar de sua dificuldade ao 
encontrar exemplos, sempre há possibilidade de encontrar bibliotecas e a comunidade 
de programadores que sempre nos dão apoio. Percebemos que para fazer uma 
análise sobre o programa não poderíamos apenas entender sobre o conceito de 
reconhecimento biométrico, mas também seríamos obrigados a entender um pouco 
sobre programação e as formas de reconhecer e detectar faces. 
 
O Python foi a opção mais viável , porque ele é uma linguagem de fácil compreensão, 
em alta no mercado científico e fácil integração com o OpenCV. 
 
Os algoritmos apresentados neste trabalho necessitam de uma certa quantidade de 
amostra para que o treinamento seja bem-sucedido e quanto maior a quantidade, mais 
demorado é o treinamento. 
 
Dada a importância do assunto, torna-se necessário o desenvolvimento de formas de 
aperfeiçoar os algoritmos de reconhecimento para que os próximos software possam 
32 
 
ter uma qualidade cada vez maior, com ferramentas que facilite o desenvolvimento 
dos próximos aplicativos de reconhecimento facial. Neste sentido, como foi 
demonstrado nesse trabalho, as técnicas de reconhecimento biométrico só têm a 
evoluir cada vez mais, mostrando os passos percorrido que esse projeto traçou para 
a criação desse aplicativo, que por sua vez permite o reconhecimento facial, e que um 
dia se espera que esse projeto ajude outras pessoas a criar seus próprios aplicativos 
33 
 
REFERÊNCIA BIBLIOGRÁFICA 
 
 
 . Mathworks: the. MatLab official. Disponível 
em:<http://www.mathworks.com/products/tech_computing/>. Acesso em: 21 
Nov. 2017. 
 
 
 , Anil K. Jain. Biometric Recognition: Overview and Recent 
Advances.Disponível em: <https://link.springer.com/chapter/10.1007/978-3- 
540-76725-1_2>. Acesso em: 21 Nov. 2017. 
 
 
 , Dr Sayed Sayad. Disponível em: <http://chem- 
eng.utoronto.ca/~datamining/dmc/lda.htm>. Acesso em: 21 Nov. 2017. 
 
 
 , Márcia Santos da Silva et al. Biometria através de Impressão 
Digital: Biometrics through Digital Printing. 2011. Dissertação () - , 011 
 , S. Balakrishnama, A. Ganapathiraju. Disponível 
em:<https://www.isip.piconepress.com/publications/reports/1998/isip/lda/lda_t 
heory.pdf>. Acesso em: 21 Nov. 2017. 
 
 
 
 
 ALVES, Alex Paulo. Um método para classificação de imagens de 
madeira usando: Local Binary Patterns. Dissertação () - 
 
 
 ARAÚJO, Rafael. Protótipo de um sistema de identificação de minúcias 
em impressões digitais utilizado redes neurais artificiais 
multicamada.. 2002. TCC (Ciência da Computação) - UNIVERSIDADE 
REGIONAL DE BLUMENAU 
 
 
 BANDEIRA DUARTE , Otto Carlos Muniz . Biometria - Reconhecimento de 
Íris. Disponível em: <https://www.gta.ufrj.br/grad/08_1/iris/index.html>. Acesso 
em: 21 Nov. 2017. 
 
 
 BROWN, Eric. Applying Neural Networks to Character 
Recognition.Disponível 
http://www.mathworks.com/products/tech_computing/
http://chem-/
http://www.isip.piconepress.com/publications/reports/1998/isip/lda/lda_t
http://www.isip.piconepress.com/publications/reports/1998/isip/lda/lda_t
http://www.gta.ufrj.br/grad/08_1/iris/index.html
http://www.gta.ufrj.br/grad/08_1/iris/index.html
34 
 
em: <http://www.ccs.neu.edu/home/feneric/charrecnn.html>. Acesso em: 21 
Nov. 2017. 

 CAMARA, Marcio. Biometria, v. 1, f. 48. 24 p. Dissertação () - 

 CESENA, Marco. FVC. Fingerprint verification competition: first 
international competition for fingerprint verification 
algorithms,. 2000. Disponível 
em:<http://bias.csr.unibo.it/fvc2000/download.asp>. Acesso em: 21 Nov. 2017. 

 LOPES, Eduardo Costa. Detecção de Faces e Características Faciais. Rio 
de janeiro. Monografia () - 

 SHASHANK, Araokar. Visual Character Recognition using Artificial Neural 
Networks. Dissertação () - University of mumbai 

 SILVA, Clevertom. A SEGURANÇA ATRAVÉS DA 
BIOMETRIA . TCC () - FACULDADE DOM BOSCO 
 
 
 VERAS, Alexandre Brandão ; CALVO, Carolina. Biometria: Reconhecimento 
de retina. Disponível 
em:<https://www.gta.ufrj.br/grad/10_1/retina/vantagensedesvantagens.html>. 
Acesso em: 21 Nov. 2017. 
http://www.ccs.neu.edu/home/feneric/charrecnn.html
http://bias.csr.unibo.it/fvc2000/download.asp
http://www.gta.ufrj.br/grad/10_1/retina/vantagensedesvantagens.html
http://www.gta.ufrj.br/grad/10_1/retina/vantagensedesvantagens.html
35 
 
 
ANEXOS 
CÓDIGO FONTE 
 
 
Captura.py 
import cv2 
import numpy as np 
 
 
classificador = cv2.CascadeClassifier("haarcascade-frontalface-default.xml") 
classificadorOlho = cv2.CascadeClassifier("haarcascade-eye.xml") 
 
camera = cv2.VideoCapture(1) 
amostra = 1 
numeroAmostras = 25 
id = input('Digite seu identificador: ') 
largura, altura = 220, 220 
print("Capturando as faces...") 
 
while (True): 
conectado, imagem = camera.read() 
imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY) 
facesDetectadas = classificador.detectMultiScale(imagemCinza, 
scaleFactor=1.5, 
minSize=(150,150)) 
for (x, y, l, a) in facesDetectadas: 
cv2.rectangle(imagem, (x, y), (x + l, y + a), (0, 0, 255), 2) 
regiao = imagem[y:y + a, x:x + l] 
regiaoCinzaOlho = cv2.cvtColor(regiao, cv2.COLOR_BGR2GRAY) 
olhosDetectados = classificadorOlho.detectMultiScale(regiaoCinzaOlho) 
 
for(ox, oy, ol, oa) in olhosDetectados: 
cv2.rectangle(regiao, (ox, oy), (ox + ol, oy + oa), (0, 255, 0), 2) 
 
 
if cv2.waitKey(1) & 0XFF == ord('q'): 
if np.average(imagemCinza) > 110: 
36 
 
 
altura)) 
imagemFace) 
imagemFace = cv2.resize(imagemCinza[y:y + a, x:x + l], (largura, 
cv2.imwrite("dataset/Pichau." + str(id) + "." + str(amostra) + ".jpg", 
print("[foto " + str(amostra) + " capturada com sucesso]") 
amostra += 1 
 
 
cv2.imshow("Face", imagem) 
cv2.waitKey(1) 
if(amostra >= numeroAmostras + 1): 
break 
 
print("Faces capturadas com sucesso") 
camera.realease() 
cv2.destroyAllWindows() 
 
treinamento.py 
import cv2 
import numpy as np 
import os #usar recusos do SO 
 
 
#cria o algoritmo de reconhecimento 
eigenface = cv2.face.EigenFaceRecognizer_create() 
fisherface = cv2.face.FisherFaceRecognizer_create() 
lbph = cv2.face.LBPHFaceRecognizer_create() 
 
def getImagemComId(): 
caminhos = [os.path.join('dataset', f) for f in os.listdir('dataset')] 
faces = [] #lista 
ids = [] 
#possui todos os caminhos das imagens 
for caminhoImagem in caminhos: 
imagemFace = cv2.cvtColor(cv2.imread(caminhoImagem), 
cv2.COLOR_BGR2GRAY) #abrindo a imagem e convertendo ela em escla de cinza 
37 
 
id = int(os.path.split(caminhoImagem)[-1].split('.')[1]!='jpg') 
print(id) 
ids.append(id) 
faces.append(imagemFace) 
cv2.imshow("Face", imagemFace) 
cv2.waitKey(10) 
return np.array(ids), faces 
ids, faces = getImagemComId() 
 
print("Treinando...") 
eigenface.train(faces, ids) 
eigenface.write('classificadorEigen.yml') 
 
 
lbph.train(faces, ids) 
lbph.write('classificadorLPBH.yml') 
print("Treinamento realizado") 
 
reconhecedor-eigenface.py 
import cv2 
 
class Reconhecedor: 
detectorFace = cv2.CascadeClassifier("haarcascade-frontalface- 
default.xml") 
reconhecedor = cv2.face.EigenFaceRecognizer_create() #reconhece a face 
no vídeo 
reconhecedor.read("classificadorEigen.yml") #com base no aprendizado, 
classifica os rostos 
largura, altura = 220, 220 
font = cv2.FONT_HERSHEY_COMPLEX_SMALL 
camera = cv2.VideoCapture(1) #conecta com a câmera 
38 
 
while (True): 
conectado, imagem = camera.read() #capturando a imagem 
imagemCinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY) 
facesDetectadas = detectorFace.detectMultiScale(imagemCinza, 
scaleFactor=1.5, 
minSize=(50, 50)) 
#pega a imagem que está passando na webcam e localiza as faces e as 
reconhece 
 
 
for (x, y, l, a) in facesDetectadas: 
imagemFace = cv2.resize(imagemCinza[y:y + a, x:x + l], (largura,altura)) 
39 
 
#reduzindo a imagem para 200X200 
cv2.rectangle(imagem, (x, y), (x + l, y + a), (0, 0, 255), 2) 
id, confianca = reconhecedor.predict(imagemFace) 
cv2.putText(imagem, str(id), (x,y + (a+30)), font, 2,(0,0,255)) 
 
 
#visualizando a imagem capturada 
cv2.imshow("Face", imagem) 
cv2.waitKey(1) 
 
camera.release() 
cv2.destroyAllWindows() 
 
a = Reconhecedor()

Continue navegando