基于司机驾驶状态识别的车道偏离报警方法
技术领域
本发明属于智能交通领域,具体涉及判断司机状态方法,并结合应用到车道偏离报警***中。
背景技术
在长距离行驶中,司机容易出现疲劳,车辆容易偏离正常行驶的道路,从而引发严重的交通事故,造成重大的人员伤亡和财产损失。研究中发现,随着疲劳程度的加深,司机对车辆的控制精度降低,表现为对方向盘修正频度减少,从而方向盘转角和车辆横向状态变量的波形出现波动频度减少的特征;由于方向盘修正频度减少,车辆状态得不到及时修正,从而车辆状态变量的波形出现单调大幅波动的特征;为了修正大幅波动的车辆状态,司机的方向盘操作出现了大幅快速修正,这样方向盘操作变量和车辆状态变量又出现大幅快速波动特征。目前的车道线偏离报警***仅根据车道线偏离的情况向司机发出车道偏离的报警提示,存在过于频繁地发出报警提示的问题。
发明内容
本发明的目的是为解决目前的车道线偏离报警***仅根据车道线偏离的情况向司机发出车道偏离的报警提示,存在过于频繁地发出报警提示的问题。
为实现上述目的,本发明的技术方案如下:
提供一种基于司机驾驶状态识别的车道偏离报警方法,包括以下步骤:
(1)从车载传感器上采集司机对方向盘的控制情况;
(2)建立方向盘操作的统计性能指标特征集;
(3)根据性能指标特征信息,判断司机是否疲劳;
(4)根据司机疲劳状态和车道线偏离情况,判断是否向司机提出警告。
步骤(1)具体为:从车载传感器或CAN总线上,获取反映司机对车辆方向盘控制情况的六个参数:方向盘转角θ
i、方向盘转角速率
横摆角
横摆角速率
横向位置H
i、横向速度
步骤(2)具体为:从方向盘转角θ
i、方向盘转角速率
横摆角
横摆角速率
横向位置H
i、横向速度
六个参数绝对值序列中提取均值(Mean)、方差(Std)、均方值(RMS)、极大值(Max)、四分位值(Q1、Q2、Q3)基本统计类指标:
(1)各个参数的均值为:
(2)各个参数的方差为:
(3)各个参数的均方值为:
(4)各个参数的极大值为:
(5)各个参数的四分位值为:
Q1:第一四分位数,等于该样本中所有数值由小到大排列后第25%的数字;
Q2:第二四分位数,等于该样本中所有数值由小到大排列后第50%的数字;
Q3:第三四分位数,等于该样本中所有数值由小到大排列后第75%的数字;
将各个参数值由小到大排列,根据下列方法查找其Q1,Q2,Q3的值:
情况1:如果L是一个整数,则取参数序列中第L和第L+1的平均值;
情况2:如果L不是一个整数,则取上整数
处的序列值作为分位值;
统计下列几种经验类指标包括:
(1)方向盘小幅修正次数(STREVSML),
(2)方向盘大幅修正次数(STREVLRG),
(3)方向盘持续不动次数(NMRHOLD),
(4)方向盘持续不动时间(THRSHLD),
(5)方向盘最大角度标准差(SDA),
(6)方向盘转角速率最大零速百分比(PNS),
(7)过线时间(TLC);
以司机驾驶车辆,在高速公路环境中采集清醒状态,轻度疲劳,重度疲劳情况的指标值,对这些指标值进行统计分析和判别子集筛选。采用顺序向前浮动搜索策略,从疲劳判别指标全集Y={yi|i=1,2,...,D}中选择疲劳判别指标子集Xk,以Xk为输入,利用交叉验证法训练和测试基于SVM建立的司机疲劳状态检测模型,测试结果作为评价准则函数值J(Xk),然后以J(Xk)为目标函数,从疲劳判别指标全集中筛选出使疲劳检测模型识别准确率最高的优化指标子集。
步骤(3)具体为:以疲劳判别指标的优化结果作为SVM的输入,采用有序无向图法组织司机三级疲劳(清醒,轻度疲劳,重度疲劳)决策,建立司机疲劳状态检测模型:
其中,x为未知样本,(xi,y)是f1,f2,f3的支持向量,l,m,n分别是f1,f2,f3的支持向量个数。αi,βi,γi是对应支持向量的系数,b1,b2,b3,是对应支持向量函数的常数项,K(xi,x)是径向基函数;
f1:是清醒-重度疲劳分类器
f2:是清醒-轻度疲劳分类器
f3:是轻度疲劳-重度疲劳分类器
根据这些分类器的分类结果,判断出司机的状态,为后续步骤处理做准备。
步骤(4)具体为:根据上一步骤判断得到的司机疲劳状态,以及车道线偏离报警***判断出的车道线偏离情况,如果司机处于疲劳状态,且车辆已经偏离了正常车道,则向司机发出警告信息。
本发明与现有技术相比,具有以下优点:1.利用了车载传感器输入司机对方向盘的操作情况和车载测速信号等,减少了对外部传感器的依赖;2.仅利用司机对方向盘操作的情况,即方向盘转角、方向盘转角速率、横摆角、横摆角速率、横向位置、横向速度,判断司机的疲劳状态;3.根据司机的疲劳状态和车道线偏离报警***的报警情况,决策是否向司机发出报警信号,报警准确,误报率大大降低。
附图说明
图1为本发明的***流程图;
图2为指标选择算法流程图。
具体实施方式
下面结合附图1,对本发明做进一步说明:
1.从车载传感器或CAN总线上,获取司机对车辆方向盘的控制情况:方向盘转角、方向盘转角速率、横摆角、横摆角速率、横向位置、横向速度,将这些信息进行存储,以便后续处理调用。
2.从数据序列中取方向盘转角θ
i、方向盘转角速率
横摆角
横摆角速率
横向位置H
i、横向速度
等6个参数绝对值序列中提取均值(Mean)、方差(Std)、均方值(RMS)、极大值(Max)、四分位值(Q1、Q2、Q3)等基本统计类指标。
(1)各个参数的均值为:
(2)各个参数的方差为:
(3)各个参数的均方值为:
(4)各个参数的极大值为:
(5)各个参数的四分位值为:
Q1:第一四分位数,等于该样本中所有数值由小到大排列后第25%的数字。
Q2:第二四分位数,等于该样本中所有数值由小到大排列后第50%的数字。
Q3:第三四分位数,等于该样本中所有数值由小到大排列后第75%的数字。
将各个参数值由小到大排列,根据下列方法查找其Q1,Q2,Q3的值。
情况1:如果L是一个整数,则取参数序列中第L和第L+1的平均值。
情况2:如果L不是一个整数,则取上整数
处的序列值作为分位值。
统计下列几种经验类指标包括:
(1)方向盘小幅修正次数(STREVSML)
(2)方向盘大幅修正次数(STREVLRG)
(3)方向盘持续不动次数(NMRHOLD)
(4)方向盘持续不动时间(THRSHLD)
(5)方向盘最大角度标准差(SDA)
(6)方向盘转角速率最大零速百分比(PNS)
(7)过线时间(TLC)等指标
以人驾驶车辆,在高速公路环境中采集清醒状态,轻度疲劳,重度疲劳情况的指标值,对这些指标值进行统计分析和判别子集筛选。本文采用顺序向前浮动搜索策略,从疲劳判别指标全集Y={yi|i=1,2,...,D}中选择疲劳判别指标子集Xk,以Xk为输入,利用交叉验证法训练和测试基于SVM建立的司机疲劳状态检测模型,测试结果作为评价准则函数值J(Xk),然后以J(Xk)为目标函数,从疲劳判别指标全集中筛选出使疲劳检测模型识别准确率最高的优化指标子集。
算法从空集开始,先从疲劳判别指标全集中随机地选择一个指标,并令k=1,然后按照如下步骤进行指标筛选,具体过程如图2所示:
(1)按照指标选入条件,从集合Y-Xk中选择指标xk+1,建立指标集合Xk+1=Xk+xk+1,存储Xk+1和J(Xk+1),并令k=k+1。
(2)如果k≥p+Δ,则按
求取优化结构,输出结果Xd和J(X
d),并退出程序。否则,进入步骤3。
(3)按照指标剔除条件,从已选疲劳判别指标集合Xk中选取指标xr,建立指标集合X′k-1=Xk-xr,计算J(X′k-1)。
(4)如果J(X′k-1)≤J(Xk-1)或k≤2,则退回指标xr,并返回步骤1。
如果J(X′k-1)>J(Xk-1)且k>2,则用X′k-1更新Xk-1,用J(X′k-1)代替J(Xk-1),并令k=k-1,重复步骤3和4。
3.以疲劳判别指标的优化结果作为SVM的输入,采用有序无向图法组织司机三级疲劳(清醒,轻度疲劳,重度疲劳)决策。建立司机疲劳状态检测模型:
其中,x为未知样本,(xi,y)是f1,f2,f3的支持向量,l,m,n分别是f1,f2,f3的支持向量个数。αi,βi,γi是对应支持向量的系数,b1,b2,b3,是对应支持向量函数的常数项,K(xi,x)是径向基函数。
f1:是清醒-重度疲劳分类器
f2:是清醒-轻度疲劳分类器
f3:是轻度疲劳-重度疲劳分类器
根据这些分类器的分类结果,判断出司机的状态。为后续步骤处理做准备。
4.根据上一步骤判断得到的司机疲劳状态,以及车道线偏离报警***判断出的车道线偏离情况。如果司机处于疲劳状态,且车辆已经偏离了正常车道,则向司机发出警告信息。