基于粒子群优化与支持向量机的驾驶员疲劳等级判别
2014-06-15王琳虹李世武高振海冀秉魁吉林大学交通学院3005长春吉林大学汽车工程学院3005长春
王琳虹,李世武,高振海,冀秉魁(.吉林大学交通学院,3005长春;.吉林大学汽车工程学院,3005长春)
基于粒子群优化与支持向量机的驾驶员疲劳等级判别
王琳虹1,2,李世武1,高振海2,冀秉魁1
(1.吉林大学交通学院,130025长春;2.吉林大学汽车工程学院,130025长春)
为客观、准确地判别驾驶员的疲劳程度,采用多项驾驶员生理指标、基于粒子群与支持向量机(SVM)算法建立驾驶疲劳等级判别模型,首先将驾驶员疲劳状态分为清醒、轻度疲劳、重度疲劳和睡意4个等级,然后将驾驶员的心电RR间期标准差、心率均值、呼吸潮气量、脑电的α波、β波和δ波功率谱密度积分等作为SVM的输入变量,驾驶疲劳等级作为输出变量,引入粒子群算法优化SVM的惩罚系数和核函数参数对判别模型进行标定,采用吉珲高速公路上的实车实验数据对模型有效性进行验证.结果表明:本模型对4项疲劳等级的判别准确率均高于85%,对于驾驶员疲劳预警具有重要意义.通过对模型各个输入变量的敏感性分析,证明基于多项生理指标的疲劳判别较基于单生理指标的疲劳判别更加有效.
驾驶员生理指标;疲劳判别;支持向量机;粒子群;敏感性分析
当驾驶员处于疲劳状态时极易出现观察、判断以及操纵上的失误,进而导致交通事故的发生.据美国国家交通安全协会统计,28%的交通事故由驾驶疲劳造成.因此,及时辨识驾驶员疲劳状态并进行预警对于预防交通事故具有重要意义.
在驾驶员状态由清醒变为疲劳的过程中,其生理指标如脑电、心电等会产生一定的变化,因此,许多学者尝试基于生理指标研究驾驶疲劳的判别方法,并取得了一定成果[1-3].李默涵等[4]基于脑电信号参数,依托灰色模型GM(1,1)建立了驾驶疲劳灰色判别系统.赵春临等[5]提取前额、顶叶、枕叶等6个通道的多维脑电信号特征组成特征向量,基于核主分量分析和优化支持向量机建立了驾驶员精神疲劳等级判别模型.Hu Shuyan等[6]根据KSS分类法将驾驶疲劳分为3个等级,并选择眼睑相关参数最小持续时间、最小睁眼速度和睁眼高度作为判别指标,基于支持向量机建立了驾驶员疲劳判别算法;Yang Guosheng等[7]对心电ECG、脑电EEG信息进行融合,并利用动态贝叶斯网络判别驾驶员疲劳的概率,之后对比只有ECG或者EEG以及两参数皆有时的判别率,实验结果表明ECG与EEG的综合信息在表征驾驶员疲劳状态方面更加有效.
综上,国内外学者在基于生理指标判别驾驶员疲劳方面进行了大量研究,促进了疲劳判别技术的快速发展.然而目前国内外学者通常选取相对比较单一的生理指标作为疲劳判别模型的输入参数,而在驾驶员状态由清醒到疲劳的过程中,其多项生理指标如脑电、心电、呼吸等均会不同程度地发生变化,上述生理指标如何综合反应驾驶员疲劳状态并未见报道.因此本文尝试选择多项生理指标的不同特征参数作为判别驾驶疲劳的特征变量,基于粒子群优化与支持向量机建立驾驶疲劳判别模型.
1 生理指标优选
影响驾驶员疲劳的因素包括驾驶时间、交通环境等.若驾驶时间过长或交通环境过于单调均会弱化驾驶员对于外界的感知能力、交通状况的判别能力及对车辆的操纵能力,这种弱化会体现在驾驶员的各项生理指标中.驾驶员生理指标可以客观准确地反应驾驶员的生理及精神状态,本文参照几类生理指标对疲劳等级进行参数选择.
1)脑电.人体任何细微的动作及心理变化均可以在脑电中有所体现,利用脑电(EEG)监测驾驶员是相对客观、精确的方法之一.高速公路上路侧景观、交通状况、标志标线等均可以对驾驶员产生视觉及心理刺激,进而反映在脑电波中.人类脑电图中脑波频率一般在1~30 Hz,根据脑电中的不同频带可以将脑电波划分为α、β、θ、δ4个节律.α波的频率为8~13 Hz,通常驾驶员较放松时的脑电图以α波为主;β波的频率为14~30 Hz,在驾驶员处于清醒状态时β波会大量出现;θ波的频率为4~7 Hz,δ波的频率为1~4 Hz,多在驾驶员疲劳时出现[8].以往研究结果表明,δ波较θ波对疲劳状态敏感性更强.脑电图不同节律的功率谱密度均能够不同程度地表征驾驶员的感知、判断能力的准确性,因此选择脑电的α波、β波和δ波功率谱密度积分(即能量)作为判别驾驶员疲劳程度的生理指标参数.
2)心电.心电反映的是心脏的活动情况,心脏同时受交感神经和副交感神经的支配,而交感神经系统的主要功能在于提高有机体的唤醒水平;副交感神经系统的功能是使兴奋起来的躯体返回到较低的唤醒水平.驾驶员的疲劳程度与机体的唤醒水平密切相关,因此心电可以在一定程度上反映驾驶员的疲劳程度.一次完整的心跳包括P、Q、R、S、T 5种波,如图1所示.R波的峰值远高于其他波(P、S等)峰值,因此心率等于单位计数时间内R波的数量.RR间期即为相邻两个R波之间的间隔时间,单位时间内一系列RR波时间间隔的标准差即为RR间期标准差.心率可反应作业强度及心理生理负担程度,随着工作负荷的变化而变化;心电RR间期的标准差可以反映心率变异性,因此选择心率以及RR间期标准差作为判别驾驶员疲劳程度的生理指标.
图1 心电图简图
3)呼吸.呼吸可一定程度表征驾驶员的情绪、疲劳程度,每次呼出或吸入的空气量定义为潮汐量(潮气量).呼吸潮气量作为呼吸深度的量化指标,可有效地反映驾驶员的精神及体力状态.
综合分析驾驶员的驾驶行为与各项生理指标的相关性,选择如下6个生理参数作为判别驾驶员疲劳程度的依据:脑电的α波、β波和δ波功率谱密度积分,心电RR间期标准差,心率均值,呼吸潮气量.
2 SVM判别模型建立
支持向量机(support vectormachine,SVM)是Corinna Corte等于1995年首先提出的,在解决小样本、非线性、高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[9].受实验条件的限制,驾驶员的生理数据的数据采集量有限,且选择的生理指标特征参数较多,而支持向量机可以较好地解决样本有限及高维模式问题,因此本文选择支持向量机作为驾驶疲劳判别模型.
2.1 SVM原理
SVM是从线性可分情况下的最优分类面发展而来的,其基本思想可用图2所示的二维情况表明.
图2 可分数据点集与分类超平面
图2 为两个可分的数据点集与分类超平面,图中存在多个分类超平面,需找到最优分类超平面.设有两类线性可分的样本集合[10](xi,yi),i=1,…,n,xi∈Rn,yi∈{+1,-1},线性判别函数的一般形式为f(x)=ωTx+b,对应的分类超平面方程为ωTx+b=0.
将判别函数进行归一化,使两类所有样本满足|f(x)|≥1,此时离分类面最近的样本为|f(x)|=1,要求分类面对所有样本都能正确分类,即满足
此时分类间隔等于2/‖ω‖,间隔最大等价于‖ω‖2最小.满足式(1)、且使‖ω‖2最小的分类面就是图2的最优分类面[10].
SVM是从线性可分情况下的最优分类面提出的.对于线性不可分情况,当用一个超平面不能把两类点完全分开时,可以引入松弛变量ξj(ξj≥0,i=1,2,…,n),允许错分样本的存在,此时的分类面ωTx+b=0满足
当ξi<1时样本点xi被正确分类,而当ξi≥1时样本点xi被错分.为此引入目标函数
式中:c为惩罚因子,是一个正常数.
此时SVM可以通过二次规划(对偶规划)来实现,即
用核函数K(xi,xj)代替最优分类平面中的点积j,相当于把原特征空间变换到了某一新的特间,最终得到相应的分类判别函数式为
2.2 SVM结构设计
核函数.核函数是SVM算法的一个关键组成部分,常见的核函数有线性、多项式、径向基和sigmoid函数.本文采用最为常见的径向基(RBF)函数,即
其中:γ为核函数参数,γ也可写为gamma,简写为g.
本文中支持向量机的输入变量是驾驶员的6项生理指标:脑电的α波、β波、δ波功率谱密度积分,心电RR间期标准差,心率均值,呼吸潮气量.
支持向量机的输出变量为驾驶员的疲劳等级,本文将驾驶员的疲劳等级分为4个等级,包括清醒状态、轻度疲劳、重度疲劳和睡意状态.国际上较为流行的KSS以及皮尔逊疲劳分级法分别将驾驶员疲劳等级划分为7个、13个等级,这种划分方法虽然能够精确地反映驾驶员的各种疲劳状态,然而在进行实车实验时,驾驶员的实际疲劳等级主要通过调查人员询问获得,这种询问应该以尽量保证驾驶员状态的持续性以及驾驶安全性为前提.如果对于疲劳等级划分过细,那么驾驶员在回答询问时必将仔细考虑其当前所处的最佳疲劳等级,思考过程将消耗较多时间,对其疲劳状态以及驾驶安全性造成影响.因此,为了能够使驾驶员轻松地判别出自身状态、且又能够准确反映其疲劳等级,本文将驾驶员疲劳状态划分为清醒状态、轻度疲劳、重度疲劳和睡意状态4个等级.其中清醒状态为驾驶员驾驶之初反应能力、操纵能力均非常强的阶段,可以对外界环境变化作出快速响应.轻度疲劳状态为驾驶员驾驶一段时间后,因体力减弱,导致的轻微疲劳.重度疲劳为驾驶较长时间后,驾驶员出现反应能力、操纵能力迅速下降,身体极度疲惫的状态.睡意状态为驾驶员已经不可控的经常会出现瞌睡的阶段,行驶路线多为曲线的阶段(此时已接近高速公路的服务区,驾驶员必须要马上休息).为后续表述方便,将其依次简化为疲劳等级1、2、3、4.
2.3 基于粒子群算法的SVM改进
利用支持向量机作分类预测时需要调整相关的参数(主要包括惩罚参数c和核函数参数g)才能得到比较理想的预测分类准确率,且对初始值依赖较大,而粒子群算法搜索速度快、效率高,算法简单,可以更好地提升分类器的性能.因此,本文采用粒子群算法对SVM的关键参数c、g进行优化,以提高分类效率.
粒子群优化算法[10]最早由Kennedy和Eberhaert于1995年提出.假设在一个D维的搜索空间中,由n个粒子组成的种群X=(X1,X2,…,Xn),其中第i个粒子表示成为一个D维的向量Xi=(xi1,xi2,…xiD)T,代表第i个粒子在D维搜索空间中的位置,亦代表问题的一个潜在解.在SVM中需优化两个参数(惩罚因子c和核函数参数g),因此D=2,即每个粒子是二维向量;而一般种群数量为粒子维数的5~10倍,因此定义n=20.
根据目标函数即可计算出每个粒子位置Xi对应的适应度值.粒子群中所有粒子适应度的整体变化可以跟踪粒子群的状态,本文将粒子群的群体适应度方差δ2作为适应度函数,δ2=,其中n为粒子群的粒子数目,f为i第i个粒子的适应度,favg为粒子群目前的平均适应度,δ2为粒子群的群体适应度方差,δ2越小越收敛.第i个粒子的速度为Vi=(Vi1,Vi2,…ViD)T,其个体极值为Pi=(Pi1,Pi2,…PiD)T,种群的全局极值为Pg=(Pg1,Pg2,…PgD)T.在每一次迭代过程中,粒子通过个体极值和全局极值更新自身的速度和位置,更新公式可得
式中:ω为惯性权重;d=1,2,…,D;i=1,2,…,8;k为当前迭代次数;Vid为粒子的速度;c1、c2为加速度因子,为非负的常数;r1、r2为分布于[0,1]的随机数.为防止粒子的盲目搜索,一般建议将其位置和速度分别限制在[-Xmax,Xmax]和[-Vmax,Vmax],进化次数为200次,其位置在[-5,5],速度在[-1,1],具体的流程见图3.
图3 粒子群优化流程
3 实例验证
3.1 数据采集
通过在吉珲高速公路长春—珲春段进行为期1周的实车道路试验,采集驾驶员生理数据并记录驾驶员疲劳状态.吉珲高速始于吉林省吉林市,途径蛟河、敦化、安图、延吉,终止于珲春市,是吉林省内的一条重要交通通道.因东西距离较长,且跨越吉林省中部平原、东部山地等不同地形,驾驶难度较大,适合于驾驶疲劳研究的数据采集.
该实车道路试验选择15名实验驾驶员(12男和3女),年龄在30~45岁之间,驾龄均为3 a以上.要求驾驶员在实验前一天具有充足的睡眠、精神状态良好,不可饮酒、咖啡及服用药物等,以免对其生理指标产生影响.本实验采用美国Biopac公司的MP100 16导生理记录仪对驾驶员的生理指标进行采集.每天的实验时间为8:00—18:00.实验时沿途保持车内安静,调查员在副驾驶位置上每隔15 min向驾驶员询问其疲劳状态并进行记录,同时在Biopac记录软件中设置标记点,便于之后的数据处理.具体的实验道路状况及驾驶员生理指标曲线见图4.
3.2 数据分析处理
提取关键时间节点(问询驾驶员时的时间节点)附近1 min的生理数据,共计300组.利用Biopac软件分析模块对提取出的驾驶员各节点生理指标数据进行分析,驾驶员部分生理数据见表1.
图4 实验道路环境以及生理指标曲线示例
表1 驾驶员部分生理数据
3.3 判别结果及误差分析
将驾驶员300组生理指标及其对应的疲劳等级作为实例验证的数据.利用180组数据作为训练集进行SVM训练,训练误差设为10-4,最大迭代次数为500.然后通过粒子群寻优得到最优的惩罚因子c=1.272 7,核函数g=0.002 1.将剩余的120组数据作为测试集,利用最优的惩罚因子及核函数参数进行验证,判别结果见表2,其分类准确率均85%以上.
表2 驾驶疲劳判别结果
根据表中数据可以看出疲劳等级1、4的准确率较高,疲劳等级2、3较低.因为疲劳等级1、4为驾驶员的两个极端状态(清醒状态和有睡意),因此生理指标比较明显,判别准确率较高.而疲劳等级2、3的生理指标聚类效果则相对较差,尤以疲劳等级2最低,这是因为当驾驶员处于疲劳等级2、3时已经稍微疲劳,但为了安全驾驶仍然强迫自己趋于清醒状态,导致生理指标曲线波动幅度较大,所以判别率稍低.但整体基于粒子群优化的SVM算法判别率达到了85%以上,判别效果较好.
3.4 敏感性分析
本文采用多项生理指标判别驾驶疲劳,能够取得较好的判别率.然而使用多个生理指标是否可以有效提高疲劳等级判别的准确率是本文需要回答的另一个问题,下面采用敏感性分析的方法进行研究.
判别准确率和判别时间是衡量模型性能的两个关键指标,其中判别时间用以反映模型的收敛速度和鲁棒性.在研究中,分别选择4、5、6个生理参数作为SVM模型的输入变量,具体输出指标见表3.
表3 敏感性分析结果
从表3中可以看出,随着输入变量的增加,判别率有所提高,证明模型所选取的6个输入变量在判别率方面优于较少数量的输入变量.在判别时间方面,随着输入变量的增加,判别时间减少,这是由于多个变量能够更加全面地反应驾驶员疲劳状态,所以模型收敛速度快.而输入参数减少时,模型优化时间较长,所以判别时间也随之延长.
此外,通过对比不同实验的输出指标可以分析各个变量在模型中的重要程度.比如将输入变量中的呼吸潮气量换作心率均值后模型判别率有所提高,说明在本模型中后者较前者更为重要.同理可得,RR间期标准差较心率均值更能反映驾驶员疲劳等级.
4 结 论
1)为有效判别驾驶员的疲劳程度,建立了基于粒子群与支持向量机的判别模型.选取驾驶员的心电RR间期标准差、心率均值、脑电的α波、β波和δ波功率谱密度积分、呼吸潮气量等作为疲劳等级的判别指标.
2)以吉珲高速公路的实车道路实验数据对模型有效性进行验证,结果表明模型判断准确率达到85%以上.通过对模型中的各个输入变量进行敏感性分析,获取了各个参数对疲劳判别的贡献程度.
[1]马艳丽,裴玉龙.连续驾驶时间对驾驶特性测评指标的影响[J].中国公路学报,2009,22(1):84-88.
[2]CHENG Bo,ZHANG Wei,LIN Yingzi,et al.Driver drowsiness detection based on multisource information[J].Human Factors and Ergonomics in Manufacturing&Service Industries,2012,22(5):450-467.
[3]CRAIG A,TRAN Y,WIJESURIYA N,et al.Regional brain wave activity changes associated with fatigue[J]. Psychophysiology,2012,49(4):574-582.
[4]李默涵,江朝晖,冯焕清.脑电的灰建模和驾驶疲劳特征提取[J].生物医学工程学杂志,2009,26(4):258-263.
[5]赵春临,郑崇勋,赵敏.基于核学习算法的驾驶精神疲劳分级研究[J].数据采集与处理,2009,24(3):335-339.
[6]HU Shuyan,ZHENG Gangtie.Driver drowsiness detection with eyelid related parameters by support vector machine[J].Expert Systemswith Applications,2009,36(4):7651 -7658.
[7]YANG Guosheng,LIN Yingzi,BHATTACHARYA P.A driver fatigue recognition model based on information fusion and dynamic Bayesian network[J].Information Sciences,2010,180(10):1942-1954.
[8]李影洁,邱意弘,朱贻盛.脑电信号分析方法及其应用[M].北京:科学出版社,2009.
[9]白鹏,张喜斌,张斌,等.支持向量机理论及工程应用实例[M].西安:西安电子科技大学出版社,2008.
[10]史峰,王小川,郁磊,等.Matlab神经网络30个案例分析[M].北京:北京航空航天大学出版社,2010.
(编辑 魏希柱)
A driver fatigue level recognition model based on particle swarm optim ization and support vector machine
WANG Linhong1,2,LIShiwu1,GAO Zhenhai2,JIBingkui1
(1.College of Transportation,Jilin University,130025 Changchun,China;2.College of Automotive Engineering,Jilin University,130025 Changchun,China)
To recognize driver′s fatigue level accurately and objectively,a driver fatigue level recognition model that employsmultiple psychological featureswas developed based on particle swarm optimization(PSO)and support vectormachine(SVM).Firstly,the driver fatigue was divided into four levels,which were alert,mild fatigue,deep fatigue and drowsiness.Then alpha rhythm,beta rhythm,delta rhythm,mean of heart rate,and standard deviation of R-R intervalwere selected as input variables of the SVM model.The PSO was introduced into the model to optimize the penalty parameter and kernel function parameter of SVM. Experimental data collected in Ji-Hun freeway was used to validate the effectiveness of the recognition model. Results show that the recognition precision of the four fatigue levels are higher than 85%.Sensitive analysis of themode is also conducted and the results prove that themodel usingmultiple features outperforms themodel using fewer features.
driver′s psychological features;fatigue recognition;support vector machine;particle swarm optimization;sensitive analysis
U491.2
A
0367-6234(2014)12-102-06
2013-11-05.
国家自然科学基金(51308251);中国博士后科学基金(2013M541306).
王琳虹(1984—),女,博士,讲师;李世武(1971—),男,教授,博士生导师.
李世武,shiwu@jlu.edu.cn.