智能驾驶中预测模块简介
1.轨迹预测的定义
轨迹预测是自动驾驶系统“感知-预测-规控”流程中的核心环节,位于感知与规划模块之间,起到承上启下的作用。感知系统负责检测道路环境中的动态和静态元素,包括车辆、行人、自行车、交通标志、车道线等,而预测模块的任务是对这些动态对象(Agent)的未来轨迹进行推测,为后续的决策和规划提供参考。
在实际应用中,轨迹预测通常基于以下两类输入信息:
- map 信息:包括车道线、交叉口、可行驶区域等静态元素。
- Agent 信息:如位置、速度、航向角等动态信息。
轨迹预测主要涉及两个方面:
- 预测终点位置:即某个时间点 Agent 可能到达的位置。
- 预测完整轨迹:从当前位置到终点的运动路径,同时考虑不确定性建模问题。
现在大家不都是在提倡感知规控“端到端”吗?为什么还要拆开介绍?个人理解:完全端到端还有一段时间要走,了解预测模块,没什么坏处。
2.轨迹预测的定位
在传统的自动驾驶系统中,感知模块输出的结果直接影响预测模块,而预测模块的输出又会影响决策与规划模块。然而,这种架构存在一定的局限性:
- 误差传递:如果感知模块未能正确检测到某个 Agent,预测模块也无法给出合理的轨迹预测。
- 系统僵化:预测模块仅依赖感知结果,缺乏对未来可能性更全面的理解,难以适应复杂场景。
因此,近年来大家都在研究如何使预测与感知更紧密结合,以提高系统的鲁棒性。
3.轨迹预测的挑战
轨迹预测面临的挑战有多个方面,例如:
- 感知误差传递 如果感知模块未能准确捕捉 Agent 的运动轨迹,预测模块的结果也会受到影响。例如:感知模块可能对某辆车的位置和速度估计不准确,影响轨迹预测。
- 不确定性挑战 轨迹预测是一个不确定性问题,即同一个 Agent 在未来可能采取多种不同的行动。例如:车辆可能选择直行、变道或停车、行人可能选择继续行走或停下。如何处理这些不确定性,很有挑战。
- Corner Case 处理 自动驾驶系统必须能够应对极端情况(Corner Cases),例如:“鬼探头”、“汽车 S 形行驶”等不常规情况的预测。
- 预测与决策的配合 预测模块的输出通常是多个可能轨迹,而决策和规划模块需要根据这些轨迹做出合理判断。例如:过于保守的预测可能会让自动驾驶车辆频繁刹车或减速,影响驾驶体验;过于激进的预测可能会导致错误判断,提高事故风险。
4.典型预测算法
本节知道几个轨迹预测算法名字就行。
4.1 TNT
Target-driven Trajectory Prediction:TNT 是基于 VectorNet 对高精地图和车辆动态进行编码后,将轨迹预测问题转化为终点预测问题。

4.2 Wayformer
Motion Forecasting via Simple & Efficient Attention Networks:Wayformer 是一个基于注意力机制的运动预测架构,由基于注意力的场景编码器和解码器组成,研究了输入模式的前融合、后融合和分层融合的选择,通过分解注意力来权衡效率和质量。

4.3 QCNet
Query-Centric Trajectory Prediction:QCNet 采用 query-centric 的框架,对场景进行编码时可以重复使用已计算的结果,不依赖于全局的时空坐标系,同时不同 agent 共享场景特征,使得 agent 的轨迹解码过程可以更加并行处理。

5.轨迹预测的评价指标
为了衡量轨迹预测模型的精度,通常采用以下指标,这些指标都是数值越小越好:
5.1 平均位移误差
ADE(Average Displacement Error)计算所有时间步的预测轨迹点与真实轨迹点的欧几里得距离均值,适用于评估轨迹预测的整体误差。

5.2 最终位移误差
FDE(Final Displacement Error)计算预测轨迹的终点与真实终点的欧几里得距离,用于关注最终预测点的准确性。

5.3 最小平均位移误差
minADE-K 选择前 K 条预测轨迹中误差最小的一条计算 ADE,衡量多模态预测的最优表现。
5.4 最小最终位移误差
minFDE-K 选择前 K 条预测轨迹中误差最小的一条计算 FDE,关注终点预测的最优表现。
5.5 Miss Rate( MR)
计算 m 条轨迹中,有 n 条 FDE 超过 2m 的比例,用于衡量预测轨迹的整体可靠性。

6.未来发展趋势
随着自动驾驶技术的不断发展,轨迹预测领域也呈现出新的发展趋势:
感知预测融合 或 端到端
- 传统方法将感知和预测作为两个独立模块,而新一代模型正在探索联合感知与预测,即直接在感知阶段输出未来轨迹,提高预测准确性。
- 采用端到端方法,从感知到控制一体化优化,提高系统整体性能。
统方法将感知和预测作为两个独立模块,而新一代模型正在探索联合感知与预测,即直接在感知阶段输出未来轨迹,提高预测准确性。
- 采用端到端方法,从感知到控制一体化优化,提高系统整体性能。
强化学习:通过强化学习优化轨迹预测,使其更加符合规划和决策需求。
相关文章:
智能驾驶中预测模块简介
1.轨迹预测的定义 轨迹预测是自动驾驶系统“感知-预测-规控”流程中的核心环节,位于感知与规划模块之间,起到承上启下的作用。感知系统负责检测道路环境中的动态和静态元素,包括车辆、行人、自行车、交通标志、车道线等,而预测模…...
剑指offer经典题型(一)
本期我们将开始进行剑指offer中经典题型的学习。 数组相关 题目1:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输…...
ctfshow VIP题目限免 版本控制泄露源码2
根据题目提示是版本控制泄露源码 版本控制(Version Control)是一种在软件开发和其他领域中广泛使用的技术,用于管理文件或项目的变更历史。 主流的版本控制工具: Git:目前最流行的分布式版本控制系统。SVN&am…...
蓝牙跳频扩频技术的作用:提升抗干扰能力与通信可靠性的核心机制
在无线通信技术领域,蓝牙(Bluetooth)以其短距离、低功耗和高兼容性成为连接电子设备的首选方案。其核心技术之一 ——跳频扩频(Frequency Hopping Spread Spectrum, FHSS),是蓝牙在2.4 GHz ISM频段复杂电磁…...
Kafka 如何保证消息可靠性?
Kafka 保证消息可靠性主要通过以下几个机制来实现,从生产者到消费者的整个链路上都设计了相应的保障措施: 1. 生产者(Producer)端的可靠性 ✅ a. acks 参数(确认机制) acks0:生产者不等待任何…...
ngx_ssl_init
定义在 src\event\ngx_event_openssl.c ngx_int_t ngx_ssl_init(ngx_log_t *log) { #if OPENSSL_VERSION_NUMBER > 0x10100003Lif (OPENSSL_init_ssl(OPENSSL_INIT_LOAD_CONFIG, NULL) 0) {ngx_ssl_error(NGX_LOG_ALERT, log, 0, "OPENSSL_init_ssl() failed")…...
docker swarm常用命令
1、初始化Swarm集群 用于初始化一个Swarm集群,并将当前节点设置为Manager节点。 用法:docker swarm init --advertise-addr <Manager节点IP> # docker swarm init --advertise-addr 192.168.1.100 这会将当前节点初始化为Swarm集群的管理节点&…...
硬盘加密安全
硬盘加密性能需求核心指标与优化策略 1. 核心性能指标 读写速度影响: 硬盘加密需平衡安全性与数据吞吐效率。以BitLocker为例,其对4K随机写入性能的影响最高可达45%2,但在现代CPU(支持AES-NI指令集)下…...
推荐系统(二十二):基于MaskNet和WideDeep的商品推荐CTR模型实现
在上一篇文章《推荐系统(二十一):基于MaskNet的商品推荐CTR模型实现》中,笔者基于 MaskNet 构建了一个简单的模型。笔者所经历的工业级实践证明,将 MaskNet 和 Wide&Deep 结合应用,可以取得不错的效果&…...
Ubuntu挂载HDD迁移存储PostgreSQL数据
关联博客:windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享 背景: 在个人ubuntu机器上安装了pgsql,新建了一张表插入了2000w数据用于模拟大批量数据分页查询用,但是发现查询也不慢(在公司测试环境查询1700…...
Flink CDC Pipeline mysql to doris
版本兼容 flink 与 flink-cdc版本兼容 flink 与doris版本兼容 运行同步程序 最终在 flink-1.20.1 与 flink-cdc-3.1.1 跑通测试 配置yaml文件 [rootchb1 flink-cdc-3.1.1]# cat mysql2doris.yaml ##################################################################…...
LaTeX、KaTeX、Markdown 的用法
文章目录 1. LaTeX 用法概述1.1 LaTeX简介1.2 优点与应用场景2. LaTeX 基础语法2.1 文档结构2.2 文本格式化2.3 数学公式3. KaTeX 用法3.1 KaTeX简介3.2 基本使用方法3.2.1 引入KaTeX3.2.2 渲染数学公式3.2.3 自定义配置3.3 与LaTeX的兼容性4. Markdown 用法4.1 Markdown简介4.…...
Git 教程:从 0 到 1 全面指南 教程【全文三万字保姆级详细讲解】
目录 什么是 Git ? Git 与 SVN 区别 Git 安装配置 Linux 平台上安装 Centos/RedHat 源码安装 Windows 平台上安装 使用 winget 工具 Mac 平台上安装 Git 配置 用户信息 文本编辑器 差异分析工具 查看配置信息 生成 SSH 密钥(可选…...
事件类型——常见的键盘事件及应用
事件类型——常见的键盘事件及应用 键盘事件是前端交互的重要组成部分,通过 keydown 和 keyup 可以精准监听用户的按键行为,结合 key 和 code 属性实现多样化的逻辑。在实际开发中,需根据场景选择合适的事件和属性,并注意兼容性和…...
【 <二> 丹方改良:Spring 时代的 JavaWeb】之 Spring Boot 的未来:从微服务到云原生的演进
<前文回顾> 点击此处查看 合集 https://blog.csdn.net/foyodesigner/category_12907601.html?fromshareblogcolumn&sharetypeblogcolumn&sharerId12907601&sharereferPC&sharesourceFoyoDesigner&sharefromfrom_link <今日更新> 一、引子&…...
beego文件上传
1file.go 2html代码 3路由设置 beego.Router("/file/Upload", &controllers.FileUploadController{}, "post:Upload") 注意 1,得新建个upload文件夹 2,路由设置严格区分大小写。 biiego文件下载上传代码 github 觉得不错Star下...
2025-04-05 吴恩达机器学习5——逻辑回归(2):过拟合与正则化
文章目录 1 过拟合1.1 过拟合问题1.2 解决过拟合 2 正则化2.1 正则化代价函数2.2 线性回归的正则化2.3 逻辑回归的正则化 1 过拟合 1.1 过拟合问题 欠拟合(Underfitting) 模型过于简单,无法捕捉数据中的模式,导致训练误差和测试误…...
基于Python的图书借阅推荐系统设计与实现
【Python】基于Python的图书借阅推荐系统设计与实现 (完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 本项目基于Python语言和Django框架开发,旨在为用户提供一个高可靠、高便捷的图…...
数字与数学——常见面试算法题
目录 数字统计问题 符号统计 阶乘0的个数 溢出问题 整数反转 回文数 进制问题 七进制数 进制转换 数组实现加法 数组实现整数加法 字符串实现加法 二进制加法 幂运算 求2的幂 求3的幂 求4的幂 辗转相除法(之前博客有过详细推导) https…...
Lua:第1-4部分 语言基础
1 Lua语言入门 1.1 程序段 我们将 Lua 语言执行的每一段代码(例如,一个文件或交互模式下的一行)称为一个程序段 ( Chunk ) ,即一组命令或表达式组成的序列 。 1.2 一些词法规范 Lua 语言中的标识符&#…...
2024版idea使用Lombok时报找不到符号
今天在springboot项目中使用Lombok的Builder注解,启动时居然报了找不到符号的错,如下图 于是开始了漫长的寻找之路,首先去settings->Plugins中看自己的Lombok插件是否启动,发现确实是如此,然后看网上的教程去加上这…...
python中的sort使用
目录 sort()使用 排序处理 升序由小到大排序: sort与sorted 总结 降序由大到小排序: key 参数详解 按字符串长度升序排序 按字符串第二个字符排序 sort()使用 list.sort(keyNone, reverseFalse) 功能:对列表原地排序(直接…...
构建macOS命令速查手册:基于Flask的轻量级Web应用实践
构建macOS命令速查手册:基于Flask的轻量级Web应用实践 一、项目概述 本文介绍一个基于Flask框架开发的macOS命令速查Web应用。该应用通过结构化的命令数据存储和响应式前端设计,为用户提供便捷的命令查询体验,具备以下特点: 六…...
APP的兼容性测试+bug定位方法
兼容性问题定位 一、为什么会有兼容性问题?二、APP兼容性测试场景三、常见的一些兼容性bug0. 引言1. 常见兼容性bug(1)界面性问题(2)内存不足(3)网络问题(4)权限问题 通过…...
开源 PDF.js 文件编辑操作
一、PDF.js PDF.js 是 Mozilla 基金会推出的一个使用 HTML5 构建的 PDF 阅读器,它完全使用 JavaScript 编写。作为 Firefox 浏览器的默认 PDF 查看器,PDF.js 具有强大的兼容性和稳定性。它不仅支持 PDF 文件的查看和渲染,还提供了丰富的交互…...
云资源合规基线:确保云环境安全与合规的完整指南
1. 引言 随着越来越多的企业将其IT基础设施迁移到云端,确保云资源的安全性和合规性变得至关重要。云资源合规基线是一套最佳实践和标准,旨在帮助组织维护安全、高效且符合法规要求的云环境。本文将深入探讨云资源合规基线的各个方面,为IT管理者和安全专业人士提供全面的指导。…...
#SVA语法滴水穿石# (005)关于 问号表达式(condition ? expr1 : expr2)
在 SystemVerilog 断言(SVA)中,问号表达式(condition ? expr1 : expr2)的语法和逻辑与 C 语言的三元条件运算符完全一致。它根据条件选择执行 expr1 或 expr2,常用于动态选择信号、序列或属性。 1. 基本语法 // 格式: condition ? true_expression : false_expressi…...
操作系统、虚拟化技术与云原生及云原生AI简述
目录 操作系统基础 操作系统定义 操作系统的组成 操作系统的分类 Linux操作系统特性 虚拟化技术 概述 CPU虚拟化 内存虚拟化 I/O虚拟化 虚拟化技术 虚拟化平台管理工具 容器 容器与云原生:详细介绍 容器的特点 什么是云原生? 云原生的特点 容器与云原生的…...
springcouldalibaba5大组件
springcouldalibaba5大组件 Spring Cloud Alibaba 简介 Spring Cloud Alibaba 是阿里巴巴提供的一站式微服务解决方案,基于 Spring Cloud 框架,集成了阿里巴巴的分布式中间件技术。它通过简单的注解和少量配置,就能将 Spring Cloud 应用连接…...
opencv中mat深拷贝和浅拷贝
1. 浅拷贝(Shallow Copy) 特点: 共享数据内存,新对象和原对象指向同一块内存数据。 修改任一对象的数据会影响另一个对象(因为内存共享)。 高效(仅复制矩阵头信息,不复制实际数据&…...
