一种基于cnn-svm的事件相关电位信号分类方法
技术领域
本发明涉及事件相关电位脑-机接口
技术领域
,尤其涉及一种基于CNN(卷积神经网络)-SVM(支持向量机)的事件相关电位信号分类方法。背景技术
脑-机接口(BCI)是一种不借助外周神经通路而使大脑与外界直接交互的技术,该技术因其成本低、时间分辨率高、安全性好等优点,在语言交流、环境控制、运动功能康复等领域得到了广泛应用。基于脑电信号的脑-机接口应用可以采用多种脑电形式,包括稳态视觉诱发电位(SSVEP)和事件相关电位(ERP)等。
ERP是由一系列的特定刺激诱发的瞬态大脑响应,反应了大脑对物理刺激的加工机制。ERP主要由易受刺激物理特性影响的“外源性成分”如P1、N1、P2等,和不易受刺激物理特性影响的“内源性成分”如N2、P3(或称P300)等组成。目前研究最多、临床应用最广泛的是P300电位,P300电位峰值大约出现在相关事件发生后的约300毫秒,对于ERP的检测大多是检测其是否包含P300电位。
传统的ERP信号分类一般通过手动提取脑电信号中的频域或时频域特征信息,然后对提取到的特征进行有监督分类的方式来实现的,但是传统方法一般需要通过多次叠加信号波形以强化信号信噪比才能实现ERP信号的有效辨识,而相对于传统的特征提取方法,深度学习可以自动挖掘信号更深层次的特征,避免信息丢失,但是由于ERP信号具有信号微弱,个体差异性大以及脑电信号样本量少等特点,深度学习过程中往往会出现过拟合,限制了基于ERP信号的脑-机接口工程应用。
发明内容
为了克服上述现有技术的缺点,本发明的目的在于提供一种基于CNN-SVM的事件相关电位信号分类方法,能有效提升ERP信号分类的准确率。
为了达到上述目的,本发明采取的技术方案为:
一种基于CNN-SVM的事件相关电位信号分类方法,包括以下步骤:
步骤1:在使用者头部顶区和枕区安放测量电极,在其单侧耳垂位置处安放参考电极,在其头部前额处安放地电极,电极测得的脑电信号经放大和模数转换后送往计算机;
步骤2:计算机显示屏上呈现一个x行乘以y列的字符矩,随机高亮字符矩阵的某一行或某一列代表一次刺激,要求x行及y列均被高亮一次,总共x+y次刺激;
步骤3:使用者将注意力集中在规定的字符上,x+y个随机高亮的行或列包含所需的字符;当包括此字符的行或者列被高亮时,要求使用者对此刺激做出反应,此时会产生P300信号;当不包含此字符的行或者列被高亮时,使用者不做出反应,产生非P300信号;
步骤4:将采集到的P300信号样本和非P300信号样本经过带通滤波器滤波后做成带标签的数据集,并将数据集分为训练集、验证集与测试集;
步骤5:构建用于ERP信号识别的卷积神经网络模型;
步骤6:进行卷积神经网络模型的训练,将训练集输入构建好的卷积神经网络模型中进行网络训练,同时使用验证集来进行卷积神经网络模型最优参数的选择;
步骤7:将训练集、验证集、测试集输入训练好的卷积神经网络,输出网络的降采样层特征,训练集和验证集对应的特征为训练特征,测试集对应的特征为测试特征;
步骤8:用训练特征来完成支持向量机模型训练,采用网格化搜索获取最优参数值;
步骤9:将测试特征输入训练好的支持向量机模型进行ERP信号的识别分类,检测卷积神经网络与支持向量机混合模型的分类性能,卷积神经网络与支持向量机混合模型用于ERP信号的在线识别。
所述的步骤5中的卷积神经网络模型,具体为:
卷积神经网络模型的第一层为输入层l1,输入的为原始多通道ERP信号,输入样本矩阵大小为通道数n×数据采样长度m;
卷积神经网络模型的第二层、第三层为卷积层,第二层卷积层l2用来对输入的ERP信号进行时域卷积,第三层卷积层l3用来对上一层的输出进行空域卷积;
卷积神经网络模型的第四层为降采样层l4,用来对上一层的输出进行数据降维,降采样操作采用平均池化或者最大池化方法,使用线性整流函数ReLU作为激活函数;
卷积神经网络模型的第五层为输出层l5,利用交叉熵损失函数更新网络参数。
所述的步骤8中的支持向量机模型,核函数选择RBF核函数,并且采用网格搜索交叉验证的方法自动匹配到最优的参数C和gamma。
与现有技术相比,本发明的有益效果为:
本发明以滤波后的多通道原始脑电信号为输入,根据ERP信号兼具时、空域特征的特点,提出先时域后空域卷积的时空分离卷积操作,可实现ERP信号的初步识别;用支持向量机来代替卷积神经网络中的全连接层进行分类,有效减小了过拟合问题,提高了识别准确率,对于小样本量的ERP信号来说具有明显的识别优势,提高了脑-机接口系统的应用性能。
附图说明
图1为本发明实施例方法的流程图。
图2为本发明实施例的刺激范式图,其中图(a)为P300字符拼写矩阵,图(b)为刺激流程图。
图3为本发明实施例构建的卷积神经网络模型的结构示意图。
图4为本发明实施例对P300信号识别准确率的混淆矩阵图。
图5为本发明实施例方法和传统卷积神经网络方法结果对比图,其中图(a)为不同方法对使用者S1的P300检测精度;图(b)为不同方法对使用者S2的P300检测精度;图(c)为不同方法对使用者S3的P300检测精度。
具体实施方式
下面结合实施例和附图对本发明作进一步的详细说明。
如图1所示,一种基于CNN-SVM的事件相关电位信号分类方法,包括以下步骤:
步骤1:在使用者头部顶区和枕区的FCz、C1、Cz、C2、Pz、POz位置安放测量电极,在其单侧耳垂位置A1或A2处安放参考电极,在其头部前额处Fpz位置安放地电极,电极测得的脑电信号经放大和模数转换后送往计算机;
步骤2:如图2中的图(a)所示,计算机显示屏上呈现一个由26个英文字母和9个数字以及下划线排列组合成的6×6的字符矩,使用者的任务是将注意力集中在研究者规定的单词中的字符上,即一次使用一个字符;字符矩阵的所有行和列都以5.7Hz的速率连续和随机高亮,随机高亮字符矩阵的某一行或某一列代表一次刺激,要求6行及6列均被高亮一次,总共12次刺激;具体时序安排如图2中的图(b)所示,字符矩阵的每一行和每一列高亮状态的持续时间为100毫秒,随后有75毫秒的间歇期,每个字符都会高亮15次,在15次高亮之后,会有2.5秒的休息时间,以通知使用者这个字符已经拼写完成,并将注意力集中于下一个字符;
步骤3:使用者将注意力集中在规定的字符上,12个随机高亮的行或列包含所需的字符;当包括此字符的行或者列被高亮时,要求使用者对此刺激做出反应,此时会产生P300信号;当不包含此字符的行或者列被高亮时,受试者不做出反应,产生非P300信号;
步骤4:将采集到的P300信号样本和非P300信号样本经过巴特沃斯带通滤波器进行0.1Hz到20Hz的带通滤波后做成带标签的数据集,数据集的标签编码采用one-hot编码,并将数据集随机划分,其中数据集的70%为训练集,15%为验证集,15%为测试集;
步骤5:构建用于ERP信号识别的卷积神经网络模型,如图3所示,具体为:
卷积神经网络模型的第一层为输入层l1,输入的为原始多通道ERP信号,输入样本矩阵大小为6×240,即采样率为240Hz时,1秒的数据;
卷积神经网络模型的第二层、第三层为卷积层,第二层卷积层l2有6个一维卷积核,主要用来对输入的ERP信号进行时域卷积;第三层卷积层l3有12个一维卷积核,主要用来对上一层的输出进行空域卷积;
卷积神经网络模型的第四层为降采样层,降采样层l4采用12个大小为1×6的卷积核对第三层卷积层l3的输出进行数据降维,降采样操作采用最大池化方法,使用线性整流函数ReLU作为激活函数,步长与卷积核大小一致,同时使用Dropout方法防止过拟合;
卷积神经网络模型的第五层为输出层l5,输出层l5有2个节点,代表二分类问题,对应P300信号和非P300信号,利用交叉熵损失函数更新网络参数;
步骤6:进行卷积神经网络模型的训练,将训练集输入构建好的卷积神经网络模型中进行网络训练,同时使用验证集来进行卷积神经网络模型最优参数的选择;
网络训练过程采用小批量训练,每次训练输入批量数据大小为64个样本,设置Dropout比率为0.6,权值的优化调整采用Adam随机梯度下降法,学习率设置为0.001;
步骤7:将训练集、验证集、测试集输入训练好的卷积神经网络,输出网络的降采样层特征,将训练集和验证集导出的特征作为训练特征,将测试集导出的特征作为测试特征;
步骤8:用训练特征来完成支持向量机模型训练,核函数选择RBF核函数,分类算法选择one vs one算法,C和gamma的取值范围为,并且采用网格搜索交叉验证的方法自动匹配到最优的参数值;
步骤9:将测试特征输入训练好的支持向量机模型进行ERP信号的识别分类,检测卷积神经网络与支持向量机混合模型的分类性能;卷积神经网络与支持向量机混合模型可进一步用于ERP信号的在线识别。
采用本发明方法对三名使用者(S1~S3)进行了实验,实验过程中同步记录并实时显示脑电信号,以便在实验中检查使用者状态,防止使用者产生眨眼、体动等动作,保证脑电信号的数据质量。图4为利用本发明方法的检测卷积神经网络与支持向量机混合模型计算出的使用者S1的识别正确率混淆矩阵,其中图中的行表示预测标签,列表示实际判别结果标签。由图中可以看出,本发明方法(CNN-SVM)对P300信号的分类准确率为93.5%,对非P300信号的分类准确率为94.3%,两类信号的识别率均超过了90%,说明本发明方法能够较好地完成两类信号的分类。
此外,为了验证本发明方法(CNN-SVM)方法的有效性,将其与用于ERP信号识别的经典方法,即逐步线性判别分析(SWLDA)方法和贝叶斯线性判别分析(BLDA)方法进行了比较,结果见表1。表中的第一行列出了用于比较的分类方法。第2-4行分别列出了不同分类方法的P300检测精度。数字以百分比(%)给出,粗体的精度数表示这一行的最高精度。
表1不同分类算法的P300检测精度
由表1可以看出,本发明方法(CNN-SVM)在所有分类方法中的分类精度最高。由于本发明方法(CNN-SVM)使用卷积神经网络作为特征提取器,相比手动提取脑电信号中的频域或时频域特征信息,其能够自动挖掘信号更深层次的特征,避免信息丢失,本发明方法(CNN-SVM)的分类结果也显著优于其他分类方法。以上结果说明本发明方法(CNN-SVM)相比于经典的ERP信号识别方法有了较大的检测精度的提升。
参照图5,其中图(a)-图(c)对本发明方法(CNN-SVM)和传统卷积神经网络方法(CNN)的P300检测精度进行了比较。由于在使用较少的重复次数的基础上实现字符拼写精度的提升将有利于提高信息传输率,从而能够提高人脑和计算机之间的通信速率,因此本发明方法(CNN-SVM)分析了不同重复次数k∈[1,15]下的P300检测精度。总体来说,本发明方法(CNN-SVM)比传统卷积神经网络方法能够获得更好的识别精度,本发明方法(CNN-SVM)的识别准确率相比单一卷积神经网络方法提高了4.36%。这是因为多层感知机是一种经验风险最小化的方法,在小样本量分类时容易产生过拟合现象,而支持向量机是一种结构风险最小化的分类方法,其泛化性能相比于多层感知机势必会有所提升。本发明方法(CNN-SVM)只需要重复4次字符高亮就可以稳定达到90%以上的识别准确率,具有较高的实用价值。