通过脑电波信号产生电子产品控制命令的方法及系统与流程

文档序号:13115197阅读:603来源:国知局
通过脑电波信号产生电子产品控制命令的方法及系统与流程

本发明属于脑电波信号处理技术领域,尤其是涉及一种通过脑电波信号产生电子产品控制命令的方法及系统。



背景技术:

目前,帮助行动不便,或残疾人辅助的义肢,机器人,通过大脑来控制的方式有两种,一种是植入型,另一种是非植入型的脑电波设备,我们采取的是非植入型脑电波的控制系统以辅助行动不便人群,例如渐冻人(als)病人的行动,交流,娱乐。相比于植入型脑电波设备,非植入型的效果偏弱,但是所需成本很低,且不存在植入颅内芯片,以及定期更换芯片问题。

非植入型脑电波设备适合用于帮助行动不便的人群与外界进行交互行为,且成本较低的应用。但是,现有的非植入型脑电波设备在控制方面的准确率还有待提升。



技术实现要素:

有鉴于此,本发明旨在提出一种通过脑电波信号产生电子产品控制命令的方法及系统,以得到自适应于用户自身的特有的脑电波电子产品控制方法。

为达到上述目的,本发明的技术方案是这样实现的:

通过脑电波信号产生电子产品控制命令的方法,其特征在于包括如下步骤:

1)采集用户一段时间的脑电波数据,其中包括观看ssvep系统的六个脑电刺激频率闪烁时的脑电波数据,和休息阶段的脑电波数据;还有将数据截取窗口的长度的初始值设为1秒;

2)通过数据截取窗口对步骤1中的脑电波数据进行截取,获得若干个脑电波数据段;

3)对步骤2得到的脑电波数据段进行典型相关分析,获得cca分数;

4)将步骤2得到的脑电波数据段进行分类,将对应于六个脑电刺激频率闪烁时的脑电波数据段定义为注意力脑电波数据段并将其标签标为1,且找到每个注意力脑电波数据段的cca分数;将非对应六个频率时的脑电波数据段定义为非注意脑电波数据段并将其标签标为0,且找到每个非注意脑电波数据段的cca分数;

5)通过beta算法分析步骤3得到的cca分数,得到两种脑电波数据的似然比r;

6)将似然比与对应的实际的观测脑电波数据段的标签进行比对,得到准确率p,其中,如果r大于1,则判断当前脑电波数据段为注意力脑电波数据段,反之则判断为非注意脑电波数据段;

7)通过shannon熵信息论方法,计算出脑电波数据段的信息传输率b;之后,判断窗口长度是否大于3.5秒,如不是,则将数据截取窗口的长度增加0.5秒后跳至第二步循环执行,如的,继续第8步;

8)得到循环中b值最大的窗口长度t,以及对应的beta模型,得到自适应于用户自身的特有的脑电波电子产品控制系统控制命令的判断依据。

进一步的,步骤4完成后,对第一种注意力脑电波数据段与第二种非注意脑电波数据段的cca分数的分布进行分析,通过chi-square测试来判断是否两种分数分布在6个不同的频率下存在显著差异,如不存在,则将数据截取窗口的长度增加0.5秒后跳至第二步循环执行,如存在,继续第5步。

相对于现有技术,本发明是具有以下优势:

本发明方法为每一位用户实时训练出自适应于自身特有的脑电波特征的判断算法,大大提升了非植入型脑电波设备在控制方面的准确率。

附图说明

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实施例所述脑电波数据采集的通道选取示意图;

图2为本发明实施例所述通过脑电波信号产生电子产品控制命令的方法流程及验证应用流程。

附图标记说明:

具体实施方式

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面将参考附图并结合实施例来详细说明本发明。

如图2所述,本实施例通过脑电波信号产生电子产品控制命令的方法包括如下步骤:

第一步:通过脑电信号采集单元,采集当前用户15分钟的脑电波数据,12个通道数,分别为cz,p3,pz,p4,po7,po3,poz,po4,po8,o1,oz,o2,如图1所示;脑电波数据包括用户观看一定时间段的ssvep系统的六个脑电刺激频率(6hz,7.5hz,8.57hz,10hz,10.9hz,13.3hz)闪烁时的6种脑电波数据,还有一种休息阶段的脑电波数据,最终获得种个脑电数据;所述脑电波eeg数据被向下采样到256赫兹,带通滤波在1到40赫兹之间;还有将数据截取窗口的长度的初始值设为1秒;

第二步:通过数据截取窗口对步骤1中的脑电波数据进行截取,获得若干个脑电波数据段;

对所有通道均进行截取,一个数据截取窗口(epoch)的维度为:r12×(t*d),其中12为通道数,t为时间长度,即在1-3.5秒之间,d为采样率,即256hz,r代表实数;

第三步:对上述截取的脑电波数据段进行典型相关分析,得到若干个cca的分数;

具体是,获得截取的脑电数据段(epoch)在6个脑电刺激频率:6hz,7.5hz,8.57hz,10hz,10.9hz,13.3hz与相关频率正弦余弦函数及其五个谐波之间的一个线性组合的相关性大小,公式如下:

其中:

是eeg数据段(epoch),i1是eeg的通道数,j是采样率信息。

是正余弦函数,i2=6×5×2=60,是所有正余弦函数的5个谐波的总个数。

是权重对。

ρi∈[01]取0到1之间的数是cca的分数,其中i∈[1,2,3,4,5,6]表示的是6个不同的ssvep闪动频率。

比如,ssvep闪动频率6hz,5个谐波分别是:6hz,12hz,18hz,24hz,30hz;

ssvep闪动频率7.5hz,5个谐波分别是:7.5hz,15hz,22.5hz,30hz,37.5hz;

以此类推,线性组合是这5个谐波的正\余弦数据y,和脑电波数据x按照不同权重相加的组合。

第四步:将ssvep系统的脑电数据进行分类,将用户盯着显示器上的六种频率方块时的脑电波数据段定义为注意力脑电数据段,且从每个注意力脑电数据段中找到其cca分数,并将所有的对应的注意力脑电波数据段的标签标为1;

将用户没有盯着显示器上的六种频率方块的任何一块时的脑电波数据段定义为非注意脑电数据段,且从每个非注意脑电波数据段中找到的对应的cca分数,所有的该项非注意脑电波数据段的标签标为0。

第五步:对第一种注意力脑电波数据段与第二种非注意脑电波数据段的cca分数的分布进行分析,通过chi-square测试来判断是否两种分数分布在6个不同的频率下存在显著差异,如不存在,则将数据截取窗口的长度增加0.5秒后跳至第二步循环执行,如存在,继续第六步;

此步骤5并不是必须的,是可选择的步骤,作用是,如果注意力的数据,与非注意力的数据得到的cca分数无法区分出差别,则说明当前数据窗口太小了,直接增大窗口即可,就没必要做后续的步骤,直接返回第二步;若不选择此步骤,步骤四之后直接到步骤六。

第六步:通过beta算法分析步骤3得到的cca分数,得到两种脑电波数据的似然比r;

设置s=1对应于控制(注意)状态,s=0对应于空闲(非注意)状态,

对于空闲(非注意)状态,通过似然函数表示为:

对于控制(注意)状态,通过似然函数表示为:

其中f∈{1......6}表示的是注意屏幕对应的闪动频率(6个)的索引(index)。

beta(ρi|α0,β0)指的是空闲(非注意)状态下的beta分布;

指的是控制(注意)状态下的索引为f的闪动频率的beta分布;

脑电波数据属于s=1状态的似然函数如下:

其中beta分布的参数均由第五步中的cca分数的数据训练得到;

其中,beta的分布参数是通过最大似然法(maximumlikelihood)估计出来的,属于统计学中标准的估计方法,根据样本分布来估计population分布的。

本实施例的样本分布就是cca的分数的分布,cca的分数有两类,一类注意力脑电波数据段,二类是非注意脑电波数据段,他们分别用两个beta分布来描述。

似然比r:

第七步:将似然比与对应的实际的观测脑电波数据段的标签进行比对,得到准确率p,其中,如果r大于1,则判断当前脑电波数据段为注意力脑电波数据段,属于控制(注意)状态;反之则判断为非注意脑电波数据段,为空闲(非注意)状态;

第八步:通过shannon信息论方法,计算出脑电数据的信息传输率b,并进行存储:

式中,p为第七步得到的准确率,n为1分钟内作出的决策判断数量;

之后,判断窗口长度是否大于3.5秒,如不是,则将数据截取窗口的长度增加0.5秒后跳至第二步循环执行,若是则继续第9步;

第九步:选出所有循环中脑电波数据的信息传输率b最大的窗口(epoch)长度,作为该用户的截取脑电波数据(epoch)的最优长度t,为自适应于用户自身的特有的脑电波特征;并保留下第六步、第七步训练得到的beta参数,作为该用户判断脑电波控制(注意)状态与空闲(非注意)状态的脑电波模型。。

本申请自适应算法可以实时的应用于该用户的脑电波电子产品控制系统的判断中。

其中,beta分布是由参数组成的,beta分布是这样的:

见:https://en.wikipedia.org/wiki/beta_distribution

式中,α,β就是beta分布的参数,知道了这两个值,beta分布就确定下来了,就可以计算了,所以说保留下了参数,就是保留下了模型。

如何求出α,β用的就是刚才说的maximumlikelihood,其实就是解方程:分别求出样本数据,也就是cca分数的均值和方差,解二元二次方程组,算出α,β

最终得到的结论是似然比r和cca的分数,也就是判断用户是否处于注意状态(r大于1),还是非注意状态(r小于1),如果是注意状态,那对应于6个不同频率中的哪一个频率的方块,cca分数中的六个子分值哪个最大则是看的哪个频率闪烁。

本实施例的循环控制范围:数据截取窗口设置在1至3.5秒的长度范围,得到单位时间段内的脑电数据段,首先截取起始长度为1秒的脑电波数据段(epoch),以后每次循环增加0.5秒。截取数据的长度为1至3.5秒的窗口(epoch),同时使用一个0.5秒的滑动窗口。具体实现时,截取窗口的长度是一个for循环语句:for(t=1;t<=3.5;t+=0.5)。

本实施例,通过脑电信号采集单元实现上述步骤1的脑电波数据采集;通过脑电信息处理服务端,设置数据截取窗口,并按照步骤2至9对得到的脑电波数据进行分析处理,得到自适应于用户自身的特有的脑电波电子产品控制系统控制命令的判断依据。

应用时,如图2所示,本发明适用于不同的控制系统,例如控制走迷宫,控制玩具汽车、无人机等等,本实施例以无人机控制为例,采集用户的脑电波数据,根据上述步骤得到的最优的窗口长度截取脑电波数据段,放入beta模型判断似然比r分数是否大于1,如果是否,则属于休息状态,无人机悬浮不动;若是,则放入cca算法中得到cca分数,6个分数中最高的表示当前用户p看得对应频率闪烁方块,控制无人机朝该方块对应的方向运动,根据用户注意力集中于不同的频率闪动方格显示的脑电波特征的不同来实现用户发送控制命令。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1