← Back to projects

Brain–computer interfaces · Personal project

IntentLab

Decoding imagined movement from recorded brain signals

IntentLab predicts imagined left or right fist movement from recorded EEG, with an interactive demonstration that shows how model confidence affects cursor control.

The demonstration replays recorded experiments to classify two imagined movements; it has no live headset connection, cannot read thoughts and is not a medical device.

Community resources

Included in NeuroTechX’s community-curated Awesome BCI resources ↗

NeuroTechX’s Awesome BCI maintainers accepted IntentLab into the Tutorials and Project Ideas section, where the recorded-EEG demonstration and teaching exercise are available to people learning about brain–computer interfaces.

Research question

Could imagining a movement become a useful way to control a computer?

I built IntentLab to investigate whether machine learning could identify imagined movement in EEG recordings from people it had not encountered during training, connecting my interest in neuroscience with the practical challenges of developing neural interfaces.

Using the demonstration

  1. 1

    Choose a recording

    Pick a held-out EEG trial from the public PhysioNet motor imagery dataset.

  2. 2

    Decode the signal

    A compact neural network estimates left or right imagined movement from nine electrodes.

  3. 3

    Inspect the result

    Compare the prediction with the recorded label while adjusting confidence, noise and channel availability to explore the model’s limits.

Held-out test result

61.1%

Balanced accuracy on unseen participants

A participant-macro average across 21 held-out people, with a 95% bootstrap interval of 55.8–66.6% against a 50% chance baseline

Evaluation on unseen participants

The compact neural network was selected using validation results before evaluation on a separate test set, with participants kept apart throughout to assess generalisation to unfamiliar people.

The model did not meet the validation target for reliable control and accepts just 2.9% of test trials at the default 75% confidence threshold, illustrating how rejecting uncertain predictions reduces the number of usable commands.

Read the research report ↗

Implementation

Public EEG recordings are processed into Parquet files for a training pipeline that compares simple baselines with a compact convolutional network, with the selected model served through ONNX and FastAPI.

The public interface supports trial replay, uncertainty analysis and channel occlusion, while automated checks, Docker and GitHub Actions cover testing and deployment.

  • Python
  • PyTorch
  • ONNX
  • FastAPI
  • Parquet
  • Docker
  • GitHub Actions

Data: PhysioNet EEG Motor Movement/Imagery Dataset v1.0.0 · DOI: 10.13026/C28G6P · Open Data Commons Attribution licence

Explore the recordings, predictions and evaluation results

Open IntentLab ↗