This is the repository of a course project in neuroinformatics. The project was about using autoencoder anomaly detection in order to detect button presses in EEG data.
The project was implemented using the MNE
library for the processing of EEG data in python, and TensorFlow
for the autoencoder models.
To create an environment with all necessary packages to run the code of this project please refer to the requirements.txt
file.
The data used for this project is included in the data
directory.
The source of the data is the "A large electroencephalographic motor imagery dataset for electroencephalographic brain computer interfaces" dataset [1]. There it is necessary to download the files with names NoMT and FreeForm.
[1] Kaya, Murat; Binli, Mustafa Kemal; Ozbay, Erkan; Yanar, Hilmi; Mishchenko, Yuriy (2018). A large electroencephalographic motor imagery dataset for electroencephalographic brain computer interfaces. figshare. Collection. https://doi.org/10.6084/m9.figshare.c.3917698.v1
The final versions of the modeling pipelines for the (convolutional) autoencoders, including data loading, data preprocessing, data preparation, model training, and model evaluation, can be found in the notebooks ae.ipynb
and conv_ae.ipynb
respectively.
The final presentation of this project can be found in slides.pdf