【以规划为导向的自动驾驶】Planning-oriented Autonomous Driving

ABSTRACT

研究背景:

现代自动驾驶系统是顺序化地排列多个任务模块, 近期的主流方法:

①为单个任务部署独立模型

②设计具有分离式头部的多任务(multi-task)范式。

但是,这些方法会累积误差或任务间协同不足而不利于自动驾驶。

作者认为重点应设计一个最优的框架服务于自动驾驶的Planning任务。故而提出统一自动驾驶(UniAD

各框架的对比

UniAD

论文提出该统一自动驾驶算法框架,利用五个基本任务来实现安全和强大的自动驾驶系统,设计理念是面向Planning,关键组件是基于Query的设计来连接所有节点。

  与传统的边界框表示相比,Query受益于更大的感受野,可以减轻Planning上游任务的复合误差。

  此外,Query可以灵活地对各种交互进行建模和编码,例如多个交通参与实体之间的关系。

  论文提到,UniAD是第一个全面研究自动驾驶领域包括PerceptionPredictionPlanning在内的多种任务合作的框架。

Methodology

Overview

UniAD包含四个基于Transformer解码器的PerceptionPrediction模块和一个PlannerQueries Q 连接整个工作流,对场景中各种实体间的多种交互进行建模。将一系列多相机图像序列输入特征提取器,通过BEVFormer中的BEV编码器将特征提取器生成的透视视图特征转换为统一的鸟瞰图(BEV)特征B

TrackFormer 中,可学习嵌入被视为跟踪查询track queries,从B中查询信息,并检测和跟踪实体agents的信息。MapFormer 将地图查询map queries作为道路元素的语义抽象,并对地图实施全景分割。MotionFormer利用上述查询,捕捉实体和地图的交互,联合预测所有实体的未来轨迹。此外,还设计自车查询,与其余实体交互。OccFormer使用BEV特征B作为查询,实体知识作为键与值,预测多步未来占用。最后规划器Planner使用MotionFormer中的自车查询预测规划结果,并使自车远离OccFormer预测的占用区域。

Perception: Tracking and Mapping

TrackFormer

联合执行检测和多目标跟踪(MOT),除检测查询外,还引入跟踪查询。

  初始化的检测查询在每一时刻预测新出现的实体,而跟踪查询建模过去存在的实体。

检测查询与跟踪查询均与BEV特征B交互,跟踪查询与过去帧的相应跟踪查询进行自注意力交互,

  直到相应的智能体完全消失,TrackFormer包含N层,其最终输出状态     给出     个有效实体信息

  用于后续预测,同时,引入自车查询,建模自车,以便后续规划。

MapFormer:

基于2D全景分割方法Panoptic SegFormer,将道路元素(车道线、分隔带和十字路口、可驾驶路面)稀疏地表达为地图查询,编码位置和结构信息。同样包括N层,各层输出均被监督,但仅有最后一层的查询     被输入到MotionFormer中进行实体-地图交互。

Prediction: Motion Forecasting

MotionFormer使用      和      的高度抽象查询,在一次前向传播内预测所有实体

的前K个可能的轨迹。同时,将来自TrackFormer的自车查询传递到MotionFormer

让自车与其它实体进行交互,同时还考虑了未来动态。输出运动表示为:

 其中 i 是实体的索引,k 是轨迹模态的索引,T 是预测范围的长度。

MotionFormer,由 N 层堆叠的agent-agentagent-map

agent-goal交互transformers组成。

agent-agentagent-map交互模块使用标准transformer

解码器层构建。

agent-goal交互模块建立在可变形交叉注意力模块之上。

 

MotionFormer,由 N 层组成。

每层捕捉3类交互:实体-实体、实体-地图和实体-目标点。

对于每个运动查询 Qi,k (简写Q)与其他实体     和地图元素

的交互可记为:

 利用可变形注意力,实体与目标点交互的注意力模块:

它接受查询、参考点和空间特征,对参考点周围的空间

要素实施稀疏的注意力计算。通过这种方式,预测轨迹被

进一步细化为对端点周围环境的感知。

所有三种交互是并行建模的,生产的Qa、Qm和Qg被连接起来

并传递给多层感知器(MLP)生成query context ,然后     

被发送到OccFormer的连续层进行微调或在其最后一层被解码为

预测结果

Motion queries:

MotionFormer每一层的输入查询为运动查询,由两部分组成:

① 由前一层生成的查询上下文  ② 查询位置query position    

其中query position把位置信息整合为四种,如方程所示:

这里使用正弦位置编码 PE(·)后跟 MLP 对位置点进行编码,将     设置为第一层的     ,场景级锚点

 表示全局视角下的先前移动统计,实体级锚点捕获局部坐标下的潜在意图,都通过k-means

算法在真实轨迹的端点上聚类,以缩小误差。起点为每个实体提供自定义的位置嵌入,预测的

终点充当动态锚点。

Non-linear Optimization:

考虑到端到端范式下 上一层模块预测的不确定性可能会带来的不符合实际的情况,论文提出了使用非线性平滑器Non-linear Optimization来调整目标轨迹,过程如下:

代价函数:

运动学函数集 Φ有五项,包括加加速度,曲率,曲率速率,加速度和横向加速度。

Prediction: Occupancy Prediction

占位栅格图(occupancy grid map):一种离散化的 BEV 表征,

其中每个单元都有一个brief,表示它是否被占用,

occupancy预测任务是负责检测栅格图在未来如何变化。

为解决传统方法中实体知识使用不足,论文提出OccFormer

从两个方面合并场景级和实体级的语义:

① 在未来视野,密集的场景特征在设计的注意力模块获取实体级特征信息

②通过agent级特征和稠密场景特征之间的矩阵乘法生成实例occupancy

OccFormer 由T0个序列块组成,T0表示预测的时间范围。在motion task中,由于稠密表征occupancy的计算成本很高,T0通常小于T 。每个序列块将来自前一层丰富的实体特征Gt和状态(密集特征)Ft-1作为输入,并同时考虑实体级和场景级信息,生成时间步长t。为了获得具有动力学和空间先验的实体特征Gt,在模态维度中对来自MotionFormermotion query进行max-pool操作,这里的motion query表示为Qx,其中D表示特征维度。然后,通过特定的时域MLP将与上游的轨迹查询和当前位置嵌入融合:

对于场景级特征,BEV特征B被缩小至1/4分辨率作为第一个块的输入,为进一步保存训练记忆,每个块都遵循下采样-注意力-上采样的方式进行pixel-agent交互。下采样的特征表示为Fdst

Pixel-agent交互设计的目的是在预测未来占用时统一场景和实体级理解。

将密集特征Fdst作为查询,实体级特征作为keyvalue,随着时间更新

密集特征。具体来说,Fdst通过自注意力层进行全局交互,然后通过交叉

注意力层将实体特征和网格特征进行交互,同时使用注意力掩膜,限制仅

t时刻实体占用的像素。密集特征更新过程:

Instance-level occupancy 实例级占用表示每个实体的占用情况,

为获取BEV特征BH×W的占用预测,通过卷积解码器将场景级特征    

上采样为Fdect  ,实体级特征使用MLP更新粗糙掩膜特征     

得到占用特征Ut,最后实体级占用通过矩阵乘法得到:

Planning

 

在没有高清地图和预定路线的情况下,planning需要指示方向的高级命令,本文将原始的导航信息转换为可学习的命令嵌入command embeddings),motionformer提供的自车查询提供了多模态意图,将其与命令嵌入结合,形成规划查询plan query)。将规划查询与BEV特征B交互,解码为未来路径

为避免碰撞,论文提出基于牛顿方法的优化:

 

Experiments

实验在nuScenes数据集上进行,作者从三个方面验证其设计的有效性:

Joint Results:揭示各任务间协同优势并影响Planning的联合结果

Modular Results:与以前方法相比每个任务的模块化结果

Ablation Study:对特定模块设计空间的消融实验

Joint Results

ID 0MTL(多任务学习方案),每个任务都有单独的Head,即图1(b)

每个指标最佳结果以粗体标记,次优结果有下划线。

ID 1-3实验表明了同时训练感知子任务与训练单个任务的结果相差不太明显

ID 4-6探索了感知模块能对Motion预测模块做出多少贡献。实验表明了当将感知模块中结合TrackingMapping可以显著的改善运动预测的结果(-9.7% minADE-12.9% minFDE-2.3 MR%))

ID 7-9展示了两种预测模块协同效应,实验表明,将两中预测模块结合时,两个任务的性能都会得到提高,(-3.5% minADE-5.8% minFDE-1.3 MR%), +2.4 IoU-f.%),+2.4 VPQ-f.%)) 表明有必要同时引入实体和场景的特征

ID 10-12探索了与没有任何中间任务的朴素端到端规划(ID10)的对比,即图1(c.1)

实验表明了只有将两种预测任务同时引入(ID12),即本论文所提出的UniAD,

Planning的指标均获得最佳结果。

Modular Results

Multi-object tracking

 Online mapping

 

多目标追踪:MUTR3DViP3D相比,UniAD分别取得了+6.5+14.2 AMOTA%)的明显改善,UniAD 实现了最低的 IDS,展现了对每个轨迹段的时域一致性。

online mapping相比于BEVFormerUniAD在车道线分割上表现良好(+7.4 IoU%)),这对于运动模块里的下游agent-map之间交互至关重要。

与感知导向的方法相比,本文方法的性能不是最优的,因为本文提出的是以Planning导向的方法,

并未将所有模型容量用于优化感知任务上。

Motion forecasting

Occupancy prediction

运动预测:UniAD 的性能显著优于以前基于视觉的端到端方法

占用预测:UniAD在自车附近区域的性能实现了显著改善,这个区域对规划更为关键。

Planning

UniAD由于有自车查询和occupancy中丰富的时空信息,与ST-P3相比,UniADplanningL2误差和碰撞率分别降低51.2%56.3。此外,它的性能明显优于很多基于激光雷达的对标方法。

Ablation Study

MotionFormer设计的影响:

实验结果表明:在MotionFormer中所有建议的组件都有助于运动预测

     指标( minADEminFDE等)的最终结果。

OccFormer设计的影响:

 

实验结果表明:与无注意力基线(1)相比,在没有局部性约束的情况下让每个像素关注所有的Agents(2)会导致性能稍微变差。occupancy 引导的注意力掩码解决了此问题并带来了收益,特别是对于附近的区域。此外,重用掩码功能而不是agent特征来获取occupancy特征,可进一步提高性能。

Planning设计的影响:

 

实验结果表明:提供了规划中提出的设计的消融,即引入BEV功能,碰撞损失的训练和占用率的优化策略,为了安全起见,较低的碰撞率优于朴素的轨迹模拟(L2 度量),并且随着 UniAD 中所有部件的应用而降低。

Qualitative Results

Conclusion and Limitations

本文讨论了自动驾驶算法框架的系统级设计。基于端到端的自动驾驶,为了实现对规划的最终追求,提出了UniAD框架。作者对感知和预测中每个模块的必要性进行了详细分析。为了统一任务,提出了一种基于query的设计来连接UniAD中的所有节点,大量的实验在各个方面验证了所提方法的有效性。

1.对计算资源和显存要求太高

2.轻量化开发有待研究

3.能否加入事实导航信息

4.未考虑红绿灯信息、交通标志、地面标识等

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

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

相关文章

【devops】Linux 日常磁盘清理 ubuntu 清理大文件 docker 镜像清理

日常磁盘清理 1、查找大文件 find / -type f -size 1G2、清理docker无用镜像(drone产生的残余镜像文件) docker system prune -a一、清理服务器磁盘 1、查找大文件 在Ubuntu系统中,你可以使用find命令来查找大文件。find命令是一个强大的…

从离线到实时:无锡锡商银行基于 Apache Doris 的数据仓库演进实践

作者:武基鹏,无锡锡商银行 大数据技术经理 编辑整理:SelectDB 技术团队 导读:为实现数据资产的价值转化以及全面数字化、智能化的风险管理,无锡锡商银行大数据平台经历从 Hive 离线数据仓库到 Apache Doris 实时数据仓…

5G技术相关部分图解

1、面向5G商用网络的全系列解决方案 面向5G商用网络的全系列解决方案涵盖了从核心网到接入网的各个方面,确保网络的高性能、高可靠性和高安全性 2、2\3\4\5G带宽图解 G带宽的提升将推动许多新型应用的发展,并提供更快速、更可靠的移动通信体验。然而…

Springboot3 链接Redis遇到的报错(本文仅记录保存,优质文章移步springboot专栏)

出现的报错: cannot connect to Redisedis.clients.jedis.exceptions.JedisDataException: ERR Client sent AUTH, but no password is setredis wrong number of arguments for ‘auth’ command 其实上面的三个报错是不同界面显示的,后面两个是通过Ide…

git入门操作

一、介绍 Git是一个开源的分布式版本控制系统,由Linus Torvalds创建,用于有效、高速地处理从小到大的项目版本管理。 二、注册Git代码托管平台账号 以下几个平台可供选择: Gitee: https://gitee.com/(国内) Gitee(码云&…

【源码】2024全新多语言区块链交易所源码/期权交易/申购/币币秒合约交易所

全新ui,更新很多内容,具体看图,全部开源 全新多语言区块链交易所源码/期权交易/申购/币币秒合约交易所 - 吾爱资源网

03-数据结构(一)

链接:C# 数据结构_哔哩哔哩_bilibili https://www.bilibili.com/video/BV1a541147Nk/?spm_id_from333.337.search-card.all.click&vd_source6eb7d966aa03ff5cb02b63725f651e68 链接:使用 C#.Net 学习掌握数据结构 (更新中)_哔哩哔哩_bilibili 一…

CheckStyle静态样式之道

优质博文:IT-BLOG-CN 在标准化的统一样式检查规范里,最为常用的统一样式工具是checkstyle插件,而不是国内阿里的代码规约插件。 【1】下载插件 【2】配置生效 配置生效及告警设置 【3】配置checkstyle.xml 官网地址 官网最新Releases 下面…

模拟量电机控制器PWM 输出隔离转换器4-20mA/0-5V/0-10V转50Hz/100Hz/1KHz/10KHz/100KHz

主要特性: 精度、线性度误差等级: 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入可选择RS485 通讯输入,支持 Modbus 协议PWM 信号输出,PWM 频率可选PWM 输出驱动能力可达 5A信号输入/信号输出 3000VDC 隔离可选择一进一出,一…

OpenAI 震撼发布:GPT-4o免费,实时语音视频交互开启新纪元

OpenAI 震撼发布:GPT-4o免费,实时语音视频交互开启新纪元 在仅仅问世17个月后,OpenAI 研制出了仿佛科幻片中登场的超级人工智能——GPT-4o,而且所有人都可以完全免费使用,让这个科技界的巨浪让人震撼无比!…

真JAVA代码审计之XSS漏洞

Part1 漏洞案例demo&#xff1a; 没有java代码审计XSS漏洞拿赏金的案例。 所以将就看看demo吧 漏洞原理&#xff1a;关于XSS漏洞的漏洞原理核心其实没啥好说的&#xff0c;网上一查一大堆。 反射性XSS漏洞 <% page language"java" contentType"text/ht…

图搜索算法-最短路径算法-贝尔曼-福特算法

相关文章&#xff1a; 数据结构–图的概念 图搜索算法 - 深度优先搜索法&#xff08;DFS&#xff09; 图搜索算法 - 广度优先搜索法&#xff08;BFS&#xff09; 图搜索算法 - 拓扑排序 图搜索算法-最短路径算法-戴克斯特拉算法 贝尔曼-福特算法&#xff08;Bellman-Ford&#…

克鲁斯CLOOS机器人维修知识分享

克鲁斯工业机器人是一种高度精密的自动化设备&#xff0c;广泛应用于制造业、物流等领域。为了确保机器人的正常运行&#xff0c;了解一些基本的CLOOS工业机械手维修知识是必不可少的。 【常见CLOOS机械臂故障及解决方法】 1. 机器人无法启动&#xff1a;检查电源是否正常&…

Milvus 安装与配置

一、环境准备 在安装 Milvus 之前&#xff0c;确保你的系统满足以下要求&#xff1a; 操作系统&#xff1a;Milvus 支持 Linux 操作系统&#xff0c;如 Ubuntu、CentOS 等。硬件资源&#xff1a;推荐使用具有足够 CPU、内存和 SSD 存储的机器。对于大规模数据集&#xff0c;高…

5---Linux小程序“进度条”及缓冲区的概念(逻辑梳理,轻松理解)

一、缓冲区的解析&#xff1a; 1.1论点的引入&#xff1a; 在Linux中有一个接口sleep&#xff0c;可以使得C/C程序休眠一段指定的时间。他需要依赖的头文件是<unistd.h>&#xff0c;注意这个接口为Linux私有。 usleep接口类似sleep接口&#xff0c;但是单位为微秒。下面…

计算机视觉中的计算几何

计算几何领域出现于 20 世纪 70 年代&#xff0c;研究解决几何问题的数据结构和算法。这尤其包括确定图像内的拓扑结构&#xff0c;或者实际上是更高维的表示&#xff0c;例如点邻域&#xff0c;这可以帮助从数字图像数据等中导出几何意义[1]。 计算机视觉主要涉及静态或动态图…

JAVA实验项目(一):JAVA面向对象特征性实验

Tips&#xff1a;"分享是快乐的源泉&#x1f4a7;&#xff0c;在我的博客里&#xff0c;不仅有知识的海洋&#x1f30a;&#xff0c;还有满满的正能量加持&#x1f4aa;&#xff0c;快来和我一起分享这份快乐吧&#x1f60a;&#xff01; 喜欢我的博客的话&#xff0c;记得…

C++ | string详解

1、string是什么 string是STL文档的容器之一&#xff0c;是一个自定义类型&#xff0c;是一个类&#xff0c;由类模板basic_string实例化出来的一个类&#xff1b; 类模板basic_string实例化出来了四个类&#xff0c;如下图所示&#xff1b; 实例化出的这四个类不同的是他们的编…

HI-TOP网关HT3S-DCS-MDN在半导体生产线中的RS232温控器与DeviceNet主机台通讯整合应用案例

一、项目背景 在半导体生产线的温度控制环节中&#xff0c;传统的RS232温控器因其稳定的性能和广泛的应用而占据重要地位&#xff0c;然而&#xff0c;由于不同设备厂商使用的通讯协议和标准各异&#xff0c;导致设备间的信息交换存在障碍。温控器的精确控制、设备的互联互通和…

YOLOv8独家改进:逐元素乘法(star operation)二次创新 | 微软新作StarNet:超强轻量级Backbone CVPR 2024

💡💡💡创新点:star operation(元素乘法)在无需加宽网络下,将输入映射到高维非线性特征空间的能力,逐元素乘法(star operation)在性能上始终优于求和,基于star operation块做二次创新 💡💡💡如何跟YOLOv8结合:替代YOLOv8的C2f,结构图如下 收录 YOLOv8…