• Stars
    star
    200
  • Rank 195,325 (Top 4 %)
  • Language
    Python
  • Created over 5 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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.

More Repositories

1

EEG-DL

A Deep Learning library for EEG Tasks (Signals) Classification, based on TensorFlow.
Python
937
star
2

Awesome-LLM-Self-Consistency

Awesome LLM Self-Consistency: a curated list of Self-consistency in Large Language Models
72
star
3

EEG-BayesianCNN

This is an EEG Signals Classification based on Bayesian Convolutional Neural Network (Bayesian CNNs) via Variational Inference.
Python
28
star
4

paper-reading

This repo is primarily for personal paper reading and presentations.
Jupyter Notebook
24
star
5

pytorch-flask-deploy-webapp

This is a Flask + Docker deployment of the PyTorch-based Named Entity Recognition (NER) Model (BiLSTM-CRF) in the Medical AI.
Python
22
star
6

Sonar-Image-Segmentation-through-Entropy-Method

This is a MATLAB implementation of Sonar Image Segmentation via Entropy Method
MATLAB
20
star
7

Sci-Hub-Paper-Download-shell

This is an easy-to-use and convenient shell command to download papers `FOR FREE` from `Sci-Hub`!
Python
20
star
8

Fuzzy-C-Means-Clustering-Sonar-Image-Segmentation

An Implementation of Sonar Image Segmentation through Fuzzy C-means Clustering
MATLAB
16
star
9

dynamic-web-crawlering-python

This repo is mainly for dynamic web (Ajax Tech) crawling using Python, taking China's NSTL websites as an example.
Python
16
star
10

MedicalNER

An implementation of several models (BiLSTM-CRF, BiLSTM-CNN, BiLSTM-BiLSTM) for Medical Named Entity Recognition (NER)
Jupyter Notebook
15
star
11

NLNet-IQA

Non-local Modeling for Image Quality Assessment
Python
12
star
12

Chinese-Chat-Title-NER-BERT-BiLSTM-CRF

This is a task on Chinese chat title NER via BERT-BiLSTM-CRF model.
Python
12
star
13

CVPR-LaTeX-Paper-Template

These are CVPR Main Paper, Supplementary Materials, and Rebuttal LaTeX templates.
TeX
12
star
14

Awesome-Semantic-Textual-Similarity

Awesome Semantic Textual Similarity: a curated list of Semantic Textual Similarity in Large Language Models and NLP
11
star
15

promptcraft

PromptCraft is a prompt perturbation toolkit from the character, word, and sentence levels for prompt robustness analysis. PyPI Package: pypi.org/project/promptcraft
Python
10
star
16

Awesome-Large-Vision-Language-Model

Awesome Large Vision-Language Model: A Curated List of Large Vision-Language Model
10
star
17

Awesome-Mixture-of-Experts

Awesome Mixture of Experts (MoE): A Curated List of Mixture of Experts (MoE) and Mixture of Multimodal Experts (MoME)
6
star
18

YOLO-V2-Object-Detection-Implementation

YOLO-V2 Object Detection Implementation based on TensorFlow
Python
5
star
19

CAIQUE-IQA

CAIQUE: Context-Aware Image QUality assEssment (Context-aware Non-local Compensation for No-reference Image Quality Assessment)
Python
4
star
20

Power-Systems-Stability-Transfer-Learning

Source Codes of `PMU Measurements based Short-term Voltage Stability Assessment of Power Systems via Deep Transfer Learning`
3
star
21

Google-Scholar-Citations-Download

These scripts aim to download all the citation papers for your one paper
Python
3
star
22

GSM8K-Consistency

GSM8K-Consistency is a benchmark database for analyzing the consistency of Arithmetic Reasoning on GSM8K.
3
star
23

NLIQA

2
star
24

Medical-Concept-Mapping

An implementation of Medical-term Concept Mapping via three-levels: Syntax-Semantics-Pragmatics.
Python
2
star
25

Awesome-Depth-aware-Video-Panoptic-Segmentation

A Paper Survey of the Depth-aware Video Panoptic Segmentation (DVPS)
2
star
26

SuperBruceJia

2
star
27

MetaMath-Fine-Tune-with-LoRA

Fine-tuning and Inference codes of the MetaMath Dataset
Python
2
star
28

Bi-Directional-CoT

Bi-Directional Chain-of-Thought (CoT) Prompting for Mathematical Reasoning
Python
2
star
29

Awesome-Evidence-based-Medicine

Awesome Evidence-based Medicine: a curated list of AI-driven Evidence-based Medicine
1
star
30

CityU-MPhil-Thesis

M.Phil. Thesis (LaTeX) at City University of Hong Kong
TeX
1
star
31

Awesome-Medical-Knowledge-Graph

1
star
32

SuperBruceJia.github.io

My personal homepage
HTML
1
star
33

GPTQ-Quantization-Zoo

A List of Quantized Models by GPTQ
1
star
34

Samsung_Internship

Python
1
star
35

PromptConsistency

Python
1
star
36

Awesome-Diffusion-Models

Awesome Diffusion Models: a curated list of Generative Diffusion Models in Computer Vision
1
star
37

Adversarial-CoT

Python
1
star
38

MedPodAI

1
star
39

Co-Evolve-LLMs

Co-evolution of LLMs via Adversarial Learning for Mathematical Reasoning
Python
1
star
40

dataset_download_script

Python
1
star