赵瀛文,张伟民,程超杰,董英梁
(洛阳理工学院,河南 洛阳 471023)
在基于深度学习实现脑电信号的情绪识别的应用过程中使用了一种紧凑轻量型的网络EEGNet。在经过数据集的制作、优化模型参数、训练模型后实现了对脑电信号进行分析以达到情绪识别的目的,验证了EEGNet网络对脑电信号情绪识别具有良好的识别准确率。对情绪二分类、四分类以及八分类的准确度均在90%以上,本文详细介绍了数据集的制作与网络建立,以及损失函数及优化器等参数的选择,展示了EEGNet优异的性能以及特点。
采集对象共15人(男性9人,女6人),采集对象年龄在21岁到43岁区间内,平均23.4岁。身体状况良好,四肢健全且精神无恙,听力均正常,视力均正常,经过心理问卷检查未发现被采集者有情绪问题或精神疾病状况。实验开始前24个小时内不曾服用影响精神的各类物品,且未饮用影响精神的饮品,如酒精等。采集开始前被采集人员以及充分知悉整个实验项目情况以及内容流程。被采集人员在采集过程中可以选择终止实验。
本次采集采用图片诱发情绪的方法。图片选自《中国情绪材料情感图片系统》中正性、负性和中性的图片内容。该情感图片系统由800多张图片组成。这些图片为内容清晰、含义明确、没有文字且突出刺激物本身的东方特色的图片。其中分别具有可以让人产生正性情绪的图片,例如可爱的动物、温馨的情景、美味的食物、开心的笑容;另一种类别是能使人产生负性情绪的图片,例如分离情景、灾难战争、流泪哭泣、惊悚的情景或可怕的虫子。每次采集共缓慢播放一分钟文件夹内图片,依照分类,极大程度选择情绪表达强烈的图片。例如图1为系统内负性图片、正性图片、中性图片(部分)。
图1 系统内各类图片
实验中采用了博睿康公司的NeuSen W系列的32导无线脑电采集设备,其点击位置按照标准的国际10-20系统排布。其具有高采样率的高精信号质量和优异的抗干扰能力。
实验之前,告知被采集者实验目的,实验的流程以及注意事项,并且保证被采集者面部、耳部清洁,且采集工具佩戴前进行湿纸巾擦拭。选择一个静谧的环境且被采集者找到舒适的坐姿。被采集者头脑保持清醒,身心保证放松。采集时电极连接位置使用EEGLAB描绘出来如图2所示。
图2 电极位置
被采集者接受不同图片的情绪诱发,对各类情绪进行分散式穿插诱发,被采集者按之前告知注意事项进行实验,采用显示屏播放图片。每组播放12张图片,每张图片有5 s的停留展示时间。一组脑电信号采集完成后,进行闭目两分钟情绪恢复后再继续进行采集,针对每位被采集者分别进行40次采集。每组照片结束后,被采集人员进行自我评价,分别标示出唤醒度与效价的评分等级。评分从1分到9分,5分为中等,9分为强烈,一分为毫无感觉。对于标签使用一个一维包含2个元素的矩阵进行保存。分别对应着被采集者的每次采集后的自评标签数据。对于采集的脑电信号使用EEGLAB工具包进行处理,经过定位电极,剔除无用电极、滤波、跑ICA、去除伪迹、设置重参考等得到预处理后的数据,处理后的数据下采样到128 Hz,使用EEGLAB绘制后如图3所示。
图3 预处理数据绘制
因为对脑电信号的下采样频率为128 Hz,有32个采集通道,且每位实验参与者采集40次数据,即1 s时间内有128个采样点,每位被采集者分别采集40组脑电信号。为了减少应用过程中中间变量以及生成文件数量,将每位被采集者的数据集封装为一个32×7680×40的三维矩阵,其中32表示32个通道数据,7 680表示7 680个采样点,40表示40次实验。在制作训练集时再对其进行切片操作,使其数据与标签相对应,处理前后的数据使用MATLAB进行显示,如图4、图5所示。
图4 处理前数据矩阵
图5 处理后数据矩阵
其中处理前数据矩阵大小为32×7 680,代表32个采集通道各有7 680个采样点,处理后数据矩阵大小为32×7 680×40,其中32代表通道数量(channels),7 680代表每次的采样点数,40代表每位被采集者采集40次数据,即处理后的数据矩阵代表每位被采集者的采集数据。
对于情绪标签,我们采用基于目前占主导地位的效价—唤醒度二维情绪理论,其中效价(valence)又称作愉悦维度,在愉悦(积极)与非愉悦(消极)之间变化;唤醒度则在兴奋与平静之间变化。类似的,为减少中间变量以及后期生成文件的数量将每位被采集者的标签同样封装在一个labels矩阵内,矩阵大小为40×2,其中40代表实验次数,2代表自评效价以及自评唤醒度。效价和唤醒度分别有1~9九个评级,在情绪识别时根据情绪分类识别类型不同将评级进行量化处理,例如,在情绪二分类型中,将某一评级量化到0和1,即二分类时labels内数据只有0和1的标签。
EEGNet是一个基于EEG的紧凑型脑电特征提取卷积神经网络,是一个深度可分离卷积结构。其利用深度卷积和可分离卷积构造脑电特征提取模型的方法,在训练数据有限的情况下,EEGNet具有更好的泛化能力和性能。EEGNet对ERP和基于振荡的BCIs都有很好的泛化。其结构示意如图6所示。
图6 EEGNet结构示意图
EEGNet结构先后使用了深度卷积与深度可分离卷积进行卷积操作,降低了训练参数的数量,在其后使用指数线性单元ELU激活函数,最后特征直接传递给分类的softmax输出,减少模型中自由参数的数量。
其中深度卷积方法为:
深度可分离卷积方法为:
式中表示输入的第个通道与输出的第个通道,其中*表示一个空间卷积。其对每个输入通道独立地应用滤波(产生相同数量的输出通道)。
深度可分离卷积示意如图7所示。
图7 深度可分离卷积示意图
深度可分离卷积可看作是深度卷积与逐点卷积的结合,深度卷积的计算量为×××××,逐点卷积的计算量为××××,则深度卷积计算量为:
EEGNet的结构图如图8所示。
图8 EEGNet结构图
EEGNet采用了深度可分离卷积,深度可分离卷积会把一个卷积核拆分为两个,然后对这两种卷积核分别实行两种不同的卷积方案:深度卷积、点卷积。基于深度卷积的这种特点其会比普通卷积具有更小的计算开销,其减少了网络中的参数数量,因此网络就能在更短的时间内处理更多的数据。如果网络的参数不是很少的话,深度可分离卷积使用得当的话可以在适当的情况下提高运行效率。
本文在基于anaconda的框架下进行开发,初始实验设备CPU为英特尔i7-9750H。显卡为英伟达GTX1660Ti,运行内存双通道8 g。在模型参数的选择中,选择使用Adam优化器,通道数(Chans)设置为32,激活函数选用ELU函数,dropout设置为50%,采样点数(Samples)设置为128。其中CNN网络结构创建的某层相关代码为:
对数据集与标签封装到一个文件中,在训练前对其数据集与标签分别取出,以下是数据处理部分相关代码:
模型训练过程中需要对参数迭代更新,对于模型的参数更新配置如下,使用Adma优化器,学习率设置为0.000 1,使用交叉熵损失函数,其中交叉熵多分类公式为:
式中,表示实际的标签,表示预测输出。
模型训练部分代码为:
本文使用一种轻型紧凑的EEGNet网络实现了对基于脑电信号的情绪识别,把32通道的脑电信号作为输入,以情绪类别为输出,其先后通过了深度卷积与深度可分离卷积层进行训练和测试识别。该网络可以通过卷积核提取波形的内在特征信息,以实现情绪分类问题。
本系统是基于EEGNet神经网络的脑电信号情绪识别系统,通过采集人的脑电信号对信号特征提取及分析输出人的情绪类别。训练过程如图9所示。
图9 训练过程
对于情绪的二分类识别最可达到98%以上,对于情绪的四识别最高可达到95%,对于情绪的八分类识别准确率可达到93%以上。对于更加精准的情绪识别而言采取增加脑电信号的采集通道数目从而获取更多的脑电区域信号以及更换运算能力更强的后端处理设备的方式进行改进及优化。对于情绪各分类平均识别准确率如表1所示。
表1 EEGNet各分类识别准确率
表1中各分类皆使用EEGNet方法,采用基于tensorflow2.0的库函数进行搭建,训练与测试,证明其具有高效的脑电情绪识别能力。
本文实现了使用EEGNet网络进行基于脑电信号的情绪识别,体现了EEGNet的特点与性能。通过以32通道的脑电信号采集设备进行脑电信号的采集,使用EEGLAB工具包对原始信号进行预处理与封装,最后对数据集进行处理与封装以及网络模型的建立。最终使用EEGNet网络进行情绪识别。在数据集有限的情况下同样具有良好的识别能力与鲁棒性。本文系统仍存在局限,采集环境及诱发方式仍存在优化空间采集样本数量及覆盖范围可进行扩大,因此本实验的结果可以作为参考依据,高度精准的专业级情绪测量需进行进一步印证。
本文提出一种基于EEGNet的脑电情绪识别方案,在基于较为有限自采集的数据集下,该方案具有较好的识别精度、鲁棒性与准确率,为情绪识别提供新思路,后期可将其网络应用于嵌入式设备等。