Face Detection
Upcoming SlideShare
Loading in...5
×
 

Face Detection

on

  • 3,515 views

 

Statistics

Views

Total Views
3,515
Views on SlideShare
3,490
Embed Views
25

Actions

Likes
0
Downloads
113
Comments
0

1 Embed 25

http://www.slideshare.net 25

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Face Detection Face Detection Presentation Transcript

  • Detecção de Faces Biometria VIISAR João Paulo Magalhães (jpm@cin.ufpe.br)
  • Roteiro • Introdução – Motivação – Definições – Desafios • Métodos de Detecção de Faces – Métodos baseados em conhecimento – Técnicas baseadas em características invariantes – Métodos baseados na comparação de templates – Métodos baseados na aparência • Considerações – Experimentos – Bases de Dados – Benchmark para testes – Avaliação de Performance • Conclusões • Referências 2
  • Introdução - Motivação • Inspiração humana – Tarefa feita facilmente e primorosamente por nós, humanos, mas de difícil execução para computadores • Importante tópico das pesquisas em Visão Computacional – Detecção de Objetos • O primeiro passo de qualquer sistema de processamento de faces – Reconhecimento – Verificação – Tracking – Reconhecimento de expressões • Ainda uma tarefa 'em aberto' devido a grande variabilidade em: – Escala, localização e orientação – Expressão facial, ocultação parcial, iluminação 3
  • Introdução – Motivação * Imagem retirada de [3]; 4
  • Introdução – Definições • Detecção de Objetos – Dada uma classe de objetos C e uma imagem I, encontrar as instâncias de C em I. • Detecção de Faces – Informalmente, é o processo de encontrar faces em imagens • Onde está Wally? – [1] Dada uma imagem arbritária, o objetivo da detecção de faces é determinar quando existem quaisquer faces na imagem e, caso existam, retornar as localizações de cada face – [2] Dada uma imagem ou seqüência de imagens, localizar e determinar um número não conhecido (se algum) de faces – Dada uma imagem arbitrária I, determinar as ocorrências de faces em I. • Modelagem – Pode ser visto como um problema de reconhecimento entre duas classes onde uma região da imagem é classificada como sendo uma face ou não 5
  • Introdução – Desafios • Pose – frontal, 45 graus, perfil, superior, inferior, etc • Presença ou ausência de componentes estruturais – Óculos, barba, bigode, cabelo, jóias e acessórios, etc • Expressões faciais – Sorrisos, 'caretas', olhos fechados, etc • Oclusões – Outras faces, outros componentes na imagem, cortes, etc • Condições das imagens – Fatores externos: iluminação (sombra, intensidade, distribuição) – Fatores internos: lentes, resposta do sensor, etc – Fatores temporais: desgastes em geral 6
  • Métodos de Detecção de Faces Podem ser classificados em quatro categorias: • Métodos baseados em conhecimento – Utiliza conhecimento humano para codificar o que significa uma face – Regras capturam os relacionamentos entre características faciais • Técnicas baseadas em características invariantes – Procuram utilizar características estruturais que existem mesmo quando a pose, o ponto de vista ou as condições de iluminação variam • Métodos baseados na comparação de templates – Face é descrita como um template e então a detecção é feita com base na correlação entre o template e a entrada • Métodos baseados na aparência – Utiliza modelos de faces aprendidos de uma base de treinamento para realizar detecção de faces 7
  • Métodos de Detecção de Faces 8
  • Métodos Baseados em Conhecimento • Também conhecidos como Métodos Top-Down • Basedo na utilização de regras – Descrevem as características de uma face e seus relacionamentos • Por exemplo: – Uma face freqüentemente aparece em uma imagem com dois olhos, que são simétricos, um nariz e uma boca – Relacionamentos: distâncias relativas e posições • Problemas: – Dificuldade em traduzir conhecimento humano em regras bem-definidas 9
  • Métodos Baseados em Conhecimento – Exemplo Método baseado em regras multi-resolução [Yang et al., 1994] • Método hierárquico baseado em conhecimento para a detecção de faces • Três etapas (níveis de regras), da menor resolução para a maior: 1. Imagem é percorrida buscando-se por faces candidatas; 2. Equalização local de histograma seguida de detecção de bordas; 3. mais refinado conjunto de regras que responde por características como olhos e boca. • Testes em uma base de 60 imagens, localizou faces em 50 imagens, onde havia 28 imagens em que falsos alarmes apareceram • Atrativo: estratégia coarse-to-fine (focus-of-attention) – Guia buscas e reduz computação requerida * Imagens retiradas de [1]; 10
  • Métodos Baseados em Características – Invariantes • Também conhecidos como Métodos Botton-Up • Baseado na busca por características invariantes para a detecção de faces • Inúmeros métodos propostos, exemplo genérico: – Inicialmente detecta características faciais • Tais como olhos, sobrancelhas, boca e nariz extraídos usando-se detectores de bordas, geralmente – Somente depois infere a presença de uma face • Através de modelos estatísticos que descrevem os relacionamentos entre as características extraídas inicialmente, verificando assim a existência de uma face • Problemas: – Características podem ser severamente corrompidas por iluminação, ruído, ocultação, etc. 11
  • Métodos Baseados em Características – Características Faciais – Exemplo Agrupamento de Bordas [Leung et al., 1995] • Método probabilístico para localizar uma face em uma imagem confusa – Baseado em detectores de características locais e comparação de grafos • Utilização de 5 características para descrever uma face – 2 olhos, 2 narinas e a junção nariz/boca • Algoritmo – Computar a distância relativa para qualquer par de características do mesmo tipo – Definição de um template facial a partir da média de distâncias na base de treino – Dada uma imagem: 1. Características locais são identificadas 2. Procurar por outras características (baseada na estimação da localização esperada) para as duas características candidatas com maior resposta no passo anterior 3. Formar constelações e determinar a mais similar a uma face • Comparação de grafos • 86% de acertos – 150 imagens 12
  • Métodos Baseados em Características – Textura • Faces humanas têm uma textura distinta – Pode ser usada para separar as faces de outros objetos • Características estatísticas de segunda ordem (SGLD) são utilizadas para encontrar a textura dos objetos – SGLD – Space Gray-Level Dependence • Três tipos de características são geralmente consideradas – Pele, cabelos e outras • Métodos, exemplos: – Cascade Correlation para classificação supervisionada de texturas – SOM para formar grupos para diferentes classes de texturas • Inferência: Uma face é detectada caso – Um grupo que tenha a textura de pele seja superior e lateralmente cercado por grupos de cabelos e, tudo isto, cercado por outras texturas quaisquer 13
  • Métodos Baseados em Características – Textura – Exemplo Matriz SGLD de padrão facial [Dai et al., 1996] • Aplica o modelo SGLD para detecção de faces • Informações sobre cores incorporadas a textura • Agoritmo: – Usando um modelo de textura facial, percorre imagens coloridas nas quais as partes similares ao laranja são destacadas • Vantagens: – Detecta faces mesmo não frontais, parcialmente ocultas, com barba ou óculos • Detecção perfeita para 30 imagens com 60 faces 14
  • Métodos Baseados em Características – Cor da Pele • A cor da pele humana é uma característica efetiva em muitas aplicações – desde detecção de faces a acompanhamento de mãos • Estudos mostram que crominância da cor da pele tem pequena variação – Apesar de diferenças na intensidade da cor da pele entre pessoas • Utilização de muitos espaços de cores – RGB e RGB normalizado – HSV (ou HSI) – YCrCb, YIQ, YES – CIE XYZ e CIE LUV • Método Geral: construir um modelo de cor da pele – Definir as regiões de tons de pele usando Cr e Cb utilizando a base de treinamento – Escolher thresholds [Cr1, Cr2] e [Cb1, Cb2] – Um pixel (Cr, Cb) será classificado como tendo tom de pele se: • Cr1 < Cr < Cr2 e Cb1 < Cb < Cb2 – Outras técnicas podem ser utilizadas para agrupar e comparar grupos com elipses, por exemplo 15
  • Métodos Baseados em Características – Características Múltiplas • Utilização da combinação de múltiplas características faciais para detectar faces • Muitos métodos recentes utilizam características múltiplas • Características globais para encontrar regiões candidatas – Cor da pele, textura e formas • Características locais e detalhadas para verificar estas regiões – Olhos, sobrancelhas, nariz, cabelo, boca, etc • Metodologia típica: – Detecção de pixels com cores próximas a cor de pele humana – Agrupamento desses pixels utilizando análise de componentes conectados ou algoritmos de agrupamento – Se a forma de uma região conectada tem forma elíptica ou oval, torna-se uma região candidata – Características locais são utilizadas para verificação 16
  • Métodos Baseados em Templates • Uso de um modelo facial padrão (usualmente frontal) para a detecção de faces – Modelo é pré-definido ou parametrizado por uma função • Dada uma imagem de entrada – Computar correlação com o modelo padrão (contorno facial, olhos, nariz e boca) independentemente – A existência de uma face é determinada pelos valores de correlação • Vantagens: – Simples implementação • Desvantagens: – Não lida efetivamente com variações na escala, pose e forma • Multi-resolução, multi-escala, sub-templates e templates deformáveis foram propostos para suprir estas carências 17
  • Métodos Baseados em Templates – Templates pré-definidos – Exemplo Extração de linhas e detecção de padrões em fotografias [Sakai et al., 1967] • Uma das primeiras tentativas de detecção de faces em imagens (1969/87/92) • Modelagem da face através de vários sub-templates – Olhos – Nariz – Boca – Contorno da face • Cada sub-template definido em termos de segmentos de linhas • Linhas em uma imagem de entrada obtidas através do gradiente e então comparadas com os sub-templates – Correlação entre sub-imagens e templates de contorno geram regiões candidatas – Comparação com outros templates é realizada nas posições candidatas 18
  • Métodos Baseados em Templates – Templates deformáveis – Exemplo Sistema Automático para Localização de Faces Usando Modelos Baseados em Aparência Flexiveis [Lanitis et al., 1995] • Descreve um método de representação facial usando forma e intensidade • Algoritmo – Manualmente detectar contornos de boca, nariz, queixo, etc na base de treino – Construir vetores de forma baseados em PDM • Point Distribution Model – Essa representação pode então ser utilizada para detectar faces em novas imagens usando ASM • Active Shape Model – As prováveis faces são então deformadas para a média e parâmentros de intensidade são extraídos – As formas e parâmentros de intensidade podem ser utilizados juntos para classificação 19
  • Métodos Baseados em Aparência • Modelos faciais são aprendidos dos exemplos em imagens da base de treinamento • Em geral, estes métodos são baseados em técnicas da análise estatística e aprendizado de máquina – Encontram características relevantes das imagens de faces e não-faces – Características aprendidas são da forma de modelos de distribuição ou funções discriminantes – Características são posteriormente usadas para detecção – Redução de dimensionalidade é usualmente feita com o objetivo de melhorar a eficiência computacional e a eficácia na detecção • Muitos desses métodos se comportam como um framework probabilístico – Trabalho então consiste em validar empiricamente aproximações paramétricas e não-paramétricas • Outra técnica muito usada é a utilização de funções discriminantes – Superfícies de decisão, hiperplanos de separação, thresholds, etc 20
  • Métodos Baseados em Aparência – Eigenfaces – Exemplo Eigenfaces para reconhecimento [Turk et al., 1991] • Aplicação de PCA para detecção e reconhecimento de faces – PCA – Análise de Componentes Principais • Treinamento – Eigenfaces são geradas através da execução de PCA sobre a base de treinamento • Agrupamento – Imagens de faces são projetadas no sub-espaço 'facial' gerado e então agrupadas – Imagens de não-faces também são projetadas neste sub-espaço e agrupadas • Classificação – Uma face pode ser detectada através da projeção das regiões de uma imagem no mesmo espaço e da medição de distância para os grupos previamente formados 21
  • Métodos Baseados em Aparência – Métodos Baseados em Distribuição – Exemplo Aprendizado baseado em exemplos para a detecção de faces humanas [Sung et al. 1998] • Sistema baseado em distribuição para a detecção de faces – Demonstra como a distribuição de padrões de imagens de uma classe de objetos pode ser aprendida a partir de exemplos positivos e negativos daquela classe • Sistema consistem em dois componentes – Modelos baseados em distribuição para padrões de face e não-face – Um classificador MLP • Multilayer Perceptron * PCA, Factor Analysis(FA), MFA, Discriminante Linear de Fisher e SOM etc também são usados nestes métodos. 22
  • Métodos Baseados em Aparência – Métodos Baseados em Distribuição – Exemplo Aprendizado baseado em exemplos para a detecção de faces humanas [Sung et al. 1998] • Algoritmo: – Amostras da imagem são normalizadas e modificadas para medirem 19x19 pixels • Tratadas como um vetor 361-dimensional de padrões – Padrões são agrupados em 6 grupos para faces e 6 para não-faces • Usando k-means modificado – Clusters são representados como funções Gaussianas Multidimensionais • Tendo então uma imagem média e uma matriz de covariância – Dada uma imagem de entrada, duas distâncias são calculadas • Mahalanobis normalizada entre o padrão de teste e os centróides • Distância Euclidiana entre o padrão de teste e sua projeção no sub-espaço 75- dimensional dos 75 maiores eigenvectores – Uma rede MLP é então usada para classificação • usando os doze pares de distância calculados 23
  • Métodos Baseados em Aparência – Redes Neurais Artificiais • Têm sido aplicada com sucesso em muitos problemas de reconhecimento de padrões – Reconhecimento de caracteres – Reconhecimento de objetos – Controle de robôs autônomos • Vantagem – Treinar uma RNA para detectar objetos é uma tarefa factível • Apesar de ser um problema complexo devido a grande variabilidade de diversos aspectos • Desvantagem – A arquitetura da rede precisa ser extensivamente 'tunada' • Número de camadas, de nós por camada, taxas de aprendizado, funções de ativação, etc • Além de MLP, RBF e SOM, entre outras, têm sido extensivamente utilizadas para detecção de faces 24
  • Métodos Baseados em Aparência – Redes Neurais Artificiais – Exemplo Detecção de Faces baseada em Redes Neurais [Rowley et al., 1998] • Uso de uma MLP para aprender padrões de faces e não-faces a partir de imagens de faces e não-faces – Uso de intensidade e relacionamento entre pixels – Dois componentes maiores: • Múltiplas Redes Neurais para detectar padrões faciais • Módulo de decisão para a decição final a partir de múltiplos resultados de detecção – Treinamento baseado em faces de vários tamanhos, orientações, posições e intensidades • Olhos, nariz, boca e cantos são determinados manualmente • Segundo componente une detecções sobre uma mesma área e classifica – Votos e operações lógicas são usados 25
  • Métodos Baseados em Aparência – Support Vector Machines (SVM) • Pode ser considerado como um 'novo' paradigma para treinar funções polinomiais, redes neurais ou classificadores RBF • Diferente dos métodos convencionais – Baseados na minimização do erro no treinamento • Risco empírico • RNA, RBF, Métodos Bayesianos • SVM opera com outro princípio indutivo – Tem como objetivo minimizar o limite superior do erro esperado • Risco estrutural mínimo • SVM é um classificador linear – Hiperplano de separação é escolhido para minimizar as classificações errôneas esperadas nos padrões não vistos • Hiperplano ótimo de separação é definido pela combinação ponderada de um pequeno conjunto de vetores de treinamento, chamado vetores de suporte • Desvantagem: – Computação é intensiva tanto em termos temporais quanto no uso de memória 26
  • Métodos Baseados em Aparência – Classificador Naive Bayes • Estima a probabilidade conjunta dos aspectos locais e da posição de padrões facias (subregiões da face) em múltiplas resoluções • Razões para utilizar o Classificador de Naive Bayes – Provê uma melhor estimativa das funções densidade locais das subregiões – Provê uma forma funcional da probabilidade a posteriori capturar as estatísticas conjuntas dos aspectos locais e das posições em um objeto • Para cada imagem/escala – Decompõe a imagem em 4 subregiões retangulares – Projeta as subregiões em um espaço dimensional menor • Utilizando PCA – Estima as estatísticas de cada projeção – Uma face está presente quando a maximo-verossimilhança é maior que as probabilidades a priori • Vatagens: – Capaz de detectar faces rotacionadas – 3% de taxa de erro 27
  • Métodos Baseados em Aparência – Hidden Markov Model (HMM) • Hipóteses – padrões podem ser representados por processos paramétricos randômicos – Parâmetros podem ser estimados de uma maneira precisa e bem definida • Estados escondidos que formam um modelo são definidos a priori • HMM pode então ser treinado – Aprende a probabilidade transicional entre estados dos – exemplos – Cada exemplo é representado como uma seqüência de observações • Objetivo do treinamento – maximizar a probabilidade de observar os dados de treinamento – Consiste no ajuste dos parâmetro do modelo HMM • Método de segmentação padrão de Viterbi • Algoritmos de Baum-Welch • Após treinamento, a probabilidade de saída de uma observação determina a classe 28
  • Considerações – Experimentos • Experimentos exigem dois tipos de dados – Uma base para treinamento (apenas faces) • Quando o método precisa ser treinado – Uma base para testes (imagens gerais) • Base de dados de treinamento – Imagens limitadas a faces – Bases de imagens utilizadas para reconhecimento de faces são as melhores opções • Características devem ser revistas avaliando-se sua aplicabilidade a detecção de faces • Base de testes – Deve ser grande e ter variações suficientes, possibilitando assim uma boa avaliação – Testes em várias bases de dados também são válidos • Críticas – Maioria dos métodos propostos não foram testados em bases realmente grandes – Difícil comparação pois utilizam bases de testes diferentes • Uso de benchmarks pode ser interessante – Difícil definição até mesmo de elementos básicos • O que mesmo é uma detecção com sucesso? 29
  • Considerações – Experimentos – Bases de Dados 30
  • Métodos Baseados em Aparência – Benchmarks 31
  • Considerações – Experimentos – Avaliação de Performance • Importante o uso de conjuntos de testes padrões e representativos • Padronização das medidas utilizadas – TP – faces corretamente detectadas – TN – não-faces não detectadas – FN – faces não detectadas – FP – detecções em não faces • E suas relações – precision • TP/(TP+FP) – recall • TP/P – accuracy • (TP+TN)/(P+N) – F-measure • 2/(1/precision + 1/recall) • Recomendada a utilização de Matriz Confusão e Curvas ROC 32
  • Conclusões • Esta é só uma visão geral • Experimentos – Desenvolvimento, compartilhação e utilização de bases de dados é fundamental – Padronizão dos resultados em métricas bem conhecidas – Inserção de métricas de performance • Definição mais clara de conceitos básicos • Gaps - tratamento das variabilidades – Condições de iluminação – Orientação, pose e oclusão parcial – Expressões faciais – Presença de óculos, barba, cabelos, etc • Problema desafiador e extremamente interessante – Instância de um dos maiores problemas da visão computacional • Reconhecimento de todas as classes de objetos 33
  • Referências [1]Ming-Hsuan Yang, David J. Kriegman,Narendra Ahuja. “Detecting Faces in Images: A Survey”, IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, VOL. 24, NO. 1, JANUARY 2002. [2] Erik Hjelmas, Boon Kee Low. “Face Detection: A Survey”, Computer Vision and Image Understanding 83, 236–274 (2001). [3] Jang, J.-S.; Kim, J.-H. “Fast and Robust Face Detection Using Evolutionary Pruning”. IEEE Transactions on Evolutionary Computation, Aceito para futuras publicações, page(s): 1-10. 34
  • Detecção de Faces Biometria VIISAR João Paulo Magalhães (jpm@cin.ufpe.br)