刘 燕 郑 威 龙佳伟
(江苏科技大学电子信息学院 镇江 212000)
长时间超负荷地作业会导致严重的疲劳现象:警惕性下降,注意力不集中,脑细胞损伤,甚至会危及生命安全。因此,有效地进行疲劳检测,并及时给出预警,对人们的生命健康安全具有重大意义。
目前,疲劳测量的方法主要有:心理测量问卷[1],视频测量,生理测量。其中,心理测量易受个人潜在的不可靠/有偏见的主观反馈影响,视频测量有时会涉及隐私问题,而生理测量法是一种相对直接有效的测量方法,特别是脑电信号因能直接反映大脑皮层疲劳状况的变化,被频繁用于疲劳检测的研究中。
传统的信号分析方法有时域、频域和时频分析法。脑电信号具有随机、非平稳等特点,所以单一的时域或者频域分析存在很大的局限,大多脑电疲劳检测的研究采用时频分析法。
近年来,熵指标作为能够度量信号系统复杂性的一种参数,已在脑电信号分析中得到了广泛的应用[2~3]。Yang 等[4]提出了一种基于香农熵的多小波包变换网络。刘超[5]提出了一种经验模态分解下自适应多尺度熵的脑电特征提取算法。王海玉等[6]采用独立成分分析(Independent Component Correlation Algorithm,ICA)进行样本熵、信息熵、模糊熵和AR 系数的特征提取,获得了91.04%的疲劳识别准确率。闵建亮等[7]提取了前额脑电信号小波对数能量熵(Wavelet Logarithm Energy Entropy,WLE)特征,获得了91.8%疲劳识别率。胡剑锋等[8]提取驾驶人员的脑电模糊熵特征,获得了97.4%疲劳识别率。
虽然,以上方法都可较准确地识别疲劳状态,但时频分析、各种熵的结合算法过于复杂。考虑到共空间模式[9~10](Common Spatial Pattern,CSP)已广泛应用于脑电信号的运动想象领域,适用于二分类任务的特征提取,而且此方法还未发现在疲劳检测上应用过。所以此文跳出前人常的研究领域,将CSP应用于疲劳检测。
此外,全头皮信号的采集不利于促进脑电疲劳检测的实用性,所以通过尽可能小的区域获得较高的脑电疲劳准确率,对脑电设备佩戴的舒适性和便捷性具有重要意义。比如Ogino等[11]提取前额通道脑电数据的功率谱密度、自回归系数和多尺度样本熵三种特征进行困倦检测研究,分类精度达到了72.7%。Mu等[12]利用FE特征分析前额脑电驾驶疲劳信号并取得了85.0%的识别率。
本文提出的疲劳检测方法,能够有效地将两类数据间的特征的差异最大化,可获得较高的疲劳检测率,探索出疲劳识别率较好的区域,对实现疲劳检测设备的舒适性和简单化具有重大意义。
脑电信号疲劳检测过程如图1 所示,因原始脑电信号存在噪声干扰,首先需要用0.5Hz~45Hz 的滤波器对原始脑电信号进行预处理,然后将滤波后的脑电信号进行CSP特征提取,最后将提取到的空间特征经由支持向量机(Support Vector Machine,SVM)[13]进行分类,从而区分出疲劳和清醒两种状态。
图1 信号处理流程图
CSP算法[14~15]采用监督的方法创建一个最优的公共空间滤波器,在最大化一类方差的同时最小化另一类方差,采用同时对角化两类任务协方差矩阵的方式,得到可区分程度最大的特征向量,适用于二分类任务的特征提取。
如图2 所示为CSP 算法的流程图,该算法过程主要分为六个步骤:
图2 CSP算法的流程图
步骤一:将脑电数据E(M×N)按疲劳和清醒进行分段,用E1和E2分别表示分段后的两类数据样本。
步骤二:计算分段后的数据的协方差矩阵,公式如下:
trace(E)表示求矩阵E 的迹。分别计算分段后样本的协方差矩阵,用C1和C2分别表示两类样本的空间协方差矩阵的期望。用Cc表示两类样本的期望之和,公式如下:
步骤三:正交白化变换,并且同时对角化。Cc是正定矩阵,公式如下:
Uc为特征向量矩阵,Λc表示特征值的对角阵。白化转换Uc可得到P值如下式:
将矩阵P作用于C1、C2,可得到公式:
S1、S2具有公共特征向量,而且存在两个对角矩阵Λ1、Λ2和特征向量矩阵B,满足下式条件:
其中I 为单位阵。观察可知S1和S2的特征值之和等于1。
步骤四:计算投影矩阵,对于特征向量矩阵Q,当一个类别S1有最大的特征值时,此时另一个类别S2有最小的特征值,因此可以利用矩阵Q 实现两类问题的分类,可以得到投影矩阵如下式所示:
步骤五:经过投影得到特征矩阵,将原脑电数据E(M×N)通过投影矩阵W 进行投影得到特征矩阵如下式:
可选择ZM×N的前m 行和后m 行(2m 步骤六:特征提取后,再将空间投影后的信号Zi(i=1,…,2m)取对数,归一化特征,如下式: 其中var 表示求向量的方差,yi为第i个样本归一化后的特征矩阵。 算法生成的CSP特征矩阵,特征信息主要集中在特征矩阵的头部和尾部,而中间的特征信息不明显可以忽略,所以一般选取前m行和后m行数据作为CSP特征提取的特征矩阵。 考虑到现实数据采集条件受限,本实验所需的脑电数据集,主要使用了闵等[16](2017)公布的驾驶员标记训练脑电数据,已在网上公开。 此实验主要选择了12 名年龄在19 岁~24 岁之间的健康年轻人参加高速公路驾驶模拟测试。所有参与者均来自江西工业大学,身体强壮,睡眠时间正常,并被要求在实验过程中避免使用任何类型的药物和刺激物,例如酒精或咖啡等。 所有实验程序均在受控实验室环境中,使用静态驾驶模拟器(北京中宇股份有限公司生产的ZY-31D 汽车驾驶模拟器)执行,该模拟器由三台24 英寸显示器组成,宽屏显示。模拟路段选择交通密度低的高速公路,实验前受试者先熟悉5min驾驶环境,上午9 点,开始大约2h 的驾驶任务。在持续驾驶试验中,被试者头戴能采集脑电数据的电极帽,电极采集的所有通道数据均以A1 和A2 处的两个电连接的乳突为参考,其电极布局基于国际10-20 系统(包括30 个有效通道和2 个参考通道),实验采样频率为1000Hz。 本实验的数据集包含12 名参与者的脑电图数据。每名参与者包含两个300s 的脑电图数据文件:一个是在参与者清醒状态下执行驾驶模拟任务时收集的300s 脑电图信号。另一个是当驾驶员表现出明显的疲劳症状,如闭眼时间延长、打哈欠和反应时间变慢时,在驾驶模拟任务结束时,记录的300s的脑电图数据。 先用Matlab读取数据集,如图3(a)和(c)所示,分别为F3 通道上感测到的未经滤波的清醒和疲劳状态原始脑电信号的片段。从波形图可知,未经预处理的脑电信号波动的幅值较大。对原始数据进行预处理:先以0.5Hz 的频率对脑电图信号进行高通滤波,以去除任何DC分量。接着,用低通滤波器衰减脑电信号的高频噪声。由于脑波活动的相关频带在1Hz~32Hz 的范围内,低通滤波器的通带是向上设计到45Hz。如图3(b)和(d)所示,分别为滤波后的清醒状态和疲劳状态脑电信号片段。滤波后的脑电信号幅值震动范围相对集中在正负50mV之间。实验中还采用FIR 滤波器[17]过滤掉50Hz 电源的干扰,该电源控制未过滤的信号[18],过滤后的信号被分成任意长度的时间段,以从300s 长的脑电图记录中产生大量单独的信号段。因此,从每个患者的每个通道中获得一组600 个单个1s 信号段(300 个正常,300 个疲劳),并用“0”表示清醒,“1”表示疲劳。 图3 原始和滤波后脑电信号片段 为评估脑电疲劳检测的质量,本次实验,选择使用了准确度(Accuracy)指标进行评估。为减小过拟合,从有限的数据中获取尽可能多的有效信息,本实验分别采用了5折和10折交叉验证[19]。为简单快捷地对CSP空间特征进行二分类,本实验选择SVM分类。 将预处理后的脑电信号输入到CSP 中进行特征提取。由于CSP 特征点图仅可显示二维的特征点或者投影图,为了更直观观察特征点的分布情况,本处列举的是m=1,特征数为2的特征点图。 图4为全头皮区域的CSP二维特征点,图5中,(a)、(b)、(c)和(d)分别为额叶区、顶叶区、颞叶区和枕叶区CSP二维特征点图,其中红色代表疲劳状态的二维特征点,绿色代表清醒状态的二维特征点。对比特征点图,可以看出全头皮的特征比4 个分区的特征点更容易二分类。在4 分区中,两种状态的特征点各自也比较聚集,额叶区的特征点相对更容易区分一些。 图4 CSP全头皮二维特征点图 图5 CSP 4分区二维特征点图 因为CSP 的特征信息主要集中在特征矩阵的头部和尾部,而中间的特征信息不明显可以忽略,所以一般选取前m 行和后m 行数据作为CSP 特征提取的特征矩阵。由此看来,取得合适的m 值,可以获得较高的识别率。图6为CSP特征影响因子m值对疲劳检测结果准确率影响的实验结果对比图。实验中分别使用了10 折和5 折交叉验证对1~6之间的m值进行了探索。 图6 疲劳检测结果对比 经实验,发现由CSP 提取的特征,经过10 折交叉验证准确率为96.49%~98.31%,经过5 折交叉验证准确率为95.43%~98.54%。m 值对两种交叉验证的影响趋势大致相同,m 值在3~5 之间,两种交叉验证均可获得高于98.00%的准确率,在m=5 处,提取特征数为10个时,5折交叉验证可取得98.54%的准确率。 大脑皮层主要分为额叶(Frontal Lobe)、顶叶(Parietal Lobe)、颞叶(Temporal Lobe)和枕叶(Occipital Lobe)四个区域。各个区域电极分布情况如下:额叶主要包括FP1、FP2、F7 F3、FZ、F4、F8、FT7、FC3、FCZ、FC4、FT8 共12 个通道;顶叶主要包括TP7、CP3、CPZ、CP4、TP8、P3、PZ、P4 共8 个通道;颞叶主要包括FT7、T3、TP7、T5、T4、FT8、TP8、T6 共8个通道;枕叶主要包括O1、OZ、O2共3个通道。 由于枕叶处的电极数仅有3 个,m 取值受限,无法取到5,为了控制实验变量,因此所有区域的特征采集均选用m=3 的10 折交叉验证进行实验,图7为不同脑区疲劳检测结果对比图。 图7 不同脑区疲劳检测结果 由实验结果图可以看出,全头皮进行疲劳检测时,无疑可获得最高的疲劳识别率。四个分区中,额区识别率最好可达到92.54%,颞区的识别率仅次之为91.19%。顶区和枕区的疲劳识别率相对较低,分别为89.21%和88.41%。由此我们得出:在检测电极数受限或减少电极数达到设备佩戴舒适度的情况下,我们可以优选额区进行疲劳检测。 基于前学者[20]研究的基础,本文还对样本熵、模糊熵、功率普密度等特征进行了脑电疲劳检测分析,并采用SVM 的方法进行分类,分类准确率低于原文采用增强树进行分类的效果。如表1 所示,列举了前人的相关研究方法和结果。 表1 与现有研究比较 经对比,可发现,使用CSP特征提取的方法,可获得98.54%的疲劳识别率,较高于前学者使用功率谱密度、样本熵等方法疲劳识别率。 通过此研究可获得以下结论: 1)CSP 适用于脑电的疲劳特征提取,而且可以获得较高的疲劳识别率。 2)合适的m取值,可以以较少的特征数获得较大的识别率。本实验仅凭借10 个特征量获得了98.54%的疲劳识别率。这可以有效地解决了多特征冗杂的问题,并且可以减少程序运行的内存。 3)额区的疲劳识别率相对高于其他三个区域的疲劳识别率。这一研究结果,为额区疲劳检测奠定了基础,为研制更加舒适的硬件佩戴设备提供了方法,促进可穿戴脑机接口[22~23]在疲劳驾驶预警中应用的可能性。3 实验数据及处理
3.1 实验介绍
3.2 数据集介绍
3.3 数据预处理
4 实验结果与分析
4.1 CSP特征分析
4.2 CSP特征影响因子m值分析
4.3 不同脑区分类结果分析
4.4 和现有研究比较
5 结语