几个关于自动驾驶测试场景的问题

这篇文章里所提的场景应用范围包括模型在环、软件在环、硬件在环、车辆在环,以及路测。当前的路测场景往往有相关标准作为支撑,因而不在本文的讨论范围内。今天要说的是更广义的场景,这些场景因为其复杂性往往需要仿真来支撑。


interaction dataset 

这篇文章里所提的场景应用范围包括模型在环、软件在环、硬件在环、车辆在环,以及路测。当前的路测场景往往有相关标准作为支撑,因而不在本文的讨论范围内。今天要说的是更广义的场景,这些场景因为其复杂性往往需要仿真来支撑。

场景测试对自动驾驶发展是极其重要的,这基本已经成为共识。想有一个整体的了解可以阅读朱冰老师写的综述《基于场景的自动驾驶汽车虚拟测试研究进展》。之前在文章中也提到过,场景是对知识和自动驾驶数据的一种总结,是发挥数据价值的必须且高效的途径之一,它属于整个仿真系统的输入端。基于场景的测试方法可以提高系统的开发效率,也可以通过验证提高产品落地效率。

今天这篇文章的主要内容框架来自 Simon Chauvin,他的总结覆盖了我们讨论场景时常关注的几个问题。我对这篇文章进行了意译,以使读者对场景测试中的关键问题有一个大致的认知。在翻译过程中。我也融入了一小部分自己学习过程中的认知和思考。

我们会讨论以下几个问题:

1. 如何描述交通场景,用什么格式或语言?

2. 如何找到频繁出现的碰撞场景(frequent crash scenarios),人类驾驶员又通常在哪里失败?

3. 哪些数据集对于预测以及决策算法的学习和测试有益?

场景语言格式

为了提高测试的可复现性,Queiroz, Berger, and Czarnecki在2019年引入了一种用于表示场景的领域特定语言GeoScenario。该语言构建在OSM之上。

GeoScenario的目标类似于OpenSCENARIO,后者描述了仿真场景中的动态内容,并经常与表征静态内容的OpenDRIVE一起,共同组成测试场景。

另一个工具CommonRoad也被多次使用,其中一个原因是它基于NGSIM US 101数据集中实现了高速公路场景。这一系列应用于道路规划的可组合的benchmark目的是为研究人员提供一种评估和比较他们的规划器的方法。

为了在场景中表示道路网络,LanLets地图(OSM格式的一个开放扩展)被广泛使用(例如GeoScenario和CommonRoad)。

译者注:场景基本上可以分为静态和动态两大块。静态需要地图,对于开发阶段,可以把系统中使用的地图作为底层来构建静态场景,使用特定的数据格式构建动态场景;对于产品落地时的测试阶段,则往往需要使用标准地图格式和标准的动态场景格式。OpenDrive、Lanlet、OpenSCENARIO、GeoScenario都同属此列。

重新做一个类似于OpenDrive和OpenSCENARIO的东西并不难,但正如作者提到的,这里的关键是一个标准化的格式,是可以帮忙减少切换仿真工具的使用开销,方便统一标准化场景库的格式。OpenDrive和OpenSCENARIO以及其他的OpenX系列标准最初由VTD推动,后来又把这个标准立项交给了标准化组织ASAM,这个转交对于推动测试标准化的过程而言是很有意义的。

国内目前也有相关的工作,华为、上汽集团、中汽中心数据资源中心、51VR、腾讯科技、亮道智参与了C-ASAM的工作。

另外需要顺便提一点,OpenDrive、lanlet、OSM是可以通过简单的解析脚本相互转换的,通过这些转换可以复用很多其他软件的建模工作。另外,支持OpenSCENARIO的软件,我目前看到的有VTD和Carla,github上也有一些开源的解析器。其他仿真软件其实可以快点支持这个功能,这不是太难的事,但却是一件很重要的事。

OpenDrive和OpenSCENARIO这些标准也带来了一些衍生问题,如在某种程度上增加了建模场景的时间成本。例如,如何将路测数据自动化转化为标准场景格式?这就需要新的解决方案。关于这个话题,本文不再进一步展开。

常见的关键场景(Common Critical Scenarios)

从NHTSA的车祸数据中可以检索到最频繁出现的crash 场景。CARLA AD Challenges就使用了NHTSA pre-crash里的常见关键场景来测试agent的表现。
Pusse和Klusch 2019则使用GIDA分析了德国发生的数千起事故,并以此作为基准,使用开源的3D驾驶模拟器OpenDS对场景进行虚拟建模。

译者注:对于L2级的产品,NHTSA和GIDAS是很有价值的。但在面对L4级产品时,这两个经典的场景来源则相对有些捉襟见肘。

对于L4,最终的答案应该还是绕不开数据和关键场景这两个词。它们的关系是不解耦的。

数据不用多说了,有自动驾驶功能(或数据搜集功能)的车辆大规模部署的最直观好处是什么?就是各种各样的数据,这方面的典型例子是特斯拉。数据能帮我们分析出各种不常见的长尾场景,也能帮助统计不同地区不同行为的参数规律,这些数据经过分析后,可以凝练成关键场景,也可以针对性的修改系统的策略或参数,以提高系统的表现。

再来谈谈关键场景,除了前面提到的数据提炼的角度,还有一种是迭代分析的角度,其中的关键问题是如何定义“关键”,在这里我们就不做进一步的展开了。

对新数据集的需求

在许多论文中,在真实世界中进行实验一般都被放到展望中去了。这其中一个重要原因是,因为Reality Gap的存在,在模拟或手工设计的场景中验证的模型很难被转换部署到真实环境中去。这催生了两种需求:

  • 对更逼真的模拟器的需求。

  • 对更丰富的带有关键场景的交通数据集的需求。

让我们先来想想鸡和蛋的问题:如果算法最终效果表现不好,那么到底是喂的数据有问题,还是算法本身有问题?实际上,验证模拟器可能比验证算法本身更困难,这很让人失望。
所以接下来让我们把重心转到数据集上看看。

现实世界中的驾驶数据集对基于学习的方法非常重要,这些方法试图对人类驾驶风格和行为建模。它们的多样性和完整性对于预测和决策模型的一般化也是必不可少的。目前存在一些基于真实交通的场景记录集合。但大多数还是主要涉及感知的。研究与易受伤害的道路用户(即行人和骑自行车者)进行交互的工作主要可以使用的数据集包括:Stanford Drone数据集、清华-戴姆勒TDC数据集、JAAD数据集或Eurocity PersonsECP数据集。
对于高速公路和十字路口场景,highD 和NGSIM被提及的次数比较多。HighD的车辆轨迹是用一架无人机在德国高速公路上记录下来的,而NGSIM数据集包含了安装在旧金山湾区一幢建筑物顶部的摄像头45分钟内记录下来的车辆轨迹数据。SIPD研讨会的参与者认为这些数据“被过度使用”,“比较无聊”,因为它们缺乏复杂的状况。
不同的团队对数据集的需求是不同的。有些人想要全知的鸟瞰图,特别是在提取带有遮挡情况的场景时。有些人更喜欢从车辆上记录的数据(Pool, Kooij,和Gavrila2019),因为借助这些数据可以捕捉上下文线索,在规划前推断意图,比如骑自行车的人在转弯前可能会举起手臂。

在IV19上的许多工作使用了自己的驾驶模拟器或自己构建的数据集。这使得实验难以复制、比较。此外大多数手工制作的数据集都非常小,这不利于基于学习的模型的训练。另外,一个致命问题是,这些数据集包含的场景多样性较低。
结论其实蛮清楚: 我们还是缺少一个数据集的,它具有多种多样的、复杂的和关键的情况,且可用于交互感知的预测和决策。
SIPD研讨会的联合组织者Wei Zhan借此机会宣布发布了一个新的数据集,名为Interaction Dataset,用于社会互动预测和决策。以下是一些要点:

  • 对不同的地点(如美国、德国、中国),不同的驾驶文化,不同的交通规则,不同的场景(合并、绕行等)都有记录。

  • 包括了一些关键的情况,例如接近碰撞的情况和轻微碰撞事故,这对于测试边缘情况非常有益。

  • 另一个有前途的特点是,涵盖了带有谈判的复杂的驾驶行为和不明确的路权(通行权)

  • 最后,所有场景都带有一个基于lanelet2的带有语义信息的HD-map。模型中也会有遮挡作为ground truth,这是测试社会认知的关键。

0 个评论

要回复文章请先登录注册