1. Detecção de Faces
Biometria
VIISAR
João Paulo Magalhães (jpm@cin.ufpe.br)
2. 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
3. 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
5. 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
6. 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
7. 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
9. 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
10. 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
11. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. 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
19. 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
20. 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
21. 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
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]
• 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
23. 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
24. 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
25. 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
26. 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
27. 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
28. 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
29. 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
32. 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
33. 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
34. 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
35. Detecção de Faces
Biometria
VIISAR
João Paulo Magalhães (jpm@cin.ufpe.br)