face detection

35
Detecção de Faces Biometria VIISAR João Paulo Magalhães ([email protected] )

Upload: jaulomag

Post on 24-May-2015

2.613 views

Category:

Education


3 download

TRANSCRIPT

Detecção de Faces

BiometriaVIISAR

João Paulo Magalhães ([email protected])

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

4

Introdução – Motivação

* Imagem retirada de [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

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

8

Métodos de 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?

30

Considerações – Experimentos – Bases de Dados

31

Métodos Baseados em Aparência –Benchmarks

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.

Detecção de Faces

BiometriaVIISAR

João Paulo Magalhães ([email protected])