1. O documento descreve um trabalho sobre detecção de faces em vídeos utilizando a biblioteca OpenCV e os algoritmos Viola-Jones e EigenFaces.
2. A Visão Computacional é apresentada como um campo da inteligência artificial responsável pela interpretação de imagens através dos atributos dos pixels. Bibliotecas como a OpenCV auxiliam nesse processo fornecendo funções para análise de imagens.
3. O trabalho tem como objetivo implementar uma ferramenta de detecção de faces em vídeos para melhorar o sistema de monitoramento da
Detecção de faces em vídeos com OpenCV e Eigenfaces
1. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Detec¸c˜ao de faces em v´ıdeos
Paulo Vitor Mira Fonseca
Orientador: Prof. Dr. Marcos G. Quiles
Co-orientador: Prof. Dr. Ezequiel Roberto Zorzal
{pfonseca, quiles, ezorzal}@unifesp.br
Unifesp - Universidade Federal de S˜ao Paulo
http://www.unifesp.br
4 de dezembro de 2011
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 1/54
2. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Sum´ario I
1 Introdu¸c˜ao
2 Vis˜ao Computacional
3 Bibliotecas de Vis˜ao Computacional
4 OpenCV
Biblioteca OpenCV
Algoritmo Viola-Jones
Integra¸c˜ao de imagem
Aprendizado AdaBoost
Classificador em cascata
5 Algoritmo EigenFaces
6 Trabalho Realizado
Descri¸c˜ao
7 Resultados obtidos
8 Conclus˜ao
9 Referˆencias
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 2/54
3. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Contextualiza¸c˜ao e Motiva¸c˜ao
Computadores tornaram-se fundamentais em nossas vidas
Melhorar usabilidade
Detec¸c˜ao e reconhecimento de faces humanas
Processo n˜ao-intrusivo em biometria.
M´etodo muito complexo de ser realizado
computacionalmente.
Interferˆencias[17].
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 3/54
4. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Objetivos e Motiva¸c˜oes
Aprimorar os conhecimentos de aprendizado de m´aquina e
de processamento de imagens adquiridos ao longo da
gradua¸c˜ao;
Implementar uma ferramenta pr´atica a ser utilizada no
sistema de v´ıdeos da Unifesp-SJC, permitindo o
aprimoramento em nosso sistema de monitoramento de
usu´arios e intrusos no campus.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 4/54
5. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
6. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
7. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
8. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
9. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
10. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
11. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
12. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Vis˜ao Computacional
Vis˜ao Computacional ´e um dos campos da inteligˆencia
artificial.
Respons´avel pela interpreta¸c˜ao de imagens.
A maneira que um computador ”enxerga”se d´a pelos
atributos de seus pixels.
Amplamente empregados em diversas ´areas da ciˆencia [9]:
Rob´otica.
Processamento de imagens m´edicas.
Detec¸c˜ao/reconhecimento de faces.
etc.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 5/54
13. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Bibliotecas de Vis˜ao Computacional
Devido a complexidade dos algoritmos de vis˜ao computacional,
existem diversas bibliotecas dispon´ıveis na literatura.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 6/54
14. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Bibliotecas de Vis˜ao Computacional
Ferramenta OpenCV[6] LTI-Lib[4] ARToolKit[5] CVD[3] Gpucv[2] pyVysion[7]
Licen¸ca BSD GNU LGPL GNU GPL/AR-
ToolKitCDL
GNU LGPL CeCILL-B BSD
Sistemas
Operacionais
Linux
Windows
MacOSX
Android
IPhone
Linux
Windows
SGI-IRIX
Windows
MacOSX
Linux
Symbian
iPhone
Android
Linux
FreeBSD
OpenBSD
OSX
Solaris
IRIX
Windows
Windows
Linux
Linux
Windows
MacOSX
Linguagens
suportadas
C, C++ C++ C/C++ C++ C++ Python
Tempo real sim n˜ao sim sim sim sim
Criador Intel RWTH Aachen
University
Nara Institute of
Science and Te-
chnology
University of
Cambridge
Yannick Allusse David S. Bolme
Ano de desen-
volvimento
1999 1998 1999 2005 2006 2008
Recebe atua-
liza¸c˜oes
sim n˜ao sim N˜ao sim n˜ao
Restri¸c˜oes do
sistema
n˜ao n˜ao sim N˜ao sim (Processa-
dores gr´aficos)
n˜ao
Facilidade de
uso
sim n˜ao sim sim n˜ao sim
Exemplos en-
contrados
sim n˜ao n˜ao sim sim sim
Tabela: Comparativo de bibliotecas de vis˜ao computacional
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 7/54
15. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Bibliotecas de Vis˜ao Computacional
A biblioteca OpenCV apresenta a melhor escolha, pois:
Pode ser executada em diversos sistemas operacionais.
Pode ser executada em tempo real.
Recebe atualiza¸c˜oes
F´acil uso
Existem muitos exemplos de uso
Atendendo todos os requisitos para a realiza¸c˜ao deste projeto.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 8/54
16. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
OpenCV
OpenCV [6] ´e uma biblioteca que auxilia o processo de
vis˜ao computacional.
Provendo mais de 2000 fun¸c˜oes utilit´arias
Projeto de c´odigo aberto e distribu´ıdo sobre a licen¸ca
BSD[1]
Escrito em linguagem C++.
Existem interfaces para outras linguagens de
programa¸c˜ao:
Python
Ruby
C
Entre outras.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 9/54
17. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
OpenCV
Pode ser executado nos seguintes sistemas operacionais:
Linux
Windows
MacOS X
Projeto teve in´ıcio nos laborat´orios da Intel.
Tendo como foco aplica¸c˜oes que rodam em tempo-real.
IPP (Integrated Performance Primitives).
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 10/54
18. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Algoritmo Viola-Jones
Algoritmo de detec¸c˜ao de faces utilizado pelo OpenCV.
Baseado em trˆes ideias[16]:
1 Integra¸c˜ao de imagens
2 Aprendizado AdaBoost
3 Classificador em cascata.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 11/54
19. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Integra¸c˜ao de imagem
Processamento de partes intermedi´arias da imagem
A integral da imagem localizada no retˆangulo
representado pelos pontos (X, Y )
Soma dos valores dos pixels, em escala de cinza.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 12/54
20. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Integra¸c˜ao de imagem
Figura: Integra¸c˜ao de imagem
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 13/54
21. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Integra¸c˜ao de imagem
ii(x, y) =
x ≤x,y ≤y
i(x , y ) (1)
Onde ii(x, y) ´e a integral da imagem contida no retˆangulo
processado e i(x, y) ´e a imagem original.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 14/54
22. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Aprendizado AdaBoost
AdaBoost (Adaptive Boosting) ´e um algoritmo de
aprendizado de m´aquina [10].
O objetivo ´e encontrar uma hip´otese final com o menor
erro relativo em rela¸c˜ao `a distribui¸c˜ao de exemplos de
treinamento.
Combina classificadores fracos.
Apresenta tempos de execu¸c˜ao muito baixos.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 15/54
23. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Classificador em cascata
Componente mais cr´ıtico algoritmo Viola-Jones.
Sub-janelas negativas s˜ao rejeitas.
Mantendo todas as sub-janelas positivas.
Os primeiros classificadores que entram em execu¸c˜ao s˜ao
os classificadores mais simples.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 16/54
24. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Classificador em cascata
Componente mais cr´ıtico algoritmo Viola-Jones.
Sub-janelas negativas s˜ao rejeitas.
Mantendo todas as sub-janelas positivas.
Os primeiros classificadores que entram em execu¸c˜ao s˜ao
os classificadores mais simples.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 16/54
25. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Classificador em cascata
Componente mais cr´ıtico algoritmo Viola-Jones.
Sub-janelas negativas s˜ao rejeitas.
Mantendo todas as sub-janelas positivas.
Os primeiros classificadores que entram em execu¸c˜ao s˜ao
os classificadores mais simples.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 16/54
26. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Classificador em cascata
Componente mais cr´ıtico algoritmo Viola-Jones.
Sub-janelas negativas s˜ao rejeitas.
Mantendo todas as sub-janelas positivas.
Os primeiros classificadores que entram em execu¸c˜ao s˜ao
os classificadores mais simples.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 16/54
27. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Classificador em cascata
Figura: Aplica¸c˜ao de classificadores
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 17/54
28. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Algoritmo EigenFaces
Implementado na biblioteca OpenCV.
Reconhecimento facial utilizando est´ımulos faciais [15].
An´alise de Componentes Principais (Principal
Components Analysis, ou simplesmente PCA).
Imagens de faces humanas frontais com varia¸c˜ao de pose.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 18/54
29. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais(PCA)
Utilizado no reconhecimento de face e compress˜ao de
imagens.
Permite encontrar padr˜oes em dados de alta dimens˜ao.
Uso de autovetores e autovalores.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 19/54
30. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
Algoritmo
1 Obten¸c˜ao de dados
2 Subtra¸c˜ao da m´edia
3 Calculando a matriz de covariˆancia
4 Calculando os autovetores e autovalores da matriz de
covariˆancia
5 Escolhendo um componente e o vetor de caracter´ısticas
6 Derivando um novo conjunto de dados
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 20/54
31. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
1 - Obten¸c˜ao de dados
Cria¸c˜ao da base de treinamento
Extra¸c˜ao de caracter´ısticas
Caracter´ısticas bem definidas
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 21/54
32. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
2 - Subtra¸c˜ao da m´edia
Processamento em todas as dimens˜oes da representa¸c˜ao
dos dados da base de treinamento
Achar uma m´edia de representa¸c˜ao
Subtra¸c˜ao da m´edia
Dados extra´ıdos do artigo ”A tutorial on Principal
Components Analysis” [14]
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 22/54
33. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
2 - Subtra¸c˜ao da m´edia
Figura: Dados de exemplos PCA (Dados originais `a esquerda e
dados com m´edia subtra´ıda `a direita)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 23/54
34. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
2 - Subtra¸c˜ao da m´edia
Figura: Distribui¸c˜ao dos dados originais
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 24/54
35. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
3 - Calculando a matriz de covariˆancia
cov =
0, 616555556 0, 615444444
0, 615444444 0, 716555556
(2)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 25/54
36. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
4 - Calculando os autovetores e autovalores da matriz de covariˆancia
AV = λV (3)
autovalores = {0, 0490833989; 1, 28402771} (4)
autovetores =
−0, 735178656 −0, 677873399
0, 677873399 −0, 735178656
(5)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 26/54
37. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
4 - Calculando os autovetores e autovalores da matriz de covariˆancia
Figura: Distribui¸c˜ao dos dados normalizados e os autovetores
encontrados.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 27/54
38. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
5 - Escolhendo um componente e o vetor de caracter´ısticas
Os autovalores definem a significˆancia do autovetor
Ordenar autovetores de acordo com os respectivos
autovalores
Decidir se um autovetor pode ser ignorado
VetordeCaracter´isticas = (eig1 eig2 eig3 ... eign) (6)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 28/54
39. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
5 - Escolhendo um componente e o vetor de caracter´ısticas
−0, 677873399 −0, 735178656
−0, 735178656 0, 677873399
(7)
−0, 677873399
−0, 735178656
(8)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 29/54
40. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
6 - Derivando um novo conjunto de dados
Multiplica¸c˜ao da transposta da matriz de caracter´ısticas
selecionada na etapa anterior pela esquerda da transposta da
matriz dos dados ajustados obtida no passo 2
VetorDeCaracter´isticasSelecionadas ×VetorDeDadosAjustados
(9)
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 30/54
41. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
Treinamento
Conjunto de treinamento ´e projetado no espa¸co de faces.
Autovetores encontrados pelo m´etodo PCA.
Eixos representam os autovetores de maior relevˆancia
selecionados
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 31/54
42. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
Treinamento
Figura: Espa¸co de faces (Face Space) em 2D, onde os eixos
representam os autovetores selecionados [15]
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 32/54
43. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
An´alise de Componentes Principais
Reconhecimento
Extra¸c˜ao dos autovetores e autovalores da face
Compara¸c˜ao com os autovetores da base de treinamento
Escolha da menor distˆancia
Melhoria: Uso da distˆancia de Mahalanobis [12]
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 33/54
44. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Detec¸c˜ao de faces
Uso da biblioteca OpenCV.
“haarcascade frontalface alt2.xml”.
Vers˜ao 2.1 da biblioteca OpenCV.
T´ecnicas de tratamento de imagens [11].
1 Cria¸c˜ao da imagem em escala de cinza.
2 Diminui¸c˜ao da escala da imagem em escala de cinza.
3 Equaliza¸c˜ao de histograma.
Amostragem no processamento das faces obtidas da
cˆamera.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 34/54
45. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Detec¸c˜ao de faces
Ap´os uma s´erie de experimentos foi verificado que h´a um
ganho maior quando a busca por faces ´e realizada a cada
quatro frames.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 35/54
46. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Reconhecimento de faces
Classificar faces em rela¸c˜ao `a um banco de dados
Ap´os a detec¸c˜ao de faces
Algoritmo Eigenfaces [15]
Distˆancias entre subespa¸cos PCA.
Distˆancia Euclidiana
Distˆancia Mahalanobis [13]
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 36/54
47. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Aprendizagem
Leitura de arquivo de treinamento
M´etodo PCA para encontrar um subespa¸co
Projetar as faces de treinamento no espa¸co de faces
EigenFaces
Armazenamento em arquivo xml
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 37/54
49. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Arquivo de configura¸c˜ao
Figura: Exemplo de arquivo de treinamento
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 39/54
50. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Treinamento on-line
Captura de faces para a base de dados
Processamento da imagem capturada
Atualiza¸c˜ao do arquivo de treinamento
Captura de 10 faces
92 pixels de largura por 112 pixels de comprimento
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 40/54
51. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Algoritmo de Farneback
Fluxos ´opticos (”optical flow”) em imagens sequenciais [8]
Usado neste desenvolvimento para comparar imagens para
a base de treinamento.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 41/54
52. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Algoritmo de Farneback
Figura: Algoritmo de Farneback
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 42/54
53. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Aplica¸c˜ao
Figura: Tela do software implementado
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 43/54
54. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Tempo de treinamento
Figura: Gr´afico mostrando crescimento do tempo de
processamento de acordo com o n´umero imagens de treinamento
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 44/54
55. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Testes realizados
Captura est´atica
Varia¸c˜ao de ilumina¸c˜ao
Uso de acess´orios
Uso de oclus˜oes
Identifica¸c˜ao de imagens durante movimentos
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 45/54
56. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Testes realizados
Problema Acerto (%)
Captura est´atica frontal 91,00
Captura est´atica inclinada 5,00
Com pouca ilumina¸c˜ao 94,00
Com muita ilumina¸c˜ao 44,00
Com acess´orio (´oculos) 88,0
Com acess´orio (chap´eu) 80,00
Com oclus˜ao (olho) 81,00
Com movimentos 15,00
Tabela: Taxa de acerto para base de treinamento de 1 imagem
para cada face em diferentes situa¸c˜oes
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 46/54
57. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Testes realizados
Problema Acerto (%)
Captura est´atica frontal 99,00
Captura est´atica inclinada 7,00
Com pouca ilumina¸c˜ao 100,00
Com muita ilumina¸c˜ao 82,00
Com acess´orio (´oculos) 100,0
Com acess´orio (chap´eu) 88,00
Com oclus˜ao (olho) 40,00
Com movimentos 59,00
Tabela: Taxa de acerto para base de treinamento de 5 imagens
para cada face em diferentes situa¸c˜oes
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 47/54
58. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Testes realizados
Problema Acerto (%)
Captura est´atica frontal 100,00
Captura est´atica inclinada 100,00
Com pouca ilumina¸c˜ao 5,00
Com muita ilumina¸c˜ao 97,00
Com acess´orio (´oculos) 98,0
Com acess´orio (chap´eu) 98,00
Com oclus˜ao (olho) 83,00
Com movimentos 93,00
Tabela: Taxa de acerto para base de treinamento de 10 imagens
para cada face em diferentes situa¸c˜oes
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 48/54
59. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Testes realizados
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 49/54
60. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
61. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
62. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
63. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
64. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
65. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Conclus˜oes
Execu¸c˜ao em tempo real.
Algoritmo Viola-Jones ´e muito leve e eficaz para
identifica¸c˜ao de faces frontais.
10 imagens para cada pessoal no banco de treinamento.
Varia¸c˜ao de ilumina¸c˜ao.
Qualidade da cˆamera utilizada.
Base de treinamento para o algoritmo EigenFaces.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 50/54
66. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Referˆencias I
BSD License, 04 2011.
Gpucv, 04 2011.
libcvd, 04 2011.
LTI-Lib, 04 2011.
LTI-Lib, 04 2011.
Open Source Computer Vision Library, 04 2011.
pyvision, 04 2011.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 51/54
67. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Referˆencias II
G. Farneb¨ack.
Polynomial Expansion for Orientation and Motion
Estimation.
PhD thesis, Link¨oping University, Sweden, SE-581 83
Link¨oping, Sweden, 2002.
Dissertation No 790, ISBN 91-7373-475-6.
D. A. Forsyth and J. Ponce.
Computer Vision: A Modern Approach.
Prentice Hall, us ed edition, Aug. 2002.
Y. Freund and R. E. Schapire.
A decision-theoretic generalization of on-line learning and
an application to boosting, 1995.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 52/54
68. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Referˆencias III
R. C. Gonzalez and R. E. Woods.
Processamento de imagens digitais.
Blucher, 2010.
S. Magazine.
Implementing eigenface, 2007.
P. C. Mahalanobis.
On The Generalized Distance in Statistics.
1936.
L. I. Smith.
A Tutorial on Principal Component Analysis, 2002.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 53/54
69. Introdu¸c˜ao Vis˜ao Computacional Bibliotecas de Vis˜ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res
Referˆencias IV
M. Turk and A. P. Pentland.
Face Recognition Using Eigenfaces.
1991.
P. Viola and M. Jones.
Robust Real-time Object Detection.
SECOND INTERNATIONAL WORKSHOP ON
STATISTICAL AND COMPUTATIONAL THEORIES OF
VISION, 2001.
C. Zhang and Z. Zhang.
A Survey of Recent Advances in Face Detection.
page 17, Junho 2010.
DCT–UNIFESP — Detec¸c˜ao de faces em v´ıdeos 54/54