SlideShare una empresa de Scribd logo
1 de 7
Descargar para leer sin conexión
Análise de Técnicas Computacionais para
Classificação de Emoções
Fabiano Alves, Eduardo Silva e Adilmar Coelho Dantas
Faculdade de Computação
Universidade Federal de Uberlândia, UFU
Uberlândia, Brasil
fabianos@doutorado.ufu.br, eduardo.hssi@gmail.com, akanekar@gmail.com
Abstract— Este artigo apresenta um estudo comparativo
entre diferentes algoritmos de classificação para detecção
automática de emoções básicas (neutra, alegria, tristeza, raiva,
desgosto, medo e surpresa). Para isto, foi avaliada a base de
dados de MUG, cuja fundamentação se encontra na teoria FACS,
contendo atributos reais de expressões faciais de diferentes
indivíduos e idades, agrupados em classes de emoções. Os
experimentos foram executados utilizando o ambiente Waikato
Environment for Knowledge (WEKA), um software de código
aberto com uma coleção de algoritmos de aprendizagem de
máquina. O objetivo deste artigo é investigar a taxa de acertos de
diferentes algoritmos de classificação no processo de
reconhecimento de emoções. No processo de classificação foram
utilizados os algoritmos k-Nearest Neighbors (k-NN), Support
Vector Machine (SVM), Naive Bayes (NB), Bayesian Network (BN),
Multilayer perceptron (MLP) e Logistic Model Tree (LMT). Na
tentativa de melhorar os resultados e diminuir a representação
dos dados de entrada dos classificadores foram realizados
experimentos de seleção e correlações de atributos com o objetivo
de descobrir quais atributos são mais relevantes para o
procedimento de reconhecimento de padrões de classificação de
emoções faciais. Análise geométrica entre distância de pontos de
interesse de regiões da face (boca, olhos e sobrancelha) também
foram objetos de estudo deste trabalho no processo de
reconhecimento de emoções.
Keywords-Emoções; classificadores;
I. INTRODUÇÃO
Reconhecimento de emoções em expressões faciais por
computador é um interessante e desafiador problema que pode
ser aplicado em diferentes contextos como ferramentas para
prover personalização em ambientes virtuais baseado nas
características afetivas do usuário do sistema.
Nos últimos anos, muitos progressos aconteceram para a
criação de sistemas de computador para entender e usar essa
forma natural de comunicação humana [1][2][3]. A maioria dos
sistemas tenta reconhecer um pequeno conjunto de expressões
emocionais como a felicidade, surpresa, raiva, tristeza, medo,
desgosto e neutra. Trabalho de Darwin [4] e mais recentemente
de Ekman e de Friesen [5], que propuseram que as emoções
básicas possuem expressões faciais correspondentes. Para
capturar essas sutilezas das emoções Ekman e Friesen [5]
criaram padrões de codificação faciais denominadas FACS
(Facial Action Coding System). O FACS vem sendo bastante
utilizado como uma ferramenta descritiva e tem sido
empregado em vários trabalhos científicos relacionados à
micro expressões.
Sistemas automáticos para a análise de expressões faciais
tem se tornado objetos constantes de estudo em sistemas de
interação homem-máquina, sobretudo na comunidade de
pesquisa de Reconhecimento de Padrões (RP). Segundo Fasel e
Luettin [6], uma das primeiras investigações sobre
reconhecimento automático de expressões faciais foi
apresentada por Suwa [7], os quais analisaram as expressões
faciais, rastreando o movimento de 20 pontos identificados em
uma sequência de imagens. A partir deste trabalho, muitos
avanços têm sido realizados, sobretudo devido ao
desenvolvimento de novos métodos de processamento de
imagem, novas abordagens para detecção, reconhecimento e
classificação de emoções de expressões faciais, assim como o
aumento da capacidade computacional.
O processo de reconhecimento de emoções faciais possui
basicamente três etapas [2]: Identificação da face e regiões
faciais, Extração de características e Classificação de
Expressões. A primeira etapa consiste em identificar a face e
regiões de da face, tais como, sobrancelha, boca e olhos,
utilizando técnicas de processamento de imagem. A segunda
etapa refere-se à extração e representação de pontos de
interesse (landmarks) das regiões da face, gerando um vetor de
características (atributos). Esta etapa consiste também na fase
de pré-processamento ou transformação das características dos
dados extraídos e que geralmente resulta na redução da
dimensionalidade do vetor de características original. O pré-
processamento dos dados não é obrigatório para todos os casos,
pois dependendo do domínio da aplicação poderá melhorar ou
piorar o processo de classificação. Já a última etapa envolve a
aplicação de técnicas de RP que possibilitem a identificação e
classificação das emoções.
O objetivo deste trabalho é realizar uma análise
comparativa de alguns dos métodos mais conhecidos na
abordagem de classificação de RP, compreendidos nas
seguintes categorias: classificador preguiçoso (k-Nearest
Neighbors), classificadores bayesianos (Naive Bayes, Bayesian
Network), redes neurais (Multilayer perceptron) e regressão
(Logistic Model Tree). Algoritmos pertencentes a cada uma
destas categorias foram aplicados em um conjunto de dados
contendo informações de landmarks de imagens da face,
agrupadas em sete classes distintas de emoções.
Além do emprego dos métodos de classificação, também
foram realizados experimentos de seleção, correlação e
transformação de atributos durante a fase de extração de
características com o objetivo de reduzir a dimensionalidade
dos dados e também para analisar se a reestruturação dos dados
poderia trazer benefícios para a classificação de emoções.
Experimentos utilizando distâncias geométricas entre
landmarks da face também foram objetos de estudo neste
trabalho para análise da classificação de emoções.
O estudo foi feito utilizando o ambiente WEKA [8], que é
um pacote de software que agrega diferentes algoritmos e
técnicas para mineração de dados e aprendizado de máquina,
sendo também uma das ferramentas mais utilizadas na área de
RP.
Este artigo está organizado da seguinte maneira. Na Seção
1 são descritas as principais técnicas de RP utilizadas neste
trabalho. Já a Seção 3 mostra como foram conduzidos os
experimentos, bem como os resultados obtidos, além de
explicar como foram aplicados os filtros de pré-processamento
utilizados neste trabalho. Por fim, a Seção 4 trás a conclusão do
estudo dos experimentos realizados e possíveis trabalhos
futuros.
II. MÉTODOS DE CLASSIFICAÇÃO
A. K-Nearest Neighbors
O algoritmo k-Nearest Neighbors (k-NN) [9] é um dos
algoritmos mais básicos, simples e bem difundidos do
paradigma baseado em instâncias. O k-NN é um classificador
preguiçoso porque não induz um modelo de categorização de
dados de treinamento. O processo de categorização é
conseguido através da comparação da nova instância com todas
as instâncias do conjunto de dados. Assim, a categoria para a
nova instância é selecionada a partir das categorias dos K
exemplos mais similares. A semelhança ou proximidade é
definida em termos de distâncias entre as instâncias. Existem
várias medidas de distâncias que podem ser utilizadas para
implementar esse classificador, como por exemplo a Distância
Euclidiana e Distância de Manhattan. A Figura 1 ilustra o
processo de classificação com o algoritmo k-NN para as
classes A e B.
Figura 1. Classificação K-NM
B. Neural Networks
As Neural Networks (RNAs) foram projetadas inicialmente
por psicólogos e neurobiologias que buscavam desenvolver um
conceito novo de neurônios artificias, que seriam pequenas
unidades onde receberia uma dada entrada, realizasse algum
processamento e por fim fosse gerada uma saída. Essas
unidades teriam ligação entre si por meio de conexões
formando por fim uma rede entre dois neurônios. O objetivo é
o aprendizado dessa rede e o balanceamento dos pesos entre
essas conexões [10].
Figura 2. Rede neural
Como pode ser visto na Figura 2 uma rede neural é composta
basicamente por:
 Camada de entrada: Representam as características
dos objetos.
 Camada de saída: Representam as classes existentes
no problema.
 Camadas escondidas: Recebem entradas da camada
anterior, que passam por uma função de ativação
gerando uma nova saída para a camada posterior.
Redes neurais com apenas uma camada escondida faz o
mapeamento direto das entradas para as saídas, resultado assim
em saídas similares aos padrões de entrada, o que leva a rede a
incapacidade de apreender mapeamentos importantes. Portanto
padrões de entrada similares que levam a saídas diferentes não
podem ser mapeadas por esse tipo de rede. Para solucionar este
problema é necessária a inclusão de mais camadas ocultas, as
chamadas redes neurais Multilayer Percepton (MLP). Essas
camadas ocultas funcionam como extratoras de características,
onde seus pesos são uma codificação de características da
camada de entrada, permitindo assim, que a rede projete suas
próprias representações com mais informações do problema.
C. Support Vector Machines
As Support Vector Machines (SVMs) constituem uma
técnica de aprendizado que vem recebendo crescente atenção
da comunidade de Machine Learning (ML) [11]. Os resultados
da aplicação dessa técnica são comparáveis e muitas vezes
superiores aos obtidos por outros algoritmos de aprendizado,
como RNAs. Uma SVM é um método de aprendizado
supervisionado que analisa os dados e reconhecem padrões, são
usados para classificação e análise de regressão. O SVM
padrão toma como entrada um conjunto de dados e prediz, para
cada entrada dada, qual de duas possíveis classes a entrada faz
parte, conforme ilustrado n Figura 3, o que faz do SVM um
classificador linear binário não probabilístico.
Figura 3. Classificação SVM
D. Naive Bayes
O classificador Naive Bayes (NB) assume que todos os
atributos são independentes e que cada um contribui
igualmente para a categorização. A categoria é atribuída a um
projeto, combinando a contribuição de cada característica. Esta
combinação é atingida estimando as probabilidades a
posteriori de cada categoria utilizando o Teorema de Bayes. As
probabilidades a priori são estimadas com os dados de
treinamento [12]
Este tipo de classificador é capaz de lidar com entradas
categóricas e problemas de multi-classe. Portanto, em um
problema de categorização, as entradas para o classificador são
os atributos e a saída é a distribuição de probabilidade do
projeto nas categorias [12].
E. Bayesian Network
As Bayesian Network (BNs) pertencem à família de
modelos de gráficos probabilísticos. Estas estruturas gráficas
são usadas para representar conhecimento sobre um domínio
incerto. Em particular, cada nó no gráfico representa uma
variável aleatória, enquanto as arestas entre os nós representam
dependência probabilística entre correspondência de variáveis
aleatórias. Essas dependências condicionais no gráfico são
muitas vezes estimadas usando conhecido estatístico e métodos
computacionais. Assim, BNs combinam princípios da teoria
dos grafos, teoria da probabilidade, ciência da computação, e
estatísticas [13].
F. Logistic Model Tree
Logistic Model Tree (LMT) é um classificador
supervisionado que combina Regressão Logística (LR) e
aprendizagem de Árvore de Decisão [14]. LMT são baseados
na ideia de modelo de árvore: Uma árvore de decisão que tem
modelos de regressão linear nas folhas.
A análise de regressão consiste na realização de uma
análise estatística com o objetivo de verificar a existência de
uma relação funcional entre uma variável dependente com uma
ou mais variáveis independentes. Em outras palavras consiste
na obtenção de uma equação que tenta explicar a variação da
variável dependente pela variação dos níveis das variáveis
independentes.
G. PCA
O PCA (Principal Component Analysis) é um processo
matemático que utiliza transformação ortogonal para converter
um conjunto de observações de variáveis possivelmente
correlacionadas a um conjunto de valores de variáveis
linearmente descorrelacionadas chamadas de componentes
principais [15]. Normalmente os dados passam pelo processo
de normalização z-score [15] antes de serem aplicados no PCA,
porque ele precisa calcular autovalores e autovetores dos
dados. Os autovalores dizem sobre a variância dos dados e o
autovetor da informação sobre a direção dos dados. O
autovetor é escolhido por ser o que tem o mais alto autovalor,
ou seja, quanto mais variância tem os dados, melhor para o
PCA. O conjunto de dados tem tantos autovetores e autovalores
quanto dimensões (ou atributos) tem nossos dados.
III. EXPERIMENTOS E DISCUSSÕES
Nesta seção são descritos como foram conduzidos os testes
e experimentos de classificação de emoção realizados, além
dos resultados e filtros de pré-processamento de dados
aplicados.
A. Ambiente WEKA
O ambiente escolhido para a execução dos experimentos foi
o Waikato Environment for Knowledge Analysis (WEKA) [8].
O WEKA é um pacote de software baseado em JAVA,
desenvolvido inicialmente pela Universidade de Waikato na
Nova Zelândia e que atualmente é distribuído como software
livre. O WEKA possui uma coleção de algoritmos de
aprendizagem de máquina para tarefas de mineração de dados.
Ele implementa algoritmos para pré-processamento de dados,
classificação, regressão, clustering e regras de associação, além
de incluir ferramentas de visualização.
O arquivo de dados normalmente utilizado pelo WEKA é o
formato de arquivo ARFF (Attribute-Relation File Format),
que consiste de tags especiais para indicar diferentes elementos
no arquivo de dados (tais como, nomes de atributos, tipos de
atributos, valores de atributos e os dados).
B. Base de dados
Para os experimentos foi utilizada a base de dados MUG
Facial Expression [16]. Essa base de dados é composta por 401
imagens com 25 indivíduos de etnia caucasiana. Nesta base as
imagens apresentam plano de fundo não uniforme e neutro e
em imagens em que os indivíduos apresentam diferenças
individuais ou artefatos: barba, bigode e óculos. Para cada
indivíduo são expressas imagens das sete emoções básicas:
neutra, felicidade, surpresa, tristeza, desgosto, medo e raiva.
A base de dados MUG fornece também arquivos contendo
80 pontos faciais (expressados em coordenas x e y) para a
detecção da emoção de cada indivíduo. Foi criado um código
em Java para plotar na imagem os pontos faciais e para
converter a base de pontos no formato de arquivo arff para o
WEKA. Exemplo de um arquivo com as coordenadas plotadas
na imagem da base pode ser visualizadas na Figura 4.
Figura 4. Example de imagem da base de dados MUG com pontos facias
Na conversão da base de dados MUG para o formato do
arquivo do WEKA, considerou-se que cada coordenada será
um atributo, ou seja, se temos 80 pontos faciais, no arquivo
para análise dos dados e classificação teremos 160 atributos.
C. Configuração dos testes
Neste trabalho foi utilizado o método de validação cruzada
k-fold [17], que consiste em dividir o conjunto total de dados
em k subconjuntos mutualmente exclusivos do mesmo
tamanho e, a partir disto, um subconjunto é utilizado para teste
e os k-1 restantes são utilizados para estimação dos parâmetros
e calcula-se a acurácia do modelo. Este processo é realizado k
vezes alternando de forma circular o subconjunto de teste. No
caso dos experimentos, o valor de k adotado foi igual a 10.
Para os testes, foram selecionados os algoritmos de
classificação k-Nearest Neighbors (k-NN), Support Vector
Machine (SVM), Naive Bayes (NB), Bayesian Network (BN),
Multilayer perceptron (MLP) e Logistic Model Tree (LMT).
Além disso, foram realizados testes com técnicas de
seleção/extração de atributos com PCA, correlação de Pearson
e análise geométrica da face através de distância euclidiana de
pontos (landmarks) de regiões de interesse.
D. Resultados
Inicialmente, realizou-se uma classificação com todos os
160 atributos correspondentes da base de dados MUG. A
Tabela I ilustra os resultados obtidos com a aplicação dos
métodos de classificação. Nessa análise os classificados K-NN,
SVM, MLP e LMT obtiveram os melhores resultados. Porém,
a execução do MLP exigiu bastante tempo computacional,
devido, principalmente, à quantidade de atributos. Outro fator
relevante é a classificação do K-NN nessa base de dados,
quando maior o valor de K, menor é a taxa de acertos. No K-
NN o valor que obteve o maior resultado foi k = 1.
Na base de dados existem amostras bem similares de uma
mesma emoção para um mesmo indivíduo, podendo um
indivíduo ter mais de cinco amostras para uma única emoção.
Essas amostras semelhantes de um indivíduo podem ter afetado
o resultado do K-NN que obtém melhor performance apenas
com k = 1, pois ele considera o vizinho mais próximo e as
amostras similares estão sendo escolhidas.
TABELA I. CLASSIFICAÇÃO EMOÇÕES
Classificador
% Acertos
160
Atributos
KNN (k = 1) 86,78
KNN (k = 2) 71,07
SVM 85,03
Multilayer
Perceptron 88,77
Naive Bayes 26,93
Bayesian Network 41,64
Logistic Model
Tree 85,78
Em seguida, foi realizado um teste de classificação
retirando as amostras que continham emoções similares de um
mesmo indivíduo. Passando assim o número de amostras de
401 para 163. A classificação foi realizada com estes 160
atributos. Resultados apresentados na Tabela II.
TABELA II. CLASSIFICAÇÃO EMOÇÕES –
SEM EMOÇÕES SIMILARES DE INDIVÍDUOS
Classificador
% Acertos
160
Atributos
% Variação
KNN (k = 1) 14,10 83,80
KNN (k = 2) 13,00 81,70
SVM 54,42 36,50
Multilayer
Perceptron 60,20 32,40
Naive Bayes 12,88 52,20
Bayesian Network 11,65 72,00
Logistic Model
Tree 60,73 29,20
Em todos os classificadores houve uma variação no
resultado da classificação, devido que o número de amostras de
treinamento ficou reduzido, porém houve uma variação muito
significativa no classificador K-NN e nas Redes Bayesianas. A
variação indica o percentual de queda no resultado da
classificação em comparação com o resultado da Tabela I. O
K-NN teve uma queda de 83,8% em seu resultado quando as
amostras similares de um indivíduo para uma mesma emoção
foram desconsideradas.
Em seguida, para tentar melhorar o desempenho e a eficácia
da classificação foi realizada a seleção de atributos. Os testes
foram realizados com as 401 amostras da base de dados MUG.
Primeiramente foi verificada a correlação entre os atributos,
pois alguns classificadores como o Naive Bayes assume a
independência dos atributos.
Foi realizada a correlação linear de Pearson. Ao realizar a
análise de correlação percebe-se, conforme Figura 5, que
existem muitos atributos em uma correlação linear de média à
forte. O coeficiente de correlação varia de 1 à -1 onde 1 indica
correlação perfeita positiva e -1 correlação perfeita negativa.
Então foi realizada uma seleção de atributos baseada na
correlação dos dados.
Figura 5. Gráfico dos coeficiente de correlação de Pearson
Visando estabelecer uma equação que representa o
fenômeno em estudo pode-se fazer um gráfico, chamado de
diagrama de dispersão, para verificar como se comportam os
valores da variável dependente (Y) em função da variação da
variável independente (X). O comportamento de Y em relação
a X pode se apresentar de diversas maneiras: linear, quadrático,
cúbico, exponencial, logarítmico, etc... . Para se estabelecer o
modelo para explicar o fenômeno, deve-se verificar qual tipo
de curva e equação de um modelo matemático que mais se
aproxime dos pontos representados no diagrama de dispersão.
A Figura 6 demostra a aplicação da regressão linear para a
base de dados proposta neste trabalho a qual apresentou uma
taxa de correlação de 0,847. Podemos concluir que os dados
estão altamente correlacionados entre si.
Figura 6. Correlação entre os atributos da base de dados MUG
Um bom subconjunto de atributos é aquele que contém
atributos com alta correlação com a classe, mas com uma baixa
correlação entre si. Para seleção utilizou um rankeamento,
selecionando assim os 20 melhores e posteriormente os 40
melhores atributos, conforme resultados apresentados na
Tabela III.
TABELA III. CLASSIFICAÇÃO EMOÇÕES – CORRELAÇÃO
Classificador
% Acertos
20
Atributos
% Acertos
40
Atributos
KNN (k = 1) 83,04 81,29
KNN (k = 2) 74,81 72,56
SVM 69,07 72,06
Multilayer
Perceptron 80,06 86,03
Naive Bayes 43,39 36,45
Bayesian
Network 43,14 42,14
Logistic
Model Tree 72,56 79,80
Ao analisar os resultados percebe-se que o classificador
SVM e LMT houve uma queda na taxa de acertos. Com o MLP
o resultado com 40 atributos aproximou-se à classificação com
160 atributos, porém, houve um bom ganho no desempenho do
classificador. O Naive Bayes por assumir a independência dos
atributos, houve uma melhora nos resultados com 20 atributos,
porém, ainda com uma precisão fraca. As Bayesian Network
levam em consideração a dependência de atributos, porém é
difícil estimar o seu modelo, isso pode ter influência no
resultado da classificação, fazendo com que o seu resultado
permanecesse praticamente o mesmo.
Ao verificar os atributos selecionados por correlação,
percebeu-se que todos os 40 primeiros atributos estão
localizados na região da sobrancelha e boca. Ao realizar a
classificação de todos os 60 atributos da base localizados na
região da sobrancelha e boca, selecionados manualmente,
obteve-se o seguinte resultado, descritos na Tabela IV.
TABELA IV. CLASSIFICAÇÃO EMOÇÕES -
MANUAL (BOCA E SOMBRANCELHAS)
Classificador
% Acertos
60 Atributos
KNN (k = 1) 86,78
KNN (k = 2) 76,05
SVM 74,81
Multilayer
Perceptron 86,28
Naive Bayes 33,16
Bayesian Network 40,89
Logistic Model
Tree 81,54
Em todos os classificadores o resultado teve pouca
alteração, em relação à seleção por correlação.
Após observar a base de dados foi constatado que pode
haver atributos menos representativos para a classificação da
emoção, como os atributos localizados no nariz ou em torno do
rosto e também é possível ver a existência de correlações
lineares. Para a seleção de atributos pode ser utilizada o
algoritmo PCA que pode descartar atributos menos
representativos e converter um conjunto de variáveis
correlacionadas a um conjunto de valores de
variáveis descorrelacionadas conforme ilustrados na Figura 7 e
resultados apresentados na Tabela V.
Figura 7 - Resultado após selação de atributos com PCA na base de dados.
TABELA V. CLASSIFICAÇÃO EMOÇÕES - PCA
Classificador
% Acertos
9
Atributos
KNN (k = 1) 86,73
KNN (k = 2) 74,81
SVM 67,83
Multilayer
Perceptron 72,81
Naive Bayes 65,83
Bayesian Network 57,86
Logistic Model
Tree 70,32
Apenas o Naive Bayes e as Bayesian Network tiveram um
ganho na precisão da classificação, os demais classificadores
houve uma perca na precisão.
Outra abordagem de experimentos realizados foi à análise
geométrica da face através de classificação das distâncias
euclidiana de pontos de interesse (landmarks) da sobrancelha,
olhos e boca da face, representadas através de seis atributos
exemplificados na Figura 8.
Figura 8. Exemplo de seleção de atributos através da distância euclidiana entre
pontos
A extração dos atributos pode ser expressa pela seguinte
fórmula:
   
Onde A refere-se ao novo atributo extraído pela distância
entre os dois pontos P5 e P21. O ponto esquerdo da sobrancelha
é expressado por P5 = ( , ) e o ponto esquerdo do olho é
expressado por P21 = ( , ).
Resultados da classificação das amostras com os seis
atributos selecionados estão apresentados na Tabela VI.
TABELA VI. CLASSIFICAÇÃO UTILIZANDO DISTÂNCIA EUCLIDIANA -
6 ATRIBUTOS
Classificador
% Acertos
6
Atributos
KNN (k = 1) 83,79
KNN (k = 2) 76,55
SVM 76,05
Multilayer
Perceptron 78,55
Naive Bayes 74,31
Bayesian
Network 73,31
Logistic Model
Tree 77,55
Com a seleção de atributos a partir da distância entre
pontos, as taxas de acertos dos classificadores ficaram bem
próximas. Os classificadores bayesianos foram os que
obtiveram um maior ganho na taxa de acertos utilizando essa
abordagem.
IV. CONCLUSÃO
Neste trabalho foram apresentados experimentos e a análise
da aplicação de diferentes técnicas computacionais de
reconhecimento de padrões para a classificação de emoções a
partir de expressões faciais.
Os experimentos foram executados no ambiente WEKA,
utilizando a base de dados MUG, composta de atributos
extraídos de marcações de pontos da face correspondente a
emoções de cada indivíduo. Para tanto, foi selecionado
métodos de classificação compreendidos nas categorias:
classificador preguiçoso (k-Nearest Neighbors), classificadores
bayesianos (Naive Bayes, Bayesian Network), redes neurais
(Multilayer perceptron) e regressão logística (Logistic Model
Tree).
Considerando todos os atributos da base de dados
observou-se que os classificadores K-NN (com k=1), SVM,
Redes Neurais (MLP) e LMT obtiveram melhores resultados.
Porém, devido à quantidade de atributos, a execução das Redes
Neurais teve um tempo bem superior de processamento. O
classificador Naive Bayes, que considera que os dados sejam
independentes, pode-se dizer que existe alguma correlação nos
dados que não permite uma grande melhora no desempenho.
Aplicando filtro de correlação de Pearson, os
classificadores Naive Bayes, Bayesian Network e K-NN (com
k=2) obtiveram ganhos com seleção de 20 e 40 melhores
atributos ranqueados. Os demais classificadores tiveram
perdas, com maior percentual para o classificador SVM (perda
de 18,8% e 15,3% para 20 e 40 atributos, respectivamente)
Observando os atributos correlacionados, percebeu-se que
todos os 40 primeiros atributos ranqueados estão localizados
nas regiões da sobrancelha e boca. Realizando comparação de
classificação com todos os 60 atributos da base nestas regiões,
verificando assim poucas alterações nos percentuais de acertos.
Outro teste realizado foi com a aplicação do filtro PCA com
nove atributos gerados e que trouxe melhorias significativas
para o classificador Naive Bayes e Bayesian Network em
comparação com a seleção de todos os atributos. Para o
classificador K-NN não houve alterações significativas, porém
para os demais classificadores teve queda de precisão.
Por último foi aplicado experimentos com a análise
geométrica de distância euclidiana de pontos (landmarks) das
regiões dos olhos, sobrancelha e boca. Nos resultados
alcançados teve ganho com os classificadores bayesianos e
perda nos classificadores, SVM, Multilayer Perceptron e
Logistic Model Tree. O classificador K-NN não teve alterações
significativas.
O objetivo do trabalho foi concluído, pois provou-se de
maneira sucinta que as técnicas apresentadas conseguem
captar, de forma clara, as emoções do indivíduo,
recomendando a aplicação de filtros para diminuir o espaço de
dimensionalidade dos dados.
Como trabalhos futuros pretende-se validar os testes em
outras bases de dados semelhantes encontradas na literatura,
contendo imagens de pessoas de diferentes etnias e idades.
Outro ponto de experimentação futura seria a utilização das
Unidades de Ação (UAs) relacionadas à micro expressões
faciais da teoria FACS.
REFERENCES
[1] A. Azcarate, F. Hageloh, K. V. Sande, and, R. Valenti. "Automatic
Facial emotion recognition". Universiteit van Amsterdam, 2005.
[2] S. Caroline, S. Leizer, O. Luciano. “Detecção de Landmarks em
Imagens Faciais Baseada em Informações Locais” XIX Congresso
Brasileiro de Automática – CBA, Campina Grande, Paraíba, Brasil,
2012
[3] Du, Shichuan, Yong Tao, and Aleix M. Martinez. “Compound Facial
Expressions of Emotion.” PNAS, 2014.
[4] C. Darwin, "The expression of the emotions in man and animals",
London: John Murray, 1872
[5] P. Ekman, W. V. Friesen, and J. C. Hager, "The facial action coding
system". Research Nexus eBook, 2002.
[6] B. Fasel, J. Luettin, “Automatic facial expression analysis: a survey”.
Pattern Recogntion, v.36, n.1, p.259 – 275, 2003.
[7] M. Suwa, N. Sugie, K. Fujimora “A preliminar note on pattern
recognition of human emotion expression.” Internation Joint Conference
on Pattern Recognition, p.408-410, 1978.
[8] Weka 3 - data mining with open source machine learning software in
java. University of Waikato. [Online]. Disponível em:
http://www.cs.waikato.ac.nz/ml/weka/. Acesso em: 20 de Junho de
2015.
[9] T. Cover and P. Hart, “Nearest neighbor pattern classification,” IEEE
Trans. Inf. Theor., vol. 13,no. 1, pp. 21–27, Sep. 2006.
[10] S. Haykin, “Neural Networks: a comprehensive foundation”, Second
Edition, pp. 178-179, 1998.
[11] T. Mitchell. Machine Learning. McGraw Hill, 1997.
[12] D. D. Lewis, “Naive (Bayes) at forty: The independence assumption in
information retrieval”, Machine learning: ECML-98, p.5-15, Springer,
1998.
[13] I. Ben-Gal, “Bayesian Networks”, in Ruggeri F., Faltin F. & Kenett R.,
“Encyclopedia of Statistics in Quality & Reliability”, Wiley & Sons,
2007.
[14] L. Niels, H. Mark and F.Eibe, “Logistic Model Trees”, Machine
Learning, 59(1/2):161–205, 2006.
[15] I.T. Jolliffe, “Principal component analysis”. 2.ed. New York, Springer-
Verlag,502p,2002.
[16] N. Aifanti, C. Papachristou, Delopoulos, (2005) “A. The MUG Facial
Expression Database” In Proc. Workshop on Image Analysis for
Multimedia Interactive Services, 2005.
[17] H. I. Witten, “Data Mining with Weka” , Department of Computer
Science, University of Waikato, New Zealand, 2013.

Más contenido relacionado

Similar a Classificação de Emoções Faciais

Algoritmos de Clusterização
Algoritmos de ClusterizaçãoAlgoritmos de Clusterização
Algoritmos de ClusterizaçãoGabriel Peixe
 
Análise de Clusters - White Paper ELOGroup
Análise de Clusters - White Paper ELOGroupAnálise de Clusters - White Paper ELOGroup
Análise de Clusters - White Paper ELOGroupEloGroup
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadascesar do amaral
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive BayesAhirton Lopes
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesAdilmar Dantas
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesJoaquimOliveiraBapti1
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareJosé Corrêa Viana
 
Aula pratica k-means-rp2009
Aula pratica k-means-rp2009Aula pratica k-means-rp2009
Aula pratica k-means-rp2009Marcelo Silva
 
Inteligência artificial para sistemas colaborativos
Inteligência artificial para sistemas colaborativosInteligência artificial para sistemas colaborativos
Inteligência artificial para sistemas colaborativosRodrigo de Oliveira
 
Analise de dados ccill end
Analise de dados ccill endAnalise de dados ccill end
Analise de dados ccill endcruz ant
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Geanderson Lenz
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesXequeMateShannon
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosDiego Negretto
 

Similar a Classificação de Emoções Faciais (20)

Trabalho e agrupamento.pdf
Trabalho e agrupamento.pdfTrabalho e agrupamento.pdf
Trabalho e agrupamento.pdf
 
Trabalho e agrupamento.pdf
Trabalho e agrupamento.pdfTrabalho e agrupamento.pdf
Trabalho e agrupamento.pdf
 
ID3 Algorithm
ID3 AlgorithmID3 Algorithm
ID3 Algorithm
 
Artigo tecnico RNA Iris
Artigo tecnico RNA IrisArtigo tecnico RNA Iris
Artigo tecnico RNA Iris
 
Algoritmos de Clusterização
Algoritmos de ClusterizaçãoAlgoritmos de Clusterização
Algoritmos de Clusterização
 
Análise de Clusters - White Paper ELOGroup
Análise de Clusters - White Paper ELOGroupAnálise de Clusters - White Paper ELOGroup
Análise de Clusters - White Paper ELOGroup
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
 
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
[José Ahirton Lopes] Treinamento - Árvores de Decisão, SVM e Naive Bayes
 
Reconhecimento Automático de Emoções
Reconhecimento Automático de EmoçõesReconhecimento Automático de Emoções
Reconhecimento Automático de Emoções
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessões
 
160277 redes neurais artificiais
160277 redes neurais artificiais160277 redes neurais artificiais
160277 redes neurais artificiais
 
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de SoftwareAlgoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
Algoritmos de Estimação de Distribuição Aplicados à Estimativa de Software
 
Aula pratica k-means-rp2009
Aula pratica k-means-rp2009Aula pratica k-means-rp2009
Aula pratica k-means-rp2009
 
Inteligência artificial para sistemas colaborativos
Inteligência artificial para sistemas colaborativosInteligência artificial para sistemas colaborativos
Inteligência artificial para sistemas colaborativos
 
4º semestre
4º semestre4º semestre
4º semestre
 
Analise de dados ccill end
Analise de dados ccill endAnalise de dados ccill end
Analise de dados ccill end
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...
 
Algoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicaçõesAlgoritmos genéticos: princípios e aplicações
Algoritmos genéticos: princípios e aplicações
 
Aprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de DadosAprendizado de Máquina para Classificação de Dados
Aprendizado de Máquina para Classificação de Dados
 

Más de 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 1Adilmar Dantas
 
Potenciação Divide and Conquer
Potenciação Divide and ConquerPotenciação Divide and Conquer
Potenciação Divide and ConquerAdilmar 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
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoçõesAdilmar Dantas
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPAdilmar 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ÉDICOSAdilmar Dantas
 
Alinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAlinhamento de Sequencia DNA
Alinhamento de Sequencia DNAAdilmar Dantas
 
3ª maratona de games – facom ufu
3ª maratona de games – facom  ufu3ª maratona de games – facom  ufu
3ª maratona de games – facom ufuAdilmar 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 AlgoritmosAdilmar 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 RemotaAdilmar Dantas
 
Engenharia de software testes
Engenharia de software  testesEngenharia de software  testes
Engenharia de software testesAdilmar Dantas
 
Qualidade de Software Web
Qualidade de Software WebQualidade de Software Web
Qualidade de Software WebAdilmar Dantas
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexicaAdilmar 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 SoftwareAdilmar Dantas
 

Más 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...
 
Reconhecimento automático de emoções
Reconhecimento automático de emoçõesReconhecimento automático de emoções
Reconhecimento automático de emoções
 
Detecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLPDetecção de Faces - Redes Neurais *MLP
Detecção de Faces - Redes Neurais *MLP
 
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
 

Classificação de Emoções Faciais

  • 1. Análise de Técnicas Computacionais para Classificação de Emoções Fabiano Alves, Eduardo Silva e Adilmar Coelho Dantas Faculdade de Computação Universidade Federal de Uberlândia, UFU Uberlândia, Brasil fabianos@doutorado.ufu.br, eduardo.hssi@gmail.com, akanekar@gmail.com Abstract— Este artigo apresenta um estudo comparativo entre diferentes algoritmos de classificação para detecção automática de emoções básicas (neutra, alegria, tristeza, raiva, desgosto, medo e surpresa). Para isto, foi avaliada a base de dados de MUG, cuja fundamentação se encontra na teoria FACS, contendo atributos reais de expressões faciais de diferentes indivíduos e idades, agrupados em classes de emoções. Os experimentos foram executados utilizando o ambiente Waikato Environment for Knowledge (WEKA), um software de código aberto com uma coleção de algoritmos de aprendizagem de máquina. O objetivo deste artigo é investigar a taxa de acertos de diferentes algoritmos de classificação no processo de reconhecimento de emoções. No processo de classificação foram utilizados os algoritmos k-Nearest Neighbors (k-NN), Support Vector Machine (SVM), Naive Bayes (NB), Bayesian Network (BN), Multilayer perceptron (MLP) e Logistic Model Tree (LMT). Na tentativa de melhorar os resultados e diminuir a representação dos dados de entrada dos classificadores foram realizados experimentos de seleção e correlações de atributos com o objetivo de descobrir quais atributos são mais relevantes para o procedimento de reconhecimento de padrões de classificação de emoções faciais. Análise geométrica entre distância de pontos de interesse de regiões da face (boca, olhos e sobrancelha) também foram objetos de estudo deste trabalho no processo de reconhecimento de emoções. Keywords-Emoções; classificadores; I. INTRODUÇÃO Reconhecimento de emoções em expressões faciais por computador é um interessante e desafiador problema que pode ser aplicado em diferentes contextos como ferramentas para prover personalização em ambientes virtuais baseado nas características afetivas do usuário do sistema. Nos últimos anos, muitos progressos aconteceram para a criação de sistemas de computador para entender e usar essa forma natural de comunicação humana [1][2][3]. A maioria dos sistemas tenta reconhecer um pequeno conjunto de expressões emocionais como a felicidade, surpresa, raiva, tristeza, medo, desgosto e neutra. Trabalho de Darwin [4] e mais recentemente de Ekman e de Friesen [5], que propuseram que as emoções básicas possuem expressões faciais correspondentes. Para capturar essas sutilezas das emoções Ekman e Friesen [5] criaram padrões de codificação faciais denominadas FACS (Facial Action Coding System). O FACS vem sendo bastante utilizado como uma ferramenta descritiva e tem sido empregado em vários trabalhos científicos relacionados à micro expressões. Sistemas automáticos para a análise de expressões faciais tem se tornado objetos constantes de estudo em sistemas de interação homem-máquina, sobretudo na comunidade de pesquisa de Reconhecimento de Padrões (RP). Segundo Fasel e Luettin [6], uma das primeiras investigações sobre reconhecimento automático de expressões faciais foi apresentada por Suwa [7], os quais analisaram as expressões faciais, rastreando o movimento de 20 pontos identificados em uma sequência de imagens. A partir deste trabalho, muitos avanços têm sido realizados, sobretudo devido ao desenvolvimento de novos métodos de processamento de imagem, novas abordagens para detecção, reconhecimento e classificação de emoções de expressões faciais, assim como o aumento da capacidade computacional. O processo de reconhecimento de emoções faciais possui basicamente três etapas [2]: Identificação da face e regiões faciais, Extração de características e Classificação de Expressões. A primeira etapa consiste em identificar a face e regiões de da face, tais como, sobrancelha, boca e olhos, utilizando técnicas de processamento de imagem. A segunda etapa refere-se à extração e representação de pontos de interesse (landmarks) das regiões da face, gerando um vetor de características (atributos). Esta etapa consiste também na fase de pré-processamento ou transformação das características dos dados extraídos e que geralmente resulta na redução da dimensionalidade do vetor de características original. O pré- processamento dos dados não é obrigatório para todos os casos, pois dependendo do domínio da aplicação poderá melhorar ou piorar o processo de classificação. Já a última etapa envolve a aplicação de técnicas de RP que possibilitem a identificação e classificação das emoções. O objetivo deste trabalho é realizar uma análise comparativa de alguns dos métodos mais conhecidos na abordagem de classificação de RP, compreendidos nas seguintes categorias: classificador preguiçoso (k-Nearest Neighbors), classificadores bayesianos (Naive Bayes, Bayesian Network), redes neurais (Multilayer perceptron) e regressão (Logistic Model Tree). Algoritmos pertencentes a cada uma destas categorias foram aplicados em um conjunto de dados
  • 2. contendo informações de landmarks de imagens da face, agrupadas em sete classes distintas de emoções. Além do emprego dos métodos de classificação, também foram realizados experimentos de seleção, correlação e transformação de atributos durante a fase de extração de características com o objetivo de reduzir a dimensionalidade dos dados e também para analisar se a reestruturação dos dados poderia trazer benefícios para a classificação de emoções. Experimentos utilizando distâncias geométricas entre landmarks da face também foram objetos de estudo neste trabalho para análise da classificação de emoções. O estudo foi feito utilizando o ambiente WEKA [8], que é um pacote de software que agrega diferentes algoritmos e técnicas para mineração de dados e aprendizado de máquina, sendo também uma das ferramentas mais utilizadas na área de RP. Este artigo está organizado da seguinte maneira. Na Seção 1 são descritas as principais técnicas de RP utilizadas neste trabalho. Já a Seção 3 mostra como foram conduzidos os experimentos, bem como os resultados obtidos, além de explicar como foram aplicados os filtros de pré-processamento utilizados neste trabalho. Por fim, a Seção 4 trás a conclusão do estudo dos experimentos realizados e possíveis trabalhos futuros. II. MÉTODOS DE CLASSIFICAÇÃO A. K-Nearest Neighbors O algoritmo k-Nearest Neighbors (k-NN) [9] é um dos algoritmos mais básicos, simples e bem difundidos do paradigma baseado em instâncias. O k-NN é um classificador preguiçoso porque não induz um modelo de categorização de dados de treinamento. O processo de categorização é conseguido através da comparação da nova instância com todas as instâncias do conjunto de dados. Assim, a categoria para a nova instância é selecionada a partir das categorias dos K exemplos mais similares. A semelhança ou proximidade é definida em termos de distâncias entre as instâncias. Existem várias medidas de distâncias que podem ser utilizadas para implementar esse classificador, como por exemplo a Distância Euclidiana e Distância de Manhattan. A Figura 1 ilustra o processo de classificação com o algoritmo k-NN para as classes A e B. Figura 1. Classificação K-NM B. Neural Networks As Neural Networks (RNAs) foram projetadas inicialmente por psicólogos e neurobiologias que buscavam desenvolver um conceito novo de neurônios artificias, que seriam pequenas unidades onde receberia uma dada entrada, realizasse algum processamento e por fim fosse gerada uma saída. Essas unidades teriam ligação entre si por meio de conexões formando por fim uma rede entre dois neurônios. O objetivo é o aprendizado dessa rede e o balanceamento dos pesos entre essas conexões [10]. Figura 2. Rede neural Como pode ser visto na Figura 2 uma rede neural é composta basicamente por:  Camada de entrada: Representam as características dos objetos.  Camada de saída: Representam as classes existentes no problema.  Camadas escondidas: Recebem entradas da camada anterior, que passam por uma função de ativação gerando uma nova saída para a camada posterior. Redes neurais com apenas uma camada escondida faz o mapeamento direto das entradas para as saídas, resultado assim em saídas similares aos padrões de entrada, o que leva a rede a incapacidade de apreender mapeamentos importantes. Portanto padrões de entrada similares que levam a saídas diferentes não podem ser mapeadas por esse tipo de rede. Para solucionar este problema é necessária a inclusão de mais camadas ocultas, as chamadas redes neurais Multilayer Percepton (MLP). Essas camadas ocultas funcionam como extratoras de características, onde seus pesos são uma codificação de características da camada de entrada, permitindo assim, que a rede projete suas próprias representações com mais informações do problema. C. Support Vector Machines As Support Vector Machines (SVMs) constituem uma técnica de aprendizado que vem recebendo crescente atenção da comunidade de Machine Learning (ML) [11]. Os resultados da aplicação dessa técnica são comparáveis e muitas vezes superiores aos obtidos por outros algoritmos de aprendizado, como RNAs. Uma SVM é um método de aprendizado supervisionado que analisa os dados e reconhecem padrões, são usados para classificação e análise de regressão. O SVM padrão toma como entrada um conjunto de dados e prediz, para
  • 3. cada entrada dada, qual de duas possíveis classes a entrada faz parte, conforme ilustrado n Figura 3, o que faz do SVM um classificador linear binário não probabilístico. Figura 3. Classificação SVM D. Naive Bayes O classificador Naive Bayes (NB) assume que todos os atributos são independentes e que cada um contribui igualmente para a categorização. A categoria é atribuída a um projeto, combinando a contribuição de cada característica. Esta combinação é atingida estimando as probabilidades a posteriori de cada categoria utilizando o Teorema de Bayes. As probabilidades a priori são estimadas com os dados de treinamento [12] Este tipo de classificador é capaz de lidar com entradas categóricas e problemas de multi-classe. Portanto, em um problema de categorização, as entradas para o classificador são os atributos e a saída é a distribuição de probabilidade do projeto nas categorias [12]. E. Bayesian Network As Bayesian Network (BNs) pertencem à família de modelos de gráficos probabilísticos. Estas estruturas gráficas são usadas para representar conhecimento sobre um domínio incerto. Em particular, cada nó no gráfico representa uma variável aleatória, enquanto as arestas entre os nós representam dependência probabilística entre correspondência de variáveis aleatórias. Essas dependências condicionais no gráfico são muitas vezes estimadas usando conhecido estatístico e métodos computacionais. Assim, BNs combinam princípios da teoria dos grafos, teoria da probabilidade, ciência da computação, e estatísticas [13]. F. Logistic Model Tree Logistic Model Tree (LMT) é um classificador supervisionado que combina Regressão Logística (LR) e aprendizagem de Árvore de Decisão [14]. LMT são baseados na ideia de modelo de árvore: Uma árvore de decisão que tem modelos de regressão linear nas folhas. A análise de regressão consiste na realização de uma análise estatística com o objetivo de verificar a existência de uma relação funcional entre uma variável dependente com uma ou mais variáveis independentes. Em outras palavras consiste na obtenção de uma equação que tenta explicar a variação da variável dependente pela variação dos níveis das variáveis independentes. G. PCA O PCA (Principal Component Analysis) é um processo matemático que utiliza transformação ortogonal para converter um conjunto de observações de variáveis possivelmente correlacionadas a um conjunto de valores de variáveis linearmente descorrelacionadas chamadas de componentes principais [15]. Normalmente os dados passam pelo processo de normalização z-score [15] antes de serem aplicados no PCA, porque ele precisa calcular autovalores e autovetores dos dados. Os autovalores dizem sobre a variância dos dados e o autovetor da informação sobre a direção dos dados. O autovetor é escolhido por ser o que tem o mais alto autovalor, ou seja, quanto mais variância tem os dados, melhor para o PCA. O conjunto de dados tem tantos autovetores e autovalores quanto dimensões (ou atributos) tem nossos dados. III. EXPERIMENTOS E DISCUSSÕES Nesta seção são descritos como foram conduzidos os testes e experimentos de classificação de emoção realizados, além dos resultados e filtros de pré-processamento de dados aplicados. A. Ambiente WEKA O ambiente escolhido para a execução dos experimentos foi o Waikato Environment for Knowledge Analysis (WEKA) [8]. O WEKA é um pacote de software baseado em JAVA, desenvolvido inicialmente pela Universidade de Waikato na Nova Zelândia e que atualmente é distribuído como software livre. O WEKA possui uma coleção de algoritmos de aprendizagem de máquina para tarefas de mineração de dados. Ele implementa algoritmos para pré-processamento de dados, classificação, regressão, clustering e regras de associação, além de incluir ferramentas de visualização. O arquivo de dados normalmente utilizado pelo WEKA é o formato de arquivo ARFF (Attribute-Relation File Format), que consiste de tags especiais para indicar diferentes elementos no arquivo de dados (tais como, nomes de atributos, tipos de atributos, valores de atributos e os dados). B. Base de dados Para os experimentos foi utilizada a base de dados MUG Facial Expression [16]. Essa base de dados é composta por 401 imagens com 25 indivíduos de etnia caucasiana. Nesta base as imagens apresentam plano de fundo não uniforme e neutro e em imagens em que os indivíduos apresentam diferenças individuais ou artefatos: barba, bigode e óculos. Para cada indivíduo são expressas imagens das sete emoções básicas: neutra, felicidade, surpresa, tristeza, desgosto, medo e raiva. A base de dados MUG fornece também arquivos contendo 80 pontos faciais (expressados em coordenas x e y) para a detecção da emoção de cada indivíduo. Foi criado um código em Java para plotar na imagem os pontos faciais e para converter a base de pontos no formato de arquivo arff para o WEKA. Exemplo de um arquivo com as coordenadas plotadas na imagem da base pode ser visualizadas na Figura 4.
  • 4. Figura 4. Example de imagem da base de dados MUG com pontos facias Na conversão da base de dados MUG para o formato do arquivo do WEKA, considerou-se que cada coordenada será um atributo, ou seja, se temos 80 pontos faciais, no arquivo para análise dos dados e classificação teremos 160 atributos. C. Configuração dos testes Neste trabalho foi utilizado o método de validação cruzada k-fold [17], que consiste em dividir o conjunto total de dados em k subconjuntos mutualmente exclusivos do mesmo tamanho e, a partir disto, um subconjunto é utilizado para teste e os k-1 restantes são utilizados para estimação dos parâmetros e calcula-se a acurácia do modelo. Este processo é realizado k vezes alternando de forma circular o subconjunto de teste. No caso dos experimentos, o valor de k adotado foi igual a 10. Para os testes, foram selecionados os algoritmos de classificação k-Nearest Neighbors (k-NN), Support Vector Machine (SVM), Naive Bayes (NB), Bayesian Network (BN), Multilayer perceptron (MLP) e Logistic Model Tree (LMT). Além disso, foram realizados testes com técnicas de seleção/extração de atributos com PCA, correlação de Pearson e análise geométrica da face através de distância euclidiana de pontos (landmarks) de regiões de interesse. D. Resultados Inicialmente, realizou-se uma classificação com todos os 160 atributos correspondentes da base de dados MUG. A Tabela I ilustra os resultados obtidos com a aplicação dos métodos de classificação. Nessa análise os classificados K-NN, SVM, MLP e LMT obtiveram os melhores resultados. Porém, a execução do MLP exigiu bastante tempo computacional, devido, principalmente, à quantidade de atributos. Outro fator relevante é a classificação do K-NN nessa base de dados, quando maior o valor de K, menor é a taxa de acertos. No K- NN o valor que obteve o maior resultado foi k = 1. Na base de dados existem amostras bem similares de uma mesma emoção para um mesmo indivíduo, podendo um indivíduo ter mais de cinco amostras para uma única emoção. Essas amostras semelhantes de um indivíduo podem ter afetado o resultado do K-NN que obtém melhor performance apenas com k = 1, pois ele considera o vizinho mais próximo e as amostras similares estão sendo escolhidas. TABELA I. CLASSIFICAÇÃO EMOÇÕES Classificador % Acertos 160 Atributos KNN (k = 1) 86,78 KNN (k = 2) 71,07 SVM 85,03 Multilayer Perceptron 88,77 Naive Bayes 26,93 Bayesian Network 41,64 Logistic Model Tree 85,78 Em seguida, foi realizado um teste de classificação retirando as amostras que continham emoções similares de um mesmo indivíduo. Passando assim o número de amostras de 401 para 163. A classificação foi realizada com estes 160 atributos. Resultados apresentados na Tabela II. TABELA II. CLASSIFICAÇÃO EMOÇÕES – SEM EMOÇÕES SIMILARES DE INDIVÍDUOS Classificador % Acertos 160 Atributos % Variação KNN (k = 1) 14,10 83,80 KNN (k = 2) 13,00 81,70 SVM 54,42 36,50 Multilayer Perceptron 60,20 32,40 Naive Bayes 12,88 52,20 Bayesian Network 11,65 72,00 Logistic Model Tree 60,73 29,20 Em todos os classificadores houve uma variação no resultado da classificação, devido que o número de amostras de treinamento ficou reduzido, porém houve uma variação muito significativa no classificador K-NN e nas Redes Bayesianas. A variação indica o percentual de queda no resultado da classificação em comparação com o resultado da Tabela I. O K-NN teve uma queda de 83,8% em seu resultado quando as amostras similares de um indivíduo para uma mesma emoção foram desconsideradas. Em seguida, para tentar melhorar o desempenho e a eficácia da classificação foi realizada a seleção de atributos. Os testes foram realizados com as 401 amostras da base de dados MUG. Primeiramente foi verificada a correlação entre os atributos, pois alguns classificadores como o Naive Bayes assume a independência dos atributos. Foi realizada a correlação linear de Pearson. Ao realizar a análise de correlação percebe-se, conforme Figura 5, que existem muitos atributos em uma correlação linear de média à
  • 5. forte. O coeficiente de correlação varia de 1 à -1 onde 1 indica correlação perfeita positiva e -1 correlação perfeita negativa. Então foi realizada uma seleção de atributos baseada na correlação dos dados. Figura 5. Gráfico dos coeficiente de correlação de Pearson Visando estabelecer uma equação que representa o fenômeno em estudo pode-se fazer um gráfico, chamado de diagrama de dispersão, para verificar como se comportam os valores da variável dependente (Y) em função da variação da variável independente (X). O comportamento de Y em relação a X pode se apresentar de diversas maneiras: linear, quadrático, cúbico, exponencial, logarítmico, etc... . Para se estabelecer o modelo para explicar o fenômeno, deve-se verificar qual tipo de curva e equação de um modelo matemático que mais se aproxime dos pontos representados no diagrama de dispersão. A Figura 6 demostra a aplicação da regressão linear para a base de dados proposta neste trabalho a qual apresentou uma taxa de correlação de 0,847. Podemos concluir que os dados estão altamente correlacionados entre si. Figura 6. Correlação entre os atributos da base de dados MUG Um bom subconjunto de atributos é aquele que contém atributos com alta correlação com a classe, mas com uma baixa correlação entre si. Para seleção utilizou um rankeamento, selecionando assim os 20 melhores e posteriormente os 40 melhores atributos, conforme resultados apresentados na Tabela III. TABELA III. CLASSIFICAÇÃO EMOÇÕES – CORRELAÇÃO Classificador % Acertos 20 Atributos % Acertos 40 Atributos KNN (k = 1) 83,04 81,29 KNN (k = 2) 74,81 72,56 SVM 69,07 72,06 Multilayer Perceptron 80,06 86,03 Naive Bayes 43,39 36,45 Bayesian Network 43,14 42,14 Logistic Model Tree 72,56 79,80 Ao analisar os resultados percebe-se que o classificador SVM e LMT houve uma queda na taxa de acertos. Com o MLP o resultado com 40 atributos aproximou-se à classificação com 160 atributos, porém, houve um bom ganho no desempenho do classificador. O Naive Bayes por assumir a independência dos atributos, houve uma melhora nos resultados com 20 atributos, porém, ainda com uma precisão fraca. As Bayesian Network levam em consideração a dependência de atributos, porém é difícil estimar o seu modelo, isso pode ter influência no resultado da classificação, fazendo com que o seu resultado permanecesse praticamente o mesmo. Ao verificar os atributos selecionados por correlação, percebeu-se que todos os 40 primeiros atributos estão localizados na região da sobrancelha e boca. Ao realizar a classificação de todos os 60 atributos da base localizados na região da sobrancelha e boca, selecionados manualmente, obteve-se o seguinte resultado, descritos na Tabela IV. TABELA IV. CLASSIFICAÇÃO EMOÇÕES - MANUAL (BOCA E SOMBRANCELHAS) Classificador % Acertos 60 Atributos KNN (k = 1) 86,78 KNN (k = 2) 76,05 SVM 74,81 Multilayer Perceptron 86,28 Naive Bayes 33,16 Bayesian Network 40,89 Logistic Model Tree 81,54 Em todos os classificadores o resultado teve pouca alteração, em relação à seleção por correlação. Após observar a base de dados foi constatado que pode haver atributos menos representativos para a classificação da emoção, como os atributos localizados no nariz ou em torno do rosto e também é possível ver a existência de correlações
  • 6. lineares. Para a seleção de atributos pode ser utilizada o algoritmo PCA que pode descartar atributos menos representativos e converter um conjunto de variáveis correlacionadas a um conjunto de valores de variáveis descorrelacionadas conforme ilustrados na Figura 7 e resultados apresentados na Tabela V. Figura 7 - Resultado após selação de atributos com PCA na base de dados. TABELA V. CLASSIFICAÇÃO EMOÇÕES - PCA Classificador % Acertos 9 Atributos KNN (k = 1) 86,73 KNN (k = 2) 74,81 SVM 67,83 Multilayer Perceptron 72,81 Naive Bayes 65,83 Bayesian Network 57,86 Logistic Model Tree 70,32 Apenas o Naive Bayes e as Bayesian Network tiveram um ganho na precisão da classificação, os demais classificadores houve uma perca na precisão. Outra abordagem de experimentos realizados foi à análise geométrica da face através de classificação das distâncias euclidiana de pontos de interesse (landmarks) da sobrancelha, olhos e boca da face, representadas através de seis atributos exemplificados na Figura 8. Figura 8. Exemplo de seleção de atributos através da distância euclidiana entre pontos A extração dos atributos pode ser expressa pela seguinte fórmula:     Onde A refere-se ao novo atributo extraído pela distância entre os dois pontos P5 e P21. O ponto esquerdo da sobrancelha é expressado por P5 = ( , ) e o ponto esquerdo do olho é expressado por P21 = ( , ). Resultados da classificação das amostras com os seis atributos selecionados estão apresentados na Tabela VI. TABELA VI. CLASSIFICAÇÃO UTILIZANDO DISTÂNCIA EUCLIDIANA - 6 ATRIBUTOS Classificador % Acertos 6 Atributos KNN (k = 1) 83,79 KNN (k = 2) 76,55 SVM 76,05 Multilayer Perceptron 78,55 Naive Bayes 74,31 Bayesian Network 73,31 Logistic Model Tree 77,55 Com a seleção de atributos a partir da distância entre pontos, as taxas de acertos dos classificadores ficaram bem próximas. Os classificadores bayesianos foram os que obtiveram um maior ganho na taxa de acertos utilizando essa abordagem.
  • 7. IV. CONCLUSÃO Neste trabalho foram apresentados experimentos e a análise da aplicação de diferentes técnicas computacionais de reconhecimento de padrões para a classificação de emoções a partir de expressões faciais. Os experimentos foram executados no ambiente WEKA, utilizando a base de dados MUG, composta de atributos extraídos de marcações de pontos da face correspondente a emoções de cada indivíduo. Para tanto, foi selecionado métodos de classificação compreendidos nas categorias: classificador preguiçoso (k-Nearest Neighbors), classificadores bayesianos (Naive Bayes, Bayesian Network), redes neurais (Multilayer perceptron) e regressão logística (Logistic Model Tree). Considerando todos os atributos da base de dados observou-se que os classificadores K-NN (com k=1), SVM, Redes Neurais (MLP) e LMT obtiveram melhores resultados. Porém, devido à quantidade de atributos, a execução das Redes Neurais teve um tempo bem superior de processamento. O classificador Naive Bayes, que considera que os dados sejam independentes, pode-se dizer que existe alguma correlação nos dados que não permite uma grande melhora no desempenho. Aplicando filtro de correlação de Pearson, os classificadores Naive Bayes, Bayesian Network e K-NN (com k=2) obtiveram ganhos com seleção de 20 e 40 melhores atributos ranqueados. Os demais classificadores tiveram perdas, com maior percentual para o classificador SVM (perda de 18,8% e 15,3% para 20 e 40 atributos, respectivamente) Observando os atributos correlacionados, percebeu-se que todos os 40 primeiros atributos ranqueados estão localizados nas regiões da sobrancelha e boca. Realizando comparação de classificação com todos os 60 atributos da base nestas regiões, verificando assim poucas alterações nos percentuais de acertos. Outro teste realizado foi com a aplicação do filtro PCA com nove atributos gerados e que trouxe melhorias significativas para o classificador Naive Bayes e Bayesian Network em comparação com a seleção de todos os atributos. Para o classificador K-NN não houve alterações significativas, porém para os demais classificadores teve queda de precisão. Por último foi aplicado experimentos com a análise geométrica de distância euclidiana de pontos (landmarks) das regiões dos olhos, sobrancelha e boca. Nos resultados alcançados teve ganho com os classificadores bayesianos e perda nos classificadores, SVM, Multilayer Perceptron e Logistic Model Tree. O classificador K-NN não teve alterações significativas. O objetivo do trabalho foi concluído, pois provou-se de maneira sucinta que as técnicas apresentadas conseguem captar, de forma clara, as emoções do indivíduo, recomendando a aplicação de filtros para diminuir o espaço de dimensionalidade dos dados. Como trabalhos futuros pretende-se validar os testes em outras bases de dados semelhantes encontradas na literatura, contendo imagens de pessoas de diferentes etnias e idades. Outro ponto de experimentação futura seria a utilização das Unidades de Ação (UAs) relacionadas à micro expressões faciais da teoria FACS. REFERENCES [1] A. Azcarate, F. Hageloh, K. V. Sande, and, R. Valenti. "Automatic Facial emotion recognition". Universiteit van Amsterdam, 2005. [2] S. Caroline, S. Leizer, O. Luciano. “Detecção de Landmarks em Imagens Faciais Baseada em Informações Locais” XIX Congresso Brasileiro de Automática – CBA, Campina Grande, Paraíba, Brasil, 2012 [3] Du, Shichuan, Yong Tao, and Aleix M. Martinez. “Compound Facial Expressions of Emotion.” PNAS, 2014. [4] C. Darwin, "The expression of the emotions in man and animals", London: John Murray, 1872 [5] P. Ekman, W. V. Friesen, and J. C. Hager, "The facial action coding system". Research Nexus eBook, 2002. [6] B. Fasel, J. Luettin, “Automatic facial expression analysis: a survey”. Pattern Recogntion, v.36, n.1, p.259 – 275, 2003. [7] M. Suwa, N. Sugie, K. Fujimora “A preliminar note on pattern recognition of human emotion expression.” Internation Joint Conference on Pattern Recognition, p.408-410, 1978. [8] Weka 3 - data mining with open source machine learning software in java. University of Waikato. [Online]. Disponível em: http://www.cs.waikato.ac.nz/ml/weka/. Acesso em: 20 de Junho de 2015. [9] T. Cover and P. Hart, “Nearest neighbor pattern classification,” IEEE Trans. Inf. Theor., vol. 13,no. 1, pp. 21–27, Sep. 2006. [10] S. Haykin, “Neural Networks: a comprehensive foundation”, Second Edition, pp. 178-179, 1998. [11] T. Mitchell. Machine Learning. McGraw Hill, 1997. [12] D. D. Lewis, “Naive (Bayes) at forty: The independence assumption in information retrieval”, Machine learning: ECML-98, p.5-15, Springer, 1998. [13] I. Ben-Gal, “Bayesian Networks”, in Ruggeri F., Faltin F. & Kenett R., “Encyclopedia of Statistics in Quality & Reliability”, Wiley & Sons, 2007. [14] L. Niels, H. Mark and F.Eibe, “Logistic Model Trees”, Machine Learning, 59(1/2):161–205, 2006. [15] I.T. Jolliffe, “Principal component analysis”. 2.ed. New York, Springer- Verlag,502p,2002. [16] N. Aifanti, C. Papachristou, Delopoulos, (2005) “A. The MUG Facial Expression Database” In Proc. Workshop on Image Analysis for Multimedia Interactive Services, 2005. [17] H. I. Witten, “Data Mining with Weka” , Department of Computer Science, University of Waikato, New Zealand, 2013.