Presentation is loading. Please wait.

Presentation is loading. Please wait.

IV. BCI Software JO, INAH CH 20. BioSig

Similar presentations


Presentation on theme: "IV. BCI Software JO, INAH CH 20. BioSig"— Presentation transcript:

1 IV. BCI Software 2010.11.19. JO, INAH CH 20. BioSig
: An Open-Source Software Library for BCI Research CH 21. BCI2000 : A General-Purpose Software Platform for BCI 맡은 부분은 새로운 단원 앞 부분: signal processing의 세부적인 방법들 이 단원에서는 어떤 method나 technique에 관한 것이 아니라, 상용 software package에 대한 소개 각 signal processing 단계에서 어떤 방법을 사용했고 어떤 점이 장점이고 더 개발되어야 하는지 등을 소개하고 있습니다. 두 가지 software BioSig, BCI2000 에 대해서 JO, INAH

2 Introduction Introduce two software packages for BCI
Freely available Include a set of useful tools to process EEG signals for real-time BCI Chapter 20 : Graz BioSig toolbox. Interface to many different data formats of EEG recordings Supports several-signal processing Artifact reduction Feature extraction Classification methods Chapter 21 : BCI2000 toolbox Wadsworth center in Albany , the University of Tubingen. Mainly for real-time BCI application General data acquisition techniques and a general framework Windows platforms and C++ programming. 이 챕터에서는 BCI의 software package 두개를 소개한다. 이 두가지는 무료로 사용가능하고, EEG 신호를 통해 real-time BCI를 하기에 유용한 많은 툴들을 가지고 있다. Wadsworth center 워즈워드 : the research-intensive public health laboratory of the New York State Department of Health 뉴욕주 보건국. Chap 20 : biosig toolbox EEG signal의 여러 dataformat에 대한 interface를 제공하고 signal processing을 하고 artifact reduction, feature extraction, classification method 등이 포함되어있다. Chap 21 :BCI2000 toolbox 는 여기서 연구되었고 주 목적은 real-time BCI를 위해 개발되었다. general 한 data acquisition techniques, general framework를 제공하여 user가 손쉽게 신호처리를 할 수 있도록 한다.

3 BioSig An Open-Source software Library for BCI research
Chapter 20. BioSig An Open-Source software Library for BCI research

4 1. Abstract Common interface to many different data formats
Artifact processing, quality control Adaptive signal processing, Feature extraction methods : very suitable for online and real-time processing. Supports handling of missing values. Includes several classification methods Overview of the current status and an outline of future possibilities. Licensed with the GNU General Public License.(GNU GPL or GPL) Open development platform : ideal tool for research and development. 여러 종류의 다른 data format에 대해 공통적으로 적용될 수 있는 interface를 제공한다 .. data 손실을 보완하고 여러가지의 classification method를 가지고있다. 이 챕터는 이 시스템의 현재 상황과, 앞으로의 개발 가능성에 대한 overview라고 생각하면 된다. GNU GPL에 의해 license가있다. Open souce여서 research에 아주 좋다. GNU GPL

5 2. Overview Current, available open-source software tools
BioSig, OpenEEG, Bioelectromagnetismtoolbox, EMEGS, FieldTrip, LORETA,BCI2000 GPL(General Public License) : free run, copy, distribute study, change, and improve the software is available A Major aim : Provide an open-source software library for BCI research Available from 현재 BCI에서오픈 소스 software로 사용 가능한 툴로는 다음과 같은 것들이 있습니다. 이것들의 대부분은 GPL로 우리 나라 말로는 “일반 공중 라이센스” 라고 합니다. GNU software에 적용되는 공개 소프트웨어의 대표적인 라이선스 체계로서, 저작권(copyright)의 반대라는 의미로 copyleft 라고도 합니다. 목적은 라이선스 사용료나 사용상의 제약 조건을 자유롭게 해서 소프트웨어 유통을 활성화 하기 위한 의도에서 출발한 것입니다. 따라서 GPL의 허가를 받은 소프트웨어는 run, copy, distribute study, change, and improve the software가 가능합니다. 이 BioSig의 주 목적은 BCI researcher들에게 open source software library를 제공하기 위한 것. web site가 소개되고 있고, 여기서 program사용이 가능합니다. Table : 현재 사용되는 open source 소프트웨어와 라이센스여부, 기반 language 등에 대한 정보.

6 3. BioSig for Octave and MATLAB
The BioSig project was started as a library for Matlab with an attempt to be compatible with Octave ( ) SubProject(rtsBCI, C/C++, SigViewer, etc) => Renamed as “Biosig for octave and MATLAB” Biosig 프로젝트는 처음엔 matlab에서 Octave 프로그램과의 호환성을 위한 library로 개발됐는데 Octave: matlab 같은 numerical programming language. 다른 subproject들이 개발되면서 이 부분(현재 우리가 biosig라고 부르는)이 Biosig for octave and MATLAB으로 rename됨. Table : toolbox에 포함된 subtask들을 볼 수 있습니다.

7 3-1. Data Formats and Storage
Currently more than 40 different data formats. Common interface to various data formats Automated detection of the file format Do not need to care which data format is actually used how the proper scaling of the amplitude values is obtained From where to obtain the sampling rate. Supports also simple preprocessing selection of specific data channels, overflow detection However, none of these data formats contains all the features needed for BCI research. GDF(General Data Format): Constructed with advantages of various data formats for biomedical signal processing 이 모듈은, 여러 종류의 data format에 대한 일반적인 interface를 제공한다. 이게 중요한 이유는, data format이 사용자마다 다를 수 있는데, 그때마다 각 data format에 맞추려면 시간, 노력이 많이. 현재 40여가지의 data format의 종류에 대한 지원이 이루어지고 있다. 이것은 biomedical signal processing에서의 다른 프로젝트보다 많은 종류임. 여기서는 자동적으로 data format에 대한 detection이 지원된다. 이렇게 다양한 format이 존재하는데, Biosig는 common interface를 제공함으로써, 어떤 data format이 이용되었고, 어떻게 스케일링이 이루어졌는지 등을 고려하지 않아도 된다. 또한, specific data channel 선택이나 over flow detection 등 간단한 preprocessing도 지원한다. 하지만 이런 data format이 BCI에 필요한 모든 정보를 포함하는 것은 아니다. 따라서, 여러 종류의 data format의 이점을 모아서 general data format(GDF)을 만들었다. 많은 data format이 있다 -> 모든 data format이 BCI에 적합하지는 않다. ->GDF format으로 통일했다.

8 3-1. Data Formats and Storage
GDF table20.3 Codes are grouped According to different application areas EEG artifact code range: 0x0100 – 0x010f BCI experiment code range : 0x0300 – 0x03ff

9 3-2. Preprocessing Intermediate state between data access and feature extraction. Functions Triggering the data : to extract data segments relative to a given trigger Extracting the trigger time points from a continuous trigger channel Advanced algorithms for artifact processing quality control method(histogram analysis), reducing EOG artifacts algorithm(based on regression analysis), detecting muscle artifacts(based on inverse filtering) Data access와 feature extraction의 중간단계 기능으로는 이 모듈은 여러가지 유용한 preprocessing routine을 가지고 있다고 소개하고 있다. 그 중에 가장 많이 사용되는 function들로써 첫째로 Triggerring the data : 주어진 trigger에 관계된 data segment를 취하는 방법. continuous게 트리거 되는 채널들로 부터 trigger time point를 extract 한다. 그리고 여기서는 artifact detection을 위한 발전된 형태의 알고리즘을 포함하고 있습니다.

10 3-3. Signal Processing and Feature Extraction
Many signal processing methods are available Tool for handling of missing data is rare. Exception : TSA(time series analysis) toolbox, NaN toolbox, part of OctaveForge, distributed with BioSig. NaN toolbox Represent missing values as not a number according to IEEE754 sumskipnan.m : skips all NaNs, and sums and counts all numerical values. Return value SUM, COUNT : calculate the mean of the data. expectation value of any statistic including covariance matrices and more advanced statistics. more advanced ? Investigated. TSA(Time Series Analysis) toolbox Many functions for parametric modeling(autoregressive estimator) Burg and Levinson-Durbin algorithms for estimating autoregressive parameter Adaptive autoregressive estimators like Kalman filtering RLS, LMS algorithms Multivariate autoregressive estimators like the Nuttal-strand method Multichannel Levinson algorithm <3>Signal Processing and Feature extraction - Signal processing에서는 신경써야 할 부분이 많이 있는데, 그 중 하나가 missing data처리입니다. - 특별히 signal processing이나 feature extraction의 방법에 대해서는 소개하지 않고, missing data처리에 신경썼다는 것을 강조. 많은 signal processing 방법들이 있고, 많이 사용되지만, missing data를 처리하는 tool은 거의 없는 실정이다. 하지만 앞에서도 말했듯이, BioSig는 missing value를 처리하는 method를 가지고 있다. OctaveForge에 있는 TSA 와 NaN toolbox가 그것이다. NaN : IEEE754 floating-point standard에 따라서 all NaN은 Skip 하고, - value가 있는 숫자들에 대해서 모두 sum을 하고 count 해서 sum 과 count 값을 반환하다. - 나중에 mean과 covariance를 구할 수 있다. - 이 툴이 signal processing에 대해 더 advanced된 기술인지는 모르겟으나, 그냥 연구가 되었다고 나와있음. 2. TSA toolbox - Parametric modeling : 어떤 모델을 만들 때 여러 parameter들로 모델이 정의된다는거 - Autoregressive estimation : 여러 데이터들로 부터 어떠한 모델을 자동으로 도출해냄. 이전의 data에서 sample의 weight 달리해서 결과를 예측 본문에는 포함된 여러 알고리즘이 나열되어있는데, 결국, 이 알고리즘들을 이용함으로써 NaN toolbox처럼 missing data에 대해 robust 해졌고 Artifact detection에도 뛰어나다고 소개하고 있습니다. Burg and Levinson-Durbin algorithms Adaptive Auto Regressive estimators RLS, LMS algorithms Multivariate autoregressive estimators.

11 3-4. Classification Various need for classifier Combines various features into a single output cross validation to prevent overfitting Time lag of classification should be as small as possible. Optimal time point for applying the classifier must be identified. Wrapper function(findclassifier.m) First version : LDA for two classes Later : Quadratic classifier, svm for more than 2 classes Selection of the Proper time segment for estimating a classifier. Data were triggered, seperability were calculated for each time segment. Length of each segment can be varied from 1 to N samples Typically, fixed segment length of a fraction of a second is used. Cross validation : trial based LOOM(Leave-One-Out Method) Samples from the chosen segment of all but one trial This classifier used to all samples of testing trials. Repeated until each trial has been used once as test trial. used in the BCI competition 2005 on data Set I(rank7),Iva(rank 8) 4. Classification 이제 앞에서 signal processing된 신호들을 classification 해야합니다. classifier는 여러 조건들이 필요한데 1. Classifier는 여러 개의 feature를 통해 하나의 output을 도출해 낸다 2. Time lag of classification should be as small as possible 3. Overfitting 을 방지하기 위해 Coss-validation이 필요하다. 4. Classifier를 적용하기 위해 가장 좋은 Optimal time point 가 정의되어야 한다. 2> 이런 다양한 기능을 커버하기 위해 요구되는 function을 포함하는 wrapper function이 개발되었다.(findclassifier.m) 이 wrapper function은 classifier에 필요한 조건들을 포함하는 함수들입니다. 처음엔 두 클래스 구분을 위한 LDA가 개발되었고, 나중에 더 많은 class 구분을 위한 Quadratic discriminant analysis, Support vector machine이 추가되었다. 또 하나의 중요한 이슈는, classifier를 estimation하는 데 있어서 적절한 time segment를 선택하는 것인데 일반적으로는 sampling rate에 따라서 정해진 길이의 fraction을 사용한다. 3>classification에 있어서 한 trial에서 선택된 segment의 sample이 classifier을 training 시키는 데 사용되었고, 이 classifier가 testing trial의 모든 sample에 적용되었다. 이 과정은 각각의 trial이 모두 한번씩 test trial로 사용될 때까지 반복되었다. 모든 과정이 끝나면, 각 trial에 대한 output의 time course가 얻어진다. 그럼 이 outcome은 다른 evaluation criteria(like error rate, snr, mutual information, kappa)로써 평가된다. Wrapper function

12 3-5. Evaluation Criteria Different evaluation criteria
accuracy(error rate), information transfer, cohen’s kappa coefficient, others. Analyzing the time courses of the different criteria are provided. These functions were used for analyzing results of the BCI competition 2003(datasetIII), BCI competition 2005(datasetIIIa,IIIb), -평가 기준. -여러가지 different evaluation criteria가 BCI 연구에 사용되는데, 다음과 같은 것들이 있다. -또한 다른 criteria들의 time course를 분석하는 function 도 제공됨. -BCI competition에도 사용되었음 6. Visualization 1. Plota.m function은 여러 결과들을 나타내 준다. 결과는 입력에 따라 다른 형태로 나타난다. 예를들어, 두 클래스에 대한 결과는: error rate, snr, mutual information 두 클래스모다 많은 클래스에 대한 결과는 : 2. Sview function 은 raw eeg data를 나타낸다. 두가지 장점. 하나는 가능한 data에 대한 overview가 쉽고, 또 하나는 EEG data를 scoring하기 쉽다.

13 3-6. Visualization Sview Plota.m(Wrapper funtion)
for displaying various results. Generate a certain result depends on input data ex> outcome of findclassifer.m for two classes : time course of the error rate and SNR ex > outcome of findclassifier.m for N>2 classes : time course of the accuracy and the kappa coefficient. Sview Present the Raw EEG data in a compressed form on a single screen. Useful to get an overview of the available data Scoring of EEG data. Two packages : Sviewer, SigViewer. Visualization은 user에게 보여지는 부분이기 때문에 항상 중요합니다. 여기서는 두가지의 function에 대해 소개하고 있는데 1. 먼저 plota 라는 wrapper function이 사용되었습니다. 이것은 많은 다양한 결과에 대한 디스플레이를 가능하게 한다고 각각의 input data에 따라서 특정한 결과들을 보여준다. 예를들어, findclassifier.m 라는 함수가 2 개의 clss를 구분하는데 사용되면, 그 결과는 error rat, snr에 대한 time course 2. 그다음은 Sview 라는 functiondlsep] 이것은 raw EEG data를 한 화면에 압축된 형태로 보여준다. 우리가 하눈에 그 데이터가 유용한지 볼 수 있다는 장점이 있고, eeg data를 scoring 할 수 있습니다. 여기서 두개의 software package가 다시 소개됩니다.

14 3-7. SViewer : a viewing and scoring software
Written in Matlab Common interface Can read any data format supported by BioSig for Octave and Matlab annotation, markers, event can be edited. Not a stand-alone program 먼저 Sviewer 를 보면, 이것은 matlab으로 작성되었고 common한 interface를 가져서, BioSig for Octave and Matlab이 지원하는 어떤 형태의 data format도 읽을 수 있습니다. 또한 annotation, markers, event에 대한 편집이가능하다. 그리고 이것은 독립된 프로그램이 아니므로 SigViewer와 헷갈리면 안된다.

15 4. Real-time BCI System Based on MATLAB/Simulink-rtsBCI
rtsBCI : framework for the development and rapid prototyping of real- time BCI system To enable hard real-time computing on Windows platforms Real-time Windows Target(RTWT) Real-Time Workshop(RTW) BioSig for Octave and Matlab(for data format handling) TCP/UDP/IP toolbox(for network communication support) Data Acquisition Card is required to sample the biosignals. Licensed under GNU GPL Based on Matlab/Simulink, running on Microsoft Windows Used toolbox Real-time Windows Target(enable hard real-time computing on windows platforms) Real-Time Workshop(for the generation of stand-alone C code) Tunable parameters: INI file rtsBCI는 Graz BCI open source software 인데, real time BCI system의 개발을 위한 framework를 제공한다. 윈도우가 realtime이 아니기 때문에, 윈도우에서 real time computing을 가능하게 하기 위해서 다음 툴들이 필요. Real Time Windows Target: To enable hard real-time computing on windows platforms Real Time Workshop : for the generation of stand-alone C code (both are extension of simulink.) Biosig for Octave and Matlab : data format handling TCP/UDP/IP toolbox : for network communication support. - - Installation 끝나면, rtsBCI module이 simulink library browser에 추가된다. 실험상에서 바뀌어지는 parameter에 대한 정보(subject information, amplifier setting, electrode setup, paradigm timemng)등은 individual configuration file 에 저장된다. 1. 2. 3. Graz research group : Most of the online BCI feedback experiments are based on rtsBCI along with the package the standard Graz BCI training with feedback : collect data for analysis and setup of the classifier The standard two-class Graz BCI training with feedback : provides a simple feedback in the form of a bar moving (left, right) The Two-class basket paradigm : provides feedback in the form of a ball falling from the top to the bottom of the screen at a constant speed with the task of hitting the correct target a the bottom of the screen by movin t

16

17 5. SigViewer Viewing and scoring program for biosignals.
Multichannel signal(EEG,ECT,EMG,EOG) Scoring : user can annotate to the signal written in C++ Able to be run under Linux, windows, MacOS designed as platform-independent stand alone program Now only GDF file, but can be extended to other file format Sviewer와 함께 biosignal을 보여주고 scoring하는 프로그램이다. 여러 채널에 대한 signal을 display한다. User는 signal에 annotation 하고 이를 파일로 저장할 수 있다.(예를 들어, artifact나 특정 event를 마크할 수 있다.) 이것은 다른 프로그램을 필요로 하지 않는 독립적 프로그램이다. Fig 20.3 EOG artifact가 마크되어있고, arrow가 display 된 순간과 EEG trial이 overlap된 것을 볼 수 있다. C++로 프로그램되어서 리눅스, 위도우, macos에서 실행할 수 있고, platform에 구애받지 않는 stand alone program이다. - 현재는 오직 GDF file만 지원하고 있지만,모듈의 특성상, 다른 file format에 대해서도 기능이 확장될 수 있다.

18 6. BioProFeed Data acquisition module
Can be used with following 3 data acquisition hardware now G. mobilab from g.tec NI PCMCIA from National Instruments ModularEEG from OpenEEG The name “BioProFeed”Stand for Portable Biosignal acquisition Real-time processing Feedback generation framework Part of BioSig project, it is a software framework for processing and storage unit. Specifications Platform independent Support different data acquisition hardware Real-time data processing should be possible Storage of the data in GDF format should be possible Runs on : Linux, MacOs, Windows XP with Cygwin Autotools are used to build software framework 이것은 data acquisition module이다. 현재 3개의 하드웨어만 이용 가능한데, 다른 하드웨어도 이용할 수 있게 준비하고 있다. 이 이름은 다음 세가지 기능으로 부터 따왔다. Biosignal acquisition chian은 transducer->amplifier->ad converter ->processing and storage unit 여기서 BioProFeed 는 processing과 stroage 담당한다. BioProFeed는 다음과 같은 세부사항들을 염두에 두고 개발하였다.

19 7. Summary Plan to improve Almost every part of BioSig
Artifact processing, quality control should be evaluated offline -> online. Additional signal processing, feature extraction methods need to be developed including the ability to handle missing value. Further data formats should be supported in SigViewer. Biosig contains modules for data acquisition, BCI experiments with online feedback, viewing and scoring software for reviewing the raw data, functions for offline analysis of BCI data, obtaining a classifier. Almost all components can be used with free software. GNU GPL - BioSig의 모든 파트를 improve 시킬 계획이다. Artifact processing 이나 quality control은 먼저 offline에서 개발되어 평가된 후에 온라인에 적용되야 할 것이다. 또한 잃어버리는 data들에 대한 개발이 이루어져야 한다.

20 Chap 21. BCI2000 A General-Purpose software Platform for BCI

21 1. Abstract BCI2000 is a flexible general-purpose platform for brain-computer interface research Aim : Reducing the complexity and cost of implementing BCI systems. Joint Project : since 2000 Wadsworth center of the New York State Department of Health in Albany, New York Institute of Medical Psychology and Behavioral Neurobiology at the University of Tubingen, Germany. Used in more than 110 Laboratories around the world BCI2000 Supports Variety of data acquisition systems Brain signals Feedback modalities By reducing labor and cost => different BCI system, psychophysiological experiment : freely available! BCI2000는 BCI연구에 flexible한 다목적platform 이며, 그 목적은 , BCIsystem 복잡함과 cost를 최대한 줄이는 데 있었다고 한다. - 2000년 부터 wadsworth(뉴욕 주립 보건복지부) 센터와 튀빙겐 university 가 공동 연구한 것이다. - 이 소프트웨어는 현재 세계의 약 110개의 연구실에서 사용되고 있다. - 여러 종류의 data를 수집할 수 있고, brain signal 측정이 가능하며, feedback modalities. BCI 2000은 그 비용과 노력을 줄여서 여러 다른 종류의 BCIsystem이나 psychophysiological(정신생리학)의 다른 실험들을 가능하게 했다.

22 2. Overview To date, Goals of the BCI2000 Project: 2007.02, 110 Labs
1. To create a system that can facilitate the implementation of any BCI system 2. to incorporate into this system support for the most commonly used BCI methods 3. to disseminate the system and associated documentation to other laboratories. Reduce time, effort, expense of testing new BCI methods, by providing a standardized data format, engage BCI research. , 110 Labs Consist of 4 modules (independent and interchangeable modules) 1. Signal acquisition 2. Signal processing 3. User feedback 4. Operating protocol To date, Variety of data acquisition Sensorimotor rhythms, cortical surface rhythms, slow cortical potentials, p300 potentials different outputs Several kinds of cursor, robotic arm control , sequential menu selection, selection from a matrix. Written in C++ 다른 그룹의 연구에도 공헌했다 : BrainLab at Georgia State University, Fondazione Santa Lucia in Rome, Italy BCI2000 project의 목적 : 1. 어떤 BCIsystem에도 적용 가능한 시스템 구축 2. 가장 흔히 사용되는 BCI method로 통합시키는 것 3. (정보를 퍼뜨리다) 이 시스템을 널리알려서 다른 랩에서 사용 가능하게 하는 것. 결국, BCI research를 장려하여, 새로운 method개발에 있어서 드는 시간과 비용, 노력을 조금이라도 줄여주기 위한 것임. 이 시스템은 4개의 모듈로 이루어져있는데, 각각이 독립적이면서 모듈끼리 호환이 가능합니다. 호환성이 좋아서 다른 BCI method에도 이용이 가능하다. 이렇게 4개가 있고, 뒤에서 자세히 설명해드리겠습니다. 현재까지 여러 data 수집과 output을 내는 데 사용되었다. C++로 작성되어서++ computational resources 사용을 효과적으로 하고, 결과적으로 real-time requirements of BCI operation을 가능하게 한다.

23 3. Dissemination of BCI2000 Available free of charge for research and educational purposes 2006, Labs Use the existing BCI2000 system without changing the software Implement new methods or system capabilities into BCI 2000 Use BCI2000as a real-time signal acquisition platform to develop systems for research not related to brain-computer interfaces. Example configurations, descriptive documentation, tutorial introductions. Online bulletin board, question and answer Dissemination 보급. 리서치나 교육 용으로는 무료로 제공하고있으며 홈페이지에서 자료들을 다운받아 보실 수 있다 여러 랩에서 사용된 내용을 보면, 이 소프트웨어를 바꾸지 않고 그 자체를 사용한 경우 이 소프트웨어에 다른 시스템을 적용한 것 이 시스템의 signal acquisitiojn platform만 써서 BCI가 아닌 다른 실험에 적용한 것. 개발자들은 example이나 tutorial등을 제공하고 있고 온라인 게시판이 있어서 질문과 답변이 가능하다.

24 4. BCI Model and Modules BCI2000 is based on a model that can describe any BCI system. Source(data acquisition and storage) Brain signals are processed synchronously in blocks containing a fixed number of samples that are acquired by the Source module. Signal processing Each time a new block of data is acquired, the source module sends it to signal processing, which extracts signal features, translates those features into control signals and sends them on to the User Application module. User application application module sends the resulting event markers back to the source module where they and the raw signals are stored to disc. Operator interface - 앞에서 이 시스템은 4개의 모듈로 이루어져 있다고 했었는데, Signal acquisition, Signal processing, User feedback, Operating protocol 이것은 일반적인 BCI system에 기반하는 것입니다. 1. source module은 원하는 만큼의 fixed된 sample로 brain signal을 받아들이게 됩니다. 새로운 데이터 블록이 들어올 때마다, 소스 모듈은 이 신호를 signal processing 모듈에 보내게 되고, 2. Signal processing : 받은 data block에서 feature extraction을 하고, 이 뽑아낸 feature를 control 신호로 변환해서 user application module에 보낸다. 3. user application : 결과 이벤트를 다시 소스 모듈로 보내는 feedback을 하고, raw signal을 저장한다. 각각의 모듈은 어떠한 program language로도 쓰여질 수 있고, network상에서 어떤 기계에도 적합하다

25 4-1. Module1. Source Module and File Format
Digitizes and stores brain signals Passes them on without any further preprocessing to Signal Processing Consists of data acquisition component, data storage component BCI2000 file format Consist of ASCII header, binary signal sample, event marker value. Accommodate any number of signal channels, system parameters, event markers. 제일 처음 모듈은 source module로 , brain signal의 data 를 받아들이는 부분이다. 여기서는 brain signal을 digitize하고 저장하기 때문에, data acquisition component와 data storage component로 이루어져잇다. 이 외의 preprocessing은 더 하지 않고 이대로 signal processing 모듈로 신호를 넘긴다. 여기서 storage component는 BCI2000 의 data format을 지원한다. BCI2000 file format 1. 구성 2. 지원한다.

26 4-2. Module2. Signal Processing Module
Converts signal from the brain into signals that control an output device. Realized using a chain of signal filters. Feature extraction (Three filters) 1. A linear calibration routine that converts signals from A/D units into uV 2. A linear spatial filtering operation (calculating a matrix multiplication of the input signals with a spatial filtering matrix) 3. Temporal filter (6) Slow wave filter : process slow cortical potentials Autoregressive spectral estimation Spectral estimation based on the FFT A general finite impulse response filter : process sensorimotor rhythms A peak detection routine : extracts firing rates from neuronal action potentials Filter that averages evoked responses(p300) Feature Translation Translates the extracted signal features into device independent control signals. ( 2 filters) Linear classifier Filter normalizes the output signals such that they have zero mean and a specific value range 2번째 모듈인 signal processing module에서는 feature extraction을 통해 신호에 의미를 부여하고 brain으로 부터 받은 신호를 output device를 컨트롤 할 수 있는 신호로 변환해준다. 이 신호 변환은 두단계에 걸쳐 일어난다. 첫째가 feature extraction, 그 다음이 translation Feature extraction 은 세가지 filter로 이루어져있다. 1. calibration : AD convert 된 신호를 uV 단위로 2. Linear spatial filtering: 입력 신호의 matrix를 구하고, spatial filtering의 matrix를 곱해서 특정 feature를 뽑아낸다. 3. Temporal filtering으로 6개의 filter를 사용하고 있다. 그 다음 Feature translation 에서는, 추출된 신호를 device를 구동할 수 있는 control 신호로 바꾸어준다. 2개의 필터가 사용된다. 1.linear classifier : 추출된 신호 자체는 feature만 있고 의미가 없다. Feature들을 구분해야 한다. 2. output signal이 zero mean을 갖고, 특정 범위안에 존재하도록 해준다.

27 4-3. Module3. User Application Module
Receives control signals from signal processing and uses them to drive an application 1. Sensorimotor rhythm amplitude 2. Slow cortical potential amplitude Visually on a computer screen Selection of targets, letters, or icons. 1~3 dimensional cursor movement. Two dimensional robotic arm control 3. Evoked potential classification Auditory and visual stimuli 4. p300 evoked potentials A matrix spelling application based on. - 3번째 모듈인 user application module 에서는 ,앞에서 signal processing을 거친 신호를 받아서, application을 구동하는 데 쓰인다. 4가지 신호에 대한 application으로 다음과 같은 것들이 있다. 그림 : 이 4가지 신호에 대한 application 화면을 나타낸다.

28 4-4. Module4. Operator Interface Module
Provides a graphical interface that displays Current system parameters Real-time analysis results communicated to it from other modules. Allows investigator to start, stop, suspend, resume, reconfigure system operation. Monitor 1 : User feedback is displayed Monitor 2 : Operator module’s graphical interface - 마지막 모듈인 operator interface module은 앞에서도 보았듯이 나머지 세 모듈과 통신하게 되어있다. 여기서는 시스템에 대한 정보를 graphic하게 나타낸다. 현재 시스템의 파라미터와, 다른 모듈과의 통신상태를 나타내고, 개발자가 시스템을 작동할 수 있도록 start stop suspend(잠시멈추다), resume(다시 시작하다), reconfigure(변경)등의 작업을 가능하게 한다. BCI2000에서는 한쪽 모니터에는 실험자에 대한 feedback이 나타나고, 다른 모니터에는, 작업자의 작업 환경, 즉, 모듈 간의 interface 정보가 나타난다.

29 4-5. System Variables BCI2000 incorporates three types of system variables : parameters, event markers, signals. System Parameters : do not change throughout a data file Event markers: record events that occur during operation, can change from one data sample to the next. System signals: functions of the user’s brain signals that are received and modified by the modules. Each module can request that the operator module create any number of system parameters or event markers. EX> Source module : parameter for signal’s sampling rate. This parameter is constant during some defined period of online operation, and all other modules, and is recorded automatically in the data file. EX> Signal processing filter designed to detect artifacts : an event marker to mark artifacts in the signal EX> Application module : an event marker to record stimulus conditions. BCI2000에서는 3가지 타입의 system 변수를 통합시켰다. parameter : data file 전체를 통틀어서 변하지 않는 것 (during a specified period of online operation) 반면에 event markers : 어떤 operation이 일어나는 동안 생기는 event를 기록한 것인데, 이것은 sample 이벤트 마커를 data file에 모두 포함시키면 full offline reconstruction이 가능하다. 각각의 모듈은 operator module에 이 시스템 parameter나 event marker의 개수를 지정하게 할 수 있다. 예를 들어 source module 에서는 신호의 sampling rate을 지정하는 parameter를 요청할 수 있다. 이 파라미터는 online operation의 특정 period 동안은 변하지 않는다. Signal processing filter에서는 artifact를 마크하기 위해 event marker를 요청할 수 있다. Application module 에서는 자극의 condition을 기록하기 위해 event marker를 지정할 수 있다.

30 4-6. System Requirements and Real-Time Processing
Microsoft Windows 2000 or a more recent windows-based operating system. Any recent desktop or laptop computer, One of the data acquisition devices that BCI2000 supports Real-Time Processing windows is not a real-time operating system, thus does not guarantee specific timing of events System latency and latency jitter easily satisfied the real-time requirements of BCI operation. (latencies are well below 20ms) Processor load was sufficiently low to guarantee reliable operation. - 이 시스템에 필요한 환경과 real-time processing에 대해서 살펴보면 MS windows 2000이나 더 최근의 window 기반의 os가 필요하다. 컴퓨터와 BCI2000이 지원하는 data acquisition device가 필요하다. Real-time Processing에 대해서는 Window가 real time os가 아니긴 하지만,system latency가 크지 않고, real-time조건에 부합하므로, 괜찮다고 말하고 있다.

31 4-7. Offline Analysis Tools
We currently provide tools To visualize signals in the time domain To get information on the configuration stored in a data file To convert data files to ASCII and Matlab Mario sensorimotor rhythm , p300evoked potential Created Framework To compile and link BCI2000 signal processing components As command-line programs that read BCI2000 parameter BCI2000 filters may also be compiled into dynamically loaded libraries(DLLs) Offline analysis tool에 대해 살펴보면 다음과 같은 tool을 제공 1. time domain에서 signal보는 것, 2. 저장된 data file로 부터 information을 획득하는 것 3. data file을 아스키나 matlab으로 변환하는 것 Mario라는 프로그램과 자체 개발한 framework를 통해서 손쉬운 offline analysis 가 가능하다. Mario는 이탈리아에서 개발된 프로그램인데,.BCI2000을 통해 record된 sensorimotor rhythm(frequency component)과 p300(time course)에 대한 data를 지원한다. 이 두가지 경우에 대해서 모두 통계적 분석을 하면, EEG electrode location에 mapping 할 수 있다. 자체적으로 Framework를 개발했는데, 이걸 통해서, 저장된data file을 읽어들여서 offline analysis를 할 수 있다. DLL은, 소프트웨어의 루틴을 몇 개의 파일로 나누어 디스크에 두고, 필요한 것만을 실행 메모리에 실어서 사용하기 위한 파일로 다수의 파일에 공유될 수 있어서 디스크 용량이나 메모리를 절약할 수 있다.

32 4-8. Rapid Prototyping with MATLAB
Matlab code can Act on blocks of brain signal data in real-time Request its own parameters and event markers Read and modify parameter and marker values Report configuration and run-time errors 빠른 BCI2000 알고리즘의 prototype을 위해서, matlab의

33 5. Future Development Hardware support Platform independence
Data acquisition systems tend to be the most expensive components. Add support for additional devices. Platform independence BCI2000 depends on the Borland C++ compiler and the Borland VCL application framework. By moving toward platform independent libraries, and by replacing non-portable portion from the code base, More compatible with multiple compilers and operating systems Clinical implementations To make BCI setup, operation, and analyses available to users who are not experts on BCI technology is critical. Less complex and flexible version is needed. Support simple menu selection using sensorimotor rhythms and p300-evoked potentials. Integration with other software Interfacing BCI2000 with such external software is an important goal of its future development. 현재 지원되는 data acquisition system 보다 더 많은 하드웨어에 대한 지원이 필요하다. 현재는 C++로 작성되었는데, 이 platform을 독립적인 라이브러리로 만들어서, 다른 컴파일러들과의 호환성을 높일 계획. 임상에서 사용되기 위해서 전문가가 아닌 사람도 쓸 수 있게 좀 덜 복잡하고 쉬운 형태의 버전이 필요하다. 다른 소프트웨어와의 interfacing을 더 좋게 하는 것.

34 6. Availability More information is available at Web Site
BCI2000 source code and executables is free for research and educational purposes But Wadsworth requires a Material Transfer Agreement between a user’s institution and Wadsworth.(Prohibits commercial u se and limits liability.) Compilation of the full BCI2000 source code requires version 5.4 of the Borland C++ Version 6.0 of the Borland VCL application framework is sufficient to build the offline signal processing environment. Compilation (모음집)

35 <Four-Target Selection Using Tactile Feedback>
The subject controls movement of a cursor on the screen to select one of four targets.  The subject cannot see the screen, Receives feedback on the target current cursor position through eight vibrotactile actuators placed on his shoulders.  1. 2. Four target selection using tactile feedback 2008년, 7월15일, 이탈리아 그룹. 커서를 움직여서 4개의 target을 선택하는 것 실험자는 스크린을 볼 수 없다 타겟과 , 현재 커서의 위치를 8개의 vibrotactile actuator(어깨에)로 feedback 받는다.


Download ppt "IV. BCI Software JO, INAH CH 20. BioSig"

Similar presentations


Ads by Google