Universidade Federal de Minas Gerais Departamento de Cincia

  • Slides: 44
Download presentation
Universidade Federal de Minas Gerais Departamento de Ciência da Computação Visão Computacional Comparação de

Universidade Federal de Minas Gerais Departamento de Ciência da Computação Visão Computacional Comparação de algoritmos de reconhecimento de faces em multidões Anderson Rocha Tavares Eloizio César Drummond Salgado

Sumário 1. O problema 1. Motivação 1. Revisão bibliográfica 1. Metodologia 1. Resultados 1.

Sumário 1. O problema 1. Motivação 1. Revisão bibliográfica 1. Metodologia 1. Resultados 1. Conclusão

O problema 1. Reconhecimento de faces em imagens que possuem diversas faces. 2. Enunciado

O problema 1. Reconhecimento de faces em imagens que possuem diversas faces. 2. Enunciado do problema: 1. Opção 1: Dada uma imagem de uma única face, encontre em uma multidão esta face. 2. Opção 2: Dada a imagem de uma multidão, reconheça as faces presentes no banco de dados da aplicacão.

Motivação 1. Identificação de criminosos, terroristas, mafiosos, baderneiros, etc em lugares públicos como Estações

Motivação 1. Identificação de criminosos, terroristas, mafiosos, baderneiros, etc em lugares públicos como Estações de Trem, Aeroportos, Feiras, Estádios. 1. Pode ajudar a prevenir crimes contra a vida em escala catastrófica como o "11/09". 1. Motivação principal: Segurança!

É um problema simples? 1. Há dificuldades com: 1. Pose 2. Qualidade da imagem

É um problema simples? 1. Há dificuldades com: 1. Pose 2. Qualidade da imagem 3. Oclusão 4. Disfarces 5. Desempenho

Revisão Bibliográfica 1. Detecção de Faces 1. 2. 3. VIOLA, Paul; JONES, Michael Robust

Revisão Bibliográfica 1. Detecção de Faces 1. 2. 3. VIOLA, Paul; JONES, Michael Robust Real-Time Face Detection (1ª Versão) Fast Multi-view Face Detection (2ª Versão) 1. Considerado o estado-da-arte em detecção 2. Detecta faces com rotação dentro e fora do plano de imagem 3. Mantém o bom desempenho da primeira versão 4. 0, 12 segundos para uma imagem 320 x 240 em um P 4 2. 8 GHz

Revisão Bibliográfica 1. Reconhecimento de Face 1. Há muitas técnicas. . . 1. Características

Revisão Bibliográfica 1. Reconhecimento de Face 1. Há muitas técnicas. . . 1. Características faciais (olhos, nariz, boca) 1. Brunelli, R. ; Poggio, T. ; Trento, I Povo. Face recognition through geometrical features. 1992 2. Template Matching 3. Análise da Textura da pele 4. Principal Component Analysis - Eigenfaces 1. SIROVICH, L. ; KIRBY, M. ; Low-dimensional Procedure for the characterization of human faces. 1987 2. M. Turk, A. Pentland, Eigenfaces for Recognition. 1991 (+ citado)¹ 3. ATALAY, Ilker; Face recognition using eigenfaces 1) Face Recognition Homepage - Interesting Papers http: //www. face-rec. org/interesting-papers/ 2) http: //electronics. howstuffworks. com/facialrecognition. htm

Revisão Bibliográfica 1. Reconhecimento de Faces - Imagens Estáticas 1. Há muitas técnicas. .

Revisão Bibliográfica 1. Reconhecimento de Faces - Imagens Estáticas 1. Há muitas técnicas. . . 1. Reconhecimento Tridimensional 1. Cartoux, J. Y. , J. T. La. Preste, and M. Richetin: 1989, Face authentication or recognition by profile extraction from range images 2. Bronstein, A. M. ; Bronstein, M. M. , Kimmel, R. Threedimensional face recognition. 2005 3. Identificou corretamente 2 gêmeos idênticos (autores) 4. Queirolo, C. C. ; Silva, L. ; Bellon, O. R. ; Segundo, M. P. 3 D Face Recognition using Simulated Annealing and the Surface Interpenetration Measure. 2009 5. Precisão de identificação maior que 98%.

Revisão Bibliográfica 1. Reconhecimento de Faces em Multidões: 1. Ausência de documentos/artigos específicos sobre

Revisão Bibliográfica 1. Reconhecimento de Faces em Multidões: 1. Ausência de documentos/artigos específicos sobre o assunto: 2. No entanto, alguns sistemas conhecidos: 1. Face. It from Visionics 1. Can find human faces anywhere in a field of view. It can track up to 10 faces simultaneously in a live video. It can follow that face as it moves through a crowd while also searching for matches against a database at a rate of 60 million/minute, per central processing unit (CPU). 2. Face. VACS-Alert. http: //www. cognitec-systems. de/Face. VACSAlert. 20. 0. html 1. Real time face tracking on multiple video streams 2. Real time probe face comparison against "watch list" 3. Real time alarm notification and recordind 3. Biometric Systems, Inc. http: //www. biometrica. com/ 1. providing advanced identity solutions to the Casino Industry

Metodologia

Metodologia

Testes 1. Informações gerais dos testes de reconhecimento: 1. Máquina: 1. Processador: Intel Core

Testes 1. Informações gerais dos testes de reconhecimento: 1. Máquina: 1. Processador: Intel Core Duo T 2350 1. 86 GHz 2 MB L 2 2. Memória: 2. 5 GB de RAM 2. Imagens testadas: 1. Total: 120 imagens 2. Formato: . pgm (Portable Graymap) 3. Exemplos:

Algoritmos testados - Segmentação 1. Luxand. SDK¹ 1. Detecção de faces frontais: 1. Detecção

Algoritmos testados - Segmentação 1. Luxand. SDK¹ 1. Detecção de faces frontais: 1. Detecção de múltiplas faces 2. Rotação de 30º no plano e fora dele 3. Tempo de detecção: 0, 01 a 0, 7 seg 1. Em um Pentium IV 2, 4 GHz 1 GB RAM 1. Detecção de características: 1. 40 pontos (olhos, sobrancelhas, boca, nariz e contorno da face) 2. Rotação suportada: 30º no plano, 10º fora 3. Tempo: 0, 65 segundos (Pentium IV 2, 4 GHZ 1 GB RAM) 1) Luxand - Detect Human Faces and Recognize Facial Features - http: //www. luxand. com/facesdk/

Algoritmos testados - Reconhecimento 1. Principal Component Analysis (PCA)¹ Forma vetores de características (feature

Algoritmos testados - Reconhecimento 1. Principal Component Analysis (PCA)¹ Forma vetores de características (feature vectors) concatenando valores de pixels da imagem 2. Inicialmente são gerados muitos valores altamente correlacionados 3. PCA chega a um subespaço pequeno sem covariância entre os feature vectors transformados (os componentes principais). 4. A matriz de covariância é sempre diagonal 1. Isso é explorado para alguns classificadores, como L 1, Mah. Cosine e Bayesianos, por exemplo. 1 - M. A. Turk and A. P. Pentland. Face Recognition Using Eigenfaces. In Proc. of IEEE Conference on Computer Vision and Pattern Recognition, pages 586 – 591, June 1991.

Algoritmos testados - Reconhecimento 1. PCA - Métricas de Classificação 1. Euclideana: 1. Mahalanobis

Algoritmos testados - Reconhecimento 1. PCA - Métricas de Classificação 1. Euclideana: 1. Mahalanobis Distance 1. Imagem é convertida para o espaço de Mahalanobis 2. A variância da amostra ao longo de cada dimensão é unitária, contra 0 dos feature vectors 3. Transformação é feita pela divisão dos componentes do vetor pelos seus respectivos desvios-padrão. Transformação: Mah. Cosine: (covariância entre as imagens no espaço de Mahalanobis)

Algoritmos testados - Reconhecimento 1. Bayesian Intra/Extra personal Classifier (BIC)¹ Examina o resultado da

Algoritmos testados - Reconhecimento 1. Bayesian Intra/Extra personal Classifier (BIC)¹ Examina o resultado da diferença entre imagens As imagens-diferença são originadas de distribuições Gaussianas dentro do espaço de todas as imagens-diferença 3. O treinamento é feito através de PCA, determinando as propriedades estatísticas de 2 subespaços 1. 2. 1. Imagens-diferença da classe Intrapessoal 2. Imagens-diferença da classe Extrapessoal 4. Na fase de teste, o classificador recebe uma imagem de classe desconhecida e usa as estimativas distribuições de probabilidade para identificação. 1. Na prática: os feature vectors são projetados nos dois conjuntos, e a probabilidade dele pertencer a cada subespaço é calculada. 1 - B. Moghaddam, C. Nastar, and A. Pentland. A bayesian similarity measure for direct image matching. ICPR, B: 350– 358, 1996.

Algoritmos testados - Reconhecimento 1. BIC - Métricas de Classificação Os feature vectors são

Algoritmos testados - Reconhecimento 1. BIC - Métricas de Classificação Os feature vectors são projetados nos dois conjuntos, e a probabilidade dele pertencer a cada subespaço é calculada. 1. MAP - Maximum a posteriori 1. Métrica gerada em relação ao conjunto de imagens intra e extrapessoais. 2. ML - Maximum likehood 1. Gerada em relação apenas ao conjunto de imagens intrapessoais.

Resultados 1. Segmentação: 1. Luxand. SDK 1. Teste de Eficácia 2. Tempo de execução

Resultados 1. Segmentação: 1. Luxand. SDK 1. Teste de Eficácia 2. Tempo de execução 1. Reconhecimento: 1. Comparação: 1. BIC x PCA 2. Base da comparação: 1. Matriz de Distância: 1. Segundo menor valor 2. Desempenho: 1. Tempo de execução

Resultados - Luxand. SDK 1. Tempo de execução: Média = 16, 89 s /

Resultados - Luxand. SDK 1. Tempo de execução: Média = 16, 89 s / Desvio Padrão = 0, 95

Resultados - Luxand. SDK 1. Tempo de execução: Média = 35, 41 s /

Resultados - Luxand. SDK 1. Tempo de execução: Média = 35, 41 s / Desvio Padrão = 0, 38

Resultados - Luxand. SDK X 1. Tempo de execução: Média = 14, 66 s

Resultados - Luxand. SDK X 1. Tempo de execução: Média = 14, 66 s / Desvio Padrão = 0, 02

Resultados - Luxand. SDK - Resumo

Resultados - Luxand. SDK - Resumo

Resultados - Luxand. SDK - Resumo 1. Eficácia: Fotos frontais: 100% / Fotos reais:

Resultados - Luxand. SDK - Resumo 1. Eficácia: Fotos frontais: 100% / Fotos reais: 65, 76% 2. 2 Detecções 'duplas' 3. Tempo Médio de detecção por face = 0, 69 s 1. Desvio Padrão = 0, 02

Resultados - Algoritmo BIC 1. Primeiro Resultado Imagem 0 Imagem 33

Resultados - Algoritmo BIC 1. Primeiro Resultado Imagem 0 Imagem 33

Resultados - Algoritmo BIC 1. Segundo Resultado Imagem 0 Imagem 32

Resultados - Algoritmo BIC 1. Segundo Resultado Imagem 0 Imagem 32

Resultados - Algoritmo BIC 1. Terceiro Resultado Imagem 48 Imagem 49

Resultados - Algoritmo BIC 1. Terceiro Resultado Imagem 48 Imagem 49

Resultados - Algoritmo BIC 1. Quarto Resultado Imagem 48 Imagem 49

Resultados - Algoritmo BIC 1. Quarto Resultado Imagem 48 Imagem 49

Resultados - Algoritmo BIC 1. Quinto Resultado Imagem 119 Imagem 118

Resultados - Algoritmo BIC 1. Quinto Resultado Imagem 119 Imagem 118

Resultados - Algoritmo BIC 1. Sexto Resultado Imagem 119 Imagem 118

Resultados - Algoritmo BIC 1. Sexto Resultado Imagem 119 Imagem 118

Resultados - Algoritmo PCA 1. Primeiro Resultado Imagem 0 Imagem 22

Resultados - Algoritmo PCA 1. Primeiro Resultado Imagem 0 Imagem 22

Resultados - Algoritmo PCA 1. Segundo Resultado Imagem 0 Imagem 8

Resultados - Algoritmo PCA 1. Segundo Resultado Imagem 0 Imagem 8

Resultados - Algoritmo PCA 1. Terceiro Resultado Imagem 48 Imagem 61

Resultados - Algoritmo PCA 1. Terceiro Resultado Imagem 48 Imagem 61

Resultados - Algoritmo PCA 1. Quarto Resultado Imagem 48 Imagem 52

Resultados - Algoritmo PCA 1. Quarto Resultado Imagem 48 Imagem 52

Resultados - Algoritmo PCA 1. Quinto Resultado Imagem 117 Imagem 119

Resultados - Algoritmo PCA 1. Quinto Resultado Imagem 117 Imagem 119

Resultados - Algoritmo PCA 1. Sexto Resultado Imagem 119 Imagem 95

Resultados - Algoritmo PCA 1. Sexto Resultado Imagem 119 Imagem 95

Resultados - Algoritmos 1. Resumo dos Resultados 1. Tempo de Execução:

Resultados - Algoritmos 1. Resumo dos Resultados 1. Tempo de Execução:

Resultados - Algoritmos 1. Resumo dos Resultados 1. Número de Acertos (Amostragem de 10%):

Resultados - Algoritmos 1. Resumo dos Resultados 1. Número de Acertos (Amostragem de 10%):

Resultados - Algoritmos 1. Resultado geral da aplicação (Users Guide¹). 1. Imagens: Banco de

Resultados - Algoritmos 1. Resultado geral da aplicação (Users Guide¹). 1. Imagens: Banco de Dados FERET² 1 -http: //www. cs. colostate. edu/evalfacerec/algorithms/version 5/face. Id. Users. Guide. pdf 2 - http: //en. wikipedia. org/wiki/FERET_database

Conclusão 1. Detecção - Luxand. SDK 1. Boa detecção em fotos frontais 2. Lida

Conclusão 1. Detecção - Luxand. SDK 1. Boa detecção em fotos frontais 2. Lida bem com rotação no plano de imagem 3. Dificuldades com rotação para fora do plano 4. Dificuldades com oclusão, faces pequenas, cenas 5. Tempo de detecção consistente com o divulgado 1. Mas é alto 2. Uso inviável para aplicações de tempo real reais

Conclusão 1. Reconhecimento - BIC: 1. Pontos positivos: 1. Bom Reconhecimento = ideal para

Conclusão 1. Reconhecimento - BIC: 1. Pontos positivos: 1. Bom Reconhecimento = ideal para o propósito! 2. Pontos negativos: 1. Alto tempo de execução e processamento: 1. Para reconhecimento de faces em multidões: 2. muitas faces = muita segmentação e processamento 3. em alguns casos há necessidade de reconhecimento em tempo real. 2. Ruim para reconhecer faces em imagens iguais. 1. Grande dependência de um banco de dados consistente.

Conclusão 1. Reconhecimento - PCA: 1. Pontos Positivos: 1. Bom para identificar faces de

Conclusão 1. Reconhecimento - PCA: 1. Pontos Positivos: 1. Bom para identificar faces de imagens idênticas 2. Rápida Execução. 2. Pontos Negativos: 1. Não identifica faces em imagens com variações: 1. Requisito básico para identificação de faces em multidões

Conclusão 1. Comentários Finais: 1. Abordagem adotada mostrou-se lenta 1. Tanto na segmentação quanto

Conclusão 1. Comentários Finais: 1. Abordagem adotada mostrou-se lenta 1. Tanto na segmentação quanto no reconhecimento 2. Várias melhorias possíveis 1. Eficácia: 1. Mudança do segmentador (Viola-Jones? ) 2. Implementação de reconhecedor mais sofisticado 2. Eficiência: 1. Melhor integração com reconhecedor 2. Uso de reconhecedor mais rápido

Conclusão 1. Comentários Finais: 1. Para reconhecimento de faces em multidões é necessário: 2.

Conclusão 1. Comentários Finais: 1. Para reconhecimento de faces em multidões é necessário: 2. Boa segmentação de faces: 1. A qualidade da imagem de entrada é muito importante para o reconhecedor. 3. Banco de dados de qualidade: 1. Imagens com variações de iluminação e resolução, oclusão de partes faciais, etc. 4. Necessidade de rápido reconhecimento. 5. Baixo número de falsos positivos!

Dúvidas? ? ? ?

Dúvidas? ? ? ?

FIM Obrigado!

FIM Obrigado!