Trabajo de grado - Maestría
EEG-based BCI monitoring framework: Real-time acquisition and visualization from audiovisual stimulation paradigms
Fecha
2022Registro en:
Universidad Nacional de Colombia
Repositorio Institucional Universidad Nacional de Colombia
Autor
Cardona Alvarez, Yeison Nolberto
Institución
Resumen
The widespread use of neurophysiological signals to develop brain-computer
interface (BCI) systems has certainly varied clinical and nonclinical applications.
Main implementations in medical issues include: rehabilitation, cognitive state
analysis, diagnostics, assistive devices for communication, locomotion and
movement. By other hand, there is a bunch of researches that approaches the BCI
systems to healthy people in fields like: neuroergonomics, smart homes,
neuromarketing and advertising, games, education, entertainment and even
security and validation. Not all EEG acquisition systems are capable to use in BCIs
systems. Even if the clinic devices are highly accurate, these implementations have
a limited, or nonexistent, real-time data flow access; because they mainly use is
about diagnostic and offline analysis. Recently, and because of the cheapening
prototyping development, there is in the market a set of low-cost embedded
systems for electroencephalography (EEG) acquisition, i.e., OpenBCI, InteraXon,
Muse, NeuroSky MindWave and Emotiv. All these options usually include a high
or low-level software development kit (SDK), that could be open-source or
proprietary and will come with a different grade of flexibility (rigid or
customizable electrode placement, multiple sampling rates, transmission
protocols, wireless, etc). Many of these devices have shown capabilities to handle
BCI tasks, but they need a context-specific development to boost their base
benefits. Acquiring brain signals is only one task for a BCI system, also it is
necessary to carry out a lot of data processing and controlled experiments, concerning this have been specialized software for developers and researchers
purpose i.e., BCI2000, Neurobehavioral Systems Presentation, Psychology
Software Tools, Inc. ePrime and PsychoPy. All these systems offer greater ease of
use through experimenter interfaces, but they can be costly, require high-level
programming and technical skills, and usually do not support dedicated data
acquisition. For this reason, the acquisition involves the implementation of third
party software and drivers; consequently, losing interesting hardware features in
favor to support as many devices as possible. To implement a BCI system is an
interdisciplinary activity that requires a set of specific and outstanding
knowledges about communication systems, signals acquisition, instrumentation,
clinical protocols, experiments validation, software development, among others.
Besides, in order to perform a real-world experiment, the user must calibrate the
specific set of acquisition system, stimuli delivery and data processing stages.
Current software approaches try to converge multiple technologies and
methodologies to provide general purpose BCI systems. The most popular is the
BCI200, which comes with default paradigms but their interface has been pointed
out to be not very intuitive and its operation is difficult to understand, although, it
is possible to add new paradigms, this include software contributions using their
own libraries and do not through a built-int development interface. Other
software widely used is the OpenVIBE this one includes a graphical drag-and-drop
interface to perform data analysis with an extensive set of pre-defined algorithms.
Its synchronous acquisition system is known for not only occasionally frozen the
computer but also for adding delays to the streaming of the signals. All these
systems handle with an extensive set of compatible devices which may be good at
first glance but make that some specific hardware features are not available for
compatibility reasons. On the side of the open source hardware, we can find that
OpenBCI a flexible option, but with some important lacks. The most important
relies on the communication between the computer and the board is not always
stable and their graphical user interface (GUI) does not provide the possibility of
acquiring data under wich a particular BCI paradigm. Otherwise, their hardware base and SDK features gives to this board a huge potential to implement a
complete BCI system comparable with medical grade equipment.
With all these factors in mind, we aim to develop a standalone BCI system with
the OpenBCI Cyton board that handles the signal acquisition and the stimuli
deliver in the same interface, to reduce the needed infrastructure to perform
neurophysiological experiments. Alongside a distributed platform to improve the
performance, increase the scalability, and reduce the jitter. This software,
BCI-Framework, provides the user with a built-in development environment
enhanced with a custom API for data interactions, montage context, and markers
generation. This environment is full compatible with any Python module and is
focused in the generation of real-time visualizations, data analysis and
network-based stimuli delivery for the remote presentation of audiovisual cues.
This approach converges almost all needed components for BCI researches into a
single standalone implementation.
In a nutshell, the introduced EEG-based BCI framework comprises the following
benefits: i) A portable and cheap acquisition system (hardware) founded on the
well-known OpenBCI devices. ii) This approach includes a wireless, e.g., Wi-Fi,
communication protocol to couple the EEG data acquisition and event markers
synchronization from audiovisual stimulation paradigms. iii) A distributed system
is enhanced within this BCI framework to carry out real-time data acquisition and
visualization while favoring the inclusion of conventional or user-designed EEG
data processing libraries over a Python language environment. In addition, a
latency-based quality assessment method is carried out. (Texto tomado de la fuente) El uso generalizado de señales neurofisiológicas para desarrollar sistemas BCI
ciertamente tiene diversas aplicaciones clínicas y no clínicas. Las principales
implementaciones en temas médicos incluyen: rehabilitación, análisis del estado
cognitivo, diagnóstico, dispositivos de asistencia para la comunicación,
locomoción y movimiento. Por otro lado, hay muchas investigaciones que acercan
los sistemas BCI a personas sanas en campos como: neuroergonomía, hogares
inteligentes, neuromarketing y publicidad, juegos, educación, entretenimiento e
incluso seguridad y validación. No todos los sistemas de adquisición de EEG se
pueden usar en los sistemas BCIs. Incluso si los dispositivos clínicos son muy
precisos, estas implementaciones tienen un acceso limitado o inexistente al flujo
de datos en tiempo real; debido principalmente a que se tratan sistemas enfocados
al diagnóstico y análisis fuera de línea. Recientemente, y debido al abaratamiento
del desarrollo de prototipos, existe en el mercado un conjunto de sistemas
embebidos de bajo costo para la adquisición de EEG, algunos de ellos son:
OpenBCI, InteraXon, Muse, NeuroSky MindWave y Emotiv. Todas estas opciones
suelen incluir un SDK de nivel alto o bajo, que puede ser de código abierto o
privativo los cuales vienen con un grado diferente de flexibilidad (disposición de
electrodos rígida o personalizable, frecuencias de muestreo variable, diferentes
protocolos de transmisión, conexión inalámbrica, etc). Muchos de estos
dispositivos han demostrado capacidades para manejar tareas BCI, pero necesitan
un desarrollo específico del contexto para aumentar sus beneficios básicos. Adquirir señales cerebrales es sólo una tarea indiidual para un sistema completo
de BCI, también es necesario llevar a cabo una gran cantidad de procesamiento de
datos y experimentos controlados, con respecto a esto se ha especializado
software para desarrolladores e investigadores, por ejemplo: BCI2000,
Neurobehavioral Systems Presentación, Psychology Software Tools, Inc. ePrime y
PsychoPy. Todos estos sistemas ofrecen una mayor facilidad de uso a través de las
interfaces del sistema de experimentos, pero pueden ser costosos, requieren
habilidades técnicas y de programación de alto nivel y por lo general, no admiten
la adquisición de datos dedicada. Por esta razón, la adquisición de señales se basa
en la implementación de software y controladores de terceros; en consecuencia, se
pierden características de hardware interesantes a favor de soportar tantos
dispositivos como sea posible. Implementar un sistema BCI es una actividad
interdisciplinaria que requiere un conjunto de conocimientos específicos y
sobresalientes sobre sistemas de comunicación, adquisición de señales,
instrumentación, protocolos clínicos, validación de experimentos, desarrollo de
software, entre otros.
Además, para realizar un experimento del mundo real, el usuario debe calibrar el
conjunto específico de sistema de adquisición, entrega de estímulos y etapas de
procesamiento de datos. Los enfoques de software actuales intentan hacer
converger múltiples tecnologías y metodologías para proporcionar sistemas BCI de
propósito general. El más popular es el BCI200, que incorpora paradigmas
predeterminados pero se ha señalado que su interfaz es poco intuitiva y su
funcionamiento es difícil de entender, aunque es posible agregar nuevos
paradigmas, esto permite incluir contribuciones de software utilizando sus propias
bibliotecas. y no mediante una interfaz de desarrollo integrada. Otro software
ampliamente utilizado es OpenVIBE, este incluye una interfaz gráfica de arrastrar y
soltar para realizar análisis de datos con un amplio conjunto de algoritmos
predefinidos. Su sistema de adquisición sincrónica es conocido no sólo por
congelar ocasionalmente la computadora, sino también por agregar retrasos en la
transmisión de las señales. Todos estos sistemas manejan un amplio conjunto de dispositivos compatibles que pueden ser buenos a primera vista, pero hacen que
algunas características específicas del hardware no estén disponibles por razones
de compatibilidad. Del lado del hardware de código abierto, podemos encontrar
que OpenBCI es una opción flexible, pero con algunas carencias importantes. La
más importante se basa en que la comunicación entre la computadora y la placa no
siempre es estable y su GUI no brinda la posibilidad de adquirir datos bajo un
paradigma BCI particular. Por otro lado, su base de hardware y las características
de SDK le dan a esta placa un gran potencial para implementar un sistema BCI
completo comparable con el equipo de grado médico.
Con todos estos factores en mente, nuestro objetivo es desarrollar un sistema BCI
independiente con la placa OpenBCI Cyton que maneje la adquisición de señales y
la entrega de estímulos en la misma interfaz, para reducir la infraestructura
necesaria para realizar experimentos neurofisiológicos. Junto con una plataforma
distribuida para mejorar el rendimiento, aumentar la escalabilidad y reducir el
jitter. Este software, BCI-Framework, proporciona al usuario un entorno de
desarrollo integrado mejorado con una API personalizada para interacciones de
datos, selección de montaje y generación de marcadores. Este entorno es
totalmente compatible con cualquier módulo de Python y se centra en la
generación de visualizaciones en tiempo real, análisis de datos y entrega de
estímulos a través de conexiones de red para la presentación remota de señales
audiovisuales. Este enfoque reúne casi todos los componentes necesarios para la
investigación de BCI
En pocas palabras, el sistema BCI basado en EEG presentado comprende los
siguientes beneficios: i) Un sistema de adquisición portátil y económico
(hardware) basado en los conocidos dispositivos OpenBCI. ii) Este enfoque incluye
un protocolo de comunicación inalámbrico (Wi-Fi), para acoplar la adquisición de
datos de EEG y la sincronización de marcadores de eventos de paradigmas de
estimulación audiovisual. iii) Se implementa un sistema distribuido dentro de este
entorno BCI para llevar a cabo la adquisición y visualización de datos en tiempo real mientras se favorece la inclusión de bibliotecas de procesamiento de datos
EEG convencionales o diseñadas por el usuario sobre un entorno de lenguaje
Python. Además, se lleva a cabo método para la evaluación de la calidad basada en
la latencia.