Experiências de interface neural JavaScript

O autor do material, cuja tradução publicamos hoje, diz que nos últimos dois anos ele notou um interesse constante em neurotecnologias. Neste artigo, ela quer falar sobre seus experimentos com vários sistemas de hardware e software que permitem estabelecer comunicação entre o cérebro e o computador.



Antecedentes


Não tenho formação básica em informática (estudei publicidade e marketing). Dominei a programação em cursos na Assembléia Geral.

Quando estava procurando o primeiro emprego, comecei a experimentar o JavaScript e com diferentes dispositivos. Em particular, meu primeiro projeto foi a organização do controle da bola robótica Sphero por meio do movimento do braço usando o Leap Motion .


Sphero Ball impulsionado por Leap Motion

Esta foi a minha primeira experiência usando JavaScript para gerenciar qualquer coisa fora do navegador. Imediatamente chamou o que me fisgou.

Desde então, dediquei muito tempo a projetos interativos. Cada vez, assumindo um novo projeto, tentava encontrar para mim tarefas cada vez mais complexas. Então, eu estava constantemente evoluindo e aprendendo algo novo.

Depois de experimentar vários dispositivos, em busca de outra tarefa interessante, me deparei com os sensores de atividade cerebral NeuroSky .

Os primeiros experimentos com um fone de ouvido neuro


Quando estava interessado em experimentos com sensores de atividade cerebral, decidi comprar um headset neuroSky neuroSky. Ela era muito mais barata que outras ofertas semelhantes.


Fone de ouvido NeuroSky Neuro

Eu não sabia se minhas qualificações seriam suficientes para escrever pelo menos algo para um dispositivo assim (acabei de terminar os cursos de programação naquele momento), então decidi escolher algo mais barato para que, caso a tarefa acabasse para mim, é proibitivamente difícil não desperdiçar muito dinheiro. Felizmente, uma estrutura JavaScript já foi criada para funcionar com o fone de ouvido, por isso foi bastante fácil começar a experimentar. Em particular, usei minha avaliação do nível de atenção para controlar a bola de Sphero e o quadrocóptero Parrot AR.Drone.

Durante os experimentos, percebi rapidamente que esse neuro-fone de ouvido não é particularmente preciso. Ela tem apenas três sensores, para obter dados bastante aproximados sobre a atividade cerebral. O dispositivo fornece acesso aos dados brutos de cada sensor, o que permite, por exemplo, visualizar esses dados. Mas o fato de o fone de ouvido ter apenas três eletrodos não permite tirar conclusões sérias com base nos dados recebidos sobre o que está acontecendo no cérebro humano.

Quando decidi procurar outros dispositivos para ler os indicadores de atividade cerebral, encontrei o fone de ouvido Emotiv Epoc neuro . Tive a sensação de que essa coisa tem recursos mais sérios em comparação com o fone de ouvido NeuroSky, então decidi comprá-lo para continuar meus experimentos.

Antes de falar sobre como o Emotiv Epoc funciona, sugiro, em poucas palavras, como o cérebro humano funciona.

Como o cérebro funciona


Não posso me considerar um grande conhecedor da neurociência, então minha história sobre o cérebro será bastante superficial. Ou seja, quero falar sobre algumas coisas básicas que você precisa saber para quem quer entender melhor como funcionam os fones de ouvido neuro.
O cérebro consiste em muitos bilhões de neurônios - células especializadas que processam, armazenam e transmitem informações. Diferentes partes do cérebro, constituídas por neurônios, são responsáveis ​​por várias funções fisiológicas.


Diferentes partes do cérebro (fonte - macmillan.org.uk)

Por exemplo, vamos falar sobre como o cérebro controla os movimentos. Partes do cérebro, como o córtex motor primário e o cerebelo, são responsáveis ​​pelo movimento e coordenação. Os sinais dos neurônios correspondentes afetam os músculos, o que leva a movimentos.


Anatomia do neurônio

Como eu disse, aqui está uma descrição extremamente simples do cérebro, mas para nós o mais importante é que a atividade dos neurônios possa ser rastreada pela eletroencefalografia (EEG) lendo os indicadores da atividade elétrica do cérebro na superfície do couro cabeludo.

Outras tecnologias podem ser usadas para monitorar a atividade cerebral, mas seu uso envolve cirurgia. Em particular, estamos falando sobre eletrocortografia - com essa abordagem, os eletrodos são aplicados diretamente no córtex cerebral.

Agora que descobrimos que o cérebro, durante o trabalho, gera sinais elétricos que podem ser lidos, vamos falar sobre o fone de ouvido Emotiv Epoc.

Como funciona um fone de ouvido neuro?


A empresa Emotiv produz vários tipos de fones de ouvido neuro:

  • Emotiv insight
  • Emotiv Epoc Flex Kit
  • Emotiv epoc

O fone de ouvido Epoc possui 14 sensores (também chamados de "canais") localizados em diferentes locais da cabeça.

A figura a seguir, à esquerda, mostra um padrão de colocação de 10 a 20 eletrodos recomendado pela Federação Internacional de Eletroencefalografia e Neurofisiologia Clínica. Cada eletrodo corresponde a uma área específica do cérebro. O uso do sistema 10-20 permite seguir um determinado padrão ao criar vários dispositivos e ao realizar pesquisas científicas no cérebro.
A figura à direita mostra o layout dos eletrodos do fone de ouvido Emotiv Epoc. Para compará-lo com o sistema 10-20, o destaque é verde e laranja.


Comparação entre o sistema internacional de colocação de eletrodos 10-20 e o fone de ouvido Emotiv Epoc

14 canais Epoc - isso não é muito, mas os eletrodos são colocados no couro cabeludo de maneira uniforme. Isso nos permite esperar que, com a ajuda do Epoc, você possa obter informações bastante precisas sobre a atividade cerebral.

O fone de ouvido lê sensores em 2048 amostras por segundo (SPS). Ao mesmo tempo, o usuário tem acesso a uma frequência de amostragem de sinal de 128 ou 256 SPS. O dispositivo é capaz de capturar ondas cerebrais com uma frequência de 0,16 a 43 Hz. Existem vários ritmos do cérebro, suas breves características são mostradas na figura a seguir.


Tipos de ondas cerebrais

Por que isso é importante? O fato é que, dependendo da aplicação que precisa ser construída com base em um eletroencefalograma, podemos precisar prestar atenção especial às ondas cerebrais de uma certa frequência. Por exemplo, se precisarmos criar um programa para ajudar os meditadores, provavelmente estaremos interessados ​​apenas nas ondas teta, cuja frequência é de 4-8 Hz.

Depois de entender os princípios subjacentes à eletroencefalografia, vamos falar sobre os recursos do Emotiv Epoc e software relacionado.

Recursos do Emotiv Epoc


O software Emotiv não é de código aberto; é necessária uma licença especial para acessar o sinal bruto do sensor. Sob condições normais, ao trabalhar com o Emotiv Epoc, as seguintes opções estão disponíveis:

  • Medição de indicadores que caracterizam a posição da cabeça do usuário no espaço usando um acelerômetro e um giroscópio.
  • Medição do nível de excitação, envolvimento, relaxamento, interesse, estresse, concentração.
  • Reconhecimento de movimentos musculares faciais, dando uma idéia da expressão facial do usuário. Por exemplo, estamos falando de piscar e sorrir.
  • Reconhecimento de comandos mentais (movimentos e voltas).

Para usar o reconhecimento de comandos mentais, o usuário deve primeiro treinar o sistema . Os dados de treinamento são salvos como um arquivo.

Se você deseja desenvolver seus próprios programas para o Emotiv Epoc, pode usar a API do Cortex e o SDK correspondente (o suporte foi interrompido após o lançamento da versão 3.5). Se você deseja usar JavaScript, pode dar uma olhada no meu desenvolvimento - a biblioteca Epoc.js.

Biblioteca Epoc.js


O Epoc.js é uma estrutura projetada para organizar a interação com os dispositivos Emotiv Epoc e Insight usando JavaScript. Essa estrutura fornece ao desenvolvedor acesso aos recursos descritos acima dos sistemas Emotiv e permite interagir com o emulador .
Aqui está o projeto mais simples baseado no Epoc.js:

const epoc = require('epocjs')(); epoc.connectToLiveData('path/to/profile/file', function(event){  var action = event.blink === 1 ? 'blinking' : 'not blinking';  console.log(action); }); 

Neste exemplo de código, conectamos o módulo epocjs do Node.js e instanciamos o objeto correspondente. Em seguida, chamamos o método connectToLiveData desse objeto, passando o caminho para o arquivo com os dados do usuário obtidos após o treinamento do sistema e uma função de retorno de chamada. Essa função recebe um objeto de evento que contém várias propriedades que podem ser rastreadas. Por exemplo, se queremos que o programa responda a piscar, a propriedade event.blink será event.blink .

Cada propriedade semelhante pode ser definida como 0 ou 1. Uma unidade no valor da propriedade significa que o sistema registrou o evento correspondente. Uma lista completa dessas propriedades pode ser encontrada aqui .

A biblioteca descrita foi criada usando o Emotiv C ++ SDK, Node.js e três módulos para o Node.js: Node-gyp, Bindings e Nan. Durante seu desenvolvimento, foi utilizada uma abordagem que agora pode ser considerada obsoleta. Agora, o uso real da N-API .

Tendo discutido os vários recursos dos neurofones de ouvido e as formas de trabalhar programaticamente com eles, falarei sobre vários protótipos que criei que usam uma interface neuro.

Protótipos


▍1 Teclado


Aqui está a aparência de um teclado que controla os movimentos dos olhos.


Teclado protótipo controlado por movimentos oculares

Este foi o meu primeiro projeto usando o Emotiv Epoc. Eu estava interessado em saber se é possível criar uma interface simples usando um fone de ouvido neuro que permita que uma pessoa interaja com um computador usando movimentos dos olhos. Por exemplo, quando você olha para a direita ou esquerda, as teclas correspondentes são destacadas no teclado. Para "clicar" na tecla destacada, você precisa piscar. A letra correspondente aparece no campo localizado acima do teclado.

Este projeto parece muito simples, mas o mais importante é que funciona.

§ 2 Webvr


No meu segundo projeto, usei comandos mentais. Criando, eu queria entender se é possível controlar um objeto localizado no espaço tridimensional, apenas pensando em alguma coisa.


Interface da Web orientada a pensamentos

Aqui, para criar um ambiente tridimensional simples, usei a biblioteca Three.js., a biblioteca Epoc.js. foi usada para reconhecer comandos mentais e soquetes da web foram usados ​​para enviar dados do servidor para o cliente.

▍3 IoT


Iniciando o terceiro projeto, eu queria explorar as possibilidades de controlar dispositivos reais usando comandos mentais. Estou interessado no desenvolvimento da IoT usando JavaScript há algum tempo, então estava interessado em aprender o que acontece se você combinar o quadrocopter Parrot e um fone de ouvido neuro.


Quadcopter

Todos os projetos descritos acima, todos os protótipos criados, são desenvolvimentos bastante simples que eu criei para testar algumas idéias na prática e avaliar as possibilidades e limitações das interfaces neurais.

Limitações da interface neural


A palavra "neurointerface" parece incrível e, quando se verifica que o computador pode ser controlado pelo poder do pensamento, pode parecer que é o futuro, mas, de fato, as tecnologias de neurocomputadores ainda têm algumas limitações.

EedPrecisa de treinamento


É bastante normal que os usuários tenham que executar um treinamento do sistema, durante o qual as ondas cerebrais são registradas e comparadas com determinadas equipes, mas para muitos, essa etapa é um obstáculo à adoção de novas tecnologias. É difícil para mim imaginar que alguém passará algum tempo treinando sistemas de neurocomputadores, a menos que alguém realmente precise desse sistema e, ao mesmo tempo, a precisão com que ela reconhece os comandos mentais estará em um nível muito alto.

▍ Atrasos


Quando desenvolvi meu protótipo, com base na percepção dos comandos mentais do computador, descobri que havia algum atraso entre o momento em que comecei a pensar e o momento em que o programa reagiu a esse pensamento.

Penso que o ponto aqui é que o algoritmo de aprendizado de máquina usado no protótipo recebe dados do dispositivo em tempo real. Para reconhecer o pensamento, cujo reconhecimento ele havia estudado anteriormente, ele precisa de indicadores coletados durante um certo período de tempo.

Isso afeta quais programas podem ser construídos com base na interface neural. Por exemplo, um programa que ajuda a meditar parece bastante real, já que os atrasos entre as mudanças no estado do cérebro e a reação do programa não afetarão particularmente os resultados desse programa. No entanto, se alguém se propõe a criar algo como uma cadeira de rodas controlada por pensamentos, o problema dos atrasos se torna muito mais agudo, questionando esse desenvolvimento.

Technology Tecnologia não invasiva e precisão


Os scanners de EEG são ótimos para o uso diário em situações da vida cotidiana. Basta colocar o fone de ouvido aplicando um gel especial aos sensores e pronto. No entanto, o fato de os sinais gerados pelo cérebro serem lidos a partir do couro cabeludo, e não, digamos, da superfície do próprio cérebro, prejudica a precisão de tais sinais.

Se falamos sobre a frequência de indicadores, é muito bom em dispositivos existentes. O mesmo não pode ser dito sobre as características espaciais dos dados obtidos. Os dispositivos de EEG só podem ler sinais originados nas partes do cérebro próximas à superfície da cabeça. É impossível descobrir o que está acontecendo nas estruturas mais profundas do cérebro usando uma abordagem semelhante.

Acceptance Aceitação do público


Um fone de ouvido neuro não é o dispositivo mais bonito e familiar. Acho que, desde que esses fones de ouvido pareçam agora, é improvável que sejam usados ​​em locais públicos. Com o desenvolvimento da tecnologia, é possível que sejam criados dispositivos que possam estar ocultos em acessórios como chapéus, mas mesmo aqui você pode encontrar um problema associado ao fato de que esses dispositivos serão inconvenientes quando usados ​​por muito tempo.

Os sensores de EEG devem estar bem perto do couro cabeludo para receber indicadores qualitativos da atividade cerebral. E se a pressão imediatamente após a colocação do fone de ouvido dificilmente for sentida, com o tempo, isso começa a causar desconforto. Além disso, se você também precisar aplicar gel nos sensores, isso se tornará uma barreira adicional à distribuição generalizada dos fones de ouvido neuro.

Como você pode ver, o estado atual das coisas no campo das interfaces neurais sugere que é improvável que elas se espalhem. No entanto, se falarmos sobre o futuro, podemos dizer que esses dispositivos têm perspectivas interessantes.

Recursos de interface neural


Se você levar em conta o estado atual da tecnologia e pensar sobre o que eles podem se tornar no futuro, poderá encontrar várias opções para a aplicação deles.

Elp Ajude as pessoas com deficiência


Eu gostaria que os neurofones de ouvido ajudassem as pessoas com deficiência a viver uma vida mais plena e a serem mais independentes.

Era exatamente isso que eu pensava quando criei meu primeiro protótipo - um teclado controlado pelos movimentos dos olhos. Esse meu desenvolvimento está longe do nível em que poderia ser usado na prática, mas, enquanto trabalhava nesse projeto, eu estava interessado em entender se um dispositivo de consumidor completamente acessível poderia realmente ajudar alguém. Nem todo mundo tem acesso a sistemas médicos complexos, e fiquei simplesmente encantado com o fato de o aparelho não tão caro, que pode ser adquirido gratuitamente na loja on-line, ser capaz de resolver tarefas importantes e necessárias.

Practices Práticas mentais


Práticas mentais, em particular - meditação - essa é a esfera de aplicação dos neurofones de ouvido, que já hoje atrai alguma atenção (por exemplo, o fone de ouvido Muse ajuda a meditar). É ajudar alguém que quer meditar, fazer tudo certo.

ElpAjuda na resolução de problemas de saúde


Se os fones de ouvido neurais penetrarem em nossas vidas tanto quanto os telefones celulares, poderemos criar aplicativos capazes de responder a problemas de saúde. Por exemplo, seria ótimo se houvesse aplicativos que, com base em uma análise da atividade cerebral, ajudassem a combater derrames, ataques de pânico e ataques de epilepsia.

ProductivityAumento da produtividade do trabalho


Um fone de ouvido neuro pode ajudar a meditar, o que significa que, com ele, você pode realmente descobrir a que hora do dia uma pessoa se concentra melhor. Essas informações, obtidas com o uso regular do fone de ouvido, podem ajudá-lo a entender quando é melhor realizar alguma atividade. Você pode até imaginar que o horário de trabalho será organizado de acordo com as características individuais da pessoa, o que aumentará sua produtividade.

▍Art


Gosto, por iniciativa própria, fora do horário comercial, de explorar os fenômenos que estão na interseção entre arte e tecnologia. Acredito que não se deve subestimar o trabalho nessa direção relacionado às interfaces neurais, pois elas, embora possam parecer "frívolas", ajudam a entender melhor as tecnologias, que serão úteis em casos mais "sérios" de sua aplicação.

Combinação de sensores de atividade elétrica cerebral com outros sensores


Recentemente, tive a ideia de que os sensores de EEG não deveriam ser considerados como algo completamente independente. Nosso cérebro percebe o mundo através dos sentidos. Ele não é capaz de ver sem olhos e ouvir sem ouvidos. Portanto, se quisermos aproveitar ao máximo os dados sobre a atividade elétrica do cérebro, talvez seja necessário rastrear outros sinais vitais.

O principal problema aqui é que tudo isso pode levar ao fato de que as pessoas serão literalmente enforcadas com vários sensores.


Existem muitos sensores aqui? (fonte de ilustração - cognionics.net)

Talvez ninguém use constantemente os sensores mostrados na figura anterior.

Openbci


Algumas semanas atrás, adquiri algo novo - o pacote OpenBCI . Meu próximo passo é estudar os dados brutos obtidos dos sensores EEG e aplicar métodos de aprendizado de máquina a esses dados. O OpenBCI é um projeto de código aberto, portanto o desenvolvimento deles me parece perfeitamente adequado para esse fim. Ainda não trabalhei muito com o fone de ouvido, por enquanto só tenho tempo suficiente para conectá-lo a um computador e configurá-lo. É assim que tudo parece.


Openbci

Sumário


O autor deste material diz que continua estudando interfaces neurais. Esperamos que a história dela ajude aqueles que estão interessados ​​neste tópico, mas não se atrevem a prosseguir com ações práticas, a dar os primeiros passos na aplicação de neurofones de ouvido. Se você está interessado em tudo isso, aqui está outra de nossas publicações sobre fones de ouvido neuro e JavaScript dedicados ao Muse.

Caros leitores! Você planeja experimentar fones de ouvido neuro?

Source: https://habr.com/ru/post/pt433874/


All Articles