基于脑电小波特征与长短期记忆神经网络的驾驶疲劳识别方法*
2023-10-17罗旭张岩杨亮
罗旭 张岩 杨亮
(沈阳师范大学,沈阳 110034)
1 前言
驾驶疲劳是导致交通事故发生的重要因素。在我国,疲劳驾驶引起的事故约占总事故数量的20%[1]。全球每年发生的交通事故高达10 多亿次,且疲劳驾驶造成的事故死亡人数占所有交通事故死亡人数的70%左右[2]。因此,及时准确地识别驾驶疲劳并进行预警,对交通安全具有重要意义。
识别疲劳驾驶的方法主要有面部图像识别法、眼动识别法、肌电信号分析法和脑电信号分析法等[3],其中脑电信号分析法被认为是识别疲劳驾驶状态的“金标准”[4]。文献[5]通过分析运动成像任务中的顶叶α 波和额叶θ 波,发现人感到疲劳时注意力水平下降,导致α 能量增加。文献[6]提出了一种基于模型的特征提取策略,将主成分分析网络(Principal Component Analysis Net,PCANet)实际应用于基于脑电图(Electro-EncephaloGram,EEG)的驾驶疲劳识别研究,获得了较高的识别精度和效率,并发现大脑的顶叶和枕叶与驾驶疲劳密切相关。文献[7]提出了基于前额脑电信号的多尺度小波系数作为特征指标的识别方法,理论上驾驶疲劳识别的平均正确率达91.8%。文献[8]基于疲劳驾驶者的脑电波和正常驾驶者的脑电波有明显区别的特点,设计了一套实时疲劳驾驶检测与自动报警系统。研究发现,在驾驶员疲劳驾驶过程中,脑电信号的功率谱比值表现出规律性变化[9-11]。文献[12]基于长短期记忆(Long Short-Term Memory,LSTM)网络与卷积神经网络(Convolutional Neural Networks,CNN),以单通道脑电信号中的部分特征识别受试者独立的嗜睡状态,平均识别准确率为72.97%。文献[13]在时空域深度卷积双向长短期记忆神经网络模型中,对非疲劳与疲劳2 种精神状态进行分类测试评估,分类精度均约为87%。
现有的基于脑电的疲劳识别方法,特别是基于LSTM 分类网络的识别方法,通常使用单通道或少数局部通道的脑电信号进行分析,且提取的脑电特征值维度较低,导致分类性能不稳定。本文采集真实驾驶环境下的驾驶员非疲劳与驾驶疲劳状态脑电信号,利用离散小波变换对脑电信号进行滤波并提取多维度特征值,采用LSTM神经网络对2类特征数据进行分类识别,通过试验数据分析通道位置与通道数量对分类性能的影响,并采用合适的特征组合与通道组合获得较好的分类性能。
2 脑电数据采集
2.1 环境设置
在真实的高速公路驾驶环境下使用Emotiv 脑电仪采集脑电信号,采样率为128 Hz,如图1所示。
图1 Emotiv脑电仪
Emotiv 脑电仪14 个通道布局参照10-20 系统国际标准,如图2所示。
图2 10-20系统国际标准的通道
被试者年龄范围为30~55 岁,身体健康且无睡眠相关疾病,自愿参与试验。在采集脑电前48 h内,禁止被试者饮用对神经产生刺激的饮品,被试者没有高水平的身心活动,保证正常的睡眠和饮食。
2.2 采集过程
根据《中华人民共和国道路交通安全法实施条例》,驾驶员连续驾驶4 h 即认定为驾驶疲劳。在脑电采集试验中,当驾驶员驾驶时间约为10 min 时,采集3 min的脑电数据作为非疲劳数据,当驾驶时间达4 h 以上时,采集3 min 的脑电数据作为驾驶疲劳数据,共采集了33名驾驶员的脑电数据。为提高驾驶疲劳数据的准确性,在驾驶4 h 后,每名驾驶员填写《疲劳症状自评量表》[14],自评量表得分大于平均分的驾驶员(共16名)的脑电数据被选为试验组数据。
在休息状态下,经过4 h 被试者也会积累一定的疲劳,因此还需要采集休息状态开始时和休息4 h后的2种脑电信号作为对照组数据。试验组和对照组数据都用于神经网络的分类训练与测试,如果在测试结果中,试验组的分类准确率明显高于对照组,则可验证算法对非疲劳与驾驶疲劳分类的有效性,即排除时间因素。对照组中采集了16个被试者的脑电信号,每次采集时长为3 min。
3 特征提取
3.1 小波分解
脑电信号在采集过程中掺杂大量噪声,在识别前必须经过滤波。针对脑电信号的非线性与非平稳性的特点,考虑到小波变换是较为有效的时频分析方法[15],因此本文采用快速离散小波变换(Discrete Wavelet Transformation,DWT)[16]设计滤波器。信号经小波变换后,可产生压缩式的小波系数,分别为代表原信号低频部分的逼近小波系数和代表高频部分的细节小波系数。脑电信号经离散小波变换多级分解,得到频率低于32 Hz(脑电信号频率主要分布在0~30 Hz范围内)的4个子带内的小波包系数,从而过滤掉频率较高的干扰信号。离散小波分解过程如下:脑电信号经首次分解,得到第1层低通逼近分量A1和高通细节分量D1;对A1继续分解得到第2层的逼近分量和细节分量AA2和DA2;以此类推,一直分解到第4 层。在第4 层中,将小波分解扩展为小波包分解,即除了分解逼近分量AAA3,得到AAAA4和DAAA4外,还分解细节分量DAA3,得到ADAA4和DDAA4。为表述方便,将这4 个分量分别标记为P1、P2、P3和P4。每个分量包含若干分解得到小波系数,分解过程如图3所示。
图3 小波分解过程
3.2 提取特征
为提高2 种状态小波系数的区分度,将小波系数的多种特征值组合在一起构成特征向量,这些特征值包括小波系数的最大值、最小值、均值、标准差、能量值和相对能量值。设Ejmax、Ejmin、Ejavg和Ejstd分别为分量Pj中小波系数的最大值、最小值、平均值和标准差。
小波系数能量值计算如下:
式中,xj(i)为分量Pj的第i个小波系数;Ej为分量Pj的能量值。
分量相对于整体的相对能量值为:
式中,Ejr为能量值Ej与全部4 个分量能量之和的比值。
分量之间的相对能量为:E1/E2、E2/E3、E3/E4、(E1+E2)/(E3+E4)。
由以上特征值构成含28 个特征值的特征向量为:[E1;E2;E3;E4;E1r;E2r;E3r;E4r;E1max;E2max;E3max;E4max;E1min;E2min;E3min;E4min;E1avg;E2avg;E3avg;E4avg;E1std;E2std;E3std;E4std;E1/E2;E2/E3;E3/E4;(E1+E2)/(E3+E4)]。
特征向量所用的脑电数据需要从固定周期的分析窗口时间内采集,分析窗口的时长和采集频率决定采集脑电信号的数量。考虑到实际应用中的疲劳识别实时性要求,针对128 Hz 的采集频率,本文设定分析窗口时长为1 s。对于1 个脑电仪通道,1 s 的分析窗口内可以采集128 组脑电数据。从128组脑电数据中提取与之对应的28个特征值,这样由每次采集的3 min 脑电数据,可构造一个180×28 的特征矩阵,这些特征矩阵将作为神经网络的训练与测试数据。
4 利用LSTM 神经网络进行分类识别
4.1 LSTM 神经网络
LSTM 神经网络是一种特殊的递归神经网络[17],其单元体系结构如图4 所示。LSTM 神经网络的核心部件是LSTM 单元,LSTM 单元通过使用3 个门对单元状态进行移除或添加状态信息。
图4 LSTM单元体系结构
第1 个门(遗忘门)决定从单元中移除哪些信息,此门基于sigmoid函数构建:
式中,σ为sigmoid激活函数,负责将数值压缩在(0,1)范围内;W为权值矩阵;x为t时刻输入向量;h为(t-1)时刻单元隐藏状态;bf为偏移向量;ft为t时刻遗忘门状态。
第2 个门(输入门)由sigmoid 函数和tanh 双曲正切激活函数组合构成,2 个函数分别负责决定哪些值将被更新和创建更新的向量,tanh 函数负责将数值压缩在(-1,1)范围内:
根据式(3)~式(5)的函数值更新t时刻单元状态ct:
式中,Wi、Wc为权值矩阵;bi、bc为偏移向量;it为t时刻输入门状态;c~t为t时刻长记忆输出值;⊙为哈达玛积(Hadamard Product)。
第3 个门(输出门)基于更新的单元状态和sigmoid 函数计算当前状态的最后输出,此sigmoid函数决定单元状态的哪一部分作为输出信息:
式中,ot为t时刻输出门状态;Wo为权值矩阵;bo为偏移向量。
由LSTM单元构成的LSTM层为LSTM神经网络中的核心组成部分。
具有C个长度与S个特征的时序X通过LSTM 层的流程如图5 所示。
图5 LSTM单元体系结构
第1 个LSTM 单元使用网络的初始状态和第1 个时间步的序列来计算第1 个输出和更新后的单元状态。其中ht和ct分别表示t时刻的输出和单元状态,h的长度为D。在时间步t上,该单元使用网络的当前状态(ct-1,ht-1)和下个时间步的序列来计算输出和更新后的单元状态ct,单元状态包含从前面的时间步中获得的信息。在每个时间步中,该层都会在单元状态中添加或删除信息,并使用不同的门控制这些信息的更新。
4.2 设计神经网络
4.2.1 网络结构
神经网络采用7层结构,分别为顺序输入(Sequence-Input)层、LSTM 层1、随机失活(Dropout)层、LSTM 层2、全连接(FullyConnected)层、Softmax 层、类 输 出(ClassOutput)层,如图6所示。
图6 神经网络结构
该网格结构中:SequenceInput 层为序列数据的输入层;Dropout 层[18]用于控制输入线性变换的神经元断开比例,设置合适的置零概率可以防止网络过拟合;LSTM 层可以学习时间序列和序列数据中的时间步之间的长期依赖关系,与Dropout 层共同完成从原始脑电信号中学习特征的功能;Softmax[19]层负责将带权输入进行归一化;FullyConnected 层将学到的特征映射到样本标记空间;ClassOutput 层为输出层,输出0 或1,分别表示非疲劳与疲劳。2个LSTM 层与FullyConnected 层都使用sigmoid 激活函数。
4.2.2 关键参数确定
SequenceInput 层的输入序列维度设置为28×n(对应n个通道的28个特征值)。通过试验,确定2个LSTM 隐含层的节点数和Dropout 层的概率值,其他参数采用MATLAB 推荐值。测试方法为:以试验组每个通道的特征矩阵作为输入对网络进行多次训练,在每次训练中,2 个隐含层分别取2i(i=1,2,…,10)个节点,Dropout 层的概率分别取0.1、0.2、……、0.9。通过统计对比14个通道(每个通道900次测试)的所有测试结果发现,当第1隐含层为128个节点,第2隐含层为64 个节点且Dropout 层的概率为0.2 时,网络不会出现明显的过拟合,同时神经网络具备较好的分类性能,平均分类准确率维持在73%以上,据此2个隐含层的节点数分别设置为128×n与64×n。
5 分类试验
分类试验利用构造的特征数据作为网络输入,分别在单通道和多通道方案下,对LSTM神经网络进行训练和测试试验,根据试验结果对分类性能进行分析。
5.1 单通道分类
在单通道方案中,以每个通道的特征矩阵作为输入数据对网络进行分类训练并测试。试验组与对照组在单通道方案下的分类准确率的均值与标准差测试结果如表1所示。
表1 单通道分类准确率的均值和标准差 %
对比发现,试验组各通道下的分类准确率明显高于对照组。这表明,单通道方案下LSTM网络对非疲劳与驾驶疲劳的特征数据具备特定的分类能力。
然而,单通道分类能力仍然较低(分类准确率不到80%),较高的标准差也说明分类性能不稳定。因此,本文将更多通道特征数据输入神经网络,以改善分类性能。
5.2 多通道分类
在多通道方案中,为尽可能获得较高的准确率,优先选择单通道分类准确率较高的通道进行组合。各单通道平均分类准确率在脑皮层上的分布情况如图7 所示。由图7 可知,处于脑皮层前端的通道分类准确率较高,而处于同一水平线上的左右对称通道上的准确率接近。
图7 LSTM网络各通道平均准确率分布
据此,多通道方案采用7个通道组合方案,如表2所示。每个方案中,优先选择靠前的通道参与组合。
表2 多通道组合方案
在每个多通道组合方案中,将所选择的多个通道的特征矩阵合并,并将合并的矩阵作为输入矩阵对LSTM 网络进行训练并测试,得到试验组与对照组的多通道分类准确率的均值和标准差,如表3所示。
表3 多通道分类准确率的均值和标准差 %
由表3可知,在每种多通道方案中,试验组的分类性能都明显较对照组高且更稳定,分类准确率随着通道数量的增多逐渐提高,从4通道方案开始,准确率明显提高,特别是在通道数量最多的14通道方案中,试验组的分类准确率可达96.1%。试验结果表明,利用多通道方案,可使LSTM 网络对非疲劳与驾驶疲劳2个状态的脑电信号进行有效的分类识别。
5.3 本文方法与其他方法性能比较
驾驶疲劳识别准确率受采集环境、通道选择、特征提取、分类算法等因素综合影响,其中特征提取与分类算法为关键因素。为评估本文识别方法与其他方法的性能差异,以相同的14通道的多维特征数据分别在支持向量机(Support Vector Machine,SVM)、反向传播(Back Propagation,BP)神经网络、CNN 分类器中进行分类测试,得到如表4 所示的平均分类准确率。
表4 LSTM 与其他分类器的平均分类准确率比较 %
从表4中可以看出,使用LSTM分类器对以统计值、能量值和相对能量值组成的多维特征值进行分类,可以获得更高的分类准确率。
5.4 实时性分析
在计算机(CPU 主频为2.4 GHz,内存为8 GB)中,用经过训练的LSTM 网络(14 通道方案),对1 s的14 通道脑电数据进行1 000 次仿真分类运算,记录运算平均运行耗时。结果显示,小波滤波平均耗时10.6 ms,特征提取平均耗时5.2 ms,网络对特征数据进行分类运算平均耗时1.8 ms,仿真过程合计平均耗时33.8 ms。
计算机的运算单元不代表车载驾驶疲劳实时识别单元,因此,以上仿真结果还不能直接说明疲劳识别算法在应用中的实时性。在实际应用中,为保证实时性,要求分类运算的合计耗时小于脑电信号采集窗口耗时(1 s)。因为单元计算能力主要取决于处理器的主频(在内存等其他因素相同的情况下),因此根据仿真中2.4 GHz主频对应33.8 ms耗时的情况,按比例计算得知,要实现耗时低于1 s,主频需高于81.12 Hz。在实际应用中,符合该主频要求的车载单元芯片容易获取,采用频率足够高的车载芯片,可以保证疲劳识别算法的实时性。
6 结束语
本文在真实驾驶环境下采集非疲劳与驾驶疲劳脑电信号,经小波滤波,从小波系数中提取多维特征数据对LSTM 神经网络进行分类训练与测试。试验结果表明,LSTM 神经网络对2种特征数据的分类性能与构造特征数据的通道数量相关,通道数量越多,分类准确率越高,特别是在14通道方案中,可以得到96.1%的分类准确率。仿真数据显示,脑电数据的滤波、特征提取和网络分类计算的总耗时远小于信号的采集耗时,算法具备良好的实时性。基于小波特征与LSTM 神经网络分类器的分类方法可应用于驾驶疲劳的识别。