face detection
TRANSCRIPT
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
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
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
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
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
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
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];
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.
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 identificadas2. Procurar por outras características (baseada na estimação da localização esperada)
para as duas características candidatas com maior resposta no passo anterior3. Formar constelações e determinar a mais similar a uma face
• Comparação de grafos
• 86% de acertos– 150 imagens
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
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
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
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
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
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
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
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
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
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 Linearde Fisher e SOM etc tambémsão usados nestes métodos.
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
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
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
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
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
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
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?
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
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
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.