APP下载

C-CapsNet:一种异构脑电和眼动双模态的情绪识别模型

2022-12-25马军辉肖家赋相虎生

重庆理工大学学报(自然科学) 2022年11期
关键词:眼动电信号胶囊

马军辉,王 峰,王 晔,肖家赋,相虎生

(1.太原理工大学 信息与计算机学院, 太原 030000;2.中国人民武装警察部队指挥学院, 天津 300000)

0 引言

情绪识别尝试感知、理解和调节个体情绪,涉及认知科学、计算机科学、心理学、神经科学和人工智能等多个学科。得益于传感器技术和计算机图像处理单元(GPU)的发展,基于情绪的人机互动在虚拟现实、辅助驾驶、游戏开发和医疗诊断等多个领域快速发展[1]。情绪识别所使用的信号模态可以分为生理信号和非生理信号两类。非生理信号包括面部表情(微表情)、眼动、语音和姿势等与情绪密切相关或是情绪产生结果的外在信号;生理信号包括脑电图(EEG)、心电图(ECG)、血容量脉冲(BVP)和心率变异性(HRV)等不受主观意识控制的内在信号[2]。在外在信号中,可以使用低成本设备轻易获取面部表情、语音和姿势,但这些外在信号容易被误导性产生,进而使真实情绪被隐藏。情绪是人类与周围环境进行互动的结果,有其特定的背景,眼动信号包括注视、扫视、眨眼和瞳孔直径等数据,虽然获取成本较高,但以一种自然的方式观察用户行为是一种非侵入性和准确的情绪研究数据源,可嵌入到虚拟现实等穿戴设备[3-4]。在各种生理信号中,脑电信号具有反映人类真实情绪和不受刻意隐藏的优势,随着脑电信号采集技术的迅速发展,已被广泛应用于情绪识别研究[5]。在头部表层放置多个感应大脑电场的电极采集脑电信号是一种非侵入性的采集过程,具有灵活性和准确性优势。

近年来,研究者整合多模态数据源用于提高情绪识别有效性和准确性[6-7]。其中,情绪可以诱发瞳孔直径和眼睛注视模式的波动[8]。文献[9]使用眼睛注视和瞳孔直径作为决策树的输入;文献[10]通过提取瞳孔直径数据的光谱功率和脑电信号不同频段功率谱密度(PSD),输入到使用径向基核的支持向量机(SVM);文献[11]提出一种基于脑电、瞳孔反应和凝视距离的主体独立情绪识别方法,在Valence和Arousal得到68.5%和76.4%的准确率;文献[12-14]基于脑电和眼动,分别应用特征级融合、决策级融合和双峰深度自动编码器进行情绪分类研究;Zheng等[15]探索了脑电信号与眼动信号之间的互补特征,他们发现脑电信号具有分类快乐情绪的优势,眼动信号具有分类恐惧情绪的优势,实验结果表明:与单一模态相比,2种模态信号融合能够显著提高情绪识别性能;文献[16]基于脑电信号、眼动信号和面部表情三种模态进行融合,在自采集情绪数据上进行实验,Valence和Arousal识别准确率达到67.8%和77.0%。以上研究表明,融合脑电与眼动2种非侵入式模态被证明为一种情绪识别建模的有效方法。本文解决2个问题:预处理脑电和眼动2种模态,异构这2种模态的生物信号;设计胶囊网络模型处理异构信号,实现情绪识别。

1 相关研究

1.1 情绪识别

情绪识别研究有2个主要趋势:手工特征提取和经典分类器组成的经典方法;直接从数据源学习通用特征的神经网络(NN)方法。在过去几年中,端到端(end-to-end)的神经网络方法快速发展,卷积神经网络(CNN)的大量应用证明了这一点[17]。

以基于脑电信号情绪识别研究为例。为了克服脑电信号易受污染的局限性,保证输入到机器学习模型的数据质量,研究人员针对有效手工提取脑电特征进行了大量研究,包括Hjorth特征、对数功率、小波变换(WT)、非平稳指数、高阶交叉特征、分形维数特征、功率谱密度特征(PSD)、微分熵特征(DE)、理性不对称(RASM)特征、差分尾测(DCAU)特征和微分不对称(DASM)特征,然后与机器学习分类器相结合,如贝叶斯分类器、支持向量机(SVM)、线性判别分析(LDA)、决策树(DT)和随机森林(RF),得到良好的情绪识别分类结果。近年来,包括卷积神经网络(CNN)[18]、图形卷积神经网络(GCNN)[19]、深度信念网络(DBN)[20]在内的深度学习已经广泛应用于情感识别研究,基于大量源数据自动提取特征,描述数据源与情绪之间更加丰富的内在信息。深度学习克服了基于机器学习手工提取特征泛化能力低的问题,同时引入了不能充分使用脑电信号空间分辨率和时间分辨率的问题[21]。文献[22]将下采样的脑电信号时间序列输入CNN,通过参数调优优化准确率,忽视了脑电信号电极空间排列特征;文献[23]构建脑电信号每个子带皮尔逊相关系数矩阵,然后输入到CNN训练,忽视了脑电信号的时间信息;文献[24]根据电极实际位置进行空间重构,得到二维脑电矩阵,叠加二维脑电矩阵得到三维脑电流,最后输入到3D CNN网络。

近些年,很少有情绪识别研究基于脑电信号空间和时间信息,以及使用胶囊网络进行情绪识别研究。文献[25]使用小波变换分解脑电信号波段,构建信道之间的Granger因果关系矩阵,使用CapsNet进行情绪分类,完全排除了脑电信号的空间信息;文献[26]结合多层学习特征,在DEAP数据集上情绪识别结果低于普通CapsNet的准确率,而且多层学习特征不确定包含脑电信号的空间信息以及时间信息;文献[21]基于脑电电极空间位置填充多频带手工提取的PSD特征,拼接为18×18矩阵(MFM),输入到CapsNet进行训练,然而在MFM中不包含脑电信号的时间信息;文献[24]按照电极位置排列重构二维平面,沿时域方向组成的三维特征矩阵同时包含空间信息和时间信息,在DEAP数据集使用10-fold验证方法得到准确率结果,但是训练模型基于3D CNN而非CapsNet,也未使用留一交叉验证方法评估跨主体情绪识别性能。

不同模态可用于描述情绪的不同方面,且互相之间含有互补信息,通过融合不同模态对于构建更加稳健的情绪识别模型具有指导意义[27]。文献[28]提出一种结合面部表情和触摸的情绪研究方法;文献[29]提出一种使用特征级、决策级融合面部表情、脑电信号的多模态情绪识别方法;文献[30]利用卷积神经网络(CNN)、深度残差网络(ResNet)和长短时记忆网络(LSTM)构建语音和视觉的端到端多模态情绪识别模型。近些年,文献[15]评估了脑电信号与眼动信号之间的情绪互补性;文献[16]融合面部表情、脑电信号和眼动信号3种模态,基于CNN网络在自采集数据库上得到情绪识别准确率。以上多模态融合相较于单一模态均取得了高准确率,然而很少使用脑电信号与眼动2种模态基于胶囊网络(CapsNet)进行多模态融合研究。

针对上述研究现状,本文充分利用脑电信号电极排列位置的空间特征以及时间维度的时间特征,构建脑电信号三维时空张量,使用卷积神经网络(CNN)提取脑电信号三维时空张量的底层信息,同时使用CNN提取并重构眼动特征,然后异构脑电和眼动2种模态作为CapsNet的底层胶囊(PrimaryCaps),使得一个底层胶囊同时包含脑电信号的时-空特征和眼动数据特征,使用路由算法进行训练,实现情绪识别。模型名标记为C-CapsNet,对实验结果在公开的多模态数据库SEED-IV上进行评估。

1.2 情绪模型

情绪识别模型大致分为3类:① 沙漏模型,认为情绪分布在一个沙漏空间[31],以沙漏模型为基础的情绪识别研究较少;② 情绪离散模型,认为情绪可以直接使用某种状态表示,例如文献[32]提出离散情绪的6种基本类型:愤怒、厌恶、快乐、悲伤、恐惧和惊讶;③ 情绪连续(环形)模型,认为情绪是一种渐变过程,在许多的情绪分类研究中,常采用二维效价(valence)和唤醒(arousal)描述模型[33-34],在二维平面上,情绪状态可以被看做是由V-A轴线所定义的某个点,Valence表示愉悦程度,Arousal表示活跃程度,如图1所示。基于V-A连续模型有2种不同的处理方式:量化Valence和Arousal值,以DEAP数据库为例,低于5表示为“low”,高于5表示“high”,分别在Valence和Arousal进行独立二元分类;② 基于V-A模型,结合使用Valence和Arousal值,如图2所示,将情绪分为4类:LALV、LAHV、HALV、HAHV。本文采用情绪连续(环形)模型,基于独立二元分类进行实验。

图1 Valence和Arousal分值图

图2 V-A情绪四分类模型

2 SEED IV数据集及预处理

2.1 SEED IV数据集

SEED IV数据集是由上海交通大学郑伟龙团队公开的一种基于脑电信号与眼动信号的多模态数据集。邀请44名参与者(22名男性,22名女性,均为中国在校大学生)观看168个电影片段后评估他们的情绪,评估方法包括2种:4种离散情绪,包括快乐、悲伤、中性和恐惧;Valence和Arousal两个维度的评分,Valence表示从悲伤到快乐,Arousal表示从平静到兴奋,分值范围为-5—5。最终选定其中15名被认为成功激发情绪的受试者,在3个不同时期采集3组数据,每组影视刺激源均不相同,得到45组实验数据。在每组数据采集中,受试者分别观看了24个影视片段(每种情绪影视片段为6个)。具体实验约定过程如图3所示。

图3 SEED IV数据集采集过程

2.1.1EEG信号

在SEED IV数据集中,根据国际10-20系统放置62个通道电极位置,如图4所示。eeg_raw_data文件夹包括3个文件夹,分别是15名受试者在3次不同时期采集的数据,每个受试者对应1个mat文件,在每个mat文件中包括24个字段,分别对应24次实验记录,每次实验记录中包括使用 ESI NeuroScan系统以1 000 Hz采样率记录的62个通道原始EEG数据。

图4 SEED IV数据集62个电极位置分布图

2.1.2EOG信号

在SEED IV数据集中,采集EEG信号的同时,同步使用SMI-ETG眼动追踪眼镜记录眼球运动的各种详细参数。eye_raw_data文件夹记录15个受试者在3次不同时间的眼球运动信息,包括眨眼(blink)、事件类型(event)、注视(fixation)、瞳孔相关信息(pupil),扫视(saccade)和注视时长(Fixationduration,PD)。其中以_blink结尾的mat文件中包含24个矩阵,分别记录24个视频的眨眼次数和事件;以_saccade结尾的mat文件同样记录了24个矩阵,包括扫视持续事件和振幅两个特征。

2.2 预处理

2.2.1EEG信号预处理

对于SEED IV数据集,每个受试者观看视频时通过头戴62个通道电极获取脑电信号,此时脑电信号在时间轴上表示为一维信号,原始脑电信号以1 000 Hz进行采样,每个通道采集的脑电数量并不统一。根据SEED IV数据集采集协议,截取62个通道原始信号中间10 000个数据点,使用径向基(RBF)函数填充至长度为12 000个数据点。

许多传统方法使用通道简单累加而成的二维矩阵进行实验研究[31-32],忽视了电极放置的拓扑关系,这种做法只能用于表示脑电信号时间信息,不能表示脑电信号空间信息,造成原始脑电信号电极空间信息丢失。最近文献中,例如文献[21,24,33]尝试使用二维矩阵映射电极位置,但是没有使用时间维度进行实验研究。

脑电信号空间拓扑信息可用于改善性能,本文将脑电电极拓扑位置进行空间映射,首先使用一个9×9矩阵映射SEED IV数据集62个通道电极空间拓扑信息,如图5所示;然后将62个通道在时间t上的数据分别填入9×9的矩阵中,其他位置填入空值,如图6所示。沿时间维度,原始脑电信号使用120 Hz下采样形成一个9×9×120的时空帧,为了匹配时间特征、空间特征和模型输入维度,重新调整为64×64×120的三维时空张量(Tensor),其他空值部分使用径向基(RBF)函数进行数据填充,得到100组三维时空张量。

图5 SEED IV电极位置空间映射图

图6 SEED IV空间映射数值填充

2.2.2眼动数据预处理

对于SEED IV数据集,瞳孔数据被认为与情绪有关联。以_pupil结尾的mat文件中包含24个矩阵,对应24个视频片段,矩阵中记录了垂直和水平方向瞳孔大小和色散4个维度的数据,以300 Hz下采样4个维度眼动瞳孔数据,然后使用径向基函数进行数值填充,得到400×4的眼动矩阵,为了匹配模型输入维度,重构数据格式为400×4×1。

3 C-CapsNet模型

基于Valence和Arousal情绪模型,提出情绪识别模型C-CapsNet,架构如图7所示。首先采集受试者脑电信号和眼动信号,分别针对脑电信号和眼动信号进行预处理,一方面去除信号中的噪声,另一方面提取脑电信号时空特征以及眼动信号特征。卷积层对于处理不同时间位置的数据模式非常有用,CNN是最常用的二维分类方法,但同时丢失了数据路由过程,位置信息以及姿态信息。本文首先使用卷积神经网络提取脑电信号和眼动信号的底层信息,特征融合后,重新异构成一个包含脑电信号和眼动信号特征的底层胶囊(PrimaryCaps),最后所有PrimaryCaps共同决定情绪胶囊(EmotionCaps),得到情绪识别分类结果。脑电信号和眼动信号预处理过程如2.2小节描述。

图7 C-CapsNet架构示意图

如2.2.1小节所述,SEED IV数据集脑电信号经过预处理后得到一个64×64×120的三维时空张量,首先使用256个9×9×120卷积核(Conv)提取脑电时空张量的底层信息,卷积输出特征图大小为(64-9+1)×(64-9+1)×(120-120+1)×256=56×56×1×256,然后使用2×2最大池化过滤器(pool),则第一层卷积输出特征图为28×28×256。第二层卷积用于约束脑电信号特征与胶囊网络之间的匹配关系,使用16个9×9×256三维卷积核与第一层输出进行卷积,得到一组20×20×16三维张量。经过8次同样操作后,最终得到8个20×20×16三维张量,重构(reshape)后形成3 200个1×16向量,具体过程如图8所示。

图8 使用CNN提取脑电信号三维时空张量底层信息

如2.2.2小节所述,眼动数据经过预处理后得到一组400×4×1三维张量。使用卷积神经网络提取眼动信号底层信息,第一层使用200个5×2卷积核(Conv),输出特征图大小为(400-5+1)×(4-2+1)=396×3,经过4×1最大池化过滤器(Pool),则第一层输出特征图大小为99×3。第二层使用400个4×2卷积核和2×1最大池化层,第三层使用800个3×2卷积核和2×1最大池化层,第四层使用1 600个4×1卷积核和2×1最大池化层,第五层使用3 200个3×1卷积核和2×1最大池化层,所有卷积-池化操作均使用整流线性单元(ReLU)激活函数,该激活函数在分类问题中得到良好的结果。经过卷积神经网络处理的眼动数据经重构后得到3 200个1×4向量。

脑电信号和眼动信号经过卷积提取底层特征信息后,将两个特征进行异构得到3200×1×(16+4)三维张量,作为胶囊网络的底层胶囊(PrimaryCaps),每个底层胶囊是一个1×20向量,该向量同时包含脑电信号和眼动信号特征,经过投票路由算法(agreement routing)和Squash激活函数训练,最终得到两个1×40高层情绪胶囊(emotioncaps),使用||L2||范数,由包含40个数值的高层情绪胶囊向量共同决定最终的情绪分类结果。C-CapsNet模型如图9所示。

图9 C-CapsNet情绪识别模型

CapsNet用于表示局部对象与整体对象之间的相对位置,核心单元被称为胶囊,每个胶囊不再是标量,而是将属性编码后的向量。不同的胶囊通过一种迭代投票路由机制进行连接,将底层胶囊倾向性的输出到高层胶囊。CapsNet利用变换共享矩阵对局部和整体之间的内在空间关系进行编码,在平移和旋转方面具有更好的稳健性。在过去几年,CapsNet被广泛应用于自然语言处理、医学图像分类、高光谱图像分类和语音识别等领域。

C-CapsNetC-CapsNet模型动态路由算法如图10所示。

图10 C-CapsNet模型动态路由算法示意图

(1)

然后使用参数cij相加所有的预测向量获得sj,过程如下所示:

(2)

cij定义如下:

(3)

其中:bij表示第i个primaryCpas投票至第j个EmotionCaps概率,设置初始值后根据式(5)进行迭代更新。

为了约束EmotionCaps向量模长处于0~1,且方向不变,使用Squash激活函数得到vj,Squash激活函数表达式如下:

(4)

(5)

4 实验与分析

4.1 实验设置

实验所有网络均使用PyTorch实现,并在NVIDIA Tesla V100 GPU上训练。如上所述,使用SEED IV数据集验证模型性能,数据集中Valence和Arousal以0值为界限分别标记为“Low”和“High”两个标签,进行独立两分类(SLC)实验。数据集共有15×3×24=1 080组实验数据,其中80%作为训练集,剩下的20%用作测试集。验证方法包括2种:① 样本数据被随机分成5簇,每次使用其中4簇进行训练,剩下一簇用于测试,依次循环5次(5-fold);② 留一交叉验证(LOO)研究模型跨主体性能。

4.2 结果分析

4.2.1不同参数的C-CapsNet性能

C-CapsNet在训练过程中不断调整参数获取更好的分类准确率,对共享矩阵初始化方法、迭代次数和学习率等参数进行情绪独立二分类实验,使用5-fold交叉验证法统计Valence和Arousal两个维度的平均准确率。

根据胶囊网络动态路由算法可知每个小胶囊首先通过共享矩阵计算倾向概率,分别采用Random Normal、Random Uniform、Truncated Normal和Orthogonal四种初始化方式,结果如表1所示。从表1可以发现,不同共享矩阵初始方法会影响情绪分类准确率,其中Orthogonal初始化方法结果最优,其Valence和Arousal平均准确率分别达到82.46%和83.15%。

C-CapsNet训练时,每次情绪胶囊输出向量通过学习率更新投票标量,正向循环计算权重,更新整个C-CapsNet参数。设置学习率为0.1、0.01、0.001和0.0001四个参数,分别进行C-CapsNet训练,其中学习率为0.001时最优,Valence和Arousal平均准确率分别为78.56%和79.28%。

表2 不同学习率的C-CapsNet平均准确率

胶囊网络类似循环神经网络(RNN),通过正向传播不断更新权重参数,使用胶囊网络在手写字数据集MNIST训练时,迭代次数为2时达到98%以上的准确率,迭代次数为3时准确率达到99%以上,后续增加迭代次数并不能继续提升分类识别准确率。本文使用SEED IV数据集训练C-CapsNet,分别设置迭代次数为1、2、3、4和5,Valence和Arousal准确率如表3所示,当迭代次数为4时,平均准确率分别为85.69和86.94%。C-CapsNet训练时间相较其他模型更加耗费时间,这里设置迭代次数为4。

表3 不同迭代次数的C-CapsNet平均准确率

4.2.2整体识别性能

根据不同参数对于C-CapsNet的影响,设置共享矩阵初始化方法为Orthogonal,学习率为0.001,迭代次数为4。采用留一交叉验证方法(LOO)验证C-CapsNet跨主体识别性能,每轮留一个样本用作测试集,测试集不参与训练,目前据笔者所知并无基于SEED IV数据集采用LOO交叉验证方法的情绪识别研究。基于脑电信号的情绪识别研究有多种模型,依照C-CapsNet模型架构,首先设置三组基准模型(Baseline)。基准模型一(B1)使用脑电信号一种模态,脑电信号预处理后将时间序列进行简单通道累加组成二维矩阵,使用卷积网络提取二维矩阵底层特征后输入到CapsNet网络;基准模型二(B2)和基准模型三(B3)使用脑电信号模态,根据2.2.1小节提取脑电信号三维时空张量,其中B2采用文献[24]设计的C3D型三维卷积神经网络架构,B3采用本文CapsNet模块。基于SEED IV数据集的平均准确率如表4所示,其中使用脑电信号时间特征而忽略电极空间排列拓扑信息时,平均准确率最低。利用脑电信号时间和空间特征,构建脑电信号三维时空张量能够提高情绪识别平均准确率。通过异构脑电信号时空特征与眼动信号特征,基于SEED IV多模态数据集的C-CapsNet情绪识别模型平均准确率分别为82.96%和79.94%,优于三组基准模型。

表4 基准模型与C-CapsNet在SEED IV上的平均准确率

目前,基于SEED IV多模态数据集进行情绪识别研究较少,选取使用胶囊网络但基于其他模态数据集的相关研究作为比较,如表5所示。C-CapsNet网络架构情绪最高准确率低于文献[26]所报告的98%最高准确率,高于其他基于胶囊网络的情绪识别最高准确率。需要注意的是,文献[21,25,26]均使用k-fold交叉验证方法得到最高准确率,文献[34]和本文C-CapsNet均是基于LOO交叉验证方法得到跨主体最高准确率。

表5 C-CapsNet与其他类似研究的最高准确率

5 结论

提出一种端到端情绪识别模型C-CapsNet,使用卷积神经网络异构脑电信号时-空信息与眼动信号数据2种模态,作为胶囊网络的底层胶囊,基于SEED IV多模态数据集进行相关实验。首先研究了共享矩阵初始化方法、迭代次数和学习率对于C-CapsNet的影响,使用5-fold交叉验证方法得到最优参数下情绪识别平均准确率。然后使用留一交叉验证方法与近些年基于胶囊网络的同类型情绪识别研究进行比较,C-CapsNet基于SEED IV多模态数据集的Valence和Arousal最高准确率分别为91.5%和92.4%,优于其他相似类型的研究。针对C-CapsNet训练过程中耗费时间过多的问题,时间优化问题留待未来研究。针对将C-CapsNet应用于可穿戴设备的问题,未来将进行靠近眼睛附近的脑电信号六通道与眼动数据双模态异构的情绪识别研究。

猜你喜欢

眼动电信号胶囊
基于眼动的驾驶员危险认知
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于ssVEP与眼动追踪的混合型并行脑机接口研究
时光胶囊
时光胶囊
海豹的睡眠:只有一半大脑在睡觉
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
静止眼动和动作表现关系的心理学机制
基于生物电信号的驾驶疲劳检测方法