APP下载

改进的滑动窗口算法与SVM在换道行为识别中的应用①

2019-01-18程寒寒王吉武安毅生

计算机系统应用 2019年1期
关键词:陀螺仪滑动样本

李 欢, 程寒寒, 王吉武, 安毅生

(长安大学 信息工程学院, 西安 710064)

汽车保有量的不断增加使得社会愈发关注交通安全问题, 统计分析发现不良驾驶行为是造成交通事故频发的主要原因之一. 换道行为是驾驶人综合考虑自己的驾驶需要、安全性、周围车辆及道路状况等多个因素之后, 驶离当前所在车道同时驶入相邻的目标车道的一种典型的驾驶行为[1]. 危险的换道行为极有可能造成严重的交通事故, 因此在车辆实际行驶过程中识别出驾驶员的换道行为是非常有意义的.

在实际驾驶环境中, 换道一般存在两种情况: 一种是不完全必要的自主换道, 这一般只是驾驶员为了获得更好的驾驶体验, 比如更快的速度; 另一种是完全必要的强制换道, 这一般是驾驶员出于驾驶需要, 比如即将行驶至转弯、匝道分流或出口处等情况[2,3].

现如今, 隐马尔科夫模型(HMM)、贝叶斯网络(BN)、神经网络(NN)、支持向量机(SVM)及图像检测等方法在识别驾驶意图的问题中被广泛采用[4,5]. 此外还有基于GPS数据、车辆轨迹数据及视频图像等方法. 对于换道行为的识别, 国内外有大量的相关研究:如A.Bhatt等人提出的驾驶员行为识别方法是利用HMM对驾驶机动进行表征和检测, 并将其置于人类行为认知模型的框架中[6]. 而杨龙海等人建立的基于HMM的换道行为识别模型是利用车载GPS定位数据和换道时换道车与其周围车辆的参数分布特征[7].Li等人结合HMM和贝叶斯滤波提出换道意向识别算法[8]. Cao等人提出的基于多隐马尔可夫模型是通过对交通场景中车辆机动行为的识别和预测, 建立了多因素影响下交通微观情景的时空依赖性模型[9]. Leonhardt等人在评估驾驶员行为、驾驶状况及车辆运动的基础上, 提出一种预测即将发生的变道情况的算法, 并应用机器学习参数化的人工神经网络对所获得信息进行融合和分类[10]. Zhu提出基于SVM的驾驶行为识别方法[11]. Moridpour等人提出了换道模型, Yang等人提出了换道模型的同时还提出了判断换道执行开始时刻点和结束时刻点的标准[12,13]. Zhao等人提出基于驾驶行为、道路环境和自车状态等多类信息的驾驶员变道意图识别模型[14]. Chen等人利用视频图像处理技术提取和拟合车道线, 再结合使用SVM进行分类训练, 来对换道行为进行识别[15].

上述方法各有优劣, HMM对动态时间序列有较强的建模能力, 计算量小, 不足是过多依赖先验知识.Bayes分类法需要的参数较少, 但通常需假设属性之间独立, 这经常不成立, 并且也要知道先验概率. NN分类准确率高, 鲁棒性强, 但需大量参数, 训练时间过长. SVM在小样本, 高维模式, 非线性问题中表现突出, 泛化能力优秀, 缺点是对缺失数据敏感. 综合考虑, 本文拟采用SVM来建立识别车辆换道行为的模型; 更进一步地, 本文在连续换道行为识别时提出了一种基于滑动窗口模型的改进的数据流处理算法.

概括来讲, 本文的具体研究内容如下: 一方面是基于SVM算法对单一换道行为和连续换道行为训练出换道模型, 建立换道行为分类器; 另一方面, 在连续换道行为的识别过程中提出了一种改进的滑动窗口算法暨N-δ滑动窗口截取算法, 旨在准确获取连续变换过程中的车辆行为, 对包含多个行为的数据进行快速划分.

这是由于在处理连续换道的数据流时, 一定的数据窗口内可能会包含两种或多种车辆行为, 影响识别准确率, 本文提出的N-δ滑动窗口截取算法在一定范围内对数据窗口进行调节, 即将待检测的未知样本划分为可用于换道行为识别的测试集, 这样大大提高了对连续换道行为的识别准确率.

本文提出的改进算法可对连续换道数据进行分段,训练的分类器可以用于换道行为的识别.

图1表示完整的车辆换道过程, 依次是换道意图产生(ab)、换道行为准备(bc)、换道行为实施(ce)和换道完成调整(ef)四个阶段. 本文则主要关注车辆在ce段车辆参数特征, 然后根据这些特征使用SVM算法建立换道行为模型进行识别.

图1 车辆换道过程

1 支持向量机概论

支持向量机是二类分类模型, 其核心是寻求一个使两类样本间隔最大的最优超平面.

1.1 线性分类

当两类样本线性可分时, 如图2, 正方形和圆为两类样本, H为划分超平面, H1、H2为平行H且分别距两类样本最近的超平面, 当分类间隔(H1和H2间隔)最大时, H即为最优超平面.

图2 线性分类的最优超平面

H在样本空间可表示为:

式中, ω =(ω1;ω2;···;ωd)为法向量,b为位移项.

最优超平面H所对应的模型为:

可得分类间隔:

使用拉格朗日乘子法对式(5)进行求解可得所求模型:

1.2 非线性分类

1.3 近似线性可分

实际问题中较为困难的是选择出合适的核函数.退而求其次, 我们允许支持向量在一些样本上出错, 即允许某些样本可以不满足约束条件(3), 于是引入惩罚因子C>0和松弛变量ξi≥ 0, 可得SVM为:

2 数据模块

2.1 数据获取

IOS智能设备中嵌入的加速计和陀螺仪能够感知宿主设备的状态. 我们将iPad固定在车辆上, 获取车辆行驶过程中加速计和陀螺仪的数据来代表宿主车辆的行为数据, 借此实现了低成本的数据采集. 提取数据特征来构造特征向量, 使用SVM进行模型的训练和测试.

在后续步骤里换道行为识别准确率受此处设备采样频率影响, 若频率过高会影响设备工作性能, 产生额外负担, 过低则可能出现信号失真, 导致识别效果不佳.由Nyquist采样定理知: 采样频率大于信号最高频率2倍时, 采集的信号可以完整保留原始信号的信息. 实际中, 一般保持采样频率为最大频率的2.56~4倍. 本文综合权衡要保留信号特征的需要及对设备性能的考虑,设定加速计与陀螺仪采样频率均为50 Hz.

2.2 数据预处理

采集到的原始数据存在一定的误差. 其来源首先是由于路况和速度的不同, 车辆行驶时会产生一些随机噪声; 其次, 加速计和陀螺仪本身也存在稳定性和精度的不足; 另外, 即使车辆静止, 采集到的传感器数据也存在上下抖动的现象. 因此, 若对采集到的数据不加修正就计算特征值会存在明显的累计误差, 为了降低这样的累计误差, 使数据尽可能的准确, 我们必须对原始数据进行预处理. 在此我们针对原始数据存在的“漂零”现象采用数据标零, 为去除高频噪声采用低通滤波,分别如下两式表示:

式(10)中,y′(i)为滤波后数据,为当前获得数据,y′(i-1)为前一个经过滤波的数据.

2.3 特征提取

本文采集数据画出向左、向右换道过程中的数据曲线如图3至图6所示.

由图3至图6可以看出, 车辆换道过程中加速计的X、Y、Z轴数据和陀螺仪X轴和Y轴的数据变化都不太明显, 只是在零附近上下抖动, 但是陀螺仪Z轴的数据却有十分明显的变化. 由图4可以看出, 车辆向左换道时, 陀螺仪Z轴数据呈现出从0附近开始增大、减小, 再增大的走势; 由图 6 可以看出, 车辆向右换道时, 陀螺仪Z轴数据呈现出从0附近开始减小、增大, 再减小的走势, 即在换道过程中相较于其它轴细微的变化, 陀螺仪Z轴数据变化最为明显. 因此, 本文拟选择陀螺仪Z轴数据的最大值、最小值、前后差值、均值以及方差组成特征向量, 使用SVM算法训练出车辆换道的模型用于识别车辆换道行为.

图3 向左换道加速计曲线图

图4 向左换道陀螺仪曲线图

图5 向右换道加速计曲线图

3 模型建立

车辆换道行为识别模型的整体架构如图7所示,主要由参数获取模块和训练识别模块组成.

图6 向右换道陀螺仪曲线图

3.1 单一换道行为模型

对于单一换道行为, 训练时使用标准支持向量机,第一步将正常行驶和换道区分开来, 第二步再将换道中的向左和向右区分出来. 第一步分类模型训练的过程如下描述:

1) 选择由换道时和正常行驶时陀螺仪Z轴的数据得到的特征向量构成训练样本集;

2) 基于1)得到的训练样本构造支持向量机;

3) 使用拉格朗日乘子法求解2)中构造的支持向量机.

在求解过程中对核函数和参数进行选择, 结果分别如表1、表2所示. 从C值和训练集分类准确率两方面综合权衡考虑, 在此选择线性核函数且C值取10.

第二步分类训练: 向左换道和向右换道时, 由陀螺仪Z轴数据提取得特征向量, 形成训练集后分析可知线性可分, 所以用线性SVM进行求解.

3.2 连续换道行为模型

在实际道路驾驶环境中, 频繁换道或连续换道是一种极不安全的驾驶行为, 其大大增加了交通事故发生的风险. 因此, 针对连续换道行为的识别, 本文提出了一种N-δ滑动窗口截取算法, 它是将滑动窗口模型与端点检测算法结合实现的一种改进算法.

滑动窗口模型采取流量控制的方式, 只关注从某一时刻开始向前的最近的一定量的数据, 持续到达的数据流在固定窗口里的不断流动更新. 这种模型的优点包括更强调新到达的数据, 消除随机选择不当导致的误差, 很好的定义和处理待检测数据.

车辆换道行为的端点检测就是通过一定的方法检测出换道行为的开始和结束. 本文使用的端点检测是建立在语音端点检测的基础上, 而语音端点检测通常有短时平均能量法和平均过零率两种方法. 本文通过短时能量平均法计算车辆换道行为起点和终点的能量值来实现对换道行为的端点检测. 具体以陀螺仪Z轴数据为例, 窗口的大小为k, 样本点i至i+k-1之间的短时平均能量可通过下式计算:

图7 车辆换道行为识别整体架构图

表1 线性核

表2 多项式核和高斯核

此改进算法的具体思路是首先截取一定大小的数据窗口, 计算指定数据点的能量值, 通过与起点、终点能量值的比较, 在一定范围内来进行相应的数据窗口前移、缩小、扩大等移动调节操作, 重复计算和比较,直至样本点数小于某个要求数值, 完成截取过程. 它实现了将待检测未知样本划分为多个测试样本, 即对包含多个行为的数据进行快速划分, 显著提高了连续换道行为的识别准确率.

对多组换道样本分析知, 换道行为一般持续5 s(大约250个样本点)左右, 分别取前10个、后10个样本点计算换道行为起点、终点能量值. 样本截取的原始窗口大小设置为250.

算法步骤具体描述如算法1.

算法1. N-δ滑动窗口截取算法 输入: 包含n个样本点的待检测未知样本段, 换道行为的起始能量值, 结束能量值 , 原始窗口大小p, 计算能量值的样本点数δ.输出: 截取完成的用于换道行为识别的测试集.1 N←第1个样本点到第p个样本点的数据窗口;2 Tc←N窗口内最后δ个样本点的能量值;3 while(剩余样本点数>250) 4 while()5 N←第1个样本点到第N-δ个样本点的数据窗口;6 Tc←N窗口内最后δ个样本点的能量值;7 end while 8 M←第N+1个样本点到第N+p个样本点的数据窗口;9 Tc←M窗口内最后δ个样本点的能量值;10 while()11 M←第N+1个样本点到第M+δ个样本点的数据窗口;12 Tc←M窗口内最后δ个样本点的能量值;13 end while 14 if(剩余样本点数<250)then 15 output 截取完成的测试集else 16 N←第M+1个样本点到第M+p个样本点的数据窗口;17 Tc←N窗口内最后δ个样本点的能量值;18 end else 19 end if 20 end while

4 模型分析

用SVM训练得到的模型对测试样本进行识别, 当识别结果与测试样本的实际标识一致时, 认为识别正确, 反之认为误判. 对单一换道行为, 采集多组数据直接进行识别; 对连续换道行为, 采集多组包含多个换道行为的数据, 使用N-δ滑动窗口截取算法得到每组数据的测试集, 再使用已经训练好的分类器对测试集进行识别, 实验结果如表3所示.

表3 单一换道行为和连续换道行为的识别结果

由表3可以看出, 单一换道行为模型的识别率较高, 基本都达到了90%以上, 可知由选择的核函数和参数训练得到的模型能够很好的识别车辆的单一换道行为. 另外, 虽然连续换道行为模型对测试集的识别率比单一换道行为模型低, 但也大都达到70%以上, 并且样本数增多时, 识别率呈上升趋势. 所以本文提出的N-δ滑动窗口截取算法可以用于对连续换道数据进行分段, 训练的分类器可以用于换道行为的识别.

5 主要结论

本文采集iPad中嵌入的加速计和陀螺仪数据来代表宿主车辆的行为数据, 通过提取车辆换道时陀螺仪Z轴数据的相关数据组成特征向量, 再使用SVM算法训练出车辆换道模型. 针对连续换道行为的识别, 提出了一种N-δ滑动窗口截取算法, 能对样本数据进行快速有效的划分. 通过验证得到单一换道行为模型的识别率可达到90%以上, 连续换道模型的识别率可达到70%以上. 显著证明了本文提出的N-δ滑动窗口截取算法的可行性和基于SVM建立的分类器的有效性.

猜你喜欢

陀螺仪滑动样本
用于弯管机的钢管自动上料装置
KD514:陀螺仪船桨空间姿态捕捉方法
基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现
基于EMD的MEMS陀螺仪随机漂移分析方法
规划·样本
Big Little lies: No One Is Perfect
人大专题询问之“方城样本”
随机微分方程的样本Lyapunov二次型估计
一种动态足球射门训练器
“官员写作”的四个样本