使用腦電設備實現BCI腦機介面的運用

使用腦電設備實現BCI腦機介面的運用

1 人贊了文章

這段時間沒有更新文章,寫文章的能力都快退化了。這段時間一直在出差加上人又有些懶了,後台都收到小夥伴的催更信息了,實在有些抱歉,致關注公眾號的小夥伴們。多的話不多說了,這期就分享一下我最近在跟老師和童鞋們交流的技術內容——使用腦電設備實現BCI運用。

對於BCI的一些知識,在前面的文章中已經有了一些介紹,傳送門《腦機介面的簡介》 ,BCI技術的內在原理是,當一個人的大腦在進行思維活動、產生意識(如動作意識)或受到外界刺激(如視覺、聽覺等)時,伴隨其神經系統運行的還有一系列電信號活動,這些腦電信號( EEG)可以通過特定的技術手段加以測量,然後再通過信號處理(特徵提取、功能分類等),從中辨別出受試者的真實意圖,並將其思維活動轉換為指令信號,以實現對外部物理設備的有效控制。

基於該原理,BCI技術系統跟任何通訊及控制系統一樣,由輸入(如受試者的EEG信號)、輸出(如控制外部設備的指令)、信號處理和轉換等環節組成。

對於腦電設備來說,最大的問題是如何將採集的EEG信號實時的輸出可供第三方軟體(MATLAB、Python、C、C++等)語言能實時的分類信號處理,將提取的特徵信號轉化為指令,載入到控制器中實現第三方設備(機器人等)的運動

以Brain Products公司其中一款放大器antiCHamp設備為例,闡述如何實時的將信號輸出。

第一步,我們要解決的問題如何將人腦的信號採集。

Brain Products公司對於這款放大器提供了兩款採集軟體可以用來信號採集Recorder和Pycorder。

Recorder採集軟體需要使用加密狗文件才能正常的使用,在第三方軟體中也可以通過調用此軟體的開放介面可以實時讀取Recorder軟體採集的EEG信號,在Recoder的界面configuration——preference——Remote Data Access勾選介面

Pycorder採集軟體是基於Python語言開發的GUI界面通過調用ActiChamp_x32/64.dll文件進行數據的採集,對於開發性需求的用戶,相對來說更方便些。

我們應該知道信號採集過程中,有一些干擾信號是沒辦法避免的,但是我們要在採集信號時,儘可能的提高信噪比。所以,就需要知道雜訊信號的來源——傳送門《EEG信號偽跡來源及可能原因分析》,當知道了信號的干擾分量,則我們就應該對應的減少雜訊的輸入,這樣就有利於後期信號的預處理中刪去了大量的有效信號。

第二步,信號預處理及特徵信號提取

對於信號的分析,可分為實時信號處理和離線信號處理,對於離線信號處理,可使用多個軟體處理了,如BP公司開發的Analyzer,matlab下的eeglab、erplab、fieldtrip、brainstorm等,Python下的MNE等。對於離線信號的預處理過程,可參看前面推送的文章。另一個信號處理方式——實時信號處理。常見的使用軟體有openVIBE、BCI2000、BCILAB以及可以實時讀取信號的LSL。

所謂特徵信號提取,也就是說可以將受試者的意圖產生的EEG信號提取出來,其目的是從眾多的特徵信號中進行分類處理出最有效的特徵EEG信號,這樣才有可能將這一特徵信號轉換為指令。目前提取的常見演算法有:頻譜分析、時頻分析、獨立成分分析(ICA)、主成分分析(PCA)、自回歸模型、模式匹配以及機器學習演算法等。這裡面就涉及的演算法就比較多了,在後續的文章,將儘可能的通俗介紹,對於ICA的方法,可參考《獨立成分分析》

第三步中就是需要將提取信號特徵賦予指令

同樣以Brain Products公司提取α波控制小車為例,可觀看以下視頻。

在視頻中,可以觀察到主要提取的特徵波——α波,它又分為高波幅的α波和低波幅的α波。高波幅的α波使小車高速的運轉,低波幅的α波使小車緩慢或停止。

以上就是使用EEG信號來實現BCI的想法。當然這是一個框架,裡面還涉及的很多東西是我們沒法成功實現BCI應用的原因,如:電極的安放位置、腦電設備信號的獲取、高信噪比、特徵波信號的分類等。

最後,向關注本公眾號的小夥伴們致歉。但同時請諒解小編,畢竟本公眾號不是主業,本公眾號主要是記錄下自己的所見所思所學所感。學以致用,學以所悟。

文章僅限學習使用,不用於商業行為,若有侵權及疑問,請後台留言!

Make brain technology more simple!

推薦閱讀:

腦電分析之眼電糾正

腦電分析之參考電極變換

腦電分析之偽跡去除

大腦研究之基礎篇

大腦可視化之軟體篇

weixin.qq.com/r/8Dvx6Zn (二維碼自動識別)


推薦閱讀:

TAG:BCI | 腦機介面 | 神經科學 |