Predictive BCI Speller based on Motor Imagery
- 1 Part 1: Project profile
- 2 Part 2: Project description
- 3 Part 3: Project tracking
- 4 Part 4: Documents
- 5 Part 5: References
- 6 Part 6: Links
Part 1: Project profile
BCI based on Motor Imagery
Project short description
This project is aimed is to control an external device through the analysis of brain waves measured on the human scalp.
Start date: 01/05/2008
Other Politecnico di Milano people
- Rossella Blatt (phd student)
Students currently working on the project
- Tiziano D'Albis (master student)
Laboratory work and risk analysis
Laboratory work for this project will be mainly performed at AIRLab-IIT/Lambrate. The main activity consists in the acquisition of brain signals through an EEG amplifier for on-line or off-line processing. This is a potentially risky activity since there is an electrical instrumentation that is in direct contact with the human body. It is thus important to keep the system isolated from the power line. The EEG amplifier (as all biomedical instrumentations) is certified by the vendor to be isolated and the acquired data are transferred to the PC using an optic fiber connection . Anyhow for increased safety the PC and any other electronic device connected to the system must be disconnected from the power line. Standard safety measures described in Safety norms will be followed.
Part 2: Project description
The goal of this project is to implement a BCI system supporting people with motor disabilities to communicate effectively. The main idea is to adopt the "virtual keyboard" paradigm in which a series of symbols are selected by means of a BCI interface.
This kind of communication can be included in the class of Alternative and Augmentative Communication (AAC) and the main issue with it is in the need of minimizing the number of selections required by the user while running the application. Indeed the selection process could be costly (both in terms of time and effort) for the target users of these kinds of systems.
The adoption of a BCI interface, moreover, sets also a limit to the number of alternative choices available for each selection. This limit depends on the specific BCI paradigm used and on the way the selection process is carried out. Using a scanning approach, for example, it is possible to overcome this kind of limit, but introducing the drawback of much longer selection delays.
On the other side with a direct selection it is possible to classify effectively a very limited number of states, with common BCI paradigms this limit is usually set to 2,3 or 4. The Motor Imagery paradigm, instead, is somehow different because it could be used to translate sensymotor rhythms in the continuous movement of a cursor in 2 dimensions. In this case it is possible to associate a choice with a target on the screen and perform a selection just hitting a screen target with the cursor. With this kind of approach the number of different choices is limited only by the precision of the cursor movement that can be achieved.
The main idea of this thesis is group the alphabetical letters in sets and than recursively expand them (with a selection based on motor imagery) till a single letter is selected. Moreover we want to aid the selection process displaying the most probable letters in sets with a low number of elements, thus minimizing the selection steps required by the user. Finally we want to implement also a word completion and prediction algorithm that would give also the possibility to select a whole word in one shot.
Part 3: Project tracking
- 01/04/2008: started studying literature about BCI and Motor Imagery
- 01/05/2008: started acquiring data with BCI2000 - performing initial sessions
- 01/06/2008: stated performing feedback sessions with cursor movement in 1D
- 01/09/2008: first idea about the predictive BCI speller
- 10/09/2008: started studying literature about AAC and NLP
- 24/09/2008: published the first document describing the thesis
- 21/10/2008: started studying the thesis about "Soothsayer" by Matteo Vescovi
- 21/10/2008: started studying how to implement in BCI2000 the algorithm of weights adaptation for 2D cursor movement
- 24/10/2008: finished studying the thesis about "Soothsayer" by Matteo Vescovi
- 24/10/2008: added a chapter in thesis description about the weights adaptation algorithm
- 31/10/2008: thesis description document update: added a detailed description of the BCI, new appendix about R^2 calculation
- 03/11/2008: thesis description document update: started a new chapter about letter prediction
- 03/11/2008: thesis description document update: updated the section on weights adaptation
- 05/12/2008: implemented two algorithms for weight adaptation: RLMS and Delta rule
- 10/12/2008: implemented a batch MATLAB script for the off-line analysis
- 15/12/2008: implemented a MATLAB script to simulate the on-line computation of the spectrum
- 20/12/2008: designed classes for the Speller application
- 02/01/2009: started implementing the Speller application in BCI2000
- 23/01/2009: first demo of the Speller controlled by keyboard and without letter prediction
- 05/02/2009: demo of the Speller with letter prediciton
- 05/02/2009: working on feature selection/extraction for the offline classification of the EEG
- 10/02/2009: first result data about classification accuracy inside the same session
- 10/02/2009: working on classification accuracy across sessions
- 15/02/2009: developing Speller application: formally description of the GUI behaviour using a FSM
- 20/02/2009: implemented XML configurability of the interface in the Speller application
- 22/02/2009: implemented a patch for Presage to customize prediction features
- 23/02/2009: generated n-gram statistics from a partition of the British National Corpus
- 25/02/2009: redesign of the interface structure, refactoring of the Speller application code, implementation of new Speller features
- 01/03/2009: working on the Speller simulator program
- 02/03/2009: first version of the Speller simulator without errors and with pre-calculated paths
- 07/03/2009: Speller simulator implemented as a stack machine, including error handling and a breadth-first path-finding algorithm
- 12/03/2009: formal description (with Push Down Automata) of two interfaces and simulation of their performances with different probabilities
- 18/03/2009: working on feature selection for EEG classification
- 21/03/2009: implemented a genetic algorithm for feature selection
- 23/03/2009: working on phase lock value
- 27/03/2009: finished implementing phase lock value, relevant correlations found
- 27/03/2009: started implementing the classification algorithm in BCI2000
- 09/04/2009: finished implemented the feedback application module in BCI2000
- 09/04/2009: started writing the thesis
- 09/04/2009: started testing the spelling application
- 18/06/2009: thesis document completed
Part 4: Documents
- Thesis description document: File:Predictive BCI speller v1.pdf [ITA] [Draft] [Last update: 11/11/2008]
Part 5: References
- Control of two-dimensional movement signals by a noninvasive brain-computer interface in humans, Wolpaw J.R., McFarland J., PNAS, vol. 101, no. 51, december 2004, pages 17849-17854.
- Brain Computer interfaces for communication and control, Wolpaw J.R., Birbaumer N., McFarland D., Pfurtsheller G., Vaughan T., Clinical Neurophysiology 113, 2002, 767-791
- EEG based communication: prospects and problems, Vaughan T., Wolpaw J.R., Donchin E., IEEE transactions on rehabilitation engineering, vol. 4, no. 4, december 1996, pages 425-430.