69
Introdu¸ ao Vis˜ ao Computacional Bibliotecas de Vis˜ ao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Res Detec¸ 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

Detecção de faces em vídeos

Embed Size (px)

DESCRIPTION

Detecção de faces em vídeos (TCC Unifesp)

Citation preview

Page 1: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Deteccao de faces em vıdeos

Paulo Vitor Mira FonsecaOrientador: Prof. Dr. Marcos G. Quiles

Co-orientador: Prof. Dr. Ezequiel Roberto Zorzal{pfonseca, quiles, ezorzal}@unifesp.br

Unifesp - Universidade Federal de Sao Paulo

http://www.unifesp.br

4 de dezembro de 2011

DCT–UNIFESP — Deteccao de faces em vıdeos 1/54

Page 2: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Sumario I

1 Introducao

2 Visao Computacional

3 Bibliotecas de Visao Computacional

4 OpenCVBiblioteca OpenCVAlgoritmo Viola-Jones

Integracao de imagemAprendizado AdaBoostClassificador em cascata

5 Algoritmo EigenFaces

6 Trabalho RealizadoDescricao

7 Resultados obtidos

8 Conclusao

9 Referencias

DCT–UNIFESP — Deteccao de faces em vıdeos 2/54

Page 3: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Contextualizacao e Motivacao

Computadores tornaram-se fundamentais em nossas vidas

Melhorar usabilidade

Deteccao e reconhecimento de faces humanas

Processo nao-intrusivo em biometria.

Metodo muito complexo de ser realizadocomputacionalmente.

Interferencias[17].

DCT–UNIFESP — Deteccao de faces em vıdeos 3/54

Page 4: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Objetivos e Motivacoes

Aprimorar os conhecimentos de aprendizado de maquina ede processamento de imagens adquiridos ao longo dagraduacao;

Implementar uma ferramenta pratica a ser utilizada nosistema de vıdeos da Unifesp-SJC, permitindo oaprimoramento em nosso sistema de monitoramento deusuarios e intrusos no campus.

DCT–UNIFESP — Deteccao de faces em vıdeos 4/54

Page 5: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 6: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 7: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 8: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 9: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 10: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 11: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 12: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Visao Computacional

Visao Computacional e um dos campos da inteligenciaartificial.

Responsavel pela interpretacao de imagens.

A maneira que um computador ”enxerga”se da pelosatributos de seus pixels.

Amplamente empregados em diversas areas da ciencia [9]:

Robotica.Processamento de imagens medicas.Deteccao/reconhecimento de faces.etc.

DCT–UNIFESP — Deteccao de faces em vıdeos 5/54

Page 13: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Bibliotecas de Visao Computacional

Devido a complexidade dos algoritmos de visao computacional,existem diversas bibliotecas disponıveis na literatura.

DCT–UNIFESP — Deteccao de faces em vıdeos 6/54

Page 14: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Bibliotecas de Visao Computacional

Ferramenta OpenCV[6] LTI-Lib[4] ARToolKit[5] CVD[3] Gpucv[2] pyVysion[7]

Licenca BSD GNU LGPL GNU GPL/AR-ToolKitCDL

GNU LGPL CeCILL-B BSD

SistemasOperacionais

LinuxWindowsMacOSXAndroidIPhone

LinuxWindows

SGI-IRIXWindowsMacOSXLinuxSymbianiPhoneAndroid

LinuxFreeBSDOpenBSDOSXSolarisIRIXWindows

WindowsLinux

LinuxWindowsMacOSX

Linguagenssuportadas

C, C++ C++ C/C++ C++ C++ Python

Tempo real sim nao sim sim sim simCriador Intel RWTH Aachen

UniversityNara Institute ofScience and Te-chnology

University ofCambridge

Yannick Allusse David S. Bolme

Ano de desen-volvimento

1999 1998 1999 2005 2006 2008

Recebe atua-lizacoes

sim nao sim Nao sim nao

Restricoes dosistema

nao nao sim Nao sim (Processa-dores graficos)

nao

Facilidade deuso

sim nao sim sim nao sim

Exemplos en-contrados

sim nao nao sim sim sim

Tabela: Comparativo de bibliotecas de visao computacional

DCT–UNIFESP — Deteccao de faces em vıdeos 7/54

Page 15: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Bibliotecas de Visao Computacional

A biblioteca OpenCV apresenta a melhor escolha, pois:

Pode ser executada em diversos sistemas operacionais.

Pode ser executada em tempo real.

Recebe atualizacoes

Facil uso

Existem muitos exemplos de uso

Atendendo todos os requisitos para a realizacao deste projeto.

DCT–UNIFESP — Deteccao de faces em vıdeos 8/54

Page 16: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

OpenCV

OpenCV [6] e uma biblioteca que auxilia o processo devisao computacional.

Provendo mais de 2000 funcoes utilitarias

Projeto de codigo aberto e distribuıdo sobre a licencaBSD[1]

Escrito em linguagem C++.

Existem interfaces para outras linguagens deprogramacao:

PythonRubyCEntre outras.

DCT–UNIFESP — Deteccao de faces em vıdeos 9/54

Page 17: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

OpenCV

Pode ser executado nos seguintes sistemas operacionais:

LinuxWindowsMacOS X

Projeto teve inıcio nos laboratorios da Intel.

Tendo como foco aplicacoes que rodam em tempo-real.

IPP (Integrated Performance Primitives).

DCT–UNIFESP — Deteccao de faces em vıdeos 10/54

Page 18: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Algoritmo Viola-Jones

Algoritmo de deteccao de faces utilizado pelo OpenCV.

Baseado em tres ideias[16]:

1 Integracao de imagens2 Aprendizado AdaBoost3 Classificador em cascata.

DCT–UNIFESP — Deteccao de faces em vıdeos 11/54

Page 19: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Integracao de imagem

Processamento de partes intermediarias da imagem

A integral da imagem localizada no retangulorepresentado pelos pontos (X ,Y )

Soma dos valores dos pixels, em escala de cinza.

DCT–UNIFESP — Deteccao de faces em vıdeos 12/54

Page 20: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Integracao de imagem

Figura: Integracao de imagem

DCT–UNIFESP — Deteccao de faces em vıdeos 13/54

Page 21: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Integracao de imagem

ii(x , y) =∑

x ′≤x ,y ′≤y

i(x ′, y ′) (1)

Onde ii(x , y) e a integral da imagem contida no retanguloprocessado e i(x , y) e a imagem original.

DCT–UNIFESP — Deteccao de faces em vıdeos 14/54

Page 22: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Aprendizado AdaBoost

AdaBoost (Adaptive Boosting) e um algoritmo deaprendizado de maquina [10].

O objetivo e encontrar uma hipotese final com o menorerro relativo em relacao a distribuicao de exemplos detreinamento.

Combina classificadores fracos.

Apresenta tempos de execucao muito baixos.

DCT–UNIFESP — Deteccao de faces em vıdeos 15/54

Page 23: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Classificador em cascata

Componente mais crıtico algoritmo Viola-Jones.

Sub-janelas negativas sao rejeitas.

Mantendo todas as sub-janelas positivas.

Os primeiros classificadores que entram em execucao saoos classificadores mais simples.

DCT–UNIFESP — Deteccao de faces em vıdeos 16/54

Page 24: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Classificador em cascata

Componente mais crıtico algoritmo Viola-Jones.

Sub-janelas negativas sao rejeitas.

Mantendo todas as sub-janelas positivas.

Os primeiros classificadores que entram em execucao saoos classificadores mais simples.

DCT–UNIFESP — Deteccao de faces em vıdeos 16/54

Page 25: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Classificador em cascata

Componente mais crıtico algoritmo Viola-Jones.

Sub-janelas negativas sao rejeitas.

Mantendo todas as sub-janelas positivas.

Os primeiros classificadores que entram em execucao saoos classificadores mais simples.

DCT–UNIFESP — Deteccao de faces em vıdeos 16/54

Page 26: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Classificador em cascata

Componente mais crıtico algoritmo Viola-Jones.

Sub-janelas negativas sao rejeitas.

Mantendo todas as sub-janelas positivas.

Os primeiros classificadores que entram em execucao saoos classificadores mais simples.

DCT–UNIFESP — Deteccao de faces em vıdeos 16/54

Page 27: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Classificador em cascata

Figura: Aplicacao de classificadores

DCT–UNIFESP — Deteccao de faces em vıdeos 17/54

Page 28: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Algoritmo EigenFaces

Implementado na biblioteca OpenCV.

Reconhecimento facial utilizando estımulos faciais [15].

Analise de Componentes Principais (PrincipalComponents Analysis, ou simplesmente PCA).

Imagens de faces humanas frontais com variacao de pose.

DCT–UNIFESP — Deteccao de faces em vıdeos 18/54

Page 29: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais(PCA)

Utilizado no reconhecimento de face e compressao deimagens.

Permite encontrar padroes em dados de alta dimensao.

Uso de autovetores e autovalores.

DCT–UNIFESP — Deteccao de faces em vıdeos 19/54

Page 30: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes PrincipaisAlgoritmo

1 Obtencao de dados

2 Subtracao da media

3 Calculando a matriz de covariancia

4 Calculando os autovetores e autovalores da matriz decovariancia

5 Escolhendo um componente e o vetor de caracterısticas

6 Derivando um novo conjunto de dados

DCT–UNIFESP — Deteccao de faces em vıdeos 20/54

Page 31: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais1 - Obtencao de dados

Criacao da base de treinamento

Extracao de caracterısticas

Caracterısticas bem definidas

DCT–UNIFESP — Deteccao de faces em vıdeos 21/54

Page 32: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais2 - Subtracao da media

Processamento em todas as dimensoes da representacaodos dados da base de treinamento

Achar uma media de representacao

Subtracao da media

Dados extraıdos do artigo ”A tutorial on PrincipalComponents Analysis” [14]

DCT–UNIFESP — Deteccao de faces em vıdeos 22/54

Page 33: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais2 - Subtracao da media

Figura: Dados de exemplos PCA (Dados originais a esquerda edados com media subtraıda a direita)

DCT–UNIFESP — Deteccao de faces em vıdeos 23/54

Page 34: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais2 - Subtracao da media

Figura: Distribuicao dos dados originais

DCT–UNIFESP — Deteccao de faces em vıdeos 24/54

Page 35: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais3 - Calculando a matriz de covariancia

cov =

(0, 616555556 0, 6154444440, 615444444 0, 716555556

)(2)

DCT–UNIFESP — Deteccao de faces em vıdeos 25/54

Page 36: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais4 - Calculando os autovetores e autovalores da matriz de covariancia

AV = λV (3)

autovalores = {0, 0490833989; 1, 28402771} (4)

autovetores =

(−0, 735178656 −0, 6778733990, 677873399 −0, 735178656

)(5)

DCT–UNIFESP — Deteccao de faces em vıdeos 26/54

Page 37: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais4 - Calculando os autovetores e autovalores da matriz de covariancia

Figura: Distribuicao dos dados normalizados e os autovetoresencontrados.

DCT–UNIFESP — Deteccao de faces em vıdeos 27/54

Page 38: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais5 - Escolhendo um componente e o vetor de caracterısticas

Os autovalores definem a significancia do autovetor

Ordenar autovetores de acordo com os respectivosautovalores

Decidir se um autovetor pode ser ignorado

VetordeCaracter i sticas = (eig1 eig2 eig3 ... eign) (6)

DCT–UNIFESP — Deteccao de faces em vıdeos 28/54

Page 39: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais5 - 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 — Deteccao de faces em vıdeos 29/54

Page 40: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes Principais6 - Derivando um novo conjunto de dados

Multiplicacao da transposta da matriz de caracterısticasselecionada na etapa anterior pela esquerda da transposta damatriz dos dados ajustados obtida no passo 2

VetorDeCaracter i sticasSelecionadas×VetorDeDadosAjustados(9)

DCT–UNIFESP — Deteccao de faces em vıdeos 30/54

Page 41: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes PrincipaisTreinamento

Conjunto de treinamento e projetado no espaco de faces.

Autovetores encontrados pelo metodo PCA.

Eixos representam os autovetores de maior relevanciaselecionados

DCT–UNIFESP — Deteccao de faces em vıdeos 31/54

Page 42: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes PrincipaisTreinamento

Figura: Espaco de faces (Face Space) em 2D, onde os eixosrepresentam os autovetores selecionados [15]

DCT–UNIFESP — Deteccao de faces em vıdeos 32/54

Page 43: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Analise de Componentes PrincipaisReconhecimento

Extracao dos autovetores e autovalores da face

Comparacao com os autovetores da base de treinamento

Escolha da menor distancia

Melhoria: Uso da distancia de Mahalanobis [12]

DCT–UNIFESP — Deteccao de faces em vıdeos 33/54

Page 44: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Deteccao de faces

Uso da biblioteca OpenCV.

“haarcascade frontalface alt2.xml”.

Versao 2.1 da biblioteca OpenCV.

Tecnicas de tratamento de imagens [11].

1 Criacao da imagem em escala de cinza.2 Diminuicao da escala da imagem em escala de cinza.3 Equalizacao de histograma.

Amostragem no processamento das faces obtidas dacamera.

DCT–UNIFESP — Deteccao de faces em vıdeos 34/54

Page 45: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Deteccao de faces

Apos uma serie de experimentos foi verificado que ha umganho maior quando a busca por faces e realizada a cadaquatro frames.

DCT–UNIFESP — Deteccao de faces em vıdeos 35/54

Page 46: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Reconhecimento de faces

Classificar faces em relacao a um banco de dados

Apos a deteccao de faces

Algoritmo Eigenfaces [15]

Distancias entre subespacos PCA.

Distancia EuclidianaDistancia Mahalanobis [13]

DCT–UNIFESP — Deteccao de faces em vıdeos 36/54

Page 47: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Aprendizagem

Leitura de arquivo de treinamento

Metodo PCA para encontrar um subespaco

Projetar as faces de treinamento no espaco de facesEigenFaces

Armazenamento em arquivo xml

DCT–UNIFESP — Deteccao de faces em vıdeos 37/54

Page 48: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Arquivo de configuracao

50461 treinamento /50461/0. pgm

50461 treinamento /50461/1. pgm

50461 treinamento /50461/2. pgm

50461 treinamento /50461/3. pgm

50461 treinamento /50461/4. pgm

50461 treinamento /50461/5. pgm

50461 treinamento /50461/6. pgm

50461 treinamento /50461/7. pgm

50461 treinamento /50461/8. pgm

50461 treinamento /50461/9. pgm

DCT–UNIFESP — Deteccao de faces em vıdeos 38/54

Page 49: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Arquivo de configuracao

Figura: Exemplo de arquivo de treinamento

DCT–UNIFESP — Deteccao de faces em vıdeos 39/54

Page 50: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Treinamento on-line

Captura de faces para a base de dados

Processamento da imagem capturada

Atualizacao do arquivo de treinamento

Captura de 10 faces

92 pixels de largura por 112 pixels de comprimento

DCT–UNIFESP — Deteccao de faces em vıdeos 40/54

Page 51: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Algoritmo de Farneback

Fluxos opticos (”optical flow”) em imagens sequenciais [8]

Usado neste desenvolvimento para comparar imagens paraa base de treinamento.

DCT–UNIFESP — Deteccao de faces em vıdeos 41/54

Page 52: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Algoritmo de Farneback

Figura: Algoritmo de Farneback

DCT–UNIFESP — Deteccao de faces em vıdeos 42/54

Page 53: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Aplicacao

Figura: Tela do software implementado

DCT–UNIFESP — Deteccao de faces em vıdeos 43/54

Page 54: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Tempo de treinamento

Figura: Grafico mostrando crescimento do tempo deprocessamento de acordo com o numero imagens de treinamento

DCT–UNIFESP — Deteccao de faces em vıdeos 44/54

Page 55: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Testes realizados

Captura estatica

Variacao de iluminacao

Uso de acessorios

Uso de oclusoes

Identificacao de imagens durante movimentos

DCT–UNIFESP — Deteccao de faces em vıdeos 45/54

Page 56: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Testes realizados

Problema Acerto (%)

Captura estatica frontal 91,00Captura estatica inclinada 5,00Com pouca iluminacao 94,00Com muita iluminacao 44,00Com acessorio (oculos) 88,0Com acessorio (chapeu) 80,00Com oclusao (olho) 81,00Com movimentos 15,00

Tabela: Taxa de acerto para base de treinamento de 1 imagempara cada face em diferentes situacoes

DCT–UNIFESP — Deteccao de faces em vıdeos 46/54

Page 57: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Testes realizados

Problema Acerto (%)

Captura estatica frontal 99,00Captura estatica inclinada 7,00Com pouca iluminacao 100,00Com muita iluminacao 82,00Com acessorio (oculos) 100,0Com acessorio (chapeu) 88,00Com oclusao (olho) 40,00Com movimentos 59,00

Tabela: Taxa de acerto para base de treinamento de 5 imagenspara cada face em diferentes situacoes

DCT–UNIFESP — Deteccao de faces em vıdeos 47/54

Page 58: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Testes realizados

Problema Acerto (%)

Captura estatica frontal 100,00Captura estatica inclinada 100,00Com pouca iluminacao 5,00Com muita iluminacao 97,00Com acessorio (oculos) 98,0Com acessorio (chapeu) 98,00Com oclusao (olho) 83,00Com movimentos 93,00

Tabela: Taxa de acerto para base de treinamento de 10 imagenspara cada face em diferentes situacoes

DCT–UNIFESP — Deteccao de faces em vıdeos 48/54

Page 59: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Testes realizados

Figura: Crescimento da taxa de acerto quando o numero deimagens por face aumenta

DCT–UNIFESP — Deteccao de faces em vıdeos 49/54

Page 60: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 61: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 62: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 63: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 64: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 65: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Conclusoes

Execucao em tempo real.

Algoritmo Viola-Jones e muito leve e eficaz paraidentificacao de faces frontais.

10 imagens para cada pessoal no banco de treinamento.

Variacao de iluminacao.

Qualidade da camera utilizada.

Base de treinamento para o algoritmo EigenFaces.

DCT–UNIFESP — Deteccao de faces em vıdeos 50/54

Page 66: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Referencias 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 — Deteccao de faces em vıdeos 51/54

Page 67: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Referencias II

G. Farneback.Polynomial Expansion for Orientation and MotionEstimation.PhD thesis, Linkoping University, Sweden, SE-581 83Linkoping, 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 andan application to boosting, 1995.

DCT–UNIFESP — Deteccao de faces em vıdeos 52/54

Page 68: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Referencias 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 — Deteccao de faces em vıdeos 53/54

Page 69: Detecção de faces em vídeos

Introducao Visao Computacional Bibliotecas de Visao Computacional OpenCV Algoritmo EigenFaces Trabalho Realizado Resultados obtidos Conclusao Referencias

Referencias 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 ONSTATISTICAL AND COMPUTATIONAL THEORIES OFVISION, 2001.

C. Zhang and Z. Zhang.A Survey of Recent Advances in Face Detection.page 17, Junho 2010.

DCT–UNIFESP — Deteccao de faces em vıdeos 54/54