当前位置: 首页 > 专利查询>福州大学专利>正文

一种基于Storm的P300实时分布式计算方法技术

技术编号:15822241 阅读:44 留言:0更新日期:2017-07-15 04:35
本发明专利技术涉及一种基于Storm的P300实时分布式计算方法,主要包括以下步骤:首先,Storm中的Spout工作者实时地从前台接收原始的脑电信号数据块,重新封装后传给Bolt工作者;然后,Bolt工作者负责一系列的信号处理,通过并行计算提高数据处理的效率,在完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;最后,通过Bolt工作者将记录下的行列号传回给前台,前台则根据传回的行列号确定反馈结果。P300 Speller脑机接口的性能改进需要引入各类算法,但脑机接口对反馈时间的要求限制了采用算法的范围。本发明专利技术能够让更多的算法以分布式计算的方式在P300 Speller脑机接口中发挥作用。

【技术实现步骤摘要】
一种基于Storm的P300实时分布式计算方法
本专利技术属于认知神经科学领域与信息
的结合应用,涉及P300Speller脑机接口的计算机制,具体是一种基于Storm的P300实时分布式计算方法。
技术介绍
脑机接口是一种人机交互新技术,能够为运动功能缺失而脑功能完好的患者提供辅助生活能力,也能够拓展正常人的交流能力。P300Speller是脑机接口的一种方式,其功能是通过分析用户的脑电信号,识别出用户所想要输出的字符,从而帮助用户与外界交流。目前P300Speller中的一系列处理都是基于串行计算的。当引入一些算法改进性能时,串行计算要求较长的计算时间,不利于脑机接口的及时响应,从而导致性能在另一方面下降。
技术实现思路
有鉴于此,本专利技术的目的是针对P300Speller类型的脑机接口提供一种基于Storm进行实时分布式计算的方法。该方法以分布式计算系统Storm为基础构建P300Speller的并行计算机制,使得较复杂的算法也能实时地处理P300Speller的数据,为引入各类算法改进P300Speller脑机接口性能创造了条件。本专利技术采用以下方案实现:一种基于Storm的P300实时分布式计算方法,具体包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout实时从前台接收原始的脑电信号数据块,并整理成P300EEG数据段传给Storm中的负责计算的Bolt进行并行计算;步骤S2:Bolt负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;步骤S3:通过Bolt与前台建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给前台,前台根据传回的行列号确定反馈结果。进一步地,步骤S1具体包括以下步骤:步骤S11:Storm中专门负责采集数据的Spout工作者在初始化时建立与前台的Socket连接,该连接可以使两端通过流的形式来传输数据;步骤S12:前台每次将一个采样块大小的数据块通过Socket连接传输给Spout工作者;步骤S13:Spout工作者依据P300EEG数据段的长度,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到数据块,先将流数据转换成浮点型,再将数据块插入到容器里,然后从容器里取出最新的一段P300EEG数据段,转换成(key1,value1)的形式,key1表示相应的闪烁行列号,value1为该P300EEG数据段,把(key1,value1)分发给ExtractBolt工作者。进一步地,所述步骤S2中的所述Bolt负责的一系列的信号处理包括:步骤S21:ExtractBolt工作者在Storm启动时载入所需要的特征提取方法;ExtractBolt工作者接收Spout工作者传来的数据,进行特征提取;ExtractBolt工作者输出(key2,value2)形式的数据,其中key2表示相应的闪烁行列号,value2为由value1提取出的特征向量;ExtractBolt工作者将输出的(key2,value2)分发给ClassifyBolt工作者;步骤S22:ClassifyBolt工作者在Storm启动时载入所需要的分类方法;ClassifyBolt工作者接收ExtractBolt工作者传来的数据,进行分类运算;ClassifyBolt工作者输出(key3,value3)形式的数据,其中key3表示相应的闪烁行列号,value3为分类运算的数值结果,代表着该数据段包含P300成分的可能性;ClassifyBolt工作者将输出的(key3,value3)传递给AverageBolt工作者;步骤S23:AverageBolt工作者接收ClassifyBolt工作者传来的数据,把具有相同key3值的value3累加起来,并记录累加次数;当累加次数达到预设的条件时,针对每个key3值用累加值除以累加次数得到平均值;AverageBolt工作者输出(key4,value4)形式的数据,其中key4为闪烁行列号,value4为相应的均值;AverageBolt工作者将输出的(key4,value4)传递给SummarizeBolt工作者。进一步地,所述步骤S3具体包括以下步骤:步骤S31:SummarizeBolt工作者在其初始化时建立与前台的Socket连接,用于将结果传回前台;步骤S32:SummarizeBolt工作者接收AverageBolt工作者传来的数据,依据key4代表行或列把数据分成两组,分别从两组中选出value4最大的那条数据,得到包含P300成分的行号和列号;步骤S33:SummarizeBolt工作者将行列号结果记录下来,通过Socket连接传回给前台的应用模块,该模块则根据传回的行号和列号来确定给用户的反馈。较佳的,本专利技术改变了P300Speller中传统的串行处理数据的计算机制,采用一种并行的计算方式处理数据,以此加快了计算速度,使得对反馈时间要求高的P300Speller来说,可以使用一些精确度高但是时间复杂度的也高的算法。与现有技术相比,本专利技术以分布式计算系统Storm为基础构建P300Speller的并行计算机制,使得较复杂的算法也能实时地处理P300Speller的数据,为引入各类算法改进P300Speller脑机接口性能创造了条件。附图说明图1为本专利技术实施例的原理示意图。图2为本专利技术实施例以BCI2000软件作为前台实施例的总框架示意图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。本实施例提供一种基于Storm的P300实时分布式计算方法,如图1以及图2所示,包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout工作者实时地从BCI2000软件中接收原始的脑电信号数据块,并整理成P300EEG数据段传给Storm中的负责计算的Bolt工作者进行并行计算;步骤S2:Bolt工作者负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算,并行计算提高数据处理的效率;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;步骤S3:通过Bolt工作者与BCI2000软件建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给BCI2000,BCI2000则将根据传回的行列号确定反馈结果。在本实施例中,如图2所示,所述步骤S1具体包括以下步骤:步骤S11:Storm中专门负责采集数据的Spout工作者在初始化时建立与BCI2000的Socket连接,该连接可以使两端通过流的形式来传输数据;步骤S12:BCI2000的SignalProcessing模块中的P3TemporalFilter部分,每次将一个采样块大小为blockSize的数据块通过Socket连接传输给Spout工作者;步骤S13:Spout工作者依据P300EEG数据段的长度length,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到本文档来自技高网...
一种基于Storm的P300实时分布式计算方法

【技术保护点】
一种基于Storm的P300实时分布式计算方法,其特征在于:包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout工作者实时从前台接收原始的脑电信号数据块,并整理成P300 EEG数据段传给Storm中的负责计算的Bolt作者进行并行计算;步骤S2:Bolt工作者负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;步骤S3:通过Bolt工作者与前台建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给前台,前台根据传回的行列号确定反馈结果。

【技术特征摘要】
1.一种基于Storm的P300实时分布式计算方法,其特征在于:包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout工作者实时从前台接收原始的脑电信号数据块,并整理成P300EEG数据段传给Storm中的负责计算的Bolt作者进行并行计算;步骤S2:Bolt工作者负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;步骤S3:通过Bolt工作者与前台建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给前台,前台根据传回的行列号确定反馈结果。2.根据权利要求1所述的一种基于Storm的P300实时分布式计算方法,其特征在于,步骤S1具体包括以下步骤:步骤S11:Storm中专门负责采集数据的Spout工作者在初始化时建立与前台的Socket连接,该连接使两端通过流的形式来传输数据;步骤S12:前台每次将一个采样块大小的数据块通过Socket连接传输给Spout工作者;步骤S13:Spout工作者依据P300EEG数据段的长度,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到数据块,先将流数据转换成浮点型,再将数据块插入到容器里,然后从容器里取出最新的一段P300EEG数据段,转换成(key1,value1)的形式,key1表示相应的闪烁行列号,value1为该P300EEG数据段,把(key1,value1)分发给ExtractBolt工作者。3.根据权利要求1所述的一种基于Storm的P300实时分布式计算方法,其特征在于,所述步骤S2中的所述Bolt工作者负责的一系列的信号处理包括:步骤S21:ExtractBolt工作者在Storm启动时载入所需要的特征提取方法;ExtractBolt工作者接收Spout工作者传来的数据,进行特征提取;ExtractBolt工作...

【专利技术属性】
技术研发人员:黄志华黄炜王小娜马文鸿林智锋
申请(专利权)人:福州大学
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1