管凯捷 姚 康 任谊文 张 熙 付威威*
1(中国科学技术大学 安徽 合肥 230026) 2(中国科学院苏州生物医学工程技术研究所 江苏 苏州 215163) 3(中国人民解放军总医院第二医学中心神经内科 北京 100000)
疲劳是由于过度的体力或脑力劳动引起的工作能力与效率能力下降的一种生理现象,其不仅会造成人们的作业能力下降,还可能会诱发事故[1-2]。驾驶疲劳现象在我国也是屡见不鲜,根据有效数据统计[3],2004年至2014年期间,在我国高速公路上发生的交通事故中,其中因疲劳驾驶导致的交通事故约占10%。同时有相关研究表明[4],当驾驶员因长时间驾驶产生疲劳时比清醒不疲劳时更加容易引发交通事故,因为驾驶员在疲劳之后再遇到外界突发情况时,自身因疲劳产生的生理反应无法及时采取正确的措施去应对这种情况,所以更加容易引发交通事故。因此如何快速有效、实用且准确地检测出疲劳成为了值得研究的课题。
目前,国内外针对脑疲劳检测的主要手段有主观检测和客观检测两种[5],主观检测的方法容易被受试者主观情绪等因素影响,很难做到客观定量化的评判,从而导致准确性与实时性无法得到很好的保障;客观检测的主要研究方法有:(1)基于生理特征信号的检测[6],如分析肌电、脑电、眼电等生理信号的变化;(2)基于行为特征的检测[7],如分析头部动作、嘴部动作、眨眼等行为特征的变化。
基于生理特征信号的检测方式具有较高的准确率[8],但是采集生理信号的设备都相对复杂,实用性不强,因此针对这一方面的研究主要在实验室开展。Charbonnier等[9]通过脑电实验得出了脑电信号的变化与疲劳程度变化的关系,但是相关算法比较庞杂,导致检测速度慢,脑电信号检测设备需要侵入式佩戴,且对受试者限制较多,不适宜推广使用。Bulling等[10]利用小波变换的方法提取出眼电特征,从而识别眼部运动情况来判定疲劳程度,但该方法容易受到情绪等因素影响,导致误判疲劳程度。Ma等[11]从眼电信号中提取慢速眼电特征,并检测了受试者在单一任务中的警觉度变化,该方法虽然减少了很多噪声,准确率得到了提高,但是只能局限单一任务的检测。通过从眼电信号中提取眼睛和眼睑运动的特定成分,Morris等[12]发现眨眼频率是预测飞行员疲劳程度变化的最佳指标。
基于行为特征的检测方式,近年来也被大量研究,如基于头部动作的头部姿态的估计与识别在疲劳监测、自动驾驶、人脸监测等领域应用广泛[13]。Breitenstein等[14]提出一种头部姿态角估算算法,提取采集到面部图像的关键点与正常状态的面部图像比对,估算出欧拉角的大小,但是该方法需要受试者一直面向图像采集装置,否则会导致无法捕捉面部图像特征,从而无法判断。Murphy-Chutorian等[15]基于单目摄像机,能全天候地捕捉驾驶员的面部图像,并比对建立的正常面部模型估算驾驶员头部姿态角,从而判断驾驶员的疲劳程度,但是这种设备不便携带且检测准确率不高。Ebisawa[16]采用立体相机捕捉人脸图像,定位两个瞳孔和鼻孔的位置,并以其两两之间的距离作为特征模型,从而得出实时的头部姿态状态,进而判断人的状态,但是该方法难以去除噪声的影响,对最后的状态判断影响较大。李勇达等[17]采用AdaBoost算法检测人脸区域,然后采用Camshift算法对人脸进行跟踪,计算头部倾斜角及旋转角速度判断疲劳状态,但是该方法对于打呵欠、低头、闭眼等情况无法做出反应。
本文提出一种结合生理特征和行为特征信号并引入特征融合提高疲劳检测的方法,以便携式眼镜为载体,采集头动与眼电信号,原始信号通过蓝牙同步上传到手机终端。基于融合卡尔曼滤波算法处理头动信号得到点头频率特征,基于Perclos算法P80原理与分段平均功率比值法处理眼电信号提取眨眼频率与低高频功率比值特征。采用PCA进行特征融合,得到疲劳程度值,从而判定疲劳程度。疲劳检测设备具有便于携带,疲劳识别率高等优势。结合Pearson法将其与脑电检测疲劳结果比对,验证了本文方法的准确性和有效性。
疲劳检测装置如图1所示,镜腿进行了加宽处理,锂电池固定在左镜腿中,MEMS传感器安置于右镜腿电路主板处,三个Ag/Agcl电极分别固定在鼻梁和鼻托处。此疲劳检测装置具有便于携带、结构简单的优点。
图1 疲劳检测装置
采用MEMS传感器采集头动信号,它由两部分组成,一部分为三轴加速度计与三轴陀螺仪,分别用于采集加速度信号与角速度信号;另一部分为三轴磁力计,用于采集磁场强度。传感器采用的是SPI通信方案,速度可以达到1 MHz。在设备正常的情况下,加速度的采样率为4 kHz,角速度的采样率为1 kHz,磁力的采样率为8 Hz。
采用了接触阻抗低、信噪比高及稳定性好的Ag/Agcl作为采集电极,相对于采用传统的使用五个电极双导联方式采集眼电信号,本文系统使用了三个电极单导联方式采集眼电信号,鼻梁处电极为参考电极,鼻托处两个电极为信号电极,这种方案导联数更少,信号噪声水平更低,眼电信号更易捕捉。在设备正常的情况下,眼电的采样率为8 kHz。
将上述采集的头动与眼电信号原始数据通过蓝牙传输的方式上传到手机终端,上传速率为100 Hz,并进行处理与保存。
大量研究表明[18-19],人的头动行为中蕴含了大量的行为信息,有些特定的头动特征能很大程度上表征人当前的行为状态,而这种行为状态又可以通过跟踪其头部姿态来获取,比如:随着疲劳的加深,人会出现瞌睡不断点头、点头频率变高的行为特征。因此采用点头频率作为头动信号特征,具体提取过程如下:
1) 采用融合卡尔曼滤波法处理头动原始数据(加速度、角速度和磁力计数据),得到最优俯仰角。
(1) 将加速度计、陀螺仪、磁力计采集的原始数据通过四元数法得到俯仰角θ,如式(1)所示:
(1)
式中:ax为x轴加速度;ay为y轴加速度。
(2) 以俯仰角θ和x轴角速度gx为输入量,建立状态方程和测量方程。
建立X(k)=A·X(k-1)+B·U(k)+W(k)格式的状态方程:
X(k)=K0·θ(k-1)+(1-K0)·dt·(gx(k-1)-qbias)
(2)
式中:A=K0;X(k-1)=θ(k-1);B=(1-K0)dt;U(k)=gx(k-1);W(k)=-(1-K0)·dt·qbias。
测量方程建立如下:
Z(k)=H·X(k)+V(k)
(3)
式中:X(k)为状态方程中的状态向量;A为从k-1时刻到k时刻的状态转移矩阵;U(k)为系统输入的控制向量;B为输入控制向量的增益矩阵;K0为最优角优化系数;dt为卡尔曼滤波器采样时间;qbias为陀螺仪漂移系数;Z(k)为测量方程中的k次观测向量;H为状态量到观测量的增益矩阵;W(k)和V(k)分别为过程和测量噪声,均为高斯白噪声,他们的协方差分别为Q和R。
(3) 基于系统上一状态预测k时刻状态,如式(4)所示:
X(k|k-1)=A·X(k-1|k-1)+B·U(k)
(4)
式中:X(k|k-1)是利用上一状态预测结果;X(k-1|k-1)是上一状态最优结果。
(4) 计算k时刻协方差 ,如式(5)所示:
P(k|k-1)=A·P(k-1|k-1)·A′+Q
(5)
式中:P(k|k-1)是X(k|k-1)对应的协方差;P(k-1|k-1)是X(k-1|k-1)对应的协方差;A′是A的转置矩阵。
(5) 计算k时刻卡尔曼滤波增益Kg(k),如式(6)所示:
(6)
式中:H′是H的转置矩阵。
(6) 计算k时刻状态最优估计值X(k|k),如式(7)所示:
X(k|k)=X(k|k-1)+Kg(k)·(Z(k)-H·X(k|k-1))
(7)
(7) 更新k时刻状态下协方差P(k|k),如式(8)所示:
P(k|k)=(I-Kg(k)·H)·P(k|k-1)
(8)
式中:I为单位矩阵,对于单模型单测量,I=1。
模拟点头,通过融合卡尔曼滤波法处理后,发现每次点头俯仰角曲线都会产生一个峰值,如图2所示。Ferrario等[20]研究后发现,成年人头部转动角度有一个固定的正常范围,其中:头部前后倾斜(俯仰角Pitch)的角度范围为-60.4°到69.6°,左右倾斜(横滚角Roll)的角度范围为-40.9°到36.3°,水平旋转(偏航角Yaw)的角度范围为-79.8°到75.3°。点头即头部向前倾倒,参考Perclos算法的P80原理,即眼睑遮住瞳孔的面积超过80%就计为眼睛闭合,将点头角度超过正常角度范围80%定义为点头,故将点头阈值设定为55°。
图2 点头曲线变化
2) 查找每分钟俯仰角曲线中的峰值大小及数量,然后将大于点头阈值的峰值保留,最后得到每分钟的点头频率。
研究表明[21],随着疲劳的加深,人的眨眼频率及眼电信号低高频功率比值会增高,因此采用眨眼频率和眼电信号低高频功率比值作为眼电信号特征,具体提取过程如下:
1) 对采集到的眼电原始信号进行低通滤波预处理,过滤掉信号中的毛刺和弱噪声,如图3所示。
图3 眼电信号预处理
2) 眨眼时眼电信号会产生一个波峰,参考Perclos算法的P80原理,将眨眼阈值大小定义为眨眼最大幅值与睁眼幅值差的80%加上睁眼幅值,如图4所示,然后计算每分钟大于眨眼阈值的眨眼波形数量,从而得到眨眼频率的特征。
图4 眨眼信号波形
3) 一般常人眼电信号的频率主要集中分布在0.1~38 Hz,其主要成分在10 Hz以下,且随着人疲劳程度的加深,低频眼电信号成分会增加,高频眼电信号成分会减少,如图5所示。
(a) 清醒
(b) 疲劳图5 眼电信号频谱图
本文选取0~2.5 Hz作为低频区,2.5~10 Hz作为高频区,以1分钟为时间窗长度,对其分别计算平均功率,并将每段眼电信号中的低频区平均功率与高频区平均功率的比值作为眼电信号特征。
每段眼电信号低高频功率比值R的计算公式如式(9)所示:
(9)
式中:P(l)为低频平均功率;P(h)为高频平均功率。
为了克服不同人生理特征差异而导致疲劳识别率低的问题,本文引入了主成分分析法,此方法主要利用降维的思想,将多个指标经过处理转换为少数几个综合指标即主成分,这种方法在降低原数据量维数、去除原数据多余信息的同时保留了原始信号的主要信息。这种方法不仅能够减少数据量,而且能够更加突出原始数据的主要特征。本文将提取每分钟的点头频率、眨眼频率、眼电信号低高频功率比值三个特征值,采用PCA进行降维处理提取疲劳程度值曲线。
1) 将特征数据进行去均值处理,然后求取协方差矩阵C,计算x和y的协方差:
(10)
2) 对协方差矩阵C进行特征分解,得到特征值与特征向量,如式(11)所示:
C=UΛU′
(11)
(12)
4) 将原始特征数据投影到步骤2)中得到的坐标系U中,新投影组成的向量就是主成分的分向量。
通过模拟清醒和疲劳状态,并对提取的点头频率、眨眼频率、眼电信号低高频功率比值三个特征参数进行主成分分析,得到各自贡献率,从而得到疲劳程度值R:
(13)
式中:Ai分别为提取的特征参数,λi为各自特征参数对应的贡献率。
通过模拟清醒疲劳状态实验,将自身的状态细分为四个等级,分别为清醒(注意力非常集中)、轻度疲劳(注意力不是非常集中,有点松弛)、中度疲劳(一直打哈欠,想睡觉休息)、重度疲劳(眼皮克制不住的耷拉、非常困倦想睡觉)。并将得到的疲劳程度值与自身状态比对,对应的疲劳程度值在0~0.20时,代表着清醒状态;0.21~0.50时,代表着轻度疲劳状态;0.51~0.75时,代表着中度疲劳程度;0.76~1时,代表着重度疲劳状态。
实验共招募了150名受试者,100名男性50名女性,均为中国科学院苏州医工所的科研人员,年龄范围为18~40岁(平均年龄26±2.6岁),裸眼视力正常,身体健康,受试前48小时内睡眠充足,没有进行剧烈运动、没有饮用咖啡或者浓茶、没有饮酒或者吸烟、无神经及精神科用药史和病史。本实验已经通过伦理委员会审查,所有受试者均在实验前被告知实验内容、方式和目的,并签署了数据使用授权书以及知情同意书。
研究发现[22]每日的上午十点到十一点期间,正常成人一般都会有一个精力充沛的小高峰期,而从中午十二点以后会逐渐疲劳甚至困倦,特别是在下午一点时人们最容易产生精力疲惫。基于此,本文将实验时间设定在中午的12:30~13:30。
实验前详细向受试者讲解实验流程以及注意事项并教导其疲劳检测设备的使用方法。实验共分为三个阶段,每个阶段18分钟,每个阶段默认为一个整体,受试者的状态不变,在每个阶段试验开始前两分钟,受试者需要填写斯坦福嗜睡量表(Stanford sleepiness scale, SSS),主观评估自身状态。该量表是主观评价自身疲劳程度的有效工具[23],共分为7个主观感受等级,衡量受试者当前状态,疲劳程度从1到7逐渐增加,1表示高警觉水平状态,7表示严重的困倦程度,将要进入睡眠。实验期间,受试者要求佩戴本疲劳检测设备,进行随机分配到的工作,工作内容包括电脑办公、阅读、看电影、打游戏、模拟驾驶、玩手机。同时为了验证检测出来的疲劳程度值的有效性,实验期间要求受试者同时佩戴便携式数字脑电信号采集设备Emotiv,其中电极按照国际标准放置。
根据斯坦福嗜睡量表等级划分描述,将其划分为清醒、轻度疲劳、中度疲劳、重度疲劳四个等级,与本文疲劳程度值对应关系如表1所示。
表1 疲劳程度对应关系
实验共三个阶段,每个阶段持续18分钟并会输出18个疲劳程度值,计算其平均值,作为本阶段最终的疲劳程度值,本文从150名受试者数据中随机抽取了15名受试者数据进行展示,结果如表2所示。
表2 试验数据结果
结合表1划分的疲劳程度对应关系,从表2中可以看出除了3号受试者,其余受试者疲劳检测结果与主观疲劳程度评估相符。其中3号受试者试验期间从事的工作内容为打游戏,可能由于打游戏需要受试者全神贯注,导致他的点头特征和眨眼特征受主观导向性影响,表现出来的特征不明显,从而导致通过特征融合的疲劳程度判断和主观疲劳程度的评估出现了误差。分析处理全部实验数据,发现在整个实验过程中,有14名受试者在整个过程三个阶段中有判断错误的情况,136名受试者判断准确,故本次实验的疲劳识别率达到了90.6%。
表3所示为本文方法与近年来部分疲劳检测的研究内容对比,本文不仅从疲劳检测的方案上创新,结合了头动与眼电信号判断疲劳程度,且疲劳识别率达到了90.6%,同时该设备便于携带。
表3 与其他方法对比
而本次实验中,受试者的年龄分布广泛、疲劳状态分布均匀、工作内容覆盖广泛且与疲劳检测金标准脑电信号判断结果进行比较,都能更有利地验证本方法的准确性和有效性。
本文研究了一种以眼镜为载体的结合头动与眼电信号的疲劳检测方法。以眼镜为载体采集头动和眼电信号,基于卡尔曼融合滤波算法处理头动信号提取点头频率特征,基于Perclos算法的P80原理和分段平均功率比值法提取眼电信号中的眨眼频率和低高频功率比值特征,采用主成分分析法进行多特征融合,得到疲劳特征值,从而判断疲劳程度。实验结果表明结合头动与眼电信号的疲劳检测方法的疲劳识别率达到了90.6%,并且基于眼镜为载体便于携带,同时发现与通过脑电信号判断的疲劳程度具有显著相关性,相关性达到了0.82,验证了本方法的有效性。