驾驶员疲劳驾驶检测方法研究综述

2022-11-16 02:24朱天军邹志亮
计算机工程与应用 2022年21期
关键词:人脸驾驶员状态

张 瑞,朱天军,2,邹志亮,宋 瑞

1.河北工程大学 机械与装备工程学院,河北 邯郸 056038

2.肇庆学院 机械与汽车工程学院,广东 肇庆 526061

3.中汽研汽车检验中心(广州)有限公司,广州 511340

在经济全球化的影响下,世界上的人民生活水平逐步提高。人们可以选择不同的交通方式出行,进而导致交通事故也频繁发生。引发交通事故的原因有很多,其中疲劳驾驶是一个关键性因素[1]。通过调查发现,因疲劳引起的交通事故占总数的20%左右,占特大交通事故的40%以上[2]。如果在交通事故发生前的一瞬间及时向驾驶员发出预警,就可能避免近90%的交通事故[3]。因此,对疲劳驾驶检测的研究很有必要。

世界上最早关于疲劳检测的研究是使用高精度的医学设备开展的,研究人员通过分析人体的脑电信号[4-5]、心电信号[6-7]等生理信号的变化来判别人是否处于疲劳。生理信号的采集需在人体表皮粘贴传感器,进而对驾驶员的操作造成干扰。随着科技的进步,为了消除信号采集设备对人体的侵入性影响,非侵入性检测设备被研发出来。同时图像处理技术与机器学习的兴起,进一步推动了疲劳驾驶检测的发展。本文首先对疲劳驾驶的概念、特征以及形成机理进行论述,其次通过分析现有的疲劳检测研究方法,进行整理分类,阐述了疲劳检测方法各自的优劣。分析和讨论了疲劳驾驶检测存在的不足,进一步总结出未来的研究趋势,为今后研究疲劳驾驶检测的学者提供帮助。

1 疲劳驾驶

1.1 疲劳驾驶的概念

疲劳驾驶一般是指驾驶员长时间精神高度集中的行车后,肌肉上产生的松弛和精神上的疲倦,手脚反应能力和预判能力下降,进而产生动作迟缓的现象。在早期的疲劳驾驶的定义中,Lal 等人认为疲劳是一种从唤醒到睡眠状态的过渡,若疲劳状态不发生改变时,就会产生睡眠[8]。

1.2 疲劳驾驶的特征

疲劳驾驶特征从表现方式上可以分为行为特征和心理特征两类。根据驾驶员的疲劳程度的不同所表现出来的身体特征也有所不同。如表1所示。

表1 疲劳驾驶特征的表现方式Table 1 Manifestation of fatigue driving characteristics

1.3 疲劳驾驶的形成机理

人们一直认为交通运输行业是一种高强度高危险行业。因为在车行进中,驾驶员需时刻关注车辆周围环境。在该过程中驾驶员的大脑神经持续处于兴奋状态,极易产生精神上的疲乏。同时驾驶员操纵车辆的动作一直保持,肢体会变僵硬进而产生疲乏。概括来讲,产生驾驶疲劳的因素如下:

(1)驾驶员的压力:生活和工作中的压力。

(2)驾驶员睡眠时间不足:作息时间不规律。

(3)驾驶员连续行车:雇主催促、高收入的诱惑。

(4)夜间行车:光线不足导致视野范围缩小,精神高度集中。

2 国内外驾驶员疲劳驾驶检测的研究现状

疲劳驾驶检测方法主要分为主动检测法和被动检测法两类,如图1所示。主动检测法是通过对驾驶员进行口头问答、填写问卷调查等方式获取在不同时段内驾驶员的心理与面部表情等信息,然后对获取到的信息进行分析得出驾驶员的精神状态。与主动检测法不同,被动检测法是通过外部装置采集驾驶员驾驶过程中的相关数据,再依靠算法检测驾驶员是否处于疲劳驾驶状态。

2.1 主动检测法

主动检测法主要是基于驾驶员主观表现、反应时间、脸部表情变化等将司机主观疲劳表现进行分类量化。主动检测法具有操作便捷、成本低等优势而被广泛使用。但是也存在实时性差、干扰驾驶员正常驾驶以及受人为主观意识的影响等劣势。主动检测法又可分为填写问卷调查与主观评价表、口头问答分析以及主动检测模型三类。

2.1.1 调查问卷表与主观评价表

研究人员通过填写问卷调查与主观评价表以及随机抽查驾驶员等方法,分析出驾驶员的实时状态。为了从社会心理学的角度探讨疲劳驾驶的影响因素,Jiang等人基于TPB(theory of planned behaviour)设计了一份调查问卷。通过调查问卷有效地揭示了与疲劳驾驶相关的心理因素。研究表明主观规范、感知行为控制和驾驶意图与在疲劳状态下继续驾驶相关[9]。Bener 等人使用曼彻斯特驾驶行为问卷(driving behavior questionnaire,DBQ)评估导致事故的异常驾驶行为。通过分析受试者所填写的疲劳严重程度量表(fatigue severity scale,FSS)和斯坦福睡眠调查问卷(epworth 量表)的结果,表明患有慢性疲劳、急性嗜睡和不规范的驾驶操作可能会显著增加道路碰撞的风险[10]。Noughab等人使用问卷调查得出影响重型车辆驾驶员困倦和疲劳程度的因素。并运用统计分析和TOPSIS(technique for order of preference by similarity to ideal solution)技术对因素的影响程度进行排序。进而避免影响程度大的因素导致驾驶员疲劳驾驶[11]。杜振君依据日本能率学会的《疲劳症状自评量表》设计了叉车操作员疲劳主观感受调查问卷。通过调查问卷对叉车操作员的作业疲劳状态进行主观检测,进而得出操作员的状态[12]。

2.1.2 口头问答分析

口头问答分析测试方法会受到被测试者的主观意识的影响,故其在疲劳驾驶检测中存在一定的局限性。Lee 等人通过对929 名飞行员进行访谈的基础上,提出假设和调查问题,并进行了全国性的调查。结论表明:不足的计划操作、飞行方向、文化差异的伙伴关系、飞机环境、工作分配、种族差异、酒店环境等因素会造成飞行员的疲劳[13]。Filtness 等人从新西兰和澳大利亚的客运铁路公司中选出28 名驾驶员,开展关于SPAD(signal passed at danger)影响因素的小组讨论。提取与疲劳相关的数据并进行归纳分析,得出驾驶疲劳的原因、后果和应对措施。由于驾驶员工作时间并不规律,所得结论可信度较低[14]。

2.1.3 主动检测的模型

填写问卷表与主观评价表以及口头问答分析是针对驾驶员的主观行为进行分析和讨论的过渡,而建立检测的模型可以进行疲劳状态的判定。研究人员通过建立检测模型来评定驾驶员的疲劳程度。

文献[15]提出一种铁路营运车操作员疲劳风险的动态评定方法。该方法将时变因素进行量化提高了准确性,利用层次分析法(improved analytic hierarchy process,IAHP)建立了评价模型,总结出在不同时段下机车操作员疲劳风险的变化规律。Mollicone等人开发了一种基于生物数学模型预测驾驶员疲劳的方法。研究表明,该方法基于驾驶员的睡眠模式预测疲劳,并根据安全相关的操作指标估计驾驶性能[16]。Li等人通过对出租车驾驶员的问卷数据建立模型。分析了样本数据集以识别与高低疲劳事故风险(fatigue-related accident risk,FRAR)相关的主要因素,并拟合FRAR预测模型。同时使用另外的数据集测试该模型在高风险驾驶员预测的性能。结果表明该预测模型能较好地识别出存在高风险的驾驶员,预测结果如图2所示。图中显示为在不同班次即全班、长班、短班三种情形下,未标记的驾驶员疲劳相关事故风险预测情况。其中预测为高风险所占比例约为75%,低风险所占比例约为25%。由于所检测人群为出租车驾驶员,经过实际考察得知所预测的结果与实际基本符合。进一步表明所构建预测模型实用性较好,可以推广至其他类型车辆的风险预测中,进而减少交通事故的发生[17]。

2.2 被动检测方法

由于被动检测法具有准确率高、可靠性更佳以及不受驾驶员主观意识的影响等优势,所以该种检测方法成为目前检测驾驶员疲劳的主要研究方向。被动检测法根据检测疲劳特征的不同又可分为以下五类:基于车辆行为的疲劳检测、基于驾驶员行为的疲劳检测、基于驾驶员生理特征的疲劳检测、基于驾驶员面部特征的疲劳检测、基于多特征融合的疲劳检测,以下分别进行阐述。

2.2.1 基于车辆行为特征的检测方法

当驾驶员出现疲劳症状时,会通过车辆行为表现出来。车辆行为特征主要包括车辆速度、加速度、车辆横摆角以及车辆偏离车道的程度等。研究人员将获取的车辆行为特征参数进行分析,分别提取出正常驾驶与疲劳驾驶的车辆行为特征参数,通过提取的参数制定一个区分正常和疲劳驾驶的检测标准。将实时获取的车辆行为参数与标准比较,可以检测出驾驶员的身体状态。该种方法无侵入性,数据采集方便,检测设备易于安装携带,市场前景较好。但这种检测方法易受到周围环境、驾驶员的操作水平以及驾驶习惯等因素的影响。

在早期的车辆行为的研究中,Pomerleau等人提出了一个快速调整横向位置处理器(rapidly adapting lateral position handler,RALPH)的系统。系统通过模板匹配及假设和测试策略对道路图像进行分析,进而估计出车道偏离的信息[18]。郭思强等人通过CAN总线采集到的车辆信息,如车速、瞬时油耗、踏板位置等信息。根据层次分析法原理构建了疲劳状态识别模型并从时间和空间维度进行检验和应用[19]。黄皓利用驾驶模拟器获取驾驶员正常状态和疲劳状态下的操作特征及车辆状态。将获取的信息建立数据库,依据因素方差分析法对特征指标的有效性进行分析。最后使用模糊聚类和神经网络算法对驾驶员疲劳进行检测[20]。蔡素贤等人利用CAN 总线捕获车辆行为数据,提取了车速、加速度、油门踏板与刹车踏板开合度等18项特征。通过皮尔森相关系数来得出所提取的特征与疲劳的相关性大小,同时采用随机森林算法对驾驶员疲劳进行检测,图3是将各类算法与随机森林算法作比较所得的。图中所示为逻辑回归、支持向量机、决策树、随机森林四种算法所训练的疲劳驾驶检测模型,利用同一组数据集检测疲劳,不同模型所得精确率、召回率和准确率的对比结果。通过比较得出随机森林的准确率和召回率均大于另外三种算法,进而表明随机森林算法更适用于疲劳检测[21]。Riera 等人开发了一种检测和跟踪车道偏离的新模型。该模型通过对视频中的前向车道区域进行前处理,并对其中的凸包进行标记,当检测到前方区域的凸包时,跟踪凸包区域的质心,利用质心位置判断驾驶员是否偏离车道行驶。研究显示,检测车道偏离事件的总召回率为81.82%[22]。Chen 等人设计了一个驾驶员行为检测和警告框架。该框架首先通过图像传感器连续检测车辆所在车道线的坡度变化,估计车辆车道偏离的功率谱密度。其次,利用头戴式设备提取头部姿态的特征向量,以测量驾驶员的异常水平。最后,根据估计的车道偏离功率谱密度和测量的驾驶员异常水平,通过车辆互联网将检测的危险驾驶警告发送给相邻车辆和附近行人,以避免交通事故的发生[23]。

2.2.2 基于驾驶员行为的疲劳检测方法

在疲劳检测的研究中,学者发现驾驶员的行为也会对疲劳驾驶造成影响。研究人员通过传感器测得的方向盘的转角、方向盘的握力以及踏板的运动变化等特征来检测驾驶员的精神状态。

在早期驾驶员行为的疲劳检测研究中,张希波等人根据驾驶员疲劳与清醒状态下对方向盘修正幅度和频率的不同来实现疲劳状态检测[24]。沙春发等人在实际道路环境开展试验。将采集的转向盘握力特征和脑电特征,利用BP 神经网络建立基于转向盘握力的疲劳驾驶模型,并使用部分数据进行验证,图4 为转向盘握力信号采集流程。信号采集时,先使用压力传感器将握力信息转化为电压信号,电压信号经分压电路传送至AD转换器,电压信号通过AD转换器转化为数字量,转换的数据通过Arduino 单片机(微处理器)从串口(USB接口)传输至计算机,在计算机上利用Arduino IDE 把握力信息保存至SD 卡,进而得到用于检测的握力信息。结果表明所构建的模型对疲劳识别精度较高[25]。Mcdonald等人通过将转向角、踏板开合度、车速和加速度等信息输入动态的贝叶斯网络算法中进行驾驶员的疲劳检测[26]。由于真实道路和驾驶员的不确定性,有效地学习驾驶员的疲劳特征表示这一问题,Li等人使用方向盘转角序列的近似熵对输入数据进行裁剪,通过LSTM(long short-term memory)单元挖掘疲劳特征。最后利用信息获取方法得出潜在特征与疲劳之间的相关性,进而获得最佳的驾驶员疲劳特征[27]。Li等人提出一种通过检测方向盘握力来测量驾驶员疲劳的方法。该方法通过分析驾驶员操作车辆的方向盘握力与握力标准偏差之间的差值,来判断驾驶员状态。同时采集驾驶员的自我疲劳评估、脑电信号、眨眼频率,在实际道路驾驶中进行交叉验证。研究表明,所提方法总体识别率为86.6%,单独识别率为88.3%[28]。

基于驾驶员行为的疲劳检测方法中信息采集比较便捷,成本较低,不会影响驾驶员的正常驾驶,设备小易于携带且精度相对较高。市场前景好,易于推广使用,但这种检测方法受驾驶行为的影响较大。

2.2.3 基于驾驶员生理特征的检测方法

由于人们的工作和生活方式发生了改变,导致了人产生疲劳症状。对于驾驶员的疲劳驾驶的检测也是先从医学角度入手,通过使用医疗设备来对驾驶员进行检测[29]。人体的生理信号一直被认为是疲劳驾驶检测的“金标准”,由于生理信号主要是通过粘贴在人的身体上的传感器进行采集的,它能够直接反映出驾驶员的身体状况。生理特征主要有:脑电信号(electroencephalography,EEG)、眼电信号(electro-oculogram,EOG)、心电信号(electrocardiogram,ECG)、肌电信号(electromyogram,EMG)等。

研究发现当人进入疲劳状态时,EEG 中的delta 波和theta 波的频率会显著提高,而alpha 波的频率只会小幅增长。因此,通过EEG 中的三个波形的变化规律可以反应出驾驶员的状态。Lal等人通过分析受试者在驾驶模拟实验中心理和生理的变化,总结出人在疲劳时脑电图中的delta 波和theta 波活性显著加强[30]。Houshmand等人提出一种基于脑电alpha纺锤波的早期驾驶员疲劳检测方法。该方法采用连续小波变换(continuous wavelet transform,CWT)和Morlet 函数检测脑电特征,并利用卷积神经网络对脑电信号进行分类,自动学习早期嗜睡状态的特征,进而对驾驶员的疲劳进行检测[31]。目前基于EEG 信号的相关研究仅针对二元分类(即警惕状态和疲劳状态)。同时基于脑电信号的脑机接口系统存在信号不平稳以及类别稀少的问题。Jeong等人不仅分析了两种心理状态的分类,也分析了对疲劳等级进行高精度分类的可行性。提出一个深度时空卷积双向长短时记忆网络(DATCLN)模型,首先使用BrainAmp设备采集受试者在模拟夜间飞行环境中持续飞行1 h的脑电数据,将所采集的数据进行预处理;其次,经过处理之后的数据输入模型进行检测;最后,将EEG信号的疲劳等级分为(非常警觉(VA)、相当警觉(FA)、既不警觉也不困倦(NAS)、困倦但不努力保持清醒(SNEA)和非常困倦(VS))五个阶段。同时利用KSS(karolinska sleepiness scale)表评估了两种心理状态和五种疲劳等级的分类表现。总平均分类率分别为0.87(±0.01)和0.69(±0.02)。进一步证明利用深度学习对五种疲劳等级进行高精度分类的可行性。该种分类方法是第一种仅使用EEG 信号将疲劳详细分类的方法[32]。由于传统计算信号熵特征的方法只在单个尺度上分析数据,试验结果不稳定。Zou 等人提出一种基于经验模式分解(empirical mode decomposition,EMD)多尺度熵的额头脑电图信号处理方法。该方法在传统模糊熵的基础上加入尺度信息,采用EMD技术,对EEG信号进行处理,并应用随机森林算法对所提取的特征进行分类,进而对驾驶员的疲劳进行检测.研究表明,所提方法的准确率最高为88.74%[33]。Chinara等人提出一种基于单通道脑电的疲劳检测模型,该模型利用小波包变换从单通道EEG 信号中提取时域特征。通过对时域特征进行分析对驾驶员的状态进行分类,进而识别出驾驶员的状态[34]。Liu 等人提出了一种基于EEG 的脑疲劳检测方法。该方法通过设计的2-back 任务的疲劳诱发实验中采集EEG信号。利用ReliefF算法计算特征下每个通道的权值,并分析其分类精度。利用精度加权和得到通道的权重值。然后,从权重值大的通道中提取时域和频域特征。采用稀疏表示方法得到融合特征作为分类器的输入。最后,使用SRDA分类器检测疲劳状态。研究表明,所提方法可以减少计算通道数量,提高了心理疲劳检测的准确性[35]。Zheng等人提出了一种了结合脑电图和眼电图的多模态方法来估计警觉。图5 为验证所提方法是否与真实受试者行为和认知状态一致。图中显示驾驶员从清醒到疲劳整个实验过程的警惕性持续估计,图中的抓拍与不同警戒下的帧数一一对应。从中可以清晰看出驾驶员从清醒状态到疲劳状态整个过程中PERCLOS、EOG、EEG、融合特征、连续性条件神经场以及连续条件随机场的变化情况。结果表明与单一模式相比,模式融合有效提升警觉估计的性能。同时与清醒状态相比,疲劳时theta 和alpha 频率活动增加,而gamma频率活动减少[36]。

Gromer 等人开发了一种低成本的心电图传感器,利用该传感器采集心率变异性(heart rate variability,HRV)信息。通过采集的信息检测驾驶员是否疲劳驾驶[37]。徐礼胜等人提出一种基于短时心电信号的疲劳驾驶检测算法。首先,利用截取的短时心电信号序列计算R-R间期序列的时域/频域特征。通过ImageNet数据集训练深度卷积神经网络模型进而提取特征。将所提取特征与R-R 间期序列的时频/频域特征结合,利用随机森林分类器进行分类,进而对驾驶员进行疲劳检测[38]。Murugan 等人将疲劳视为一种低警觉状态,并将驾驶员的状态分为正常、困倦、疲劳、视觉和认知注意力不集中五类。通过驾驶模拟器模拟以上五类驾驶员的状态来采集ECG 信号,从ECG 信号中提取低警觉状态的特征,使用单因素方差分析方法对提取的特征进行统计显著性分析,并利用主成分分析(principle component analysis,PCA)来选取特征。最后,利用SVM、KNN(K-nearest neighbor)和集成分类器对特征进行分类,进而检测出驾驶员的状态[39]。Lee 等人使用可穿戴ECG或PPG 传感器采集HRV 信号来检测驾驶员的疲劳。为了将存在噪声的HRV 信号区分为疲劳或不疲劳,分析了由心跳RRIs(R-R intervals)生成的Bin-RP(binrecurrence plot)、Cont-RP(continuous-recurrence plot)和ReLU-RP(ReLU-recurrence plot)三种类型的递归图,并将其都用作CNN(convolutional neural network)的输入特征。同时检查每种分类模式的有用性。研究表明,不论使用哪种采集传感器,ReLU-RP-CNN能更好地区分清醒和疲劳状态。与Bin-RP 和Cont-RP 结果相比,ReLU-RP-CNN在疲劳/不疲劳的分类中分别将PPG和ECG的准确率提高约4%~14%和6%~17%[40]。Salvati等人提出一种基于HRV的ANS(autonomic nervous system)检测驾驶员疲劳的方法。该方法利用集成在座椅靠背中的传感器采集HRV信号。从RRI数据中提取心电信号的特征,利用疲劳检测模型实时评估驾驶员的状态。并利用PERCLOS 对所提方法进行验证显示,与实验结果的符合率为63%。进而表明所提方法能持续监测驾驶员状态的有效性[41]。

Wang等人提出了基于肌电图的驾驶疲劳非接触检测方法。通过采集了受试者二头肌的肌电图信号,从肌电图中选取峰值因子(Fc)为特征来检测受试者的疲劳,研究显示该方法可明显区分正常与疲劳状态[42]。Fan等人提出并开发了一种有效检测驾驶员异常行为的方法,即SafeDriving。该方法首先利用置于前臂上的肌电传感器采集EMG,根据设定的异常驾驶行为对样本标记。然后使用标记数据,设计和训练分类器,以提高检测方法的性能。研究表明,GRU(gated recurrent unit)分类器可以很好地检测驾驶员的异常行为,其精确度为93.94%[43]。

虽然这种检测方法精确度很高、鲁棒性很好,但是需要穿戴信息采集设备,会影响驾驶员的操作。同时试验成本较高,设备较大不宜装车以及个体差异性较大,从而致使这种检测方法大多是在试验室或驾驶模拟器上使用,不宜推广。

2.2.4 基于驾驶员面部特征的检测方法

基于面部特征的检测方法是指通过摄像头等图像传感器获取到的面部视频为基础,运用机器视觉中人脸识别、面部特征点定位等技术手段,对驾驶员的脸部变化如注视方向、眼睛张开程度(eye aspect ratio,EAR)、眨眼频率、单位时间内眼睛闭合程度(percentage of eyelid closure over tine,PERCLOS)、嘴巴开合度(mouth aspect ratio,MAR)、头部运动情况以及头部旋转角等特征进行提取,运用算法将所提取特征进行驾驶员疲劳驾驶检测。该检测方法根据人脸不同部位疲劳特征表现不同又可分为基于眼睛特征的检测方法、基于嘴巴特征的检测方法以及基于头部特征的检测方法三类。

在基于眼睛特征的检测方法中,最开始研究眼睛与疲劳关系的学者是Walt Wirewille。他通过模拟对比试验研究眼睛在受到光的作用下与疲劳的相关性,结论表明眼睛的闭合时间与疲劳的程度呈正相关[44]。在此基础上,卡内基梅隆研究所经过反复试验和论证,得出度量疲劳的物理量PERCLOS,将其定义为一定时间内眼睛的闭合程度。PERCLOS 有三个标准分别是EM 标准、P70标准、P80标准。其中P80标准在反映人的疲劳状态远优于其他标准,所以科研人员经常选用该标准来判断驾驶员的精神状态[45]。

由于人戴眼镜会使疲劳检测的性能和鲁棒性降低,Tao等人提出了一种基于人脸定位算法的疲劳检测方法。首先,利用每个眼睛的6个关键点定位驾驶员的眼睛;其次,将提取的HOG(histogram of oriented gradients)特征输入SVM 分类器中来识别眼睛状态;最后,计算PERCLOS 的值与阈值进行比较确定驾驶员是否困倦。该方法可快速检测人眼状态和实时报警[46]。文献[47]设计了一种基于机器视觉的驾驶员疲劳检测机制。使用Adaboost 算法进行人脸检测并定位眼睛区域,经预处理消除眉毛,再用模糊综合评价算法对眼睛的开合状态进行分析,最后根据PERCLOS 原理判断驾驶员是否疲劳驾驶。图6为驾驶员疲劳检测结果,其中左侧为夜间环境下使用红外线摄像头进行驾驶员疲劳检测的结果显示图,右侧为白天正常光线下疲劳检测结果显示图。Zhuang等人提出一种基于瞳孔和虹膜分割的眼睛开合度疲劳检测方法。该方法通过Dlib 算法提取眼睛图像。使用分割网络提取眼睛图像中的瞳孔和虹膜特征。并利用决策网络评估眼睛的开合度。最后根据眼睛的开合度计算PERCLOS 值,以预测驾驶员的状态。该方法在NTHU-DDD 数据集上进行测试,疲劳检测准确率为96.72%[48]。Bakheet等人提出一种新兴的驾驶员疲劳检测框架。该框架通过摄像头采集驾驶员人脸图像,利用自适应对比度限制直方图均衡算法对采集的人脸图像进行预处理。然后,通过基于类Haar 特征的级联AdaBoost分类器检测驾驶员的面部。采用改进ASM(active shape model)算法定位眼睛区域。从眼睛区域中提取二值化方向偏移的HOG 特征。最后,将提取的特征输入NB(Naïve Bayes)分类器预测眼睛状态。进而判断驾驶员的状态[49]。

基于嘴巴特征的检测方法中,在司机出现疲劳症状时,嘴巴会不受控制的打哈欠、嘴巴张开程度较大以及张开时间相对较长。在早期的嘴部特征疲劳研究中,Wang等人提出一种新的驾驶员嘴部运动的疲劳监测方法。通过持续监测和追踪司机的嘴部运动,对嘴部运动进行了分类,进而在司机疲劳时发出警告[50]。打哈欠是疲劳的一个显著标志,为了使检测器的响应足够快,Anitha 等人提出一种基于双代理专家系统的新型哈欠检测系统,该系统将人脸分割为上下两部分,人脸下部分用于提取嘴部特征,利用二值图像来检测是否打哈欠,如图7 所示。图中所示为当驾驶员在无遮挡、正面以及戴/不戴眼镜的情形下的哈欠疲劳检测过程,其中原始图像(a)经过预处理后,提取到嘴部特征(b),在经过哈欠检测器处理得到(c),最后得出哈欠特征的直方图(d),通过分析哈欠特征的直方图,进而判别出司机的状态[51]。文献[52]通过分析睡眠不足与警觉驾驶员的标记视频数据集,论证了面部接触、人脸遮掩及打哈欠之间的联系。进而提出面部接触可作为检测疲劳的新方向。同时还提出一种基于嘴巴和眼睛区域的几何和外观特征的自动哈欠检测方法。Adhinata 等人提出将人脸特征提取的FaceNet 算法与K-NN 或多类SVM 分类方法相结合的一种疲劳检测方法。通过FaceNet算法进行特征的提取,并分析比较了K-NN和多类SVM对获取特征分类的准确率。FaceNet算法的特征提取取决于每个类别中面部特征的相似性。研究表明,FaceNet 算法与K-NN 结合使用的准确率为94.68%,远远优于多类SVM,而所提方法处理一帧图像的速度为0.061 s,符合实时监测的要求[53]。

基于头部姿态的检测方法中,在司机出现疲劳症状时,人会不由自主进行点头动作,导致头部的位置与注视方向发生变化。由此可将点头频率、头部姿态角以及视线偏离作为疲劳特征进行疲劳检测。为了弥补眼睛特征检测疲劳的不足,李勇达等人提出了基于头部姿态特征的列车司机疲劳驾驶检测方法。所提方法先使用AdaBoost 算法定位人脸,再使用Cameshift 算法跟踪脸部并计算人脸的旋转角速度以及角加速度。依据头部的倾斜角度和旋转角速度综合推断列车司机的疲劳状态[54]。传统的头部姿态计算方法是通过人脸来估计关键点,并利用平均头部模型求解二维到三维的对应问题,相对比较复杂。文献[55]提出一种便捷而稳定的头部姿势的估计方法。该方法是通过多损耗深度网络从像素强度中预测头部的姿态角,进而判断出司机的状态。Ansari等人提出一种基于改进Adam优化算法的深度学习网络ReLU-BiLSTM来测量疲劳的新方法。该方法使用XSENS运动抓取系统来捕获司机头部姿态的变化规律,进而检测出司机的疲劳程度。图8为所提出的疲劳检测方法。该研究方法中,研究人员让受试者佩戴MCS(motion capture system)在driver-in-loop(DIL)模拟器构建的模拟驾驶环境中驾驶车辆,并利用MCS 的传感器将所采集的数据通过Matlab 车辆动力学模型结合3D虚拟引擎可视化器进行实时仿真受试者在模拟驾驶过程中的姿态变化,进而捕获受试者的头部姿态变化。将头部姿态变化数据输入Matlab深度学习模型中,依据疲劳的模式进行疲劳检测[56]。Zhang等人提出一种基于人脸关键点头部姿态估计的驾驶员疲劳检测方法。该方法利用摄像机实时捕获人脸视频。采用基于模型的方法估计头部姿态的。使用Dlib 工具包来判断驾驶员的眼睛状态、嘴巴状态和头部姿态。研究表明,所提方法可准确判断驾驶员的状态[57]。

基于驾驶员面部特征的检测方法中,通过机器视觉技术得以实现,而机器视觉技术是利用机器学习算法运行的[58]。以下是最近几年内新兴的用于驾驶员面部特征疲劳检测方法的机器学习算法。

You 等人提出一种考虑驾驶员个体差异的实时疲劳驾驶检测算法。该算法由离线训练和在线监控两个模型组成。离线训练模型中以EAR 为输入,训练基于SVM 的分类器。在线监控模型中,利用训练好的分类器在线监测驾驶员的状态。由于疲劳驾驶状态是逐渐产生的,因此引入以单位时间内的疲劳帧数计算的变量来评估驾驶员的疲劳状态。该算法在模拟驾驶应用中的准确率为94.80%。通过对比实验,表明该算法在准确性和速度上都优于目前的驾驶疲劳检测方法[59]。Zhang 等人建立了一种疲劳特征参数优化选择算法。算法的基本思想是利用SFFS算法从疲劳特征中搜索最优特征子集,以最优子集为输入,建立了通用的疲劳运动检测模型。由于运动员个体差异对疲劳检测的影响,根据特征参数计算个性参数,进而建立了自适应检测模型。传统的基于瞳孔开合的疲劳检测算法由于使用单一特征进行疲劳识别,鲁棒性较差,而所提方法可将PERCLOS 标准应用于卷积神经网络的训练,在综合人脸特征的基础上识别人脸的疲劳状态,提高算法的鲁棒性[60]。Liu等人提出一种基于人脸多特征的疲劳检测算法,该算法将多个面部特征(如闭眼持续时间、点头和打哈欠)反馈给卷积双流网络,称为gamma 疲劳检测网络。该算法首先利用多任务级联CNN定位驾驶员的眼睛和嘴巴。其次从局部人脸图像中提取静态特征。然后,从局部人脸光流中提取动态特征。最后,将静态和动态特征使用双流神经网络组合,以对图像数据进行分类。使用NTHU-DDD 数据集对该算法进行了验证,准确率为97.06%[61]。Ji 等人提出一种基于多指标融合和状态识别网络的疲劳检测算法。算法采用MTCNN(multi-scale CNN)进行人脸检测和人脸关键点检测,根据眼睛中心点对人脸校正,提取人脸图像中的眼睛和嘴巴图像。然后,利用提取的图像构建识别网络来提取特征。最后,将所提取的特征进行融合,结合融合特征,建立疲劳判断模型,进而分析驾驶员的疲劳状态。该算法在人眼数据集上的准确率为98.42%,在张口数据集上的准确率为97.93%[62]。Zhao等人提出一种全自动驾驶员疲劳状态检测算法。算法采用MTCNN 结构进行人脸检测和特征点定位。其次,对眼睛和嘴巴的状态进行分类,并通过特征点提取感兴趣区域;然后,通过所提出EM-CNN(eye and mouth-CNN)从感兴趣区域中检测眼睛和嘴巴的状态。最后,结合MAR、PERCLOS 以及张口率来识别驾驶员的疲劳状态。研究表明,所提出的EM-CNN 算法的精确率为93.623%[63]。由于大多数算法不从驾驶员特征中分析驾驶状态,这样就会出现误差。Li 等人提出一种结合驾驶员特征的人脸多特征融合的疲劳驾驶监测算法。算法主要包括三个模块:(1)身份录入。使用摄像头采集驾驶员的生物特征图像、眼睛图像和嘴巴图像,利用YOLOv3定位人脸区域;利用Dlib工具包提取面部特征点,计算128维面部特征向量、眼镜特征向量(eye feature vector,EFV)和嘴巴特征向量(mouth feature vector,MFV);利用采集的图像训练SVM分类器;将生物特征、眼睛以及嘴巴的分类器存储在身份信息库。(2)身份验证。将采集生物特征图像与身份信息库中存储的生物特征进行比较;根据比较结果,调用信息库中的分类器进行识别。(3)在线识别。实时计算驾驶视频中人脸图像的EFV和MFV;使用(1)中的分类器判断眼睛与嘴巴状态;计算出PERCLOS、眨眼频率和打哈欠频率,进而判断驾驶员的状态[64]。You等人提出一种基于人脸运动信息熵的实时驾驶员疲劳检测算法。该算法利用改进的YOLOv3微型CNN在不同的复杂条件下定位视频中的脸部位置。其次,使用Dlib 工具包、人脸位置的特征构建FFT(face feature triangle),同时基于FFT信息创建人脸特征向量。然后,提取人脸特征向量,组建疲劳状态数据集。最后,通过采样器提取面部运动信息熵。将信息熵与阈值进行比较,以评估驾驶员的疲劳状态。结果显示,算法能实时检测驾驶员的状态,其准确率为94.32%[65]。为了提高驾驶员疲劳检测的准确性和实时性,Liu 等人提出一种基于面部表情分析的疲劳检测算法。算法中通过MB_LBP(multi block local binary patterns)特征是在Haar_like 特征和LBP 特征的基础上发展而来的。与传统的LBP 特征相比,MB_LBP 可从不同尺度上检测图像。在FDDB数据集上的测试结果发现,所提出人脸检测模型灵敏度和精确性均高于基于传统的LBP 特征和Haar_like特征的人脸检测模型[66]。表2为基于驾驶员面部特征疲劳检测各类算法的总结。

表2 基于面部特征的疲劳检测算法Table 2 Fatigue detection algorithm based on facial features

基于驾驶员面部特征的疲劳检测方法具有成本低、不需接触、检测方便、设备较小易于装车、准确度相对较好以及可以实时检测驾驶疲劳等优势。但是若驾驶员头部偏转过大、佩戴墨镜以及环境光线不足时,会出现无法识别的现象。虽然存在以上的问题,但是目前疲劳检测方法依旧以该种检测方法为主,市场前景好。

2.2.5 基于多特征融合的疲劳检测

上述基于四种人体特征的被动检测方法均存在各自的优缺点,因此有学者提出了一种多特征融合的疲劳驾驶检测方法。基于多特征融合的检测方法是从汽车主动安全性出发,利用数字图像信号处理和传感器技术,结合驾驶员的各种疲劳特征对驾驶员的疲劳状态进行判别与预警。与单一特征的疲劳检测相比,降低了误检或漏检的概率,提升了检测的精确性和稳定性[67]。

Zhu 等人提出了一种基于任务约束深度神经网络(tasks-constrained deep convolutional network,TCDCN)面部多特征融合的驾驶员疲劳综合检测方法,该方法利用人脸视频序列检测驾驶员的疲劳状态。该方法是基于68 个关键点来检测人脸区域,解决了由于每个任务的收敛速度不同而导致的优化问题,并根据实时人脸视频图像,分别计算EAR、MAR 和PERCLOS。根据以上三个特征值所占不同权重,估算融合特征值。最后通过驾驶员疲劳综合评估模型评估融合特征值的帧数进而确定驾驶员的疲劳程度。通过对比实验表明该算法在驾驶员疲劳检测的精度和速度上效果较好,同时应用该方法可以有效避免因佩戴眼镜/墨镜而导致检测准确度下降[68]。Hong等人提出一种通过脑电图结合光容积描记法和心电图描记法检测驾驶员疲劳的方法,该方法所用的设备如图9。其中最左侧为实验所用的驾驶模拟器和记录仪,中间为佩戴耳道脑电图的电极的受试者,最右侧为耳道脑电图的三维设计图[69]。Vardhan等人提出一种基于面部多特征实时疲劳检测系统。该系统采用方向梯度直方图(histogram of oriented gradients,HOG)识别每一帧中的人脸。通过状态向量机(state vector machine,SVM)检测眼睛和嘴巴特征,进而判别出驾驶员的状态[70]。Jia 等人提出一种基于深度学习和脸部多指标融合的疲劳驾驶检测算法。该算法通过改进多任务级联卷积神经网络(MTCNN),准确提取出眼睛和嘴巴的特征。将所提取特征输入眼睛和嘴巴状态识别网络(E-MSR Net)中进行状态分析,最后将眼睛闭合率(eye closure rate,ECR)、嘴巴张开率(mouth opening rate,MOR)以及头部非正面率(head non-positive face rate,HNFR)三个特征进行融合来判断司机的状态,流程如图10 所示。首先,通过摄像头捕获驾驶员面部图像;其次,利用多任务级联卷积神经网络定位人脸和人脸的关键点检测,根据检测到的关键点,确定眼睛和嘴巴的位置;然后,将其输入识别网络进行状态识别;最后利用人脸多指标融合策略来判断驾驶员的疲劳状态[71]。由于现有的检测方法忽视了疲劳特征的时间信息与特征之间的关系。Du等人提出一种新颖的多模式融合递归神经网络(multimodal fucused on recurrent neural network,MFRNN)。首次使用RGB-D 摄像头提取心率、EAR和MAR三个疲劳特征。该网络利用RNN(recurrent neural network)层提取疲劳特征的时间信息。由于心率是间接提取的,存在噪声和模糊性,因此通过模糊推理与RNN结合的方式提取心率特征的时间信息。将所提取疲劳特征的时间信息作为所提网络的输入,然后将其进行融合,进而检测出驾驶员的状态[72]。Li 等人提出一种基于人脸图像的疲劳检测系统REDE(recognizing the drowsy expression)。系统利用Dlib 算法从所采集的人脸图像中提取左右眼睛和嘴巴的位置区域。利用LBP(local binary patterns)算法从眼睛和嘴巴图像中提取特征,并应用RBF 核训练SVM 模型进行分类。通过灵敏度、特异性、准确度和马修斯相关系数来评估模型。研究显示,REDE 性能优异,可进行实时疲劳检测[73]。Zhao 等人提出了一种基于InceptionV3-LSTM 的多特征融合疲劳检测方法。该方法首先使用InceptionV3 提取眼睛的状态,经过LSTM 处理得到时间序列特征组。然后,利用BVP(blood volume pulse)方法获取HRV信号,并提取由LF(low frequency)/HF(high frequency)比值计算阈值。最后,将LSTM 输出的特征与HRV 信号的阈值进行融合,进而检测驾驶员的状态。研究表明,所提方法的准确率为96.5%[74]。

多特征融合的疲劳检测方法可以改进目前疲劳检测存在的环境适应性差,光线不足等问题,同时可以整合不同特征的优势,以提高检测精确性。由此这种检测方法将会成为未来疲劳驾驶检测的重点研究方向。

3 现阶段疲劳驾驶检测方法存在的不足

疲劳驾驶检测方法被广泛应用于多种交通运输工具。不论是从主动检测方面,还是被动检测方面,大量的研究表明熟悉被检测人员的真实的生理与精神状态,可以实时了解驾驶员是否疲劳驾驶,进而有效避免交通事故的发生。通过对上述文献进行整理和分析,得出目前驾驶员疲劳检测方法存在的不足,主要体现在以下几个方面:

(1)试验样本数据缺乏参与者的年龄多样性和性别差异,以及未对驾驶员的疲劳进行量化。文献[28,33,41]没有考虑个体差异性而导致检测精度较低。文献[32,34,39,48,55,57]都是运用不同的方法对疲劳进行分类和评估。

(2)疲劳驾驶检测试验大多是通过驾驶模拟器或室内模拟设备开展的,缺乏真实性。文献[22]在实际道路和模拟道路上都进行了试验,发现两者存在差别。文献[25]在实际道路上进行试验,得到的结果较为满意。

(3)基于主动检测法的疲劳驾驶因素分析不全面,以及在试验中未对参与者观点的权重进行考虑。同时,该种检测方法适用范围有限。文献[32,48]运用主被动结合的检测方法进行疲劳检测,所得到的结果更符合实际。

(4)生理信号的测量受穿戴装置的不确定性影响,试验成本较高、设备体积大。同时,由于个体性差异,导致其自适应性很差。文献[31,33,36]等大多数的基于脑电的疲劳研究,所用设备均较大,不易移动,且难以进行实时疲劳检测。

(5)目前被动检测法的算法未能达到实际公开道路试验精确度和鲁棒性的要求。文献[21,31,36,40]所用算法均是在实验室内进行疲劳检测的,文献[59-66]所提出的算法大都处于仿真优化阶段,并未在公开道路验证算法的精确性和鲁棒性。

(6)当前驾驶环境、光线、驾驶员的头部或身体旋转过大以及墨镜或眼镜的佩戴都会增加疲劳检测的难度。目前对于驾驶员佩戴眼镜情形的疲劳检测已有较大的进展。文献[65]和[68]均可以对佩戴眼镜的驾驶员进行眼镜的识别与检测。对于另外几种情形的疲劳检测的研究相对较少。

4 未来的研究趋势

目前,国内外对驾驶员疲劳检测的方法有很多,但大多数依旧处于试验阶段。本文通过对疲劳检测方法存在的不足进行分析,总结出未来的研究趋势如下:

(1)由于个体差异性导致每一位驾驶员的驾驶行为都会存在差别。未来可进一步增加不同年龄段试验驾驶员,同时也增加女性试验驾驶员的比例,进而构建更为全面的疲劳检测数据集。

(2)由于疲劳驾驶试验存在一定的风险,大多数的疲劳检测试验均是通过模拟驾驶试验开展的。未来的疲劳检测试验可以从模拟驾驶试验转向封闭道路试验,这样可以极大程度地贴合实际情况。

(3)未来可通过建立一套完整的疲劳分类标准,同时构建一个完善的疲劳等级评估体系对疲劳驾驶检测的进一步研究奠定理论基础。目前的分类标准与评估体系都是在前人的研究的基础上进行疲劳分类和评估的。

(4)未来可以将主被动检测法相结合的方式对驾驶员进行疲劳检测。在应用主动检测法时,应尽量避免主观因素的干扰,同时对参与者不同的客观描述进行权重的合理分配。

(5)未来可通过研发一种新型的干电极材料应用于生理检测来提高生理信号采集装置的稳定性。将生理采集系统进行小巧化和无线化,进而将数据进行实时的处理。同时寻找能更好体现且易于提取的生理特征。

(6)未来可将疲劳检测算法的测试和验证尽可能转移到实际道路进行测试和验证,这样可极大提高实用性。目前的检测算法无法进行独立的测试,必须借助第三方平台才可实施。未来可以开发一种储存算法的模块,可独立进行测试。同时算法测试所用数据集比较单一且其对环境的要求严格,未来应对算法进行多种数据集进行验证,并对算法及逆行环境适应性的测试,进而使其在复杂环境中更具有稳定性。

(7)未来可通过多特征融合的检测方法对极端环境下的驾驶员进行疲劳检测。同时开发一种警示系统,当驾驶员出现头部或身体扭转角度过大时,车载系统会提醒驾驶员调整好坐姿。同时进一步研发可以增强所捕获图像的亮度的算法,以达到准确识别图像中的所有疲劳特征。

猜你喜欢
人脸驾驶员状态
基于高速公路的驾驶员换道意图识别
基于眼动的驾驶员危险认知
驾驶员安全带识别方法综述
有特点的人脸
一起学画人脸
玻璃窗上的人脸
状态联想
基于matlab的纯电动客车驾驶员行为分析
生命的另一种状态
极度生存状态下的人道主义