【笔记】自动驾驶预测与决策规划_Part2_基于模型的预测方法

news/2024/9/20 0:55:40/ 标签: 笔记, 自动驾驶, 人工智能

基于模型的预测方法

    • 0. 前言
    • 1. 预测系统概述
    • 2. 定速度预测
    • 3.定曲率预测
    • 4. 短时预测与长时预测
    • 5. 基于手工特征的意图预测
    • 6: 基于模型的轨迹预测

0. 前言

本文主要记录课程《自动驾驶预测与决策技术》的学习过程,难免会有很多纰漏,感谢指正。
课程链接:https://www.shenlanxueyuan.com/my/course/700

1. 预测系统概述

通过已有的感知及常识,推理出目标一段时间后的行为,来决定自己当前的动作。

image.png

预测系统的必要性

image.png

预测结果的的多模态性、不确定性。

image.png

预测系统的架构

image.png

预测系统的发展

image.png

2. 定速度预测

一维匀速运动模型: 感知信息不确定,道路结构缺失等情况,适用CV 模型。

目标做匀速直线运动,加速度为0。现实中速度会有轻微扰动变化,可视为具有高斯分布的噪声。

一维状态向量:

image.png

image.png

与感知耦合密切, 目标的Yaw 与 Vel 会影响预测的轨迹。

二维匀速运动模型

image.png

image.png

3.定曲率预测

目标车过去按照某一曲率运动,假设会继续按照该曲率运动。

定曲率预测 --> 恒转角预测 --> yawrate (感知给出)

image.png

缺点:曲率估计不准确时,误差会比较大。

image.png

对比:

共同局限:长时间区间会失准!

image.png

4. 短时预测与长时预测

预测不确定性随着预测时间变长显著增大。

  • 短期预测:基于运动学模型或者预测网络,完成短时推演,一般为3s**。**

  • 长期预测:结合意图预测,稳定长时预测,避免远端发散,一般为8s+。

如何解决 预测时间越长,预测越不准确的问题? 引入 意图预测?

image.png

5. 基于手工特征的意图预测

  • 意图:预先定义的车流行为,如变道,左右转等。 意图一般会绑定到车道,路口两个信息上。

  • 分类:基于车辆的行为特征,对车辆的意图进行分类。

image.png

基于SVM的意图分类

支持向量机Support Vector Machine(SVM)

image.png

以预测目标车是否会变道为例 二分类问题。

手工特征标记:距离目标车道的横向距离、距离目标车道的横向速度、道路实线、虚线…. 、目标车与前车的距离或者速度 等等 。

  • 特征如何选取?选择哪些维度?

  • 变道前一段时间,预测出其变道行为,需要提前多久?

image.png

image.png

基于神经网络的意图预测

通过多层感知机预测障碍车会选择哪一条车道行驶,输出每个车道线的概率。 DNN + Rule兜底。

image.png

其他的输出建模方法

将路口进行扇区划分进行交通路口的变道意图预测

  • 输入:障碍物自身运动历史,路口车道信息,周围其他障碍物信息。

  • 模型:以障碍物车朝向为参考方向,划分为12个扇形区域;记录每个扇形区域内是否有离开该路口的车道;将问题转化为12元分类问题。

  • 输出:选择对应扇区的概率。

image.png

根据障碍车车辆heading将周围区域分为12个扇形,如果扇形内存在驶离路口,则将其mask置1。

输出每一个扇形区域行驶的概率,然后对扇形区域内的所有lane segment赋上概率。

人工构造的输入特征有天然局限性

  • 输入:语义地图渲染的方式,将障碍车的历史运动状态、车道的形状与连接关系,以及其他车的运动状态和历史,都转化为图像信息。

image.png

基于隐马尔可夫模型的意图估计

image.png

6: 基于模型的轨迹预测

如何将短时轨迹结合长时意图

长时轨迹生成 -> 轻量化的planner
在这里插入图片描述

通过意图估计得到目标车要驶入某个车道,并根据运动趋势等得到短时的运动轨迹,如何构造出长时预测轨迹?

objective: 1. 贴合短时轨迹 2.符合常识意图

constraint: 1. 满足运动学约束 2. 与地图等信息匹配

寻找一个规划器,得到未来的轨迹点。并且要做到轻量化。 (Planner 三把斧:搜索、采样、优化。对该问题,不适用), 使用现有的轨迹生成方式

image.png

Bezier曲线生成长时轨迹

控制点的生成策略 --> 决定曲线的生成。
意图预测判断出车道后,可以灵活基于地图抽取控制点。

Bezier曲线基本原理

image.png

Bezier曲线的数学方法

image.png

Bezier曲线生成效果

意图预测 --> 查询地图等 --> 长时控制点

短时预测 --> 短时控制点

长时控制点+短时控制点 --> 插值去重拟合 --> 长时轨迹

image.png

EPSILON: Intention Prediction Network

image.png

image.png

image.png

参考:https://arxiv.org/pdf/2108.07993.pdf https://zhuanlan.zhihu.com/p/32085405


http://www.ppmy.cn/news/1527812.html

相关文章

高大上可视化界面(03):用户友好性有啥意义,如何实现。

Hi,我是10年UI经验的老司机→大千UI工场,本期分享可视化大屏用户友好性的相关话题,并配备如果精美作品图,希望大家喜欢,如有设计定制需求可单独私聊我。 一、用户友好性的5个意义 用户友好性对于可视化大屏具有重要意…

使用 Elastic 和 LM Studio 的 Herding Llama 3.1

作者:来自 Elastic Charles Davison, Julian Khalifa 最新的 LM Studio 0.3 更新使 Elastic 的安全 AI Assistant 能够更轻松、更快速地与 LM Studio 托管模型一起运行。在这篇博客中,Elastic 和 LM Studio 团队将向你展示如何在几分钟内开始使用。如果你…

动手学习RAG:大模型重排模型 bge-reranker-v2-gemma微调

动手学习RAG: 向量模型动手学习RAG: moka-ai/m3e 模型微调deepspeed与对比学习动手学习RAG:rerank模型微调实践 bge-reranker-v2-m3动手学习RAG:迟交互模型colbert微调实践 bge-m3动手学习RAG: 大模型向量模型微调 intfloat/e5-mistral-7b-instruct动手学…

【深入浅出MySQL】「调优指南」慢查询执行计划分析指南,慢SQL发现与分析(1)

数据库调优执行计划分析指南,带你从入门到精通 慢查询⽇志参数与默认值慢查询日志的启用修改配置文件全局变量设置参数解释log_output FILE/TABLEslow_query_log ONlong_query_time 0.001 分析慢查询⽇志表slow_log表的基本字段 分析慢查询⽇志⽂件返回记录集最多…

vue中reduce属性的使用@3@

1.reduce方法 ​ reduce方法的使用(数组方法): 遍历数组,求和 ​ 语法:数组名.reduce((pre,current) > {},参数2) ​ pre:上次执行该方法的返回值 ​ current:数据项 ​ 实例代码: let…

【新手/小白教程】打开一个vue项目的前置准备,nvm安装指定版本node

目录 一、前言二、nvmnvm介绍nvm下载与安装1. 官网下载 nvm 包2. 安装 nvm-setup.exe3. 配置路径和下载镜像4. 检查nvm是否安装完成5. 错误情况 三、nodenode版本查看node命令 一、前言 在换新电脑的时候总是需要把所有东西重新安装配置,这篇用来记录一下打开一个v…

Nginx 实现七层的负载均衡

一、拓扑结构 [vip: 20.20.20.20] 外网 桥接模式(vip) 内网 nat模式[LB1 Nginx] [LB2 Nginx]192.168.1.2 192.168.1.3[index] [milis] [videos] [images] [news]1.11 1.21 1.31 1.41 1.511.12 1.22 1.32 1.42 1.5…

【数据结构-一维差分】力扣1893. 检查是否区域内所有整数都被覆盖

给你一个二维整数数组 ranges 和两个整数 left 和 right 。每个 ranges[i] [starti, endi] 表示一个从 starti 到 endi 的 闭区间 。 如果闭区间 [left, right] 内每个整数都被 ranges 中 至少一个 区间覆盖,那么请你返回 true ,否则返回 false 。 已…

4.铝箔缺陷检测项目复盘

硬件 1.装配的时候,在最初阶段就要考虑后面的走线,不能一团乱的塞进去完事,起码相同功能的线要用扎带处理一下。然后理顺好,要不后期理线是灾难。 2.有线标,线号,比如哪根线代表哪个相机,调试的…

CTFShow-信息搜集

Web1: ​ 题目描述:开发注释未及时删除 。 ​ 打开题目后提示web1:where is flag? ​ ctrlu读取源码。 Web2: ​ 题目描述:js前台拦截 无效操作 ​ 打开题目后显示:无法查看源代码 ​ 右键无法用,…

react 基础语法

前置知识 类的回顾 通过class关键字定义一个类 类名首字母大写 class类有constructor构造器 new 一个类得到一个实例 类还有方法,该方法也会在其原型上 static静态数据,访问静态属性通过 类名.id getter和setter getter:定义一个属性&…

继图书管理项目遗留的问题修改

1. 查询查不到? 因为我的数据库变量是下划线命名的,user_id ,而一种规范是 ,这个时候的实体类的变量要写成驼峰型的,就是userId。 第二种就是直接把数据库变量和实体类变量的名字设成相同的。 这样封装成的对象才能…

Vue 常用高级指令解析

Vue 高级指令的重要性 Vue 高级指令是一种扩展 Vue.js 框架的功能的方式,可以让你在处理 DOM 元素时具有更多的控制权。它们可以通过自定义指令的方式进行编写和应用。 高级指令的重要性在于,它们使开发者能够通过 Vue 框架来创建更加复杂和灵活的交互…

【Vmware16安装教程】

📖Vmware16安装教程 ✅1.下载✅2.安装 ✅1.下载 官网地址:https://www.vmware.com/ 百度云盘:Vmware16下载 123云盘:Vmware16下载 ✅2.安装 1.双击安装包VMware-workstation-full-16.1.0-LinuxProbe.Com.exe,点击…

使用OpenCV进行模糊检测(拉普拉斯算子)

参考: 使用OpenCV进行模糊检测(拉普拉斯算子) 代码: # import the necessary packages from imutils import paths import argparse import cv2 import osdef variance_of_laplacian(image):# compute the Laplacian of the ima…

UE5安卓项目打包安装

Android studio安装 参考:https://docs.unrealengine.com/5.2/zh-CN/how-to-set-up-android-sdk-and-ndk-for-your-unreal-engine-development-environment/ 打开android studio的官网:Download Android Studio & App Tools - Android Developers …

【深度智能】:迈向高级时代的人工智能全景指南

​ ​ 前几天偶然发现了一个超棒的人工智能学习网站,内容通俗易懂,讲解风趣幽默,简直让人欲罢不能。忍不住分享给大家,人工智能立刻跳转,开启你的AI学习之旅吧! 第一阶段:基础知识 1. 计算机科…

一个基于Java SSM框架(Spring、SpringMVC、MyBatis)的沙县小吃点餐系统

下面是一个基于Java SSM框架(Spring、SpringMVC、MyBatis)的沙县小吃点餐系统的简单代码案例。这个系统通常包含用户管理、菜单浏览、点餐、订单管理等功能。 1. 实体类(POJO) 首先,我们定义一个简单的Product实体类…

css grid布局属性详解

Grid布局 前言一、认识Grid1.1容器和项目1.2行和列1.3单元格和网格线 二、容器属性2.1.grid-template-columns与grid-template-rows属性2.1.1 直接使用长度单位比如px2.1.2 使用百分比 %2.1.3 使用repeat函数2.1.4 按比例划分 fr 关键字2.1.5 自动填充 auto 关键字2.1.6 最大值…

工商银行银企直联接口清单

+--- 电子银行部V0.0.0.1 | +--- 专业版 | | +--- 代发工资单上传(PBI).xls | | +--- 代发工资单删除(PBD).xls | | +--- 代发工资单查询(PBQ).xls | | +--- 余额保留(HAR).xls | | +--- 保证金账户信息查询(QAD).xls | | +--- 到账通知.xls | |…