Rede Neural MLP para reconhecimento de Faces

6
Reconhecimento de Faces Utilizando Redes Neurais MLP Autor: Adilmar Coelho Dantas 1 , Orientador: Márcia Aparecida Fernandes 1 1 Programa de Pós-Graduação em Ciência da Computação Universidade Federal do Uberlândia (UFU) Uberlândia – MG – Brasil [email protected] Nível: Mestrado Resumo. Este artigo apresenta um algoritmo usando técnicas de redes neurais para reconhecimento de faces. Este problema consiste na entrada de imagens contendo fa- ces associadas com um identificador, tais características são extraídas para o correto reconhecimento de padrões após passar pela rede neural que são modelos computaci- onais inspirados pelo sistema nervoso central de um animal (em particular o cérebro) que é capaz de realizar o aprendizado de máquina bem como o reconhecimento de pa- drões, neste trabalho são analisadas variações da própria rede neural e comparação com outras técnicas apresentadas como solução para este problema. Palavras-Chave. Reconhecimento de Faces, Reconhecimento de Facial , Redes Neu- rais. 1. Introdução e Motivação As pesquisas em reconhecimento de faces são tão antigas quanto à própria área de Visão Com- putacional, com trabalhos datados a mais de trinta anos, assim a literatura sobre o assunto é bastante extensa e contém as mais variadas técnicas e também muitas aplicações [1]. Dentre as motivações deste artigo proposto pode-se citar: autenticação para sistemas biométricos passaportes e fichas criminais; sistemas de segurança e controles de acesso; moni- toramento de multidões em estações, shoppings, criação de retratos falados, exploração, com- paração de técnicas para esse tipo de aplicação. 2. Fundamentação Teórica Segundo (Sung et al., 1994), o reconhecimento de faces está diretamente relacionado à detec- ção de tais objetos dentro das imagens apresentadas como entrada de um sistema reconhece- dor. Uma primeira etapa para um reconhecedor automático de faces é portanto a detecção da presença de um rosto na imagem e, a partir daí, a comparação de tal rosto com os modelos conhecidos pelo sistema. O reconhecimento consiste em confirmar se uma imagem de face é conhecida pelo sis- tema. Não é necessário realizar a ligação da face a um nome e sim atribuir-lhe uma classifi- cação: conhecida ou desconhecida. A identificação deve realizar o reconhecimento e associar uma identidade à face apresentada. Redes Neurais Artificiais ou simplesmente Redes Neurais, são sistemas computacionais que procuram reproduzir, através de programas de computadores ou circuitos eletrônicos, de maneira simplificada, o funcionamento de uma rede neural biológica do cérebro humano.

description

Desenvolvimento de um algoritmo usando redes neurais MLP (multi camadas) para o reconhecimento de faces.

Transcript of Rede Neural MLP para reconhecimento de Faces

Page 1: Rede Neural MLP para reconhecimento de Faces

Reconhecimento de Faces Utilizando Redes Neurais MLP

Autor: Adilmar Coelho Dantas1,Orientador: Márcia Aparecida Fernandes1

1Programa de Pós-Graduação em Ciência da ComputaçãoUniversidade Federal do Uberlândia (UFU)

Uberlândia – MG – Brasil

[email protected]

Nível: Mestrado

Resumo. Este artigo apresenta um algoritmo usando técnicas de redes neurais parareconhecimento de faces. Este problema consiste na entrada de imagens contendo fa-ces associadas com um identificador, tais características são extraídas para o corretoreconhecimento de padrões após passar pela rede neural que são modelos computaci-onais inspirados pelo sistema nervoso central de um animal (em particular o cérebro)que é capaz de realizar o aprendizado de máquina bem como o reconhecimento de pa-drões, neste trabalho são analisadas variações da própria rede neural e comparaçãocom outras técnicas apresentadas como solução para este problema.

Palavras-Chave. Reconhecimento de Faces, Reconhecimento de Facial , Redes Neu-rais.

1. Introdução e MotivaçãoAs pesquisas em reconhecimento de faces são tão antigas quanto à própria área de Visão Com-putacional, com trabalhos datados a mais de trinta anos, assim a literatura sobre o assunto ébastante extensa e contém as mais variadas técnicas e também muitas aplicações [1].

Dentre as motivações deste artigo proposto pode-se citar: autenticação para sistemasbiométricos passaportes e fichas criminais; sistemas de segurança e controles de acesso; moni-toramento de multidões em estações, shoppings, criação de retratos falados, exploração, com-paração de técnicas para esse tipo de aplicação.

2. Fundamentação TeóricaSegundo (Sung et al., 1994), o reconhecimento de faces está diretamente relacionado à detec-ção de tais objetos dentro das imagens apresentadas como entrada de um sistema reconhece-dor. Uma primeira etapa para um reconhecedor automático de faces é portanto a detecção dapresença de um rosto na imagem e, a partir daí, a comparação de tal rosto com os modelosconhecidos pelo sistema.

O reconhecimento consiste em confirmar se uma imagem de face é conhecida pelo sis-tema. Não é necessário realizar a ligação da face a um nome e sim atribuir-lhe uma classifi-cação: conhecida ou desconhecida. A identificação deve realizar o reconhecimento e associaruma identidade à face apresentada.

Redes Neurais Artificiais ou simplesmente Redes Neurais, são sistemas computacionaisque procuram reproduzir, através de programas de computadores ou circuitos eletrônicos, demaneira simplificada, o funcionamento de uma rede neural biológica do cérebro humano.

Page 2: Rede Neural MLP para reconhecimento de Faces

As redes neurais artificiais têm contribuído no desenvolvimento de sistemas de reconhe-cimento e classificação de padrões em processamento de imagens e são utilizadas em váriostrabalhos voltados ao reconhecimento de expressões faciais [2].

As mais variadas topologias e arquiteturas de redes neurais artificiais são utilizadas nes-ses tipos de sistemas, dentre as quais destacamos a MLP (Multi-Layer Perceptron) [3], RBF(Radial Base Fuction) [4] e também trabalhos que usam redes de Hopfield, com o objetivode detectar mudanças de expressões em uma face [5] [6] e classificação apenas de cores emimagens [7].

Dentre outras técnica para reconhecimento e classificação de sistemas diversos inclu-sive de reconhecimento facial podemos citar a análise dos componentes principais (PCA) é ummeio de se identificar padrões em um conjunto de dados e expressar suas similaridades e dife-renças. Também é um método bastante eficaz para quando há a necessidade da caracterizaçãode padrões a partir de dados com alta dimensionalidade.

Todas essas técnicas têm como objetivo comum aumentar a precisão e reduzir o tempode execução. Segundo (Ben-Yacoub et al., 1999) a confiabilidade e o tempo de resposta de umsistema de detecção de rostos influencia diretamente no desempenho e emprego desse sistema.

De forma geral, sistemas de reconhecimento facial devem passar pelas seguintes etapas,descritas na figura 1, essas estapas serão descritas mais adiante no artigo.

Figura 1. Etapas para reconhecimento automático de faces

Primeiro e definida uma base de dados para os experimentos,neste artigo a base de dadosselecionada é a ORL composta por 400 images ao todo, e com 40 faces diferentes, após esteproceso extrai-se dessas imagens as informações pertinentes para o sistema, cria-se uma basecontendo esses padrões que através de alguma técnica será capaz de realizar o reconhecimento,identificação ou categorização das mesmas.

3. Contribuição do TrabalhoO reconhecimento de faces por se tratar de um sistema biométrico traz grandes contribuiçõespara a área de sistemas de segurança. Uma vez que estes sistemas podem utilizar desta téc-nica ou de um conjunto delas para garantir a eficiência e eficácia deste sistema, ou até mesmocombiná-las com outras técnicas existentes.

Outra grande contribuição forte é que o trabalho proposto demostra que com técnicassimples, sem envolver funções complexas de processamento de imagens é possível desenvolverum sistema com tal funcionalidade e alcançar resultados significantes em combinação comredes neurais.

Page 3: Rede Neural MLP para reconhecimento de Faces

4. Estado atual do Trabalho

Dentre os problemas encontrados durante a reprodução do trabalho podemos citar que algumasespecificações das técnicas e da própria configuração da rede neural não constavam ou estavamincompletas ou até mesmo não foram descritas.

Para sanar algumas das dificuldades da técnica utilizada no trabalho para converter aimagem em entrada para a rede neural, foi experimentada duas técnicas, a primeira delas atransformada discreta do cosseno. A mesma realiza o acúmulo dos coeficientes mais significa-tivos no canto superior direito da imagem, proporcionando melhor capacidade de compressãoda informações antes de repassar como entrada para a rede neural.

A segunda técnica testada utiliza todas as informações de cada pixel pertencentes a ima-gem extraída da base de dados ORL que possuem 23 colunas por 28 linhas, nota-se este apre-sentou ser mais similar ao artigo proposto para reprodução, na figura 2 temos a representaçãodesta conversão.

Figura 2. Converção da imagem em RGB para entrada na rede neural

Nos testes realizados para a classificação da face, as duas técnicas obtiveram pratica-mente os mesmos resultados, a grande diferença está neste pre processamento realizado pelatécnica da transformada discreta de cosseno, reduzindo o volume de dados gerados quandoprocessado as 400 imagens, ao todo pertencentes a base de dados um uso.

Outra dificuldade foi a escolha do ambiente para desenvolvimento da rede neural, o qualnão foi citado, optamos por questões de maior experiência de uso e pelo fato das ferramentasligadas para a área de redes neurais disponíveis a plataforma Matlab.

Sanada essas dificuldade foi desenvolvida a rede neural MLP, este tipo de rede durante otreinamento com o algoritmo backpropagation, a rede opera em uma sequência de dois passos.Primeiro, um padrão é apresentado à camada de entrada da rede. A atividade resultante fluiatravés da rede, camada por camada, até que a resposta seja produzida pela camada de saída.No segundo passo, a saída obtida é comparada à saída desejada para esse padrão particular. Seesta não estiver correta, o erro é calculado. O erro é propagado a partir da camada de saída atéa camada de entrada, e os pesos das conexões das unidades das camadas internas vão sendomodificados conforme o erro é retropropagado.

Os primeiros testes os resultados não bateram justamente pelo fato de no trabalho pro-posto não conter a configuração ideal para a rede neural desenvolvida, especificadamente paraeste problema de reconhecimento facial.

Para sanar essa dificuldade e consequentemente obter melhores resultados a rede neuralfoi testada exaustivamente com diversas configurações no número de camadas ocultas, uma vez

Page 4: Rede Neural MLP para reconhecimento de Faces

que o número de neurônios da saída é o número de classificações possíveis, neste caso 40. Amelhor configuração encontrada para o número de neurônios da camada oculta foi de 90 neurô-nios, a camada de entrada mesmo passando todos os 644, ou seja, cada pixel pertencente daimagem de dimensões 28x23. A função do Matlab determina automaticamente esses neurôniosde entrada quando este é muito grande, a figura 3 demostra com mais detalhes a rede neural esuas configurações finais.

Figura 3. Rede neural MLP e suas configurações

5. Análise de ResultadosPara se chegar na configuração ideal para rede neural, em específico o número de neurôniosda camada oculta foi testado valores em um intervalo de 10 até 100 neurônios e analisado otempo de execução da rede neural, a partir destes dados foi possível montar o seguinte gráfico,apresentado na figura 4, o qual demostra essa relação entre números de neurônios e o tempo detreinamento da rede neural.

Figura 4. Relação: Neurônios da camada oculta x Tempo de execução

Com base nestes resultados optamos por fixar o número de neurônios da camada ocultaem 90 neurônios, garantindo assim um bom tempo de execução e uma boa convergência.

Para testes da rede neural, utilizamos a seguinte configuração: quantidade de imagenspara treino, teste e validação. Os testes foram realizados com 1-2-7, 3-2-5, 5-2-3, 7-2-1 , a

Page 5: Rede Neural MLP para reconhecimento de Faces

tabela 1 demostras esses experimentos e suas respectivas taxas de acerto. Os experimentosforam executados em um total de 10 execuções.

Relação Taxa de Acerto1-2-7 64,11%3-2-5 89,15%5-2-3 93,66%7-2-1 98,33%

Tabela 1. Resultados com os dez experimentos

Podemos observar pelos resultados que a relação 7-2-1 obteve a melhor taxa de reco-nhecimento foi a 7-2-1 um pouco melhor do que a encontrada no artigo mesmo que relativa-mente pequena a diferença. A pior taxa de acerto foi para a configuração 1-2-7 onde a redeneural chegou a errar 130 vezes durantes os testes, pois a base de dados contém imagens dediversas posições com e sem acessórios como por exemplo óculos.

Como o algoritmo PCA não utiliza imagens para validação, os testes foram realizadossomando as quantidades das imagens de treino e validação das relações utilizadas para o treinodas Redes Neurais, onde estas imagens foram transformadas nos vetores de características (basede treino). Para cada pessoa testada a imagem é transformada pelo PCA também no vetor decaracterística e comparado através da menor Distância Euclidiana encontrada na base de treino.

O número de características utilizadas para o cálculo da Distância Euclidiana foi fixadoem 10. Na figura 5 temos um comparativo entre as taxas de acerto utilizando redes neurais MLPe a técnica de PCA.

Figura 5. Performace entre MLP e PCA

Para uma melhor facilidade de realização de teste foi desenvolvida uma interface paratreinamento e para o reconhecimento da face, essa interface pode ser observada na figura 6.Apesar de simples, ela facilita o acesso ao sistema tanto na parte de MLP e PCA.

Page 6: Rede Neural MLP para reconhecimento de Faces

Figura 6. Interface desenvolvida

6. Referências1-Haykin, S.; Neural networks: a comprehensive foundation, 2/E; Prentice Hall, 1999.

2-Neto, E.; Ling, L. Lee; Sistema de Reconhecimento Facial Baseado em Análise deComponentes Principais; SBT 97, 1997.

3-Neto, E.; Sistema de Identificação Pessoal Utilizando Técnicas de Reconhecimentoe Verificação Facial Automáticas. Tese de Mestrado, 1997.

4-Bianchi, R.;Visão Computacional Aplicada ao Controle de Micro Robôs. São Paulo, 2001.

5-Feitosa, R.; Vellasco, M.; Oliveira, D.; Andrade, D.; Maffra, S.; Classificação de Ex-pressões Faciais Utilizando Redes Neurais Backpropagation e RBF. Rio de Janeiro, 1999.

6-Tiscione, J.; Projeto OCHRE. Avaliado como http://www.hhs.net/tiscione/applets/ochre.html.

7-Universidade Estadual de Maringá. Análise de Componentes Principais, Avaliadocomo http://www.din.uem.br/ia/pca/.

Sung, KK.; Poggio, T., Example-Based Learning for View-Based Human FaceDetection,IEEE- Transactions on Pattern Analysis and Machine Intelligence, vol.20, No 1, janeiro de 1998.