0. 这篇文章干了啥?
模拟为在真实环境中评估自动驾驶系统提供了一种有效的方法。它避免了现实世界测试带来的高昂成本和风险,并成为自动驾驶政策部署周期的第一步。模拟器只有在能够模拟真实驾驶条件的情况下,才能发挥其作用。其中,最重要的条件是对交互式交通参与者及其行为模式进行高度逼真的模拟。此外,模拟还必须是可控的,以便通过友好的输入或提示来编辑和定制每个参与者的行为和意图,从而创建有趣的交通场景。
为了满足这些需求,我们提出了一项新任务:可提示的闭环交通模拟。除了在闭环中模拟真实的交通参与者交互外,交通模型还应生成满足用户指定复杂提示的参与者运动。我们的基线算法ProSim以场景初始化和多模态提示作为输入,并生成一系列参与者策略,从而产生闭环、反应式的场景滚动。我们展示ProSim能够以各种复杂的用户提示实现高逼真度和可控性。即使没有提示,ProSim在Waymo Open Sim Agent Challenge [1]中也取得了具有竞争力的表现。
为了进一步推动对可提示的闭环交通模拟任务的研究,我们创建了ProSim-Instruct-520k,一个多模态的成对提示-场景数据集。我们利用现实世界自动驾驶数据集,为所有参与者提供了丰富的提示。具体而言,对于每个场景,我们标记了参与者的目标点(即目的地)、动作标签(如加速、左转)、路线草图(参与者路线的粗略草图)和文本指令(如“指示
在右转前减速”)。这些提示模拟了用户可能希望提示场景的多种不同方式。我们通过仔细的人类质量保证阶段,确保标记的提示准确描述了参与者的真实行为。ProSim-Instruct-520k包含520K个真实驾驶数据的提示-场景对,包括超过1000万个句子的文本提示,涉及1000万个唯一参与者,以及575小时的驾驶时间。我们将在发表时发布ProSim-Instruct-520k的数据、基准和标注工具,以促进未来的研究。
下面一起来阅读一下这项工作~
1. 论文信息
标题:Promptable Closed-loop Traffic Simulation
作者:Shuhan Tan, Boris Ivanovic, Yuxiao Chen, Boyi Li, Xinshuo Weng, Yulong Cao, Philipp Krähenbühl, Marco Pavone
机构:UT Austin、NVIDIA
原文链接:https://arxiv.org/abs/2409.05863
官方主页:https://ariostgx.github.io/ProSim
2. 摘要
模拟是安全高效的自动驾驶开发的基石。在其核心,模拟系统应该产生现实的,反应,和可控的交通模式。在本文中,我们提出了ProSim,一个多模态可促进的闭环交通仿真框架。ProSim允许用户给出一组复杂的数字、分类或文本提示,以指示每个代理的行为和意图。然后,ProSim以闭环方式推出一个交通场景,模拟每个代理与其他交通参与者的交互。我们的实验表明,ProSim在给定不同用户提示的情况下实现了较高的提示可控性,而在没有提示的情况下,ProSim在Waymo Sim Agents Challenge上达到了有竞争力的性能。为了支持对可提示交通模拟的研究,我们创建了ProSim-Instruct-520k,这是一个多模式提示-场景配对驾驶数据集,为超过520k个真实世界驾驶场景提供了超过1000万个文本提示。我们将在https://ariostgx.github.io/ProSim发布ProSim的代码以及ProSim-Instruct-520k的数据和标签工具。
3. 效果展示
可提示闭环交通模拟示例
所有代理均由ProSim控制:绿色的是无条件代理,其他则通过多模态提示进行控制。
4. 主要贡献
我们的主要贡献包括三个方面:
我们引入了ProSim,这是一种首创的可提示的闭环交通模拟框架。
我们创建了ProSim-Instruct-520k,这是一个大规模的多模态提示-场景驾驶数据集。它是第一个具有丰富语义的参与者运动标签和文本说明的驾驶数据集。
推荐课程:
全搞定!基于TensorRT的部署+CUDA加速
我们将发布ProSim的代码和检查点。同时,我们还将发布ProSim-Instruct-520k的数据、基准和标注工具,以促进参与者运动模拟研究。
5. 基本原理是啥?
在本文中,我们提出了一项新任务:可提示闭环交通模拟。除了闭环模拟真实的交通代理交互外,交通模型还应生成满足用户指定的一组复杂提示的代理运动,这些提示包含多模态提示,如:
针对此问题,我们提出了ProSim,一个多模态可提示闭环交通模拟框架。ProSim允许用户给出一组复杂的数值、分类或文本提示,以指示每个代理的行为和意图。然后,ProSim以闭环方式展开交通场景,模拟每个代理与其他交通参与者的交互。我们在下方展示了ProSim的架构。
ProSim由三个主要模块组成:
编码器:
高效地将场景初始化(地图和代理状态)编码为一组共享的场景标记。
生成器:
利用场景标记和代理提示为所有代理生成策略标记。
策略:
对于每个代理,根据其策略标记、当前状态和观测值生成下一个状态。请注意,我们并行地为所有代理分别运行此模块以模拟代理交互。
在展开过程中,ProSim仅运行一次繁重的编码器和生成器,而策略则并行地为所有代理运行。这种设计使我们能够高效地在闭环中使用ProSim进行训练和推理。
为了实现复杂的文本提示,在策略标记生成器中,我们使用大型语言模型(LLM)来理解自然语言提示和策略查询,并为所有代理生成语言条件策略查询。特别是,我们使用经过LoRA微调的Llama3-8B模型作为主干,并配备两个多层感知机(MLP)适配器:
ProSim优先考虑以下三个关键特性:
可提示性:
允许用户为每个代理提供灵活的多模态提示组合。
闭环:
允许代理实时与地图和其他代理交互,模拟现实世界中的反应性行为。
高效性:
在单个GPU上,能够在50毫秒内模拟包含64个代理和文本提示的8秒交通场景。
6. 实验结果
7. 总结 & 未来工作
我们提出了ProSim,一个可提示的多模态闭环交通模拟框架。根据用户提供的复杂多模态提示,ProSim以闭环方式模拟交通场景,并指导智能体遵循这些提示。对于不同复杂的用户提示,ProSim均表现出高度的真实感和可控性。我们还开发了ProSim-Instruct-520k,这是第一个包含超过52万个场景和1000多万个提示的多模态提示-场景配对驾驶数据集。
我们相信,ProSim模型和数据集套件将为未来在驾驶场景内外关于可提示的人类行为模拟的研究打开大门。
局限性。ProSim目前尚不支持任意提示。复杂的智能体交互(例如,“从左车道超越”)或更复杂的模态(例如,使用前视图图像发出提示)留待未来工作研究。
对更多实验结果和文章细节感兴趣的读者,可以阅读一下论文原文~
本文仅做学术分享,如有侵权,请联系删文。
3D视觉交流群,成立啦!
目前我们已经建立了3D视觉方向多个社群,包括
2D计算机视觉
、
最前沿
、
工业3D视觉
、
SLAM
、
自动驾驶
、
三维重建
、
无人机
等方向,细分群包括:
工业3D视觉
:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。
SLAM
:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。
自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。
三维重建
:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等
无人机
:四旋翼建模、无人机飞控等
2D计算机视觉
:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等
最前沿
:具身智能、大模型、Mamba、扩散模型等
除了这些,还有
求职
、
硬件选型
、
视觉产品落地、产品、行业新闻
等交流群
添加小助理: dddvision,备注:
研究方向+学校/公司+昵称
(如
3D点云+清华+小草莓
), 拉你入群。
3D视觉知识星球
「
3D视觉从入门到精通