EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação...

53
Marc´ ılio Benvindo Guimar˜ aes J´ unior EmotivFramework: Um framework para aux´ ılio no desenvolvimento de aplica¸ c˜oes para Computa¸ c˜ao Afetiva utilizando o neuroheadset Emotiv EPOC Belo Horizonte 5 de dezembro de 2010

description

Monografia sobre Computação Afetiva.

Transcript of EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação...

Page 1: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Marcılio Benvindo Guimaraes Junior

EmotivFramework: Um framework para

auxılio no desenvolvimento de aplicacoes

para Computacao Afetiva utilizando o

neuroheadset Emotiv EPOC

Belo Horizonte

5 de dezembro de 2010

Page 2: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Marcılio Benvindo Guimaraes Junior

EmotivFramework: Um framework para

auxılio no desenvolvimento de aplicacoes

para Computacao Afetiva utilizando o

neuroheadset Emotiv EPOC

Trabalho apresentado ao Instituto deInformatica da Pontifıcia UniversidadeCatolica de Minas Gerais, como requisitoparcial para a obtencao do tıtulo de Bacharelem Ciencia da Computacao.

Orientador:

Rosilane R. Mota

Pontifıcia Universidade Catolica de Minas GeraisInstituto de Informatica

Departamento de Ciencia da Computacao

Belo Horizonte

5 de dezembro de 2010

Page 3: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Marcılio Benvindo Guimaraes Junior

EmotivFramework: Um framework para auxılio no desenvolvimento de

aplicacoes para Computacao Afetiva utilizando o neuroheadset Emotiv

EPOC

Trabalho apresentado a disciplina Trabalho de Diplomacao II do Departamento de Ciencia

da Computacao da Pontifıcia Universidade Catolica de Minas Gerais,

Belo Horizonte, 2010.

Profa. Rosilane R. MotaOrientadora

Pontifıcia Universidade Catolica de Minas GeraisDepartamento de Ciencia da Computacao

Prof. Alexei Manso Correa MachadoExaminador

Pontifıcia Universidade Catolica de Minas GeraisDepartamento de Ciencia da Computacao

Prof. Theldo Cruz FranqueiraExaminador

Pontifıcia Universidade Catolica de Minas GeraisDepartamento de Ciencia da Computacao

Page 4: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Agradecimentos

A minha mae, um exemplo de forca e persistencia

na vida que jamais verei igual. Ao meu pai, um

exemplo de profissional como poucos. A meus ami-

gos Liana, Ana, Fernanda, Marina, Jessica, Louise,

Raquel, Willer, Andrey, Andre, Daniel, Rafael e a al-

guns que devo ter esquecido, pessoas por quem tenho

extremo respeito e carinho. Ao professor Marcelo

Nery, que sempre me ajudou e e claro, a minha ori-

entadora Rosilane, pela orientacao, dedicacao, com-

petencia e por ter me apresentado esta area. Sem

voce esse trabalho nao seria possıvel.

Page 5: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

“Veni, vidi, vici”

Julio Cesar

Page 6: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Resumo

A Computacao Afetiva e a area que estuda a computacao que esta relacionada asemocoes. Uma das areas de pesquisa relacionada a esses estudos e do Reconhecimento deEmocoes. Para inferir dados sobre estados emocionais de usuarios e necessario passar portres etapas: Aquisicao de Dados, Interpretacao e Modelagem. Este estudo apresenta umaproposta de framework capaz de identificar dados coletados de um dispositivo externo, nocaso, um neuroheadset da empresa Emotiv Systems. O objetivo desse framework e realizara etapa de aquisicao de dados dentro de um processo de Reconhecimento de Emocoes.Para validacao do sistema, foram simulados alguns estados emotivos atraves de scripts emuma linguagem que e interpretada pelo simulador fornecido pela empresa. Atraves dostestes, concluiu-se que o uso de um framework para realizar a aquisicao de dados agilizae beneficia o desenvolvimento de outros sistemas que facam uso da etapa de aquisicao dedados.

Page 7: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Abstract

Affective Computing is the area of study of emotion-related computing. One researcharea related to those studies is Emotion Recognition. To infer data about the emotionalstate of users, three steps are necessary: Data Acquisition, Interpretation and Modeling.This study presents a framework proposal that is able to identify data collected froman external device - in this case, an Emotiv Systems neuroheadset. The goal of thisframework is to perform the acquisition step inside the Emotion Recognition process. Tovalidate the system, some emotive states were simulated through scripts in a languagethat is interpreted by the simulator provided by the company. Through testing, it hasbeen concluded that the use of a framework to perform the data acquisition speeds upand benefits the development of other systems that use the data acquisition step.

Page 8: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Sumario

Lista de Figuras

Lista de Siglas

1 Introducao p. 8

1.1 Motivacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8

1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9

1.3 Objetivos gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 9

1.4 Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 10

2 Trabalhos Relacionados p. 11

2.1 Computacao Afetiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11

2.1.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 11

2.1.2 Emocoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 12

2.1.2.1 Reconhecimento de emocoes . . . . . . . . . . . . . . . p. 13

2.1.2.2 Sıntese de emocoes . . . . . . . . . . . . . . . . . . . . p. 14

2.1.3 Computacao Afetiva na interacao homem-computador . . . . . . p. 14

2.1.3.1 Computacao Afetiva em ambientes de ensino virtuais . p. 15

2.1.3.2 Computacao Afetiva em sistemas de vigilancia . . . . . p. 15

2.1.4 Questoes eticas . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16

2.2 Novas interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 16

2.2.1 Brain-computer interfaces (BCI) . . . . . . . . . . . . . . . . . p. 16

2.2.2 Emotiv EPOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

Page 9: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

2.3 Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 17

3 EmotivFramework p. 19

3.1 Nucleo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

3.1.1 Arquitetura do EmotivFramework . . . . . . . . . . . . . . . . . p. 20

3.2 Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21

3.2.1 Estrutura do arquivo de log . . . . . . . . . . . . . . . . . . . . p. 21

3.3 MouseControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24

3.4 Documentacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24

4 Metodologia p. 25

4.1 Aquisicao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

5 Resultados p. 27

5.1 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 28

5.1.1 EmoComposer Markup Language . . . . . . . . . . . . . . . . . p. 28

5.1.2 Casos de testes . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 29

6 Conclusao p. 34

7 Trabalhos Futuros p. 36

Referencias p. 37

Apendice A -- Scripts de teste p. 39

Apendice B -- Telas dos sistemas p. 48

Apendice C -- Diagramas p. 49

Page 10: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Lista de Figuras

1 Areas de pesquisa em Computacao Afetiva . . . . . . . . . . . . . . . . p. 12

2 Neuroheadset Emotiv EPOC . . . . . . . . . . . . . . . . . . . . . . . . p. 17

3 Processo para eeconhecimento de emocoes . . . . . . . . . . . . . . . . p. 25

4 Etapas para realizar a Aquisicao dos Dados no EmotivFramework . . . p. 26

5 Caso de Teste 1: Grafico do log “AffectivEmoStateLog.xml” . . . . . . p. 29

6 Caso de Teste 1: Grafico do log “CognitivEmoStateLog.xml” . . . . . . p. 30

7 Caso de Teste 1: Grafico do log “ExpressivEmoStateLog.xml” . . . . . p. 30

8 Caso de Teste 2: Grafico do log “ExpressivEmoStateLog.xml” . . . . . p. 31

9 Caso de Teste 3: Grafico do log “ExpressivEmoStateLog.xml” . . . . . p. 31

10 Caso de Teste 4: Grafico do log “CognitivEmoStateLog.xml” . . . . . . p. 32

11 Caso de Teste 5: Grafico do log “AffectivEmoStateLog.xml” . . . . . . p. 32

12 Caso de Teste 5: Grafico do log “ExpressivEmoStateLog.xml” . . . . . p. 32

13 Caso de Teste 5: Grafico do log “GyroLog.xml” . . . . . . . . . . . . . p. 33

14 Tela do EmotivFrameworkClient . . . . . . . . . . . . . . . . . . . . . . p. 48

15 Tela principal do EmotivLoggerClient . . . . . . . . . . . . . . . . . . . p. 48

16 Diagrama de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

17 Diagrama de componentes . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

Page 11: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

Lista de Siglas

EEG Eletroencefalograma ou eletroencefalografia

BCI Brain-Computer Interface

HTTP Hypertext Transfer Protocol

TCP Transmission Control Protocol

XML Extensible Markup Language

IHC Interacao Homem-Computador

WCF Windows Communication Foundation

HTML Hypertext Markup Language

CHM Microsoft Compiled HTML Help

SDK Software Development Kit

EML EmoComposer Markup Language

Page 12: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

8

1 Introducao

1.1 Motivacao

Diversos estudos na area psicologica e de neurociencia mostram que as emocoes desem-

penham um papel fundamental na cognicao humana, tomadas de decisao, aprendizado,

interacao humana, percepcao e inteligencia (AHN; PICARD, 2005). Muito ja foi estudado

sobre a teoria das emocoes na Psicologia, e existem diversas teorias que tentam mostrar

como as emocoes surgem e que fatores contribuem para esse surgimento. A Computacao

Afetiva pode ser tratada como uma area que une a Ciencia da Computacao, a Psicologia

e as Ciencias Biologicas, pois ela estuda a computacao que esta relacionada as emocoes.

Muitos avancos na teoria das emocoes e cognicao ainda poderao ser alcancados, com

estudos que passam pela area psicologica e/ou biologicas.

Quanto mais interativa uma aplicacao e, mais chances de satisfazer o usuario ela

possui, ja que essa interacao e de extrema importancia. Para e conseguir mapear os

dados emocionais de um usuario e necessario coletar dados do mesmo, os quais podem

ser fisiologicos ou nao e, nesse momento, diversas tecnologias da area biologica poderao

ter importancia, pois com elas e possıvel coletar dados como pressao sanguınea, dados

das correntes eletricas desenvolvidas no encefalo (EEG), dentre outros. Alem de dados fi-

siologicos, tambem podem ser utilizados dados biometricos como, por exemplo, impressoes

digitais ou expressoes faciais.

Com o avanco da tecnologia, algumas empresas tem comecado a investir em disposi-

tivos que coletem dados que possam ser utilizados para mapear estados emotivos como,

por exemplo, os dispositivos BCI, que podem ser utilizados na area de jogos digitais. Uma

dessas empresas, foi a Emotiv Systems, que desenvolveu um capacete que detecta a ativi-

dade cerebral do usuario utilizando eletroencefalografia 1 por meio de sensores externos

ao longo do couro cabeludo, que captam as ondas eletricas em varias partes da superfıcie

do cortex cerebral.

1Eletroencefalografia ou EEG e uma medida de ondas cerebrais.

Page 13: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

9

1.2 Justificativa

Um dos grandes objetivos da Computacao Afetiva e fazer com que o computador

adapte-se ao usuario. Independente do computador, em um interacao normal o usuario

tem que adaptar-se a sua linguagem, ao seu sistema operacional, ou seja, adaptar-se ao

computador. Atraves dessa area, esse paradigma seria alterado e o computador se adap-

taria ao usuario, entendendo como o mesmo se sente e, atraves do seu estado emocional,

tomaria decisoes para influenciar positivamente a interacao entre o homem e a maquina.

Cada vez mais, com o surgimento de novas tecnologias, alguns paradigmas estao sendo

quebrados, como por exemplo, poucas pessoas imaginariam que em 2010, estariamos

andando pela rua com celulares conectados a internet, ou entao acessando sites atraves

da televisao, e tambem controlando jogos atraves de movimentos como no Nintendo Wii

ou no Kinect da Microsoft.

Mesmo nao imaginando que essas tecnologias estariam presentes em nossa realidade,

ha muito tempo os homens pensavam em tecnologias avancadas na ficcao. Varios exemplos

em que computadores ou robos sao dotados de emocao podem ser citados. Filmes como

2001: Uma Odisseia no Espaco, Exterminador do Futuro, Jornada nas Estrelas, Wall-E

e Eu Robo sao alguns desses exemplos existentes.

Com essas tecnologias em maos, e possıvel realizar uma serie de avancos em diversas

areas de conhecimento. Uma dessas areas e o Reconhecimento de Emocoes, que torna

possıvel uma aplicacao identificar o estado emocional de um usuario, e adaptar sua e-

xecucao, de modo a deixar o usuario mais confortavel. A princıpio, o uso de dispositivos

externos como uma BCI, por exemplo, nao e simples. E necessario muita pesquisa sobre o

dispositivo, para assim conseguir desenvolver aplicacoes que se comuniquem com o mesmo,

e apos isso, interpretar os dados coletados e realizar a modelagem. Para diminuir o tempo

de desenvolvimento, e ajudar para que mais pessoas nao tenham os mesmos problemas ao

tentarem criar aplicacoes que facam essa comunicacao, e util que esse de tipo de aplicacao

seja desenvolvida. Essa dificuldade em se ter aplicacoes que facam essa comunicacao e a

justificativa principal deste estudo.

1.3 Objetivos gerais

Este estudo tem como objetivo produzir um framework que permita a conexao com

um dispositivo BCI, que no caso deste trabalho, sera o neuroheadset EPOC da empresa

Page 14: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

10

Emotiv Systems e seu simulador. Esse framework funcionara como um servico Windows,

que e executado em segundo plano pelo sistema operacional, sempre pronto a receber

conexoes de outros aplicativos que desejem utilizar os servicos fornecidos por ele. As

conexoes feitas nesse servico serao realizadas atraves de dois protocolos de comunicacao,

o HTTP e o TCP.

Como o dispositivo foi adquirido em sua versao comercial, assume-se que os testes de

validacao do hardware foram realizados pela propria empresa, nao sendo isso do escopo

dessa pesquisa.

1.4 Objetivos especıficos

Os objetivos especıficos sao os seguintes:

• Criacao de um framework que deve ser capaz de entender os dados captados pelo

neuroheadset e salva-los em arquivos de log.

• Criacao de um aplicativo cliente desse servico, onde o usuario escolhera entre conec-

tar no simulador ou no neuroheadset, e tambem permitira ao usuario controlar o

ponteiro do mouse utilizando o neuroheadset.

• Criacao de um outro aplicativo que realizara a leitura dos arquivos de log, no formato

XML, e criara graficos referente a esses dados.

Page 15: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

11

2 Trabalhos Relacionados

2.1 Computacao Afetiva

2.1.1 Introducao

Computacao Afetiva e a computacao que tem origiem, relaciona-se ou deliberadamente

influencia emocoes (PICARD, 1997). Desde antes do surgimento dessa area, o homem ja

imaginava computadores dotados de alguma emocao. Um exemplo classico disso esta no

filme 2001: Uma Odisseia no Espaco, lancado em 1968, onde o computador HAL 9000

possui suas proprias emocoes e toma decisoes baseado nelas. Apesar de toda a imaginacao

e ideias que surgiram nesses tempos, a computacao afetiva propriamente dita so nasceu

em meados dos anos 90. A publicacao principal dessa area de pesquisa e o artigo feito por

Picard (1995), dita mae da Computacao Afetiva. Essa area surgiu atraves de estudos da

Psicologia e Neurociencia que indicam que a emocao e a experiencia emocional tem um

papel fundamental na cognicao humana, no aprendizado, nas tomadas de decisao (AHN;

PICARD, 2005), interacao humana, percepcao e inteligencia. Todos esses fatores combina-

dos com as habilidades que os computadores estao adquirindo em reconhecer e expressar

afeto abriram novas areas de pesquisa, e assim nasceu a Computacao Afetiva. Com o

passar do tempo, novos modelos foram sugeridos para reconhecimento de emocoes hu-

manas pelo computador e aplicacoes teoricas e praticas foram descritas para aprendizado,

interacao homem computador, recuperacao de informacao perceptual, artes e entreteni-

mento, saude e maquinas inteligentes. Segundo Picard (1995), avancos significativos na

teoria da emocao e cognicao dependem do desenvolvimento da computacao afetiva, es-

pecialmente na forma de wearable computers. A interacao dos computadores com seus

usuarios e de extrema importancia, e a maioria desses nao e especialista, ou tem bons

conhecimentos de computacao, ou nao tem tempo, ou desejo de aprender a utilizar a ajuda

de um computador. Com as emocoes sendo transmitidas aos computadores, pretende-se

ajudar a enderecar melhor os problemas de interacao como sistemas complexos, deixando

essas interacoes mais suaves.

Page 16: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

12

Pode-se considerar o componente mais importante de um sistema afetivo o usuario

emotivo. Qualquer usuario que tenha emocoes e tome decisoes, ou realize acoes baseadas

nelas. A comunicacao entre humanos e estudada na psicologia, e e um dos assuntos

basicos explorados quando a Computacao Afetiva e considerada. A Figura 1 apresenta

um esquema que exemplifica as diversas areas que formam a Computacao Afetiva.

Figura 1: Areas de pesquisa em Computacao Afetiva

2.1.2 Emocoes

As emocoes desempenham um papel importante em nossas interacoes com pessoas e

computadores todos os dias, elas sao o que fazem nossas interacoes humanas (PETER et

al., 2007). E importante frisar o tanto que as emocoes interferem nas nossas interacoes,

comportamento, linguagem corporal, todas as acoes e movimentos. Por exemplo, para

uma pessoa americana de bom humor e muito provavel que durante um dialogo, ela

escute “presents” ao inves de “presence”, ou entao, caso esteja de mau humor, escute

“banned” ao inves de “band” (PICARD, 2000b) (PICARD, 2000a).

A teoria das emocoes e um campo amplo e interdisciplinar de estudo. Na area da

Psicologia, existem teorias que sao classicas e bastante difundidas, como por exemplo, a

teoria de James-Lange (CANNON, 1927), que faz o estudo das emocoes baseado em como

o cerebro interpreta determinadas situacoes.

Page 17: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

13

2.1.2.1 Reconhecimento de emocoes

Segundo Kaiser e Oertel (2006), diversas tecnologias para o reconhecimento de emocoes,

como cameras, medidores de pressao, sensores de tensao de musculos, microfones, entre

outras sao necessarias para alcancar um dos principais objetivos, e tambem o primeiro

passo, para se construir aplicacoes da Computacao Afetiva. Uma forma que muitos

pesquisadores utilizam para tentar reconhecer e analisar as emocoes do ser humano e

atraves da fala. A fala e o meio principal de comunicacao entre humanos, e nao sao im-

portantes apenas sons e palavras (HE et al., 2009). Falamos emocionalmente, percebemos

outras emocoes e comunicamos emocionalmente (BURKHARDT et al., 2009). Para recon-

hecimento atraves de fala, He et al. (2009) cita uma tecnica que utiliza de espectogramas,

que sao descricoes compactas e altamente eficientes para representacao de informacoes

contidas na onda sonora. Outra forma utilizada para analisar os estımulos emocionais e

coletar dados fisiologicos da pessoa como, pressao sanguınea, ou dados de um eletroence-

falograma. Spiridon e Fairclough (2009) utilizaram esses recursos para realizar testes

com deteccao de raiva. Alem da linguagem falada, a escrita tambem e de interesse dos

pesquisadores. Alguns aplicativos voltados para o reconhecimento de emocoes atraves da

fala foram criados e como exemplo disso, existe o EmoText (OSHERENKO, 2009), que e um

aplicativo com o objetivo de reconhecer o significado emocional de uma sentenca passada

como parametro de entrada para o sistema.

Uma grande dificuldade ao se tentar utilizar a fala no reconhecimento de emocoes e

coletar os dados. Para isso, existem bases de dados que sao utilizadas para realizar testes

de reconhecimento, principalmente de voz, como as que foram utilizadas por Eyben,

Wollmer e Schuller (2009), no desenvolvimento de um toolkit para reconhecimento de

afeto, o openEAR. Para que os dados coletados sejam de qualidade, e importante analisar

cinco fatores citados por Picard, Vyzas e Healey (2001):

• A emocao e induzida pela pessoa ou por algum evento externo?

• A pessoa esta em um ambiente de laboratorio ou no mundo real?

• Uma expressao externa ou um sentimento interno e enfatizado?

• A pessoa sabe da gravacao?

• A pessoa sabe que e um experimento sobre emocoes?

A combinacao mais natural desses fatores, apesar de todas as questoes de privacidade

que sao envolvidas, seria onde a emocao da pessoa acontece como circunstancia de um

Page 18: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

14

evento, no mundo real, enfatizado por um sentimento interno, sem que ela soubesse que

esta sendo gravada, e que o experimento seja sobre emocoes humanas (PICARD; VYZAS;

HEALEY, 2001). Pela dificuldade de se alcancar tal situacao para a captura de dados,

cientistas tem estudado diversas formas para que situacoes oportunistas sejam criadas

como, um filme que desperte algum sentimento no espectador.

Para Picard (1997), o reconhecimento de emocoes pode ser melhor interpretado com

uma inferencia de estados emotivos a partir de observacoes de expressoes ou comporta-

mentos em uma determinada situacao.

2.1.2.2 Sıntese de emocoes

Um dos pressupostos da Computacao Afetiva e que os computadores tenham a capaci-

dade de reconhecer e de inferir aspectos afetivos como se fossem observadores em terceira

pessoa. Desse modo, quando necessario, e preciso sintetizar essas emocoes (LONGHI;

BERCHT; BEHAR, 2007). Um estudo muito interessante feito por Park et al. (2006), e o

de um robo que consegue expressar estados afetivos de forma combinada, assim como os

humanos, baseado na teoria cognitiva e na neurociencia.

2.1.3 Computacao Afetiva na interacao homem-computador

Pode-se dizer que alem da Inteligencia Artificial, que e bastante utilizada em sistemas

para que eles possam aprender a funcionar de formas diferentes para usuarios diferentes, a

IHC e a area para onde a Computacao Afetiva esta mais voltada. Algumas maquinas sao

uteis como ferramentas rıgidas, sem a necessidade de emocao, e e melhor mante-las assim.

Entretanto, existem situacoes onde a IHC pode ser melhorada com as maquinas que se

adaptem naturalmente aos usuarios, onde a comunicacao sobre quando, onde, como e o

quao importante e se adaptar; envolve informacoes emocionais, possivelmente, incluindo

expressoes de frustracao, confusao, desgosto, ou interesse. A Computacao Afetiva expande

a interacao entre o homem e o computador incluindo a comunicacao emocional junto com

o significado apropriado do tratamento da informacao afetiva (PICARD, 1999). Segundo

Picard (1999), os quatro alvos que a Computacao Afetiva tem o objetivo de atingir na

IHC sao:

• Reduzir a frustracao do usuario;

• Permitir uma comunicacao confortavel da emocao do usuario;

Page 19: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

15

• Desenvolver infraestrutura e aplicacoes que tratam a informacao afetiva;

• Construir ferramentas que ajudem a desenvolver habilidades socio-emocionais.

Por ser uma area de pesquisa recente dentro da Computacao, ela ainda tem um grande

percurso pela frente, e tudo depende de como os cientistas irao continuar e aprofundar

suas pesquisas. Os futuros designers de computadores poderao muito bem continuar

desenvolvendo computadores que ignorem as emocoes do usuario, ou poderao assumir

o risco de criar maquinas que reconhecam as emocoes, as comuniquem e talvez ate as

“possuam”, pelo menos na forma em que elas possam ajudar/contribuir para a interacao

inteligente e as tomadas de decisao (PICARD, 2003).

2.1.3.1 Computacao Afetiva em ambientes de ensino virtuais

Diversas pesquisas foram feitas nessa area e diversas formas de se tratar e medir

estımulos emocionais foram propostas. Um dos ramos de pesquisa que a Computacao

Afetiva que tem grande utilidade e o ensino em ambientes virtuais. Para Longhi, Bercht

e Behar (2007), os processos de ensino e aprendizagem humana e o advento de novas

tecnologias para implantacao de salas de aulas e mundos virtuais ensejaram uma nova

interacao social mediada por computadores. Tradicionalmente, sistemas de aprendizado

virtual focam apenas o aprendizado, enquanto tutores humanos tambem se concentram

no componente emocional do aprendizado Lepper & Chabay(1988 apud Kaiser & Oertel,

2006). Kaiser e Oertel (2006) apresentaram um sensor para reconhecimento de emocoes na

forma de luva, com um receptor dos sinais que sao enviados pela mesma. Para classificar

as emocoes, e utilizada uma aproximacao dimensional baseada no modelo circumplexo de

Russell ou Russell’s circumplex model Russell(1980 apud Kaiser & Oertel, 2006). Outro

trabalho realizado em sistemas de aprendizado virtual foi feito por Longhi, Bercht e

Behar (2007), que consiste em reconhecimento de estados afetivos de um aluno dentro do

ambiente de aprendizagem ROODA (BEHAR; KIST; BITTENCOURT, 2001).

2.1.3.2 Computacao Afetiva em sistemas de vigilancia

Outra area que tem grande futuro na Computacao Afetiva e a de sistemas de vigilancia.

O ponto mais fraco em um sistema de vigilancia, o que nao e de se surpreender, sao as

pessoas que monitoram as cameras (BULLINGTON, 2005). Embora seja praticamente im-

possıvel retirar operadores dos sistemas de seguranca, existem metodos que podem ser

utilizados para contornar esse problema, como por exemplo, as tecnologias biometricas.

Page 20: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

16

O reconhecimento de faces provavelmente e uma das tecnologias mais usadas por sistemas

de vigilancia, e e uma tecnologia que pode ser utilizada de varias formas pela Computacao

Afetiva. Bullington (2005) cita em seus estudos alguns cenarios onde tal tecnologia pode-

ria funcionar muito bem em conjunto com o reconhecimento de emocoes.

2.1.4 Questoes eticas

Outro ponto importante que deve ser analisado pela Computacao Afetiva e a questao

etica. Por causa da natureza psicologica invasiva da tecnologia de reconhecimento de

emocoes, alguns cenarios da area, principalmente aqueles referentes a sistemas de vigilancia,

possuem questoes de privacidade que deverao ser discutidas por todas as partes que en-

volvem o sistema para que exista uma satisfacao geral (BULLINGTON, 2005).

2.2 Novas interfaces

2.2.1 Brain-computer interfaces (BCI)

Uma BCI e um sistema de comunicacao que permite a pessoa transmitir sua intencao

para o mundo externo meramente pelo pensamento. Uma BCI funciona basicamente da

seguinte forma: a atividade cerebral do usuario e monitorada e os resultados sao expressos

em sinais cerebrais (como indicadores de atividade cerebral eletrica ou hemodinamica),

que sao processados a fim de obter caracterısticas que possam ser agrupadas em um vetor

de caracterısticas. Esse ultimo sera traduzido em um comando para executar uma acao

na aplicacao BCI (como por exemplo, mover o cursor do mouse na tela do computador)

(MOLINA; TSONEVA; NIJHOLT, 2009).

A BCI e o exemplo mais extremo de como a neurociencia pode mudar a trajetoria

da IHC (MINNERY; FINE, 2009). Essas interfaces sao projetadas para usar a atividade

cerebral como uma entrada adicional, permitindo a adaptacao da interface em tempo

real, de acordo com o estado mental do usuario (GIROUARD, 2009). Tambem voltadas

para o ambiente de jogos digitais, duas empresas vem se destacando criando BCIs baseadas

no eletroencefalograma, a Emotiv e a Neurosky. Esse e um mercado que tem futuro e,

provavelmente em pouco tempo, novas empresas estarao criando seus controles persona-

lizados para novos jogos que serao controlados pelo pensamento.

Page 21: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

17

2.2.2 Emotiv EPOC

A empresa Emotiv Systems desenvolveu um neuroheadset baseado nos avancos tec-

nologicos na neurotecnologia, que usa uma serie de sensores que captam sinais eletricos

produzidos no cerebro para detectar pensamentos, sentimentos e expressoes. As seguintes

caracterısticas estao presentes no Emotiv EPOC:

• 14 sensores salinos que oferecem um melhor posicionamento espacial.

• Giroscopio que gera um melhores informacoes de posicao para cursores e cameras.

• Alto desempenho sem fio, que oferece aos usuarios uma gama de movimentos.

• O receptor e USB e nao requer drivers personalizados.

• Comunicacao com receptor feita atraves de uma conexao sem fio que opera na

frequencia de 2.4 Ghz.

• Bateria de lıtio que prove 12 horas de uso contınuo.

A Figura 2 apresenta como e o neuroheadset.

Figura 2: Neuroheadset Emotiv EPOCFonte: www.emotiv.com

2.3 Frameworks

De acordo com Fayad e Schmidt (1997), um framework orientado a objeto e uma

tecnologia que reduz custos e aumenta a qualidade de uma aplicacao. Um framework

e reutilizavel, ou seja, uma aplicacao “semi-completa” que pode ser especializada para

produzir outras aplicacoes personalizadas.

Page 22: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

18

Ainda para Fayad e Schmidt (1997), os principais benefıcios de frameworks orien-

tados a objetos derivam da modularidade, reusabilidade e extensibilidade. Frameworks

melhoram a modularidade encapsulando detalhes volateis de implementacao em interfaces

estaveis. Isso ajuda a melhorar a qualidade do software, ja que facilita na localizacao de

impactos de mudancas de design e implementacao, reduzindo o esforco de entendimento e

manutencao do software. O uso de interfaces estaveis melhora a reusabilidade, definindo

componentes genericos que podem ser reaplicados ao se criar novas aplicacoes.

A reusabilidade aproveita o conhecimento de domınio do problema, a experiencia

de desenvolvedores para evitar a recriacao e revalidacao de solucoes ja implementadas,

e ainda melhora substancialmente a produtividade do programador, assim como a qua-

lidade, performance, confiabilidade e interoperabilidade do sistema. A extensibilidade

e essencial para garantir a customizacao de novas caracterısticas e servicos. (FAYAD;

SCHMIDT, 1997)

Page 23: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

19

3 EmotivFramework

O EmotivFramework foi desenvolvido na linguagem C#.NET da Microsoft, e utiliza

uma plataforma para sistemas distribuıdos chamada WCF. O WCF e um modelo unificado

de programacao e ambiente de execucao que visa a construcao de aplicacoes orientadas

a servicos. Aplicacoes que utilizam essa plataforma de comunicacao estao prontas para

fornecer servicos atraves de diversos protocolos de comunicacao, e no EmotivFramework,

sao utilizados dois protocolos: o HTTP e o TCP. Assim, qualquer aplicacao que deseje

se conectar ao EmotivFramework pode realizar a comunicacao dos dados atraves desses

dois protocolos.

Para a execucao do EmotivFramework, e necessario um computador que possua as

seguintes caracterısticas:

• Requisitos mınimos:

– Processador: 500 MHz

– Memoria RAM: 128 Mb

– Sistema Operacional: Microsoft Windows XP/Vista/2003/7

– Microsoft .NET Framework 3.0 ou superior instalado.

• Requisitos recomendados:

– Processador: 1 GHz

– Memoria RAM: 256 Mb

– Sistema Operacional: Microsoft Windows XP/Vista/2003/7

– Microsoft .NET Framework 3.0 ou superior instalado.

O EmotivFramework se divide em tres modulos que serao explicados nas secoes a

seguir.

Page 24: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

20

3.1 Nucleo do sistema

O nucleo do framework e onde todas as operacoes principais acontecem, como por

exemplo, as conexoes com o neuroheadset e o simulador, o processamento dos eventos

captados e o movimento do cursor do mouse na tela.

O nucleo do sistema e um servico que expoe metodos que podem ser acessados pelos

protocolos de comunicacao ditos anteriormente. Dentre esses metodos, sao exemplificados

os seguintes:

• ConnectToEmoComposer: Metodo responsavel por realizar a conexao com o simu-

lador EmoComposer

• ConnectToHeadset: Metodo responsavel por realizar a conexao com o neuroheadset

• ProcessEvents: Metodo principal, responsavel por processar os eventos capturados

no simulador ou no neuroheadset.

• ChangeGyroActivateStatus: Metodo que ativa ou desativa o controle do mouse na

tela pelo neuroheadset.

Como o EmotivFramework foi feito utilizando a tecnologia C#.NET 3.0, e necessario

que o Microsoft .NET Framework 3.0 (ou superior) esteja instalado na maquina em que

o framework funcionara.

3.1.1 Arquitetura do EmotivFramework

Os diagramas citados nesta secao estao localizados no Apendice C - Diagramas.

A organizacao do codigo do EmotivFramework baseia-se em quatro classes como e

mostrado no diagrama de classe, alem da biblioteca referente ao SDK do Emotiv EPOC.

A classe principal do sistema e a EmotivEpocHandler, que implementa a interface IEmo-

tivEpocHandler. Nessa interface, estao os codigos necessarios para os metodos implemen-

tados sejam visıveis em outras aplicacoes a partir do WCF. O uso de interface, nesse caso,

facilita a manutencao e organizacao do codigo, ja que os codigos necessarios para que

os metodos sejam visualizados em outras aplicacoes que utilizem o EmotivFramework so

estao na interface.

Existem tambem duas classes para os objetos de retorno dos metodos, que sao as

classes TOReturn e TOBatteryStatus. A classe TOReturn possui duas propriedades que

Page 25: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

21

representam o codigo e a mensagem de retorno do metodo. A classe TOBatteryStatus

herda essas duas propriedades de TOReturn, alem das que retornam os valores de nıvel

de bateria. As classes de retorno sao baseadas em um padrao de projeto proposto por

Martin Fowler (FOWLER, 2002), que e utilizado em situacoes que e necessario invocar um

metodo com mais de um parametro, ou retornar mais de um valor em um metodo.

Como foi explicado no inıcio do Capıtulo 3, a comunicacao que acontece entre o Emo-

tivFramework e o sistema que utiliza seus servicos e feita atraves de uma tecnologia do

Microsoft .NET Framework chamada Windows Communication Foundation. Essa co-

municacao acontece atraves de dois protocolos de comunicacao: HTTP e TCP. Dentro

do EmotivFramework, existem quatro componentes: EmotivFramework, EmotivFrame-

work.Logger, EmotivFramework.MouseControl e o DotNetEmotivSDK que e a biblioteca

disponibilizada pela empresa para uso do dispositivo Emotiv EPOC. A forma de orga-

nizacao dos componentes do sistema esta desenhada no diagrama de componentes.

3.2 Logger

O modulo de logger e responsavel por realizar os logs dos eventos capturados pelo

simulador ou neuroheadset. Esses logs sao gravados em arquivos separados para cada tipo

de evento capturado e sao tambem arquivos no formato XML. Os arquivos de log sao:

• AffectivEmoStateLog.xml: Responsavel por armazenar dados referentes a estados

afetivos captados.

• CognitivEmoStateLog.xml: Responsavel por armazenar dados referentes a pensa-

mentos captados.

• ExpressivEmoStateLog.xml: Responsavel por armazenar dados referentes a ex-

pressoes faciais.

• GyroLog.xml: Responsavel por armazenar dados referentes a mudanca de posicao

do mouse na tela.

3.2.1 Estrutura do arquivo de log

Foi escolhido o tipo XML para o arquivo de log pela facilidade de trabalho para

operacoes futuras, ja que um arquivo XML pode ser comparado com uma tabela em um

Page 26: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

22

banco de dados. Suas tags seriam as colunas e cada linha do arquivo representaria uma

linha na tabela.

A estrutura escolhida para o arquivo de log se baseia nas seguintes tags :

• Event: tag principal.

• type: essa tag informa qual o tipo de evento coletado pelo neuroheadset, como por

exemplo, um piscar de olho ou um sentimento de frustracao.

• value: a tag value contem o valor intensidade mensurado pelo neuroheadset.

• date: a tag date informa o horario do evento coletado no formato DD/MM/AAAA

hh:mm:ss.

• longTerm: essa longTerm e utilizada em eventos afetivos, e ela e utilizada para

analise de variacoes dos valores registrados nos eventos afetivos em longos perıodos

de tempo.

Existe tambem um arquivo de log com uma estrutura diferente, que e utilizado para

gravar os dados relacionados ao controle do ponteiro do mouse utilizando o Emotiv EPOC.

As tags utilizadas nesse arquivo estao descritas a seguir:

• Event: tag principal.

• type: essa tag informa qual o tipo de evento coletado pelo neuroheadset. No caso

desse arquivo, essa tag so sera preenchida com o valor “GyroEvent”.

• LastAxisX: posicao anterior do ponteiro do mouse no eixo X.

• LastAxisY: posicao anterior do ponteiro do mouse no eixo Y.

• NextAxisX: nova posicao do ponteiro do mouse no eixo X.

• NextAxisY: nova posicao do ponteiro do mouse no eixo Y.

• DeltaX: variacao entre a posicao antiga e a nova posicao no eixo X.

• DeltaY: variacao entre a posicao antiga e a nova posicao no eixo Y.

Os trechos de codigo XML 1 e XML 2 mostram exemplos de arquivos de log gerados

pelo EmotivFramework.

Page 27: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

23

XML 1 Exemplo de um arquivo de log do EmotivFramework<?xml version="1.0"?>

<AffectivLog>

<Event type="AFF_ENGAGEMENT_BOREDOM" value="0,43"

date="19/11/2010 18:24:34" />

<Event type="AFF_EXCITEMENT" value="0,7"

date="19/11/2010 18:24:34" longTerm="0,6" />

<Event type="AFF_FRUSTRATION" value="0,21"

date="19/11/2010 18:24:34" />

<Event type="AFF_MEDITATION" value="0,9"

date="19/11/2010 18:24:34" />

</AffectivLog>

XML 2 Exemplo de um arquivo de log “GyroLog.xml”<?xml version="1.0" ?>

<GyroLog>

<Event type="GyroEvent" LastAxisX="2240" LastAxisY="276"

NextAxisX="2241" NextAxisY="276" DeltaX="1" DeltaY="0" />

<Event type="GyroEvent" LastAxisX="2241" LastAxisY="276"

NextAxisX="2244" NextAxisY="276" DeltaX="3" DeltaY="0" />

<Event type="GyroEvent" LastAxisX="2244" LastAxisY="276"

NextAxisX="2240" NextAxisY="284" DeltaX="-4" DeltaY="-8" />

<Event type="GyroEvent" LastAxisX="2240" LastAxisY="284"

NextAxisX="2238" NextAxisY="279" DeltaX="-2" DeltaY="5" />

<Event type="GyroEvent" LastAxisX="2238" LastAxisY="279"

NextAxisX="2235" NextAxisY="274" DeltaX="-3" DeltaY="5" />

<Event type="GyroEvent" LastAxisX="2235" LastAxisY="274"

NextAxisX="2235" NextAxisY="269" DeltaX="0" DeltaY="5" />

</GyroLog>

Page 28: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

24

3.3 MouseControl

O modulo MouseControl e apenas responsavel por realizar a movimentacao do cursor

do mouse na tela do computador. Ele possui principalmente metodos que enviam sinais

de cliques dos botoes, e um metodo que realiza a troca de posicao do ponteiro na tela.

3.4 Documentacao

Todo o codigo do framework foi documentado para facilitar o desenvolvimento em

trabalhos futuros. Foram gerados dois arquivos de documentacao, contendo informacoes

dos metodos criados no EmotivFramework, os dois arquivos estao no formato HTML (de

paginas da web) e o formato CHM, que e formato de arquivos HTML de Help do Windows

compilados.

Page 29: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

25

4 Metodologia

Um dos grandes campos de pesquisa da Computacao Afetiva e o Reconhecimento de

Emocoes ou Estados Afetivos. Vale ressaltar que reconhecer emocoes nao significa que

computadores irao reconhecer ou mensurar estados afetivos, ja que emocoes sao estados

internos que envolvem diversas mudancas fısicas e atividades cognitivas que nao podem

ser completamente reconhecidas nem pela pessoa que possui tal estado afetivo (PICARD,

1997).

Pode-se dividir as etapas de reconhecimento de um estado emotivo, de uma forma

generica, em tres etapas que estao ilustradas na Figura 3:

Figura 3: Processo para eeconhecimento de emocoes

• Aquisicao de Dados: a aquisicao de dados e uma parte fundamental neste pro-

cesso, ja que e nessa parte que os dados necessarios para a interpretacao sao coleta-

dos do usuario e enviados para a etapa posterior. Caso essa etapa falhe, buscando

dados incorretos por exemplo, os processos de interpretacao e modelagem estarao

suscetıveis a falhas.

• Interpretacao: na etapa de interpretacao, todos os dados capturados serao inter-

pretados. A partir dessa interpretacao, sera escolhido um modelo de emocao que

melhor se encaixe para fazer a modelagem e assim inferir da forma mais correta qual

e o estado afetivo do usuario no momento da aquisicao dos dados.

• Modelagem: nessa etapa, os dados adquiridos e interpretados sao inseridos em um

modelo de emocao, como por exemplo o OCC (ORTONY; CLORE; COLLINS, 1988).

Page 30: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

26

Esse trabalho tem foco na fase de Aquisicao de Dados e para isso foi construıdo

o EmotivFramework, um framework capaz de coletar os dados de um dispositivo BCI

especıfico e gravar esses dados em um arquivo XML.

4.1 Aquisicao de dados

A Figura 4 descreve as etapas necessarias para a fase de Aquisicao de Dados.

Figura 4: Etapas para realizar a Aquisicao dos Dados no EmotivFrameworkFonte: Autor

As etapas de Aquisicao de Dados podem ser descritas da seguinte forma:

• Entrada de dados: a entrada de dados do EmotivFramework e feita atraves dos

dados coletados no neuroheadset EPOC.

• Leitura dos dados: os dados sao coletados atraves de sensores do neuroheadset e

interpretados pelo seu SDK. Com o auxılio desse SDK, o EmotivFramework inter-

preta os dados que o neuroheadset capta e grava em arquivos XML, que conterao

todas as informacoes sobre os dados recuperados.

• Saıda dos dados: a saıda dos dados e feita em um arquivo XML. Existe um

arquivo XML para cada tipo de dado reconhecido pelo neuroheadset, os tipos de

dados sao: dados de expressoes faciais, dados de atividades cognitivas e dados de

estados afetivos, alem dos dados do giroscopio contido no equipamento que permite

controlar o mouse na tela do computador.

Nos capıtulos seguintes serao apresentados os testes realizados para validar o frame-

work, assim como as conclusoes referentes ao trabalho.

Page 31: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

27

5 Resultados

Para realizar os testes do EmotivFramework foram desenvolvidas duas novas aplicacoes

nomeadas EmotivFrameworkClient e EmotivLoggerClient. A primeira e responsavel por

utilizar os servicos fornecidos pelo EmotivFramework, e a segunda e responsavel por ler os

arquivos gerados pelo EmotivFramework e a partir destes dados, gerar graficos na tela da

aplicacao. Alem das aplicacoes desenvolvidas, foi utilizado para a coleta de dados, apenas

o neuroheadset EPOC, sem uso de outros tipos de sensores fisiologicos para comparacao

dos sinais obtidos.

O EmotivFrameworkClient e o EmotivLoggerClient utilizam a plataforma Microsoft

.NET e a linguagem de programacao C# no ambiente de desenvolvimento Microsoft Visual

Studio 2010. Para geracao dos graficos, foi utilizada a biblioteca nPlot (HOWLETT et al.,

2003).

Para validacao dos resultados, foram feitas simulacoes atraves do simulador EmoCom-

poser fornecido pela empresa. Essas simulacoes utilizam documentos em uma linguagem

de marcacao chamada EML, que sao arquivos no formato XML interpretados pelo si-

mulador. Essa linguagem, assim como os scripts utilizados no teste, e os testes serao

explicadas na secao seguinte.

Em relacao a aquisicao historica dos sinais, o EmotivLoggerClient e responsavel pela

visualizacao dos graficos para analise, interpretacao e modelagem posteriores por profis-

sionais da area de saude. Nessa aplicacao, foram realizados testes com a visualizacao dos

sinais em um determinado intervalo de tempo, sendo que os graficos sao apresentados com

todas as amostras obtidas. Como a coleta de dados do neuroheadset ja foi validada, a

validacao dos resultados dessa aplicacao foi feita a partir da comparacao entre os dados

obtidos nos arquivos de log e os scripts criados para teste.

Page 32: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

28

5.1 Testes

5.1.1 EmoComposer Markup Language

A linguagem EML sao documentos XML que possuem as seguintes secoes:

• cabecalho: como a EML e uma implementacao generica de um documento XML

que usa codificacao UTF-8 e a lıngua norte americana, e necessario adicionar alem

do codigo normal de um cabecalho de um arquivo XML, o codigo responsavel por

identificar que e um arquivo EML. O cabecalho e formado pelas linhas 01 e 02 do

exemplo de um arquivo EML que esta representado no exemplo EML 1.

• config: secao responsavel por configurar os parametros globais para o comporta-

mento do simulador.

• sequence: secao responsavel por definir os eventos que serao detectados como se

estivessem ocorrendo no neuroheadset real.

Exemplo de um arquivo EML:

EML 1 Exemplo de arquivo EML<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE EML>

<EML version="1.0" language="en_US">

<sequence>

<time value="0s15t">

<cognitiv event="push" value ="0.85" />

<expressiv_upperface event="eyebrow_raised" value ="0.85" />

<expressiv_lowerface event="clench" value ="0.85" />

<expressiv_eye event="blink" value="1" />

<affectiv event="excitement_short_term" value="1" />

<affectiv event=excitement_long_term value=0.6 />

</time>

</sequence>

</EML>

Como ja foi dito, um arquivo EML pode ter duas secoes, a config e a sequence. No

exemplo EML 1, temos apenas a secao sequence, que e a mais importante do documento,

ja que e nela que todos os eventos sao simulados. Dentro da tag sequence existe uma a

tag time, que representa o tempo em que os eventos afetivos, cognitivos ou expressivos

irao acontecer. No exemplo, e simulado o evento cognitivo push, que e o pensamento de

Page 33: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

29

empurrar objetos, as expressoes eyebrow raised, clench e blink, que sao as expressoes de

levantar a sombrancelha, ranger de dentes e piscar os olhos respectivamente, e o evento

afetivo excitement, que e o sentimento de excitacao. Alguns eventos afetivos coletados pelo

Emotiv EPOC possuem dois valores, short-term e long-term, que sao valores referentes a

alteracoes afetivas em curtos e longos perıodos de tempo, respectivamente.

5.1.2 Casos de testes

Para realizar os testes no EmotivFramework, foram utilizados quatro exemplos de

scripts na linguagem EML para simular eventos afetivos, cognitivos e expressoes faciais.

Alem dos testes simulados, tambem foi realizada uma coleta de dados utilizando o neu-

roheadset durante aproximadamente 1 minuto e 50 segundos, e foram coletados dados

sobre o estado afetivo e cognitivo do usuario. Apos os testes e simulacoes realizadas,

foram gerados graficos utilizando o aplicativo EmotivLoggerClient para todos os arquivos

XML gerados pelo framework. Nos graficos apresentados nessa secao, o eixo X equivale

ao numero de amostras coletadas durante o teste e o eixo Y corresponde a intensidade do

estado emotivo, que varia de 0 ate 1. Todos os scripts utilizados nos testes, assim como

os arquivos XML gerados pelo EmotivFramework estao disponibilizados no Apendice A

desse trabalho.

O primeiro caso de teste utilizado e uma ampliacao do exemplo de arquivo EML

mostrado no inıcio da secao 5.1. Os mesmo eventos foram simulados com outros valores

por mais duas vezes durante a execucao do script. As Figuras 5, 6 e 7 apresentam os

graficos gerados pelo EmotivLoggerClient para o Caso de Teste 1.

Figura 5: Caso de Teste 1: Grafico do log “AffectivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

O segundo caso de teste utilizado simula a expressao facial relacionada ao sorriso. Essa

simulacao consiste que em um perıodo de tempo e simulada a formacao de um sorriso. A

Page 34: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

30

Figura 6: Caso de Teste 1: Grafico do log “CognitivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Figura 7: Caso de Teste 1: Grafico do log “ExpressivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Figura 8 apresenta o grafico gerado pelo EmotivLoggerClient para o Caso de Teste 2.

O terceiro caso de teste utilizado simula a expressao facial realicionada ao fixar dos

dentes. Essa simulacao consiste que em um perıodo de tempo a expressao facial sofra

variacoes na forca exercida pela formacao expressao. A Figura 9 apresenta o grafico

gerado pelo EmotivLoggerClient para o Caso de Teste 3.

O quarto caso de teste utilizado simula o pensamento cognitivo de empurrar algo.

A simulacao consiste em simular o evento cognitivo “empurrar” durante um perıodo de

tempo em que a “forca” do pensamento varie. A Figura 10 apresenta o grafico gerado

pelo EmotivLoggerClient para o Caso de Teste 4.

Para testar o uso do neuroheadset foram realizados testes relacionados as expressoes

faciais e controle do ponteiro do mouse. Nao foi possıvel realizar testes utilizando o re-

conhecimento de sentimentos e pensamentos (dados cognitivos e afetivos) devido a neces-

sidade de se criar um projeto de testes experimentais mais elaborados, feitos por profis-

sionais da area de saude e especıficos para cada tipo de estudo de caso clınico. Existe

tambem a necessidade dos testes serem realizados em ambientes controlados para se evitar

Page 35: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

31

Figura 8: Caso de Teste 2: Grafico do log “ExpressivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Figura 9: Caso de Teste 3: Grafico do log “ExpressivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

erros na coleta devido aos ruıdos externos. As Figuras 11, 12 e 13 mostram os resultados

da utilizacao do neuroheadset.

Atraves dos logs obtidos pelo EmotivFramework e os graficos gerados verificou-se que

todos os testes realizados tiveram resultados satisfatorios e, de acordo com o esperado.

Todos os objetivos propostos pelo estudo foram alcancados. Alem disso, foram verificados

se os graficos gerados pelo EmotivLoggerClient estavam de acordo com os arquivos XML

e EML.

Page 36: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

32

Figura 10: Caso de Teste 4: Grafico do log “CognitivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Figura 11: Caso de Teste 5: Grafico do log “AffectivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Figura 12: Caso de Teste 5: Grafico do log “ExpressivEmoStateLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Page 37: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

33

Figura 13: Caso de Teste 5: Grafico do log “GyroLog.xml”Fonte: Dados gerados pelo EmotivLoggerClient

Page 38: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

34

6 Conclusao

Atraves deste estudo, percebe-se a facilidade que o EmotivFramework pode propor-

cionar para pessoas que desejam desenvolver sistemas que interpretem, e ate modelem,

emocoes atraves do neuroheadset Emotiv EPOC. Um dos benefıcios que o uso de frame-

works proporciona e o fato de que sistemas que utilizam um framework evitam retrabalho,

ganhando horas de desenvolvimento que podem ser revertidas para o sistema que esta

sendo desenvolvido, com melhorias, testes ou outras atividades. Ate mesmo podera gerar

lucro para uma empresa, ja que a carga de trabalho sera menor. O EmotivFramework

e uma solucao que proporciona facilidades na aquisicao de dados atraves do neurohead-

set utilizado nos testes, e sua arquitetura ainda podera ser usada como base para outros

frameworks que tenham o objetivo de realizar essa etapa do Reconhecimendo de Emocoes

atraves de outros dispositivos externos.

Esse trabalho apresentou a proposta de um framework que realiza a etapa de aquisicao

de dados para o Reconhecimento de Emocoes utilizando o neuroheadset da empresa Emo-

tiv Systems. A solucao apresentada utiliza uma tecnologia que possibilita o uso deste

framework em aplicacoes que realizam comunicacao via protocolos TCP e HTTP, fazendo

dele um sistema que pode ser utilizado em diversas situacoes. Apesar das dificuldades

encontradas no desenvolvimento do projeto, como por exemplo, a escassez de fontes de

pesquisa que auxiliam no desenvolvimento utilizando o neuroheadset e tambem a dificul-

dade para testes, ja que e um dispositivo que e vendido apenas no Estados Unidos e o

suporte existente no site e apenas online.

A area da Computacao Afetiva e uma area muito promissora, que visa avancos tec-

nologicos antes imaginados apenas na ficcao, e cada vez mais esses avancos se aproximam

da vida real. Ao conseguir inferir dados corretos sobre as emocoes de um usuario enquanto

ele utiliza um computador, um leque de oportunidades de novas interacoes e aberto. O

futuro da Computacao que conhecemos pode estar relacionado interacoes desse tipo, em

que os usuarios se comunicarao com computadores da mesma forma que se comunicam

com pessoas, e tambem ficara vez mais difıcil fazer distincoes entre o que e humano,

Page 39: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

35

ou nao. Alem desse tipo de benefıcio, a Computacao Afetiva podera trazer benefıcios

tambem a pessoas que tenham certas deficiencias, ou problemas para se expressar. Um

exemplo disso sao os estudos onde essa area e aplicada para tratamento de pessoas com

autismo e cada vez mais, resultados positivos sao esperados.

Page 40: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

36

7 Trabalhos Futuros

Diversas sao as possibilidades de trabalhos futuros utilizando as aplicacoes criadas

neste Trabalho de Diplomacao. Alem implementacoes de novas funcionalidades dentro

do EmotivFramework, pode-se criar sistemas que utilizam o EmotivFramework e o neu-

roheadset como ferramentas para aquisicao de dados para o reconhecimento de emocoes

em usuarios. Exemplos novas funcionalidades ou melhorias que poderao ser realizadas em

trabalhos futuros utilizando este framework estao listadas a seguir:

• Implementacao de treinamento do sistema de coleta de dados de acordo com cada

usuario;

• Implementacao de um sistema que gere graficos em tempo real durante o uso do

neuroheadset ;

• Melhoramento da funcionalidade log, como por exemplo, registrar a qualidade dos

sinal entre o neuroheadset e o receptor, ou registrar a qualidade do sinal no sensores

que ficam ligados ao couro cabeludo;

• Criacao de sistemas que utilizem o framework como uma ferramenta para aquisicao

de dados;

• Implementacao de novas funcionalidades que permitem uma melhor interacao com o

neuroheadset para uso em outras areas, como por exemplo, criacao de jogos digitais;

• Criacao de aplicacoes que realizem certas interpretacoes dos sinais lidos automatica-

mente, como por exemplo, a interpretacao do significado de certos sinais coletados

em estados afetivos, cognitivos ou em expressoes;

• Implementacao de novas funcionalidades ou melhorias no EmotivLoggerClient e

EmotivFrameworkClient.

Page 41: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

37

Referencias

AHN, H.; PICARD, R. W. Affective-cognitive learning and decision making: Amotivational reward framework for affective agent. In: The 1st International Conferenceon Affective Computing and Intelligent Interaction. [S.l.: s.n.], 2005.

BEHAR, P. A.; KIST, S. d. O.; BITTENCOURT, J. d. V. Rooda rede cooperativade aprendizagem - uma plataforma de suporte para aprendizagem a distancia. RevistaInformatica na Educacao: Teoria e Pratica, v. 3, p. 87–96, 2001.

BULLINGTON, J. ’affective’ computing and emotion recognition systems: the future ofbiometric surveillance? ACM, New York, NY, USA, p. 95–99, 2005.

BURKHARDT, F. et al. Emotion detection in dialog systems: Applications, strategiesand challenges. In: Affective Computing and Intelligent Interaction and Workshops,2009. ACII 2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 –6.

CANNON, W. B. The James-Lange Theory of Emotions: A Critical Examination andan Alternative Theory. The American Journal of Psychology, University of Illinois Press,v. 39, n. 1/4, p. 106–124, 1927.

EYBEN, F.; WOLLMER, M.; SCHULLER, B. Openear; introducing the munichopen-source emotion and affect recognition toolkit. In: Affective Computing andIntelligent Interaction and Workshops, 2009. ACII 2009. 3rd International Conferenceon. [S.l.: s.n.], 2009. p. 1 –6.

FAYAD, M.; SCHMIDT, D. C. Object-oriented application frameworks. Commun. ACM,ACM, New York, NY, USA, v. 40, n. 10, p. 32–38, October 1997.

FOWLER, M. Patterns of Enterprise Application Architecture. Boston, MA, USA:Addison-Wesley Longman Publishing Co., Inc., 2002. ISBN 0321127420.

GIROUARD, A. Adaptive brain-computer interface. In: CHI ’09: Proceedings of the27th international conference extended abstracts on Human factors in computing systems.New York, NY, USA: ACM, 2009. p. 3097–3100. ISBN 978-1-60558-247-4.

HE, L. et al. Stress and emotion recognition using log-gabor filter analysis of speechspectrograms. In: Affective Computing and Intelligent Interaction and Workshops, 2009.ACII 2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 –6.

HOWLETT, M. et al. nPlot. 2003. Disponıvel em: <http://netcontrols.org/nplot/wiki/>.

KAISER, R.; OERTEL, K. Emotions in hci: an affective e-learning system. In:VisHCI ’06: Proceedings of the HCSNet workshop on Use of vision in human-computerinteraction. Darlinghurst, Australia, Australia: Australian Computer Society, Inc., 2006.p. 105–106.

Page 42: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

38

LONGHI, M.; BERCHT, M.; BEHAR, P. A. Reconhecimento de estados afetivos doaluno em ambientes virtuais de aprendizagem. 2007.

MINNERY, B. S.; FINE, M. S. Feature neuroscience and the future of human-computerinteraction. interactions, ACM, New York, NY, USA, v. 16, n. 2, p. 70–75, 2009. ISSN1072-5520.

MOLINA, G.; TSONEVA, T.; NIJHOLT, A. Emotional brain-computer interfaces. In:Affective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rdInternational Conference on. [S.l.: s.n.], 2009. p. 1 –9.

ORTONY, A.; CLORE, G. L.; COLLINS, A. The Cognitive Structure of Emotions. [S.l.]:Cambridge University Press, 1988. Hardcover. ISBN 0521353645.

OSHERENKO, A. Emotext: Applying differentiated semantic analysis in lexical affectsensing. In: Affective Computing and Intelligent Interaction and Workshops, 2009. ACII2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 –2.

PARK, G.-Y. et al. Neurocognitive affective system for an emotive robot. In: IntelligentRobots and Systems, 2006 IEEE/RSJ International Conference on. [S.l.: s.n.], 2006. p.2595 –2600.

PETER, C. et al. Emotion in hci. In: BCS-HCI ’07: Proceedings of the 21st British HCIGroup Annual Conference on HCI 2008. Swinton, UK, UK: British Computer Society,2007. p. 211–212. ISBN 978-1-902505-95-4.

PICARD, R. W. Affective computing. MIT Press, Cambridge, MA, USA, 1995.

PICARD, R. W. Affective computing. Cambridge, MA, USA: MIT Press, 1997. ISBN0-262-16170-2.

PICARD, R. W. Affective computing for hci. In: Proceedings of HCI International (the8th International Conference on Human-Computer Interaction) on Human-ComputerInteraction: Ergonomics and User Interfaces-Volume I. Hillsdale, NJ, USA: L. ErlbaumAssociates Inc., 1999. p. 829–833. ISBN 0-8058-3391-9.

PICARD, R. W. Affective perception. Communications of the ACM, v. 43, p. 50–51,2000.

PICARD, R. W. Synthetic emotion. IEEE Comput. Graph. Appl., IEEE ComputerSociety Press, Los Alamitos, CA, USA, v. 20, n. 1, p. 52–53, 2000. ISSN 0272-1716.

PICARD, R. W. Affective computing: challenges. Int. J. Hum.-Comput. Stud., AcademicPress, Inc., Duluth, MN, USA, v. 59, n. 1-2, p. 55–64, 2003. ISSN 1071-5819.

PICARD, R. W.; VYZAS, E.; HEALEY, J. Toward machine emotional intelligence:Analysis of affective physiological state. IEEE Trans. Pattern Anal. Mach. Intell., IEEEComputer Society, Washington, DC, USA, v. 23, n. 10, p. 1175–1191, 2001. ISSN0162-8828.

SPIRIDON, E.; FAIRCLOUGH, S. Detection of anger with and without control foraffective computing systems. In: Affective Computing and Intelligent Interaction andWorkshops, 2009. ACII 2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 –6.

Page 43: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

39

APENDICE A -- Scripts de teste

EML 2 Caso de Teste 1: Script EML teste.emo<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE EML>

<EML version="1.0" language="en_US">

<sequence>

<time value="0s15t">

<cognitiv event="push" value ="0.85" />

<expressiv_upperface event="eyebrow_raised" value ="0.85" />

<expressiv_lowerface event="clench" value ="0.85" />

<expressiv_eye event="blink" value="1" />

<affectiv event="excitement_short_term" value="1" />

<affectiv event="excitement_long_term" value="0.6" />

</time>

<time value="2s4t">

<cognitiv event="push" value ="0" />

<expressiv_upperface event="eyebrow_raised" value ="0.75" />

<expressiv_lowerface event="clench" value ="0.5" />

<expressiv_eye event="blink" value="1" />

<affectiv event="excitement_short_term" value="0.7" />

<affectiv event="excitement_long_term" value="0.6" />

</time>

<time value="3s6t">

<expressiv_upperface event="eyebrow_raised" value ="0.85" />

<expressiv_lowerface event="clench" value ="0.85" />

<expressiv_eye event="blink" value="1" />

<affectiv event="excitement_short_term" value="0.4" />

<affectiv event="excitement_long_term" value="0.5" />

</time>

</sequence>

</EML>

Page 44: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

40

XML 3 Caso de Teste 1: Arquivo de Log “AffectivEmoStateLog.xml”<?xml version="1.0"?>

<AffectivLog>

<Event type="AFF_ENGAGEMENT_BOREDOM" value="0"

date="19/11/2010 18:24:32" />

<Event type="AFF_EXCITEMENT" value="0"

date="19/11/2010 18:24:32" longTerm="0" />

<Event type="AFF_FRUSTRATION" value="0"

date="19/11/2010 18:24:32" />

<Event type="AFF_MEDITATION" value="0"

date="19/11/2010 18:24:32" />

<Event type="AFF_ENGAGEMENT_BOREDOM" value="0"

date="19/11/2010 18:24:33" />

<Event type="AFF_EXCITEMENT" value="1"

date="19/11/2010 18:24:33" longTerm="0,6" />

<Event type="AFF_FRUSTRATION" value="0"

date="19/11/2010 18:24:33" />

<Event type="AFF_MEDITATION" value="0"

date="19/11/2010 18:24:33" />

<Event type="AFF_ENGAGEMENT_BOREDOM" value="0"

date="19/11/2010 18:24:34" />

<Event type="AFF_EXCITEMENT" value="0,7"

date="19/11/2010 18:24:34" longTerm="0,6" />

<Event type="AFF_FRUSTRATION" value="0"

date="19/11/2010 18:24:34" />

<Event type="AFF_MEDITATION" value="0"

date="19/11/2010 18:24:34" />

<Event type="AFF_ENGAGEMENT_BOREDOM" value="0"

date="19/11/2010 18:24:35" />

<Event type="AFF_EXCITEMENT" value="0,4"

date="19/11/2010 18:24:35" longTerm="0,5" />

<Event type="AFF_FRUSTRATION" value="0"

date="19/11/2010 18:24:35" />

<Event type="AFF_MEDITATION" value="0"

date="19/11/2010 18:24:35" />

</AffectivLog>

XML 4 Caso de Teste 1: Arquivo de Log “CognitivEmoStateLog.xml”<?xml version="1.0"?>

<CognitivLog>

<Event type="COG_NEUTRAL" value="0" date="19/11/2010 18:24:32" />

<Event type="COG_PUSH" value="0,85" date="19/11/2010 18:24:33" />

<Event type="COG_PUSH" value="0" date="19/11/2010 18:24:34" />

</CognitivLog>

Page 45: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

41

XML 5 Caso de Teste 1: Arquivo de Log “ExpressivEmoStateLog.xml”<?xml version="1.0"?>

<ExpressivLog>

<Event type="EXP_BLINK" value="1" date="19/11/2010 18:24:33" />

<Event type="EXP_CLENCH" value="0,85" date="19/11/2010 18:24:33" />

<Event type="EXP_EYEBROW" value="0,85" date="19/11/2010 18:24:33" />

<Event type="EXP_BLINK" value="1" date="19/11/2010 18:24:34" />

<Event type="EXP_CLENCH" value="0,5" date="19/11/2010 18:24:34" />

<Event type="EXP_EYEBROW" value="0,75" date="19/11/2010 18:24:34" />

<Event type="EXP_BLINK" value="1" date="19/11/2010 18:24:35" />

<Event type="EXP_CLENCH" value="0,85" date="19/11/2010 18:24:35" />

<Event type="EXP_EYEBROW" value="0,85" date="19/11/2010 18:24:35" />

</ExpressivLog>

Page 46: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

42

EML 3 Caso de Teste 2: Script EML smile<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE EML>

<EML version="1.0" language="en_US">

<sequence>

<time value ="0s">

<expressiv_lowerface event="smile" value="0" />

</time>

<time value ="0s29t">

<expressiv_lowerface event="smile" value="0.03" />

</time>

<time value ="1s">

<expressiv_lowerface event="smile" value="0.2" />

</time>

<time value ="1s11t">

<expressiv_lowerface event="smile" value="0.66" />

</time>

<time value ="1s14t">

<expressiv_lowerface event="smile" value="0.65" />

</time>

<time value ="1s17t">

<expressiv_lowerface event="smile" value="1" />

</time>

<time value ="2s8t">

<expressiv_lowerface event="smile" value="0.86" />

</time>

<time value ="2s13t">

<expressiv_lowerface event="smile" value="0.5" />

</time>

<time value ="2s16t">

<expressiv_lowerface event="smile" value="0.24" />

</time>

<time value ="2s21t">

<expressiv_lowerface event="smile" value="0.01" />

</time>

<time value ="2s24t">

<expressiv_lowerface event="smile" value="0" />

</time>

</sequence>

</EML>

Page 47: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

43

XML 6 Caso de Teste 2: Arquivo de Log “ExpressivEmoStateLog.xml”<?xml version="1.0"?>

<ExpressivLog>

<Event type="EXP_SMILE" value="0,03" date="20/11/2010 12:25:19" />

<Event type="EXP_SMILE" value="0,2" date="20/11/2010 12:25:19" />

<Event type="EXP_SMILE" value="0,66" date="20/11/2010 12:25:19" />

<Event type="EXP_SMILE" value="0,65" date="20/11/2010 12:25:19" />

<Event type="EXP_SMILE" value="1" date="20/11/2010 12:25:19" />

<Event type="EXP_SMILE" value="0,86" date="20/11/2010 12:25:20" />

<Event type="EXP_SMILE" value="0,5" date="20/11/2010 12:25:20" />

<Event type="EXP_SMILE" value="0,24" date="20/11/2010 12:25:20" />

<Event type="EXP_SMILE" value="0,01" date="20/11/2010 12:25:21" />

</ExpressivLog>

Page 48: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

44

EML 4 Caso de Teste 3: Script EML clench<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE EML>

<EML version="1.0" language="en_US">

<sequence>

<time value ="0s8t">

<expressiv_lowerface event="clench" value="0.14" />

</time>

<time value ="0s12t">

<expressiv_lowerface event="clench" value="0.42" />

</time>

<time value ="0s26t">

<expressiv_lowerface event="clench" value="0.59" />

</time>

<time value ="0s27t">

<expressiv_lowerface event="clench" value="0.71" />

</time>

<time value="1s0t">

<expressiv_lowerface event="clench" value="0.72" />

</time>

<time value ="2s12t">

<expressiv_lowerface event="clench" value="0.98" />

</time>

<time value ="2s17t">

<expressiv_lowerface event="clench" value="0.94" />

</time>

<time value ="2s22t">

<expressiv_lowerface event="clench" value="0.96" />

</time>

<time value ="2s26t">

<expressiv_lowerface event="clench" value="0.91" />

</time>

<time value="3s0t">

<expressiv_lowerface event="clench" value="0.98" />

</time>

<time value ="3s24t">

<expressiv_lowerface event="clench" value="0.44" />

</time>

<time value ="3s29t">

<expressiv_lowerface event="clench" value="0.13" />

</time>

</sequence>

</EML>

Page 49: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

45

XML 7 Caso de Teste 3: Arquivo de Log “ExpressivEmoStateLog.xml”<?xml version="1.0"?>

<ExpressivLog>

<Event type="EXP_CLENCH" value="0,14" date="20/11/2010 14:48:33" />

<Event type="EXP_CLENCH" value="0,42" date="20/11/2010 14:48:33" />

<Event type="EXP_CLENCH" value="0,59" date="20/11/2010 14:48:33" />

<Event type="EXP_CLENCH" value="0,71" date="20/11/2010 14:48:33" />

<Event type="EXP_CLENCH" value="0,72" date="20/11/2010 14:48:34" />

<Event type="EXP_CLENCH" value="0,98" date="20/11/2010 14:48:35" />

<Event type="EXP_CLENCH" value="0,94" date="20/11/2010 14:48:35" />

<Event type="EXP_CLENCH" value="0,96" date="20/11/2010 14:48:35" />

<Event type="EXP_CLENCH" value="0,91" date="20/11/2010 14:48:35" />

<Event type="EXP_CLENCH" value="0,98" date="20/11/2010 14:48:36" />

<Event type="EXP_CLENCH" value="0,44" date="20/11/2010 14:48:36" />

<Event type="EXP_CLENCH" value="0,13" date="20/11/2010 14:48:37" />

</ExpressivLog>

Page 50: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

46

EML 5 Caso de Teste 4: Script EML push<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE EML>

<EML version="1.0" language="en_US">

<sequence>

<time value ="0s21t">

<cognitiv event="push" value ="0.000801743" />

</time>

<time value ="0s26t">

<cognitiv event="push" value ="0.108376" />

</time>

<time value ="0s30t">

<cognitiv event="push" value ="0.212551" />

</time>

<time value ="1s25t">

<cognitiv event="push" value ="0.646925" />

</time>

<time value ="1s30t">

<cognitiv event="push" value ="0.620057" />

</time>

<time value ="2s1t">

<cognitiv event="push" value ="0.570432" />

</time>

<time value ="2s5t">

<cognitiv event="push" value ="0.506706" />

</time>

<time value ="2s20t">

<cognitiv event="push" value ="0.392487" />

</time>

<time value ="2s22t">

<cognitiv event="push" value ="0.386782" />

</time>

<time value ="3s2t">

<cognitiv event="push" value ="0.433085" />

</time>

<time value ="3s6t">

<cognitiv event="push" value ="0.462805" />

</time>

<time value ="3s16t">

<cognitiv event="push" value ="0.533734" />

</time>

<time value="4s0t">

<cognitiv event="push" value ="0.689345" />

</time>

</sequence>

</EML>

Page 51: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

47

XML 8 Caso de Teste 4: Arquivo de Log “CognitivEmoStateLog.xml”<?xml version="1.0"?>

<CognitivLog>

<Event type="COG_NEUTRAL" value="0" date="20/11/2010 14:46:06" />

<Event type="COG_PUSH" value="0,000801743" date="20/11/2010 14:46:06" />

<Event type="COG_PUSH" value="0,108376" date="20/11/2010 14:46:06" />

<Event type="COG_PUSH" value="0,212551" date="20/11/2010 14:46:07" />

<Event type="COG_PUSH" value="0,646925" date="20/11/2010 14:46:07" />

<Event type="COG_PUSH" value="0,620057" date="20/11/2010 14:46:08" />

<Event type="COG_PUSH" value="0,570432" date="20/11/2010 14:46:08" />

<Event type="COG_PUSH" value="0,506706" date="20/11/2010 14:46:08" />

<Event type="COG_PUSH" value="0,392487" date="20/11/2010 14:46:08" />

<Event type="COG_PUSH" value="0,386782" date="20/11/2010 14:46:08" />

<Event type="COG_PUSH" value="0,433085" date="20/11/2010 14:46:09" />

<Event type="COG_PUSH" value="0,462805" date="20/11/2010 14:46:09" />

<Event type="COG_PUSH" value="0,533734" date="20/11/2010 14:46:09" />

<Event type="COG_PUSH" value="0,689345" date="20/11/2010 14:46:10" />

</CognitivLog>

Page 52: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

48

APENDICE B -- Telas dos sistemas

Figura 14: Tela do EmotivFrameworkClient

Figura 15: Tela principal do EmotivLoggerClient

Page 53: EmotivFramework: Um framework para auxílio no desenvolvimento de aplicações para Computação Afetiva utilizando o neuroheadset Emotiv EPOC

49

APENDICE C -- Diagramas

Figura 16: Diagrama de classe

Figura 17: Diagrama de componentes