Você está na página 1de 30

VISO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAO E AUTENTICAO DE USURIOS NA WEB

Mrcio Koch

Orientador: Jacques Robert Heckmann

ROTEIRO

Introduo

Objetivos do trabalho
Conceitos bsicos Contexto atual Principais requisitos Especificao Implementao Resultados Extenses

Fundamentao terica

Desenvolvimento

Concluso

Demonstrao

INTRODUO

Objetivo do trabalho Construir uma ferramenta que possibilite aos usurios efetuarem autenticao em aplicativos web, atravs do reconhecimento facial. Utilizar tcnicas de processamento de imagens e viso computacional.

FUNDAMENTAO TERICA

Conceitos bsicos Reconhecimento biomtrico Processamento de imagens Viso computacional Anlise de componentes principais

FUNDAMENTAO TERICA

Reconhecimento biomtrico

FUNDAMENTAO TERICA

Processamento de imagens Processar uma imagem, significa aplicar uma ou mais transformaes sobre ela, de forma que fique mais fcil extrair as informaes desejadas. Tcnicas de processamento utilizadas: Converso para tons de cinza Reduo da resoluo Equalizao do histograma Normalizao da pose da face

FUNDAMENTAO TERICA

Viso computacional Viso computacional responsvel pelo processamento e interpretao de imagens para a identificao de objetos e reconhecimento de padres. Em um sistema de reconhecimento facial, vrias etapas requerem tcnicas de viso computacional, entre elas a localizao da face e extrao de caractersticas.

FUNDAMENTAO TERICA

Anlise de Componentes Principais (PCA) Desenvolvida por Pearson em 1901 e adaptada por Hotteling em 1933 (conhecida como transformada de Hotteling) Utilizada para extrair as caractersticas mais importantes (separa as informaes importantes das redundantes e aleatrias) Mtodo estatstico multivariado (transforma variveis correlacionadas em um nmero menor no correlacionadas) Permite projetar caractersticas em um espao de menor dimensionalidade com suas componentes mais relevantes nas primeiras dimenses

DESENVOLVIMENTO

Requisitos principais

Permitir o cadastro de usurios (Requisito Funcional - RF) Permitir o cadastro das imagens das faces dos usurios (RF) Permitir que usurios efetuem autenticao atravs do reconhecimento facial (RF) Converter as imagens para nveis de cinza (RF) Localizar uma face na imagem (RF) Normalizar a pose da face (RF) Normalizar as dimenses da face (RF) Extrair caractersticas da face (RF) Efetuar o reconhecimento da face (RF) Permitir a aquisio das imagens via web atravs de uma webcam (Requisito No Funcional - RNF)

FUNDAMENTAO TERICA

Contexto atual Atualmente, poucos sistemas propem-se a mesma tarefa deste trabalho, de possibilitar autenticao em sistemas web atravs do reconhecimento facial. Os trabalhos correlatos a este, tambm abordam o reconhecimento atravs da face, porm nenhum destina-se web. Campos Tcnicas de reconhecimento Reaes Busca de registro Pamplona Sobrinho Dispositivo mvel

DESENVOLVIMENTO

Especificao A especificao foi criada com base nas definies da UML a partir da IDE do Eclipse com a extenso de modelagem desenvolvida pela Senior Sistemas. Diagramas apresentados: Diagrama de casos de uso Diagrama de classes

DESENVOLVIMENTO

DESENVOLVIMENTO

DESENVOLVIMENTO

DESENVOLVIMENTO

Implementao

Ferramentas utilizadas: Eclipse JEE para web JDK 1.6 - 64-bits API OpenCV Viso computacional API JavaCV (wrapper para OpenCV) GlassFish Servidor web Oracle Banco de dados Tcnicas utilizadas: Deteco da face baseada em caractersticas de Haar Converso para nveis de cinza Reduo da resoluo Equalizao do histograma Normalizao da pose atravs do alinhamento horizontal entre os olhos Anlise de componentes principais Applet para interface web com o usurio Socket para transmisso de dados entre o applet e o aplicativo servidor

DESENVOLVIMENTO

Implementao

Deteco da face Baseado em classificadores em cascata simples (Haar cascade) Janelas de tamanho ajustvel que percorrem a imagem

DESENVOLVIMENTO

Implementao - Pr-processamento

Nveis de cinza

Substituir o pixel por: 30% do vermelho + 59% do verde + 11% do azul

Reduo da resoluo

Algoritmo de intercalao
Redistribuir os tons de cinza uniformemente

Equalizao do histograma

DESENVOLVIMENTO

Implementao - Pr-processamento

Normalizao da pose da face


Rotaciona a imagem sem deixar reas sem pixels nas laterais Usa interpolao de pixels para reconstruir reas da imagem

FUNDAMENTAO TERICA

Anlise de Componentes Principais (PCA) Extrao das caractersticas a) Criar uma matriz de padres a partir das faces de treinamento b) Calcular a face mdia a partir dos padres c) Calcular a matriz de covarincia Calcular os auto-valores e auto-vetores d) Calcular as eigenfaces Cada eigenface uma componente principal e) Calcular os pontos de projeo das caractersticas no subespao de imagens

a) b) c)
1 4 5 4 5 2 6 6 3

d)
1 0 0 0 2 0 0 0 3

e)

FUNDAMENTAO TERICA

Para reconhecer uma face de testes:


Calcula-se a distncia euclidiana (ou de mahalanobis) entre os pontos projetados da face de teste com cada uma das faces de treinamento (uma face de treinamento por vez); Atravs do mtodo do vizinho mais prximo encontra-se a face de treinamento mais prxima da face testada. Exemplo didtico
Face Ponto 1 Ponto 2 Ponto 3

Teste
Treino 1 Treino 2 Treino 3

7,5 15,5 13,5 2,5

6,5 13,2 12,5 3,5

8,5

, =
=1

( )2

14,5 (7,5 15,5)2 +(6,5 13,2)2 +(8,5 14,5)2 =144,89 12 (7,5 13,5)2 +(6,5 12,5)2 +(8,5 12)2 =84,25 2 (, , ) +(, , ) +(, ) =76,25

DESENVOLVIMENTO

Operacionalidade

Aplicativo servidor Acesso a ferramenta

DESENVOLVIMENTO

Operacionalidade

Tela principal Cadastro de um novo usurio

DESENVOLVIMENTO

Operacionalidade

Autenticao do usurio Redirecionamento para a pgina principal

DESENVOLVIMENTO

Operacionalidade

Reconhecimento automtico Autenticao atravs de usurio e senha

DESENVOLVIMENTO

Resultados

Deteco facial sucesso em mais de 1500 imagens Normalizao da face sucesso em 99% das faces

DESENVOLVIMENTO

Resultados

Reconhecimento facial 5 imagens por pessoa para treinamento e 2 para testes Reconhecimento facial 3 imagens por pessoa para treinamento e 1 para testes

CONCLUSO

Benefcios

Superou a taxa mnima de 96% no reconhecimento Mais de 1500 imagens de faces coletadas A ferramenta foi utilizada por vrios usurio na coleta das faces Segmentao e deteco automtica das faces em um navegador web Permite o reconhecimento de face automtica Atendeu aos requisitos e a maioria dos objetivos do trabalho Coleta das faces a campo, o objetivo eram 2000 imagens Eliminao dos falsos positivos: uso do erro de reconstruo da face e menor distncia dos falsos positivos como distncia mxima (no consta na monografia) Quando a base de dados muito grande, lento o cadastro de um novo usurio Atingiu-se taxas de acerto superiores a alguns trabalhos correlatos Alm de apenas reconhecer, conseguiu-se identificar o usurio

Dificuldades

Comparao com trabalhos correlatos


CONCLUSO

Possibilidades de extenso (principais)


Desenvolver as rotinas de clculo PCA substituindo as da API OpenCV Utilizar os auto-vetores com maiores auto-valores para diminuir a quantidade de informaes na base de dados e carregadas na memria Melhorar a interface com o usurio, exibindo as imagens j capturadas Substituir o uso de applet pelo HTML5 Efetuar o treinamento e reconhecimento das faces de forma distribuda Utilizar o mtodo dos centroides para calcular as distncias entre os pontos Permitir extrair apenas as caractersticas mais rgidas da face (e. g. olhos) Combinar a tcnica PCA com outras tcnicas como a LDA Permitir o reconhecimento da face com expresses e de perfil Impedir tentativas de fraudes com fotos, atravs de tcnicas como a 3D Permitir alterar as imagens de treino com o objetivo da ferramenta ir aprendendo como a pessoa muda com o passar do tempo

DEMONSTRAO

Demonstrao

FIM

Obrigado

Você também pode gostar