Introduction To Modern Brain-Computer Interface Design

From SCCN
Jump to: navigation, search

Overview

Christian Kothe

This is an online course on Brain-Computer Interface (BCI) design with a focus on modern methods. The lectures were first given by Christian Kothe (SCCN/UCSD) in 2012 at University of Osnabrueck within the Cognitive Science curriculum and have now been recorded in the form of an open online course.

The course includes basics of EEG, BCI, signal processing, machine learning, and also contains tutorials on using BCILAB and the lab streaming layer software.

Online Videos

Course Overview Videos

• Quick Teaser for the Course
• Course Outline (slides)

Part I: Introduction to BCI Design

• Lecture 1: Introduction (slides)
• Module 1.1: What is a Brain-Computer Interface?
• Module 1.2: Application Areas and Examples
• Module 1.3: Scientific Challenge
• Module 1.4: Available Tools
• Demo 1: The Lab Streaming Layer (slides)
• Lecture 2: EEG Basics (slides)
• Module 2.1: Underlying Brain Processes
• Module 2.2: Spatial Characteristics
• Module 2.3: Temporal Characteristics
• Module 2.4: Complex EEG Phenomena
• Module 2.5: Non-Brain Artifacts
• Module 2.6: Sensing and Acquisition
• Lecture 3: Signal Processing in BCIs (slides)
• Module 3.1: The Role of Signal Processing
• Module 3.2: Major Filter Classes
• Module 3.3: A Simple Neurofeedback BCI
• Module 3.4: Prediction Function Notion
• Lecture 4: Adaptivity and Machine Learning (slides)
• Module 4.1: Adaptivity in BCIs
• Module 4.2: Machine Learning
• Module 4.3: Concrete Case Study
• Module 4.4: Performance Evaluation
• Lecture 5: ERP Processing (slides)
• Module 5.1: Task
• Module 5.2: Analysis Approach
• Module 5.3: Review
• Module 5.4: Advanced ERP Topics
• Exercise 1: Implementing ERP-based BCIs (slides)

Part II: The BCILAB Toolbox

• Lecture 6: BCILAB Toolbox Anatomy (slides)
• Module 6.1: Context and Background
• Module 6.2: Quick Methods Teaser
• Module 6.3: Architecture Overview
• Module 6.4: Plugin Concepts
• Module 6.5: Data Representations and Pipeline
• Demo 2: BCILAB GUI Walkthrough
• Exercise 2: ERP Analysis in BCILAB (slides)

Part III: Handling Complex Brain Processes

• Lecture 7: Oscillatory Processes (slides)
• Module 7.1: Basics and Examples
• Module 7.2: The Spatial Filter Problem
• Module 7.3: Common Spatial Patterns
• Module 7.4: Alternatives and Extensions
• Exercise 3: Implementing CSP-based BCIs (slides)
• Lecture 8: Optimization-based Approaches (slides)
• Module 8.1: Introduction
• Module 8.2: Going Beyond CSP
• Module 8.3: Large-Scale Machine Learning
• Module 8.4: Application to the Spectral Model
• Module 8.5: Application to ERPs
• Module 8.6: Leaning ERP and Oscillatory Weights Simultaneously
• Lecture 9: BCILAB Scripting and Plugins (slides)
• Module 9.1: Prerequisites
• Module 9.2: Defining an Approach
• Module 9.3: All Other Steps
• Exercise 4: Scripting Online Analyses in BCILAB (slides)
• Exercise 5: Scripting Offline Analyses in BCILAB (slides)
• Lecture 10: Neuroscience Aspects and Outlook (slides)
• Module 10.1: Prerequisites
• Module 10.2: Source Signal Feature Extraction
• Module 10.3: Location-based Prior Knowledge
• Module 10.4: Recent Example: Attention Shifting
• Module 10.5: Outlook
• Module 10.6: Further Reading

Exercise Materials

The course includes computer exercises that require MATLAB coding, as well as a downloadable exercise packages (including data files and script scaffolds). We recommend to use the current version of BCILAB from GitHub, found here (you can either clone the repository using Git or download a .zip file). Alternatively, you can use an older toolbox version from the time when the course was first given, downloadable from here, but note that newer MATLABs may give you warnings (and possibly errors) due to deprecated features or incompatibilities. The exercise packages are found here: