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

news2024/11/5 23:54:32

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.coloradmin.cn/o/2233913.html

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

相关文章

String字符串 Random数字运算

Java API String 在使用String类进行字符串操作之前需要对String类进行初始化,在Java中可以通过以下两种方式对String类进行初始化 (1) 使用字符串常量 直接初始化一个String对象,具体代码如下 这是比较简化的写法 String a "abd"; (2) 使用String类的构造方法…

【Maven】——基础入门,插件安装、配置和简单使用,Maven如何设置国内源

阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 引入: 一:Maven插件的安装 1:环境准备 2:创建项目 二…

王道408 DS 数据结构笔记

408 数据结构 文章目录 线性表顺序表静态分配动态分配算法设计 链表单链表双链表循环链表循环单链表循环双链表 静态链表算法设计 栈顺序栈共享栈链式栈算法设计应用 队列循环队列链队列算法设计 串顺序存储链式存储串的模式匹配 树二叉树线索二叉树树、森林树、森林的存储树和…

这款Chrome 插件,帮助任意内容即可生成二维码

前言 随着二维码的流行,真的是生活中越来越多的地方都有二维码了。在我们上网的时候,其实也可以快速的让网址生成一个二维码,然后我们手机扫描一下这个二维码就可以快速的在手机上打开网页了。而且,不仅是生成网址的二维码&#…

25届大模型秋招总结经验分享(互联网版)

个人背景:2硕,多段大厂实习,无a,学术能力拉垮 面试感受 \1. 大模型主要分为基座组和业务组,基座组的面试难度明显要求比业务组高,一般少不了各种公式推导,手撕源码,并要求对一些实…

使用Django Channels实现WebSocket实时通信

💓 博客主页:瑕疵的CSDN主页 📝 Gitee主页:瑕疵的gitee主页 ⏩ 文章专栏:《热点资讯》 使用Django Channels实现WebSocket实时通信 Django Channels 简介 环境搭建 安装 Django 和 Channels 创建 Django 项目 配置 A…

优化文本嵌入,大幅提升RAG检索速度

大家好,文本嵌入技术能够将文字信息转换成高维向量表示的数字,提供了一种理解和处理文本数据的新方式,帮助我们更好地理解和处理文本数据。这些向量能够捕捉文本的深层特征,进而支持多种应用,比如理解语义、进行文本分…

【Node技巧】Node.js创建REST架构风格的API

🧑‍💼 一名茫茫大海中沉浮的小小程序员🍬 👉 你的一键四连 (关注 点赞收藏评论)是我更新的最大动力❤️! 📑 目录 🔽 前言1️⃣ 什么是REST API?2️⃣ Node.js构建REST API的优势3️…

js中怎么把excel和pdf文件转换成图片打包下载

index.html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>文件转图片工具</title><!-- 本…

Linux 练习三

1、建立用户组 shengcan&#xff0c;其id 为 2000 [rootlocalhost 桌面]# groupadd -g 2000 shengchan 2、建立用户组 caiwu&#xff0c;其id 为 2001 [rootlocalhost 桌面]# groupadd -g 2001 caiwu 3、建立用户组 jishu&#xff0c;其 id 为 2002 [rootlocalhost 桌面]#…

uniapp vue3 使用echarts-gl 绘画3d图表

我自己翻遍了网上&#xff0c;以及插件市场&#xff0c;其实并没有uniapp 上使用echarts-gl的样例&#xff0c;大多数都是使用插件市场的echarts的插件 开始自己尝试直接用echartsgl 没有成功&#xff0c;后来尝试使用threejs 但是也遇到一些问题&#xff0c;最后我看官网的时…

openGauss数据库-头歌实验1-4 数据库及表的创建

一、创建数据库 &#xff08;一&#xff09;任务描述 本关任务&#xff1a;创建指定数据库。 &#xff08;二&#xff09;相关知识 数据库其实就是可以存放大量数据的仓库&#xff0c;学习数据库我们就从创建一个数据库开始吧。 为了完成本关任务&#xff0c;你需要掌握&a…

Android TextView自动换行文本显示不全解决

某些情况下&#xff0c;TextView自动换行后&#xff0c;会出现每行结尾处显示不全的问题&#xff0c; 如图&#xff1a; 常见解决方案&#xff1a; 设置TextView的“ellipsize”属性为“end” 实测无效&#xff01;将TextView外部的Layout改为RelativeLayout 实测无效&…

华为 HarmonyOS NEXT 原生应用开发: 动画的基础使用(属性、显示、专场)动画

2024年11月5日 LiuJinTao 文章目录 鸿蒙中动画的使用一、属性动画 - animation属性动画代码示例 二、显示动画 - AnimateTo三、专场动画 鸿蒙中动画的使用 一、属性动画 - animation 属性动画代码示例 /*** 属性动画的演示*/ Entry Component struct Index {State selfWidth:…

信号与噪声分析——第三节:随机过程的统计特征

随机过程的定义&#xff1a; 随机过程是一种数学模型&#xff0c;用来描述系统或现象在时间或者空间上随之变化的不确定性。 一个随机过程的数字特征 1.数学期望&#xff08;统计平均值&#xff09;&#xff1a; 表示为 数学期望是随机过程在时间 t 上的平均值&#xff0c;通常…

Linux SSH免密登入以及配置脚本

一、ssh原理简单介绍 客户端生成一对公钥和私钥&#xff0c;并将自己的公钥发送到服务器上 其中公钥用来加密&#xff0c;私钥用来解密。 二、ssh免密登入实现步骤详解 我这就以服务器controller和客户端compute来做为例子 2.1、首先在controller上输入ssh-keygen -t rsa …

搜维尔科技:Manus VR数据手套-机器人手部数据采集,推动机器人技术新高度

人工智能机器人培训-构建集成 将实时数据直接传输到ROS并开始控制你的机器人。使用我们的 C Windows 和Linux SDK开发集成&#xff0c;以用于自定义管道。 原始数据&#xff1a;推动机器学习和机器人技术 以CSV格式记录并导出手指运动作为原始数据。为机器学习和机器人应用提…

将HTML项目上传至Gitee仓库(详细教程)

1.登录giett giett地址链接:Gitee - 基于 Git 的代码托管和研发协作平台 2.新建一个giett仓库 创建后得到远程仓库&#xff1a; 3、在本地项目文件夹右击鼠标点击 Open Git Bash Here 4、输入命令 命令:git init&#xff0c;这个目录变成git可以管理的仓库&#xff0c;会出…

重大917该如何复习?难度大不大?重点是啥?

C哥专业提供——计软考研院校选择分析专业课备考指南规划 重大917整体难度不高&#xff0c;认真研究好各年真题&#xff0c;经过系统扎实的复习&#xff0c;相信同学一定能取得好的成绩&#xff01; 添加图片注释&#xff0c;不超过 140 字&#xff08;可选&#xff09; 重庆…

CentOS 7 安装 ntp,自动校准系统时间

1、安装 ntp yum install ntp 安装好后&#xff0c;ntp 会自动注册成为服务&#xff0c;服务名称为 ntpd 2、查看当前 ntpd 服务的状态 systemctl status ntpd 3、启动 ntpd 服务、查看 ntpd 服务的状态 systemctl start ntpdsystemctl status ntpd 4、设置 ntpd 服务开机启…