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 PDF

Info

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
Application number
CN201710164033.3A
Other languages
Chinese (zh)
Other versions
CN106951082B (en
Inventor
黄志华
黄炜
王小娜
马文鸿
林智锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fuzhou University
Original Assignee
Fuzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuzhou University filed Critical Fuzhou University
Priority to CN201710164033.3A priority Critical patent/CN106951082B/en
Publication of CN106951082A publication Critical patent/CN106951082A/en
Application granted granted Critical
Publication of CN106951082B publication Critical patent/CN106951082B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/015Input arrangements based on nervous system activity detection, e.g. brain waves [EEG] detection, electromyograms [EMG] detection, electrodermal response detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification 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

A kind of real-time distributed computational methods of P300 based on Storm
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.
CN201710164033.3A 2017-03-20 2017-03-20 p300 real-time distributed computing method based on Storm Expired - Fee Related CN106951082B (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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