A Compact And Interpretable Convolutional Neural Network For Single Channel EEG

In this project, we propose a CNN model to classify single-channel EEG for driver drowsiness detection. We use the Class Activation Map (CAM) method for visualization. Results show that the model not only has a high accuracy but also learns biologically explainable features, e.g., Alpha spindles and Theta burst, as evidence for the drowsy state.

AI & Machine LearningPythonCC0-1.0

Abstract

A Compact And Interpretable Convolutional Neural Network For Single Channel EEG is an open-source AI & Machine Learning project. In this project, we propose a CNN model to classify single-channel EEG for driver drowsiness detection. We use the Class Activation Map (CAM) method for visualization. Results show that the model not only has a high accuracy but also learns biologically explainable features, e.g., Alpha spindles and Theta burst, as evidence for the drowsy state. Pytorch implementation of the paper "A Compact and Interpretable Convolutional Neural Network for Cross-Subject Driver Drowsiness Detection from Single-Channel EEG". It is built using Python. The complete source code is publicly available on GitHub under the Creative Commons Zero v1.0 Universal, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

Pytorch implementation of the paper "A Compact and Interpretable Convolutional Neural Network for Cross-Subject Driver Drowsiness Detection from Single-Channel EEG".

"Jian Cui, Zirui Lan, Yisi Liu, Ruilin Li, Fan Li, Olga Sourina, Wolfgang Müller-Wittig, A Compact and Interpretable Convolutional Neural Network for Cross-Subject Driver Drowsiness Detection from Single-Channel EEG, Methods, 2021, ISSN 1046-2023, https://doi.org/10.1016/j.ymeth.2021.04.017."

The project contains 3 code files. They are implemented with Python 3.6.6.

2. Objective

In this project, we propose a CNN model to classify single-channel EEG for driver drowsiness detection. We use the Class Activation Map (CAM) method for visualization. Results show that the model not only has a high accuracy but also learns biologically explainable features, e.g., Alpha spindles and Theta burst, as evidence for the drowsy state.

This project demonstrates how Python can be applied to a real-world AI & Machine Learning problem.

4. Technology Stack

Python

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • Python 3.8 or later
  • pip / virtualenv for dependencies
  • VS Code, PyCharm or Jupyter Notebook
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/cuijiancorbin/A-Compact-and-Interpretable-Convolutional-Neural-Network-for-Single-Channel-EEG.git
cd A-Compact-and-Interpretable-Convolutional-Neural-Network-for-Single-Channel-EEG

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by cuijiancorbin and published on GitHub under the Creative Commons Zero v1.0 Universal. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship