基于无线脑电信号分析的实时疲劳驾驶检测与预警研究

2020-11-19 02:51周子敬赵云芃陈俊杰
太原理工大学学报 2020年6期
关键词:电信号比值准确率

王 恁,周子敬,赵云芃,郭 浩,陈俊杰

(太原理工大学 a.信息与计算机学院,b.软件学院,c.艺术学院,山西 晋中 030600)

随着汽车数量的不断增多,越来越多的交通事故已成为人们日常生活中的一个值得重视的安全问题,并已经引起了社会各界和政府的强烈关注。近期有关疲劳驾驶的研究表明,驾驶员因疲劳驾驶状态下引起交通事故的概率是清醒驾驶状态下的4~6倍[1]。当驾驶员处于疲劳驾驶状态时,个人专注于驾驶的能力下降,反应时间的增加,错误操作的增加,可能引发严重交通事故[2]。因此,如能够及时有效地检测出驾驶员的驾驶状态并使用某种方式预警,对那些因疲劳驾驶危及生命的机动车驾驶员是一项刻不容缓的工作,对预防交通事故亦是一个理论价值与现实意义并存的研究课题。

目前,多数研究利用生理信号来评价疲劳驾驶状态具有客观准确、采集方便等优点,其中脑电信号作为检测疲劳的“金标准”,被认为是最准确、客观的分析方法之一[3]。各类精神状态可以用不同频率的脑电信号来区分,如表1所示,低频波和高频波对应的精神状态差别比较大。

表1 脑电信号频率范围及精神状态Table 1 EEG frequency range and mental state

JAP et al[4]找到了4种算法(θ+α)/β,α/β,(θ+α)/(α+β),θ/β可用于检测疲劳的发生。王海玉等[5]使用各脑电波均幅值和相应比值共8项合成指标集成为脑电特征参数,平均正确率达到89.47%.WANG et al[6]使用(θ+α)/β和θ/β两个参数的功率谱密度评价疲劳程度。刘天娇等[7]使用脑电功率谱的比值R=(θ+α)/β作为检测疲劳驾驶的指标。裴玉龙等[8]验证了采用(θ+α)/β作为疲劳驾驶表征指标的有效性。但目前基于脑电信号的疲劳驾驶检测这一领域还存在很多缺陷与问题,比如无法实现脑电波的实时传输,疲劳状态的实时检测与预警。

本文为解决基于脑电信号的疲劳检测过程中存在的实时性、预测性以及驾驶员个体疲劳多样性的问题,将使用美国NeuroSky公司脑电传感技术的TGAM脑电采集模块,搭配蓝牙传输模块实现实时无线传输功能。综合各个脑电信号对人精神状态的影响,使用FP1电极专注度与放松度的比值,(α+θ)/β的功率谱密度并结合眨眼频率3项特征作为检测疲劳指数的参数,得出3种特征值的疲劳指数阈值,并使用D-S证据理论合成算法得出一个综合疲劳指数m(θ).整体设计如图1所示。

图1 疲劳检测整体设计Fig.1 Overall design of fatigue detection

1 实验设计

1.1 实验方案

30名来自太原理工大学的本科生及研究生(男22名,女8名)作为本次模拟实验的被试,年龄在22~28岁之间,均为右利手,身体状况良好,自愿参加实验。被试在实验前48 h内保证充足睡眠,禁止食用酒水、咖啡等以及对意识有影响的药物,并填写“实验情况表”,了解本次实验流程以及科学可行性。实验时间确定在15:00-16:30间,在模拟驾驶器内进行,要求被试佩戴装有TGAM模块和蓝牙模块的脑电耳机,前方设置高清摄像头记录整个实验过程,连续驾驶90 min,另有一名记录人员负责记录被试的面部特征变化,如打哈欠、点头、长时间闭眼等。场景选择为景观单一的高速公路,长时间直线行驶搭配少量弯道,极易产生疲劳[9]。

1.2 实验设备及数据采集

主要实验设备有:美国NeuroSky公司TGAM脑电信号采集模块,采样频率512 Hz,50~60 Hz的AC交流噪音滤波器,能够对采集的信号进行相应的滤波、放大、A/D转换并输出。具有通过ThinkGear传感技术,通过放置在前额的一个传感器以及放置在耳部的参考电极触点进行脑电波信号测量,并通过集成芯片对这些信号进行处理。“eSense”是NeuroSky用于以数字化指数方式对人的当前精神状态进行度量的专利算法。可采集基于“eSense”专利下的专注度指数和放松度指数,眨眼次数,原始脑电信号raw(16位)以及δ波、θ波、αLow波、αHigh波、βLow波、βHigh波的功率谱。各个脑电信号的频率范围以及对应的精神状态如表1所示。模块配套开发工具包MindSet Development Tools,连接工具ThinkGear Connector,基于以上两种工具使用JAVA语言开发出TGAM模块通过蓝牙模块连接到数据的工具(LinkToMindWave,基于JAVA语言开发,能够实时分析并存储数据到数据库中)。与传统的脑电信号采集器相比,具有功耗低、操作方便、便于携带等优点。还有漳州惠智科技有限公司的汽车驾驶模拟器(智能学车型,产品型号:CLT-330).

2 专注度与放松度分析

首先,“eSense”专利算法综合δ波、θ波、α波、β波4种脑电信号,通过加权算法处理得到专注度(Attention)和放松度(Meditation)两个指标,均为整数数值。周金治等[10]为了提高小样本脑电信号的分类性能和准确率,采用一种基于相关系数分析的特征选择方法,实验结果表明,相关系数分析方法能提高分类识别准确率,并在参数选择上优于传统分类方法。

专注度和放松度两者在同一时间段内存在着相关性,所以引用相关系数分析方法,公式如下:

(1)

将实验采集到的90 min的脑电数据去掉前后5 min的实验适应和实验结束时间,将剩余的80 min脑电数据分成480个片段,每个片段为10 s,记为t1~t480.

“eSense”专利算法处理过后的专注度和放松度数值都在0~100之间(0是一个特殊值,表示由于过度的噪声而造成的),默认情况下一秒钟输出一次有效数值,通过对模拟实验中的数据分析,在经过简单的预处理(如剔除波动较大的数值和连续采集为0的数值等)之后得到如图2所示的变化曲线,专注度与放松度的区别还是比较明显的。图中,在t120~t150之间,专注度数值明显高于放松度,说明在25 min左右,被试集中注意力驾驶,无疲劳驾驶情况;在t330~t390之间专注度数值明显小于放松度,说明在55 min左右,被试注意力开始放松,出现疲劳驾驶状态,观察人员也发现被试出现多余的动作。那么根据专注度和放松度随时间的不同变化情况,就可以利用两参数的比值变化来评价疲劳程度。

图2 某被试专注度与放松度变化曲线Fig.2 Curve of concentration relaxation of a subject

本文将专注度与放松度的比值记为aA/M,那么就可以使用比值的大小来评价被试的疲劳程度。如图3所示,55 min左右之前,aA/M值波动虽然很大,但是该比值还是保持在一个相对平稳的区间内;之后,aA/M值下降到0.8以下,同时记录人员也记录到被试开始出现打哈欠、点头等多余动作,即开始出现疲劳驾驶情况;aA/M值最低为0.56,被试已处于疲劳驾驶状态,经常性出现多余动作来保持清醒。

图3 专注度与放松度比值的变化曲线Fig.3 Ratio of attention and meditation change curve

3 功率谱密度分析

本文采用功率谱密度分析被试整个模拟驾驶实验中的功率谱密度变化,并采用3种波的功率谱密度比值作为评价疲劳的指标。

由于采集到的脑电信号θ波(3.5~6.75 Hz),αLow波(7.5~9.25 Hz),αHigh波(10~11.75 Hz),βLow波(13~16.75 Hz),βHigh波(18~29.75 Hz)是以小字节序格式输出为8个3字节无符号整数的序列,经过TGAM模块的预处理,可直接输出到线性自回归(AR)模型中,再计算出相应的功率谱密度,就可得到(α+θ)/β的变化曲线。

本文使用基于Burg法的AR模型估计法计算脑电信号的功率谱密度(PSD).该方法可由下式表示:

(2)

式中:θ(k)是模型系数,模型阶数p选择为10阶,w(n)为方差的白噪声序列,根据AR参数[11]的估计,可以计算序列x(n)的功率谱密度:

(3)

根据FP1电极θ波、αLow波、αHigh波、βLow波、βHigh波的具体数值,通过式(3)的计算过程处理得到某被试的功率谱密度曲线,如图4所示,α波,β波和θ波3种波形的功率谱变化趋势趋于一致,高频波θ波的功率谱密度要高于另两个低频波的功率谱密度,其中各个时间段的α=(αLow+αHigh)/2,β=(βLow+βHigh)/2.根据3种波的功率谱密度不同的变化情况,进而可以计算出(θ+α)/β的功率谱密度比值cPSD随时间的变化曲线,如图5所示。由图可以看出随着时间的增加,cPSD的比值也不断增加,从1.95左右增长到4.5左右。由此可以发现,在连续驾驶45 min左右,疲劳指数即cPSD开始迅速增加;在55~75 min左右,疲劳指数即cPSD达到最大值区间(3.32~4.64).这个疲劳时间段也符合前文通过专注度与放松度得出的aA/M指数判断疲劳的时间段。因而,基于功率谱密度比值的疲劳指数cPSD也可以作为评价疲劳的一种指标。

图4 某被试功率谱密度曲线Fig.4 Power spectrum density curve of a subject

图5 (α+θ)/β的功率谱密度比值变化曲线Fig.5 (α+θ)/β power spectral density ratio change curve

4 眨眼频率分析

眨眼频率可以反映一个人的疲劳程度,是面部特征中最容易检测到的特征之一,这种方法被普遍应用于基于人脸识别的疲劳检测。“eSense”专利算法中有基于脑电信号的眨眼检测算法,实时处理眨眼产生的干扰眼电,使脑电信号能够连续稳定。被试的每次眨眼情况会在系统中记录眨眼信号,并反应在数据库当中,即:眨眼频率指数为1,否则为0.眨眼次数的增加被认为是被试在疲劳状态下为了保持清醒所出现的一种状态。通过统计TGAM模块采集到每分钟的眨眼次数,图6为眨眼频率变化趋势大致相同(在相同时点段内存在眨眼次数相同情况)的4名被试。综合所有被试的眨眼次数计算出模拟驾驶实验中的平均眨眼次数,结果如图7所示。

图6 不同被试眨眼频率变化趋势Fig.6 Blink frequency curve for different subjects

图7 眨眼次数变化曲线Fig.7 Blink frequency curve

从眨眼频率来看,随着驾驶时间的增加,眨眼次数也相应增加,这和观察人员所观察到的情况保持一致。前50 min左右的眨眼次数总体变化呈相对平稳上升趋势,这表示在疲劳驾驶出现前,眨眼频率相对较低;在模拟驾驶实验50 min以后,被试每分钟眨眼次数超过22次左右,便认定为开始出现疲劳驾驶情况。从总体看来,眨眼频率随着疲劳驾驶程度的加深而增大。

综合以上3个评价疲劳的指标,可以总结为:被试各种参数中,当aA/M指数≥1,cPSD指数≤3.86且bBlink指数≤0.28时,被试处于正常驾驶状态;当aA/M指数处于0.8~1区间内,cPSD指数处于3.32~4.64区间内且bBlink指数处于0.28~0.42区间内时,被试开始出现疲劳驾驶迹象;当aA/M指数≤0.8,cPSD指数≥4.23且bBlink指数≥0.42时,被试已处于疲劳驾驶状态,应及时采取措施,结果如表2所示。

表2 疲劳指数对应疲劳程度的被试状态描述Table 2 Description of the state of subjects with fatigue index corresponding to fatigue degree

5 k-最近邻算法

为了解决疲劳驾驶检测的实时性和预测性问题,本文涉及到的疲劳状态的检测更多是针对单个被试的多次模拟驾驶实验,总计获得实验数据242组,样本空间不大。在数据处理过程中发现,虽然每个被试的疲劳指数变化趋势基本相同,但数值各不相同。因此分类算法的选择需要在保证准确率的同时会优先选择需要时间、空间较小的算法。通过对比支持向量机(support vector machine,SVM)、人工神经网络(artificial neural network,ANN )和k-最近邻(k-nearest neighbor,KNN)3种算法发现,在相同设备条件下(CPU:i7-6700 2.60 GHz),以及在保证准确率相当的情况下,对比实验中KNN所花费的时间要少于其他两种算法,结果如图8所示。

图8 分类算法对比Fig.8 Classification algorithm comparison

k-最近邻(k-nearest neighbor,KNN)是一个理论上比较成熟的方法,它通过测量不同特征值之间的距离进行分类。其基本思路是:如果一个样本在特征空间中的k个最近邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,所选择的邻居都是已经正确分类的对象[12]。该算法时间复杂度低,准确度高[13]。距离计算方法使用欧氏距离:

(4)

根据对样本数据的处理,在k值的选取上参考了相关研究的结论。由于实时的疲劳检测存在时间点选取的问题,每个片段为10 s,则需要选择的时间点应该为10的倍数。此外,算法的结果很大程度取决于唯一参数k的选择,k值一般不大于20,k值较小则算法近似误差较小、复杂度较高,同时结果对近邻点的依赖性较大,容易发生过拟合问题;k值较大则近似误差较大,同时较远点也会对结果产生影响,容易发生欠拟合问题。因此,在k值和窗口大小的选择上,优先考虑了在整数窗口大小上保证准确率最高。综合考虑后,选择k值为5,7,9,11,13,窗口大小为10~80,结果如下图9所示。

图9 KNN算法准确率随窗口大小变化曲线Fig.9 Curve of accuracy of KNN algorithms with the change of window size

最后综合确定k值大小设定为5,窗口大小设置为60,构建训练样本,然后对实验数据分类统计,结果如表3所示。

表3 KNN分类结果Table 3 KNN classification results

6 基于改进的D-S证据理论合成算法

D-S证据理论起源于20世纪60年代的哈佛大学数学家DEMPSTER A P,后由其学生 SHAFER G对算法做了进一步研究,加入了信任函数的概念,形成了一套基于“证据”和“组合”的数学方法来处理不确定性的推理问题[14]。在先验概率未知的情况下,该方法使用简单的证据合成准则,将多个信息进行合成,得出较好的综合结果,但随着信息的增加该算法的计算复杂度成指数增长[15]。因此,本文采用一种基于加权和矩阵运算的改进的D-S证据理论合成算法,与传统的基于D-S证据理论的多传感器数据融合方法相比,该方法不但能提高证据合成的可靠性和准确性,而且具有较小的计算量[14-15]。

基于加权和矩阵运算改进的D-S证据理论合成算法的具体算法如下[14-16]:

1) 定义集合R={A1,A2,…,An},Z=2R为R的幂集,对于任意一个属于的Z子集A,令它对应数m,m(A)∈[0,1],且m满足:

(5)

则称m为2R上定义基本概率赋值函数BPA(basic probability assignment function),称为A的基本可信数,反映了支持命题A发生的程度。将m(A)>0的命题定义为证据的焦元或焦点元素。

2) 计算各证据的平均值:

(6)

然后,计算各证据到平均证据的距离:

(7)

最后,计算各证据的可信度:

(8)

Mn=c1m1+c2m2+…+cnmn.

(9)

3) 构建基于基本概率分配的置信度矩阵M(n×m)维矩阵:

(10)

其中:

mi1+…+nim=1(i=1,2,…,n) .

(11)

将矩阵M中的某一行i进行转置,然后与矩阵的另一行j相乘,即:

(12)

展开得到一个新的m×m维矩阵:

(13)

从式(13)可以看出,根据公式的分子部分,主对角线的元素即为传感器i与传感器j对目标基本概率分布的乘积,而矩阵中的其他所有元素的和构成证据的不确定因子,即:

(14)

令zj=ajj,则可得对应焦元的融合指标,即:

(15)

综合KNN分类后3种特征对不同阶段疲劳判定的准确率,构造出D-S证据理论中的基本概率赋值函数,利用改进的D-S证据理论合成规则对3种特征进行合成。这里设θ为aA/M,cPSD,bBlink的集合,按照改进的D-S证据理论算法进行合成,得到综合疲劳指数m(θ),结果如表4所示。

表4 D-S合成结果Table 4 D-S synthesis results

结果显示,通过改进D-S证据理论合成规则后,对不同疲劳程度的判断准确率都略高于单个特征判断疲劳的准确率。由此可见,通过该合成算法可以达到提高准确率的效果,本文所使用的不同疲劳程度的准确率对比单个特征最高判断准确率分别提升约6%,6.3%,1.4%.

本文还对比了改进D-S与传统D-S证据理论合成算法,结果如表5所示。通过验证相同数据量的合成结果,改进D-S算法在判断不同疲劳程度的准确率都有所提升(约提升5.6%,4.8%,7.3%),并且运行速率也有小幅度提升。由此可知,在输入数据量相同情况下,本文所使用的判断驾驶员疲劳驾驶的检测方法输入多种信号特征融合后的结果要略优于单特征检测和传统D-S证据理论方法。

表5 传统D-S与改进D-S比较结果Table 5 Comparison of traditional D-S and improved D-S

7 结论

通过设计模拟驾驶实验,实时采集基于TGAM模块“eSense”专利下的专注度(Attention)指数和放松度(Meditation)指数、眨眼次数以及原始脑电信号θ波、αLow波、αHigh波、βLow波、βHigh波并使用数据库实时存储原始数据和分析结果。

首先,使用被试专注度和放松度作为疲劳检测的特征,随着驾驶时间的增加,专注度逐渐下降,放松度逐渐上升,使用专注度和放松度的比值可以明显看出疲劳程度的变化,得到疲劳指数aA/M的阈值为:0.8~1.其次,通过计算θ波、α波和β波的功率谱密度,并得到3种波功率谱密度以及疲劳指数(α+θ)/β的功率谱密度比值变化曲线,θ波、α波的功率谱密度随着驾驶时间的增加而增加,而β波的功率谱密度则减小,得到疲劳指数cPSD的阈值为3.32~4.64. 然后,通过统计单位时间内的眨眼次数,得到眨眼次数变化曲线。随着驾驶时间的增加,眨眼次数也相应增加,得到疲劳指数bBlink的阈值为0.28~0.42.接着,针对3个疲劳指数的3种疲劳程度,使用KNN算法进行分类。最后,通过改进的D-S证据理论合成算法得到综合疲劳判断指数的准确率,对不同疲劳程度的判断都略高于单个疲劳指数的准确率。并与传统D-S合成算法进行比较,准确率也略有提升。

本文工作是基于无线脑电信号分析的实时疲劳检测与预警的初步探索,采用模拟驾驶实验得到的实验数据量不够全面,数据模式也比较单一。实验结果得到的疲劳指数阈值也仅仅针对本组被试起作用。今后,为了提高准确率,后续实验研究会继续增加实验样本,以年龄和性别等对被试分类,这样可以使疲劳阈值更加精确,更能体现出疲劳检测的个性化设置;并增加更多针对性测试以及真实驾驶测试,使得出的疲劳指数阈值更全面;同时,为了降低预警延时,也将进一步优化算法处理精度和速度,也将对疲劳指数阈值进一步优化;还会考虑综合其他疲劳指数,如眼动信号和肌电信号等,采用基于多源信息融合的方法来优化疲劳检测准确率;并对疲劳预测过程中的各类问题进行更深入的研究。

猜你喜欢
电信号比值准确率
基于联合聚类分析的单通道腹部心电信号的胎心率提取
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
基于Code Composer Studio3.3完成对心电信号的去噪
也谈极值点偏移问题破解策略
基于随机森林的航天器电信号多分类识别方法
物理中的比值定义法
平均功率与瞬时功率的比较与应用