Detalhes

IA / pesquisa

Jogo de processamento de sinais cerebrais

Brain Signal Processing Game é um projeto de software de pesquisa em neurofeedback que conecta aquisição EEG por OpenBCI/LSL, processamento Python, saída de atributos beta por Welch PSD e um loop de feedback em Pygame.

Arquitetura 3D ao vivo

Use a navegação para alternar entre diagramas e trabalhos relacionados, depois role o painel para ler os detalhes.

O EEG do OpenBCI se torna um fluxo de controle de ritmo beta antes de chegar ao jogo.

Problema

O software de pesquisa precisava de um ciclo fechado da aquisição de EEG do OpenBCI para o processamento de sinal em tempo real e feedback de jogo legível para um protocolo de neurofeedback para adultos TDAH. A página enquadra isso como software de pesquisa, em vez de uma afirmação de eficácia clínica.

Contribuição

Trabalhei como voluntário com a BNEURD como Analista de Dados e Engenheiro de Software e projetei/implementei o servidor de processamento de EEG em tempo real: tratamento de fluxo, buffering, extração de características de banda via Welch e saída de marcador beta voltada para o jogo. O jogo/UI foi produzido pela equipe. O artigo especifica filtragem, enquanto o implementação de processamento deixa a aplicação de filtros comentada.

Loop de Sinal e Jogo

Valores do protocolo de pesquisa: aquisição pela GUI do OpenBCI, 8 eletrodos EEG em posicionamento 10/20, lotes de processamento de 3 segundos, atualização de 300 ms, notch de 60 Hz e passa-banda de 4–100 Hz no artigo, características de domínio de frequência de Welch e comunicação do ritmo beta para o jogo. A implementação de processamento usa configuração de 256 Hz/8 canais, entrada EEG via LSL, bandas de PSD de Welch, atualização de 0.3 s e saída de marcador beta; seu caminho executável usa buffer de 4 segundos e argumentos iniciais de filtro notch=60, lowcut=5, highcut=35, enquanto o bloco de aplicação de filtro em processSample está comentado; essas diferenças de timing e filtro separam o protocolo do artigo do caminho executável.

Decisões técnicas

O LSL separou a aquisição do OpenBCI, o processamento de sinal e o gameplay para que cada camada pudesse ser desenvolvida e inspecionada independentemente
Python, pylsl, NumPy, SciPy e PSD de Welch foram usados para iteração rápida em janelas de EEG e extração de banda
O protocolo do artigo especifica notch de 60 Hz e passa-banda de 4–100 Hz antes da análise de domínio de frequência; o implementação mantém a aplicação de filtros comentada, mas ainda passa argumentos iniciais de filtro 60/5/35.
O ritmo beta foi usado como marcador de atenção voltado para o jogo, correspondendo ao protocolo de pesquisa para neurofeedback de adultos TDAH
O Pygame foi escolhido para controle de experimento em tela cheia local, renderização de sprites, cues de áudio e feedback em tempo real impulsionado por marcador
O jogo usou um campo visual azul calmo, cue de direção/foco amarelo, baseline de 2 segundos, sessões curtas configuráveis e feedback de sorriso como reforço

Contexto de Pesquisa

Contribuí para uma colaboração da BNEURD em um artigo de neurofeedback apresentado no CONCCEPAR de junho de 2024, “Desenvolvimento de software para neurofeedback - modulação cerebral para manejo de déficits atencionais em adultos com TDAH.”

Trade-offs

Clareza de protótipo de pesquisa sobre uma plataforma clínica reutilizável
Execução em laboratório local sobre implantação web
Controle de marcador beta único em vez de uma API multimodal mais ampla

Resultado

Um artefato concreto de interação cérebro-computador: aquisição de EEG, processamento de sinal, transporte de dados assíncronos e um jogo de neurofeedback interativo conectado em um loop de software de pesquisa reproduzível.

Camada de processamento de sinal

O servidor de processamento é a ponte entre o EEG bruto e o comportamento do jogo. Ele aguarda dados de fluxo estáveis, mantém buffers do experimento e emite um marcador simples que o jogo pode consumir sem precisar conhecer a aquisição de EEG. A limpeza por notch/passabanda pertence ao protocolo do artigo; no implementação, os argumentos iniciais de filtro aparecem, mas o bloco de aplicação em processSample está comentado.

Aquisição via GUI OpenBCI
Entrada e saída LSL
Artigo: janelas de 3 segundos; código executável: buffer de 4 segundos e atualização de 0.3 segundo.
Protocolo do artigo: notch de 60 Hz e passa-banda de 4–100 Hz; implementação: argumentos iniciais de filtro 60/5/35, com aplicação comentada.
Extração de banda PSD por Welch
Saída do marcador beta

Camada do jogo

A interface Pygame foi projetada como um instrumento de feedback, e não como um jogo comum. Ela mantém a tela calma, usa um alvo de foco claro, mapeia a atividade beta para o movimento da aeronave e separa os estados de linha de base, teste ativo e feedback.

Fundo azul de baixa distração
Cue de direção de foco amarelo
fase de linha de base de 2 segundos
6-10 segundos de sessões de treinamento
Cue de início de áudio
Reforço de feedback por sorriso

Stack e domínios

  • Python
  • OpenBCI
  • Lab Streaming Layer
  • pylsl
  • NumPy
  • SciPy
  • Welch PSD
  • Pygame
  • EEG
  • neurofeedback
  • BNEURD