nuPlan最新SOTA,香港科技大学发布基于学习决策范围内的规划PlanScope

nuPlan最新SOTA,香港科技大学发布基于学习决策范围内的规划PlanScope

Abstract

在自动驾驶的背景下,基于学习的方法在规划模块的开发中表现出了很大的潜力。在规划模块的训练过程中,直接最小化专家驾驶日志与规划输出之间的差异是一种广泛采用的策略。一般来说,驾驶日志包含突如其来的障碍物或迅速变化的交通信号,这些通常需要驾驶行为的快速且细微的调整。同时,车辆的未来轨迹展示了其长期决策,例如遵循参考车道或绕过静止障碍物。由于驾驶日志中未来事件的不可预测性,基于学习的规划模块中可能会引入推理偏差,从而导致驾驶性能的下降。为了解决这个问题,我们识别出决策及其对应的时间范围,并通过仅保留可推导范围内的决策来定义所谓的决策范围,以减轻由不可预测事件引起的不合理行为的影响。该框架使用基于小波变换的日志预处理,并采用有效的损失计算方法,使得规划模型仅对当前状态下的有价值决策敏感。由于小波将频域特征与时域特征结合提取,能适当地捕捉对应时间范围内的不同频率带的决策信息。此外,为了实现有价值的决策学习,该框架利用基于 Transformer 的解码器,逐步生成未来决策的详细轮廓。实验结果表明,我们提出的方法在 nuPlan 数据集的闭环评估中,相比基线方法在驾驶评分上具有更好的表现。

代码获取:https://github.com/Rex-sys-hk/PlanScope

 欢迎加入自动驾驶实战群

Introduction

基于学习的自动驾驶系统在无人驾驶车辆的普及中展现了很大的潜力。特别是,借鉴专家驾驶日志来监督神经网络完成规划任务是一种广泛采用的方式。在训练过程中,通常使用距离误差来衡量规划状态序列与专家演示之间的差异,从而优化神经网络的参数。然而,在训练端到端的自动驾驶系统时,将记录的专家状态设置为目标序列并不完全合理,因为未来事件本质上具有不确定性,潜在的干扰(如突发的障碍物或波动的交通信号)可能显著改变轨迹规划。这些不可预测的因素需要对驾驶行为进行灵活且细致的调整。一些看似可预测的决策(如与其他交通参与者的互动行为及其未来轨迹)实际上很难准确预测。例如,在通过非合作博弈理论建模交互时,只有在观察到其他交通参与者的反应时,决策规划才会收敛,否则只能避免交互以避免进入不利状态。同时,短视的规划器也不可取,因为在选择突发动作时,规划器还需考虑其长期决策。本质上,专家日志记录的状态序列是不同范围内的短期和长期决策的组合。该概念的示意图见图 1。

图片

显然,智能体需要足够广泛的视角来了解整体情况,处理当前细节,不必过多关注未来的琐事。作为参考,在传统规划方法中,规划过程被根据问题范围人工分为不同层次:路径规划、行为规划和运动规划,每一层次由专门模块处理。相比之下,基于示范学习的方法通常直接学习固定长度的未来轨迹,因为日志回放中无法直接区分细微调整组件和长期决策组件。通过人工标注进行驾驶行为推理,可以获得行为的持续时间和开始时间。然而,这种模式需要大量工作,通常难以大规模推广。

为了解决上述挑战,我们采用小波变换提取不同频带的信息,使我们的模型能够自监督地从日志回放中识别出适当的动作。与傅里叶变换不同,小波变换利用有限长度的基函数,便于捕捉信号中的急剧特征。该技术通过类卷积过程提取信号成分。基于小波变换,我们提出了一种在决策范围内进行学习的机制,使得不同频带的时间范围可以被调节。从这个意义上说,我们可以将神经网络生成的决策细节与不同范围的分解细节进行比较,防止模型过度扩展其未来的规划。为了有效地在模型训练中呈现分解获得的细节,我们引入了一个解码模块,递归地在多个细节层次上生成详细的短期决策。

3.Method

我们的研究主要解决城市自动驾驶的问题。在每个时间步,自动驾驶车辆都需要在不同的交通情境下规划未来轨迹 T。每个轨迹点包括六个通道:

图片

。驾驶情境涵盖动态代理(A)、静态物体(O)和矢量化高清地图(M)信息。在时间步 t生成的输出(记为)包括其他代理的运动预测 P、多模态轨迹得分 S,以及不同层级的详细轨迹信息 D。该框架的基本数学表示如下:

图片

其中,f表示神经网络模型,θ 是模型参数,L 是损失函数,而 是从日志中获取的  的真实值。

图片

驾驶情境通过特征金字塔网络(FPN)、多层感知器(MLP)、基于 PointNet 的矢量编码器和基于注意力的状态丢弃编码器(SDE)分别编码为 

图片

。如图 2 所示,我们的框架编码部分与基准预测和规划模型类似,而解码部分是我们精心设计的,生成的轨迹将被线性二次调节器(LQR)用作参考。为减少人为规则的影响,我们在实验中移除了规则模型混合后处理模块。在训练阶段,集成了多种常用的辅助损失来监督轨迹生成。训练损失包括预测损失

图片

和碰撞损失 ,可以表示为

图片

其中,

图片

计算生成的未来轨迹与数据集中真实轨迹之间的差异,使用个圆形代表车辆轮廓在未来步内的侵入距离。是自车和其他代理轮廓圆的总半径,ϵ是容差, 表示时间步 t的轮廓圆心距离。解码器的查询被设计为参考车道编码和无锚变量的拼接。参考车道编码特征与无锚可学习查询拼接,作为初始查询 用于多层自注意力操作中的场景编码,促进了后续层中 Q的残差生成。关于监督信号获取和详细信息解码的更多细节分别在 III-A 和 III-B 节中详细说明。

A.专家日志分解

为了在轨迹日志中提取决策成分并有选择地学习它们,可以通过数学分析工具对其进行分解。傅里叶变换是常用的分析方法,它通过与正弦和余弦函数作为基函数的卷积,提取信号在不同频率下的系数。然而,由于正弦和余弦函数具有无限支撑,该分解会完全丧失信号的时域特征,导致无法在每个域分量中选择特定时间段。小波变换能够解决这一问题。小波,也称为尺度变化基函数,是使用紧支撑函数作为基函数分解信号的一种方法。例如,最简单的小波变换基函数哈尔小波在信号处理中得到了广泛应用。哈尔小波的基函数为

图片

其中,t为离散时间索引。可以看到当

图片

时,基函数值为 0,这意味着该函数是紧支撑的。在这些基函数中,缩放函数 

图片

(常称为父小波)在小波变换过程中作为低通滤波器;母小波函数

图片

主要用于提取信号的高频分量。通过将原始信号与这些基函数卷积,信号的高频和低频成分被分离。在轨迹分解的背景下,通过以下变换可得到轨迹的近似系数和细节系数 :

图片

其中,

图片

是离散的轨迹概貌, 是时间索引 t 下的低频近似系数,

图片

 是高频细节系数,k可视为卷积操作器。此分解过程称为离散小波变换(DWT),可递归地应用于近似系数 以实现多层 l 分解。通过

图片

我们将轨迹概貌分解为 N 层。最后一层得到的近似被命名为初步决策。随着每层中细节成分的提取,数据长度减半。图 3 中提供了来自日志分解的速度决策范围图示。

图片

B. 迭代细节解码器

图片

在获得分解的轨迹概貌后,接下来需要考虑如何有效地利用其指导模型训练过程的监督。一种潜在方法是通过截断的细节概貌重构完整轨迹。然而,这种方法需要假设视野外的数据为零,导致监督信号中引入更多确定性先验。为了便于学习详细信息,设计了迭代细节解码器(IDD),能够通过多次迭代逐步生成细节。IDD的架构如图4所示。在解码过程中,参考车道的编码作为初始查询 ,场景编码

图片

 作为一系列自注意力操作的键和值。在每次迭代中提取的细节与前一查询累积在一起,随后作为下一次的查询。这种迭代积累使得轨迹概貌的精细化程度逐渐提升。数学上,该过程可表示为

图片

在解码过程中,每次迭代生成的残差变量 

图片

 会被记录下来。查询 和记录的

图片

列表都经过相同的多层感知器(MLP)解码器重新映射,即

图片

 的长度与规划步数相同。为确保解码的细节长度与驾驶细节相同,对 进行了下采样,

图片

这些细节在多个层次上与专家轨迹的对应组件进行比较。为了在适当的范围内获得决策细节,只有在决策范围内的有限时间范围 中的 

图片

处于层级 𝑙 的内容用于监督模型训练。

图片

最终查询

图片

会被传递到轨迹 MLP 解码器和评分 MLP 解码器,生成多模态轨迹和得分,

图片

是一个指示最接近记录轨迹的轨迹的单热向量。最终,整体训练损失设计为

图片

4.Experiment

A.与基线的对比

我们对比了我们的方法与几种标准方法的性能,比较结果见表 I。Log-Replay 是简单地重放专家轨迹,作为基线参考,展示了我们模拟器评估规划算法性能的能力。我们的方法称为 PlanScope,在最大预测范围为 10 和 20 的情况下进行评估,分解速度曲线,实验中的最大分解层级 𝑁为 3。图 5 中展示并介绍了定性比较。表中结果表明,在预测范围为 20 时达到最佳总分 85.97%。值得注意的是,关键的安全指标(如碰撞时间(TTC)和自车责任碰撞的减少(Collisions))分别提高了 3.02% 和 0.96%。在预测范围为 10 时,虽然总分略有下降,我们的模型在几乎所有指标上仍优于基线,包括专家进度(Progress)、碰撞率、速度限制合规性(Speed Limit)、可通行区域合规性(Drivable)和碰撞时间(TTC)。

图片

图片

C. 消融实验

为了展示决策范围机制和迭代细节解码器(IDD)的有效性,进行了消融实验。结果见表 II。在这些实验中,所有模型均在 20% 的数据集上训练 35 个周期,并在包含 249 个场景的 Random14 [25] 测试集上评估。消融实验包括以下配置:在第一个实验中,我们在不添加其他外部损失的情况下训练基线模型,CLS-NR 得分为 81.47%。为对比,我们在模型中加入 IDD,以证明迭代解码器的有效性,CLS-NR 得分提高至 84.69%,较基线提高了 3.22%。在第三个实验中,我们使用位置决策范围,将模型的 CLS-NR 得分提升至 85.80%,比基线高出 4.33%。在第四个实验中,我们为模型引入直接速度损失,CLS-NR 得分为 83.60%,显示出强调速度差异带来的微小性能提升。结果表明,强调展示中的速度差异略微提升了性能。在结合 IDD 和速度决策范围的实验中,模型达到了 86.77% 的 CLS-NR 得分,超出基线 5.30%,比直接速度损失高出 3.17%。进一步实验通过改变 DS 预测范围以探索最佳效果,结果显示 DS 预测范围为 20 时性能最佳。此外,在总计 80 个未来时间步长的情况下,预测范围为 40 代表层级 0 的详细数据点数量,充分利用所有数据进行训练。DS 机制在预测范围为 20 时表现最佳,在预测范围为 40 时性能下降 2.40%。这表明过长的规划范围可能引入过多噪声,从而使模型混淆并降低规划性能,导致性能甚至比忽略额外监督还要差。

图片

结论

本文的贡献如下:

1.本文提出了一种新颖的自监督机制,能够在决策范围内进行规划学习。该方法利用小波分解,将频域特征与时域特征结合提取,以在相应的时间范围内捕捉跨尺度的运动信息。

2.本文提出了一种新的基于 Transformer 的迭代细节解码器(IDD),可以逐步生成轨迹决策及其更精细的细节,从而使模型能够选择性地学习轨迹细节。

3.本文的方法在 nuPlan数据集上经过严格评估,结果表明在闭环评估中,尤其在关键的安全相关指标上,达到了优于基线方法的驾驶评分。

引用文章:PlanScope: Learning to Plan Within Decision Scope Does Matter

最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。

AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。

长按扫描下面二维码,加入知识星球。

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

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

相关文章

MATLAB实现人工免疫网络算法(Artificial Immune Network Algorithm, AINA)

1. 免疫网络算法简介 生物免疫系统是自然界中最复杂、最有效的自适应系统之一,它能够识别并清除入侵的病原体,同时保持对自身细胞的忍耐。免疫网络算法是一种借鉴生物免疫系统原理和机制的计算模型 2.算法流程 3.MATLAB代码 完整代码见: https://down…

MySQL初学之旅(1)配置与基础操作

目录 1.前言 2.正文 2.1数据库的发展历程 2.2数据库的基础操作 2.2.1启动服务 2.2.2创建与删除数据库 2.2.3数据类型 2.2.4创建表与删除表 2.3MySQL Workbench基础使用简介 3.小结 1.前言 哈喽大家好吖,今天博主正式开始为大家分享数据库的学习&#xff…

【优选算法】——滑动窗口(下篇)!

目录 1、水果成篮 2、找到字符串中所有字母异位词 3、串联所有单词的子串 4、最小覆盖子串 1、水果成篮 你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组 fruits 表示,其中 fruits[i] 是第 i 棵树上的水果 种类 。 你想要尽可能…

【Python】heapq模块(操作最小堆,主要用途优先队列)

Python中heapq模块被称为堆队列算法,也成为优先队列算法。堆的主要用途是优先队列和堆排序。 堆(二叉树的应用):最小堆,最大堆。 最小堆:父节点小于等于所有子节点,左右子节点无大小要求&…

MFC图形函数学习06——画椭圆弧线函数

绘制椭圆弧线函数是MFC基本绘图函数,这个函数需要的参数比较多,共四对坐标点。前两对坐标点确定椭圆的位置与大小,后两对坐标确定椭圆弧线的起点与终点。 一、绘制椭圆弧线函数 原型:BOOL Arc(int x1,int y1,int x2,int y2…

Nuxt 项目安装时报错 fetch failed (详细)

报错: ERROR Error: Failed to download template from registry: Failed to download https://raw.githubusercontent.com/nuxt/starter/templates/templates/v3.json: TypeError: fetch failed. 报错原因: 对 raw.githubusercontent.com 进行了 DNS 污染,这会导致你的请…

autox.js下载并保存项目到设备使用

最近刷快手极速版薅羊毛,手动刷有点累。因此找到这个。 PS:更多内容请见官方文档:首页 (autoxjs.com) 1.下载工程化环境:https://github.com/kkevsekk1/AutoX/archive/refs/heads/dev-test.zip 手机软件下载软件:Relea…

ssm+vue680基于SSM的旅游论坛设计与实现

博主介绍:专注于Java(springboot ssm 等开发框架) vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

盘点2024年制造业数字化转型的6大发展趋势

​目前制造业的行业数字化发展存在以下几个趋势: 1、从“增量时代”进入“存量时代”,数字化转型成为行业共识 过去几十年,我国装备制造行业从无到有,从小到大,从指数增长的增量时代,进入优化升级的存量时…

安科瑞Acrel-2000ES储能柜能量管理系统的详细介绍-安科瑞 蒋静

Acrel-2000ES储能柜能量管理系统具备全面的储能监控和管理功能。它包括了储能系统设备(如PCS、BMS、电表、消防、空调等)的详细信息,并实现了数据采集、处理、存储、数据查询与分析、可视化监控、报警管理和统计报表等功能。此外,…

ESP32的下的蓝牙应用笔记(1)——Beacon蓝牙信标

Beacon蓝牙信标简介 ‌Beacon蓝牙信标‌是一种基于蓝牙低功耗(BLE)技术的设备,主要用于提供位置信息和数据传输服务。它通过周期性地广播信号,能够在一定范围内与其他蓝牙设备进行通信,从而提供精准的位置信息和相关服…

[极客大挑战 2019]BuyFlag1

[极客大挑战 2019]BuyFlag1 审题 菜单有一个home,一个payflag 查看payflag中的要求 具体有三个要求 要有100000000块钱要是CUIT的学生回答正确的密码 知识点 http消息头的伪造 解题 抓包查看信息 看到user0,猜测这应该是CUIT的学生的判断条件…

ElementUI el-form表单多层数组的校验

问题描述 提示:这里描述项目中遇到的问题: ElementUI el-form表单多层数组的校验 页面效果: 数据结构: addform: {code: ,type: ,value: ,state: 1,remark: ,fieldList: [{fieldCode: ,resolverEntities: [{resolverType: , re…

Java基础-I/O流

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 字节流 定义 说明 InputStream与OutputStream示意图 说明 InputStream的常用方法 说明 OutputStrea…

FITS论文解析

在本文中,作者探讨了如何将复杂的频域特征提取与简单的线性模型(如DLinear)结合,以优化时间序列预测任务的效率和解释性。本文的核心思想是利用频域处理和DLinear的简化结构来达到高效的预测能力,同时保留对复杂特征的…

【go从零单排】go三种结构体:for循环、if-else、switch

Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 for循环是go语言唯一的循环语句,没错,在go中再也不会看到while true package mainimport …

【数据增强】Mixup

方法来源 Mixup是2018年发表在ICLR上的一种数据增强方法,它通过将多组不同数据集的样本进行线性组合,生成新的样本,从而扩充数据集。 核心思想是从每个batch中随机选择两张图像,并以一定比例混合生成新的图像,新图像的…

基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式

时间序列数据表示了一个随时间记录的值的序列。理解这些序列内部的关系,尤其是在多元或复杂的时间序列数据中,不仅仅局限于随时间绘制数据点(这并不是说这种做法不好)。通过将时间序列数据转换为图,我们可以揭示数据片段内部隐藏的连接、模式和关系,帮助我们发现平稳性和时间连…

Qt学习笔记第41到50讲

第41讲 UI美化遗留问题解决 如上图所示目前记事本的雏形已现,但是还是有待优化,比如右下角的拖动问题。 解决方法: ①首先修改了Widget类的构造函数。 Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) {ui->s…

社区养老服务小程序ssm+论文源码调试讲解

第2章 开发环境与技术 校车购票微信小程序的编码实现需要搭建一定的环境和使用相应的技术,接下来的内容就是对校车购票微信小程序用到的技术和工具进行介绍。 2.1 MYSQL数据库 本课题所开发的应用程序在数据操作方面是不可预知的,是经常变动的&#xf…