【自动驾驶】《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)是否将更多的任务(如深度估计、行为预测)以及如何将其嵌入系统中,也是值得未来研究的方向。

相关推荐
齐生14 天前
iOS 知识点 - 渲染机制、动画、卡顿小集合
笔记
用户962377954484 天前
VulnHub DC-1 靶机渗透测试笔记
笔记·测试
齐生15 天前
iOS 知识点 - IAP 是怎样的?
笔记
tingshuo29175 天前
D006 【模板】并查集
笔记
tingshuo29176 天前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
地平线开发者7 天前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
地平线开发者7 天前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
西岸行者12 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
starlaky12 天前
Django入门笔记
笔记·django
勇气要爆发12 天前
吴恩达《LangChain LLM 应用开发精读笔记》1-Introduction_介绍
笔记·langchain·吴恩达