SlideShare uma empresa Scribd logo
Detecção 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ção 
Universidade Federal do Uberlândia (UFU) 
Uberlândia – MG – Brasil 
adilmar@mestrado.ufu.br 
Nível: Mestrado 
Resumo. Este artigo apresenta um algoritmo usando técnicas de redes neurais para 
detecção de faces. Uma etapa muito importante para uma grande variedade de sis-temas 
biométricos atuais, e com finalidades similares. Este problema consiste, em 
identificar em imagens ou vídeos a presença ou não de faces e onde as mesmas estão 
localizadas. Por ser uma das primeiras técnicas utilizadas por esses sistemas bio-métricos, 
propomos uma solução utilizado redes neurais, com o objetivo de se obter 
os melhores resultados possíveis para esta importante etapa, uma vez que ela pode 
influenciar no resultado geral destes sistemas. 
Palavras-Chave. Detecção de Faces, Sistema Facial , Redes Neurais. 
1. Introdução e Motivação 
As pesquisas em detecção e reconhecimento de faces são tão antigas quanto à própria área de 
Visão Computacional, 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. 
Os algoritmos de detecção de face são muito importantes para as áreas de identificação 
biométrica, e para outras diversas áreas, sua importância nos leva a estudar seu funcionamento 
e impulsiona o desenvolvimento de novas técnicas para aplica-los em tais sistemas que fazem o 
uso destes algoritmos. 
2. Fundamentação Teórica 
A detecção e reconhecimento automático de faces é alvo de uma série de estudos e pesquisas. 
Entre as suas aplicações existentes está à biometria, que é que é o estudo das características 
físicas e comportamentais individuais, essa que inclui o reconhecimento da íris ou das digitais 
por exemplo. Porém, a vantagem da utilização da face como meio de identificação biométrica 
é que esse método é menos invasivo e, em geral, não são necessários equipamentos sofisticados 
para a obtenção da imagem, podendo-se utilizar câmeras digitais ou webcams (ZHAO, 2003). 
O que parece algo simples e automático no ser humano, representa um desafio em sis-temas 
computacionais devido às diversas variáveis do ambiente: posição facial e distância com 
relação à(s) câmera(s), iluminação do ambiente e possíveis sombras projetadas sobre a face, e 
alguns aspectos individuais, como o uso de barba, variações de peso e cortes de cabelo, etc. 
Contudo, geralmente algumas características básicas são mantidas independentemente 
do ambiente e o reconhecimento é possível através da análise dos padrões encontrados em 
diferentes imagens de um mesmo indivíduo (GOTTUMUKKAL e ASARI, 2003; ZHAO, 2003).
O reconhecimento, ou detecção de face humana, pode ser feito tanto em imagens quanto 
em vídeos. A etapa de detecção facial é uma das iniciais para o reconhecimento, sendo, por-tanto, 
de extrema importância para os algoritmos de reconhecimento. Diferentes técnicas po-dem 
ser utilizadas na tarefa de detecção facial, podendo-se citar PCA-LDA (Principal Compo-nent 
Analysis), proporção divina, RNA SOM (Self-Organizing Map) e, sistemas Fuzzy e RNA 
Multi-Layer Perceptron (MLP). 
Diversas áreas que se beneficiam de sistemas de reconhecimento de face, incluindo en-tretenimento, 
como na interação humano-robô/computador e em vídeo games; segurança da 
informação, como em login de dispositivos pessoais, segurança na Internet e segurança em ae-roportos; 
e a área de vigilância, como na análise de vídeos de câmeras de segurança (ZHAO, 
2003). 
3. Contribuição do Trabalho 
O reconhecimento de faces por se tratar de um sistema biométrico traz grandes contribuições 
para 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é mesmo 
combiná-las com outras técnicas existentes. 
4. Estado atual do Trabalho 
A detecção de faces consiste na utilização de técnicas computacionais para determinar se exis-tem 
faces ou não em uma imagem e, se existirem, deve retornar a localização de cada face. 
Embora a detecção de faces seja uma tarefa fácil para os seres humanos, a implementação de 
sistemas computacionais que realize esta tarefa é complexa, devido a diversas dificuldades, tais 
como. 
Pose: a posição de uma ou mais face presente numa imagem varia devido à posição da 
face em relação à câmera (frontal, 45 graus, perfil, de cabeça para baixo) e, além disso, alguns 
componentes faciais como olhos e nariz, podem estar parcialmente ou totalmente obstruídos 
por ruídos. 
Presença ou ausência de componentes estruturais da face: a presença de elementos 
na face tais como, barba, bigode e óculos, que podem modificar características como a forma, 
o tamanho e a cor. 
Expressão facial: a expressão da face afeta diretamente a aparência da face. 
Oclusão: as faces podem estar parcialmente obstruídas por outros objetos presentes no 
mesmo ambiente. 
Orientação da imagem: as imagens podem variar diretamente com a rotação da câmera 
ao redor do eixo. 
Condições da imagem: quando a imagem é formada, fatores de iluminação (espectro, 
fonte de distribuição e intensidade) e características da câmera (resposta de sensor e lentes) 
podem afetar a aparência da face. 
Em geral sistemas de detecção de face, passam pelas seguintes etapas (imagem 1): Cap-tura 
dessas imagens, por meio de aparelhos como Webcam, filmadoras ou maquinas digitais, 
utilização de filtros e recursos de processamento de imagens para extração das características 
pertinentes a face, essas características são passadas adiante para alguma técnica computacional 
capaz de identificar e classificar a mesma e por ultimo a saída com a face detectada ou não.
Figura 1. Representação de um sistema de reconhecimento de faces 
5. Redes Neurais 
As redes neurais artificiais tentam simular o cérebro humano de forma computacional, mode-lando 
a maneira como o cérebro realiza uma tarefa particular ou função de interesse. 
A rede é normalmente implementada utilizando-se componentes eletrônicos ou é simu-lada 
por programação em um computador digital através de softwares computacionais. Para 
alcançarem bom desempenho, as redes neurais empregam uma interligação maciça de células 
computacionais simples denominadas de “neurônios” ou “unidades de processamento”, assim 
como ocorrem nos neurônios biológicos, a figura 2 demostra esse modelo de neurônio compu-tacional. 
Figura 2. Modelo de um neurônio simples 
A forma que esses neurônios estão conectados e organizados definem a arquitetura da 
rede neural, e esta arquitetura es diretamente relacionada com o algoritmo de treinamento da 
mesma. 
Pode-se identificar 4 tipos de arquiteturas de redes neurais: redes feedforward unica-mada 
(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á utilizada na implementação deste trabalho. 
O perceptron multicamadas (MLP, multilayer perceptron) é uma rede do tipo feed-forward, 
que contêm uma ou mais camadas internas (Figura 3). Que tem sido aplicada com 
sucesso, na resolução de problemas das mais diversas áreas, podendo-se citar: reconhecimento 
de padrões, processamento de imagens e de sinais, e previsão de séries temporais. O seu treina-mento 
é realizado de forma supervisionada com o algoritmo de retropropagação de erro (error 
back-propagation). Este algoritmo baseia-se na regra de aprendizagem por correção de erro.
6. Análise de Resultados 
Para treinamento da rede optamos por utilizar a base de dados LFW composta por 60 ima-gens 
em escala de cinza, de faces e 60 imagens de não face. Dessas imagens 40 delas foram 
destinadas para treino, 20 validações, e as outras 10 para teste. 
Como o filtro Gabor responsável pelo processamento das imagens, faz a leitura delas 
na horizontal, cuja as imagens possuem dimensão 18x27 cada uma, teremos como parâmetro 
na camada de entrada 2160 dados, e um neurônio na camada de saída responsável pela classi-ficação, 
se aquela determinada região trata-se ou não de uma face. A configuração da rede esta 
representada na figura 3 conforme descrito anteriormente. 
Figura 3. Configuração da rede neural 
Para os testes foi executado modificações no número de neurônios da camada oculta, 
com a finalidade de verificar sua taxa de acerto, bem como sua performance, ou seja, o número 
de épocas necessárias para encontrar o menor erro possível, a tabela 1 descreve estes testes e 
seus devidos resultados. 
Neurônios Camada Oculta Épocas Taxa de acerto 
1 18 97,00% 
2 24 88,15% 
3 37 87,44% 
4 33 84,10% 
5 57 79,95% 
Tabela 1. Resultados dos testes para 10 execuções 
Podemos observar pelos resultados que, apesar de aumentar o número de neurônios da 
camada oculta para 2, reduzindo assim o número de épocas necessárias, para se chegar no menor 
erro médio quadrático, os resultados de acerto foram inferiores aos encontrados para 1 neurônio 
na camada oculta, tomamos então a configuração 1 como a melhor configuração. 
Outra observação vizualizada nos experimentos, foi que a partir de 3 neurônios na ca-mada 
oculta, o número de épocas necessárias para se chegar no menor erro cresce esporadica-mente. 
Os gráficos das figuras 4 e 5 respectivamente demostram esses resultados, de forma 
visual do resultado obtido a partir destes testes. 
O número de neurônios da camada oculta e única para cada tipo de problema, o que 
se pode prever e que sistemas mais complexos tendem a requerer maior número de neurônios 
nesta camada. 
Por outro lado se muitos neurônios forem utilizados, o treinamento da rede irá se tornar 
excessivamente longo e a rede pode sofrer problemas de sobreajuste (’overfitting’) resultando 
na perda da capacidade preditiva da rede, pois observa-se pequenos desvios de previsão para
os dados usados na fase de treino, mas grandes desvios quando novos dados de entrada são 
utilizados. Dados com ruídos ou redundantes podem provocar a falha da rede na convergência 
de uma solução genérica, o que pode ter acontecido nestes experimentos. 
Figura 4. Performace para 1 neurônios na camada oculta 
Figura 5. Performace para 5 neurônios na camada oculta
7. Referências 
1-ZHAO, W. et al. Face recognition: A literature survey. Journal ACM Computing 
Surveys (CSUR). 2003. Disponível em:<http://www.cs.ucf.edu/ dcm/Teaching/COT4810- 
Spring2011/Literature/DiegoVelasquez-FaceRecognitionLiteratureSurvey.pdf>. Acesso em: 
01 dez. 2014. 
2-GOTTUMUKKAL, R.; ASARI, V. An improved face recognition techni-que 
basedon modular PCA approach. Elsevier. 2003. Disponível em: 
<http://www.utdallas.edu/ sxb027100/dock/25-429.pdf >. Acesso em: 03 dez.2014. 
3-ITO, Y. et al. Detection of eyes by circular Hough transform and histogram of 
gradient. 21st International Conference on Pattern Recognition (ICPR 2012).2012. Disponível 
em: <http://vision.unipv.it/VA/VAEn/TEST/Circuit%20board%20MM/Eyes.pdf >. Acesso 
em: 06 dez. 2014.

Mais conteúdo relacionado

Semelhante a Detecção de Faces - Redes Neurais *MLP

Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
Elaine Lopes
 
Artigo_Final
Artigo_FinalArtigo_Final
Artigo_Final
Miguel Barros
 
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Marcelo Damasceno de Melo
 
Apresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPBApresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPB
Bruno Adônis de Sá
 
Dissertação
DissertaçãoDissertação
Dissertação
Luana_SJC
 
2009 processamentoimagenscomjava
2009 processamentoimagenscomjava2009 processamentoimagenscomjava
2009 processamentoimagenscomjava
Lúcio Marcos Dantas
 
11477 41952-1-pb
11477 41952-1-pb11477 41952-1-pb
11477 41952-1-pb
Claudecir Garcia Martins
 
Apresentação visão computacional
Apresentação visão computacionalApresentação visão computacional
Apresentação visão computacional
Edvaldo Araújo
 
Desenvolvimento da interface computacional gráfica em estereotaxia.
Desenvolvimento da interface computacional gráfica em estereotaxia.Desenvolvimento da interface computacional gráfica em estereotaxia.
Desenvolvimento da interface computacional gráfica em estereotaxia.
Armando Alaminos Bouza
 
Reconhecimento facial
Reconhecimento facialReconhecimento facial
Reconhecimento facial
Helton Ritter
 
Revisão fatec versão final rede som03
Revisão fatec versão final rede som03Revisão fatec versão final rede som03
Revisão fatec versão final rede som03
Edquel B. Prado Farias
 
Plano de Projeto de Software para produtos da Lacertae SW
Plano de Projeto de Software para produtos da Lacertae SWPlano de Projeto de Software para produtos da Lacertae SW
Plano de Projeto de Software para produtos da Lacertae SW
rafahreis
 
Detecção de Movimento - Criação de instrumento musical
Detecção de Movimento - Criação de instrumento musicalDetecção de Movimento - Criação de instrumento musical
Detecção de Movimento - Criação de instrumento musical
Aristidis Jesus
 
Cap 1
Cap 1Cap 1
Cap 1
UFRJ
 
Tomografia taxa de compressao
Tomografia   taxa de compressaoTomografia   taxa de compressao
Tomografia taxa de compressao
Luanapqt
 
relatorio-pibiti-2012-william-soares
relatorio-pibiti-2012-william-soaresrelatorio-pibiti-2012-william-soares
relatorio-pibiti-2012-william-soares
William Strafacce Soares
 
Open cv
Open cvOpen cv
Open cv
Didimax
 
Modelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
Modelo 3D de Imagens Radiográficas para Auxilio em DiagnósticosModelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
Modelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
Elen Arantza
 
05_TREINAMENTO A3 PM .pptx
05_TREINAMENTO A3 PM .pptx05_TREINAMENTO A3 PM .pptx
05_TREINAMENTO A3 PM .pptx
WeberthTeixeira1
 
Automação baseada em comportamento
Automação baseada em comportamentoAutomação baseada em comportamento
Automação baseada em comportamento
Alberto Laurentino
 

Semelhante a Detecção de Faces - Redes Neurais *MLP (20)

Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
Análise de Desempenho de um Sistema Embarcado de Detecção de Fadiga de Condut...
 
Artigo_Final
Artigo_FinalArtigo_Final
Artigo_Final
 
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
Sistemas de Classificação para Verificação de Usuário Utilizando Biometria Co...
 
Apresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPBApresentação ENIC 2014 UFPB
Apresentação ENIC 2014 UFPB
 
Dissertação
DissertaçãoDissertação
Dissertação
 
2009 processamentoimagenscomjava
2009 processamentoimagenscomjava2009 processamentoimagenscomjava
2009 processamentoimagenscomjava
 
11477 41952-1-pb
11477 41952-1-pb11477 41952-1-pb
11477 41952-1-pb
 
Apresentação visão computacional
Apresentação visão computacionalApresentação visão computacional
Apresentação visão computacional
 
Desenvolvimento da interface computacional gráfica em estereotaxia.
Desenvolvimento da interface computacional gráfica em estereotaxia.Desenvolvimento da interface computacional gráfica em estereotaxia.
Desenvolvimento da interface computacional gráfica em estereotaxia.
 
Reconhecimento facial
Reconhecimento facialReconhecimento facial
Reconhecimento facial
 
Revisão fatec versão final rede som03
Revisão fatec versão final rede som03Revisão fatec versão final rede som03
Revisão fatec versão final rede som03
 
Plano de Projeto de Software para produtos da Lacertae SW
Plano de Projeto de Software para produtos da Lacertae SWPlano de Projeto de Software para produtos da Lacertae SW
Plano de Projeto de Software para produtos da Lacertae SW
 
Detecção de Movimento - Criação de instrumento musical
Detecção de Movimento - Criação de instrumento musicalDetecção de Movimento - Criação de instrumento musical
Detecção de Movimento - Criação de instrumento musical
 
Cap 1
Cap 1Cap 1
Cap 1
 
Tomografia taxa de compressao
Tomografia   taxa de compressaoTomografia   taxa de compressao
Tomografia taxa de compressao
 
relatorio-pibiti-2012-william-soares
relatorio-pibiti-2012-william-soaresrelatorio-pibiti-2012-william-soares
relatorio-pibiti-2012-william-soares
 
Open cv
Open cvOpen cv
Open cv
 
Modelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
Modelo 3D de Imagens Radiográficas para Auxilio em DiagnósticosModelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
Modelo 3D de Imagens Radiográficas para Auxilio em Diagnósticos
 
05_TREINAMENTO A3 PM .pptx
05_TREINAMENTO A3 PM .pptx05_TREINAMENTO A3 PM .pptx
05_TREINAMENTO A3 PM .pptx
 
Automação baseada em comportamento
Automação baseada em comportamentoAutomação baseada em comportamento
Automação baseada em comportamento
 

Mais de Adilmar Dantas

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
Adilmar Dantas
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
Adilmar Dantas
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
Adilmar Dantas
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Adilmar Dantas
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
Adilmar Dantas
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
Adilmar Dantas
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
Adilmar Dantas
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
Adilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
Adilmar Dantas
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
Adilmar Dantas
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
Adilmar Dantas
 
Servidores Web
Servidores WebServidores Web
Servidores Web
Adilmar Dantas
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
Adilmar Dantas
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
Adilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
Adilmar Dantas
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software Web
Adilmar Dantas
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexica
Adilmar Dantas
 
Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory
Adilmar Dantas
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
Adilmar Dantas
 

Mais de Adilmar Dantas (20)

Querying nosql stores
Querying nosql storesQuerying nosql stores
Querying nosql stores
 
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
APLICATIVO MÓVEL PARA AFERIÇÃO DA FREQUÊNCIA CARDÍACA E ACOMPANHAMENTO MÉDICO...
 
Programação Android Phonegap 1
Programação Android Phonegap 1Programação Android Phonegap 1
Programação Android Phonegap 1
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and Conquer
 
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
Cinta de expansão torácica utilizando Arduino aplicado na fisioterapia respir...
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
ALgoritmo Genético - Escalonamento
ALgoritmo Genético - EscalonamentoALgoritmo Genético - Escalonamento
ALgoritmo Genético - Escalonamento
 
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOSBIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
BIODATA: SOFTWARE WEB PARA GERENCIAMENTO DE COLETA DE DADOS BIOMÉDICOS
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNA
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufu
 
Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino Monitor Cardíaco usando Arduino
Monitor Cardíaco usando Arduino
 
Algoritmo clique maximo - Analise de Algoritmos
Algoritmo clique maximo  - Analise de AlgoritmosAlgoritmo clique maximo  - Analise de Algoritmos
Algoritmo clique maximo - Analise de Algoritmos
 
Servidores Web
Servidores WebServidores Web
Servidores Web
 
TCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação RemotaTCC: WebLab Laboratório de Experimentação Remota
TCC: WebLab Laboratório de Experimentação Remota
 
Weblab TCC
Weblab TCCWeblab TCC
Weblab TCC
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testes
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software Web
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexica
 
Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory Software Quality Software Testing Laboratory
Software Quality Software Testing Laboratory
 
Desenvolvimento de Software
Desenvolvimento de SoftwareDesenvolvimento de Software
Desenvolvimento de Software
 

Detecção de Faces - Redes Neurais *MLP

  • 1. Detecção 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ção Universidade Federal do Uberlândia (UFU) Uberlândia – MG – Brasil adilmar@mestrado.ufu.br Nível: Mestrado Resumo. Este artigo apresenta um algoritmo usando técnicas de redes neurais para detecção de faces. Uma etapa muito importante para uma grande variedade de sis-temas biométricos atuais, e com finalidades similares. Este problema consiste, em identificar em imagens ou vídeos a presença ou não de faces e onde as mesmas estão localizadas. Por ser uma das primeiras técnicas utilizadas por esses sistemas bio-métricos, propomos uma solução utilizado redes neurais, com o objetivo de se obter os melhores resultados possíveis para esta importante etapa, uma vez que ela pode influenciar no resultado geral destes sistemas. Palavras-Chave. Detecção de Faces, Sistema Facial , Redes Neurais. 1. Introdução e Motivação As pesquisas em detecção e reconhecimento de faces são tão antigas quanto à própria área de Visão Computacional, 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. Os algoritmos de detecção de face são muito importantes para as áreas de identificação biométrica, e para outras diversas áreas, sua importância nos leva a estudar seu funcionamento e impulsiona o desenvolvimento de novas técnicas para aplica-los em tais sistemas que fazem o uso destes algoritmos. 2. Fundamentação Teórica A detecção e reconhecimento automático de faces é alvo de uma série de estudos e pesquisas. Entre as suas aplicações existentes está à biometria, que é que é o estudo das características físicas e comportamentais individuais, essa que inclui o reconhecimento da íris ou das digitais por exemplo. Porém, a vantagem da utilização da face como meio de identificação biométrica é que esse método é menos invasivo e, em geral, não são necessários equipamentos sofisticados para a obtenção da imagem, podendo-se utilizar câmeras digitais ou webcams (ZHAO, 2003). O que parece algo simples e automático no ser humano, representa um desafio em sis-temas computacionais devido às diversas variáveis do ambiente: posição facial e distância com relação à(s) câmera(s), iluminação do ambiente e possíveis sombras projetadas sobre a face, e alguns aspectos individuais, como o uso de barba, variações de peso e cortes de cabelo, etc. Contudo, geralmente algumas características básicas são mantidas independentemente do ambiente e o reconhecimento é possível através da análise dos padrões encontrados em diferentes imagens de um mesmo indivíduo (GOTTUMUKKAL e ASARI, 2003; ZHAO, 2003).
  • 2. O reconhecimento, ou detecção de face humana, pode ser feito tanto em imagens quanto em vídeos. A etapa de detecção facial é uma das iniciais para o reconhecimento, sendo, por-tanto, de extrema importância para os algoritmos de reconhecimento. Diferentes técnicas po-dem ser utilizadas na tarefa de detecção facial, podendo-se citar PCA-LDA (Principal Compo-nent Analysis), proporção divina, RNA SOM (Self-Organizing Map) e, sistemas Fuzzy e RNA Multi-Layer Perceptron (MLP). Diversas áreas que se beneficiam de sistemas de reconhecimento de face, incluindo en-tretenimento, como na interação humano-robô/computador e em vídeo games; segurança da informação, como em login de dispositivos pessoais, segurança na Internet e segurança em ae-roportos; e a área de vigilância, como na análise de vídeos de câmeras de segurança (ZHAO, 2003). 3. Contribuição do Trabalho O reconhecimento de faces por se tratar de um sistema biométrico traz grandes contribuições para 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é mesmo combiná-las com outras técnicas existentes. 4. Estado atual do Trabalho A detecção de faces consiste na utilização de técnicas computacionais para determinar se exis-tem faces ou não em uma imagem e, se existirem, deve retornar a localização de cada face. Embora a detecção de faces seja uma tarefa fácil para os seres humanos, a implementação de sistemas computacionais que realize esta tarefa é complexa, devido a diversas dificuldades, tais como. Pose: a posição de uma ou mais face presente numa imagem varia devido à posição da face em relação à câmera (frontal, 45 graus, perfil, de cabeça para baixo) e, além disso, alguns componentes faciais como olhos e nariz, podem estar parcialmente ou totalmente obstruídos por ruídos. Presença ou ausência de componentes estruturais da face: a presença de elementos na face tais como, barba, bigode e óculos, que podem modificar características como a forma, o tamanho e a cor. Expressão facial: a expressão da face afeta diretamente a aparência da face. Oclusão: as faces podem estar parcialmente obstruídas por outros objetos presentes no mesmo ambiente. Orientação da imagem: as imagens podem variar diretamente com a rotação da câmera ao redor do eixo. Condições da imagem: quando a imagem é formada, fatores de iluminação (espectro, fonte de distribuição e intensidade) e características da câmera (resposta de sensor e lentes) podem afetar a aparência da face. Em geral sistemas de detecção de face, passam pelas seguintes etapas (imagem 1): Cap-tura dessas imagens, por meio de aparelhos como Webcam, filmadoras ou maquinas digitais, utilização de filtros e recursos de processamento de imagens para extração das características pertinentes a face, essas características são passadas adiante para alguma técnica computacional capaz de identificar e classificar a mesma e por ultimo a saída com a face detectada ou não.
  • 3. Figura 1. Representação de um sistema de reconhecimento de faces 5. Redes Neurais As redes neurais artificiais tentam simular o cérebro humano de forma computacional, mode-lando a maneira como o cérebro realiza uma tarefa particular ou função de interesse. A rede é normalmente implementada utilizando-se componentes eletrônicos ou é simu-lada por programação em um computador digital através de softwares computacionais. Para alcançarem bom desempenho, as redes neurais empregam uma interligação maciça de células computacionais simples denominadas de “neurônios” ou “unidades de processamento”, assim como ocorrem nos neurônios biológicos, a figura 2 demostra esse modelo de neurônio compu-tacional. Figura 2. Modelo de um neurônio simples A forma que esses neurônios estão conectados e organizados definem a arquitetura da rede neural, e esta arquitetura es diretamente relacionada com o algoritmo de treinamento da mesma. Pode-se identificar 4 tipos de arquiteturas de redes neurais: redes feedforward unica-mada (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á utilizada na implementação deste trabalho. O perceptron multicamadas (MLP, multilayer perceptron) é uma rede do tipo feed-forward, que contêm uma ou mais camadas internas (Figura 3). Que tem sido aplicada com sucesso, na resolução de problemas das mais diversas áreas, podendo-se citar: reconhecimento de padrões, processamento de imagens e de sinais, e previsão de séries temporais. O seu treina-mento é realizado de forma supervisionada com o algoritmo de retropropagação de erro (error back-propagation). Este algoritmo baseia-se na regra de aprendizagem por correção de erro.
  • 4. 6. Análise de Resultados Para treinamento da rede optamos por utilizar a base de dados LFW composta por 60 ima-gens em escala de cinza, de faces e 60 imagens de não face. Dessas imagens 40 delas foram destinadas para treino, 20 validações, e as outras 10 para teste. Como o filtro Gabor responsável pelo processamento das imagens, faz a leitura delas na horizontal, cuja as imagens possuem dimensão 18x27 cada uma, teremos como parâmetro na camada de entrada 2160 dados, e um neurônio na camada de saída responsável pela classi-ficação, se aquela determinada região trata-se ou não de uma face. A configuração da rede esta representada na figura 3 conforme descrito anteriormente. Figura 3. Configuração da rede neural Para os testes foi executado modificações no número de neurônios da camada oculta, com a finalidade de verificar sua taxa de acerto, bem como sua performance, ou seja, o número de épocas necessárias para encontrar o menor erro possível, a tabela 1 descreve estes testes e seus devidos resultados. Neurônios Camada Oculta Épocas Taxa de acerto 1 18 97,00% 2 24 88,15% 3 37 87,44% 4 33 84,10% 5 57 79,95% Tabela 1. Resultados dos testes para 10 execuções Podemos observar pelos resultados que, apesar de aumentar o número de neurônios da camada oculta para 2, reduzindo assim o número de épocas necessárias, para se chegar no menor erro médio quadrático, os resultados de acerto foram inferiores aos encontrados para 1 neurônio na camada oculta, tomamos então a configuração 1 como a melhor configuração. Outra observação vizualizada nos experimentos, foi que a partir de 3 neurônios na ca-mada oculta, o número de épocas necessárias para se chegar no menor erro cresce esporadica-mente. Os gráficos das figuras 4 e 5 respectivamente demostram esses resultados, de forma visual do resultado obtido a partir destes testes. O número de neurônios da camada oculta e única para cada tipo de problema, o que se pode prever e que sistemas mais complexos tendem a requerer maior número de neurônios nesta camada. Por outro lado se muitos neurônios forem utilizados, o treinamento da rede irá se tornar excessivamente longo e a rede pode sofrer problemas de sobreajuste (’overfitting’) resultando na perda da capacidade preditiva da rede, pois observa-se pequenos desvios de previsão para
  • 5. os dados usados na fase de treino, mas grandes desvios quando novos dados de entrada são utilizados. Dados com ruídos ou redundantes podem provocar a falha da rede na convergência de uma solução genérica, o que pode ter acontecido nestes experimentos. Figura 4. Performace para 1 neurônios na camada oculta Figura 5. Performace para 5 neurônios na camada oculta
  • 6. 7. Referências 1-ZHAO, W. et al. Face recognition: A literature survey. Journal ACM Computing Surveys (CSUR). 2003. Disponível em:<http://www.cs.ucf.edu/ dcm/Teaching/COT4810- Spring2011/Literature/DiegoVelasquez-FaceRecognitionLiteratureSurvey.pdf>. Acesso em: 01 dez. 2014. 2-GOTTUMUKKAL, R.; ASARI, V. An improved face recognition techni-que basedon modular PCA approach. Elsevier. 2003. Disponível em: <http://www.utdallas.edu/ sxb027100/dock/25-429.pdf >. Acesso em: 03 dez.2014. 3-ITO, Y. et al. Detection of eyes by circular Hough transform and histogram of gradient. 21st International Conference on Pattern Recognition (ICPR 2012).2012. Disponível em: <http://vision.unipv.it/VA/VAEn/TEST/Circuit%20board%20MM/Eyes.pdf >. Acesso em: 06 dez. 2014.