作者丨黄浴@知乎

来源丨https://zhuanlan.zhihu.com/p/426572273

编辑丨3D视觉工坊

arXiv在2021年10月16日上传论文“Finding Critical Scenarios for Automated Driving Systems: A Systematic Literature Review“,作者来自瑞典和奥地利的几个研究机构和高校。

基于场景的方法在自动驾驶系统研究和工程中受到了极大的关注。由于驾驶环境的复杂性和不确定性,以及驾驶任务本身的复杂性,自动驾驶系统(ADS)或高级驾驶辅助系统(ADAS)可能遇到的驾驶场景数量几乎是无限的。因此,必须做场景识别,特别是那些不考虑则有无法接受风险的关键场景。

关键场景对于设计、确认和验证(V&V,verification and validation)工作以及安全基础等尤为重要。本文对此做了一个文献综述,主要包括:(i) 一个关键场景识别方法的分类;(ii) 基于分类法的最新研究,2017 年至 2020 年的 86 篇论文;(iii) 确定未解决的问题和进一步研究的方向。该分类法的三个主要观点,是问题定义(原因)、解决方案(派生场景的方法)以及已建立场景的评估。此外,讨论一些开放研究问题,即覆盖范围、实用性和场景空间探索等。

这里安全作为特定的操作设计域 (ODD) 、功能安全 (FuSa) 和预期功能安全 (SOTIF) 的组合。

如图所示是潜在危害之源:

功能不足会导致该功能在某种触发条件(例如眩光)下出现意外行为(例如对前方车辆的错误检测)。如果下游功能(例如目标跟踪和传感器融合)的容错不能解决这种意外行为,则可能会传播到车辆级危险(例如未能检测到行人造成未及时启动制动 )。

对场景和景象做定义:

“场景(scenario)描述了一系列场景中几个景象之间的时间发展。每个场景都从一个初始景象开始。可以指定行动和事件以及目标和价值来表征场景的这种时间发展。不是一个景象,一个场景跨越一定的时间。” 如上图所示,可以通过一组影响因素来描述场景。

“景象(scene)描述了环境的快照,包括景色(scenery)和可移动目标,以及所有行动者和观察者的自我表现,以及这些实体之间的关系。只有模拟世界中的景象表示才能包罗万象(客观景象、真值)。现实世界中这是不完整不正确不确定的,是从一个或多个观察者的角度来看(主观景象)。”

所有符合相同描述的相关场景,组成一个场景空间。一个重要场景空间,是操作设计域(ODD),其中要求自车应该安全行驶。

ODD定义:

“给定驾驶自动化系统或其功能,专门用于运行的操作条件,包括但不限于环境、地理和时间限制,和/或某些必要的存在或不存在的交通或道路特征”。

ODD 本质上定义了操作环境,而ADS 就是针对该环境设计的。

德国Pegasus项目定义一个6-层场景描述模型,如下表所示:

场景表示包含三层抽象,即功能场景、逻辑场景和具体场景。功能场景和逻辑场景在两个不同的抽象层次上描述场景空间,而具体场景描述特定场景。

根据一个具体场景,采用OpenX(OpenDRIVE, OpenSCENARIO),可以构建一个可执行的场景。可以是仿真模型,也可以是真实的测试。可执行场景是指来自相机的图像或来自 LiDAR 的点云。

如图描绘了三个抽象层次之间的转换:支持功能场景形式化的是逻辑 ODD,即一个参数化的ODD描述;来自 ODD 定义的输入,功能场景被形式化和参数化为有所有参数定义及值范围的逻辑场景;即使形式化的逻辑场景比功能场景包含更多的信息,其代表的场景空间更小一些,因为并非所有影响因素都可能被识别和考虑。

很多情况下,极端场景(corner case )和边缘场景(edge case)是相关的术语,通常用作同义词。发生的概率是二者之间最显着的差异。corner case是正常操作参数和罕见/异常情况的组合。并非所有edge case都是corner case,反之亦然。只有罕见和新的条件下特殊组合的corner case才被视为edge case。

关键场景(Critical scenario)定义为系统设计、安全分析、验证或确认的相关场景,具有潜在的危害风险。

触发条件和安全-紧要操作情况是 ODD 中关键场景的两个主要组成部分。因此,未知的关键场景可能源于这两个部分,如图所示:

标准ISO/PAS 21448的一个主要目标是识别未知的关键场景,然后使其安全。此外,标准ISO/PAS 21448的附录 B2 进一步假设场景条件/情况可以建模为几个有影响情景因素的组合(例如,大雨、眩光、路面湿滑、另一辆车突然切入、等等)。在这个假设下,未知的关键情景可以归因于未知的场景因素或已知场景因素的未知组合。

为此,关键场景识别 (CSI,Critical Scenario Identification) 方法被定义为查找触发条件、安全-紧要操作情况或将导致伤害的两者组合方法。ODD 定义被认为是 CSI 方法的输入来划定场景空间。

一个保证预功能安全的迭代过程如图所示:识别出的关键场景将支持自动驾驶功能的细化,使ADS 更安全。

它们还可能有助于ODD 定义的完整,尤其当确定的关键场景指向 ODD 定义中未考虑的方面。同时,功能细化也可能导致 ODD 变化,在下一次迭代中启动新的 CSI 过程。

如图是关键场景识别(CSI)方法分级的类别结构:

采用以下三个基本类来构建CSI 方法:下面的子类见上图(左、中、右)

  • 问题定义:识别什么样的场景?为什么这些场景很重要?

  • 解决方案:应用哪些技术来识别关键场景?需要什么外部信息/数据?

  • 评估:如何评估方法和关键场景的有效性?

开发中V-模型每个阶段的关键场景如图所示:图中的灰色框列出了识别出的关键场景在相应开发阶段可以支持的内容。

需求分析:

在 ISO 26262 中,危害分析和风险评估 (HARA,Hazard Analysis and Risk Assessment ) 是识别所有潜在危害事件的重要步骤。如图所示,每个危险事件都是危险和操作条件的组合。确定的撞前功能场景可以用作HARA 的所有操作条件集。

系统设计:

决定系统配置和分解车辆级别需求到组件级别。

组件设计:

由于不同的自动驾驶功能可能对不同的环境因素敏感,因此通常在组件层而非车辆层分析影响因素。

组件和系统验证:

生成的测试用例用于验证整个自动驾驶系统或特定的功能。

系统确认:

一种常见的验证(validation)方法是通过蒙特卡罗模拟来估计事故率或故障率。由于关键场景相对较少,小样本量的蒙特卡罗模拟可能会导致关键场景的覆盖率较差,增加估计误差。作为蒙特卡罗模拟的一种变型,重要采样(IS)为关键但相对罕见的场景分配更多样本来减少估计误差。因此,重要抽样(IS)方法意味着识别的关键场景或关键区域作为输入。

根据问题定义和解决方案,CSI方法分成5个类群(clusters):

  • C1 探索没有参数轨迹的逻辑场景;

  • C2 探索有参数轨迹的逻辑场景;

  • C3 归纳推理;

  • C4 演绎推理;

  • C5 基于计算机视觉(CV)的函数找到关键景象。

下面先说C1群。

假设参数对于所有实例(即具体场景)具有固定值,例如场景中的车辆数量和车道数量;感兴趣的参数构建要探索的场景空间,这些参数包括随时间恒定的参数(例如天气状况或道路上静止障碍物的位置)和随时间变化的参数(例如周围车辆的速度或感知误差)。如果参数随时间变化,则可以将其表示为参数轨迹。参数值可以是分类的(例如天气、颜色和车辆模型)或数字的。数值可以是连续的(例如速度、航向和传感器噪声)或离散的(例如其他车辆的数量、车道数量和速度限制)。

在C1类,具体关键具体场景的确认看成是设计空间探索(DSE)或基于搜索的测试(SBT)问题,其流程图如图所示:

给定一个逻辑场景,用参数空间探索方法生成一组具体场景。在这些生成的具体场景中,用预定义的关键性评估方法识别关键场景。 关键性评估可以看作是将场景空间一个点映射到评分空间中一个点的函数。评分空间是对具体场景的关键性定量评估。评估是通过替代测量来实现的,因为关键性很难直接测量。

如图列出C1类中关键场景识别(CSI)中所有场景空间探索方法:可以分为两种类型,即(1)天真型搜索(即采样和组合测试)和(2)指导型搜索(即基于优化和学习的测试)。

场景探索的一种天真方法是在场景空间中随机或系统地搜索。换句话说,样本是相互独立的。因此,这些方法可以并行实施以减少探索时间。然而,如果关键场景很少见,这些方法可能效率低下,因为采样到关键场景的概率很低。另一方面,指导搜索方法具有更高效的潜力,因为每次迭代的搜索方向根据前一次迭代的搜索结果进行调整,将探索收敛到关键区域。

采样方法在逻辑场景空间随机分配每个参数值来实例化具体场景。根据参数的概率分布统计抽取预定数的样本,其抽样大小由模拟所需的覆盖范围和计算时间决定。

使用的采样方法总结如图所示:根据逻辑场景的参数描述,根据是否考虑参数分布,对采样方法进行分类;如果没有提到参数分布,假设采用均匀分布。

组合测试(CT)是一种常用的软件测试方法,专注于识别仅由特定输入组合触发的故障。CT 的核心是生成满足 N-wise 覆盖(注:给定一个感兴趣系统模型,包含参数列表、取值和约束来定义参数交互,那么N-wise 覆盖表明所有参数值的 N 元组必须至少测试一次)的最小测试用例集(即覆盖数组)。在 自动驾驶的CSI 的背景下,CT 可用于发现可能使自动驾驶或特定 自动驾驶功能失效的影响因素未知组合。

CSI 方法也可表述为优化问题,通常包含四个部分,即设计变量、约束、目标函数和优化器(即求解器)。

基于学习的测试方法旨在将模型检查算法与有效的模型推理算法相结合,并将两者与感兴趣系统集成在一个迭代循环中,自动生成大量高质量的测试用例。它会训练代理模型在优化过程中学习系统的属性。可以通过最大化场景空间或评分空间中样本之间距离来优化多样性。

从上述 CSI 方法获得具体场景后,基于测试的方法可以验证派生场景的关键性,如图所示:

在关键性评估阶段,大多数研究利用 X-in-loop仿真来估计具体场景的关键性,其中 X 将系统 的模型、软件或硬件表示为黑盒。也可以不在X-in-loop模拟的情况下评估关键性。验证可以通过现实世界的测试来实现,以分析探索方法的性能。

对于安全论证,在探索逻辑场景时必须考虑覆盖范围。然而,并非所有主要研究都明确讨论了覆盖范围。对覆盖范围的考虑,以及增加该类方法群已识别关键场景多样性的机制,总结如图所示:

C1群没有考虑运动轨迹,会有不少限制。在C2群,这个参数轨迹会作为场景参数来探索。

如图是C2群中各种逻辑场景实例方法一览:

场景模型包括一组参数。其中一些具有预定义值(假设的参数),而其他(感兴趣的参数)应优化以找到关键具体场景,如图所示。假设参数的例子比如,其他参与者的数量(运动交通参与者)、车道数和人行横道的位置等。

探索的方法基本分成优化、路径规划和强化学习等。

关键性评估定义系统是否能满足其要求。该评估可以根据确定故障的替代措施以及分析故障的避免性进行分类。比如:基于碰撞、基于规定、考虑避障和不考虑避障等。

在C3群(归纳推理)中主要数据来源归纳为两种类型:

  • 1) 仅基于事故场景,

  • 2)基于各种类型的数据和场景。

前者依赖于事故数据库,包括原始事故数据、事故报告或记录,后者是指现有的逻辑或具体场景、自然驾驶数据、交通数据或传感器数据。C3群的 CSI 方法总结如图所示:

C4群(演绎推理)基于各种知识源寻找功能或者逻辑场景。

这里列出的是方法,通过系统考虑一组预定义假设下的所有可能性来寻找碰撞前场景。确定的预碰撞场景可用作安全-紧要的操作情况。

最后,C5群(基于计算机视觉功能)的方法总结如图所示:

C5分成景象表征和关键景象生成或者探索两个主要思路。在C5群的评估图像关键性方法,大多数将被评估的图像提供给系统(即被验证的函数)作为评估性能的输入。因此,评估的关键性针对实现而言。

评估方法的分类:

  • C1: 几乎所有研究都将案例研究作为评估方法来验证方法和关键场景。大多数案例研究都是通过模拟实现的。

  • C2: 类似C1

  • C3:最常用的评估方法是将识别场景与法规场景进行比较。通过来自真实数据的聚类生成功能或逻辑预碰撞场景,直接与法规或测试组织的测试场景进行比较,例如 Euro NCAP。

  • C4:不是都做评估。

  • C5:几乎都使用案例研究作为评估方法。与 C1 和 C2 类似,也没有进行验证确定模拟识别的关键场景对于计算机视觉系统在现实世界是否也很关键。覆盖率主要取决于使用的数据集,但对覆盖结果没有验证。

相关研究方向有:

  1. 在线风险评估

  2. 基于场景的功能评估

  3. 基于场景的系统设计

  4. 故障注入

  5. ontology设计和影响因子分析

  6. 形式方法

  7. 计算机视觉中未知的未知物检测

  8. 数据增强

几个讨论点:

覆盖范围:覆盖范围可以通过 3 种方式定义(类型):1) 针对给定场景空间探索的覆盖范围;2) 给定场景空间内所有关键场景的覆盖率(即在给定场景空间内所有关键场景中识别关键场景的比例);3) 在给定的功能场景或 ODD 下,所有关键功能不足及其触发条件的覆盖范围。

ALARP (”As Low As Reasonably Practicable”)原理:确保伤害风险最小。

场景空间探索:场景空间分成两个角度,一是分解ODD成各种应用用例,二是分成不同的感兴趣系统。要进行完整的安全分析,需要明确分析系统的容错(即识别上游功能意外行为所无法解决的场景),特别是分析目标跟踪和传感器融合的容错。此外,还需要一个系统的观点来确保划分到感兴趣系统中以及随后的“证据”组成是完整的,例如关于共同原因故障。

讨论了一些研究空白,例如覆盖度量、关键性度量、影响因素的识别和分类,以及缺乏一个方法框架将不同 CSI 方法组合起来并把它们与其他安全分析过程相结合。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

综述|寻找自动驾驶中的关键场景相关推荐

  1. 边缘计算在自动驾驶中的应用场景丨边缘计算阅读周

    #边缘计算阅读周#  读书的人,有梦可做. 边缘计算社区联合6大出版社邀您一起阅读,一起做追梦人. 今天推荐的书是电子工业出版社 博文视点推出的边缘计算佳作<边缘计算 方法与工程实践>,这 ...

  2. 最新综述:自动驾驶中的多模态三维目标检测

    ©PaperWeekly 原创 · 作者 | 张一帆 学校 | 华南理工大学本科生 研究方向 | CV,Causality Abstract 在过去几年,自动驾驶取得了蓬勃的发展,但是由于驾驶环境的复 ...

  3. 激光雷达在自动驾驶中的关键技术应用

                                                                "   无论人生上到哪一层台阶,                    ...

  4. 人工智能算法在自动驾驶中的应用

    前几天一个新闻挺搞笑的,美国一辆"自动驾驶"状态的特斯拉被交警拦停,驾驶员在车里竟然睡着了--甚至还狡辩自己没有驾车因此不涉嫌酒驾.龙叔忽然想起来,这类事件已经不是第一次发生了,于 ...

  5. 自动驾驶中可解释AI综述和未来研究方向

    作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/453146210 编辑丨3D视觉工坊 arXiv上2021年12月21日上传的自动驾驶可解释AI的综述:" ...

  6. 【综述专栏】自动驾驶中可解释AI的综述和未来研究方向

    来源:知乎-黄浴地址:https://zhuanlan.zhihu.com/p/453146210 在科学研究中,从方法论上来讲,都应"先见森林,再见树木".当前,人工智能学术研究 ...

  7. 自动驾驶中结构化BEV交通场景的理解(ICCV 2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨黄浴@知乎 来源丨https://zhuanlan.zhihu.com/p/422992023 ...

  8. 17篇点云处理综述-点云语义分割、点云物体检测、自动驾驶中的点云处理……

    三维点云是最重要的三维数据表达方式之一. 从技术角度看,在三维重建.SLAM.机器人感知等多个领域,三维点云都是最简单最普遍的表达方式,因为三维点云直接提供了三维空间数据,而图像则需要通过透视几何来反 ...

  9. 自动驾驶中的车道线跟踪技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:AI算法与图像处理 本文讨论的重点跟踪算法如何应用在车道 ...

最新文章

  1. 微信小程序时间戳转化为时间
  2. python数据接口获取数据_python UI自动化实战记录二:请求接口数据并提取数据
  3. HDU 2047 阿牛的EOF牛肉串
  4. P3514-[POI2011]LIZ-Lollipop【思路题】
  5. 通过Xshell登录远程服务器实时查看log日志
  6. python中复选框取消修改_python – 如何在PySide / PyQt中设置“只读复选框”
  7. html 从左往右消失,从左到右语言写成从右到左html
  8. MySQL特殊语法---replace into
  9. Java学习笔记2.3.2 运算符与表达式 - 赋值运算符
  10. 2018年4月工业用微型计算机,2018年自考工业用微型计算机押密试题及答案(六)...
  11. java基础练习 2
  12. ESX Server硬件升级步骤
  13. 计算机怎么弹出专业团队,2018年专业技术人员继续教育答案92分
  14. 2017-2018-1 20155220 《信息安全系统设计基础》第十四周学习总结
  15. Hyperledger fabric 区块结构、交易结构
  16. matlab频谱分析_想知道有限精度对FFT的影响?Matlab仿真看看
  17. linux 软件装哪个目录下,Linux查看软件安装目录及位置 方法
  18. 复制-粘贴大法(Copy-Paste):简单而有效的数据增强
  19. 前端最常用的移动App开发方式及技术栈详解
  20. 整理2008-2017年的所有上市公司海外收入数据

热门文章

  1. MySQL:表的操作 知识点难点总结:表完整性约束及其他常用知识点二次总结
  2. HTML+CSS基础(2)-HTML标签的简单介绍和网页注释
  3. Thread系列——Thread.Sleep(0)
  4. Oracle创建用户设置权限
  5. 虚拟化---简单高效的IT管理模型
  6. Java基础篇:异常处理
  7. MySQL优化篇:explain性能分析
  8. 水平越权访问与垂直越权访问漏洞
  9. 我写的代码,又被CTO骂了......
  10. 马云第一次创业翻译社,差点倒闭,兼卖鲜花和礼物维持终翻身