paper in pdf

Propaganda
Congreso de Métodos Numéricos en Ingeniería 2005
Granada, 4 a 7 de Julio, 2005
© SEMNI, España 2005
METODOLOGIAS PARA IDENTIFICAÇÃO DE FACES EM IMAGENS:
INTRODUÇÃO E EXEMPLOS DE RESULTADOS
Fernando Jorge Soares Carvalho1*, João Manuel R. S. Tavares2
1: Departamento de Matemática, Instituto Superior de Engenharia do Porto
R. Dr. António Bernardino de Almeida 431, 4200-072 PORTO – PORTUGAL
e-mail: [email protected]
2: Departamento de Engenharia Mecânica e Gestão Industrial,
Faculdade de Engenharia da Universidade do Porto
Laboratório de Óptica e Mecânica Experimental,
Instituto de Engenharia Mecânica e Gestão Industrial
Rua Dr. Roberto Frias s/n, 4200-465 PORTO – PORTUGAL
e-mail: [email protected] web: www.fe.up.pt/~tavares.
Palavras-chave: Detecção de Faces, Processamento e Análise de Imagem, Correlação
Cruzada, Detecção de Zonas de Pele, Modelos Deformáveis
Resumo. Uma das principais áreas de desenvolvimento, do domínio da Visão
Computacional, é a detecção e reconhecimento de faces em imagens estáticas ou em
sequências de imagens. Das várias metodologias existentes, salientam-se neste artigo: a que
considera o algoritmo de correlação cruzada, a baseada na detecção de regiões de pele e a
que utiliza modelos protótipos deformáveis. Assim, apresenta-se uma descrição sobre cada
uma das referidas metodologias bem como alguns resultados experimentais obtidos pelas
mesmas.
1. INTRODUÇÃO
No domínio da Visão Computacional, inúmeros investigadores têm realizado esforços
consideráveis no sentido de conseguir aumentar a interacção homem / sistemas máquina,
através de sistemas automáticos de análise de expressões faciais. Atendendo à dimensão e
complexidade deste problema, foi necessário decompô-lo em diferentes subtemas de estudo e
desenvolvimento. Assim, é usual considerar-se os seguintes subtemas: detecção e
reconhecimento de faces, análise do estado emocional associado as faces, reconstrução e
síntese de faces, análise da faixa etária induzida pelas faces, etc. As metodologias
desenvolvidas, em cada uma destas áreas de trabalho, podem ser aplicadas em imagens
estáticas ou em sequências de imagens.
A diversidade das metodologias existentes é extensa para cada uma das áreas referidas. Por
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
vezes, para o mesmo tipo de aplicação, podemos encontrar metodologias totalmente distintas
na forma de operar. Contudo, existem também situações nas quais são agrupadas
metodologias, que foram desenvolvidas para realizar tarefas principais de outras áreas do
domínio, e que são consideradas na realização de etapas prévias. Por exemplo, usualmente na
análise de expressões faciais em imagens é necessário determinar previamente a face na
imagem em causa.
Nos trabalhos [1-6], são enumeradas e resumidamente descritas as metodologias mais usuais
no domínio da Visão Computacional para imagens de faces. Dessas metodologias, neste
trabalho são consideradas as seguintes: a que utiliza o algoritmo de correlação cruzada, a
baseada na detecção de regiões de pele e a que utiliza modelos protótipos deformáveis.
A metodologia que utiliza o algoritmo da correlação cruzada, consiste na consideração de
uma sub-imagem relativa a uma dada característica facial, como por exemplo o olho ou a
boca, e efectuar a correlação cruzada normalizada desta sub-imagem com a imagem em
análise. Deste modo, determina-se o máximo coeficiente de correlação com o objectivo de
prever a potencial localização de uma face, a partir do posicionamento da característica
considerada. A correlação entre imagens considerada, é normalmente realizada no domínio da
transformada de Fourier.
Já a detecção de zonas de pele, consiste no desenvolvimento de um modelo representativo da
pele, conseguido a partir da consideração de uma distribuição Gaussiana, com média e
covariância obtidas a partir de um conjunto de treino constituído por amostras de pele da
região da face de vários indivíduos. Posteriormente, o modelo construído permite determinar
na imagem em causa, os pixels que apresentem elevada probabilidade de pertencer a regiões
de pele e consequentemente às faces presentes na imagem em estudo.
Por outro lado, a utilização de modelos protótipos deformáveis, consiste na utilização de um
modelo deformável parametrizado, construído adequadamente para uma dada característica
facial (o olho, a boca, etc.), que uma vez posicionado, e devidamente ajustado, na imagem em
estudo, permite quantificar a semelhança existente entre o modelo usado e a potencial
característica facial considerada. Esta semelhança, é quantificada pelo custo energético da
deformação necessária para ajustar adequadamente o modelo à característica presente na
imagem.
Nas secções seguintes deste artigo, são descritas com maior detalhe as referidas três
metodologias, apresentados alguns resultados experimentais obtidos pelas mesmas, e
enumeradas algumas conclusões e perspectivas de trabalho futuro.
2. METODOLOGIAS CONSIDERADAS
Nesta secção, são descritas de forma mais pormenorizada as três metodologias consideradas
neste artigo para a detecção de faces representadas em imagens: a que utiliza o algoritmo de
correlação cruzada, a baseada na detecção de regiões de pele, e a que utiliza modelos
protótipos deformáveis.
Para as duas primeiras metodologias, são apresentados resultados experimentais obtidos por
implementações computacionais desenvolvidas neste trabalho, usando a plataforma MATLAB.
2
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
Contudo, para a terceira metodologia, o exemplo de funcionamento dos modelos deformáveis
apresentado foi retirado de [7]
2.1. Algoritmo de correlação cruzada
Em Visão Computacional, é usualmente designado por “algoritmo de correlação cruzada” o
método que compara uma dada imagem com uma sub-imagem adequada, traduzindo
numericamente a semelhança existente entre as duas, [8, 9]. A sub-imagem é extraída de uma
imagem do objecto em estudo, e reflecte uma dada característica do mesmo. No caso
presente, a sub-imagem pode ser constituída pelo olho ou pela boca, ou mesmo pela face
completa; normalmente, esta sub-imagem é referenciada por modelo ou template.
Posteriormente, este algoritmo aplica a transformada directa de Fourier à imagem original e à
sub-imagem. Depois, é aplicado o algoritmo de correlação cruzada no domínio das
frequências, sendo calculados os coeficientes da transformada inversa de Fourier. A detecção
fica concluída, após determinação do máximo coeficiente de correlação obtido e da sua
respectiva localização na imagem.
Deste modo, espera-se que o valor máximo do coeficiente de correlação se destaque
numericamente em amplitude, relativamente a todos os outros, de forma a tornar inequívoca a
detecção.
Das experiências realizadas ao longo deste trabalho, concluiu-se que ambas as imagens
devem ser previamente normalizadas de forma a uniformizar a intensidade das mesmas.
2.1.1. Exemplos de resultados obtidos
A Figura 1, apresenta uma imagem original de uma face e a sub-imagem considerada para
o olho esquerdo, extraída da mesma, bem como imagens obtidas a partir destas após um
processo de normalização de intensidade. Na mesma figura, pode-se ainda analisar,
através dos histogramas apresentados, o efeito da referida operação de normalização.
Figura 1. Imagem com a face e sub-imagem para o olho: imagens originais (em cima),
após a normalização (em baixo) e respectivos histogramas (ao lado).
Na Figura 2, apresenta-se os coeficientes de correlação devidamente normalizados,
resultado da correlação entre a imagem e a sub-imagem normalizadas apresentadas na
3
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
Figura 1. Nesta figura, pode-se verificar a existência de um coeficiente máximo de
correlação que se destaca claramente dos restantes.
Na figura 3, encontra-se indicada, por um ponto de cor vermelha, a característica facial
encontrada na imagem original usando a sub-imagem considerada para o olho esquerdo.
Figura 2. Coeficientes de correlação obtidos entre a imagem com a face e a sub-imagem
para o olho esquerdo apresentadas na Figura 1.
Figura 3. Indicação da característica facial encontrada na imagem
original, usando a sub-imagem considerada para o olho esquerdo.
2.2. Algoritmo de detecção de zonas de pele
O algoritmo de detecção de zonas de pele, foi neste trabalho considerado com a finalidade de
detectar as faces presentes em imagens a cores. Este algoritmo, [10-12], utiliza um modelo
representativo da pele, construído a partir de um conjunto de imagens de treino contendo
amostras de pele retiradas de diversos pontos da face, de vários indivíduos de diferentes
idades, etnias e de ambos os sexos.
Neste algoritmo, a imagem em estudo em formato RGB é processada de forma a eliminar a
influência da luminosidade. Da imagem obtida, obtêm-se posteriormente a imagem
4
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
equivalente representada no formato YUV ou YCbCr (luminance-chrominance), onde Y
representa a intensidade, Cb a componente azul e Cr a componente vermelha da imagem. A
mesma conversão é também efectuada às imagens das amostras de pele.
Seguidamente, é utilizado um filtro passa baixo de forma a eliminar algum ruído existente em
cada uma das componentes Cr e Cb, isto para cada uma das imagens das amostras e também
para a imagem na qual se pretende pesquisar e identificar as faces.
Neste trabalho, o modelo representativo da pele construído foi obtido a partir de 28 amostras
de pele, das quais foi calculada a média de cada uma das componentes e a covâriancia entre
ambas as componentes. A média e a covâriancia são variáveis da função densidade de
probabilidade da distribuição Gaussiana, que permite determinar a probabilidade de um dado
pixel da imagem em estudo pertencer a uma dada região de pele, e consequentemente a uma
face.
Conseguida a representação em probabilidade, de um conjunto de pixels pertencer a uma
região de pele, procede-se à binarização da imagem em estudo utilizando um limiar adequado.
Seguidamente, faz-se a segmentação da imagem binária obtida, procurando extrair todos os
segmentos formados a partir de um conjunto de pixels de intensidade unitária. Para isso, todos
os pixels de cada segmento são devidamente etiquetados, a cada segmento são atribuídas
etiquetas distintas, sendo o número de etiquetas atribuídas igual ao número de segmentos em
análise.
Todo o segmento obtido pelo processo anterior pode representar uma face. Como primeira
fase de detecção da face, analisa-se a possibilidade de no interior de cada segmento existir
mais do que um agrupamento de pixels de intensidade nula, pois poderão ser estes
representativos de características faciais como os olhos e as sobrancelhas, que notoriamente
não são identificadas como regiões de pele. Todos os segmentos que não cumpram tal
requisito, serão ignorados; dos restantes, são extraídos dados acerca da sua localização e
dimensão.
A segunda fase de detecção das faces presentes na imagem em estudo, consiste na utilização
do algoritmo de correlação cruzada, descrito na secção anterior, entre o segmento da face em
tons cinzento com um modelo facial frontal previamente construído. Para aumentar a eficácia
da detecção através deste algoritmo, o modelo facial é adaptado em escala e rotação, sendo a
decisão final conseguida a partir do valor máximo dos coeficientes de correlação obtidos, tal
como descrito na secção anterior.
O modelo frontal considerado neste trabalho, foi construído a partir da média de 16 faces
frontais, de indivíduos de ambos os sexos desprovidos de cabelo facial ou óculos. O ângulo de
inclinação da face é determinado a partir do conhecimento da localização do centro de massa
da mesma, permitindo obter o seu centro. Seguidamente, obtêm-se o ângulo de inclinação
alongando o objecto, prevendo-se assim a orientação do eixo de alongamento e a orientação
da região.
2.2.1. Conversão da imagem no formato RGB para YCbCr
A imagem em formato RGB é convertida para o designado espaço de cores cromáticas
5
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
YCbCr, também conhecidas por cores puras. Como se pode observar na Figura 4, uma
imagem original pode ser representada por três componentes: Y, representando a intensidade;
Cb, representando a componente azul; e CR, a componente vermelha da imagem.
RGB
Y
Cb
Cr
Figura 4. Exemplo de conversão de uma imagem original no formato RGB
para o espaço YCbCr.
A conversão da uma imagem entre os dois espaços, é conseguida a partir das seguintes
relações:
R
R+G+ B
.
B
Cb =
R+G + B
Cr =
(1)
2.2.2. Extracção de zonas de pele
Na Tabela 1, são apresentadas as 28 amostras de zonas de pele, cada uma de dimensão 40x40
pixels, extraídas de diversos pontos da face de indivíduos de diferentes idades, etnias e de
ambos os sexos, consideradas neste trabalho no desenvolvimento do modelo representativo da
pele.
O número considerado de amostras extraídas pode ser diferente; no entanto, a sua diversidade
pode trazer melhorias ao modelo obtido.
2.2.3. Função densidade de probabilidade da distribuição Gaussiana
Considerando as variáveis aleatórias Cr e Cb , cuja média µ e a covariância C são
representadas por:
µ = E { x}
{
C = E ( x − µ )( x − µ )
T
6
}
,
(2)
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
e atendendo que:
x = ( Cr Cb ) ,
T
(3)
pode-se definir a função densidade de probabilidade da distribuição Gaussiana como:
f ( Cr , Cb ) = e
−
1
( x − µ )T C −1 ( x − µ )
2
.
(4)
Tabela 1. Amostras de zonas de pele consideradas neste trabalho para o
desenvolvimento do modelo representativo da pele.
2.2.4. Modelo de detecção de zonas de pele
A Figura 5, representa graficamente a função densidade de probabilidade f ( Cr , Cb ) ,
considerada neste trabalho no desenvolvimento do modelo representativo da pele, obtida a
partir da atribuição de valores de intensidade na gama de tons cinzentos às variáveis aleatórias
Cr e Cb . Os valores médios considerados para estas variáveis foram respectivamente 143 e
113, valores para os quais a probabilidade de encontrar um pixel pertencente a uma região de
pele é mais elevada no caso considerado.
2.2.5. Exemplos de resultados obtidos
Na Figura 6, a imagem à esquerda representa as zonas de provável existência de pele
encontradas na imagem original apresentada Figura 4, os pixels destas zonas assumem
maiores valores de intensidade. Já a imagem apresentada ao cento, é obtida da anterior após
um processo de binarização. Por seu lado, a imagem à direita é obtida da imagem ao centro e
representa o segmento correspondente à face sem características faciais. Esta imagem, é
posteriormente usada para determinar o centro de massa e o ângulo de inclinação da face
7
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
detectada.
Figura 5. Função densidade de probabilidade considerada neste trabalho
para o desenvolvimento do modelo representativo da pele.
a)
b)
c)
Figura 6. Imagens com a representação das probabilidades de existência de pele (a), o resultado da
binzarização (b), e o segmento correspondente à face com características faciais (c),
obtidas a partir da imagem original apresentada na Figura 4.
Conforme foi anteriormente descrito, o segmento obtido correspondente à face sem
características faciais, é posteriormente usado para identificar a zona da imagem original que
contem a possível face. Esta zona é seguidamente validada como face por correlação cruzada
com um modelo facial construído. Como os coeficientes de correlação são normalizados, a
face é detectada, se o valor máximo dos coeficientes de correlação for superior a 0.5, Figura
7.
Na Figura 8, a zona identificada na imagem original como pertencente a uma face pelo
processo considerado aparece circunscrita por um rectângulo.
8
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
a)
b)
c)
Figura 7. Exemplo de validação de uma face usando o algoritmo de correlação cruzada: a) zona
candidata a face; b) Coeficientes de correlação obtidos; c) Modelo facial usado na correlação.
Figura 8. Face detectada na imagem original
circunscrita por um rectângulo.
Na Figura 9, mostra-se um exemplo de detecção de múltiplas faces em imagens, usando o
processo descrito nesta secção. Neste exemplo, é possível verificar que um segmento
correspondente à zona de pele referente às mãos, detectado pelo modelo representativo da
pele, foi correctamente identificado como não pertencente a uma face.
2.3. Método dos modelos protótipos deformáveis
Este método consiste no emparelhamento de um modelo deformável parametrizado,
preestabelecido de forma a representar adequadamente uma dada característica facial, por
exemplo o olho ou a boca, que uma vez ajustado na imagem em estudo, permite quantificar a
semelhança existente entre o modelo e a potencial característica facial existente, [7, 13, 14].
Esta semelhança é quantificada pelo custo energético da deformação necessária para ajustar
devidamente o modelo à característica facial.
9
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
Figura 9. Exemplo de detecção de múltiplas faces em imagens usando o
processo baseado na detecção de zonas de pele.
Com o objectivo de realçar determinadas propriedades que permitam extrair informações
relevantes sobre as características faciais a considerar, são aplicados operadores morfológicos
à imagem original, [8, 9], dos quais resultam campos de energia que traduzem orlas, picos e
vales de intensidade de imagem. Esta etapa, constitui a fase de pré-processamento deste
método.
10
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
Os referidos campos de energia obtidos são designados por Ψ e ( x, y ) , Ψ v ( x, y ) , Ψ p ( x, y ) ,
para orlas, vales e picos de intensidades, respectivamente. Posteriormente, estes campos são
suavizados, de forma a homogeneizar os tons de cinzentos, através da convolução com uma
função exponencial, resultando ( ρ representa um parâmetro constante):
φe ( x, y ) = e − ρ
x2 + y 2
Ψ e ( x, y ) ,
φv ( x, y ) = e− ρ
x2 + y 2
Ψ v ( x, y ) ,
φ p ( x, y ) = e − ρ
x2 + y 2
Ψ p ( x, y ) .
(5)
Neste trabalho foi considerado um modelo protótipo para o olho e estabelecidas as equações
que ligam os parâmetros entre si. Seguidamente, os parâmetros deste modelo são optimizados,
por actualização das equações consideradas e alteração dos seus valores, através do método
do gradiente descendente, no sentido de minimizar o custo de energia necessário ao ajuste do
modelo com a característica existente na imagem, [7, 13, 14].
2.3.1. Modelo protótipo do olho
O modelo considerado para o olho, é constituído por um círculo de raio r , centrado no ponto
JJG
xc . O contorno do limite do olho é modelado à custa de duas parábolas, representativas das
partes superior e inferior, [7, 13, 14], Figura 10.
Figura 10. Modelo protótipo do olho considerado neste trabalho.
2.3.2. Exemplos de resultados obtidos
Na fase de pré-processamento, são extraídos vales, picos e orlas de intensidade de forma a dar
ênfase a determinadas características constituintes do olho, Figura 11.
Na figura 12, apresenta-se a título de exemplo o ajuste dinâmico do modelo protótipo
deformável para o olho numa dada imagem. No âmbito deste trabalho, esta etapa do método
está actualmente em fase de implementação.
11
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
a)
b)
c)
d)
Figura 11. Exemplo de campos de energia: a) imagem original, b) vales, c) picos e
d) orlas de intensidade.
Figura 12. Exemplo de ajuste dinâmico do modelo protótipo do olho
numa imagem (exemplo, retirado de [1]).
3. CONCLUSÕES E PRESPECTIVAS DE REALIZAÇÃO FUTURAS
Com alguns dos ensaios experimentais realizados, verifica-se que o algoritmo de correlação
cruzada apresenta níveis de detecção elevados quando a sub-imagem é extraída da própria
imagem com a qual é correlacionada. Já quando a sub-imagem é retirada de outras imagens,
os resultados obtidos são por vezes ambíguos. Na base de tal ambiguidade, estão problemas
de escala e de luminosidade. No entanto, a normalização dos níveis de intensidade melhora
consideravelmente os resultados obtidos.
Ao longo dos mesmos ensaios experimentais, o algoritmo de detecção de regiões de pele
obteve um bom desempenho. No entanto, é sensível a situações facilmente confundíveis com
zonas de pele. Assim, este método deve ser utilizado essencialmente em imagens de faces
cujo fundo seja a esse nível não muito complexo.
Os mesmos ensaios, também permitem verificar que o algoritmo de correlação cruzada, que
auxilia o método de detecção de zonas de pele na validação das zonas correspondentes a
faces, por vezes falha. Tal, deve-se aos problemas já citados próprios do método da correlação
cruzada.
Em termos de realização futura, está prevista para os tempos mais próximos a implementação
da metodologia referente ao método dos modelos protótipos deformáveis. Tal, permitirá
comparar o seu desempenho com o das duas metodologias já implementadas.
12
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
Os protótipos deformáveis a implementar, poderão também ser usados na validação das áreas
de pele, determinadas pelo método de detecção de zonas de pele apresentado, como
pertencentes a faces fazendo, por exemplo, o posicionamento do modelo nos locais onde
existam áreas duvidosas e analisando o valor da energia de ajuste.
4. AGRADECIMENTOS
O trabalho apresentado neste artigo foi desenvolvido no âmbito da Dissertação de Mestrado
em Métodos Computacionais em Ciências e Engenharia, do primeiro autor sobre orientação
do segundo autor.
O primeiro autor, deseja expressar o seu agradecimento ao apoio financeiro disponibilizado
pela Direcção do referido Curso de Mestrado que permitiu a apresentação deste trabalho.
REFERÊNCIAS
[1] F. J. S. Carvalho and J. M. R. S. Tavares, "Imagens de Faces: Exemplos de
Metodologias e Aplicações," presented at 4as Jornadas Politécnicas de Engenharia,
Mecânica, Automóvel, Organização e Gestão Industrial, Energia e Ambiente, Instituto
Superior de Engenharia do Porto, Porto, Portugal, 2004.
[2] T. Fromherz, P. Stucki, and M. Bichsel, "A Survey of Face Recognition," Dept. of
Computer Science, University of Zurich, Zurich MML Technical Report, No 97.01,
1997.
[3] E. Hjelmas and B. K. Low, "Face Detection: A Survey," Computer Vision and Image
Understanding, vol. 83, pp. 236–274, 2001.
[4] M. Pantic and L. J. M. Rothkrantz, "Automatic Analysis of Facial Expressions: The state
of art," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 22, 2000.
[5] M. Yang, D. J. Kriegman, and N. Ahuja, "Detecting Faces in Images: A Survey," IEEE
Transactions on Pattern Analysis and Machine Intelligence, vol. 24, 2002.
[6] W. Zhao, R. Chellappa, P. J. Phillips, and A. Rosenfeld, "Face Recognition: A Literature
Survey," ACM Computing Surveys, vol. 35, pp. 399–458, 2003.
[7] A. Yuille, P. Hallinan, and D. Cohen, "Feature Extraction from Faces Using Deformable
Templates," International Journal of Computer Vision, vol. 8, pp. 99-111, 1992.
[8] G. W. Awcock and R. Thomas, Applied Image Processing: McGRAW-HILL
International Editions, 1995.
[9] R. J. Schalkoff, Digital Image Processing and Computer Vision: John Willey & Sons,
Inc., 1989.
[10] M. J. Jones and J. M. Rehg, "Statistical Color Models with Application to Skin
Detection," Cambridge Research Laboratory, Compaq Computer Corporation, One
Cambridge Center, Cambridge MA 02142, 1999.
[11] M. J. Jones and J. M. Rehg, "Statistical color models with application to skin
detection," presented at IEEE Conference on Computer Vision and Pattern Recognition,
1999.
13
Fernando Jorge Soares Carvalho, João Manuel R. S. Tavares
[12] H. Zheng, M. Daoudiy, and B. Jedynak, "Blocking Adult Images Based on Statistical
Skin Detection," Electronic Letters on Computer Vision and Image Analysis, vol. 4, pp.
1-14, 2004.
[13] A. L.Yuille, "Deformable Templates for Face Recognition," Journal of Cognitive
Neuroscience, vol. 3, pp. 59-70, 1991.
[14] A. L. Yuille, D. S. Cohen, and P. W. Hallinan, "Feature extraction from faces using
deformable templates," presented at IEEE Conference on Computer Vision and Pattern
Recognition, 1989.
14
Download