编程免费自学网站,赣州今天招工信息赣州人才网,产品设计开发公司,最好看免费观看高清大全猪蜜蜜剧本汽车驾驶任务的隐马尔可夫模型识别方法研究
一、Introduction
自动驾驶汽车经过了几十年的发展#xff0c;是目前国内外汽车行业中的重要研究方向。自 动驾驶汽车的智能化需要车辆能够有类“人”的行为#xff0c;在决策策略上可以满足人的心理 需求。人在驾驶过程中#…汽车驾驶任务的隐马尔可夫模型识别方法研究
一、Introduction
自动驾驶汽车经过了几十年的发展是目前国内外汽车行业中的重要研究方向。自 动驾驶汽车的智能化需要车辆能够有类“人”的行为在决策策略上可以满足人的心理 需求。人在驾驶过程中会根据自身对交通规则和道路结构化的认知确定交通级的驾驶 任务针对不同的驾驶任务采取不同的决策策略。识别交通级的驾驶任务能够在车辆的 驾驶历程中自动获取每种驾驶任务的行驶过程数据是研究人在每种驾驶任务下的决策 行为特点的前提。
自动驾驶检测算法有以下几种
深度学习和强化学习算法这些算法利用大量的驾驶数据例如车辆的传感器数据、GPS数据等进行训练以识别和预测可能的驾驶任务。基于传感器和机器视觉的算法这些算法利用车辆上的传感器例如雷达、激光雷达LiDAR等和机器视觉技术来检测和识别车辆周围的环境包括其他车辆、行人、交通信号等。基于模型预测控制的算法这种算法利用模型预测控制MPC技术根据车辆的当前状态和预测未来的状态来制定最佳的驾驶策略。基于人工智能的算法这些算法利用人工智能技术例如神经网络、决策树等来建立自动驾驶汽车的决策和控制模型。基于模式识别的方法
这些算法的应用和发展对于提高自动驾驶汽车的性能和安全性具有重要意义。然而由于自动驾驶汽车的复杂性需要不断地研究和改进这些算法以满足实际应用的需求。此外还需要解决算法的可扩展性、实时性和鲁棒性等问题。
基于模式识别的方法
首先可以分为两种
监督分类这种方法是学习已标注数据的特征得到由输入数据到分类结果的映射规律。需要已知识别模型库或各种模式的集合根据数据特征和先验知识进行识别分类识别分类的结果存在于已知的模型库或集合中。无监督分类这种方法是学习非标注数据的规律不需要预先知道模式类别而是根据统计规律的相似性自动识别分类。
本文提到的模式识别方法主要有以下几种
结构模式识别这种方法通过分析输入对象的结构关系进行识别。统计模式识别这种方法基于统计学习理论通过建立统计模型对输入数据进行分类和识别。神经网络模式识别这种方法通过模拟人脑神经网络的运作方式建立神经网络模型进行识别分类。模糊模式识别这种方法基于模糊数学理论通过模糊逻辑和模糊集合的方式进行识别分类。模板匹配模式识别这种方法通过建立模板将待识别对象与各个模板进行比较选出相似程度最高的作为该对象的识别结果。
这些方法在多个领域都有广泛的应用如手势识别、文字识别、语音识别等。
驾驶任务模式识别方法研究现状
本文提到的驾驶任务识别方法主要有以下几种
支持向量机支持向量机是一种有监督的学习方法通过求解一个超平面实现二值分类。它在人脸识别、说话人识别和手写孤立字识别等方面有着广泛的应用。在车辆行为识别中支持向量机也被用于识别车辆的快速掉头、大半径转弯等行为以及车辆换道行为的识别。此外本文还提到了支持向量机在统计模式识别中的应用它是一种常见的分类器可以通过计算机进行特征提取效率高且稳定。隐马尔科夫模型隐马尔可夫模型HMM是一种统计模型可以用于研究时间序列数据。其描述了两个随机过程之间的关系一是不可见的状态之间的随机过程二是观测值之间的随机过程适合模拟状态不可见但状态有对应的观测的随机过程。而通过隐马尔可夫模型可以实现对车辆左转弯、右转弯、超车和直行的意图进行识别预测。贝叶斯网络贝叶斯网络BN是节点与节点之间连接形成的有向、无环的图结构节点表示事件的发生有向边表示两个事件先后发生的条件概率通过先验知识构建起贝叶斯网络结构。利用贝叶斯网络对驾驶行为的识别往往需要建立起车辆和环境的关系考虑车辆间的交互行为。如车辆换道过程的行驶速度、换道车辆与周围车辆的速度差、换道车辆与周围车辆的距离等作为观测量由于这些观测量是连续变化的因此需要建立贝叶斯网络结构进行识别观测。人工神经网络人工神经网络ANN由大量神经元以一定的连接方式形成模拟人的脑神经对信息进行处理。随着人工智能领域的兴起对神经网络的研究逐渐加深在模式识别、生物医学等领域得到广泛应用。如在驾驶模拟器上进行驾驶试验获取试验数据选取车辆相对于车道的横向偏移量、横向偏移量的一阶导数、横向加速度、方向盘转角等作为特征参数以进行神经网络模型的构建从而对车辆的换道行为进行识别。其他方法利用惯性测量单元Inertial Measurement Unit, IMU和全球定位系统 GPS获取车辆运动过程数据建立了随机森林RF、K-最近邻、隐马尔可夫模型、人工神经网络、卷积神经网络等多个模型识别环岛行驶、左转弯、右转弯、刹车等行为。还有很多······
二、模型建立
1.驾驶任务分析
驾驶员对车辆的操纵是人的操 纵行为例如对加速踏板、制动踏板、方向盘的操纵车辆的行驶运动是车辆的行驶行 为最直接的体现是车辆的速度和方向。驾驶员操控加速踏板和制动踏板改变车辆的速 度操控方向盘改变车辆的行驶方向所以人的操纵行为决定了车辆的行驶行为。人的操纵行为受人的习惯、身体状态、驾车的熟练程度等因素的影响不同的人在同样的路段上驾车会有不同的操纵行为即使是同一个 人每次经过同样的路段其操纵行为也会有差异操纵行为的不同导致了车辆行驶行 为的不同。但人的操纵行为受到道路结构化和交通规则的决定道路结构化和交通规则 确定的情况下尽管每个人的操纵行为有差异但总体的趋势是一样的车辆运动的总 体趋势也是相似的。在车辆的横向运动上这样的“总体趋势”称为驾驶任务。
本文 的驾驶任务包括左转弯驾驶任务Turning Left, TL、右转弯驾驶任务Turning Right, TR、掉头行驶驾驶任务U-Turn, UT、左换道驾驶任务Lane Changing of Left, LCL、 右换道驾驶任务Lane Changing of Right, LCR和沿道行驶驾驶任务Lane Keeping, LK其中掉头行驶是指车辆在交叉路口处的 U 型弯掉头行驶沿道行驶是指车辆在小曲率道路的同一条车道上行驶。 车辆在十字路口处的左转弯行驶过程每一条行驶路径都是先后经过直线 行驶、转向行驶、直线行驶只是直线行驶和转向行驶的过程有所不同不同转向行驶 过程中的轨迹的曲率不同是“大转弯”还是“小转弯”这是因为受到影响人的操纵行为的因素的影响但每种轨迹形态都是完成左转弯的驾驶任务。
若把完成每种驾驶任务的轨迹形态看成是从起点到终点的有向曲线不同驾驶任务 的轨迹形态有明显区别以车辆行驶过程的驾驶员操作量为例完成不同的驾驶任务 驾驶员操作量信号区别也很明显。如图方向盘转角不同车辆轨迹也不同 车辆的行驶过程和人类的说话过程是相似的一个车辆的行驶过程和一段语音过程 都是连续的、随时间变化的。类比语音识别我们发现出车辆的行为和人的语音行为相似。 鉴于语音识别与驾驶任务识别之间的相似性我们相应地提出了驾驶任务的识别方式。
1. 以固定长度的时间窗口对行驶 过程进行截取并将所截取部分的特征向量输入至每个驾驶任务的隐马尔可夫模型输 出该窗口下的 行驶过程属于何种驾驶任务的子片段。通过不断滑动窗口可以得到连续 的驾驶任务子片段的输出结果相同子片段的拼接即可形 成同一种驾驶任务进而完成 对完整的行驶过程的切分工作。
2. 将每一种驾驶任务看作是一个字分别建立各自的隐马尔可夫模型在识别的过程把一段待识别的行驶过 程的特征向量输入至每 个隐马尔可夫模型求出最大的概率值对应的驾驶任务。但待识别的行驶过程片段需要以某种方式在整个行驶过程中切分好该段行 驶过程片段属于驾驶任务中的某一种这样对驾驶过程的自动化标注才能准确否则即使不属于某一驾驶任务的一段行驶过程在 每个隐马尔可夫模型中也会求得相应的概率值也会有一个概率值最大的模型对应的驾驶任务作为识别结果但识别结果和这段行驶 过程并不匹 配。因此需有一种正确分割完整行驶过程的方法来保证识别驾驶任务并自动标注的准确性。
2.隐马尔科夫模型基本理论
马尔可夫链是一种概率统计模型是在马尔可夫过程的理论基础上形成的。当一个随机过程在给定现在状态及所有过去状态情况下其未来状态与过去状态即该过程的历史路径是条件独立的那么此随机过程即具有马尔可夫性。马尔可夫模型是对马尔可夫过程进行建模通过状态和状态之间的转移概率表达一个马尔可夫过程。在马尔可夫模型中状态和观测到的事件能够相互对应但在更复杂的问题中随机过程的状态不能直接观测是“隐藏”的与可观测的事件无法直接对应起来但两者之间仍存在一定的联系这种联系可以通过不可观测的状态和可观测事件之间的概率关系建立即不可观测的状态到可观测到的事件有一定的概率这样建立起来的模型即是隐马尔可夫模型。
隐马尔可夫模型是一个双重的随机过程第一个随机过程体现在隐含状态的变化是隐含状态之间按照一定的概率随着时间的变化发生状态转移的过程即t时刻的状态 q t q_t qt 到下一时刻的任何一个状态 q ( t 1 ) q_(t1) q(t1)都有一定的转移概率。 假设在长度为 T 的时间序列中隐含状态序列为 Q { q 1 , q 2 , ⋅ ⋅ ⋅ , q T } Q\{q_1,q_2,···,q_T\} Q{q1,q2,⋅⋅⋅,qT}对应的观测序列为 O { o 1 , o 2 , ⋅ ⋅ ⋅ , o T } O\{o_1,o_2,···,o_T\} O{o1,o2,⋅⋅⋅,oT}。一个隐马尔可夫模型由以下五个参数确定
1.模型隐含状态数 N一个隐马尔可夫模型包括有限个隐含状态 S。 S { s 1 , s 2 , ⋅ ⋅ ⋅ , s N } S\{s_{1},s_{2},···,s_{N}\} S{s1,s2,⋅⋅⋅,sN}。N 为模型隐含状态数
2.隐马尔可夫模型中每个隐含状态 s 都对应着可观测值所有可观测值构成的集合为 HMM 模型的可观测值 V V { v 1 , v 2 , ⋅ ⋅ ⋅ , v M } V\{v_1,v_2,···,v_M\} V{v1,v2,⋅⋅⋅,vM}
M 为每个隐含状态对应的观测值数目
3.初始状态概率向量 π \pi π 初始状态概率向量 π \pi π 表示了隐含状态 S 在初始时刻的概率分布 π ( π i ) π i P ( q 1 s i ) , i 1 , 2 , . . . , N \pi(\pi_i) \\ \pi_iP(q_1s_i),\quad\quad i1,2,...,N π(πi)πiP(q1si),i1,2,...,N 其中 π i \pi_i πi表示时刻 t 1 时处于状态 S i S_i Si的概率。
4.状态转移概率矩阵 A 是一个大小为 N × N的矩阵描述了所有状态之间的概率转移关系 A [ a i j ] N × N a i j P ( q t 1 s j ∣ q t s i ) , i 1 , 2 , ⋅ ⋅ ⋅ , N , j 1 , 2 , ⋅ ⋅ ⋅ , N A[a_{ij}]_{N\times N}\\ a_{ij}P(q_{t1}s_j\mid q_ts_i),\quad i1,2,···,N,\quad j1,2,···,N A[aij]N×NaijP(qt1sj∣qtsi),i1,2,⋅⋅⋅,N,j1,2,⋅⋅⋅,N 5.发射矩阵 B 也称观测概率矩阵是一个大小为 N × M的矩阵描述了状态与观测之间的概率转移关系 B [ b j ( k ) ] N × M b i ( k ) P ( o t ν k ∣ q t s i ) , i 1 , 2 , . . . , N , k 1 , 2 , . . . , M B[b_{j}(k)]_{N\times M}\\ b_{i}(k)P(o_{t}\nu_{k}\mid q_{t}s_{i}),i1,2,...,N,k1,2,...,M B[bj(k)]N×Mbi(k)P(otνk∣qtsi),i1,2,...,N,k1,2,...,M 对一个问题采用隐马尔可夫模型建模时首先要根据实际问题确定模型隐含状态数 N 和可观测值数目 M 进而求解 π \pi π、 A 和 B 。因此确定了初始状态概率向量 π \pi π 、状态转移概率矩阵 A 和发射矩阵 B 这三个要素就确定了一个隐马尔可夫模型三者可由一 个三元组表示 λ ( π , A , B ) \lambda(\pi,A,B) λ(π,A,B) 其中由初始状态概率向量 π \pi π 和状态转移概率矩阵 A 确定了隐含的状态序列由隐含的状态和状态之间的概率转移关系确定了马尔可夫链。发射矩阵 B 确定了隐含状态产生观测值的过程和隐含状态序列一起形成了观测序列。
一个隐马尔可夫模型包括三个基本问题分别是评估问题、学习问题和解码问题而三种问题常见的求解算法分别为前向-后向算法Forward-Backward、鲍姆-韦尔奇算法Baum-Welch 和维特比算法Viterbi 。 本文采用隐马尔可夫模型对驾驶任务识别识别的过程主要采用隐马尔可夫模型的评估问题的解决思路但在进行识别之前需要通过训练数据对模型进行训练得到隐马尔可夫模型的模型参数。因此本文的研究主要涉及隐马尔可夫模型的学习问题和评估问题。
这里对此三种算法不再进行赘述接下来我们看本文驾驶任务识别所用到的HMM。
3.基于 HMM 的驾驶任务识别模型建立
基于 HMM 的驾驶任务识别模型的建立流程如图所示 本文采用利用汽车驾驶模拟器进行试验采集车辆行驶过程的数据进行模型的训练和测试具体试验方法和数据采集方法将在本文第 4 部分详细介绍
1.选择模型输入的特征参数
在原有数据的 n 维特征选择其中对识别过程价值最大的 m 维特征。首先选择出能表现车辆横向运动状态变化的物理量。车辆运动状态量信号侧向速度 v 、侧向加速度 a y a_y ay 、横摆角速 度 r 驾驶员操作量信号方向盘转角 θ \theta θ 、方向盘转角速率 ω 车辆位置信息车辆的 横坐标 X 和纵坐标 Y 。其中在实际车辆上车辆运动状态量和驾驶员操作量可以由 CAN 总线、惯性测量单元IMU等直接获得或计算得到车辆位置信息可以通过 GPS 与 IMU 对车辆进行定位获得。
CAN(controller area network)控制器局域网是用于解决汽车众多控制部件之间的数据交换而开发的一种串行数据通信总线。
惯性测量单元IMU由三部分组成加速度计、磁力计、陀螺仪。 加速度计就是测量三个方向的加速度磁力计就是测量磁场北极的方位陀螺仪测量的就是绕三个方向旋转速度
通过驾驶模拟器得到车辆的运动状态信号侧向速度 v 、侧向加速 度 a y a_y ay 、横摆角速度 r、方向盘转角 θ \theta θ、车辆运动轨迹的曲率K。
2.模型参数设计与训练
HMM 模型参数选取
确定将每个驾驶任务的多个试 验样本的特征参数组合形成模型的特征向量然后将每组特征向量输入至每个隐马尔可 夫模型中得到每个 HMM 识别模型的模型参数 λ 1 ——左转弯驾驶任务模型 T L _ H M M λ 2 ——右转弯驾驶任务模型 T R _ H M M λ 3 ——掉头行驶驾驶任务模型 U T _ H M M λ 4 ——左换道驾驶任务模型 L C L _ H M M λ 5 ——右换道驾驶任务模型 L C R _ H M M λ 6 ——沿道行驶驾驶任务模型 L K _ H M M \begin{aligned} \lambda_1——左转弯驾驶任务模型 TL\_HMM \\ \lambda_2——右转弯驾驶任务模型 TR\_HMM \\ \lambda_3——掉头行驶驾驶任务模型 UT\_HMM \\ \lambda_4 —— 左换道驾驶任务模型 LCL\_HMM \\ \lambda_5 —— 右换道驾驶任务模型 LCR\_HMM \\ \lambda_6 —— 沿道行驶驾驶任务模型 LK\_HMM \end{aligned} λ1——左转弯驾驶任务模型TL_HMMλ2——右转弯驾驶任务模型TR_HMMλ3——掉头行驶驾驶任务模型UT_HMMλ4——左换道驾驶任务模型LCL_HMMλ5——右换道驾驶任务模型LCR_HMMλ6——沿道行驶驾驶任务模型LK_HMM
已知一个隐马尔可夫模型由 5 个参数组成分别是隐含状态数 N 、可观测 值数目 M 、初始状态概率向量 π \pi π 、状态转移概率矩阵 A、发射矩阵 B 。需要确定隐含 状态数 N 和可观测值数目 M 并初始化初始状态概率向量 π \pi π 、状态转移概率矩阵 A、 发射矩阵 B 以此来完成模型的训练过程进而建立隐马尔可夫模型。
HMM 模型参数设计:
驾驶任务的观测变量是连续变化的因此发射矩阵 B 需 要能够表示连续型随机变量的概率分布。这里使用了高斯混合模型表达其概率分布特征 B ( j ) b j ( o ) ∑ j M G c j k Γ ( O , μ j k , σ j k ) , 1 ≤ j ≤ N ∑ k 1 M G c j k 1 , c j k 0 , 1 ≤ j ≤ N 其中 Γ —— 多元高斯概率密度分布函数; O ——观测序列; μ ——均值矩阵; σ —— 协方差矩阵; M G —— 高斯混合成分的个数; N —— 隐含状态数; c j k —— 第 j 个隐含状态的第 k 个高斯混合成分的系数, c j k 需要满足下式约束 : B(j)b_j(o)\sum_{j}^{M_G}c_{jk}\Gamma(O,\mu_{jk},\sigma_{jk}),\quad1\leq j\leq N\\ \sum_{k1}^{M_G}c_{jk}1,\quad c_{jk}0,1\leq j\leq N \\ 其中 \\ \begin{aligned} \Gamma\text{ —— 多元高斯概率密度分布函数;} \\ \text{O ——观测序列;} \\ \mu\mathrm{——}\text{均值矩阵;} \\ \sigma\text{ —— 协方差矩阵;} \\ \begin{aligned}M_G\text{ —— 高斯混合成分的个数;}\end{aligned} \\ N\quad——\text{ 隐含状态数;} \\ c_{jk}\text{ —— 第 }j\text{个隐含状态的第}k\text{ 个高斯混合成分的系数,}c_{jk}\text{ 需要满足下式约束}: \end{aligned} B(j)bj(o)j∑MGcjkΓ(O,μjk,σjk),1≤j≤Nk1∑MGcjk1,cjk0,1≤j≤N其中Γ —— 多元高斯概率密度分布函数;O ——观测序列;μ——均值矩阵;σ —— 协方差矩阵;MG —— 高斯混合成分的个数;N—— 隐含状态数;cjk —— 第 j个隐含状态的第k 个高斯混合成分的系数,cjk 需要满足下式约束:
初始状态概率向量 π \pi π 是一个驾驶任务模型中每个隐含状态初始的概率值。状态转移概率矩阵 A 是一个驾驶任务模型中 各个隐含状态之间的转移概率。二者在模型训练之前都需要先设定初始值初始值的设 定一般对识别结果无太大影响所以可以任意设定。对隐含状态数为 3 的 TL_HMM、 TR_HMM、UT_HMM 的初始状态概率向量 π \pi π 和状态转移概率矩阵 A 设定相同的初值 对隐含状态数为 4 的 LCL_HMM 和 LCR_HMM 的初始状态概率向量 π \pi π 和状态转移概率 矩阵 A 设定相同的初值。如下所示 π 0 − 1 π 0 − 2 π 0 − 3 [ 1 / 1 / 1 / 3 3 3 ] T π 0 − 4 π 0 − 5 [ 0.25 0.25 0.25 0.25 0.25 ] T π 0 − 6 [ 0.5 0.5 ] T A 0 − 1 A 0 − 2 A 0 − 3 ( 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 1 ⁄ 3 ) A 0 − 4 A 0 − 5 ( 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 ) A 0 − 6 ( 0.5 0.5 0.5 0.5 ) . \pi_{0_{-1}}\pi_{0_{-2}}\pi_{0_{-3}}[\begin{array}{ccc}1/1/1/\\333\end{array}]^T\\ \pi_{0_-4}\pi_{0_-5}[0.25 \ 0.25\ 0.25\ 0.25\ 0.25]^T\\ \pi_{0_-6}[0.5 \ 0.5]^T\\ A_{0_-1}A_{0_-2}A_{0_-3}\begin{pmatrix}1⁄31⁄31⁄3\\1⁄31⁄31⁄3\\1⁄31⁄31⁄3\\1⁄31⁄31⁄3\end{pmatrix}\\ A_{0_-4}A_{0_-5}\begin{pmatrix}0.250.250.250.25\\0.250.250.250.25\\0.250.250.250.25\\0.250.250.250.25\end{pmatrix}\\ A_{0_{-}6}\begin{pmatrix}0.50.5\\0.50.5\end{pmatrix}. π0−1π0−2π0−3[1/31/31/3]Tπ0−4π0−5[0.25 0.25 0.25 0.25 0.25]Tπ0−6[0.5 0.5]TA0−1A0−2A0−3 1⁄31⁄31⁄31⁄31⁄31⁄31⁄31⁄31⁄31⁄31⁄31⁄3 A0−4A0−5 0.250.250.250.250.250.250.250.250.250.250.250.250.250.250.250.25 A0−6(0.50.50.50.5).
HMM 模型参数训练
本文研究采用 10-fold 交叉验证法对数据样本进行划分以此来完成对驾驶任务 识别模型的训练和验证。10-fold 交叉验证法将数据样本均分为十份每次不重复地取 出其中一份作为验证集其余九份作为训练集对模型进行十次的训练和验证过程。
通过每个驾驶任务的试验数据对驾驶任务识别模板库的每个隐马尔可夫模型进行 训练。步骤如下
1选择一组数据计算均值 0 和协方差矩阵 0 和其他初始化参数一起初始化 隐马尔可夫模型
2输入当前驾驶任务训练数据利用前向-后向算法计算观测序列概率
3计算在上述定义的两个概率值 ( , ) t i j 和 () t i 并利用 Baum-Welch 算法对模 型参数进行重估
4根据参数重估结果计算新的观测序列概率并判断观测序列概率的值是否 收敛。若不收敛则迭代进行第23步若收 敛停止迭代输出模型参数。 本文研究借助 Matlab 中的 HMM 工具箱并编写相关程序完成对各驾驶任务的 隐马尔可夫模型 的训练工作得到训练后的各个模型的模型参数 λ i { π i , A i , c i , μ i , σ i } \text{ }\lambda_{i}\{\pi_{i},A_{i},c_{i},\mu_{i},\sigma_{i}\} λi{πi,Ai,ci,μi,σi}
训练过程如图所示
三、车辆行驶过程分段方法设计
本章讨论的是如何选取分类器模型的输入信号即车辆行驶过程的分段方法。
利用 HMM 分类器对驾驶任务识别需要在完整的行驶过程中选取 HMM 的输入信 号本章分析了现有的基于滑动时间窗口的识别方法存在的问题提出了一种基于任务特征分段的驾驶任务识别方法以此将车辆行驶过程按驾驶任务的不同进行分段并将分段信号作为 HMM 分类器的输入完成每段行驶过程的驾驶任务识别实现车辆行驶过程的自动分段识别。
识别流程图如下。
1.基于滑动时间窗口的驾驶任务识别方法
行驶过程分段识别方法分析
基于滑动时间窗口的驾驶任务识别方法目前常被用于车辆换道行为的识别研究中其流程如图所示
该方法对车辆行驶过程的识别过程与连续语音识别的过程相似首先将车辆的行驶过程划分成小的行驶过程子片段再按照时间顺序完成对每个行驶过程子片段的识别每个子片段的识别结果都属于一个驾驶任务将连续的行驶过程子片段的识别结果进行合并相同结果的子片段合并在一起形成一段完整的驾驶任务。
隐马尔可夫模型作为该识别方法中的分类器模型完成对 i 时刻窗口长度为 T w T_w Tw 内信号的识别其输出的结果为窗口截取的行驶过程子片段的驾驶任务类型。
2.基于任务特征的行驶过程分段方法
在汽车驾驶任务识别中将一种驾驶任务视为一个字对每个驾驶任务建立单独的识别模型形成模板库通过将车辆完成一段完整驾驶任务行驶过程对应的信号在模板库中进行匹配得到该段驾驶任务的识别结果这样可以充分利用一个驾驶任务的信号特征。但这样的识别方法需要保证模型的输入信号恰好是某一种驾驶任务对应的信号否则不属于某种驾驶任务的行驶过程也会被识别成某一驾驶任务类型。
下面将介绍如何对车辆的行驶过程按驾驶任务进行准确分段提取出待识别的驾驶任务行驶过程。 具体的分段过程中利用驾驶任务行驶过程信号的波形特征确定沿道段将其余行驶过程分为转向段根据 HMM 分类器逐一对转向段进行识别得到每个转向段的驾驶任务识别结果完成对车辆行驶过程的分段识别。
本章针对输入HMM模型信号的截取问题提出了基于任务特征分段的驾驶任务识别方法。
首先分析了目前常用的车辆行为的识别方法建立了基于滑动时间窗口的驾驶任务识别方法在该方法中以滑动时间窗口的形式截取车辆行驶过程的信号输入至 HMM 分类器中识别时间窗内的驾驶任务通过不断滑动窗口完成对整个行驶过程的识别并以最终的识别结果形成不同驾驶任务之间的分段点。虽然该方法可以利用局部信息实时识别或预测车辆的行为但由于不同驾驶任务的转向过程的特征存在局部相似性不能准确、完整地提取驾驶任务。
其次考虑到本文研究是在完整的车辆行驶历程数据中识别驾驶任务本文提出了基于任务特征分段的驾驶任务识别方法。驾驶任务受道路几何结构决定车辆运动轨迹的曲率在一定程度上也能反映道路的结构特征因此该方法根据车辆完成不同驾驶任务的轨迹曲率特征将车辆行驶过程以沿道段分割为多个转向段每个转向段为一个完整的待识别的驾驶任务将其输入至 HMM 分类器可以完成对转向段的识别。通过对分段结果的比较本文提出的基于任务特征的行驶过程分段方法可以更准确地完成对行驶过程按不同驾驶任务进行分段。
四、模型验证
通过试验验证了本文提出的基于任务特征分段的驾驶任务识别方法的有效性。 首先利用汽车驾驶模拟器搭建试验平台通过试验获取本文研究所需数据并将试验 数据分为单一驾驶任务数据集和自由行驶数据集。其次根据单一驾驶任务数据集以 10-fold 交叉验证法完成了对驾驶任务识别模型的准确性验证结果表明本文建立的 驾驶任务识别模板库能够准确地对每种驾驶任务的完整行驶过程进行识别因此可以 保证对分段的行驶过程识别的准确性。最后以单一驾驶任务数据集对基于任务特征分 段的驾驶任务识别方法进行整体验证本文提出的方法对每种驾驶任务的识别准确率可 以全部达到 88.9%以上在此结论基础上完成了对自由行驶数据集中车辆自由行驶过 程的分段识别可以有效地在包含多个驾驶任务的行驶过程中识别出不同的驾驶任务。
五、总结
这篇论文使用了一种基于隐藏马尔可夫模型HMM的驾驶任务识别模型。
首先根据车辆完成不同驾驶任务的运动特征以及驾驶任务识别和语音识别的相似性确定以隐马尔可夫模型作为驾驶任务的识别模型。驾驶任务的识别包括左转弯、右转弯、左换道、右换道、掉头行驶和沿道行驶等。
其次根据车辆行驶过程中驾驶员操作信号、车辆运动状态信号和车辆位置信息等综合分析选取方向盘转角、横摆角速度和轨迹曲率作为模型的特征参数并建立每个驾驶任务的隐马尔可夫模型。这些模型构成了驾驶任务识别模板库用于驾驶任务的识别。
然后针对车辆行驶过程的分段提取方法进行研究提出基于任务特征的分段行驶过程分段方法。由于滑动时间窗口的驾驶任务识别方法无法完整地提取驾驶任务因此本文提出了一种基于任务特征的分段方法将独立的驾驶任务行驶过程信号作为模型输入以便更准确地识别行驶过程中的驾驶任务。
最后通过驾驶模拟器的试验对本文的驾驶任务识别方法进行验证。根据实验结果该方法能够有效地进行驾驶任务的识别从而实现自动驾驶。
总的来说本文使用隐马尔科夫模型进行自动驾驶的方法主要涉及驾驶任务的识别和行驶过程的分段。通过建立每个驾驶任务的隐马尔科夫模型以及基于任务特征的分段方法能够有效地进行自动驾驶从而实现更加智能的汽车驾驶。
六、展望
1本文所研究的驾驶任务是车辆的横向行驶过程人的决策行为还包括在纵向 运动上的决策因此未来工作需要对行驶过程的纵向运动过程展开研究。
2本文的沿道行驶是指小曲率道路上的同一车道行驶若考虑较大曲率的车道 仅由本车的相关信息不足以区分大曲率的沿道行驶和转弯行驶等驾驶任务因此可以考虑增加外界信息作为特征参数。
3车辆行驶过程信号为时间序列信号在行驶过程的分段方法上可以采用时间序列相似性查询的相关方法进行行驶过程的分段