Resumen:
Se propone un método de bajo costo computacional para detectar la onda P300 en aplicaciones ubicuas de comunicación y control, el cual se denomina Procesamiento Embebido P300 (PE- P300). La entrada de PE-P300 es una señal electroencefalográfica (EEG) de un canal y la arquitectura de este método se basa en redes neuronales convolucionales. Para implementar el método PE-P300, también se presenta un sistema interfaz cerebro-computadora embebida que utiliza cuatro estímulos visuales en forma de recuadro para evocar la onda P300. La interfaz tiene conectividad con una red de Internet de las cosas para el movimiento o control de sistemas mecánicos. Para los experimentos, se generó una base de datos conformada por las señales EEG de 8 sujetos y de acuerdo con los resultados, PE-P300 es capaz de reconocer la onda P300 en las señales EEG de cada sujeto con un desempeño promedio de 96%. Además, PE-P300 requiere solo un electrodo y es posible realizar el procesamiento en tiempo real por su baja complejidad. Como conclusiones, PE-P300 es uno de los métodos más competitivo en la literatura debido a su desempeño de 96%, baja cantidad de electrodos (un electrodo activo) y a que extiende el procesamiento de la onda P300 a sistemas ubicuos utilizados en aplicaciones cotidianas.
Resume
A low computational cost method is proposed to detect the P300 wave in ubiquitous communication and control applications, which is called P300 Embedded Processing (PE-P300). The PE-P300 input is a one channel electroencephalographic (EEG) signal and the architecture of this method is based on convolutional neural networks. To implement the PE-P300 method, an embedded brain- computer interface system is also presented that uses four square visual stimuli to evoke the P300 wave. The interface has connectivity to an Internet of Things network for movement or control of mechanical systems. For the experiments, a EEG database of 8 subjects was generated and according to the results, PE-P300 can recognize the P300 wave in the EEG signals of each subject with an average performance of 96%. Furthermore, PE-P300 requires only one electrode and real- time processing is possible due to its low complexity. In conclusion, PE-P300 is one of the most competitive methods in the literature due to its 96% performance, low number of electrodes (one active electrode), and because it extends the processing of the P300 wave to ubiquitous systems used in everyday applications.
Palabras clave: Onda P300, electroencefalografía, redes neuronales convolucionales, interfaz cerebro computadora.
Keywords: P300 wave, electroencephalography, convolutional neural networks, brain-computer interface
Biomédica
Procesamiento Embebido de P300 Basado en Red Neuronal Convolucional para Interfaz Cerebro-Computadora Ubicua
Recepción: 21 Marzo 2020
Aprobación: 17 Diciembre 2020
La onda P300 es un potencial relacionado a evento que se presenta como una deflexión positiva en la actividad cerebral 300 ms después de la exposición a un estímulo externo. Esta onda se puede estudiar en señales de EEG y se aplica de forma exitosa en comunicación de personas con discapacidad severa, domótica y diagnóstico médico. Para evocar la onda P300, generalmente se recurre al paradigma Oddball, el cual consiste en presentar un estímulo externo en forma aleatoria y repetida entre un grupo de estímulos que se pueden considerar discordantes.
Existen diversos trabajos que recurren al análisis de P300, ya que esta onda tiene un alto porcentaje de reconocimiento (Li et al., 2020) y se puede utilizar en aplicaciones como diferenciación de la edad, medición de alcoholismo (Gamboa & Cruz, 2008; Hamidovic & Wang, 2019), comunicación y control enfocado a personas con Alzheimer (Dal-Bianco et al., 2018; Jervis et al., 2020), esclerosis lateral amiotrófica (McCane et al., 2015), epilepsia (Akramova, 2017; Zhong et al., 2019), parálisis cerebral (Kim & Lee, 2016), etc. Los diversos sistemas de control y comunicación que utilizan la onda P300 son muy variados, por ejemplo, Akman et al. proponen A-BCI (AKMAN AYDIN et al., 2017), un algoritmo para determinar las intenciones de un sujeto para controlar un sistema de internet por medio de 16 electrodos activos que tuvo un 93.71% de desempeño promedio. Corralejo et al. proponen en (Corralejo et al., 2014) el desarrollo de una herramienta para que personas con discapacidad por medio de 8 electrodos activos operen electrodomésticos que logra un desempeño de 74.4%. Masud et al. proponen en (Masud et al., 2017) un sistema de control por 6 electrodos activos para casa inteligente con un clasificador de Random Forest y se logró un desempeño de 87.5%. Lindig-León y Yáñez-Suárez proponen en (Lindig-León & Yáñez-Suárez, 2013) un algoritmo basado en función discriminante lineal (LDA) y decisión bayesiana para un deletreador de Donchin de tiempo reducido con 10 electrodos activos. Como resultado, obtuvieron el mismo desempeño que el deletreador de Donchin clásico, pero con sesiones de menor tiempo. Jijun et al. desarrollaron en (Tong et al., 2015) una interfaz cerebro-computadora basada en P300, una diadema emotiv EPOC® con 14 electrodos activos y una Tablet para generar un sistema que apoye en tareas cotidianas a personas con parálisis cerebral, traumas y esclerosis. El desempeño promedio del sistema fue de 88%. Kamran-Haider et al. hacen un análisis de clasificadores en (Jamshed et al., 2018) de señales EEG de 12 electrodos activos para reducir el ruido en aplicaciones de poligrafía y detección de mentiras. En este análisis, se incluyeron los clasificadores de máquina de soporte de vectores (SVM), función discriminante lineal (LDA), k-vecinos más cercanos (KNN) y redes neuronales artificiales (ANN). Entre estos clasificadores, ANN es el que tuvo mejor desempeño con 89%.
De acuerdo con el análisis de literatura realizado, se observó que la detección de la onda P300 se lleva a cabo mediante algoritmos con un enfoque de aprendizaje automático que tienen una etapa de extracción de características y una de clasificación. Para extraer características, se utilizan los métodos de single-trial (Thigpen & Keil, 2017), análisis de componentes principales (PCA) (Mirghasemi et al., 2006; Swarnkar et al., 2016) y transformada Wavelet (Ghassemzadeh & Haghipour, 2016; Uma & Kumar, 2014; Wang et al., 2014). Estos modelos se utilizan para reducir la cantidad de información cuando se obtiene el P300 con una gran cantidad de electrodos. Para clasificación, es común el uso de los métodos de LDA por partes (Capati et al., 2016; Ghassemzadeh & Haghipour, 2016; Li et al., 2020), SVM (Bhatnagar et al., 2016; Momennezhad et al., 2014; Rakotomamonjy & Guigue, 2008) y redes neuronales convolucionales (CNN) (Carabez et al., 2017; Liu et al., 2018; Vařeka, 2020). LDA por partes es un clasificador popular en múltiples aplicaciones de P300, pero requiere de una cantidad significativa de electrodos (8,16 y 64) para tener resultados aceptables. Los clasificadores basados en SVM y CNN han generado mejores resultados que LDA por partes, pero requieren de varios electrodos y se conforman de varias redes CNN o combinaciones de múltiples SVM.
Consecuentemente, el diseño y prueba de los métodos para procesar señales EEG relacionados a la onda P300 requiere de computadoras costosas con altas capacidades de procesamiento para lograr un buen desempeño. Esta complejidad en los cálculos se debe principalmente a que las señales EEG se adquieren con una cantidad significativa de canales y a mayor cantidad, mayor número de operaciones como es el caso de (Cecotti & Gr, 2011; Rakotomamonjy & Guigue, 2008) donde se utilizan 64 electrodos y desarrollan métodos que requieren costo computacional alto. Además, las señales son ruidosas y las interfaces para evocar el P300 se diseñan con una gran cantidad de estímulos; generalmente el deletreador de Donchin tiene 36 estímulos (Ron-Angevin et al., 2019) y se utilizan las intensificaciones de renglón-columna, lo que provoca un mayor costo en las operaciones de procesamiento en las señales EEG. Sin embargo, ha surgido recientemente una amplia variedad de tecnologías portables y simples de utilizar que obtienen señales EEG con mejor calidad.
Por todo lo mencionado anteriormente, el objetivo de este trabajo es combinar tecnologías de sistemas BCI con la capacidad de generalización de los modelos de aprendizaje profundo, para desarrollar un método de procesamiento embebido de señales EEG de bajo costo computacional. Por lo tanto, en este artículo se propone:
1. Un método con bajo costo computacional para la detección de la onda P300 denominado Procesamiento Embebido P300 (PE-P300).
2. Una interfaz cerebro computadora embebida.
3. Base de datos compuesta por señales EEG.
PE-P300 está orientado al desarrollo de sistemas ubicuos que auxilien a las personas con discapacidad a que realicen tareas por medio de Internet de las cosas (IoT por sus siglas en inglés). Este algoritmo tiene como entrada la información de un solo canal EEG y su procesamiento se basa en una CNN con solo una capa de extracción de características para detectar el P300. Además, para la experimentación y prueba de PE-P300, se propone la implementación de una interfaz cerebro- computadora embebida. Dicha interfaz evoca el P300 mediante cuatro estímulos visuales, tiene una tecnología reciente de adquisición de señales EEG, un procesador embebido portable y una conexión a una red IoT con esquema de computación en la frontera que permite el desarrollo de aplicaciones ubicuas con P300. Con esta interfaz se elabora una base de datos que servirá para ser analizada por PE-P300.
La descripción del artículo se detalla en el sentido de la creación del sistema BCI embebido para generar una base de datos y posteriormente analizarla con PE-P300, por lo que el resto del artículo se organiza de la siguiente manera: la sección 2 presenta los elementos de hardware que componen la interfaz cerebro-computadora embebida, la base de datos desarrollada en este trabajo y la descripción del software o método propuesto PE-P300 que se implementa en la interfaz cerebro- computadora embebida. La sección 3 presenta los resultados, la sección 4 la discusión y la sección 5 las conclusiones.
La Figura 1 muestra que el sistema propuesto se compone de una etapa de adquisición de señales EEG, una interfaz gráfica para evocar el P300, un procesador embebido para correr el algoritmo PE- P300 y una aplicación remota que se enlaza mediante una red IoT. La red IoT se basa en el esquema de computación en la frontera (Ning et al., 2019) y permite el desarrollo de aplicaciones del sistema BCI ubicuas.

Para evocar la onda P300, se utilizaron estímulos visuales con forma de recuadros que cambian de negro a blanco (uno a la vez) de manera aleatoria mientras que el sujeto mira fijamente uno de ellos, como muestra la Figura 2. El cambio de color blanco-negro se seleccionó debido a que está demostrado que esta combinación produce mayor amplitud en potenciales evocados (Cao et al., 2012). Para establecer los tiempos de cambios de color en los recuadros, se tomó como base el diagrama de tiempos de la base de datos BCI Competition III dataset II (Blankertz, 2004). El diagrama propuesto se observa en la Figura 2, donde el tiempo de intensificación TH (solo uno de los cuatro recuadros es color blanco) es de 100 ms o 25 muestras recibidas, mientras que el tiempo donde todos los recuadros permanecen en negro TL es de 120 ms o 30 muestras recibidas. Se le denomina sesión a la presentación de estímulos a un sujeto, mientras se obtienen señales EEG. Cada sesión se compone de la toma de 1000 muestras, la exposición de sesenta intensificaciones aleatorias entre los cuatro recuadros (3300 muestras) y 250 muestras extra después de la última intensificación, dando como resultado 4550 muestras (18.2 segundos). El número de intensificaciones está basado en la construcción de la base de datos BCI Competition III dataset II que se basa en el deletreador de Donchin propuesto en (Farwell & Donchin, 1988), y este número de intensificaciones se utiliza para evocar la onda P300.

La etapa de adquisición está basada en el dispositivo Cyton de OpenBCI® y tres electrodos de copa de oro que se colocan en las posiciones del cuero cabelludo Oz, A1 (tierra) y Fpz (referencia). Los electrodos se conectan a la tarjeta de adquisición Cyton para convertir la actividad EEG del canal Oz a señal digital con una frecuencia de muestro Fs de 250Hz. La señal obtenida del electrodo Oz se define como s(n) donde n son 4550 muestras tomadas durante 18.2 s. Esta señal se transfiere a la tarjeta embebida Raspberry Pi 3 modelo B+ vía Bluetooth 4.2/BLE para ser analizada por el algoritmo PE-P300 y detectar el estímulo que el sujeto mira fijamente durante la sesión que fue obtenida la señal s(n). La tarjeta Cyton de 32 bits utiliza el conversor análogo digital ADS1299 de Texas Instruments y el microcontrolador PIC32MX250F128B para la digitalización de la señal, además, esta tarjeta fue seleccionada porque es portátil, de bajo costo, se puede utilizar con cualquier plataforma de computación basada en Python y las señales EEG obtenidas presentan poco ruido en comparación con los dispositivos BCI comerciales y clínicos. La Raspberry Pi fue seleccionada ya que se puede programar con Python y se puede utilizar en aplicaciones ubicuas basadas en sistemas embebidos.
Una vez que PE-P300 procesa la señal s(n) (proceso que se explica en la subsección 2.3) la Raspberry utiliza el puerto WiFi para enviar a un servidor local la dirección del estímulo que el sujeto miró fijamente. El servidor es cualquier computadora que tenga instalado el software que se diseñó en este trabajo, el cual se diseñó Python 2.7 y se basó en el esquema hilo-socket. Como requerimiento de hardware solamente es necesario contar con un mínimo de 256 Mb de memoria RAM y 512 Mb de espacio en disco duro. El sistema operativo tiene dos procesos que se muestran en la Figura 3, uno de codificación de mensaje y otro para enviar la señal EEG a la nube. Para la codificación del mensaje, el servidor recibe la dirección del estímulo mediante un socket de entrada. El sistema operativo tiene un hilo que reconoce la interfaz cerebro-computadora utilizada en la sesión y recibe la dirección del estímulo para codificar el mensaje que el sujeto seleccionó de la interfaz (Figura 3a). Dicho mensaje se envía a un host que está en la nube y al socket de salida para controlar alguna aplicación como el driver de un motor, definir una trayectoria de una silla de ruedas, encender/apagar una televisión, un foco o un sistema de aire acondicionado y calefacción.
El proceso de enviar la señal EEG se muestra en la Figura 3b, un socket recibe los datos de la señal EEG para que un hilo los envié a un host de la nube y que cualquier dispositivo móvil pueda tener acceso a ellos. De esta manera, un médico puede monitorear la señal de forma remota.

Estos procesos generados en el servidor local permiten que el sistema BCI embebido tenga una conectividad de computación en la frontera dentro de cualquier red IoT. Esta conectividad permite al sistema BCI funcionar de forma ubicua, es decir que el sistema es portable y funciona en cualquier parte que exista conectividad a WiFi
Los recuadros en la interfaz pueden tener un significado que dependerá de la aplicación que se está utilizando. Es decir, los recuadros en la interfaz se muestran en diferentes diseños, por ejemplo, la Figura 4a muestra un diseño para controlar el encendido y giro de un mecanismo compuesto por un motor de corriente directa de la Figura 4b, el cual simula el movimiento de un actuador para prótesis o silla de ruedas. En este caso, el significado que representa cada recuadro está dado por las flechas y el símbolo de stop más cercano a ellos. De esta manera, si el sujeto fija su mirada en el recuadro de la flecha en dirección de las manecillas de reloj, al terminar la sesión y que EP-P300 determine el recuadro en el cual se fijó la mirada, el mecanismo rotativo girará en el sentido de las manecillas del reloj.

La Figura 5 muestra otro diseño de la interfaz cuya aplicación es un control para domótica que controla una silla de ruedas para llevar a una persona a diferentes ubicaciones dentro de una casa. En este caso, si el sujeto fija su mirada en el recuadro inferior de la Figura 5a, significará que desea trasladarse a la recámara, por lo cual una vez en el lugar, se despliega el menú de la Figura 5b, dando la opción de ir a un lugar más específico en la recámara. Cabe mencionar que este diseño es ilustrativo para demostrar que se pueden realizar varios diseños con la interfaz de 4 recuadros para diferentes aplicaciones.

Para el diseño de algoritmos, se creó una base de datos compuesta de muestras obtenidas bajo un protocolo de adquisición cuya primer etapa es aplicar un cuestionario creado para documentar y validar que el sujeto de pruebas cumpla el perfil para los experimentos (Lee, 2018). A pesar de que se utilizan sujetos sanos para la base de datos, se aseguró que cumplieran algunos requerimientos, por lo que, bajo preguntas, el cuestionario documenta si el sujeto no presenta sueño, cansancio, ingesta de medicamentos y si tiene familiares directos con trastornos o tumores cerebrales. Lo anterior se realiza dado que la respuesta afirmativa de una de estas preguntas está relacionada a alteraciones con la presentación de la onda P300 (Di et al., 2010; Kim & Lee, 2016). En la segunda etapa del protocolo, se colocan los electrodos en las posiciones Oz, Fpz y A1.
Posteriormente, se le dan indicaciones al sujeto de prueba de permanecer quieto en una silla cómoda fijando la mirada solamente en uno de los recuadros (estímulo) de la interfaz. La última etapa del protocolo es el procedimiento para la toma de muestras mientras se realiza la exposición de estímulos. En esta etapa, el sujeto mira fijamente solo un estímulo de la interfaz de la Figura 2 mientras estos se intensifican aleatoriamente 15 veces cada uno.
Se generó una base de datos con 8 sujetos sanos de 21-25 años del laboratorio de investigación “Percepción Visual con Aplicaciones en Robótica” del Tecnológico Nacional de México / Instituto Tecnológico de Chihuahua seleccionados voluntariamente, siete de sexo masculino y una del sexo femenino. Del grupo de sujetos, fueron seleccionados con estas características debido a que se utiliza comúnmente este rango de edades y proporciones en la literatura (Kuziek et al., 2017; Samima et al., 2017; Zhang et al., 2016). A cada sujeto se le realizaron 48 sesiones, las cuales generaron 48 señales s(n) y cada una de ellas corresponde en haber fijado la mirada en cada uno de los estímulos. De esta manera, la base de datos es un arreglo compuesto por 48x4550 por sujeto que se refieren a 48 señales de 4550 datos.
Para el análisis de la base de dato se utiliza el algoritmo PE-P300 que se detalla en la sección 2.3 y está basado en un modelo de redes neuronales convolucionales. Este modelo se entrena y valida por sujeto dado que la latencia y amplitud de la onda P300 en cada sujeto es diferente. De esta manera, de las 48 señales por sujeto, se destinan 28 señales para entrenamiento y 20 por sujeto para la validación de la red neuronal convolucional (subsección 2.3.3). Los datos fueron seleccionados de forma aleatoria para cada conjunto. La Figura 6 muestra un ejemplo de lo que se puede obtener con el sistema, una señal s(n) donde se obtiene el P300 y una señal donde solo se tiene ruido (no P300). La señal continua corresponde a una ventana de 200 ms después de que se el sujeto estaba mirando el recuadro que se intensificó, y la discontinua a una ventana después de que se intensificó un recuadro que el sujeto no estaba mirando.

Este método detecta el estímulo que el sujeto mira fijamente y de acuerdo con la Figura 7, tiene cuatro etapas: preprocesamiento, agrupamiento, detección de P300 y clasificación.

Esta etapa consiste en un filtrado con un filtro digital Butterworth pasabandas de orden 3 con frecuencias de corte de 1 a 15 Hz. Estas características fueron seleccionadas como base del trabajo (Ramirez-Quintana et al., 2020), además de que este filtro es IIR con la banda de paso más plana y el orden de este filtro presentó la eliminación de ruido suficiente en las señales EEG. El filtro se implementa mediante la siguiente función de transferencia:

El filtro se aplica en la señal debido a que la onda P300 se compone de frecuencias que están en el rango definido por las frecuencias de corte (Rakotomamonjy & Guigue, 2008). El filtro presenta distorsión de fase en las primeras muestras, por lo que el análisis a partir del filtrado se realiza en el intervalo 1001 < n ≤ 4550, además, las intensificaciones comienzan después de la muestra 1000. La salida del filtro se define como sf(n). Posteriormente, se realiza una normalización con Z-score (Kundu & Ari, 2017) para obtener una señal con media cero y desviación estándar unitaria, lo que hace que las señales de todos los sujetos estén en el mismo rango dinámico de amplitud y media cero. Esta normalización se define por:

donde su(n) es la señal normalizada, µsf la media de la señal filtrada y σsf la desviación estándar.
Esta etapa consiste en generar un arreglo de señales promedio que miden la presencia de la onda P300 después de cada estímulo j. Para ello, primero se descompone su(n) en 60 fragmentos de 400 ms, que van desde los 100 ms a 500 ms después de la intensificación de cada estímulo. Es decir, cada señal su(n) se descompone en 60 fragmentos con intervalos de 400 ms, ya que en ese intervalo de tiempo es cuando se presenta la onda P300 (Samima et al., 2017). Debido a que la frecuencia de muestreo es 250Hz, cada fragmento se compone de 100 muestras. Estos fragmentos se definen como Pij(m) donde i=1,…,15 son los fragmentos presentados después de la intensificación del estímulo j, donde j=1,…,4. Es decir, Pij(m) se divide en cuatro grupos, donde cada grupo contiene quince fragmentos de la señal su(n) después de la presentación de cada estímulo j. Finalmente, el agrupamiento se realiza con el promedio por grupos dado por:

donde m es un índice para las muestras en el fragmento de 400 ms, XEj(m) es un arreglo de 4 señales de 100 datos cada una, las cuales corresponden a los cuatro promedios de los 15 fragmentos luego de la intensificación de cada estímulo. Debido a que el sujeto observa solo un estímulo, una de las señales del arreglo XEj(m) debe contener la onda P300. De esta forma la señal XEj(m) representa el vector de características de cada sesión.
Esta etapa detecta la presencia de la onda P300 con una red neuronal convolucional basada en la red CNN300 del sistema LEBci de (Ramirez-Quintana et al., 2020). La red CNN300 tiene como entrada los agrupamientos por estímulos de canales EEG O1, Oz y O2 XEj(m,c), donde c se refiere al canal O1, O2 y Oz. CNN300 extrae características con dos capas de convolución y rectificación lineal y clasifica con una capa totalmente conectada con función de activación softmax. La primera capa de convolución y rectificación reducen la dimensión de las muestras y generan mapas de características, mientras que la segunda capa de ellas reduce a un canal la información de los tres canales EEG. La capa de clasificación encuentra la probabilidad de que las señales EEG contengan la onda P300.
No obstante, PE-P300 utiliza un canal EEG (Oz). Para esta red, la entrada son los agrupamientos XEj(m) del canal Oz, por lo que solo se utiliza una capa de convolución y rectificación lineal, como se observa en la Figura 8. La clasificación también se compone una capa totalmente conectada y con función de activación softmax.

La capa convolucional realiza treinta mapeos k=1,…,30 de cada promedio j de la señal de entrada XEj(m) en conjuntos de características mediante la convolución espacial con k filtros lineales. Estos filtros se definen por un conjunto de pesos wk, que fueron definidos variando experimentalmente la longitud, donde finalmente se determinó 1x70 (q=1,…,70) dados los mejores desempeños (Pamuła, 2018) y se componen también de la polarización Bk. De esta manera, cada mapeo ckj(p) se define como:

cada mapeo ckj(p) tendrá una dimensión 1x31 (p=1,…,31, resultado de la convolución espacial). La siguiente capa está dada por una función de activación denominada rectificador lineal (ReLU) (Liu et al., 2018). La función característica de esta capa es la siguiente expresión:

Esta etapa ajusta los valores p de ckj(p) para tomar solo aquellos que estimulan a la red de acuerdo con la Ecuación (5), donde se toma el valor de ckj(p) si es positivo, o cero si es negativo. Para la clasificación del modelo de la red propuesta en la Figura 8, se toma cada valor del arreglo rkj(p) y se unen en un nuevo arreglo denominado uj(l) con dimensión 930 resultado de pxq (l=1,…,930), lo cual se caracteriza por lo siguiente:

donde P=100. El arreglo uj(l) es la entrada de dos neuronas v={1,2} en la capa totalmente conectada (Fully Connected), caracterizada por lo siguiente:

donde φvj contiene los valores de salida de la capa totalmente conectada de las dos neuronas.
Finalmente, la función softmax calcula la probabilidad de que φvj pertenezca a la clase P300 (αEj) o la clase No P300 (βEj) . Esta función se describe de la siguiente forma (Ramirez-Quintana et al., 2020):

donde Φvj da valores en términos de probabilidad. Si Φv=1, entonces la salida de la red es el vector αEj que contiene la probabilidad de presencia de la onda P300 para cada señal EEG de cada estímulo j. Asimismo, si Φv=2, entonces la salida de la red es el vector βEj que indica la probabilidad de No P300.
Una vez que se determinan los valores de pertenencia a cada clase de cada agrupación j en XEj(m), se determina cuál de ellos cuenta con mayor probabilidad de presencia de la onda P300. Para ello, se utiliza el parámetro αEj que representa a la clase P300, que fue seleccionado debido a que indica la presencia de la onda P300. Para ello, se considera como decisión tomar el valor máximo de probabilidad de los estímulos j de la siguiente manera:

e hace referencia al índice del número de estímulo j al que se fijó la mirada durante la sesión de toma de muestras.
Esta sección presenta los resultados en referente a la implementación, desempeño de PE-P300 y una comparación del funcionamiento del sistema BCI con método con otros sistemas populares en la literatura que procesan el P300 para tareas cotidianas.
Los tiempos del sistema se presentan en la Tabla 1, donde se especifica que el tiempo de duración de una sesión para evocar el P300 es de 18.2 segundos. Se generaron dos diseños con la interfaz gráfica que evocan el P300 para control de motor, activación de trayectorias en una casa y controles de iluminación, temperatura y televisión. El tiempo de procesamiento de la señal EEG por PE-P300 es de 1.8 s. El resultado del procesamiento es el estímulo que el sujeto seleccionó, el cual es trasmitido por Wifi a un servidor local. El tiempo de envío del estímulo identificado de la Raspberry al servidor es de 86.3 microsegundos.

El servidor local tiene la opción de pedir los datos filtrados EEG de sf(n) después en recibir el estímulo seleccionado. Esta opción se utiliza para que el servidor local envíe estos datos EEG a un host que encuentra en la nube para seguimiento médico. El tiempo de envío de la señal EEG de la Raspberry al servidor es de 35.28 milisegundos.
Estos tiempos de sesión, procesamiento y trasmisión son factibles para que el sistema BCI embebido funcione correctamente en línea con cualquier aplicación.
Se elaboró un análisis donde se incluyen las métricas de reconocimiento (R), precisión (P) y F- measure (F1), los cuales se definen en (Yaacoub et al., 2017). Este análisis se describe a detalle en la Tabla 2 e incluye las etapas de entrenamiento y validación para el total de sujetos.
R, P, y F1 tuvieron valores cercanos a uno en el conjunto de entrenamiento, lo que significa que PE-P300 se ajustó correctamente a los datos de dicho conjunto. Sin embargo, en el conjunto de prueba, R bajo a 0.93 y P bajo hasta 0.86. De acuerdo con las definiciones de R, P y F1 de (Yaacoub et al., 2017), esto significa que la red tuvo mejor desempeño en la detección de señales con la onda P300 que en las señales sin P300, es decir, tuvo más falsos positivos que falsos negativos. Esta tendencia a falsos positivos se debe a la composición de las señales de la base de datos, ya que algunos sujetos perdían la concentración momentáneamente debido a que tenían sueño durante las sesiones de adquisición, generándose señales P300 de baja amplitud cuando no se debe presentar esta onda. Esto no se refleja en el entrenamiento ya que la red se ajusta a las señales que se presentan. Sin embargo, si se reflejaba en el conjunto de prueba ya que estas P300 que no se debían presentar varían mucho en amplitud y latencia, causando que estas P300 sean diferentes entre las del conjunto de señales de entrenamiento y las del conjunto de señales de prueba. Lo anterior se ilustra en la Figura 9, con óvalos verdes se denota un ejemplo de señales en la etapa de entrenamiento, mientras que con óvalos verdes señales de la etapa de prueba. La baja cantidad de falsos negativos indican que el ruido generado en la señal EEG no es significativo en el desempeño de PE-P300.



Se puede observar en las Tablas 2 y 3 que los sujetos con los resultados bajos de P, R y F1 tienen desempeños menores a 100%. Por lo tanto, de acuerdo con estos resultados, PE-P300 puede generar falsos positivos si el sujeto realiza previamente alguna actividad que le cause fatiga mental.
Para ubicar el desempeño promedio de la Tabla 3, se realizó una comparación del sistema BCI propuesto con otros reportados recientemente en la literatura que se diseñaron para aplicaciones específicas en entornos cotidianos. Esta comparación no considera los métodos probados en BCI Competition de (Cecotti & Gr, 2011; Liu et al., 2018) ya que estos no se pueden implementar en sistemas de baja capacidad de cómputo o embebidos. No existe una metodología de comparación en sistema BCI embebidos o ubicuos, por lo tanto, se generó un esquema de selección de sistemas BCI para aplicaciones específicas que fueran de reciente publicación y reportarán la siguiente información:
Numero de sujetos (NSuj): entre más sujetos se involucren en la evaluación del método propuesto, se conocerá mejor la capacidad de generalización de dicho método, ya que se tiene un universo de muestras más apropiado para el entrenamiento.
Dispositivo de adquisición (Dadq): para desarrollar un sistema BCI embebido y ubicuo se deben considerar el precio comercial, calidad de las señales obtenidas y acceso a ellas en tiempo real.
Por ejemplo, un dispositivo costoso es poco factible para personas de escasos recursos.
Número de canales (NCh): al tener la menor cantidad posible de electrodos en el cuero cabelludo, mayor es la comodidad en el uso del BCI y se puede tener un buen desempeño con la menor capacidad de procesamiento posible.
Desempeño (Des): se refiere a la cantidad de muestras correctamente detectadas entre la cantidad total de muestras. Esta métrica es la más utilizada en la literatura para medir la capacidad de clasificación del algoritmo.
Clasificador (Cl): es el algoritmo que se utiliza para determinar en cuál de las señales de entrada se localiza la onda P300.
Variables (M): Relacionado al costo computacional, es el número de variables necesita el algoritmo para analizar una señal de entrada. Se toma a consideración solamente la etapa de clasificación sin tomar en cuenta el preprocesamiento y la extracción de características.
A continuación, se presenta una breve descripción de los métodos seleccionados y en la Tabla 4 se muestra la información de Nsuj, Dadq, NCh, Des, Cl y variables de cada uno.

LEBci: es un método que analiza señales EEG obtenidas de 8 sujetos con el dispositivo OpenBCI© y el uso de 3 canales. El método procesa las señales con un arreglo EEG de señales promediadas y realiza la clasificación por medio de un modelo CNN. LEBci Se obtiene un desempeño promedio de 96.43% (Ramirez-Quintana et al., 2020).
Silla de ruedas: se presenta una silla de ruedas controlada con P300 que utiliza una interfaz con cinco estímulos que representan los controles de la silla. El procesamiento se basó en análisis discriminante lineal (LDA) (Minguez et al., 2009).
Dispositivo móvil: se propone un BCI basado en P300 que se puede comunicar con un dispositivo móvil con iOS. Para evocar el P300, existe una interfaz en un dispositivo móvil que genera tres estímulos representados con dibujos. El procesamiento se basa en filtros selectivos de frecuencia (Anil et al., 2018).
Casa inteligente: se presenta un control basado en P300 para casa inteligente que consta de seis estímulos con figuras de objetos a controlar (TV, teléfono, radio, persianas, luz y temperatura). El procesamiento se basa en un método ANFIS (Achanccaray et al., 2017).
A-BCI: utiliza una interfaz basada en el paradigma RBP (Region based paradigm) para evocar el P300. El procesamiento se lleva a cabo por un análisis discriminante lineal (LDA) (AKMAN AYDIN et al., 2017).
Navegador web: es un sistema para navegar en Internet basado en P300 y tiene una interfaz basada en el paradigma Odbball que contiene una gran cantidad de estímulos que representan caracteres alfanuméricos y acciones para navegar. El método de procesamiento es LDA (Martinez- Cagigal et al., 2017).
Submatrix: se desarrolla un sistema basado en cuatro deletreadores para evocar la onda P300. Estos deletreadores contienen caracteres alfanuméricos. Se ponen a prueba dos algoritmos, valor máximo y pseudo-kurtosis, con los que se obtiene un 96.03% y un 94.81% de desempeño promedio (Shen et al., 2015).
Sistema de manejo remoto: es un sistema que controla remotamente actuadores mecánicos para el manejo de un carro prototipo. La interfaz para evocar el P300 tiene cuatro símbolos que indican dirección y aceleración. El procesamiento se basa en un LDA cuya entrada son cinco características (De Venuto et al., 2017).
Único intento P300: es un método que propone el análisis de la base de datos BCI Competition dataset II en la selección de un único canal; Cz, Fz o Pz. El método puede reconocer la onda P300 en las señales EEG con resultados por debajo del 65% de desempeño promedio. Como métodos de procesamiento se utiliza un análisis de componentes principales basado en un filtro de Wavelet y un LDA como clasificador (Haghighatpanah et al., 2013).
Máquina de aprendizaje extremo P300: se propone un método para el análisis de señales de 9 sujetos con un solo canal, utilizando una máquina de aprendizaje extremo para procesar las señales EEG. El método alcanza un desempeño promedio de un 85.72%. (Xie et al., 2014)
Se puede observar en la Tabla que PE-P300 tiene un mejor desempeño que Silla de ruedas, dispositivo móvil, Casa inteligente, A-BCI, Sistema de manejo remoto, único intento P300 y máquina de aprendizaje extremo P300. Por otro lado, PE-P300 tiene un desempeño similar a Submatrix y el Navegador web, pero a diferencia de estos métodos, PE-P300 utiliza solo un canal EEG. Además, PE-P300 tiene como dispositivo de adquisición a OpenBCI©, el cual es de código abierto y se puede conectar a cualquier computadora o sistema embebido. Los métodos de Silla de ruedas, Casa inteligente, A-BCI, Navegador web, Submatrix y sistema de manejo remoto utilizan dispositivos que se conectan a computadoras de alta capacidad de procesamiento y enfocados a aplicaciones clínicas.
En lo referente a costo computacional, se puede observar que PE-P300 tiene un costo computacional menor que los métodos de (Ramirez-Quintana et al., 2020), (Minguez et al., 2009), (Achanccaray et al., 2017), (AKMAN AYDIN et al., 2017) y (Martinez-Cagigal et al., 2017). Esto se debe a que a pesar de que PE-P300 se basa en una CNN, solamente se procesa j=4 estímulos, mientras que los demás métodos procesan utilizan de j=9 a 45 estímulos. Los métodos de (Anil et al., 2018), (Shen et al., 2015), (De Venuto et al., 2017), (Haghighatpanah et al., 2013) y (Xie et al., 2014) no proporcionan suficiente información para hacer el cálculo de costo computacional, pero (Anil et al., 2018) y (De Venuto et al., 2017) tienen desempeños muy bajos, mientras que (Shen et al., 2015) utiliza 10 electrodos. Aunado a esto, (Haghighatpanah et al., 2013) y (Xie et al., 2014) son métodos que utilizan un solo canal pero tienen desempeños por debajo de un 85.72%, además, fueron elaborados hace 7 y 8 años.
Los algoritmos de procesamiento de todos los métodos reportados en la literatura para procesamiento embebido de P300 se basan en LDA, ANFIS e inferencias de momentos estadísticos. Por otro lado, PE-P300 se adapta a las señales P300 de cada sujeto debido al entrenamiento y el algoritmo que aprovecha las ventajas las redes neuronales convolucionales, pero con un bajo costo computacional.
En este artículo se presentó PE-P300, un método para detectar la onda P300 en un sistema BCI embebido ubicuo con conectividad a una red IoT como sistema de computación en la frontera. El método tiene como entrada los datos de una señal EEG adquirida solo con el electrodo Oz y el procesamiento se basa en la arquitectura de una red neuronal convolucional. PE-P300 tiene un conjunto de interfaces para evocar la P300 que se diseñaron para brindar servicios de comunicación y control. El procesamiento de PE-P300 se basa en un filtro pasabandas de tercer orden, una etapa de promediado de la señal y una red neuronal convolucional. Esta red cuenta con una capa para extracción de características y una capa totalmente conectada con función de activación softmax para determinar la probabilidad de obtener la onda P300. Esta probabilidad es utilizada para determinar el estímulo que el sujeto selecciono.
De acuerdo con los tiempos de sesión, procesamiento y envío al servidor, PE-P300 es factible para aplicaciones de sistemas embebidos y de computación en la frontera. De acuerdo con la evaluación del desempeño, PE-P300 funciona correctamente si el sujeto sigue adecuadamente el protocolo. En caso de que el sujeto pierda la concentración, se pueden tener falsos positivos. El estudio comparativo mostró que el método propuesto tiene uno de los mejores desempeños reportados en la literatura debido a la red neuronal convolucional adaptada a una entrada EEG y a un bajo costo computacional.
Consecuentemente, debido al desempeño y bajo costo computacional, PE-P300 es un método que permite el desarrollo de sistemas BCI embebidos ubicuos que se pueden utilizar en cualquier entorno cotidiano.





















