A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Márcio Koch VISÃO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAÇÃO E AUTENTICAÇÃO DE USUÁRIOS NA WEB Orientador: Jacques Robert Heckmann.

Apresentações semelhantes


Apresentação em tema: "Márcio Koch VISÃO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAÇÃO E AUTENTICAÇÃO DE USUÁRIOS NA WEB Orientador: Jacques Robert Heckmann."— Transcrição da apresentação:

1 Márcio Koch VISÃO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAÇÃO E AUTENTICAÇÃO DE USUÁRIOS NA WEB Orientador: Jacques Robert Heckmann

2 ROTEIROROTEIRO  Introdução  Objetivos do trabalho  Fundamentação teórica  Conceitos básicos  Contexto atual  Desenvolvimento  Principais requisitos  Especificação  Implementação  Resultados  Conclusão  Extensões  Demonstração

3 INTRODUÇÃOINTRODUÇÃO  Objetivo do trabalho  Construir uma ferramenta que possibilite aos usuários efetuarem autenticação em aplicativos web, através do reconhecimento facial.  Utilizar técnicas de processamento de imagens e visão computacional.

4 FUNDAMENTAÇÃO TEÓRICA  Conceitos básicos  Reconhecimento biométrico  Processamento de imagens  Visão computacional  Análise de componentes principais

5 FUNDAMENTAÇÃO TEÓRICA  Reconhecimento biométrico

6 FUNDAMENTAÇÃO TEÓRICA  Processamento de imagens  Processar uma imagem, significa aplicar uma ou mais transformações sobre ela, de forma que fique mais fácil extrair as informações desejadas.  Técnicas de processamento utilizadas:  Conversão para tons de cinza  Redução da resolução  Equalização do histograma  Normalização da pose da face

7 FUNDAMENTAÇÃO TEÓRICA  Visão computacional  Visão computacional é responsável pelo processamento e interpretação de imagens para a identificação de objetos e reconhecimento de padrões.  Em um sistema de reconhecimento facial, várias etapas requerem técnicas de visão computacional, entre elas a localização da face e extração de características.

8 FUNDAMENTAÇÃO TEÓRICA  Análise de Componentes Principais (PCA)  Desenvolvida por Pearson em 1901 e adaptada por Hotteling em 1933 (conhecida como transformada de Hotteling)  Utilizada para extrair as características mais importantes (separa as informações importantes das redundantes e aleatórias)  Método estatístico multivariado (transforma variáveis correlacionadas em um número menor não correlacionadas)  Permite projetar características em um espaço de menor dimensionalidade com suas componentes mais relevantes nas primeiras dimensões

9 DESENVOLVIMENTODESENVOLVIMENTO  Requisitos principais  Permitir o cadastro de usuários (Requisito Funcional - RF)  Permitir o cadastro das imagens das faces dos usuários (RF)  Permitir que usuários efetuem autenticação através do reconhecimento facial (RF)  Converter as imagens para níveis de cinza (RF)  Localizar uma face na imagem (RF)  Normalizar a pose da face (RF)  Normalizar as dimensões da face (RF)  Extrair características da face (RF)  Efetuar o reconhecimento da face (RF)  Permitir a aquisição das imagens via web através de uma webcam (Requisito Não Funcional - RNF)

10 FUNDAMENTAÇÃO TEÓRICA  Contexto atual  Atualmente, poucos sistemas propõem-se a mesma tarefa deste trabalho, de possibilitar autenticação em sistemas web através do reconhecimento facial.  Os trabalhos correlatos a este, também abordam o reconhecimento através da face, porém nenhum destina-se à web.  Campos – Técnicas de reconhecimento  Reaes – Busca de registro  Pamplona Sobrinho – Dispositivo móvel

11 DESENVOLVIMENTODESENVOLVIMENTO  Especificação  A especificação foi criada com base nas definições da UML a partir da IDE do Eclipse com a extensão de modelagem desenvolvida pela Senior Sistemas.  Diagramas apresentados:  Diagrama de casos de uso  Diagrama de classes

12 DESENVOLVIMENTODESENVOLVIMENTO

13 DESENVOLVIMENTODESENVOLVIMENTO

14 DESENVOLVIMENTODESENVOLVIMENTO

15 DESENVOLVIMENTODESENVOLVIMENTO  Implementação  Ferramentas utilizadas:  Eclipse JEE para web  JDK 1.6 - 64-bits  API OpenCV – Visão computacional  API JavaCV (wrapper para OpenCV)  GlassFish – Servidor web  Oracle – Banco de dados  Técnicas utilizadas:  Detecção da face baseada em características de Haar  Conversão para níveis de cinza  Redução da resolução  Equalização do histograma  Normalização da pose através do alinhamento horizontal entre os olhos  Análise de componentes principais  Applet para interface web com o usuário  Socket para transmissão de dados entre o applet e o aplicativo servidor

16 DESENVOLVIMENTODESENVOLVIMENTO  Implementação  Detecção da face  Baseado em classificadores em cascata simples (Haar cascade)  Janelas de tamanho ajustável que percorrem a imagem

17 DESENVOLVIMENTODESENVOLVIMENTO  Implementação - Pré-processamento  Níveis de cinza  Substituir o pixel por: 30% do vermelho + 59% do verde + 11% do azul  Redução da resolução  Algoritmo de intercalação  Equalização do histograma  Redistribuir os tons de cinza uniformemente

18 DESENVOLVIMENTODESENVOLVIMENTO  Implementação - Pré-processamento  Normalização da pose da face  Rotaciona a imagem sem deixar áreas sem pixels nas laterais  Usa interpolação de pixels para reconstruir áreas da imagem

19 FUNDAMENTAÇÃO TEÓRICA  Análise de Componentes Principais (PCA) – Extração das características a)Criar uma matriz de padrões a partir das faces de treinamento b)Calcular a face média a partir dos padrões c)Calcular a matriz de covariância Calcular os auto-valores e auto-vetores d)Calcular as eigenfaces Cada eigenface é uma componente principal e)Calcular os pontos de projeção das características no subespaço de imagens a) b) c) d) e)

20 FUNDAMENTAÇÃO TEÓRICA  Para reconhecer uma face de testes:  Calcula-se a distância 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);  Através do método do vizinho mais próximo encontra-se a face de treinamento mais próxima da face testada. Exemplo didático FacePonto 1Ponto 2Ponto 3 Teste7,56,58,5 Treino 1 15,513,214,5 Treino 2 13,512,512 Treino 3 2,53,52

21 DESENVOLVIMENTODESENVOLVIMENTO  Operacionalidade  Aplicativo servidor  Acesso a ferramenta

22 DESENVOLVIMENTODESENVOLVIMENTO  Operacionalidade  Tela principal  Cadastro de um novo usuário

23 DESENVOLVIMENTODESENVOLVIMENTO  Operacionalidade  Autenticação do usuário  Redirecionamento para a página principal

24 DESENVOLVIMENTODESENVOLVIMENTO  Operacionalidade  Reconhecimento automático  Autenticação através de usuário e senha

25 DESENVOLVIMENTODESENVOLVIMENTO  Resultados  Detecção facial – sucesso em mais de 1500 imagens  Normalização da face – sucesso em 99% das faces

26 DESENVOLVIMENTODESENVOLVIMENTO  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

27  Benefícios  Superou a taxa mínima de 96% no reconhecimento  Mais de 1500 imagens de faces coletadas  A ferramenta foi utilizada por vários usuário na coleta das faces  Segmentação e detecção automática das faces em um navegador web  Permite o reconhecimento de face automática  Atendeu aos requisitos e a maioria dos objetivos do trabalho  Dificuldades  Coleta das faces a campo, o objetivo eram 2000 imagens  Eliminação dos falsos positivos: uso do erro de reconstrução da face e menor distância dos falsos positivos como distância máxima (não consta na monografia)  Quando a base de dados é muito grande, é lento o cadastro de um novo usuário  Comparação com trabalhos correlatos  Atingiu-se taxas de acerto superiores a alguns trabalhos correlatos  Além de apenas reconhecer, conseguiu-se identificar o usuário CONCLUSÃOCONCLUSÃO

28 CONCLUSÃOCONCLUSÃO  Possibilidades de extensão (principais)  Desenvolver as rotinas de cálculo PCA substituindo as da API OpenCV  Utilizar os auto-vetores com maiores auto-valores para diminuir a quantidade de informações na base de dados e carregadas na memória  Melhorar a interface com o usuário, exibindo as imagens já capturadas  Substituir o uso de applet pelo HTML5  Efetuar o treinamento e reconhecimento das faces de forma distribuída  Utilizar o método dos centroides para calcular as distâncias entre os pontos  Permitir extrair apenas as características mais rígidas da face (e. g. olhos)  Combinar a técnica PCA com outras técnicas como a LDA  Permitir o reconhecimento da face com expressões e de perfil  Impedir tentativas de fraudes com fotos, através de técnicas 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

29 DEMONSTRAÇÃODEMONSTRAÇÃO  Demonstração

30 FIMFIM  Obrigado


Carregar ppt "Márcio Koch VISÃO COMPUTACIONAL PARA RECONHECIMENTO DE FACES APLICADO NA IDENTIFICAÇÃO E AUTENTICAÇÃO DE USUÁRIOS NA WEB Orientador: Jacques Robert Heckmann."

Apresentações semelhantes


Anúncios Google