ANTI-CARLA: 一个CARLA中自动驾驶的对抗测试框架

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【领域综述】获取自动驾驶全栈近80篇综述论文!

后台回复【数据集下载】获取计算机视觉近30种数据集!

arXiv论文“ANTI-CARLA: An Adversarial Testing Framework for Auto-nomous Vehicles in CARLA“,2022年7月,Vanderbilt University和Tech Uni of Munich的工作。

49718023dc219fb2020e8426bc4104c6.png

尽管自动驾驶系统最近取得了进步,但这些系统仍然容易受到corner case的影响。在系统部署之前,必须对其进行彻底测试和验证,以避免此类事件发生。在开放世界场景中进行测试可能很困难,耗时且昂贵。

这些挑战,可以通过CARLA等驾驶模拟器来解决。这种测试的一个关键部分是对抗性测试,其目标是找到导致给定系统故障的场景。CARLA虽然已经在测试方面做出了一些努力,但尚未提供一个完善的测试框架,以支持对抗性测试。因此,提出ANTI-CARLA,CARLA中的一个自动测试框架,用于模拟不利天气条件(如暴雨)和导致系统故障的传感器故障(如摄像头遮挡)。

应测试给定系统的操作条件,用场景描述语言(scenario description language,SDL)指定。该框架提供了一种高效的搜索机制,用于搜索让测试系统失败的对抗操作条件。通过这种方式,ANTI-CARLA扩展了CARLA模拟器,能够在任何给定的驾驶流水线上执行对抗性测试。用ANTI-CARLA测试通过欺骗式学习LBC, Learning By Cheating)训练的驾驶流水线。仿真结果表明,尽管LBC在CARLA基准中达到100%的精度,但ANTI-CARLA可以有效地自动找到一系列故障案例。

代码将在:https://github.com/scope-lab-vu/ANTI-CARLA.


如图所示:ANTI-CARLA提出的对抗性测试框架集成到CARLA模拟器中。给定任意驾驶流水线,用户指定所需的测试条件,框架自动生成对抗性测试用例。

d65466a3dc26e79aef30df3da84a32fe.png

如图是ANTI-CARLA框架和组件:

05210d0f3689e54920dec0d57628ac0b.png

  • 场景生成器

框架的第一个组件是场景生成器。它包括用于建模场景的场景描述语言,以及用于指定和选择测试参数的规范文件。根据场景定义一个测试用例,该场景是环境中系统路径的时间序列轨迹,持续30秒-60秒。

一个场景使用环境条件(E)和AV系统参数(A)表示。E可以用结构特征(例如道路类型和道路曲率)和时域特征(例如天气和交通密度)来定义。A包括启动位置、车载传感器和执行器等信息。E和A一起构成测试参数集。其中一些参数的值可以从指定的分布中采样。

此外,采样过程由一组物理约束控制,这些约束限制了这些参数的演化速率。例如,一天中的时间有一个固定的变化率。在采样过程中包括这些约束,会产生更有意义的场景。

场景描述语言:用textX元语言设计了一个SDL,用于场景建模。语法包含元语言描述场景的规则。元模型包含场景的实际描述。元模型结构的可视化如图所示。

dcf4f12ad8975d93f3fdc8e21301f52f.png

一个场景s是表示不同环境条件和智体参数的实体{e1,e2,…,ek}集合。例如,高交通量驾驶(High Traffic Driving)场景由Track以及Weather和Traffic条件指定。实体由一组属性{p1,p2,…,pm}进一步指定。例如,Weather可以具有Rain和Fog的特性。每个属性都有一个名称n和一个数据类型t。例如,Rain是均匀分布,而Waypoints是整数数组。特殊数据类型(如分布)也可以具有属性,例如均匀分布的范围。元模型允许对Carla模拟器中的任何所需场景进行结构化描述。

规范文件:提供了一组规范文件,其中包含用户可以选择的场景参数。这些文件用作SDL建模概念的抽象表示。基于用户采样器的选择,从各自的分布中对所选参数进行采样。其余参数为默认值。

将信息分为三个规范文件。首先,用户选择场景说明符。如图显示了场景说明符文件的摘要。它指定了做为地图的城镇、要行驶的轨道、天气交通密度、行人密度和采样约束的分布。用户还指定使用哪种违规度量以及记录数据的频率。其次,需要一个智体说明符,包括与智体相关的信息,如可用的控制器、传感器列表及其位置,以及可记录的传感器数据。第三,采样器说明符从可用采样器列表中确定要使用哪个采样器。

最后,该语言有一个解释器。它连接规范文件、SDL和概率采样器。首先,解释器从规范文件中提取需要采样的参数和固定参数。然后将需要采样的参数发送给采样器。采样器根据这些参数的分布范围生成这些参数值。最后,将采样参数和固定参数解析为SDL元模型,生成驾驶模拟器的人工文件。

  • 适配器合并代码

该框架还需要一个正在测试的驾驶流水线。集成不同的流水线并非易事,因为可能没有框架中使用的正确接口。例如,由于严格的接口要求,在CARLA之外开发的驾驶流水线可能不会直接用于模拟器。它们可能需要“调整”以满足模拟器的接口期望。为了解决这个问题,生成了一个适配器,以模拟器API所需的格式将驾驶流水线代码与传感器和执行器连接起来,如图所示。适配器是从智体规范文件合成的,该文件包含驾驶流水线所需的传感器列表、位置和采样率。

0e65443b2127925d5100a4b68b09d8ae.png

适配器从模拟器API中的自主智体类读取可用传感器,并用规范文件中要求的传感器对其进行扩展。因此,生成所请求的传感器代码结构,并将其提供给驾驶流水线代码。此外,模拟器所需的致动器从API中读取,并在代码中实现。通过适配器提供所需的传感器和执行器,用户需要提供驾驶流水线代码。

控制器的任何实用程序文件和模型权重都有特定的目录,它们与代码框架链接。用户只需处理此界面即可正确设置其控制器。如果致动器和传感器未正确设置,模拟器将抛出错误。未来将包括一个自动检查,以确保代码、传感器和执行器之间的结构设置正确。

  • 评分函数

为了评估AV系统在生成场景中的驾驶熟练度,该框架还提供了一个称为测试分数(TS)的评分函数。评分基于系统在给定场景中执行的所有违规行为进行。在CARLA测量的违规行为包括路线偏离、车道违规、交通规则违规、跑过停车标志、闯红灯和越野驾驶。为每个违规Ik分配权重wk。在当前设置中,这些权重设置为CARLA挑战中用的值。然而,可以根据当前用例而变化。

由违规行为生成的测试分数TS与测试用例参数一起存储在测试用例表中。这些测试用例和分数,用于在线驱动活跃采样器向搜索空间中导致高测试分数的区域移动。该测试用例表还可用于离线后分析(post-analysis ),识别给定控制器的故障条件,从而重新训练和改进控制器。

  • 采样器

集成几个采样器执行基于搜索的测试用例生成。采样器通过解释器连接到SDL,解释器向其提供场景参数和分布,从中可以对参数的不同值进行采样。

在框架中包括了两种可用的采样器。首先,实现几种被动采样器,因为它们速度快且应用广泛。在抽样过程中不使用以前结果的反馈。随机搜索(Random Search),从其各自的随机分布均匀地采样参数值。网格搜索(Grid Search),彻底搜索给定网格中的所有参数组合。

Halton 序列搜索(Sequence Search)是一种伪随机技术,使用共-素数作为基对参数进行采样。虽然这些采样器表现良好,但其非反馈采样方法导致无方向搜索,可能会错过几个重要的故障测试用例。此外,其并不平衡搜索空间的探索与开发,这是生成多样故障案例所必需的。

为了克服这些限制,还包括了两个对抗性采样器, 随机邻域搜索(Random Neighborhood Search,RNS)和引导贝叶斯优化(Guided Bayesian Optimization,GBO)。在对当前测试用例的参数进行采样时,这些采样器使用系统先前性能的反馈。此外,它们还捕获不同测试参数之间的约束和相关性,生成有意义的测试用例。反馈和约束的总体思想,是将采样过程移向搜索空间中很可能使系统失效的区域。

RNS采样器使用kd- tree最近邻域搜索算法扩展传统的随机搜索,为随机采样器提供了开发的能力。如果随机抽样参数生成的测试用例导致高测试分数,则利用这些参数值周围的区域。否则,将再从整个分布中随机采样参数。GBO扩展了有约束的传统贝叶斯优化采样器,该约束限制了采集函数查找下一个采样变量的区域。

评估结果如下:

7c0871d6b64711f23e50f4e0a0af7590.png

如图比较随机采样器和RNS采样器采样的100个场景。RNS采样器生成不同的故障群集。x轴表示一天中的时间,y轴表示降水量水平,z轴表示云量水平。

78a9d0a7aa5ef070e41fd4276da8f3aa.png

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D感知、多传感器融合、目标跟踪)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

b25e7b8ef8d0ae4b893beba849ae16f6.jpeg

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值