7/4/2014

Portal Fórum 7Masters Ferramentas Cursos online

Estudando uma interface neural |
Agenda Revista iMasters InterCon Faça Login / Cadastre-se

+ de 12.000 artigos técnicos publicados em 13 anos

Faça sua busca

DESIGN & UX

FRONT-END

DEV

BD

MOBILE

MARKETING

GESTÃO

APIS

SEARCH

INFRA

TECH

E-COMMERCE

ANALYTICS

Você está aqui:

Início

>

Gerência de TI

>

Tendências

>

Estudando uma interface neural

Tw eetar

20

1

Like

Share

20

TENDÊNCIAS

Estudando uma interface neural
15 de março de 2012 por Mauro Pichiliani

ÚLTIMAS NOTÍCIAS
04/04 ÀS 05H40

Olá, pessoal! Neste atigo eu vou abordar o estudo de um dispositivo que permite a interface direta entre o cérebro e o computador. Ele permite tanto o controle de ações através do pensamento, quanto a leitura e a interpretação de emoções do usuário. Antes de começar a descrever como trabalhar com o dispositivo, destaco mais uma vez a exclusividade e a iniciativa pioneira do iMasters em abordar assuntos novos como, por exemplo, o material publicado sobre o uso de CUDA para programação de GPU, publicado em uma série de artigos. A área da computação que estuda como interagimos com o computador se chama HCI (Human Computer Interaction) e é possível notar que os mais variados tipos de dispositivos são estudados devido à grande criatividade dos pesquisadores da área. Os dispositivos que permitem a interface direta com o cérebro (BCI – Brain Controlled Interface), vêm ganhando muito destaque atualmente, especialmente os não invasivos, ou seja, aqueles que não requerem a colocação cirúrgica de eletrodos. Um destes dispositivos recentemente lançados no mercado se chama EPOC, da empresa Emotiv systems. Como a Figura 1 apresenta, ele é um capacete (headset) com diversos sensores que permitem a leitura e interpretação de ondas celebrais de forma não invasiva. .

Discussão entre desenvolvedores resulta no banimento de um deles do kernel do Linux
04/04 ÀS 04H35

Google planeja se tornar operadora de Internet móvel
04/04 ÀS 04H00

Brasil foi o segundo país mais recebeu recompensas por achar falhas no Facebook
04/04 ÀS 03H40

Investimentos em publicidade digital devem chegar a US$ 137 bilhões em 2014
04/04 ÀS 02H30

Vine ganha mensagens diretas em vídeo
TODAS AS NOTÍCIAS »

Find us on Facebook

iMasters
Like

98,033 people like iMasters.

Figura 1. Capacete EPOC, da empresa Emotiv Systems. . Recentemente, eu tive a oportunidade de estudar este dispositivo junto com a sua suíte de programação – graças à minha colega Tânia Fraga. A Figura 2 mostra algumas posições de como este capacete ficou colocado na minha cabeça.

Facebook social plugin

http://imasters.com.br/artigo/23850/tendencias/estudando-uma-interface-neural/

1/8

é preciso plugar um pequeno dispositivo na saída USB do computador. o SDK Lite. por meio de uma conexão bluetooth. Uma vez que o dispositivo esteja configurado corretamente e enviando as informações. é preciso baixar um pouco a expectativa: ele NÃO faz a leitura de pensamentos como alguns leitores geeks e nerds podem estar pensando. Tela do EPOC Control Panel mostrando os pontos de conexão. por exemplo. Por isso é preciso ter em mente que. Não há nenhum tipo de sensação adicional. é possível ver quais são os pontos de contato que estão transmitindo dados (marcados em verde) e informações adicionais. Nesta tela. diretamente no site da Emotiv indicada neste link. ainda estamos um pouco longe da interface utilizada pelo hacker Case. E não.br/artigo/23850/tendencias/estudando-uma-interface-neural/ 2/8 . existe outro aplicativo chamado Emotiv Composer que permite emular o sinal enviado pelo dispositivo. Este dispositivo permite trabalhar com o capacete sem a necessidade de fios. É importante mencionar que além do painel de controle. Após colocar o capacete – tomando os devidos cuidados para umedecer com solução salina os pontos de contato -. Figura 3. podemos calibrá-lo através da parte que cuida das expressões. é possível simular diversos estados e sinais enviados sem precisar utilizar o capacete. a Expressiv Suite. A Figura 3 mostra a tela principal do EPOC Control Panel. no clássico da ficção científica Cyberpunk. E ele também NÃO vai substituir o teclado. Posicionamento do capacete. é preciso utilizar um painel de controle que é fornecido junto com o SDK do dispositivo. Na parte de software. apesar de ser possível comprar e utilizar este dispositivo diretamente no site da Emotiv. Antes de começar a detalhar o que este dispositivo faz. como o tempo decorrido desde que o aparelho começou a transmitir os dados. Posso dizer que a colocação do capacete não é muito incômoda e depois de alguns minutos é bem fácil se acostumar com ele. ele não causa câncer ou qualquer tipo de doença mental. Vale a pena destacar também que existem diferentes edições do aparelho (com preços diferentes) e que há uma loja criada nos mesmos moldes da App store. É possível fazer o download de uma versão mais simples. ou levantou as sobrancelhas. mouse ou outro tipo de dispositivo que utilizamos para interagir com o computador – pelo menos.7/4/2014 Estudando uma interface neural | Figura 2. . se piscou. que vende aplicativos pagos e gratuitos voltados para o dispositivo. se ele está sorrindo. Esta calibração é recomendada para cada pessoa http://imasters. . Infelizmente. este equipamento deve ser visto mais como um protótipo para estudos de que um produto que vai revolucionar como interagimos atualmente com as máquinas. Desta maneira. não por enquanto. Ela permite captar detalhes do rosto do usuário como.com. além da pequena pressão que os pontos de contato fazem na região de contato.

tais como nível de excitação/calma. engajamento/desinteresse e meditação. que mostra o conteúdo da aba Affectiv Suite do EPOC Control Panel.br/artigo/23850/tendencias/estudando-uma-interface-neural/ 3/8 . como mover. C o l l e c t i o n s . u s i n gE m o t i v . I O . Indicadores afetivos fornecidos pelo aparelho. Todo o tratamento dos dados é realizado por meio de eventos. é possível associar a ação a uma tecla que será enviada para o sistema operacional com o fim de executar uma tarefa ou iniciar um aplicativo do Windows. Um detalhe: no caso do Java. R e f l e c t i o n ./ /A c c e s st ot h eE D Ki sv i a at h eE m o E n g i n e i n tu s e r I D=1 . u s i n gS y s t e m . Com certeza esta é uma funcionalidade interessante para auxiliar a interação com o computador – especialmente para portadores de necessidades especiais. G e n e r i c . n a m e s p a c eE E G _ E x a m p l e _ 1 { c l a s sE E G _ L o g g e r { E m o E n g i n ee n g i n e . Uma vez que o usuário tenha treinamento em cada uma destas modalidades. For fim. u s i n gS y s t e m . utiliza-se o wrapper para uma biblioteca em C e é preciso com a biblioteca JNA para realizar esta interface. Esta função é bem simples e exige do usuário considerável movimento do pescoço. u s i n gS y s t e m . pois esta funcionalidade não está diretamente relacionada com a captação do estado mental.com. O instalador do SDK se encarrega de fornecer o assembly no formato DLL para o . a parte de mais interesse dos leitores seja aquela que envolve aspectos cognitivos. que faz a leitura dos dados fornecidos pelo aparelho e os joga para um arquivo de texto no formato CSV. . T h r e a d i n g . u s i n gS y s t e m . Os valores para estes indicadores são fornecidos em tempo real. empurrar ou posicionar um cubo virtual. como o capacete também contém um giroscópio. O destaque vai para a capacidade do usuário em passar pela fase de treinamento e se concentrar o suficiente na tarefa para que haja o reconhecimento. que fornece indicadores. u s i n gS y s t e m . Talvez. Uma das partes que mais me interessou foi a parte afetiva do aparelho.7/4/2014 Estudando uma interface neural | que utilize o aparelho a fim de se obter valores que representem corretamente o estado mental do usuário. conforme apresentado na Figura 4. A listagem 2 mostra um exemplo no qual recebemos eventos do dispositivo na linguagem Java. Fiquei com a impressão que esta funcionalidade é destinada para deficientes que não conseguem interagir normalmente como mouse e precisam de auxílio. é possível encontrar no SDK diversos exemplos de como trabalhar com este dispositivo utilizando o . NET framework e o Java. é possível utilizá-lo no lugar do mouse para mover o ponteiro do Windows. Do ponto de vista de programação. Figura 4. NET e alguns arquivos com o código fonte . java (em um projeto do eclipse) para se trabalhar com esta DLL no Java./ /u s e r I Di su s e dt ou n i q u e l yi d e n t i f yau s e r ' sh e a d s e t http://imasters. No EPOC Control Panel é possível treinar o usuário para que ele foque seu pensamento em tarefas. A Listagem 1 apresenta o código fonte em C# de exemplo. pois com ela é possível treinar o aparelho para que ele execute algumas tarefas.

E E _ D a t a C h a n n e l _ tc h a n n e li nd a t a . / /c r e a t eah e a d e rf o ro u ro u t p u tf i l e W r i t e H e a d e r ( ) . D i c t i o n a r y < E d k D l l . / /a s kf o ru pt o1s e c o n do fb u f f e r e dd a t a e n g i n e .i + + ) { / /n o ww r i t et h ed a t a f o r e a c h( E d k D l l . W r i t e ( d a t a [ c h a n n e l ] [ i ]+" . C o n s o l e . i f( d a t a= =n u l l ) { r e t u r n . / /I ft h eu s e rh a sn o ty e tc o n n e c t e d . I n s t a n c e . f o r( i n ti=0 .com. / /c o n n e c tt oE m o e n g i n e . W r i t e L i n e ( " U s e rA d d e dE v e n th a so c c u r e d " ) . } v o i dR u n ( ) { / /H a n d l ea n yw a i t i n ge v e n t s e n g i n e . s t r i n gh e a d e r=" C O U N T E R . W r i t e L i n e ( " " ) .7/4/2014 Estudando uma interface neural | s t r i n gf i l e n a m e=" o u t f i l e . u s e r I d .P 7 . D a t a A c q u i s i t i o n E n a b l e ( ( u i n t ) u s e r I D . F 3 .f a l s e ) . } p u b l i cv o i dW r i t e H e a d e r ( ) { T e x t W r i t e rf i l e=n e wS t r e a m W r i t e r ( f i l e n a m e . R A W _ C Q ./ /o u t p u tf i l e n a m e E E G _ L o g g e r ( ) { / /c r e a t et h ee n g i n e e n g i n e=E m o E n g i n e . } f i l e . / /W r i t et h ed a t at oaf i l e T e x t W r i t e rf i l e=n e wS t r e a m W r i t e r ( f i l e n a m e .O 2 . P r o c e s s E v e n t s ( ) . C l o s e ( ) .E m o E n g i n e E v e n t A r g se ) { C o n s o l e .d on o tp r o c e e d i f( ( i n t ) u s e r I D= =1 ) r e t u r n . T o S t r i n g ( )+"l i n e so fd a t a" ) . e n g i n e .i<_ b u f f e r S i z e . E E _ D a t a C h a n n e l _ t . c s v " . W r i t e L i n e ( " W r i t i n g"+_ b u f f e r S i z e . E E _ D a t a S e t B u f f e r S i z e I n S e c ( 1 ) . U s e r A d d e d E v e n t H a n d l e r ( e n g i n e _ U s e r A d d e d _ E v e n t ) . C o n n e c t ( ) . T I M E S T A M P ] . t r u e ) . U s e r A d d e d+ =n e wE m o E n g i n e . } v o i de n g i n e _ U s e r A d d e d _ E v e n t ( o b j e c ts e n d e r . E E _ D a t a C h a n n e l _ t . " ) . / /r e c o r dt h eu s e r u s e r I D=( i n t ) e . A F 3 .br/artigo/23850/tendencias/estudando-uma-interface-neural/ 4/8 . f i l e . e n g i n e . } i n t_ b u f f e r S i z e=d a t a [ E d k D l l . F 7 . / /e n a b l ed a t aa q u i s i t i o nf o rt h i su s e r .F C 5 .t r u e ) . K e y s ) f i l e .d o u b l e [ ] >d a t a=e n g i n e . L e n g t h . G e t D a t a ( ( u i n t ) u s e r I D ) . P 8 "+ http://imasters. I N T E R P O L A T E D .O 1 . e n g i n e .T 7 .

R u n ( ) . I N S T A N C E . 1 ] " ) .i + + ) { p . W r i t e L i n e ( " E E GD a t aR e a d e rE x a m p l e " ) . o u t .E S _ T I M E S T A M P "+ " F U N C _ I D . } s t a t i cv o i dM a i n ( s t r i n g [ ]a r g s ) { C o n s o l e . I N S T A N C E . f i l e . 0 . } } } } . " . i m p o r tc o m .M A R K E R .com. P o i n t e re S t a t e =E d k .7/4/2014 Estudando uma interface neural | " . 0 . T o I n t ( ) ){ S y s t e m . s h o r tc o m p o s e r P o r t =1 7 2 6 . o u t . * . 1 ] " ) . o u t . p t r . i f( E d k . P o i n t e r .A F 4 . " ) . } d e f a u l t : S y s t e m .c o m p o s e r P o r t . . i m p o r tc o m . E E _ E m o E n g i n e E v e n t C r e a t e ( ) .G Y R O Y . T h r e a d . * / p u b l i cc l a s sE m o S t a t e L o g { p u b l i cs t a t i cv o i dm a i n ( S t r i n g [ ]a r g s ) { P o i n t e re E v e n t =E d k . 1 " . E E _ E m o S t a t e C r e a t e ( ) .F U N C _ V A L U E . p r i n t l n ( " E m o t i vE n g i n es t a r tu pf a i l e d . o u t . G Y R O X . p r i n t l n ( " C o n n e c t e dt oE m o C o m p o s e ro n[ 1 2 7 . E E _ E n g i n e C o n n e c t ( " E m o t i vS y s t e m s 5 " )! =E d k E r r o r C o d e . Exemplo em C# para ler os dados do EPOC. 0 . o u t . I N S T A N C E . I N S T A N C E . j n a . p r i n t l n ( " I n v a l i do p t i o n . } c a s e2 : { S y s t e m . s w i t c h( o p t i o n ){ c a s e1 : { i f( E d k . p r i n t l n ( " C a n n o tc o n n e c tt oE m o C o m p o s e ro n[ 1 2 7 . .T 8 . } S y s t e m . 1 ]" ) .br/artigo/23850/tendencias/estudando-uma-interface-neural/ 5/8 . E D K _ O K . T o I n t ( ) ){ S y s t e m . j n a .F C 6 . f o r( i n ti=0 . 0 . I n t B y R e f e r e n c eu s e r I D =n u l l . S l e e p ( 1 0 0 ) . E D K _ O K . u s e r I D=n e wI n t B y R e f e r e n c e ( 0 ) . s u n .S Y N C _ S I G N A L . } w h i l e( t r u e ) http://imasters.T I M E S T A M P . 0 . W r i t e L i n e ( h e a d e r ) . f i l e . p r i n t l n ( " T a r g e tI Po fE m o C o m p o s e r :[ 1 2 7 . Listagem 1.F 4 . C l o s e ( ) .i<1 0 . } b r e a k . b r e a k . / * *S i m p l ee x a m p l eo fJ N Ai n t e r f a c em a p p i n ga n du s a g e . . E E G _ L o g g e rp=n e wE E G _ L o g g e r ( ) . F 8 . r e t u r n ." E m o t i vS y s t e m s 5 " )! =E d k E r r o r C o d e . s u n . " ) . 0 . r e t u r n . 0 . r e t u r n . 0 . i n to p t i o n =1 . i n ts t a t e =0 . E E _ E n g i n e R e m o t e C o n n e c t ( " 1 2 7 .

Exemplo em Java para ler os dados do dispositivo EPOC. i f( E m o S t a t e . p r i n t l n ( t i m e s t a m p+":N e wE m o S t a t ef r o mu s e r"+u s e r I D . p r i n t l n ( E m o S t a t e . I N S T A N C E . S y s t e m . S y s t e m . E E _ E m o S t a t e U p d a t e d . p r i n t ( " W i r e l e s s S i g n a l S t a t u s :" ) . p r i n t l n ( E m o S t a t e . i f( E m o S t a t e . S y s t e m . o u t . S y s t e m . S y s t e m . I N S T A N C E . estudos de usabilidade e aplicações na área artística. E D K _ N O _ E V E N T . o u t . E E _ E n g i n e G e t N e x t E v e n t ( e E v e n t ) . g e t V a l u e ( ) ) . http://imasters. I N S T A N C E . o u t . o u t . o u t . E E _ E v e n t _ t . S y s t e m . o u t . } } . p r i n t ( " E x c i t e m e n t S h o r t T e r m :" ) . E E _ E m o E n g i n e E v e n t G e t T y p e ( e E v e n t ) . E D K _ O K . I N S T A N C E . S y s t e m . o uso de dispositivos como o EPOC pode fornecer informações adicionais que auxiliem na avaliação do que está sendo testado. o u t . T o I n t ( ) ){ i n te v e n t T y p e=E d k . Este tipo de trabalho já é realizado hoje por algumas empresas americanas.br/artigo/23850/tendencias/estudando-uma-interface-neural/ 6/8 . o u t . S y s t e m . Utilizando a métrica de engajamento é possível identificar este aspecto diretamente na consciência do usuário evitando discrepâncias e opiniões subjetivas envolvidas nos tradicionais métodos de avaliação. I N S T A N C E . E S _ A f f e c t i v G e t E x c i t e m e n t S h o r t T e r m S c o r e ( e S t a t e ) ) . p r i n t l n ( E m o S t a t e . i f( E m o S t a t e . Uma das principais tarefas de quem trabalha com marketing é testar novos produtos diretamente com o público alvo. o u t . p r i n t ( " E x c i t e m e n t L o n g T e r m :" ) . p r i n t l n ( E m o S t a t e . Do ponto de vista prático. I N S T A N C E . métricas e estudos nesta área. f l o a tt i m e s t a m p=E m o S t a t e . p r i n t ( " E n g a g e m e n t B o r e d o m :" ) . o u t . E E _ E n g i n e D i s c o n n e c t ( ) . i f( E m o S t a t e . p r i n t ( " C u r r e n t A c t i o n P o w e r :" ) . o u t .e S t a t e ) . Vou descrever três deles: análises voltadas para o marketing. Um exemplo prático: uma produtora de filmes quer avaliar quais dos seus três trailers empolga mais o usuário para investir e divulgar primeiro o trailer mais empolgante. o u t . I N S T A N C E . E S _ E x p r e s s i v I s L o o k i n g L e f t ( e S t a t e )= =1 ) S y s t e m . I N S T A N C E . p r i n t l n ( " D i s c o n n e c t e d ! " ) . o u t . I N S T A N C E . E S _ G e t W i r e l e s s S i g n a l S t a t u s ( e S t a t e ) ) . p r i n t ( " C o g n i t i v G e t C u r r e n t A c t i o n :" ) . podemos encontrar diversos cenários onde a utilização deste dispositivo traz benefícios. p r i n t l n ( E m o S t a t e . E E _ E m o E n g i n e E v e n t G e t E m o S t a t e ( e E v e n t . E E _ E m o E n g i n e E v e n t G e t U s e r I d ( e E v e n t . p r i n t l n ( E m o S t a t e . S y s t e m . T o I n t ( ) ){ E d k .7/4/2014 Estudando uma interface neural | { s t a t e=E d k . E S _ E x p r e s s i v I s L o o k i n g R i g h t ( e S t a t e )= =1 ) S y s t e m . p r i n t l n ( " L o o k i n g L e f t " ) . I N S T A N C E . I N S T A N C E . S y s t e m . p r i n t l n ( " I n t e r n a le r r o ri nE m o t i vE n g i n e ! " ) . I N S T A N C E . } } e l s ei f( s t a t e! =E d k E r r o r C o d e . T o I n t ( ) ){ S y s t e m . S y s t e m . S y s t e m . p r i n t l n ( " L o o k i n g R i g h t " ) . I N S T A N C E . } } E d k . E S _ E x p r e s s i v I s B l i n k ( e S t a t e )= =1 ) S y s t e m . b r e a k . o u t . p r i n t l n ( " B l i n k " ) . Apesar de haver diversas técnicas. o u t .u s e r I D ) . E S _ E x p r e s s i v I s L e f t W i n k ( e S t a t e )= =1 ) S y s t e m . I N S T A N C E . Listagem 2. o u t . E S _ G e t T i m e F r o m S t a r t ( e S t a t e ) . E d k . / /L o gt h eE m o S t a t ei fi th a sb e e nu p d a t e d i f( e v e n t T y p e= =E d k . E S _ C o g n i t i v G e t C u r r e n t A c t i o n ( e S t a t e ) ) . i f( E m o S t a t e . E S _ A f f e c t i v G e t E x c i t e m e n t L o n g T e r m S c o r e ( e S t a t e ) ) . E S _ E x p r e s s i v I s R i g h t W i n k ( e S t a t e )= =1 ) S y s t e m . / /N e we v e n tn e e d st ob eh a n d l e d i f( s t a t e= =E d k E r r o r C o d e . o u t . o u t .com. E S _ C o g n i t i v G e t C u r r e n t A c t i o n P o w e r ( e S t a t e ) ) . p r i n t l n ( " R i g h t W i n k " ) . I N S T A N C E . . S y s t e m . I N S T A N C E . o u t . S y s t e m . o u t . p r i n t l n ( " L e f t W i n k " ) . I N S T A N C E . E S _ A f f e c t i v G e t E n g a g e m e n t B o r e d o m S c o r e ( e S t a t e ) ) .

Artigos relacionados Coder: seu miniservidor web pessoal Tecnologia. O vídeo abaixo mostra um pouco sobre como esta obra de arte funciona:. com certas características. Por fim. Tendências Desvendando o futuro do software corporativo Software. Para terminar. Tendências 1 comentário Comente! 1 comentário http://imasters. o uso de dispositivos que fazem a leitura do estado mental vem sendo empregado na área artística. que mostra como as pesquisas na área de leitura neural estão avançadas. que lê as expressões faciais e as externaliza. Tecnologia.br/artigo/23850/tendencias/estudando-uma-interface-neural/ 7/8 .7/4/2014 Estudando uma interface neural | Outra área importante é a avaliação de usabilidade. um dos principais fatores que determina o consumo de um produto ou serviço. Tendências Apps corporativos para alavancar resultados Mobile. Este vídeo mostra como a interface neural está evoluindo e indica que há grandes oportunidades voltadas para a pesquisa e para o mercado envolvedor destes dispositivos e suas aplicações. o usuário está enquanto manipula o site ou produto avaliado. Seguindo as regras clássicas para avaliação de usabilidade para a User Experience. contar com um dispositivo pode facilitar a descoberta do quão desinteressado. ou calmo. Já é possível obter imagens diretamente da mente do usuário. gostaria de indicar o vídeo abaixo.com. Um exemplo é a obra de arte chamada Caracolomobile.

eventos.. Trabalha há mais de 10 anos utilizando diversos bancos de dados e ferramentas de programação. conteúdos exclusivos e muito mais. Pode ser contatato no twitter como @pichiliani e no e-mail pichiliani@gmail.com.. Mais informações no link abaixo: http://cabelovivaolinux. Página do autor Email Leia os últimos artigos publicados por Mauro Pichiliani Aprendendo a programar de forma divertida – #Melhores2013 Visualizando algoritmos Quais são os erros mais comuns em bancos de dados? Métricas de código T-SQL no SQL Server Aplicações mobile para quem usa SQL 1 COMENTÁRIO COMENTE TAMBÉM Mauro Pichiliani Para quem se interessar mais sobre o assunto recomendo uma olhada no estudo que o Alessandro também está realizando com este dispositivo.com. cursos.br/artigo/23850/tendencias/estudando-uma-interface-neural/ 8/8 . Sobre o iMasters Política de Privacidade Fale conosco faleconosco@imasters. Twitter Siga o perfil do iMasters LinkedIn Cadastre-se no grupo iMasters gitHub Códigos iMasters DEV RSS Assine os feeds SOCIAL MEDIA Copyright © 2014 Todos os direitos reservados NEWSLETTER Fique por dentro de todas as novidades.com.com/2012/03/17/evolucao-emotiv-epoccontrolando-a-tv-com-interface-neural/ Há 2 anos Responder QUAL A SUA OPINIÃO? Escreva seu comentário aqui.br Seu nome Seu e-mail ENVIAR » http://imasters.wordpress. Mestre e doutorando em computação pelo ITA (Instituto Tecnológico de Aeronáutica).7/4/2014 Estudando uma interface neural | Mauro Pichiliani Mauro Pichiliani é bacharel em Ciência da Computação.