AugmentBrain
AugmentBrain copied to clipboard
In AugmentBrain we investigate the performance of different data augmentation methods for the classification of Motor Imagery (MI) data using a Convolutional Neural Network tailored for EEG named EEGN...
AugmentBrain
Table of Contents
-
About the Project
- Built With
-
Getting Started
- Prerequisites
- Installation
- Usage
- Authors
- Acknowledgments
About The Project
Brain computer interfaces provide a new communication bridge between human minds and devices, however the ability to control such devices with our minds largely depends on the accurate classification and identification of non-invasive EEG signals. For this reason recent advances in deep learning have helped the progress in such field with convolutional neural networks that are becoming the new cutting edges tools to tackle the problem of EEG recognition. In order to successfully train a convolutional neural network a large amount of data are needed and due to the strict requirements for subjects and experimental environments, it is difficult to collect large-scale and high-quality EEG data.
Based on this, in AugmentBrain
we investigate the performance of different data augmentation methods for the classification of Motor Imagery (MI) data using a Convolutional Neural Network tailored for EEG named EEGNet.
A brief description of the results is shown in the following table
More info about the whole project available at paper and slides
All the work is based on Serban Cristian Tudosie BrainPad repository.
Built With
Software:
Hardware:
Getting Started
To get a local copy up and running follow these simple steps.
Prerequisites
We strongly recommend the use of the Anaconda package manager in order to avoid dependency/reproducibility problems. A conda installation guide for linux systems can be found here
Installation
- Clone the repo
git clone https://gitlab.com/ABaldrati/AugmentBrain
- Install Python dependencies
conda env create -f environment.yml
OR
conda create -n augmentbrain -y python=3.8
conda activate augmentbrain
conda install -y tensorflow-gpu=2.4.1 matplotlib=3.3.4 scikit-learn=0.24.1
pip install brainflow==2.4 tqdm==4.60 emd==0.4
Usage
Here's a brief description of each and every file under the src/
directory:
-
training.py
: model training -
dataset_tools.py
: dataset loading utils, preprocessing and augmentation -
GAN.py
: GAN training -
neural_nets.py
: neural nets definitions -
custom_callbacks.py
: keras custom callbacks which is useful in model and GAN training -
acquire_eeg.py
: new EEG data acquisition
Obviously in order to acquire new EEG data OpenBCI Hardware is required.
Authors
Based on Serban Cristian Tudosie work.
Acknowledgments
Human Computer Interaction © Course held by Professor Andrew David Bagdanov - Computer Engineering Master Degree @University of Florence