SparseDrive---论文阅读

news2025/5/26 0:38:44

纯视觉下的稀疏场景表示

算法动机&开创性思路

算法动机:

  1. 依赖于计算成本高昂的鸟瞰图(BEV)特征表示。
  2. 预测和规划的设计过于直接,没有充分利用周围代理和自我车辆之间的高阶和双向交互。
  3. 场景信息是在agent周围提取,没有考虑到自我车辆对周围代理的影响,忽略了自我车辆在运动预测和规划中的作用。
  4. 运动预测和规划都被视为多模态问题,但现有方法只预测确定性的轨迹,没有考虑到内在的不确定性。

开创性思路:为了解决以上问题,


        1.通过稀疏场景表示和重新设计的预测与规划任务,提高了自动驾驶系统的性能和效率,特别是在规划安全性方面。
        2.SparseDrive包含对称的稀疏感知模块和并行运动规划器,通过有效的设计,实现了在所有任务中的性能提升,同时保持了更高的训练和推理效率。
        3.修改了运动预测和规划之间的巨大相似性,串级模块,提出了一种分层规划选择策略

主体结构

输入:6图感知,输出:自车规划模块以及其他Agent规划模块

+---------------------+
|      SparseDrive    |
+---------------------+
|  use_grid_mask      |
|  use_deformable_func|
+---------------------+
|  img_backbone (ResNet)|
|  img_neck (FPN)     |
|  depth_branch       |
+---------------------+
|       head          |
+---------------------+
|  det_head (Sparse4DHead)|
|  map_head (Sparse4DHead)|
|  motion_plan_head (MotionPlanningHead)|
+---------------------+

包括特征提取(ImageEncoder),对称稀疏感知(SymmetricSparsePerception),平行运动规划器(ParallelMotionPlanner)

对称稀疏感知,主要包括稀疏检测,稀疏在线建图,稀疏跟踪模块

图像编码:

给定多视图图像,图像编码器(包括主干网络和颈部)首先将图像编码为多尺度特征图,其中S是尺度数,N是camera图数

对称稀疏感知模块:

如下图,特征图被聚合成2组实例,来学习驾驶场景稀疏表示,俩组实例分别代表周围智能体Initialized Detection Instances 是数据集里的anchor,(x,y,z,lnw,lnh,lnl,sin yaw,cos yaw,vx,vy,vz)和地图元素Initialized Map Instances (x0,y0,x1,y1...xNp-1,yNp-1)
Feature Maps是6张图特征

平行运动规划器:

自车Ego轨迹预测和其他Agent的轨迹预测应该合并成一个任务,具有相互影响
Ego Insitance初始化:和其他模Agent不一样,在相机视角下,是处于盲区的,Ego的特征是采用前视视角下图像特征图,并且在ResNet在输出多尺度特征取得最小特征图后平均池化去作为Ego特征初始化,Ego Anchor对于x,y,yaw是每一帧定义好,但是速度,加速度会让主车根据运动属性使得模型学习shortcut,不利于学习主车自主交互,所以用T-1时刻状态进行预测,作为辅助任务进行Loss监督

新的范式:
 

  1. 稀疏场景表示(Sparse Scene Representation)

    • SparseDrive采用了稀疏表示来学习驾驶场景的完整表示,这种表示通过对称的稀疏感知模块实现,该模块统一了检测、跟踪和在线映射任务。
  2. 对称稀疏感知模块(Symmetric Sparse Perception Module)

    • 该模块通过结构对称性,将检测、跟踪和在线映射集成到一个模型架构中,学习场景的稀疏表示。
  3. 并行运动规划器(Parallel Motion Planner)

    • SparseDrive的并行运动规划器同时进行运动预测和规划,考虑了自我车辆和周围代理之间的高阶和双向交互。
  4. 层次化规划选择策略(Hierarchical Planning Selection Strategy)

    • 该策略包括一个碰撞感知重分模块(Collision-Aware Rescore Module),用于从多模态轨迹提议中选择一个合理且安全的轨迹作为最终规划输出。
  5. 端到端学习(End-to-End Learning)

    • SparseDrive采用多阶段训练方法,首先分别训练稀疏感知模块,然后在第二阶段联合训练稀疏感知模块和并行运动规划器,实现端到端优化。
  6. 效率优化

    • 论文中提出的SparseDrive在保持高性能的同时,还实现了更高的训练和推理效率。

通过这些设计,SparseDrive能够在所有任务中实现比之前最先进方法更高的性能,同时在训练和推理效率上也有显著提升。具体来说,SparseDrive在nuScenes基准测试中超越了先前的最先进方法,尤其是在安全性关键指标碰撞率方面,同时保持了更高的训练和推理效率

损失函数

Loss : L = Ldet + Lmap + Lmotion + Lplan + Ldepth

Stage1:从头开始训练对称稀疏感知模块,以学习稀疏场景表示

Stage2:稀疏感知模块和并行运动规划期一起训练

性能对比

3D detection results,Multi-object tracking results ,Online mapping results

Prediction Results,Planning results

效率对比,平行运动规划器中的各模块消融实验

总结:

A: 这篇论文提出了SparseDrive,一种新颖的端到端自动驾驶范式,旨在通过稀疏场景表示和优化的任务设计来提高自动驾驶系统的性能和效率。以下是论文的主要内容总结:

  1. 问题识别:传统的自动驾驶系统采用模块化设计,导致信息丢失和误差累积。现有的端到端方法在性能和效率上,特别是在规划安全性方面,仍有不足。

  2. SparseDrive范式:提出了SparseDrive,一种新的端到端自动驾驶范式,它利用稀疏表示来统一处理检测、跟踪、在线映射、运动预测和规划任务。

  3. 关键组件

    • 对称稀疏感知模块:通过结构对称性,同时处理检测、跟踪和在线映射任务。
    • 并行运动规划器:同时进行运动预测和规划,考虑自我车辆与周围代理的交互。
  4. 层次化规划选择策略:提出了一种策略,通过碰撞感知重分模块来选择安全合理的轨迹。

  5. 端到端学习:采用分阶段训练方法,先分别训练感知模块,然后联合训练感知和规划模块,实现端到端优化。

  6. 实验验证:在nuScenes数据集上进行了广泛的实验,证明了SparseDrive在3D检测、多目标跟踪、在线映射、运动预测和规划任务中的性能均优于现有最先进方法。

  7. 效率提升:SparseDrive在保持高性能的同时,显著提高了训练和推理的效率。

  8. 消融研究:通过消融实验,展示了SparseDrive设计选择的有效性,包括运动规划器的设计、碰撞感知重分模块和多模态规划的重要性。

  9. 未来工作:论文指出了端到端模型在性能、数据集规模、安全性评估等方面的局限性,并提出了未来探索的方向。

  10. 代码开源:论文承诺将SparseDrive的代码开源,以促进未来研究。

SparseDrive通过其创新的设计和方法,在自动驾驶领域提供了一种有效的解决方案,推动了端到端自动驾驶技术的发展

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

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

相关文章

Unchained 内容全面上链,携手 Walrus 迈入去中心化媒体新时代

加密新闻媒体 Unchained — — 业内最受信赖的声音之一 — — 现已选择 Walrus 作为其去中心化存储解决方案,正式将其所有媒体内容(文章、播客和视频)上链存储。Walrus 将替代 Unchained 现有的中心化存储架构,接管其全部历史内容…

确保连接器后壳高性能互连的完整性

本文探讨了现代后壳技术如何促进高性能互连的电气和机械完整性,以及在规范阶段需要考虑的一些关键因素。 当今的航空航天、国防和医疗应用要求连接器能够提供高速和紧凑的互连,能够承受振动和冲击,并保持对电磁和射频干扰 (EMI/R…

C++学习Day0:c++简介

目录 一、.C语言的发展史二、C特点三、面向对象的重要术语四、面向过程和面向对象的区别?五、开发环境:六、创建文件步骤:1.点击新建项目2.在弹出的开始栏中按如下操作3.在.pro文件中添加(重要!!&#xff0…

从零开始构建 Ollama + MCP 服务器

Model Context Protocol(模型上下文协议)在过去几个月里已经霸占了大家的视野,出现了许多酷炫的集成示例。我坚信它会成为一种标准,因为它正在定义工具与代理或软件与 AI 模型之间如何集成的新方式。 我决定尝试将 Ollama 中的一…

MATLAB学习笔记(二) 控制工程会用到的

MATLAB中 控制工程会用到的 基础传递函数表达传递函数 零极点式 状态空间表达式 相互转化画响应图线根轨迹Nyquist图和bode图现控部分求约旦判能控能观极点配置和状态观测 基础 传递函数表达 % 拉普拉斯变换 syms t s a f exp(a*t) %e的a次方 l laplace(f) …

C++ 线程间通信开发从入门到精通实战

C 线程间通信开发从入门到精通实战 在现代软件开发中,多线程程序已成为提升应用性能、实现并行处理的重要手段。随着多核处理器的普及和复杂应用需求的增加,C作为一门高性能的编程语言,在多线程开发中扮演着不可或缺的角色。然而&#xff0c…

Redis原理与Windows环境部署实战指南:助力测试工程师优化Celery调试

引言 在分布式系统测试中,Celery作为异步任务队列常被用于模拟高并发场景。而Redis作为其核心消息代理,其性能和稳定性直接影响测试结果。本文将深入解析Redis的核心原理,主要讲解Windows环境部署redis,为测试工程师提供一套完整…

Go语言入门到入土——一、安装和Hello World

Go语言入门到精通——安装和Hello World 文章目录 Go语言入门到精通——安装和Hello World下载并安装让Go跑起来为你的代码启动依赖跟踪调用外部包总结 下载并安装 下载地址:https://go.dev/dl/ 下载后傻瓜式安装 查看是否安装完成 go version让Go跑起来 创建一个…

opencv函数展示

一、图像基础 I/O 与显示 1.cv2.imread() 2.cv2.imshow() 3. cv2.waitKey() 4. cv2.imwrite() 5. cv2.selectROI() 6. cv2.VideoCapture() 二、颜色空间与转换 1. cv2.cvtColor() 2. cv2.split() 三、阈值处理 1. cv2.threshold() 2. 特殊阈值方法

【vue3】vue3+express实现图片/pdf等资源文件的下载

文件资源的下载,是我们业务开发中常见的需求。作为前端开发,学习下如何自己使用node的express框架来实现资源的下载操作。 实现效果 代码实现 前端 1.封装的请求后端下载接口的方法,需求配置aixos的请求参数里面的返回数据类型为blob // 下载 export…

如何在 Kali 上解决使用 evil-winrm 时 Ruby Reline 的 quoting_detection_proc 警告

在使用 Kali Linux 运行 Ruby 工具(例如 evil-winrm)时,你可能会遇到以下警告: Warning: Remote path completions is disabled due to ruby limitation: undefined method quoting_detection_proc for module Reline这个警告会导…

从零到一:网站设计新手如何快速上手?

从零到一:网站设计新手如何快速上手? 在当今数字化时代,网站已成为企业、个人展示信息、提供服务的重要窗口。对于想要涉足网站设计领域的新手而言,如何快速上手并掌握必要的技能成为首要任务。本文将从基础知识、软件工具、设计…

面向初学者的JMeter实战手册:从环境搭建到组件解析

🌟 ​大家好,我是摘星!​ 🌟 今天为大家带来的是面向初学者的JMeter实战手册:从环境搭建到组件解析,废话不多说,让我们直接开始~ 目录 1. JMeter简介 2. JMeter安装与配置 2.1. 安装 2.2.…

工资管理系统的主要功能有哪些

工资管理系统通过自动化薪资计算、税务处理、员工数据管理、报表生成等功能,极大地提升了薪资发放的效率和准确性。在传统的人工薪资管理中,HR人员需要手动计算每位员工的薪资,并确保符合税务要求,极易出错且耗时。而现代工资管理…

子函数嵌套的意义——以“颜色排序”为例(Python)

多一层缩进精减参数传递,参数少平铺书代码写更佳。 笔记模板由python脚本于2025-04-16 11:52:53创建,本篇笔记适合喜欢子函数嵌套结构代码形式的coder翻阅。 【学习的细节是欢悦的历程】 博客的核心价值:在于输出思考与经验,而不仅…

信息系统项目管理工程师备考计算类真题讲解四

一、三点估算(PERT) PERT(Program Evaluation and Review Technique):计划评估技术,又称三点估算技术。PERT估算是一种项目管理中用于估算项目工期或成本的方法,以下是其详细介绍: …

Golang|KVBitcask

文章目录 初识KVbitcask论文详解 初识KV bitcask论文详解 论文地址:https://riak.com/assets/bitcask-intro.pdf理想的存储引擎,应该满足下面一些特点:

基于骨骼识别的危险动作报警系统设计与实现

基于骨骼识别的危险动作报警系统设计与实现 基于骨骼识别的危险动作报警分析系统 【包含内容】 【一】项目提供完整源代码及详细注释 【二】系统设计思路与实现说明 【三】基于骨骼识别算法的实时危险行为预警方案 【技术栈】 ①:系统环境:Windows 10…

PDF转换格式失败?原因及解决方法全解析

在日常工作中,我们经常会遇到将PDF转换为Word、Excel、PPT等格式的需求。有时候以为一键转换就能搞掂,没想到却转换失败。到底问题出在哪?别急,我们可以看看是否以下几个问题引起的,找到解决问题的关键! 原…

模型提示词

一 提示词 (一) 提示词(Prompt)是用户发送给大语言模型的问题、指令或请求,** 1 来明确地告诉模型用户想要解决的问题或完成的任务,是大语言模型理解用户需求并据此生成相关、准确回答或内容的基础。对于…