文/王恁 郭慧利 郭浩
据统计,40%的交通事故是由疲劳驾驶引起的。Klauer等人的一项研究发现疲劳驾驶造成的交通事故比正常驾驶高4至6倍[1]。因此,疲劳驾驶的检测已成为关乎人民生命财产安全的必要手段。疲劳驾驶的客观检测方法是通过测量诸如脑电、心电,肌电和皮肤电的生理信号以及驾驶员的眼球运动,头部位移,驾驶操纵行为和车辆轨迹来测量驾驶员的疲劳状态[2,3]。其中,脑电是检测疲劳的金标准,被认为是最准确和客观的分析方法之一。
目前,对脑电信号特征提取的研究大多基于运动想象的脑-机接口(brain-computer interface,BCI)实验。Budi等在单调驾驶过程中测试了52人的脑波,通过观察脑电波中δ、α、θ、β的四个节律,找到了四种算法(θ+α)/β,α/β,(θ+α)/(α+β),θ/β可用于检测疲劳的发生[4]。徐春婕使用α波和β波的平均功率谱密度比值作为脑电疲劳指标,准确率为96.3%[5]。付强验证了β和(α+θ)/β 两项指标对驾驶疲劳反应最敏感[6]。吴绍斌等使用脑电功率谱的比值R =(α+θ)/β作为检测疲劳驾驶的指标[7]。李立等通过对情绪脑电图的比较分析,得出样本熵结果优于近似熵结果[8]。赵晓华等通过ROC曲线分析得到了疲劳驾驶脑电信号的样本熵阈值,准确率为95%[9]。经前人研究发现,(α+θ)/β指标评估对疲劳反应变化最为敏感,因此本文采用这一方法作为检测疲劳驾驶的指标。
本文采用基于小波包分解和样本熵的脑电信号进行驾驶行为中的疲劳检测,并构建预警平台,以实现网络环境下的疲劳驾驶行为的实时检测、预警、管理以及应急。根据脑电信号的随机性、非平稳性、非线性、易受外界干扰的特点,使用小波包分解用于提取脑电信号并组合不同频段的脑电信号确定疲劳指数,以实现疲劳状态的检测与预测,并利用样本熵区分疲劳状态和非疲劳状态,表明样本熵也是判断疲劳驾驶的有效指标,为进一步实时检测疲劳驾驶奠定了基础。通过IPv6网络环境搭建疲劳驾驶预警平台,管理驾驶员信息,实时检测并监控驾驶员驾驶状态,对历史驾驶状态分析达到对疲劳状态的预警。
32名来自太原理工大学的本科及研究生(20男12女)作为实验的被试,年龄在22~25岁之间,右利手,身体状况良好,自愿参加实验。实验前要求被试48小时内保证充足睡眠,禁止使用酒精、咖啡和药物。实验时间确定在15:00~17:00,在模拟驾驶器内进行,要求被试连续驾驶120分钟,场景选择为景观单一的高速公路,长时间直线行驶,容易产生疲劳。
主要实验仪器有德国 Brain Products公司64导事件相关脑电位分析系统,放大器带宽为1000Hz/通道,采样频率为 5000/通道/秒;脑电信号分析软件BrainVision Analyzer;漳州惠智科技有限公司的汽车驾驶模拟器(智能学车型,产品型号:CLT-330);电极配置采用国际标准导联10-20系统(10-20 electrode system)。原始脑电波需要除去抖动较大的错误信息段,然后去除眼电伪迹。
小波变换不均匀划分频带,具有高频带宽和窄频带的特点,可能导致某些有用信号的检测精度降低。小波包分解是基于小波变换在整个频率范围内进行等频带宽正交分解,具有更好的时频特性[10,11]。该方法不仅分解了信号的低频近似部分,而且分解了信号的高频细节部分,可以更大程度地保留原始信号的特征。分解后的信号更真实,更精细地反映了信号的本质。它在继承小波变换本质的同时,也弥补了小波变换的不足,提高脑电信号分析的准确性[12]。
样本熵是Richman基于近似熵提出的改进的时间序列规则性评估算法,它是一种序列复杂度的测量方法,是脑电等非线性动态时间序列研究的有力工具。与时域特征相比,频域特征相对稳定,并且函数计算时间消耗小,因此许多基于脑电的应用基于频域特性[13]。李立等通过两组公共数据集讨论近似熵和样本熵哪种更适合作为脑电特征,结果表明样本熵为特征的平均准确率均高于以近似熵为特征的平均准确率,从时间复杂度对比结果可以看出,样本熵算法的计算效率明显高于近似熵算法的计算效率,实验结果与理论也是一致的。
具体算法如下:
步骤 1: 将序列x(1),x(2),…,x(N)按顺序组成m 维矢量,即
式中:1≤k≤m-1;1≤i,j≤N-m+1,i≠j
步骤2: 定义矢量Xm (i)与矢量Xm (j)之间的距离为d[X_m (i),Xm (j)],即
式中:
步骤3 :给定相似容限r(r>0),对于每个1≤i≤N-m,统计出 的数目与矢量总数N-m-1的比值,记作(r):
式中:1≤j≤N-m,i≠j。求其对所有的平均值
对于m+1点矢量,同样有
式中1≤j≤N-m,i≠j:。求其对所有的平均值
步骤4 :此序列的样本熵为
但是在实际计算中N不可能为∞,当N 取有限值时,估计
小波包分解可以反映脑电信号的时频特性,但不能反映其非线性特征。样本熵是一种非线性分析方法,通过测量脑电信号的复杂度可以反映其非线性特征,但不能反映其时频特征。针对这两种方法的不足,本文将小波包分解与样本熵相结合,提取脑电信号的特征,提高脑电信号的正确识别率。
在本文中,选择与疲劳程度密切相关的前额电极FP1进行说明。将实验采集到的120分钟的脑电数据去掉前后10分钟的实验适应和实验结束时间,将剩余的100分钟脑电数据分成10个片段,每个片段为10分钟,记为T1~T10。
根据能量时域计算公式:
可得出θ,α,β三种波的能量值,及变化曲线如图1和表1。
图1 不同时间段脑电波能量值变化曲线
由图表分析可知,随着时间的增加,β波的能量逐渐减小,θ波和α波的能量逐渐增加。在时间段T1至T3期间,θ波和α波的能量增长较慢;在时间段T5至T7期间,α波能量增长速率变快,θ波能量则是从T6开始变快;时间段T8至T10期间,θ波和α波能量保持在一定状态。也就是说,当β波占主导地位时,被试的意识是清醒的;而当θ波和α波占主导地位时,人的意识模糊甚至出现睡眠。由于疲劳是多种因素共同作用的结果,单个节律能量的变化趋势不能客观衡量疲劳程度变化。因此,我们综合分析多个节律的能量变化,得到疲劳指数(α+θ)/β 随时间变化的曲线[4]。该比值可进一步设计为实时疲劳驾驶检测的预警数值。
表1 不同时间段脑电波能量值变化
图2 疲劳指数(α+θ)/β曲线图
由图2可知,在时间段T5~T6期间,疲劳指数开始呈现明显上升趋势,即开始出现疲劳驾驶情况。T6以后保持上升趋势,疲劳程度越来越深。
将小波包分解后的FP1电极脑电波重构后,得到一组脑电信号。本文中样本熵使用表示,其中选择参数m=2,相似容限r=0.2SD,样本容量N=1000。每10秒计算一次样本熵,计算出32名被试的样本熵的时间序列,尽管32名被试的样本熵值大小各不相同,但总体的的变化趋势基本一致。得到平均的样本熵序列,如图3所示,FP1通道的脑电信号的样本熵时间序列,从T5开始和之前有一定的区分度。由此可见,样本熵可以作为判断疲劳驾驶的依据。不同驾驶状态的样本熵值具有一定的差异,非疲劳驾驶状态的样本熵值集中在0.6~0.9之间,而疲劳驾驶状态的样本熵集中在0.3~0.6之间,即非疲劳驾驶状态的样本熵高于疲劳驾驶状态的样本熵。
图3 样本熵散点图
传统的疲劳驾驶检测只是判断是否处于疲劳状态并被动给出提醒信号,这种检测判别精细化程度较低、漏检率比较高,无法实现实时监测与预警。在此背景下,我们提出建立一种疲劳驾驶预测模型,通过采集和收集驾驶员以及车辆的各种数据,例如:脑电数据,CCD摄像头采集的面部特征信息,简易测量设备获得的心率和脉搏数据,驾驶员行车路线以及行车时间等。对历史数据进行管理分析,预测在相同状态下驾驶员是否处于疲劳驾驶状态。同时,我们利用IPv6 网络环境搭建监控及预警平台,对驾驶员进行联网监控。利用大数据分析技术充分挖掘驾驶疲劳与驾驶员之间的关系,实现对驾驶员个体差异的差异化管理,有效提高驾驶疲劳检测的准确性和实时性。同时,还可以提前对疲劳状态进行预测,避免驾驶疲劳检测的被动性。
表2 疲劳程度与预警信号
结合IPv6与物联网技术,基于脑电的实时疲劳驾驶检测与预警成为可能。利用IPv6无限IP地址,完全移动性,始终在线,更小的路由表,更快,更好的质量等特点,以及IPv6网络数据传输经过身份验证和加密,使预警平台更迅捷更安全。
预警平台主要实现疲劳状态检测,驾驶状态监控,疲劳状态预警等主要功能(图4)。
图4 疲劳驾驶检测与预警平台流程
本文的工作主要是对脑电信号的分析,采用疲劳指数与样本熵结合,一旦平台预测到驾驶员疲劳,预警平台会分三个级别给驾驶员发出预警信号,如表2所示。
本文通过研究驾驶员模拟驾驶情况下的脑电波的时频变化特征,利用小波包分解和样本熵进行特征提取。研究发现,随着驾驶时间的增加,β波的能量逐渐减小,θ波和α波的能量逐渐增加。在连续驾驶50至60分钟时,β波能量开始迅速下降,θ波和α波的能量迅速上升,即开始出现疲劳驾驶状态;连续驾驶70至80分钟时,θ波和α波的能量超过β波的能量,可以认为已经处于疲劳驾驶状态。此外,通过计算三种波的能量比值(θ+α)/β,可以得到一个随时间变化的疲劳指数,指数值越大,疲劳程度越深。可以为将来实时疲劳驾驶检测提供有效的参考指标。最后,样本熵可以作为疲劳驾驶检测的指标,随着驾驶时间的增加,样本熵值逐渐减小。从T5时间段即驾驶50分钟开始,样本熵有下降的趋势,并在80~100分钟稳定在0.3~0.6左右。可见非疲劳驾驶状态的样本熵值集中在0.6~0.9之间,而疲劳驾驶状态的样本熵集中在0.3~0.6之间。
本文工作为构建驾驶员状态预测模型,为之后搭建预警平台,以实现疲劳驾驶的检测、监控及预警。