Anda di halaman 1dari 6

Deteco de Faces Humanas em Imagens Coloridas Utilizando Redes Neurais Artificiais

Wellington da Rocha Gouveia Universidade de So Paulo Escola de Engenharia de So Carlos Departamento de Engenharia Eltrica rochaw@usp.br Resumo
Este trabalho apresenta como proposta, o desenvolvimento de um algoritmo baseado em redes neurais artificiais, para a deteco de faces humanas em imagens digitais coloridas, utilizando segmentao de pele. O trabalho foi dividido em sete mdulos principais, onde os mdulos so: Pr-processamento, Segmentao de Pele, Ps-processamento da imagem, Deteco das Bordas, Localizao de objetos, Extrao de caractersticas e Deteco e interpretao da face. A deteco e interpretao da face fazem uso das caractersticas detectadas para cada objeto, as quais so aplicadas em uma rede neural MLP que identificar se o objeto sob anlise face ou no. Os resultados obtidos demonstram que eficiente a aplicao deste trabalho em imagens coloridas que contem diversas faces de pessoas de diferentes etnias.

Maria Stela Veludo de Paiva Universidade de So Paulo Escola de Engenharia de So Carlos Departamento de Engenharia Eltrica mstela@sc.usp.br
luminosidade, e o fundo da imagem pode possuir detalhes que sobrepe parcialmente ou totalmente a face que dever ser localizada, entre outros problemas. Diferentes tcnicas podem ser utilizadas na tarefa de deteco facial, podendo-se citar PCA-LDA (Principal Component Analysis) [1], proporo divina [2], RNA SOM (Self-Organizing Map) [1] e, sistemas Fuzzy [3] e RNA Multi-Layer Perceptron (MLP) [4]. Esse trabalho prope um algoritmo para deteco faces que usa segmentao de pele, separando cor de pele e texturas de face, de outros objetos presentes em uma imagem. Com a segmentao de pele reduzida a quantidade de objetos que possam interferir no processo de deteco, espera-se dessa forma, obter uma deteco com bons resultados para imagens coloridas com fundo complexo e diversas pessoas. O objetivo deste trabalho desenvolver um algoritmo baseado em RNA e processamento de imagens para a deteco de faces humanas em imagens digitais coloridas, contendo uma ou mais faces.

1. Introduo
Sistemas biomtricos aplicados identificao de face auxiliam no reconhecimento e identificao de indivduos. Isto s possvel devido evoluo das tcnicas de processamento de imagens e de tecnologias e tcnicas de reas afins. Muitos sistemas aplicados existentes no mercado funcionam com eficincia, pois h interao de reas no sistema, sem contar a qualidade dos equipamentos fsicos, que atualmente atendem as expectativas de qualidade. A combinao de tcnicas das reas de processamento de imagens e inteligncia artificial, mais especificamente Redes Neurais Artificiais (RNA), Sistemas Fuzzy e Sistemas Inteligentes (uma combinao de RNA e Sistemas Fuzzy), tem sido utilizadas no desenvolvimento de sistemas biomtricos. O reconhecimento, ou deteco de face humana, pode ser feito tanto em imagens quanto em vdeos. A deteco uma das etapas iniciais do reconhecimento facial, sendo, portanto, de extrema importncia para o algoritmo de reconhecimento. Encontrar faces em imagens tarefa difcil, pois pode ocorrer variao de

2. Deteco de Faces
A deteco de faces consiste na utilizao de tcnicas computacionais para determinar se existem faces ou no em uma imagem e, se existirem, deve retornar a localizao de cada face. Embora a deteco de faces seja uma tarefa fcil para os seres humanos, a implementao de sistemas computacionais que realize esta tarefa complexa, devido a diversas dificuldades, tais como [5]. Pose: a posio de uma ou mais face presente numa imagem varia devido posio da face em relao cmera (frontal, 45 graus, perfil, de cabea para baixo) e, alm disso, alguns componentes faciais como olhos e nariz, podem estar parcialmente ou totalmente obstrudos. Presena ou ausncia de componentes estruturais: a presena de elementos na face tais como, barba, bigode e culos, que podem modificar caractersticas como a forma, o tamanho e a cor. Expresso facial: a expresso da face afeta diretamente a aparncia da face.

Ocluso: as faces podem estar parcialmente obstrudas por outros objetos. Orientao da imagem: as imagens podem variar diretamente com a rotao da cmera ao redor do eixo. Condies da imagem: quando a imagem formada, fatores de iluminao (espectro, fonte de distribuio e intensidade) e caractersticas da cmera (resposta de sensor e lentes) podem afetar a aparncia da face. Existem vrios mtodos para deteco de faces em imagens em escala de cinza e em imagens coloridas. [5] Cada mtodo preocupa-se em identificar a face ou faces presentes numa imagem com a maior taxa de acerto possvel, e cada um apresenta vantagens e desvantagens. Mtodos mais robustos tendem a ser de implementao mais complexa e a ter maior custo computacional, como o caso do mtodo de autofaces (eigenfaces) . Mtodos que utilizam a cor da pele so de implementao mais simples, mas o resultado depende do espao de cores utilizado.

algoritmo de aprendizagem usado para treinar a rede. Pode-se identificar 4 tipos de arquiteturas de redes neurais: redes feedforward unicamada (Perceptron), redes feedforward multicamada, redes recorrentes e estrutura de Lattice (Reticulada). A seguir, ser descrita a arquitetura da rede Perceptron multicamada (MLP) que um tipo de rede feedforward, e que ser na implementao deste trabaho. O perceptron multicamadas (MLP, multilayer perceptron) uma rede do tipo feedforward, que contm uma ou mais camadas internas (Figura 2). Tem sido aplicada com sucesso, na resoluo de problemas das mais diversas reas, podendo-se citar: reconhecimento de padres, processamento de imagens e de sinais, e previso de sries temporais. O seu treinamento realizado de forma supervisionada com o algoritmo de retropropagao de erro (error back-propagation). Este algoritmo baseiase na regra de aprendizagem por correo de erro.

3. Redes Neurais
As redes neurais artificiais tentam simular o crebro humano, modelando a maneira como o crebro realiza uma tarefa particular ou funo de interesse. A rede normalmente implementada utilizando-se componentes eletrnicos ou simulada por programao em um computador digital. Para alcanarem bom desempenho, as redes neurais empregam uma interligao macia de clulas computacionais simples denominadas de neurnios ou unidades de processamento[6]. O modelo computacional de um neurnio, inspirado nos neurnios do crebro, mostrado na Figura 1 e constitui a base para os projetos de redes neurais artificiais [6].

Figura 2 - Grafo arquitetural de um perceptron mltiplas camadas com duas camadas ocultas

4. Deteco de Faces com Redes Neurais


Diferentes arquiteturas de redes neurais artificiais foram propostas para a deteco de faces, pois a deteco de faces pode ser tratada como um problema de reconhecimento de padres, tal como em OCR (reconhecimento tico de caracteres), reconhecimento de objetos, etc., onde as redes neurais artificiais so aplicadas com sucesso [7], [8] e [9]. Na deteco de faces, a utilizao de redes neurais consiste em diferenciar imagens ou regies da imagem que, possivelmente contenham uma face, daquelas imagens ou regies que no contm face, ou seja, a funo da rede apenas classificar as imagens em face e noface. [10] No trabalho de [8] apresentado um sistema de deteco de faces baseados em redes neurais. Neste sistema uma imagem de entrada percorrida por um filtro, que consiste em uma janela de 20x20, que extrai regies da imagem onde podem existir faces. Logo aps a extrao da possvel regio de face, esta submetida equalizao de histograma e normalizao da luz,

Figura 1 - Modelo no-linear de um neurnio

A maneira como os neurnios so organizados e interconectados define a arquitetura da rede neural. O tipo de organizao est diretamente relacionado com o

devido s vrias condies de luminosidade. Se a face for maior que o tamanho da janela, a imagem sub-amostrada repetidamente por um fator de 1.2, e o filtro aplicado em cada sub-amostragem (Figura 3). Cada bloco da imagem depois de extrado e pr-processado enviado para uma rede neural, que decidir se nele existe ou no uma face. A rede composta por vrias camadas com arquiteturas diferentes, como mostrado na figura 5, denominadas campos receptivos. Cada camada avalia uma parte de imagem com a finalidade de se detectarem caractersticas que podem ser teis para determinar a presena de face. Utilizando uma rede com 78 neurnios intermedirios e 4357 conexes, ela apresenta como resposta um nico valor, que determina a existncia ou no da face. [8]

Deteco e interpretao da face, que faz uso das caractersticas detectadas para cada objeto, as quais so aplicadas em uma rede neural MLP que identificar se o objeto sob anlise face ou no. Como imagens de entrada foram utilizadas imagens com extenso JPEG, adquiridas de diferentes pginas da internet.

7.

Figura 4 Diagrama em blocos do modelo proposto

Figura 3: Algoritmo de deteco de faces baseado em RNA.

5. Metodologia
Este trabalho apresenta como proposta, o desenvolvimento de um algoritmo baseado em redes neurais artificiais, para a deteco de faces humanas em imagens digitais coloridas, utilizando segmentao de pele. O trabalho foi dividido em sete mdulos principais como pode ser visto na figura 4, onde os mdulos esto relacionados a seguir: 1. Pr-processamento, aplicado para reduo de rudo e melhoria da qualidade da imagem de entrada; 2. Segmentao de Pele, aplicada para retirar da imagem todas as regies detectadas como no pele, utilizando para isso uma rede neural MLP; 3. Ps-processamento da imagem, utilizada para destacar as caractersticas relevantes para a deteco das faces; 4. Deteco das Bordas, realizada nas reas que contem pele e que ser utilizada no processo de deteco da face como uma caracterstica relevante; 5. Localizao de objetos, etapa realizada para localizar todos os objetos presentes na imagem, onde cada objeto localizado pode ser sub-dividido em mais de um objeto; 6. Extrao de caractersticas, onde so aplicados mtodos de extrao de caractersticas para cada objeto localizado na etapa anterior;

Todas as imagens so coloridas, contendo uma ou mais pessoas, de ambos os sexos, com fundo de complexidade varivel, com dimenses variadas e sem nenhum controle de luminosidade, como pode ser visto na figura 5.

Figura 5 Exemplo de imagens utilizadas para teste.

importante mencionar que houve a preocupao de se escolher imagens contendo pessoas de diferentes etnias, para avaliao do mdulo de segmentao de pele. As imagens adquiridas incluem faces com diferentes ngulos de inclinao e variaes de expresso, alm de faces com barba, bigode e culos, que so componentes que podem dificultar a deteco da face (figura 6).

Figura 6 Exemplo de imagens utilizadas com caractersticas que dificultam a deteco

O pr-processamento tem e a funo de melhorar a qualidade da imagem atravs da reduo do rudo. Para o desenvolvimento dessa etapa foi utilizada a filtragem por mediana 3X3, que minimiza o rudo, mas preserva as bordas [11]. A etapa de segmentao de pele consiste em separar as regies que contm pele das demais informaes da imagem. Na implementao dessa etapa foi adotado o espao de cores RGB. Para escolha desse espao de cor foram realizados testes com um conjunto de imagens utilizando os espaos RGB, HSV e YCbCr, onde o RGB foi o que apresentou melhores resultados para a realizao desse trabalho. Na segmentao foi utilizada uma rede neural MLP com o algoritmo de aprendizado backpropagation. A topologia dessa rede constituda por uma camada de entrada com 3 entradas, 2 camadas escondidas contendo 3 neurnios cada uma, e uma camada de sada com um neurnio,. Na camada de entrada so aplicadas as informaes RGB referentes a cada pixel da imagem, e a camada de sada determina se o pixel pele ou no pele, atribuindo uma cor padro ao pixel no pele (Figura 7).

(a) (b) Figura 7 (a) imagens originais, (b) imagens processadas

O treinamento da rede neural foi realizado utilizando a aprendizagem supervisionada, onde o conjunto de teste utilizado foi elaborado utilizando os padres corresponde aos pixel das regies que continham pele e no pele, em um conjunto de 25 imagens, com pessoas de diversas raas e fundos diferentes. Na etapa de ps-processamento so aplicados filtros de dilatao na imagem, para corrigir pequenas falhas que tenham ocorrido na etapa de segmentao de pele. Alm disso so aplicados ainda filtros de aguamento para realar detalhes finos ou detalhes que tenham sido borrados nos passos anteriores e por fim a imagem convertida em preto e branco (binarizao) utilizando o mtodo de Otsu para permitir a deteco de bordas utilizando o operador Sobel [11]. A deteco de bordas tem a funo de extrair as bordas da imagem. Como detector de bordas foi utilizado o operador Sobel enfatizado na vertical e horizontal, com o qual se obteve resultados satisfatrios na deteco de bordas aps a imagem colorida ser convertida em tons de cinza. A etapa de localizao de objetos consiste em realizar uma varredura na imagem, separando e gerando novas imagens das regies de todos os objetos encontrados, em cada objeto encontrado nesta etapa ser realizada a extrao de caractersticas para a deteco de face, e ainda alguns objetos encontrados podem ser divididos em mais objetos conforme o seu tamanho e formato. A etapa de extrao de caractersticas responsvel por extrair caractersticas da imagem resultante dos processos anteriores, que sero utilizadas na prxima etapa para determinar com preciso se o objeto encontrado uma face ou no. Alem disso reduz a

Figura 8 Topologia da Rede Neural proposta para a deteco de face

quantidade de dados de entrada para o processo de deteco de face. Nessa etapa, a entrada uma imagem, mas a sada do processo um conjunto de dados correspondente imagem de entrada. A extrao de caractersticas ser realizada em objetos detectados em partes da imagem capturada, atravs de um algoritmo de varredura. Para a extrao, a imagem capturada ser redimensionada em um tamanho padro, que facilitar a localizao das caractersticas relevantes, as quais sero utilizadas na prxima etapa onde ser analisado se a imagem uma face ou no. A utilizao de redes neurais muito importante no processo de reconhecimento de padres e classificao. O processo de deteco de face apresentado neste trabalho consiste na utilizao de uma rede neural MLP com o algoritmo de aprendizado backpropagation, que ir classificar atravs do conjunto de dados definido pela etapa de extrao de caractersticas, se a imagem selecionada uma face ou uma no-face. O treinamento da rede neural para validar se face ou no-face, foi realizado utilizando a algoritmos de aprendizagem supervisionada, onde o conjunto de teste utilizado foi elaborado utilizando caractersticas extradas de um conjunto imagens contendo faces e de um conjunto de no-face. A rede neural para verificao de faces constituda por uma rede MLP que usa como entrada o resultado de outras trs redes MLPs, onde cada rede ir verificar as seguintes caractersticas especficas obtidas na etapa anterior: posio dos olhos, nariz e boca (Figura 8). Para o desenvolvimento do algoritmo, foi utilizado o MATLAB (Matrix Laboratory) verso 7.0, com o toolbox de processamento de imagens e redes neurais. Com o auxilio dos toolbox que contm funes previamente implementadas, possvel obter uma maior agilidade no processo de desenvolvimento do algoritmo e na anlise dos resultados obtidos.

(a) (b) Figura 9 (a) imagem original, (b) imagem processadas

O problema mais grave encontrado a remoo do fundo da imagem, incluindo as regies que contem pele humana. Esse problema ocorre principalmente quando a cor da regio que est localizada a pele apresenta cores que so reconhecidas como pertencente ao fundo de imagem.
Estado das pessoas localizadas
100 90 80

87

83 72

70

Quantidade

60 50 40 30 20

10
10 0

4 Total de pessoas Pessoas localizadas Sem eroso Com eroso Pessoas no localizadas

Figura 10 Grfico de pessoas localizadas aps segmentao e eroses ocorridas nas faces

O grfico apresentado na figura 10 mostra o resultado final dos testes realizados nas 25 imagens, onde foram visualizadas 87 faces humanas. Aps o processo de segmentao foi mantido um total de 83 faces e dentre essas um total de 10 faces com algum tipo de eroso, faces essas que sero utilizadas na etapa de extrao de caractersticas, que sero utilizadas para determinar se existe ou no face na regio selecionada.

6. Resultados
Para verificar a eficincia do algoritmo de segmentao, foram utilizadas 25 imagens adquiridas na internet com diversas variaes de luminosidade, dimenso e pessoas de diversas etnias. A figura 9(b) mostra a imagem resultante da aplicao do algoritmo de segmentao na imagem original apresentada na figura 9(a) respectivamente. Observa-se que as imagens resultantes apresentam as regies que contem pele onde foram removidas praticamente todas as regies que contm fundo. Mas o algoritmo no consegue remover as partes da imagem que contm cores que se assemelham da pele humana.

7. Concluses
O algoritmo de segmentao de pele, atravs da metodologia proposta, apresentou bons resultados na resoluo de problemas de segmentao em imagens com fundo complexo. No entanto os resultados evidenciaram diferentes problemas relacionados a objetos com cores similares ao da pele humana. Na etapa de extrao de caractersticas os se obteve bons resultados, pois com a segmentao da pele e a remoo do fundo, as pequenas regies de fundo que continham cores semelhantes pele no interferiram de maneira relevante na extrao das principais caractersticas utilizadas para determinar se na regio contem face ou no. Os testes realizados at momento com as caractersticas extradas das imagens

apresentam bons resultados e a viabilidade da utilizao de redes neurais para realizar segmentao de pele em imagens e a deteco de face nas regies que contm cores que se assemelham pele humana.

Transactions on Pattern Inteligence. Vol 24, no. 1.

Analysis

and

Machine

[6] HAYKIN, S. (2001), Redes Neurais: princpios e prtica, Editora Bookman. [7] HSU, R.; ABDEL-MOTTALEB, M.; JAIN, A. K. (2002). Face detection in color images, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 5, pp. 696-706. [8] ROWLEY, H. A.; BALUJA, S.; KANADE, T. (1998a), Neural network-based face detection, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 20, pp. 23-38. [9] ROWLEY, H. A.; BALUJA, S.; KANADE, T. (1998b), Rotation Invariant Neural Network-Based Face Detection, IEEE Proceedings on Computer Vision and Pattern Recognition. [10] LOPES, E. C. (2005). Deteco de Faces e Caractersticas Faciais, Relatrio Tcnico, Pontifcia Universidade Catlica do Rio Grande do Sul PUCRS. [11] GONZALES, R. C.; WOODS, R. E. (2000), Processamento de Imagens Digitais, Editora Edgard Blcher.

8. Referncias
[1] SANTOS, A. R. (2005), Identificao de faces humanas atravs de PCA-LDA e redes neurais SOM, Dissertao, Escola de Engenharia de So Carlos, USP Universidade de So Paulo. [2] PRADO, J. L. (2004), Investigao biomtrica em imagens digitais para deteco de faces humanas atravs da proporo divina, Dissertao, Escola de Engenharia de So Carlos, USP Universidade de So Paulo. [3] NASCIMENTO, A. V.; GOZAGA, A. (2005). Deteco de faces humanas em imagens digitais: um algoritmo baseado em lgica nebulosa, I Workshop de Viso Computacional, (WVC 2005), pp. 96-99. [4] GASPAR, T. L. (2006), Reconhecimento de faces humanas usando redes neurais MLP, Dissertao, Escola de Engenharia de So Carlos, USP Universidade de So Paulo. [5] YANG, M. H.; KRIEGMAN, D. J.; AHUJA, N. (2002). Detecting Faces in Images: A Survey, IEEE

Anda mungkin juga menyukai