本发明属于计算机识别领域,具体涉及一种驾驶事件检测和识别方法。
背景技术:
司机在驾驶过程中因路况或个人驾驶习惯常常产生危险的驾驶事件,危险驾驶事件不仅对司机自己的生命财产安全造成威胁,还会对交通产生影响。及时检测和识别出危险驾驶事件对于司机的安全驾驶是很有必要。
危险驾驶事件中发生频率最高的是急加/减速事件,急加速事件是在行驶过程中由于驾驶员在极短时间内踩踏油门过猛导致汽车在短时间内速度急速增加,且加速度增长到一个非常高的值。而急减速事件是由于驾驶员在极短时间内踩踏刹车板过猛导致汽车在短时间内速度急速下降,加速度达到一个非常高的值(负向)。这两类危险驾驶事件与汽车前进方向的加速度有关,而汽车前进方向的加速度可以通过一些传感器获取到。
目前对事件检测和识别的方法主要分为三类:
1、使用阈值方法识别,由于急加/减速事件往往伴随着很高的加速度值,因此使用了基于阈值的判定方法。当检测到加速度超过某一阈值(正负分别对应急加速和急减速)时,即判定发生了急加/减速事件。这样的识别算法效率高,易于实现,但是原始数据中常常伴随着噪声,基于简单的阈值来识别事件会产生大量的误判。
2、使用分类器识别,提取了急加/减速事件中的加速度值的平均值,极值等特征放入svm分类器进行训练,获取可以识别急加/减速事件的分类器。这类算法识别准确率高,但为了保证分类器的准确率需要使用大量的训练集进行训练,时间成本和能耗都很高。
3、使用dtw进行识别,动态时间规整(dynamictimewarping,dtw)算法是一种基于动态规划思想的模板匹配算法,最早应用于语音识别领域。由于个人驾驶习惯,驾驶环境,路况等不同,不同的行为持续的时间,力度都会有所不同。因此考虑基于dtw的事件识别算法通过将待识别数据段与模板进行匹配,可以识别出不同数据长度的事件。使用了dtw进行事件的识别。dtw模板的选择好坏直接影响到使用dtw算法进行识别的准确率。实际情况中,急加减速事件因其加速度极值的不同往往产生的影响程度不同,因此笼统的将很多种复杂情况下的事件都识别成为一类急加/减速事件是不合理的,单一的模板也容易造成与模板略有不同的真实驾驶事件不能被正确识别出来。
技术实现要素:
本发明的驾驶事件检测和识别方法,通过检测系统对加速度数据的进行智能分析,可以针对急加/减速这一危险驾驶事件进行有效的识别,从而提醒驾驶员辅助纠正其驾驶习惯,确保行车安全。
附图说明
图1为本发明中驾驶事件监测和识别方法的总体流程;
图2为本发明中采集的加速度数据映射到汽车前进方向的步骤;
图3为本发明中急加速事件与门限值的关系图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明方法涉及到智能识别、分析等技术,可直接用于根据移动设备获取的加速度值得到汽车的前进加速度值,进而用于对汽车的行驶状态进行识别和危险等级的划分。
如图1所示,所述方法包括以下步骤:
s1、持续获取汽车前进方向的加速度值。
s2、检测急加速事件的起止点,记录期间的数值。
s3、与对应事件模板做匹配,获取事件识别结果。
进一步,在所属步骤s1中,包括:
s11、通过车载设备或手机内置传感器收集加速度数据。
s12、将从设备中采集的加速度数据映射到汽车前进方向的加速度向量。
进一步的,在步骤2中将所述采集的加速度数据映射到汽车前进方向是通过以下步骤,
s121、提取前1s的加速度传感器三轴加速度的平均值作为移动终端坐标系向量(x0,y0,z0)。
s122、根据(x0,y0,z0)三轴绝对值的大小判断与当前移动终端位置最接近的标准姿态,标准姿态共分为6种:水平朝上、水平朝下、竖直长边朝上、竖直长边朝下、竖直短边朝上、竖直短边朝下。
s123、设置汽车坐标系基础向量(x1,y1,z1),其中水平两个轴向加速度为0,第三个轴向加速度的大小为,即重力加速度的大小。
s124、根据移动终端坐标系向量(x0,y0,z0)和汽车坐标系向量(x1,y1,z1)确定从移动终端坐标系到汽车坐标系的变换矩阵r。
根据向量(x0,y0,z0)和(x1,y1,z1)通过公式(1-1)和(1-2)得到变换矩阵r,其中k和v对应(x0,y0,z0)和(x1,y1,z1)。
cosθ=k·v/|k||v|(1-1)
s125、启动汽车,判定汽车当前行驶行为为正向前进。
s126、利用当前加速度传感器提取0的加速度值右乘变换矩阵a0得到汽车坐标系加速度向量(x,y,z)。
s127、将该向量去除掉重力加速度后确定剩余两轴加速度与汽车前进方向的偏转角。
s128、根据偏转角和变换矩阵得到最终汽车行驶坐标系中的前进加速度acc_brake和转弯加速度right_left。
s13、从汽车前进方向的加速度向量中去除重力加速度的影响,并完成滤波降噪。
进一步,如图2所示,在所述步骤s2(以急加速为例,急减速同理)中,包括:
s21、当加速度值超过一定阈值(0.2g)且持续超过1s,表示从这1s开始,司机在进行持续的加速行为,即判定一次疑似急加速事件开始,从第一个超过阈值的点开始记录加速度值。
s22、当加速度值低于一定阈值(0.2g)且持续超过1s,表示从这1s开始,司机没有在继续进行高阈值的加速,即判定一次疑似急加速事件结束,停止记录加速度值。
s23、保存起止点间记录的加速度数据。
s24、根据预先设定的三个门限值,例如三个门限值为0.2g,0.3g,0.4g,将加速度数据与门限值的比较,将超过对应门限值的危险驾驶事件分为疑似轻微急加速事件、疑似中等急加速事件、疑似严重急加速事件。
进一步,在所述步骤s3中,包括:
s31、将步骤s2中提取出的三类疑似急加/减速事件分别与对应的事件模板进行匹配,当与模板距离小于一定阈值(1.5)时,即表示该数据段与模板数据段相似度较高,当前疑似急加/减速事件为真实急加/减速事件。
所述事件模板是预先采集并标记的真实驾驶事件对应的传感器数据,其完成了从原始数据到汽车前进方向坐标系的映射。
如图3所示,在利用0.2g的阈值截取了一段疑似急加速事件后,根据严重程度(0.3g,0.4g)又从整段急加速事件拆分出1段疑似轻微急加速事件,2个疑似中等急加速事件,1个疑似严重急加速事件。分别与对应的事件模板数据做距离比较时,预先设定一个距离的阈值,例如1.5。
对于两段时间序列数据段,疑似事件的数据段e和事件模板对应的数据段m,计算它们之间的距离:
1、定义两个序列任意两点ei,mj的距离为真实数据值的差,i=1,2,3...n,j=1,2,3...,m,n,m为正整数。
2、定义两段时间序列e,m的距离为:从两者第一个数据点(e1,m1)开始,最后一个数据点(en,mm)结束,计算对应数据点的距离,e,m距离为这些点之间距离的加和。
其中计算两点间的距离时,数据点对应的规则有:
a)边界:两段数据的首尾一定是第一条与第一条对应,最后一条与最后一条对应。
b)连续性:对于e中的某个点,只能与m序列中第一个未匹配过的数据点或者刚刚匹配过的数据点(m中的点同理),也就是说不能跨过某个点去做对应或者说匹配,这样保证两个数据段中所有点都有对应的点。
c)单调性:两个序列上的点要按照时间顺序进行对应匹配,不能跨过某一个点。
数据段e和m长度并不是总相同(n不一定总和m相同)。这时对于e上的某个点,可能要与m中多个点计算距离(也可能发生e中多个点与m中某个点计算距离)。e和m的距离就是众多可能的匹配结果中最短的距离
计算最短距离的方法为:
a)初始化系统设置e和m的初始距离为d=0.
b)检测系统从第一个点对(e1,m1)开始,对于每一个点对(ei,mj),根据公式(1-3)计算记录对应点的距离d,
d=min{d(ei-1,mj-1)+d(i,j),d(ei-1,mj)+d(i,j),d(ei,mj-1)+d(i,j)}(1-3),
其中d(i,j)为模板中ei,mi的欧式距离,随着i,j的增加计算逐段路径距离d的和。
能够造成当前要匹配的点对是(ei,mj)的情况一共有三种:
上一个匹配点对是(ei-1,mj),然后事件段e向前移动一个点,m不变;
上一个匹配点对是(ei,mj-1),然后模板段m向前移动一个点,e不变;
上一个匹配点对是(ei-1,mj-1),然后事件段e和模板段m都向前移动一个点;
最终要计算的累计距离d应该等于前一个匹配点的累计距离加上当前匹配点(ei,mj)的距离,因为最终目标是要得到最小的累计距离,因此分别计算上述的三种情况下的d,取最小的即可。
c)加上最后一个点对(en,mm)距离后得到的距离中,值最小的路径即两段序列各个点匹配的结果,这个值就是e和m的距离。
s32、当识别出两类或三类急加/减速事件时,按照严重程度从大到小,即严重急加/减速事件>中等急加/减速事件>轻微急加/减速事件的顺序判定全体加速度记录的类别。例如在某一数据段内同时识别出了严重急加速事件和中等急加速事件,则统一标记该数据段对应的疑似急加速事件为真实的严重急加速事件。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。