[Lecture] [Resume] Tool Berbasis MATLAB Untuk Penelitian BCI

1. Pendahuluan

Sistem BCI (Brain-Computer Interface) dan algoritma memungkinkan pengunaan sinyal otak sebagai alat komunikasi atau lebih umum lagi untuk menciptakan sebuah interkoneksi yang bermanfaat antara mesin dan aktifitas otak. Karena portabilitas ini, kebanyakan sistem BCI menggunakan sinyal electrocephalongraphic (EEG) yang tercatat dari satu atau beberapa scalp channel. Review kali ini akan berfokus pada perangkat lunak untuk memproses multi-channel EEG data pada MATLAB. Meskipun aplikasi MATLAB jarang digunakan diluar lingkungan penelitian, MATLAB menawarkan tool berharga untuk mengembangkan, melakukan prototyping dan menguji pendekatan BCI.

2 Data Streaming

2.1 FieldTrip

Logo FieldTrip
Logo FieldTrip

FiledTrip adalah sebuah software toolbox untuk analisis EEG/MEG dibawah MATLAB yang menyediakan implementasi open-source dari sebuah skema buffering data secara real-time. FieldTrip buffer diimplementasikan sebagai sebuah jaringan transparan dari TCP server, yang memungkinkan klien untuk melakukan stream data EEG terhadapnya sampel demi sampel atau dalam blok kecil, dan pada saat yang bersamaan data apapun yang ada di buffer kemudian dapat diterima dan diproses oleh aplikasi lain. FieldTrip buffer juga dapat digunakan secara umum untuk berkomunikasi antara aplikasi-aplikasi yang terpisah. Satu aplikasi bertanggung jawab melakukan akuisisi data, menulis data kedalam buffer sedangkan aplikasi lainnya dapat terhubung dengan server untuk membaca sebagian data dan kode atau menulis kode baru ke dalam buffer yang sama.

2.2 DataSuite: DataRiver dan MatRiver

DataSuite adalah sebuah akuisisi data terdistribusi, sinkronisasi, pemrosesan online dan sistem pengiriman berbasis stimulus di sekitar DataRiver, merupakan sebuah pengelola data yang unik dan mesin sinkronisasi yang bersifat real-time. DataRiver dibuat berdasarkan sebuah pengelola data real-time inti, yang sebelumnya dikembangkan untuk  akuisisi data ADAPT dan analisa sistem dan bahasa.Producer adalah sebuah klien DataRiver untuk mengontrol presentasi stimulus secara fleksibel dengan menggunakan sebuah bahasa scripting asli.

Aliran data pada DataFlow
Aliran data pada DataFlow

2.3 DataRiver

Logo DataRiver
Logo DataRiver

DataRiver adalah sistem universal dan fleksible untuk sinkronisasi data stream dengan tingkat presisi yang tinggi. DataRiver dikembangan untuk menyelesaikan masalah-masalah sinkronisasi data stream yang terjadi secara bersamaan dengan menyediakan sebuah data stream yang dinamis, dengan mekanisme yang mendekati real-time dengan tingkat akurasi yang telah didesain dan diuji lebih baik daripada workstation yang ada saat ini. dataRiver memperoleh fleksibilitasnya dari desainnya yang modular, data keluaran dari berbagai macam perangkat ditangani oleh driver perangkat yang dapat mengubah setiap keluaran tersebut menjadi sebuah data stream yang device-independent.

2.4 MatRiver

MatRiver adalah sebuah toolbox MATLAB yang mencakup klien MATLAB DataRiver yang dioptimalkan untuk pemrosesan data secara real-time, buffering dan visualisasi dengan penekanan pada analisa EEG. MatRiver memanfaatkan fungsi DLL pada sistem operasi Windows untuk berkomunikasi dengan DataRiver dan menyediakan sebuah jalur bagi EEG untuk melakukan pre-processing dan klasifikasi.

2.5 EEGLAB

EEGLAB adalah sebuah offline analysis environment umum untuk EEG dan dan data elektrofisiologis yang melengkapi DataRiver dan MatRiver. EEGLAB adalah sebuah lingkungan berbasis menu interaktif dan scripting untuk memproses data elektrofisiologis dibawah MATLAB. EEGLAB menyediakan terminal command line dan tampilan antarmuka (GUI) yang interaktif untuk memudahkan user memproses data elektrofisiologis mereka yang tinggi kerapatannya secara fleksibel dan interaktif. Fungsional EEG mengimplementasikan beberapa metode analisa data EEG seperti Independent Component Analysis (ICA) dan analisa frekuensi/waktu. EEGLAB telah menjadi platform yang digunakan secara luas untuk memproses biofisik yang bersifat time series  dan berbagi teknik baru.

2.5.1 Solusi lain

Paket-paket lain juga memungkinkan untuk melakukan akuisisi data dan pemrosesan dengan menggunakan MATLAB. rtsBCI pada BIOSIG dan perusahaan g.tec misalnya, yang menggunakan MATLAB Simulink untuk melakukan pemrosesan online berkecepatan tinggi dan menciptakan antarmuka bagi kartu ADC.

3 Pemrosesan Data Online

Pemrosesan BCI secara online biasanya terdiri dari kegiatan melibatkan pemrosesan sinyal secara custom dari bagian spesifik BCI dan/atau melibatkan proses ekstraksi dimana sudah ada cukup banyak algoritma yang telah dipublikasikan, diikuti dengan bagian machine learning/inference, yang mana disini tersedia banyak toolbox dan algoritma yang dapat digunakan. Fleksibilitas dalam melakukan pemrosesan data custom dan metode klasifikasi adalah alasan utama dari penggunaan MATLAB untuk aplikasi penelitian BCI.

3.1 Script BCI Minimalis dengan Menggunakan Kode Bawaan MATLAB

MATLAB memungkinkan proses membuat prototype yang mudah dari sebuah algoritma kompleks. Sebagai contoh perbandingan, implementasi dari pyoeksi LDA yang membutuhkan 286 baris kode jika menggunakan OpenViBE dapat diimplementasikan pada MATLAB dalam beberapa baris saja. Ini adalah salah satu alasan kenapa banyak metode komputasi kemudian diuji dengan menggunakan MATLAB sebelum diimplementasikan pada bahasa berbasis aplikasi yang lebih terstruktur.

3.2 BCILAB

BCLILAB adalah sebuah sistem untuk menyusun sistem BCI baru secara mudah dengan fokus yang kuat untuk menuju pada tahapan state of the art. Sistem BCI yang dibangun dengan menggunakan BCILAB dapat diterapkan secara online dan/atau dievaluasi secara offline. BCILAB di desain untuk menjadi toolbox yang tersedia secara bebas untuk penciptaan, evaluasi dan penerapan dari sistem BCI. BCILAB juga menyediakan tools untuk mengeksplorasi dan memvisualisasikan dataset offline untuk keperluan penelitian dasar. Desain sistem BCILAB sendiri dibuat berdasarkan tiga konsep:

  • BCI Detector
  • Detector components
  • Detection paradigms
Kemapuan pemrosesan data BCILAB
Kemapuan pemrosesan data BCILAB

3.3 Tool klasifikasi MATLAB BCI lain

  • MATLAB Statistics toolbox
  • The Neural Network toolbox
  • The Bioinformatics toolbox

3.4 Tool MATLAB dan Non-MATLAB BCI lain yang ada

  • BioSig (www.biosig.sourceforge.net)
  • OpenViBE (www.irisa.fr/bunraku/OpenViBE)
  • BCI2000 (www.bci2000.org)
  • The BBCI Toolbox (www.bbci.de)
  • g.BSanalyze (www.gtec.at)
  • Proyek-proyek lain (Tobi project by EU, Braingain project by Dutch goverment)

4. Kesimpulan

Penelitian BCI saat ini telah berjalan pada setidaknya tiga hal. Yang pertama, usaha untuk mengidentifikasi cara memperoleh kendali terhadap kemauan yang efisien dan low-latency terhadap perubahan fitur EEG, hingga membentuk “sinyal mental” yang dapat digunakan untuk komunikasi BCI. Kedua, usaha untuk menggunakan modulasi dari aktifitas otak sebagai respon terhadap stimulasi eksternal, seringkali dengan kendali kemauan dari perhatian pengguna. Ketiga, pelakukan monitoring kognitif secara pasif dari keadaan user termasuk aksi atau kehendak, juga untuk meningkatkan produktifitas antara manusia dengan sistem, keamanan, kesenangan atau kesetimbangan secara menyeluruh.

Referensi Bacaan:

 Tan, Nijholt. 2010. Brain-Computer Interfaces: Applying our Minds to Human-Computer Interaction. Springer.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s