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