Design of Classification Methods for Brain Computer Interfaces: An
Total Page:16
File Type:pdf, Size:1020Kb
Informatics Engineering Degree Software Engineering Degree’s Final Project Design of classification methods for Brain Computer Interfaces: An application using the OpenViBE software Author Ibai Díez Oronoz 2015 Abstract Brain computer Interface (BCI) is a technology which is based on the acquisition of brain signals to be processed and interpreted by a computer, creating a direct communication pathway between the brain and an external device. This type of interfaces stablish a way to interact with the outside world by our thoughts as these interfaces allow transforming them into real actions in our environment. BCIs are often directed at assisting, augment- ing, or repairing human cognitive or sensory-motor functions. This Degree’s Final Project is focused on implementing and testing classification algo- rithms for BCIs because these algorithms are among the most important components of the translation of brain signals. Classification algorithms (CAs) are used in BCIs to pre- dict the human intention from the analysis of the signals, helping the computer to decode the human will from the signals and translate them into commands. Regarding the implementation and evaluation of these CAs, OpenViBE will be used. OpenViBE is a free software platform which is dedicated to designing, testing and us- ing BCIs and give us all the tools needed to test these algorithms. Moreover, it is a modular and multi-platform software which supports a vast selection of hardware elec- troencephalography (EEG) devices. In addition, it has different application fields such as medical, multimedia, robotics and all other domains related to BCIs and real-time neuro- science. Keywords: classification algorithms, BCI, OpenViBE, brain signal analysis. i Contents Abstracti Contents iii List of Figures ix List of Tables xiii PART 1: PROJECT MANAGEMENT1 1 Objectives of the project3 1.1 Introduction.................................3 1.2 Description.................................4 1.3 Contents of the thesis............................4 1.4 Background analysis............................5 1.5 Feasibility analysis.............................6 1.6 Project initial objectives...........................6 1.7 Project planning...............................6 1.7.1 Initial planning...........................7 1.7.2 Actual planning...........................9 iii CONTENTS 1.8 Resources.................................. 11 1.8.1 Operating system.......................... 11 1.8.2 OpenViBE............................. 11 2 State of the art: Classification methods for BCIs 13 2.1 Introduction................................. 13 2.2 Feature extraction.............................. 13 2.2.1 Signal conditioning......................... 14 2.2.2 Feature extraction.......................... 15 2.2.3 Feature conditioning (post-processing)............... 17 2.3 Feature translation............................. 18 2.3.1 Model selection........................... 18 2.3.2 Classification algorithms...................... 18 2.4 BCI paradigms............................... 23 2.4.1 P300................................ 24 2.4.2 Motor Imagery........................... 25 2.5 Optimization algorithms.......................... 26 2.5.1 Evolutionary algorithms...................... 26 2.5.2 Estimation of distribution algorithm................ 27 2.5.3 CMAES algorithm......................... 28 PART 2: TECHNICAL DEVELOPMENT 31 3 Algorithm development 33 3.1 k-Nearest Neighbors algorithm....................... 33 3.1.1 Description............................. 33 3.1.2 Algorithm.............................. 34 iv 3.1.3 Parameter selection......................... 35 3.1.4 Computation of distances...................... 35 3.2 k-Nearest Neighbors Equality algorithm.................. 37 3.2.1 Description............................. 37 3.2.2 Algorithm.............................. 37 3.3 Nearest CentroID.............................. 39 3.3.1 Description............................. 39 3.3.2 Algorithm.............................. 39 3.4 Naive Bayes algorithm........................... 41 3.4.1 Description............................. 41 3.4.2 Bayes’ Theorem.......................... 41 3.4.3 Algorithm.............................. 42 4 OpenViBE software 45 4.1 General aspects............................... 45 4.2 OpenViBE structure and features...................... 46 4.2.1 OpenViBE modules........................ 48 4.2.2 Classification module........................ 49 4.3 Motor Imagery BCI with CSP....................... 51 4.3.1 Scenarios.............................. 52 4.3.2 Common Spatial Pattern...................... 53 4.3.3 Classifier scenario......................... 55 4.4 P300 BCI Speller.............................. 57 4.4.1 Scenarios.............................. 57 4.4.2 Classifier scenario......................... 58 4.5 OpenViBE data features.......................... 60 v CONTENTS PART 3: VALIDATION AND CONCLUSIONS 61 5 Results 63 5.1 Introduction to experiments......................... 63 5.2 Characteristics of the BCI data used for validation............. 65 5.3 Experiments methodology......................... 67 5.4 Motor-Imagery experiment 1: k-nearest neighbors............. 68 5.4.1 Accuracies............................. 68 5.4.2 Performances and variance..................... 69 5.4.3 Study of k value.......................... 70 5.4.4 Sensitivity and specificity..................... 71 5.4.5 An illustrative example of the algorithm.............. 71 5.5 Motor-Imagery experiment 2: k-Nearest Neighbors Equality....... 73 5.5.1 Accuracies............................. 73 5.5.2 Performances and variance..................... 74 5.5.3 Study of k value.......................... 75 5.5.4 Sensitivity and specificity..................... 76 5.5.5 An illustrative example of the algorithm.............. 76 5.6 Motor-Imagery experiment 3: Nearest CentroID.............. 78 5.6.1 Accuracies............................. 78 5.6.2 Performances and variance..................... 79 5.6.3 Sensitivity and specificity..................... 80 5.6.4 An illustrative example of the algorithm.............. 80 5.7 Motor-Imagery experiment 4: Naive Bayes................. 82 5.7.1 Performances and variance..................... 82 5.7.2 Sensitivity and specificity..................... 82 vi 5.7.3 An illustrative example of the algorithm.............. 83 5.8 Motor-Imagery experiment 5: Classifier comparisons........... 85 5.9 P300 experiment 1: k-nearest neighbors.................. 88 5.9.1 Accuracies............................. 88 5.9.2 Performances and variance..................... 89 5.9.3 Study of k value.......................... 90 5.9.4 Sensitivity and specificity..................... 91 5.10 P300 experiment 2: k-Nearest Neighbors Equality............. 92 5.10.1 Accuracies............................. 92 5.10.2 Performances and variance..................... 93 5.10.3 Study of k value.......................... 94 5.10.4 Sensitivity and specificity..................... 95 5.11 P300 experiment 4: Nearest CentroID................... 96 5.11.1 Accuracies............................. 96 5.11.2 Performances and variance..................... 97 5.11.3 Sensitivity and specificity..................... 98 5.12 P300 experiment 4: Naive Bayes...................... 99 5.12.1 Performances and variance..................... 99 5.12.2 Sensitivity and specificity..................... 99 5.13 P300 experiment 5: Classifier comparisons................. 100 6 Conclusions and future work 103 6.1 Conclusions about the objectives...................... 103 6.2 Personal experience............................. 104 6.3 Future Work................................. 105 Appendices vii CONTENTS A Software installation 109 A.1 Ubuntu installation............................. 109 A.2 OpenViBE installation........................... 110 Bibliography 111 Acronyms 123 viii List of Figures 1.1 Initial Planning...............................8 1.2 Actual Planning............................... 10 2.1 Feature extraction workflow........................ 14 2.2 A signal before and after being conditioned................ 14 2.3 The procedure for extracting bandpower from a signal........... 16 2.4 The representation of Euclidean and Mahalanobis distances........ 17 2.5 Block diagram of a classification algorithm................ 19 2.6 A hyperplane which separates two classes: the "circles" an the "triangles" 19 2.7 SVM finds the optimal hyperplane for generalization........... 20 2.8 Rocchio Classification. Source: Wikipedia................. 22 2.9 P300 paradigm example to obtain brain signals.............. 24 2.10 A graphical representation of a signal and where the signal originates with P300 paradigm............................... 25 2.11 Right and left hand motor imagery paradigm example. Source: Trauma- trucos.................................... 25 2.12 General evolutionary algorithm workflow................. 26 2.13 The basic steps of an estimation of distribution algorithm......... 27 2.14 The basic steps of CMAES......................... 29 3.1 Example of KNN classification....................... 35 ix LIST OF FIGURES 3.2 Example of KNNE classification...................... 38 3.3 Example of Nearest CentroID classification................ 40 4.1 Workflow of the OpenViBE software.................... 46 4.2 Maximum signal scenario.......................... 47 4.3 Maximum signal scenario display..................... 48 4.4 Classifier trainer configuration layout................... 50 4.5 The motor imagery BCI with CSP: offline performance computations.. 53