All Projects → SuperBruceJia → EEG-Motor-Imagery-Classification-CNNs-TensorFlow

SuperBruceJia / EEG-Motor-Imagery-Classification-CNNs-TensorFlow

Licence: other
EEG Motor Imagery Tasks Classification (by Channels) via Convolutional Neural Networks (CNNs) based on TensorFlow

Programming Languages

python
139335 projects - #7 most used programming language
matlab
3953 projects

Projects that are alternatives of or similar to EEG-Motor-Imagery-Classification-CNNs-TensorFlow

eeguana
A package for manipulating EEG data in R.
Stars: ✭ 16 (-87.2%)
Mutual labels:  eeg, eeg-signals, eeg-data, eeg-analysis
eeg-gcnn
Resources for the paper titled "EEG-GCNN: Augmenting Electroencephalogram-based Neurological Disease Diagnosis using a Domain-guided Graph Convolutional Neural Network". Accepted for publication (with an oral spotlight!) at ML4H Workshop, NeurIPS 2020.
Stars: ✭ 50 (-60%)
Mutual labels:  eeg, eeg-signals, eeg-classification
eeg-rsenet
Motor Imagery EEG Signal Classification Using Random Subspace Ensemble Network
Stars: ✭ 24 (-80.8%)
Mutual labels:  eeg, motor-imagery, eeg-classification
brain-powered
With the Brain Powered honourscourse at the UvA we aimed to control a drone using brain signals, measured by means of EEG, only.
Stars: ✭ 13 (-89.6%)
Mutual labels:  eeg, eeg-analysis, eeg-classification
Wgan
Tensorflow Implementation of Wasserstein GAN (and Improved version in wgan_v2)
Stars: ✭ 228 (+82.4%)
Mutual labels:  tensorflow-experiments, tensorflow-models
Cramer Gan
Tensorflow Implementation on "The Cramer Distance as a Solution to Biased Wasserstein Gradients" (https://arxiv.org/pdf/1705.10743.pdf)
Stars: ✭ 123 (-1.6%)
Mutual labels:  tensorflow-experiments, tensorflow-models
pyRiemann
Python machine learning package based on sklearn API for multivariate data processing and statistical analysis of symmetric positive definite matrices via Riemannian geometry
Stars: ✭ 470 (+276%)
Mutual labels:  eeg, brain-computer-interface
AttnSleep
[IEEE TNSRE] "An Attention-based Deep Learning Approach for Sleep Stage Classification with Single-Channel EEG"
Stars: ✭ 76 (-39.2%)
Mutual labels:  eeg, eeg-classification
Android-Machine-Learning-With-TensorFlow
Tensor Flow implementation for Android
Stars: ✭ 17 (-86.4%)
Mutual labels:  tensorflow-experiments, tensorflow-models
EEG convolutional neural net
A convolutional neural network developed in python using the Keras machine learning framework used to categorize brain signal based on what a user was looking at when the EEG data was collected.
Stars: ✭ 20 (-84%)
Mutual labels:  eeg, eeg-signals
eeg-adapt
Source Code for "Adaptive Transfer Learning with Deep CNN for EEG Motor Imagery Classification".
Stars: ✭ 32 (-74.4%)
Mutual labels:  eeg, motor-imagery
neurosky-android-sdk
Android SDK for the NeuroSky MindWave Mobile Brainwave Sensing Headset
Stars: ✭ 39 (-68.8%)
Mutual labels:  eeg, brain-computer-interface
The Third Eye
An AI based application to identify currency and gives audio feedback.
Stars: ✭ 63 (-49.6%)
Mutual labels:  tensorflow-experiments, tensorflow-models
Math object detection
An image recognition/object detection model that detects handwritten digits and simple math operators. The output of the predicted objects (numbers & math operators) is then evaluated and solved.
Stars: ✭ 52 (-58.4%)
Mutual labels:  tensorflow-experiments, tensorflow-models
Tensorlayer Tricks
How to use TensorLayer
Stars: ✭ 357 (+185.6%)
Mutual labels:  tensorflow-experiments, tensorflow-models
EEGEdu
Interactive Brain Playground - Browser based tutorials on EEG with webbluetooth and muse
Stars: ✭ 91 (-27.2%)
Mutual labels:  eeg, eeg-data
char-VAE
Inspired by the neural style algorithm in the computer vision field, we propose a high-level language model with the aim of adapting the linguistic style.
Stars: ✭ 18 (-85.6%)
Mutual labels:  tensorflow-experiments, tensorflow-models
FineGrainedVisualRecognition
Fine grained visual recognition tensorflow baseline on CUB, Stanford Cars, Dogs, Aircrafts, and Flower102.
Stars: ✭ 19 (-84.8%)
Mutual labels:  tensorflow-experiments, tensorflow-models
EEGwithRaspberryPI
Open-Source board for converting RaspberryPI to Brain-computer interface
Stars: ✭ 402 (+221.6%)
Mutual labels:  eeg, eeg-signals
NeuroTechX-McGill-2019
A wheelchair controlled by EEG brain signals and enhanced with assisted driving
Stars: ✭ 64 (-48.8%)
Mutual labels:  eeg, brain-computer-interface

EEG Motor Imagery Signals (Tasks) Classification via Convolutional Neural Networks (CNN)

Author: Shuyue Jia and Lu Zhou, School of Automation Engineering, Northeast Electric Power University, Jilin, China.

Date: December of 2018

Download Paper

A Novel Approach of Decoding EEG Four-class Motor Imagery Tasks via Scout ESI and CNN

NOTICE: The method in our paper is EEG source imaging (ESI) + Morlet wavelet joint time-frequency analysis (JTFA) + Convolutional Neural Networks (CNNs). The raw data has been processed using the Matlab Toolkit Brainstorm. My job is using CNNs to classify the EEG data after the ESI + JTFA process. The Dataset (.mat Files) preprocessed via the ESI + JTFA process can be found via the Shared Google Drive. The corresponding preprocessed Excel files can be downloaded from the Shared Google Drive.

Meanwhile, the codes in this repository are based on the raw EEG data without the ESI and JTFA process, and can also achieve a good result. The main CNNs Tensorflow framework codes in the "MI_Proposed_CNNs_Architecture.py" are the same for both of the works.


Overall Framework:

Project1

Proposed CNNs Architecture:

Project1

Installation and Usage

  1. Python file: PhysioNet_MI_Dataset/MIND_Get_EDF.py

    --- download all the EEG Motor Movement/Imagery Dataset .edf files from here!

    (Under Any Python Environment) $ python MIND_Get_EDF.py
    
  2. Python file: Read_Raw_Data_Save_Into_Matlab_Files.py

    --- Read the edf Raw data of different channels and save them into matlab .m files

    --- At this stage, the Python file must be processed under a Python 2 environment (I recommend to use Python 2.7 version).

    (Under Python 2.7 Environment) $ python Read_Raw_Data_Save_Into_Matlab_Files.py
    
  3. Matlab file: Saved_Matlab_Data/Preprocessing_Raw_Data.m

    --- Pre-process the dataset (Data Normalization mainly) and save matlab .m files into Excel .xlsx Files

  4. Python file: MI_Proposed_CNNs_Architecture.py

    --- the proposed CNNs architecture

    --- based on TensorFlow 1.12.0 with CUDA 9.0 or TensorFlow 1.13.1 with CUDA 10.0

    --- The trained results are saved in the Tensorboard

    --- Open the Tensorboard and save the results into Excel .csv files

    --- Draw the graphs using Matlab or Origin

    (Under Python 3.6 Environment) $ python MI_Proposed_CNNs_Architecture.py
    

Structure of the code

At the root of the project, you will see:

├── PhysioNet_MI_Dataset
|  └── MIND_Get_EDF.py
├── Read_Raw_Data_Save_Into_Matlab_Files.py
├── Saved_Matlab_Data
|  └── Preprocessing_Raw_Data.m
├── MI_Proposed_CNNs_Architecture.py
├── electrode_positions.txt

Citation

If you find our work useful in your research, please consider citing it in your publications. We provide a BibTeX entry below.

@article{hou2020novel,
	title     = {A Novel Approach of Decoding EEG Four-class Motor Imagery Tasks via Scout ESI and CNN},
	author    = {Hou, Yimin and Zhou, Lu and Jia, Shuyue and Lun, Xiangmin},
	journal   = {Journal of Neural Engineering},
	volume    = {17},
	number    = {1},
	pages     = {016048},
	year      = {Feb. 2020},
	publisher = {IOP Publishing}
}

Acknowledgment

We are very grateful to Prof. Yimin Hou due to his friendly guidance, and the research paper would not have happened without him.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].