All Projects → SMorettini → CNNs-on-CHB-MIT

SMorettini / CNNs-on-CHB-MIT

Licence: GPL-3.0 License
The project is about applying CNNs to EEG data from CHB-MIT to predict seizure

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to CNNs-on-CHB-MIT

EEG-Motor-Imagery-Classification-CNNs-TensorFlow
EEG Motor Imagery Tasks Classification (by Channels) via Convolutional Neural Networks (CNNs) based on TensorFlow
Stars: ✭ 125 (+212.5%)
Mutual labels:  eeg-analysis
digit recognizer
CNN digit recognizer implemented in Keras Notebook, Kaggle/MNIST (0.995).
Stars: ✭ 27 (-32.5%)
Mutual labels:  cnn-keras
CNN-Image-Classifier
A Simple Deep Neural Network to classify images made with Keras
Stars: ✭ 65 (+62.5%)
Mutual labels:  cnn-keras
ewtpy
Empirical wavelet transform (EWT) in Python
Stars: ✭ 52 (+30%)
Mutual labels:  seizure-prediction
Artificial-Neural-Networks-Visualizer
Visualizing Artificial Neural Networks (ANNs) with just One Line of Code
Stars: ✭ 21 (-47.5%)
Mutual labels:  cnn-keras
histopathologic cancer detector
CNN histopathologic tumor identifier.
Stars: ✭ 26 (-35%)
Mutual labels:  cnn-keras
Screenshot To Code
A neural network that transforms a design mock-up into a static website.
Stars: ✭ 13,561 (+33802.5%)
Mutual labels:  cnn-keras
wildflower-finder
Image classification of wildflowers using deep residual learning and convolutional neural nets
Stars: ✭ 25 (-37.5%)
Mutual labels:  cnn-keras
potato-disease-classification
Potato Disease Classification - Training, Rest APIs, and Frontend to test.
Stars: ✭ 95 (+137.5%)
Mutual labels:  cnn-keras
Poke-Pi-Dex
Our deep learning for computer vision related project for nostalgic poke weebs (Sistemi digitali, Unibo).
Stars: ✭ 18 (-55%)
Mutual labels:  cnn-keras
cnn age gender
Age and Gender prediction using Keras
Stars: ✭ 58 (+45%)
Mutual labels:  cnn-keras
FaceMaskDetector
Real time face-mask detection using Deep Learning and OpenCV
Stars: ✭ 106 (+165%)
Mutual labels:  cnn-keras
PolyphonicPianoTranscription
Recurrent Neural Network for generating piano MIDI-files from audio (MP3, WAV, etc.)
Stars: ✭ 146 (+265%)
Mutual labels:  cnn-keras
eeguana
A package for manipulating EEG data in R.
Stars: ✭ 16 (-60%)
Mutual labels:  eeg-analysis
automatic-personality-prediction
[AAAI 2020] Modeling Personality with Attentive Networks and Contextual Embeddings
Stars: ✭ 43 (+7.5%)
Mutual labels:  cnn-keras
Weapon-Detection-And-Classification
Weapon Detection & Classification through CCTV surveillance using Deep Learning-CNNs.
Stars: ✭ 53 (+32.5%)
Mutual labels:  cnn-keras
Visualization-of-Convolutional-Layers
No description or website provided.
Stars: ✭ 22 (-45%)
Mutual labels:  cnn-keras
FaceEmotionClassifier
人脸识别与卡通化
Stars: ✭ 102 (+155%)
Mutual labels:  cnn-keras
keras-deep-learning
Various implementations and projects on CNN, RNN, LSTM, GAN, etc
Stars: ✭ 22 (-45%)
Mutual labels:  cnn-keras
Facial-Expression-Recognition
Facial Expression Recognition with Keras
Stars: ✭ 17 (-57.5%)
Mutual labels:  cnn-keras

CNNs-on-CHB-MIT

The project is about applying CNNs to EEG data from CHB-MIT to predict seizure. It's a group project assigned at UNIVERSITA' DI CAMERINO for computer science bachelor. The objective of the project was to try to replicate the result obtained in the paper: Truong, Nhan Duy, et al. "Convolutional neural networks for seizure prediction using intracranial and scalp electroencephalogram." Neural Networks 105 (2018): 104-111.

The algorithm consist to create spectograms of the data and than use them with a CNN model to predict seizure.

More information are in presentazione.pdf and relazione.pdf. The two file are respectively the presentation and the relation of the work in italian language.

Getting Started

Prerequisites

In the project anaconda was used to managed the packages. Packages required:

  • keras 2.2.2
  • python 3.6.6
  • tensorflow 1.10.0
  • matplotlib
  • numpy
  • pyedflib
  • scipy

For the evaluation of the network, training and testing, the GPU is used to have a fast evaluation. By using the CPU the training time is a lot more slowly than using GPU. Packages required for GPU:

  • tensorflow-GPU

For the using of the GPU this link was very useful to install all the driver for Ubuntu 18.04 LTS https://medium.com/@naomi.fridman/install-conda-tensorflow-gpu-and-keras-on-ubuntu-18-04-1b403e740e25 (Note that the GPU used was GTX 850M so I can't ensure that the guide linked will work for different hardware).

Installing

Download or clone the repository on your computer and set the parameters:

  • PARAMETERS_DATA_EDITING.txt: contain the parameters for the creation of the spectograms:

    • pathDataSet: path of the folder containing the dataset;
    • FirstPartPathOutput: path of the folder where spectograms will be saved;
  • PARAMETERS_CNN.txt: contain the parameters for the use of CNN:

    • PathSpectogramFolder: Path of the folder containing the spectograms;
    • OutputPath: file where to save the results;
    • OutputPathModels: where to save the CNN models.

Recovering data

The dataset is downloadable from this site: https://archive.physionet.org/pn6/chbmit/. To get all the data it's suggested to use this command:

wget -r --no-parent https://archive.physionet.org/pn6/chbmit/

In the code only patients 1, 2, 5, 19, 21, 23 are used, the others are discarded for problems in the data. NOTE: For the patient 19 replace the summary file(chb19-summary.txt) with the one in this repository inside the folder summaryChanged.

Running

After setted all the parameters run the code.

python DataserToSpectogram.py #Creation of the spectograms
python CNN.py #Creation of the CNN and evaluation of the model on the spectograms
python TestThreshold.py #Search the best thresold for each patient

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Authors

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE.md file for details

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].