论文阅读--Planning-oriented Autonomous Driving(二)

自动驾驶框架的各种设计比较。

( a )大多数工业解决方案针对不同的任务部署不同的模型。

( b )多任务学习方案共享一个具有分割任务头的主干。

( c )端到端范式将感知和预测模块统一起来。以往的尝试要么采用( c.1 )中对规划的直接优化,要么采用( c.2 )中的部分元件设计系统。相反,我们在( c.3 )中主张,一个理想的系统应该以规划为导向,并适当地组织前期工作以促进规划。

1.创新点

     在这篇文献《Planning-oriented Autonomous Driving》中,作者提出了一个创新的自动驾驶系统框架UniAD,它以规划为核心,将感知、预测和规划任务集成在一个统一的网络中,通过基于查询的设计实现不同模块间的有效通信和信息共享。UniAD采用端到端的训练方法,允许直接从传感器数据学习到规划结果,强调了对规划模块的专门设计,包括自我车辆的显式建模和环境交互。此外,系统引入了非线性优化策略来提高运动预测的物理可行性,并通过同时考虑实例级和场景级信息来增强占用预测的准确性。在nuScenes基准测试中,UniAD展现出显著的性能提升,证明了其在规划安全性和准确性方面的优势。整个系统在保持计算效率的同时,为自动驾驶技术的发展提供了一个全面、协调且高效的解决方案。

2.规划导向系统设计具体是如何实现的?

       规划导向系统设计通过创建一个名为UniAD的统一网络框架实现,该框架整合了自动驾驶的关键任务,包括感知、预测和规划,以规划为核心目标进行端到端的优化。通过基于查询的交互方式,UniAD促进了任务间的有效通信和信息共享,同时采用非线性优化策略来提高运动预测的物理可行性,并结合实例级与场景级的占用预测,为规划模块提供了精确的环境理解。此外,规划模块利用从感知和预测模块中提取的信息,考虑自我车辆的动态和环境的占用状态,生成安全有效的轨迹。这种设计在nuScenes基准测试中验证了其在规划安全性和准确性方面的优势,展示了显著的性能提升。
 

3.方法论

统一自动驾驶框架( Uniad )。它是精心设计的遵循规划为导向的哲学。我们不是简单的任务堆叠,而是研究每个模块在感知和预测中的作用,利用从前节点到最终规划的联合优化在驾驶场景中的好处。所有感知和预测模块均采用转换器解码器结构设计,任务查询作为连接各节点的接口。最后,一个简单的基于注意力的规划器考虑从前面节点提取的知识来预测自我车辆的未来路径点。超占地图仅供视觉使用。

UniAD系统能够实现一个高度集成和协调的自动驾驶解决方案,强调了规划在自动驾驶系统中的核心地位。

3.1 系统概览

UniAD系统由四个基于Transformer解码器的感知和预测模块以及一个规划器组成。这些模块通过查询(queries)相互连接,以模拟驾驶场景中实体间的不同交互。系统处理多摄像头图像,将视角视图特征转换为统一的鸟瞰视图(BEV)特征,然后进行进一步的处理和规划。

3.2 感知模块

3.2.1 跟踪和映射(TrackFormer 和 MapFormer)

  • TrackFormer:负责检测和多目标跟踪(MOT),无需非可微的后处理。它使用检测查询和跟踪查询来分别处理新出现的目标和已跟踪目标。
  • MapFormer:基于2D全景分割方法,将道路元素(如车道、分隔线和交叉口)作为地图查询,执行语义分割。

3.3 预测模块

3.3.1 运动预测(MotionFormer)

  • 利用来自TrackFormer和MapFormer的动态代理和静态地图的查询,预测所有代理的多模态未来运动。
  • 通过场景中心的方式,一次前向传播产生多代理轨迹,节省计算成本。

3.3.2 占用预测(OccFormer)

  • 预测未来时间步的占用网格图,考虑场景级别的语义和代理级别的动态。
  • 使用注意力模块在时间上展开未来预测,同时保持代理身份。

3.4 规划模块

  • 将从MotionFormer得到的自我车辆查询与BEV特征结合,预测未来路径点。
  • 通过牛顿方法在推理阶段优化路径,避免与预测的占用区域发生碰撞。

3.5 学习策略

  • 两阶段训练:首先独立训练感知模块,然后进行端到端训练,包括所有模块。
  • 共享匹配:使用二分图匹配算法在跟踪和映射阶段进行预测与真实值的匹配。

3.6 实现细节

  • 检测和跟踪:使用Deformable DETR头进行检测,引入跟踪查询以实现端到端跟踪。
  • 在线映射:将道路元素分为“thing”和“stuff”,进行实例和语义分割。
  • 运动预测:采用Transformer结构,通过多模态预测和非线性优化策略生成物理上可行的轨迹。
  • 占用预测:通过注意力机制和多步交互预测未来的占用网格图。
  • 规划:使用自我车辆查询和BEV特征进行规划,优化路径以避免碰撞。

3.7 损失函数

  • 定义了各种任务的损失函数,包括跟踪、映射、运动预测、占用预测和规划,以确保模型在训练过程中能够学习到各个任务的特性和需求。

4.实验

4.1 实验设置

  • 数据集:使用nuScenes数据集进行实验,这是一个多模态自动驾驶数据集,包含丰富的交通场景和传感器数据。
  • 评估指标:采用多种指标来评估系统性能,包括跟踪准确性(AMOTA、AMOTP)、预测误差(minADE、minFDE)、规划安全性(L2误差、碰撞率)等。

4.2 联合结果

  • 任务协调:通过广泛的消融实验(ablations),验证了系统中各个任务模块的协调对最终规划性能的重要性。
  • 预测与规划:展示了运动预测和占用预测任务对于安全规划的必要性,以及它们如何共同提升规划性能。

4.3 模块化结果

  • 感知模块:评估了UniAD在3D目标检测和多目标跟踪任务上的性能,并与现有技术进行了比较。
  • 预测模块:分析了运动预测和占用预测模块的性能,展示了UniAD在这些任务上相较于其他方法的优势。
  • 规划模块:评估了UniAD在规划任务上的性能,特别是在复杂交通场景中的安全性和准确性。

4.4 定性结果

  • 场景可视化:通过可视化方法展示了UniAD在不同交通场景中的表现,包括城市道路巡航、复杂交叉口导航和障碍物避让等。
  • 注意力掩码:展示了规划模块中注意力掩码的可视化结果,说明了模型如何关注关键区域和代理。

4.5 消融研究

  • 设计影响:通过逐步移除或修改UniAD中的某些设计元素(如非线性优化、注意力机制等),研究了这些设计对最终性能的具体影响。
  • 任务贡献:评估了系统中每个任务模块对整体性能的贡献,以及它们如何共同作用以提升规划的安全性和准确性。

4.6 计算效率

  • 模型复杂度:分析了UniAD模型的参数量、计算复杂度(FLOPs)和运行速度(FPS),以评估其在实际车辆硬件上的可行性。

4.7 限制与未来工作

  • 系统限制:讨论了UniAD系统在某些长尾场景下可能遇到的挑战,如大型车辆、复杂光照条件等。
  • 未来方向:提出了未来研究的方向,包括如何进一步优化系统以适应更广泛的驾驶场景,以及如何提高系统的泛化能力和鲁棒性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/144346.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【结构型】树形结构的应用王者,组合模式

目录 一、组合模式1、组合模式是什么?2、组合模式的主要参与者: 二、优化案例:文件系统1、不使用组合模式2、通过组合模式优化上面代码优化点: 三、使用组合模式有哪些优势1、统一接口,简化客户端代码2、递归结构处理方…

选址模型 | 基于混沌模拟退火粒子群优化算法的电动汽车充电站选址与定容(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 基于混沌模拟退火粒子群优化算法的电动汽车充电站选址与定容(Matlab) 问题建模:首先,需要将电动汽车充电站选址与定容问题进行数学建模,确定目标函数和约束…

Redis面试真题总结(一)

文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 文章收录在网站:http://hardyfish.top/ 什么是Redis? Redis是一个高性能的开源内存数据库系统&#xff0…

Java从入门到精通学习框架(三)

这一阶段的学习目标是将 Java 的知识从基础提升到实战开发的应用层面,通过对常见的 Java 企业级开发框架的学习和实践,掌握设计模式、分布式系统开发、性能优化等核心技能。在此基础上,学习并应用 Java 的高级特性和最佳实践,使自…

C#和数据库高级:抽象类和抽象方法

文章目录 一、为什么使用抽象类和抽象方法?1.1、父类与子类的相互转换 二、抽象类和抽象方法2.1、抽象类的定义和方法声明规范2.2、使用继承多态的机制解决问题 三、抽象类的概念和使用特点总结 一、为什么使用抽象类和抽象方法? 1.1、父类与子类的相互…

代码随想录_刷题笔记_第二次

链表 — 环形链表 题目链接:142. 环形链表 II - 力扣(LeetCode) 题目要求: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链表中有某个节点&#xff0c…

计算机专业的就业方向

计算机专业的就业方向 亲爱的新生们,欢迎你们踏上计算机科学的旅程!作为一名计算机专业的学生,你们即将进入一个充满无限可能的领域。今天,我将为大家介绍计算机专业的一些主要就业方向,帮助你们了解未来的职业选择。…

(黑马点评)二、短信登录功能实现

2.1 基于传统Session实现的短信登录及其校验 2.1.1 基于Session登录校验的流程设计 2.1.2 实现短信验证码发送功能 请求接口/user/code请求类型post请求参数phone返回值无 /*** 发送手机验证码*/PostMapping("/code")public Result sendCode(RequestParam("ph…

Ubunutu 的 Bash 没有颜色

终端没有颜色: 取消注释 force_color_promptyes : 这时候就有颜色了:

three.js shader 实现天空中白云

three.js shader 实现天空中白云 预览: https://threehub.cn/#/codeMirror?navigationThreeJS&classifyshader&idwhiteCloud 更多案例 可见 预览: https://threehub.cn import * as THREE from "three"; import { OrbitControls …

按摩上门预约小程序源码系统 在线评价+即时服务 带完整的安装代码包以及搭建部署教程

系统概述 按摩上门预约小程序源码系统是一款专为按摩行业量身定制的移动端应用解决方案。它利用先进的互联网技术,将传统按摩服务与线上平台相结合,实现了用户与服务商之间的无缝对接。该系统不仅简化了预约流程,提高了服务效率,…

【Python】探索 PluginBase:Python 插件系统的灵活构建

我承认这道菜有赌的成分,果然还是赌输了。 在现代软件开发中,插件系统为应用程序提供了极大的灵活性和扩展性。Python,作为一种流行的编程语言,拥有丰富的库和框架来支持插件的开发。今天,我们将深入探讨一个名为Plug…

23.面试题02.07链表相交

public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {ListNode apheadA;ListNode bpheadB;int lenA0,lenB0;//求两个链表长度while(ap!null){apap.next;lenA;}while(bp!null){bpbp.next;lenB;}apheadA;bpheadB;int len0;//用来计算让…

BAS模型论文阅读

论文全名:Background Activation Suppression for Weakly Supervised Object Localization and Semantic Segmentation 论文pdf下载地址:2309.12943 (arxiv.org) 论文会议版全名:Background Activation Suppression for Weakly Supervised O…

AI产品经理面试20个问题汇总(含面试解题技巧、注意事项)

这题我会!这是一个包含AI产品经理问题的备考文章,本文主要讲解AI产品经理的备考注意事项、真题展示、解题技巧及高效刷题方法,相信大家看完就一定能掌握技巧并且顺利通关! 一、AI产品经理面试问题展示(20道) 1. 请描述一下你过…

Parallels Desktop 20(Mac虚拟机) v20.0.0 for Mac 最新破解版(支持M系列)

Parallels Desktop 20 for Mac 正式发布,完全支持 macOS Sequoia 和 Windows 11 24H2,并且在企业版中引入了全新的管理门户。 据介绍,新版本针对 Windows、macOS 和 Linux 虚拟机进行了大量更新,最大的亮点是全新推出的 Parallels…

[Leetcode] 227.基本计算器

标题:[Leetcode] 227.基本计算器 个人主页:水墨不写bug (图片来源于网络) // _ooOoo_ // // o8888888o // // …

PCIe扫盲(五)

系列文章目录 PCIe扫盲(一) PCIe扫盲(二) PCIe扫盲(三) PCIe扫盲(四) PCIe扫盲(五) 文章目录 系列文章目录TLP Header详解(一)Byte En…

Linux系统编程入门 | 模拟实现 ls -l 命令

模拟实现代码 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <pwd.h> #include <grp.h> #include <time.h> #include <string.h>int main(int argc, char* argv[]) {if (a…

为什么嫁人就要嫁公务员?稳定、收入高、福利好、资源多

在现代社会&#xff0c;择偶不仅仅是感情问题&#xff0c;更涉及到经济、社会地位和未来生活的方方面面。 对于很多女性来说&#xff0c;选择一个稳定、可靠的伴侣至关重要。而公务员作为一个备受尊敬的职业&#xff0c;成为了很多人心目中的理想对象。 那么&#xff0c;为什…