mralioo / BBCPy_DNN

A Pytorch extention for BBCPy Toolbox
0 stars 0 forks source link

Online Classification #15

Open mralioo opened 11 months ago

mralioo commented 11 months ago

Online classification of BCI : Due to both variable trial structure and in order to directly compare with the online classification, we used the recommended default time window length from BCI2000 of 500ms, with classification occurring every 40ms.

During online control with BCI 2000, participants controlled the cursor during 3 different tasks.

To compare this output to the classification of the online system in the 1D case non-valid classes were removed from the CNN predictions after classification (e.g., in the LR task the classification output for up/down trials was set to zero)

image

mralioo commented 11 months ago

Workflow :

To begin, models output a softmax probability estimate for each window of data within a trial. The ‘probability’ values were averaged across all 40ms intervals for the target class across each trial (e.g., all “left” probabilities averaged across all windows in “left” trials) and then averaged across the trials in a given session.

mralioo commented 11 months ago

For each EEG data window, a simulated cursor was moved in the direction of, and in direct proportion to, the highest class probability output by the decoding models. e.g : left and right (as well as up and down) decisions were given opposite signs such that if two consecutive decisions were 0.65 probability Right, then 0.65 probability Left, these decisions would cancel (however, unlike online control, motion was restricted to a single axis per time window)

mralioo commented 11 months ago

The distance between the cursor position (the summed probability signal) and the intended target was measured for each trial.

The distance units were arbitrary but based on BCI 2000’s screen width parameter of 4095