登录 | 注册 退出 投稿

【SOTIF】解决自动驾驶汽车中的未知场景:类型和观点

专栏作者 2023-12-25

内容提要:在本文中,我们从分析师和工程师、自动驾驶车辆和机器学习(ML)模型这三个不同角度讨论不同类型的未知数。我们还澄清了每个视角中经常混淆的未知已知和未知未知的概念。通过一个正在运行的例子,我们展示了如何从不同角度考虑未知因素,从而有助于设计安全的自动驾驶汽车。


摘要

自动驾驶车辆很容易受到未知因素的影响。特别是具有SAE 5级驾驶自动化的车辆,需要在复杂的运行设计域(ODD)条件下运行,很有可能面临未知因素。虽然工业标准ISO 21448和UL 4600暗示从分析师和工程师的角度分析未知数,但从不同角度(例如自动驾驶汽车或自动驾驶汽车内的机器学习模型)观察的未知数,可能与工程师和分析师感知的未知数不同。在本文中,我们从分析师和工程师、自动驾驶车辆和机器学习(ML)模型这三个不同角度讨论不同类型的未知数。我们还澄清了每个视角中经常混淆的未知已知和未知未知的概念。通过一个正在运行的例子,我们展示了如何从不同角度考虑未知因素,从而有助于设计安全的自动驾驶汽车。

1.简介

近年来,自动驾驶汽车受到了广泛关注。自动驾驶汽车的最终目标是达到SAE 5级驾驶自动化,其中车辆应能够在任何位置自主、安全地运行,无需人工反馈/干预。在任何地方运行都需要自动驾驶汽车的工程师考虑复杂的运行设计域(ODD)。这要求工程师明确考虑各种环境因素(例如雪、雨)、道路基础设施元素(例如交通标志、道路箭头标记)、道路类型(例如高速公路、直路)和其他道路使用者(例如,滑板者、行人)。请注意,ODD的每个元素都可以具有各种属性。

例如,行人可以具有种族、性别、服装类型和服装颜色等属性。考虑这些属性的所有可能值并分析它们对系统安全性的影响可能具有挑战性。此外,可能会忽略某些元素或属性,并可能存在某些不被广泛知晓的ODD元素,因为这些元素特定于少数位置。这使得自动驾驶车辆容易受到未知场景和情况的影响——未知的已知情况和未知的未知情况。这些未知因素可能会危及车辆的安全。因此,自动驾驶汽车的设计必须考虑到未知因素。在本文中,我们将未知的场景和情况简称为未知。

寻找未知数可能具有挑战性,因为未知数高度依赖于视角。工业自主安全标准ISO 21448 和UL 4600强调需要分析未知因素并减少未知因素可能造成的危害。这两个标准大多涉及分别从设计和分析系统安全性的工程师和分析师的角度来看的未知因素。然而,也可以从自动驾驶汽车和自动驾驶汽车中使用的机器学习模型的角度来考虑未知因素。

例如,让我们考虑自动驾驶车辆中的交通标志检测机器学习模型。如果交通标志检测模型能够正确识别一帧中的交通标志,但不能正确识别后续帧中的交通标志,那么工程师和分析师可能无法得知这种行为的原因。这可能是由于以下原因之一造成的:1)工程师和分析师可能不熟悉影响交通标志检测模型推理的因素,2)交通标志检测模式在运行时发生的此类行为可能没有暴露给工程师和分析师。3)如果机器学习模型没有经过训练来检测行人,那么行人对于交通标志检测模型来说是未知的。然而,这并不意味着行人对于自动驾驶车辆来说是未知的,因为它可以有另一个机器学习模型来检测行人。在此示例中,我们可以观察到,识别机器学习模型的未知数,有助于我们了解需要哪些额外的机器学习模型来确保我们能够识别属于ODD一部分且可能危及安全的对象。向自动驾驶汽车暴露未知因素将有助于做出更好的设计决策。同样,向工程师和分析师暴露未知因素有助于制定更好的安全解决方案、收集更好的数据并修改ODD。这些观察引出了我们的中心研究问题:“我们是否应该从不同角度考虑未知因素以确保自动驾驶汽车的安全?”。我们通过回答以下研究问题来解决这个中心研究问题:

RQ1.从机器学习模型、自动驾驶汽车以及工程师和分析师的角度来看,未知因素分别是什么?

RQ2.从三个角度来看,未知数之间有哪些相同点和不同点?

在本文中,我们通过使用运行示例将每个角度的未知数与其他角度的未知数进行比较来解决这些研究问题。我们从工程师和分析师、自动驾驶汽车以及自动驾驶汽车中的机器学习模型的角度讨论未知数及其子类别(即未知的已知数和未知的未知数)。我们从三个角度讨论未知数之间的相似性和不同点,并详细介绍一个角度的未知子类别如何与其他角度的未知子类别相关和不同。

本文的其余部分安排如下。第2节讨论已知和未知的分类。第3节详细介绍了ISO 21448和UL 4600中未知数的重要性。第4节通过示例从前面提到的三个角度讨论了未知数的类型。第5节提供了见解和观察,我们最后在第6节中得出结论。

2.已知和未知

我们可以根据智能体/人(或一组智能体/人)(例如工程师、分析师、自治系统或组织)所拥有的知识对已知和未知进行分类。我们可以考虑一个代表整个普遍知识的集合U。考虑每个智能体,我们可以将U分为两个子集:集合K表示代理拥有的知识,集合N表示代理不拥有的其余通用知识。我们可以用方程1来表示这一点,其中K⊂U和N⊂U。

方程式1.png

我们可以将集合K进一步划分为子集。现有文献提出了许多对K的分类(例如,显性知识和隐性知识;事实、程序、概念和元认知知识。在本文中,为了关注已知和未知,我们将K分为以下子集:1)代表直接知识的集合D,即智能体在看到对象、动作或事件后可以轻松理解和/或分析的知识,以及2)代表间接知识的集合I,即使用来自D的知识推断出的知识。我们可以使用等式2来表示K、D和I之间的关系。

方程式2.png

为了理解集合D和I之间的关系,让我们考虑“P(D)”,它是D的幂集和集合V={有效,无效}。我们可以定义一个集合I,如公式3所示,其中f(x)是一个函数,它提供可以根据输入x生成的推理,g(f(x))是一个函数,它告诉推理输出是否给定f(x)是有效或无效的推论。I中的每个元素必须仅映射到V中的一个元素,即智能体应能够从D中得出有效或无效的推论。我们提到元素“x”属于P(D),因为I不能存在没有D,即没有集合D中的知识,我们无法推断出I中相应的知识。

方程式3.png

基于智能体所拥有的知识和识别的信息,我们可以将已知和未知分类类似于现有文献的分类:如图1所示。我们还在图2中说明了这些分类与集合U、K、N、D和I之间的关系。图中显示了四种广泛认可的分类,如下所示。

图片1.png

图1:智能体已知和未知的分类

图片2.png

图2:维恩图显示了不同类型的已知和未知以及它们与集合U、K、N、D和I的关系

1.已知的已知:指智能体所拥有的知识范围内存在的概念和信息。在知识分类中,我们之前讨论过,已知的已知是集合K的子集。已知知识的一个例子是由个体正确识别的对象。

2.已知的未知:这些是指智能体识别出的,但不在其知识范围内的概念和信息。对于智能体来说,要识别超出其知识范围的概念或信息,代理应该对概念的存在有基本的了解,但不需要拥有足够的专业知识来从中进行观察或推断。已知的未知数是集合D中元素很少且集合I中没有元素的集合。由于D中只有很少的元素帮助我们识别未知概念,因此从这些元素中可以推断出的知识大部分是集合N的一部分,因为我们需要更多的知识才能做出有意义的推论。已知未知的一个例子是运行时监视器,它识别机器学习模型的输入不确定。

3.未知的已知:指智能体所拥有的知识范围内,但未被识别的概念和信息。未知的已知大多属于集合I,因为它们大多代表智能体忽略的信息,要么是由于分析不充分、缺乏对我们所拥有的预设的认识、缺乏适当的推理,要么是由于诸如此类的心理因素的影响,如压力、焦虑等。未知已知的一个例子是机器学习模型对前一帧中识别的对象的错误预测。在这种情况下,模型知道该对象并且具有识别它的知识,但无法识别它。当暴露和分析未知的已知时,它将变成已知的已知。

4.未知的未知:这些是不属于智能体知识范围且未被智能体识别的概念和信息。对于我们用于未知已知的错误预测示例,导致在前一帧中正确识别的对象的错误预测的原因,对于工程师来说可能是未知的未知,直到该帧被曝光和分析。所有未知的未知都属于集合N。当暴露时,未知的未知大部分会变成已知的未知。然而,凭借足够的知识和专业知识(可能在其他专家的帮助下),未知的未知在暴露时可以变成已知的已知。

相关工作。迄今为止,许多研究人员已经讨论了寻找未知数的必要性,并提出了识别或暴露未知数的方法。此类方法的应用领域主要包括生物医学应用、软件安全、系统设计、复杂系统和自动驾驶汽车。例如,研究人员提出了一种弱硬范式框架来建模,并减轻自主软件基于时间的不确定性。尽管所有这些当前的方法都讨论了未知数的识别或其缓解措施,但他们没有考虑不同的观点,而这些观点是我们识别未知数,并理解为什么这种考虑很重要的原因时主要关注的问题。

在接下来的部分中,我们将讨论为什么我们需要对自动驾驶车辆进行未知分析,以及执行此类分析时需要考虑的不同角度。

图片3.png


图3:ISO 21448标准中描述的场景类别

3.工业标准和未知因素

ISO 21448和UL 4600等自动驾驶安全工业标准强调需要分析未知因素以降低自动驾驶汽车的风险。由于具有SAE 5级驾驶自动化的自动驾驶车辆在复杂且不断变化的ODD中运行,因此可能会忽略ODD的某些特征,这些特征可能会随着时间的推移或在不安全情况暴露时被发现。

ISO 21448是一项工业标准,详细介绍了分析自动驾驶车辆预期功能(SOTIF)安全性的步骤,从而实现SOTIF合规性。该标准的重点是确定标称要求的差距,并减少系统暴露在未知条件下时的安全问题。该标准展示了场景类别的四象限结构,如图3所示。我们可以观察到,这些类别是基于场景是否已知或未知以及是否危害。图3中的每个象限代表一个类别和分配的相应区域编号。例如,区域1意味着已知且无危害的场景。SOTIF的目标是增加区域1并减少区域2和区域3。这说明了ISO 21448对分析未知场景并提出确保自动驾驶车辆在此类场景中安全运行的机制的重要性。

同样,UL 4600详细介绍了为自动驾驶汽车创建安全案例的过程,也强调需要考虑未知因素作为确保自动驾驶汽车安全的一部分。该标准在讨论安全案例和论点、自主功能和支持、可靠性、生命周期问题、指标和安全绩效指标以及评估时提到了未知因素。该标准建议使用反馈循环来跟踪未知数。通过这样做,我们可以随着时间的推移积累未知的知识,从而根据需要改变设计。因此,我们可以得出结论,分析自动驾驶汽车的未知数对于确保其在复杂的ODD中运行的安全性起着至关重要的作用。

请注意,不可能识别所有未知数,并且复制现实世界中暴露的一些未知数可能非常困难。因此,标准更侧重于证明未知事件的发生很少见,并且我们有机制在未知事件发生时随着时间的推移积累未知事件的知识。除了这些标准之外,还有汽车功能安全标准ISO 26262,该标准仅处理车辆中使用的电气和电子系统的故障,而不涉及未知情况。

4.未知的类型和不同的视角

尽管ISO 21448和UL 4600都强调分析未知数的必要性,但这些标准的重点通常被解释为从工程师和分析师的角度分析未知数。这种解释来自这样的假设:工程师和分析师感知到的未知数与自动驾驶汽车或机器学习模型的视角所感知到的未知数没有什么不同。然而,情况并非总是如此。机器学习算法旨在根据训练数据进行有效泛化,可以为工程师和分析师可能未知的实例生成正确的输出。因此,从不同的角度来看,未知数可能会有所不同,例如自动驾驶汽车中使用的机器学习模型、自动驾驶汽车(即车辆级未知数)以及工程师和分析师。这引出了我们在第1节中提出的中心研究问题:我们是否应该从不同角度考虑未知因素以确保自动驾驶汽车的安全?

为了回答我们的中心研究问题,我们专门调查了以下两个研究问题:

RQ1.从机器学习模型、自动驾驶汽车以及工程师和分析师的角度来看,未知因素分别是什么?

RQ2.从这三个角度来看,未知数之间有何异同?从这两个研究问题找到答案后,我们将回答我们的中心问题。

运行示例:为了更好地从不同角度说明未知因素,让我们考虑一个5级自动驾驶汽车的运行示例,该车辆配有摄像头和激光雷达,并在行人密度较高的城市道路上行驶。我们还假设行人是多元文化且本质多样的。

4.1 RQ1:三个视角的未知数

4.1.1 机器学习模型的未知数

机器学习模型对于自动驾驶车辆的感知和运动规划发挥着至关重要的作用。使用机器学习模型的任务包括道路物体检测、行人检测、交通标志检测、未知物体检测和轨迹估计。机器学习模型的结果高度依赖于其数据、算法和随后的训练过程。机器学习算法的未知数是它无法识别或检测的东西。机器学习模型容易受到未知的已知和未知的未知的影响。

机器学习模型的未知的已知:机器学习模型的未知数意味着有关对象或动作的预测对于先前输入或后续输入是正确的,但对于当前输入是不正确的。为了更好地理解未知的已知情况,让我们考虑一下自动驾驶汽车在城市道路上检测行人的运行示例。如果我们假设车辆依靠摄像头进行行人检测,那么检测行人的机器学习模型的输入将是一系列帧。如果在一个帧中识别出了行人,但在后续帧中未识别出行人,那么我们可以将后一种情况称为机器学习模型的未知数。这是因为机器学习模型具有识别行人的知识,但它可能并不总是能够正确推断。

机器学习模型的未知的未知:机器学习模型无法检测或执行从未经过训练的事物。例如,如果我们运行示例的行人训练数据,缺少属于特定种族和/或性别的行人或穿着特定类型服装的行人的数据,那么模型可能无法识别这些行人,因为它一开始就不知道这些行人会存在。对于机器学习模型来说,从未训练过机器模型的这种情况被认为是未知的未知数。

4.1.2 自动驾驶汽车的未知数

当我们考虑自动驾驶汽车的未知因素时,我们指的是自动驾驶汽车可能不熟悉,或可能将情况或事件误解为其他情况的情况或事件。自动驾驶汽车的未知数高度依赖于传感器融合的架构和性质。与机器学习模型类似,自动驾驶汽车也有可能面临未知的已知和未知的未知。

自动驾驶汽车的未知情况:自动驾驶汽车根据从不同传感器收集的信息做出决定。如果自动驾驶汽车的算法将一个传感器优先于另一个传感器,并且优先级最低的传感器(而不是高度优先级的传感器)为潜在碰撞提供了正确的信息,那么我们可以将这种情况称为自动驾驶汽车的未知情况。在我们运行的示例中,如果我们认为自动驾驶车辆拥有摄像头和激光雷达,并且摄像头的优先级高于激光雷达,那么摄像头中的机器模型没有检测到,但激光雷达正确检测到的行人可能会被车辆忽略。在这种情况下,车辆知道行人的存在,但算法中传感器的优先级使其忽略激光雷达检测到的行人。由于运动规划器根据摄像头模型的输出采取行动,因此行人的出现对于自动驾驶车辆来说是未知的。

自动驾驶汽车的未知的未知数:自动驾驶汽车可能会面临以前从未遇到过的情况或奇怪的条件。这种自动驾驶汽车完全不熟悉的情况和ODD条件,要么无法处理相应的信息,要么忽略它们,被认为是自动驾驶汽车的未知的未知数。例如,我们假设自动驾驶汽车从未接受过在下雪天气下操作的训练,因为该地区下雪的可能性很低。如果这样的车辆在其运行区域面临意外的降雪,那么对于自动驾驶车辆来说这是一种未知的未知状况。

4.1.3 工程师和分析师的未知数

由于5级自动驾驶汽车需要能够在没有人工干预的情况下随处行驶,因此自动驾驶汽车的工程师和分析师将需要考虑复杂的ODD条件。然而,工程师和分析师不可能知道世界上发生的所有可能情况,以及可能影响自动驾驶汽车行为的情况。因此,工程师和分析师可能会忽视或不了解某些方面。虽然考虑到来自不同地区、不同背景和经验的工程师和分析师可以减少未知数的总数,但我们也有可能拥有新的潜在未知数。此外,随着环境的变化,随着时间的推移,可能会出现新的未知情况,工程师和分析师可能不熟悉这些未知情况,除非暴露于此类条件或情况。这可能导致在验证系统时缺乏对此类场景或情况的考虑,以及仿真工具中缺乏此类环境的存在。与机器学习模型和自动驾驶汽车类似,对于自动驾驶汽车的工程师和分析师来说,可能存在未知的已知和未知的未知。

工程师和分析师的未知的已知:工程师和分析师在设计智能自动驾驶汽车时可能会忽略某些方面。忽视这些方面的原因可能是有意的(例如,为了降低复杂性/范围)或无意的。我们将这些方面称为未知的已知。对于我们的运行示例,如果工程师和分析师在训练行人检测机器学习模型或分析模型时没有考虑行人的种族,并且该模型没有正确预测某个种族的人,那么这对工程师和分析师来说是未知的。尽管工程师们了解不同种族的人,但他们本可以假设机器学习模型在识别所有种族的行人方面都是有效的,从而使工程师和分析师对属于特定种族的行人的缺失预测成为未知。

工程师和分析师的未知的未知:工程师和分析师的未知的未知可能主要是由于缺乏对某些ODD元素和条件的了解,或者是由于对自动驾驶汽车中使用的机器学习模型缺乏适当的理解/分析。

例如,在我们运行的示例中,如果行人穿着反光服装导致碰撞,这种情况对于工程师和分析师来说可能是未知的。这是因为工程师和分析师以前从未见过这种情况,因此在设计自动驾驶汽车时没有考虑到穿着反光服装的行人。对于工程师和分析师来说,未知的未知因素的另一个例子是机器学习模型的非确定性行为的根本原因,该模型在一帧中识别出一个对象,但在多个输入的后续帧中没有识别出相同的对象。这意味着机器学习模型具有识别对象的知识,但工程师和分析师不知道为什么它会为一帧生成正确的输出,而为另一帧生成错误的输出,尽管他们具有识别对象的知识。

如前所述,一旦暴露未知的未知数,就会根据工程师和分析师获得的知识转化为已知的未知数或已知的已知数。

4.2 RQ2:从不同角度比较未知数

到目前为止,我们已经讨论了有关机器学习模型、自动驾驶汽车以及工程师和分析师的未知因素。然而,所有这些未知数是相同还是不同?如果它们不同,它们之间有何不同?现在我们将从不同角度比较这些未知数。

自动驾驶车辆中的机器学习模型的未知数,对于依赖于与当前机器学习模型所使用的传感器不同的传感器的其他机器学习模型或算法来说不需要是未知的。这意味着机器学习模型的未知数和自动驾驶车辆的未知数不一定相同。一个机器学习模型的未知数可以为其他机器学习模型所知,或者可以使用与机器学习模型的输入传感器不同的传感器来暴露。机器学习模型未知的原因对于工程师和分析师来说可能是未知的。例如,如果机器学习模型能够检测到前一帧中的对象,但不能检测到当前帧中的对象,那么我们认为它是机器学习模型已知的未知对象。然而,工程师和分析师在接触机器学习模型之前可能并不熟悉机器学习模型的这种行为。因此,对于工程师和分析师来说,它变得未知。

工程师和分析师不考虑任何ODD元素,因为他们不知道它们在所考虑的位置中的出现,这些元素都是未知的未知数,并且对于自动驾驶车辆和机器学习模型来说仍然是未知的未知数。这是因为,如果工程师和分析师一开始就不知道ODD元素或条件的存在,则可能永远不会考虑相应的设计标准。然而,对于自动驾驶汽车的未知数来说,它们不一定与工程师和分析师的未知数相同。这是因为自动驾驶汽车中使用的机器学习模型旨在在某种程度上支持泛化。泛化过程涉及机器学习模型,为未经训练或验证的输入提供预期输出。因此,机器学习模型有可能适用于某些情况,即使它们不是训练数据的一部分。因此,自动驾驶汽车的未知数不必与工程师和分析师的未知数相同。

从RQ1和RQ2的分析中,我们可以得出结论,对于5级自动驾驶汽车,工程师和分析师的未知数、自动驾驶汽车的未知数以及自动驾驶汽车中使用的机器学习模型的未知数不一定相同 。

5.讨论

我们从三个不同角度(自动驾驶汽车、自动驾驶汽车内的机器学习模型以及工程师和分析师)对未知因素进行比较表明,这些不同角度感知的未知因素可能有所不同。这些观点之间的差异告诉我们需要考虑所有这三个因素来分析未知数,而不是遵循典型的做法,后者往往侧重于工程师和分析师确定的未知数。如果我们在自动驾驶汽车软件中使用稳健且非随机的算法,那么从自动驾驶汽车的角度识别的未知数,将与从工程师和分析师的角度识别的未知数相同。然而,所有自动驾驶汽车都严重依赖于机器学习模型,这些模型是随机的并且本质上不是很稳健。因此,对于旨在澄清我们是否需要从不同角度考虑未知因素以确保自动驾驶汽车安全的中心研究问题,我们可以得出结论,我们需要从所有三个不同角度考虑未知因素。

我们相信,通过从三个角度暴露未知,我们可以设计出更好的系统来处理未知情况,也可以让面临未知情况的概率变得极小。此外,通过分析机器学习模型的未知数,我们可以了解是否需要将具有某些元素的示例添加到数据中并重新训练机器学习模型,或者是否需要使用其他机器学习模型和其他传感器模式来确保系统的安全运行。从三个角度分析未知数还可以帮助仿真工程师,增强现有的仿真环境以及构建用于评估新场景和情况的环境。

6.结论

在这项研究中,我们讨论了如何从不同角度考虑自动驾驶汽车中的未知因素及其差异。在本文中,我们专注于5级自动驾驶汽车,而不考虑V2X连接。我们还只使用了一个小的运行示例作为所提出想法的概念证明。作为未来工作的一部分,我们计划通过考虑V2X通信来全面分析未知因素。我们还计划进行广泛的分析,以更好地了解三种不同视角下的未知因素有何不同,以及识别它们如何在确保系统安全方面发挥重要作用,即使是在复杂的ODD中运行时也是如此。


01.png

详询“牛小喀”微信:NewCarRen


02.png

详询“牛小喀”微信:NewCarRen



作者:牛喀网专栏作者
牛喀网文章,未经授权不得转载!


下一篇: 【SOTIF】如何减少基于场景的自动驾驶安全分析的工作量
上一篇: 【SOTIF】自动驾驶系统SOTIF的量化验证分析
相关文章
返回顶部小火箭