当前位置:网站首页>学习笔记7--交通环境行为预测
学习笔记7--交通环境行为预测
2022-07-23 12:51:00 【FUXI_Willard】
本系列博客包括6个专栏,分别为:《自动驾驶技术概览》、《自动驾驶汽车平台技术基础》、《自动驾驶汽车定位技术》、《自动驾驶汽车环境感知》、《自动驾驶汽车决策与控制》、《自动驾驶系统设计及应用》。
此专栏是关于《自动驾驶汽车决策与控制》书籍的笔记.
2.交通环境行为预测

- 行为决策模块属于自动驾驶系统的决策规划层;
- 智能汽车在进行决策规划时,先从环境感知模块中获取道路拓扑结构信息、实时交通信息、障碍物(交通参与者)信息和主车自身状态信息,然后根据这些信息对其他动态障碍物(交通参与者)未来的运动轨迹做预测;
- 运动预测根据预测时间长短分为:长期预测与短期预测,涉及意图识别、行为预测和轨迹预测;
2.1 交通参与者行为预测
- 对于行驶的汽车而言,根据驾驶场景、道路拓扑及行驶方向,可以大致分析出其驾驶意图和预计轨迹;对于交通环境中的其他参与者,其运动的不确定性更高;对所有运动障碍物运行轨迹进行预测后,需要分析无人驾驶汽车与它们之间的碰撞关系,给无人驾驶汽车的避障过程提供决策依据;
- 行为预测一般分为:短期预测和长期预测。短期预测一般预测时长在1s以内,长期预测的预测时长在数秒乃至数十秒内;
- 短期预测:目标行为意图未变化,或目标体意图可能变化但目标体动力学行为来不及及时变更,此时,短程行为可以根据运动学或动力学推出;
- 长期预测:目标体的行为意图可能发生变化且动力学行为能随之改变,此时,目标体行为受目标意图和周围环境信息影响极大;
- Atev S等针对目标汽车的每种意图采集一系列行驶轨迹,然后在线匹配实际行驶轨迹和所采集的各种轨迹的相似度得出目标意图,进而预测汽车后续行驶轨迹;
- 基于多层感知机、逻辑回归、支持向量机、隐马尔科夫辨识目标意图,然后通过RRT、高斯等算法生成预测路径的方法处于主导研究地位;
2.1.1 汽车行为预测
- 汽车行驶轨迹是两个因素共同作用的结果:先是汽车驾驶员的行为,如:反映意图的换道过程;其次是外部环境因素,如:在行驶期间影响汽车轨迹的交通信息等;
- 不同的轨迹预测思路:基于物理模型的轨迹预测、基于行为模型的轨迹预测、基于神经网络的轨迹预测、基于交互的轨迹预测、基于仿生学的轨迹预测及多种途径结合的轨迹预测等;
不同的轨迹预测思路:
基于物理模型的轨迹预测
基于物理模型的轨迹预测是基于物理的运动模型将汽车表示为受物理定律支配的动态实体;使用动力学和运动学模型预测未来运动,将一些控制输入(如:转向、加速度),汽车属性(如:重量)和外部条件(如:路面的摩擦系数)与汽车状态的演变(如:位置)联系起来;
动力学模型
汽车动力学模型基于拉格朗日方程,考虑影响汽车运动的不同力的作用,如:纵向和横向轮胎力或道路倾斜角;汽车受到复杂物理学(驾驶员对发动机、变速器、车轮等的作用的影响)的控制,因此动力学模型可能非常复杂,且涉及汽车很多内部参数;
在轨迹预测中,常常采用"自行车"模型代替复杂的汽车动力学模型,将四轮汽车简化为两轮汽车,并在二维平面上移动;
运动学模型
运动学模型基于运动参数(如:位置、速度、加速度)间的数学关系来描述汽车的运动,不考虑影响运动的力;在运动学模型中,摩擦力被忽略,并假设每个车轮的速度都与车轮方向相同;
运动学模型中最简单的是恒速度(CV)和恒定加速(CA)模型,都假设汽车是直线运动的;恒转和速度(CTRV)及恒转加速度(CTRA)模型通过在汽车状态向量引入偏航角和偏航率变量来考虑绕 z z z轴的变化;
基于行为模型的轨迹预测
- 基于行为的模型解决了基于物理机理的模型不考虑汽车行为的问题,在这种模型中每辆交通车被看作一个正在进行某种交通行为(如:左转、换道)的客观运动目标,基于行为先验信息可以帮助推测未来一段时间内符合某种行为的运动特征,因此可以较为准确实现长时间的运动预测;
- 基于行为模型的轨迹预测方法通常有直接通过原型轨迹来预测和先识别驾驶意图在进行轨迹预测两种方式;
- 在结构化道路环境下,汽车的运动轨迹通常可以根据道路拓扑分类为有限个轨迹簇,这些轨迹簇对应着典型的汽车行为;
- 基于原型轨迹的方法:将感知到的他车轨迹与先验的运动模型进行匹配,然后根据匹配结果结合原型轨迹来进行运动预测;通常通过学习的方法,对样本轨迹进行分类学习,从而获得原型轨迹;可以通过谱聚类方法对采集的轨迹进行分类,亦可以通过简单求解样本的均值和标准差来进行分类;
- 在轨迹分类过程中,高斯混合模型(Gaussian Mixture Model,GMM)有很好的表现,基本思想为:在高维空间中投影轨迹,然后使用GMM方法,针对轨迹长度进行分类;如果将采集到的轨迹看作离散时间上的多维高斯分布,先使用K均值方法对汽车的侧向加速度进行分类,然后基于GMM对样本轨迹进行分类,可求解原型轨迹;
- 基于原型轨迹预测方法中,感知到的目标历史轨迹和计算的得到的运动模式之间的匹配方法是影响预测准确度的关键;这个过程中,需要定义一个度量来表征一段轨迹与原型轨迹之间的契合程度,有的方法通过两条轨迹中轨迹点间的欧几里得距离来表示这个度量,有的方法通过最长共同序列计算两个轨迹序列间的相似程度;
- 使用原型轨迹的方法用于轨迹预测时主要问题在于:对路面拓扑结构信息的严重依赖;样本轨迹的采集与运动模式的训练都依赖于已知的道路拓扑结构;已训练好的模型只能适用于具备相似的道路结构场景中,方法的可扩展性较差;这类方法准确性很大程度上取决于匹配度量的选择,在速度变化较大的场景下(如:十字路口中汽车的停车、起步等现象)制定准确的度量往往是比较困难的;
- 一些基于行为模型的轨迹预测方法:首先对道路中其他汽车的行驶意图进行估计,基于这些汽车的行驶意图进行运动预测;这一类方法是基于机器学习的方法来识别汽车的行驶意图,并不依赖于原型轨迹,因此可以用于任意的道路结构;在利用这类方法进行行驶意图的估计时,需要先定义一个有限的行为集合(包括:车道保持、换道、超车、路口转向等),然后根据感知到的道路汽车运动特征对汽车未来的行为进行分类;这些特征包括:可以通过传感器观测的交通车状态变量(车速、加速度、位置、驶向、转向灯等),道路结构(如:十字路口、匝道、高速公路),交通信息(交通信号灯、标识牌、交通规则等);
- 不同的机器学习方法已被应用在汽车行驶意图的分类问题中:
- Schlechtriemen基于生成式分类器(Generative Classifier)对高速公路场景下的他车的换道行为进行了识别;
- Kumar基于支持向量机(Support Vector Machines,SVM)结合贝叶斯滤波(Bayesian Filtering)的方法实现识别;
- Dogan比较了递归神经网络(Recurrent Neural Network,RNN)、前向反馈神经网络(Feedforward Neural Network,FNN)和支持向量机方法在预测道路中他车换道行为中的表现;
- 贝叶斯网络和其特殊形式隐马尔可夫模型(Hidden Markov Models,HMM)也被广泛应用于行为预测中,这类方法原理:一般基于可观测的他车状态信息及环境信息作为证据变量来对汽车的行为意图等隐藏变量进行求解;

- 最上层为行为层, M t M_t Mt为离散的隐性随机变量,代表汽车不同的行为;
- 中间层为运动状态层, X t X_t Xt代表汽车的运动状态,不能被直接观测到;
- 最下层为观测层,矢量 Z t Z_t Zt为矢量 X t X_t Xt含有噪声的测量值;
- 从传感器得到 Z t Z_t Zt后可以通过观察模型来得到道路中他车运动状态变量 X t X_t Xt的估计,再由汽车的运动状态来推断汽车可能的行为 M t M_t Mt;
基于神经网络的轨迹预测
- 相比通过汽车物理模型来分析道路结构、交通规则、驾驶员意图等一系列因素对轨迹预测的影响,用基于大数据学习的方式来对涵盖了上述所有复杂因素的汽车运动轨迹数据进行深度神经网络模型学习,会有更强的表达性,会得到更好的效果;
- 进行轨迹预测之前通常需要对采集到的轨迹数据进行预处理,剔除异常噪声轨迹点,从而提高精度;预处理步骤可以基于轨迹高斯混合模型聚类算法;
- 基于长短期记忆(Long Short Term Memory,LSTM)的神经网络对周围汽车的短期驾驶行为进行学习并进行轨迹预测,该网络接收坐标系下针对周围汽车排好序的传感器测量数据,训练后产生占用栅格地图,地图上包含周围汽车未来时刻可能到达的位置和概率,如下图:

- LSTM是RNN的一种形式,通过一个存储器单元来代替网络的每一个结点,解决了梯度弥散的问题;通过"门"(Gate)来控制丢弃或增加信息,从而实现遗忘或记忆的功能;"门"是一种使信息选择性通过的结构,由一个Sigmoid()函数和一个点乘操作组成;Sigmoid()函数的输出值在[0,1]区间,0代表完全丢弃,1代表完全通过;一个LSTM单元有三个这样的门,分别是遗忘门(Forget Gate)、输入门(Input Gate)、输出门(Ouput Gate),如下图所示:

- 存储器单元:决定和积累单元要记忆的内容;
- 输入门限:决定输入信息是否被允许进入模组;
- 输出门限:决定输出是否要被模组向外传送;
基于交互的轨迹预测
- 基于交互的轨迹预测在对他车环境进行运动预测时,将自车和周围的其他汽车看作是相互影响的,考虑它们之间的行为依赖关系;
- 考虑交通参与者之间的交互时,一种方法是假设所有驾驶员都尽量避免碰撞,并选择风险最小的驾驶行为;这种方法先计算每个汽车行驶意图的先验概率分布,然后通过建模汽车之间的交互关系进行风险评估,进而对先验分布进行修正;
- 另一种方法是利用动态贝叶斯网络。这种方法在进行行为推理时将汽车之间(Agent(i)、Agent(j))的交互考虑进来,Agent(j)的运动状态 x t − 1 ( j ) x_{t-1}(j) xt−1(j)将对Agent(i)的场景状态 c t ( i ) ct(i) ct(i)产生影响;在数学上实现时汽车之间的交互被分解为成对依赖性的对数线性组合;同时在建模汽车的行为时,将交通规则也考虑进去,然后使用统计推理来计算运动状态的后验概率分布;
- 在汽车的运动预测方面,博弈论一般被应用于汽车行为的建模和预测;可以利用非合作博弈来对汽车的运动进行分析,计算汽车的收益时先要考虑不同行为下生成的轨迹本身的成本,然后利用碰撞检测来计算最终的收益;
- 博弈论的优势之一是可以对有车联网功能和没有车联网功能两种情况下汽车的换道行为进行建模,这两种情况可以被看作完整信息博弈和非完整信息博弈;博弈论还可以建立反映多个驾驶员之间相互交互的交通模型;
基于仿生学的轨迹预测
多种途径相结合的轨迹预测
- 通过结合基于物理模型与行为模型的轨迹预测实现轨迹预测,基于物理模型轨迹预测可以在考虑汽车动力学参数的情况下确保短期内预测的准确性,基于行为模型的轨迹预测可以实现长期的预测;
- 在基于物理模型的轨迹预测中融合无迹卡尔曼滤波器实现对不确定性信息的预测;基于行为模型的轨迹预测将不确定性随机元素引入到动态贝叶斯网络中,用以推断每个行为过程对应的轨迹;
2.1.2 行人轨迹预测
行人轨迹预测:指根据行人过去一段时间的轨迹,预测其未来的轨迹;行人行为预测的难点:
- 如何使得预测出的行人轨迹既符合物理约束,又符合社会规范。符合物理约束:指预测出的轨迹应该是满足物理要求的,如:一个人不能穿过另一个人等;社会规范:指行人的一些社会学行为,如:结伴而行,相互礼让等;
- 如何对不同行人之间的相互影响进行建模,在行人密集的地方,每个行人在做决策时需要考虑其他行人的行为,包括:躲避、追赶、跟随、超过等交互性的行为;
- 如何预测出多个合理的轨迹。实际场景中,往往不只有一种轨迹符合条件,通常有多个轨迹都是合理的;
目前行人轨迹预测方法:
- 基于社会力模型;
- 基于马尔可夫模型;
- 基于循环神经网络的方法;
- 基于生成对抗网络的方法;
2.2 安全评估算法
- 决策算法面临的最大挑战:如何达到自动驾驶所需要的高安全性和高可靠性;
- 路权(Right Of Weight,ROW):指道路使用者依据法律规定,在一定时间对一定道路空间使用的权力;智能驾驶中,路权用来描述满足汽车当前安全行驶所需的道路空间;
- 行驶中的智能汽车的路权是一个流动的扇形区,与本车的尺寸、速度、周边的车流量、前方拥有的空间密切相关,是本车速度的非线性函数,可用距离和角度表示;
- 路权分为:期望路权和实际路权,当两者不一致时,需要进行调节来解决冲突;
- Mobileye开发了一套责任敏感安全(Responsibility Sensitive Safety,RSS)模型的体系,希望通过建立数学公式的手段,使得自动驾驶汽车有能力判断自身的安全状态,从而尽可能避免事故的发生;
- RSS模型希望通过一套严谨的公式算法,来指导自动驾驶决策算法在特定场景下做出合理安全的判断;
- 在定义RSS模型的时候,Mobileye认为有两个原则必须遵守:
- 自动驾驶汽车绝对不可以因为自身的原因引发碰撞或事故;
- 当别的汽车造成潜在风险且可能会产生交通事故的时候,自动驾驶汽车应采取恰当的应对方式,来避免可能发生的交通事故;
- 实际建模中,RSS模型通过四条形式化的规则,来确保汽车在自动驾驶状态下能够保证安全及避免成为制造车祸的一方:
- 和前车保持安全距离;
- 给侧边的人或车留下足够的反应时间和空间;
- 在堵车的时候更加谨慎;
- 要合理使用路权(路权的使用应优先考虑安全);
- 自动驾驶分为:感知、决策、执行三个步骤;感知主要依靠包括车载的环境传感器、高精地图等部分来实现;在决策层,更多依赖一套经过AI训练的算法来判断当前状况下汽车应该做出什么反应;最后通过包括控制转向、刹车、加速等各种动作的车身电子部件实现对应操作;Mobileye的RSS模型是定位在决策后、执行前;
- RSS模型在汽车本身通过决策算法做出判断后,把这个指令输入到RSS模型中验证对应的结果;如果决策算法在某个状态下做出了刹车判断,那么这个判断输入到RSS模型中,得出刹车操作是否能在当前状况下保证汽车的安全;如果结果显示安全,则这个命令会直接执行;如果结果显示会有危险,则RSS模型把这个指令返回到决策算法进行二次决策,直到得到最安全的结果;

边栏推荐
- 千万别让富坚义博看到这个
- Backup and restore of database
- Sealing agent glycerol sealing neutral resin sealing dosage form
- Esp8266 nodemcu flash file system (spiffs)
- 快递单证智能OCR识别,助力物流行业数字化升级
- es6把多个class方法合并在一起
- Navicat15下载安装
- 7月HCIP Datacom认证考试通过
- Fastadmin, non super administrator, has been granted batch update permission, but it still shows no permission
- Niuke-top101-bm35
猜你喜欢

FreeRTOS个人笔记-挂起/解挂任务

【Error】TypeError: expected str, bytes or os.PathLike object, not int

Go interface: go deep into internal principles

Middle aged crisis, retired at the age of 35, what do migrant workers take to compete with capitalists?

The protection circuit of IO port inside the single chip microcomputer and the electrical characteristics of IO port, and why is there a resistor in series between IO ports with different voltages?

ESP8266-NodeMCU——从苏宁API获取实时天气

go run,go build,go install有什么不同

动态规划背包问题之完全背包详解

Memory methods of big end mode and small end mode

百度编辑器上传图片设置自定义目录
随机推荐
卷积神经网络模型之——GoogLeNet网络结构与代码实现
Cloudcompare & PCL normal vector space sampling (NSS)
Stm32f103+rfid-rc522 module realizes simple card reading and writing demo "recommended collection"
32位单片机GPIO端口电路结构以及输出模式
(已解决)idea编译Gradle项目提示 错误找不到符号
動態規劃背包問題之完全背包詳解
Purpose of wsastartup function
【Error】TypeError: expected str, bytes or os.PathLike object, not int
封片剂 甘油封片 中性树脂封片剂型
快递单证智能OCR识别,助力物流行业数字化升级
Mysql客户端到服务端字符集的转换
为什么使用opengaussjdbc的时候老是出现FATAL?(标签-数据库|关键词-user)
FreeRTOS个人笔记-创建/删除动态任务,启动调度器
竞赛大佬在华为:网络专家出身斯坦福物理系,还有人“工作跟读博差不多”...
Unity Metaverse(一)、Ready Player Me & Blender 自定义你的Avatar虚拟人
Flutter | firstWhere 报错问题
C#中单例模式的实现
Basic concept and deployment of kubernetes
20220722挨揍记录
Oracle中实现删除指定查询条件的所有数据