4 research outputs found

    A Python-based Brain-Computer Interface Package for Neural Data Analysis

    Get PDF
    Anowar, Md Hasan, A Python-based Brain-Computer Interface Package for Neural Data Analysis. Master of Science (MS), December, 2020, 70 pp., 4 tables, 23 figures, 74 references. Although a growing amount of research has been dedicated to neural engineering, only a handful of software packages are available for brain signal processing. Popular brain-computer interface packages depend on commercial software products such as MATLAB. Moreover, almost every brain-computer interface software is designed for a specific neuro-biological signal; there is no single Python-based package that supports motor imagery, sleep, and stimulated brain signal analysis. The necessity to introduce a brain-computer interface package that can be a free alternative for commercial software has motivated me to develop a toolbox using the python platform. In this thesis, the structure of MEDUSA, a brain-computer interface toolbox, is presented. The features of the toolbox are demonstrated with publicly available data sources. The MEDUSA toolbox provides a valuable tool to biomedical engineers and computational neuroscience researchers

    Machine Learning para MI-BCI orientada al procesado de las señales EEG en tiempo real

    Get PDF
    Una interfaz cerebro-ordenador (Brain Computer Interface (BCI)) es un sistema que lee señales emitidas en el cerebro, las interpreta y las convierte en ordenes según como se haya identificado la señal producida. Es una forma de comunicarse el cerebro con un ordenador sin necesidad de interactuar físicamente con él. Esto tiene multitud de usos, pero es especialmente útil para ayudar a personas con discapacidad. A medida que pasan los años cada vez hay más avances en estos sistemas, es una tecnología que sigue desarrollándose, pues todavía no se conocen todos los misterios del cerebro humano, aunque ha habido grandes avances en los últimos años. En lo que respecta a este trabajo, primero se hace una introducción con posibles aplicaciones de estos sistemas y un resumen teórico sobre las diferentes señales cerebrales más relevantes para sistemas BCI. Hay diferentes tipos de BCIsegún si son invasivos o no y según la señal cerebral que interese identificar. La BCI en la que se centra este trabajo es la Interfaz Cerebro Ordenador de Movimiento Imaginario (MI-BCI), la cual consiste en que una persona imagina realizar un movimiento (como mover mano izquierda o derecha) y se identifica que movimiento ha pensado según las características de la señal registrada. Cuando uno se imagina realizar un movimiento, se produce una señal cerebral similar a la producida cuando el movimiento es realmente realizado. Para registrar la señal cerebral querida se usa el electroencefalograma (EEG), el cual mide la actividad electromagnética. Se colocan electrodos en el cuero cabelludo. Al usar esto hay que tener en cuenta que la señal registrada presentará ruido o artefactos, la señal estará mezclada con otras señales que no son las de interés y llegará a varios electrodos. Las señales presentarán baja resolución espacial, baja SNR y se verán afectadas por interferencias de otras señales de la cabeza. El MI-BCIse desarrolla en tres etapas: preprocesamiento de la señal de entrada, extracción de patrones de características y clasificación. La primera etapa consiste en adaptar o transformar los datos de la señal para facilitar el proceso de las dos etapas siguientes. La segunda etapa consiste en seleccionar y obtener numéricamente las características de cada señal que permitan diferenciarse unas de otras con mayor facilidad. Existen diferentes métodos, pero en este trabajo se usa el Common Spatial Pattern (CSP), el cual genera filtros espaciales que minimizan la variación de una clase y maximizan la variación de otra clase simultáneamente. La tercera etapa consiste en predecir el movimiento del sujeto según las características obtenidas en la etapa anterior. Existen muchos métodos de clasificación, también conocidos como métodos de Machine Learning, pero el más utilizado en estos sistemas es el conocido como Análisis de Discriminantes Lineales (LDA). Se explicarán y se probarán también otros tipos de clasificadores, aparte del ya mencionado, para comparar resultados. Se busca un clasificador con alta probabilidad de acierto y que sea sencillo de implementar, de manera que no se demore demasiado la clasificación. El algoritmo de clasificación debe ser entrenado utilizando varios patrones, los cuales se conocen la clase a la que pertenecen. Este trabajo se realizó con el objetivo de que el entrenamiento fuera en tiempo real (online), es decir, a la vez que se van obteniendo patrones de cada clase se va realizando el entrenamiento del algoritmo. Antes de realizar el algoritmo en tiempo real se probó a hacerlo offline, ya se tienen todos los patrones almacenados para el entrenamiento. El entrenamiento puede ser supervisado (se conoce la clase de los patrones) o no supervisado (no se conoce la clase de los patrones). Una vez entrenado el algoritmo se debe comprobar su eficiencia, por ello se realiza una prueba de testeo con otros patrones, distintos al de entrenamiento, del mismo usuario. El conjunto de datos que se analiza es el MI-BCI dataset 2a de la BCI Competition IV, son datos disponibles públicamente.A Brain Computer Interface (BCI) is a system that reads signals emitted in the brain, interprets them and converts them into commands according to how it has identified the signal produced. It is a way of communicating the brain with a computer without the need to physically interact with it. This has a multitude of uses, but is especially useful for helping people with disabilities. As the years go by there are more and more advances in these systems, it is a technology that continues to develop, as all the mysteries of the human brain are still not known, although there have been great advances in recent years. As far as this work is concerned, first an introduction is made with possible applications of these systems and a theoretical summary about the different brain signals most relevant for BCI systems. There are different types of BCI depending on whether they are invasive or not and depending on the brain signal to be identified. The BCI on which this work focuses is the Imaginary Movement Brain-Computer Interface (MI-BCI), which consists of a person imagining a movement (such as moving a left or right hand) and identifying which movement he/she has thought of according to the characteristics of the recorded signal. When one imagines performing a movement, a brain signal is produced similar to the one produced when the movement is actually performed. The electroencephalogram (EEG), which measures electromagnetic activity, is used to record the brain signal. Electrodes are placed on the scalp. When using this it is necessary to take into account that the recorded signal will present noise or artifacts, the signal will be mixed with other signals that are not the ones of interest and will reach several electrodes. The signals will present low spatial resolution, low SNR and will be affected by interference from other signals from the head. MI-BCI is developed in three stages: input signal preprocessing, feature pattern extraction and classification. The first stage consists of adapting or transforming the signal data to facilitate the processing of the next two stages. The second stage consists of selecting and numerically obtaining the characteristics of each signal that allow them to be more easily differentiated from each other. There are different methods, but this work uses the Common Spatial Pattern (CSP), which generates spatial filters that minimize the variation of one class and maximize the variation of another class simultaneously. The third stage consists of predicting the subject's movement according to the features obtained in the previous stage. There are many classification methods, also known as Machine Learning methods, but the most widely used in these systems is the one known as Linear Discriminant Analysis (LDA). Other types of classifiers, apart from the one already mentioned, will also be explained and tested to compare results. We are looking for a classifier with a high probability of success and that is simple to implement, so that the classification does not take too long. The classification algorithm must be trained using several patterns, which are known to which class they belong. This work was carried out with the objective of training in real time (online), in other words, while obtaining patterns of each class, the training of the algorithm is carried out at the same time. Before performing the algorithm in real time, it was tested offline, and all the patterns are already stored for training. The training can be supervised (the class of the patterns is known) or unsupervised (the class of the patterns is not known). Once the algorithm has been trained, its efficiency must be checked, so a test is performed with other patterns, different from the training one, from the same user. The data set analyzed is the MI-BCI dataset 2a of the BCI Competition IV, which is publicly available data.Universidad de Sevilla. Grado en Ingeniería Electrónica, Robótica y Mecatrónic
    corecore