会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 生物工程 / 脑机接口 / 一种基于Storm的P300实时分布式计算方法

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

阅读:139发布:2021-02-13

IPRDB可以提供一种基于Storm的P300实时分布式计算方法专利检索,专利查询,专利分析的服务。并且本发明涉及一种基于Storm的P300实时分布式计算方法,主要包括以下步骤:首先,Storm中的Spout工作者实时地从前台接收原始的脑电信号数据块,重新封装后传给Bolt工作者;然后,Bolt工作者负责一系列的信号处理,通过并行计算提高数据处理的效率,在完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;最后,通过Bolt工作者将记录下的行列号传回给前台,前台则根据传回的行列号确定反馈结果。P300 Speller脑机接口的性能改进需要引入各类算法,但脑机接口对反馈时间的要求限制了采用算法的范围。本发明能够让更多的算法以分布式计算的方式在P300 Speller脑机接口中发挥作用。,下面是一种基于Storm的P300实时分布式计算方法专利的具体信息内容。

1.一种基于Storm的P300实时分布式计算方法,其特征在于:包括以下步骤:

步骤S1:Storm中专门负责采集数据的Spout工作者实时从前台接收原始的脑电信号数据块,并整理成P300 EEG数据段传给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工作者依据P300 EEG数据段的长度,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到数据块,先将流数据转换成浮点型,再将数据块插入到容器里,然后从容器里取出最新的一段P300 EEG数据段,转换成(key1,value1)的形式,key1表示相应的闪烁行列号,value1为该P300 EEG数据段,把(key1,value1)分发给ExtractBolt工作者。

3.根据权利要求1所述的一种基于Storm的P300实时分布式计算方法,其特征在于,所述步骤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工作者。

4.根据权利要求1所述的一种基于Storm的P300实时分布式计算方法,其特征在于,所述步骤S3具体包括以下步骤:步骤S31:SummarizeBolt工作者在其初始化时建立与前台的Socket连接,用于将结果传回前台;

步骤S32:SummarizeBolt工作者接收AverageBolt工作者传来的数据,依据key4代表行或列把数据分成两组,分别从两组中选出value4最大的那条数据,得到包含P300成分的行号和列号;

步骤S33:SummarizeBolt工作者将行列号结果记录下来,通过Socket连接传回给前台的应用模块,该模块则根据传回的行号和列号来确定给用户的反馈。

说明书全文

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

技术领域

[0001] 本发明属于认知神经科学领域与信息技术领域的结合应用,涉及P300 Speller脑机接口的计算机制,具体是一种基于Storm的P300实时分布式计算方法。

背景技术

[0002] 脑机接口是一种人机交互新技术,能够为运动功能缺失而脑功能完好的患者提供辅助生活能力,也能够拓展正常人的交流能力。P300 Speller是脑机接口的一种方式,其功能是通过分析用户的脑电信号,识别出用户所想要输出的字符,从而帮助用户与外界交流。目前P300 Speller 中的一系列处理都是基于串行计算的。当引入一些算法改进性能时,串行计算要求较长的计算时间,不利于脑机接口的及时响应,从而导致性能在另一方面下降。

发明内容

[0003] 有鉴于此,本发明的目的是针对P300 Speller类型的脑机接口提供一种基于Storm进行实时分布式计算的方法。该方法以分布式计算系统Storm为基础构建P300 Speller的并行计算机制,使得较复杂的算法也能实时地处理P300 Speller的数据,为引入各类算法改进P300 Speller脑机接口性能创造了条件。
[0004] 本发明采用以下方案实现:一种基于Storm的P300实时分布式计算方法,具体包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout实时从前台接收原始的脑电信号数据块,并整理成P300 EEG数据段传给Storm中的负责计算的Bolt进行并行计算;
步骤S2:Bolt负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;
步骤S3:通过Bolt与前台建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给前台,前台根据传回的行列号确定反馈结果。
[0005] 进一步地,步骤S1具体包括以下步骤:步骤S11:Storm中专门负责采集数据的Spout工作者在初始化时建立与前台的Socket连接,该连接可以使两端通过流的形式来传输数据;
步骤S12:前台每次将一个采样块大小的数据块通过Socket连接传输给Spout工作者;
步骤S13:Spout工作者依据P300 EEG数据段的长度,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到数据块,先将流数据转换成浮点型,再将数据块插入到容器里,然后从容器里取出最新的一段P300 EEG数据段,转换成(key1,value1)的形式,key1表示相应的闪烁行列号,value1为该P300 EEG数据段,把(key1,value1)分发给ExtractBolt工作者。
[0006] 进一步地,所述步骤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工作者。
[0007] 进一步地,所述步骤S3具体包括以下步骤:步骤S31:SummarizeBolt工作者在其初始化时建立与前台的Socket连接,用于将结果传回前台;
步骤S32:SummarizeBolt工作者接收AverageBolt工作者传来的数据,依据key4代表行或列把数据分成两组,分别从两组中选出value4最大的那条数据,得到包含P300成分的行号和列号;
步骤S33:SummarizeBolt工作者将行列号结果记录下来,通过Socket连接传回给前台的应用模块,该模块则根据传回的行号和列号来确定给用户的反馈。
[0008] 较佳的,本发明改变了P300 Speller中传统的串行处理数据的计算机制,采用一种并行的计算方式处理数据,以此加快了计算速度,使得对反馈时间要求高的P300 Speller来说,可以使用一些精确度高但是时间复杂度的也高的算法。
[0009] 与现有技术相比,本发明以分布式计算系统Storm为基础构建P300 Speller的并行计算机制,使得较复杂的算法也能实时地处理P300 Speller的数据,为引入各类算法改进P300 Speller脑机接口性能创造了条件。

附图说明

[0010] 图1为本发明实施例的原理示意图。
[0011] 图2为本发明实施例以BCI2000软件作为前台实施例的总框架示意图。

具体实施方式

[0012] 下面结合附图及实施例对本发明做进一步说明。
[0013] 本实施例提供一种基于Storm的P300实时分布式计算方法,如图1以及图2所示,包括以下步骤:步骤S1:Storm中专门负责采集数据的Spout工作者实时地从BCI2000软件中接收原始的脑电信号数据块,并整理成P300 EEG数据段传给Storm中的负责计算的Bolt工作者进行并行计算;
步骤S2:Bolt工作者负责一系列的信号处理;同一职能的多个Bolt并行完成任务后把结果传递给下一个不同职能的多个Bolt进行下一步的并行计算,并行计算提高数据处理的效率;完成P300的分类工作后,选取出含有P300成分的EEG片段,并记录下其所对应的闪烁行列号;
步骤S3:通过Bolt工作者与BCI2000软件建立的Socket连接,将含有P300成分的EEG数据段所对应的行列号传回给BCI2000,BCI2000则将根据传回的行列号确定反馈结果。
[0014] 在本实施例中,如图2所示,所述步骤S1具体包括以下步骤:步骤S11:Storm中专门负责采集数据的Spout工作者在初始化时建立与BCI2000的Socket连接,该连接可以使两端通过流的形式来传输数据;
步骤S12:BCI2000的SignalProcessing模块中的P3TemporalFilter部分,每次将一个采样块大小为blockSize的数据块通过Socket连接传输给Spout工作者;
步骤S13:Spout工作者依据P300 EEG数据段的长度length,维持一个按先进先出方式管理的数据容器;Spout工作者每次接收到数据块,先将流数据转换成浮点型,再将数据块插入到容器里,然后从容器里取出最新的一段P300 EEG数据段,转换成(key1,value1)的形式,key1表示相应的闪烁行列号,value1为该P300 EEG数据段,把(key1,value1)分发给ExtractBolt工作者。
[0015] 在本实施例中,如图2所示,所述步骤S2具体包括以下步骤:步骤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累加起来,并记录累加次数;当累加次数达到预设的条件sequence时,针对每个key3值用累加值除以累加次数得到平均值;AverageBolt工作者输出(key4,value4)形式的数据,其中key4为闪烁行列号,value4为相应的均值;AverageBolt工作者将输出的(key4,value4)传递给SummarizeBolt工作者;
在本实施例中,如图2所示,所述步骤S3具体包括以下步骤:
步骤S31:SummarizeBolt工作者在其初始化时建立与BCI2000的Socket连接,用于将结果传回BCI2000;
步骤S32:SummarizeBolt工作者接收AverageBolt工作者传来的数据,依据key4代表行或列把数据分成两组,分别从两组中选出value4最大的那条数据,得到包含P300成分的行号和列号;
步骤S33:SummarizeBolt工作者将行列号结果记录下来,通过Socket连接传回给BCI2000的Application模块,该模块则根据传回的行号和列号来确定给用户的反馈。
[0016] 在本发明实施例中,对于参数blockSize,length,sequence可按如下设定:blockSize=40,length=800,sequence=15。
[0017] 在本发明实施例中,如图2所示,对于ExtractBolt工作者所采用的特征提取方法以小波分析特征提取方法为例,并命名为WaveletExtractBolt;对于ClassifyBolt工作者所采用的分类算法以SVM算法为例,并命名为SvmClassifyBolt。
[0018] 较佳的,本实施例改变了P300 Speller中传统的串行处理数据的计算机制,采用一种并行的计算方式处理数据,以此加快了计算速度,使得对反馈时间要求高的P300 Speller来说,可以使用一些精确度高但是时间复杂度的也高的算法。
[0019] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用