丁 洋,蔡成颖
(常州大学 机械与轨道交通学院,常州 213164)
据世界卫生组织统计,全球每年约有135 万人死于道路交通事故,其中,有10%~30%的交通事故归因于疲劳驾驶[1]。因脑电信号(electroencephalogram,EEG)蕴含着丰富的人生理活动电信息,被公认为最客观的疲劳检测信号依据。研究清醒、瞌睡状态的脑电信号特性,可为疲劳预警设备研发奠定基础,具有十分重要的研究价值。
针对驾驶疲劳脑电瞌睡检测,目前国内外研究者开展了诸多研究。文献[2]提出一种高斯混合隐马尔可夫模型进行疲劳状态评估,获得准确率为89.60%、敏感度为88.31%;文献[3]采用经验模态分解与能量谱算法相结合方法提取特征,在粒子群算法优化的多层感知超限学习机分类器中实现对驾驶员疲劳状态的检测,获得83.12%的分类准确率;文献[4]以样本熵和近似熵为特征并融合送入kNN等4 种分类算法进行比较,所得疲劳识别平均准确率为92.8%、敏感度为91.4%、F1分数为91.4%;文献[5]运用模糊熵取得85%的识别准确率。以上方法在对脑电进行特征提取时,虽能区分清醒、瞌睡脑电中复杂瞬态波变化,但计算复杂度高。此外,样本熵、近似熵及模糊熵算子存有容限值调参的繁琐。
针对以上方法存在的问题,本文首次利用注意力熵刻画清醒、瞌睡脑电的非线性,无需对容限值进行调参,且计算代价较小。同时,采用复杂度较低的小波包分解法提取相对能量特征,以表征清醒、瞌睡脑电中的复杂瞬态波变化。将所提取的注意力熵特征与小波包能量特征应用于瞌睡检测中,构建了多模态融合的驾驶疲劳瞌睡检测与预警系统。
研究采用了图1 所示的框架,包括4 个部分:①信号预处理,因脑电中混叠大量背景噪声及工频干扰,故将其送入0.5~45 Hz 的巴特沃兹滤波器进行带通滤波处理;②特征提取,用小波包分解与注意力熵方法提取脑电有效特征;③构建支持向量机分类器模型,实现清醒和瞌睡状态的判别;④通过一定的判别决策决定是否触发预警设备,采用视觉和听觉结合的方式进行预警。
图1 基于多特征融合的瞌睡检测与预警系统框架Fig.1 Framework of a drowsiness detection and warning system based on multi-feature fusion
本研究用Sleep-EDF 数据库6 个健康受试者在清醒与瞌睡状态下的脑电信号。该脑电数据采样频率为100 Hz,采集于Pz-Oz 电极,每段数据长30 s。
选取适宜信号处理方法对脑电进行分析和提取特征是瞌睡检测模型的关键步骤。
1.2.1 非线性动力学注意力熵特征
针对脑电信号的非线性特点,利用注意力熵[6]刻画清醒与瞌睡状态下脑电动态演化过程中的复杂度,相比近似熵、模糊熵等算子,注意力熵具有如下优点:对时间序列长度具有鲁棒性,不需要参数调优,且计算复杂度低。
注意力熵选择了4 种关键模式:①局部最大值到局部最大值的间隔(Max-Max);②局部最小值到局部最小值的间隔(Min-Min);③局部最大值到局部最小值的间隔(Max-Min);④局部最小值到局部最大值的间隔(Min-Max)。并对每一种模式计算其相邻间隔出现的频率,得到Ti,计算各区间间隔出现频率的香农熵,并取均值作为特征,公式为
式中:i=1,2,3,4,表示4 种关键模式。
1.2.2 基于小波包的时频特征
脑电具有很强的节律性,既有研究在细分频段:Delta(0.5~4 Hz)、Theta(4~8 Hz)、Alpha(8~13 Hz)、Beta(13~30 Hz)进行了清醒、瞌睡状态脑电的频域分析。而在清醒与瞌睡演变过程中,脑电的动态变化十分复杂,除了体现出显著的非平稳特性以外,还需更好地刻画其细微的时频局部化特点。小波包分解(WPD)在小波变换多尺度分析工具基础上,规避了小波分解时频固定的缺陷,更能反映复杂信号的本质和特征。
小波包分解得到的二叉树结构,如图2 所示。利用正交小波包变换的快速算法,当对脑电信号进行n 层分解时,则第j 级第k 个二叉树节点的小波包分解系数为
图2 6 层小波包分解结构Fig.2 6-layer wavelet packet decomposition structure
第j 级的系数可以通过第j-1 级的系数来获得。此时,脑电信号被分为若干个频带,第n 层分解的频带范围表征为
分解层数取决于分析信号的有用成分和采样频率。本文分析的脑电信号有用成分为0.5 Hz~45 Hz,对其进行6 层分解,得到合适子频带的同时也降低了计算复杂度。Db4 小波可平衡正交小波的紧支撑和平滑性,且它的波形与脑电信号相似,适宜非平稳信号的分析。由于小波包系数能量能反应脑电信号的时频特征,故提取脑电信号的小波包系数能量值为基础特征,以Subject1、Subject4 为例,清醒与瞌睡状态的能量分布如图3 所示。
图3 清醒与瞌睡状态脑电的能量值分布Fig.3 Distribution of energy values of EEG in awake and drowsy states
由图3(a)看出,10 Hz 之前瞌睡状态脑电信号的小波包系数能量均值高于清醒状态,10 Hz 之后相反;从图3(b)看出,8 Hz 之前的瞌睡状态小波包系数能量均值与清醒状态能量均值混叠,而8 Hz 之后两者的能量均值则可区分。值得注意的是,以往研究中少有使用的Gamma(30~45 Hz)节律,在清醒与瞌睡信号的差异也很大,故本文也采用此频段的特征。考虑个体差异及部分频段的能量交织,本文将小波包系数的相对能量值作为特征。此外,由清醒向瞌睡状态的演变过程中,Delta、Theta、Alpha、Beta 及Gamma 节律能量动态变化,据此提取了这5 种节律的小波包系数能量的比值特征。利用小波包分解提取的各个特征如表1 所示。
表1 WPD 法提取的细分频带相对能量特征Tab.1 Relative energy characteristics of subdivision bands extracted by WPD method
其中,E 为脑电信号的小波包能量总值,ED、ET、EA、EB、EG分别为Delta、Theta、Alpha、Beta 及Gamma的频带小波包能量值。
因支持向量机(SVM)具有优异的泛化性能和学习能力,适宜瞌睡识别场景下的小样本、非线性模式识别任务,本文以其为分类器。SVM 的核心思想是通过构造使分类间隔最大的超平面而使得对于未知模式的分类误差最小。而最优超平面的构造属于二次型问题,期望获取的最优分类函数:
为求解这一问题,引入拉格朗日算子:
式中:b 为阈值;xj为第j 个训练样本;yj为类别;L为总训练样本数;α 为拉格朗日系数。
为评估瞌睡检测模型性能,采用如下评价指标:正确率(ACC)、敏感度(SEN),F1分数定义为
式中:PRE=TP/(TP+FP)×100%。TP、TN 分别是被测试为正的正样本数和被测试为正的负样本数;FP、FN 分别为被测试为负的正样本数和被测试为负的负样本数。
为验证本文所提方法进行脑电瞌睡检测的可行性,将数据集按照70%训练集、30%测试集原则分配。
对于小波包方法提取的特征,经过Relief 算法筛选出5 个特征,对Subject1 训练样本利用小波包方法所得WpdFeat 特征的统计分析结果,如表2 所示。
表2 清醒组和瞌睡组WpdFeat 特征统计值Tab.2 Statistical values of WpdFeat characteristics in awake and sleepy groups
表2 中第2~3 列是对清醒组和瞌睡组所有样本进一步求取统计平均的结果,所得结果以“均值(标准差)”形式给出。第4 列是对特征量进行单因素单方差分析(ANOVA)的检验结果。可见各WpdFeat在不同类别间均具统计显著差异。
利用注意力熵法所得AttnEn 特征的统计分析结果,如表3 所示。
表3 清醒组和瞌睡组AttnEn 特征统计值Tab.3 Statistical values of AttnEn characteristics for awake and sleepy groups
从表3 中可看出,清醒状态的注意力熵均值大于瞌睡状态的值,表明在清醒状态注意力熵所表征的复杂度高于瞌睡状态的复杂度。ANOVA 检验中的p<0.001,表明在统计意义上所提取的特征能区分清醒与瞌睡时脑电信号的复杂度特性。
SVM 分类器使用libsvm 工具箱,选择高斯核函数,用网格法搜索最佳参数。为减少过拟合,本文使用5 折交叉验证方法验证分类器性能。将融合的特征矢量送入SVM 分类器中,得到的性能结果如表4所示。
表4 融合特征的性能结果Tab.4 Performance results for fused features
从表4 可看出,因个体间存在差异,不同受试者的性能结果不尽相同。但就总体性能而言,融合WpdFeat、AttnEn 特征之后,在瞌睡检测时具有95.9%的准确度、96.8%的敏感度,F1分数指标为96%。
如表5 所示,与文献方法进行对比,本文使用WPD 结合AttnEn 方法提取特征,运用SVM 分类,获得了高于对比研究的瞌睡检测准确率、敏感度。
表5 不同方法的性能结果对比Tab.5 Comparison of performance results of different methods
基于上述方法,本文在LabVIEW 上实现驾驶疲劳的瞌睡预警仿真,并针对个体对声音的敏感性问题,设计多种声音刺激方式。
通过调用MATLAB Script 节点的方法,实现LabVIEW 和MATLAB 的混合编程。用选项卡将整个仿真分为瞌睡检测信号分析、瞌睡检测识别与预警2 个模块界面。
如图4 所示,在瞌睡检测信号分析模块中,可以加载不同个体的脑电信号,对其进行滤波预处理,并将信号波形展示在虚拟仪器前面板。用户可操纵滑动杆以设置滤波器的不同参数。该界面依次展示了原始脑电信号波形、滤波后清醒和疲劳信号的小波包能量谱均值对比。在虚拟仪器前面板右侧区域对特征提取结果予以展示,分别为示例信号WPD法提取的特征参量数值及AttnEn 特征值。
图4 瞌睡检测信号分析模块界面Fig.4 Interface of the drowsiness detection signal analysis module
如图5 所示,瞌睡检测识别与预警模块中,首先分别采用SVM 分类器和Logistic 分类器实现对样本脑电信号的模式分类,显示出分类结果及分类评价度指标。可以看到,所有指标都已达到100%,说明该仿真模型可以准确地识别驾驶员的瞌睡状态。接着通过视觉、听觉两种方式实现瞌睡预警。当用户输入待识别的测试集信号序号时,该界面将展示对应信号的原始波形、小波包相对能量谱密度,并显示对应信号的识别结果。一旦识别结果为瞌睡状态,随即触发预警。在视觉预警方面,预警指示灯由正常的绿色状态转为红色。考虑到驾驶员对不同声音刺激的敏感问题,本文利用ActiveX 容器节点调用Windows Media Player 控件,设计了多种声音的预警唤醒方式。在声音文件已加载该仿真模块前提下,用户可点击选择ALARM 报警声或唤醒疲劳的不同音乐,使驾驶员在疲劳的前期得到及时的提醒。同时,在Windows Media Player 中,用户也可以调节声音的音量,控制声音的暂停与播放。
图5 瞌睡检测识别与预警模块界面Fig.5 Drowsiness detection recognition and warning module interface
本文搭建了融合注意力熵与小波包能量特征的瞌睡检测与预警系统。首次在瞌睡检测的脑电信号特征提取中使用了注意力熵方法,无需调节参数,计算代价小。在利用小波包分解方法提取相对能量特征时,将高频Gamma 节律纳入考虑,实验结果表明了其有效性。此外,本文方法可自适应挑选出适合不同个体的时频特征,增强了模型的泛化能力。最后在LabVIEW 上利用所提方法进行了虚拟仪器设计,表明所提方法为实际生活中驾驶人员的瞌睡检测和预警系统开发提供了有效的模型。