CN106951082A - A kind of real-time distributed computational methods of P300 based on Storm - Google Patents
A kind of real-time distributed computational methods of P300 based on Storm Download PDFInfo
- Publication number
- CN106951082A CN106951082A CN201710164033.3A CN201710164033A CN106951082A CN 106951082 A CN106951082 A CN 106951082A CN 201710164033 A CN201710164033 A CN 201710164033A CN 106951082 A CN106951082 A CN 106951082A
- Authority
- CN
- China
- Prior art keywords
- worker
- data
- storm
- foreground
- bolt
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000205 computational method Methods 0.000 title claims abstract description 10
- 239000000203 mixture Substances 0.000 claims abstract description 13
- 241001269238 Data Species 0.000 claims description 12
- 238000000034 method Methods 0.000 claims description 12
- 239000002775 capsule Substances 0.000 claims description 3
- 238000000605 extraction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 230000006872 improvement Effects 0.000 abstract description 3
- 230000007246 mechanism Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003925 brain function Effects 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000007659 motor function Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/015—Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Abstract
The present invention relates to a kind of real-time distributed computational methods of the P300 based on Storm, mainly include the following steps that:First, the Spout worker in Storm receives original EEG signals data block from foreground in real time, and Bolt worker is transmitted to after Resealing;Then, Bolt worker is responsible for a series of signal transacting, and the efficiency of data processing is improved by parallel computation, after P300 classification work is completed, selects the EEG fragments containing P300 compositions, and record the flicker ranks number corresponding to it;Finally, the ranks number recorded are returned to by foreground by Bolt worker, foreground then determines feedback result according to the ranks number passed back.The performance improvement of P300 Speller brain-computer interfaces needs to introduce all kinds of algorithms, but requirement of the brain-computer interface to feedback time limits the scope using algorithm.The present invention can allow the mode that more algorithms are calculated in a distributed manner to be played a role in P300 Speller brain-computer interfaces.
Description
Technical field
The invention belongs to Cognitive Neuroscience field and the connected applications of areas of information technology, it is related to P300 Speller brains
The computing mechanism of machine interface, the real-time distributed computational methods of specifically a kind of P300 based on Storm.
Background technology
Brain-computer interface is a kind of man-machine interaction new technology, can for motor function lack and the intact patient of brain function provides
Assisted living ability, can also expand the ability to exchange of normal person.P300 Speller are a kind of mode of brain-computer interface, its work(
It can be the EEG signals by analyzing user, identify that user wants the character of output, so as to help user to be exchanged with the external world.
A series of processing in current P300 Speller are all based on serial computing.When introducing some algorithm improvement performances, string
Row calculates the calculating time for requiring longer, is unfavorable for timely responding to for brain-computer interface, so as to cause performance to decline on the other hand.
The content of the invention
In view of this, the purpose of the present invention is to provide one kind for the brain-computer interfaces of P300 Speller types and be based on
The method that Storm carries out real-time distributed calculating.This method builds P300 based on computing system Storm in a distributed manner
Speller parallel computation mechanism so that more complicated algorithm can also handle P300 Speller data in real time, to introduce
All kinds of algorithm improvement P300 Speller brain-computer interface performances create condition.
The present invention is realized using following scheme:A kind of real-time distributed computational methods of P300 based on Storm, are specifically included
Following steps:
Step S1:The Spout for being responsible for gathered data in Storm specially receives original EEG signals data block from foreground in real time,
And it is organized into the Bolt progress parallel computations for the responsible calculating that P300 EEG datas section is transmitted in Storm;
Step S2:Bolt is responsible for a series of signal transacting;Same functional multiple Bolt pass result after completion task parallel
The multiple Bolt for passing next different functions carry out the parallel computation of next step;After the classification work for completing P300, select
EEG fragments containing P300 compositions, and record the flicker ranks number corresponding to it;
Step S3:It is connected by Bolt with the Socket that foreground is set up, by the row corresponding to the EEG data section containing P300 compositions
Row number is returned to foreground, and foreground determines feedback result according to the ranks number passed back.
Further, step S1 specifically includes following steps:
Step S11:It is responsible for the Socket on Spout worker foundation and the foreground in initialization of gathered data in Storm specially
Connection, the connection can make two ends pass through the form of stream to transmit data;
Step S12:The data block of one sampling block size is transferred to Spout worker by foreground by Socket connections every time;
Step S13:Length of the Spout worker according to P300 EEG datas section, maintains one by first-in first-out management
Data capsule;Spout worker receives data block every time, flow data first is converted into floating type, then data block is inserted into
In container, one section of newest P300 EEG datas section is then taken out in container, is converted into(key1,value1)Form,
Key1 represents to flash ranks number accordingly, and value1 is P300 EEG datas section,(key1,value1)It is distributed to
ExtractBolt worker.
Further, in the step S2 a series of the signal transacting responsible Bolt includes:
Step S21:ExtractBolt worker is loaded into required feature extracting method when Storm starts;
ExtractBolt worker receives the data that Spout worker is transmitted, and carries out feature extraction;ExtractBolt worker exports
(key2,value2)The data of form, wherein key2 are represented to flash ranks number accordingly, and value2 is extracted by value1
Characteristic vector;ExtractBolt worker is by output(key2,value2)It is distributed to ClassifyBolt worker;
Step S22:ClassifyBolt worker is loaded into required sorting technique when Storm starts;ClassifyBolt
Worker receives the data that ExtractBolt worker is transmitted, and carries out sort operation;ClassifyBolt worker exports
(key3,value3)The data of form, wherein key3 represent to flash ranks number accordingly, and value3 is the numerical value knot of sort operation
Really, represent the possibility that the data segment includes P300 compositions;ClassifyBolt worker is by output(key3,value3)
Pass to AverageBolt worker;
Step S23:AverageBolt worker receives the data that ClassifyBolt worker is transmitted, with identical key3
The value3 of value adds up, and records accumulative frequency;When accumulative frequency reaches default condition, used for each key3 values
Accumulated value divided by accumulative frequency obtain average value;AverageBolt worker exports(key4,value4)The data of form, its
Middle key4 is flicker ranks number, and value4 is corresponding average;AverageBolt worker is by output(key4,value4)
Pass to SummarizeBolt worker.
Further, the step S3 specifically includes following steps:
Step S31:SummarizeBolt worker sets up when it is initialized and is connected with the Socket on foreground, for by result
Pass foreground back;
Step S32:SummarizeBolt worker receives the data that AverageBolt worker is transmitted, and row is represented according to key4
Or data are divided into two groups by row, that maximum data of value4 is selected from two groups respectively, obtains including the row of P300 compositions
Number and row number;
Step S33:SummarizeBolt worker records ranks result, and foreground is returned to by Socket connections
Application module, the module then determines the feedback to user according to the line number and row number passed back.
Preferably, the present invention changes the computing mechanism of serial process data traditional in P300 Speller, using one
Parallel calculation processing data is planted, calculating speed is accelerated with this so that high P300 is required to feedback time
For Speller, some accuracy can be used high but the also high algorithm of time complexity.
Compared with prior art, the present invention build in a distributed manner based on computing system Storm P300 Speller's and
Row computing mechanism so that more complicated algorithm can also handle P300 Speller data in real time, changes to introduce all kinds of algorithms
Enter P300 Speller brain-computer interface performances and create condition.
Brief description of the drawings
Fig. 1 is the principle schematic of the embodiment of the present invention.
Fig. 2 is total block schematic illustration of the embodiment of the present invention using BCI2000 softwares as foreground embodiment.
Embodiment
Below in conjunction with the accompanying drawings and embodiment the present invention will be further described.
The present embodiment provides a kind of real-time distributed computational methods of P300 based on Storm, as shown in Figure 1 and Figure 2, bag
Include following steps:
Step S1:It is responsible for the Spout worker of gathered data in Storm specially and receives original from BCI2000 softwares in real time
EEG signals data block, and be organized into the Bolt worker for the responsible calculating that P300 EEG datas section is transmitted in Storm and carry out
Parallel computation;
Step S2:Bolt worker is responsible for a series of signal transacting;Same functional multiple Bolt handles after completion task parallel
As a result the multiple Bolt for passing to next different functions carry out the parallel computation of next step, and parallel computation improves data processing
Efficiency;After the classification work for completing P300, the EEG fragments containing P300 compositions are selected, and record the flicker corresponding to it
Ranks number;
Step S3:It is connected by Bolt worker with the Socket that BCI2000 softwares are set up, by the EEG numbers containing P300 compositions
BCI2000 is returned to according to the ranks number corresponding to section, BCI2000 then will determine feedback result according to the ranks number passed back.
In the present embodiment, as shown in Fig. 2 the step S1 specifically includes following steps:
Step S11:The Spout worker for being responsible for gathered data in Storm specially is set up in initialization with BCI2000's
Socket connections, the connection can make two ends pass through the form of stream to transmit data;
Step S12:P3TemporalFilter parts in BCI2000 SignalProcessing modules, every time by one
Sampling block size is transferred to Spout worker for blockSize data block by Socket connections;
Step S13:Length length of the Spout worker according to P300 EEG datas section, maintains one to press first-in first-out
The data capsule of management;Spout worker receives data block every time, and flow data first is converted into floating type, then by data block
It is inserted into container, one section of newest P300 EEG datas section is then taken out in container, is converted into(key1,value1)Shape
Formula, key1 represents to flash ranks number accordingly, and value1 is P300 EEG datas section,(key1,value1)It is distributed to
ExtractBolt worker.
In the present embodiment, as shown in Fig. 2 the step S2 specifically includes following steps:
Step S21:ExtractBolt worker is loaded into required feature extracting method when Storm starts;
ExtractBolt worker receives the data that Spout worker is transmitted, and carries out feature extraction;ExtractBolt worker exports
(key2,value2)The data of form, wherein key2 are represented to flash ranks number accordingly, and value2 is extracted by value1
Characteristic vector;ExtractBolt worker is by output(key2,value2)It is distributed to ClassifyBolt worker;
Step S22:ClassifyBolt worker is loaded into required sorting technique when Storm starts;ClassifyBolt
Worker receives the data that ExtractBolt worker is transmitted, and carries out sort operation;ClassifyBolt worker exports
(key3,value3)The data of form, wherein key3 represent to flash ranks number accordingly, and value3 is the numerical value knot of sort operation
Really, represent the possibility that the data segment includes P300 compositions;ClassifyBolt worker is by output(key3,value3)
Pass to AverageBolt worker;
Step S23:AverageBolt worker receives the data that ClassifyBolt worker is transmitted, with identical key3
The value3 of value adds up, and records accumulative frequency;When accumulative frequency reaches default condition sequence, for each
Key3 values obtain average value with accumulated value divided by accumulative frequency;AverageBolt worker exports(key4,value4)Form
Data, wherein key4 are flicker ranks number, and value4 is corresponding average;AverageBolt worker is by output(key4,
value4)Pass to SummarizeBolt worker;
In the present embodiment, as shown in Fig. 2 the step S3 specifically includes following steps:
Step S31:SummarizeBolt worker sets up when it is initialized and is connected with BCI2000 Socket, for that will tie
Fruit passes BCI2000 back;
Step S32:SummarizeBolt worker receives the data that AverageBolt worker is transmitted, and row is represented according to key4
Or data are divided into two groups by row, that maximum data of value4 is selected from two groups respectively, obtains including the row of P300 compositions
Number and row number;
Step S33:SummarizeBolt worker records ranks result, is returned to by Socket connections
BCI2000 Application modules, the module then determines the feedback to user according to the line number and row number passed back.
In embodiments of the present invention, for parameter blockSize, length, sequence can be by following setting:
blockSize=40,length=800,sequence=15。
In embodiments of the present invention, as shown in Fig. 2 the feature extracting method used for ExtractBolt worker
By taking wavelet analysis feature extracting method as an example, and it is named as WaveletExtractBolt;For ClassifyBolt worker
The sorting algorithm used is named as SvmClassifyBolt by taking SVM algorithm as an example.
Preferably, the present embodiment changes the computing mechanism of serial process data traditional in P300 Speller, use
A kind of parallel calculation processing data, calculating speed is accelerated with this so that require high P300 to feedback time
For Speller, some accuracy can be used high but the also high algorithm of time complexity.
The foregoing is only presently preferred embodiments of the present invention, all impartial changes done according to scope of the present invention patent with
Modification, should all belong to the covering scope of the present invention.
Claims (4)
1. a kind of real-time distributed computational methods of P300 based on Storm, it is characterised in that:Comprise the following steps:
Step S1:The Spout worker for being responsible for gathered data in Storm specially receives original EEG signals number from foreground in real time
According to block, and it is organized into the Bolt author's progress parallel computation for the responsible calculating that P300 EEG datas section is transmitted in Storm;
Step S2:Bolt worker is responsible for a series of signal transacting;Same functional multiple Bolt handles after completion task parallel
As a result the multiple Bolt for passing to next different functions carry out the parallel computation of next step;After the classification work for completing P300,
The EEG fragments containing P300 compositions are selected, and record the flicker ranks number corresponding to it;
Step S3:It is connected by Bolt worker with the Socket that foreground is set up, the EEG data section institute containing P300 compositions is right
The ranks number answered are returned to foreground, and foreground determines feedback result according to the ranks number passed back.
2. a kind of real-time distributed computational methods of P300 based on Storm according to claim 1, it is characterised in that step
Rapid S1 specifically includes following steps:
Step S11:It is responsible for the Socket on Spout worker foundation and the foreground in initialization of gathered data in Storm specially
Connection, the connection makes two ends pass through the form of stream to transmit data;
Step S12:The data block of one sampling block size is transferred to Spout worker by foreground by Socket connections every time;
Step S13:Length of the Spout worker according to P300 EEG datas section, maintains one by first-in first-out management
Data capsule;Spout worker receives data block every time, flow data first is converted into floating type, then data block is inserted into
In container, one section of newest P300 EEG datas section is then taken out in container, is converted into(key1,value1)Form,
Key1 represents to flash ranks number accordingly, and value1 is P300 EEG datas section,(key1,value1)It is distributed to
ExtractBolt worker.
3. a kind of real-time distributed computational methods of P300 based on Storm according to claim 1, it is characterised in that institute
Stating a series of signal transacting that the Bolt worker in step S2 is responsible for includes:
Step S21:ExtractBolt worker is loaded into required feature extracting method when Storm starts;
ExtractBolt worker receives the data that Spout worker is transmitted, and carries out feature extraction;ExtractBolt worker exports
(key2,value2)The data of form, wherein key2 are represented to flash ranks number accordingly, and value2 is extracted by value1
Characteristic vector;ExtractBolt worker is by output(key2,value2)It is distributed to ClassifyBolt worker;
Step S22:ClassifyBolt worker is loaded into required sorting technique when Storm starts;ClassifyBolt
Worker receives the data that ExtractBolt worker is transmitted, and carries out sort operation;ClassifyBolt worker exports
(key3,value3)The data of form, wherein key3 represent to flash ranks number accordingly, and value3 is the numerical value knot of sort operation
Really, represent the possibility that the data segment includes P300 compositions;ClassifyBolt worker is by output(key3,value3)
Pass to AverageBolt worker;
Step S23:AverageBolt worker receives the data that ClassifyBolt worker is transmitted, with identical key3
The value3 of value adds up, and records accumulative frequency;When accumulative frequency reaches default condition, used for each key3 values
Accumulated value divided by accumulative frequency obtain average value;AverageBolt worker exports(key4,value4)The data of form, its
Middle key4 is flicker ranks number, and value4 is corresponding average;AverageBolt worker is by output(key4,value4)
Pass to SummarizeBolt worker.
4. a kind of real-time distributed computational methods of P300 based on Storm according to claim 1, it is characterised in that institute
State step S3 and specifically include following steps:
Step S31:SummarizeBolt worker sets up when it is initialized and is connected with the Socket on foreground, for by result
Pass foreground back;
Step S32:SummarizeBolt worker receives the data that AverageBolt worker is transmitted, and row is represented according to key4
Or data are divided into two groups by row, that maximum data of value4 is selected from two groups respectively, obtains including the row of P300 compositions
Number and row number;
Step S33:SummarizeBolt worker records ranks result, and foreground is returned to by Socket connections
Application module, the module then determines the feedback to user according to the line number and row number passed back.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164033.3A CN106951082B (en) | 2017-03-20 | 2017-03-20 | p300 real-time distributed computing method based on Storm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710164033.3A CN106951082B (en) | 2017-03-20 | 2017-03-20 | p300 real-time distributed computing method based on Storm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106951082A true CN106951082A (en) | 2017-07-14 |
CN106951082B CN106951082B (en) | 2019-12-17 |
Family
ID=59472694
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710164033.3A Expired - Fee Related CN106951082B (en) | 2017-03-20 | 2017-03-20 | p300 real-time distributed computing method based on Storm |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951082B (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130084536A (en) * | 2012-01-17 | 2013-07-25 | 한국과학기술연구원 | Method for quantitative analysis of real time interactions between hif-1 alpha and p300 proteins |
CN103763378A (en) * | 2014-01-24 | 2014-04-30 | 中国联合网络通信集团有限公司 | Task processing method and system and nodes based on distributive type calculation system |
CN105631026A (en) * | 2015-12-30 | 2016-06-01 | 北京奇艺世纪科技有限公司 | Security data analysis system |
-
2017
- 2017-03-20 CN CN201710164033.3A patent/CN106951082B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130084536A (en) * | 2012-01-17 | 2013-07-25 | 한국과학기술연구원 | Method for quantitative analysis of real time interactions between hif-1 alpha and p300 proteins |
CN103763378A (en) * | 2014-01-24 | 2014-04-30 | 中国联合网络通信集团有限公司 | Task processing method and system and nodes based on distributive type calculation system |
CN105631026A (en) * | 2015-12-30 | 2016-06-01 | 北京奇艺世纪科技有限公司 | Security data analysis system |
Non-Patent Citations (1)
Title |
---|
黄志华: "脑机接口的MapReduce计算模型", 《福州大学学报(自然科学版)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN106951082B (en) | 2019-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ravi et al. | Deep learning for human activity recognition: A resource efficient implementation on low-power devices | |
JP2022523741A (en) | ECG processing system for depiction and classification | |
CN103815897B (en) | Electrocardiogram characteristic extraction method | |
CN106778079B (en) | A kind of DNA sequence dna k-mer frequency statistics method based on MapReduce | |
CN106506266B (en) | Network flow analysis method based on GPU, Hadoop/Spark mixing Computational frame | |
CN108764457A (en) | The automatic arrhythmia analysis method of deep neural network is merged based on sampling channel | |
CN111956208B (en) | ECG signal classification method based on ultra-lightweight convolutional neural network | |
CN111242098A (en) | Electrocardiogram data classification method and system combining feature extraction and initiation network | |
CN109443719B (en) | Drill bit vibration signal online virtual test method and system thereof | |
CN107423636A (en) | A kind of difference privacy K mean cluster method based on MapReduce | |
CN106709528A (en) | Method and device of vehicle reidentification based on multiple objective function deep learning | |
He et al. | Deep-feature-based autoencoder network for few-shot malicious traffic detection | |
CN110177122A (en) | A kind of method for establishing model and device identifying network security risk | |
CN108937912A (en) | A kind of automatic arrhythmia analysis method based on deep neural network | |
CN108766557A (en) | Automatic arrhythmia analysis method based on channel signal fused neural network | |
CN115037543B (en) | Abnormal network flow detection method based on bidirectional time convolution neural network | |
Liu et al. | FBMSNet: A filter-bank multi-scale convolutional neural network for EEG-based motor imagery decoding | |
CN105045808B (en) | A kind of compound rule collection matching process and system | |
Ji et al. | A deep multi-task learning approach for ECG data analysis | |
CN107909023A (en) | Recognition methods, device, terminal and the storage medium of kinematic parameter | |
CN110365659B (en) | Construction method of network intrusion detection data set in small sample scene | |
CN106951082A (en) | A kind of real-time distributed computational methods of P300 based on Storm | |
Jhaldiyal et al. | Analysis and prediction of diabetes mellitus using PCA, REP and SVM | |
CN108596017A (en) | A kind of method and device based on picture recognition diseases of garden stuff | |
CN114662537A (en) | Electrocardiosignal intelligent monitoring and accelerating method based on system on programmable chip |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20191217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |