MSc thesis on: Classifying brain activity using EEG and automated time tracking of computer use (using ActivityWatch)
My MSc thesis on "Classifying brain activity using electroencephalography and automated time tracking of computer use".
Progress was tracked using GitHub issues and the GitHub Projects board.
We investigate the ability of EEG to distinguish between different activities users engage in on their devices, building on previous research which showed a considerable difference in brain activity between code- and prose-comprehension, as well as differences during code- and prose-synthesis. We perform a replication study and improve upon past results using state-of-the-art machine learning classifiers based on Riemannian geometry.
Furthermore, we extend the scope of previous work by introducing the automated time tracking application ActivityWatch, to track the device activities that the user is engaging in. This lets us label EEG data with naturalistic device activity, which we then use to train classifiers to discern activities such as code writing vs prose writing, or work vs media consumption. Our results indicate that a consumer-grade EEG device can discern between different activities that a user performs at the computer. Among other results, we show that not only can code and prose comprehension be distinguished, but also code and prose writing.
The latest version of the writing can be downloaded at:
Setting it up:
poetry
installedpoetry install
Collecting data:
eegwatch --help
for instructions on how to collect EEG datapip install git+
eegnb runexp -ex visual-codeprose -subject X
Running classifier:
./scripts/query_aw.py
to collect labels from the running ActivityWatch instance
eegclassify --help
for instructions on how to train and run the classifierI've worked with multiple devices, but the experiments were performed using the Muse S, which is therefore the best-supported device.
Code notebooks are built in CI and available at:
See the Acknowledgements section in the thesis.