APP下载

基于BDPCA的驾驶员脑疲劳等级划分研究

2022-12-24徐亚茹年锦涛

计算机仿真 2022年11期
关键词:波包中心点电信号

吕 超,闫 超,徐亚茹,年锦涛

(长春理工大学,吉林长春130021)

1 引言

世卫组织的报告中说明了道路交通事故已经成为了全球一项重要的死亡原因[1]。而在频发的交通事故中,由于驾驶员的疲劳驾驶导致的交通事故占据相当大的比例。如果能够对驾驶员的疲劳状态进行检测,并进行相应的等级划分,就能够充分地掌握驾驶员的精神状态,根据驾驶员的疲劳等级状态进行相应的工作划分,便能大大的减少疲劳驾驶所导致的交通事故的发生。近些年,对驾驶员疲劳状态的客观检测研究主要围绕肌电、眼电、心电以及脑电等生物电信号进行。除此之外,还有研究人员使用眨眼频率、方向盘轴承偏移量等行为信号进行驾驶员的疲劳状态分析。但是由于生物电信号具有良好的实时差异性和不可伪装性等优点[2],其对疲劳状态检测的精确度要高于行为信号,而脑电信号相比于其它生物电信号的采集更加简单方便,对机体状态的表征更为全面,因此使用脑电信号对驾驶员的疲劳状态进行检测被认为是最合适的方法之一[3]。随着人工智能技术的快速发展,基于人工智能的分析方法在数据的处理和分类问题上越来越受到关注。Jianfeng Hu[4]将K-NN和SVM应用到脑电信号的分析处理中。闵建亮[5]使用极限学习机对从脑电信号中提取到的特征值进行分析进行对疲劳状态的检测。Saeedi Maryam[6]将SVM和多层感知器应用在脑电信号的分析处理中。上述的机器学习方法虽然在对清醒状态与疲劳状态的区分检测中取到了不错的识别精度,但仅仅针对疲劳与清醒进行相应的划分,而忽略了其中两种状态之间的过渡信息,并没有建立一个客观明确的疲劳等级划分机制。由于前期进行训练的数据状态大多是由个体的主观感受作为依据,因此难免会出现误差。为解决上述问题,本文采用无监督学习方式的聚类学习算法直接对数据进行处理。相对于有监督的学习方式,无监督学习的聚类算法自动的将疲劳状态相近的脑电信号划分为同一等级,实现对疲劳等级的客观划分。DPCA算法基于数据的局部密度与数据点之间的距离进行分析,但是DPCA算法无法自动确定类簇中心K的数值。因此本文引入贝叶斯信息准则(BIC)对DPCA聚类算法进行改进的BDPCA算法对数据进行分析。

2 疲劳状态划分机制

脑电信号中蕴含着丰富的节律波信息,当疲劳程度加深时,脑电信号中的慢波逐渐增多,快波逐渐减少,大脑系统的复杂性下降[7]。这种大脑系统和脑电信号与疲劳状态的变化关系证明了通过脑电信号对疲劳状态进行划分的可能性[8]。通过脑电信号的变化特性进行疲劳状态分析的步骤为:脑电信号的采集、聚类分析算法、脑电信号的预处理、脑电信号的特征提取、疲劳状态划分。研究者对脑电信号的特征提取方式研究通常从频域和时域两个方面进行着手。时域分析方法简单直观,一般提取信号的的幅值、均值、方差、正则性和同步性等参数。简单的时域特征提取方式并不适用于复杂的脑电信号分析。频域分析方法将信号投射到频率域进行分析,但是脑电信号有着较强的随机性,很多有用的信息都是瞬态的,根据“不确定性原理”,信号处理时无法同时拥有较好的时间与频率分辨率,因此在时域和频域结合起来进行处理是非常必要的。而小波包变化既兼顾了频率分辨率,又保留了时间分辨率,同时相对于小波变换,小波包变换对低频信号的划分更为细致。因此本文使用小波包变换对采集到的的脑电信号进行特征提取。然后使用改进的BDPCA聚类算法对提取的特征向量进行训练,完成对不同疲劳状态等级的聚类区分。一个完整的疲劳状态等级划分机制的流程图如图1所示。

图1 疲劳状态等级划分机制的流程图

3 脑电信号的特征提取

3.1 脑电信号预处理

通过实验采集到的原始脑电信号中含有大量的诸如肌电、心电等生物电噪声和工频干扰噪声。因此在使用脑电信号进行特征提取之前需要对脑电信号进行预处理消除上述噪声。首先对原始脑电信号进行128Hz重采样,128Hz重采样不仅降低了信号所占内存的大小并且有利于后续使用小波包分解进行能量特征的提取。使用陷波滤波器去除50Hz的工频陷波。使用0.45-35Hz的带通滤波器去除低频噪声和高频干扰。使用MATLAB自带的EEGLAB工具箱进行ICA成分分析,去除较为明显的眼电噪声成分。经过上述预处理步骤后的脑电信号用于后续的特征提取。

3.2 脑电信号的特征提取

特征提取的主要目的是从预处理后的脑电信号中提取到与机体疲劳状态密切相关的信息用于后续的分析。脑电信号中主要包含δ波(0.5-4Hz)、θ波(4-7.5Hz)、α波(8-13Hz)、β波(14-30Hz)、γ波(30-45Hz)等五种不同频带范围的电波分量[9]。当疲劳状态发生时,大脑的反应能力下降,同时大脑系统的复杂度降低。EEG信号中γ波较多出现于病变机体的脑电信号中,因此并不适用于对疲劳状态的分析。随着疲劳程度的变化,δ波、θ波、α波、β波均会发生相应的变化,对疲劳状态等级的划分提供了理论支持[10]。根据脑电信号随疲劳状态程度的变化特性,本次研究采用小波包变换对脑电信号进行分解,提取不同频带范围的节律波能量值作为疲劳状态划分的特征值。将预处理后的脑电信号进行4层的小波包分解,共得到16个节点,节点位置及编号如图2所示。

图2 4层分解小波包树

其中,与各节律波有关的节点编号及所属的频带范围如表1所示。

表1 小波包节点对应频带范围

根据不同节律波所处的分解子频带的系数通过式(1)计算求取该节点的能量。

(1)

除此之外选择能反映系统复杂度的非线性特征来表征大脑系统的变化。最终,本次研究选择使用样本熵(F2)与节律波能量特征(F1)一同作为提取的特征向量进行后续疲劳状态等级的分析。

4 判别模型的选择

4.1 BDPCA聚类算法流程

针对有监督学习与无监督学习的算法模型的特点。本文研究采用BDPCA聚类算法对脑电信号的疲劳状态等级进行相应的划分。BDPCA聚类算法由密度峰值聚类算法(DPCA)和贝叶斯信息准则(BIC)融合而成。DPCA聚类算法的核心思想为类簇的中心点有着更大的局部密度值,而不同类簇的中心点之间与非类簇中心点之间有着更远的距离[12]。基于上述核心思想DPCA聚类算法的聚类步骤如下所示:

1) 选取截断距离dc。

2)按照式(2)和式(3)求取局部密度。

(3)

3)按式(4)求取聚类中心距离。

(4)

4)使用求取到的局部密度与聚类中心距离画图。根据所做图进行数据点类型的判定。普通点靠近横轴,异常点靠近纵轴。而聚类中心点同时远离横轴和纵轴。

5)聚类划分。将非中心点数据点划分至局部密度大于该点中距离最近的点所属的簇中。对每个点进行判断分析后结束算法。

DPCA算法虽然根据簇类中心图提出了簇类中心点的选择原则,但是在实际数据分析应用中,研究者大多不知道数据集的分布形式,因此很容易出现疑似簇类中心的点被选作簇类的中心点。图3为使用德国波恩大学癫痫脑电数据集提取到的特征值所画的簇类中心图。

图3 波恩数据集簇类中心图

(5)

在初始条件下,每个模型被选择的概率相同的条件下,寻找后验概率最大的模型就是寻找边缘概率P(x1,x2,…,xn|Mi)最大的模型。

(6)

其中θi为模型的参数向量,L为最大似然函数,gi(θi)为参数向量的概率密度函数。BIC参数和最大似然函数的计算进一步简化为式(7)[13]。

(7)

Pi为模型参数的个数。上述BIC参数表征的是模型与真实数据之间的损失,BIC参数绝对值越小,所选择的模型越好。聚类算法的工作流程如图4所示。

图4 BDPCA算法工作流程图

4.2 BDPCA聚类算法的改进

3.1所述的BDPCA聚类算法主要有如下不足:由于对不同的数据点计算的ρi和δi均为离散值。有可能造成不同数据点求取的局部密度ρi与聚类中心距离δi相等的情况。图5为截取的疲劳测试采集到的脑电信号所产生的簇类中心图。

图5 簇类中心图

观察根据提取到的特征向量生成的簇类中心图,可以发现局部密度相同的点有很多,因此局部密度最大的点所产生的疑似簇类中心点也很多,虽然可以通过计算BIC参数确定最佳簇类的个数,但会大大增加运算时间,并且会对后续的数据点所属类别的判定造成困难。

因此,本文使用相似度的概念对ρi和δi的值进行重新定义。根据(8)和(9)计算局部密度ρi与距离δi。

(9)

通过计算信号点之间的相似度代替原始的ρi和δi,极大地降低了不同数据点的ρi和δi出现相同的情况。但是,由于在计算相似度的时候单纯的使用两点的距离进行计算,因此当某一簇的边缘数据点与另一簇的边缘数据点相距较近时,容易出现的误判的情况。图6为经典双月数据集的划分结果。

图6 相近数据点类别误判的情况

从聚类结果图中可以看出聚类效果并不理想。图7为单通道脑电数据集提取到的二维特征分布图。从图中可以看出提取到的特征值数值大小十分接近,而且其分布状态在二维平面并不明显可分,因此直接使用相似度进行脑电数据点的聚类分析并不可行。

图7 二维脑电特征分布图

为避免上述情况,本文研究引入共同邻居参数(CNN)对相似度的计算进行优化[14]。优化后的计算公式如(10)所示

(10)

其中CNN(sisj)表示数据点si和sj的dc邻域范围内共同存在的数据点的个数。与传统相似度计算方法不同,引入该参数后,后续数据点的类型判定由距离和两点之间的局部密度共同决定。数据点将被划分至局部密度大于其的数据点中距离最近的一个,避免出现由于两类不同簇的边缘点距离过近造成的误判现象。

5 BDPCA聚类算法在疲劳等级划分中的应用

BDPCA算法已经应用在一些工程的数据处理研究中,诸如航空发动机故障数据标记等工程信号中,并取得了较好的仿真结果[15]。由于脑电信号和大多数工程信号一样具有随机性、非平稳性等特点,本文将BDPCA算法应用在脑电数据的处理分析工作中。

5.1 BDPCA算法应用于脑电信号的可行性分析

本文使用改进后的BDPCA算法在部分波恩癫痫脑电数据中进行聚类分析。通过聚类结果的准确率进行可行性分析。通过小波包变换提取脑电信号的δ波和θ波作为训练的特征向量。使用改进后的BDPCA算法对提取到的特征向量进行训练分析,生成的聚类中心图如图8所示。

图8 波恩数据集簇类中心图

根据簇类中心图确定疑似中心点的个数为2-6个,分别计算簇类中心点的个数为2-6个时的BIC参数。计算结果如表2所示。

表2 不同K值的BIC参数

根据BIC参数确定最佳聚类簇数为3类。而选取的数据为健康受试者、癫痫患者未发病状态与癫痫患者的发病状态采集的脑电信号。其实际簇类个数与BIC参数的计算结果相符。BDPCA聚类算法的分析结果如表3所示。

表3 波恩癫痫脑电聚类结果

根据聚类结果可以看出BDPCA聚类算法在对发病的癫痫患者的划分的准确率达88%。证明了BDPCA聚类算法应用在脑电信号分析中的可行性。

5.2 BDPCA算法在疲劳状态等级划分中的应用

为保证实验数据与真实的驾驶脑电数据相一致与安全性,本文使用的数据为志愿者驾驶虚拟驾驶设备时采集到的脑电信号进行分析。为更好的查看个体的差异性与消除实验的偶然性,实验选取身体健康、视力正常、近期无服药病史且有驾照的一男一女共两名志愿者同学参加。

实验选择在易于产生疲劳状态的午后进行。正式进行实验开始前,驾驶员需要进行10min的试驾来熟悉操作过程。正式实验开始后要求驾驶员以固定的速度进行驾驶,驾驶过程中前方屏幕会随机出现障碍物,要求驾驶员操控方向盘进行闪避,整个实验过程共持续150min,整个实验期间驾驶员如感觉身体不适可随时停止,停止后实验随之结束。如没有出现特殊要求,驾驶员将没有休息的持续驾驶150min,驾驶过程中,便携式EMOTIV采集设备将一直以256Hz的频率采集驾驶员的脑电信号。实验过程中还配有两名工作人员,其中一名工作人员在侧面每5min记录一次驾驶员的眨眼次数,另一名工作人员记录下障碍物出现的时间以及避障结果。上述两类参数将作为后期划分疲劳状态等级的判定标准之一。

采集到的脑电信号经过预处理后,将信号划分为20s的数据段,提取数据段中的10s作为特征提取的信号。通过小波包分解提取信号的能量特征与样本熵作为算法的输入向量。分别对提取的两名驾驶员的脑电信号特征向量进行BDPCA聚类分析。

驾驶员A生成的簇类中心图如图9所示。

图9 驾驶员A簇类中心图

根据簇类中心图确定疑似中心点的个数为2-6个,分别计算簇类中心点的个数为2-6时的BIC参数。计算结果如表4所示。

表4 不同K值的BIC参数

根据BIC参数BDPCA算法将脑电信号分为5种不同的状态。不同状态的特征值变化如图10所示。

图10 驾驶员A特征值变化图

从图中可以看出能量特征值是逐渐增加的,样本熵是逐渐减小的这与疲劳程度加深时特征值理论变化趋势相一致。从图中可以观察到的能量变化更为明显,样本熵虽然有减少的趋势,但并不如能量特征值明显。

驾驶员B生成的簇类中心图如图11所示。

图11 驾驶员B簇类中心图

根据簇类中心图确定驾驶员B疑似中心点的个数也为2-6个,计算簇类中心点的个数为2-6时的BIC参数。计算结果如表5所示。

表5 不同K值的BIC参数

根据BIC参数BDPCA算法将脑电信号分为5种不同的状态。不同状态的特征值变化如图12所示。

图12 驾驶员B特征值变化图

根据驾驶员B 的特征值变化图,可以发现其变化趋势与驾驶员A的变化趋势相同,符合理论变化趋势。

在BDPCA聚类算法对数据进行分析训练后,使用实验过程中记录的避障结果、眨眼次数与特征值数值一同进行疲劳状态等级的划分。在通过对每一状态对应的时间段记录的眨眼次数与特征值数值的分析过后,发现驾驶员A与B的状态5时间分布较为普遍,并不集中在某一时间段,进一步观察行为信号发现,在提取该状态的10s时间段信号内,均发生过3次及以上的避障操作,因此将该状态作为多次连续动作造成的特殊状态,并不纳入疲劳状态等级中。对其余四种状态进行分析发现驾驶员B的状态1避障率要高于驾驶员A状态1的避障率,眨眼次数也远小于驾驶员A的状态1次数。继续对比发现驾驶员A的状态1的各种行为信息与驾驶员B的状态2相近,而能量特征的数值也有这种对应关系,证明驾驶员A在前10min预驾驶时已出现了疲劳状态。最终通过避障率、眨眼次数确定了各状态所表征的疲劳程度,确定驾驶员A和B的不同疲劳状态分布如图13所示。

图13 驾驶员疲劳状态等级图

表6 基于能量特征F1疲劳等级划分条件

6 结论

本文针对脑疲劳等级划分缺乏客观性判断的问题,提出了一种基于BDPCA的改进型聚类算法进行脑疲劳状态的等级划分。实验中采集不同驾驶员的脑电信号进行验证研究,并通过避障率与眨眼次数等行为信号进一步为疲劳等级划分提供依据。实验结果表明两名驾驶员相同疲劳状态等级的能量特征值的平均值相近,当驾驶员处在清醒(F1<0.9)与轻度疲劳状态(0.9

猜你喜欢

波包中心点电信号
基于联合聚类分析的单通道腹部心电信号的胎心率提取
基于支持向量机和小波包变换的EOG信号睡眠分期
一种基于标准差的K-medoids聚类算法
Scratch 3.9更新了什么?
原子双阱势中电子波包的非绝热操控
如何设置造型中心点?
基于Code Composer Studio3.3完成对心电信号的去噪
基于随机森林的航天器电信号多分类识别方法
寻找视觉中心点
基于小波包变换的乐音时—频综合分析程序的开发