Você está na página 1de 53

Marc Benvindo Guimares J nior lio a u

EmotivFramework: Um framework para aux lio no desenvolvimento de aplicaes co para Computao Afetiva utilizando o ca neuroheadset Emotiv EPOC

Belo Horizonte 5 de dezembro de 2010

Marc Benvindo Guimares J nior lio a u

EmotivFramework: Um framework para aux lio no desenvolvimento de aplicaes co para Computao Afetiva utilizando o ca neuroheadset Emotiv EPOC
Trabalho apresentado ao Instituto de Informtica da Pontif a cia Universidade Catlica de Minas Gerais, como requisito o parcial para a obteno do t ca tulo de Bacharel em Cincia da Computaao. e c

Orientador:

Rosilane R. Mota

Pontif cia Universidade Catolica de Minas Gerais Instituto de Informatica Departamento de Ciencia da Computacao

Belo Horizonte 5 de dezembro de 2010

Marc Benvindo Guimares Jnior lio a u EmotivFramework: Um framework para aux no desenvolvimento de lio aplicaoes para Computao Afetiva utilizando o neuroheadset Emotiv c ca EPOC Trabalho apresentado a disciplina Trabalho de Diplomaao II do Departamento de Cincia ` c e da Computaao da Pontif Universidade Catlica de Minas Gerais, c cia o Belo Horizonte, 2010.

Profa. Rosilane R. Mota Orientadora Pontif Universidade Catlica de Minas Gerais cia o Departamento de Cincia da Computaao e c

Prof. Alexei Manso Correa Machado Examinador Pontif Universidade Catlica de Minas Gerais cia o Departamento de Cincia da Computaao e c

Prof. Theldo Cruz Franqueira Examinador Pontif Universidade Catlica de Minas Gerais cia o Departamento de Cincia da Computaao e c

Agradecimentos

A minha me, um exemplo de fora e persistncia a c e na vida que jamais verei igual. Ao meu pai, um exemplo de prossional como poucos. A meus amigos Liana, Ana, Fernanda, Marina, Jssica, Louise, e Raquel, Willer, Andrey, Andr, Daniel, Rafael e a ale guns que devo ter esquecido, pessoas por quem tenho extremo respeito e carinho. Ao professor Marcelo Nery, que sempre me ajudou e claro, a minha orie entadora Rosilane, pela orientaao, dedicao, comc ca petncia e por ter me apresentado esta rea. Sem e a voc esse trabalho no seria poss e a vel.

Veni, vidi, vici Jlio Csar u e

Resumo
A Computaao Afetiva a rea que estuda a computaao que est relacionada as c e a c a emooes. Uma das areas de pesquisa relacionada a esses estudos do Reconhecimento de c e Emooes. Para inferir dados sobre estados emocionais de usurios necessrio passar por c a e a trs etapas: Aquisio de Dados, Interpretaao e Modelagem. Este estudo apresenta uma e ca c proposta de framework capaz de identicar dados coletados de um dispositivo externo, no caso, um neuroheadset da empresa Emotiv Systems. O objetivo desse framework realizar e a etapa de aquisiao de dados dentro de um processo de Reconhecimento de Emooes. c c Para validaao do sistema, foram simulados alguns estados emotivos atravs de scripts em c e uma linguagem que interpretada pelo simulador fornecido pela empresa. Atravs dos e e testes, concluiu-se que o uso de um framework para realizar a aquisiao de dados agiliza c e benecia o desenvolvimento de outros sistemas que faam uso da etapa de aquisiao de c c dados.

Abstract
Aective Computing is the area of study of emotion-related computing. One research area related to those studies is Emotion Recognition. To infer data about the emotional state of users, three steps are necessary: Data Acquisition, Interpretation and Modeling. This study presents a framework proposal that is able to identify data collected from an external device - in this case, an Emotiv Systems neuroheadset. The goal of this framework is to perform the acquisition step inside the Emotion Recognition process. To validate the system, some emotive states were simulated through scripts in a language that is interpreted by the simulator provided by the company. Through testing, it has been concluded that the use of a framework to perform the data acquisition speeds up and benets the development of other systems that use the data acquisition step.

Sumrio a

Lista de Figuras Lista de Siglas 1 Introduo ca 1.1 1.2 1.3 1.4 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca Justicativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos espec cos . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 8 p. 8 p. 9 p. 9 p. 10 p. 11 p. 11 p. 11 p. 12 p. 13 p. 14 p. 14 p. 15 p. 15 p. 16 p. 16 p. 16 p. 17

2 Trabalhos Relacionados 2.1 Computao Afetiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca 2.1.1 2.1.2 Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca Emoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . co 2.1.2.1 2.1.2.2 2.1.3 Reconhecimento de emooes . . . . . . . . . . . . . . . c S ntese de emooes . . . . . . . . . . . . . . . . . . . . c

Computaao Afetiva na interaao homem-computador . . . . . . c c 2.1.3.1 2.1.3.2 Computaao Afetiva em ambientes de ensino virtuais . c Computaao Afetiva em sistemas de vigilncia . . . . . c a

2.1.4 2.2

Questes ticas . . . . . . . . . . . . . . . . . . . . . . . . . . . o e

Novas interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 2.2.2 Brain-computer interfaces (BCI) . . . . . . . . . . . . . . . . . Emotiv EPOC . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3

Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

p. 17 p. 19 p. 20 p. 20 p. 21 p. 21 p. 24 p. 24 p. 25 p. 26 p. 27 p. 28 p. 28 p. 29 p. 34 p. 36 p. 37 p. 39 p. 48 p. 49

3 EmotivFramework 3.1 Ncleo do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . u 3.1.1 3.2 Arquitetura do EmotivFramework . . . . . . . . . . . . . . . . .

Logger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Estrutura do arquivo de log . . . . . . . . . . . . . . . . . . . .

3.3 3.4

MouseControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Documentao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ca

4 Metodologia 4.1 Aquisiao de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c

5 Resultados 5.1 Testes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 5.1.2 6 Concluso a 7 Trabalhos Futuros Referncias e Apndice A -- Scripts de teste e Apndice B -- Telas dos sistemas e Apndice C -- Diagramas e EmoComposer Markup Language . . . . . . . . . . . . . . . . . Casos de testes . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lista de Figuras
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Areas de pesquisa em Computao Afetiva . . . . . . . . . . . . . . . . ca Neuroheadset Emotiv EPOC . . . . . . . . . . . . . . . . . . . . . . . . Processo para eeconhecimento de emoes . . . . . . . . . . . . . . . . co Etapas para realizar a Aquisio dos Dados no EmotivFramework . . . ca Caso de Teste 1: Grco do log AectivEmoStateLog.xml . . . . . . a Caso de Teste 1: Grco do log CognitivEmoStateLog.xml . . . . . . a Caso de Teste 1: Grco do log ExpressivEmoStateLog.xml . . . . . a Caso de Teste 2: Grco do log ExpressivEmoStateLog.xml . . . . . a Caso de Teste 3: Grco do log ExpressivEmoStateLog.xml . . . . . a Caso de Teste 4: Grco do log CognitivEmoStateLog.xml . . . . . . a Caso de Teste 5: Grco do log AectivEmoStateLog.xml . . . . . . a Caso de Teste 5: Grco do log ExpressivEmoStateLog.xml . . . . . a Caso de Teste 5: Grco do log GyroLog.xml . . . . . . . . . . . . . a Tela do EmotivFrameworkClient . . . . . . . . . . . . . . . . . . . . . . Tela principal do EmotivLoggerClient . . . . . . . . . . . . . . . . . . . Diagrama de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Diagrama de componentes . . . . . . . . . . . . . . . . . . . . . . . . . p. 12 p. 17 p. 25 p. 26 p. 29 p. 30 p. 30 p. 31 p. 31 p. 32 p. 32 p. 32 p. 33 p. 48 p. 48 p. 49 p. 49

Lista de Siglas
EEG BCI HTTP TCP XML IHC WCF HTML CHM SDK EML Eletroencefalograma ou eletroencefalograa Brain-Computer Interface Hypertext Transfer Protocol Transmission Control Protocol Extensible Markup Language Interaao Homem-Computador c Windows Communication Foundation Hypertext Markup Language Microsoft Compiled HTML Help Software Development Kit EmoComposer Markup Language

Introduo ca

1.1

Motivao ca

Diversos estudos na area psicolgica e de neurocincia mostram que as emooes desem o e c penham um papel fundamental na cognio humana, tomadas de deciso, aprendizado, ca a interao humana, percepo e inteligncia (AHN; PICARD, 2005). Muito j foi estudado ca ca e a sobre a teoria das emooes na Psicologia, e existem diversas teorias que tentam mostrar c como as emooes surgem e que fatores contribuem para esse surgimento. A Computao c ca Afetiva pode ser tratada como uma area que une a Cincia da Computaao, a Psicologia e c e as Cincias Biolgicas, pois ela estuda a computaao que est relacionada as emooes. e o c a c Muitos avanos na teoria das emooes e cogniao ainda podero ser alcanados, com c c c a c estudos que passam pela rea psicolgica e/ou biolgicas. a o o Quanto mais interativa uma aplicaao , mais chances de satisfazer o usurio ela c e a possui, j que essa interaao de extrema importncia. Para e conseguir mapear os a c e a dados emocionais de um usurio necessrio coletar dados do mesmo, os quais podem a e a ser siolgicos ou no e, nesse momento, diversas tecnologias da area biolgica podero o a o a ter importncia, pois com elas poss coletar dados como presso sangu a e vel a nea, dados das correntes eltricas desenvolvidas no encfalo (EEG), dentre outros. Alm de dados e e e siolgicos, tambm podem ser utilizados dados biomtricos como, por exemplo, impresses o e e o digitais ou expresses faciais. o Com o avano da tecnologia, algumas empresas tem comeado a investir em disposic c tivos que coletem dados que possam ser utilizados para mapear estados emotivos como, por exemplo, os dispositivos BCI, que podem ser utilizados na rea de jogos digitais. Uma a dessas empresas, foi a Emotiv Systems, que desenvolveu um capacete que detecta a atividade cerebral do usurio utilizando eletroencefalograa a do crtex cerebral. o
1

por meio de sensores externos

ao longo do couro cabeludo, que captam as ondas eltricas em vrias partes da superf e a cie
Eletroencefalograa ou EEG uma medida de ondas cerebrais. e

1.2

Justicativa

Um dos grandes objetivos da Computaao Afetiva fazer com que o computador c e adapte-se ao usurio. Independente do computador, em um interao normal o usurio a ca a tem que adaptar-se a sua linguagem, ao seu sistema operacional, ou seja, adaptar-se ao computador. Atravs dessa rea, esse paradigma seria alterado e o computador se adape a taria ao usurio, entendendo como o mesmo se sente e, atravs do seu estado emocional, a e tomaria decises para inuenciar positivamente a interaao entre o homem e a mquina. o c a Cada vez mais, com o surgimento de novas tecnologias, alguns paradigmas esto sendo a quebrados, como por exemplo, poucas pessoas imaginariam que em 2010, estariamos andando pela rua com celulares conectados a internet, ou ento acessando sites atravs ` a e da televiso, e tambm controlando jogos atravs de movimentos como no Nintendo Wii a e e ou no Kinect da Microsoft. Mesmo no imaginando que essas tecnologias estariam presentes em nossa realidade, a h muito tempo os homens pensavam em tecnologias avanadas na cao. Vrios exemplos a c c a em que computadores ou robs so dotados de emoo podem ser citados. Filmes como o a ca 2001: Uma Odissia no Espao, Exterminador do Futuro, Jornada nas Estrelas, Wall-E e c e Eu Rob so alguns desses exemplos existentes. o a Com essas tecnologias em mos, poss realizar uma srie de avanos em diversas a e vel e c areas de conhecimento. Uma dessas areas o Reconhecimento de Emooes, que torna e c poss vel uma aplicaao identicar o estado emocional de um usurio, e adaptar sua ec a xecuao, de modo a deixar o usurio mais confortvel. A princ c a a pio, o uso de dispositivos externos como uma BCI, por exemplo, no simples. E necessrio muita pesquisa sobre o a e a dispositivo, para assim conseguir desenvolver aplicaes que se comuniquem com o mesmo, co e aps isso, interpretar os dados coletados e realizar a modelagem. Para diminuir o tempo o de desenvolvimento, e ajudar para que mais pessoas no tenham os mesmos problemas ao a tentarem criar aplicaoes que faam essa comunicao, util que esse de tipo de aplicao c c ca e ca seja desenvolvida. Essa diculdade em se ter aplicaoes que faam essa comunicao a c c ca e justicativa principal deste estudo.

1.3

Objetivos gerais

Este estudo tem como objetivo produzir um framework que permita a conexo com a um dispositivo BCI, que no caso deste trabalho, ser o neuroheadset EPOC da empresa a

10

Emotiv Systems e seu simulador. Esse framework funcionar como um servio Windows, a c que executado em segundo plano pelo sistema operacional, sempre pronto a receber e conexes de outros aplicativos que desejem utilizar os servios fornecidos por ele. As o c conexes feitas nesse servio sero realizadas atravs de dois protocolos de comunicao, o c a e ca o HTTP e o TCP. Como o dispositivo foi adquirido em sua verso comercial, assume-se que os testes de a validao do hardware foram realizados pela prpria empresa, no sendo isso do escopo ca o a dessa pesquisa.

1.4

Objetivos espec cos

Os objetivos espec cos so os seguintes: a Criaao de um framework que deve ser capaz de entender os dados captados pelo c neuroheadset e salv-los em arquivos de log. a Criaao de um aplicativo cliente desse servio, onde o usurio escolher entre conecc c a a tar no simulador ou no neuroheadset, e tambm permitir ao usurio controlar o e a a ponteiro do mouse utilizando o neuroheadset. Criaao de um outro aplicativo que realizar a leitura dos arquivos de log, no formato c a XML, e criar grcos referente a esses dados. a a

11

Trabalhos Relacionados

2.1
2.1.1

Computao Afetiva ca
Introduo ca

Computaao Afetiva a computaao que tem origiem, relaciona-se ou deliberadamente c e c inuencia emoes (PICARD, 1997). Desde antes do surgimento dessa rea, o homem j co a a imaginava computadores dotados de alguma emoao. Um exemplo clssico disso est no c a a lme 2001: Uma Odissia no Espao, lanado em 1968, onde o computador HAL 9000 e c c possui suas prprias emooes e toma decises baseado nelas. Apesar de toda a imaginaao o c o c e ideias que surgiram nesses tempos, a computao afetiva propriamente dita s nasceu ca o em meados dos anos 90. A publicaao principal dessa area de pesquisa o artigo feito por c e Picard (1995), dita me da Computaao Afetiva. Essa rea surgiu atravs de estudos da a c a e Psicologia e Neurocincia que indicam que a emoo e a experincia emocional tem um e ca e papel fundamental na cogniao humana, no aprendizado, nas tomadas de deciso (AHN; c a
PICARD,

2005), interaao humana, percepo e inteligncia. Todos esses fatores combinac ca e

dos com as habilidades que os computadores esto adquirindo em reconhecer e expressar a afeto abriram novas reas de pesquisa, e assim nasceu a Computaao Afetiva. Com o a c passar do tempo, novos modelos foram sugeridos para reconhecimento de emooes huc manas pelo computador e aplicaes tericas e prticas foram descritas para aprendizado, co o a interao homem computador, recuperao de informaao perceptual, artes e entretenica ca c mento, sade e mquinas inteligentes. Segundo Picard (1995), avanos signicativos na u a c teoria da emoao e cognio dependem do desenvolvimento da computao afetiva, esc ca ca pecialmente na forma de wearable computers. A interao dos computadores com seus ca usurios de extrema importncia, e a maioria desses no especialista, ou tm bons a e a a e e conhecimentos de computaao, ou no tm tempo, ou desejo de aprender a utilizar a ajuda c a e de um computador. Com as emoes sendo transmitidas aos computadores, pretende-se co ajudar a enderear melhor os problemas de interao como sistemas complexos, deixando c ca essas interaoes mais suaves. c

12

Pode-se considerar o componente mais importante de um sistema afetivo o usurio a emotivo. Qualquer usurio que tenha emoes e tome decises, ou realize aoes baseadas a co o c nelas. A comunicao entre humanos estudada na psicologia, e um dos assuntos ca e e bsicos explorados quando a Computaao Afetiva considerada. A Figura 1 apresenta a c e um esquema que exemplica as diversas areas que formam a Computaao Afetiva. c

Figura 1: Areas de pesquisa em Computaao Afetiva c

2.1.2

Emoes co

As emooes desempenham um papel importante em nossas interaoes com pessoas e c c computadores todos os dias, elas so o que fazem nossas interaes humanas (PETER et a co al., 2007). E importante frisar o tanto que as emooes interferem nas nossas interaoes, c c comportamento, linguagem corporal, todas as aes e movimentos. Por exemplo, para co uma pessoa americana de bom humor muito provvel que durante um dilogo, ela e a a escute presents ao invs de presence, ou ento, caso esteja de mau humor, escute e a banned ao invs de band (PICARD, 2000b) (PICARD, 2000a). e A teoria das emooes um campo amplo e interdisciplinar de estudo. Na area da c e Psicologia, existem teorias que so clssicas e bastante difundidas, como por exemplo, a a a teoria de James-Lange (CANNON, 1927), que faz o estudo das emooes baseado em como c o crebro interpreta determinadas situaoes. e c

13

2.1.2.1

Reconhecimento de emooes c

Segundo Kaiser e Oertel (2006), diversas tecnologias para o reconhecimento de emoes, co como cmeras, medidores de presso, sensores de tenso de msculos, microfones, entre a a a u outras so necessrias para alcanar um dos principais objetivos, e tambm o primeiro a a c e passo, para se construir aplicaoes da Computaao Afetiva. Uma forma que muitos c c pesquisadores utilizam para tentar reconhecer e analisar as emooes do ser humano c e atravs da fala. A fala o meio principal de comunicao entre humanos, e no so ime e ca a a portantes apenas sons e palavras (HE et al., 2009). Falamos emocionalmente, percebemos outras emooes e comunicamos emocionalmente (BURKHARDT et al., 2009). Para reconc hecimento atravs de fala, He et al. (2009) cita uma tcnica que utiliza de espectogramas, e e que so descrioes compactas e altamente ecientes para representaao de informaes a c c co contidas na onda sonora. Outra forma utilizada para analisar os est mulos emocionais e coletar dados siolgicos da pessoa como, presso sangu o a nea, ou dados de um eletroencefalograma. Spiridon e Fairclough (2009) utilizaram esses recursos para realizar testes com detecao de raiva. Alm da linguagem falada, a escrita tambm de interesse dos c e e e pesquisadores. Alguns aplicativos voltados para o reconhecimento de emooes atrves da c a fala foram criados e como exemplo disso, existe o EmoText (OSHERENKO, 2009), que um e aplicativo com o objetivo de reconhecer o signicado emocional de uma sentena passada c como parmetro de entrada para o sistema. a Uma grande diculdade ao se tentar utilizar a fala no reconhecimento de emoes co e coletar os dados. Para isso, existem bases de dados que so utilizadas para realizar testes a 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, importante analisar e cinco fatores citados por Picard, Vyzas e Healey (2001): A emoo induzida pela pessoa ou por algum evento externo? ca e A pessoa est em um ambiente de laboratrio ou no mundo real? a o Uma expresso externa ou um sentimento interno enfatizado? a e A pessoa sabe da gravaao? c A pessoa sabe que um experimento sobre emooes? e c A combinao mais natural desses fatores, apesar de todas as questes de privacidade ca o que so envolvidas, seria onde a emoao da pessoa acontece como circunstncia de um a c a

14

evento, no mundo real, enfatizado por um sentimento interno, sem que ela soubesse que est sendo gravada, e que o experimento seja sobre emooes humanas (PICARD; VYZAS; a c
HEALEY,

2001). Pela diculdade de se alcanar tal situaao para a captura de dados, c c

cientistas tm estudado diversas formas para que situaoes oportunistas sejam criadas e c como, um lme que desperte algum sentimento no espectador. Para Picard (1997), o reconhecimento de emoes pode ser melhor interpretado com co uma inferncia de estados emotivos a partir de observaes de expresses ou comportae co o mentos em uma determinada situaao. c 2.1.2.2 S ntese de emoes co

Um dos pressupostos da Computaao Afetiva que os computadores tenham a capacic e dade de reconhecer e de inferir aspectos afetivos como se fossem observadores em terceira pessoa. Desse modo, quando necessrio, preciso sintetizar essas emooes (LONGHI; a e c
BERCHT; BEHAR,

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

de um rob que consegue expressar estados afetivos de forma combinada, assim como os o humanos, baseado na teoria cognitiva e na neurocincia. e

2.1.3

Computao Afetiva na interao homem-computador ca ca

Pode-se dizer que alm da Inteligncia Articial, que bastante utilizada em sistemas e e e para que eles possam aprender a funcionar de formas diferentes para usurios diferentes, a a IHC a area para onde a Computaao Afetiva est mais voltada. Algumas mquinas so e c a a a uteis como ferramentas r gidas, sem a necessidade de emoo, e melhor mant-las assim. ca e e Entretanto, existem situaoes onde a IHC pode ser melhorada com as mquinas que se c a adaptem naturalmente aos usurios, onde a comunicaao sobre quando, onde, como e o a c quo importante se adaptar; envolve informaes emocionais, possivelmente, incluindo a e co expresses de frustraao, confuso, desgosto, ou interesse. A Computao Afetiva expande o c a ca a interaao entre o homem e o computador incluindo a comunicao emocional junto com c ca o signicado apropriado do tratamento da informaao afetiva (PICARD, 1999). Segundo c Picard (1999), os quatro alvos que a Computaao Afetiva tem o objetivo de atingir na c IHC so: a Reduzir a frustrao do usurio; ca a Permitir uma comunicaao confortvel da emoao do usurio; c a c a

15

Desenvolver infraestrutura e aplicaoes que tratam a informao afetiva; c ca Construir ferramentas que ajudem a desenvolver habilidades scio-emocionais. o Por ser uma rea de pesquisa recente dentro da Computao, ela ainda tem um grande a ca percurso pela frente, e tudo depende de como os cientistas iro continuar e aprofundar a suas pesquisas. Os futuros designers de computadores podero muito bem continuar a desenvolvendo computadores que ignorem as emooes do usurio, ou podero assumir c a a o risco de criar mquinas que reconheam as emoes, as comuniquem e talvez at as a c co e possuam, pelo menos na forma em que elas possam ajudar/contribuir para a interao ca inteligente e as tomadas de deciso (PICARD, 2003). a 2.1.3.1 Computao Afetiva em ambientes de ensino virtuais ca

Diversas pesquisas foram feitas nessa rea e diversas formas de se tratar e medir a est mulos emocionais foram propostas. Um dos ramos de pesquisa que a Computao ca Afetiva que tem grande utilidade o ensino em ambientes virtuais. Para Longhi, Bercht e e Behar (2007), os processos de ensino e aprendizagem humana e o advento de novas tecnologias para implantao de salas de aulas e mundos virtuais ensejaram uma nova ca interao social mediada por computadores. Tradicionalmente, sistemas de aprendizado ca virtual focam apenas o aprendizado, enquanto tutores humanos tambm se concentram e no componente emocional do aprendizado Lepper & Chabay(1988 apud Kaiser & Oertel, 2006). Kaiser e Oertel (2006) apresentaram um sensor para reconhecimento de emooes na c forma de luva, com um receptor dos sinais que so enviados pela mesma. Para classicar a as emooes, utilizada uma aproximaao dimensional baseada no modelo circumplexo de c e c Russell ou Russells 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 Computao Afetiva em sistemas de vigilncia ca a

Outra rea que tem grande futuro na Computao Afetiva a de sistemas de vigilncia. a ca e a O ponto mais fraco em um sistema de vigilncia, o que no de se surpreender, so as a a e a pessoas que monitoram as cmeras (BULLINGTON, 2005). Embora seja praticamente ima poss retirar operadores dos sistemas de segurana, existem mtodos que podem ser vel c e utilizados para contornar esse problema, como por exemplo, as tecnologias biomtricas. e

16

O reconhecimento de faces provavelmente uma das tecnologias mais usadas por sistemas e de vigilncia, e uma tecnologia que pode ser utilizada de vrias formas pela Computao a e a ca Afetiva. Bullington (2005) cita em seus estudos alguns cenrios onde tal tecnologia podea ria funcionar muito bem em conjunto com o reconhecimento de emooes. c

2.1.4

Questes ticas o e

Outro ponto importante que deve ser analisado pela Computaao Afetiva a questo c e a tica. Por causa da natureza psicolgica invasiva da tecnologia de reconhecimento de e o emooes, alguns cenrios da rea, principalmente aqueles referentes a sistemas de vigilncia, c a a a possuem questes de privacidade que devero ser discutidas por todas as partes que eno a volvem o sistema para que exista uma satisfaao geral (BULLINGTON, 2005). c

2.2
2.2.1

Novas interfaces
Brain-computer interfaces (BCI)

Uma BCI um sistema de comunicao que permite ` pessoa transmitir sua intenao e ca a c para o mundo externo meramente pelo pensamento. Uma BCI funciona basicamente da seguinte forma: a atividade cerebral do usurio monitorada e os resultados so expressos a e a em sinais cerebrais (como indicadores de atividade cerebral eltrica ou hemodinmica), e a que so processados a m de obter caracter a sticas que possam ser agrupadas em um vetor de caracter sticas. Esse ultimo ser traduzido em um comando para executar uma ao a ca na aplicao BCI (como por exemplo, mover o cursor do mouse na tela do computador) ca (MOLINA; TSONEVA; NIJHOLT, 2009). A BCI o exemplo mais extremo de como a neurocincia pode mudar a trajetria e e o da IHC (MINNERY; FINE, 2009). Essas interfaces so projetadas para usar a atividade a cerebral como uma entrada adicional, permitindo a adaptao da interface em tempo ca real, de acordo com o estado mental do usurio (GIROUARD, 2009). Tambm voltadas a e para o ambiente de jogos digitais, duas empresas vem se destacando criando BCIs baseadas no eletroencefalograma, a Emotiv e a Neurosky. Esse um mercado que tem futuro e, e provavelmente em pouco tempo, novas empresas estaro criando seus controles personaa lizados para novos jogos que sero controlados pelo pensamento. a

17

2.2.2

Emotiv EPOC

A empresa Emotiv Systems desenvolveu um neuroheadset baseado nos avanos tecc nolgicos na neurotecnologia, que usa uma srie de sensores que captam sinais eltricos o e e produzidos no crebro para detectar pensamentos, sentimentos e expresses. As seguintes e o caracter sticas esto presentes no Emotiv EPOC: a 14 sensores salinos que oferecem um melhor posicionamento espacial. Giroscpio que gera um melhores informaes de posiao para cursores e cmeras. o co c a Alto desempenho sem o, que oferece aos usurios uma gama de movimentos. a O receptor USB e no requer drivers personalizados. e a Comunicao com receptor feita atravs de uma conexo sem o que opera na ca e a frequncia de 2.4 Ghz. e Bateria de l que prov 12 horas de uso cont tio e nuo. A Figura 2 apresenta como o neuroheadset. e

Figura 2: Neuroheadset Emotiv EPOC Fonte: www.emotiv.com

2.3

Frameworks

De acordo com Fayad e Schmidt (1997), um framework orientado a objeto uma e tecnologia que reduz custos e aumenta a qualidade de uma aplicao. Um framework ca reutilizvel, ou seja, uma aplicao semi-completa que pode ser especializada para e a ca produzir outras aplicaes personalizadas. co

18

Ainda para Fayad e Schmidt (1997), os principais benef cios de frameworks orientados a objetos derivam da modularidade, reusabilidade e extensibilidade. Frameworks melhoram a modularidade encapsulando detalhes volteis de implementaao em interfaces a c estveis. Isso ajuda a melhorar a qualidade do software, j que facilita na localizaao de a a c impactos de mudanas de design e implementaao, reduzindo o esforo de entendimento e c c c manuteno do software. O uso de interfaces estveis melhora a reusabilidade, denindo ca a componentes genricos que podem ser reaplicados ao se criar novas aplicaoes. e c A reusabilidade aproveita o conhecimento de dom nio do problema, a experincia e de desenvolvedores para evitar a recriaao e revalidaao de soluoes j implementadas, c c c a e ainda melhora substancialmente a produtividade do programador, assim como a qualidade, performance, conabilidade e interoperabilidade do sistema. A extensibilidade essencial para garantir a customizaao de novas caracter e c sticas e servios. (FAYAD; c
SCHMIDT,

1997)

19

EmotivFramework

O EmotivFramework foi desenvolvido na linguagem C#.NET da Microsoft, e utiliza uma plataforma para sistemas distribu dos chamada WCF. O WCF um modelo unicado e de programao e ambiente de execuao que visa a construao de aplicaoes orientadas ca c c c a servios. Aplicaoes que utilizam essa plataforma de comunicao esto prontas para c c ca a fornecer servios atravs de diversos protocolos de comunicao, e no EmotivFramework, c e ca so utilizados dois protocolos: o HTTP e o TCP. Assim, qualquer aplicaao que deseje a c se conectar ao EmotivFramework pode realizar a comunicaao dos dados atravs desses c e dois protocolos. Para a execuao do EmotivFramework, necessrio um computador que possua as c e a seguintes caracter sticas: Requisitos m nimos: Processador: 500 MHz Mmoria RAM: 128 Mb e Sistema Operacional: Microsoft Windows XP/Vista/2003/7 Microsoft .NET Framework 3.0 ou superior instalado. Requisitos recomendados: Processador: 1 GHz Mmoria RAM: 256 Mb e Sistema Operacional: Microsoft Windows XP/Vista/2003/7 Microsoft .NET Framework 3.0 ou superior instalado. O EmotivFramework se divide em trs mdulos que sero explicados nas seoes a e o a c seguir.

20

3.1

N cleo do sistema u

O ncleo do framework onde todas as operaoes principais acontecem, como por u e c exemplo, as conexes com o neuroheadset e o simulador, o processamento dos eventos o captados e o movimento do cursor do mouse na tela. O ncleo do sistema um servio que expe mtodos que podem ser acessados pelos u e c o e protocolos de comunicaao ditos anteriormente. Dentre esses mtodos, so exemplicados c e a os seguintes: ConnectToEmoComposer: Mtodo responsvel por realizar a conexo com o simue a a lador EmoComposer ConnectToHeadset: Mtodo responsvel por realizar a conexo com o neuroheadset e a a ProcessEvents: Mtodo principal, responsvel por processar os eventos capturados e a no simulador ou no neuroheadset. ChangeGyroActivateStatus: Mtodo que ativa ou desativa o controle do mouse na e tela pelo neuroheadset. Como o EmotivFramework foi feito utilizando a tecnologia C#.NET 3.0, necessrio e a que o Microsoft .NET Framework 3.0 (ou superior) esteja instalado na mquina em que a o framework funcionar. a

3.1.1

Arquitetura do EmotivFramework

Os diagramas citados nesta seao esto localizados no Apndice C - Diagramas. c a e A organizaao do cdigo do EmotivFramework baseia-se em quatro classes como c o e mostrado no diagrama de classe, alm da biblioteca referente ao SDK do Emotiv EPOC. e A classe principal do sistema a EmotivEpocHandler, que implementa a interface IEmoe tivEpocHandler. Nessa interface, esto os cdigos necessrios para os mtodos implemena o a e tados sejam vis veis em outras aplicaoes a partir do WCF. O uso de interface, nesse caso, c facilita a manutenao e organizaao do cdigo, j que os cdigos necessrios para que c c o a o a os mtodos sejam visualizados em outras aplicaes que utilizem o EmotivFramework s e co o esto na interface. a Existem tambm duas classes para os objetos de retorno dos mtodos, que so as e e a classes TOReturn e TOBatteryStatus. A classe TOReturn possui duas propriedades que

21

representam o cdigo e a mensagem de retorno do mtodo. A classe TOBatteryStatus o e herda essas duas propriedades de TOReturn, alm das que retornam os valores de n e vel de bateria. As classes de retorno so baseadas em um padro de projeto proposto por a a Martin Fowler (FOWLER, 2002), que utilizado em situaes que necessrio invocar um e co e a mtodo com mais de um parmetro, ou retornar mais de um valor em um mtodo. e a e Como foi explicado no in do Cap cio tulo 3, a comunicaao que acontece entre o Emoc tivFramework e o sistema que utiliza seus servios feita atravs de uma tecnologia do c e e Microsoft .NET Framework chamada Windows Communication Foundation. Essa comunicao acontece atravs de dois protocolos de comunicaao: HTTP e TCP. Dentro ca e c do EmotivFramework, existem quatro componentes: EmotivFramework, EmotivFramework.Logger, EmotivFramework.MouseControl e o DotNetEmotivSDK que a biblioteca e disponibilizada pela empresa para uso do dispositivo Emotiv EPOC. A forma de organizaao dos componentes do sistema est desenhada no diagrama de componentes. c a

3.2

Logger

O mdulo de logger responsvel por realizar os logs dos eventos capturados pelo o e a simulador ou neuroheadset. Esses logs so gravados em arquivos separados para cada tipo a de evento capturado e so tambm arquivos no formato XML. Os arquivos de log so: a e a AectivEmoStateLog.xml: Responsvel por armazenar dados referentes a estados a afetivos captados. CognitivEmoStateLog.xml: Responsvel por armazenar dados referentes a pensaa mentos captados. ExpressivEmoStateLog.xml: Responsvel por armazenar dados referentes a exa presses faciais. o GyroLog.xml: Responsvel por armazenar dados referentes a mudana de posiao a c c 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 operaoes futuras, j que um arquivo XML pode ser comparado com uma tabela em um c a

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 frustraao. c value: a tag value contm o valor intensidade mensurado pelo neuroheadset. e date: a tag date informa o horrio do evento coletado no formato DD/MM/AAAA a hh:mm:ss. longTerm: essa longTerm utilizada em eventos afetivos, e ela utilizada para e e anlise de variaoes dos valores registrados nos eventos afetivos em longos per a c odos de tempo. Existe tambm um arquivo de log com uma estrutura diferente, que utilizado para e e gravar os dados relacionados ao controle do ponteiro do mouse utilizando o Emotiv EPOC. As tags utilizadas nesse arquivo esto descritas a seguir: a Event: tag principal. type: essa tag informa qual o tipo de evento coletado pelo neuroheadset. No caso desse arquivo, essa tag s ser preenchida com o valor GyroEvent. o a LastAxisX: posio anterior do ponteiro do mouse no eixo X. ca LastAxisY: posio anterior do ponteiro do mouse no eixo Y. ca NextAxisX: nova posiao do ponteiro do mouse no eixo X. c NextAxisY: nova posiao do ponteiro do mouse no eixo Y. c DeltaX: variaao entre a posiao antiga e a nova posiao no eixo X. c c c DeltaY: variaao entre a posiao antiga e a nova posiao no eixo Y. c c c Os trechos de cdigo XML 1 e XML 2 mostram exemplos de arquivos de log gerados o pelo EmotivFramework.

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>

24

3.3

MouseControl

O mdulo MouseControl apenas responsvel por realizar a movimentaao do cursor o e a c do mouse na tela do computador. Ele possui principalmente mtodos que enviam sinais e de cliques dos botes, e um mtodo que realiza a troca de posio do ponteiro na tela. o e ca

3.4

Documentao ca

Todo o cdigo do framework foi documentado para facilitar o desenvolvimento em o trabalhos futuros. Foram gerados dois arquivos de documentao, contendo informaes ca co dos mtodos criados no EmotivFramework, os dois arquivos esto no formato HTML (de e a pginas da web) e o formato CHM, que formato de arquivos HTML de Help do Windows a e compilados.

25

Metodologia

Um dos grandes campos de pesquisa da Computao Afetiva o Reconhecimento de ca e Emooes ou Estados Afetivos. Vale ressaltar que reconhecer emooes no signica que c c a computadores iro reconhecer ou mensurar estados afetivos, j que emooes so estados a a c a internos que envolvem diversas mudanas f c sicas e atividades cognitivas que no podem a 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 genrica, em trs etapas que esto ilustradas na Figura 3: e e a

Figura 3: Processo para eeconhecimento de emoes co

Aquisio de Dados: a aquisiao de dados uma parte fundamental neste proca c e cesso, j que nessa parte que os dados necessrios para a interpretaao so coletaa e a c a dos do usurio e enviados para a etapa posterior. Caso essa etapa falhe, buscando a dados incorretos por exemplo, os processos de interpretaao e modelagem estaro c a suscet veis a falhas. Interpretao: na etapa de interpretao, todos os dados capturados sero interca ca a pretados. A partir dessa interpretaao, ser escolhido um modelo de emoo que c a ca melhor se encaixe para fazer a modelagem e assim inferir da forma mais correta qual o estado afetivo do usurio no momento da aquisiao dos dados. e a c Modelagem: nessa etapa, os dados adquiridos e interpretados so inseridos em um a modelo de emoao, como por exemplo o OCC (ORTONY; CLORE; COLLINS, 1988). c

26

Esse trabalho tem foco na fase de Aquisiao de Dados e para isso foi constru c do o EmotivFramework, um framework capaz de coletar os dados de um dispositivo BCI espec co e gravar esses dados em um arquivo XML.

4.1

Aquisio de dados ca

A Figura 4 descreve as etapas necessrias para a fase de Aquisiao de Dados. a c

Figura 4: Etapas para realizar a Aquisio dos Dados no EmotivFramework ca Fonte: Autor As etapas de Aquisiao de Dados podem ser descritas da seguinte forma: c Entrada de dados: a entrada de dados do EmotivFramework feita atravs dos e e dados coletados no neuroheadset EPOC. Leitura dos dados: os dados so coletados atravs de sensores do neuroheadset e a e interpretados pelo seu SDK. Com o aux desse SDK, o EmotivFramework interlio preta os dados que o neuroheadset capta e grava em arquivos XML, que contero a todas as informaoes sobre os dados recuperados. c Sa da dos dados: a sa dos dados feita em um arquivo XML. Existe um da e arquivo XML para cada tipo de dado reconhecido pelo neuroheadset, os tipos de dados so: dados de expresses faciais, dados de atividades cognitivas e dados de a o estados afetivos, alm dos dados do giroscpio contido no equipamento que permite e o controlar o mouse na tela do computador. Nos cap tulos seguintes sero apresentados os testes realizados para validar o framea work, assim como as concluses referentes ao trabalho. o

27

Resultados

Para realizar os testes do EmotivFramework foram desenvolvidas duas novas aplicaoes c nomeadas EmotivFrameworkClient e EmotivLoggerClient. A primeira responsvel por e a utilizar os servios fornecidos pelo EmotivFramework, e a segunda responsvel por ler os c e a arquivos gerados pelo EmotivFramework e a partir destes dados, gerar grcos na tela da a aplicaao. Alm das aplicaes desenvolvidas, foi utilizado para a coleta de dados, apenas c e co o neuroheadset EPOC, sem uso de outros tipos de sensores siolgicos para comparaao o c dos sinais obtidos. O EmotivFrameworkClient e o EmotivLoggerClient utilizam a plataforma Microsoft .NET e a linguagem de programao C# no ambiente de desenvolvimento Microsoft Visual ca Studio 2010. Para gerao dos grcos, foi utilizada a biblioteca nPlot (HOWLETT et al., ca a 2003). Para validaao dos resultados, foram feitas simulaes atravs do simulador EmoComc co e poser fornecido pela empresa. Essas simulaes utilizam documentos em uma linguagem co de marcao chamada EML, que so arquivos no formato XML interpretados pelo sica a mulador. Essa linguagem, assim como os scripts utilizados no teste, e os testes sero a explicadas na seo seguinte. ca Em relaao ` aquisio histrica dos sinais, o EmotivLoggerClient responsvel pela c a ca o e a visualizaao dos grcos para anlise, interpretaao e modelagem posteriores por prosc a a c sionais da area de sade. Nessa aplicao, foram realizados testes com a visualizaao dos u ca c sinais em um determinado intervalo de tempo, sendo que os grcos so apresentados com a a todas as amostras obtidas. Como a coleta de dados do neuroheadset j foi validada, a a validao dos resultados dessa aplicaao foi feita a partir da comparaao entre os dados ca c c obtidos nos arquivos de log e os scripts criados para teste.

28

5.1
5.1.1

Testes
EmoComposer Markup Language

A linguagem EML so documentos XML que possuem as seguintes sees: a co cabealho: como a EML uma implementao genrica de um documento XML c e ca e que usa codicaao UTF-8 e a l c ngua norte americana, necessrio adicionar alm e a e do cdigo normal de um cabealho de um arquivo XML, o cdigo responsvel por o c o a identicar que um arquivo EML. O cabealho formado pelas linhas 01 e 02 do e c e exemplo de um arquivo EML que est representado no exemplo EML 1. a cong: seo responsvel por congurar os parmetros globais para o comportaca a a mento do simulador. sequence: seo responsvel por denir os eventos que sero detectados como se ca a a 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 j foi dito, um arquivo EML pode ter duas seoes, a cong e a sequence. No a c exemplo EML 1, temos apenas a seo sequence, que a mais importante do documento, ca e j que nela que todos os eventos so simulados. Dentro da tag sequence existe uma a a e a tag time, que representa o tempo em que os eventos afetivos, cognitivos ou expressivos iro acontecer. No exemplo, simulado o evento cognitivo push, que o pensamento de a e e

29

empurrar objetos, as expresses eyebrow raised, clench e blink, que so as expresses de o a o levantar a sombrancelha, ranger de dentes e piscar os olhos respectivamente, e o evento afetivo excitement, que o sentimento de excitao. Alguns eventos afetivos coletados pelo e ca Emotiv EPOC possuem dois valores, short-term e long-term, que so valores referentes a a alteraoes afetivas em curtos e longos per c 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 expresses faciais. o Alm dos testes simulados, tambm foi realizada uma coleta de dados utilizando o neue e roheadset durante aproximadamente 1 minuto e 50 segundos, e foram coletados dados sobre o estado afetivo e cognitivo do usurio. Aps os testes e simulaoes realizadas, a o c foram gerados grcos utilizando o aplicativo EmotivLoggerClient para todos os arquivos a XML gerados pelo framework. Nos grcos apresentados nessa seao, o eixo X equivale a c ao nmero de amostras coletadas durante o teste e o eixo Y corresponde a intensidade do u estado emotivo, que varia de 0 at 1. Todos os scripts utilizados nos testes, assim como e os arquivos XML gerados pelo EmotivFramework esto disponibilizados no Apndice A a e desse trabalho. O primeiro caso de teste utilizado uma ampliaao do exemplo de arquivo EML e c mostrado no in da seo 5.1. Os mesmo eventos foram simulados com outros valores cio ca por mais duas vezes durante a execuo do script. As Figuras 5, 6 e 7 apresentam os ca grcos gerados pelo EmotivLoggerClient para o Caso de Teste 1. a

Figura 5: Caso de Teste 1: Grco do log AectivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient O segundo caso de teste utilizado simula a expresso facial relacionada ao sorriso. Essa a simulaao consiste que em um per c odo de tempo simulada a formao de um sorriso. A e ca

30

Figura 6: Caso de Teste 1: Grco do log CognitivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

Figura 7: Caso de Teste 1: Grco do log ExpressivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient Figura 8 apresenta o grco gerado pelo EmotivLoggerClient para o Caso de Teste 2. a O terceiro caso de teste utilizado simula a expresso facial realicionada ao xar dos a dentes. Essa simulaao consiste que em um per c odo de tempo a expresso facial sofra a variaes na fora exercida pela formaao expresso. A Figura 9 apresenta o grco co c c a a gerado pelo EmotivLoggerClient para o Caso de Teste 3. O quarto caso de teste utilizado simula o pensamento cognitivo de empurrar algo. A simulaao consiste em simular o evento cognitivo empurrar durante um per c odo de tempo em que a fora do pensamento varie. A Figura 10 apresenta o grco gerado c a pelo EmotivLoggerClient para o Caso de Teste 4. Para testar o uso do neuroheadset foram realizados testes relacionados as expresses ` o faciais e controle do ponteiro do mouse. No foi poss realizar testes utilizando o rea vel 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 prossionais da rea de sade e espec a u cos para cada tipo de estudo de caso cl nico. Existe tambm a necessidade dos testes serem realizados em ambientes controlados para se evitar e

31

Figura 8: Caso de Teste 2: Grco do log ExpressivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

Figura 9: Caso de Teste 3: Grco do log ExpressivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient erros na coleta devido aos ru dos externos. As Figuras 11, 12 e 13 mostram os resultados da utilizaao do neuroheadset. c Atravs dos logs obtidos pelo EmotivFramework e os grcos gerados vericou-se que e a todos os testes realizados tiveram resultados satisfatrios e, de acordo com o esperado. o Todos os objetivos propostos pelo estudo foram alcanados. Alm disso, foram vericados c e se os grcos gerados pelo EmotivLoggerClient estavam de acordo com os arquivos XML a e EML.

32

Figura 10: Caso de Teste 4: Grco do log CognitivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

Figura 11: Caso de Teste 5: Grco do log AectivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

Figura 12: Caso de Teste 5: Grco do log ExpressivEmoStateLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

33

Figura 13: Caso de Teste 5: Grco do log GyroLog.xml a Fonte: Dados gerados pelo EmotivLoggerClient

34

Concluso a

Atravs deste estudo, percebe-se a facilidade que o EmotivFramework pode propore cionar para pessoas que desejam desenvolver sistemas que interpretem, e at modelem, e emooes atravs do neuroheadset Emotiv EPOC. Um dos benef c e cios que o uso de frameworks proporciona o fato de que sistemas que utilizam um framework evitam retrabalho, e ganhando horas de desenvolvimento que podem ser revertidas para o sistema que est a sendo desenvolvido, com melhorias, testes ou outras atividades. At mesmo poder gerar e a lucro para uma empresa, j que a carga de trabalho ser menor. O EmotivFramework a a uma soluao que proporciona facilidades na aquisiao de dados atravs do neuroheade c c e set utilizado nos testes, e sua arquitetura ainda poder ser usada como base para outros a frameworks que tenham o objetivo de realizar essa etapa do Reconhecimendo de Emooes c atravs de outros dispositivos externos. e Esse trabalho apresentou a proposta de um framework que realiza a etapa de aquisiao c de dados para o Reconhecimento de Emooes utilizando o neuroheadset da empresa Emoc tiv Systems. A soluao apresentada utiliza uma tecnologia que possibilita o uso deste c framework em aplicaoes que realizam comunicaao via protocolos TCP e HTTP, fazendo c c dele um sistema que pode ser utilizado em diversas situaoes. Apesar das diculdades c encontradas no desenvolvimento do projeto, como por exemplo, a escassez de fontes de pesquisa que auxiliam no desenvolvimento utilizando o neuroheadset e tambm a dicule dade para testes, j que um dispositivo que vendido apenas no Estados Unidos e o a e e suporte existente no site apenas online. e A rea da Computao Afetiva uma rea muito promissora, que visa avanos teca ca e a c nolgicos antes imaginados apenas na co, e cada vez mais esses avanos se aproximam o ca c da vida real. Ao conseguir inferir dados corretos sobre as emooes de um usurio enquanto c a ele utiliza um computador, um leque de oportunidades de novas interaes aberto. O co e futuro da Computao que conhecemos pode estar relacionado interaes desse tipo, em ca co que os usurios se comunicaro com computadores da mesma forma que se comunicam a a com pessoas, e tambm car vez mais dif fazer distinoes entre o que humano, e a cil c e

35

ou no. Alm desse tipo de benef a e cio, a Computaao Afetiva poder trazer benef c a cios tambm a pessoas que tenham certas decincias, ou problemas para se expressar. Um e e exemplo disso so os estudos onde essa area aplicada para tratamento de pessoas com a e autismo e cada vez mais, resultados positivos so esperados. a

36

Trabalhos Futuros

Diversas so as possibilidades de trabalhos futuros utilizando as aplicaes criadas a co neste Trabalho de Diplomao. Alm implementaes de novas funcionalidades dentro ca e co do EmotivFramework, pode-se criar sistemas que utilizam o EmotivFramework e o neuroheadset como ferramentas para aquisio de dados para o reconhecimento de emooes ca c em usurios. Exemplos novas funcionalidades ou melhorias que podero ser realizadas em a a trabalhos futuros utilizando este framework esto listadas a seguir: a Implementao de treinamento do sistema de coleta de dados de acordo com cada ca usurio; a Implementao de um sistema que gere grcos em tempo real durante o uso do ca a 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 cam ligados ao couro cabeludo; Criaao de sistemas que utilizem o framework como uma ferramenta para aquisiao c c de dados; Implementao de novas funcionalidades que permitem uma melhor interaao com o ca c neuroheadset para uso em outras areas, como por exemplo, criao de jogos digitais; ca Criaao de aplicaoes que realizem certas interpretaoes dos sinais lidos automaticac c c mente, como por exemplo, a interpretao do signicado de certos sinais coletados ca em estados afetivos, cognitivos ou em expresses; o Implementao de novas funcionalidades ou melhorias no EmotivLoggerClient e ca EmotivFrameworkClient.

37

Referncias e
AHN, H.; PICARD, R. W. Aective-cognitive learning and decision making: A motivational reward framework for aective agent. In: The 1st International Conference on Aective Computing and Intelligent Interaction. [S.l.: s.n.], 2005. BEHAR, P. A.; KIST, S. d. O.; BITTENCOURT, J. d. V. Rooda rede cooperativa de aprendizagem - uma plataforma de suporte para aprendizagem a distncia. Revista ` a Informtica na Educao: Teoria e Prtica, v. 3, p. 8796, 2001. a ca a BULLINGTON, J. aective computing and emotion recognition systems: the future of biometric surveillance? ACM, New York, NY, USA, p. 9599, 2005. BURKHARDT, F. et al. Emotion detection in dialog systems: Applications, strategies and challenges. In: Aective 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 and an Alternative Theory. The American Journal of Psychology, University of Illinois Press, v. 39, n. 1/4, p. 106124, 1927. EYBEN, F.; WOLLMER, M.; SCHULLER, B. Openear; introducing the munich open-source emotion and aect recognition toolkit. In: Aective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rd International Conference on. [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. 3238, 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 the 27th international conference extended abstracts on Human factors in computing systems. New York, NY, USA: ACM, 2009. p. 30973100. ISBN 978-1-60558-247-4. HE, L. et al. Stress and emotion recognition using log-gabor lter analysis of speech spectrograms. In: Aective 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 em: <http://netcontrols.org/nplot/wiki/>. vel KAISER, R.; OERTEL, K. Emotions in hci: an aective e-learning system. In: VisHCI 06: Proceedings of the HCSNet workshop on Use of vision in human-computer interaction. Darlinghurst, Australia, Australia: Australian Computer Society, Inc., 2006. p. 105106.

38

LONGHI, M.; BERCHT, M.; BEHAR, P. A. Reconhecimento de estados afetivos do aluno em ambientes virtuais de aprendizagem. 2007. MINNERY, B. S.; FINE, M. S. Feature neuroscience and the future of human-computer interaction. interactions, ACM, New York, NY, USA, v. 16, n. 2, p. 7075, 2009. ISSN 1072-5520. MOLINA, G.; TSONEVA, T.; NIJHOLT, A. Emotional brain-computer interfaces. In: Aective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rd International 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 dierentiated semantic analysis in lexical aect sensing. In: Aective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 2. PARK, G.-Y. et al. Neurocognitive aective system for an emotive robot. In: Intelligent Robots 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 HCI Group Annual Conference on HCI 2008. Swinton, UK, UK: British Computer Society, 2007. p. 211212. ISBN 978-1-902505-95-4. PICARD, R. W. Aective computing. MIT Press, Cambridge, MA, USA, 1995. PICARD, R. W. Aective computing. Cambridge, MA, USA: MIT Press, 1997. ISBN 0-262-16170-2. PICARD, R. W. Aective computing for hci. In: Proceedings of HCI International (the 8th International Conference on Human-Computer Interaction) on Human-Computer Interaction: Ergonomics and User Interfaces-Volume I. Hillsdale, NJ, USA: L. Erlbaum Associates Inc., 1999. p. 829833. ISBN 0-8058-3391-9. PICARD, R. W. Aective perception. Communications of the ACM, v. 43, p. 5051, 2000. PICARD, R. W. Synthetic emotion. IEEE Comput. Graph. Appl., IEEE Computer Society Press, Los Alamitos, CA, USA, v. 20, n. 1, p. 5253, 2000. ISSN 0272-1716. PICARD, R. W. Aective computing: challenges. Int. J. Hum.-Comput. Stud., Academic Press, Inc., Duluth, MN, USA, v. 59, n. 1-2, p. 5564, 2003. ISSN 1071-5819. PICARD, R. W.; VYZAS, E.; HEALEY, J. Toward machine emotional intelligence: Analysis of aective physiological state. IEEE Trans. Pattern Anal. Mach. Intell., IEEE Computer Society, Washington, DC, USA, v. 23, n. 10, p. 11751191, 2001. ISSN 0162-8828. SPIRIDON, E.; FAIRCLOUGH, S. Detection of anger with and without control for aective computing systems. In: Aective Computing and Intelligent Interaction and Workshops, 2009. ACII 2009. 3rd International Conference on. [S.l.: s.n.], 2009. p. 1 6.

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>

40

XML 3 Caso de Teste 1: Arquivo de Log AectivEmoStateLog.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>

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>

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" </time> <time value ="0s29t"> <expressiv_lowerface event="smile" </time> <time value ="1s"> <expressiv_lowerface event="smile" </time> <time value ="1s11t"> <expressiv_lowerface event="smile" </time> <time value ="1s14t"> <expressiv_lowerface event="smile" </time> <time value ="1s17t"> <expressiv_lowerface event="smile" </time> <time value ="2s8t"> <expressiv_lowerface event="smile" </time> <time value ="2s13t"> <expressiv_lowerface event="smile" </time> <time value ="2s16t"> <expressiv_lowerface event="smile" </time> <time value ="2s21t"> <expressiv_lowerface event="smile" </time> <time value ="2s24t"> <expressiv_lowerface event="smile" </time> </sequence> </EML>

value="0" />

value="0.03" />

value="0.2" />

value="0.66" />

value="0.65" />

value="1" />

value="0.86" />

value="0.5" />

value="0.24" />

value="0.01" />

value="0" />

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>

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>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

/>

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>

/> /> /> /> /> /> /> /> /> /> /> />

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>

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>

48

APENDICE B -- Telas dos sistemas

Figura 14: Tela do EmotivFrameworkClient

Figura 15: Tela principal do EmotivLoggerClient

49

APENDICE C -- Diagramas

Figura 16: Diagrama de classe

Figura 17: Diagrama de componentes