facial emoticons reprodução de informação associada a

100
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

Upload: letu

Post on 07-Jan-2017

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facial Emoticons Reprodução de Informação Associada a

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

Page 2: Facial Emoticons Reprodução de Informação Associada a

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

Page 3: Facial Emoticons Reprodução de Informação Associada a

ii

Page 4: Facial Emoticons Reprodução de Informação Associada a

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

Page 5: Facial Emoticons Reprodução de Informação Associada a

iv

Page 6: Facial Emoticons Reprodução de Informação Associada a

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

Page 7: Facial Emoticons Reprodução de Informação Associada a

vi

Page 8: Facial Emoticons Reprodução de Informação Associada a

Í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

Page 9: Facial Emoticons Reprodução de Informação Associada a

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

Page 10: Facial Emoticons Reprodução de Informação Associada a

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

Page 11: Facial Emoticons Reprodução de Informação Associada a

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

Page 12: Facial Emoticons Reprodução de Informação Associada a

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

Page 13: Facial Emoticons Reprodução de Informação Associada a

xii

Page 14: Facial Emoticons Reprodução de Informação Associada a

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

Page 15: Facial Emoticons Reprodução de Informação Associada a

xiv

Page 16: Facial Emoticons Reprodução de Informação Associada a

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

Page 17: Facial Emoticons Reprodução de Informação Associada a

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

Page 18: Facial Emoticons Reprodução de Informação Associada a

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

Page 19: Facial Emoticons Reprodução de Informação Associada a

• 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

Page 20: Facial Emoticons Reprodução de Informação Associada a

4

Page 21: Facial Emoticons Reprodução de Informação Associada a

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

Page 22: Facial Emoticons Reprodução de Informação Associada a

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

Page 23: Facial Emoticons Reprodução de Informação Associada a

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

Page 24: Facial Emoticons Reprodução de Informação Associada a

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

Page 25: Facial Emoticons Reprodução de Informação Associada a

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

Page 26: Facial Emoticons Reprodução de Informação Associada a

(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

Page 27: Facial Emoticons Reprodução de Informação Associada a

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

Page 28: Facial Emoticons Reprodução de Informação Associada a

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

Page 29: Facial Emoticons Reprodução de Informação Associada a

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

Page 30: Facial Emoticons Reprodução de Informação Associada a

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

Page 31: Facial Emoticons Reprodução de Informação Associada a

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

Page 32: Facial Emoticons Reprodução de Informação Associada a

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

Page 33: Facial Emoticons Reprodução de Informação Associada a

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

Page 34: Facial Emoticons Reprodução de Informação Associada a

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

Page 35: Facial Emoticons Reprodução de Informação Associada a

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

Page 36: Facial Emoticons Reprodução de Informação Associada a

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

Page 37: Facial Emoticons Reprodução de Informação Associada a

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

Page 38: Facial Emoticons Reprodução de Informação Associada a

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

Page 39: Facial Emoticons Reprodução de Informação Associada a

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

Page 40: Facial Emoticons Reprodução de Informação Associada a

24

Page 41: Facial Emoticons Reprodução de Informação Associada a

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

Page 42: Facial Emoticons Reprodução de Informação Associada a

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

Page 43: Facial Emoticons Reprodução de Informação Associada a

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

Page 44: Facial Emoticons Reprodução de Informação Associada a

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

Page 45: Facial Emoticons Reprodução de Informação Associada a

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

Page 46: Facial Emoticons Reprodução de Informação Associada a

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

Page 47: Facial Emoticons Reprodução de Informação Associada a

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

Page 48: Facial Emoticons Reprodução de Informação Associada a

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

Page 49: Facial Emoticons Reprodução de Informação Associada a

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

Page 50: Facial Emoticons Reprodução de Informação Associada a

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

Page 51: Facial Emoticons Reprodução de Informação Associada a

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

Page 52: Facial Emoticons Reprodução de Informação Associada a

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

Page 53: Facial Emoticons Reprodução de Informação Associada a

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

Page 54: Facial Emoticons Reprodução de Informação Associada a

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

Page 55: Facial Emoticons Reprodução de Informação Associada a

É 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

Page 56: Facial Emoticons Reprodução de Informação Associada a

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

Page 57: Facial Emoticons Reprodução de Informação Associada a

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

Page 58: Facial Emoticons Reprodução de Informação Associada a

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

Page 59: Facial Emoticons Reprodução de Informação Associada a

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

Page 60: Facial Emoticons Reprodução de Informação Associada a

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

Page 61: Facial Emoticons Reprodução de Informação Associada a

(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

Page 62: Facial Emoticons Reprodução de Informação Associada a

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

Page 63: Facial Emoticons Reprodução de Informação Associada a

(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

Page 64: Facial Emoticons Reprodução de Informação Associada a

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

Page 65: Facial Emoticons Reprodução de Informação Associada a

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

Page 66: Facial Emoticons Reprodução de Informação Associada a

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

Page 67: Facial Emoticons Reprodução de Informação Associada a

• 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

Page 68: Facial Emoticons Reprodução de Informação Associada a

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

Page 69: Facial Emoticons Reprodução de Informação Associada a

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

Page 70: Facial Emoticons Reprodução de Informação Associada a

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

Page 71: Facial Emoticons Reprodução de Informação Associada a

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

Page 72: Facial Emoticons Reprodução de Informação Associada a

Figura 4.2: Inserção de emoticons na janela activa

56

Page 73: Facial Emoticons Reprodução de Informação Associada a

Figura 4.3: Inserção de emoticons na janela activa

57

Page 74: Facial Emoticons Reprodução de Informação Associada a

Figura 4.4: E-motional Jukebox

58

Page 75: Facial Emoticons Reprodução de Informação Associada a

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

Page 76: Facial Emoticons Reprodução de Informação Associada a

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

Page 77: Facial Emoticons Reprodução de Informação Associada a

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

Page 78: Facial Emoticons Reprodução de Informação Associada a

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

Page 79: Facial Emoticons Reprodução de Informação Associada a

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

Page 80: Facial Emoticons Reprodução de Informação Associada a

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

Page 81: Facial Emoticons Reprodução de Informação Associada a

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

Page 82: Facial Emoticons Reprodução de Informação Associada a

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

Page 83: Facial Emoticons Reprodução de Informação Associada a

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

Page 84: Facial Emoticons Reprodução de Informação Associada a

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

Page 85: Facial Emoticons Reprodução de Informação Associada a

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

Page 86: Facial Emoticons Reprodução de Informação Associada a

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

Page 87: Facial Emoticons Reprodução de Informação Associada a

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

Page 88: Facial Emoticons Reprodução de Informação Associada a

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

Page 89: Facial Emoticons Reprodução de Informação Associada a

(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

Page 90: Facial Emoticons Reprodução de Informação Associada a

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

Page 91: Facial Emoticons Reprodução de Informação Associada a

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

Page 92: Facial Emoticons Reprodução de Informação Associada a

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

Page 93: Facial Emoticons Reprodução de Informação Associada a

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

Page 94: Facial Emoticons Reprodução de Informação Associada a

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

Page 95: Facial Emoticons Reprodução de Informação Associada a

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

Page 96: Facial Emoticons Reprodução de Informação Associada a

80

Page 97: Facial Emoticons Reprodução de Informação Associada a

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

Page 98: Facial Emoticons Reprodução de Informação Associada a

[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

Page 99: Facial Emoticons Reprodução de Informação Associada a

[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

Page 100: Facial Emoticons Reprodução de Informação Associada a

[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