【自动驾驶】《Planning-oriented Autonomous Driving》UniAD论文阅读笔记

目录

1.参考

2.摘要

3.介绍

4.方法

5.实验

(1)消融实验

(2)模块性能对比

(3)模块组件的消融实验

(4)可视化结果

6.未来可能要做的事


1.参考

论文:https://arxiv.org/pdf/2212.10156

代码:https://github.com/OpenDriveLab/UniAD

2.摘要

原来的自动驾驶任务都是分为模块化的,感知,预测,规划等。每个独立的任务可能都优化得很好,但可能会存在累积误差或者各个独立的任务之间协调不足。

提出一种统一的框架,uniAD,利用各个模块的优势,以全局角度为智能体交互提供互补的特征抽象。在nuScences数据集上有SOTA的表现。

3.介绍

由多个独立的任务,到多任务学习(通过共用backbone,使用不同的head,来训练不同的任务),并将其扩展到tranformer BEV等,mobileye,tesla,nvidia均在上面做了一些个性化的产品。该方法降低车载芯片的计算代价。

端到端的自动驾驶将所有的节点融合在一起,感知,预测,规划。

为了实现可靠地以规划为导向的自动驾驶系统,应该如何设计有利于规划的pipeline ?

UniAD的关键组件是基于查询的设计,用于连接所有节点。

贡献:

(1)基于规划导向的理念

(2)提出UniAD,一种端到端的自动驾驶系统

(3)在现实场景的benchmark上测试,具有SOTA的性能。

4.方法

UniAD包括四个基于编码器的transformer,TrackFormer,MapFormer,MotionFormer,OccFormer,Planner。

(1)TrackFormer联合检测和跟踪。检测到新帧目标到跟踪会生成新目标,下一帧查询上一帧交互在self-attention 模块中聚合时态信息,直至该智能体agent消失,将自车也作为一个智能体引入。其中该智能体传给MotionFormer。

(2)MapFormer二维全景分割,作为地图信息来查询,含车道线分隔线,交叉路口

(3)MotionFormer捕获三种交互,agent-agent,agent-map,agent-goal point。轨迹预测。

(4)OccFormer实例级别的占用。

(5)Planning,没有HD和道路信息,将原始导航信号(左转、右转、直行)转换为三个可学习的embedding。通过MotionFormer可以查询自车周边的多模态意图(其他agent)、OccFormer查询周围环境,解码为周围路点。避免碰撞优化下面的代价函数。

训练:是一个两阶段的训练任务,先训练感知。然后再训练端到端的任务20epoch。

5.实验

实验在Nuscences数据集上进行的。

(1)消融实验

UniAD方法比ID-0这种通过多个检测头的多任务学习性能更好。

(2)模块性能对比

(3)模块组件的消融实验

(4)可视化结果

6.未来可能要做的事

(1)如何为轻量级部署设计和管理系统值得未来探索。

(2)是否将更多的任务(如深度估计、行为预测)以及如何将其嵌入系统中,也是值得未来研究的方向。

相关推荐
mtactor7 小时前
投资理财学习笔记
笔记·学习·金融
AustinCyy7 小时前
【论文笔记】Introduction to Explainable AI
论文阅读·人工智能
XiangrongZ9 小时前
江协科技STM32课程笔记(五)— ADC模数转换器
笔记·科技·stm32
Olrookie10 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
请你喝好果汁64110 小时前
Conda_bashrc 初始化机制学习笔记
笔记·学习·conda
_李小白11 小时前
【Android Gradle学习笔记】第八天:NDK的使用
android·笔记·学习
摇滚侠11 小时前
Spring Boot 3零基础教程,WEB 开发 自定义静态资源目录 笔记31
spring boot·笔记·后端·spring
摇滚侠11 小时前
Spring Boot 3零基础教程,WEB 开发 Thymeleaf 遍历 笔记40
spring boot·笔记·thymeleaf
Chloeis Syntax12 小时前
接10月12日---队列笔记
java·数据结构·笔记·队列
QT 小鲜肉12 小时前
【个人成长笔记】Qt 中 SkipEmptyParts 编译错误解决方案及版本兼容性指南
数据库·c++·笔记·qt·学习·学习方法