UniAD:以规划为导向的端到端自动驾驶

ops/2024/11/19 3:17:48/

文章链接

这个文章是CVPR2023 Best Paper

https://arxiv.org/pdf/2212.10156

提出背景

以往的自动驾驶多数是为不同的任务场景设计部署单独的模型,这样子组成的系统会很复杂如图a。

图b这是多任务共享一个主干,但还是要分离训练,而且不是端到端的。有没有什么方式你可以把所有的环节都串联起来,实现完整的端到端呢?

c.1就是一个直接预测轨迹的方式,但是它的没有明确监督学习中间的过程,所以就如同一个黑箱,基本没有可解释性。c.2做了一些改造加入了一个一个模块,但是串联似乎并不是一个好的设计。最理想的端到端是以最终的规划为导向,并且把前面的任务合理组织促进最终的规划决策的,于是作者提出c.3的端到端自动驾驶规划模型

模型解读

UniAD模型设计:以规划为导向,可以理解为,最终车的轨迹规划是结合了车身轨迹,运动特征,地图语义特征,空间占用特征等做出的综合决策

具体流程

  1. 先对多视角的图片进行特征提取获得BEV特征

  2. 然后用作两个方向:一个通过前后帧结合的自注意力查询,获得根据轨迹检测的特征(Track),实现车辆轨迹跟踪,只有清晰车辆的状态才能进行下一步的规划;另外一个通过查询地图相关元素,得到地图的查询特征(Map),这里也是多层的注意力,最终结果输出到下一个目标

  3. 接下来做轨迹特征预测,这里把前面的车辆跟踪结合地图特征又结合上BEV特征,所有都联合起来进行自注意机制的学习,获得行车运动的轨迹预测(Motion)

  4. 通过Motion轨迹预测再次结合BEV来构建占用网络,获得空间中的占用情况,并且预测占用的变化,占用也是一个关键的特征,只有车辆能够明确占用情况才可以进一步做出安全明智的规划。这里也是多层的Transformer,结合Motion轨迹预测和前后帧的token来实现占用的预测

  5. 通过占用Occ预测,Motion预测还有BEV特征,做出最后的决策规划,这里的规划可以说是集大成的结果,开启可解释性比较强,可以专门针对每个单独模块做优化

总结

这么完整的一套端到端规划流程最大的基石就是Transformer架构,通过自注意力机制,把各种具有不同语义表示的特征结合起来,做下游的规划。不仅如此,模型还基Transformer架构从特征当中获取特征,如Track,Map,Occ。在最后的两步中还是加入了BEV的,我们可以认为BEV就是一个贯穿全程且不断被强化的特征。因为BEV特征是最前且核心的特征,通过传感器直接获取,其他的特征其实都依赖于BEV去查询得到的。UniAD也不是简单把所有的任务模块堆叠,每个特征他们之间的关系以及学习构建的方式都做了清晰的明确,实现了最终的联合决策规划。


http://www.ppmy.cn/ops/17277.html

相关文章

【ubuntu系统-部署MySQL】

在Ubuntu上安装MySQL并启动服务是一项相对直接的任务,可以通过几个简单的步骤来完成。下面是一步步的指导: 第1步:更新你的Ubuntu系统 首先,打开你的终端,并运行以下命令来更新你的包列表和系统。这确保你安装的软件…

自养号测评详解:成功助力亚马逊爆款必备手册

对于亚马逊商家而言,如何成功打造爆款产品无疑是他们日常运营中最为关注的核心议题。然而,尽管众多商家费尽心思去挑选和推广产品,但有时候却仍然难以选出真正的爆款。这不禁让人深思,究竟是什么原因导致商家在选品过程中屡屡碰壁…

DS:单链表的实现

欢迎各位来到 Harper.Lee 的编程学习小世界! 博主主页传送门:Harper.Lee的博客 我将在这里分享我的学习过程等心得 创作不易,码字不易,兄弟们养成先赞后看的好习惯哦! 想一同进步的uu,可以来后来找我哦&…

数据可视化(八):Pandas时间序列——动态绘图,重采样,自相关图,偏相关图等高级操作

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…

Node框架Express搭建服务器和API

新建一个空文件夹 初始化项目 yarn init -y > package.json 配置 .gitignore 文件 node_modules/ 安装Express插件 yarn add express 创建 app.js 用于搭建后端服务器 js ├── README.en.md ├── README.md ├── app.js ├── package.json └── yarn.lockcon…

企业遇到cc攻击后会怎么样

CC攻击是什么? CC攻击,全称Challenge Collapsar,也称为挑战黑洞攻击,是一种DDoS(分布式拒绝服务)攻击的常见类型。攻击者借助代理服务器生成指向受害主机的合法请求,实现对HTTP业务的攻击。这种…

在 Oracle 数据库中使用正则表达式

在 Oracle 数据库中使用正则表达式 0. 引言1. 什么是正则表达式?2. Oracle 数据库正则表达式支持3. 用于正则表达式的 Oracle 数据库 SQL 函数4. 正则表达式中支持的元字符5. 构建正则表达式 0. 引言 本文介绍 Oracle 数据库的正则表达式支持。本文涵盖以下主题&am…

alert() 函数功能

基本的 alert() 函数用法: 最基本的用法是通过 alert() 函数显示一条简单的文本消息,如下所示: alert("Hello, World!");这将在浏览器中显示一个消息框,其中包含文本 “Hello, World!”。 显示变量的值: a…