/brain-computer-interfacing

๐Ÿง  Brain-Computer Interfacing bootcamp course + projects @ Saturdays.AI (BCI + AI)

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Bitbrain x Saturdays.AI

Brain-Computer Interfacing Bootcamp

Saturdays.AI GitHub contributors GitHub

Hi there! We are the Brain-Computer Interfacing (BCI) research and study group at Saturdays.AI Madrid.

Saturdays.AI is a global initiative to democratize access to Artificial Intelligence education at the quality and rigour of the worldโ€™s best universities, in the form of 14-week bootcamps.

We've partnered with Bitbrain, a leading world-class neurotechnology company, to explore projects at the intersection of Brain-Computer Interfacing (BCI) and Artificial Intelligence (AI).

Part of the Saturdays.AI's BCI EEG team

The bootcamp course /course

๐Ÿ‘‰ Course wiki and resources ๐Ÿ‘ˆ [Beta, ๐Ÿ‘จโ€๐Ÿ’ป under development]

As part of this collaboration and within the context of Saturdays.AI, our main goal is to create an introductory Brain-Computer Interfacing bootcamp to be done over the course of 14 weeks.

We ourselves will be the first students and beta users of this course, which, if successful, will be exported to the rest of the cities in the Saturdays.AI network as a new specialization path together with the usual Machine Learning, Deep Learning and Reinforcement Learning specialization paths.

The course will propose a number of readings and resources to read through the week and will introduce a related code-based challenge to solve during the hands-on team meeting on Saturdays.

Javi Rameerez wearing a Bitbrain's 16-ch EEG BCI headset

From zero to BCI

The end goal is to go from zero to "move objects with the mind" in ~14 weeks.

Technically, this bootcamp course is based on creating Brain-Computer Interfaces (BCI) / Brain-Machine Interfaces (BMI) using electroencephalogram (EEG) data captured with a headset. We use a Bitbrain 16-channel EEG headset (as seen in the picture), plus some data science, signal processing and machine learning to create classifiers capable of transforming brainwaves into actions.

Javi Rameerez BCI EEG brainwaves

Prerequisites

To make the most out of the bootcamp (and even to be able to follow the course) you need to have:

  • Solid programming knowledge (Python) โ€“ this is a must.

    You don't have to be the best programmer in the world, but you definitely need to look at code and (1) not be afraid of it and (2) understand most of it.

  • Data Science / Data Analytics skills: you need to be comfortable using pandas, numpy, matplotlib...

  • Passion for exploring world-changing technologies like BCIs.

  • Some knowledge on signal processing, math and/or an engineering background are not required, but definitely helpful.

Available datasets /data

Brain Computer Interfacing 10-20 EEG system diagram

We're using a Bitbrain EEG headset (semi-dry water electrodes) to record our datasets. All electrodes were placed following a 10-20 system, the precise location of electrodes and correlation with channel numbers are documented for each dataset.

๐Ÿ‘‰ Please see our dataset docummentation for further info.

The BBTools library /course/bbtools

We usually find ourselves using the same functions over and over again, so we're developing a library called BBTools (BitBrain Tools), to encapsulate some common behavior we need when importing and handling data from our Bitbrain headset.

For example, reading Bitbrain csv data is as easy as:

import bbtools as bbt
raw = bbt.read_csv(csv, channels)

Further documentation and usage examples can be found within the notebooks.

Ongoing experiments /dev

Ongoing experiments are located under the /dev folder to keep the course folder uncluttered and easy to follow.

Our initial experiments exploring approaches to move objects with our minds can be found in /dev/first-experiments.

How to contribute

PRs are welcome.

If you make contributions to a notebook, feel free to add yourself as one of the authors at the top of said notebook.

Adding Markdown cells to the notebooks to explain unclear things is always a plus, so feel free to add any necessary documentation.

Please contact us with any questions!

-The BCI team at Saturdays.AI Madrid

Part of the Saturdays.AI's BCI EEG team