首页 > 其他分享 >论文阅读: 面向Planning的端到端智驾Planning-oriented Autonomous Driving

论文阅读: 面向Planning的端到端智驾Planning-oriented Autonomous Driving

时间:2024-07-09 21:32:38浏览次数:12  
标签:预测 Driving 模型 oriented 任务 Planning 模块 感知

原文地址:https://arxiv.org/abs/2212.10156

背景

当代自动驾驶系统多采用序列化的模块化的任务处理方式,比如感知、预测、规划等。为了处理多样的任务、达到高水平智能,当代智驾一般会让独立的模型去处理不同的task;又或者用具有不同任务头的单独的模型去处理不同的任务。但是这些方法会累积错误,且任务间的协同不足。

作者认为应该设计一个更优的、可理解的、面向最终目标的框架。基于这个面向Planning的思想,他们提出了 Unified Autonomous Driving (UniAD)方案,一种新的自动驾驶框架。这个方案从全局视角出发,让智驾的各个模块特征提取可以互相补充,各个任务之间可以通过统一的查询接口通信。在此基础上,UniAD享有灵活的中间状态的表征,且可以灵活的交换各个子模块的知识、特征,以服务于最终的Planning。

作者团队用这个方案实现的智驾系统去跑nuScenes的基准测试,结果在所有方面都远远优于之前最优水平的智驾系统。

不同设计方案的对比
方案

  • 多数的业内解决方案是部署不同的模型解决不同的任务,如上图中a
  • 具有不同任务头的多任务-单模型学习范式,共享同一个主干输入,如上图中b
  • 端到端的设计范式,统一感知、预测等。如上图中c
    • 直接面向Planner优化的统一模型 c1
    • 分任务处理的序列化模型 c2
    • 面相Planner的多任务协作模型 c3

UniAD实现方法

UniAD

  • 完全遵循面向Planning的哲学
  • 研究感知、预测模块的效果,从感知、预测等到最终的规划联合优化
  • 可以通过查询接口链接每一个模型节点,查询需要的信息
  • 地图上的空间占用信息,仅用于视觉目的
  • 最终,一个基于Attention的Planner模型,在获取先前任务的知识成果的基础上,规划自车路线

Tracker、Map、Prediction、Motion、Occupancy、Planning,各模块都有更详细一些的设计及实现的介绍,感兴趣的可以查阅下原文。这里选择性的介绍下Planning模块的详细设计。

Planning模块实现

没有高精地图及预定义导航的规划模块,通常需要一个高水平抽象的命令,去指示车的运动方向。基于此,作者把原生的导航信号(左转、右转、前行)转换成了可学习的嵌入命令。自车向Motion模块的query可以获取自车的多种可能的意图,我们再加上嵌入命令组成一个“plan query”,提供查询接口。再把BEV特征加入进去,使得模型可以意识到周围环境,然后让模型解码出未来的路线规划T。
为了避免碰撞,采用牛顿的推理方法优化所规划的路线,得到T*。公式如下:

训练过程

从经验上看,两阶段训练的效果更稳定。

  1. 联合训练感知模块,如tracking,mapping,耗时6个时间段。
  2. 端到端训练感知、预测、规模所有模块,耗时20个时间段。

实验结果

使用nuScenes数据集做实验,在三个方面验证了我们设计的有效性:

  • 各方的实验结果揭示了多任务协作的优势、及其对Planning的效果
  • 各任务的模型对比现有设计的模型效果
  • 对特定模块的设计空间进行的实验验证(消融) (ablations on the design space for specific modules)

多模型联合训练实验对比

  • 最优结果标为黑体、次优结果标下划线
  • 第一行(ID-0)是多任务学习模型 ,仅做对比用
  • 观察第10-12行
    • 预测比感知离规划更近,所以作者首先加入了两个类型的预测任务到框架里:Motion、Occupancy的预测
    • 对比原生的端到端训练Planning模型(Exp.10, Fig. 1(c.1)),只有当两者协作时,planning L2 and collision rate指标最好。
    • 所以,可以得出结论:为了更安全的规划目的,这两个预测任务是必要的
  • 观察第7-9行
    • 展示了两个预测任务的协作效果,当两者紧密结合的时候,两者效果都显著提升了
    • 疑问:为何没有单独Motion预测的实验?
  • 观察第4-6行
    • tracking、mapping模块协作,让预测效果获得显著的提升(-9.7% minADE, -12.9% minFDE, -2.3 MR(%))
  • 观察第1-3行
    • 合并训练感知模块的子任务,与分开训练各模块的效果类似
  • 观察第0、12行
    • 相比于原生的多任务学习范式,planning-oriented设计在所有基础指标里都有显著的提升 (-15.2% minADE, -
      17.0% minFDE, -3.2 MR(%)), +4.9 IoU-f.(%)., +5.9 VPQ f.(%), -0.15m avg.L2, -0.51 avg.Col.(%))

各模型也都有更详细的实验结果对比,全部都是领先的或者有竞争力的。这里我们仅选择性的挑选Occupancy prediction模型结果展示。对更多单独模型对比效果感兴趣可以进一步查阅原文。

Occupancy prediction模型效果对比

  • 在对规划更关键的近距离区域,UniAD方案有显著的提升。
  • “n.” 和 “f.” 表示近区域 (30×30m) 和远区域 (50×50m) 评估
  • † 代表使用了强化训练。

总结

本文讨论了智驾算法系统级别的设计,提出了UniAD方案,一个面向最终Planning的设计。对于感知、预测模块下子任务的必要性进行了详细的分析。为了联合各个任务,采用一个基于查询的设计去链接所有子模块。得益于环境中各个客体交互更丰富的展现,广泛的实验表明本方法在所有方面都具有优越性。

局限与未来研究方向

  • 此方案工作量大,算力需求大,尤其是训练输入里加上短期历史数据。
  • 是否值得加入更多任务模块(如深度知觉、行为预测),以及如何嵌入,也值得探索。

标签:预测,Driving,模型,oriented,任务,Planning,模块,感知
From: https://www.cnblogs.com/mingbai/p/18292760/end-to-end

相关文章

  • 复述生成任务分类-笔记-Task-Oriented Paraphrase Analytics
    目录前言正文 复述生成和搜索引擎查询建议和扩展建议(QuerySuggestionandExpansion)复述生成和数据集数据增强(DataAugmentation):生成保持类别标签的合成数据,用于增加训练或测试数据集。信息安全和复述生成对抗样本生成(AdversarialExampleGeneration):保留标......
  • 【PL理论】(29) OOP:面向对象编程 | 案例研究:C++ 中的类 | 继承 | 继承和指针 | Object
    ......
  • Meta最新路径搜索算法 Beyond A*: Better Planning with Transformers via Search Dyn
    这篇论文前两个月刚刚放出,研究了如何让人工智能(AI)更好地解决复杂的规划问题,比如在迷宫中寻找最短路径,或者推箱子游戏(Sokoban)中把箱子全部推到指定位置。传统上,这类问题通常使用专门的规划算法来解决,比如A*搜索算法。但是,训练AI模型(如Transformer)来解决这些问题......
  • [Paper Reading] UniAD: Planning-oriented Autonomous Driving
    Planning-orientedAutonomousDrivinglink时间:23.03机构:ShanghaiAILaboratory&&SenseTimeTL;DR将感知、预测以及规划模块整合成为一个E2E的网络结构。该工作是CVPR2023的BestPaper。MethodTrackFormer可以参考MOTR来理解,MapFormer可参考来理解。MapFormer主......
  • 回顾二分答案 例题分析(D. Fast and Fat 和 I.Path Planning)
    对于二分答案的引述来自:二分查找&二分答案万字详解,超多例题,带你学透二分。_c++二分答案怎么确定是l<r还是l<=r-CSDN博客概念:二分答案:答案有一个区间,在这个区间中二分,直到找到最优答案。什么时候用二分答案?答案属于一个区间,当这个区间很大时,暴力超时。但重要的是——这......
  • Principles of Object Oriented Class Design
    PrinciplesofObjectOrientedClassDesignhttps://staff.cs.utu.fi/~jounsmed/doos_06/material/DesignPrinciplesAndPatterns.pdfTheOpenClosedPrinciple(OCP)1Amoduleshouldbeopenforextensionbutclosedformodification.Ofalltheprinciplesofobjec......
  • 《A Review of Motion Planning Techniques for Automated Vehicles》阅读
    这是一篇2015年的老论文了,但其中提到的很多技术至今仍在使用,在这里做一个简单的梳理。文章主要对用于自动驾驶的运动规划技术进行了梳理。在讲解具体的算法之前,有必要对自动驾驶的规划控制整体有一个了解。规划控制的整体流程如图所示,我们用一个例子来解释上图。假设你现在准备......
  • APS(Advanced Planning and Scheduling)高级计划和排程系统
    APS是什么?APS系统的主要功能有哪些?数字化转型网小编整理了一份资料,从APS是什么?APS的主要功能是什么?两个角度来讲述APS系统。一、APS是什么?APS(AdvancedPlanningandScheduling)高级计划和排程系统,主要是利用计算机运算速度快,数据存储、传递、演绎、纠错和交换方便,可以把人的很......
  • 【PR】UC-NERF: NEURAL RADIANCE FIELD FOR UNDERCALIBRATED MULTI-VIEW CAMERAS IN A
    【简介】这篇文章的作者来自中科大、北大武汉人工智能研究院、大疆和上海科大,投稿到了ICLR2024会议,已接收。UC,表示undercalibrated,意味着标定不准。本文提出UC-NeRF用于解决标定不够好的多相机配置的新视角合成方法。首先,作者提出一种基于层的颜色校正方法,以纠正不同图像区域......
  • python面向对象(Object Oriented Program)
    面向对象(ObjectOrientedProgram)在Python中,所有的数据(包括数字和字符串)实际都是对象,同一类型的对象都有相同的类型。我们可以使用type()函数来获取关于对象的类型信息。什么是类,什么是对象?在Python中,使用类来定义同一种类型的对象。类(class)是广义的数据类型,能够定义复......