首页> 中国专利> 用于训练计算机视觉模型的计算机实现的方法

用于训练计算机视觉模型的计算机实现的方法

摘要

用于训练计算机视觉模型的计算机实现的方法。计算机视觉关注计算机如何可以从数字图像或视频自动获得高级理解。发现计算机视觉系统对汽车或机器人车辆领域的越来越多应用。然而,此类系统的验证是复杂的任务。本说明书讨论了一种计算机实现的方法(100),用于训练计算机视觉模型(16)以表征使用视觉参数被参数化的观察场景(110)的元素。在计算机视觉模型的迭代训练期间,基于用于对视觉参数对计算机视觉模型的影响进行评级的(全局)敏感度分析,变更计算机视觉模型的潜在变量。

著录项

  • 公开/公告号CN114842370A

    专利类型发明专利

  • 公开/公告日2022-08-02

    原文格式PDF

  • 申请/专利权人 罗伯特·博世有限公司;

    申请/专利号CN202210041593.0

  • 申请日2022-01-14

  • 分类号G06V20/40(2022.01);G06N3/04(2006.01);G06K9/62(2022.01);G06V10/774(2022.01);G06V10/762(2022.01);

  • 代理机构中国专利代理(香港)有限公司 72001;中国专利代理(香港)有限公司 72001;

  • 代理人任一方;周学斌

  • 地址 德国斯图加特

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-02

    公开

    发明专利申请公布

说明书

技术领域

本说明书涉及一种用于训练计算机视觉模型以表征观察到的场景的元素的计算机实现的方法,一种使用计算机视觉模型表征观察到的场景的元素的方法,以及相关联的装置、计算机程序、计算机可读介质和分布式数据通信系统。

背景技术

计算机视觉关注计算机如何可以从数字图像或视频自动获得高级理解。发现计算机视觉系统对汽车或机器人车辆领域的越来越多应用。计算机视觉可以处理来自至少一个检测器和该检测器的环境之间的任何相互作用的输入。该环境可以被至少一个检测器感知为一个场景或一系列场景。

特别地,相互作用可以由至少一个电磁源产生,该电磁源可以是或可以不是环境的部分。能够捕获此类电磁相互作用的检测器可以例如是相机、多相机系统、RADAR或LIDAR系统。

在汽车计算机视觉系统中,系统计算机视觉经常必须应对尽管是安全关键的、但是开放的环境。因此,在设计和测试计算机视觉功能二者中,考虑定量保卫手段是重要的。

发明内容

根据第一方面,提供了一种用于训练计算机视觉模型以表征观察到的场景的元素的计算机实现的方法。

第一方法包括获得观察到的场景的视觉数据集,从视觉数据集选择视觉数据项的第一子集,并且提供对应于视觉数据项的第一子集的基本事实数据项的第一子集,视觉数据项的第一子集和基本事实数据项的第一子集形成训练数据集。

此外,该方法包括获得至少一个视觉参数,其中该至少一个视觉参数定义训练数据集中至少一个视觉数据项的视觉状态。视觉状态能够影响计算机视觉模型的未训练版本的分类或回归性能。此外,该方法包括基于训练数据集迭代训练计算机视觉模型,以便渲染计算机视觉模型,该计算机视觉模型能够提供包括在输入到计算机视觉模型的视觉数据的至少一个后续(即,在当前训练迭代之后)项中的观察到的场景内的一个或多个元素的预测。在迭代训练期间,将多个视觉参数中的至少一个视觉参数应用于计算机视觉模型,从而根据训练期间输入到计算机视觉模型中的训练数据集的视觉状态,使用至少一个视觉参数来偏置计算机视觉模型的潜在表示的子集。

根据第一方面的方法有利地迫使计算机视觉模型识别至少一个视觉参数的概念,并且因此能够根据通过在训练期间偏置计算机视觉模型(特别是计算机视觉模型的潜在表示)而提供的额外信息来改进计算机视觉模型。因此,根据已经被验证为与计算机视觉模型的性能相关的视觉参数来训练计算机视觉模型。

根据第二方面,提供了一种用于表征观察到的场景的元素的计算机实现的方法。

根据第二方面的方法包括获得包括观察图像集的视觉数据集,其中每个观察图像包括观察到的场景。此外,根据第二方面的方法包括获得根据第一方面的方法或其实施例训练的计算机视觉模型。

此外,根据第二方面的方法包括使用计算机视觉模型处理视觉数据集,从而获得对应于视觉数据集的多个预测,其中每个预测表征观察到的场景的至少一个元素。

有利地,通过使用计算机视觉模型来增强计算机视觉,该计算机视觉模型已经被训练成也识别至少一个视觉参数的概念,使能实现应用较少受到专家(例如开发者)的隐藏偏置影响的更安全和更可靠的计算机视觉模型。

根据第三方面,提供了一种数据处理装置,其被配置为表征观察到的场景的至少一个元素。

数据处理装置包括输入接口、处理器、存储器和输出接口。

输入接口被配置为获得包括观察图像集的视觉数据集,其中每个观察图像包括观察到的场景,并且将视觉数据集和根据第一方法训练的计算机视觉模型存储在存储器中。

处理器被配置为从存储器获得视觉数据集和计算机视觉模型。此外,处理器被配置为使用计算机视觉模型处理视觉数据集,从而获得对应于观察图像集的多个预测,其中每个预测表征观察到的场景的至少一个元素。

此外,处理器被配置为将多个预测存储在存储器中,和/或经由输出接口输出多个预测。

第四方面涉及一种包括指令的计算机程序,所述指令当被计算机执行时,使得计算机实行第一方法或第二方法。

第五方面涉及其上存储有所述计算机程序中的一个或二者的计算机可读介质。

第六方面涉及一种分布式数据通信系统,包括远程数据处理代理、通信网络和终端设备,其中终端设备可选地是车辆、自主车辆、汽车或机器人。数据处理代理被配置为经由通信网络将根据第一方面的方法的计算机视觉模型传输到终端设备。

前述方面的从属实施例在从属权利要求中给出,并在读者现在应该参考的以下描述中解释。

观察到的场景的视觉数据集是表示图像或视频的项的集合,后者是诸如JPEG或GIF图像之类的图像的序列。

对应于一项视觉数据的基本事实数据项是计算机视觉功能意图输出的分类和/或回归结果。换句话说,当与示出可预测场景或场景元素的视觉数据项一起输入时,基本事实数据表示计算机视觉功能的正确答案。术语图像可以涉及图像的子集,诸如分段的道路标志或障碍物。

计算机视觉模型是由模型参数参数化的函数,在训练时可以使用机器学习技术基于训练数据集来学习该函数。计算机视觉模型被配置为至少将视觉数据项或其一部分或子集映射到预测数据项。一个或多个视觉参数定义视觉状态,因为它们包含关于观察到的场景的内容的信息和/或表示用于捕获和/或生成观察到的场景的边界条件。计算机视觉模型的潜在表示是计算机视觉模型中的中间(即隐藏)层或其一部分。

本说明书提出了一种扩展的计算机视觉模型,该扩展的计算机视觉模型例如在类深度神经网络中实现,该类深度神经网络被配置为将验证结果集成到计算机视觉模型的设计中。本说明书提出了根据计算机视觉模型内的潜在表示来标识计算机视觉模型应该对其敏感的关键视觉参数的手段。它借助于计算机视觉模型的特定架构,该计算机视觉模型的特定架构被配置为在训练时实施计算机视觉模型识别至少一个视觉参数的概念。例如,使计算机视觉模型识别最关键的视觉参数可能是有利的,其中相关性是由确定计算机视觉模型的性能得分相对于视觉参数的方差的(全局)敏感度分析产生的。

附图说明

图1示意性地图示了计算机视觉功能的开发和验证过程。

图2示意性地图示了根据第一方面的用于训练计算机视觉模型的计算机实现的方法。

图3示意性地图示了根据第三方面的数据处理装置。

图4示意性地图示了根据第六方面的分布式数据通信系统。

图5示意性地图示了用于训练计算机视觉模型的计算机实现的方法的示例,该方法考虑了从(全局)敏感度分析得到的相关视觉参数(并且此后进行分析)。

图6a示意性地图示了计算机视觉模型的第一训练阶段的示例。

图6b示意性地图示了计算机视觉模型的第二训练阶段的示例。

图7a示意性地图示了视觉参数的(全局)敏感度分析的计算机实现的计算的第一实现的示例。

图7b示意性地图示了视觉参数的(全局)敏感度分析的计算机实现的计算的第二实现的示例。

图8a示意性地图示了用于定义视觉参数的世界模型和用于采样例程的示例伪代码列表。

图8b示出了用于评估视觉参数敏感度的示例伪代码列表。

图9示意性地图示了根据第二方面的用于表征观察到的场景的元素的计算机实现的方法。

具体实施方式

计算机视觉关注计算机如何可以从数字图像或视频自动获得高级理解。特别地,计算机视觉可以应用于汽车工程领域中,以检测道路标志和显示在道路标志上的指令或者车辆周围的障碍物。障碍物可以是能够干扰车辆目标驾驶操纵的静态或动态对象。沿着相同的路线,为了避免过于接近障碍物,汽车工程领域中的重要应用是检测车辆目标行驶方向上的自由空间(例如,到最近障碍物的距离或无限距离),从而计算出车辆可以行驶到哪里(以及行驶多快)。

为了实现此,可以计算用于自主系统的对象检测、语义分割、3D深度信息、导航指令中的一个或多个。用于计算机视觉的另一个常用术语是计算机感知。事实上,计算机视觉可以处理来自至少一个检测器440a、440b和其环境之间的任何相互作用的输入。该环境可以被至少一个检测器感知为一个场景或一系列场景。特别地,相互作用可以由至少一个电磁源(例如太阳)产生,该至少一个电磁源(例如太阳)可以是或可以不是环境的部分。能够捕获此类电磁相互作用的检测器可以例如是相机、多相机系统、RADAR或LIDAR系统或红外线。非电磁相互作用的示例可以是将由至少一个麦克风捕获以生成包括多个立体角的声级的声图的声波,或者超声传感器。

计算机视觉在自动化或半自动化驾驶中是重要的感测模态。在以下说明书中,术语“自主驾驶”指代完全自主驾驶,并且也指代车辆驾驶员对车辆保持最终控制和责任的半自动化驾驶。计算机视觉在自主驾驶和机器人上下文中的应用是对于例如以下各项的检测、跟踪和预测:可驾驶和不可驾驶的路面和道路车道、诸如车辆和行人的移动对象、道路标志和交通灯以及潜在的道路危险。

计算机视觉必须应对开放的环境。不可能通过实验对所有可能的视觉场景建模。机器学习——从输入数据自动创建概括的技术——可以应用于计算机视觉。所需的概括可能很复杂,从而需要考虑图像内的上下文关系。

例如,指示速度限制的检测到的道路标志在车辆正在行驶的道路车道正上方的上下文中是相关的,但是如果它不在车辆正在行驶的道路车道上方,则它可能具有不太直接的上下文相关性。

基于深度学习的计算机视觉的方法针对各个领域中的宽范围基准测试实现了改进的性能结果。事实上,一些深度学习网络架构在图像上实现了诸如注意力、信心和推理之类的概念。随着复杂深度神经网络(DNN)的工业应用增加,尤其是在机器和环境之间的相互作用责任不受监督的部分或完全自动化系统中,存在对计算机视觉模型的验证和确认(V&V)的增加需求。诸如例如规范“预期功能的安全性”(SOTIF)的用于自动化驾驶的新兴安全性规范可能有助于CV功能的安全性。

测试计算机视觉功能或定性评估其性能具有挑战性,因为用于测试的典型输入空间的输入空间很大。理论上,输入空间由所有可能的图像组成,所有可能的图像由表示例如给定输入分辨率的颜色或各色度的灰色的可能像素值的组合来定义。然而,通过像素值的随机变化来创建图像将不以合理的概率产生现实世界的代表性图像。因此,视觉数据集由基于感兴趣的域中的相关场景(例如,在道路上驾驶)创建的现实(例如,由物理相机通过实验捕获的)或合成(例如,使用3D渲染、图像增强或基于DNN的图像合成生成的)图像或图像序列(视频)组成。

在工业中,测试通常被称为验证。即使在受限的输入域中,输入空间也可能非常大。图像(包括视频)可以例如通过随机捕获感兴趣的域来收集,例如驾驶一些任意道路并捕获图像,或者通过基于感兴趣的域中的一些属性/维度/参数系统地捕获图像。虽然将此类参数称为视觉参数是直观的,但是不要求视觉参数与关于人类感知系统的可见性相关。视觉参数与关于一个或多个检测器的可见度相关就足够了。

一个或多个视觉参数定义场景的视觉状态,因为它或它们包含关于观察到的场景的内容的信息和/或表示用于捕获和/或生成观察到的场景的边界条件。

视觉参数可以是例如:相相机特性(例如,空间和时间采样、失真、像差、色深、饱和度、噪声等),LIDAR或RADAR特性(例如,表面的吸收或反射率等),场景中的光条件(光反弹、反射、光源、雾和光散射、总体照明等),材料和纹理,对象及它们的位置、大小和旋转,(对象和环境的)几何形状,定义环境的参数,环境特性,像视距、降水特性、辐射强度(其被怀疑与检测过程强相互作用,并且可能示出与性能的强相关性),图像特性/统计(诸如对比度、饱和度、噪声等),场景和情形的域特定描述(例如,交叉路口上的汽车和对象)等。更多的参数是可想象的。

这些参数可以被看作本体、分类、维度或语言实体。它们可以定义对世界或输入模型的受限视图。给定视觉参数的分配/选择,可以捕获或渲染具体图像集合,或者可以使用视觉参数描述已经存在的数据集中的图像。使用本体或输入模型的优点在于,为了测试,可以定义预期的测试覆盖目标以便定义测试结束标准,例如使用t-wise覆盖,并且为了统计分析,可以定义关于这些参数的分布。

图像、视频和其他视觉数据连同共同标注的其他传感器数据(GPS数据、辐射测量数据、本地气象特性)可以通过不同的方式获得。现实图像或视频可以由诸如相机系统的图像捕获设备捕获。现实图像可能已经存在于数据库中,并且给定视觉参数和/或其他传感器数据,可以完成对图像子集的手动或自动选择。视觉参数和/或其他传感器数据也可以用于定义所需的实验。另一种方法可以是在给定视觉参数和/或其他传感器数据的情况下合成图像。可以使用图像增强技术、深度学习网络(例如,生成对抗网络(GAN)、变分自动编码器(VAE))和3D渲染技术来合成图像。驾驶模拟环境中的3D渲染工具例如是CARLA工具(Koltun,2017,其在www.arXiv.org : 1711.03938可获得)。

常规地,在计算机视觉功能的开发和测试中,输入图像是基于根据专家意见看来很重要的特性(视觉参数)来定义、选择或生成的。然而,与视觉参数的正确选择相关的专家意见可能是不完整的,或者被人类感知经验引起的假设所误导。人类感知基于人类感知系统(人眼和视觉皮层),其不同于使用计算机视觉功能的检测和感知的技术特性。

在该情况下,计算机视觉功能(即计算机视觉模型)可以在不相关的图像特性上开发或测试,并且作为重要影响因素的视觉参数可能被遗漏或低估。此外,技术系统可以检测如人类感知系统不可感知的扩展光谱范围或偏振的附加特性。

根据本说明书第一方面的方法训练的计算机视觉模型可以分析当测试或统计评估计算机视觉功能时哪个参数或特性示出重要性。给定视觉参数集和计算机视觉功能作为输入,该技术输出视觉参数(或检测特性)的排序列表。通过从排序的列表选择视觉参数(或检测特性)的子列表,有效地定义了约简的输入模型(本体)。换句话说,该技术使用(全局)敏感度分析来应用经验实验,以便确定参数和值范围的优先级。这提供了比单单专家意见更好的信心。此外,它帮助更好地理解计算机视觉功能的性能特性,对其进行调试,并开发更好的直觉和计算机视觉功能的新设计。

从验证的角度来看,计算机视觉功能通常被视为黑盒。在计算机视觉模型的开发期间,它的设计和实现是与验证步骤分离进行的。因此,常规地,将允许计算机视觉模型可验证性的验证概念从一开始未被集成。因此,验证通常不是主要关注点,而是平均性能。另一个问题出现在验证侧。当将函数视为黑盒时,测试空间对于测试而言太大。

获得计算机视觉的标准方式是基于观察到的场景的视觉数据集和对应的基本事实来训练计算机视觉模型16。

图1示意性地图示了计算机视觉功能的开发和验证过程。图示的模型作为“V模型”应用于计算机功能开发中。

与传统方法中开发/设计和确认/验证是分离任务不同,根据“V模型”,开发和确认/验证可以交织在一起,在该示例中,来自验证的结果被反馈回到计算机视觉功能的设计中。多个视觉参数10用于生成图像集和基本事实(GT)42。测试17计算机视觉功能16,并且然后应用(全局)敏感度分析19来找出最关键的视觉参数10,即对计算机视觉功能的性能17具有最大影响的参数。特别地,通过如下方式使用数据42来评估17 CV功能16:使用一些测量/度量对每个输入图像的预测输出与基本事实进行比较,从而产生将在敏感度分析19中被分析的性能得分。

第一方面涉及一种用于训练计算机视觉模型来表征观察到的场景的元素的计算机实现的方法。第一种方法包括获得150观察到的场景的视觉数据集,以及从视觉数据集选择视觉数据项的第一子集,以及提供对应于视觉数据项的第一子集的基本事实数据项的第一子集,视觉数据项的第一子集和基本事实数据项的第一子集形成训练数据集。

此外,第一方法包括获得160至少一个视觉参数或多个视觉参数,其中该至少一个视觉参数定义训练数据集中至少一个视觉数据项的视觉状态,其中视觉状态能够影响计算机视觉模型的未训练版本的分类或回归性能。例如,视觉参数可以在专家的影响下决定,和/或使用分析软件合成。

此外,第一方法包括基于训练数据集迭代训练170计算机视觉模型,以便渲染计算机视觉模型,该计算机视觉模型能够提供对观察到的场景内的一个或多个元素的预测,所述预测包括在输入到计算机视觉模型的视觉数据的至少一个后续项中。在迭代训练170期间,将多个视觉参数中的至少一个视觉参数(即,至少一个视觉参数的一个/该视觉状态)应用于计算机视觉模型,从而根据训练期间输入到计算机视觉模型中的训练数据集的视觉状态,使用至少一个视觉参数来偏置计算机视觉模型的潜在表示的子集。

有利地,计算机视觉模型通过在这些条件下进行训练而被迫识别至少一个视觉参数的概念,并且因此能够在由视觉参数表示的不同条件下改进计算机视觉模型的准确性。

有利地,使用更高级视觉参数的输入域设计和这些参数的(全局)敏感度分析为计算机视觉模型的验证提供了实质性的贡献。根据第一方面,计算机视觉模型在不同视觉参数影响下的性能被集成到计算机视觉模型的训练中。

例如,计算机视觉模型的核心是由几个神经网络层组成的深度神经网络。然而,技术人员已知的其他模型拓扑也可以根据本技术来实现。各层计算潜在表示,所述潜在表示是输入图像的更高级表示。作为示例,本说明书建议可选地根据旨在确定视觉参数的相关性或重要性或关键性的(全局)敏感度分析,扩展具有潜在变量的现有DNN架构,所述潜在变量表示可能对计算机视觉模型的性能有影响的视觉参数。在这样做时,来自验证的观察被直接集成到计算机视觉模型中。

通常,可以定义用于测试或统计评估计算机视觉功能16的不同视觉参数集(定义世界模型或本体),并且它们的实现或精确解释可以变化。该方法实施基于经验结果19的决策,而不单单是专家意见,并且实施抽象参数10的具体化42。专家仍然必须提供视觉参数作为候选10。

观察到的场景的视觉数据集是表示图像或视频的项的集合,后者是图像序列。视觉数据的每一项都可以是数值张量,其中视频对于连续的帧具有额外的维度。对应于一项视觉数据的基本事实数据项例如是计算机视觉模型在理想条件下应该输出的分类和/或回归结果。例如,如果视觉数据项部分地根据湿路面的存在而被参数化,并且湿路面的存在与否是将被训练的计算机模型的意图输出,则基本事实将返回相关联的视觉数据项的该项的描述作为包括湿路面的图像。

基本事实数据的每一项都可以是另一个数值张量,或者在更简单的情况下是二进制结果向量。计算机视觉模型是由模型参数参数化的函数,在训练时可以使用机器学习技术基于训练数据集来学习该模型参数。计算机视觉模型被配置为至少将视觉数据项映射到预测数据项。视觉数据项可以被布置(例如,通过嵌入或重新采样),以便很好地定义将它们输入到计算机视觉模型16中。作为示例,可以将图像嵌入到具有一帧的视频中。一个或多个视觉参数定义视觉状态,因为它们包含关于观察到的场景的内容的信息和/或表示用于捕获和/或生成观察到的场景的边界条件。计算机视觉模型的潜在表示是计算机视觉模型中的中间(即隐藏)层或其一部分。

图2示意性地图示了根据第一方面的用于训练计算机视觉模型的计算机实现的方法。

作为示例,在步骤150中获得视觉数据集。在框160中获得多个视觉参数10。步骤150和160的次序是不相关的,只要观察到的场景的视觉数据集和多个视觉参数10在如下意义上是兼容的:对于视觉数据集的每一项,都存在对应的基本事实和对应的视觉参数10项。迭代训练计算机视觉模型发生在步骤170。在迭代训练时,计算机视觉模型16的参数可以像在标准机器学习技术中一样通过例如最小化训练数据集上的成本函数来学习(可选地,通过使用反向传播的梯度下降,尽管多种技术是技术人员已知的)。

在第一方面的计算机实现的方法100中,至少一个视觉参数被应用于计算机视觉模型16,所述至少一个视觉参数至少部分地根据视觉参数的评级并且根据包括在训练数据集的至少一个项中的观察到的场景内的一个或多个元素的预测来选择,所述视觉参数的评级是从在计算机视觉模型的先前状态下对多个视觉参数执行的(全局)敏感度分析而产生的。

图5示意性地图示了用于训练计算机视觉模型的计算机实现的方法的示例,该方法考虑了由(全局)敏感度分析产生的相关视觉参数。

作为示例,可以(例如,由专家)定义初始视觉参数集以及给定场景中视觉参数的值或值范围。简单的场景将具有第一参数,该第一参数定义了相对于自我车辆行进方向的各种太阳高度,尽管如稍后将讨论的,宽得多范围的视觉参数是可能的。

采样过程11生成对视觉参数10的赋值集合。可选地,参数空间根据高斯分布被随机采样。可选地,视觉参数在怀疑定义CV模型的性能角点的区域被过采样。可选地,视觉参数在怀疑定义CV模型的可预测性能的区域被欠采样。

下一个任务是根据视觉参数规范获取图像。可以实现合成图像生成器、物理捕获设置和/或数据库选择42,从而允许根据视觉参数10的样本11生成、捕获或选择图像和对应的基本事实项。例如,使用CARLA生成器生成合成图像(例如,在https://carla.org上讨论)。在合成生成的情况下,基本事实可以被认为是用于生成给定合成图像的视觉参数空间的采样值。

物理捕获设置使能实现执行实验以获得指定参数空间内的多个测试视觉数据。替代地,可以选择包含已被适当标记的历史视觉数据档案的数据库。

在测试步骤17中,来自图像获取步骤42的图像被提供给计算机视觉模型16。可选地,计算机视觉模型包括在自主车辆或机器人系统46内。对于输入到计算机视觉模型16中的每一项视觉数据,计算预测,并且计算基于例如基本事实和预测的性能得分。结果是根据视觉参数空间的采样值的多个性能得分。

对关于视觉参数10的性能得分执行(全局)敏感度分析19。(全局)敏感度分析19确定视觉参数与计算机视觉模型16的性能的相关性。

作为示例,对于每个视觉参数,确定性能得分的方差。此类方差用于生成和/或显示视觉参数的评级。该信息可以用于修改初始视觉参数集10,即操作设计域(ODD)。

作为示例,具有拥有较低方差的性能得分的视觉参数可以从视觉参数集被移除。替代地,选择视觉参数的另一个子集。在重新训练计算机视觉模型16时,调整的视觉参数集作为潜在表示被集成到计算机视觉模型16中,例如参见图6a-b。在这样做时,生成鲁棒性增强的计算机视觉模型16。

可以重复测试步骤17和(全局)敏感度分析19和/或重新训练计算机视觉模型16。可选地,在此类训练迭代期间跟踪性能得分和性能得分的方差。当性能得分的方差似乎已经稳定(停止显著改变)时,停止训练迭代。在这样做时,还评估程序的有效性。有效性还可以取决于诸如计算机视觉模型16的选择、视觉参数10的初始选择、用于训练和/或测试的视觉数据和基本事实捕获/生成/选择42、步骤10、11、42中数据的总量、分布和质量、度量或学习目标的选择、最终成为另一潜在表示的变量Y2的数量之类的因素。

作为示例,如果计算机视觉模型的有效性不能再通过重新训练计算机视觉模型16来增加,则可以对计算机视觉模型本身的架构和/或步骤42进行改变。在一些情况下,可以在重新开始程序或重复其中的步骤之前执行捕获和添加对应于操作设计域的给定子域的更多现实视觉数据。

当重新训练时,也重复步骤10、11、42以生成视觉数据和基本事实的统计独立项可能是有用的。此外,在调整操作设计域之后,可能需要重复步骤10、11、42来重新训练计算机视觉模型16。

在实施例中,计算机视觉模型16至少包括第一子模型16a和第二子模型16b。第一子模型16a至少输出潜在变量的第一集合Y1,其将作为第二子模型16b的第一输入被提供。第一子模型16a至少输出变量的第一集合Y2,其被提供给第二子模型16b的第二输入。在训练时,计算机视觉模型16可以被参数化,以针对提供给第一子模型16a的至少一个视觉数据项预测由第二子模型16b输出的基本事实数据项。

作为示例,计算机视觉功能的给定深度神经网络(DNN)架构可以被分区成两个子模型16a和16b。第一子模型16a被扩展以预测所选视觉参数10的值,因此,第一子模型16a被迫对这些重要参数变得敏感。第二子模型16b使用来自16a的视觉参数的这些预测来改进其输出。

在实施例中,迭代训练计算机视觉模型16包括第一训练阶段,其中从训练数据集或从其一部分,将视觉数据的至少一个子集的至少一个视觉参数提供给第二子模型16b,而不是由第一子模型16a输出的变量的第一集合Y2。第一子模型16a被参数化,使得由第一子模型16a输出的变量的第一集合Y2预测训练数据集的至少一个项的至少一个视觉参数。

在实施例中,代替视觉参数或除了视觉参数之外,变量集合Y2包含基本事实数据或基本事实数据的子集或者诸如语义分割图、对象描述图或深度图的从基本事实导出的数据。例如,16a可以从输入图像预测Y1和深度图,并且16b可以使用Y1和深度图来预测语义分割或对象检测。

图6a示意性地图示了计算机视觉模型的第一训练阶段的示例。示例计算机视觉功能架构16包含例如深度神经网络,其可以被划分成至少两个子模型16a和16b,其中第一子模型16a的输出Y1可以创建可以被第二子模型16b使用的所谓潜在表示。因此,第一子模型16a可以具有作为输入的视觉数据项X和作为输出的潜在表示Y1,并且第二子模型16b可以具有作为输入的潜在表示Y1和作为输出的期望预测Z,该期望预测Z旨在预测对应于视觉数据项的基本事实GT数据项。

从视觉参数10(也称为操作设计域(ODD))的初始集合,可以采样11视觉参数,并且可以根据采样的视觉参数捕获、生成或选择42视觉数据项。

分析、生成或选择42基本事实项。就变量的第一集合Y2而言,视觉参数用作基本事实的另外项,以在第一训练阶段期间训练第一子模型16a。提供相同的视觉参数作为第二子模型16b的输入Y2。这是有利的,因为第一子模型16a的Y2输出和第二子模型16b的Y2输入随后要么在第二训练阶段(见下文)中要么当在根据第二方面的用于表征观察到的场景的元素的计算机实现的方法200中应用计算机视觉模型16时(根据第二方面)被连接。事实上,如方法200中的计算机视觉模型的应用与视觉参数无关。

因此,有利地,在计算机视觉模型16的训练期间,由(全局)敏感度分析19产生的相关视觉参数被集成为Y2。(全局)敏感度分析19可以从基于相同训练数据集或另一统计独立训练数据集的先前训练步骤中产生。替代地,(全局)敏感度分析可以从基于确认数据集确认预先训练的计算机视觉模型16中产生,该确认数据集也包括视觉数据项和对应的基本事实数据项,以及视觉参数。

计算机视觉模型16可以包括多于两个的子模型,其中计算机视觉模型16由这些子模型的组合产生。在此类架构中,在此类子模型之间可能出现多个隐藏表示。任何此类隐藏表示都可以用于在一个或多个第一训练阶段中集成一个或多个视觉参数。

在实施例中,迭代训练计算机视觉模型16可以包括第二训练阶段,其中由第一子模型16a输出的变量的第一集合Y2被提供给第二子模型16b,可选地,其中在对多个视觉参数执行的(全局)敏感度分析中,从训练数据集或从其一部分训练计算机视觉模型16,而不考虑至少一个视觉参数。

图6b示意性地图示了计算机视觉模型的第二训练阶段的示例。

第二训练阶段不同于如图6a中图示的第一训练阶段,因为第一子模型16a的输出Y2现在连接到第二子模型16b的输入Y2。在这个意义上,在第二训练阶段期间不考虑视觉参数。

与此同时,Y2变量现在已经成为潜在表现。第二训练阶段可能是有利的,因为在第一训练阶段期间训练第一子模型16a通常不是完美的。在第一子模型16a对视觉数据的给定项做出错误预测的罕见但可能的情况下,第二子模型16b也可以为计算机视觉返回错误预测。这是因为在该情况下,第二子模型16b将无法学习应对如在第一训练阶段中作为输入的错误的潜在变量Y2,因为它总是被提供真实的Y2输入(而不是Y2的预测)。在第二训练阶段中,可以调整计算机视觉模型16,以计及此类伪影(如果它们出现的话)。第二训练阶段可以是这样的,集成视觉参数作为计算机视觉模型的潜在表示不受到危害。例如,如果与第一训练阶段相比,第二训练阶段更短或者涉及计算机视觉模型参数的更少调整,则可以实现此。

在实施例中,对于训练数据集中的每一项,可以基于对观察到的场景内的一个或多个元素的预测与对应的基本事实数据项之间的比较来计算性能得分。性能得分可以包括混淆矩阵、精度、召回率、F1得分、并集的交集、均值平均中的一个或任何组合,并且可选地,其中,来自训练数据集的至少一个视觉数据项中的每一项的性能得分可以在训练期间被考虑。性能得分可以用于(全局)敏感度分析中,例如,当改变每个视觉参数时,参数的敏感度可以根据性能得分的方差来评级。

在实施例中,第一子模型16a可以是神经或类神经网络,可选地是深度神经网络和/或卷积神经网络,和/或其中第二子模型16b可以是神经或类神经网络,可选地是深度神经网络和/或卷积神经网络。类神经网络可以是例如给定数量的函数的组合,其中至少一个函数是神经网络、深度神经网络或卷积神经网络。

此外,观察到的场景的视觉数据集可以包括视频序列、独立图像序列、多相机视频序列、RADAR图像序列、LIDAR图像序列、深度图序列或红外图像序列中的一个或多个。替代地,视觉数据项例如可以是具有来自立体角网格的噪声水平的声图。

在实施例中,视觉参数可以包括从以下列表选择的一个或任何组合:

-描述图像捕获布置(可选地图像或视频捕获设备)的配置的一个或多个参数,视觉数据被获取或合成生成,可选地用于空间和/或时间采样、失真像差、色深、饱和度、噪声、吸收;

-图像/视频场景中的一个或多个光条件、光反弹、反射、表面反射率、光源、雾和光散射、总体照明;和/或

-图像/视频的场景的一个或多个特征,可选地,一个或多个对象和/或它们的位置、大小、旋转、几何形状、材料、纹理;

-图像/视频捕获设备或用于合成图像生成器的模拟捕获设备的环境的一个或多个参数,可选地,环境特性、视距、降水特性、辐射强度;和/或

-图像特性,可选地,对比度、饱和度、噪声;

-图像/视频场景的一个或多个域特定描述,可选地,一个或多个汽车或道路使用者,或十字路口上的一个或多个对象。

在实施例中,计算机视觉模型16可以被配置为输出场景中包括的至少一个元素的至少一个分类标签和/或至少一个回归值,所述场景包含在至少一个视觉数据项中。分类标签可以例如指代对象检测,特别是像“车辆前方有障碍物/没有障碍物”或自由空间检测(即车辆可以行驶的区域)这样的事件。回归值例如可以是响应于道路条件、交通标志、天气条件等的速度建议。作为示例,至少一个分类标签和至少一个回归值的组合将输出速度限制检测和速度建议二者。当应用计算机视觉模型16(前馈)时,此类输出涉及预测。在训练期间,计算机视觉模型16的此类输出在如下意义上与基本事实GT数据相关:在训练数据集上,(来自前馈的)预测应该至少在统计上尽可能接近(真实)基本事实数据项。

根据第二方面,提供了一种用于表征观察到的场景的元素的计算机实现的方法200。第二方法包括获得210包括观察图像集的视觉数据集,其中每个观察图像包括观察到的场景。此外,第二方法包括获得220根据第一方法训练的计算机视觉模型。此外,第二方法包括使用计算机视觉模型处理230视觉数据集,从而获得对应于视觉数据集的多个预测,其中每个预测表征观察到的场景的至少一个元素。第二方面的方法200显示在图9中。

有利地,使用计算机视觉模型来增强计算机视觉,该计算机视觉模型已经被训练成也识别至少一个视觉参数的概念。第二方法也可以用于评估和改进计算机视觉模型16,例如通过调整计算机视觉模型和/或计算机视觉模型将在又一个第一训练阶段中被训练的视觉参数。

第三方面涉及一种数据处理装置300,其被配置为表征观察到的场景的元素。数据处理装置包括输入接口310、处理器320、存储器330和输出接口340。输入接口被配置为获得包括观察图像集的视觉数据集,其中每个观察图像包括观察到的场景,并且将视觉数据集和根据第一方法训练的计算机视觉模型存储在存储器中。此外,处理器被配置为从存储器获得视觉数据集和计算机视觉模型。此外,处理器被配置为使用计算机视觉模型处理视觉数据集,从而获得对应于观察图像集的多个预测,其中每个预测表征观察到的场景的至少一个元素。此外,处理器被配置为将多个预测存储在存储器中,和/或经由输出接口输出多个预测。

在示例中,数据处理装置300是个人计算机、服务器、基于云的服务器或嵌入式计算机。处理发生在一个物理处理器上不是必需的。例如,它可以跨同一处理器上的多个处理器核或者跨多个不同的处理器或虚拟机来划分处理任务。处理器可以是Hadoop(TM)集群,或在商业云处理服务上提供。一部分处理可以在非常规处理硬件上执行,所述非常规处理硬件诸如是现场可编程门阵列(FPGA)、专用集成电路(ASIC)、一个或多个图形处理器、用于机器学习的专用处理器等。

第四方面涉及一种包括指令的计算机程序,所述指令当被计算机执行时,使得计算机实行第一方法或第二方法。

第五方面涉及其上存储有所述计算机程序中的一个或二者的计算机可读介质。

装置300的存储器330存储根据第四方面的计算机程序,该计算机程序当被处理器320执行时,使得处理器320执行由根据第一和第二方面的计算机实现的方法描述的功能。根据示例,输入接口310和/或输出接口340是USB接口、以太网接口、WLAN接口或能够使能从装置300输入和输出数据样本的其他合适的硬件之一。在示例中,装置300进一步包括易失性和/或非易失性存储器系统330,其被配置为从输入接口310接收作为输入数据的输入观察。在示例中,装置300是如图4中的包括在车辆中的汽车嵌入式计算机,在该情况下,汽车嵌入式计算机可以连接到车辆中存在的传感器440a、440b和致动器460。例如,装置300的输入接口310可以与提供速度、燃料消耗数据、电池数据、位置数据等的引擎控制单元ECU 450中的一个或多个对接。例如,装置300的输出接口340可以与多个制动致动器、节气门致动器、燃料混合物或燃料空气混合物致动器、涡轮增压器控制器、电池管理系统、汽车照明系统或娱乐系统等中的一个或多个对接。

第六方面涉及一种分布式数据通信系统,其包括远程数据处理代理410、通信网络420(例如,USB、CAN或其他对等连接、宽带蜂窝网络、诸如4G、5G、6G...)和终端设备430,其中终端设备可选地是汽车或机器人。服务器被配置为经由通信网络将根据第一方法的计算机视觉模型16传输到终端设备。作为示例,远程数据处理代理410可以包括服务器、虚拟机、集群或分布式服务。

换句话说,计算机视觉模型根据第一方面在远程设施处被训练,并且作为对车辆、汽车或机器人的软件更新经由通信网络被传输到车辆,所述车辆诸如是自主车辆、半自主车辆、汽车或机器人。

图4示意性地图示了根据第六方面的分布式数据通信系统400,并且在基于计算机视觉的自主驾驶的环境中。车辆可以包括:至少一个检测器(优选为检测器系统440a、440b),用于捕获至少一个场景;以及电子控制单元450,其中可以实行例如用于表征观察到的场景的元素的第二计算机实现的方法200。此外,460图示了可以由电子控制单元450控制的原动机,诸如内燃机或混合动力系。

一般而言,敏感度分析(或更狭义的全局敏感度分析)可以看作是对模型或系统输出中的不确定性可以如何划分并分配到其输入中不同的不确定性源的数值量化。该量化可以称为敏感度或鲁棒性。在本说明书的上下文中,例如,模型可以被认为是映射,

从基于已经捕获/生成/选择了哪些视觉数据项的视觉参数(或视觉参数坐标)

基于方差的敏感度分析(有时也称为Sobol方法或Sobol指数)是一种特定种类的(全局)敏感度分析。为此,前述映射

因此,当在本说明书的上下文中应用时,基于方差的敏感度分析的重要结果是每个视觉参数的性能得分的方差。给定视觉参数的性能得分的方差越大,该视觉参数的性能得分变化得就越大。这指示基于该视觉参数的设置,计算机视觉模型更不可预测。训练计算机视觉模型16时的不可预测性可能是不合期望的,并且因此导致高方差的视觉参数可以在训练计算机视觉模型时被去强调或移除。

在本说明书的上下文中,例如,该模型可以被认为是来自视觉参数的映射,基于该映射,已经捕获/生成/选择了哪些视觉数据项,以基于真实和预测的基本事实项产生性能得分。敏感度分析的重要结果可以是每个视觉参数的性能得分的方差。给定视觉参数的性能得分的方差越大,该视觉参数的性能得分变化得就越大。这指示基于该视觉参数的设置,计算机视觉模型更不可预测。

图7a示意性地图示了视觉参数的(全局)敏感度分析的计算机实现的计算的第一实现的示例。

图7b示意性地图示了视觉参数的(全局)敏感度分析的计算机实现的计算的第二实现的示例。

作为示例,对于每个视觉参数31、对于当前视觉参数32的每个值、对于每个视觉数据项和对应的基本事实项33,执行嵌套循环,对于当前视觉参数的当前值,捕获、生成和选择该嵌套循环,例如通过应用第二方法(根据第二方面)来获得预测16。在每个这样的步骤中,可以基于基本事实的当前项和当前预测来计算17性能得分。在这样做时,从视觉参数到性能得分的映射可以例如根据查找表来定义。例如,根据视觉参数的各种值/子范围之间的子范围或组合或条件,对视觉参数进行分类、分组或聚类是可能的,并且通常是有意义的。在图7a中,性能得分的方差的测量(即性能方差)可以基于诸如例如在一个类、组或聚类内的性能得分的最小值、最大值或平均值之类的算术运算来计算。

替代地,在图7b中,可以通过使用(全局)敏感度分析工具37来执行(全局)敏感度分析。作为示例,全都关于视觉参数或它们的类、组或聚类的性能得分的评级和/或性能得分的方差的评级可以被生成和可视化。通过该方式,可以确定视觉参数的相关性,特别是不考虑人类感知系统的偏置。视觉参数的调整、即操作设计域(ODD)的调整也可以由定量标准产生。

图8a示意性地图示了用于定义视觉参数的世界模型和用于采样例程的示例伪代码列表。在该示例中,伪代码包括产卵点、凸轮偏航、凸轮俯仰、凸轮滚转、云量、降水、降水沉积、太阳倾角(高度角)、太阳方位角的参数范围。此外,示出了采样算法11的示例实现(其中Allpairs是公共Python包“allpairspy”中的函数)。

图8b示出了用于评估视觉参数敏感度的示例伪代码列表。在代码行(#)34、(#)35、(#)36中,可以使用其他算术运算,诸如例如标准偏差的计算。

附图中提供的和前述书面描述中描述的示例意图提供对本说明书原理的理解。因此,不意图对所附权利要求范围的任何限制。本说明书描述了对图示示例的变更和修改。仅呈现了优选的示例,并且在说明书的范围内对这些示例的所有改变、修改和另外应用都期望受到保护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号