Skip to content

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.

License

Notifications You must be signed in to change notification settings

ABaldrati/AugmentBrain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AugmentBrain

Table of Contents

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

  1. Clone the repo
git clone https://gitlab.com/ABaldrati/AugmentBrain
  1. 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

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages