一种多类别脑电数据识别的人工智能方法与流程

文档序号:18703313发布日期:2019-09-17 23:15阅读:771来源:国知局
一种多类别脑电数据识别的人工智能方法与流程

本发明涉及一种多类别脑电数据识别的人工智能方法,属于脑电数据技术领域。



背景技术:

脑-计算机接口(bci)设计作为人机交互(hci)的新兴子领域,近年来取得了重大进展。通常,bci系统利用可穿戴设备收集脑电图(eeg)信号并将其解释为各种用户意图。该技术已经在不同场景中应用到许多bci系统。然而,这些现有系统有一个共同的缺点,即大多数是实验原型,或者它们是为机构用户(例如医院和政府)开发的,因此硬件成本相当昂贵,这阻碍了人们日常生活中的广泛使用的应用场景。eeg采集设备的价格不同,例如emotivepoc+14通道移动eeg设备售价799.00美元,而brainlink设备售价约99美元。这种eeg信号采集设备对普通用户的使用通常受到价格的限制。bci控制的机器人的另一个特定缺点是它们仅允许用户执行单一的动作。例如,使用特定模式的信号来向前移动机器人。

由于情绪在人体内外都有许多轨迹,因此采用了各种方法来构建情绪识别模型,如面部表情,声音等。在这些方法中,基于eeg的方法被测量为用于情绪识别的有希望的方法。神经科学的许多发现支持eeg允许直接评估用户的“内在”状态。然而,这些研究中的大多数与湿电极(一些具有数十个电极)有很大关系。除了放置电极的时间成本和高价格之外,不相关的通道可能会混入系统中的噪声,这会严重影响系统的性能。hci社区调用用户友好的用法来进行有效的脑-计算机交互。随着可穿戴设备和干电极技术的快速发展,可以开发可穿戴的eeg应用设备。例如,如果设备检测到他或她处于某种情绪状态,那么佩戴这种设备的语言或残疾人可以向服务机器人显示他或她的情绪。众所周知,在hci中,易于安装的情绪识别eeg设备很受欢迎。为了实现这一想法,本发明采用相对较少数量的电极用于eeg采集,eeg采集装置是brainlink,其在前额位置具有两个非侵入性干电极。当用户处于不同的状态(或放松)时,brainlink将显示不同颜色的呼吸灯。然后通过上述系统对收集的eeg数据进行情绪识别。当神经网络用于处理eeg信号数据时,可以通过手动构建滑动窗口处理eeg时间序列数据来完成之前和之后的数据之间的连接。深度神经网络已经用于eeg数据分类。长短时记忆(lstm)是循环神经网络,配备有控制对存储器单元的访问的特殊门控机制。门控机制下的长短期存储器单元允许信息在许多时间步骤中未经修改地通过。由于门可以防止网络的其余部分在多个时间步长内修改存储器单元的内容,因此lstm网络保留信号并传播错误的时间比普通rnn长得多。通过独立地从存储器单元读取,写入和擦除内容,还可以训练门以处理输入信号的选择和其他部分的疏忽。堆叠lstm由沿深度尺寸的lstm单元连接组成。它有利于存储和生成更长距离的模式。而引入注意力选择器则是为了解决堆叠lstm天生就存在的记忆力不足的问题以及用户定制化的考虑。

目前主要的研究方法中,更多的研究主要处理短期相关时间序列数据,其中一些方法仅利用装置收集来自额叶皮层的单通道eeg,其仅限于计算情绪指数。而另一些方法侧重于来自脑部皮质的更多通道脑电图和更先进的设备。虽然先进的设备可以带来更多样化的eeg数据,但众所周知,每个额外的电极都需要花费很多钱。因此,最终可能在数据采集设备上花费数千美元,这对设计一个完整可行的bci系统是不利的。很少有研究试图建立一个可行的,高精度,用户友好和易于部署的基于脑电图的情绪识别系统。



技术实现要素:

本发明所要解决的技术问题为:针对现有类别场景较少,提供一种多类别脑电数据识别的人工智能方法。

本发明所采用的技术方案为:包括具有蓝牙功能的eeg头戴设备、嵌入式设备tx2、机器人载体,包括以下步骤:

步骤1,数据收集;eeg头戴设备通过蓝牙模块给嵌入式设备tx2发送传输数据的命令,然后等待嵌入式设备tx2确认接收的回复消息,成功接收后,eeg头戴设备收集到的脑电数据将会显示在嵌入式设备tx2的远程终端上,并且内置程序会对保存在嵌入式设备tx2的脑电数据进行侦听,然后将嵌入式设备tx2中未处理的、新收集到的脑电数据进行预处理后,传入到事先训练好的deepbrain模型中,该模型可以对用户的意图进行实时识别,最终将识别结果保存在嵌入式设备tx2中;

步骤2,反馈;嵌入式设备tx2与机器人载体之间通过socket编程或者串口通信的连接方式来将分类的结果实时反馈给机器人载体;

步骤3,人机交互;嵌入式设备tx2与机器人载体之间采用客户端服务器模式进行交互,由嵌入式设备tx2发送动作指令到机器人载体,机器人载体接收指令后完成相应的动作。

所述嵌入式设备tx2与机器人载体通信步骤包括:

步骤1,初始化时蓝牙模块亮灯正常;

步骤2,当蓝牙模块尝试与嵌入式设备tx2建立连接时,远程终端屏幕会显示连接过程,连接成功后会显示“连接成功”,随即进入数据传输状态;如果嵌入式设备tx2未与蓝牙模块成功建立连接,则远程终端的屏幕上会显示相关错误信息,这时需要用户重新确认蓝牙模块连线是否正确并在稍后重新执行传输命令;步骤3,嵌入式设备tx2接收到的数据将会以十进制的形式实时的在终端屏幕上显示,数值范围为0~100左右大小不等,对于数值过大或者为负的异常值,本文通过异常值前后的正常值相加求其平均值的处理方式进行处理,并用该平均值对异常值进行替换;

步骤4,预设每180个十进制数据代表一个脑电数据文件,eeg头戴设备收集后会将其存储到嵌入式设备tx2中,嵌入式设备tx2里的内置程序随即把文件夹下新收集到的脑电数据加载到预先训练好的模型之中,模型会对数据进行类别预测分类并给出最终的分类结果;

步骤5,将分类结果实时的反馈给机器人载体,机器人载体会根据不同的分类结果做出相应的动作;

步骤6,重复步骤1至5,直至没有新的脑电数据加入到嵌入式设备tx2中。所述的时序数据所采用的deepbrain模型主要包括:

其中fi,ff,fo和fm分别表示输入门,遗忘门,输出门和输入调制门,⊙表示逐元素乘(矩阵乘法);σ是logistic函数,为一个s型函数并且将带入公式中的值x输出到[0,1]区间中;tanh是正切函数;cij表示第i层中第j个lstm单元中的状态(存储器);

表示如下操作:

其中w,w'表示相应的权重,b表示偏差;

随后,使用反向传播时间(bptt)算法训练模型。

进一步地,定制化用户的eeg头戴设备信号识别,使用注意选择器来增强堆叠lstm的表示能力;

注意选择器接受最终lstm层作为通过操作测量的注意权重w'att为:

并计算归一化的注意力权重:

w′att为watt=softmax(w′att);

dropout层是一种正则化技术,在公式中可体现为:

其中符号d表示dropout运算符,表示将括号内参数的随机子集设置为零;这使得lstm单元能够更加稳健的执行中间运算并用于改进脑电图信号识别模型的推广,最终的softmax层用于对四种eeg头戴设备信号模式进行分类,包括放松状态信号模式、放松到专注状态信号模式、专注到放松状态信号模式、专注状态信号模式。

本发明所具有的有益效果为:本发明可以很好的解决时序数据间的时间相关性问题,同时提出了一种编码方法来实现多类别脑电数据识别,进而将其应用到多类场景,并且本发明所用设备的成本较低。在识别率方面,相比已有脑电数据识别方法,本发明能有效提高识别率达97.5%。

附图说明

图1系统架构图。

图2系统流程图。

图3deepbrain的内部结构。

图4用户-机器人交互系统。

图5180s采集的四种eeg信号数据。

图6从180s内采样60次的四种eeg信号数据。

图7数据集上不同分类模型的各项指标精度比较。

图8deepbrain在不同训练数据比例下的精度和训练时间。

具体实施方式

下面结合附图1至8对本发明的优选实施例作进一步说明,本发明需要用户头戴低成本的现成的eeg头戴设备进行脑电数据收集:首先对脑电数据进行编码处理并收集,eeg头戴设备呈现红灯时收集到的数据全部表示为1,eeg头戴设备呈现蓝灯时收集到的数据全部表示为0,在指定时间内,就可以收集到四类数据,a)在指定时间内一直保持专注状态,将此情况下收集到的脑电数据编码为11。b)在指定时间内先专注后放松,将此情况下收集到的数据编码为10。c)在指定时间内先放松后专注,将此情况下收集到的数据编码为01。d)在指定时间内一直保持放松状态,将此情况下收集到的数据编码为00。将收集到的数据划分为训练集与测试集并用其来训练的模型。由于采用了不同的机器人载体,因此代码平台使用的英伟达公司的嵌入式设备jetson嵌入式设备tx2,安装ubuntu16.04发行版的linux操作系统。模型的训练和部署使用谷歌公司开发的开源框架tensorflow,通过源码编译的方式将tensorflow安装到嵌入式设备tx2上。在训练好模型后,将其保存在本地,便于后期加载并预测分类用,以上是数据收集和代码平台的部分。机器人载体先试用aldebaranrobotics公司研发生产的nao机器人,初始时主要考虑到nao机器人技术成熟,便于开发使用。后期在通过socket网络编程的方式与其进行通信时,发现了之前并没有注意到的一些问题,而这些问题可能会影响到系统的广泛使用。首先,机器人nao没有达到避免障碍物的预期效果。其次,基于socket网络编程的通信连接可能受到外部因素的影响,如网络干扰和恶意攻击。最后,机器人nao缓慢移动。基于此,开发了轮式机器人设备的定制版本。关于轮式机器人设备的定制版本,本文使用串行通信进行连接,有效地解决了局域网环境中的两个主要问题。机器人载体会根据代码平台给出的分类结果进行相应的操作。

将三部分联动起来后,基于嵌入式人工智能的多类别脑电数据识别系统具体实施步骤如下:步骤1:脑电数据收集阶段;eeg头戴设备只收集脑电数据。在收集开始前时,远程终端屏幕上会显示三次尝试连接是否成功,若屏幕显示success,则表示成功连接并将进入数据收集状态,否则,用户需要检查接线是否正确,并在稍后一段时间重启设备。然后,之前就写好在嵌入式设备tx2的内置程序将新收集到的数据加载至预先训练好的模型之中,并继续等待新数据的到来。

步骤2:模型训练阶段;将基于注意力选择器的堆栈lstm与脑电数据结合起来,注意力堆栈lstm对于长时间的语音序列数据具有非常好的预测分类效果,将其运用在脑电时间数据中,以期可以获得想得到的结果。

eeg头戴设备提供反映用户大脑意图超时的十进制数据。尽管数据采集设备非常稳定,但它偶尔会受到外部环境的影响,导致个别异常数据。鉴于这种情况,通过给出阈值来丢弃高于阈值的数据。阈值是根据的长期观察设定的。同时,计算前一个和最后一个时刻的平均值。并使用此平均值作为丢弃数据的替代。

如前文所述,将对收集的两种数据进行正确编码,从而实现预期的四种分类效果。脑电图数据标签的编码方法,则使用一种典型编码方法即单热编码来对脑电图数据的标签进行处理。使用这种编码方法可以有效地避免训练过程中模型对数计算引起的模型突变问题。在脑电图数据多分类操作的初始阶段,实验得到的结果总是在较低的数值范围内。正常可分类的数据特征点如图2所示。基于此,将对混合特征进行二次分离。所设计的函数应满足以下条件:f(u,v)!=f(v,u)并且要满足f(u)与f(v)当u==v时两者所表示的区域应该进行隔离。原始数据在经过上述处理后便可以很好的与注意力堆栈lstm结合起来。其中u,v是分离函数f中的变量,仅表示需要进行二次分离的特征,即分离函数f需要将混合的特征进行二次分离操作,设置u,v是模型预处理时的操作,更加有利于后文模型的训练与分类。

为了学习用户意图信号的含义,即一维向量(在一个时间点收集)。将单输入eeg信号表示为其中k是eeg原始信号中的维数,设定为30。然后,将ei作为模型架构的输入以进行时间特征学习。最后,根据学习到的时间特征xt,给出分类的结果。图2是提出的方法的流程图。输入的原始eeg头戴设备数据是单个样本向量,首先使用若干个全连接层作为隐藏层,然后将其输出值输入到具有注意力选择器的lstm单元。另外,图中箭头表示lstm层的内部结构,ht是第t个时间步场中lstm单元的输出值,ct代表第t个时间步长中lstm单元的状态值。

针对时间序列数据处理的挑战,首先使用下采样技术来获得原始时间序列的特征子序列。下采样降低了原始时间序列的复杂性,使学习模式变得更容易。同时,为了加快模型的收敛速度,使用最小-最大归一化来标准化时间序列数据,这是原始数据的线性变换。转换后的值映射到区间[0,1]。

在时间特征处理部分,lstm结构已经证明了其强大的时间特征提取能力。lstm可以通过网络的内部状态探索特征的时间依赖性,这允许它显示时间趋势行为。lstm单元通过引入门控机制来控制数据的输入,存储和输出。如图2所示,lstm单元接收前一时间步的lstm内部单元的输出和当前时间步进样本的输入。使用包含四个组件的注意力lstm模型:一个输入层,若干个隐藏层,注意力选择器和一个输出层。lstm单元位于隐藏层中,如图2中的矩形所示。设一批输入eeg数据包含ns(称为批量大小)eeg头戴设备样本,并且总输入数据具有以下三维形状为[ns,30,1]。

令第i层中的数据表示为其中j表示第j个eeg样本,ki表示第i层中的维数。假设层i与层i+1之间的权重可以用表示,例如,表示第2层与第3层之间的权重。表示第i层的偏置。第i层数据和第i+1层数据之间的计算可以表示为

lstm层的计算如下所示:

其中fi,ff,fo和fm分别表示输入门,遗忘门,输出门和输入调制门,⊙表示逐元素乘(矩阵乘法)。σ是logistic函数,tanh是正切函数,cij表示第i层中第j个lstm单元中的状态(存储器)。这是检测eeg数据样本之间时间序列相关性的最重要部分。表示如下操作:

其中w,w'和b表示相应的权重和偏差。随后,使用反向传播时间(bptt)算法来训练模型。最后,得到预测结果。学习率的值设置为10-4,批量大小值为64。

除了处理eeg信号的时间依赖性所提出的堆叠lstm结构之外,不同的用户可能具有各种eeg信号模式,并且需要进行扩展设计以解决堆叠lstm的记忆力不足以及精细分类的问题。为了呈现定制化的解决方案,本发明在deepbrain中通过注意机制的增强堆栈lstm架构。基于注意力的增强堆栈lstm可以促使deepbrain学习不同人之间的脑电图数据特征,从而使本发明的系统实现对个体间eeg信号的准确识别。基于注意力的增强堆叠lstm的整体架构如图3所示。使用历史时间戳来预测当前时间戳。嵌入层是第一层基于注意力的增强堆叠lstm。然后,使用堆叠lstm来捕获长依赖性。为了定制化用户eeg信号的识别,使用注意选择器来增强堆叠lstm的表述能力。注意选择器接受最终lstm层的状态值作为注意权重并在注意力选择器中将注意力权重归一化为watt=softmax(w′att)。concatenation层则用于连接堆栈lstm和注意选择器的输出。dropout层是一种正则化技术,用于改进脑电图信号识别模型的推广。最终的softmax层则用于对四种eeg信号模式进行分类。算法的具体过程在图2,图3中给出。

步骤3:脑-控机器人载体阶段;大脑控制系统的关键点是准确识别用户的eeg信号。脑电图数据对大脑背景活动和环境因素敏感,本发明通过应用合适的特征表达和分类来识别人类意图。

用户-机器人交互系统如图4所示。用户意图的eeg信号由可穿戴的eeg采集设备发送到实时系统。嵌入式ai(嵌入式设备tx2)板使用预先训练好的deepbrain模型识别用户的意图,然后将动作指令发送给机器人载体并执行相应的动作。嵌入式ai板和机器人载体间使用socket网络编程或者串口通信的方式进行连接。

基于deepbrain脑电图信号分类的准确性,进而开发了一个大脑控制系统,如图4所示。完整的在线bci系统由几大组成部分:定制化的深度学习模型,基于英伟达jetson嵌入式设备tx2的嵌入式ai实时系统,机器人载体,以及用户穿戴的低成本的eeg采集设备。深度学习模型是已经离线训练好的,这有助于实时准确地识别用户的意图,该模型是大脑控制系统的核心部分。实时bci系统包括四个部分:eeg采集设备,用户,嵌入式ai板(嵌入式设备tx2),机器人载体以及蓝牙模块。

初始时本文考虑两种不同的机器人载体与用户进行互动。对于机器人载体nao,通过lan和客户端服务器模式连接它。根据机器人载体所服务的目标人群给出的实用可行的建议,本文发现了一些nao本身的局限性。首先,机器人nao在避开障碍物方面没有达到预期的效果。其次,与机器人nao的连接类型可能受到外部因素的影响,例如网络干扰和恶意攻击。第三,机器人nao移动缓慢。基于此,本发明研发了轮式机器人设备的定制版本。对于定制版本的机器人载体,使用串行通信与嵌入式设备tx2进行连接,有效地解决了lan环境中的两个主要问题。

实验结果:使用收集的本地eeg信号数据集来评估设计的深度学习模型。对实验数据集进行预处理,并与其他方法进行比较。具体地,使用低成本的脑电数据采集设备。尽管该设备可抵抗来自用户的多个信号通道的噪声,但它偶尔会受到天气和声音等外部环境的影响。因此,数据集中有时会出现异常数据点。因此,为了提高结果的准确性和稳定性,有必要进行数据预处理。未准备好的eeg数据在180秒内收集,如图5所示。a)、b)、c)、d)四种状态说明参见[0018]段;可以看出数据非常密集且显得杂乱无章。如果没有适当的数据预处理方法,它将训练模型和预测带来巨大挑战。在图6中,低成本eeg数据收集设备提供反映用户的大脑情绪状态的十进制表示的分数值,其是上述eeg模式的数字表示,180s内的采样数是60次。当用户的eeg信号值很高时,表明大脑很可能处于beta或gamma模式。相反,当用户的值较低时,表明大脑很可能处于delta或theta模式。对于用户的中等意识的alpha模式,低成本的eeg数据采集设备将根据不同的用户(男性或女性)给出相应的数值。

使用五个指标来全面评估所有方法的性能:精度(accuracy),准确率(precision),召回率(recall),f1score,曲线下面积(auc)。这些指标已被广泛用于评估机器学习算法。指标的详细信息如下:

其中真正(tp)表示被模型预测为正的正样本数,假正(fp)表示被模型预测为正的负样本数,真负(tn)表示被模型预测为负的负样本数和假负(fn)表示被模型预测为负的正样本数。

一般而言,准确性用于判断目标是分类的模型,同时由于目的是识别eeg数据类别,因此准确率和召回率也是评估模型的重要指标。准确率主要用于判断分类器是否能正确得到分类结果,即主要集中在识别异常样本上。此外,召回率主要评估分类器是否可以识别所有异常样本。fβ得分是前两个指标的组合,如果β小于1,则表示召回率更为重要。相反,准确率对模型质量评估的影响更大。f1得分用作关于算法的性能的一般概述。

在性能研究中,将deepbrain和其他方进行比较来说明deepbrain的效率。本发明设计的方法是一种混合模型,它使用lstm进行特征学习,使用softmax分类器进行意图识别。在实验中,eeg数据被随机分为两部分:训练数据集和测试数据集。将deepbrain与svm,mlp,lstm,堆栈lstm进行比较。此外,这里列出了关键参数:多层感知器(mlp)(隐藏层节点为30),以及具有32个单元的lstm。

结果表明,deepbrain比其他方法具有更高的精度,同时也比其他深度学习模型(如mlp或lstm)运行时表现更好。此外,与现有的专注于二元分类的脑电分类研究相比,deepbrain在多类情景下运行,仍然达到了高水平的准确性。实验证明了deepbrain在本地数据集下达到了0.975的多分类精度。为了说明本发明设计的原始eeg数据的稳健特征模型的优势,实验结果如图7所示,可以看到deepbrain在分类精度(accuracy)方面分别优于mlp,lstm,svm和堆栈lstm。接下来实验用于训练的不同数量数据对模型准确性的影响。结果如图8所示,随着更多的训练数据,精度也会提高。训练模型所需的时间,随着训练数据的比例增大呈现线性变化。最后,还知道当使用不同的分类器时,适当地降低学习速率可以帮助提高准确性。

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