计算机系统应用  2019, Vol. 28 Issue (1): 113-118   PDF    
改进的滑动窗口算法与SVM在换道行为识别中的应用
李欢, 程寒寒, 王吉武, 安毅生     
长安大学 信息工程学院, 西安 710064
摘要:为了降低由于不良换道行为所造成的事故发生几率, 需要在车辆实际驾驶过程中识别出其换道行为. 本文借助IOS智能设备采集数据,建立相应的特征向量, 提出基于支持向量机的车辆换道行为识别模型, 其中针对连续换道行为的识别进一步提出一种改进的N-δ滑动窗口截取算法, 用于对包含多个行为的数据进行快速划分, 最后利用样本数据验证了N-δ滑动窗口截取算法的可行性和分类器的有效性.
关键词: N-δ滑动窗口截取算法    支持向量机    车辆换道行为识别    特征提取    
Application of Improved Sliding Window Algorithm and SVM in Vehicle Lane Change Behavior Recognition
LI Huan, CHENG Han-Han, WANG Ji-Wu, AN Yi-Sheng     
School of Information Engineering, Chang’an University, Xi’an 710064, China
Foundation item: National Natural Science Foundation of China (61703053)
Abstract: In order to reduce the probability of accidents caused by bad lane changing behavior, it is necessary to identify the lane changing behavior during the actual driving of the vehicle. In this paper, the IOS intelligent device is used to collect data, and the corresponding feature vector is established. The vehicle lane change behavior recognition model based on support vector machine is proposed. An improved N-δ sliding window interception algorithm is proposed for the recognition of continuous lane change behavior so as to divide the data containing multiple behaviors quickly, the sample data is used to verify the feasibility of the N-δ sliding window interception algorithm and the validity of the classifier.
Key words: N-δ sliding window interception algorithm     Support Vector Machine (SVM)     vehicle lane change behavior recognition     feature extraction    

汽车保有量的不断增加使得社会愈发关注交通安全问题, 统计分析发现不良驾驶行为是造成交通事故频发的主要原因之一. 换道行为是驾驶人综合考虑自己的驾驶需要、安全性、周围车辆及道路状况等多个因素之后, 驶离当前所在车道同时驶入相邻的目标车道的一种典型的驾驶行为[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在样本空间可表示为:

${{{\omega }}^{\rm T}}{{x}} + b = 0 $ (1)

式中, ${{\omega }} = \left( {{\omega _1};{\omega _2};\cdots;{\omega _d}} \right)$ 为法向量, b为位移项.

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

$f\left( {{x}} \right) = {{{\omega }}^{\rm T}}{{x}} + b$ (2)

它可将样本空间中的两类样本正确分类, 对于任意的 $\left( {{{{x}}_i},{y_i}} \right)$ 都满足约束条件:

${y_i}\left( {{{{\omega }}^{\rm T}}{{{x}}_i} + b} \right) \geqslant 1, \;\; i = 1,2,\cdots,m$ (3)

可得分类间隔:

$\gamma = \frac{2}{{\parallel {{\omega }}\parallel }}$ (4)

SVM寻找最优超平面H即寻找满足约束(3)中的 ${{\omega }}$ b, 使得 $\gamma $ 最大. 推导可得SVM的基本型:

$\left\{\begin{array}{l}\mathop {\min }\limits_{{{\omega }},b} {\rm{ }}\frac{1}{2}\parallel {{\omega }}{\parallel ^2}\\{\rm{s}}{\rm{.t}}{\rm{. }}\;{y_i}\left( {{{{\omega }}^{\rm T}}{{{x}}_i} + b} \right) \ge 1, \;\; i = 1,2,\cdots, m\end{array}\right.$ (5)

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

$\begin{array}{l}f\left( {{x}} \right) = {{{\omega }}^{\rm T}}{{x}} + b\\\;\;\;\;\;\;\;\;\;{\rm{ = }}\displaystyle\sum\limits_{i = 1}^m {{\alpha _i}{y_i}{{x}}_i^{\rm T}{{x}} + b} \end{array}$ (6)

其中, ${\alpha _i}$ 为拉格朗日乘子.

1.2 非线性分类

实际分类问题常常是非线性的. SVM解决非线性问题的的核心是: 选取适当的核函数 $\kappa \left( {{{{x}}_i},{{{x}}_j}} \right)$ , 将低维空间训练样本映射到高维空间转化成线性可分问题进行求解. 简言之, 也只是比上述线性问题多了一步非线性映射, 假设将其表示为 $x \to \phi \left( {{x}} \right)$ , 此时, 求解可得模型为:

$\begin{array}{l}f\left( {{x}} \right) = {{{\omega }}^{\rm T}}\phi \left( {{x}} \right) + b\\\;\;\;\;\;\;\;\;\;{\rm{ = }}\displaystyle\sum\limits_{i = 1}^m {{\alpha _i}{y_i}\kappa \left( {{{{x}}_i},{{{x}}_j}} \right) + b} \end{array}$ (7)
1.3 近似线性可分

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

$\begin{array}{l}\mathop {\min }\limits_{{{\omega }},b} \;\;\;\frac{1}{2}\parallel {{\omega }}{\parallel ^2}{{ + C}}\sum\limits_{i = 1}^m {{\xi _i}} \\{\rm{s}}{\rm{.t}}{\rm{.}}\;\;\;{y_i}\left( {{{{\omega }}^{\rm T}}{{{x}}_i} + b} \right) \ge 1 - {\xi _i}\\\;\;\;\;\;\;{\xi _i} \ge 0,\;\;\;\;\;\;i = 1,2,\cdots,m\end{array}$ (8)
2 数据模块 2.1 数据获取

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

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

2.2 数据预处理

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

$y'(i) = y(i) - \overline y $ (9)

式(9)中, $y'(i)$ 为标零后数据, $y(i)$ 为原始数据, $\overline y $ 为采集10 s原始数据所得平均值.

$y'(i) = \left\{ {\begin{aligned} & {y(i) ,\quad\quad\quad\quad\quad\quad\quad\;\; i = 0} \\ &{0.5y(i) + 0.5y'(i - 1) ,\quad i > 0{\rm{ }}} \end{aligned}} \right.$ (10)

式(10)中, $y'(i)$ 为滤波后数据, $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, 样本点ii+k–1之间的短时平均能量可通过下式计算:

$MES(i) = \frac{1}{k}(g{(i)^2} + g{(i + 1)^2} + \cdots + g{(i + k - 1)^2})$ (11)

其中, $g(k)$ 表示第k个样本点的值.

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

表 1 线性核

表 2 多项式核和高斯核

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

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

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

算法1. N-δ滑动窗口截取算法

输入: 包含n个样本点的待检测未知样本段, 换道行为的起始能量值 $\scriptstyle {\bar T_s}$ , 结束能量值 $\scriptstyle {\bar T_e}$ , 原始窗口大小p, 计算能量值的样本点数δ.

输出: 截取完成的用于换道行为识别的测试集.

1  N←第1个样本点到第p个样本点的数据窗口;

2  TcN窗口内最后δ个样本点的能量值;

3  while(剩余样本点数>250)

4   while( $\scriptstyle {T_c} \geqslant {\bar T_s}$ )

5    N←第1个样本点到第N-δ个样本点的数据窗口;

6    TcN窗口内最后δ个样本点的能量值;

7   end while

8   M←第N+1个样本点到第N+p个样本点的数据窗口;

9   TcM窗口内最后δ个样本点的能量值;

10   while( $\scriptstyle {T_c} \geqslant {\bar T_e}$ )

11    M←第N+1个样本点到第M+δ个样本点的数据窗口;

12    TcM窗口内最后δ个样本点的能量值;

13   end while

14    if(剩余样本点数<250)then

15    output 截取完成的测试集else

16     N←第M+1个样本点到第M+p个样本点的数据窗口;

17     TcN窗口内最后δ个样本点的能量值;

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建立的分类器的有效性.

参考文献
[1]
黄贤丞, 唐阳山, 刘光健, 等. 驾驶员换道行为分析. 汽车实用技术, 2017(18): 147-148.
[2]
邱小平, 刘亚龙, 马丽娜, 等. 基于贝叶斯网络的车辆换道模型. 交通运输系统工程与信息, 2015, 15(5): 67-73. DOI:10.3969/j.issn.1009-6744.2015.05.010
[3]
马雪兰. 城市路段转向换道模型研究[硕士学位论文]. 合肥: 合肥工业大学, 2017.
[4]
王畅. 基于隐形马尔科夫模型的驾驶员意图辨识方法研究[硕士学位论文]. 长春: 吉林大学, 2011
[5]
Wu BF, Chen WH, Chang CW, et al. A new vehicle detection with distance estimation for lane change warning systems. Proceedings of the IEEE Intelligent Vehicles Symposium. Istanbul, Turkey. 2007. 698–703.
[6]
Bhatt A, Dave V, Panchamia Y, et al. Analyzing behavioral attributes of drivers and implementing safe driving model. Proceedings of 2017 IEEE International Conference on Vehicular Electronics and Safety (ICVES). Vienna, Austria. 2017. 228–232.
[7]
杨龙海, 罗沂, 徐洪. 基于GPS定位数据的高速公路换道特征分析与行为识别. 北京交通大学学报, 2017, 41(3): 39-46. DOI:10.3969/j.issn.1672-8106.2017.03.005
[8]
Li KQ, Wang X, Xu YC, et al. Lane changing intention recognition based on speech recognition models. Transportation Research Part C: Emerging Technologies, 2016, 69: 497-514. DOI:10.1016/j.trc.2015.11.007
[9]
Cao K, Yu SY, Yu SW. Maneuver behavior identification and prediction for vehicles based on multi-hidden Markov model. Information and Control, 2014, 34(4): 506-512.
[10]
Leonhardt V, Wanielik G. Neural network for lane change prediction assessing driving situation, driver behavior and vehicle movement. Proceedings of the 20th IEEE International Conference on Intelligent Transportation Systems. Yokohama, Japan. 2017. 1–6.
[11]
Zhu LL, Liu L, Zhao XP, et al. Driver behavior recognition based on support vector machine. Journal of Transportation Systems Engineering and Information Technology, 2017, 17(1): 91-97.
[12]
Moridpour S, Sarvi M, Rose G. Modeling the lane-changing execution of multiclass vehicles under heavy traffic conditions. Transportation Research Record: Journal of the Transportation Research Board, 2010, 2161(1): 11-19. DOI:10.3141/2161-02
[13]
Yang D, Zhu LL, Yang F, et al. Modeling and analysis of lateral driver behavior in lane-changing execution. Transportation Research Record: Journal of the Transportation Research Board, 2015, 2490: 127-137. DOI:10.3141/2490-14
[14]
Zhao FK, Zhao YB, Tian YT. Driver lane changing intention recognition based on multi-class information. Proceedings of 2018 Chinese Control and Decision Conference (CCDC). Shenyang, China. 2018. 3439–3444.
[15]
Chen RB, Ye XE, Zhang FY, et al. Research on recognition method of vehicle lane-change behavior based on video image. Proceedings of 2015 International Conference on Applied Science and Engineering Innovation. Jinan, China. 2015, 12. 5–10