点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
论文作者 | 汽车人
编辑 | 自动驾驶之心
论文信息
![f6eae40d6a83bb763f9ae341bf11764a.png](https://i-blog.csdnimg.cn/blog_migrate/91c8014ca59f4f85ec90467db42fe570.png)
引言
本研究旨在通过模拟器推动自动驾驶车辆(AVs)的研发进程,由于现实世界中部署自动驾驶车辆的成本和风险较高,模拟成为了自动驾驶软件研发的一个关键工具。尽管如此,当前的模拟器面临速度和真实性的双重挑战:一方面,我们希望模拟器能够快速运行,以便在许多小时的合成驾驶经验上进行经济有效的培训和评估;另一方面,我们希望模拟器在车辆行为方面具有多样性和真实性,以最大限度地减小模拟与现实之间的差距。
![613f0b0cbe8dc3b6e681e08951261648.png](https://i-blog.csdnimg.cn/blog_migrate/8515ee49d48d06952b2ef1eac4ad1ad2.png)
考虑到CARLA, Sim4CV, 和SUMMIT等现有模拟器主要侧重于驾驶场景的照片般的真实渲染,但在生成多样化场景和其他代理(如车辆和行人)的真实行为方面仍存在重大挑战,我们提出了一个新的解决方案,名为 "Waymax"。"Waymax" 是一个可微分的、硬件加速的多代理模拟器,利用Waymo Open Dataset中的真实世界驾驶数据进行构建。
![75b6c00925a9981731d986205d394d97.png](https://i-blog.csdnimg.cn/blog_migrate/25933a4ea048f3db8a11bb4f554534ab.png)
"Waymax" 旨在通过模拟,忠实地再现自动驾驶代理在真实世界中可能面临的数据和挑战,例如城市驾驶中常见的复杂障碍(如行人和骑行者),并为自车提供高级路线信息。为了优化运行速度和促进快速开发,"Waymax" 使用JAX编写,可以完全在诸如图形和张量处理单元(GPUs 和 TPUs)之类的加速器上运行。
本研究的贡献主要有两方面:首先,我们介绍了 "Waymax" 模拟器,这是一个为自动驾驶提供硬件加速和真实驾驶数据特征的多代理模拟器。其次,我们提供了一组通用基准和模拟代理,允许研究人员在闭环中评估和基准测试他们的自动规划方法。通过在不同设置中训练自动驾驶车辆的行为算法(如模仿、在线和离线策略RL等),展示了 "Waymax" 的灵活性和应用范围。
方法
本节中,我们将概述模拟器 Waymax 的功能和其用户界面。
模拟器特点
Waymax 是一个支持在场景中控制任意数量对象的模拟器。其主要目标是从真实世界的驾驶场景初始化,以模拟车辆、行人和交通灯之间的复杂互动,并遵循高级规划器提供的目标或路线。此外,Waymax 旨在快速和灵活——本节讨论的每个组件都可以轻松地由用户修改或替换,以适应他们自己的项目需求。
场景和数据集
与生成合成场景的模拟器(例如 CARLA)相比,Waymax 利用真实世界的驾驶日志来实例化驾驶场景,并运行固定数量的步骤。我们默认支持 Waymo Open Motion Dataset (WOMD),其中包括超过 100,000 条轨迹片段和 764 万个唯一对象以进行互动或控制。每个轨迹片段都记录了 9 秒,频率为 0.1 Hz。轨迹包括场景中所有对象(包括自动驾驶车辆、其他车辆、行人和骑行者)的位置和速度信息。对于每个场景,我们使用记录的第一秒的信息取得静态信息,如道路图,并初始化动态对象。然后,代理模型将用于控制模拟步骤中的动态对象,如行人和其他车辆。
状态和观察空间
定义自动驾驶作为顺序控制问题的第一个组件是定义状态空间。状态中包括两种类型的数据:动态数据(在一个情节中和不同情节中可以改变)和静态数据(在一个情节中保持不变,但在不同情节中会改变)。动态数据包括场景中所有车辆、骑行者和行人的位置、旋转、速度和边界框尺寸,以及交通灯信号的颜色(红、黄、绿)。静态数据包括作为3D点云采样的道路和车道边界(称为"roadgraph"),以及自车的在途和离途路径。
在途和离途路径
我们增加了每个场景的可行路径,自动驾驶车辆可以从其初始位置沿着这些路径行驶。路径表示为一系列点,这些点是 roadgraph 点的子集。每条路径都是通过对 roadgraph 从起始位置进行深度优先搜索遍历来计算的。总之,这些路径描述了自动驾驶车辆可以在场景中合法驾驶的所有方式。
这些功能和组件确保了 Waymax 模拟器在自动驾驶研究和开发中的实用性和灵活性,可以满足不同用户和项目的需求。
对象动力学
对象动力学定义了对象所期望的‘行动’以及给定行动后其状态将如何演变。Waymax 允许用户定义动力学模型,并为控制模拟中车辆的物理动力学提供了几个预定义的选项:
Delta Action Space:适用于所有类型的对象,使用两个连续状态之间的位置差异(delta 项 。这种方式对于定义和控制场景中各种对象的动作和状态变化是有效的。
Bicycle Action Space:仅适用于车辆,使用加速度和转向曲率 。这是一个更专门针对车辆动力学的方式,可以更精确地控制车辆的行为。
评估指标
Waymax 提供了一组直观的指标,用于评估自我车辆以及模拟代理的安全性和行为正确性(例如遵守交通规则,不发生碰撞),以及舒适性和进度。
可用的指标如下:
路线进度比率:路线进度比率测量自我车辆沿着目标路线驾驶的距离与记录轨迹相比有多远。在时间步长 ,此指标将车辆的位置与on-route 路径中最接近的点 关联起来。然后,它沿着从路径起点到 (x(t)) 的路径计算距离,表示为 。然后,路线进度比率定义为 ,其中 (d_p) 和 (d_q) 分别是沿着路径到车辆记录轨迹的初始和最终位置的距离。由于车辆可以在到达目的地后继续行驶,因此此比率可能大于 1。
偏离路线:偏离路线指标是一个二进制值,指示车辆是否遵循预定路线。如果车辆足够接近偏离路线的路径,或者距离预定路径足够远,那么它被认为是偏离路线的。
离开道路:如果车辆驶离道路,将触发离开道路指标。这是相对于定向路图点进行测量的。如果车辆在定向路边的左侧,它被认为在路上;否则,车辆被认为是离开道路的。
碰撞:碰撞指标是一个二进制指标,用于测量车辆是否与场景中的其他对象发生碰撞。对于每一对对象,如果他们的边界框在顶视图的 2D 中在同一时间步长重叠,它们被认为是碰撞的。
运动不可行指标:运动不可行指标计算是否对于车辆,转换在运动学上是可行的二进制值。给定两个连续的状态,我们首先使用逆运动学估计加速度和转向曲率,并检查值是否超出范围。我们根据经验将加速度大小的限制设置为 ,转向曲率的大小限制设置为 。为了经验性地确定这些,我们使用我们的转向和加速度动作空间适应自我代理的记录轨迹。然后,我们选择了大致最大值(为了某些松散而向上取整)作为我们在日志中观察到的值的限制。
位移误差:平均位移误差指标(ADE)测量模拟偏离记录行为的距离有多远。它被定义为每个对象当前 XY 位置与当前时间步长中日志中记录的相应位置之间的 L2 距离,平均到所有时间步长。
这些指标的引入可以全方位地评估和理解自动驾驶系统在模拟环境中的表现和实现情况,为研究提供了计算方法
实验
![656fbd461a57e44545625dd6dd0f8936.png](https://i-blog.csdnimg.cn/blog_migrate/1cbcabae72f7e4880d092ae3ca552add.png)
对于上述运行时间的比较,实验结果分析可以总结如下:
设备性能比较:
使用 GPU(Nvidia-V100)执行 Waymax 的性能显著优于使用 CPU(Intel Xeon W-2135@3.7GHz)。特别是在处理多代理环境时,GPU 的性能提升尤其明显。
批处理效率:
Waymax 支持批处理操作,显示出在大批量下有显著的运行效率。例如,在批量大小为 16 的情况下,Step函数的执行时间大大减少。
功能性能:
各种功能的性能有所不同。其中,Metrics 函数相对消耗更多计算资源,特别是在计算某些如 Off-Road等指标时。
Rollout 函数的效率:
Rollout 函数能够更快速地进行推断和评估,尤其在 GPU 上运行时,性能提升更为显著。例如,在完整的 WOD 数据集上,使用 GPU 执行评估所需的时间不超过 2 分钟。
整体性能提升:
综合考虑各种因素,如设备类型和批处理大小,Waymax 表现出显著的性能提升,尤其是在 GPU 上,其性能有了数量级的提升。
![ae2e895da1ad223065ea21fd0c0ef9a7.png](https://i-blog.csdnimg.cn/blog_migrate/562ddc23cb69dd8dfec4f17369d8419b.png)
表格显示了不同代理的性能评估结果,评估依据了如离路率(Off-Road Rate)、碰撞率(Collision Rate)、动力学不可行性(Kinematic Infeasibility)、平均位移误差(Log ADE)和路线进度比率(Route Progress Ratio)等指标。
专家代理(Expert):
专家代理在所有评估指标上表现最好,具有最低的离路率和碰撞率,而且路线进度比率为 100%。
Wayformer:
Wayformer 在离路率和碰撞率方面的表现较差,且其动力学不可行性也较高,但在路线进度比率方面表现超过了 100%。
行为克隆(BC):
行为克隆代理的性能表现有所波动,取决于使用的动作空间类型。其中,离散自行车(Bicycle (Discrete))动作空间的代理在所有指标上表现相对较好。
BC 代理在动力学不可行性和路线进度比率方面的表现依赖于所选择的动作空间类型,其中离散动作空间类型(Delta (Discrete))在动力学不可行性方面表现较差。
深度 Q 网络(DQN):
DQN 代理的性能也根据所选择的训练模拟代理而有所不同。相对来说,使用 IDM 模拟代理的 DQN 代理在各指标上的表现较好。
DQN 在路线进度比率方面表现较好,但在平均位移误差方面表现较差。
动作空间的影响:
动作空间的选择对代理的性能有显著影响。例如,在行为克隆中,使用离散自行车(Bicycle (Discrete))动作空间的代理表现最佳。
波动性和稳定性:
一些代理的性能表现有较大波动,如在不同指标上显示有较大的标准偏差。这可能表明这些代理的性能不够稳定。
综合分析,表格展示了不同代理在多个性能指标上的表现,并且揭示了动作空间选择对代理性能的重要影响。同时,表格还展示了各代理性能的波动性和稳定性。
讨论
在这篇论文中,作者介绍了一个新的框架,重点关注多代理环境中的运行时性能和各种评估指标。首先,作者详细地介绍了他们的运行时基准测试。通过使用不同的硬件(CPU和GPU)以及不同的批处理大小,他们展示了该框架在单代理和多代理环境中的性能。特别地,使用 GPU 和大批量大小可以显著提高性能,这在执行诸如状态转换和奖励计算等操作时尤其明显。
实验结果揭示了框架的几个重要优点。首先,框架的设计允许通过使用 GPU 和批处理来实现显著的性能提升。其次,框架的评估指标非常细致和全面,不仅包括了基本的运行时性能,还涵盖了与任务完成度和代理行为相关的各种度量标准。
此外,论文还展示了不同代理在此框架下的性能评估。代理的评估基于多个指标,如离路率、碰撞率和动力学不可行性等,这有助于全面理解和比较不同代理的能力和限制。通过这种方法,作者能够深入探讨不同代理的性能,揭示了代理性能之间的微妙差异和各自的优势与不足。
总体而言,该框架提供了一个全面和深入的方法来评估和比较多代理环境中的不同代理的性能。通过详细的基准测试和多样化的评估指标,它有助于深入了解各种代理的实际性能和潜在限制,为未来的研究和改进提供了有价值的 insights。
结论
本文详细介绍了一个新颖且全面的框架,旨在评估和比较多代理驾驶环境中不同代理的性能。我们通过精心设计的实验,展示了框架的强大功能和灵活性。实验结果揭示了使用不同硬件和批量大小时框架的运行时性能,证明了其在高效处理单代理和多代理环境中的优势。特别是,在GPU的支持下,框架展现了显著的性能提升。
通过引入一系列细致且全面的评估指标,如离路率、碰撞率和动力学不可行性等,我们能够更深入地理解和分析各种代理的行为和性能。这不仅有助于揭示每个代理的优点和缺点,也为未来的改进和优化提供了宝贵的参考。
我们提出的框架为多代理驾驶环境的研究和发展提供了一个有力的工具,帮助研究者和开发者更系统、更准确地评估和优化他们的代理算法和模型。未来,我们期望本框架能进一步推动多代理系统领域的创新和发展。
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码即可学习)
![e1dcc4e20f792c5f88911c935a5bb1ea.png](https://i-blog.csdnimg.cn/blog_migrate/3fca4ebae9be3153a5736c97e2ebc597.png)
② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!
![8dfc7987f92bea012dc55f8f190284b8.png](https://i-blog.csdnimg.cn/blog_migrate/92c17c783cf4eb310109aa8d5a0495a4.png)
③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)
④【自动驾驶之心】平台矩阵,欢迎联系我们!