Skip to content

stevencao2005/eeg-biometric-identification-archive

Repository files navigation

eeg subject identification

Focused archive of EEG subject-identification experiments using the BED dataset. This project comes from my work in the HERO research lab at UCI and ties to the Sensors 2022 publication listed below. The code is lightly curated for readability while preserving original research behavior.

why this project

  • We explored whether brainwaves could be used for person identification as an alternative to traditional identifiers like passwords, IDs, face, fingerprint, or voice.
  • I was drawn to this because EEG biometrics is still early-stage, with real room for new engineering and research contributions.
  • This repository captures the core EEG-ID experimentation workflow, plus practical artifact handling and debugging decisions from that process.

what is included

  • code/train_XGBoost.py - classical BED identification baseline.
  • code/train_4layer_neural_network.py - 4-layer PyTorch baseline.
  • code/main.py + code/classifiers/ - deep-learning runs (EEGNet/ResNet/Inception).
  • code/load_and_preprocess_data.py - BED .mat loading and preprocessing.

quickstart (one complete path)

  1. Use Python 3.9+.
  2. Install dependencies:
    • python -m pip install -r requirements.txt
  3. Place BED feature files at:
    • BED/Features/Identification/SPEC/SPEC_rest_closed.mat (required for default run)
    • BED/Features/Identification/SPEC/SPEC_rest_open.mat and BED/Features/Identification/SPEC/SPEC_image.mat (only needed if changing run mode)
  4. From repo root, run:
    • python code/train_XGBoost.py
  5. Outputs are written to:
    • saved_datasets/XGBoost/<timestamp>/
    • saved_datasets/model_weights_XGBoost.pkl

research notes

  • how_i_detect_and_remove_eeg_artifacts.pdf - artifact detection/removal approach and rationale.
  • validation_loss_paradox.pdf - notes on validation loss vs. accuracy behavior.

scope and limitations

  • Dataset files are external and not included in this repository.
  • Environment versions are not pinned to a historical lockfile.
  • Some scripts retain legacy module naming from the original archive by design.

citation

APA: Benomar, M., Cao, S., Vishwanath, M., Vo, K., & Cao, H. (2022). Investigation of EEG-Based Biometric Identification Using State-of-the-Art Neural Architectures on a Real-Time Raspberry Pi-Based System. Sensors, 22(23), 9547. https://doi.org/10.3390/s22239547

If this repository is useful in your work, please cite:

@article{benomar2022investigation,
  title={Investigation of EEG-Based Biometric Identification Using State-of-the-Art Neural Architectures on a Real-Time Raspberry Pi-Based System},
  author={Benomar, M. and Cao, S. and Vishwanath, M. and Vo, K. and Cao, H.},
  journal={Sensors},
  volume={22},
  number={23},
  pages={9547},
  year={2022},
  doi={10.3390/s22239547}
}

Archival research code; reproducibility may require version pinning and local data setup.

About

EEG subject identification project @ HERO Lab!!

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors