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

ops/2024/11/9 0:18:17/

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.ppmy.cn/ops/132068.html

相关文章

关于Django 模型字段 `choices`自定义数据类型的枚举——补充

文章目录 1. 处理 datetime 类型的 choices2. 处理 time 类型的 choices3. 处理 Decimal 类型的 choices4. 处理 UUID 类型的 choices5. 处理 float 类型的 choices 在 Choices 类的基础上扩展,可以将 choices 与特定数据类型(如 date 或 datetime&a…

【react】Redux基础用法

1. Redux基础用法 Redux 是一个用于 JavaScript 应用的状态管理库,它不依赖于任何 UI库,但常用于与 React 框架配合使用。它提供了一种集中式的状态管理方式,将应用的所有状态保存在一个单一的全局 Store(存储)中&…

iOS灵动岛动画小组件怎么播放动画

这个灵动岛相关的展示位置分几个地方: 紧凑型,最小化,扩展型,还有锁屏位置 我们先来看一下我这边实现的动画效果 demo下载: iOS灵动岛GIF动画 灵动岛样式 灵动岛有三种渲染模式: 第一种是 紧凑型&…

Android CCodec Codec2 (十九)C2LinearBlock

在上一篇文章的结尾,我们看到fetchLinearBlock方法最终创建了一个C2LinearBlock对象。这一节,我们将深入了解C2LinearBlock是什么,它的作用是什么,以及它是如何被创建的。 1、_C2BlockFactory 先对上一篇文章的结尾内容做简单回顾…

RHCE---搭建lnmp云存储

一、恢复快照后,检查安全性(查看selinux 以及防火墙) 二、搭建LNMP环境 [rootserver ~]# yum -y install nginx mariadb-server php*三、上传软件 1、将nextcloud-25.0.1.zip压缩包传递到根目录下 2、解压缩nextcloud-25.0.1.zip &#xf…

C#语言:从入门到精通

C#(发音为C sharp)是一种现代的、面向对象的编程语言,由微软开发,并作为.NET框架的一部分。自2000年发布以来,C#已经成为开发人员构建各种类型的应用程序的首选语言之一。它结合了C的性能和Java的跨平台能力&#xff0…

jenkins使用slave节点进行node打包报错问题处理

jenkins使用slave打包报错 Also: hudson.remoting.Channel$CallSiteStackTrace: Remote call to 21.136 解决方法: 重启从节点 选择断开连接再重新连

蓝桥杯真题——三角回文数(C语言)

问题描述 对于正整数 n, 如果存在正整数 k 使得 n123⋯kk(k1)2n123⋯kk(k1)/2​, 则 n 称为三角数。例如, 66066 是一个三角数, 因为 66066123⋯36366066123⋯363 。 如果一个整数从左到右读出所有数位上的数字, 与从右到左读出所有数位 上的数字是一样的, 则称这个数为回文数…