65
Gabriel Vaz Aires ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO DA EXPERIÊNCIA EMOCIONAL UTILIZANDO O KINECT Palmas - TO 2016

ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

Gabriel Vaz Aires

ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO DA

EXPERIÊNCIA EMOCIONAL UTILIZANDO O KINECT

Palmas - TO

2016

Page 2: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

Gabriel Vaz Aires

ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO DA

EXPERIÊNCIA EMOCIONAL UTILIZANDO O KINECT

Trabalho de Conclusão de Curso (TCC) elaborado e

apresentado como requisito parcial para obtenção do

título de bacharel em Sistema de Informação pelo

Centro Universitário Luterano de Palmas

(CEULP/ULBRA).

Orientador: Prof. M.e. Fernando Luiz de Oliveira.

Palmas - TO

2016

Page 3: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

Gabriel Vaz Aires

ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO DA

EXPERIÊNCIA EMOCIONAL UTILIZANDO O KINECT

Trabalho de Conclusão de Curso (TCC) elaborado e

apresentado como requisito parcial para obtenção do

título de bacharel em Sistemas de Informação pelo

Centro Universitário Luterano de Palmas

(CEULP/ULBRA).

Orientador: Prof. M.e. Fernando Luiz de Oliveira.

Aprovada em: de .

BANCA EXAMINADORA

___________________________________________________

Prof. M.e. Fernando Luiz de Oliveira

Orientador

Centro Universitário Luterano de Palmas

___________________________________________________

Prof. M.e. Fabiano Fagundes

Centro Universitário Luterano de Palmas

___________________________________________________

Prof. M.e. Pierre Soares Brandão

Centro Universitário Luterano de Palmas

Palmas - TO

2016

Page 4: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

AGRADECIMENTOS

Primeiramente a Deus por ter me dado forças e a devida saúde para alcançar mais um

sonho e aguentar esses longos anos em um curso realmente fantástico.

Aos meus pais Zilman Aires Moura e Irani Vaz da Silva Aires, meu irmão, minha avó,

meu avô e meus tios, apenas posso agradecer por tudo que me proporcionaram, pois nunca

conseguirei compensar devidamente a dedicação que sempre manifestaram.

Ao meu orientador, Fernando Oliveira, agradeço por tudo que me ensinou, pela

paciência, pela insistência, pelas cobranças, pelos conselhos, pelos se Deus quiser.

Aos professores da banca, Fabiano Fagundes e Pierre Brandão, agradeço pelas

contribuições, pois cada orientação foi importante para o término com êxito.

Aos professores Edeilson, Cristina, Madianita, Parcilene e Jackson, agradeço toda a

paciência, pelos apelido engraçados e por mostrarem que os cursos de Ciência da Computação

e Sistemas de Informação do Centro Universitário Luterano de Palmas não possuem apenas um

grupo de professores e sim, uma família de professores extremamente dedicada e animada.

A Jackeline do Santos, por ser a pessoa que me aguentava nos momentos de desespero e

despreparo para seguir com o trabalho, sempre me ajudando a superar as adversidades de forma

carinhosa.

Também meus amigos: João Batista Borges, Marcos Batista, Silas Gonçalves,

Ranyelson Neres, Fábio Ricardo, Luiz Carlos Fernandes, Lucas Roese e os demais do curso,

pois com eles aprender se tornava cada vez mais divertido.

Enfim, agradeço a todos os amigos e colegas por cada momento que passamos juntos.

Muito obrigado!

Page 5: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

RESUMO

AIRES, Gabriel Vaz. Análise facial computadorizada para identificação da experiência

emocional utilizando o Kinect. 2016. 51 f. TCC (Graduação) - Curso de Sistemas de

Informação, Centro Universitário Luterano de Palmas, Palmas, 2016.

O presente estudo aborda o reconhecimento dos estados afetivos por meio do Sensor

Microsoft Kinect, experiência emocional e rastreamento facial. Neste trabalho foi construído

um software de reconhecimento do estado afetivo que serve como módulo para o sistema

FisioKinect. Este módulo permite reconhecer o momento de cada expressão facial, mais

especificamente a alegria e a tristeza, realizada por um usuário com objetivo de se obter o

conhecimento do estado afetivo em tempo real, estudo realizado na área de Computação

Afetiva. Vale ressaltar que este trabalho procura perceber como é trabalhado o processo de

análise facial e identificação dos estados emocionais através do Sensor Microsoft Kinect. Este

Sensor é uma das tecnologias que automatiza o processo de obtenção dos dados dos estados

afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma

API presente no dispositivo, é possível a visualização da representação do rosto humano em

tempo real. Através dos recursos oferecidos pelo Sensor Microsoft Kinect, é possível a

obtenção de experiência emocionais através do rosto humano, que pode ser utilizado para

resolução de diversos problemas, como por exemplo, nos softwares que visam automatizar o

processo de obtenção de estados emocionais ou afetivos diante de testes ou avaliações. Por

fim o trabalho apresentou um caminho para a realização do reconhecimento do estado afetivo

por meio do Sensor Microsoft Kinect, destacando os estados afetivos já desenvolvidos, com

isso podendo expandir aos demais estados como por exemplo, surpresa, raiva, medo, angústia.

Palavras-chave: Sensor Microsoft Kinect. Experiência Emocional. Análise

Computadorizada. Estado Emocional.

Page 6: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

ABSTRACT

This study adresses the recognition of affective states through the Microsoft Kinect Sensor,

emotional experience and facial tracking. In this work it was built an affective state

recognition software that works as a module for the FisioKinect system. This module allows

to recognize the moment of each facial expression, more especifically joy and a period of

evaluation, the study done in the Affective Computing area. It is worth mentioning that this

work seeks to understand how the process of facial analysis and identification of emotional

states through the Microsoft Kinect Sensor works. This sensor is one of the technologies that

automates the process of gathering data from the affective states to the facial expressions from

people who, with using the RGB sensor and an API is not a device, is a view of the

represenation of the human face in real time. Through the resources offered by the Microsoft

Kinect sensor, it is possible to obtain emotional experience through the human face, which

can be used to solve various problems, such as the softwares that aim at automating the

process of obtaining the emotional states from tests and evaluations. Finally, this worked

showed a way for a affective state recognition test through the Microsoft Kinect Sensor,

highlighting the already develop affective states, then the work can expand to the remaining

emotional states such as surprise, anger, fear and anguish.

Keywords: Microsoft Kinect Sensor. Affective State Recignition. Affective Computing.

Emotion State. Facial Tracking.

Page 7: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

LISTA DE ABREVIATURAS E SIGLAS

API Interface de Programação de Aplicativos

SDK Kit de Desenvolvimento de Software

UA Unidade de Animação

Page 8: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

LISTA DE FIGURAS

Figura 1 - Representação dos ramos de pesquisa da Computação Afetiva ............................... 13

Figura 2 - Estrutura cognitiva do modelo OCC ........................................................................ 16

Figura 3 - Localização dos eletrodos na parte frontal ............................................................... 19

Figura 4 - Cinco estados emocionais utilizado no projeto. ....................................................... 20

Figura 5 - Mapeamento das AUs. ............................................................................................. 21

Figura 6 - Variáveis da deformação das características faciais ................................................ 23

Figura 7 - Classificação das Emoções Utilizando Árvore de Decisão...................................... 24

Figura 8 - Fluxo padrão de um sistema de reconhecimento facial. .......................................... 25

Figura 9 - Detecção facial ......................................................................................................... 26

Figura 10 - Somatório da imagem integral. .............................................................................. 27

Figura 11 - Imagem original para equação da imagem integral. .............................................. 27

Figura 12 - Características selecionadas pelo AdaBoost. ......................................................... 28

Figura 13 - Classificadores cascata ........................................................................................... 29

Figura 14 - Rosto rastreado usando Kinect face SDK. ............................................................. 30

Figura 15 - Reconstrução de imagem com Eigenface .............................................................. 31

Figura 16 - Modelo de um sistema de reconhecimento facial. ................................................. 32

Figura 17 - Pontos para possíveis identificação emocional. ..................................................... 34

Figura 18. Estrutura metodológica ............................................................................................ 39

Figura 19. Processo do desenvolvimento.................................................................................. 41

Figura 20. Malha 3D ................................................................................................................. 42

Figura 21 - Arquitetura do SDK. .............................................................................................. 36

Figura 22. Identificação dos pontos .......................................................................................... 38

Figura 23. Arquitetura de desenvolvimento do software .......................................................... 43

Figura 24. Tela Inicial do sistema ............................................................................................. 44

Figura 25. Tela de apresentação da malha 3D .......................................................................... 45

Figura 26. Representação do estado emocional obtido ............................................................. 46

Figura 27. Condições para que as expressões sejam válidas .................................................... 47

Figura 28. Declaração inicial das variáveis .............................................................................. 48

Figura 29. Inicialização dos sensores........................................................................................ 50

Figura 30. Sensor RGB ............................................................................................................. 51

Figura 31. Classe Extensions .................................................................................................... 52

Figura 32. Rastreio do corpo do usuário ................................................................................... 53

Figura 33. Processo inicial para o rastreio facial ...................................................................... 53

Figura 34. Processo de rastreamento do estado afetivo ............................................................ 55

Page 9: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

LISTA DE TABELAS

Tabela 1 - Seleção de listas de emoções "básicas". .................................................................. 17

Tabela 2 - Descrição das características das expressões básicas. ............................................. 21

Tabela 3 - Diferenças entre o Kinect 360 para Windows e Kinect One ................................... 32

Tabela 4. Condições para que as expressões sejam válidas ...................................................... 47

Page 10: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

SUMÁRIO

1 INTRODUÇÃO ............................................................................................................... 9

2 REFERÊNCIAL TEÓRICO........................................................................................ 11

2.1. Experiência emocional ......................................................................................... 11

2.2. Interação afetiva baseada na expressão facial ................................................... 13

2.2.1. Análise e reconhecimento de estados afetivos .................................................. 14

2.2.2. Classificações das expressões faciais ................................................................. 20

2.3. Reconhecimento e rastreamento facial .............................................................. 24

2.3.1. Detecção e rastreamento facial .......................................................................... 25

2.3.2. Reconhecimento facial ........................................................................................ 30

2.4. Sensor Microsoft Kinect ...................................................................................... 32

3 MATERIAIS E MÉTODOS ........................................................................................ 35

3.1. Local ...................................................................................................................... 35

3.2. Materiais ............................................................................................................... 35

3.3. Metodologia ............................................................... Erro! Indicador não definido.

3.3.1. Desenvolvimento do Software ............................................................................ 40

3.3.2. API de reconhecimento....................................................................................... 35

4 RESULTADOS E DISCUSSÃO .................................................................................. 42

4.1. Arquitetura do Software ..................................................................................... 42

4.2. O Software ............................................................................................................ 43

4.3. Lógica Utilizada com as UA’s ............................................................................. 46

4.4. Declaração de variáveis ....................................................................................... 48

4.5. Configuração do Kinect, HDFace e do reconhecimento do estado afetivo ..... 49

5 CONSIDERAÇÕES FINAIS ....................................................................................... 57

REFERÊNCIAS ...................................................................................................................... 59

Page 11: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

9

1 INTRODUÇÃO

Segundo Robinson (2014) é possível identificar algumas informações durante a

comunicação entre duas pessoas como, por exemplo, sentimentos e características afetivas.

Porém, este processo de identificação das informações por meio de uma comunicação não é

algo tão simples como a troca de palavras. Envolve informações subjetivas que podem ser

baseadas em um repertório cultural, formação educacional, vivência, emoções e também por

meio de sinais, tais como, expressões faciais, corporais, gestuais e vocais.

Na área da saúde, a comunicação entre o paciente e o profissional é de suma

importância. No entanto, o profissional, além de ouvir, deve observar cada movimento ou sinal

feito pelo paciente durante a conversa, pois estes movimentos e sinais podem resultar em

informações importantes que poderão auxiliar o profissional no processo de avaliação do

paciente.

A Computação Afetiva está relacionada à aplicação de características afetivas em

sistemas computacionais e robóticos. Em sistemas computacionais as aplicações são voltadas

para análise e aprendizagem. Na robótica essas aplicações possuem o foco para a identificação

de elementos que permitem a estes sistemas ou robôs a possibilidade de denotar emoções

(emotional appearance), gerar emoções (emotion generation) que serão apresentadas aos

usuários, bem como perceber emoções (emotional experience) e demonstrar interações mente-

corpo (mind-body interactions) (PICARD, 2003).

No contexto psicológico, a Computação Afetiva pode contribuir melhorando o método

de avaliação emocional. Isto porque esse processo de detectar a emoção do usuário em um

determinado momento pode ajudar em uma análise mais profunda. Ao analisar o rosto da

pessoa, por exemplo, é possível, com ajuda da tecnologia, detectar alguns pontos faciais,

utilizando métodos de rastreamento de sinais e, com isto, perceber emoções (PICARD, 1997).

A integração da ciência com a tecnologia busca aperfeiçoar os resultados de aplicações

em áreas correlacionadas. Na psicologia alguns resultados gerados através de testes realizados

por meio de questionários podem ser integrados à equipamentos eletrônicos como o Sensor

Microsoft Kinect, que possui a capacidade de reconhecimento do ambiente e também o

reconhecimento de rosto das pessoas presentes no mesmo ambiente. Isso pode resultar em

importantes avanços para área da saúde, por possibilitar a utilização de recursos de um

dispositivo eletrônico para gerar resultados em tempo real.

Page 12: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

10

O reconhecimento de expressões faciais tem despertado interesses dos pesquisadores,

devido ao seu potencial para criação de interfaces que replicam o comportamento humano.

Recursos que podem ser usados em várias aplicações como videoconferência, realidade virtual,

traçando o perfil do usuário, além de variados serviços Web (CHANGJUN et al, 2011, apud

DINIZ et al, 2013).

Desta forma, neste trabalho foi desenvolvido um software que utiliza o Sensor

Microsoft Kinect para obter um conjunto de atributos realacionados à experiência emocional,

tendo por objetivo identificar os estados afetivos de uma determinada pessoa durante alguma

ação feita ou avaliação realizada, relacionados à detecção facial e reconhecimento de

expressões faciais. Isto será possível porque o sensor utilizado possui a capacidade de detectar

as expressões faciais de uma pessoa.

O presente trabalho está estruturado em seções que apresentam as sequências

percorridas para que o objetivo final fosse alcançado. A seção número 2 apresenta o referencial

teórico, a seção de número 3 os materiais utilizados na implementação da ferramenta e a

metodologia utilizada, após, na seção de número 4 são apresentados os resultados obtidos na

implementação. Na seção de 5 são apresentadas as considerações finais alcançadas. Por fim, a

seção 6 são apresentadas as referências bibliográficas utilizadas.

Page 13: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

11

2 REFERÊNCIAL TEÓRICO

Nesta seção serão apresentados os conceitos relevantes e necessários para o

entendimento e desenvolvimento do trabalho. A princípio serão abordados os conceitos acerca

da experiência emocional e da interação afetiva baseada na expressão facial sendo apresentados

conceitos de cognição afetiva, bem como as classificações das expressões faciais. A próxima

abordagem será referente ao reconhecimento e rastreamento facial, que abordará detecção

facial, rastreamento e reconhecimento facial e, por fim, o sensor Microsoft Kinect.

2.1. Experiência emocional

Experiência emocional, segundo Picard (2003), é a forma como são percebidos os

estados emocionais que estão ligados à consciência. Todos os seres humanos podem perceber

seu próprio estado emocional, que podem ter alterações fisiológicas ou sentimentos intuitivos e

subjetivos, que pode ser determinada pela maneira que uma determinada situação é construída.

A teoria da experiência emocional vem sendo estudada e discutida durante muito tempo

pela área da psicologia. Nos últimos anos em uma área da tecnologia chamada de IHC

(Interface Homem-Computador) houve um aumento no número de pesquisas relacionadas à

experiência emocional (XAVIER, 2013).

Pinto (2001) ressalta que a emoção é uma experiência subjetiva, que envolve a pessoa

por completo, mente e corpo. É uma reação complexa, realizada através de um estímulo ou

pensamento, que envolve reações orgânicas e sensações pessoais. É uma resposta que envolve

diferentes componentes e é considerada como uma reação observável, que são as reações que

estão à mostra da pessoa, uma excitação fisiológica, como ouvir uma música e sentir uma

mudança nos pelos da epiderme, uma interpretação cognitiva, como a visita a algum parente

querido e se emocionar ao vê-lo, e uma experiência subjetiva, como o medo de que algo possa

acontecer.

Conforme Silva (2010), as emoções possuem um papel determinante no funcionamento

psicológico humano. Entretanto, nem sempre a definição das emoções é clara para o

entendimento de todas as pessoas, a depender das diferentes teorias encontradas e também dos

componentes no qual se baseiam. Um exemplo é a teoria de James (1884), que resume as

emoções como sentimentos de mudanças corporais, que são acionados por algum reflexo

durante sua percepção.

Em sistemas computacionais, as emoções podem ser expostas através de um mecanismo

de controle e de aprendizagem, de modo que os sistemas virtuais possam reagir e interagir aos

Page 14: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

12

estímulos expostos pelas necessidades de diferentes usuários. Esse mecanismo faz com que o

usuário possa interagir e produzir algo perto do real com as máquinas (MALFAZ & SALICHS,

2004).

De acordo com Picard (2003), os seres humanos possuem a capacidade de perceber seu

estado emocional e de expressar diversos sentimentos sob vários desses estados. No entanto, as

máquinas não conseguem expressar a mesma forma de emoção que um ser humano consegue,

pois os seres humanos possuem substancialmente sentidos e sentimentos diferentes do que as

máquinas podem possuir. Por exemplo, pode-se citar o sentimento de medo, a partir do qual o

corpo humano pode tremer ou acelerar o coração devido a alguma ameaça. Existe, assim, uma

diferença entre a experiência emocional humana e as que as máquinas podem ter.

Por meio dos comportamentos das pessoas, alguns trabalhos podem ser realizados para

a identificação de experiência emocional. Algumas medições automatizadas, por exemplo, por

meio de alguns pontos rastreáveis fixados nos músculos da face é possível obter os índices de

intensidade das expressões geradas diante de alguma execução de atividade comportamental.

Portanto, o uso de uma ferramenta automatizada poderá identificar essas expressões e da

mesma forma produzir um modelo de avaliação da emoção.

Conforme o trabalho realizado por Messinger et. al. (2014), que avalia o emocional de

um sorriso de uma criança de menos de dois anos de idade através de reconhecimento facial,

conseguiu-se verificar que alguns sorrisos infantis ocorrem com frequência em determinadas

interações sociais, denotando alegria ou positividade.

Desde a década de 70 cientistas da área da Computação Afetiva buscam entender,

modelar e programar aspectos psicológicos humanos em ambientes computacionais, almejando

identificar as características definidas através das expressões que o ser humano possa

demonstrar. Na Computação Afetiva é estudada a forma como os computadores podem

reconhecer, formar e responder às emoções humanas e expressá-las através de interfaces

computacionais (NUNES, 2011).

No trabalho de Messinger et. al. (2014), é possível perceber que a experiência

emocional pode ser identificada através de sistemas computacionais. No que se refere a

Computação Afetiva, para se perceber aspectos psicológicos e modelá-los de acordo com a

experiência emocional de um usuário são feitos sistemas computacionais para que possam ser

analisados os estados e as características emocionais do usuário. Esses sistemas buscam

entender as emoções humanas e, se possível, expressar emoções na comunicação com usuários.

O ramo da Computação Afetiva é dividido em dois ramos maiores de pesquisa. No

primeiro são estudados mecanismos para reconhecimento de emoções em máquina através da

Page 15: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

13

interação homem-computador. No segundo ramo estuda-se a emoção através da simulação de

emoções em máquina, com intuito de perceber mais sobre as emoções humanas para que seja

possível dotar robôs de emoções, tornando-os mais reais. Na Figura 1, a seguir, pode-se

observar como são divididos os ramos da pesquisa afetiva conforme Jaques e Viccari (2005).

Figura 1 - Representação dos ramos de pesquisa da Computação Afetiva

Fonte: Adaptado de JAQUES e VICCARI, 2005

Na Figura 1, são apresentadas as duas áreas da Computação Afetiva, que é dividida em:

síntese de emoções, que consiste na simulação de emoções em máquinas; e emoções na

interação homem-computador, que é o reconhecimento das emoções do usuário e de expressão

de emoções apresentadas por máquinas.

As emoções são de suma importância para proporcionar melhorias nas formas de se

executar uma comunicação humano-computador. Dessa maneira é possível com a Computação

Afetiva aprimorar este processo como, por exemplo, identificar a experiência emocional de

uma pessoa durante algum procedimento psicológico, e em que situações ela se encontra com

raiva ou feliz.

2.2. Interação afetiva baseada na expressão facial

Uma interação afetiva é aquela em que a informação emocional é transmitida ao usuário

de uma forma natural e de maneira confortável. A interação homem-computador vem mudando

Page 16: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

14

o modo de aplicabilidade de sistemas computacionais voltado a interação com usuário. Picard

(1995) cita que a interação afetiva é uma área da Computação Afetiva relacionada com as

técnicas de entrada como, por exemplo, técnicas naturais que se baseiam em expressões faciais

e gestos, e também técnicas avançadas como interpretação de sinais elétricos do cérebro.

Um exemplo de software desenvolvido com esta teoria é o jogo “What a Feeling”,

baseado na atividade de reconhecimento das expressões faciais através de avatares para os

jogadores. Este foi criado para ajudar crianças com autismo, desenvolvimento que se

caracteriza por algumas alterações em crianças, frequentemente antes dos três anos de idade,

obtendo um impacto em áreas do desenvolvimento humano como comunicação, interação

social, capacidade de adaptação e aprendizado (MELLO, 2007). No caso, os usuários do jogo

devem reconhecer as expressões faciais realizadas por um avatar, sendo que o jogo também

possui a capacidade de adicionar expressões em tempo real. Algumas expressões que podem

ser representadas no jogo são: raiva, medo, alegria, tristeza, cansaço e surpresa; sendo que o

terapeuta pode manipular o jogo usando um mouse e um teclado para criar novas expressões

(ORVALHO, 2010).

O mecanismo de reconhecimento do estado afetivo, assim como a representação ou

classificação das expressões, serão abordados nas próximas seções.

2.2.1. Análise e reconhecimento de estados afetivos

Picard (1997) afirma que a Computação Afetiva pressupõe que os computadores tenham

a capacidade de reconhecer e de inferir aspectos afetivos, que é a relação do ser humano com o

ambiente físico ou com outros seres humanos, de modo que, através desses reconhecimentos,

sejam capazes de entender as formas de expressões emocional humana e, se necessário,

sintetizá-las.

Longhi et. al. (2007) citam que fenômenos afetivos são expressos de formas voluntárias

ou involuntárias e que, geralmente, denotam os estados emocional em que se encontra cada

pessoa. Esses estados podem ser através de emoções demonstradas ou sentimentos expressados.

Esses fenômenos podem vir em forma de sons, grafia e gestos corporais ou faciais.

Nunes (2012) afirma que pesquisadores em Computação Afetiva estão identificando e

implementando as emoções explicitamente em sistemas computacionais. Isto porque, para que

os sistemas possam entender ou adaptar-se a afetividade do usuário, os sistemas devem ser

capazes de reconhecer as emoções do usuário.

Page 17: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

15

Existem modelos de inferência nos quais se estudam o reconhecimento de emoções do

usuário em sistemas computacionais e também implementação de emoções em máquina.

Segundo Liao et al. (2006), esses modelos de inferência podem ser classificados em

diagnóstico, inferência híbrida ou prognóstico. No modelo de inferência por diagnóstico, o

reconhecimento é feito por meio de medidas comportamentais e fisiológicas. Os classificados

em prognóstico trabalham com fatores que influenciam ou causam o estado afetivo de uma

pessoa, como, por exemplo, o modelo OCC (devido às iniciais dos sobrenomes dos autores)

(ORTONY et al. 1988). Esta teoria é baseada no reconhecimento da emoção, que explica a

origem das emoções apresentando os processos de reconhecimento. O modelo OCC entende

que as emoções podem surgir a partir da avaliação de três aspectos: eventos, ação dos agentes

envolvidos e aparência dos objetos envolvidos. O método de inferência híbrida é a combinação

entre o método de prognóstico e diagnóstico, no qual resultará em um reconhecimento com

inferências afetivas mais precisas.

Jaques e Viccari (2005) citam que a teoria do modelo OCC objetiva a ajudar a entender

as emoções das pessoas e como elas acontecem. Também busca explicar as cognições humanas

em prol de reconhecê-las. No modelo OCC, apenas seis emoções dão origem a outras

dezessete, como pode ser visto na Figura 2 abaixo.

Page 18: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

16

Figura 2 - Estrutura cognitiva do modelo OCC

Fonte: Adaptado Ortony et al. (1988)

Na Figura 2, o evento é a forma com a qual a pessoa percebe o que está acontecendo a

sua volta e como ela reage. Agentes são as pessoas e os aspectos de objetos são os objetos

Page 19: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

17

inanimados no ambiente. Este modelo é usado para reconhecimento de emoções em ambientes

computacionais, ou seja, é utilizado para programar possíveis emoções em máquinas (JAQUES

E VICCARI, 2005).

Lisetti (2002) descreve um modelo complexo para demonstrar aspectos psicológicos em

sistemas que interagem socialmente. Cita que as emoções são modeladas em 16 componentes

emocionais, mas que cada emoção se difere da outra. No entanto, relata que existem 9 emoções

básicas: desejo, medo, interesse, nojo, raiva, surpresa, alegria, satisfação e ansiedade. Essas

emoções são chamadas básicas por representar as mesmas manifestações em diferentes

culturas. Contudo, alguns teóricos como Ekman (1994), relatam que as emoções básicas são

somente 6: raiva, desgosto, medo, alegria, tristeza e surpresa.

O modelo utilizado por Lisetti (2002) é uma derivação do modelo OCC, descrito por

Ortony et al. (1988) e que é uma variação do modelo das emoções básicas definidas por Ekman

(1994), que são representadas através de expressões faciais. Na tabela 1, abaixo, é apresentada

uma lista dos modelos de emoções básicas descritos por alguns teóricos.

Tabela 1 - Seleção de listas de emoções "básicas".

Referência Emoções fundamentais Base para inclusão

Arnold (1960). raiva, aversão, coragem,

tristeza, desejo, desespero,

medo, ódio, esperança, amor,

tristeza.

Relação às tendências de

ação.

Ekman, Frisen, & Ellsworth

(1982).

raiva, repulsa, medo, alegria,

tristeza, surpresa.

Expressão facial universal.

Frijda (Comunicação

pessoal, 8 de setembro de

1986).

desejo, felicidade, interesse,

surpresa, admiração, tristeza.

Formas de ações prontas para

serem realizadas.

Gray (1982). raiva e pavor, ansiedade,

alegria.

Sentimento de ligação.

Izard (1971). raiva, desprezo, nojo,

angústia, medo, culpa,

interesse, alegria, vergonha,

surpresa.

Sentimento de ligação.

Page 20: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

18

James (1884). medo, aflição, amor, raiva. Envolvimento Corporal.

McDougall (1926). raiva, nojo, alegria, medo,

submissão, afetuoso,

admiração.

Relacionada a instintos.

Mowrer (1960). dor, prazer. Estados emocionais não

aprendido.

Oatley & Johhson – Laird

(1987).

raiva, nojo, felicidade

ansiedade, tristeza.

Não requer proposições.

Panksepp (1982). expectativa, medo, raiva,

pânico.

Sentimento de ligação

Plutchik (1980). aceitação, medo, raiva,

pânico.

Relacionado ao processo de

adaptação biológica.

Tomkins (1984). raiva, interesse, desprezo,

nojo, angústia, medo, alegria,

vergonha, surpresa.

Disparo neurológico.

Watson (1930). medo, amor, raiva. Sentimento de ligação.

Weiner & Graham (1984). felicidade, tristeza. Atribuições independentes.

Fonte: Traduzido de Ortony (1990).

Na tabela 1, pode-se visualizar que alguns autores da lista, como Ekman et al. (1982)

citam algumas emoções como, raiva, desgosto, medo, alegria, tristeza e surpresa, e defendem

que essas emoções básicas são reconhecidas universalmente e facilmente interpretadas através

das expressões faciais.

Em um trabalho desenvolvido por Chen, Yang e Wang (2015), foi estudado um método

de reconhecimento de expressão emocional baseado na sobrancelha, por meio da

eletromiografia da superfície (EMG), que é uma técnica que observa a ativação neuromuscular.

No estudo foi realizado um experimento que registrou sinais da eletromiografia da superfície

(sEMG) da parte frontal e músculos do supercilio. Na Figura 3, abaixo, é apresentada a

localização dos eletrodos na cabeça do usuário.

Page 21: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

19

Figura 3 - Localização dos eletrodos na parte frontal

Fonte: Chen (2015).

Na Figura 3, é possível observar que na parte esquerda os dois fios, amarelos e azuis,

fixados no músculo do supercílio, estão posicionados no local de onde serão registrados os

sinais da eletromiografia da superfície (sEMG) e os demais fios irão registrar a parte frontal.

Chen, Yang e Wang (2015) utilizaram a interação humano-computador para o

reconhecimento de estados afetivos de usuário com possíveis doenças nervosas. O projeto

utilizou seis homens como participantes, na faixa etária de 25-30 anos. Todos com exames

médicos para tratamento de doenças nervosas. Antes do experimento, os participantes foram

chamados a responder um questionário, onde preenchiam perguntas sobre altura, peso e

circunferência da cabeça. O trabalho teve como foco a observação de cinco estados com as

possíveis expressões faciais: raiva, medo, surpresa, tristeza e desgosto. De acordo com Ekman

(1972) essas expressões do trabalho apresentado por Chen et al. (2015) são universais entre

culturas. Foram utilizados também dois modelos de reconhecimento baseados em redes neurais,

que são redes com milhares unidades de processamento: um chamado ENN (Elman Neural

Network) e outro voltado a propagação chamado BPNN (Back Propagation Neural Networks).

Na Figura 4 abaixo são demonstrados visualmente os estados emocionais utilizados no projeto.

Page 22: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

20

Figura 4 - Cinco estados emocionais utilizado no projeto.

Fonte: (CHEN, 2015)

A Figura 4 mostra os cincos estados observados que foram raiva (Anger), medo (Fear),

tristeza (Sadness), surpresa (Surprise) e desgosto (Disgust). Os resultados do trabalho para

Chen, foram satisfatórios onde ele conseguiu atingir a seguinte taxa para o reconhecimento dos

estados afetivos, 97,12% utilizando o modelo ENN e 96,12% utilizando BPNN. Na próxima

seção serão apresentadas as classificações das expressões faciais.

2.2.2. Classificações das expressões faciais

Ekman (2002) desenvolve um modelo baseado na anatomia humana em que é possível

classificar a expressão facial através de movimentos realizados pelos músculos faciais. Este

sistema divide as expressões faciais em Unidades de Ação (UA‟s), ou Actions Units, que

definem as alterações em cada músculo facial ao determinar que alguns músculos podem se

contrair juntos, ou seja, é possível determinar uma expressão facial na junção de duas ou mais

UA‟s (FRIEDLANDER e RAHMILEVITZ, 2010). Na Figura 5, abaixo, é possível identificar

como é feito o mapeamento das Aus.

Page 23: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

21

Figura 5 - Mapeamento das UA‟s.

Fonte: (OLIVEIRA; JAQUES 2008).

Na Figura 5, pode-se observar que existem as marcações das extremidades dos pontos

das características faciais (FCPs – Facial Characteristic Point) que serão utilizadas para

mapear as UA‟s. Estes pontos geralmente situam-se nos olhos, sobrancelhas e boca.

Oliveira e Jaques (2008) afirmam que com as coordenadas dos FCPs é possível calcular

o deslocamento das características faciais. Por exemplo, com a aproximação entre os pontos

a19 e a20 pode-se encontrar uma possível situação de raiva no usuário, ou seja, encontrar

combinações das UA‟s definidas por Ekman et al. (2002) em FACS. Na tabela 2, abaixo, é

possível observar as características das expressões básicas.

Tabela 2 - Descrição das características das expressões básicas.

Emoção Características

Alegria Sobrancelhas relaxadas, boca aberta e cantos da boca puxados até orelhas.

Tristeza Sobrancelhas recaídas, olhos ligeiramente fechados e boca relaxada.

Raiva Sobrancelhas quase se encostando, interior para baixo, olhos bem abertos e lábios

apertados.

Medo Sobrancelhas levantadas juntas, olhos tensos e alertas.

Nojo Sobrancelhas levantadas juntas, olhos tensos e alertas.

Surpresa Sobrancelhas elevadas, pálpebras superiores abertas, olhos bem abertos e boca aberta.

Fonte: Adaptado EKMAN et al., (2002).

Page 24: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

22

Na tabela 2, foram apresentados os seis estados afetivos básicos e suas características. É

possível observar que todos os estados possuem uma relação com sobrancelhas, boca e olhos, e

são os principais pontos de observação para que seja feita a identificação da expressão

posteriormente.

Oliveira e Jaques (2008) citam que essas combinações de AUs geralmente ocorrem em

expressões faciais que compõem as seis emoções básicas, já demonstradas no capítulo 2.2.1.

Ao identificar as AUs são realizados alguns cálculos dos FCPs para identificar as

ocorrências das AUs do usuário. Após isso, com as coordenadas obtidas, é possível a

comparação com as deformações geométricas da imagem analisada com a imagem neutra, que

é a imagem de origem (imagem sem expressão). Ao fim da análise geométrica da imagem, é

possível inferir a emoção a partir das combinações de AUs encontradas na face, onde os valores

atingidos serão submetidos a uma árvore de decisão que indicará qual emoção essa unidade de

ação pertence. Na Figura 6 abaixo, é possível identificar as variáveis de deformação facial.

Page 25: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

23

Figura 6 - Variáveis da deformação das características faciais

Fonte: (OLIVEIRA; JAQUES 2008)

Na Figura 6, é possível observar alguns critérios para as deformações de várias AUs.

Por exemplo, o cálculo da largura da boca (m_width), que se refere aos pontos dos cantos do

lábio, como demonstrado no exemplo.

Dantas et al. (2015) abordam a utilização de uma árvore de decisão para a classificação

das emoções da face. Árvore de decisão é uma estrutura composta por três elementos: nós de

decisão (atributos), ramos (valores possíveis dos atributos) e folhas (objetos semelhantes).

Através desta técnica cada elipse representava uma emoção que se deseja classificar, a distância

Page 26: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

24

entre uma elipse pai e o seu filho é representada através do cálculo das distâncias euclidianas,

que é a distância entre dois pontos, e as folhas, que são as últimas elipses que não possuem

filhos, representam as emoções básicas inferidas a partir dos cálculos entre as distâncias das

elipses. Na Figura 7, abaixo, é apresentada a classificação das emoções com a utilização de

árvore de decisão.

Figura 7 - Classificação das Emoções Utilizando Árvore de Decisão

Fonte: Dantas et al. (2015).

Na árvore apresentada na Figura 7, é possível observar os nós ou emoções que desejam

ser classificadas, sendo elas: desgosto e raiva. De acordo com o estudo de Dantas et al (2015), é

possível identificar que as folhas onde se encontram as terminações, não desgosto e não raiva

ou raiva e desgosto, é o resultado da emoção gerada através dos cálculos que estão sendo

utilizados em cada ramo.

A seguir, serão apresentadas teorias acerca de detecção facial, rastreamento facial e

reconhecimento facial.

2.3. Reconhecimento e rastreamento facial

Um sistema de reconhecimento facial é capaz de receber como entrada vídeos e

imagens de ambientes reais e, através dessas imagens e vídeos recebidos, é capaz de processar

Page 27: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

25

e caracterizar matematicamente rostos presentes no ambiente. A Figura 8, abaixo, ilustra um

fluxo de como funciona um sistema de reconhecimento facial.

Figura 8 - Fluxo padrão de um sistema de reconhecimento facial.

Fonte: Adaptado de LI e JAIN (2005).

A primeira etapa de um sistema de reconhecimento facial é a detecção de faces em uma

imagem. Essa etapa é importante porque elimina da imagem algumas informações

desnecessárias. Após a detecção é feito um alinhamento facial para regular a face de modo que

o sistema o reconheça. Portanto, com a face alinhada, o sistema ordenará uma extração de

características para um vetor. No fim do processo, se for um usuário novo no sistema será

determinado o reconhecimento de uma nova face, adicionando uma referência a esse usuário

em um banco de dados, ou se o usuário já utilizou o sistema apresentará que o usuário foi

reconhecido pelo sistema. Esse processo de reconhecimento pode ser dividido nos seguintes

grupos: detecção facial, rastreamento facial e reconhecimento facial; que serão abordados nas

próximas seções.

2.3.1. Detecção e rastreamento facial

A detecção facial no Sensor Microsoft Kinect é uma etapa onde é feito o pré-

processamento das faces dos usuários, que se refere ao processamento inicial dos dados da face

do usuário, assim como a calibração radiométrica da imagem que visa corrigir algumas

degradações da imagem desta face e corregir de distorções geométricas e remoção de ruídos

nas imagens.

Page 28: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

26

Um dos objetivos do pré-processamento é realçar a melhoria da qualidade da imagem,

deixando uma melhor identificação dos objetos presentes na imagem. Por fim, é feito a

classificação que são atribuídas classes aos objetos presentes na imagem, que posteriormente

são localizadas pelo Sensor Microsoft Kinect.

Conforme Gholipour (2014), em um estudo desenvolvido em Ohio no EUA, foram

realizados alguns testes acerca de expressões faciais. O sistema desenvolvido no estudo

consegue distinguir determinados tipos de expressões faciais que são feitas pelas pessoas. O

estudo utilizou o programa chamado Facial Action Coding System (FACS) e contou com 5 mil

fotografias de 230 estudantes universitários. Este estudo revelou através de imagens, possíveis

emoções geradas pelo usuário, por meio de alterações na musculatura facial que as pessoas

fazem ao executar, sentir ou ouvir algo. No estudo foi definido que os pesquisadores utilizaram

ao todo 21 expressões faciais das pessoas para transmitir emoções.

A Figura 9, abaixo, demonstra o primeiro passo, com foco em detectar a emoção através

das expressões faciais proposta no trabalho.

Figura 9 - Detecção facial

Fonte: Adaptado de LI e JAIN (2005).

Na Figura 9, é possível observar que a detecção facial pode receber como entrada

imagem ou vídeo. Assim que é feita a detecção, realiza-se o rastreio. Na sequência são

identificados os pontos referentes aos músculos da face. Cada ponto é identificado pelo

dispositivo que, por fim, alinha o reconhecimento desta face para que posteriormente possa ser

extraído o estado afetivo.

Em um trabalho realizado por Viola e Jones (2001) foi possível, através de um método,

detectar rapidamente faces em tempo real com muita baixa complexidade computacional. O

método é baseado em três tipos: imagem integral, classificador AdaBoost (apresentado nos

parágrafos a seguir) e combinação de classificadores em cascata.

Page 29: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

27

A forma de representação da imagem integral proposto no trabalho é que cada imagem

carregada contém um somatório de pixels da origem da imagem até a sua localização. A Figura

10, abaixo, demonstra o somatório realizado no primeiro tipo.

Figura 10 - Somatório da imagem integral.

Fonte: Viola e Jones (2001).

A Figura 10 mostra o somatório e onde se encontra a seguinte equação: ii(x , y), que é a

imagem integral e i( x , y), que é a imagem original. Isto pode ser observado na Figura 11

abaixo.

Figura 11 - Imagem original para equação da imagem integral.

Fonte: Viola e Jones (2001).

Na Figura 11, é demonstrado que o valor da imagem integral no ponto (x, y) se dá

através da soma de todos os pixels na parte cinza da imagem.

O tipo classificador AdaBoost (Adaptive Boosting) escolhido por Viola e Jones (2001),

é uma variante do algoritmo de aprendizado utilizado por Freund e Schapire (1995). O

AdaBoost é um algoritmo de aprendizado de máquina, que são algoritmos que permitem que o

computador ou a máquina aperfeiçoar seu desempenho em alguma tarefa. No trabalho de Viola

e Jones (2011) foi construído para avaliar regiões da imagem de forma correta e precisa. O

classificador seleciona as características defeituosas mais críticas da imagem e após percorre a

imagem a procura de regiões que possuem defeitos. Esse processo é definido como treino, as

deformação da imagem é dividida em pequenos vetores e ajustado para concentrar os mal

Page 30: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

28

classificados. O resultado é um classificador com precisão que consegue remontar uma imagem

sem ter ao menos uma parte dela. Na Figura 12, abaixo, mostra as regiões percorridas pelo

AdaBoost.

Figura 12 - Características selecionadas pelo AdaBoost.

Fonte: Viola e Jones (2001).

Na Figura 12, é possível observar que o objeto do qual se deseja obter as características

é a face humana, a imagem na parte inferior esquerda da Figura. O classificador encontra

algumas características marcantes que são: olhos, sobrancelhas e nariz.

O tipo cascata faz uma combinação entre classificadores, utilizando vários estágios

como uma árvore de decisão, com o objetivo de otimizar o reconhecimento de objetos. Os

estágios dentro da árvore ou cascata são criados através da combinação das funções de

classificação que foram montadas através do AdaBoost. O objetivo principal da cascata é fazer

com que, nos processos iniciais, sejam identificados um grande número de regiões que contém

o objeto desejado. Ao identificar que uma área da imagem se encontra no último ramo ou

estágio da cascata, é nessa área que se encontra o objeto desejado. A Figura 13, abaixo,

demonstra um classificador do tipo cascata.

Page 31: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

29

Figura 13 - Classificadores cascata

Fonte: adaptado Viola e Jones (2001).

Na Figura 13, é possível observar que o classificador cascata utiliza amostras como

entrada. Cada etapa do processo E¹, está associado a dois caminhos. Se nesta etapa do processo

as amostras forem classificadas como positivas (P) elas irão continuar para a etapa seguinte, até

chegar na etapa de pósprocessamento. Porém, se em uma etapa qualquer, as amostras forem

classificadas como negativas, estas serão rejeitadas.

Em um trabalho realizado por Sanson e Green (2016) propõe-se um método para

melhorar a qualidade e o realismo do processo de troca de faces. O trabalho utilizou o Sensor

Microsoft Kinect, que utiliza um sensor emissor de infravermelho à base de laser, e uma

câmera RGB para rastrear a cabeça do usuário e em conjunto com o kit de desenvolvimento

Face SDK Tracking é possível determinar as posições dos pontos faciais.

Jana (2012) afirma que o Face SDK Tracking é uma parte do kit de desenvolvimento

Windows. Ele contém algumas ferramentas (APIs) que podem ser utilizadas para rastreamento

do rosto humano. Ele rastreia as posições e toda a forma do rosto, além de poder mudar a

animação da boca, olhos e sobrancelhas em tempo real. A Figura 14, abaixo, representa o rosto

rastreado pelo SDK.

Page 32: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

30

Figura 14 - Rosto rastreado usando Kinect face SDK.

Fonte: Sanson e Green (2016)

Na Figura 14, é possível observar que os números que aparecem são os pontos

reconhecido pelo Sensor Microsoft Kinect, e estes pontos ligados são tracejados para possam

ser rastreados, no fim do rastreio é delimitado os pontos em volta da boca, sobrancelhas, olhos

e nariz. O rastreio através do Kinect Face relata 6 unidades de animação (SANSON e GREEN

2016) e define 66 parâmetros de animação, que são os números em cada ponto da face, como

demonstrado na Figura 15. Esses parâmetros são utilizados para possíveis reconhecimento

facial ou detecção de expressões faciais.

2.3.2. Reconhecimento facial

Fitzpatrick e Matthiopoulos (2013) citam que o reconhecimento facial é uma forma de

identificar as pessoas. Permite que um sistema possa identificar alguém em um longo alcance,

que é limitada pela resolução da câmera.

Martins (2013) cita que existem dois métodos de reconhecimento facial tradicionais:

Eigenface e Fisherface. O método Eigenface, é um método que extrai a informação da face do

usuário de uma imagem analisada, de forma eficiente, para que seja possível comparar com a

imagem salva em um banco de dados. O segundo é o aperfeiçoamento do método Eigenface,

que utiliza uma análise linear de Fisher para uma redução dimensional da imagem, o conjunto

de imagens faciais em processo de verificação ou treino é constituído por várias classes, cada

classe representa a identidade de uma pessoa o reconhecimento é formulado de modo a

determinar a que classe pertence uma determinada imagem desconhecida (SOUZA, 2014).

O processo Eigenface pode ser dividido em alguns passos: inicialização, projeção,

detecção e reconhecimento. No processo de inicialização é onde se encontra um conjunto de

imagem, onde é realizado o processo para calcular e modular os Eigenfaces, que vão definir as

combinações de todas as Eigenfaces. A projeção é onde ocorre o cálculo do conjunto de pontos

Page 33: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

31

amostrais da imagem, toda vez que uma nova imagem é encontrada. O processo de detecção

determina que, se a imagem é uma face, podendo ser conhecida ou não, verifica se ela está

suficientemente próxima a alguma obtida em combinações da Eigenfaces. Por fim, o processo

de reconhecimento estabelece que, se for uma face, essa etapa irá classificar os pontos e

identificará se é uma pessoa conhecida ou desconhecida do sistema. O método Eigenfaces,

além da classificação, possui uma forma de reconstrução e a compactação de imagens de faces,

como pode ser visto na Figura 15 abaixo.

Figura 15 - Reconstrução de imagem com Eigenface

Fonte: (PENHARBEL, 2005).

Na Figura 15, a primeira imagem à esquerda é a imagem a ser reconstruída pelo

algoritmo Eigenface, a segunda imagem é a imagem reconstruída, terceira imagem reconstruída

com o processo de 20 Eigenfaces, por último a imagem reconstruída através de 40 Eigenfaces

ou componentes.

O reconhecimento de face com o Sensor Microsoft Kinect é fornecido pelas

funcionalidades da API de desenvolvimento, o SDK, que fornece as funcionalidades de

identificação ou verificação de uma pessoa através de uma seleção de rostos detectados

automaticamente por meio do Sensor Microsoft Kinect. A Face API fornece algumas

funcionalidades de reconhecimento: verificação da face, procura do rosto semelhante ao que

está sendo visualizado pelo Sensor Microsoft Kinect, agrupamento automático da face e

identificação da pessoa. A Microsoft, empresa fabricante do dispositivo, afirma que o

reconhecimento facial é amplamente utilizado em sistemas de segurança, reconhecimento de

celebridade e aplicações para smartphones. O processo de reconhecimento facial no Sensor

Microsoft Kinect segue um modelo para a realizar um reconhecimento, como apresentado na

Figura 16, abaixo.

Page 34: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

32

Figura 16 - Modelo de um sistema de reconhecimento facial.

Fonte: Martins (2013)

Na Figura 16, é possível observar que o reconhecimento facial é a penúltima parte para

a identificação ou verificação do usuário. Utiliza abordagens com modelos que procura

compreender todos os elementos gerados pela extração das características facial realizada.

Busca analisar a geometria das faces visualizadas e extraídas durante o processo de

reconhecimento e utiliza o sistema do dispositivo para que possa identificar se os traços

adquiridos durante os passos realizados são da mesma pessoa.

2.4. Sensor Microsoft Kinect

Neste trabalho será utilizado o sensor do Kinect One para Windows, que é um periférico

capaz de processar gestos e movimentos do corpo, bem como, sistemas de áudios externos e o

controle de proximidade entre o usuário. Essa versão é uma atualização do Kinect 360 for

Windows. No processo de detecção, rastreio e reconhecimento facial pode-se utilizar o Sensor

Microsoft Kinect One para Windows, que oferece mais precisão para os desenvolvedores,

agilidade e interfaces mais interativas, para que possam desenvolver aplicações que utilizam

voz e gestos e rastreio facial. Na tabela 3, abaixo serão apresentadas características do sensor

Kinect One para Windows e algumas diferenças em relação a versão Kinect 360 para

Windows.

Tabela 3 - Diferenças entre o Kinect 360 para Windows e Kinect One

Características Kinect 360 para Kinect One para

Page 35: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

33

Windows Windows

Tamanho e frame da tela 640 x 480 @30 fps 1920 x 1080 @30 fps

Câmera de Profundidade 320 x 240 512 x 424

Maior Distância de Profundidade ~4.5 m 8 m

Menor Distância de

Profundidade

80 cm no modo p/

perto 40 cm

Visão de profundidade

Horizontal 57 graus 70 graus

Visão de Profundidade Vertical 43 graus 60 graus

Inclinação do Motor Sim Não

Juntas de Esqueletos 20 Juntas 25 Juntas

Pessoas Rastreadas 2 6

Padrão USB 2.0 3.0

Fonte: Adaptada de Microsoft, (2016).

Na tabela 3, pode-se observar que o Sensor Microsoft Kinect One para Windows possui

uma câmera de profundidade superior ao do Sensor Microsoft Kinect 360 para Windows, essa

característica o possibilita uma resolução de 512x424. Além da utilização de seus emissores em

infravermelho que são capazes de gerar uma boa iluminação frontal, que pode funcionar em

boas condições, até mesmo no escuro total.

O Sensor Microsoft Kinect One para Windows usa uma tecnologia chamada de Time-

Of-Flight, que resolve a distância baseada na velocidade em que a luz conhecida atinge o

objeto, ou seja, é medido o tempo de envio do sinal de luz entre a câmera e o objeto para cada

ponto da imagem.

Quanto maior a resolução do sensor de profundidade melhor é para capturar a face de

uma pessoa. Com essa resolução do Sensor Microsoft Kinect para Windows é possível a

criação de avatares mais próximo da realidade. Como pode ser observado na Figura 17, abaixo.

Page 36: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

34

Figura 17 - Pontos para possíveis identificação emocional.

Fonte: (ZENNARO, 2014)

Observa-se na Figura 17, que ao identificar os pontos na face é possível detectar cada

pessoa no ambiente e saber, se essa pessoa está olhando para a câmera ou não, saber suas

expressões, se são boas ou ruins, identificar sua aparência e quais movimentos que cada ponto

está realizando.

Page 37: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

35

3 MATERIAIS E MÉTODOS

Nessa seção são apresentados os materiais utilizados e o desenho de estudo adotado

para a elaboração deste trabalho e desenvolvimento da ferramenta.

3.1. Local

O desenvolvimento da ferramenta foi realizado no Laboratório Banco de Dados e

Engenharia de Software (LBDES) em conjunto com o Laboratório de Tecnologia e Saúde

(LTS), ambos do Centro Universitário Luterano de Palmas (CEULP/ULBRA).

3.2. Materiais

Para o desenvolvimento da ferramenta será utilizado um computador com o processador

Intel core i5 2.30 GHz, barramento USB 3.0 e 2.0, 12GB de RAM e adaptador gráfico

integrado compatível com o DirectX 11, e um sensor Kinect Xbox ONE com adaptador para

computador disponibilizado pelo grupo de pesquisa Tecnologia, Saúde do Centro Universitário

Luterano de Palmas. Foi verificado durante o processo que para a utilização do sistema é

necessário um computador com no mínimo 4GB de RAM, com entradas USB 3.0, adaptador

gráfico compatível com DirectX11 e processadores dual-core 3.1 GHz, pois o software pode

não executar em configurações inferiores, devido ao alto processamento gráfico.

Para implementação das interfaces foi utilizada a linguagem XAML, que é uma

linguagem de marcação declarativa que simplifica a criação de interfaces de usuário (User

Interfaces) para aplicações que utilizam o framework .NET. No que tange a utilização de

linguagem de programação foi utilizada a linguagem interpretada C#, desenvolvida pela

Microsoft. Para o fornecimento de funções e bibliotecas que podem fornecer rastremanto e

reconhecimento facial, foi utilizado uma API chamada de HD FACE API, fornecida pelo SDK,

criado pela Microsoft que permite desenvolvedores criar aplicações que suportam gestos e

reconhecimento de voz e facial, utilizando a tecnologia do Sensor Microsoft Kinect em

computadores com Windows 8, 8.1. Por fim o software utilizado para manter esses códigos foi

o Visual Studio 2013.

3.2.1. API de reconhecimento

O SDK do Sensor Microsoft Kinect é o kit de desenvolvimento oficial da Microsoft,

que foi lançado em junho de 2011 com objetivo de permitir o desenvolvimento de aplicações

em sistemas operacionais Windows. Esta API possibilitou que desenvolvedores pudessem

utilizar o Kinect como uma interface para a criação de novos tipos de aplicações.

Page 38: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

36

Devido à quantidade de usuários e demanda por aplicações mais intuitivas surgiu o

conceito Natural User Interface (NUI), um modelo de desenvolvimento que possui como

característica o enfoque em utilizar a linguagem natural para a interação humana, como gestos,

poses e comandos de voz. Este modelo foi incorporado ao Kinect no seu lançamento. Abaixo,

na Figura 21, é demonstrado como funciona a arquitetura do SDK.

Figura 18 - Arquitetura do SDK.

Fonte: MSDN, Microsoft (2016a).

Como visto na Figura 21, acima, a arquitetura do SDK é composta por diversos

componentes que são:

● Kinect Hardware: são componentes de hardware que estão integrados ao sensor Kinect

como o motor, as câmeras e os microfones, assim como o hub. Através destes

componentes o sensor Kinect conecta-se ao computador;

● Kinect Drivers: são os drivers do Windows para o Kinect, que são instalados a partir do

SDK, como: dispositivo de áudio kernel, que permite acessar APIs de áudio padrão do

Windows; controle de áudio e vídeo streaming, para transmissão de áudio e vídeo (cor,

profundidade e esqueleto) e, por fim, funções de enumeração que permitem o uso de um

ou mais sensores Kinect em conjunto;

● Componentes de Áudio e Vídeo: são componentes que compõem o NUI, interface

natural do usuário, como por exemplo, rastreamento do esqueleto, áudio, cores e as a

imagem que é gerada pelo sensor de profundidade;

Page 39: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

37

● DirectX Media Object (DMO): o conjunto de microfones, fonte de áudio do sensor;

● APIs Windows: APIs disponíveis para aplicações desktop nos Sistemas Operacionais

Windows.

A partir do SDK, algumas APIs são disponibilizadas para desenvolvedores como, por

exemplo, a Face API, que também é independente. É um conjunto de ferramentas que fornece

rastreamento facial, podendo-se utilizar a câmera infravermelha do Kinect e também sua

câmera de cores RGB. Esta API é capaz de detectar informações e características faciais sobre

o usuário que se encontra a sua frente. Para isto, a Face API fornece módulos de processamento

de imagem, que foram criados para acompanhar e compreender rostos e características faciais.

O processo é feito pela própria API, sem a necessidade de conhecimento em visão

computacional. A API possui a função de detecção com níveis de precisão, início automático e

pode rastrear possivelmente a rotação da cabeça em 90 graus.

Para o rastreamento neste trabalho foi utilizada a HD FACE API (rastreamento de face

de alta definição). Essa API cria uma conexão emocional entre o usuário e o jogo ou sistema

que está utilizando. A HD FACE API possui algumas funções já declaradas em sua

documentação, por exemplo, face capture (captura de rosto) que é uma função que utiliza um

método para pegar a forma do rosto do usuário. Essa função passa para o desenvolvedor onde a

pessoa precisa estar para poder ser rastreável na câmera do Sensor Microsoft Kinect. A API

pega a referência dos quadros (telas) que irá calcular a forma onde irá definir o rosto do usuário

e após adquiri-las fornece ao desenvolvedor valores que poderão influenciar no design da

criação do sistema ou jogo. Além do face capture, existe o face Tracking (rastreamento do

rosto) que é uma função utilizada para obter as expressões faciais em tempo real do usuário.

Com essa função é possível ao desenvolvedor criar linhas em unidades de animação que se

relacionam com os movimentos faciais do usuário. Através dessa função é possível a

identificação dos estados emocionais do usuário.

Quando o desenvolvedor começa a codificar a captura e/ou o rastreamento do rosto do

usuário, a API é capaz de acessar os sensores do Kinect como, por exemplo, sensor de cor RGB

(câmera), sensor de profundidade e o sensor infravermelho, como entrada para o processo de

rastreamento de face de alta definição. A qualidade desse rastreio é afetada pela qualidade que

a imagem dos quadros é adquirida ou seja, imagens de quadros mais escuros ou mais

distorcidos. A qualidade de rastreio é importante para o cálculo dos pontos que serão rastreados

pela API, pois nesses pontos irão as referências que afetam o intervalo para a identificação da

emoção.

Page 40: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

38

Durante o processo de rastreamento do rosto, a API gera uma referência do rosto,

obtendo a cabeça como um ponto pivô, e disponibiliza uma lista de unidades de animação

(UA‟s). Essas UA‟s servem para identificar e definir se a boca do usuário está aberta, a

sombrancelha está levantada, e outros detalhes das expressões faciais.

A API controla ao todo 17 unidades de animação, as quais possuem valores que variam

entre 0 e 1, e três dessas animações possuem valores entre -1 e 1, são elas, mandíbula esquerda,

superior da sombrancelha esquerda e superior da sombrancelha direita.

Além dessas animações a API fornece como opção uma classe enumeration na qual é

possível reconhecer o rosto e transformar em um modelo 3D observando cada vértice da malha

que foi criada para a identificação dos pontos. A forma como são obtidas essas informações é

através da classe denominada HighDetailFacePoints. A seguir, é apresentada a Figura 22 na

qual é possível verificar esses pontos.

Figura 19. Identificação dos pontos

Page 41: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

39

Na Figura 22 é possível observar que se trata de uma numeração de pontos específicos

no rosto identificados pela própria API, como, por exemplo, na linha 20, em que é possível

identificar pela tradução da variável que se trata do centro da parte de cima dos lábios da boca.

3.3. Desenho de estudo e procedimentos

Para atingir os objetivos propostos, utilizou-se como desenho de estudo uma pesquisa

com finalidade metodológica aplicada, sendo realizada em laboratório com procedimento de

computação experimental.

A metodologia adotada no trabalho segue um conjunto de etapas que foram de grande

importância para a conclusão do mesmo. As etapas incluem a pesquisa bibliográfica e estudo

do tema, a elaboração do referencial teórico, a análise para o desenvolvimento, o

desenvolvimento do sistema proposto e por fim a execução demonstrativa. A Figura 18 abaixo

representa a sequência de etapas que foram executadas no decorrer do trabalho.

Figura 20. Estrutura metodológica

Na primeira etapa „Estudo do Tema‟ foram realizadas pesquisas acerca de experiência

emocional, interação afetiva baseada na expressão facial, reconhecimento afetivo,

classificações das expressões faciais, detecção facial, rastreamento e reconhecimento facial, por

fim, Sensor Microsoft Kinect v2.

Para embasamento e entendimento do trabalho, no segundo passo foi desenvolvido o

referencial teórico, que aborda textos sobre experiência emocional, onde foram tratadas as

formas como são reconhecidos os estados afetivos e também sobre interação afetiva baseada na

expressão facial, abordando também o reconhecimento da afetividade, classificações das

expressões faciais, detecção facial, rastreamento facial e, por fim, o reconhecimento facial.

Page 42: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

40

No terceiro passo foi realizada uma análise sobre o sistema chamado FisioKinect que já

é utilizado no Laboratório de Tecnologia e Saúde. Esta análise envolve o entendimento de

como são criados os módulos para que o módulo em desenvolvimento neste trabalho seja

adicionado. Além disto, foi realizada uma análise das ferramentas que foram utilizadas para o

entendimento e funcionamento deste módulo.

Ao término da análise das ferramentas, foi feita uma análise com base nos estudos do

referencial teórico sobre as APIs a serem utilizadas no desenvolvimento. Após esse

levantamento foi identificado que para o processo de implementação era preciso realizar uma

análise na documentação da API escolhida chamada HD FACE API que é disponibilizado no

site da Microsoft.

Através da análise dos conceitos que envolvia o reconhecimento dos estados afetivos,

foi realizado o passo de Desenvolvimento da Aplicação. Nesta etapa foi efetuada a codificação

do software por meio do software Visual Studio 2013. Vale ressaltar que o módulo

desenvolvido tem por objetivo auxiliar no reconhecimento do estado afetivo de um usuário por

meio do Sensor Microsoft Kinect v2.

No quarto e último passo, „Execução Demonstrativa da Aplicação‟ houve algumas

execuções do sistema de caráter de testes não científico e demonstrativo. Ao relizar esse passo

foi identificado alguns erros e com isso foi possível retornar ao passo anterior para que este

erros fossem corrigidos. Na próxima seção será abordado como foi realizado o processo de

desenvolvimento do software.

3.3.1. Desenvolvimento do Software

No início elaborou-se uma lógica para a identificação do estado afetivo

(especificamente alegria e tristeza) diante da sequência de imagens obtidas por meio do Sensor

Microsoft Kinect (essa lógica será apresentada na seção 4.3). O processo delimitou alguns

pontos através de uma malha 3D posta na parte superior do rosto. Assim, por meio da distorção

desta malha o sistema foi capaz de identificar as regiões afetadas e, com isso, a possível

identificação do estado afetivo do usuário. Este processo foi realizado em etapas, sendo a

primeira delas a criação das funções básicas, seguida da implementação do rastreio facial e

corporal, verificação dos pontos faciais e, por fim, da comparação das variáveis demonstrativas,

como demonstrado na Figura 19 abaixo.

Page 43: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

41

Figura 21. Processo do desenvolvimento

De acordo com a Figura 19, na primeira etapa, foram desenvolvidas as funções básicas

para o funcionamento dos componentes do Sensor Microsoft Kinect. Essas funções foram feitas

em classes básicas que são responsáveis pela configuração do sensor de profundidade e câmera

RGB assim como a inicialização do Sensor Microsoft Kinect.

Após a realização das configurações básicas do sistema, a próxima etapa foi a

implementação do rastreamento facial. Para isso, foi utilizada a imagem que o sensor RGB do

Sensor Microsoft Kinect consegue captar do ambiente. Após esse processo foi observado que,

para o rastreamento ser preciso e funcionar para diferentes usuários, deve-se criar um método

que rastreia o corpo do usuário.

A quarta etapa teve como objetivo o desenvolvimento de uma técnica para verificação

dos pontos na face. Para esse propósito, foi desenvolvido um método para a atualização dos

pontos rastreáveis na face. O Sensor Microsoft Kinect trabalha com imagens sendo

renderizadas em loop ou tempo real, quando esses pontos são atualizados a cada movimento

que o usuário fizer ou enquanto o sistema estiver ativo.

O método de atualização dos pontos da face cria elipses 2D que, em seguid,a juntamente

com outras elipses, forma uma malha que se encaixa sobre o rosto do usuário. Desta forma é

feito um processo de repetição para que cada ponto rastreável seja ocupado por uma dessas

elipse 2D para que seja formada uma malha em 3D sobre o rosto do usuário, de acordo com a

Figura 20 abaixo.

Page 44: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

42

Figura 22. Malha 3D

Os resultados obtidos na figura 20 são possíveis devido aos valores obtidos em

centímetros das propriedades X, Y e Z, e através do mapeamento de coordenadas. Ao

determinar essa malha 3D, cada ponto obtido é transformado em um vértice contendo as

propriedades X, Y e Z.

Por fim, na última etapa é feita a comparação dos valores que existem nos vértices e

comparada com os valores definidos para cada estado afetivo estudado no trabalho de acordo

com a Figura 6, da sub seção 2.2.2. Através da condição imposta é possível inferir o estado

afetivo em que o usuário se encontra.

4 RESULTADOS E DISCUSSÃO

Esta seção aborda os resultados obtidos no desenvolvimento do trabalho. Será

apresentado uma visão geral da ferramenta desenvolvida, bem como a arquitetura e

funcionamento da mesma. Posteriormente, será apresentada a lógica e o detalhamento do

desenvolvimento do software. Por fim será demonstrado o processo de codificação do sistema e

suas principais funcionalidades.

4.1. Arquitetura do Software

Para entender o funcionamento do software desenvolvido, na Figura 23, é apresentada a

arquitetura do mesmo.

Page 45: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

43

Figura 23. Arquitetura de desenvolvimento do software

O software é executado juntamente com o Sensor Microsoft Kinect, para que as

imagens do usuários sejam capturadas e possam ser analisadas pelo software. Para obter as

imagens do Sensor Microsoft Kinect foram utilizados os recursos dos sensores que estão

disponíveis no mesmo:

ColorStream – é o recurso que trata a geração das imagens através do sensor RGB;

HighDefinitionFaceFrame – é o recurso responsável pela a geração do reconhecimento

facial;

Os recursos apresentados são indispensáveis para o funcionamento do software, pois

eles fazem a comunicação com o modelo de negócio do sistema. Logo após esse processo é

realizado o rastreamento das características faciais. Nesse processo é realizada a classificação

das expressões faciais. Com o usuário realizando uma expressão emocional diante do Sensor

Microsoft Kinect, o sistema dispara o evento que classifica as unidades de animação para cada

expressão específica gerada. Por fim o sistema retorna a informação daquela expressão que é

realizada em tempo real.

4.2. O Software

Para comprovar a eficiência da técnica computacional para o reconhecimento do estado

emotivo, foi necessário o desenvolvimento de algumas funcionalidades que fossem capazes de

mensurar certos movimentos das musculaturas faciais do ser humano. É importante citar que

estudos como o de Eigenface da seção 2.3.2, ajudaram na forma de como desenvolver o

sistema, pois o Sensor Kinect trabalha em forma de um loop de imagens que são tratadas ao

serem mostradas para o usuário. Dessa forma, optou-se por mensurar pontos específicos do

Page 46: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

44

rosto, tomando como base a Figura 5, localizada na seção 2.2.2 deste trabalho. Esses pontos

satisfazem a avaliação da técnica computacional, uma vez que os mesmos têm como

características a delimitação de toda a musculatura do rosto para ter um resultado preciso. A

Figura 24 abaixo exibe a tela do software, desenvolvido com base no sistema FisioKinect

analisado no Laboratório de Tecnologia e Saúde. Através desta tela são integrados diversos

sistemas, que são executados ao clicar no botão específico.

Figura 24. Tela Inicial do sistema

O módulo que segue este trabalho pode ser acessado através do botão “Reconhecimento

de Estado Afetivo”. Ao acessar este módulo será enviado o comando para o método que retorna

a interface de avaliação do estado emocional. Quando o usuário estiver na posição adequada

diante do Sensor Microsoft Kinect, que é com o seu nariz na altura do centro da câmera RGB

do Sensor Microsoft Kinect. O mesmo carrega os sensores e ao estar de acordo com a distância

do sensor entre o usuário, que é aproximadamente a 46cm, será mostrada na tela a malha 3D

que aparecerá sobre o rosto do usuário, ilustrada pela Figura 25 abaixo.

Page 47: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

45

Figura 25. Tela de apresentação da malha 3D

A Figura 25, acima, mostra o resultado quando o usuário interagir com o sistema. Essa

malha azul, posta sobre o rosto do usuário, é acionada ao término do cálculo do mapeamento

das coordenadas. Este processo foi realizado com base no estudo de LI e JAIN (2005), em que

o primeiro processo de um rastreamento facial é a detecção e o rastreio da face realizado por

imagem ou vídeo. Esta etapa teve como base também o estudo de Sanson e Green (2016), para

que os pontos pudessem realizar o sincronismo e adaptar-se ao rosto do usuário. O sistema

informará qual é o estado observado na tela após o usuário realizar algumas expressões faciais

que denotam estado emocional, Na Figura 26 abaixo é demonstrada a representação do estado

afetivo quando o usuário faz uma interação com o sistema.

Page 48: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

46

Figura 26. Representação do estado emocional obtido

Para poder realizar a detecção da expressão facial, inferir emoções e provar a

funcionalidade da ferramenta, foi preciso selecionar as diferentes expressões faciais que

denotam estados afetivo que poderiam ser trabalhadas foram escolhidas: alegria e tristeza. Para

tornar possível as identificações destas emoções foram utilizadas, como referência, os estudos

realizados por Ekman et al. (2002) que em seu trabalho o sistema realiza um estudo através de

UA‟s (Unidades de Ações), como demonstrado na seção 2.2.2. As principais UA‟s podem ser

visualizadas na Figura 5 neste trabalho, localizado na seção 2.1.

4.3. Lógica Utilizada com as UA’s

Para que seja possível realizar o cálculo dos atributos, a detecção e o reconhecimento a

API do SDK do Kinect 2.0 fornece alguns pontos já predefinidos, chamados através da classe

HighDetailFacePoints. Esses pontos são numerados e azuis, são os pontos que aparecem na

malha 3D no rosto do usuário, demonstrado na figura 25. Cada ponto tem como propriedade os

valores em metros das coordenadas X, Y e Z. A Figura 27 abaixo demonstra o código

realizado para pegar o ponto do canto esquerdo da boca no eixo X e Y especificado pela

unidade de ação bocaCantoEsquerdo1X.

Page 49: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

47

Figura 27. Condições para que as expressões sejam válidas

A Figura 27, acima, descreve o código que possui o objetivo de detectar as expressões

faciais do usuário, criam-se limites nos valores das unidades de animação adquiridas através

das variáveis das linhas 165, 168, 171 e 174. Esses valores são fornecidos pela classe do

próprio SDK, permitindo que seja possível as comparações entre os valores das unidades e os

intervalos que são atribuídos. Na linha 177 da Figura 26, é realizado o cálculo da distância

entre os cantos da boca, tanto do lado esquerdo (bocaCantoEsquerdo1X) quanto direito

(bocaCantoDireito1X). Na tabela 4 abaixo são demonstradas as condições exigidas para o

rastreio do estado afetivo.

Tabela 4. Condições para que as expressões sejam válidas

Estado Afetivo Condições Para Detectar Expressão

Alegria (Feliz) bocaCantoEsquerdo1X < -0.06 e

buchechaEsquerdaX < 0.09 e

bocaCantoEsquerdo1Y > 0.01

Tristeza (Triste) bocaCantoEsquerdo1X < 0.06 e

dif < 0.054 e

dif > 0.050

Na tabela 4 é possível visualizar as condições proposta para o primeiro estado afetivo

feliz. A variável bocaCantoEsquerdo1X e bocaCantoEsquerdo1Y é o índice

correspondente ao canto da boca esquerda na coordenada X e Y. A variável

buchechaEsquerdaX corresponde ao centro da bochecha esquerda. Na tabela 4 é possível

visualizar as condições também para o segundo estado afetivo triste. A variável

Page 50: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

48

bocaCantoEsquerdo1X deve estar em um intervalo menor que 0.06 e a diferença entre os

pontos da boca que é armazenada na variável dif deve estar em um intervalo entre 0.050 e

0.054. A utilização desta técnica foi realizada com base nos estudos de Oliveira e Jacques

(2008), na seção 2.2.1, onde foi demonstrado que é possível encontrar o estado de raiva de uma

pessoa realizando o processo de aproximação entre dois pontos.

Ao ser realizada a lógica dos intervalos para que fosse possível a realização do sistema e

para chegar aos resultados esperados, foi preciso fazer a alteração destes intervalos e não

utilizá-los da forma como os estudos o referenciavam. A alteração foi realizada com base nas

coordenadas adquiridas através do rastreio. Foi realizado porque a precisão do cálculo

demonstrado por Oliveira e Jacques (2008) na figura 6 da seção 2.2.2 não seria possível obter

resultados satisfatórios.

As alterações feitas foram através dos pontos que foram demonstrados no estudo

apresentado na tabela 2 adaptada de Ekman et al (2002). Foi adaptada para que, no estado de

alegria, fosse analisado o centro da buchecha esquerda e retirada a sombrancelha. Isto se deve

ao fato que a oscilação dos pontos de coordenadas que foram realizadas pelo sensor Kinect não

foi satisfatório para observar essa característica, tanto para tristeza quanto para alegria.

Para que esses resultados tenham efeito o Sensor Microsoft Kinect deve estar em uma

posição em que o usuário possa ficar com o seu nariz em frente ao sensor de câmera e possuir

uma distância de +/- 50 cm do Sensor Microsoft Kinect para que o rastreio não traga erros e um

rastreio não válido.

Por meio desse software, pretende-se também demonstrar a possibilidade do dispositivo

Sensor Microsoft Kinect de trabalhar no meio da identificação das expressões faciais dos

usuários com o uso de suas bibliotecas e API‟s.

4.4. Declaração de variáveis

O sistema, para iniciar, é preciso criar algumas variáveis que estendem as classes que

serão trabalhadas para o desenvolvimento. A Figura 28 abaixo exibe as declarações iniciais de

variáveis de classe utilizadas.

Figura 28. Declaração inicial das variáveis

Page 51: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

49

A primeira variável sensorKinect apresentada na linha 29 é uma variável do tipo

KinectSensor proveniente do próprio SDK do Sensor Microsoft Kinect – com essa variável é

possível realizar uma instância do Sensor Microsoft Kinect e assim ativá-lo. A variável

leitordecor na linha 30 é responsável pelo sensor da câmera RGB que é utilizada no sistema

para promover uma interface mais agradável e uma visualização do usuário mais dinâmica. Na

linha 31 e 32 são criadas as variáveis sensorCorpo e leitorCorpo das classes

BodyFrameSource e BodyFrameRader que irá instanciar as funções de ratreio do corpo

humano.

Na linha 33 e 34 são criadas as variáveis sensorFace e leitorFace que trabalha como

uma instância da classe HighDefinitionFaceFrame que possui as funções que fornecem o

rastreio de rosto humano. Na linha 35 é definida a variável alinhamentoFace que é uma

instância da classe FaceAlignment que é utilizada para o mapeamento da face. Esse

mapeamento identifica cada ponto do rosto do usuário passando para uma função que irá

determinar as coordenadas X, Y e Z de cada ponto identificado. Na linha 36 é criada uma

variável modeloFace que é uma instância de classe FaceModel. Nela é determinado um

modelo de face. Por fim é definida uma variável chamada de pontos que é uma instância de

uma classe List<ellipse>, que é uma classe que determina os vários pontos azuis que forma a

malha 3D no rosto do usuário. Na próxima seção será realizado o modo de conFiguração da

API do SDK e do Sensor Microsoft Kinect.

4.5. Configuração do Kinect, HDFace e do reconhecimento do estado afetivo

Para a inicialização e configuração do Sensor Microsoft Kinect, declarou-se a variável

sensorKinect do tipo KinectSensor. A Figura 29 abaixo exibe o código de como são feitas a

inicialização e a configuração do Sensor Microsoft Kinect, HDFaceAPI e dos demais sensores.

Page 52: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

50

Figura 29. Inicialização dos sensores

Na linha 43 da Figura 29 acima, a variável sensorKinect recebe como valor a

instrução; KinectSensor.GetDefault();, que é uma instrução que define uma instância do

Sensor Microsoft Kinect. Essa instância verifica se existe algum Sensor Microsoft Kinect

conectado na máquina.

Na linha 45 é verificado se aquela instância que se encontra na variável sensorKinect

existe ou não, se existir, o primeiro código a ser inicializado se encontra na linha 47 - o

leitordecor recebe o comando para ligar o sensor RGB na tela para o usuário.

Já na linha 50 a variável sensorCorpo recebe uma função que rastreia o corpo do

usuário para a tela, não define traços mas reconhece aquele usuário através dessa instrução. Na

linha 54 é passado como referência o sensorKinect para a classe

HighDefinitionFaceFrameSource, que envia toda a instrução para a variável sensorFace,

assim por meio dessa variável é possível o acesso das funções para rastreio da face.

Na linha 56 é definido que a variável leitorFace irá receber a instrução

sensorFace.OpenReader(); com todas as funções do sensor de rastreio da face já para

acesso. Nas linhas 59 e 60 são inicializados o modelo de face e o alinhamento da face, onde a

variável modeloFace recebe uma nova FaceModel() e a variável alinhamentoFace recebe

uma nova FaceAlignment(). Por fim é inicializado o sensorKinect na instrução da linha 62,

sensorKinect.Open().

Page 53: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

51

Na linha 48 a variável leitordecor recebe uma instrução chamada

ColorReader_FrameArrived, que é um evento que faz com seja possível a visualização do

sistema através da câmera RGB do Sensor Microsft Kinect, a Figura 30 abaixo demonstra esse

processo.

Figura 30. Sensor RGB

Esse evento utiliza a variável frame que é uma referência da tela que é mostrada ao

usuário e que deve receber a imagem que o sensor RGB disponibiliza. Na linha 75 é definido

que a instrução camera.Source irá receber um quadro, de acordo com a instrução

frame.ToBitmap(), essa instrução ela verifica o tamanho que é a tela criada pro usuário, e

assim transforma aquela tela em uma do tipo de imagem Bitmap que é apresentado para usuário

em tempo real.

Ao chamar a instrução da linha 75, o código irá realizar a chamada de uma outra classe

que possui o método do tipo ImageSource chamado ToBitmap, e assim realizar um cálculo

para poder renderizar cada pixel do sensor RGB na tela para o usuário, como na Figura 31

abaixo.

Page 54: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

52

Figura 31. Classe Extensions

É possível perceber na Figura 31 acima, na linha 18, que o método ToBitmap recebe

um quadro de cores chamado frame. Logo na linha 20 e 21 é pego a largura e a altura desse

quadro, para que na linha 24 seja realizado o cálculo do tamanho dos pixels que irão popular o

quadro. Na linha 28, após uma condição, é feita uma cópia em forma de array dos pixels e

assim que finalizado é feito na linha 37 o retorno do BitmapSource.

Na Figura 28, na linha 52, é feita a chamada de um evento para o rastreio do corpo do

usuário e a identificação do rosto para o rastreio facial posteriormente. Quando o sistema chega

na seguinte instrução BodyReader_FrameArrived é onde o sistema entrará no evento, que é

demonstrado na Figura 32 abaixo.

Page 55: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

53

Figura 32. Rastreio do corpo do usuário

É possível observar na Figura 32 acima, na linha 88, que esse rastreio irá funcionar se

houver algum quadro sendo executado no sistema, ou seja, alguma tela específica sendo

mostrada ao usuário. Ao identificar esse quadro, na linha 90, é feito uma variável chamada

bodies, que é array do tipo Body[], que irá pegar a quantidade de corpo que está em cena.

Ao receber essa instrução, na linha 91 é feita uma lista onde é passado por referência

aquele corpo já rastreado. Assim na linha 93 é definido o corpo que se encontra na lista como

rastreável. Já na linha 95, a condição demontra se o sensor da face está habilitado e também na

linha 97 se existe algum corpo em frente ao sensor, satisfazendo essas condições é realizado

uma referência daquele corpo para aquela face rastreável, ou seja, como se estivesse montando

um quebra cabeça, encaixando a referência do rastreio de corpo na face. Na Figura 33 abaixo é

demonstrado como é feito o processo da criação da face.

Figura 33. Processo inicial para o rastreio facial

Na Figura 33 acima, tem-se o início do rastreio facial. Na instrução da linha 112 são

verificadas as condições se existe uma tela, frame != null; e se há alguma face rastreada na

Page 56: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

54

tela, frame.IsFaceTracked; a instrução isFaceTracked é uma propriedade da classe

HighDefinitionFaceFrame, que obtém um valor booleano que indica se o rosto é rastreado.

Na linha 114 é realizada a atualização dos pontos que armazenam as características

faciais, como olhos, nariz e boca. Essa atualização é por meio de uma imagem no espaço 2D.

Na linha 115 é feito o método, onde é realizado todo o processo de alinhamento e

reconhecimento do estado afetivo do usuário. Na Figura 34 abaixo, é demonstrado o processo

que realiza o rastreio da face e o reconhecimento das expressões realizadas.

Page 57: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

55

Figura 34. Processo de rastreamento do estado afetivo

Na Figura 34 é realizado o processo de atualização, alinhamento, bem como o processo

de verificação do estado afetivo do usuário. É possível notar na linha 133 um laço onde será

criada a malha 3D, como visto na Figura 19, demonstrado na seção 3.3.1. Entre as linhas 157 a

165 são instanciados os pontos do rosto que são garantidos através da classe demonstrada na

seção 4.3. Também é possível notar entre as linhas 170 a 179 a lógica dos intervalos utilizada

para que o sistema conseguisse reconhecer os estados afetivos propostos.

Page 58: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

56

O estudo de Zernnaro (2014), na sessão 2.4, aborda os possíveis pontos para a

identificação do estado emocional de uma pessoa. A figura 17 na sessão 2.4 aborda esse estudo

demonstrando os determinados pontos para uma identificação, logo a base da escolha dos

pontos realicionados na figura 34 se deve a este estudo.

No desenvolvimento desta etapa foram identificados erros no software diante do

rastreio das UA‟s. Ao utilizar os valores propostos pelo o estudo, mais precisamente na seção

2.2.2, a API não reconhecia os pontos indicados. Após isso foi utilizada a classe

HighDetailFacePoints, demonstrada na seção 4.3. Posteriormente foram obtidos os pontos e

realizados os cálculos dos intervalos, como já demonstrado na seção 4.3. Ao fim dessas

mudanças os erros foram corrigidos e o software conseguiu reconhecer o estado do usuário.

Page 59: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

57

5 CONSIDERAÇÕES FINAIS

O trabalho teve como objetivo o desenvolvimento de um software para o

reconhecimento do estado emocional através da identificação da experiência emocional, mais

precisamente os estados de alegria e tristeza, utilizando o Sensor Microsoft Kinect. O estudo de

técnicas de identificação de experiência emocional juntamente com o SDK do Sensor Microsoft

Kinect foram fundamentais para que se chegasse aos resultados apresentados.

A técnica de rastreio facial aplicado à imagem obtida pela câmera RGB do Sensor

Microsoft Kinect ajuda a obter uma representação do formato do rosto humano quase que ideal.

O único fator que deixou a desejar foi a imprecisão encontrada quando o usuário realiza algum

desvio de atenção, ou seja, devia os olhos e realiza a rotação da cabeça para direita ou para

esquerda em frente a câmera do Sensor Microsoft Kinect. Tal fator não torna a técnica de

rastreio e delimitação das coordenadas inviável, posto que é quase impossível obter uma

representação perfeita.

Uma das etapas mais complexa realizada neste trabalho foi a elaboração da lógica de

intervalo das UA‟s, pois nos estudos foram propostas algumas variáveis, que ao realizar na

prática não foi possível obter os resultados esperados, mas o SDK do Sensor Microsoft Kinect,

através da HD FACE API disponibiliza algumas UA‟s para a realização do rastreio.

Após concluir a fase de implementação do software, a execução de demonstração

realizada foi essencial para a elaboração dos requisitos para que a ferramenta funcionasse.

Notou-se que, para o bom funcionamento da aplicação, o Sensor Microsoft Kinect deve estar

em uma base em que o usuário possa ficar com a câmera na altura de seu nariz, não existindo

uma altura padrão, mas uma altura que seja possível rastrear o rosto e uma parte do seu corpo,

para que possa ser rastreado com eficiência além do usuário estar a uma distância de +/- 50 cm

do Sensor Microsoft Kinect.

Como trabalhos futuros, pode-se citar: utilizar outros recursos no que tange estados

afetivos, como por exemplo, o reconhecimento de novos estados afetivos como, raiva e

surpresa, a fim de melhorar a quantidade de emoções rastreada e reconhecida pelo software.

Além da implementação de recursos que limitam os movimentos que o usuário possa

realizar em frente ao Sensor Microsoft Kinect, como por exemplo, ao usuário realizar um

desvio de atenção, ao identificar o software identifica e manda uma alerta ao usuário em forma

de áudio como aviso. Também, pode ser implementado módulos para que a coordenada da face

seja habilitada somente no rosto do usuário e não no ambiente como um todo.

Page 60: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

58

Do mesmo modo, novos trabalhos podem ser desenvolvidos utilizando o rastreio do

corpo em conjunto com o rastreio da face, visto que nos estudos abordados, foi identificado

que alguns movimentos corporais também delimita algumas expressões emocionais.

Dessa forma, conclui-se que com o uso dos recursos do Sensor Microsoft Kinect v2

junto com recursos de sua API fornecida pelo SDK, é possível que se obtenha uma

representação do estado afetivo do usuário.

Page 61: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

59

REFERÊNCIAS

CHEN, Yumiao; YANG, Zhongliang; WANG, Jiangping. Eyebrow emotional expression

recognition using surface EMG signals. Neurocomputing, [s.l.], v. 168, p.871-879, nov. 2015.

Elsevier BV. http://dx.doi.org/10.1016/j.neucom.2015.05.037.

DANTAS, Adilmar Coelho et al. Reconhecimento dinâmico de emoções através de expressões

faciais utilizando árvore de decisão. Anais do Xxvi Simpósio Brasileiro de Informática na

Educação (sbie 2015), [s.l.], v. 26, n. 26, p.1102-1111, 26 out. 2015. Comissao Especial de

Informatica na Educacao. http://dx.doi.org/10.5753/cbie.sbie.2015.1102. Disponível em:

<http://br-ie.org/pub/index.php/sbie/article/download/5428/3787>. Acesso em: 22 maio 2016.

DINIZ, Fábio Abrantes; MENDES NETO, Francisco Milton; LIMA JÚNIOR, Francisco das

Chagas. Um Sistema de Reconhecimento de Expressões Faciais para Apoiar um Ambiente

Virtual de Aprendizagem. 2013. 42 v. Monografia (Especialização) - Curso de Ciência da

Computação, Centro de Informática, Universidade Federal de Pernambuco, Pernambuco, 2013.

Cap. 463. Disponível em: <http://www.lbd.dcc.ufmg.br/colecoes/sbsi/2013/0042.pdf>. Acesso

em: 18 fev. 2016.

EKMAN, P. Strong Evidence For Universals In Facial Expressions. Psychol. Bull., 1994

EKMAN, P., & FRIESEN, W. V. (1982). Felt, false, and miserable smiles. Journal of

Nonverbal Behavior. 238–252. Disponível em: <https://www.paulekman.com/wp-

content/uploads/2013/07/Felt-False-And-Miserable-Smiles.pdf >. Acessado em 3 de maio de

2016.

Ekman, P., Friesen, W. V., & Ellsworth, P. (1972). What emotion categories or dimensions

can observers judge from facial behavior? In P. Ekman (Ed.), Emotion in the human face

(pp. 39-55). New York: Cambridge University Press. Disponível em:

<http://www.sciencedirect.com/science/book/9780080166438>. Acessado em: 11 de maio de

2016.

EKMAN, P.; FRIESSEN, W. V.; HAGER, J. C. Facial Action Coding System -

Investigator's Guide. 2ª Edição. ed. Salt Lake City: Research Nexus, 2002.

FITZPATRICK, Matthew; MATTHIOPOULOS, Nikolaos. Real Time Person Tracking and

Identification using the Kinect sensor. 2013. 78 f. Monografia (Especialização) - Curso de

Electrical & Computer Engineering, Worcester Polytechnic Institute, Worcester, 2013.

Disponível em: <https://www.wpi.edu/Pubs/E-project/Available/E-project-042513-

081838/unrestricted/Real_Time_Person_Tracking_and_Identification_using_the_Kinect_senso

r.pdf>. Acesso em: 24 maio 2016.

FREUND, Yoav; SCHAPIRE, Robert E.. A Short Introduction to Boosting. Journal Of

Japanese Society For Artificial Intelligence. Nova Jérsei - Eua, p. 1-14. nov. 1999.

Disponível em: <http://cseweb.ucsd.edu/~yfreund/papers/IntroToBoosting.pdf>. Acesso em: 23

maio 2016.

Page 62: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

60

FRIEDLANDER Michel; RAHMILEVITZ Gustavo. Software para Análise de

Emoções na Face. Trabalhos de Conclusão de Cursos. Escola Politécnica da Universidade de

São Paulo, Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos. São Paulo,

dezembro de 2010.

GHOLIPOUR, Bahar. (2014). Happily Surprised! People Use More Facial Expressions

Than Thought. Disponível em: <http://www.livescience.com/44494-human-facial-

expressions-compound-emotions.html>. Acesso em 19 de março de 2016.

JAMES, William. What is an Emotion. Oxford Journals. Oxford, p. 188-205. mar. 1884.

Disponível em: <http://gruberpeplab.com/5131/2_James_1884_WhatisanEmotion.pdf>. Acesso

em: 11 maio 2016.

JANA, Abhijit. Kinect for Windows SDK Programming Guide. Birmingham, Uk: Packt

Publishing, 2012. 366 p. Disponível em: <http://www.doc.flash-

robotics.com/download/doc/Kinect for Windows SDK Programming Guide.pdf>. Acesso em:

24 maio 2016.

JAQUES, Patrícia Augustin; VICARI, Rosa Maria. Estado da Arte em Ambientes

Inteligentes de Aprendizagem que Consideram a Afetividade do Aluno. 2005. 8 v.

Monografia (Especialização) - Curso de Informática, Programa de Pós-graduação em

Informática na Educação, Instituto de Informática - Ufrgs, Rio Grande do Sul, 2005.

Disponível em: <http://ppginf.ucpel.tche.br/wesaac/Anais/Mini-cursos/mini-curso-jaques.pdf>.

Acesso em: 25 abr. 2016.

KAPUR, A., Kapur, A., Virji-Babul, N., Tzanetakis, G. & P.F. Driessen, “Gesture-Based

Affective Computing on Motion Capture Data”, Proceedings of the International Conference

on Affective Computing and Intelligent Interaction. Beijing, China. October 2005. Disponível

em: <http://www.mistic.ece.uvic.ca/publications/2005_acii_affect.pdf>.

LI, Stan Z.; JAIN, Anil K. (Ed.). Handbook of Face Recognition. New York: Springer, 2005.

395 p. Disponível em: < http://read.pudn.com/downloads142/ebook/618315/Handbook Of Face

Recognition.pdf>. Acesso em: 19 de março de 2016.

LIAO, Wenhui et al. Toward a decision-theoretic framework for affect recognition and

user assistance. International Journal Of Human-computer Studies, [s.l.], v. 64, n. 9, p.847-

873, set. 2006. Elsevier BV. http://dx.doi.org/10.1016/j.ijhcs.2006.04.001.

LISETTI, C. Personality, Affect And Emotion Taxonomy For Socially Intelligent Agents.

In Proceedings Of The Fifteenth International Florida Artifficial Intelligence Research Society

Conference, Pages 397-401. Aaai Press, 2002 Disponível em:

<https://www.aaai.org/Papers/FLAIRS/2002/FLAIRS02-078.pdf>. Acessado em: 12 de maio

de 2016.

LONGHI, L. Magalí, BERCHT, Magda BEHAR, A. Patrícia. Reconhecimento de Estados

Afetivos do Aluno em Ambientes Virtuais de Aprendizagem. (2007) Brasil: Programa de

Pós-Graduação em Informática na Educação – Universidade Federal do Rio Grande do Sul.

Page 63: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

61

Disponível em: <http://www.cinted.ufrgs.br/ciclo10/artigos/3bMagali.pdf>. Acesso em: 05 de

maio de 2016.

MALFAZ, M., & SALICHS, M. A. A new architecture for autonomous robots based on

emotions. (2004) Madrid: Carlos III University of Madrid. Disponível em:

<http://roboticslab.uc3m.es/publications/MalfazIAV04.pdf>. Acessado em: 28/05/2015.

MARTINS, Gonçalo dos Santos. Kinect -Innovative Face Recognition System. 2013. 83 f.

Dissertação (Mestrado) - Curso de Ciência de Computadores, Faculdade de Ciências da

Universidade do Porto, Porto, 2013.

MELLO, Ana Maria S. Ros. De. Autismo: guia prático. 5 ed. São Paulo: AMA; Brasília:

CORDE, 2007. 104 p.: il. Disponível em:

<http://www.autismo.org.br/site/images/Downloads/7guia%20pratico.pdf>. Acessado em: 03

de maio de 2016.

MESSINGER, S. Daniel, DUVIVER, L. Leticia, WARREN, E. Zachary, MAHOOR,

Mohammad, BAKER, Jason, RUVOLO, Warlaumont e Paul. (2014). Affective Computing,

Emotional Development, and Autism. Cap. 39. Pág. 516-536. Oup uncoorected proof –

FIRSTPROOFS. Disponível em:

<http://www.psy.miami.edu/faculty/dmessinger/c_c/rsrcs/rdgs/emot/Affective_Computing_201

4.pdf>. Acessado em: 25/04/2016.

MICROSOFT. Kinect for Windows Architecture. Disponível

em:<https://msdn.microsoft.com/en-us/library/jj131023.aspx>. (2016a). Acesso em 12 de

Junho de 2016.

MICROSOFT. Kinect hardware. Disponível em: <https://developer.microsoft.com/en-

us/windows/Kinect/hardware>. Acesso em: 05 jun. 2016.

NUNES Maria Augusta Silveira Netto. Computação Afetiva personalizando interfaces,

interações e recomendações de produtos, serviços e pessoas em Ambientes

computacionais. In: Nunes, M.AS.N.; Oliveira, A.A.; Ordonez, E.D.M. 132 (Org.). DCOMP e

PROCC: Pesquisas e Projetos. São Cristóvão: Editora UFS, 2012, v., p. 115-151. Disponível

em: <http://200.17.141.213/~gutanunes/hp/publications/NunesDCOMP2012.pdf>. Acessado

em: 18 de maio de 2016.

OLIVEIRA Eduardo; JAQUES Patrícia Augustin. Inferindo as emoções do usuário pela face

através de um sistema psicológico de codificação facial. IHC 2008. Porto Alegre, 2008.

Disponível em:

<https://www.researchgate.net/profile/Patricia_Jaques/publication/220737344_Inferindo_as_e

mocoes_do_usuario_pela_face_atraves_de_um_sistema_psicologico_de_codificacao_facial/lin

ks/0deec530a4d54b8281000000.pdf>. Acessado em: 18 de maio de 2016.

ORTONY, A, Clore, G., & Collins. A. The cognitive structure of emotions. Cambridge:

Cambridge University Press, 1988.

ORTONY, A., & Turner, T. J. (1990). What’s basic about basic emotions? Psychological

Review, 97, 315-331. Disponível em:

Page 64: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

62

<http://moodle.uws.ac.uk/pluginfile.php/109934/mod_resource/content/1/Week%202%20Orto

ny%20and%20Turner%20(1990).pdf>. Acessado em: 11 de maio de 2016.

ORVALHO, V., MIRANDA, J., SOUSA, A. What a Feeling: Learning Facial Expressions

and Emotions. (2010) Prisma.com nª 10. Especial Video jogos 2009. ISSN: 1646 – 3153.

Disponível em: <http://revistas.ua.pt/index.php/prismacom/article/download/713/pdf>.

Acessado em: 03 de maio de 2016.

PENHARBEL, Eder Augusto; WUTZKE, Erdiane L. G.; SILVA, Murilo dos S. BIANCHI, R.

A. C. E-Faces - Um classificador capaz de analisar imagens e classificá-las como faces ou

não faces utilizando o método Eigenfaces. 2005. Departamento de Ciência da Computação,

Centro Universitário da Fei - Unifei, São Paulo, 2002. Disponível em:

<http://www.lbd.dcc.ufmg.br/colecoes/wvc/2005/0038.pdf>. Acesso em: 27 maio 2016.

PICARD, R. W. Affective Computing. Cambridge, EUA: The M.I.T. Press, 1997.

PICARD, R. W. Affective Computing. Cambridge, EUA: The M.I.T. Press, 321, 1995.

Disponível em: < http://affect.media.mit.edu/pdfs/95.picard.pdf>. Acessado em: 05 de maio de

2016.

PICARD, Rosalind. W. What does it mean for a computer to “have” emotions? Cambridge,

EUA: The M.I.T. Press (2003). Disponível em: <http://hd.media.mit.edu/tech-reports/TR-

534.pdf> Acesso em: 03 de março de 2016.

PINTO, Amâncio da Costa, Psicologia Geral. n.a., (2001). Lisboa, Universidade Aberta.

ROBINSON, P. Computation of Emotions. p.409–410. 16TH INTERNATIONAL

CONFERENCE ON MULTIMODAL INTERACTION. (2014), Nova Iorque. Disponível em:

<http://dl.acm.org/citation.cfm?id=2669638>. Acesso em: 02 de maio de 2016.

SCHERER, Klaus R. Psychological models of emotion. Oxford/New York: Oxford University

Press, 2000. p. 137-162.

SILVA, R. M. J. MARIA (2010). A Inteligência emocional como fator determinante nas

relações interpessoais. Lisboa: Universidade Aberta. Disponível em: <

https://repositorioaberto.uab.pt/bitstream/10400.2/1529/1/Disertação%20Maria%20João%20Ro

sa%20Silva.pdf>. Acessado em: 23 de abril de 2016.

SOUZA, Flávio Lima de. Classificador Fisherface Fuzzy para o reconhecimento de faces.

2014. 89 f. Dissertação (mestrado) - Universidade Estadual Paulista Julio de Mesquita Filho,

Instituto de Biociências, Letras e Ciências Exatas, 2014. Disponível em:

<http://hdl.handle.net/11449/110600>. Acessado em: 20 de julho de 2016.

VIOLA, P.; JONES, M. Rapid Object Detection Using a Boosted Cascade of Simple

Features. Conference on Computer Vision and Pattern Recognition, 2001. Disponível em : <

https://www.cs.cmu.edu/~efros/courses/LBMV07/Papers/viola-cvpr-01.pdf>. Acessado em: 23

de maio de 2016.

Page 65: ANÁLISE FACIAL COMPUTADORIZADA PARA IDENTIFICAÇÃO …afetivos através das expressões faciais das pessoas já que, com o uso do sensor RGB e de uma API presente no dispositivo,

63

XAVIER, R. A. C. Uma abordagem híbrida para a avaliação da experiência emocional de

usuários. (2013) Programa de Pós-Graduação Em Ciência da Computação, Universidade

Federal de São Carlos – SP. Disponível em: <

http://www.bdtd.ufscar.br/htdocs/tedeSimplificado//tde_busca/arquivo.php?codArquivo=6667>

. Acessado em: 28 de março de 2016.

ZENNARO, Simone. Evaluation of Microsoft Kinect 360 and Microsoft Kinect One for

robotics and computer vision applications. 2014. 74 f. Dissertação (Mestrado) - Curso de

Ingegneria Informatica, Dipartimento di Ingegneria Dell‟informazione, UniversitÀ Degli Studi

di Padova, Itália, 2014. Disponível em: <http://tesi.cab.unipd.it/47172/1/Tesi_1057035.pdf>.

Acesso em: 05 jun. 2016.