欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于Storm的P300實時分布式計算方法與流程

文檔序號:11728990閱讀:385來源:國知局
一種基于Storm的P300實時分布式計算方法與流程

本發(fā)明屬于認知神經(jīng)科學領域與信息技術領域的結(jié)合應用,涉及p300speller腦機接口的計算機制,具體是一種基于storm的p300實時分布式計算方法。



背景技術:

腦機接口是一種人機交互新技術,能夠為運動功能缺失而腦功能完好的患者提供輔助生活能力,也能夠拓展正常人的交流能力。p300speller是腦機接口的一種方式,其功能是通過分析用戶的腦電信號,識別出用戶所想要輸出的字符,從而幫助用戶與外界交流。目前p300speller中的一系列處理都是基于串行計算的。當引入一些算法改進性能時,串行計算要求較長的計算時間,不利于腦機接口的及時響應,從而導致性能在另一方面下降。



技術實現(xiàn)要素:

有鑒于此,本發(fā)明的目的是針對p300speller類型的腦機接口提供一種基于storm進行實時分布式計算的方法。該方法以分布式計算系統(tǒng)storm為基礎構建p300speller的并行計算機制,使得較復雜的算法也能實時地處理p300speller的數(shù)據(jù),為引入各類算法改進p300speller腦機接口性能創(chuàng)造了條件。

本發(fā)明采用以下方案實現(xiàn):一種基于storm的p300實時分布式計算方法,具體包括以下步驟:

步驟s1:storm中專門負責采集數(shù)據(jù)的spout實時從前臺接收原始的腦電信號數(shù)據(jù)塊,并整理成p300eeg數(shù)據(jù)段傳給storm中的負責計算的bolt進行并行計算;

步驟s2:bolt負責一系列的信號處理;同一職能的多個bolt并行完成任務后把結(jié)果傳遞給下一個不同職能的多個bolt進行下一步的并行計算;完成p300的分類工作后,選取出含有p300成分的eeg片段,并記錄下其所對應的閃爍行列號;

步驟s3:通過bolt與前臺建立的socket連接,將含有p300成分的eeg數(shù)據(jù)段所對應的行列號傳回給前臺,前臺根據(jù)傳回的行列號確定反饋結(jié)果。

進一步地,步驟s1具體包括以下步驟:

步驟s11:storm中專門負責采集數(shù)據(jù)的spout工作者在初始化時建立與前臺的socket連接,該連接可以使兩端通過流的形式來傳輸數(shù)據(jù);

步驟s12:前臺每次將一個采樣塊大小的數(shù)據(jù)塊通過socket連接傳輸給spout工作者;

步驟s13:spout工作者依據(jù)p300eeg數(shù)據(jù)段的長度,維持一個按先進先出方式管理的數(shù)據(jù)容器;spout工作者每次接收到數(shù)據(jù)塊,先將流數(shù)據(jù)轉(zhuǎn)換成浮點型,再將數(shù)據(jù)塊插入到容器里,然后從容器里取出最新的一段p300eeg數(shù)據(jù)段,轉(zhuǎn)換成(key1,value1)的形式,key1表示相應的閃爍行列號,value1為該p300eeg數(shù)據(jù)段,把(key1,value1)分發(fā)給extractbolt工作者。

進一步地,所述步驟s2中的所述bolt負責的一系列的信號處理包括:

步驟s21:extractbolt工作者在storm啟動時載入所需要的特征提取方法;extractbolt工作者接收spout工作者傳來的數(shù)據(jù),進行特征提??;extractbolt工作者輸出(key2,value2)形式的數(shù)據(jù),其中key2表示相應的閃爍行列號,value2為由value1提取出的特征向量;extractbolt工作者將輸出的(key2,value2)分發(fā)給classifybolt工作者;

步驟s22:classifybolt工作者在storm啟動時載入所需要的分類方法;classifybolt工作者接收extractbolt工作者傳來的數(shù)據(jù),進行分類運算;classifybolt工作者輸出(key3,value3)形式的數(shù)據(jù),其中key3表示相應的閃爍行列號,value3為分類運算的數(shù)值結(jié)果,代表著該數(shù)據(jù)段包含p300成分的可能性;classifybolt工作者將輸出的(key3,value3)傳遞給averagebolt工作者;

步驟s23:averagebolt工作者接收classifybolt工作者傳來的數(shù)據(jù),把具有相同key3值的value3累加起來,并記錄累加次數(shù);當累加次數(shù)達到預設的條件時,針對每個key3值用累加值除以累加次數(shù)得到平均值;averagebolt工作者輸出(key4,value4)形式的數(shù)據(jù),其中key4為閃爍行列號,value4為相應的均值;averagebolt工作者將輸出的(key4,value4)傳遞給summarizebolt工作者。

進一步地,所述步驟s3具體包括以下步驟:

步驟s31:summarizebolt工作者在其初始化時建立與前臺的socket連接,用于將結(jié)果傳回前臺;

步驟s32:summarizebolt工作者接收averagebolt工作者傳來的數(shù)據(jù),依據(jù)key4代表行或列把數(shù)據(jù)分成兩組,分別從兩組中選出value4最大的那條數(shù)據(jù),得到包含p300成分的行號和列號;

步驟s33:summarizebolt工作者將行列號結(jié)果記錄下來,通過socket連接傳回給前臺的應用模塊,該模塊則根據(jù)傳回的行號和列號來確定給用戶的反饋。

較佳的,本發(fā)明改變了p300speller中傳統(tǒng)的串行處理數(shù)據(jù)的計算機制,采用一種并行的計算方式處理數(shù)據(jù),以此加快了計算速度,使得對反饋時間要求高的p300speller來說,可以使用一些精確度高但是時間復雜度的也高的算法。

與現(xiàn)有技術相比,本發(fā)明以分布式計算系統(tǒng)storm為基礎構建p300speller的并行計算機制,使得較復雜的算法也能實時地處理p300speller的數(shù)據(jù),為引入各類算法改進p300speller腦機接口性能創(chuàng)造了條件。

附圖說明

圖1為本發(fā)明實施例的原理示意圖。

圖2為本發(fā)明實施例以bci2000軟件作為前臺實施例的總框架示意圖。

具體實施方式

下面結(jié)合附圖及實施例對本發(fā)明做進一步說明。

本實施例提供一種基于storm的p300實時分布式計算方法,如圖1以及圖2所示,包括以下步驟:

步驟s1:storm中專門負責采集數(shù)據(jù)的spout工作者實時地從bci2000軟件中接收原始的腦電信號數(shù)據(jù)塊,并整理成p300eeg數(shù)據(jù)段傳給storm中的負責計算的bolt工作者進行并行計算;

步驟s2:bolt工作者負責一系列的信號處理;同一職能的多個bolt并行完成任務后把結(jié)果傳遞給下一個不同職能的多個bolt進行下一步的并行計算,并行計算提高數(shù)據(jù)處理的效率;完成p300的分類工作后,選取出含有p300成分的eeg片段,并記錄下其所對應的閃爍行列號;

步驟s3:通過bolt工作者與bci2000軟件建立的socket連接,將含有p300成分的eeg數(shù)據(jù)段所對應的行列號傳回給bci2000,bci2000則將根據(jù)傳回的行列號確定反饋結(jié)果。

在本實施例中,如圖2所示,所述步驟s1具體包括以下步驟:

步驟s11:storm中專門負責采集數(shù)據(jù)的spout工作者在初始化時建立與bci2000的socket連接,該連接可以使兩端通過流的形式來傳輸數(shù)據(jù);

步驟s12:bci2000的signalprocessing模塊中的p3temporalfilter部分,每次將一個采樣塊大小為blocksize的數(shù)據(jù)塊通過socket連接傳輸給spout工作者;

步驟s13:spout工作者依據(jù)p300eeg數(shù)據(jù)段的長度length,維持一個按先進先出方式管理的數(shù)據(jù)容器;spout工作者每次接收到數(shù)據(jù)塊,先將流數(shù)據(jù)轉(zhuǎn)換成浮點型,再將數(shù)據(jù)塊插入到容器里,然后從容器里取出最新的一段p300eeg數(shù)據(jù)段,轉(zhuǎn)換成(key1,value1)的形式,key1表示相應的閃爍行列號,value1為該p300eeg數(shù)據(jù)段,把(key1,value1)分發(fā)給extractbolt工作者。

在本實施例中,如圖2所示,所述步驟s2具體包括以下步驟:

步驟s21:extractbolt工作者在storm啟動時載入所需要的特征提取方法;extractbolt工作者接收spout工作者傳來的數(shù)據(jù),進行特征提?。籩xtractbolt工作者輸出(key2,value2)形式的數(shù)據(jù),其中key2表示相應的閃爍行列號,value2為由value1提取出的特征向量;extractbolt工作者將輸出的(key2,value2)分發(fā)給classifybolt工作者;

步驟s22:classifybolt工作者在storm啟動時載入所需要的分類方法;classifybolt工作者接收extractbolt工作者傳來的數(shù)據(jù),進行分類運算;classifybolt工作者輸出(key3,value3)形式的數(shù)據(jù),其中key3表示相應的閃爍行列號,value3為分類運算的數(shù)值結(jié)果,代表著該數(shù)據(jù)段包含p300成分的可能性;classifybolt工作者將輸出的(key3,value3)傳遞給averagebolt工作者;

步驟s23:averagebolt工作者接收classifybolt工作者傳來的數(shù)據(jù),把具有相同key3值的value3累加起來,并記錄累加次數(shù);當累加次數(shù)達到預設的條件sequence時,針對每個key3值用累加值除以累加次數(shù)得到平均值;averagebolt工作者輸出(key4,value4)形式的數(shù)據(jù),其中key4為閃爍行列號,value4為相應的均值;averagebolt工作者將輸出的(key4,value4)傳遞給summarizebolt工作者;

在本實施例中,如圖2所示,所述步驟s3具體包括以下步驟:

步驟s31:summarizebolt工作者在其初始化時建立與bci2000的socket連接,用于將結(jié)果傳回bci2000;

步驟s32:summarizebolt工作者接收averagebolt工作者傳來的數(shù)據(jù),依據(jù)key4代表行或列把數(shù)據(jù)分成兩組,分別從兩組中選出value4最大的那條數(shù)據(jù),得到包含p300成分的行號和列號;

步驟s33:summarizebolt工作者將行列號結(jié)果記錄下來,通過socket連接傳回給bci2000的application模塊,該模塊則根據(jù)傳回的行號和列號來確定給用戶的反饋。

在本發(fā)明實施例中,對于參數(shù)blocksize,length,sequence可按如下設定:blocksize=40,length=800,sequence=15。

在本發(fā)明實施例中,如圖2所示,對于extractbolt工作者所采用的特征提取方法以小波分析特征提取方法為例,并命名為waveletextractbolt;對于classifybolt工作者所采用的分類算法以svm算法為例,并命名為svmclassifybolt。

較佳的,本實施例改變了p300speller中傳統(tǒng)的串行處理數(shù)據(jù)的計算機制,采用一種并行的計算方式處理數(shù)據(jù),以此加快了計算速度,使得對反饋時間要求高的p300speller來說,可以使用一些精確度高但是時間復雜度的也高的算法。

以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應屬本發(fā)明的涵蓋范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
阜宁县| 东兰县| 遵义市| 清新县| 永昌县| 潞西市| 淮安市| 衡南县| 旌德县| 平南县| 开鲁县| 平和县| 山东省| 临海市| 嵊州市| 永定县| 体育| 和田市| 宣化县| 濮阳县| 山阴县| 隆昌县| 吉林省| 长武县| 平罗县| 汝阳县| 闽侯县| 高安市| 汾西县| 赞皇县| 浮梁县| 商河县| 巴林右旗| 香格里拉县| 宜州市| 南城县| 公安县| 阿克| 昆山市| 勃利县| 荥经县|