Upload
letu
View
217
Download
0
Embed Size (px)
Citation preview
Facial Emoticons
Reprodução de Informação Associada a Expressões Faciais por Via do
seu Reconhecimento
Sandra Vanessa Pereira Gama do Rosário
Dissertação para obtenção do Grau de Mestre em
Engenharia Informática e de Computadores
Júri
Presidente: Prof. Joaquim Armando Pires Jorge
Orientador: Prof. Daniel Jorge Viegas Gonçalves
Vogal: Prof. Maria Teresa Caeiro Chambel
Setembro de 2008
Agradecimentos
Ao Professor Daniel Gonçalves, que me indicou sempre o caminho certo a seguir, e cuja motivação me
levou a percorrê-lo até ao fim.
Ao Professor Joaquim Jorge pelas sugestões e críticas. Pelo espírito aberto e vasto conhecimento
que serviram de constante inspiração.
Ao Eng. Filipe Dias pelo interesse e apoio com que incansavelmente acompanhou este trabalho.
Aos meus pais, pelo modelo de competência e equilíbrio. Pelo tão largo espectro de emoções que
percorreram comigo, invariavelmente, a cada etapa. Pela delegação de uma insaciável procura por um
horizonte mais amplo.
Ao Carlos, pelo porto de abrigo e constante disponibilidade. Pela motivação inerente à procura de
um novo motivo de orgulho. Por tudo, também.
Aos meus amigos, em especial à Estela Kakoo, pelo entusiasmo e motivação constantes. Pela
presença nos momentos em que é necessária uma pausa para, logo a seguir, se ir em frente com
coragem redobrada.
A todos os membros do VIMMI pelo debate de ideias e partilha de conhecimento. Pela forma como
acolheram este projecto.
A todas as pessoas que participaram nas sessões de recolha de amostras. Ao "darem a cara",
forneceram um precioso contributo para este trabalho.
i
ii
Resumo e palavras-chave
Resumo A expressão facial é uma forma de comunicação não verbal muito eficiente para partilha de
emoções entre seres humanos. Efectivamente, muitas destas expressões são universalmente
compreensíveis.
Actualmente, no panorama cibernético, tenta colmatar-se a escassez de formas não verbais de
comunicação através dos denominados emoticons.
A detecção facial e reconhecimento automático de expressões baseia-se no processamento de
imagem e reconhecimento de padrões. O desenvolvimento nestas áreas potencialmente resultará
em avanços multidisciplinares, desde a interacção pessoa-máquina à medicina.
O objectivo deste estudo é a geração de emoticons através do reconhecimento de expressões
faciais e reprodução desta informação numa interface utilizador.
Para tal, é necessário fazer a localização facial, que recorre à biblioteca Open Computer Vision
(OpenCV), através do uso de um classificador de Haar em cascata, obtendo-se uma imagem
facial. Esta imagem é processada para detecção de características, igualmente com recurso à
biblioteca supracitada, passando também pelo desenvolvimento de uma metodologia de detecção
de arestas adaptada à imagem facial. Finalmente, a partir das características do rosto, é feita a
classificação, baseada em classificadores Bayesianos.
Em função dos resultados obtidos considera-se que, apesar de haver uma grande margem para
evolução, uma interface que utilize o reconhecimento automatizado de padrões para efectuar a
ponte entre a expressão facial e a representação da mesma em forma de emoticons é extrema-
mente viável e que uma metodologia baseada em algoritmos com baixo custo computacional,
como detecção de arestas e classificadores Bayesianos, permite obter resultados bastante satis-
fatórios, com latências reduzidas.
Palavras-chave: reconhecimento facial, emoticons, expressões faciais, reconhecimento de padrões,
interfaces utilizador
iii
iv
Abstract and keywords
Abstract Facial expressions are highly efficient non-verbal means to share emotions among human
beings. Many of those expressions are universally understandable. Nowadays, people use emoti-
cons as surrogate facial expressions to compensate for the lack of non-verbal forms of expression
in electronic-mediated communication.
Facial detection and automatic expression recognition systems are based on image processing
and pattern recognition. Developments in these fields will potentially result in multidisciplinary
advances, ranging from human-machine interaction to medicine. The main objective of our study
is to generate emoticons through facial recognition, as a way to more easily and naturally interact
with computers.
To do so, face tracking is done through the use of the OpenCV library, which relies on a Haar
cascade classifier. The result is a facial image that is further processed for feature detection.
Bayesian classifiers are used on a final stage to infer the expression on the user’s face. While our
methodology requires relatively low computational power, such as edge detection and Bayesian
classifiers, it yields good results with low-latency rates.
Our results show that, despite of some room for improvement, facial-expression-based interaction
is viable. While the recognition rate is not perfect, it is comparable to that of humans. This was
good enough to allow us to create interfaces that generate emoticons from facial expressions and
use these as a means of communication.
Keywords: facial recognition, emoticons, facial expressions, pattern recognition, user interfaces
v
vi
Índice
Agradecimentos i
Índice vi
Lista de figuras ix
Lista de tabelas xii
Lista de siglas e abreviaturas xv
1 Introdução 11.1 Objectivos e Contribuições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Organização do Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2 Trabalho Relacionado 52.1 Detecção Facial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Extracção de Características Faciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Classificação de Expressões Faciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Imagens Estáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Sequências de Imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3.3 Análise Global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3 Trabalho Desenvolvido 253.1 Detecção Facial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2 Normalização da Imagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Extracção de Características Faciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.3.1 Características Consideradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.2 Modelo de Características Faciais . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3.3 Detecção das Características Faciais . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 Transformação de Características para Classificação . . . . . . . . . . . . . . . . . . . . . 413.4.1 Distância entre os olhos e as sobrancelhas . . . . . . . . . . . . . . . . . . . . . . 423.4.2 Abertura dos olhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.4.3 Abertura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.4.4 Largura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.4.5 Distância média entre os cantos da boca e os olhos . . . . . . . . . . . . . . . . . 453.4.6 Distância média entre a altura dos cantos da boca e o centro da boca . . . . . . . 46
3.5 Classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473.5.1 Classificadores Bayesianos com Intervalos de Decisão Discretos . . . . . . . . . . 483.5.2 Classificadores Bayesianos Gaussianos . . . . . . . . . . . . . . . . . . . . . . . . 50
vii
4 Demonstradores 534.1 Classificação de Expressões Faciais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544.2 Inserção de Emoticons na Janela Activa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.3 E-motional Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5 Avaliação e Resultados Experimentais 595.1 Avaliação com testsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.1.1 Resultados obtidos com testsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.2 Avaliação com utilizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
5.2.1 Protocolo de recolha de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.2.2 Resultados da Avaliação com Utilizadores . . . . . . . . . . . . . . . . . . . . . . . 645.2.3 Análise de Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3 Testes de Referência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6 Conclusões e Trabalho Futuro 776.1 Conclusões finais e discussão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Bibliografia 79
viii
Lista de Figuras
2.1 Metodologia básica para o reconhecimento de expressões faciais . . . . . . . . . . . . . 62.2 Expressoes Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3 AAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Exemplos típicos de faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Filtros de Gabor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.6 GFK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7 Parâmetros de acção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.8 pca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.9 Grelha - Imagem Facial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.10 Support Vector Machine (SVM) - Margem máxima entre os vectores de dados . . . . . . 142.11 Rede Neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.12 Rede de Hopfield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.13 Função Sigmóide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.14 Ajustamento ao olho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.15 Amplitude de expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.16 Expressões em sequências de imagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.17 Otsuka - motion deformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.18 Piecewise Bézier Volume Deformation (PBVD) . . . . . . . . . . . . . . . . . . . . . . . . 202.19 Modelo Candide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.1 Estrutura de Módulos da Biblioteca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2 OpenCV para detecção de rostos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3 Haar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4 Acções unitárias que recorrem a outras características faciais . . . . . . . . . . . . . . . . 313.5 Rostos médios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.6 Rosto híbrido médio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.7 Modelo de pontos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.8 Parâmetros do rosto para animação (Moving Picture Experts Group Layer-4 Video (MPEG-
4)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.9 Comparação entre o rosto médio e os parâmetros do (MPEG-4) . . . . . . . . . . . . . . 353.10 Metodologia genérica para a detecção de características faciais . . . . . . . . . . . . . . 353.11 Aplicação de Gaussian Blur a uma imagem . . . . . . . . . . . . . . . . . . . . . . . . . . 383.12 Aplicação de Gaussian Blur a uma imagem facial . . . . . . . . . . . . . . . . . . . . . . . 383.13 Aplicação do operador Canny a uma imagem . . . . . . . . . . . . . . . . . . . . . . . . . 393.14 Aplicação de um operador Canny a uma imagem facial . . . . . . . . . . . . . . . . . . . 393.15 Processamento da imagem durante o processo de detecção de características . . . . . . 403.16 Detecção de características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.17 Utilização do modelo para estimação do posicionamento da boca . . . . . . . . . . . . . 41
ix
3.18 Distância entre os olhos e as sobrancelhas . . . . . . . . . . . . . . . . . . . . . . . . . . 423.19 Variação da distância entre os olhos e as sobrancelhas . . . . . . . . . . . . . . . . . . . 423.20 Abertura dos olhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.21 Variação da abertura dos olhos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.22 Abertura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.23 Variação da abertura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.24 Largura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.25 Variação da largura da boca . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.26 Distância média entre os cantos da boca e os olhos . . . . . . . . . . . . . . . . . . . . . 453.27 Variação da distância entre os cantos da boca e os olhos . . . . . . . . . . . . . . . . . . 463.28 Distância média entre a altura dos cantos e o centro da boca . . . . . . . . . . . . . . . . 463.29 Variação da distância entre a altura dos cantos e o centro da boca . . . . . . . . . . . . . 473.30 Estruturas de dados, preenchidas na fase de treino do classificador de Bayes com Inter-
valos de Decisão Discretos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.31 Estruturas de dados preenchidas na fase de treino do classificador Bayesiano Gaussiano 51
4.1 Demonstrador do classificador de expressões faciais . . . . . . . . . . . . . . . . . . . . . 544.2 Inserção de emoticons na janela activa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.3 Inserção de emoticons na janela activa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4 E-motional Jukebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.1 Resultados percentuais para classes feliz e triste com testsets . . . . . . . . . . . . . . . 615.2 Causas de classificações incorrectas para classes feliz e triste com testsets . . . . . . . . 615.3 Resultados percentuais para todas as classes de expressões com testsets . . . . . . . . 625.4 Causas de classificações incorrectas para todas as classes de expressões com testsets 625.5 Resultados percentuais para as classes feliz e triste em testes com utilizadores, usando
30 amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.6 Resultados percentuais para todas as expressões faciais em testes com utilizadores,
usando 30 amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.7 Resultados percentuais para as expressões alegre e triste em testes com utilizadores,
usando 10 amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.8 Resultados percentuais para todas as expressões faciais em testes com utilizadores,
usando 10 amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.9 Resultados percentuais para as expressões alegre e triste em testes com utilizadores,
usando 10 amostras de treino da base de dados dos testsets . . . . . . . . . . . . . . . . 695.10 Causas de classificações incorrectas para classes feliz e triste em testes com utilizadores 695.11 Resultados percentuais para todas as expressões faciais em testes com utilizadores,
usando 10 amostras de treino da base de dados dos testsets . . . . . . . . . . . . . . . . 705.12 Causas de classificações incorrectas para todas as classes de expressões em testes
com utilizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.13 Resultados percentuais para as expressões alegre e triste em testes com utilizadores,
usando 10 frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.14 Resultados percentuais para todas as expressões faciais em testes com utilizadores,
usando 10 frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725.15 Factores de influência na classificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.16 Resultados percentuais para as expressões alegre e triste em testes com utilizadores,
usando 10 frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
x
5.17 Resultados percentuais para todas as expressões faciais em testes com utilizadores,
usando 10 frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.18 Resultados comparativos entre a classificação automática e a classificação por utilizadores 76
xi
xii
Lista de Tabelas
2.1 Análise comparativa de métodos de classificação de expressões faciais. . . . . . . . . . . 23
3.1 Action Units (AUs) do sistema Facial Action Coding System (FACS) . . . . . . . . . . . . 30
5.1 Taxas de acerto para as expressões triste e feliz no contexto dos testsets . . . . . . . . . 605.2 Taxas de acerto para todas as classes de expressões no contexto dos testsets . . . . . . 625.3 Taxas de acerto para as expressões feliz e triste em testes com utilizadores usando 30
amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4 Taxas de acerto para todas as expressões faciais em testes com utilizadores, usando 30
amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.5 Taxas de acerto para as expressões feliz e triste em testes com utilizadores, usando 10
amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.6 Taxas de acerto para todas as expressões faciais em testes com utilizadores, usando 10
amostras de treino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.7 Taxas de acerto para as expressões feliz e triste em testes com utilizadores, usando 10
amostras de treino da base de dados dos testsets . . . . . . . . . . . . . . . . . . . . . . 685.8 Taxas de acerto para todas as expressões faciais em testes com utilizadores, usando 10
amostras de treino da base de dados dos testsets . . . . . . . . . . . . . . . . . . . . . . 695.9 Taxas de acerto para as expressões feliz e triste em testes com utilizadores, usando 10
frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.10 Taxas de acerto para todas as expressões faciais em testes com utilizadores, usando 10
frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.11 Taxas de acerto para as expressões feliz e triste em testes com utilizadores, usando 10
frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.12 Taxas de acerto para todas as expressões faciais em testes com utilizadores, usando 10
frames por expressão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
xiii
xiv
Lista de siglas e abreviaturas
2DPCA Two-Dimensional PCA
AU Action Unit
AAM Active Appearance Model
AP Action Parameters
CDSSS Classification Driven Stochastic Structure Search
DLL Dynamic-link Library
EHMM Embedded Hidden Markov Model
EM Expectation Maximization
FACS Facial Action Coding System
f.d.a. Função Distribuição Acumulada
FDP Facial Definition Parameters
FSLP Feature Selection via Linear Programming
GFK General Face Knowledge
HMM Hidden Markov Model
HSV Hue, Saturation, Value
LBP Local Binary Pattern
LDA Linear Discriminant Analysis
MPEG-4 Moving Picture Experts Group Layer-4 Video
MU Motion Unit
NB Naive Bayes
OpenCV Open Computer Vision
PBVD Piecewise Bézier Volume Deformation
PDM Point Distibution Model
PCA Principal Components Analysis
PPBTF Pixel-Pattern-Based Texture Feature
RBF Radial Basis Functions
SDAM Simple Direct Appearance Models
SVM Support Vector Machine
TAN Tree-Augmented Naive Bayes
xv
Capítulo 1
Introdução
O ser humano tem uma grande facilidade em reconhecer e distinguir expressões faciais. Muitas des-
tas expressões têm características que as tornam universalmente compreensíveis entre pessoas de
diferentes proveniências e culturas. A expressão facial é, assim, um dos métodos mais poderosos e
eficientes para partilha de emoções e intenções entre as pessoas.
Actualmente, no universo da comunicação escrita pela internet, a ausência de linguagem corporal,
mais especificamente de expressões faciais que enfatizem a mensagem a transmitir, deu origem aos
denominados emoticons.
Estas expressões não verbais de comunicação têm-se tornado, ao longo dos anos, amplamente
utilizadas para reforçar o significado de mensagens textuais. Com efeito, ocorrem maioritariamente
em situações em que emissor e destinatário comunicam remotamente através de mensagens escritas.
Hoje em dia, com a globalização e massificação da internet, torna-se bastante comum este tipo de
comunicação, apelando-se cada vez mais a uma representação gráfica, sendo através de ícone ou
texto, de uma dada expressão facial. Para tal, é necessário:
• Procurar um emoticon numa lista - neste caso, a aplicação onde pretende utilizar-se este elemento
tem de dispor de um conjunto de imagens pré-definidas que possam corresponder à expressão
desejada; ou
• Utilizar a combinação de vários elementos iconográficos do teclado de modo a simular a expres-
são.
Numa situação ideal, este tipo de comunicação seria o mais aproximada possível de uma interacção
pessoa-pessoa. Como tal, o computador deveria ser dotado de mecanismos automáticos que permitis-
sem a reprodução do emoticon correspondente à expressão facial do utilizador sem a necessidade de
uma indicação explícita.
Desde os primórdios da computação, dotar a máquina de um comportamento inteligente tem vindo
a ser um objectivo pluridisciplinar estimulante entre as diversas áreas de conhecimento a nível das
tecnologias de informação. Conferir aos sistemas computacionais um comportamento humano é, além
de uma meta final extraordinariamente fascinante, um percurso que tem passado pelo desenvolvimento
de inúmeros estudos para obtenção de avanços que, embora graduais, são bastante motivantes.
A detecção facial e reconhecimento automático de expressões surge como um desafio interessante
na sequência de estudos realizados no âmbito da análise de imagem e reconhecimento de padrões.
1
O desenvolvimento destes estudos pode trazer melhorias significativas na área da interacção pessoa-
máquina, tornando-se ao mesmo tempo um precioso contributo para a ciência comportamental, psico-
logia e medicina.
Na área das interfaces utilizador, dada a natureza da sua aplicabilidade, é necessário implementar
uma solução que tenha um desempenho perto da resposta a tempo real. Torna-se então essencial
encontrar um compromisso entre o sucesso na classificação de expressões e uma boa rapidez de
resposta por parte do sistema.
1.1 Objectivos e Contribuições
O principal objectivo deste trabalho é encontrar uma forma de permitir o reconhecimento de expressões
faciais e reprodução desta informação numa interface utilizador.
O processamento da imagem, que consiste na detecção do rosto, extracção de características de
interesse e classificação da expressão, tem em conta diversos estudos relevantes na área. Com efeito,
tenta adaptar os aspectos de interesse de vários trabalhos de investigação ao problema em estudo,
através de uma combinação de metodologias que visa atingir bons resultados através da utilização de
algoritmos potencialmente leves.
O presente estudo propõe uma nova modalidade de interacção para inserção de emoticons na janela
activa. Esta modalidade baseia-se na recolha de imagem e consequente processamento da mesma por
forma a avaliar a expressão do utilizador, sendo reproduzida a informação resultante sob a forma de
emoticon.
Neste contexto foi necessário desenvolver um conjunto de protótipos que permitissem aplicar os
algoritmos desenvolvidos a situações reais, com o objectivo de avaliar a sua eficiência. Como tal, foram
criados três demonstradores cujas funcionalidades se encontram descritas em detalhe no capítulo 4.
Estes protótipos permitem, respectivamente:
• A captura e classificação detalhada de expressões faciais, com informação adicional relativa à
classificação;
• A inserção de emoticons em qualquer janela activa;
• A classificação de músicas, no contexto de um tocador áudio, de acordo com as expressões do
utilizador.
Foi também desenvolvido um conjunto de testes automatizados com o intuito de aferir, de uma forma
mais objectiva, o desempenho do classificador.
Consideram-se os resultados como sendo satisfatórios caso estes demonstrem uma clara distin-
ção entre a expressão correspondente à emoção exprimida pelo utilizador e as restantes classes de
expressões.
1.2 Organização do Documento
Este documento é organizado da seguinte forma:
2
• No capítulo 2 é analisado o trabalho que tem vindo a ser desenvolvido nos últimos anos na área
em estudo. São tidos em conta os vários passos na detecção de expressões faciais, desde
a detecção do rosto numa imagem arbitrária até à extracção de elementos faciais relevantes e
subsequente classificação da expressão correspondente. São explorados trabalhos que utilizam
imagem estática e dinâmica (vídeo) e estudadas as diversas abordagens à classificação. É feito
um estudo comparativo do trabalho que tem vindo a ser desenvolvido nesta área de modo a
procurar uma direcção a tomar de acordo com os requisitos para o trabalho a implementar.
• O capítulo 3 apresenta o trabalho realizado e as decisões de implementação que foram tomadas
na sua concretização, discutindo as diversas alternativas existentes. É descrito em detalhe o
processo de detecção e normalização facial, bem como a forma como é efectuada a extracção
das características necessárias à classificação da expressão. É, também, devidamente exposto
o processo de classificação, sendo feita uma comparação entre os dois métodos de classificação
adoptados.
• No capítulo 4 são descritos os protótipos que foram desenvolvidos com o intuito de demonstrar
algumas aplicações práticas dos algoritmos propostos no contexto deste trabalho.
• O capítulo 5 apresenta os resultados obtidos no contexto do presente estudo. São expostas
as métricas adoptadas para medir o desempenho do classificador, bem como os resultados dos
vários testes efectuados. É também feita uma análise dos resultados destes testes.
• No capítulo 6 são enunciadas as conclusões do presente trabalho, tal como os seus pontos fortes
e fracos, sendo apontada uma direcção para futuro trabalho de investigação que poderá advir
deste.
3
4
Capítulo 2
Trabalho Relacionado
Desde o início da história da computação, tem vindo a tentar adaptar-se um determinado conjunto
de respostas e capacidades humanas aos sistemas computacionais. No entanto, é no contexto do
boom tecnológico recente que têm surgido inúmeros estudos que procuram imbuir a máquina de um
comportamento inteligente. Para tal, têm vindo a ser exploradas várias áreas de conhecimento com o
objectivo de dotar os sistemas computacionais de um comportamento aproximadamente humano.
O reconhecimento de expressões faciais é uma modalidade que visa aumentar a familiaridade da
comunicação com os utilizadores, em que idealmente estes interagem com um sistema computacional
como se de uma interacção pessoa-pessoa se tratasse.
Dado o potencial expressivo de um rosto humano, esta área tem vindo, principalmente ao longo da
última década, a ser amplamente explorada.
Para o ser humano, reconhecer expressões é um processo simples, rápido e pouco propício a
erros. Com efeito, logo nos primeiros anos de vida aprendemos a avaliar a emoção que se traduz nos
elementos do rosto.
No caso de um sistema computacional, este processo envolve uma série de restrições e, conse-
quentemente, implica a adopção de um conjunto de técnicas e algoritmos relativamente complexos.
O reconhecimento automático de expressões faciais deve ter em conta factores como a luminosi-
dade do meio ambiente, a posição do utilizador em relação à câmara e as características do próprio
utilizador como a presença de pêlos faciais e óculos. Os objectivos da sua aplicabilidade determinam
outros requisitos, nomeadamente requisitos de desempenho a nível temporal e quantização da imagem,
que determina se os dados de input consistem em vídeo ou quadros individuais.
Para que uma expressão facial seja reconhecida, é necessário seguir uma metodologia coerente.
Os trabalhos desenvolvidos na área sub-dividem o reconhecimento facial em três fases genéricas, como
ilustrado na figura 2.1:
• Detecção do rosto numa imagem arbitrária – O utilizador encontra-se normalmente perante
uma câmara num ambiente relativamente controlado. No entanto, é plausível que estejam pre-
sentes diversos artefactos exteriores ao rosto. Para que o processamento seja eficaz e eficiente,
é necessário eliminar informação desnecessária. Esta fase identifica uma zona como sendo a
região da face do utilizador, após o que apenas esta área será processada nas fases seguintes;
• Detecção das características faciais – Este passo consiste em, dada uma imagem facial, extrair
5
as características que são relevantes à classificação da expressão. Normalmente, é dada mais
ênfase às sobrancelhas, olhos, nariz e boca.
• Classificação da expressão – Tendo disponível a informação correspondente à localização das
características faciais do rosto na imagem, é possível proceder à classificação da expressão. Esta
fase, que pode basear-se em diversos métodos de classificação, desde os mais simples aos mais
complexos, é abordada em detalhe na secção 2.3 deste capítulo.
MódulodeDetecçãoFacial
MódulodeExtracçãodeCaracterís7cas
MódulodeClassificação
ExpressãoFacial
ImagemFacial
Caracterís7casparaClassificação
ImagemArbitrária
Figura 2.1: Metodologia básica para o reconhecimento de expressões faciais
Uma vez que este estudo se centra maioritariamente na classificação de expressões faciais, os
outros pontos, já amplamente estudados e analisados, são aqui referidos a título contextual. Assim,
numa base introdutória, são apresentadas algumas das principais abordagens aos problemas.
2.1 Detecção Facial
O ser humano tem facilidade em reconhecer uma face mesmo nos casos em que a iluminação é des-
favorável ou a pessoa a reconhecer se encontra a uma grande distância. A maior parte dos estudos
realizados neste campo é feita em ambientes controlados, com luminosidade constante e em que a
face é apresentada frontalmente e a uma distância constante da câmara. Na presente abordagem,
considera-se que a face poderá ter sido sujeita a alguma rotação, uma vez que se pretende a simula-
ção de condições o mais realistas possível. Os sistemas de detecção facial existentes seguem diversas
abordagens. No caso do ser humano, segundo Bruce [5], a presença de características e a relação
destas entre si é muitas vezes mais importante do que as características individuais. O modelo mental
6
humano segue uma abordagem holística, na medida em que a face é vista como um todo e não como
um conjunto de características individuais, como acontece no caso da aproximação analítica.
Existem numerosos estudos que exploram este problema. No que diz respeito à detecção de um rosto
em imagens faciais, Huang e Huang [19], bem como Pantic e Rothkrantz [38], seguem abordagens
holísticas. O primeiro estudo obtém a estimativa da localização da face através de um detector de con-
tornos e opta pela adopção de um modelo representativo da face, enquanto que o segundo utiliza duas
vistas do utilizador (de frente e de perfil), detectando o contorno facial através da detecção de perfil e da
utilização de modelos de cor. Uma abordagem analítica, proposta por Kimura e Yachida [23], consiste
em localizar o centro dos olhos e da boca, utilizando estes pontos-âncora para normalizar a imagem e
modelar a face.
Em termos da detecção facial em sequências de imagens, podemos sub-dividir os estudos realizados
em dois grandes grupos: baseada em características e baseada em aparência. No primeiro caso,
utiliza-se essencialmente a cor do rosto como característica de interesse. De facto, mesmo entre dife-
rentes grupos étnicos, a tonalidade da tez acaba por localizar-se num intervalo relativamente apertado
de valores. O estudo de Saber e Tekalp [45] define regiões de pele através de um classificador que
assinala os pixéis candidatos a pertencerem a uma região do rosto, adaptando posteriormente um
modelo elíptico a cada região disjunta. Vezhnevets [52] propõe a aglomeração de pixéis segundo a
probabilidade de pertencerem a um rosto, agrupando-os numa região aproximadamente elíptica, a que
posteriormente aplica um modelo deformável ou adaptativo até obter a imagem facial. No caso da
detecção baseada em aparência, o rosto é encarado como um padrão em termos de intensidades de
pixéis, como referem Sung e Poggio [47]. Neste tipo de abordagem, os padrões faciais são distinguidos
de padrões não faciais através da sub-divisão de uma imagem em janelas de menor dimensão. Os
estudos de Rowley et al. [43] e Pham et al. [41] realizam detecção facial através de redes neuronais em
imagens em escala de cinzentos. Viola e Jones [54] propõem a utilização do algoritmo AdaBoost, que
selecciona as características mais representativas num grande espaço de amostragem e sub-divide a
imagem em janelas, sendo estas sujeitas a testes em cascata em que são rejeitadas caso não corres-
pondam a imagens faciais. Neste método baseiam-se os estudos de Bartlett et al. [28] e Zhan et al.
[58], que têm desempenho em tempo real, sendo que o primeiro utiliza funções de Haar, computacio-
nalmente leves, e o segundo serve-se de uma combinação eficiente de classificadores extremamente
simples (método de amplificação ou boosting). Mais recentemente, também o estudo de Cao e Tong
[6] e de Lu et al. [29] adoptam, para a detecção do rosto, o método proposto por Viola e Jones [54]. A
biblioteca Open Source Open Computer Vision (OpenCV), da Intel, centra-se essencialmente na visão
computacional em tempo-real. Permite a identificação de objectos, bem como o rastreamento de mo-
vimentos e o reconhecimento facial, entre outros. Esta implementação baseia-se também no método
proposto por Viola e Jones [54]. Existem aproximações à detecção facial em sequências de imagens
que não se incluem nos grupos anteriores. O método proposto por Pentland et al. [39] baseia-se na
obtenção de blobs de movimento, em que cada blob passível de representar uma cabeça humana é
avaliado como uma imagem única. Ainda, Hong et al. [18] exploram um sistema PersonSpotter para fa-
zer o rastreamento da cabeça de um indivíduo, baseando-se em filtros preditivos para estimar a cabeça
e respectiva velocidade num dado instante.
7
2.2 Extracção de Características Faciais
Existem três aproximações principais a este problema: holística, analítica e uma combinação de ambas,
que resulta numa aproximação híbrida. Os métodos baseados em modelos adequam-se às abordagens
holísticas, enquanto que os métodos baseados em características são maioritariamente usados con-
juntamente com abordagens analíticas. Terzopoulos e Waters [49], bem como Black e Yacoob [4],
representam a face como uma estrutura com uma dada textura ou um modelo espacio-temporal de
movimento. Métodos baseados em modelos estão intimamente relacionados com este tipo de aproxi-
mação.
Em termos de imagens estáticas, o estudo de Hong et al. [18], baseado em modelos, utiliza a
framework PersonSpotter, que se baseia em dois grafos distintos, um mais esparso e outro mais denso,
para localizar a face e suas características, respectivamente. Vezhnevets et al. [53] propõem um
método também baseado em modelos, em que se obtêm as posições dos olhos através da análise de
variações dos canais de vermelho da imagem e dos lábios através de modelos iterativos de cor e de
pele.
Os estudos realizados por Bassili [2] e Bruce [5], baseados em características, sugerem que a
descrição dos movimentos de pontos relacionados com os principais elementos faciais e análise das
relações entre estes podem clarificar as propriedades principais de uma dada face. Estes resulta-
dos incentivaram uma série de trabalhos de investigação que seguiram uma aproximação analítica do
problema, dos quais o estudo de Padgett e Cottrell [36] é um dos percursores. Kobayashi e Hara [24]
estudam a distribuição de brilho na face, cruzando linhas verticais entre os principais pontos da mesma.
Saber e Tekalp [45] localizam os olhos através de algoritmos de cor, utilizando estes dados para apro-
ximar, através de funções de custo, a posição dos outros elementos do rosto. Pantic e Rothkrantz [38]
utilizam uma aproximação bi-dimensional da face, através do uso das vistas frontal e de perfil, sendo
usados múltiplos detectores para cada característica facial e decidido o melhor destes. Yang et al. [56]
exploram uma implementação bi-dimensional do algoritmo Principal Components Analysis (PCA) para
representar imagens faciais, o que implica a criação de uma matriz de covariâncias a partir das matri-
zes originais da imagem, cujos vectores próprios são usados na extracção de características. Turhal et
al. [51] propõem um algoritmo em duas etapas que consiste numa evolução do anterior, baseando-se
numa decomposição da matriz de covariâncias, em que se obtêm os vectores e valores próprios, sendo
que a extracção de características faciais é feita através do uso deN vectores próprios correspondentes
aos N maiores valores próprios.
Existem ainda soluções híbridas, em que um conjunto de pontos faciais determina a posição inicial
para uma template que modela a face, como refere o estudo de Lam e Yan [27]. Yoneyama et al.
[57] calculam o fluxo óptico entre imagens através da aplicação de uma grelha rectangular sobre a
imagem normalizada de uma dada face, determinando o fluxo para cada uma das regiões da grelha e
comparando as imagens sucessivas, localizando assim as características faciais.
No que diz respeito a sequências de imagens, o estudo de Black e Yacoob [4] baseia-se em diversos
modelos parametrizados de fluxo para estimar movimento, sendo que os parâmetros resultantes são
tratados recorrendo a um esquema de regressão baseado no brilho da imagem. Malciu e Preteux [31]
seguem uma aproximação baseada em modelos deformáveis para fazer o rastreamento da boca e dos
olhos em sequências arbitrárias de vídeo, consistindo a deformação dos modelos em mapeamentos
geométricos bi-dimensionais. Mais recentemente, Cao e Tong [6] apostam na utilização de um operador
Local Binary Pattern (LBP) para a detecção de características faciais. Este operador, definido como a
8
medida de textura invariante em escala de cinzentos, é obtido através da textura numa dada região
e sua vizinhança. Além de apresentar invariância a alterações monotónicas de níveis de cinzento, é
computacionalmente simples, permitindo bons desempenhos temporais.
Alguns dos métodos baseados em características são o estudo de Cohn et al. [8] e de Zhan et
al. [58]. O primeiro define pontos à volta das principais características faciais que possibilitam o cál-
culo, através das alterações entre as várias imagens, de vectores de fluxo que permitem localizar as
características-chave. O segundo serve-se da aplicação de filtros de Gabor, que consistem em sinu-
soidais complexas modeladas por funções Gaussianas bidimensionais, a um conjunto de pontos de
referência (normalizados a partir de testes efectuados sobre um conjunto de imagens faciais), para ex-
trair os elementos-chave do rosto. Mais recentemente, o estudo de Lu et al. [29] assenta numa nova
representação de características, Pixel-Pattern-Based Texture Feature (PPBTF). Este método discri-
minativo baseado em aparência para extracção de elementos faciais tem por base a utilização de um
mapa de padrões. Este mesmo mapa é gerado a partir de uma dada imagem, sendo que cada pixel das
arestas e do fundo é associado a uma dada classe de padrões-modelo, o que permite encarar imagens
faciais como uma composição de micro-padrões. Este método, além de rápido, é robusto a condições
de iluminação variáveis.
Em termos de abordagens híbridas, o estudo proposto por Essa e Pentland [16] combina a extracção
de características próprias através do algoritmo PCA à aplicação de modelos de fluxo para estimar o
movimento facial. Kimura e Yachida [23] obtêm um campo de potencial correspondente a uma dada
imagem, ao qual aplicam um modelo cuja deformação permite localizar os principais elementos faciais.
2.3 Classificação de Expressões Faciais
Em relação à classificação de expressões, estudamos nesta secção o desempenho de sistemas que
consideram imagens e o de sistemas que exploram sequências de imagens.
O problema da classificação da expressão facial é encarado fazendo a distinção entre imagens ou
sequências de imagens. No primeiro caso, encontram-se abordagens baseadas em modelos, redes
neuronais ou regras. No último, existem métodos baseados em modelos, em regras ou híbridos. São
ainda apresentadas algumas considerações a ter em conta neste contexto.
Na secção 2.3.3 é apresentado um comparativo entre as características de cada uma das apro-
ximações, tentando tornar claros os elementos que possam ser relevantes no presente estudo. São,
ainda, resumidas as características desejáveis de um sistema a implementar no que diz respeito a uma
solução na área das interfaces utilizador.
Ekman e Friesen, nos estudos [14] e [15], dividiram as expressões faciais em seis grandes classes
de emoções básicas: alegria, tristeza, surpresa, repugnância, cólera e medo, ilustradas na figura 2.2.
Alguns autores consideram o estado neutro como uma sétima classe de emoções. Cada emoção
básica é definida tendo em conta a expressão facial que caracteriza essa emoção univocamente. No
entanto, esta representação tornou-se bastante limitativa. Efectivamente é comum, para o ser humano,
a manifestação de várias emoções em simultâneo o que, consequentemente, resulta numa mistura
entre várias destas expressões básicas.
De modo a tentar vencer este problema, Ekman e Friesen desenvolveram um sistema, o Facial
Action Coding System (FACS) [15], que permite a especificação precisa da morfologia e dinâmica de
9
(a) Alegria (b) Tristeza (c) Surpresa (d) Repugnância (e) Cólera (f) Medo
Figura 2.2: As seis expressões faciais básicas. Fonte: Ekman e Friesen [15]
movimentos faciais. Baseado em conhecimentos de anatomia, vídeos e fotografias ilustrativos de como
a contracção de cada músculo facial desempenha um papel na alteração de expressão de um dado
indivíduo, este sistema tornou-se uma das maiores referências nesta área. O FACS define 46 Action
Units (AUs), que correspondem a um conjunto de músculos que definem um dado movimento indepen-
dente da face. Cada expressão pode ser sub-dividida emN AUs, tendo cada uma destas um significado
associado. As diferentes combinações de diversas AUs leva a uma vastíssima quantidade de expres-
sões faciais a serem caracterizadas e estudadas, sendo possível então obter, através do uso do FACS,
bastante informação. No entanto, tem vindo a ser executado manualmente, recorrendo a peritos deste
sistema, o que leva a um gasto exacerbado de recursos. Algumas das tentativas na área do reconheci-
mento de expressões faciais têm como objectivo uma automatização deste processo, como os estudos
realizados por Cohn et al. [8], Essa e Pentland [16] e Pantic e Rothkrantz [38]. Contudo, muitos des-
tes centraram-se numa automatização parcial, em que são seleccionadas manualmente as principais
características faciais para reconhecimento, como os estudos de Donato et al. [9] e Kaiser et al. [21].
Segundo Ekman [12], uma característica ainda não explorada pelos sistemas de reconhecimento
automático de expressões faciais é o facto de o ser humano atribuir diferentes pesos aos diversos
grupos musculares da face. As expressões correspondentes aos músculos superiores prevalecem
sobre as expressões da parte inferior da face quando esta avaliação é feita por um ser humano.
Algumas questões a resolver têm que ver com a capacidade de um sistema:
• Reconhecer expressões faciais independentemente de características fisionómicas;
• Ser robusto à caracterização de expressões tendo em conta que a intensidade de demonstração
de um dado sentimento varia de indivíduo para indivíduo.
Neste passo do reconhecimento de expressões existe uma clara distinção entre o tratamento de
imagens estáticas e de sequências de imagens. Uma sequência de imagens minimiza o erro associado
a este processo, uma vez que é possível visualizar uma expressão desde o estado neutro até à sua
maior amplitude, regressando à expressão neutra.
2.3.1 Imagens Estáticas
Métodos baseados em Modelos
Edwards et al. [10] apresentam uma framework que utiliza Active Appearance Models (AAMs) para
reconhecimento facial, cujo objectivo é identificar o indivíduo independentemente da posição e lumino-
sidade. Um AAM contém um modelo estatístico da forma e aparência de nível de cinzento do objecto.
10
Para ajustar o modelo à imagem a analisar, é necessário procurar parâmetros que minimizem a dife-
rença entre ambos, o que implica alguma dificuldade, dado o número potencialmente elevado de parâ-
metros existentes. Normalmente, o ajustamento é feito em dois passos: numa fase de treino, o AAM
sintetiza um modelo linear correspondente à relação entre desfasamentos de parâmetros e resíduos
induzidos; na fase de procura, mede os resíduos e usa este modelo para corrigir os parâmetros actuais,
melhorando iterativamente a adaptação do modelo. Um exemplo do funcionamento de algoritmos base-
ados em AAM pode observar-se na figura 2.3. Considerando que um conjunto de parâmetros pode ser
o suficiente para descrever e interpretar uma dada imagem, neste estudo cria-se uma template porme-
norizada de uma face-objectivo, de modo a modelar essa mesma face o mais realisticamente possível.
Obtiveram-se resultados de 40,6% de taxa de sucesso para reconhecimento de expressões faciais em
imagens com diferentes condições de luminosidade e posições do rosto, como as da figura 2.4.
Figura 2.3: Ajuste de AAM em três iterações a partir da posição inicial. Fonte: Edwards
et al. [10]
Figura 2.4: Exemplos típicos de faces utilizadas no estudo de Edwards et al. [10]
Hong et al. [18] utilizam uma galeria para auxiliar a caracterização de uma dada expressão. Uma
galeria pessoal caracteriza-se pela existência de imagens de um dado indivíduo relativas às seis ex-
pressões básicas, conjuntamente com a expressão neutra. A face da pessoa a analisar é associada
à mais semelhante que existe na galeria, sendo esta utilizada para caracterizar a expressão da face-
objectivo. Parte do princípio que duas pessoas com fisionomias aproximadamente similares têm uma
maneira semelhante de expressar a mesma emoção. Este método combina filtros de Gabor com o
método Elastic Graph Matching, que consiste num processo simples para comparar grafos com ima-
gens e gerar novos grafos para descrever as características visuais básicas de uma imagem. Um filtro
de Gabor enquadra-se na categoria de filtros lineares, em que a resposta impulsiva é definida pela
combinação de uma função harmónica com uma função Gaussiana. As Gabor Wavelets, sinusóides
moduladas através de Gaussianas, são usadas nos filtros de Gabor para representar dilatações e ro-
tações, resultando num espaço de Gabor. Os filtros de Gabor são bastante eficientes para detectar a
localização de linhas e arestas em imagens, como pode observar-se na figura 2.5. Esta aproximação
provou ser eficiente independentemente de variações de luminosidade do meio. Foram ainda usadas
estruturas de General Face Knowledge (GFK), que constituem uma pequena galeria de imagens cujos
grafos são criados através de nós colocados em pontos-chave da imagem, como ilustrado na figura 2.6.
Quando o grafo da face objectivo é criado, este é comparado com os da galeria até ser encontrada a
11
face que melhor corresponde à inicial. Este método tem uma taxa de sucesso de cerca de 89%. O
tempo para reconhecimento da expressão facial é de 0,5 segundos. No entanto, o tempo associado ao
processo total no contexto do estudo realizado rondou os 8s, o que acaba por ser pouco satisfatório.
(a) Imagem original (b) Resultado
Figura 2.5: Exemplo da aplicação de filtros de Gabor a uma imagem
Figura 2.6: Exemplo da aplicação de GFK ao rosto. Fonte: Hong et al. [18]
Huang e Huang [19] descrevem 10 Action Parameters (AP), que se baseiam no diferencial entre
uma face neutra e uma face com uma dada expressão. Estas AP substituem ou são conjugações de
algumas AUs do sistema FACS, como representado na figura 2.7.
Figura 2.7: Parâmetros de acção sugeridos por Huang et al. Fonte: Huang e Huang [19]
É aplicado o algoritmo PCA a esses parâmetros a fim de reduzir a dimensionalidade para 2, o que
se traduz numa simplificação do processo de reconhecimento. A PCA é um método que permite re-
duzir a dimensionalidade de um conjunto de dados através da análise de covariância entre factores.
12
Assim sendo, o algoritmo que implementa a PCA extrai a direcção de maior extensão de uma nuvem
de valores em espaço multi-dimensional. Esta direcção é o componente principal. A direcção ortogonal
a esta será encontrada de seguida, como ilustrado na figura 2.8, reduzindo-se a nuvem a um espaço
bi-dimensional. O processo de reconhecimento é realizado em duas etapas: a primeira reconhece a
expressão através do uso dos APs existentes no conjunto de treino e a segunda consiste na utilização
do perfil dos APs de uma dada expressão desconhecida para identificação. É usada uma função de
avaliação para determinar o grau de semelhança entre uma expressão desconhecida e uma das seis
expressões básicas. Este sistema tem uma taxa de sucesso de cerca de 84,5% nos casos estuda-
dos. No entanto, não pode prever-se o seu desempenho na análise de expressões de indivíduos não
conhecidos pelo sistema.
Figura 2.8: Redução de dimensionalidade através da implementação de PCA. Fonte: Hu-
ang e Huang [19]
O estudo proposto por Lyons et al. [30] utiliza uma grelha que consiste em 34 nós posicionados
manualmente sobre uma imagem facial, como ilustrado na figura 2.9. É posteriormente calculada a
transformada de Gabor para cada um desses nós e combinados os dados num vector. Os vectores
deste tipo são submetidos a um algoritmo PCA, sendo posteriormente analisados através de Linear
Discriminant Analysis (LDA) e agrupados segundo os atributos faciais. A LDA é um método estatís-
tico que procura a combinação linear das características que melhor classificam uma dada imagem,
reduzindo a dimensionalidade do problema. Uma imagem que não seja classificada positivamente em
nenhuma das categorias é considerada neutra. Este método foi testado, tendo-se obtido um desempe-
nho de 92% em termos de classificação correcta das expressões faciais para utilizadores conhecidos,
enquanto que para novos indivíduos o sucesso é de cerca de 75%.
Figura 2.9: Posicionamento de grelha sobre imagem facial. Fonte: Lyons et al. [30]
Mais recentemente, Lu et al. [29] adoptam Support Vector Machines (SVMs) para a classificação
de expressões faciais. As SVMs consistem num método para treino de amostras que se baseia num
princípio de minimização do risco estrutural, que minimiza, assim, o erro de generalização [34]. Sendo
que os dados podem ser vistos como dois conjuntos de vectores num espaço de dimensão N , o SVM
divide esse espaço através de um hiperplano que maximiza a margem entre os dois conjuntos de dados,
13
como ilustrado na figura 2.10, sendo consequentemente denominado classificador de margem máxima.
Com efeito, uma larga margem entre os valores correspondentes aos vectores dos dois sub-conjuntos
de dados implica um risco de generalização minimizado do classificador.
Figura 2.10: SVM - Margem máxima entre os vectores de dados. Fonte: Lu et al. [29]
Métodos Baseados em Redes Neuronais
Uma rede neuronal, como representado na figura 2.11, é representada por ligações entre elementos
de processamento a que se atribuem pesos, que consistem nos parâmetros que definem a função
não-linear efectuada pela rede neuronal. A determinação destes parâmetros é denominada de treino
(training) ou aprendizagem (learning), sendo as redes neuronais adaptativas.
Figura 2.11: Exemplo de Rede Neuronal
No estudo realizado por Kobayashi e Hara [24], é aplicada uma rede neuronal de propagação inversa
(Back-Propagation Neural Network ). Este é o tipo mais comum de redes neuronais e caracteriza-se
pela existência de camadas de entrada e de saída e ainda de uma camada "escondida", que torna
possível o mapeamento de relações de entrada na saída do modelo. Antes de qualquer informação
ter passado pela rede, os valores dos nós são aleatórios. São chamadas de Back-Propagation Neural
Networks uma vez que, ao serem treinadas, quando uma classificação é atribuída, esta é comparada
com a classificação actual dos nós. O valor da classificação é propagado de novo na rede, o que faz
14
com que os nós da camadas escondida e da camada de saída ajustem os seus valores em resposta a
um eventual erro de classificação. A entrada da rede neuronal consiste nos dados relacionados com a
distribuição de brilho extraídos de uma dada imagem facial. O resultado corresponde a uma categoria
de emoção. Usou-se uma amostra de treino da mesma dimensão da amostra de teste, tendo-se obtido
resultados na ordem dos 85% de taxa de sucesso num tempo de aproximadamente 66,7ms.
Yoneyama et al. [57], consideram quatro tipos de expressões: tristeza, surpresa, cólera e alegria. No
reconhecimento destas expressões, é utilizado um par de bits para representar o valor dos parâmetros
e duas redes de Hopfield discretas. Uma rede de Hopfield baseia-se num conjunto de neurónios e um
conjunto correspondente de unidades de atraso, formando um sistema de realimentação múltiplo, como
pode ver-se na figura 2.12. As redes são treinadas utilizando a regra de aprendizagem de Personnaz
[40]. Para cada imagem examinada, o resultado da primeira rede é combinado com os exemplos de
treino para esta rede, calculando-se as distâncias Euclideanas e decidindo-se se a categoria da expres-
são é ou não determinada. Caso não o seja, o resultado da segunda rede de Hopfield é combinado
com os exemplos usados para treino desta rede de modo a decidir a categoria da expressão. Neste
estudo, a taxa de sucesso é de 92%.
Figura 2.12: Exemplo de Rede de Hopfield com 4 neurónios. Fonte: Yoneyama et al. [57]
Padgett e Cottrell [36] aplicam também uma rede neuronal de propagação inversa, em que o input
consiste na projecção normalizada de blocos de pixéis correspondentes aos principais componentes do
espaço próprio de blocos de pixéis da imagem. É aplicada uma função de activação de Sigmoid, que
consiste numa função monótona crescente que permite uma transição contínua e diferenciável entre os
níveis 0 e 1 da saída. Uma escolha comum para esta função é exemplificada na figura 2.13. O resultado
é uma das seis expressões básicas ou, alternativamente, a expressão neutra. Foram treinadas 12 redes
neuronais. A taxa de sucesso é de 86%.
Zhang et al. [59] utilizam uma rede neuronal para atribuir uma das seis expressões básicas, ou
a expressão neutra, a uma dada imagem facial. A rede neuronal recebe a posição geométrica dos
principais pontos faciais, para além dos coeficientes de wavelets de Gabor de cada um desses mesmos
pontos. A rede reduz a dimensionalidade dos dados de entrada e infere estatisticamente o grupo em
15
Figura 2.13: Exemplo de uma função de activação de Sigmoid. Fonte: Padgett e Cottrell
[36]
que classifica a expressão dada. O resultado consiste numa estimação da probabilidade de a expressão
pertencer à categoria em que é inserida. A taxa de sucesso é de cerca de 90,1% para indivíduos
conhecidos do sistema, não tendo sido testado noutros casos.
No estudo realizado por Zhao e Kearney [60], é usada uma rede neuronal de propagação inversa
para classificação de uma imagem facial numa das seis categorias básicas. Os dados de entrada
desta rede neuronal consistem num conjunto de intervalos, que resultam do tratamento estatístico das
distâncias normalizadas entre vários pontos da face. O resultado consiste numa das seis expressões
faciais básicas. A taxa de sucesso é de 100% para indivíduos conhecidos, enquanto que não se prevê
o resultado para indivíduos novos para o sistema.
O estudo proposto por Stathopoulou e Tsihrintzis [46] apresenta um método de extracção de carac-
terísticas baseado em aparência, utilizando o vector de elementos faciais como input para uma rede
neuronal, que classifica o padrão da janela num de três grandes grupos: surpresa, alegria ou estado
neutro. O facto de a rede neuronal não ser aplicada directamente a toda a face mas a pequenas porções
do rosto provou ser mais eficiente temporalmente. A taxa de sucesso é de 98,4%.
Feitosa et al. [17] estudam a utilização de duas diferentes redes neuronais no reconhecimento
das seis principais expressões faciais. A primeira é uma rede neuronal de propagação inversa, que
define um método sistemático de actualizar os pesos de redes multinível. Devido ao facto de o treino
destas redes ser bastante demorado, abordaram-se neste estudo as redes neuronais baseadas em
Radial Basis Functions (RBF). Estas redes são constituídas por três camadas: a de input, uma camada
escondida, que utiliza uma função de activação radialmente simétrica, e a camada de output, com uma
função de activação linear. São de treino simples e rápido, uma vez que se baseiam no princípio de
que uma função arbitrária pode ser aproximada através da sobreposição de um conjunto de funções
básicas localizadas. Os resultados obtidos em termos de taxa de sucesso são de 71,8% através da
utilização de uma rede neuronal de propagação inversa e de 73,2% com redes baseadas em RBF.
Métodos Baseados em Regras
Pantic e Rothkrantz [38] dividem o reconhecimento facial em várias etapas. Depois de calculados os
pontos principais da face, as características-modelo são extraídas e é calculada a diferença entre estas
e as mesmas características-modelo da face neutra do mesmo indivíduo, como se pode ver na figura
2.14 em relação aos olhos.
16
Figura 2.14: Ajustamento ao olho: características-modelo. Fonte: Pantic e Rothkrantz
[38]
A deformação do modelo, conjuntamente com o FACS, permitem a classificação da expressão na
classe correspondente. A taxa de sucesso é de 92% para a metade superior da face e de 86% para a
metade inferior.
O estudo recente de Khanam et al. [22] apresenta um sistema fuzzy Mamdani-type, baseado em
regras, para reconhecimento de expressões faciais. Esta implementação utiliza uma base de conhe-
cimento dividida em dois componentes principais: base de dados e base de regras. A primeira é
composta pelo input do sistema, que consiste em vários estados das diversas características faciais,
e expressão de output, que corresponde a uma das sete expressões básicas. A base de regras é
constituída por regras fuzzy, sendo estas maiores ou menores. As primeiras são as que classificam
as expressões faciais básicas do rosto, representando o estado típico de cada emoção. As segun-
das permitem uma ligeira sobreposição entre expressões (como, por exemplo, alegria-surpresa, que
comummente se verifica), possibilitando uma transição suave entre as expressões básicas e tendo,
logicamente, um menor peso na classificação. A taxa de sucesso varia dos 70% aos 100%, sendo o
valor médio de 87,5%.
2.3.2 Sequências de Imagens
Métodos baseados em Modelos
Cohn et al. [8] aplicam classificadores distintos nas diversas partes do rosto. Os preditores são os
deslocamentos dos pontos faciais ao longo de uma sequência de imagens. Como pode observar-se
na figura 2.15, uma dada expressão é determinada pela sequência de imagens desde o estado neutro
até à sua amplitude máxima. A classificação baseou-se em matrizes de variância-covariância. Este
sistema tem algumas restrições, principalmente no que diz respeito à iluminação (pelo que o ambiente
deve ser de luminosidade constante), bem como à não existência de óculos ou pêlos faciais por parte
do indivíduo a analisar. A melhor classificação, na zona das sobrancelhas, é de 92%, enquanto que
nas regiões dos olhos e do nariz e boca as taxas de sucesso são de 88% e 83%, respectivamente.
O estudo realizado por Essa e Pentland [16] extrai a energia relacionada com o movimento no plano
espacio-temporal da sequência recebida, relacionando os valores obtidos com os modelos de energia
bi-dimensionais do plano espacio-temporal para as expressões-padrão, como mostrado na figura 2.16.
É calculada a norma Euclideana da diferença entre ambas, sendo esta usada como classificador para
a semelhança com uma dada expressão básica. A taxa de sucesso deste método ronda os 98%.
Kimura e Yachida [23] estudam a adequação de uma rede de potencial a cada quadro da sequên-
cia. O padrão da rede deformada é comparado com o padrão extraído de uma face que apresenta a
expressão neutra, sendo a variação da posição dos nós da rede usada para processamento posterior.
17
Figura 2.15: Sequência de imagens demonstrativa dos passos seguidos até à amplitude
máxima de uma dada expressão. As linhas que partem dos pontos chave do
rosto representam alteração de posição destes devido à existência de uma
expressão facial. O comprimento das mesmas representa a intensidade da
expressão. Fonte: Cohn et al. [8]
(a) Expressões de surpresa e alegria
(b) Expressões de surpresa e alegria
(modelo)
(c) Energia espacio-temporal relacio-
nada com o movimento
Figura 2.16: Determinação de expressões em sequências de imagens. Fonte: Essa e
Pentland [16]
18
Este estudo não teve sucesso em indivíduos desconhecidos.
Eisert e Girod [11] propõem um algoritmo baseado num modelo tridimensional que especifica a
forma e a textura da cabeça de uma pessoa, cuja superfície é modelada por B-Splines. Partindo do
princípio de que uma expressão facial resulta da combinação de movimentos locais, como definido
no sistema FACS, são localizadas as deformações do modelo, classificando uma dada expressão na
classe correspondente. O movimento é obtido através de um método hierárquico baseado na análise
de fluxo óptico. Não é conhecido o tempo necessário ao processo. A taxa de sucesso é classificada
qualitativamente como sendo bastante satisfatória mas não se conhecem métricas quantitativas.
Otsuka e Ohya [35] usam um Hidden Markov Model (HMM) que modela a expressão, desde o
estado neutro inicial até ao estado neutro final. Para tal, recorrem à estimação do movimento na área
que circunda o olho direito e a boca através de algoritmos de fluxo (como ilustrado na figura 2.17),
após o que procedem à extracção de características e fazem corresponder a sequência temporal do
vector de características aos modelos que representam cada expressão facial. Este sistema permite
o reconhecimento de múltiplas sequências de imagens. É usado o algoritmo de Baum-Welch para
calcular a probabilidade de transição entre estados. Não se conhece uma taxa de sucesso quantitativa
deste método.
Figura 2.17: Estimação do movimento através de algoritmos de fluxo. Fonte: Otsuka e
Ohya [35]
Wang e Yachida [55] exploram grafos com arestas com um determinado peso para representar a
face, em que algumas destas são representadas para reconhecer expressões. Para cada uma de três
categorias de emoções – cólera, alegria e surpresa – é associada uma curva B-spline que descreve a
relação entre a alteração de expressão e o deslocamento da aresta correspondente. Existem restrições
à existência de óculos ou pêlos faciais e a iluminação deve ser constante para a aplicação deste método.
A taxa de sucesso ronda os 95%.
Hulsken et al. [20] utilizam uma evolução de HMM para processar eficientemente sequências de
imagens, que consiste em modelos HMM Pseudo-tridimensionais (P3DHMM), gerados a partir da en-
capsulação dos super-estados correspondentes a HMM bidimensionais. Para melhorar o desempenho,
os super-estados são partidos em quatro HMM didimensionais, reduzindo-se assim a complexidade
temporal. Nesta aproximação usa-se o algoritmo de Baum-Welch para treinar as amostras e o algoritmo
de Viterbi na classificação. Conseguiram-se taxas de sucesso na ordem dos 90% para reconhecimento
19
independente da pessoa a ser analisada. Não é referido quantitativamente o tempo inerente a este
processo.
Outra evolução, mais recente, dos modelos baseados em HMM é o trabalho de Cao e Tong [6],
que estuda a utilização de Embedded Hidden Markov Model (EHMM). Estes modelos baseiam-se na
expansão de cada estado do HMM principal para um novo HMM, obtendo-se assim um super-estado,
correspondente ao modelo exterior, e um estado embebido, correspondente ao estado do modelo inte-
rior. Tem-se, assim, um super-estado por característica, sendo que um estado embebido não pode ser
transferido de um super-estado para outro.
O estudo de Cohen et al. [7] visa construir um sistema em tempo-real que classifique imagens fa-
ciais a partir de dados de vídeo. Baseia-se no tracker desenvolvido por Tao e Huang [48] denominado
Piecewise Bézier Volume Deformation (PBVD), que se serve de um modelo tridimensional da imagem
facial, ajustado ao rosto a analisar, para acompanhar os movimentos dos principais elementos faciais
(figura 2.18). Os movimentos são definidos em termos de parâmetros de controlo de volume de Bézier
e são denominados de Motion Unit (MU). Utilizam-se classificadores de redes Bayesianas, aplicando
estimações de máxima verosililhança para aprender os parâmetros da rede. O algoritmo Expectation
Maximization (EM) é utilizado para maximizar a função de verosimilhança quando os dados estão in-
completos. Neste estudo é explorado o uso dos classificadores Naive Bayes (NB) e Tree-Augmented
Naive Bayes (TAN). O primeiro assume os elementos como independentes dado o rótulo da classe. O
seu desempenho é aceitável muitas vezes devido à necessidade de aprendizagem de poucos parâme-
tros. O segundo constrói uma árvore através da organização hierárquica dos elementos faciais. Estes
classificadores permitem obter bons resultados, sendo de 77,70% no melhor caso para o NB e 80,40%
para o classificador TAN. É ainda explorado o classificador Classification Driven Stochastic Structure
Search (CDSSS), que permite obter resultados melhores que os anteriores, com uma taxa de sucesso
máxima de 83,62%. De notar que este sistema opera em tempo real.
(a) Volumes do PBVD (b) Representação de sorriso
Figura 2.18: Utilização de PDVD para acompanhar movimentos faciais. Fonte: Cohen et
al. [7]
Bartlett et al. [1] exploram um sistema que lida com rotação facial associada a acções faciais espon-
tâneas. Esta aproximação ajusta um modelo tridimensional da face e normaliza a mesma, colocando-a
numa vista frontal. Este processo, contudo, não é totalmente automático, uma vez que os pontos-chave
da face são marcados manualmente de modo a aplicar o modelo tridimensional. O desempenho do
classificador atingiu um sucesso de 98%.
20
Também recentemente, Kotsia et al. [26] utilizam, além de informação geométrica obtida através de
informação relacionada com o movimento dos músculos faciais, uma evolução de SVM para a classi-
ficação de expressões. O método que estudam sugere a adopção do Candide [44], um modelo facial
definido por aproximadamente 100 polígonos (e portanto computacionalmente leve), controlado pelas
várias AUs, que é ilustrado na figura 2.19.
Figura 2.19: Modelo Candide. Fonte: Kotsia et al. [26]
Este modelo é semi-automaticamente ajustado à face do utilizador no primeiro quadro de vídeo e
acompanhada até ao final do mesmo, enquanto a expressão facial vai sofrendo evoluções. No fim, o
algoritmo produz a grelha Candide deformada que corresponde à expressão facial com maior intensi-
dade. O deslocamento geométrico de cada ponto da grelha, definido pela diferença entre a posição
inicial e final, é utilizado como input para o sistema SVM. Este sistema evoluiu para incorporar informa-
ção estatística acerca das classes a examinar, obtendo um aumento de cerca de 6% relativamente ao
SVM convencional. Com efeito, o melhor resultado em termos de desempenho é de 98,2%.
Métodos baseados em Regras
Os estudos realizados por Black e Yacoob [4], [3] utilizam modelos de movimento para representar
movimentos rígidos da cabeça e movimentos não rígidos na zona facial. Os parâmetros extraídos
desses modelos, denominados de regras, são usados para derivar as características que permitem
identificar o movimento de dada zona facial. O número de acções faciais identificáveis através deste
método é desconhecido. No entanto, para cada uma das seis expressões básicas, é desenvolvido um
modelo identificado por um conjunto de regras para detectar o início e o fim de cada expressão facial.
Nos testes realizados pelos autores, a taxa de sucesso é de aproximadamente 88%. Contudo, existe
ainda alguma confusão de expressões, provavelmente devido ao facto de as regras usadas para a
classificação não estarem suficientemente optimizadas.
2.3.3 Análise Global
A tabela 2.1 apresenta um resumo dos vários métodos de classificação de expressões faciais, em
termos de aspectos significativos num sistema que implementa algum tipo de interface pessoa-máquina.
21
As características de valor consistem na capacidade do sistema de responder a tempo real, de suportar
sequências de imagens ou imagens estáticas, a sua robustez a variações de luminosidade, pêlos faciais
e óculos e rotação facial e a taxa de sucesso de classificação (no melhor caso).
No que diz respeito aos sistemas que suportam imagens estáticas, os baseados em modelos pa-
recem apresentar uma maior robustez a variações de luminosidade e artefactos adicionais, embora
alguns destes estudos tenham algumas limitações em termos de desempenho. O mais relevante é o
proposto por Lu et al. [29], que apresenta uma taxa de sucesso bastante satisfatória e opera em tempo
real, mesmo sob condições variáveis de luminosidade, embora não exista informação relativamente à
robustez a rotação e artefactos faciais adicionais. Ainda, o estudo de Zhao et al. [60] destaca-se entre
os métodos baseados em redes neuronais, apresentando uma taxa de sucesso de 100% para indiví-
duos conhecidos, embora não se saiba o resultado para indivíduos novos ao sistema. No entanto, no
âmbito desta abordagem, não se dispõe de informação suficiente para averiguar a robustez dos siste-
mas às condicionantes consideradas. O mesmo acontece no que diz respeito aos métodos baseados
em regras, embora estes pareçam ser promissores no que diz respeito ao trabalho de Khanam et al.
[22], uma vez que é possível a obtenção de desempenhos de 100%.
Em particular, embora os estudos de Lyons et al. [30], Yoneyama et al. [57], Zhang et al. [59],
Stathopoulou e Tsihrintzis [46], e Pantic e Rothkrantz [38] apresentem também taxas de sucesso ex-
tremamente satisfatórias (acima dos 90%), não se conhecem as restrições impostas em termos de
robustez à existência de pêlos faciais ou óculos, bem como à rotação facial ou, em vários casos, varia-
ções de luminosidade. Os sistemas propostos por Hong et al. [18], Huang e Huang [19], Feitosa et al.
[17], e Padgett e Cottrell [36] não são particularmente interessantes no presente contexto, uma vez que
estão sujeitos às mesmas incertezas em termos de robustez a factores externos e apresentam taxas
de sucesso menos favoráveis.
Os sistemas que suportam sequências de imagens são maioritariamente baseados em modelos. No
entanto, muitos dos estudos não suportam variações de luminosidade, bem como existência de pêlos
faciais ou óculos. De facto, os sistemas propostos por Cohn et al. [8], Wang e Yachida [55] e Hulsken
et al. [20] apresentam taxas de sucesso bastante elevadas, mas tornam-se pouco interessantes no
presente contexto dada a sua baixa robustez a condições aleatórias de interacção. No que diz respeito
aos estudos de Eisert e Girod [11], Kimura e Yachida [23] e Otsuka e Ohya [35], existe alguma falta de
informação não só no que diz respeito à robustez dos sistemas em termos de restrições ambientais e
contextuais, mas também no que concerne as taxas de desempenho, sendo estas mencionadas como
sendo aceitáveis ou bastante positivas, embora não existam métricas quantitativas. Os estudos que
satisfazem as restrições impostas para um sistema desejável são os de Cohen et al. [7] e de Cao e
Tong [6], uma vez que ambos operam em tempo real. O segundo, embora apresente uma taxa de
acerto menos elevada, é robusto a condições variáveis de luminosidade.
De um modo geral, a classificação de expressões através de métodos baseados em modelos, am-
plamente explorada e com resultados promissores, adequa-se ao presente estudo. Adicionalmente, a
utilização de aspectos-chave referentes a outros métodos para a classificação, como a utilização de
regras, apresenta mais-valias potenciais para a classificação.
22
Tabela 2.1: Análise comparativa de métodos de classificação de expressões faciais.
tempo variações robustez a robustez a tx. máx.
Método real de luz pêlos/óculos rotação sucesso
Imagem Estática
Modelos
Huang e Huang [19], 1997 - - - - 84,5%†
Edwards et al. [10], 1998 - S - S 40,6%∗
Hong et al. [18], 1998 N S - N 89%∗
Lyons et al. [30], 1999 - - - - 92% †, 75% ‡
Lu et al. [29], 2007 S S - - <98,2%∗
Redes Neuronais
Padgett e Cottrell [36], 1996 - - - - 86%∗
Zhao et al. [60], 1996 - - - - 100% †
Kobayashi e Hara [24], 1997 S - - - 85%∗
Yoneyama et al. [57], 1997 - - - - 92%∗
Zhang et al. [59], 1998 - - - - 90,1% †∗
Feitosa et al. [17], 2000 - - - - 71,8–73,2%∗
Stathopoulou e
Tsihrintzis [46], 2004 - - - - 98,4%∗
Regras
Pantic e Rothkrantz [38], 2000 - - - - 86–92%∗
Khanam et al. [22], 2008 - - - - 70-100%∗
Sequência de Imagens
Modelos
Eisert e Girod [11], 1997 - - - - -
Essa e Pentland [16], 1997 - - - - 98%∗
Kimura e Yachida [23], 1997 - - - - -
Cohn et al. [8], 1998 - N N - 83–92%∗
Otsuka e Ohya [35], 1998 - - - - -
Wang e Yachida [55], 1998 - N N - 95%∗
Hulsken et al. [20], 2001 - N N - 90% † ‡
Bartlett et al. [1], 2003 - - - S 98%∗
Cohen et al. [7], 2003 S - - - 83,62%∗
Kotsia et al. [26], 2007 - - - - 98,2%∗
Cao e Tong [6], 2008 S S - - 79,3%∗
Regras
Black e Yacoob [3], 1995 e [4], 1997 - - - - 88%∗
† pessoas conhecidas do sistema ‡pessoas desconhecidas do sistema ∗ ignora-se contacto prévio dos utilizadores com o sistema
23
24
Capítulo 3
Trabalho Desenvolvido
Na sequência dos trabalhos de investigação analisados no capítulo anterior, referentes à classificação
de expressões faciais, decidiu seguir-se a aproximação geralmente adoptada no contexto deste tipo de
sistemas, isto é, uma abordagem da base para o topo. Assim, o problema principal foi segmentado em
três sub-problemas principais que visam à sua simplificação e resolução:
• Detecção Facial: a localização do rosto na imagem e extracção dos pontos correspondentes à
posição deste;
• Extracção de Características Faciais: a determinação, a partir da imagem facial, do posiciona-
mento das características principais do rosto;
• Classificação: a utilização das características faciais para a determinação da expressão corres-
pondente.
O funcionamento interno da arquitectura concebida divide-se em cinco módulos principais, como
ilustrado na figura 3.1.
1. Módulo de Detecção Facial: nesta fase, é recebida a imagem inicial, arbitrária, e feita a detecção
do rosto;
2. Módulo de Normalização: as imagens do rosto, que podem ter dimensões bastante variadas de
acordo com a resolução da imagem inicial e com o tamanho do rosto em relação à imagem, são
normalizadas de modo a possibilitar um processamento mais eficiente nas fases seguintes;
3. Módulo de Extracção de Características: a imagem normalizada do rosto é sujeita a proces-
samento através de uma série de algoritmos que devolvem as coordenadas das características
principais do rosto;
4. Módulo de Transformação de Características: as coordenadas das características que definem
a expressão (olhos, sobrancelhas e boca) são transformadas num conjunto de coordenadas mais
adequadas ao classificador;
5. Módulo de Classificação: o conjunto de coordenadas transformadas é passado ao classificador,
que devolve a expressão correspondente à imagem original, completando assim o processo de
classificação da expressão.
25
MódulodeDetecçãoFacial
MódulodeNormalização
MódulodeExtracçãodeCaracterís:cas
MódulodeTransformaçãodeCaracterís:cas
MódulodeClassificação
ExpressãoFacial
ImagemFacial
Caracterís:casparaClassificação
ImagemArbitrária
ImagemFacialNormalizada
CoordenadasdeCaracterís:cas
Figura 3.1: Estrutura da abordagem ao problema do Reconhecimento de Expressões Fa-
ciais
3.1 Detecção Facial
No âmbito do presente estudo, o utilizador encontra-se num ambiente arbitrário, servindo-se apenas de
uma webcam para interagir com o sistema. Consequentemente, foi definido que a solução a apresentar
deveria ter a capacidade de processar imagens independentemente do seu contexto, isto é, que deveria
processar coerentemente não só imagens meramente faciais, mas também imagens em que figurassem
quaisquer outros elementos que não rostos humanos.
Como tal, era necessário encontrar uma forma de detectar o rosto numa imagem arbitrária.
Como referido no capítulo 2, existem diversos métodos para atingir este objectivo, desde a utilização
26
de blobs de movimento (Pentland et al. [39]) até à utilização de algoritmos de cor e posterior adaptação
de modelos (Saber e Tekalp [45]), ao uso de filtros preditivos para estimar a posição da cabeça do
indivíduo (Hong et al. [18]) e redes neuronais (Rowley et al [43] e Pham et al. [41]).
Contudo, o método de Viola e Jones [54], que subdivide a imagem em janelas que são processa-
das por classificadores em cascata computacionalmente leves, permitiu a outros investigadores, como
Bartlett et al. [28] e Zhan et al. [58], desenvolver sistemas com resposta em tempo real. Este método
é utilizado também na biblioteca OpenCV da Intel. Esta biblioteca, que consiste numa série de algo-
ritmos que solucionam questões relacionadas com a visão computorizada em tempo real, apresenta
diversas vantagens. Efectivamente, a biblioteca resolve o problema da detecção facial de um modo
temporalmente eficiente e bastante preciso.
Uma vez que o foco do trabalho não era dar especial ênfase à detecção do rosto na imagem, além
de ser necessário não só que a face fosse localizada numa imagem arbitrária como também que tal
ocorresse em tempo real, a detecção facial foi feita com recurso a esta biblioteca.
O detector integrado na biblioteca OpenCV usa o método proposto por Viola e Jones [54], que
consiste em treinar um classificador com algumas centenas de:
• Imagens faciais, denominadas exemplos positivos, uma vez que se trata da característica de
interesse para o classificador;
• Imagens não faciais arbitrárias, às quais se chamam exemplos negativos, uma vez que se afas-
tam da característica de interesse.
O classificador consiste na combinação de uma série de outros classificadores que utilizam carac-
terísticas de Haar através do método de amplificação ou boosting [54]. As características de Haar, que
consistem na categorização de imagens através da soma de pixeis para cada região rectangular da
imagem, são usadas para codificar os contrastes intrínsecos ao rosto humano e as relações espaciais
correspondentes às características faciais.
O método de amplificação ou boosting consiste na estruturação de uma série de classificadores
computacionalmente leves em cascata. Consequentemente, cada um destes classificadores mais sim-
ples é aplicado subsequentemente a uma região da imagem até que essa mesma região candidata
seja rejeitada ou aceite. O processo é repetido para todas as janelas em que a imagem principal é
subdividida, permitindo localizar todos os rostos presentes, como ilustrado na figura 3.2.
Na figura 3.3 resume-se este processo de classificação para a detecção de um rosto, que é o
utilizado na biblioteca OpenCV.
Dada a necessidade de recorrer a largas centenas de imagens faciais para treinar um classificador
em cascata, foi usado um classificador treinado disponível para download 1.
A aproximação utilizada para a detecção facial na biblioteca OpenCV permite extrair todos os rostos
existentes numa dada imagem. No entanto, dado o tipo de interface que se pretende, em que apenas
um utilizador interage com o sistema, é apenas tido em conta um rosto. Diminui-se assim o peso
computacional da detecção de todos os rostos numa imagem, consequentemente reduzindo ao máximo
a latência correspodente a este módulo do trabalho.
1http://aleReimondo.no-ip.org/OpenCV
27
Figura 3.2: Utilização da biblioteca OpenCV para detecção de rostos numa imagem arbi-
trária. Fonte: http://www.intel.com
3.2 Normalização da Imagem
Dispondo da área de interesse a analisar, ou seja, a área correspondente à face do utilizador na ima-
gem, detectada na fase anterior do processo, tornou-se necessário ter em atenção um conjunto de
especificidades.
Para que o sistema possa ser usado por qualquer utilizador que possua uma webcam, e uma vez
que os dispositivos apresentam diferentes resoluções e os utilizadores se podem encontrar a diferentes
distâncias da câmara, é preciso ter em conta que as imagens de input terão dimensões variadas.
Para permitir uma extracção o mais precisa possível das características do rosto, e uma vez que al-
guns algoritmos são sensíveis à dimensão dos elementos a recolher, tornou-se necessária e pertinente
a normalização da imagem.
Como esta fase se segue à detecção do rosto numa imagem arbitrária, somente esta área sofre
normalização, por forma a maximizar recursos. A imagem passa a apresentar dimensões-padrão antes
de ser processada para extracção das características faciais.
Consequentemente, e como será referido em mais detalhe no capítulo 3.3.2, foi utilizado um modelo
na detecção das características faciais. Este modelo consiste nas características de uma face conside-
rada média e é usado como base para inferir valores indeterminados na classificação. A normalização
da imagem original que é recebida como input no sistema é feita tendo em conta as dimensões do
modelo adoptado, por forma a permitir maior coerência e flexibilidade. Assim, se o modelo for alterado,
a dimensão da imagem acompanhará essa modificação.
28
início:regiãoac-var=1
classificadorac-vok=1
correclassificadorac-vo
classificadorac-vo:k++
regiãoaceite?
fimdosclassificadores?
regiãoaprocessar:r++
FIM.Regiãodeinteresse:r
sim
não
não
sim
Figura 3.3: Funcionamento do classificador Haar em cascata
3.3 Extracção de Características Faciais
Uma vez dispondo de uma imagem que obedece a dimensões-padrão, procedeu-se à extracção de
características do rosto, necessárias ao processo de classificação.
3.3.1 Características Consideradas
A norma técnica FACS, criada em 1978 por Ekman e Friesen [15], permite a categorização de compor-
tamentos faciais tendo em conta os músculos que produzem as acções correspondentes. Este método
define uma série de AUs, que consistem nas acções unitárias correspondentes a movimentos de um
ou mais músculos do rosto, resultando na alteração de aparência do indivíduo. Através da utilização
de combinações de diferentes AUs, é possível a definição de um largo espectro de expressões faciais.
Este sistema permite, assim, decompor uma expressão nas várias AUs responsáveis pelo movimento
com vista à classificação da expressão correspondente. Citando os autores, este sistema tem em conta
29
as acções unitárias ilustradas na tabela 3.1.
Tabela 3.1: AUs do sistema FACS
Referência Acção
1 Elevação da parte interior das sobrancelhas
2 Elevação da parte exterior das sobrancelhas
4 Depressão das sobrancelhas
5 Elevação da pálpebra superior
6 Elevação da bochecha
7 Compressão das pálpebras
9 Enrugamento do nariz
10 Elevação do lábio superior
11 Aumento de profundidade da região nasolabial
12 Alongamento dos cantos da boca
13 Cantos da boca ligeiramente repuxados para cima
14 Cantos da boca ligeiramente repuxados para baixo
15 Depressão dos cantos da boca
16 Depressão do lábio inferior
17 Elevação do queixo
18 Contracção extrema de ambos os lábios
20 Alongamento extremo, rabaixado, dos lábios
22 Compressão dos lábios mostrando os dentes
23 Compressão da boca
24 Pressão compressiva dos lábios
25 Separação entre os lábios
26 Maxilar aberto
27 Boca amplamenta aberta
28 Lábios comprimidos para o interior da boca
41 Pápebras superiores descontraídas
42 Pálpebras semicerradas
43 Pálpebras cerradas
44 Sobrolho franzido
45 Piscar de olhos
46 Piscar de um só olho
De acordo com esta norma, existe um conjunto bastante vasto de parâmetros a ter em conta. Estes
estão predominantemente relacionados com os olhos, as sobrancelhas e a boca.
Efectivamente, de entre todas as AUs consideradas no FACS, apenas as acções 6, 9, 11 e 17 têm
componentes que não são totalmente descritíveis através dos movimentos da boca, olhos e sobrance-
30
lhas, como ilustrado na figura 3.4. Apesar de serem mencionadas pelo FACS, pode fundamentar-se
que estas AUs não são estritamente necessárias, uma vez que:
(a) AU 6 (b) AU 9 (c) AU 9 (d) AU 17
Figura 3.4: Acções unitárias que recorrem a características faciais além das sobrance-
lhas, olhos e boca (adaptado de Ekman e Friesen [15])
• Acção 6: A elevação da região da bochecha implica um ligeiro semicerrar de olhos (acção 42);
• Acção 9: O enrugamento do nariz provoca compressão nas pálpebras (acção 7);
• Acção 11: O aumento de profundidade da região nasolabial provoca um movimento de alonga-
mento dos cantos da boca (acção 12) ; e
• Acção 17: A elevação do queixo implica a depressão dos cantos da boca (acção 20).
Ainda, por acréscimo, algumas das acções apresentam certas limitações no que diz respeito à
detecção. No caso da acção 6, não é trivial detectar a elevação das bochechas. Efectivamente, métodos
como o usado por Cohn et al. [8], em que é calculado o fluxo óptico para detectar alterações de
granularidade bastante elevada na expressão facial, conseguem fazê-lo, embora neste caso não sejam
mencionados os recursos temporais necessários a este processamento. No que diz respeito à acção
11, a profundidade da região nasolabial como acção unitária apresenta algumas questões no que diz
respeito a pessoas com idade mais avançada, casos em que este aspecto muitas vezes se verifica
independentemente da expressão facial.
Muitos dos estudos considerados no capítulo 2 consideram a norma FACS como base, como as
publicações de Cohn et al. [8], Pantic e Rothkrantz [38], Zhang e Ji [59], Donato et al. [9] e Kaiser et al.
[21].
O primeiro destes estudos [8] aponta para a utilização das AUs relacionadas com as sobrancelhas,
olhos e boca, estabelecendo um novo conjunto de acções unitárias definidas por uma ou várias AUs
consideradas na norma FACS. Neste estudo, características faciais como o queixo e o nariz não são
consideradas particularmente relevantes.
A investigação de Zhang e Ji [59] faz a subdivisão das AUs em dois conjuntos: acções unitárias
primárias e auxiliares, no intuito de adaptar a informação fornecida pelo FACS às seis expressões-base
que considera: alegria, tristeza, repulsa, surpresa, ira e medo. As acções unitárias primárias têm um
peso preponderante no rumo da decisão quanto à classificação, enquanto que as auxiliares acabam
por desempenhar um papel de suporte.
De facto, como referido pelos autores, uma expressão facial não é mais do que uma combinação
de AUs. Assim sendo, é apresentado o conjunto de expressões e as AUs que as caracterizam, dividido
nos dois subconjuntos definidos.
É de particular interesse o facto de que, na esmagadora maioria das situações, os olhos, a boca
e as sobrancelhas são as características a ter em conta no que diz respeito ao conjunto primário de
acções que determinam uma expressão. O nariz e o queixo não desempenham, mais uma vez, um
papel de relevo.
31
Este conjunto de factores forneceu um suporte sólido à decisão de selecção das sobrancelhas, olhos
e boca como características a adoptar. Considerou-se que a expressividade destas características
dispensa a utilização de outras como o nariz e o queixo.
3.3.2 Modelo de Características Faciais
De modo a maximizar o desempenho de detecção das características faciais de interesse, e com o
intuito de fornecer um conjunto de valores de referência para a extracção de características, optou-se
pelo desenvolvimento de um modelo do rosto humano. Este modelo possibilita, além da restrição da
área de interesse, a estimação da localização de determinadas características do rosto quando estas
não são detectadas pelo sistema, seja devido a condições de luminosidade extraordinariamente fracas,
rotação exagerada do rosto ou ocultação de partes da face.
Desta forma, o modelo é ajustado dinamicamente aos elementos que vão sendo identificados e,
caso não seja possível obter uma dada característica na imagem do rosto, é usada a característica cor-
respondente disponível no modelo. Como tal, consegue garantir-se o funcionamento do classificador,
ainda que com menor desempenho, em situações em que a informação disponível seja apenas parcial.
O processo de elaboração do modelo é exposto de seguida.
Rostos médios
Investigadores da universidade alemã de Regensburg consideram dois rostos médios para os seus
estudos na área da psicologia; um rosto masculino e um feminino, como ilustrado na figura 3.5.
(a) Rosto médio masculino (b) Rosto médio feminino
Figura 3.5: Rostos médios (Universitat Regensburg). Fonte: http://www.
uni-regensburg.de
Estes rostos resultaram da média de dois conjuntos de amostras, disponíveis nas universidades
supracitadas.
32
Fusão de rostos médios
Uma vez que no presente estudo não se tem em conta o sexo do utilizador, foi criado um modelo híbrido
através da fusão de ambos os modelos, recorrendo à utilização de um sofware web 2. O objectivo
deste modelo foi uniformizar ainda mais as características faciais, criando um ponto de partida realista
e melhor adaptado às necessidades do estudo. O resultado pode ver-se na figura 3.6.
Figura 3.6: Rosto híbrido médio criado a partir das imagens médias masculina e feminina.
Construção do modelo
O modelo desenvolvido consiste num vector de pontos, que definem as características faciais menci-
onadas na secção 3.3.1. Esse vector de pontos, correspondentes às coordenadas das características
faciais, é então preenchido de acordo com as dimensões-padrão do rosto médio mencionado acima. O
resultado encontra-se na figura 3.7.
Figura 3.7: Modelo de pontos
O objectivo do modelo é facilitar a detecção, uma vez que fornece uma métrica respectivamente à
localização de características faciais num rosto.2http://www.faceresearch.org/
33
Este elemento apresenta um comportamento elástico, uma vez que se adapta progressivamente às
características faciais que vão sendo localizadas.
Adicionalmente, a utilização do modelo como forma de melhorar a detecção baseia-se na substi-
tuição de coordenadas no caso de estas não serem correctamente detectadas, prevenindo possíveis
erros. Nestes casos, e uma vez que se trata de um modelo elástico, as coordenadas correspondentes
às características não detectadas terão o valor que o modelo apresenta à partida.
Comparação Modelo da Norma MPEG-4 e Parâmetros Faciais
A norma Moving Picture Experts Group Layer-4 Video (MPEG-4) permite a animação fotorealística do
rosto e expressão facial. Para tal, estabelece um conjunto de métricas (Facial Definition Parameterss
(FDPs)) que permitem a definição de um conjunto de normas para representação e animação do rosto,
com base nos parâmetros do rosto humano [37]. O modelo ilustra-se na figura 3.8.
Figura 3.8: Parâmetros do rosto para animação em MPEG-4. Fonte: Pandzic e Forchhei-
mer [37]
Foi feita a comparação do rosto médio com os parâmetros definidos de acordo com a norma MPEG-
4, verificando-se que são praticamente coincidentes nos pontos considerados como características
de interesse, como exemplificado na figura 3.8. Este factor reforça a credibilidade do rosto médio
considerado e torna este passível de ser usado como ponto de partida para a construção do modelo de
pontos.
3.3.3 Detecção das Características Faciais
De um modo genérico, a metodologia utilizada na detecção das várias características faciais deu-se em
cinco fases principais, como ilustrado na figura 3.10:
1. Detecção de uma região de interesse: É adoptado um classificador de Haar em cascata, com
recurso à biblioteca OpenCV para obter esta área. Este passo permite a diminuição do peso
34
Figura 3.9: Comparação entre o rosto médio e os FDPs considerados no vídeo MPEG-4.
Figura 3.10: Metodologia genérica para a detecção de características faciais
35
computacional necessário aos passos subsequentes, eliminando elementos irrelevantes;
2. Conversão da imagem para escala de cinzentos: Este passo tem como objectivo um pré-
processamento para a aplicação do operador Canny, que manipula uma imagem servindo-se de
apenas um canal. Permite também a simplificação do processamento associado ao Gaussian
Blur, uma vez que aplicar a matriz de convolução correspondente a este algoritmo a apenas um
canal é mais eficiente do que a sua aplicação aos três canais de cor;
3. Aplicação de um filtro Gaussian Blur : Este algoritmo permite a eliminação de ruído e outros
artefactos potencialmente desprezáveis, tendo como objectivo a extracção de contornos da ima-
gem através do operador Canny correspondente à fase seguinte da metodologia adoptada. Este
operador, por definição, aplica um Gaussian Blur que visa eliminar ruído inerente a pixeis isola-
dos. No entanto, no caso específico da análise facial, verifica-se que existem inúmeros artefactos
de dimensão significativa não sendo estes, como tal, eliminados pelo Gaussian Blur do Canny.
Confirmou-se experimentalmente, em testes preliminares, que a aplicação de um Gaussian Blur
adicional melhorou significativamente os resultados obtidos após a aplicação do operador Canny.
4. Invocação de um algoritmo Canny para detecção de contornos: Esta fase tem como objectivo
uma identificação mais precisa das características faciais a analisar;
5. Extracção dos pontos exactos da característica facial detectada: Analisando os resultados
obtidos na fase anterior, este passo traduz-se na obtenção dos valores correspondentes à carac-
terística detectada.
Detecção de uma região de interesse - OpenCV
• Olhos: São tidos em conta quatro pontos fundamentais em relação à detecção do olho: os dois
pontos extremos horizontais e os dois pontos extremos verticais. Estes quatro pontos permitem
obter a largura do olho e a abertura do mesmo, dados fundamentais para a distinção entre expres-
sões, de acordo com o que foi discutido na secção 3.3.1. O classificador em cascata foi obtido
através de download 3.
Sempre com o intuito de minimizar o peso computacional das operações, foi tido em conta que
invariavelmente os olhos se encontram na metade superior do rosto, o que permitiu reduzir para
metade o processamento da imagem.
• Sobrancelhas: Além de que foi impossível encontrar um classificador treinado para a localização
das sobrancelhas, o processamento destas pareceu, a priori, plausível de ser efectuado apenas
com uma extracção de contornos, pelo que este passo não se aplicou no caso desta característica
facial.
No entanto, antes de se implementar a detecção propriamente dita, e mais uma vez de modo a
reduzir ao máximo o peso computacional, definiu-se como região de interesse, para a detecção de
sobrancelhas, a área imediatamente acima do ponto extremo vertical máximo do olho esquerdo.
Em suma, tirou-se partido das propriedades de simetria do rosto para maximizar a eficiência de
processamento.
Zhang e Ji [59] mencionam no seu estudo a utilidade das propriedades de simetria do rosto,
apesar de usarem esta informação para obter informação facial redundante.
A decisão de utilizar as propriedades de simetria do rosto como uma medida de simplificação foi
ponderada. Efectivamente, é retirada alguma robustez ao sistema no caso em que os utilizadores
padeçam de alguma limitação física que lhes iniba a movimentação do músculo frontalis (o mús-
3http://aleReimondo.no-ip.org/OpenCV
36
culo que permite erguer as sobrancelhas) do lado esquerdo do rosto ou em casos de condições de
iluminação que não permitam detectar características numa das metades do rosto. No entanto,
dado o objectivo de propor um método leve, simples e rápido para a detecção de expressões
faciais, concluiu-se que esta opção seria interessante.
• Boca: No caso da boca, os pontos considerados como sendo mais importantes foram, mais uma
vez, os pontos extremos, tanto horizontal como verticalmente. Esta escolha teve em conta os
FDPs relativos ao MPEG-4, além de que se baseia numa versão simplificada dos pontos que
foram considerados no estudo de Tian et al. [50].
Como tal, e também por forma a evitar um processamento mais complexo e pesado, estes pontos
são, também neste estudo, considerados necessários e suficientes para predizer a abertura da
boca e a curvatura dos lábios, possibilitando a classificação de expressões faciais.
A detecção da boca seguiu os mesmos parâmetros que a detecção dos olhos, tendo tido um
fluxo de desenvolvimento em tudo semelhante. No entanto, o classificador, que se obteve da
mesma fonte que o utilizado para os olhos, não apresentava um desempenho suficientemente
satisfatório. Com efeito, sem processamento prévio, este classificador encontrava a boca em
locais pouco plausíveis do rosto como, por exemplo, o queixo.
Chegou a considerar treinar-se um novo classificador em cascata. No entanto, este processo
implicava a necessidade de um demorado período para recolha e treino de amostras, pelo que se
abandonou esta alternativa.
Decidiu, assim, usar-se o classificador disponível como base para detecção da boca. Neste caso,
teve-se especial cuidado em definir a região de interesse da boca com base no modelo elástico
referido no capítulo 3.3.2.
Após esta fase, encontrou-se um conjunto de coordenadas, correspondente a uma aproximação da
localização dos pontos extremos dos olhos e da boca. No entanto, e uma vez que não se conseguiu o
acesso a um classificador que permitisse a detecção exacta dos pontos extremos dos olhos, foi neces-
sário proceder a um conjunto de métodos adicionais para uma detecção precisa destas características.
Conversão para escala de cinzentos
As porções de imagem correspondentes às características a detectar foram convertidas para escala de
cinzentos, por forma a permitir o processamento da imagem pelo algoritmo Canny.
Aplicação de um filtro Gaussian Blur
Uma imagem facial, normalmente, além das características principais que a descrevem, é definida por
uma série de características secundárias como rugas ou olheiras. Estes elementos dificultam bas-
tante a tarefa de detecção de características principais. Torna-se então necessário tentar, tanto quanto
possível, e por forma a não perder informação crucial, atenuar esses aspectos.
O Gaussian Blur é um filtro passa-baixo que utiliza uma função gaussiana para calcular a transfor-
mação a aplicar a cada pixel da imagem. O resultado traduz-se na redução dos componentes de alta
frequência da imagem, ou seja, na atenuação das transições abruptas que possam existir entre pixeis,
como pode ver-se na figura 3.11. No caso do rosto humano, um resultado da aplicação deste filtro é
ilustrado na figura 3.12.
37
Embora seja de alguma relevância no caso das sobrancelhas em casos pontuais de muitas linhas
nessa região do rosto, ou outros elementos faciais, este filtro tem especial importância na região dos
olhos (presença de olheiras ou rugas) e da boca, uma vez que no contexto específico deste estudo é
conveniente não ter em linha de conta, na fase de detecção, o traço de junção dos lábios ou dentes,
no caso em que a boca esteja aberta, já que foram definidos como pontos de interesse os extremos da
boca.
(a) Antes (b) Depois
Figura 3.11: Aplicação do filtro Gaussian Blur a uma imagem
(a) Antes (b) Depois
Figura 3.12: Aplicação do filtro Gaussian Blur a uma imagem facial para eliminação de
ruído e outros artefactos que possam dificultar o processo de extracção e
classificação. Imagem original: base de dados facial da Universidade de
Dallas [33]
Invocação de um algoritmo Canny para detecção de contornos
O objectivo do algoritmo Canny prende-se com a extracção de contornos de uma dada imagem.
Para tal, este processo baseia-se no cálculo do gradiente dessa mesma imagem. A hipótese assu-
mida é que um ponto com um valor mais elevado de gradiente tem maior probabilidade de corresponder
a uma aresta do que um de valor mais reduzido. O processo Canny utiliza dois limiares de gradientes
com propósitos distintos. Um primeiro limiar, mais elevado, permite isolar um conjunto de pontos que
tenham uma elevada probabilidade de corresponderem a partes de arestas. Estes elementos são pos-
teriormente prolongados através de pontos cujo valor de gradiente esteja acima de um segundo limiar.
38
É assim estabelecida a ligação entre os vários segmentos, obtendo-se um conjunto de arestas que me-
lhor correspondam a fortes candidatos a características relevantes do rosto. Um exemplo do resultado
da invocação deste operador encontra-se na figura 3.13. O resultado da aplicação do algoritmo Canny
a um rosto humano é ilustrado na figura 3.14.
(a) Antes (b) Depois
Figura 3.13: Aplicação do operador Canny a uma imagem
(a) Antes (b) Depois
Figura 3.14: Aplicação do operador Canny a uma imagem facial para detecção de ares-
tas. Imagem original: base de dados facial da Universidade de Dallas [33]
A opção de utilizar o algoritmo Canny prendeu-se com as seguintes considerações:
• Pretendia utilizar-se um algoritmo que fosse implementado pela biblioteca OpenCV. Visto que
esta biblioteca suporta alguns algoritmos de detecção de arestas (Canny, Sobel e Laplace), não
se considerou interessante a implementação de um novo algoritmo;
• O algoritmo a adoptar deveria ser relativamente rápido. Neste ponto, todos os disponibilizados
apresentaram resultados bastante bons;
• O algoritmo deveria ser minimamente resistente a ruído. Os algoritmos de Sobel e Laplace pre-
sentes na biblioteca apresentavam grande susceptibilidade a ruído nas imagens;
• A posição das arestas detectadas deveria ser o mais precisa possível. Também neste ponto o
algoritmo Canny apresenta melhores resultados do que os algoritmos de Sobel ou Laplace.
Extracção dos pontos exactos da característica facial detectada
Após a invocação do algoritmo Canny, são obtidos todos os pontos correspondentes à extracção de
contornos. O processamento geométrico e ou estatístico desses valores permite obter os pontos de
39
interesse a serem usados na classificação.
No caso dos olhos, os pontos extremos são calculados com base nos pontos máximos e mínimos
encontrados e normalizados de modo a que o resultado final tenha uma forma simétrica, o que se
consegue através da média dos pontos.
Em relação à boca, o processamento é bastante semelhante. Os pontos extremos definem os má-
ximos nos dois eixos e a média entre os valores de cada eixo permitem compor uma forma geométrica.
Finalmente, no que diz respeito às sobrancelhas, é calculado o ponto médio deste elemento, uma
vez que é a altura o factor mais importante, após o que se aproxima o resto da forma desta característica
com base no modelo elástico referido no capítulo 3.3.2.
Processo de detecção de características
A figura 3.15 ilustra as imagens resultantes de cada um dos passos seguidos no âmbito desta metodo-
logia.
Figura 3.15: Processamento da imagem durante as cinco fases do processo de detecção
de características
O grau de precisão de detecção das características através deste método foi bastante satisfatório,
além de demonstrar robustez a variações de condições de luminosidade e expressão facial, como
ilustrado na figura 3.16
Figura 3.16: Detecção de características
Após o processamento dos resultados do algoritmo Canny verificou-se que os resultados eram, de
facto, satisfatórios no que diz respeito à detecção da boca, como pode ver-se na figura 3.16, com excep-
ção de alguns casos de pessoas que apresentavam pêlos faciais, erro este provavelmente propagado
a partir da própria função de detecção da biblioteca OpenCV. A razão inerente a este comportamento
prende-se essencialmente com o facto de o treino do classificador da boca não contar com casos sufi-
cientes de pessoas com esta característica facial como exemplos positivos.
40
De salientar que este algoritmo apresenta algumas limitações no que diz respeito à detecção da
boca em indivíduos de etnia africana. Esta situação explica-se pelo facto de estarmos a utlizar um
detector de contornos para determinar os contornos dos lábios; uma vez que estes indivíduos apresen-
tam um menor contraste entre as tonalidades da pele e dos lábios, o algoritmo nem sempre consegue
fazer a detecção com sucesso, utilizando por isso os valores-padrão do modelo por impossibilidade de
adaptar este às características encontradas. Esta situação é ilustrada na figura 3.17.
(a) Imagem facial em que a boca
não é localizada
(b) Pontos do Modelo (c) Inferência dos contornos da
boca através de adaptação do mo-
delo às características do rosto lo-
calizadas
Figura 3.17: Utilização do modelo para estimação do posicionamento da boca
O mesmo acontece quando, perante fracas condições de luminosidade, o utilizador apresenta as so-
brancelhas de uma cor muito semelhante à cor da pele. Mais uma vez, nos casos em que a sobrancelha
não é detectada, são utilizados os pontos do modelo.
No final desta fase, dispõe-se de um conjunto de coordenadas, que correspondem aos pontos rela-
tivos aos elementos faciais considerados.
3.4 Transformação de Características para Classificação
Após a extracção dos elementos principais do rosto, e uma vez que a escolha de características é um
dos pontos mais importantes no sentido de procurar um classificador satisfatório [32], foi necessário
seleccionar um conjunto de características que permitisse maximizar a informação relevante para a
classificação.
De acordo com a norma FACS [15], a expressão num rosto humano é determinada a partir de um
conjunto de acções unitárias.
Se, por um lado, os elementos faciais são extremamente expressivos, por outro podem confundir-
se entre si. Como ilustrado na figura 3.21, os olhos semicerrados tanto podem corresponder a uma
expressão de alegria como de ira.
Tal como os olhos, também as sobrancelhas e a boca podem transmitir isoladamente diferentes ex-
41
pressões. Deste modo, é necessário recorrer, como definido por Ekman e Friesen [15], a combinações
de diferentes AUs para definir uma dada expressão facial.
De modo a promover uma classificação satisfatória, e a partir das características mencionadas na
secção 3.3.1, foi feita a transformação para um novo conjunto de características faciais a ter em conta.
Inicialmente, foram definidas como características para classificação a distância entre os olhos e as
sobrancelhas, a abertura dos olhos, a abertura da boca e a largura da mesma.
Após uma fase de testes preliminares verificou-se a necessidade de introduzir novas características,
por forma a aumentar a robustez e o sucesso de classificação. Foram então consideradas a distância
média entre os cantos da boca e os olhos e a distância média entre a altura dos cantos da boca e o
centro deste mesmo elemento.
As várias características tidas em conta são abordadas de seguida.
3.4.1 Distância entre os olhos e as sobrancelhas
Esta característica, definida pela diferença entre o ponto vertical máximo do primeiro olho detectado e
o ponto médio das sobrancelhas, como ilustrado na figura 3.18, permite determinar a elevação (AUs 1
e 2) ou depressão (AU 4) deste elemento facial.
Figura 3.18: Distância entre os olhos e as sobrancelhas
A distância entre os olhos e as sobrancelhas disponibiliza, assim, informação importante para a
classificação das expressões de surpresa, ira e tristeza, como pode verificar-se na figura 3.19
(a) Neutro (b) Surpresa (c) Tristeza (d) Ira
Figura 3.19: Variação da distância entre os olhos e as sobrancelhas
42
3.4.2 Abertura dos olhos
A abertura dos olhos define-se pela distância no eixo dos yy entre o ponto máximo e o ponto mínimo
detectado no olho, de acordo com a figura 3.20.
Figura 3.20: Abertura dos olhos
Esta característica, definida pelas AUs 5, 7, 41, 42 e 43, é um factor importante a ter em conta em
várias expressões; a surpresa é normalmente associada a uma abertura pronunciada das pálpebras
enquanto que, nos casos da alegria e da ira, estas se encontram semicerradas (em sorrisos muito
acentuados, as pálpebras chegam a encontrar-se cerradas), como ilustrado na figura 3.21
(a) Neutro (b) Alegria (c) Ira (d) Surpresa
Figura 3.21: Variação da abertura dos olhos
3.4.3 Abertura da boca
Definida pela distância vertical (no eixo dos yy) entre os pontos máximo e mínimo detectados na boca,
ilustrados na figura 3.22, esta característica disponibiliza um contributo interessante no que diz respeito
à identificação das expressões de surpresa e ira, como apresentado na figura 3.23.
Enquanto que, aquando de uma manifestação de surpresa, os lábios se encontram separados (AUs
25, 26 e 27), apresentando esta característica um valor mais elevado do que na expressão neutra, no
caso de um rosto que exiba a expressão de ira, os lábios estão mais apertados (AUs 24 e 28) do que
no estado neutro.
43
Figura 3.22: Abertura da boca
(a) Neutro (b) Ira (c) Surpresa
Figura 3.23: Variação da abertura da boca
3.4.4 Largura da boca
A largura da boca é caracterizada pela variação horizontal máxima detectada para este elemento, ou
seja, a distância máxima entre os dois extremos da boca no eixo dos xx, de acordo com a figura 3.24.
Figura 3.24: Largura da boca
Permite a diferenciação de várias expressões, principalmente tristeza/alegria e ira, como ilustrado
na figura 3.25.
Em rostos que exprimem alegria e tristeza verifica-se uma distensão dos lábios (AU 13 no caso da
alegria e AUs 14 e 20 na expressão de tristeza). A ira, por sua vez, traduz-se numa compressão da
44
(a) Neutro (b) Alegria (c) Tristeza (d) Ira
Figura 3.25: Variação da largura da boca
boca (AU 23).
Embora esta métrica disponibilize dados que auxiliem a distinção das expressões de tristeza e
alegria das restantes, não permite uma clara diferenciação entre ambas, uma vez que apenas mede a
distância entre os cantos da boca e não a sua curvatura.
3.4.5 Distância média entre os cantos da boca e os olhos
Esta característica, como apresentado na figura 3.26, é definida pela distância vertical (no eixo dos yy)
entre os cantos da boca e os olhos. É considerado o centro do olho como referência, uma vez que este
ponto é o elemento que menos oscila com a abertura e fecho das pálpebras. Ainda, com o intuito de
simplificar o processamento, são utilizados valores médios. Deste modo, é calculado o ponto médio
entre o centro dos dois olhos e o valor médio dos cantos da boca, após o que é calculada a diferença
entre as ordenadas destes pontos para obtenção do valor a utilizar na fase de classificação.
Figura 3.26: Distância média entre os cantos da boca e os olhos
As características anteriormente abordadas não permitiam distinguir, com um grau de certeza su-
ficientemente satisfatório, as expressões de alegria e tristeza, essenciais para um bom desepenho do
sistema. Como tal, a distância média entre os cantos da boca e os olhos foi adoptada com o intuito de
melhorar o comportamento do classificador no que diz respeito, principalmente, à diferenciação entre
45
as expressões supracitadas.
Consequentemente, esta característica fornece um forte contributo para o discernimento entre uma
expressão de alegria, em que os cantos da boca se encontram a uma distância mais reduzida dos
olhos (AU 13), de uma expressão de tristeza, em que, pelo facto de os cantos da boca sofrerem uma
depressão, o valor da distância entre estes e os olhos é mais elevado (AUs 14 e 20), como ilustrado na
figura 3.27.
(a) Neutro (b) Alegria (c) Tristeza
Figura 3.27: Variação da distância entre os cantos da boca e os olhos
3.4.6 Distância média entre a altura dos cantos da boca e o centro da boca
A distância média entre a altura dos cantos da boca e o centro da mesma é calculada verticalmente no
eixo dos yy, como exposto na figura 3.28.
Figura 3.28: Distância média entre a altura dos cantos e o centro da boca
Esta característica é utilizada para reforçar a diferenciação entre as expressões de alegria e tristeza,
baseando-se no princípio de curvatura ascendente dos lábios associada, mais uma vez, à AU 13 e na
curvatura descendente destes com depressão dos cantos da boca que está ligada às AUs 14 e 20. O
valor para esta característica é calculado recorrendo à diferença entre o ponto médio no eixo dos yy
dos cantos da boca e o valor do centro da boca. Para uma expressão de alegria, este valor é negativo,
enquanto que para uma expressão de tristeza é positivo, como ilustrado na figura 3.29.
O resultado do processamento por este módulo consiste num conjunto de características conside-
rado relevante e que possibilita uma subsequente classificação da expressão facial correspondente.
46
(a) Neutro (b) Alegria (c) Tristeza
Figura 3.29: Variação da distância entre a altura dos cantos e o centro da boca
3.5 Classificação
A classificação consiste na associação de um determinado padrão à classe em que se enquadra com
recurso a um dado conjunto de parâmetros que definem o classificador. O objectivo primordial de um
classificador é a inferência de uma decisão o mais correcta possível através da informação recolhida no
decorrer do processo de treino. A análise dos resultados obtidos recorrendo a um conjunto de padrões
de teste permite, após tratamento estatístico, averiguar a qualidade do classificador.
Um classificador Bayesiano [42] permite muitas vezes a obtenção de resultados bastante bons ape-
sar de ter um peso computacional bastante reduzido.
Este tipo de classificador baseia-se no teorema de Bayes com o pressuposto de que as caracterís-
ticas são independentes. Desta forma, a partir do conhecimento, obtido através do treino do classifica-
dor, de que uma dada característica tem uma determinada probabilidade de surgir ao treinar uma dada
classe, é possível inferir a verosimilhança de, dada essa mesma característica, a amostra pertencer ou
não a uma classe. Visto que é assumido que as características são independentes, não havendo desta
forma qualquer correlação entre a verosimilhança de uma característica e a de outra, o cálculo de a
verosimilhança de uma amostra pertencer a uma dada classe apenas é necessário analisar indepen-
dentemente as várias características.
Estes classificadores encontram-se geralmente associados a um treino supervisionado. Com efeito,
a classe que gerou cada padrão de treino é conhecida. A denominação de treino supervisionado tem
que ver com o facto de ser possível fornecer ao classificador uma estruturação dos padrões de treino.
Assim, este não tem de inferir uma estrutura nos dados e utilizar essa nova informação para os dividir
em classes.
No presente trabalho, foram tidos em conta dois tipos de classificadores. Inicialmente, usou-se a
aproximação mais convencional ao classificador Bayesiano. Neste caso o classificador lida com valores
discretos. Visto que os valores associados às características são contínuos, é necessário associar
estes a um conjunto finito de intervalos de valores. Como tal, são definidos intervalos aos quais são
associados os valores das características das amostras e todo o processo de classificação é feito com
base neste conjunto discreto de intervalos.
No entanto, e uma vez que o índice de desempenho no estudo que se desenvolveu não se apresen-
tou suficientemente satisfatório, optou-se posteriormente por um classificador Bayesiano Gaussiano.
47
Neste tipo de classificador, os intervalos são substituídos por um conjunto de Gaussianas (neste caso,
apenas uma por cada característica) que representam os valores de treino das características.
Desta forma, os valores das probabilidades que são utilizados no primeiro caso são, no segundo,
substituídos pelos valores da Função Distribuição Acumulada (f.d.a.) de cada Gaussiana.
3.5.1 Classificadores Bayesianos com Intervalos de Decisão Discretos
Amostras de Referência
O processo de classificação iniciou-se com a realização de testes a várias imagens faciais para a obten-
ção de valores de referência para as características. Este processo permitiu compreender a distribuição
destes valores ao longo do seu domínio.
Segmentação em Intervalos
A partir dos valores obtidos, estimou-se que 5 intervalos seriam o suficiente para discretizar o domínio
dos valores de referência para posterior classificação Bayesiana. Estes intervalos foram criados por
forma a que em cada intervalo estivessem situadas 20% das amostras de referência supracitadas.
Tendo-se tentado ajustar o número de intervalos de modo a avaliar o impacto desta alteração nos
resultados obtidos verificou-se que, com menos intervalos, a qualidade do classificador diminuía e que
o aumento do número destes não se traduzia em melhorias consistentes.
Treino
Nesta fase são, para cada classe de emoções (alegria, tristeza, neutro, etc.), seleccionadas 10 amostras
pertencentes, e 10 amostras não pertencentes, a essa mesma classe.
Cada uma destas amostras é introduzida no módulo de treino do classificador juntamente com
dados adicionais, constituídos pela denominação da classe a treinar e informação que identifica as
amostras como sendo positivas ou negativas. Considera-se como amostra positiva uma que, sendo
classificada no contexto de uma determinada classe, pertence efectivamente a essa classe, e como
amostra negativa aquela que, sendo classificada no contexto de uma dada classe, não pertence de
facto a essa classe.
O módulo de treino do classificador utiliza esta informação para preencher, para cada classe de
emoção, um conjunto de estruturas de dados que representam a sua base de conhecimento. Estas es-
truturas contabilizam o número de amostras positivas e negativas que se enquadram em cada intervalo
de cada característica.
Como tal, se uma determinada caracteristica de uma amostra tem um valor que pertence a deter-
minado intervalo da base de conhecimento, caso a amostra em causa seja positiva é incrementado o
número de amostras positivas associadas a esse intervalo. Caso contrário, é incrementado o número
de amostras negativas associadas ao intervalo em causa.
A distribuição das várias amostras pelos diversos intervalos de características traduz-se posterior-
mente nas probabilidades que são apresentadas ao classificador de Bayes. Desta forma, se considerar-
48
mos apenas dois intervalos, com 4 e 6 amostras respectivamente, podemos dizer que a probabilidade
associada ao primeiro é de 40% e a associada ao segundo é de 60%.
Na figura 3.30 é apresentada uma visão esquemática da representação interna das estruturas de
dados utilizadas.
O processo de treino foi automatizado com recurso a uma aplicação desenvolvida para o efeito.
Basedeconhecimento–classec1
caracterís3ca2caracterís3ca1 caracterís3can
Amostrasposi3vas
Amostasnega3vas
Intervalo1Intervalo2…Intervalon
hp1hp2…hpn
hn1hn2…hnn
…
…
Basedeconhecimento–classecn
Figura 3.30: Estruturas de dados preenchidas na fase de treino do classificador de Bayes
com Intervalos de Decisão Discretos
Classificação
A classificação consiste em calcular a verosimilhança de cada característica da amostra a classificar
corresponder a uma dada emoção (pertencer à classe correspondente de emoção).
Esta verosimilhança é calculada através da multiplicação das verosimilhanças de cada caracterís-
tica. Consequentemente, para cada característica são calculadas as verosimilhanças dividindo-se o
número de hits na classe que pertence à característica pelo número total de amostras de treino positi-
vas, o que se traduz por
Lc =N∏
f=1
HPf
TPf, (3.1)
em que Lc é a verosimilhança da classe c, HPf é o número de hits positivos para a característica f
e TPf é o número total de amostras de treino positivas para a característica f .
Limitações do Método
Este método de classificação tem uma desvantagem relativamente relevante, que se prende com o
facto de as características terem um carácter contínuo e não discreto.
Por exemplo, ao serem utilizados intervalos discretos, existe a possibilidade de a maior das amostras
de treino pertencer a um dado intervalo k e a um outro intervalo k + 2 mas nenhuma estar situada no
49
intervalo k + 1. No entanto, empiricamente sabemos que se a maioria das amostras se situa nos
intervalos k a k + 2, a probabilidade de se situarem amostras no intervalo k + 1 também é bastante
elevada.
Como tal, de modo a traduzir para o classificador aquilo que se verifica empiricamente, optou-se
pela modelação de um conjunto infinito de amostras de treino através de uma gaussiana, ou seja, de
uma aproximação à distribuição normal.
3.5.2 Classificadores Bayesianos Gaussianos
Estimação de Valores de Amostras
Um classificador Bayesiano Gaussiano é, no seu funcionamento intrínseco, em tudo análogo ao classi-
ficador de Bayes com Intervalos de Decisão Discretos.
No entanto, não utiliza directamente os valores obtidos através das amostras de treino para fa-
zer a classificação, mas sim uma estimação dos valores obtidos para infinitas amostras, assumindo
que estas seguem uma distribuição normal. Como tal, considerando o conjunto de valores discretos
{3, 4, 4, 4, 6, 6, 6, 7}, para o caso anterior a probabilidade associada ao valor 5 seria 0. No entanto, se
estimarmos a gaussiana associada a estes valores e obtivermos a verosimilhança do valor 5 verifica-
mos que esta é bastante alta. Em testes empíricos, verificou-se que os valores das amostras seguem
efectivamente este comportamento.
Assim, a verosimilhança de um determinado valor pertencer a uma dada classe é calculada a partir
da f.d.a. da distribuição Gaussiana gerada a partir dos valores das amostras de treino. As distribuições
Gaussianas são estimadas através da utilização da média e do desvio padrão das amostras de teste.
A f.d.a. é obtida respeitando a equação:
fda (x) =12
(1 + erf
(x− µσ√
2
))(3.2)
em que µ é a média dos valores das amostras e σ é o desvio padrão das mesmas e erf(z) é a
função de erro associada à integração da forma normalizada da função Gaussiana, definida por
erf(z) =2√π
∫ z
0
e−t2dt, (3.3)
Treino
O treino do classificador é mais uma vez efectuado recorrendo tanto a amostras positivas como a amos-
tras negativas, de modo a ser possível a determinação da verosimilhança de uma amostra pertencer
ou não a uma dada classe.
Nesta fase, são armazenados os seguintes valores para cada característica:
• A soma dos valores de todas as amostras, usada no cálculo do valor médio das amostras.
De notar que à medida que se faz o treino, e uma vez que o número de amostras neste contexto é
arbitrário, não se dispõe do valor do divisor. Este valor apenas é obtido aquando da classificação.
50
• A soma dos quadrados dos valores das amostras, valor que vai ser usado no cálculo do desvio-
padrão das amostras.
Pela mesma razão do anterior, só pode calcular-se o desvio padrão na fase da classificação.
Opta-se, assim, por somar os quadrados dos valores a cada iteração. Para tal, é adoptada a
fórmula
σ =
√√√√( 1N
N∑i=1
x2i
)− x̄2
=
√√√√( 1N
N∑i=1
x2i
)−
(1N
N∑i=1
xi
)2
=1N
√√√√N
(N∑
i=1
x2i
)−
(N∑
i=1
xi
)2
,
(3.4)
em que N é o número de amostras, xi o valor da amostra i e x̄ a média dos valores das amostras
consideradas.
A título de exemplo, para os valores {1, 2, 3, 4} seriam armazenados os valores 1 + 2 + 3 + 4 = 10 e
12 + 22 + 32 + 42 = 29.
A figura 3.31 ilustra esquematicamente a representação interna das estruturas de dados adoptadas.
Basedeconhecimento–classec1
caracterís3ca2caracterís3ca1 caracterís3can
xi xi2 yi yi2…
…
Basedeconhecimento–classecn
€
∑
€
∑
€
∑
€
∑
Figura 3.31: Estruturas de dados preenchidas na fase de treino do classificador Bayesi-
ano Gaussiano
Classificação
O processo de classificação de uma amostra inicia-se através do cálculo da verosimilhança de cada
característica pertencer a uma dada classe. Este cálculo é efectuado através da obtenção do valor da
f.d.a. em relação a uma distribuição normal gerada a partir da média e do desvio-padrão das amostras
de treino.
51
Além do cálculo da verosimilhança de uma amostra pertencer a uma classe, é determinado também
o valor da verosimilhança dessa amostra não pertencer a essa classe.
Uma vez obtidos estes dois valores, é feita a divisão do primeiro pelo segundo. Este valor representa
quão mais provável é a amostra pertencer à classe do que não pertencer a essa mesma classe.
É então multiplicada a verosimilhança de cada característica, sendo assim obtida a verosimilhança
total associada a todas as características da amostra em causa. A classificação termina com a atribui-
ção da amostra à classe que apresenta maior verosimilhança.
O processo de classificação traduz-se na fórmula
Lc =N∏
f=1
0,5− fda(Z(xf , µ
pf , σ
pf
))0,5− fda
(Z(xf , µn
f , σnf
)) , (3.5)
onde que Lc é a verosimilhança da classe c, xf o valor da característica f relativa à amostra x, µpf
a média do valor da característica f para as amostras positivas, σpf o desvio padrão dos valores da
característica f para as amostras postivas, µnf a média do valor da característica f para as amostras
negativas, σnf o desvio padrão dos valores da característica f para as amostras negativas e Z(x, µ, σ)
o ajuste à normal padrão obtida com recurso à fórmula
Z =X − µσ
(3.6)
O classificador associa a amostra à classe c cujo valor de Lc seja maior para essa mesma amostra.
A etapa de classificação finaliza o processo de categorização de expressões. O conjunto de mó-
dulos descritos acima compõe uma parte fulcral do trabalho desenvolvido uma vez que, a partir desta
implementação, é possível desenvolver um conjunto de aplicações que tirem partido da classificação
de expressões faciais.
52
Capítulo 4
Demonstradores
O código correspondente às funcionalidades desenvolvidas, descritas no capítulo 3, foi encapsulado
numa Dynamic-link Library (DLL) reutilizável e versátil, de modo a possibilitar a utilização dos algoritmos
desenvolvidos no contexto de diversas aplicações.
Esta DLL exporta uma interface que permite a utilização do classificador, bem como a manipulação
da base de conhecimento do mesmo, por qualquer aplicação externa. Para tal são exportadas as
seguintes funções:
• std::string get_features(char* image_name, int _debug): esta função permite, a
partir da indicação do path de uma imagem, a obtenção de uma string com as features extraídas
da imagem;
• std::string get_features(IplImage* image, int _debug): sendo idêntica à ante-
rior, esta função permite obter a mesma string a partir de uma imagem do tipo IplImage definido
no OpenCV;
• void init_db(char* db_file_name, int _debug): através desta função, é possível ini-
cializar uma nova base de conhecimento;
• void add_to_db(char* db_file_name, char* class_name, bool match,
std::string features, int _debug): esta função permite adicionar uma nova amostra
à base de conhecimento. Para além de receber o path para a base de conhecimento a utilizar,
recebe também o nome da classe a treinar, um booleano indicando se a amostra é positiva ou
não e uma string com as características da amostra, obtida através da função get_features;
• void print_db(char* db_file_name, int _debug): esta função permite a visualização
do conteúdo de uma base de conhecimento;
• std::string classify(char* db_file_name, std::string features,
int _debug): esta função permite a classificação de uma amostra definida pelo parâmetro
features, que representa um conjunto de características de uma amostra, obtido através da
função get_features, em relação à base de conhecimento db_file_name.
Recorrendo a estas funções é possível, além da classificação de amostras, a análise de determina-
dos passos intermédios da classificação como, por exemplo, a extracção de características faciais.
Com o intuito de demonstrar o funcionamento desta biblioteca, foram criados três protótipos. Estes
foram desenvolvidos com recurso à linguagem de programação Python e à utilização, além da biblio-
53
teca desenvolvida no contexto desta tese, dos módulos wxPython (para o desenvolvimento da interface
gráfica), pyHook (para a intercepção de eventos globais na plataforma Windows) e pywin32 (para inte-
racção com outras janelas e aplicações na plataforma Windows.
4.1 Classificação de Expressões Faciais
Este demonstrador ilustra o resultado do processamento da expressão do rosto do utilizador, conside-
rando as expressões passíveis de corresponderem ao mesmo. Consiste em dois elementos fundamen-
tais: a captura de vídeo em tempo real e um botão que permite invocar a classificação de expressões.
Quando este evento é accionado, é capturado um conjunto de imagens e feita a classificação da ex-
pressão, sendo apresentado o emoticon correspondente à mesma. Adicionalmente, é apresentado um
conjunto de gráficos correspondentes à probabilidade de o rosto apresentar cada uma das expressões
possíveis.
Este protótipo permite também a indicação, por parte do utilizador, do sucesso ou insucesso da
classificação. O resultado desta, o feedback do utilizador e as imagens capturadas, são armazenados
para posterior análise. O seu funcionamento é exemplificado na figura 4.1.
Figura 4.1: Demonstrador do classificador de expressões faciais
A principal motivação para a criação deste demonstrador prendeu-se com a execução de testes com
utilizadores para avaliar o funcionamento e o desempenho do classificador.
A sua implementação foi efectuada em Python, tendo-se utilizado a biblioteca desenvolvida no con-
texto desta tese para todo o processo de classificação das expressões faciais.
54
4.2 Inserção de Emoticons na Janela Activa
O objectivo deste demonstrador é essencialmente ilustrar a funcionalidade do Facial Emoticons de
modo a que seja possível ao utilizador colocar um emoticon numa qualquer janela que se encontre
activa. O demonstrador corre em background, permitindo a visualização de uma janela com a captura
de vídeo correspondente à câmara do utilizador.
Quando o utilizador pretende inserir um emoticon na janela activa, apenas tem de premir a tecla
F12. O demonstrador efectua a classificação da imagem capturada através da câmara do utilizador,
com recurso à biblioteca desenvolvida no contexto desta tese, sendo enviada para a aplicação activa a
combinação de teclas necessária para criar o emoticon correspondente à emoção detectada.
A figura 4.2 ilustra esta funcionalidade durante a utilização de uma aplicação de instant messaging.
No entanto, a integração deste demonstrador com qualquer outra aplicação é transparente, tal como
pode verificar-se na figura 4.3.
Este protótipo, extremamente minimalista, pretende demonstrar a possibilidade de uma interacção
simplificada, tirando partido apenas da captura de vídeo e de uma instrução do teclado, permitindo
assim ao utilizador colocar o seu emoticon no écran sem necessidade de saber os atalhos ou percorrer
a lista de emoticons disponíveis.
Tal como nos restantes demonstradores, a aplicação apenas implementa a interface e a captura de
vídeo. Todo o processo de classificação da imagem capturada é feito de uma forma simples através da
interface disponibilizada pela biblioteca.
4.3 E-motional Jukebox
No contexto da disciplina de Interfaces Multimodais Inteligentes, foi desenvolvido um projecto que con-
siste na utilização de modalidades não convencionais para interacção com um tocador áudio. Foi criada
uma interface multimodal que consiste na utilização de gestos para controle das funções básicas de áu-
dio (como pausa, paragem, navegação entre faixas, etc.), e no reconhecimento de expressões faciais
para classificação de músicas, com o objectivo de dotar a aplicação de um comportamento inteligente.
Esta aplicação utiliza duas câmaras para captar simultaneamente a mão e a face do utilizador. O
reconhecimento gestual é efectuado com recurso à biblioteca HandVU [25].
O reconhecimento das expressões faciais é efectuado através da biblioteca desenvolvida no con-
texto deste estudo. No entanto, visto que, no âmbito do presente demonstrador não surgiu necessidade
de reconhecimento de expressões que não as de alegria e tristeza, a base de conhecimento usada
com esta aplicação apenas contempla as emoções mencionadas. Contudo, a biblioteca é exactamente
a mesma, visto que esta é independente do número de expressões a reconhecer. Com efeito, a bi-
blioteca limita-se a reconhecer as expressões presentes na base de conhecimento de acordo com os
parâmetros existentes na mesma tornando-se, deste modo, extremamente versátil.
Recorrendo às duas expressões supracitadas, é possivel a classificação das músicas em 5 grupos
(muito agradável, agradável, média, desagradável e muito desagradável). A expressão facial é captada
de 5 em 5 segundos e classificada cumulativamente, por forma a traduzir-se numa apreciação global
ao longo de toda a música.
55
Figura 4.2: Inserção de emoticons na janela activa
56
Figura 4.3: Inserção de emoticons na janela activa
57
Figura 4.4: E-motional Jukebox
58
Capítulo 5
Avaliação e Resultados Experimentais
Findo o processo de desenvolvimento e implementação do sistema de classificação de expressões
faciais e subsequentes demonstradores, procedeu-se à esquematização e elaboração de um conjunto
de testes que permitisse a obtenção de métricas quantitativas de desempenho.
Ekman e Friesen, nos estudos [14] e [15], definiram seis expressões básicas além da expressão
neutra: alegria, tristeza, ira, medo, repulsa e surpresa. No âmbito deste estudo, no entanto, as emoções
foram separadas em cinco classes: alegria, tristeza, ira, surpresa e neutra, tentando na generalidade
adoptar as expressões propostas pelos autores supracitados. A principal razão para a exclusão das
expressões de repulsa e medo foi o facto de estas serem facilmente confundíveis com as restantes.
De facto, em testes preliminares, a expressão de repulsa confundia-se com a expressão de tristeza,
uma vez que activa as AUs 14 e 20, presentes muitas vezes nesta. Igualmente a expressão de medo é
definida em parte pelas AUs 1 e 2, presentes também na expressão de surpresa.
Foi dada especial relevância às expressões de alegria e tristeza, devido à sua especificidade e às
inúmeras aplicações práticas associadas. Com efeito, o próprio classificador utiliza duas características
distintas (distância vertical média dos cantos da boca ao centro dos olhos e distância vertical média
entre a altura dos cantos da boca e o centro da mesma) com o propósito de distinguir estas duas
expressões faciais.
Por forma a averiguar o comportamento do sistema, e com o intuito de optimizar o desempenho
do mesmo, foram feitos alguns testes automatizados. Estes testes foram realizados quer com recurso
a imagens existentes numa base de dados facial (testsets), quer com recurso a imagens recolhidas
em ambientes aleatórios de interacção. Além dos testes ao sistema, foram também feitos testes de
referência, em que a classificação foi efectuada por humanos.
5.1 Avaliação com testsets
O primeiro conjunto de testes, efectuado com o intuito de averiguar o sucesso do classificador de-
senvolvido no âmbito do presente estudo, foi realizado com recurso a uma base de dados facial da
Universidade de Dallas [33], à qual foi requisitado acesso. Foram utilizadas, assim, imagens de indiví-
duos de idades compreendidas entre os 18 e os 93 anos, pertencentes a diversas etnias (causasiana,
africana e asiática). As 503 amostras subdividem-se em 30 para expressões de ira, 203 de alegria, 54
59
de tristeza, 67 de surpresa, e 237 para a expressão neutra.
Foram considerados dois cenários de classificação. Um dos cenários considera a classificação entre
as cinco expressões consideradas no estudo e o outro apenas as expressões de alegria e tristeza.
Para o treino do classificador foram seleccionadas, de forma aleatória, 10 amostras (de utilizado-
res pertencentes à base de dados supracitada), correspondentes a cada classe de expressão facial a
considerar no contexto deste estudo (neutra, feliz, triste, irada e surpreendida). As restantes amostras
foram posteriormente utilizadas para a aferição da qualidade do classificador. Assim, para estes tes-
tes, foram consideradas 203 amostras representativas da classe feliz, 41 amostras representativas da
classe irada, 570 amostras representativas da classe neutra, 55 amostras representativas da classe
triste e 67 amostras representativas da classe surpreendida.
A fim de optimizar os resultados da classificação, estes testes foram realizados diversas vezes ao
longo das várias fases de desenvolvimento do sistema. Foram cruciais no que diz respeito ao processo
de decisão acerca das características a seleccionar para a classificação, uma vez que permitiram en-
contrar o compromisso entre o número de características e o desempenho.
Através da classificação e verificação automatizada destas amostras de teste, foi possível obter mé-
tricas representativas da evolução do classificador. Os valores finais destas métricas são apresentados
na secção 5.1.1.
A principal métrica utilizada é a taxa de acerto do classificador. Este valor é inicialmente calculado
através da divisão entre o total de classificações correctas e o total de classificações. No entanto, e
visto que para algumas classes existem mais amostras do que para outras, esta taxa de acerto passou
a ser calculada através da média das taxas de acerto de cada classe, de forma a impedir que o peso
de uma classe no resultado final fosse muito maior do que o das restantes. Como tal, a taxa de acerto
referida nestes resultados é sempre a média não ponderada das taxas de acerto parciais de cada
classe considerada.
5.1.1 Resultados obtidos com testsets
Nesta fase preliminar de testes, cujo objectivo foi avaliar o desempenho do classificador através de ima-
gem estática, os resultados para o cenário com expressões de alegria e tristeza foram os apresentados
na tabela 5.1.
Tabela 5.1: Taxas de acerto para as expressões triste e feliz no contexto dos testsets
Classificação
Feliz Triste Total %Acerto
Feliz 150 52 202 74,26
Triste 7 48 55 87,27
Média 80,76
O classificador, de um total de 202 rostos com expressões felizes, classificou 150 como sendo
efectivamente felizes e 52 como expressões tristes. Por outro lado, de um total de 55 rostos tristes, 48
foram correctamente classificados.
60
As percentagens de classificação resumem-se na figura 5.1.
Estes gráficos ilustram a divergência na classificação correcta de caras tristes e alegres. De facto,
aquando da classificação de uma cara triste, obteve-se uma taxa de acerto bastante mais elevada do
que na classificação de um rosto alegre.
Estes resultados ilustram alguma tendência para a classificação com a classe triste. Tal facto deve-
se essencialmente à qualidade das amostras de treino visto que, ao longo do desenvolvimento do
presente estudo, e como é apresentado mais à frente, com diferentes amostras de treino assim se
obtêm diferentes tendências do classificador para uma ou outra classe.
Os resultados globais da classificação das expressões feliz e triste são ilustrados na figura 5.1.
Como pode verificar-se, a taxa média de acerto é de cerca de 81%.
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
81
19
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.1: Resultados percentuais para classes feliz e triste com testsets
Analisando os motivos das classificações incorrectas dividiram-se estas falhas em duas categorias:
• Erros na detecção correcta das características do rosto;
• Erros na classificação após uma extracção correcta das características.
A distribuição destas falhas para o caso anterior é apresentada na figura 5.2.
78
22
%Caracterís.casnãodetectadas
%Classificaçãoerrada
Figura 5.2: Causas de classificações incorrectas para classes feliz e triste com testsets
Foi feito também o treino e classificação para todas as classes de emoções. Os resultados são
apresentados na tabela 5.2 e resumidos na figura 5.3.
Como ilustrado, o classificador tem neste caso uma tendência para classificar a expressão feliz com
61
uma maior frequência. No entanto, e apesar deste facto se verificar, para cada grupo de amostras a
classe predominante correspondeu à emoção correcta.
Tabela 5.2: Taxas de acerto para todas as classes de expressões no contexto dos test-
sets
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto.
Irado 17 4 2 4 3 30 56,67
Feliz 5 177 12 6 3 203 87,19
Neutro 19 49 145 14 10 237 61,18
Triste 5 13 8 24 4 54 44,44
Surp. 9 21 10 7 20 67 29,85
Média 55,87
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surpr.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
56
44 %Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.3: Resultados percentuais para todas as classes de expressões com testsets
As causas para a classificação incorrecta encontram-se apresentadas na figura 5.4.
72
28
%Caracterís.casnãodetectadas
%Classificaçãoerrada
Figura 5.4: Causas de classificações incorrectas para todas as classes de expressões
com testsets
Tendo em conta os resultados no que diz respeito ao treino e classificação com recurso a testsets,
considera-se que uma taxa de acerto de cerca de 81% para o caso em que temos apenas duas classes
62
representa um resultado bastante satisfatório, embora passível de melhorias. No caso em que se dispõe
de cinco classes de emoções, uma taxa de acerto de cerca de 56% representa também um resultado
positivo, tendo em conta o maior número de classes entre as quais o classificador tem de optar.
5.2 Avaliação com utilizadores
Neste estudo, torna-se imperativa a compreensão da viabilidade do demonstrador no contexto da sua
utilização. Trata-se da situação em que o utilizador direcciona a sua expressão facial a uma web-
cam comum, sem preocupações de maior no que diz respeito à postura do rosto, a outros elementos
existentes na imagem ou a condições não óptimas de luminosidade ambiente, esperando uma resposta
rápida por parte do sistema em relação à expressão facial que apresenta. O âmbito de aplicabilidade
deste estudo tem em conta a interacção em condições normais, isto é, sem que haja uma preocupação
acrescida em relação a possíveis restrições de utilização. Nos testes concretizados, tentou simular-
se este tipo de situações, recorrendo a ambientes com condições de luminosidade bastante variáveis
(desde salas com fraca iluminação até ambientes exteriores), posicionamento variável de utilizadores
perante a câmara e indiferenciação entre utilizadores com e sem óculos.
Tanto para o levantamento de amostras de treino como para a recolha de informação relativa aos
testes, foi utilizado o demonstrador descrito na secção 4.1. Esta aplicação, em termos gerais, classifica
a expressão facial, associando a esta um emoticon, e regista os dados iconográficos (imagens faciais
de todos os registos expressivos dos utilizadores) e quantitativos (percentagem de verosimilhança para
cada expressão, classe expressiva predominante e informação acerca da correcção do classificador)
para posterior tratamento e análise.
5.2.1 Protocolo de recolha de dados
Foram explicados, a cada utilizador, os objectivos e o contexto do estudo. De seguida, foi pedido a
cada indivíduo que, em frente à câmara, tentasse aproximar o seu rosto das expressões neutra, feliz,
triste, irada e surpreendida. Ao mesmo tempo que os utilizadores exibiam as expressões, era dada a
instrução de classificação ao demonstrador. Este, após processamento da imagem recolhida aquando
da geração do evento, procedia à representação iconográfica da expressão. Pediu-se aos utilizado-
res que, após a categorização dos dados e conseguente apresentação do emoticon correspondente à
expressão predominante, dessem feedback acerca da correcção da avaliação, através do botão cor-
respondente a ’correcto’ ou ’incorrecto’. Este processo repetiu-se para todas as expressões de cada
utilizador.
A recolha de dados para treino e testes foi realizada em ambientes distintos, tanto exteriores como
interiores, com condições de luminosidade variáveis. Foi, ainda, dada liberdade aos utilizadores quanto
à postura relativamente à câmara. Estes factores são importantes na simulação de um cenário de
utilização real. No entanto, tal como a qualidade variável das webcam, implicam um impacto negativo
nos resultados obtidos.
Numa primeira sessão de recolha de dados, foi feito o levantamento de amostras para 30 utiliza-
dores. A cada uma destas pessoas foi feita a recolha de dados referentes às seis expressões faciais
supracitadas. O objectivo era usar a informação correspondente para dotar a base de dados de treino
63
de amostras representativas de um universo de estudo mais abrangente.
Na segunda sessão, obteve-se informação facial de teste referente a 37 utilizadores, sendo regis-
tados os dados para posterior análise e tratamento. A metodologia foi análoga à seguida na primeira
sessão de levantamento de amostras.
Por forma a minimizar qualquer tendência nos resultados, todos os participantes de ambas as ses-
sões são distintos.
No entanto, após os primeiros resultados, apresentados na secção 5.2.2, optou-se por estudar o
comportamento do classificador reduzindo o número de amostras de treino para 10. Após estes testes
decidiu também estudar-se a evolução dos resultados mantendo o mesmo número de amostras de
treino mas, desta vez, utilizar para treino as amostras da base de imagens correspondente aos testsets
[33], e não as obtidas através da captura de vídeo.
O número total de amostras recolhidas foi de 67 para cada expressão. As amostras de teste utili-
zadas foram sempre a totalidade das que restavam após a subtracção das necessárias para o treino.
É importante no entanto referir que nem todas as amostras de treino surgem indicadas nos resultados
finais. A discrepância, embora pequena, deve-se a imagens nas quais não foi possível, por parte do
sistema, a identificação de um rosto para classificação.
Posteriormente foram também capturadas 10 amostras extra para cada expressão com o objectivo
de efectuar novos testes. Estes testes tiveram como objectivo o estudo da possibilidade de recorrer a
vários frames para a classificação da expressão facial. Como tal, cada uma destas amostras consistiu
na captura de 10 frames. A captura foi efectuada em condições idênticas às capturas anteriores no
sentido de simular situações reais.
5.2.2 Resultados da Avaliação com Utilizadores
Os resultados aqui apresentados tentam estudar e ilustrar o funcionamento do classificador numa si-
tuação de utilização real com recurso a uma webcam tradicional. Tal como na secção anterior, foram
efectuados testes com o intuito de classificar expressões felizes e tristes e também testes com o objec-
tivo de classificar expressões nas cinco variantes anteriormente mencionadas.
Resultados com 30 amostras de treino
Os primeiros testes foram efectuados com uma base de conhecimento populada através de 30 amostras
de treino para cada expressão. No caso da classificação entre as expressões feliz e triste, os resultados
são sumarizados na tabela 5.3 e ilustrados graficamente na figura 5.5.
64
Tabela 5.3: Taxas de acerto para as expressões feliz e triste em testes com utilizadores
usando 30 amostras de treino
Classificação
Feliz Triste Total %Acerto
Feliz 25 12 37 67,57
Triste 13 24 37 64,86
Média 66,22
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
66
34
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.5: Resultados percentuais para as classes feliz e triste em testes com utilizado-
res, usando 30 amostras de treino
Neste contexto não é já verificada a tendência para a classificação na classe feliz que existia
aquando dos testes realizados com recurso aos testsets. Com efeito, os resultados são mais equili-
brados mas, embora se tenha obtido uma taxa de sucesso próxima dos 70%, não são, globalmente,
tão satisfatórios como os correspondentes aos testsets. Tal deve-se ao facto de as fotografias utilizadas
para a classificação padecerem de falta de qualidade, questão que é elaborada nos testes seguintes.
No caso dos testes efectuados para todas as expressões faciais consideradas, os resultados são
apresentados na tabela 5.4 e resumidos na figura 5.6.
65
Tabela 5.4: Taxas de acerto para todas as expressões faciais em testes com utilizadores,
usando 30 amostras de treino
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto.
Irado 1 0 25 2 9 37 2,70
Feliz 1 0 32 1 3 37 0,00
Neutro 1 1 27 2 6 37 72,97
Triste 3 0 28 2 4 37 5,41
Surp. 0 0 32 1 4 37 10,81
Média 18,38
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surpr.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
18
82
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.6: Resultados percentuais para todas as expressões faciais em testes com utili-
zadores, usando 30 amostras de treino
Neste caso, torna-se claro que a maior parte das amostras foram classificadas como neutras, prova-
velmente devido a uma sobre-especialização do classificador. De facto, comparado a um classificador
aleatório, que classificaria 20% de amostras em cada classe, o resultado obtido é inferior.
Resultados com 10 amostras de treino
Com o intuito de solucionar o problema da sobre-especialização do classificador foram também efec-
tuados testes com apenas 10 amostras de treino. Os resultados obtidos com estes testes para a
classificação de expressoões feliz e triste podem ser consultados na tabela 5.5 e na figura 5.7.
66
Tabela 5.5: Taxas de acerto para as expressões feliz e triste em testes com utilizadores,
usando 10 amostras de treino
Classificação
Feliz Triste Total %Acerto
Feliz 31 25 56 55,36
Triste 22 33 55 60,00
Média 57,66
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
58
42%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.7: Resultados percentuais para as expressões alegre e triste em testes com
utilizadores, usando 10 amostras de treino
No caso da classificação com todas as expressões consideradas, o resultado é apresentado na
tabela 5.6 e resumido na figura 5.8.
Tabela 5.6: Taxas de acerto para todas as expressões faciais em testes com utilizadores,
usando 10 amostras de treino
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto.
Irado 12 11 10 6 16 55 21,82
Feliz 9 7 14 5 21 56 12,50
Neutro 8 6 14 6 20 54 25,93
Triste 5 6 18 11 15 55 20,00
Surp. 9 6 17 5 20 57 35,09
Média 23,07
Após a alteração do número de amostras de treino deu-se uma melhoria nos resultados. No entanto,
estes não são ainda considerados satisfatórios.
67
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surpr.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
23
77
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.8: Resultados percentuais para todas as expressões faciais em testes com utili-
zadores, usando 10 amostras de treino
Resultados com 10 amostras de treino dos testsets
Com o intuito de melhorar os resultados, foi feito o treino do utilizador com recurso às amostras existen-
tes na base de dados dos testsets, visto estas serem de melhor qualidade. A utilização destas amostras
para treino, que se traduziu num impacto significativo no resultado final, provou a relevância da quali-
dade das imagens de treino para melhor desempenho do classificador. Os resultados para o caso da
classificação de expressões de alegria e tristeza são apresentados na tabela 5.8 e na figura 5.9. Foram
também analisadas as percentagens de falhas provocadas pela má detecção de características faciais
e pela má classificação após a detecção correcta das características. Os resultados obtidos para este
caso podem ser consultados na figura 5.10.
Tabela 5.7: Taxas de acerto para as expressões feliz e triste em testes com utilizadores,
usando 10 amostras de treino da base de dados dos testsets
Classificação
Feliz Triste Total %Acerto
Feliz 42 14 56 75,00
Triste 16 39 55 70,91
Média 72,95
68
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
73
27
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.9: Resultados percentuais para as expressões alegre e triste em testes com
utilizadores, usando 10 amostras de treino da base de dados dos testsets
63
37%Caracterís.casnãodetectadas
%Classificaçãoerrada
Figura 5.10: Causas de classificações incorrectas para classes feliz e triste em testes
com utilizadores
Para o caso da classificação das cinco emoções consideradas, os resultados são ilustrados na
tabela 5.8 e sumarizados na figura 5.11. A análise dos motivos para as classificações incorrectas
encontra-se apresentada na figura 5.12.
Tabela 5.8: Taxas de acerto para todas as expressões faciais em testes com utilizadores,
usando 10 amostras de treino da base de dados dos testsets
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto
Irado 21 19 7 2 4 53 39,62
Feliz 9 28 8 5 6 56 50,00
Neutro 14 12 20 4 4 54 37,04
Triste 10 13 11 16 5 55 29,09
Surp. 9 17 10 2 19 57 33,33
Média 37,82
69
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surp.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
38
62
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.11: Resultados percentuais para todas as expressões faciais em testes com uti-
lizadores, usando 10 amostras de treino da base de dados dos testsets
69
31
%Caracterís/casnãodetectadas
%Classificaçãoerrada
Figura 5.12: Causas de classificações incorrectas para todas as classes de expressões
em testes com utilizadores
Resultados com 10 frames por expressão
Decidiu-se também uma abordagem alternativa no sentido de atingir níveis de performance mais eleva-
dos. Esta abordagem consiste na utilização de vários frames da captura vídeo para a classificação da
expressão. Esta classificação baseou-se na classificação de cada frame individual, considerando-se a
expressão maioritária como a classe a que pertence o conjunto de frames.
Neste sentido foram feitos testes adicionais para verificar a viabilidade desta abordagem. Utilizou-se
para a classificação uma sequência de 10 frames. Embora esta abordagem possa por em causa os re-
quisitos de tempo-real, considerou-se que seria pelo menos interessante verificar qual o seu contributo
para a melhoria da qualidade do classificador.
Para estes testes apenas foi possível ter disponível um conjunto de 10 amostras para cada classe a
classificar, pelo que deverá ser considerada uma margem de erro nos resultados obtidos.
Os resultados obtidos para a classificação das expressões de alegria e tristeza encontram-se na
tabela 5.9 e resumidos na figura 5.13.
70
Tabela 5.9: Taxas de acerto para as expressões feliz e triste em testes com utilizadores,
usando 10 frames por expressão
Classificação
Feliz Triste Total %Acerto
Feliz 8 2 10 80,00
Triste 1 9 10 90,00
Média 85,00
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
85
15
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.13: Resultados percentuais para as expressões alegre e triste em testes com
utilizadores, usando 10 frames por expressão
Mesmo considerando uma eventual margem de erro, os resultados obtidos para este caso são
bastante promissores. Para o caso da classificação aplicada a todas as classes de expressões os
resultados obtidos podem ser consultados na tabela 5.10 e na figura 5.14.
Tabela 5.10: Taxas de acerto para todas as expressões faciais em testes com utilizado-
res, usando 10 frames por expressão
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto
Irado 5 1 0 3 1 10 50,00
Feliz 1 7 0 1 1 10 70,00
Neutro 2 3 2 1 2 10 20,00
Triste 1 1 0 6 2 10 60,00
Surp. 0 1 0 3 6 10 60,00
Média 59,09
71
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surpr.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
59
41%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.14: Resultados percentuais para todas as expressões faciais em testes com uti-
lizadores, usando 10 frames por expressão
Também neste caso se verificou uma melhoria considerável dos resultados, ainda que à custa de
alguma latência na classificação, visto que o algoritmo, ao classificar 10 frames, é efectivamente 10
vezes mais lento. Em termos de taxas de sucesso, apenas o reconhecimento da classe neutra se
revelou algo frágil, uma vez que as taxas de acerto nas restantes classes são bastante promissoras.
5.2.3 Análise de Resultados
De uma forma geral, os resultados obtidos na sequência dos testes efectuados foram satisfatórios e
encontram-se dentro dos objectivos traçados para este estudo. Atingiu-se uma taxa de acerto de cerca
de 81% para uma distinção entre as expressões feliz e triste, e uma taxa de acerto de cerca de 56%
para uma distinção entre cinco estados emocionais distintos.
É, no entanto, notório que estes resultados estão muito dependentes do treino efectuado e da quali-
dade das amostras usadas, quer no processo de treino, quer no processo de classificação. Com efeito,
verificou-se que os resultados obtidos com as imagens dos testsets são sempre superiores aos obtidos
nos testes com utilizadores. Verificou-se também que, na impossibilidade de se efectuar a classificação
com imagens de boa qualidade, a utilização de imagens de boa qualidade para o treino do classificador
permite, só por si, uma melhoria significativa dos resultados finais.
A comparação dos resultados obtidos através da utilização de:
• amostras de fraca qualidade para teste e treino;
• amostras de fraca qualidade para teste e boa qualidade para treino; e
• amostras de boa qualidade para teste e treino,
mostra que a qualidade das amostras tem um impacto significativo nos resultados obtidos.
Existem alguns outros factores que restringem os resultados a valores menos favoráveis, dificul-
tando o processo de classificação. Alguns exemplos destas variáveis, como um posicionamento exage-
radamente lateral do indivíduo perante a câmara, iluminação deficiente ou transposição incorrecta da
expressão pretendida, são ilustrados na figura 5.15.
Foram também efectuados testes nos sentido de verificar a hipótese de efectuar uma classificação
ao longo de várias frames de vídeo. Estes testes apresentaram resultados promissores sendo que para
72
(a) Posicionamento lateral (b) Fraca iluminação (c) Expressão ’zangado’ pouco realista
Figura 5.15: Factores de influência na classificação
o caso da classificação de feliz e triste a taxa de acerto foi de 85% e no caso de todas as expressões
foi de cerca de 60%.
Quanto ao número de amostras utilizadas para o treino do classificador, os resultados globais não
são conclusivos. Se, no caso da classificação com cinco classes de emoções, parece ter existido
uma clara sobre-especialização do classificador por excesso de amostras de treino, eventualmente
devido a alguma falta de qualidade das mesmas, no caso da classificação com apenas duas emoções,
os resultados com 30 amostras de treino foram superiores aos resultados com apenas 10 amostras
de treino. Ainda assim, verifica-se que mais importante que a quantidade de amostras de treino é a
qualidade das mesmas.
É também evidente, a partir dos resultados obtidos, que uma melhoria dos processos de detecção
das características faciais pode representar uma evolução muito acentuada da qualidade final do classi-
ficador, visto que entre 60% a 80% das falhas de classificação ficaram a dever-se a falhas na detecção
das características faciais.
Verifica-se também que, em função das amostras utilizadas para o treino, o classificador pode de-
monstrar uma maior tendência para classificar mais amostras como pertencendo a determinadas clas-
ses. Este problema verificou-se desde o início dos testes e, apesar de não ter sido aprofundado, parece
ter que ver com o desvio-padrão das normais utilizadas na classificação. Assim, e tendo em conta que,
de acordo com o algoritmo utilizado, cada classe é representada no classificador como um conjunto
de gaussianas, classes cujas gaussianas tenham desvios-padrão muito maiores que as restantes re-
presentam tendências do classificador. Como tal, em casos mais próximos da fronteira de decisão, o
classificador terá tendência para optar pelas classes com maiores desvios-padrão.
5.3 Testes de Referência
Com o intuito de contextualizar os resultados obtidos através do módulo de classificação automática de
expressões faciais, foram feitos alguns testes com utilizadores. Durante estes testes, foram apresen-
tadas as imagens faciais correspondentes à recolha de amostras, efectuada no contexto do presente
estudo, a um conjunto de 10 pessoas. As imagens adoptadas consistem num conjunto de 67 rostos
de indivíduos distintos por expressão facial. Os utilizadores fizeram a classificação de cada uma das
imagens independentemente, sendo estas apresentadas por ordem aleatória. Por forma a seguir a me-
73
todologia adoptada no contexto dos testes, também neste caso foi feita a classificação em dois cenários
distintos: expressões de alegria e tristeza e todas as expressões consideradas neste trabalho.
Os resultados dos testes para o primeiro caso são apresentados na tabela 5.11 e sumarizados na
figura 5.16.
Tabela 5.11: Taxas de acerto para as expressões feliz e triste em testes com utilizadores,
usando 10 frames por expressão
Classificação
Feliz Triste Total %Acerto
Feliz 8 651 670 97,16
Triste 36 634 670 94,63
Média 95,89
0% 20% 40% 60% 80% 100%
Feliz
Triste
%Feliz
%Triste
(a) Distribuição por classes
96
4
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.16: Resultados percentuais para as expressões alegre e triste em testes com
utilizadores, usando 10 frames por expressão
Estes testes confirmam a facilidade inerente ao ser humano em distinguir a expressão de alegria da
expressão de tristeza, da qual será desejável uma aproximação por parte de um sistema computarizado.
No entanto, e como pode verificar-se através da observação da tabela 5.12 e da figura 5.17, tal não
ocorre com uma taxa de sucesso tão elevada para todas as expressões.
74
Tabela 5.12: Taxas de acerto para todas as expressões faciais em testes com utilizado-
res, usando 10 frames por expressão
Classificação
Irado Feliz Neutro Triste Surp. Total %Acerto
Irado 392 12 116 145 5 670 58,51
Feliz 38 465 62 27 78 670 69,40
Neutro 146 52 336 99 37 670 50,15
Triste 46 17 156 451 0 670 67,31
Surp. 72 43 13 34 508 670 75,82
Média 64,24
0% 20% 40% 60% 80% 100%
Irado
Feliz
Neutro
Triste
Surp.
%Irado
%Feliz
%Neutro
%Triste
%Surp.
(a) Distribuição por classes
64
36
%Correcto
%Incorrecto
(b) Taxa de acerto
Figura 5.17: Resultados percentuais para todas as expressões faciais em testes com uti-
lizadores, usando 10 frames por expressão
Efectivamente, no caso em que utilizadores humanos classificaram rostos correspondentes a todas
as expressões consideradas no âmbito deste estudo, a taxa de sucesso ronda os 64%. No gráfico da fi-
gura 5.18 são resumidos os resultados dos testes para o classificador e os testes em que as expressões
foram classificadas por humanos. 65% de sucesso para todas as expressões face aos 59% obtidos pelo
classificador, constata-se um desempenho quantitativo por parte do sistema correspondente a cerca de
92% do desempenho do ser humano. Já para o caso de alegria versus tristeza, os resultados rondam
os 89% comparativamente ao ser humano.
75
0% 20% 40% 60% 80% 100%
Todasasexpressões
Alegriavs.Tristeza
Humanos
Classificador
Figura 5.18: Resultados comparativos entre a classificação automática e a classificação
por utilizadores
76
Capítulo 6
Conclusões e Trabalho Futuro
A motivação principal para o presente estudo prendeu-se essencialmente com o desenvolvimento de
um método de interacção que permitisse o reconhecimento e classificação de expressões faciais com
o objectivo de criar um novo canal de interacção entre o utilizador e o sistema computacional.
Para tal, foi necessário encontrar uma solução de reconhecimento e classificação facial que se tradu-
zisse numa taxa de acerto significativa, penalizando ao mínimo a fluidez da interacção entre utilizador e
a máquina. Esta necessidade traduziu-se na procura de algoritmos suficientemente leves, de um ponto
de vista computacional, mas que ainda assim permitissem resultados que não comprometessem o seu
funcionamento.
Neste contexto foi desenvolvida uma biblioteca que permite a inclusão de toda a funcionalidade
de reconhecimento de expressões faciais em qualquer aplicação com um mínimo de esforço. Esta
biblioteca é responsável, quer pelo treino do classificador e consequente preenchimento da base de
conhecimento, quer pela classificação de amostras. Permite ainda a consulta da base de conhecimento
e a obtenção de informação sobre o funcionamento interno do classificador.
Com o intuito de exemplificar o funcionamento desta biblioteca, bem como no sentido de efectuar
testes com utilizadores, foram desenvolvidos três demonstradores que fazem uso da mesma. O pri-
meiro, que foi utilizado nos testes, permite a classificação automática de expressões faciais, bem como
a indicação dos níveis de verosimilhança de cada uma das expressões, e a indicação por parte do
utilizador da correcção desta classificação. A segunda aplicação consiste na inserção de emoticons,
gerados automaticamente a partir do reconhecimento facial efectuado pela aplicação a correr em se-
gundo plano, na janela activa, como seja, a título de exemplo, uma aplicação de instant messaging. Por
fim, o terceiro demonstrador, foi criado no contexto de um projecto para a disciplina de Interface Multi-
modais Inteligentes e consiste num tocador áudio que permite a classificação automática de músicas
através da análise periódica da expressão facial do utilizador.
Posteriormente foram efectuados testes com utilizadores, bem como testes automatizados com re-
curso a bases de dados de imagens, que permitiram a obtenção de métricas referentes ao desempenho
do classificador utilizado.
77
6.1 Conclusões finais e discussão
Este estudo explora uma possibilidade de interacção entre a pessoa e o sistema computarizado, base-
ada no reconhecimento de expressões faciais como modalidade não convencional de interacção.
O desenvolvimento de uma biblioteca de fácil utilização permite a adopção, por qualquer tipo de
aplicações, das funcionalidades aqui apresentadas.
No caso da distinção entre um utilizador feliz e triste conseguiram-se taxas de acerto de mais de
80%. No caso em que se tenta distinguir entre cinco expressões diferentes (irado, feliz, neutro, triste e
surpreendido) esta taxa de sucesso ronda os 55%.
Apesar de o código desenvolvido não se encontrar optimizado e de a própria biblioteca ter sido
gerada sem qualquer tipo de optimizações ao nível do compilador, os algoritmos implementados são
leves e permitem um bom desempenho temporal. Com a actual implementação conseguiram-se clas-
sificações bem sucedidas em menos de 1 segundo. Com a optimização do código e do processo de
compilação estes valores ficarão certamente bastante próximos do tempo-real, se se considerar acei-
tável um atraso de resposta de poucas décimas de segundo.
Nos testes efectuados com a classificação de várias frames foi obtida uma taxa de acerto de 85%
para a classificação entre feliz e triste e de cerca de 60% para a classificação com todas as classes.
Estes testes foram efectuados com 10 frames consecutivas. No entanto, dependendo do desempenho
temporal do classificador optimizado, este processo pode ser demasiado lento. Tendo em conta os
resultados promissores que foram obtidos, será interessante o aprofundamento futuro deste estudo e a
avaliação do desempenho do classificador com recurso a menos frames, por forma a maximizar o seu
desempenho temporal sem comprometer as taxas de sucesso.
Existem, no entanto, aspectos que carecem de melhorias futuras. Será desejável posteriormente
atingir taxas de sucesso para uma distinção entre duas expressões faciais que se aproximem mais dos
90%. Para tal será necessário colmatar alguns dos aspectos que, durante o desenvolvimento deste
estudo, se revelaram mais frágeis. Dentro do processo de extracção de características do rosto, as
etapas que apresentam menor fiabilidade são a detecção dos olhos através das cascatas de Haar
implementadas pela biblioteca OpenCV e o processo de detecção dos contornos da boca.
No primeiro caso, a solução poderá passar por um novo treino das cascatas de Haar. Este processo,
sendo de certa forma moroso, encontra-se fora do âmbito deste estudo tendo sido utilizada uma base
de treino disponível livremente na Internet.
Quanto ao segundo caso será certamente necessário melhorar o mecanismo utilizado para a detec-
ção dos contornos da boca. Com efeito, no presente estudo, esta detecção baseou-se principalmente
nas arestas detectadas através de um algoritmo de detecção de arestas. No entanto poderá ser interes-
sante abordar a detecção dos contornos da boca com recurso a outro tipo de informação como sejam
variações de côr ou de luminosidade. Tal aproximação poderá também permitir uma maior robustez em
relação à existência de pêlos faciais, factor que pode influenciar o detector de arestas.
Também fora do âmbito deste trabalho ficou a utilização dos diferenciais da face associados a uma
captura de vídeo. Com efeito, todo o processo de classificação baseia-se actualmente na informação
presente numa única imagem ou num conjunto de imagens. A utilização da informação referente à
alteração dos elementos faciais ao longo do vídeo pode permitir, não só diminuir o processamento ne-
cessário à extracção de características numa determinada imagem, mas também fornecer informação
adicional ao classificador e, consequentemente, melhorar o seu desempenho.
78
Uma abordagem interessante que poderia introduzir melhorias na qualidade da classificação e na
sua eficiência temporal, acelerando o processo, passaria pela atribuição de diferentes pesos às carac-
terísticas, dependendo da expressão a ser analisada. Para a atribuição destes pesos, poderia usar-se
uma PCA, que permitiria a obtenção das características com maior contributo para cada classificação
específica, de uma forma automatizada.
Para melhoria de desempenho em termos qualitativos, poderia considerar-se uma aproximação re-
levante ao treino do classificador que passaria por um treino adaptado a cada utilizador específico. Esta
situação faz sentido no principal cenário de interacção considerado, em que o utilizador interage com
o sistema a partir do seu próprio computador. Com efeito, uma adaptação da base de conhecimento a
cada utilizador pode permitir ganhos de desempenho bastante significativos.
79
80
Bibliografia
[1] M. Bartlett, G. Littlewort, B. Braathen, T. Sejnowski, and J. Movellan. A prototype for automatic
recognition of spontaneous facial actions. In Advances in Neural Information Processing Systems,
volume 15, pages 1271–1278. MIT Press, 2003.
[2] J. Bassili. Facial motion in the perception of faces and of emotional expression. In J. Experimental
Psychology, volume 4, pages 373–379, 1978.
[3] M. Black and Y. Yacoob. Tracking and recognizing rigid and non-rigid facial motions using local
parametric models of image motions. In Proc. International Conf. Computer Vision, pages 374–
381, 1995.
[4] M. Black and Y. Yacoob. Recognizing facial expressions in image sequences using local para-
metrized models of image motion. In International J. Computer Vision, volume 25, pages 23–48,
1997.
[5] V. Bruce. Recognizing Faces. Lawrence Erlbaum Associates, London, 1988.
[6] J. Cao and C. Tong. Facial expression recognition based on lbp-ehmm. In Congress on Image and
Signal Processing, 2008. CISP ’08, pages 371–375. IEEE, 2008.
[7] I. Cohen, N. Sebe, F. Cozman, and T. Huang. Semi-supervised learning for facial expression
recognition. In MIR ’03: Proceedings of the 5th ACM SIGMM international workshop on Multimedia
information retrieval, pages 17–22, New York, NY, USA, 2003. ACM Press.
[8] J. Cohn, A. Zlochower, J. Lien, and T. Kanade. Feature-point tracking by optical flow discriminates
subtle differences in facial expression. In Proc. International Conf. Automatic Face and Gesture
Recognition, pages 396–401, 1998.
[9] G. Donato, M. Bartlett, J. Hager, P. Ekman, and T. Sejnowski. Classifying facial actions. IEEE Trans.
Pattern Anal. Mach. Intell., 21(10):974–989, 1999.
[10] G.J. Edwards, T.F. Cootes, and C.J. Taylor. Face recognition using active appearance models. In
Proc. European Conf. Computer Vision, volume 2, pages 581–695, 1998.
[11] P. Eisert and B. Girod. Facial expression analysis for model-based coding of video sequences. In
Proc. Picture Coding Symposium, pages 33–38, 1997.
[12] P. Ekman. Emotion in the human face. Cambridge University Press, 1982.
[13] P. Ekman. Strong evidence for universals in facial expressions: a reply to russel’s mistaken critique.
In Psycological Bulletin, volume 115, pages 268–287, 1994.
[14] P. Ekman and W. Friesen. Unmasking the Face. Prentice-Hall, 1975.
[15] P. Ekman and W. Friesen. Facial Action Coding System (FACS): Manual. Palo Alto: Consulting
Psychologists Press, 1978.
[16] I. Essa and A. Pentland. Coding, analysis interpretation, recognition of facial expressions. In IEEE
Trans. Pattern Analysis and Machine Intelligence, volume 19, pages 757–763, July 1997.
81
[17] R. Feitosa, M. Vellasco, D. Oliveira, D. Andrade, and S. Maffra. Facial expression classification
using rbf and back-propagation neural networks. In Proc. International Conference on ISAS, pages
73–77, 2000.
[18] H. Hong, H. Neven, and C. Von der Malsburg. Online facial expression recognition based on
personalized galleries. In Proc. International Conf. Automation Face and Gesture Recognition,
pages 354–359, 1998.
[19] C. Huang and Y. Huang. Facial expression recognition using model-based feature extraction and
action parameters classification. In J. Visual Comm. and Image representation, volume 8, pages
278–290, 1997.
[20] F. Hülsken, F. Wallhoff, and G. Rigoll. Facial expression recognition with pseudo-3d hidden markov
models. In Proceedings of the 23rd DAGM-Symposium on Pattern Recognition, pages 291–297.
Springer-Verlag, 2001.
[21] S. Kaiser, T. Wehrle, and S. Schmidt. Emotional episodes, facial expressions, and reported feelings
in human-computer interactions. In Proceedings of the Xth Conference of the International Society
for Research on Emotions, pages 82–86, 1998.
[22] A. Khanam, M. Shafiq, and M. Akram. Fuzzy based facial expression recognition. In Proc. Congress
on Image and Signal Processing (CISP), IEEE, pages 598–602, 2008.
[23] S. Kimura and M. Yachida. Facial expression recognition and its degree estimation. In Proc. Com-
puter Vision and Pattern Recognition, pages 295–300, 1997.
[24] H. Kobayashi and F. Hara. Facial interaction between animated 3d face robot and human beings.
In Proc. International Conf. Systems, Man, Cybernetics, pages 3732–3737, 1997.
[25] M. Kolsch and M. Turk. Robust hand detection. In Proc. IEEE Intl. Conference on Automatic Face
and Gesture Recognition, 2004.
[26] I. Kotsia, N. Nikolaidis, and I. Pitas. Facial expression recognition in videos using a novel multi-class
support vector machines variant. In IEEE Trans. Image Process, 2007.
[27] K. Lam and H. Yan. An analytic-to-holistic approach for face recognition based on a single frontal
view. In IEEE Trans. Pattern analysis and machine intelligence, volume 20, pages 673–686, 1998.
[28] G. Littlewort, M. Bartlett, C. Fasel, T. Kanda, H. Ishiguro, and J. Movellan. Towards social robots:
Automatic evaluation of human-robot interaction by face detection and expression classification. In
Proc. Advances in neural information processing systems, MIT Press., volume 16, 2000.
[29] H. Lu, Y. Huang, Y. Chen, and D. Yang. Real-time facial expression recognition based on pixel-
pattern-based texture feature. In Proc. Electronic Letters, pages 916–918, 2007.
[30] M. Lyons, J. Budynek, and S. Akamatsu. Automatic classification of single facial images. In IEEE
Trans. Pattern Analysis and Machine Intelligence, volume 21, pages 1357–1362, 1999.
[31] M. Malciu and F. Preteux. Tracking facial features in video sequences using a deformable model-
based approach. In Proceedings of the SPIE, volume 4121, pages 51–62, 2000.
[32] J. Marques. Reconhecimento de Padrões, Métodos Estatísticos e Neuronais. IST Press, 2005.
[33] M. Minear and D. Park. A lifespan database of adult facial stimuli. In Behavior research methods,
instruments and computers, 2004.
[34] E. Osuna, R. Freud, and F. Girosi. Training support vector machines: an application to face detec-
tion. In Proc. Computer Vision and Pattern Recognition, pages 130–136, 1997.
[35] T. Otsuka and J. Ohya. Spotting segments displaying facial expression from image sequences
using hmm. In Proc. International Conf. Automatic Face and Gesture Recognition, pages 442–447,
1998.
82
[36] C. Padgett and G.W. Cottrell. Representing face images for emotion classification. In Proc. Conf.
Advances in Neural Information Processing Systems, pages 894–900, 1996.
[37] I. Pandzic and R. Forchheimer, editors. MPEG-4 Facial Animation: The Standard, Implementation
and Applications. John Wiley & Sons, Inc., New York, NY, USA, 2003.
[38] M. Pantic and L.J.M. Rothkrantz. Expert system for automatic analysis of facial expression. In
Image and vision computing J., volume 18, pages 881–905, 2000.
[39] A. Pentland, B. Moghaddam, and T. Starner. View-based and modular eigenspaces for face recog-
nition. In Proc. Computer Vision and Pattern Recognition, pages 84–91, 1994.
[40] L. Personnaz, I. Guyon, and G. Dreyfus. Collective computational properties of neural networks:
New learning mechanisms. Phys. Rev. A, 34(5):4217–4228, Nov 1986.
[41] T. Pham, M. Worring, and A. Smeulders. Face detection by aggregated Bayesian network classifi-
ers. Lecture Notes in Computer Science, 2123:249–262, 2001.
[42] I. Rish. An empirical study of the naive bayes classifier. In IJCAI 2001 Workshop on Empirical
Methods in Artificial Intelligence, 2001.
[43] H. Rowley, S. Baluja, and T. Kanade. Neural network-based face detection. IEEE Transactions on
Pattern Analysis and Machine Intelligence, 20(1):23–38, 1998.
[44] M. Rydfalk. Candide, a parameterized face. Technical Report LiTH-ISY-I-0866, Linkoping University,
1987.
[45] E. Saber and A. Tekalp. Frontal-view face detection and facial feature extraction using color, shape
and symmetry based cost functions. In Pattern Recognition Letters, volume 19, pages 669–680,
1998.
[46] I. Stathopoulou and G. Tsihrintzis. An improved neural-network-based face detection and facial
expression classification system. In SMC (1), pages 666–671, 2004.
[47] K. Sung and T. Poggio. Example-based learning for view-based human face detection. IEEE
Transactions on Pattern Analysis and Machine Intelligence, 20(1):39–51, 1998.
[48] H. Tao and T. Huang. Connected vibrations: A modal analysis approach for non-rigid motion trac-
king. In Proc. IEEE Comput. Vision and Pattern Recognition, 1998.
[49] D. Terzopoulos and K. Waters. Analysis and synthesis of facial image sequences using physical
and anatomical models. In IEEE Trans. Pattern Analysis and Machine Intelligence, volume 15,
pages 569–579, 1993.
[50] Y. Tian, T. Kanade, and J.F. Cohn. Recognizing action units for facial expression analysis. In IEEE
Transactions on Pattern Analysis and Machine Intelligence, volume 23, pages 97–115, 2001.
[51] U. Turhal, A. Duysak, and M. Gulmezoglu. A two stage algorithm for face recognition: 2dpca and
within-class scatter minimization. In Proc. Signal Processing, Pattern Recognition, and Applicati-
ons, 2007.
[52] V. Vezhnevets. Method for localization of human faces in color-based face detectors and trackers.
In Proc. Third International Conference on Digital Information Processing And Control In Extreme
Situations, 2002.
[53] V. Vezhnevets, S. Soldatov, A. Degtiareva, and I. Park. Automatic extraction of frontal facial features.
In Proceedings of the Sixth Asian Conference on Computer Vision, 2004.
[54] P. Viola and M. Jones. Robust real-time object detection. Technical report, University of Cambridge,
2001.
[55] M. Wang, Y. Iwai, and M. Yachida. Expression recognition from time-sequential facial images by use
of expression change model. In Proc. International Conf. Automatic face and gesture recognition,
pages 324–329, 1998.
83
[56] J. Yang, D. Zhang, A. Frangi, and J. Yang. Two-dimensional pca: a new approach to appearance-
based face representation and recognition. In Proc. IEEE Trans. Patterns Anal. Machine Intelli-
gence, volume 26, pages 131–137, 2004.
[57] M. Yoneyama, Y. Iwano, A. Ohtake, and K. Shirai. Facial expressions recognition using discreet
hopfield neural networks. In Proc. International Conf. Information Processing, volume 3, pages
117–120, 1997.
[58] C. Zhan, W. Li, P. Ogunbona, and F. Safaei. Facial expression recognition for multiplayer online
games. In Proc. of the 3rd Australasian Conf. on Interactive Entertainment, volume 207, pages
452–458, 2006.
[59] Z. Zhang, M. Lyons, M. Schuster, and S. Akamatsu. Comparrison between geometry-based and
gabor wavelets-based facial expression recognition using multi-layer perceptron. In Proc. Internati-
onal Conf. Automatic face and gesture recognition, pages 454–459, 1998.
[60] J. Zhao and G. Kearney. Classifying facial emotions by backpropagation neural networks with fuzzy
inputs. In Proc. Conf. Neural information processing, volume 1, pages 454–457, 1996.
84