使用双向级模仿学习 AI 模型模拟逼真的交通行为

这篇文章最初发表在 NVIDIA 技术博客上。

无论是突然加塞(cut-in),还是无意地 U 形掉头,人类驾驶员的行为通常难以预测。行为的不可预测性源自人类决策过程的天然复杂性, 往往受多种因素的影响,而且在不同的运行设计域(ODD)和国家也会有所不同,因此很难在仿真中模拟驾驶行为。

但自动驾驶汽车(AV)的开发人员需要有把握地开发和部署能够在不同 ODD 环境以及多样的交通行为下运行的驾驶系统。NVIDIA Research 团队最近发表的论文 BITS: Bi-Level Imitation for Traffic Simulation 中概述了一种仿真现实世界交通行为的新方法,该方法可以帮助开发人员做到这一点。

交通仿真 Bi-Level 模仿(BITS)是一种交通模型,该模型能够以惊人的逼真度还原现实世界的复杂性,而且性能超过了以往的方法。在该论文详细介绍的一个试验中,BITS 的覆盖范围和多样性较性能次佳的模型分别提高了 64% 和 118%,失败率降低了 36%。

图 1. BITS 通过解耦交通模型构建过程,实现更加逼真的交通仿真

构建交通模型所面临的挑战

大多数仿真工具通过回放原始记录的数据或使用预定义的基于规则的交通系统来建模交通模型,以表达车辆行为。

虽然回放(数据)可以准确的查看和测试实际驾驶中遇到的特定场景,但却很难仿真记录之外的行为。另一方面,基于规则的控制器只能仿真简单的行为,无法准确仿真更复杂的情况。

除此之外,基于学习的方法,在现实世界的驾驶日志上训练而成,可生成逼真的未来轨迹。虽然这些模型已被证明能够有效创建准确、动态的驾驶路径,但它们很难生成多元的遵守道路边界以及有其他智能体参与的轨迹。

BITS 将 AI 模型解耦成高级意图理解和用来实现意图的 Low-level 控制器。通过这种方式,该模型能够合成与现实世界行为十分相似的各种交通模式,还能生成特定的场景。

在与其他 AI 加持的交通模型一起运行时,BITS 可以在保持低失败率的情况下,持续展示出多样的交通模式(图 2)。

图 2. BITS 的覆盖范围和多样性水平最高,失败率最低

BITS 方法

BITS 能达到高保真度和多样性,要归功于其层次化的模型结构。

该模型的两个分支均基于现实世界的交通日志上训练而成。High-level 分支用于预测车辆的潜在目标,Low-level 分支用于生成实现潜在目标的策略。通过任务分解,从而将为不同轨迹建模的任务交给 High-level 分支,而目标导向的 Low-level 策略生成能够更加高效地运行。

BITS 还包含一个预测与规划模块,有助于在新环境和大跨度的时间内稳定模型表现。为此,该模块会评估模型的可能轨迹并选择那些遵循合理驾驶行为规则的轨迹,降低了偏离合理行为的风险。

评估 BITS 的质量

确定一个交通模型的表现是否真实,以及其是否能生成准确的、未见过的新场景本身就很困难。因为并没有真值可做直接比较。因此,评估 BITS 交通模型本身就具有挑战性。

正如 BITS: Bi-Level Imitation for Traffic Simulation 中所详细介绍的,研究人员进行了三个层面的评估:试运行指标(覆盖范围、多样性和失败率)、与真实世界相比的统计差异以及与人类驾驶员的相似度。

第一个层面的评估直接衡量 Low-Level 分支的覆盖范围、每次运行的多样性以及碰撞或偏离道路的驾驶事故的频率。第二个层面的评估将仿真环境里的汽车速度和加速度差异与真实世界的数据进行比较。第三个层面的评估通过与预测模型比较来衡量行为是否与人类驾驶员相似,该预测模型可预测智能体在给定时刻的位置。

图 3. 比较各种基于学习的交通模型所规划的轨迹

如图 2 和图 3 所示,其他模型在生成多样化轨迹和陷入重复行为之间作出权衡,而 BITS 每次都绘制出新的场景,且失败率较低。

总结

在仿真中模仿现实交通行为的能力对于开发强大的自动驾驶技术至关重要。通过优化保真度和多样性,BITS 使 AI 生成的交通仿真更加接近真实世界的复杂程度。NVIDIA 的目标是进一步开发和完善 BITS,并最终将其集成到 NVIDIA DRIVE Sim 的生产管线中。

欢迎业界在仿真流程中使用该工作并参与贡献,已在 GitHub 上开源。NVIDIA 还在构建并开源 trajdata,该软件工具能够统一不同自动驾驶数据集的数据格式,并将现有数据集中的场景转换成交互式仿真环境。

阅读原文

相关推荐
DogDaoDao3 天前
Windows 环境搭建 CUDA 和 cuDNN 详细教程
人工智能·windows·python·深度学习·nvidia·cuda·cudnn
IC拓荒者11 天前
英伟达NVIDIA数字IC后端笔试真题(ASIC Physical Design Engineer)
nvidia·数字ic后端·ic后端实现·ic秋招笔试·ic秋招·ic笔试真题·physical design
读书,代码与猫16 天前
【裸机装机系列】10.kali(ubuntu)-安装nvidia独立显卡步骤
ubuntu·kali·nvidia·linux安装nvidia显卡·ubuntu安装nvidia·裸机安装linux
陈 洪 伟20 天前
完整指南:CNStream流处理多路并发框架适配到NVIDIA Jetson Orin (四) 运行、调试、各种问题解决
ffmpeg·nvidia·jetson·cv-cuda
白云千载尽1 个月前
nvidia-cuda-tensorrt-cudnn下载网站
sdk·nvidia
ViatorSun1 个月前
「bug」nvitop ERROR: Failed to initialize curses
windows·python·ubuntu·llm·nvidia·vlm·nvitop
flypig哗啦啦2 个月前
nvidia系列教程-AGX-Orin linux源码下载编译
linux·nvidia·agx-orin
NullPointerExpection2 个月前
windows 使用 ffmpeg + cuda 进行视频压缩测试
c++·windows·ffmpeg·nvidia·cuda·h264·英伟达显卡
小李飞刀李寻欢2 个月前
NVIDIA-SMI couldn‘t find libnvidia-ml.so library in your system
linux·运维·nvidia·cuda·模型·驱动·driver
扫地的小何尚2 个月前
NVIDIA 全面转向开源 GPU 内核模块
人工智能·python·自然语言处理·开源·llm·gpu·nvidia