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

相关推荐
冬奇Lab20 小时前
每日一个开源项目(第146篇):openpilot - 开源自动驾驶辅助系统,曾在 Consumer Reports 评测中超过特斯拉 Autopilot
人工智能·开源·自动驾驶
RainCity2 天前
Java Swing 自定义组件库分享(十二)
java·笔记·后端
地平线开发者7 天前
人在途中:从“编译失败”到“模型可落地”——CUDA 自定义算子
算法·自动驾驶
LinXunFeng10 天前
Obsidian - 使用 Share Note 分享笔记并自部署
前端·笔记·github
code_pgf14 天前
端到端自动驾驶 BEV stack
人工智能·机器学习·自动驾驶
闪闪发亮的小星星14 天前
高斯光以及高斯光公式解释
笔记
Godspeed Zhao14 天前
Level 4自动驾驶系统设计3——功能与场景3
人工智能·机器学习·自动驾驶
cqbzcsq14 天前
CellFlow虚拟细胞论文阅读
论文阅读·人工智能·笔记·学习·生物信息
凌晨一点的秃头猪14 天前
论文阅读 GTI(Graph-based Tree Index): 面向高维空间最近邻搜索的动态图-树混合索引结构
论文阅读
生成论实验室14 天前
机器人:一个自主运动的系统
人工智能·算法·语言模型·机器人·自动驾驶·agi·安全架构