一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

通过运动矢量来改进驾驶员辅助视觉系统的方法和装置与流程

2022-07-10 14:17:38 来源:中国专利 TAG:


1.本公开总体涉及驾驶员辅助系统,并且更具体地,涉及使用基于运动矢量进行的对象检测来改进驾驶员辅助视觉系统的方法和装置。


背景技术:

2.近年来,汽车工业的进步为半自主车辆创造了机遇,并继续开发可能有朝一日使车辆变得完全自主的技术。利用源于早期防抱死制动系统和汽车导航系统的技术,如今的防撞系统、前方碰撞警告甚至自动泊车等功能已成为绝大多数汽车的标准配置。车辆及其功能不断演进和改进,最终目标不仅是提高车辆在驾驶环境中的安全性,而且还在于增强驾驶员在使用车辆时的驾驶体验。
附图说明
3.图1是本文公开的示例系统的示意图,该系统使用运动矢量来促进对对象的检测。
4.图2是示出图1中的示例视觉数据分析系统的示例实现的框图。
5.图3是用于训练图1中的示例车辆的基于视觉的高级驾驶员辅助系统(adas)的示例ai模型的对象类别的示例分布。
6.图4示出了包含用于运动矢量推导的两个初始示例像素块的示例第一图像帧。
7.图5示出了第二示例图像帧,该示例第二图像帧示出了与图4中的示例像素块相关联的内容在第一图像帧与第二图像帧之间的移动。
8.图6示出了图5中的第二示例图像帧,其带有生成的运动矢量。
9.图7示出了图1中的示例车辆的(一个或多个)相机之一所捕捉的示例驾驶场景。
10.图8示出了针对图7中的示例图像帧生成的、相对于在不同时间点捕捉的驾驶场景的第二图像帧的运动矢量。
11.图9示出了在实现了示例运动矢量强度阈值筛选(thresholding)操作之后的图8中的示例图像帧。
12.图10示出了在实现了示例运动矢量分组操作之后的图9中的示例图像帧。
13.图11示出了在实现了示例集群剪枝(pruning)操作之后的图10中的示例图像帧。
14.图12根据本文公开的教导示出了一系列示例图像帧经历运动矢量边界框分析。
15.图13示出了图12中的一系列示例图像帧经历根据基于ai视觉的驾驶员辅助系统进行的标识和标注,该图中包括的帧带有示例未识别出的对象。
16.图14示出了图13中的一系列示例图像帧,其中示例未识别出的对象基于图12中的运动矢量边界框分析而被标注。
17.图15-图17是表示可以被执行以实现图1和/或图2的示例视觉数据分析系统的示例机器可读指令的流程图。
18.图18是被构造成执行图15-图17的示例机器可读指令以实现图1和/或图2的示例视觉数据分析系统的示例处理平台的框图。
19.附图不一定是按比例绘制的。通常,在(一幅或多幅)附图和伴随附图的书面描述中将使用相同的附图标记来指代相同或相似的部件。
具体实施方式
20.除非另外特别说明,在本文中使用诸如“第一”、“第二”、“第三”之类的描述词,但这些描述词不表示或以其他方式指示任何意味的优先级、物理顺序、列表中的排列和/或任何方式排序,而是仅用作用于区分元素的标签和/或任意名称以便于理解所公开的示例。在一些示例中,可以在具体实施方式中用描述词“第一”来指代的一个元素,同时可以在权利要求中用不同描述词(例如“第二”或“第三”)来指代同一元素。在这样的情况下,应当理解,这样的描述词仅用于区分性地标识那些元素,否则这些元素可能例如共享同一名称。如本文所使用,“基本上实时”是指以近乎瞬时的方式发生,并认识到可能存在计算时间、传输等的真实世界延迟。因此,除非另有说明,“基本上实时”是指实时 /-1秒。
21.高级驾驶员辅助系统(adas)是集成到车辆中的智能系统,用于在各种驾驶状况下提高车辆安全性。这些系统通常是基于视觉的,并利用一系列传感器(例如相机、雷达和激光雷达传感器)来收集有关车辆周围环境的信息,以便提醒驾驶员注意车辆附近的对象和/或通过使车辆能够自主响应来避免与即将到来的对象发生碰撞。例如,此类基于视觉的系统可被实现以检测和/或定位其他车辆、行人、道路标志和/或其他相关对象,并使车辆能够减速、停止或以其他方式调整车辆的操作以对由基于视觉的驾驶员辅助系统检测到的周围环境所指示的情况做出响应。因此,基于车辆视觉的驾驶员辅助系统必须可靠且具鲁棒性,以便在任何给定驾驶环境中确保车辆、车辆乘员以及车辆周围人员和/或财产的安全。
22.基于视觉的驾驶员辅助系统能够执行下述功能:例如将所捕捉的图像数据(例如视频流)解码为多个单独的图像帧;分析这些图像帧以检测相关的(一个或多个)对象和/或(一种或多种)状况;以及根据检测到的(一个或多个)对象和/或(一种或多种)状况的性质来确定对车辆行为和/或操作的适当调整。此外,这些基于视觉的解决方案的许多应用已经演进到结合了使用经训练的神经网络(nn)(例如卷积神经网络(cnn))的人工智能(ai),以执行图像分析以识别出所标识的对象并进行标注。更具体地,这些基于ai视觉的驾驶员辅助系统通常涉及使用已知道路对象(例如摩托车、轿车、人、卡车和公共汽车)的图像来训练对象检测机器学习模型(例如cnn模型),以在实现驾驶员辅助系统的车辆遇到此类对象时识别出这些对象。一旦对象被检测到并被识别出,驾驶员辅助系统就会用与特定对象类别(该对象已被识别为属于该特定对象类别——例如对象类别“轿车”、对象类别“卡车”等)相对应的标签来标注该对象。这些经训练的基于ai视觉的驾驶员辅助系统可以生成围绕在识别出的对象周围的边界框,这些边界框限定了对象在检测到该对象的相应图像帧内的大小和位置。这样的边界框简化了对识别出的对象的标识和标注,以促进由视觉系统进行的后续分析,从而使车辆能够确定并实现针对检测到该对象的适当响应。
23.现有的基于ai视觉的驾驶员辅助系统的性能限制是这些系统无法标识和/或识别出某些对象。当对象无法被驾驶员辅助系统识别出时,无法用合适的标签对对象进行标注以指示该对象所属的对象类别,这会限制车辆对对象的存在做出适当响应的能力。如本文所使用,“识别出的”对象是指这样的对象:该对象可以由基于ai视觉的驾驶员辅助系统在图像帧中通过边界框和合适标签来检测、标识、识别出和标注。相比之下,如本文所使用,被
称为“没有被识别出的”对象或“未识别出的”对象是指基于ai视觉的驾驶员辅助系统无法检测、标识或识别出(并因此无法用标签进行标注)的对象。驾驶员辅助系统可能无法标识和/或识别出特定对象的原因有很多,包括:姿势变化等因素、或者当对象定向在基于ai视觉的驾驶员辅助系统未经过识别训练的位置时、当因驾驶状况使车辆相机和/或传感器的能见度和/或灵敏度降低时导致局部被隐匿、或与某些道路对象相关联的训练数据有限时。因此,基于ai视觉的驾驶员辅助系统可能无法识别出对象,因为该对象以前从未遇到过。然而,许多未识别出的对象是下述对象:这些对象以前可能遇到过,但这些对象由于这些对象在正被分析的特定图像帧中的表示方式而没有被识别出。也就是说,可以在一个图像帧中识别出一个对象,而在另一图像中可能无法识别出同一对象。换言之,如本文所使用,对象被识别出还是未被识别出是特定于表示该对象的每个图像帧的。
24.如上所述,有许多情况会限制基于ai视觉的驾驶员辅助系统的检测和识别出对象的能力。更具体地,由于现实世界姿势情况下的驾驶场景的复杂性(例如驾驶环境中的照明可能很差),基于ai视觉的驾驶员辅助系统的能见度可能会受到限制,和/或交通状况可能会引入基于ai视觉的系统最初未被训练以识别出的对象类型。这种情况不仅严重损害了现有驾驶员辅助系统的安全性、可靠性和有效性,而且还需要劳动密集型和耗时的人工干预来用带有标注的图像重新训练并更新ai模型算法,以处置未识别出的对象并识别出大量的对象姿势可能情况。此外,尽管向车辆中加入额外的传感器至少可以部分弥补当前基于ai视觉的驾驶员辅助系统的上述缺陷,但这种尝试会导致以下情况:产生成本、车辆复杂性增加、以及重构基于视觉的系统以利用额外的传感器数据所导致的时间消耗。因此,这些缺点为提高基于ai视觉的驾驶员辅助系统的鲁棒性提供了机会,以便标识驾驶环境中遇到的未识别出的对象,而无需将额外的相机和传感器集成到车辆中。本文公开的示例提出了一种解决方案:使用运动矢量边界框生成和分析来检测并标注先前未被基于ai视觉的驾驶员辅助系统识别出的对象,以便于进行后续训练和标识。
25.如本文所使用,运动矢量是二维矢量,用于标识对象在场景中的运动(如在该场景的连续图像帧中所捕捉到)。例如,随着图像帧的内容(表征为图像帧内的对象)跨连续图像帧从第一位置移动到第二位置,运动矢量被生成以标识与每个对象相关的运动。场景中对象的运动(针对该运动定义了运动矢量)所基于的是该对象相对于捕捉了正被分析的图像帧的(一个或多个)相机的相对运动。因此,对象在场景的连续图像帧中的运动可能是下述各项的结果:对象运动(例如轿车在路上行驶)、由于(一个或多个)相机相对于场景的移动(例如相机在移动的车辆上)而导致的场景视角变化、或这两者的某种组合。
26.虽然现实世界中对象的移动可以是三维的,但运动矢量用二维矢量表示移动,该二维矢量对应于内容在连续图像帧的二维平面内的移动。即,可以在两个连续图像帧之间比较像素块(例如16
×
16个像素块),以确定匹配像素块的位置是否有任何变化。如本文所使用,运动矢量定义了:匹配像素块的位置在两个图像之间的差异程度是对与匹配像素块相关联的内容所表示的对象的移动程度的指示。
27.如上所述,在基于视觉的驾驶员辅助系统(其中(一个或多个)相机位于可能处于运动状态的车辆上或车辆中)中,运动矢量可以对应于静止的对象(但相对于运动中的车辆运动),也可以对应于运动的对象(独立于车辆和相关联的(一个或多个)相机的运动)。除了定义运动的方向之外,运动矢量还定义运动的强度,该强度对应于在从中生成运动矢量的
两个图像帧中表示的对象的移动量。更具体地,如本文所使用,运动矢量的强度是关于下述两项的函数:对象相对于捕捉包括对象的图像帧的(一个或多个)相机的相对速度、以及对象相对于捕捉图像帧的(一个或多个)相机的距离。定义相对于(一个或多个)相机的移动方向和移动强度的运动矢量提供了一种用于跨图像帧执行分析的可行选择,以独立检测可能无法由基于ai视觉的驾驶员辅助系统检测和/或识别出的对象,以便改进对象检测和标识。
28.图1示出了促使使用运动矢量进行对象检测的示例系统100的示意图。图1的示例系统100包括根据本文公开的教导构造的示例车辆102。示例车辆102可以是任何类型的车辆(例如轿车、卡车、公共汽车等)。此外,示例车辆102可以是手动驾驶车辆、半自主车辆、全自主车辆等。如图示示例中所示,车辆102包括一个或多个相机104以捕捉指示车辆周围环境中的对象和/或状况的图像数据。在一些示例中,一个或多个相机捕捉周围环境的多个单独的图像和/或一系列图像(例如视频流)。在一些示例中,(一个或多个)相机104还可以捕捉指示对象相对于车辆102的距离和/或相对速度的数据。(一个或多个)相机104的输出被提供给示例视觉数据分析系统106,示例视觉数据分析系统106实现基于视觉的驾驶员辅助系统的数据处理功能,以基于对(一个或多个)相机104所捕捉的图像的基于ai视觉的分析来检测和标注周围环境中的识别出的对象。基于视觉的驾驶员辅助系统可以使用现有或随后开发的任何合适的adas技术来实现。此外,示例视觉数据分析系统106分析(一个或多个)相机104所捕捉的图像以生成指示对象在周围环境中的移动的运动矢量。在一些示例中,视觉数据分析系统106以独立于基于视觉的驾驶员辅助系统的方式使用运动矢量来检测对象。因此,基于运动矢量检测到的对象可能与通过基于视觉的驾驶员辅助系统的基于ai视觉的分析识别出或未识别出的对象相对应。视觉数据分析系统106对通过运动矢量分析检测到的对象和由基于ai视觉的系统检测到的对象进行分析,以标识和标注最初没有被基于ai视觉的系统识别出的任何对象。在一些示例中,包含最初未被基于ai视觉的系统识别出的对象的图像帧被收集用作额外的训练数据以改进基于ai视觉的系统的ai模型。下面结合图2提供关于示例视觉数据分析系统106的实现的进一步细节。
29.在一些示例中,对(一个或多个)相机104所获取的数据的处理完全由示例视觉数据分析系统106在本地执行。在其他示例中,视觉数据分析系统106经由网络108将数据发送到远程服务器110以供处理。在一些示例中,视觉数据分析系统106将示例车辆102的(一个或多个)相机104所获取的数据发送到远程服务器110以供处理。额外地或替代地,在一些示例中,视觉数据分析系统106执行对图像数据的初始处理,然后将经这种处理的输出发送到远程服务器110以供进一步处理。一旦数据被远程服务器110远程处理,所得数据就可以发送回视觉数据分析系统106以供进一步分析和/或后续使用。在一些示例中,视觉数据分析系统106可以执行对图像数据的所有处理,但仍然将输出结果发送到远程服务器110以供存储和/或用于其他目的(例如,以促进开发新训练数据集,以用于由视觉数据分析系统106实现的基于视觉的驾驶员辅助系统的ai模型)。因此,数据处理可以通过图1中的示例系统本地地、远程地或以这两者的任何组合进行。
30.图2示出了图1中的示例视觉数据分析系统106的示例实现。如图示示例中所示,视觉数据分析系统106包括示例相机接口202、示例图像数据数据库204、示例视频解码器206、示例基于ai视觉的驾驶员辅助系统分析器208(或简称驾驶员辅助系统分析器208)、示例运动矢量对象检测分析器210、示例边界框分析器212、以及示例服务器接口214。
31.示例相机接口202与(一个或多个)车辆相机104通信以接收图像数据(例如,视频流)以供视觉数据分析系统106的其他组件进行处理和/或分析。在一些示例中,图像数据是位于示例车辆102中或位于该车辆上的(一个或多个)相机104所捕捉的视频和/或静止图像的形式。图像数据表示示例车辆102的前方、车辆102的侧面、车辆102的后方和/或任何其他方向的环境视图。
32.示例图像数据数据库204存储由示例相机接口202接收的原始图像数据。在一些示例中,图像数据可以在被存储在图像数据数据库204中之前经历预处理。在一些示例中,在示例车辆102的操作期间,图像数据数据库204存储(一个或多个)相机104所捕捉并经由示例相机接口202基本上实时接收的传入图像数据。然后可以从图像数据数据库204访问和取回所存储的图像数据,以供示例视觉数据分析系统106的其他元件进一步处理。在一些示例中,图像数据数据库204还存储这种由示例视觉数据分析系统106的其他元件进行的处理的结果。例如,在一些示例中,图像数据数据库204存储原始图像数据的多个单独的图像帧,这些原始图像帧已经被分析并且用围绕在所检测到的对象周围的边界框和相关联的标签进行了标注。
33.示例视频解码器206访问存储在图像数据数据库204中的图像数据并且进行解码和/或以其他方式执行对图像数据的预处理以生成一系列图像帧。在一些示例中,这一系列图像帧可以对应于(一个或多个)相机104所捕捉的视频流内的连贯的或连续的视频帧。在一些示例中,这一系列图像帧对应于对少于视频流中的所有图像帧的采样(例如,每隔一个视频帧、每三个视频帧等)。在一些示例中,视频解码器206以基于图像帧的时间戳的顺序来组织这些单独的图像帧。例如,所得图像帧的顺序可以类似于它们出现在输入视频流中的顺序。在一些示例中,图像帧的顺序与每个图像帧被示例元件处理的顺序保持一致。在一些示例中,示例视频解码器206所生成的经解码图像帧被存储在示例图像数据数据库204中以供进一步分析和处理。
34.基于ai视觉的示例驾驶员辅助系统分析器208分析图像帧中的一些图像帧以检测图像帧内的对象。更具体地,在一些示例中,基于ai视觉的驾驶员辅助系统分析器208执行基于视觉的ai模型,该模型分析图像以标识图像帧内被识别出的对象、生成围绕在识别出的对象周围的边界框、并将合适的标签与每个识别出的对象相关联。在一些示例中,基于视觉的ai模型可以是现在已知或以后为基于视觉的驾驶员辅助系统开发的任何合适的模型(例如cnn),用于检测和识别出捕捉车辆(例如车辆102)的周围环境的图像中的对象。因此,使用包含已知对象的训练图像的数据集来训练ai模型,这些已知对象已根据已知对象所属的对象类别被标有标签。通常,训练图像数据集中表示的对象对应于在示例车辆102行驶的道路上常见的对象(例如,轿车、摩托车、行人等)。此外,训练图像数据集还可以包括包含不太常见的对象(例如,机动三轮车、动物、火车等)的图像。通常,这类训练数据集包括的包含常见对象的图像远比包含比不太常见的对象的图像要多。例如,图3示出了用于高级驾驶员辅助系统的特定训练图像数据集中表示的不同对象类别的对象的示例数目分布。
35.如图3所示,对象类别的偏态分布表明ai模型在所有对象类中的训练并不均等。而是,与在训练数据集中很少表示的其他对象类别相比,针对与摩托车、骑手、轿车和人对应的对象类别使用了更多的训练图像来训练ai模型。训练材料(例如某些对象类别的带标注的图像)的有限可用性或对某些类别进行的有限ai模型训练会导致ai模型在属于这些类别
的对象102被示例车辆的(一个或多个)相机104捕捉到时无法检测和识别出这些对象。因此,相对于常见对象,ai模型不太可能识别出在训练数据集中很少表示的对象,因为ai模型是使用较少的(与常见对象相比)包含少见对象的训练图像来训练的。更具体地,当ai模型是在相对有限的训练图像集上训练的时,其不太可能识别出对象(如图3所示的大篷车、火车和拖车图像),因为训练可能不足以应对出现少见对象的所有不同的场景。例如,ai模型可能无法识别出示例车辆102遇到的机动三轮车(尽管图3中的训练数据集包括对应于机动三轮车的对象类别),因为在特定遭遇情况下,机动三轮车从视图中被部分隐匿,(一个或多个)相机104很难在图像帧中将其区分,或者在正被分析的捕捉图像帧中的定向位置不与之前用于训练ai模型以识别出机动三轮车的有限训练图像集相对应。
36.当ai模型识别出图像帧中的对象时,示例基于ai视觉的驾驶员辅助系统分析器208生成围绕在对象周围的边界框,使得对象在图像内的位置可以随车辆102继续移动被跟踪。基于ai视觉的示例驾驶员辅助系统分析器208进一步用与对象的关联对象类别相对应的标签来对图像帧中所生成的边界框进行标注。然而,如果由基于ai视觉的驾驶员辅助系统分析器208执行的ai模型无法识别出对象,则不会生成边界框,也不会分配标签。因此,如果未识别出的对象对示例车辆102没有被最终标识和识别出,则其构成安全隐患,从而不能响应于对象的存在适当地调整车辆102的操作。
37.示例运动矢量对象检测分析器210与基于ai视觉的示例驾驶员辅助系统分析器208并行地分析图像帧中的一些图像帧,以独立地检测图像帧内的对象。更具体地,示例运动矢量对象检测分析器210将第一图像帧中的特定像素块(例如16
×
16像素块、32
×
32像素块)与第二图像帧上的各个位置处的对应像素块进行比较,以确定是否可以在两个图像帧中的像素之间识别到匹配(在某阈值容差内)。如果发现第二图像帧中的像素块与第一图像中的特定像素块匹配,则运动矢量对象检测分析器210可以推断出匹配像素与场景内通过这两个图像帧捕捉的同一对象相关联。示例运动矢量对象检测分析器210对这两个图像帧中的每一者中的匹配像素块的位置进行比较,以确定匹配像素在两个图像帧之间的位移(例如,在图像帧中的x或y方向上移位的像素数目)。运动矢量对象检测分析器210基于匹配像素在两个图像帧内的x和y位移来生成运动矢量。在一些示例中,第一图像帧和第二图像帧对应于(一个或多个)相机104所捕捉的视频流或一系列图像中的相邻或连续图像帧,其中第二图像帧在比第一图像帧更晚的时间点被捕捉到。在这样的示例中,像素的位移被表示为从第一图像帧移动到第二图像帧,以表示像素所表示的底层对象随时间的移动方向。
38.当捕捉正被分析的图像帧的相机是静止的时,可以使用运动矢量分析来容易地检测到场景内移动的对象,因为与静止对象相关联的像素将在场景的每个连续图像中保持相同的位置。然而,当相机相对于周围环境移动时(如当车辆102正在移动时的图1中的(一个或多个)相机104的情况),标识移动对象的问题变得更具挑战性。在这种情况下,(一个或多个)相机104相对于周围环境的移动(基于车辆102的移动)会导致与周围环境中的静止对象(例如,建筑物、地面、树等)相关联的像素看起来移动到环境的连续图像帧内的不同位置。相应地,在一些示例中,为了从移动的对象(例如,其他车辆、行人等)中滤除背景环境(例如,静止道路、交通灯、建筑物等),基于运动矢量的强度来对运动矢量对象检测分析器210所生成的运动矢量进行过滤。如本文所使用,运动矢量的强度是指匹配像素在正被比较的两个图像帧之间的位移量。也就是说,像素的位移越大,运动矢量的强度就越大。
39.为一对图像帧生成的运动矢量的强度是运动矢量底层的匹配像素所表示的对象相对于捕捉图像帧的(一个或多个)相机104的速度(其对应于车辆102的速度)的函数。例如,考虑在与图1中的车辆102相同的方向并且以大致相同的速度(例如,相对速度约为0)移动的单独车辆。在这种情形中,该单独车辆将由连续图像帧中类似定位的像素表示,这导致连续图像帧之间的像素位移相对较小,因此,运动矢量强度相对较低。相比之下,如果该单独车辆正在超过图1的车辆102和/或以相反方向移动,则在连续图像帧中表示单独车辆的像素的位置变化可能显著变化。结果是,相关联的运动矢量的强度会相对较高。即使当对象正向朝向或远离车辆102的(一个或多个)相机104移动时,也会产生相对高强度的运动矢量。虽然这样的对象相对于(一个或多个)相机104处于相同位置,因此不在(一个或多个)相机104的视场中移动,但随着对象与车辆102之间的相对距离减小或增大,这样的对象的尺寸将增大或减小。结果是,当对象接近示例车辆102时,在连续图像帧中表示对象的像素的位移将遵循向外扩展的方向(例如,像素将在x和/或y方向上朝图像帧的外边缘移动)。此外,随着对象越来越靠近车辆102,连续帧之间的匹配像素的扩展率将增加。相反,表示远离车辆102移动的对象的像素的位移将遵循向内收缩方向(例如,像素将在x和/或y方向上朝着图像帧中所表示的对象的中心移动),该位移随着对象继续远离而变得越来越小。
40.除了运动矢量的强度是基于底层的匹配像素所表示的对象的相对速度的之外,运动矢量强度也是关于对象相对于在示例车辆102中或其上的(一个或多个)相机104的距离的函数。例如,虽然在头顶飞过的飞机可能比车辆102移动得快得多,但由于飞机距离很远,连续图像帧中表示飞机的像素的位移可能相对较小。结果是,基于这样的像素生成的运动矢量的强度会相对较低。当然,距离较远且移动速度不快或根本不移动的对象(静止对象)很可能与强度相对较低的运动矢量相关联。相比之下,正以仅比图1中的车辆102快几迈的行驶速度超过该车辆102的卡车(例如,卡车和车辆之间的相对速度相对较小)可能会导致相对较大的运动矢量强度,因为卡车非常靠近车辆102上的(一个或多个)相机104。
41.一般而言,与相对低的运动矢量强度相关联的对象(例如,相对较远的对象和/或以与车辆102相同的方向且相同的总体速度移动的对象)被认为对于车辆102的安全操作不太重要。相比之下,与相对高的运动矢量强度相关联的对象(例如,因为它们相对靠近车辆和/或相对于车辆具有相对高的速度)可能造成潜在的安全问题。因此,在一些示例中,运动矢量对象检测分析器210滤除具有相对低强度(例如低于阈值)的运动矢量以隔离出具有相对高强度的运动矢量以供进一步分析。
42.图4-图6示出了针对两个图像帧之间的两个示例像素块推导运动矢量的示例。图4示出了在第一时间点捕捉的第一图像帧400,并且图5示出了在第一时间点之后的第二时间点捕捉的第二图像帧500。图4示出了在第一图像帧400内的初始位置的两个示例像素块402、404。图5示出了第二图像帧500中的相应匹配像素块502、504的位置。从图4中所见的第一图像帧400中的像素块402、404的初始位置到图5中的第二图像帧500中的新位置的位置变化基于:像素块402、404、502、504所表示的对象在捕捉图像帧400时的第一时间点和捕捉图像帧500时的第二时间点相对于相机的运动。出于说明的目的,图4中像素块402、404的位置在图5中再次以虚线重复以演示两对像素块402、404和502、504在两个图像帧400、500之间的位移量。图6示出了对应于两对匹配像素块的示例运动矢量(由箭头602、604表示)。可以从图6中看出,与第一对匹配像素块402、502相关联的运动矢量602比与第二对匹配像素
块404、504相关联的运动矢量604小得多。因此,相比于第一运动矢量602,第二运动矢量604具有更大的强度。
43.如上所述,在一些示例中,运动矢量对象检测分析器210使用运动矢量的强度来标识与可能对车辆102的安全和/或操作特别重要的对象相关联的运动矢量,并且/或者消除与被标识为不太重要的对象相关联的运动矢量(例如,可以忽略该不太重要的对象,而不损害车辆102的安全和/或操作)。示例运动矢量对象检测分析器210通过对针对图像帧(相对于第二图像帧)生成的运动矢量进行分析来应用阈值函数,以标识满足(例如,超过)强度阈值的运动矢量子集。满足阈值的运动矢量子集被标识以供进一步分析。以这种方式隔离出具有相对大强度的运动矢量可以促进运动矢量对象检测分析器210标识对于车辆102的操作可能特别重要的运动矢量,因为这些对象要么靠近示例车辆102的(一个或多个)车辆相机104,要么相对于车辆102具有比其他周围对象更高的相对速度。相比之下,远离(一个或多个)车辆相机104的对象(例如云、鸟或树)和/或随着跟随车辆102的行进而移动的对象与较小的运动矢量强度相关联,该较小的运动矢量强度由于对车辆102的操作不那么重要而可被忽略,因此从进一步的分析和处理中消除。在一些示例中,用于辨别重要的运动矢量的运动矢量强度阈值可以随车辆类型、对象类别、周围环境或其他判据而变化。此外,在一些示例中,强度阈值是固定值。在一些示例中,强度阈值可以响应于车辆102的速度而变化。在其他示例中,强度阈值被可变地定义以使得特定比例的运动矢量满足该阈值。
44.在标识了满足阈值的运动矢量子集之后,示例运动矢量对象检测分析器210基于空间接近度阈值将子集中的运动矢量分组为一个或多个运动矢量集群。即,空间接近度阈值定义了第一运动矢量与第二运动矢量之间必须存在的最小距离,以便将两个运动矢量分组到相同的集群中。在一些示例中,空间接近度阈值可以因车辆、对象、周围环境或其他判据而异。在一些示例中,一旦已经标识了集群,运动矢量对象检测分析器210就生成包围限定该集群的边界框,以给对应于该运动矢量集群的特定对象画界。即,在一些示例中,运动矢量的紧密接近度被认为是指示这些运动矢量与同一对象相关联。这样,通过对紧密接近的运动矢量进行集群,车辆102周围环境内的完整对象可以被标识并用边界框来画界,以促进随后进行的跟踪与分析。为了清楚起见,由基于ai视觉的驾驶员辅助系统分析器208(使用基于视觉的ai模型来检测和识别出对象)生成的边界框在本文中被称为基于ai的边界框。相比之下,由运动矢量对象检测分析器210(使用运动矢量推导和随后的集群过程)生成的边界框在本文中被称为运动矢量边界框。
45.在运动矢量对象检测分析器210针对在图像帧中标识的每个运动矢量集群生成运动矢量边界框之后,示例运动矢量对象检测分析器210对边界框应用剪枝阈值,以消除与对于车辆102的操作似乎不是特别重要的对象相关联的边界框。在一些示例中,剪枝阈值由所生成的边界框内的运动矢量的样本计数来定义。即,在一些示例中,仅具有至少阈值数目的运动矢量的边界框(或相关联的集群)被保留用于进一步分析,而小于阈值的集群被丢弃或忽略。额外地或替代地,剪枝阈值由边界框的大小(例如,由边界框包围定义的图像帧的面积或像素数)来定义。在一些示例中,集群中运动矢量的数目以及所得边界框的大小都被用来滤除或剪枝不在进一步分析中使用的边界框和/或运动矢量集群。在一些示例中,具有低于剪枝阈值的大小和/或运动矢量计数的边界框被认为是对应于远离车辆102的对象和/或大小足够小而不是与示例车辆102的操作相关的对象。结果是,可以从进一步处理和分析中
消除这种对象的边界框和相关联的运动矢量集群。在一些示例中,剪枝阈值可以因车辆、对象类型、周围环境或其他判据而异。
46.图7-图11根据本文公开的教导示出了由示例运动矢量对象检测分析器210生成运动矢量边界框以标识图像帧中的对象的示例阶段。图7示出了描绘图1的示例车辆102的(一个或多个)相机104所捕捉的驾驶场景的示例图像帧。出于说明的目的,场景内的车辆102的位置由在图7-图11中的每个图像帧的右下角中包括方向盘图标702的方框表示。如图示示例中所示,场景包括相对靠近车辆102的第一轿车704和远处的第二轿车706。此外,场景包括相对靠近车辆102的第一树708和距离较远的第二树710。在该示例中,轿车704、706都沿着与车辆102相同的道路移动。相比之下,树708、710是静止对象。然而,从车辆102的角度来看,由于车辆102在移动,所以树看起来在移动。因此,当比较相机所捕捉的连续图像帧中的像素块时,可以针对与移动对象(例如,轿车704、706)以及静止对象(树708、710)相关联的像素生成运动矢量。更一般地,对于场景中的大部分而言,运动矢量很可能是具有非零强度的,这是因为场景的视角随着车辆102沿道路的移动而改变。
47.图8示出了如上所述在整个图像帧上生成运动矢量的结果。具体地,第一组运动矢量802指示第一轿车704的相对运动,第二组运动矢量804指示第二轿车706的相对运动,第三组运动矢量806指示第一树708的相对运动,第四组运动矢量808指示第二树710的相对运动。此外,如图示示例中所示,额外的杂散运动矢量810指示车辆102正行进的道路的相对运动。更具体地,图8中所示的运动矢量802、804、806、808、810是通过将特定像素块与场景的不同(例如,先前捕捉的)图像进行比较而生成的。在一些示例中,将对应于图像帧的每个部分的不同像素块与不同图像进行比较,以标识匹配的像素块。匹配的像素块对之间的位置位移被用来定义运动矢量和相关联的位移强度(例如位移量)。额外的杂散运动矢量810相对较小(例如具有相对低的强度),因为道路在连续图像帧之间看起来基本相同,使得第一图像帧中的特定像素块可以与第二图像帧中道路的看起来相同的不同区域匹配(而不是与两个图像帧中表示的完全相同的道路部分相匹配)。
48.图9示出了这样的图像帧:该图像帧具有运动矢量对象检测分析器210应用阈值函数来消除图8中表示的不满足阈值的运动矢量的结果。因此,图9中的图像帧示出的运动矢量具有满足(例如超过)运动矢量强度阈值的强度(例如像素位移量)。强度相对较高的运动矢量被标识并被保留以供进一步分析,而其他不满足阈值的运动矢量被忽略或滤除。更具体地说,如图9所示的示例所示,仅保留图像帧内与两辆轿车704、706和第一树708相对应的位置处的运动矢量以供进一步处理。
49.图10示出了运动矢量对象检测分析器210基于空间接近度度量(例如空间接近度阈值)将剩下的运动矢量集群成如下分组的结果:这些分组被围绕在每个运动矢量集群周围的单独运动矢量边界框1002、1004、1006画界。通过比较图7和图10可以看出,第一运动矢量边界框1002在对应于第一轿车704的位置处,第二运动矢量边界框1004在对应于第一树708的位置处,并且第三运动矢量边界框1006在对应于第二轿车706的位置处。
50.图11示出了运动矢量对象检测分析器210对图10中所示的运动矢量边界框1002、1004、1006应用剪枝阈值以消除不满足剪枝阈值的边界框的结果。如上所述,剪枝阈值可以定义要被包括在要保留用于进一步分析的特定集群中的运动矢量的阈值数目。在图10所示的示例中,第三运动矢量边界框1006仅包括一个运动矢量,因此被丢弃。额外地或替代地,
剪枝阈值可以定义要保留用于进一步分析的运动边界框的阈值大小。因此,虽然第二运动矢量边界框1004包括多个运动矢量,但边界框1004仍被丢弃,因为边界框1004的大小不满足对应的阈值。结果是,如图11所示,只有与第一轿车704相关联的第一运动矢量边界框1002被保留用于进一步处理。
51.返回图2,示例边界框分析器212将示例基于ai视觉的驾驶员辅助系统分析器208的输出和示例运动矢量对象检测分析器210的输出进行比较,以确定在分析中的图像帧中被捕捉的对象中是否存在任何这样的对象:该对象没有被基于ai视觉的驾驶员辅助系统分析器208检测或识别出。如上所述,基于ai视觉的驾驶员辅助系统分析器208输出与图像帧中被基于ai视觉的驾驶员辅助系统分析器208所执行ai的模型识别出的每个对象相关联的基于ai的边界框。运动矢量对象检测分析器210输出与基于相对高强度运动矢量的集群而被标识的检测到的对象相关联的运动矢量边界框。在一些示例中,边界框分析器212对这些输出进行比较,以确定运动矢量边界框是否对应于基于ai的边界框。在一些示例中,示例边界框分析器212通过将每个图像帧中的运动矢量边界框的大小、形状和/或位置与基于ai的边界框的大小、形状和/或位置进行比较来执行该比较。例如,假设运动矢量对象检测分析器210生成位于图像帧的特定x和y位置处的、具有特定宽度和高度的运动矢量边界框。基于该输出,示例边界框分析器212确定是否存在由基于ai视觉的驾驶员辅助系统分析器208定义的具有相似高度和宽度并且在图像帧内位于相似x和y位置的相应的基于ai的边界框。如果存在,则示例边界框分析器212确认图像帧中的运动矢量边界框与基于ai的边界框之间的匹配。如果基于ai视觉的驾驶员辅助系统分析器208没有生成对应位置处的基于ai的边界框,则示例边界框分析器212推断基于ai视觉的驾驶员辅助系统分析器208未能识别出在该位置处的对象。因此,示例边界框分析器212将运动矢量对象检测分析器210所输出的运动矢量边界框标记为与这样的对象相关联:针对该对象,基于ai视觉的驾驶员辅助系统分析器208的ai模型可能需要额外训练以提高其未来识别出此类对象的能力。
52.如果确认了运动矢量边界框与基于ai的边界框之间的匹配,则示例边界框分析器212使特定图像帧中的运动矢量边界框与下述标签相关联或用下述标签来对该运动矢量边界框进行标注:该标签与定义底层识别对象的对象类别(例如“轿车”、“人”、“摩托车”)的相应的基于ai的边界框相关联。一旦与特定图像帧中相应的基于ai的边界框匹配的运动矢量边界框已被标注有相应的标签,该图像帧和与图像帧相关联的所有元信息(例如时间戳、边界框坐标、相关联的标签等)被存储在图像数据数据库204中。此后,示例边界框分析器212可以继续基于要与图像帧中的其他基于ai的边界框进行比较以进行分类的额外的运动矢量边界框,来分析图像帧。
53.在一些示例中,如果边界框分析器212确定特定运动矢量边界框(由运动矢量对象检测分析器210生成)不匹配任何基于ai的边界框(由驾驶员辅助系统分析器208生成),则边界框分析器212推断由运动矢量边界框表示的对象与没有被驾驶员辅助系统分析器208识别出过的对象相对应。因此,在一些这样的示例中,边界框分析器212用将对象指示或分类为“未识别出的对象”的标签,来标注特定运动矢量边界框。运动矢量边界框然后可以与包括“未识别出的对象”标签的所有相关元数据一起存储在图像数据数据库204中。
54.如上所述,驾驶员辅助系统分析器208识别出还是未识别出对象是特定于捕捉对象的每个图像帧的。也就是说,对象可能在一个图像帧中被驾驶员辅助系统分析器208识别
出,但在另一帧中可能不被识别出。如上所述,在特定图像中对象可能无法被基于ai视觉的示例驾驶员辅助系统分析器208识别出的原因多种多样。例如,对象可能不被识别,是因为该对象是稀有对象(与用于训练基于ai视觉的驾驶员辅助系统分析器208所执行的ai模型的相对有限的训练图像集合相关联)。额外地或替代地,对象可能没有被识别出(无论该对象在训练数据集中是否表示为稀有的),是因为该对象部分隐藏在图像帧中、该对象以不规则或不常见的方式相对于(一个或多个)相机104定位和/或定向、和/或影响该对象在正被分析的图像帧中的表示方式的其他因素。
55.部分隐藏、不规则姿势和/或影响对象在图像帧内的出现形式的其他此类因素通常在本质上是暂时的。因此,虽然基于ai视觉的驾驶员辅助系统分析器208可能无法在某个时间点检测和/或识别出该对象,但基于ai视觉的驾驶员辅助系统分析器208可能能够在不同的时间点识别出该对象(例如,对象变得完全可见、对象移动到更常见的姿势等)。因此,在一些示例中,对运动矢量边界框与基于ai的边界框的比较是跨时间的比较。即,当示例边界框分析器212确定特定运动矢量边界框不匹配相应图像帧中的任何基于ai的边界框时,在将该运动边界框标注为与未识别出的对象相关联之前,边界框分析器212可以搜索先前分析的图像帧以确定相应的运动矢量边界框是否曾经匹配基于ai的边界框。即,虽然驾驶员辅助系统分析器208可能未识别出当前正在分析的图像帧中的对象,但如果驾驶员辅助系统分析器208在先前的图像帧中识别出同一对象,则边界框分析器212可以使用与先前图像帧中相应的运动矢量边界框相关联的标签(应是除“未识别出的对象”之外的标签)作为分配给当前正在分析的图像帧中的运动矢量边界框的标签。
56.如果没有其中驾驶员辅助系统分析器208能够识别出特定对象的先前图像帧(从而与该对象相关联的运动矢量边界框都不具有特定标签),则运动矢量边界框将被标注这样的标签:该标签指示这些运动矢量边界框对应于未识别出的对象。然而,如果示例边界框分析器212稍后标识出与同一对象相关联的运动矢量边界框与随后分析的图像帧中的对应的基于ai的边界框之间的匹配,则与先前分析的图像帧相关联的元数据可被更新以移除相关联的运动矢量边界框的“未识别出的对象”标签,并将其替换为与随后分析的图像帧的所匹配的基于ai的边界框中的对象相对应的标签。
57.为了跨不匹配相应的基于ai的边界框的多个不同图像帧正确地关联相应的运动矢量边界框,示例边界框分析器212可以向用未识别出的对象标签来标注的每个运动矢量边界框分配索引号。在一些示例中,跨多个不同图像帧使用相同索引号,只要运动矢量边界框对应于这些图像帧中表示的同一底层对象。这样,一旦可以根据一系列图像中的运动矢量边界框与基于ai的边界框匹配而为对象标识特定标签,就可以将该特定标签应用于先前图像帧中所有具有相同索引的运动矢量边界框。额外地或替代地,索引可以是随这样的每个后续图像帧增加的运行编号索引:在该后续图像帧中,所生成的运动矢量边界框不与相应的基于ai的边界框匹配。以这种方式,运行索引号定义了有多少图像帧具有未识别出的对象,一旦确定了正确的标签,就可以用特定标签来更新这些对象。
58.图12-图14示出了一系列图像帧(如由图1的示例车辆102的(一个或多个)相机104所看到)经历由本文公开的示例系统进行的分析的示例。图12示出了被示例运动矢量对象检测分析器210处理的一系列图像帧。每个图像帧包含围绕在检测到的骑车者周围的边界框,该边界框是基于根据对骑车者的特征(例如速度、距(一个或多个)相机104的距离、或跨
图像帧的移动方向)的分析而生成的运动矢量的。图13示出了被基于ai视觉的示例驾驶员辅助系统分析器208处理的一系列图像帧。在图13的图示示例中,该系列中的第一、第四和第五图像帧包括围绕在骑车者周围的基于ai视觉的边界框,该边界框指示基于ai视觉的驾驶员辅助系统分析器208在这些图像中识别出骑车者。基于识别出骑车者,图13中的第一、第四和第五图像帧中的基于ai的边界框还标注有标签(例如,“自行车(bike)”)以对对象进行分类。然而,在该示例中,驾驶员辅助系统分析器208未能识别在该系列中的第二和第三图像帧中的骑车者。结果是,第二和第三图像帧不包括基于ai的边界框或任何相关联的标签。这个缺点可能是由于训练ai模型时图像数据有限导致ai模型无法在下述情况下识别出和标注骑车者:当骑车者被部分隐藏时,或当骑车者以ai模型还未被训练以识别出的方式在图像帧中定向。图14示出了在由示例边界框分析器212处理之后的一系列图像帧。如图示示例中所示,图12的第一、第四和第五图像帧中的运动矢量边界框匹配图13的第一、第四和第五图像帧中相应的基于ai的边界框。结果是,边界框分析器112将与图13中的基于ai的边界框相关联的标签应用于图12中相应的运动矢量边界框。然而,在第二和第三图像帧中,不存在与这些图像帧的运动矢量边界框匹配的基于ai的边界框。因此,边界框分析器212可以确定图12中所标识的第二和第三图像帧中的对象未被驾驶员辅助系统分析器208识别出,如图13所示。然而,在此示例中,边界框分析器212从相邻的图像帧(在这些图像帧中,运动矢量边界框曾与相应的基于ai的边界框匹配)中检索到标签,而不是用指示对象未被识别出的标签来标注此类运动矢量边界框。结果是,包含最初未被基于ai视觉的示例驾驶员辅助系统分析器208识别出并且未用相应标签标注的骑车者的两个图像帧被更新,以包括运动矢量边界框和与对象关联的标签。因此,图14示出了现在全都被示例车辆102识别出和用标签标记以供解读的一系列图像帧。
59.示例服务器接口214允许示例视觉数据分析系统106与远程服务器110通信(因此允许示例车辆102与远程服务器110通信),以远程处理所获取的数据。
60.虽然在图2中图示了实现图1的视觉数据分析系统106的示例方式,但是可以以任何其他方式组合、划分、重新布置、省略、消除和/或实现图2所图示的元件、过程和/或设备中的一个或多个。此外,可以通过硬件、软件、固件和/或硬件、软件和/或固件的任何组合来实现图2的示例相机接口202、示例图像数据数据库204、示例视频解码器206、示例基于ai视觉的驾驶员辅助系统分析器208、示例运动矢量对象检测分析器210、示例边界框分析器212、示例服务器接口214、和/或更一般地示例视觉数据分析系统106。因此,例如,可以通过一个或多个模拟或数字电路、逻辑电路、(一个或多个)可编程处理器、(一个或多个)可编程控制器、(一个或多个)图形处理单元((一个或多个)gpu)、(一个或多个)数字信号处理器((一个或多个)dsp)、(一个或多个)专用集成电路((一个或多个)asic)、(一个或多个)可编程逻辑器件((一个或多个)pld)和/或(一个或多个)现场可编程逻辑器件((一个或多个)fpld)来实现示例相机接口202、示例图像数据数据库204、示例视频解码器206、示例基于ai视觉的驾驶员辅助系统分析器208、示例运动矢量对象检测分析器210、示例边界框分析器212、示例服务器接口214和/或更一般地示例视觉数据分析系统106中的任一个。当当将本专利的装置权利要求或系统权利要求中的任一项阅读为涵盖纯软件和/或固件实施方案时,示例相机接口202、示例图像数据数据库204、示例视频解码器206、基于ai视觉的示例驾驶员辅助系统分析器208、示例运动矢量对象检测分析器210、示例边界框分析器212、和/或
示例服务器接口214中的至少一者在此明确定义为包括非暂时性计算机可读存储设备或存储盘,诸如包括软件和/或固件的存储器、数字多功能盘(dvd)、压缩盘(cd)、蓝光盘等。更进一步,图1的示例视觉数据分析系统106可以包括一个或多个元件、过程和/或设备作为图2所图示的元件、过程和/或装置的补充或替代,并且/或者可以包括多于一个的所图示的任一或全部的元件、过程和设备。如本文所用,短语“在通信中”(包括其变型)涵盖通过一个或多个中介组件进行的直接通信和/或间接通信,并且不必须是直接物理(例如有线)通信和/或持续不断的通信,而是附加地包括以周期性间隔、预定间隔、非周期性间隔进行的选择性通信和/或一次性事件。
61.在图15-图17中示出了表示用于实现图1和图2的示例视觉数据分析系统106的示例硬件逻辑、机器可读指令、硬件实现的状态机、和/或它们的任何组合的流程图。机器可读指令可以是用于由计算机处理器和/或处理器电路系统(例如下面结合图18讨论的示例处理器平台1800中所示的处理器1812)执行的一个或多个可执行程序或可执行程序的(一个或多个)部分。该程序可以体现在存储在非暂时性计算机可读存储介质(例如cd-rom、软盘、硬盘驱动器、dvd、蓝光光盘或与处理器1812相关联的存储器)上的软件中,但是整个程序和/或其各部分可以替代地由除处理器1812之外的设备执行和/或体现在固件或专用硬件中。此外,虽然示例程序是参照图15-图17中图示出的流程图来描述的,但是可以替代地使用实现示例视觉数据分析系统106的许多其他方法。例如,可以改变块的执行顺序,并且/或者可以改变、消除或组合所描述的一些方框。额外地或替代地,所有方框中的任一个或全部可以由被构造为在不执行软件或固件的情况下执行相应的操作的一个或多个硬件电路(例如,分立和/或集成模拟和/或数字电路系统、fpga、asic、比较器、运算放大器(op-amp)、逻辑电路等)实现。处理器电路系统可以分布在不同的网络位置和/或一个或多个设备(例如,单个机器中的多核心处理器、跨服务器机架分布的多个处理器等)本地。
62.本文描述的机器可读指令可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等中的一种或多种存储。本文描述的机器可读指令可以存储为可用于创建、制造和/或产生机器可执行指令的数据或数据结构(例如,指令、代码、代码表示等的部分)。例如,机器可读指令可以被分段并存储在位于网络或网络集合的相同或不同位置(例如,在云中、在边设备中等)的一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可能需要安装、修改、改编、更新、组合、补充、配置、解密、解压、解包、分发、重新分配、编译等中的一种或多种,以使其直接由计算设备和/或其他机器可读、可解释和/或可执行。例如,机器可读指令可以存储在多个部分中,这些部分被分别压缩、加密并存储在单独的计算设备上,其中这些部分在解密、解压缩和组合时形成一组实现可以一起形成程序(例如这里描述的程序)的一个或多个功能的可执行指令。
63.在另一个示例中,机器可读指令可以被存储在它们可以被处理器电路系统读取的状态下,但是需要添加库(例如,动态链接库(dll))、软件开发工具包(sdk)、应用程序编程接口(api)等,以便在特定计算设备或其他设备上执行指令。在另一个示例中,在机器可读指令和/或相应的程序可以全部或部分执行之前,可能需要配置机器可读指令(例如,存储的设置、数据输入、记录的网络地址等)。因此,本文使用的机器可读介质可以包括机器可读指令和/或(一个或多个)程序,而不管机器可读指令和/或(一个或多个)程序在存储或以其他方式静止或传输时的特定格式或状态。
64.本文描述的机器可读指令可以用任何过去、现在或将来的指令语言、脚本语言、编程语言等来表示。例如,机器可读指令可以使用以下任何一种语言来表示:c、c 、java、c#、perl、python、javascript、超文本标记语言(html)、结构化查询语言(sql)、swift等。
65.如上所述,图15-图17的示例过程可以使用存储在非暂时性计算机和/或机器可读介质(例如硬盘驱动器、闪存、只读存储器、压缩盘、数字多功能盘、高速缓存、随机存取存储器和/或任何其他存储设备或存储盘,其中信息存储任何持续时间(例如,延长的时间段,永久地,简短的瞬间,临时缓冲,和/或缓存信息))上的可执行指令(例如,计算机和/或机器可读指令)实现。如本文所使用的,术语非暂时性计算机可读介质被明确地定义为包括任何类型的计算机可读存储设备和/或存储盘并且不包括传播信号并且不包括传输介质。
66.图15的机器可读指令开始于方框1502,在方框1502,示例视频解码器206将示例车辆102的(一个或多个)相机104所捕捉的视频解码为一系列图像帧。在方框1504,示例视觉数据分析系统106选择图像帧以进行边界框分析。在方框1506,基于ai视觉的示例驾驶员辅助系统分析器208生成并标注(例如使用标签标注)围绕在图像帧中使用经训练的ai模型识别到的对象周围的基于ai的边界框。在一些示例中,可以根据现在存在或将来开发的任何合适的adas技术来开发和/或执行ai模型。在一些示例中,基于ai视觉的驾驶员辅助系统分析器208生成与在图像帧中识别出的不同对象相对应的多个基于ai的边界框。在方框1508,示例运动矢量对象检测分析器210基于所生成的运动矢量,来针对潜在的(一个或多个)感兴趣对象生成(一个或多个)边界框。下面结合图16提供关于方框1508的实现的进一步细节。在一些示例中,方框1506的实现独立于方框1508的实现。因此,任何一个方框的执行可以在另一个方框之前。在一些示例中,方框1506和方框1508并行执行。在方框1510,示例边界框分析器212将所选图像帧中的运动矢量边界框与基于ai的边界框进行比较。在方框1512,示例边界框分析器212确定运动矢量边界框是否与ai边界框相对应。如果在方框1506中生成了多个基于ai的边界框,则示例边界框分析器212可以将在方框1508生成的运动矢量边界框与不同的基于ai的边界框中的每一者进行比较(至少直到检测到匹配为止)。示例边界框分析器212每次对所选图像帧的一对边界框(运动矢量边界框和基于ai的边界框)执行分析。在一些示例中,当运动矢量边界框和基于ai的边界框在图像帧中的大小基本相同(例如在某个阈值内)并且在基本相同的位置(例如在某个阈值内)时,运动矢量边界框与基于ai的边界框相对应或匹配。额外地或替代地,在一些示例中,可以基于边界框所限定的区域之间的重叠量满足(例如超过)阈值来确定这样边界框之间的对应。
67.在方框1512,如果示例边界框分析器212确定图像帧中的运动矢量边界框与基于ai的边界框相对应(例如不匹配),则可以推断由运动矢量边界框表示的对象未被驾驶员辅助系统分析器208识别出。相应地,在这种情况下,机器可读指令进行到图17的方框1702,在方框1702,示例边界框分析器212确定未识别出的对象是否在先前的图像帧中被基于ai视觉的驾驶员辅助系统分析器208检测到并识别出。即,在一些示例中,边界框分析器212确定与被分析的图像帧的未识别出的对象相关联的先前生成的运动矢量边界框是否包括从针对先前在该对象被识别出时的不同图像帧而生成的基于ai的边界框获取的特定标签。在方框1702,如果确定了未识别出的对象在先前图像帧中被基于ai视觉的驾驶员辅助系统检测到,则机器可读指令进行到方框1704,在方框1704,边界框分析器212将从先前图像帧检测到的对象的标签分配给与当前图像帧中未识别出的对象相关联的运动矢量边界框。然而,
如果在方框1702中确定了未识别出的对象没有被基于ai视觉的驾驶员辅助系统分析器208在先前图像帧中检测到,则机器可读指令进行到方框1706,在方框1706,边界框分析器212将“未识别出的对象”标签和索引号分配给与当前帧中未识别出的对象相关联的运动矢量边界框。在方框1708,在方框1704和1706中的每一个方框之后,示例边界框分析器212进行到确定图像帧中是否存在另一运动矢量边界框要被分析。在方框1708,如果另一运动矢量边界框被标识,则示例过程返回到图15的方框1510。在方框1710,一旦当前图像帧中没有其他运动矢量边界框要被分析,则图像帧和所有相关联的元信息被存储在示例图像数据数据库204中。在方框1712,示例边界框分析器212然后确定是否存在另一图像帧要分析。如果在方框1712中另一图像帧被标识,则示例机器可读指令返回到方框1504。一旦没有识别出(一个或多个)其他图像帧要分析,图15-图17的示例过程结束。
68.返回到图15的方框1512,如果示例边界框分析器212确定运动矢量边界框与(例如,匹配)基于ai的边界框相对应,则控制进行到方框1514。在方框1514,示例边界框分析器212将与基于ai的边界框相关联的标签分配到当前图像帧中的运动矢量边界框。在方框1516,边界框分析器212确定(一个或多个)先前图像帧中的(一个或多个)对应运动矢量边界框是否被用“未识别出的对象”标签标注。如果是,则机器可读指令进行到方框1518,在方框1518,示例边界框分析器212更新(一个或多个)先前图像帧以包括与基于ai的边界框相对应的标签。即,示例边界框分析器212移除“未识别出的对象”标签(先前在方框1706分配的)并将与基于ai的边界框相关联的标签分配到(一个或多个)先前图像帧中的(一个或多个)运动矢量边界框中的每一者。在一些示例中,这些更新被存储在示例图像数据数据库204中。此后,控制进行到方框1520。在方框1516,如果边界框分析器212确定(一个或多个)先前图像帧中的(一个或多个)对应运动矢量边界框没有被用“未识别出的对象”标签(例如,这些运动矢量边界框具有基于与相应的基于ai的边界框的先前匹配的特定标签)标注,则控制直接前进到方框1520。在方框1520,将当前图像帧和所有相关联的元信息都存储在示例图像数据数据库204中。一旦存储了所有图像和元信息,机器可读指令进行到方框1708和图17的后续方框,如前所述。
69.图16是表示可以被执行以实现图15的方框1508的示例机器可读指令的流程图。图16的机器可读指令开始于方框1602,在方框1602,示例运动矢量对象检测分析器210在所选择的图像帧(例如,在图15的方框1504选择的图像帧)中定位像素块,以进行分析。在方框1604,示例运动矢量对象检测分析器210标识相邻图像帧(例如,在所选图像帧前面的图像帧)中的相应像素块。在一些示例中,相邻图像帧可以紧邻(一个或多个)相机104所捕捉的视频流中的所选帧。在其他示例中,一个或多个中间图像帧可以按时间顺序位于相邻图像帧和正被分析的所选帧之间。在方框1606,示例运动矢量对象检测分析器210基于所选图像帧与相邻图像帧的像素块的位置差异生成运动矢量。运动矢量指示像素块的运动强度(例如量)以及像素块在所选图像帧与相邻图像帧之间的运动方向。在方框1608,示例运动矢量对象检测分析器210确定经编码运动矢量是否满足(例如超过)强度阈值。如果不是,则控制前进到方框1610,在方框1610,示例运动矢量对象检测分析器210从进一步分析中消除或丢弃运动矢量。此后,控制前进到方框1614。如果示例运动矢量对象检测分析器210在方框1608确定运动矢量满足强度阈值,则机器可读指令前进到方框1612以对运动矢量进行分类以供进一步分析。此后,控制前进到方框1614,在方框1614,运动矢量对象检测分析器210确
定所选图像帧中是否有要分析的另一个像素块。如果是,则指令返回到块1602以迭代该过程。如果图像帧中没有其他像素块要被分析,则在方框1616,示例运动矢量对象检测分析器210将运动矢量分组为一个或多个集群。在一些示例中,单个集群包括在彼此在空间接近度阈值内的所有运动矢量。在方框1618,示例运动矢量对象检测分析器210进行到确定集群之一是否满足阈值。在一些示例中,阈值与被包括在集群内的运动矢量的样本计数相对应。在一些示例中,当集群中的运动矢量的数目超过样本计数阈值时,该集群满足这样的样本计数阈值。额外地或替代地,在一些示例中,阈值与集群的面积或大小相对应。在一些示例中,当集群的大小或面积超过大小阈值时,集群满足这样的大小阈值。如果样本计数阈值不被满足,则控制前进到方框1620,在方框1620,示例运动矢量对象检测分析器210将运动矢量集群从分析中消除或丢弃。此后,控制前进到方框1622。如果集群确实满足阈值,则控制直接前进到方框1622。在方框1622,示例运动矢量对象检测分析器210确定是否存在另一集群要分析。如果是,则控制返回到方框1618。否则,控制前进到方框1624,在方框1624,示例运动矢量对象检测分析器210生成围绕在运动矢量的(一个或多个)剩余集群周围的边界框,以包围限定该运动矢量分组。一旦生成了(一个或多个)运动矢量边界框,指令就返回到图15的方框1510以完成图15-图17的过程。
[0070]“包括”和“包含”(及其所有形式和时态)在本文中用作开放性术语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包含、包括、组成、构成、具有等)作为前序或在任何类型的权利要求叙述内时,应理解为在不超出相应权利要求或引用的范围的情况下,可以存在附加元素、术语等。如本文所使用的,当短语“至少”用作例如权利要求前序中的过渡术语时,它以与术语“包含”和“包括”开放性相同的方式开放性。术语“和/或”当以例如a、b和/或c的形式使用时是指a、b、c的任何组合或子集,例如(1)a单独,(2)b单独,(3)c单独,(4)a与b,(5)a与c,(6)b与c,以及(7)a与b和c。如本文在描述结构、组件、项目、对象和/或事物的上下文中所使用的,短语“a和b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b和(3)至少一个a和至少一个b中的任意的实现。类似地,如本文在描述结构、组件、项目、对象和/或事物的上下文中所使用的,短语“a或b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b和(3)至少一个a和至少一个b中的任意的实现。如本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中所使用的,短语“a和b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b和(3)至少一个a和至少一个b中的任意的实现。类似地,如本文在描述过程、指令、动作、活动和/或步骤的执行或运行的上下文中所使用的,短语“a或b中的至少一个”旨在指代包括(1)至少一个a、(2)至少一个b和(3)至少一个a和至少一个b中的任意的实现。
[0071]
如本文所使用的,单数引用(例如,“冠词a”、“冠词an”、“第一”、“第二”等)不排除复数。如本文所使用的,前有“冠词a”、“冠词an”的实体的术语是指一个或多个该实体。术语“冠词a”(或“冠词an”)、“一个或多个”和“至少一个”在本文中可以互换使用。此外,尽管单独列出,但多个装置、元素或方法动作可以由例如单个单元或处理器来实现。此外,虽然单独的特征可能被包括在不同的示例或权利要求中,但这些特征可能被组合,并且包括在不同的示例或权利要求中并不意味着特征的组合是不可行的和/或有利的。
[0072]
图18是被构造为执行图15-图17的指令以实现图2的示例视觉数据分析系统的示例处理器平台1800的框图。处理器平台1800可以是例如服务器、个人计算机、工作站、自我
学习机器(例如神经网络)、移动设备(例如,手机、智能电话、诸如ipad
tm
之类的平板)、个人数字助理(pda)、互联网装置、dvd播放器、cd播放器、数字录像机、蓝光播放器、游戏机、个人录像机、机顶盒、头戴式耳机或其他可穿戴装置,或任何其他类型的计算装置。
[0073]
所示示例的处理器平台1800包括处理器1812。所示示例的处理器1812是硬件。例如,处理器1812可以由来自任何期望系列或制造商的一个或多个集成电路、逻辑电路、微处理器、gpu、dsp或控制器来实现。硬件处理器可以是基于半导体(例如基于硅的)的设备。在该示例中,处理器实现了视频解码器206、基于ai视觉的驾驶员辅助系统分析器208、运动矢量对象检测分析器210和边界框分析器212。
[0074]
所示示例的处理器1812包括本地存储器1813(例如,高速缓存)。所示示例的处理器1812经由总线1818与包括易失性存储器1814和非易失性存储器1816的主存储器通信。易失性存储器1814可以通过同步动态随机存取存储器(sdram)、动态随机存取存储器(dram)、动态随机存取存储器和/或任何其他类型的随机存取存储器设备来实现。非易失性存储器1816可以由闪存存储器和/或任何其他所需类型的存储器设备来实现。对主存储器1814、1816的访问由存储器控制器控制。
[0075]
所示示例的处理器平台1800还包括接口电路1820。接口电路1820可以通过任何类型的接口标准来实现,例如以太网接口、通用串行总线(usb)、接口、近场通信(nfc)接口和/或pci快速接口。
[0076]
在所示示例中,一个或多个输入设备1822连接到接口电路1820。(一个或多个)输入设备1822允许用户将数据和/或命令输入到处理器1012中。(一个或多个)输入设备可以通过例如音频传感器、麦克风、相机(静止或视频)、键盘、按钮、鼠标、触摸屏、触控板、轨迹球、等值点装置和/或语音识别系统。
[0077]
一个或多个输出设备1824也连接到所示示例的接口电路1820。输出设备1824可以例如由显示设备(例如,发光二极管(led)、有机发光二极管(oled)、液晶显示器(lcd)、阴极射线管显示器(crt)、平面转换(ips)显示器、触摸屏等)、触觉输出设备、打印机和/或扬声器实现。因此,所示示例的接口电路1820通常包括图形驱动器卡、图形驱动器芯片和/或图形驱动器处理器。
[0078]
所示示例的接口电路1820还包括诸如发射器、接收器、收发器、调制解调器、住宅网关、无线接入点和/或网络接口之类的通信设备以促进数据经由网络1826与外部机器(例如,任何种类的计算设备)交换数据。通信可以经由例如以下项进行:以太网连接、数字订户线(dsl)连接、电话线连接、同轴电缆系统、卫星系统、站点线无线系统、蜂窝电话系统等。
[0079]
所示示例的处理器平台1800还包括一个或多个用于存储软件和/或数据的大容量存储设备1828。这种大容量存储设备1828的示例包括软盘驱动器、硬盘驱动磁盘、压缩磁盘驱动器、蓝光磁盘驱动器、独立磁盘冗余阵列(raid)系统和数字多功能磁盘(dvd)驱动器。
[0080]
图15-图17的机器可执行指令1832可以存储在大容量存储设备1828中、易失性存储器1814中、非易失性存储器1816中和/或可移动非暂时性计算机可读存储介质上(例如cd或dvd)。
[0081]
从上文可以理解,已经公开了使用基于运动矢量的对象检测来改进驾驶员辅助视觉系统的示例方法、装置和制品。所公开的方法、装置和制品通过在不使用车辆上或车辆中的额外传感器的情况下标识车辆的基于ai视觉的驾驶员辅助系统遗漏或未识别出的对象,
来提高使用计算设备的效率。因此,与其他技术相比,所提出的解决方案不仅降低了车辆生产和设计的额外成本,而且还减少了重新训练和更新基于ai视觉的驾驶员辅助系统以进行后续对象识别的时间成本。此外,本文公开的示例还提供了标识这样的对象图像的机会:这些对象图像可以被自动用标签标记以用于车辆内ai系统的后续训练。所公开的方法、装置和制品因此所针对的是对计算机功能的一个或多个改进。
[0082]
另外的示例及其组合包括以下各项:
[0083]
示例1包括一种装置,该装置包括运动矢量对象检测分析器,用以生成围绕在第一图像中表示的对象的周围的运动矢量边界框,该运动矢量边界框是基于第一图像相对于第二图像的比较生成的,并且该装置包括边界框分析器,用以确定所述运动矢量边界框是否与基于对所述第一图像的分析而生成的任何基于人工智能(ai)的边界框相对应,所述分析是使用对象检测机器学习模型来进行的,并响应于运动矢量边界框不与基于对第一图像的分析生成的任何基于ai的边界框相对应,而将标签与运动矢量边界框相关联,该标签用以指示对象检测机器学习模型没有识别出第一图像中的对象。
[0084]
示例2包括根据示例1所述的装置,其中,所述运动矢量对象检测分析器用以基于与所述第一图像的不同区域相关联的不同像素块相对于与所述第二图像的对应区域相关联的对应像素块的位移,来针对所述第一图像生成运动矢量。
[0085]
示例3包括根据示例2所述的装置,其中,所述第一图像与所述第二图像之间的像素块的位移量与所述运动矢量中的相应运动矢量的强度相对应,所述运动矢量对象检测分析器用以标识所述运动矢量的子集,所述子集中的每个运动矢量的强度均大于强度阈值。
[0086]
示例4包括根据示例3所述的装置,其中,所述运动矢量对象检测分析器用以基于所述运动矢量的所述子集中的各个不同运动矢量的空间接近度,将所述各个不同运动矢量分组为不同的运动矢量集群。
[0087]
示例5包括根据示例4所述的装置,其中,所述运动矢量边界框用以消除所述不同的运动矢量集群中不满足集群阈值的集群,所述运动矢量边界框与所述不同的运动矢量集群中剩余的一个集群相对应,所述运动矢量边界框用以包围限定所述剩余的一个集群。
[0088]
示例6包括根据示例5所述的装置,其中,所述集群阈值与被包括在集群中的运动矢量的阈值数目相对应。
[0089]
示例7包括根据示例5所述的装置,其中,所述集群阈值与包围被包括在集群中的运动矢量的边界的大小或面积中的至少一者相对应。
[0090]
示例8包括根据示例5所述的装置,其中,所述标签是第一标签,并且第一基于ai的边界框是基于对所述第一图像的分析而生成的,所述第一基于ai的边界框与标识所述对象的对象类别的第二标签相关联,所述边界框分析器用以响应于所述运动矢量边界框与所述第一基于ai的边界框相对应,而将所述第二标签与所述运动矢量边界框相关联。
[0091]
示例9包括根据示例8所述的装置,其中,所述运动矢量边界框是第一运动矢量边界框,所述运动矢量对象检测分析器用以生成围绕在第三图像中表示的对象周围的第二运动矢量边界框,所述边界框分析器用以:确定所述第二运动矢量边界框不与基于对所述第二图像的分析而生成的任何基于ai的边界框相对应,所述分析是使用所述对象检测机器学习模型来进行的;并且将所述第一标签与所述第二运动矢量边界框相关联。
[0092]
示例10包括根据示例1所述的装置,其中,所述运动矢量边界框是第一运动矢量边
界框,并且所述标签是第一标签,所述运动矢量对象检测分析器用以生成围绕在第三图像中表示的对象周围的第二运动矢量边界框,所述边界框分析器用以:确定所述第二运动矢量边界框与基于对所述第二图像的分析而生成的基于ai边界框相对应,所述基于ai的边界框包围限定所述第三图像中表示的对象,所述基于ai的边界框与标识该对象的对象类别的第二标签相关联;并且将所述第二标签与所述第二运动矢量边界框相关联。
[0093]
示例11包括根据示例10所述的装置,其中,所述边界框分析器用以移除与所述第一运动矢量边界框相关联的所述第一标签,并且将所述第二标签与所述第一运动矢量边界框相关联。
[0094]
示例12包括根据示例1所述的装置,其中,所述边界框分析器用以标识所述第一图像,以使所述第一图像被包括在用于所述对象检测机器学习模型的后续图像训练集中。
[0095]
示例13包括根据示例1所述的装置,其中,所述第一图像是由安装到车辆的相机捕捉的。
[0096]
示例14包括根据示例13所述的装置,其中,所述运动矢量对象检测分析器和边界框分析器由所述车辆携带。
[0097]
示例15包括根据示例14所述的装置,还包括:基于ai视觉的驾驶员辅助系统分析器,用以执行所述对象检测机器学习模型,所述基于ai视觉的驾驶员辅助系统分析器要由所述车辆携带。
[0098]
示例16包括一种方法,该方法包括:通过使用至少一个处理器执行指令,来生成围绕在第一图像中表示的对象周围的运动矢量边界框,所述运动矢量边界框是基于所述第一图像相对于第二图像的比较而生成的;通过使用所述至少一个处理器执行指令,来确定所述运动矢量边界框是否与基于对所述第一图像的分析而生成的任何基于人工智能(ai)的边界框相对应,所述分析是使用对象检测机器学习模型来进行的;并且响应于所述运动矢量边界框不与基于对所述第一图像的分析而生成的任何基于ai的边界框相对应,而通过使用所述至少一个处理器执行指令,来将标签与所述运动矢量边界框相关联,所述标签用以指示所述对象检测机器学习模型没有识别出所述第一图像中的所述对象。
[0099]
示例17包括根据示例16所述的方法,还包括:基于与所述第一图像的不同区域相关联的不同像素块相对于与所述第二图像的对应区域相关联的对应像素块的位移,来针对所述第一图像生成运动矢量。
[0100]
示例18包括根据示例17所述的方法,其中,所述第一图像与所述第二图像之间的像素块的位移量与所述运动矢量中的相应运动矢量的强度相对应,所述方法还包括:标识所述运动矢量的子集,所述子集中的每个运动矢量的强度均大于强度阈值。
[0101]
示例19包括根据示例18所述的方法,还包括:基于所述运动矢量的所述子集中的各个不同运动矢量的空间接近度,将所述各个不同运动矢量分组为不同的运动矢量集群。
[0102]
示例20包括根据示例19所述的方法,还包括:消除所述不同的运动矢量集群中不满足集群阈值的集群,所述运动矢量边界框与所述不同的运动矢量集群中剩余的一个集群相对应,所述运动矢量边界框用以包围限定所述剩余的一个集群。
[0103]
示例21包括根据示例20所述的方法,其中,所述集群阈值与被包括在集群中的运动矢量的阈值数目相对应。
[0104]
示例22包括根据示例20所述的方法,其中,所述集群阈值与包围被包括在集群中
的运动矢量的边界的大小或面积中的至少一者相对应。
[0105]
示例23包括根据示例20所述的方法,其中,所述标签是第一标签,并且第一基于ai的边界框是基于对所述第一图像的分析而生成的,所述第一基于ai的边界框与标识所述对象的对象类别的第二标签相关联,所述方法还包括:响应于所述运动矢量边界框与所述第一基于ai的边界框相对应,而将所述第二标签与所述运动矢量边界框相关联。
[0106]
示例24包括根据示例23所述的方法,其中,所述运动矢量边界框是第一运动矢量边界框,所述方法还包括:生成围绕在第三图像中表示的对象周围的第二运动矢量边界框;确定所述第二运动矢量边界框不与基于对所述第二图像的分析而生成的任何基于ai的边界框相对应,所述分析是使用所述对象检测机器学习模型来进行的;并且将所述第一标签与所述第二运动矢量边界框相关联。
[0107]
示例25包括根据示例16所述的方法,其中,所述运动矢量边界框是第一运动矢量边界框,并且所述标签是第一标签,所述方法还包括:生成围绕在第三图像中表示的对象周围的第二运动矢量边界框;确定所述第二运动矢量边界框与基于对所述第二图像的分析而生成的基于ai边界框相对应,所述基于ai的边界框包围限定所述第三图像中表示的对象,所述基于ai的边界框与标识该对象的对象类别的第二标签相关联;并且将所述第二标签与所述第二运动矢量边界框相关联。
[0108]
示例26包括根据示例25所述的方法,还包括:移除与所述第一运动矢量边界框相关联的所述第一标签;并且将所述第二标签与所述第一运动矢量边界框相关联。
[0109]
示例27包括根据示例16所述的方法,还包括:标识所述第一图像,以使所述第一图像被包括在用于所述对象检测机器学习模型的后续图像训练集中。
[0110]
示例28包括一种非暂时性计算机可读介质,该非暂时性计算机可读介质包括指令,这些指令当被执行时使得至少一个处理器执行以下操作:生成围绕在第一图像中表示的对象周围的运动矢量边界框,所述运动矢量边界框是基于所述第一图像相对于第二图像的比较而生成的;确定所述运动矢量边界框是否与基于对所述第一图像的分析而生成的任何基于人工智能(ai)的边界框相对应,所述分析是使用对象检测机器学习模型来进行的;并且响应于所述运动矢量边界框不与基于对所述第一图像的分析而生成的任何基于ai的边界框相对应,而将标签与所述运动矢量边界框相关联,所述标签用以指示所述对象检测机器学习模型没有识别出所述第一图像中的所述对象。
[0111]
示例29包括根据示例28所述的非暂时性计算机可读介质,其中,这些指令还使得至少一个处理器执行以下操作:基于与所述第一图像的不同区域相关联的不同像素块相对于与所述第二图像的对应区域相关联的对应像素块的位移,来针对所述第一图像生成运动矢量。
[0112]
示例30包括根据示例29所述的非暂时性计算机可读介质,其中,所述第一图像与所述第二图像之间的像素块的位移量与所述运动矢量中的相应运动矢量的强度相对应,这些指令使得至少一个处理器执行以下操作:标识所述运动矢量的子集,该相关联的子集中的每个运动矢量的强度均大于强度阈值。
[0113]
示例31包括根据示例30所述的非暂时性计算机可读介质,其中,这些指令还使得至少一个处理器执行以下操作:基于所述运动矢量的所述子集中的各个不同运动矢量的空间接近度,将所述各个不同运动矢量分组为不同的运动矢量集群。
[0114]
示例32包括根据示例31所述的非暂时性计算机可读介质,其中,这些指令进一步使得至少一个处理器执行以下操作:消除所述不同的运动矢量集群中不满足集群阈值的集群,所述运动矢量边界框与所述不同的运动矢量集群中剩余的一个集群相对应,所述运动矢量边界框用以包围限定所述剩余的一个集群。
[0115]
示例33包括根据示例32的非暂时性计算机可读介质,其中,所述集群阈值与被包括在集群中的运动矢量的阈值数目相对应。
[0116]
示例34包括根据示例32所述的非暂时性计算机可读介质,其中,所述集群阈值与包围被包括在集群中的运动矢量的边界的大小或面积中的至少一者相对应。
[0117]
示例35包括根据示例32所述的非暂时性计算机可读介质,其中,所述标签是第一标签,并且第一基于ai的边界框是基于对所述第一图像的分析而生成的,所述第一基于ai的边界框与标识所述对象的对象类别的第二标签相关联,这些指令使得至少一个处理器执行以下操作:响应于所述运动矢量边界框与所述第一基于ai的边界框相对应,而将所述第二标签与所述运动矢量边界框相关联。
[0118]
示例36包括根据示例35所述的非暂时性计算机可读介质,其中,所述运动矢量边界框是第一运动矢量边界框,这些指令使得至少一个处理器执行以下操作:生成围绕在第三图像中表示的对象周围的第二运动矢量边界框;确定所述第二运动矢量边界框不与基于对所述第二图像的分析而生成的任何基于ai的边界框相对应,所述分析是使用所述对象检测机器学习模型来进行的;并且将所述第一标签与所述第二运动矢量边界框相关联。
[0119]
示例37包括根据示例28所述的非暂时性计算机可读介质,其中,所述运动矢量边界框是第一运动矢量边界框,并且所述标签是第一标签,这些指令使得至少一个处理器执行以下操作:生成围绕在第三图像中表示的对象周围的第二运动矢量边界框;确定所述第二运动矢量边界框与基于对所述第二图像的分析而生成的基于ai边界框相对应,所述基于ai的边界框包围限定所述第三图像中表示的对象,所述基于ai的边界框与标识该对象的对象类别的第二标签相关联;并且将所述第二标签与所述第二运动矢量边界框相关联。
[0120]
示例38包括根据示例37所述的非暂时性计算机可读介质,其中,这些指令进一步使得至少一个处理器执行以下操作:移除与所述第一运动矢量边界框相关联的所述第一标签;并且将所述第二标签与所述第一运动矢量边界框相关联。
[0121]
示例39包括根据示例28所述的非暂时性计算机可读介质,这些指令进一步使得处理器执行以下操作:标识所述第一图像,以使所述第一图像被包括在用于所述对象检测机器学习模型的后续图像训练集中。
[0122]
示例40包括一种装置,该装置包括:用于生成围绕在第一图像中表示的对象周围的运动矢量边界框的装置,所述运动矢量边界框是基于所述第一图像相对于第二图像的比较而生成的;以及用于分析边界框的装置,用以:确定所述运动矢量边界框是否与基于对所述第一图像的分析而生成的任何基于人工智能(ai)的边界框相对应,所述分析是使用对象检测机器学习模型来进行的;并且响应于所述运动矢量边界框不与基于对所述第一图像的分析而生成的任何基于ai的边界框相对应,而将标签与所述运动矢量边界框相关联,所述标签用以指示所述对象检测机器学习模型没有识别出所述第一图像中的所述对象。
[0123]
示例41包括根据示例40所述的装置,其中,所述生成装置用以基于与所述第一图像的不同区域相关联的不同像素块相对于与所述第二图像的对应区域相关联的对应像素
块的位移,来针对所述第一图像生成运动矢量。
[0124]
示例42包括根据示例41所述的装置,其中,所述第一图像与所述第二图像之间的像素块的位移量与所述运动矢量中的相应运动矢量的强度相对应,所述生成装置用以标识所述运动矢量的子集,所述子集中的每个运动矢量的强度均大于强度阈值。
[0125]
示例43包括根据示例42所述的装置,其中,所述生成装置用以基于所述运动矢量的所述子集中的各个不同运动矢量的空间接近度,将所述各个不同运动矢量分组为不同的运动矢量集群。
[0126]
示例44包括根据示例43所述的装置,其中,所述运动矢量边界框用以消除所述不同的运动矢量集群中不满足集群阈值的集群,所述运动矢量边界框与所述不同的运动矢量集群中剩余的一个集群相对应,所述运动矢量边界框用以包围限定所述剩余的一个集群。
[0127]
示例45包括根据示例44所述的装置,其中,所述集群阈值与被包括在集群中的运动矢量的阈值数目相对应。
[0128]
示例46包括根据示例44所述的装置,其中,所述集群阈值与包围被包括在集群中的运动矢量的边界的大小或面积中的至少一者相对应。
[0129]
示例47包括示根据例44所述的装置,其中,所述标签是第一标签,并且第一基于ai的边界框是基于对所述第一图像的分析而生成的,所述第一基于ai的边界框与标识所述对象的对象类别的第二标签相关联,所述分析装置用以响应于所述运动矢量边界框与所述第一基于ai的边界框相对应,而将所述第二标签与所述运动矢量边界框相关联。
[0130]
示例48包括根据示例47所述的装置,其中,所述运动矢量边界框是第一运动矢量边界框,所述生成装置用以生成围绕在第三图像中表示的对象周围的第二运动矢量边界框,所述分析装置用以:确定所述第二运动矢量边界框不与基于对所述第二图像的分析而生成的任何基于ai的边界框相对应,所述分析是使用所述对象检测机器学习模型来进行的;并且将所述第一标签与所述第二运动矢量边界框相关联。
[0131]
示例49包括根据示例40所述的装置,其中,所述运动矢量边界框是第一运动矢量边界框,并且所述标签是第一标签,所述生成装置用以生成围绕在第三图像中表示的对象周围的第二运动矢量边界框,所述分析装置用以:确定所述第二运动矢量边界框与基于对所述第二图像的分析而生成的基于ai边界框相对应,所述基于ai的边界框包围限定所述第三图像中表示的对象,所述基于ai的边界框与标识该对象的对象类别的第二标签相关联;并且将所述第二标签与所述第二运动矢量边界框相关联。
[0132]
示例50包括根据示例49所述的装置,其中,所述分析装置用以:移除与所述第一运动矢量边界框相关联的所述第一标签;并且将所述第二标签与所述第一运动矢量边界框相关联。
[0133]
示例51包括根据示例40所述的装置,其中,所述分析装置用以标识所述第一图像,以使所述第一图像被包括在用于所述对象检测机器学习模型的后续图像训练集中。
[0134]
尽管本文已公开了某些示例方法、装置和制品,但本专利的覆盖范围不限于此。相反,本专利涵盖了完全落入本专利的权利要求范围内的所有方法、装置和制品。
[0135]
所附权利要求特此通过援引合并到本具体实施方式中,其中每个权利要求独立作为本公开的单独实施例。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献