首页 / 专利库 / 工业自动化和数控机床 / 传感器系统 / 用于自动驾驶车辆中的闭环感知的方法和系统

用于自动驾驶车辆中的闭环感知的方法和系统

阅读:547发布:2024-02-19

专利汇可以提供用于自动驾驶车辆中的闭环感知的方法和系统专利检索,专利查询,专利分析的服务。并且本示教涉及全局模型更新中心的方法、系统、介质和实施方式。在模型更新中心中建立至少一个模型,其用于检测车队中的各个自动驾驶车辆周围的物体。从自动驾驶车辆的车队,接收多个标记的数据项目,其中,各个标记的数据项目是基于所述至少一个模型,从描绘自动驾驶车辆周围情况的 传感器 数据检测出的。标记的数据项目由自动驾驶车辆即时地自动生成。基于所接收的标记的数据项目,至少一些模型得到更新,且相应地生成模型更新信息。这样生成的模型更新信息于是被分发到自动驾驶车辆的车队。,下面是用于自动驾驶车辆中的闭环感知的方法和系统专利的具体信息内容。

1.一种在计算机上实现的方法,该计算机具有至少一个处理器、存储器以及通信平台,该方法用于自动驾驶车辆中的原位感知,其包括:
接收由配置在车辆上的多种类型的传感器连续获取的多种类型的传感器数据,其中,所述多种类型的传感器数据提供关于车辆周围情况的信息;
根据至少一个模型,由所述多种类型传感器中第一类型的一个以上传感器所获取的所述多种类型传感器数据中的第一类型,跟踪一个以上的项目,其中,所述一个以上项目出现在车辆的周围;
经由所述一个以上项目的交叉模态验证和交叉时态验证中的至少一种,即时地对所述一个以上项目中的至少一些自动进行标记;
经由通信平台,将标记的所述至少一些项目中的至少一个发送到模型更新中心;
从模型更新中心接收用于更新所述至少一个模型的模型更新信息,其中,模型更新信息由模型更新中心基于标记的所述一个以上项目中的所述至少一些得出;以及基于所接收的模型更新信息,更新所述至少一个模型。
2.权利要求1的方法,其中,所述一个以上项目中的所述至少一些的每一个被标记为以下之一:
出现在车辆周围的物体;
非物体;以及
未有定论的项目,其中,
各个标记是与在该标记中表示置信程度的量度结合提供的,且
与项目相关联的各个标记是关于时间提供的。
3.权利要求1的方法,其中,经由交叉模态验证来标记的步骤包括:
从所述多种类型传感器中第二类型的至少一个传感器获得所述多种类型传感器数据中的第二类型,以及
基于所获得的第二类型的传感器数据,生成验证基础数据;
在各个时间点上,对于所述一个以上项目中的所述至少一些的每一个,
将在该时间点上获取的验证基础数据的一部分登记到在该时间点上跟踪的项目,基于所述验证基础数据的所述一部分,即时地对该时间点上的项目进行交叉验证,以生成对应的交叉模态验证结果,
关于该项目,对交叉模态验证结果进行评估,以及
基于与具有和该时间点一致的时间戳的交叉模态验证结果相对应的标记,对该项目进行标记。
4.权利要求1的方法,其中,经由交叉时态验证来标记的步骤包括,对于所述一个以上项目中的所述至少一些的每一个,
基于跟踪该项目的置信平,确定对于该项目的推算标记;
读取与该项目对应的、在先前标记的项目,其中,先前标记的项目中的每一个具有对应的先前的标记;
评估先前的标记和推算标记之间的一致性;
如果推算标记与先前的标记一致,将推算标记分配给该项目;以及
如果推算标记与先前的标记不一致,
如果推算标记被判断为能够消除不一致,将推算标记分配给该项目以及先前标记的项目,
如果先前的标记是一致的并且能够消除不一致,将先前的标记分配给该项目,以及当不一致没有被消除时,将推算标记分配给该项目。
5.权利要求4的方法,其中,基于关于该项目的交叉模态验证的结果,确定该项目的推算标记。
6.权利要求1的方法,进一步包括,基于关于所述至少一个模型中的哪些模型将被全局更新的判断,选择标记的所述至少一些项目中的所述至少一个。
7.一种记录有数据的机器可读且非暂时性的介质,该数据用于自动驾驶车辆中的原位感知,其中,该数据一旦被机器读取,使得机器执行:
接收由配置在车辆上的多种类型的传感器连续获取的多种类型的传感器数据,其中,所述多种类型的传感器数据提供关于车辆周围情况的信息;
根据至少一个模型,由所述多种类型传感器中第一类型的一个以上传感器所获取的所述多种类型传感器数据中的第一类型,跟踪一个以上的项目,其中,所述一个以上项目出现在车辆的周围;
经由所述一个以上项目的交叉模态验证和交叉时态验证中的至少一种,即时地对所述一个以上项目中的至少一些自动进行标记;
经由通信平台,将标记的所述至少一些项目中的至少一个发送到模型更新中心;
从模型更新中心接收用于更新所述至少一个模型的模型更新信息,其中,模型更新信息由模型更新中心基于标记的所述一个以上的项目中的所述至少一些得出;以及基于所接收的模型更新信息,更新所述至少一个模型。
8.权利要求7的介质,其中,所述一个以上项目中的所述至少一些的每一个被标记为以下之一:
出现在车辆周围的物体;
非物体;以及
未有定论的项目,其中,
各个标记是与在该标记中表示置信程度的量度结合提供的,且
与项目相关联的各个标记是关于时间提供的。
9.权利要求7的介质,其中,经由交叉模态验证来标记的步骤包括:
从所述多种类型传感器中第二类型的至少一个传感器获得所述多种类型传感器数据中的第二类型,以及
基于所获得的第二类型的传感器数据,生成验证基础数据;
在各个时间点上,对于所述一个以上项目中的所述至少一些的每一个,
将在该时间点上获取的验证基础数据的一部分,登记到在该时间点上跟踪的项目,基于验证基础数据的所述一部分,即时地对该时间点上的项目进行交叉验证,以生成对应的交叉模态验证结果,
关于该项目,对交叉模态验证结果进行评估,以及
基于与具有和该时间点一致的时间戳的交叉模态验证结果相对应的标记,对该项目进行标记。
10.权利要求7的介质,其中,经由交叉时态验证来标记的步骤包括,对于所述一个以上项目中的所述至少一些的每一个,
基于跟踪该项目的置信水平,确定对于该项目的推算标记;
读取与该项目对应的、在先前标记的项目,其中,先前标记的项目中的每一个具有对应的先前的标记;
评估先前的标记和推算标记之间的一致性;
如果推算标记与先前的标记一致,将推算标记分配给该项目;以及
如果推算标记与先前的标记不一致,
如果推算标记被判断为能够消除不一致,将推算标记分配给该项目以及先前加标记的项目,
如果先前的标记是一致的并且能够消除不一致,将先前的标记分配给该项目,以及当不一致没有被消除时,将推算标记分配给该项目。
11.权利要求10的介质,其中,基于关于该项目的交叉模态验证的结果,确定该项目的推算标记。
12.权利要求7的介质,其中,该数据在由机器读取时进一步使得机器执行:基于关于所述至少一个模型中的哪些模型将被全局更新的判断,选择标记的所述至少一些项目中的所述至少一个。
13.一种用于自动驾驶车辆中的原位感知的系统,包括:
一个以上的传感器数据接收器,其被配置为接收由配置在车辆上的多种类型的传感器连续获取的多种类型的传感器数据,其中,所述多种类型传感器数据提供关于车辆周围情况的信息;
物体检测与跟踪单元,其被配置为根据至少一个模型,由所述多种类型传感器中第一类型的一个以上传感器所获取的所述多种类型传感器数据中的第一类型,跟踪一个以上的项目,其中,所述一个以上项目出现在车辆的周围;
即时数据标记单元,其被配置为经由所述一个以上项目的交叉模态验证和交叉时态验证中的至少一种,即时地对所述一个以上项目中的至少一些自动进行标记;
全局模型更新单元,其被配置为:
经由通信平台,将标记的所述至少一些项目中的至少一个发送到模型更新中心;
从模型更新中心接收用于更新所述至少一个模型的模型更新信息,其中,模型更新信息由模型更新中心基于标记的所述一个以上项目中的所述至少一些得出;以及基于所接收的模型更新信息,更新所述至少一个模型。
14.权利要求13的系统,其中,所述一个以上项目中的所述至少一些的每一个被标记为以下之一:
出现在车辆周围的物体;
非物体;以及
未有定论的项目,其中,
各个标记是与在该标记中表示置信程度的量度结合提供的,且
与项目相关联的各个标记是关于时间提供的。
15.权利要求13的系统,其中,即时数据标记单元包括:
至少一个传感器数据收集器,其被配置为从所述多种类型传感器中第二类型的至少一个传感器获得所述多种类型传感器数据中的第二类型,
验证基础数据生成器,其被配置为基于所获得的第二类型的传感器数据,生成验证基础数据;
交叉模态验证单元,其被配置为在各个时间点上,对于所述一个以上项目中的所述至少一些的每一个,执行:
将在该时间点上获取的验证基础数据的一部分登记到在该时间点上跟踪的项目,基于所述验证基础数据的所述一部分,即时地对该时间点上的项目进行交叉验证,以生成对应的交叉模态验证结果,
关于该项目,对交叉模态验证结果进行评估,以及
基于与具有和该时间点一致的时间戳的交叉模态验证结果相对应的标记,对该项目进行标记。
16.权利要求15的系统,其中,即时数据标记单元进一步包括交叉时态验证单元,其被配置为,对于所述一个以上项目中的所述至少一些的每一个,执行:
基于跟踪该项目的置信水平,获得对于该项目的推算标记;
读取与该项目对应的、在先前标记的项目,其中,先前标记的项目中的每一个具有对应的先前的标记;
评估先前的标记和推算标记之间的一致性;
如果推算标记与先前的标记一致,将推算标记分配给该项目;以及
如果推算标记与先前的标记不一致,
如果推算标记被判断为能够消除不一致,将推算标记分配给该项目以及先前加标记的项目,
如果先前的标记是一致的并且能够消除不一致,将先前的标记分配给该项目,以及当不一致没有被消除时,将推算标记分配给该项目。
17.权利要求16的系统,其中,基于关于该项目的交叉模态验证的结果,确定该项目的推算标记。
18.权利要求13的系统,进一步包括关心事件选择器,其被配置为,基于关于所述至少一个模型中的哪些模型将被全局更新的判断,选择标记的所述至少一些项目中的所述至少一个。
19.一种在计算机上实现的方法,该计算机具有至少一个处理器、存储器以及通信平台,该方法用于模型更新中心,其包括:
建立至少一个模型,其用于检测自动驾驶车辆周围的物体;
从自动驾驶车辆的车队,接收多个标记的数据项目,其中的每一个是基于所述至少一个模型从描绘自动驾驶车辆周围情况的传感器检测出的,其中,标记的数据项目由自动驾驶车辆即时地自动生成;
基于所述多个标记的数据项目,更新所述至少一个模型中的至少一些;
基于更新后的所述至少一个模型中的所述至少一些,生成模型更新信息;
将模型更新信息分发到自动驾驶车辆的车队。
20.权利要求19的方法,其中,模型更新中心驻留在之中,所述云包括多个分布式模型更新中心。

说明书全文

用于自动驾驶车辆中的闭环感知的方法和系统

[0001] 相关申请的交叉引用
[0002] 本申请要求于2017年6月6日提交的美国申请15/615,284的优先权,该申请全文并入此处作为参考。

技术领域

[0003] 本示教主要涉及计算机辅助的感知。具体而言,本示教涉及自适应的计算机辅助感知。

背景技术

[0004] 随着近来在人工智能(AI)方面的技术发展,出现了在不同应用领域中应用AI的浪潮。这包括自动驾驶领域,在该领域中,识别并跟踪车辆周围的物体或障碍物至关重要。传统而言,在车辆四周安装传感器,以便持续地收集周边数据。接着,对收集的数据实时地进行分析,从而检测障碍物,以便控制车辆闪避这些障碍物。2D传感器和3D传感器都已经在这些应用中得到使用。例如,可安装照相机以收集2D图像,并对这些2D图像进行分析,以检测物体。又例如激光雷达(LiDAR)以及其他的3D传感器可用于收集3D深度数据,从而提供关于车辆与障碍物之间距离的信息。
[0005] 传感器相当于是自动驾驶车辆的眼睛。但是,不同传感器有着不同的局限。例如,已经知道,2D照相机对照明条件非常敏感,比如一天当中不同的时间以及天气(诸如下雨或下)都会产生不同的影响。2D图像也不能提供深度测量。尽管距离能基于使用多个照相机的传统的立体视觉(stereo)来推算,这种推算在计算方面成本昂贵,且速度缓慢,经常不能用于生成足够的密度深度图(depth map)。虽然例如激光雷达等的3D传感器已经用于获取深度信息以生成周边障碍物的点,这种传感技术也具有范围有限、以及数据密度低等局限性。
[0006] 除了传感器局限以外,当前,自动驾驶领域中的计算机辅助感知系统还有其他的缺点。例如,为了适应不同情况的动态(dynamics),常常使用学习机制。然而,众所周知,在学习如何高效的生成有意义的适应用训练数据方面仍然存在瓶颈问题。传统而言,训练数据需要手动或者半手动地进行标记,这使得即时(on-the-fly)适应例如实时地进行自我校正非常困难、即使不是完全做不到。由于涉及手动工作,生成训练数据不仅太慢,而且成本非常的高。
[0007] 另外,自动驾驶迄今为止仍停留在示范性展示阶段。许多研究和实施没有将涉及车队(可能是几千辆车以上)时所需配置的技术可扩展性(scalability)考虑在内。例如,几千辆车每天走在路上,频繁地收集反应许多不同动态的数据。这些数据提供丰富的信息源用于连续的适应调整。然而,由于传统方法不能即时地对这些数据加标记来产生有意义的训练数据,如何在车辆运行的同时进行适应仍是个未解决的问题。另外,考虑到车队能收集的数据的体量,如何基于几千辆车的经验进行适应仍是个未能解决的问题。
[0008] 因此,存在这样的需求:提供一种用于自动驾驶中的计算机辅助感知系统的、改进的解决方案。发明内容
[0009] 这里公开的示教涉及用于在线服务的方法、系统和程序设计。具体而言,本示教涉及用于开发能与用户对话的虚拟代理的方法、系统和程序设计。
[0010] 在一实例中,公开了用于模型更新中心的方法。在模型更新中心,建立了至少一个模型用于检测车队中每一辆自动驾驶车辆周边的物体。从该队自动驾驶车辆接收多个加标记的数据项,其中,各个加标记的数据项是基于所述至少一个模型从对自动驾驶车辆的周边进行表征的传感器数据检测出的。由自动驾驶车辆即时地自动生成加标记的数据项。基于所接收的加标记的数据项,对至少一些模型进行更新,并相应地生成模型更新信息。然后,将如此生成的模型更新信息分发给该车队的自动驾驶车辆。
[0011] 在一不同的实例中,公开了用于自动驾驶车辆中的原位感知(in  situ perception)的方法。首先,接收由布置在车辆上的多种类型的传感器连续获取的多种类型的传感器数据,其中,所述多种类型的传感器数据提供了关于车辆周围环境的信息。基于某些模型,由所述多种类型的传感器中第一类型的一个或多个传感器所获取的所述多种类型的传感器数据中的第一种,对自动驾驶车辆周围的一个或多个的项目进行跟踪。经由所述的一个或多个项目的交叉模态验证和交叉时态验证中的至少一种,即时地自动对所述的一个或多个项目中的至少一些进行标记。将标记的项目中的至少一个发送到模型更新中心。当从模型更新中心接收到模型更新信息时,根据模型更新信息对所述至少一个模型进行更新,其中,模型更新信息是基于至少一个被标记的项目得出的。
[0012] 在另一实例中,公开了用于自动驾驶车辆中的原位感知的系统。用于原位感知的系统包括:一个或多个的传感器数据接收器,其被配置用于接收由布置在车辆上的多种类型的传感器连续获取的多种类型的数据,其中,所述多种类型的传感器数据提供了关于车辆周围环境的信息;物体检测与跟踪单元,其被配置为根据至少一个模型,由所述的多种类型的传感器中第一类型的一个以上传感器所获取的所述多种类型的传感器数据中的第一种,来跟踪一个或多个的项目,其中,所述一个或多个的项目出现在车辆周围;即时数据标记单元,其被配置为,经由所述至少一个或多个项目的交叉模态验证和交叉时态验证中的至少一种,即时的自动对所述一个或多个项目中的至少一些进行标记;以及,全局模型更新单元,其被配置为,经由通信平台,将标记后的至少一些项目中的至少一个发送到模型更新中心,从远程模型更新中心接收用于对所述至少一个模型进行更新的模型更新信息,并基于所接收的模型更新信息对所述至少一个模型进行更新,其中,模型更新信息是由远程模型更新中心基于所标记的一个或多个的项目中的所述至少一些得出的。
[0013] 其他概念涉及用于实现这里给出的关于开发虚拟代理的示教的软件。根据此概念的软件产品包括至少一个机器可读的非暂时性介质以及由该介质承载的信息。该介质承载的信息可以是可执行程序代码数据,与可执行程序代码相关联的参数,和/或与具体用户、请求、内容有关的信息或与社会群体等有关的信息。
[0014] 在一实例中,公开了机器可读的非暂时性介质,其中,该介质上记录有用于原位感知的信息,使该信息在被机器读取时机器会执行多种步骤。首先,接收由布置在车辆上的多种类型的传感器连续获取的多种类型的传感器数据,其中,所述多种类型的传感器数据提供关于车辆周围环境的信息。基于某些模型,由所述多种类型的传感器中第一类型的一个以上传感器所获取的所述多种类型的传感器数据中的第一种,对自动驾驶车辆周围的一个或多个的项目进行跟踪。经由所述一个或多个项目的交叉模态验证和交叉时态验证的至少一种,即时地自动对所述一个或多个项目中的至少一些标记。将标记的项目中的至少一个发送到模型更新中心。当从模型更新中心接收到模型更新信息时,根据模型更新信息对所述至少一个模型进行更新,其中,模型更新信息是基于所述至少一个被标记的项目得出的。
[0015] 另外的新特征一部分在下面的说明中给出,一部分将为本领域技术人员在检视下面的说明书以及附图后明了,或者可以通过制造或运行实例来习得。本示教的新特征可以通过对下面讨论的详细实例中给出的方法、设备及组合的多种实施形态的实践或使用来实现或获得。

附图说明

[0016] 这里介绍的方法、系统和/或程序设计以示例性实施例的方式进一步介绍。这些示例性实施例将参照附图详细介绍。这些实施例是非限制性的示例性实施例,其中,贯穿多幅附图,类似的参考标号代表类似的结构,且其中:
[0017] 图1示出了根据本示教一实施例的计算机辅助感知系统的框架,该系统支持自动驾驶车辆的车队;
[0018] 图2示出了能够根据本示教的实施例布置的多模态传感器的示例性类型;
[0019] 图3示出了根据本示教一实施例的原位感知系统的示例性高层次系统图,该系统驻留在自动驾驶车辆内部;
[0020] 图4A示出了根据本示教一实施例的具有示例性结构的示例性物体检测模型;
[0021] 图4B示出了根据本示教一实施例的物体检测模式的示例性类型;
[0022] 图4C示出了根据本示教一实施例的类别模型(class models)的示例性类型;
[0023] 图5为根据本示教一实施例的用于原位感知系统的示例性过程的流程图
[0024] 图6A示出了根据本示教一实施例的物体检测与跟踪单元的示例性高层次系统图;
[0025] 图6B为根据本示教一实施例的物体检测与跟踪单元的示例性过程的流程图;
[0026] 图7A示出了根据本示教一实施例的基于以物体为中心的立体视觉(object centric stereo)的物体/深度检测单元的示例性高层次系统图;
[0027] 图7B示出了根据本示教一实施例的物体/深度检测单元的不同的示例性高层次系统图,该单元基于使用主动传感器的交叉验证增强的以物体为中心的立体视觉;
[0028] 图8A示出了来自道路场景上的两个照相机的二照相机视图;
[0029] 图8B示出了根据本示教一实施例的基于2D图像生成的物体检测结果;
[0030] 图8C示出了根据本示教一实施例的以物体为中心的立体视觉的概念;
[0031] 图9示出了根据本示教一实施例的物体/深度检测单元的示例性过程的流程图;
[0032] 图10示出了根据本示教一实施例的即时数据标记单元的示例性高层次系统图;
[0033] 图11A示出了根据本示教一实施例的示例性交叉模态验证结果;
[0034] 图11B示出了根据本示教一实施例的来自交叉时态验证单元的某些示例性结果;
[0035] 图12为根据本示教一实施例的即时数据标记单元的示例性过程的流程图;
[0036] 图13A示出了根据本示教一实施例的关心事件(event of interest)选择器的示例性高层次系统图;
[0037] 图13B为根据本示教一实施例用于关心事件选择器的示例性过程的流程图;
[0038] 图14示出了根据本示教一实施例的本地模型适应单元的示例性高层次系统图;
[0039] 图15为根据本示教一实施例的本地模型适应单元的示例性过程的流程图;
[0040] 图16示出了根据本示教一实施例的全局模型更新单元的示例性高层次系统图;
[0041] 图17为根据本示教一实施例的全局模型更新单元的示例性过程的流程图;
[0042] 图18示出了根据本示教一实施例的模型更新单元的示例性高层次系统图;
[0043] 图19为根据本示教一实施例的模型更新单元的示例性过程的流程图;
[0044] 图20示出了根据本示教一实施例的经由网络连接与全局模型更新云连接的自动驾驶车队2010的示例性框图
[0045] 图21示出了根据本示教一实施例的模型更新中心的示例性高层次系统图;
[0046] 图22示出了根据本示教一实施例的能配置到自动驾驶车辆的模式的示例性类型;
[0047] 图23示出了根据本示教一实施例的能全局更新的模型的示例性结构;
[0048] 图24为根据本示教一实施例的模型更新中心的示例性过程的流程图;
[0049] 图25示出了能用于实现包含本示教的特定系统的移动装置的架构;以及[0050] 图26示出了能用于实现包含本示教的特定系统的计算机的架构。

具体实施方式

[0051] 在下面的详细介绍中,通过示例的方式给出了多种特定细节,以便提供对相关示教的全面理解。然而,本领域技术人员应当明了,本示教可以在没有这些细节的情况下实现。在其他的实例中,公知的方法、过程、部件和/或电路已经以相对较高的层次介绍而没有给出细节,以避免不必要地模糊本示教的实施形态。
[0052] 本公开一般涉及系统、方法、介质和其他实施形态,其用于开发、训练和配置有效的用于自动驾驶车辆的计算机辅助感知系统。在不同的实施例中,本示教公开了原位计算机辅助感知系统、方法和介质,其用于不同维度的交叉验证以及基于即时模型的物体检测,使得自动标记即时训练数据成为可能。在具有自动标记训练数据能的情况下,用于物体检测的模型可以基于这些高效标记的训练数据即时地连续进行本地适应,从而改进性能。因此,所公开的原位计算机辅助感知系统具有自适应性和即时性。
[0053] 为了在全局层面进一步提升性能,本示教公开了一种位于大型车队中各个自动驾驶车辆上的原位计算机辅助感知系统,其可自动选择合适的已标记的训练数据并发送到模型更新云。通过这种方式,来自不同类型的环境的几十万组标记的训练数据(在车辆运行的同时生成)在模型更新云中汇总,使得全局模型能基于来自源的多种多样的已标记的训练数据进行更新。由于这样的车队的数据呈现与多种多样的感知条件和情况有关的有意义的数据,全局模型能够连续不断地训练和再训练,以便在不同的条件下处理预期的任务。
[0054] 根据本示教,为了能够即时地对训练数据进行标记,可以使用来自不同模态的数据(例如,来自诸如激光雷达传感器的程距(range)数据)对由某些模态的数据(例如来自照相机的视频图像)检测的关心区域进行交叉检查。在另外的信息变得可用时,也可跨越时间地对被检查区域进行验证。例如,可以连续跟踪几秒前检测到的物体,并可推算运动信息。当该物体在稍后的时间在距离上变得更近时,更多的信息变得可用,而且由于增强的确定性,检测可以在时间上连续不断地得到验证。后续的增强确定的验证可以用于验证较早时候对于物体的检测。通过这种方式,较早时候检测的物体也可如此进行标记,并可用作训练数据,以便进一步对模型进行本地和全局适应,从而改进未来的性能。
[0055] 在自动驾驶中,最重要的任务之一是能够准确推算车辆和车辆周围的任何物体(其他车辆、树木、路缘、行人、建筑物等)之间的距离。自动驾驶的关键在于实时获知车辆与所有周围物体之间的距离,故使车辆能被控制为适时地做出反应。本示教公开了基于以物体为中心的立体视觉的深度推算。通过执行基于物体的立体视觉(而非基于点的立体视觉),这里公开的以物体为中心的立体视觉推算物体的深度。基于两个照相机的视差(一旦照相机安装好,该视差一般是已知的),由第一个照相机获取的一个视图中检测的物体可以翘波(warp)到由第二个照相机获取的另一个视图。可以使用局部优化来优化第二视图中的适配度。于是,不同视图中的两个对应的物体可以用于推算物体的深度,而不是物体的各个点的深度。以物体为中心的立体视觉更快,但又满足推算关心物体的距离的目的。
[0056] 本示教进一步公开了增进的以物体为中心的立体视觉。通过应用交叉模态验证,基于上面讨论的以物体为中心的立体视觉来推算的物体深度可以进一步增强或增进。在某些实施例中,基于由处于不同模态的传感器(例如激光雷达传感器)获取的程距数据,基于使用来自被动照相机传感器的数据(例如图像)的以物体为中心的立体视觉法推算的物体深度可进一步得到增强。通过这种方式,可以高速且以增强的准确度更为可靠地进行深度推算。
[0057] 其他的新特征将部分在接下来的介绍中给出,部分将为本领域技术人员在检视接下来的介绍以及附图后明了,或通过制造或运行实例来习得。本示教的新特征可以通过实践或使用在接下来讨论的具体实例中给出的方法、设备以及组合的多种实施形态来实现和获得。
[0058] 图1示出了根据本示教一实施例的计算机辅助感知系统的框架结构100,该系统支持自动驾驶车辆的车队。框架结构100包括:N辆自动驾驶车辆的车队,各车辆具有原位感知系统,也就是110-1,…,110-N;以及,全局模型更新云160,其经由网络连接与车队相连接。各个自动驾驶车辆具有多种传感器,包括但不限于被动/环境传感器120(分别与N个原位感知系统相关联的120-1,……,120-N)和主动传感器130(分别与N个原位感知系统相关联的
130-1,……,130-N)。
[0059] 根据本示教,各个原位感知系统使用特定的模型来执行计算机辅助感知(关于这些模型的更多细节将在下面介绍)并能够进行模型自适应。这一点通过自反馈环链路140(分别与N个原位感知系统相关联的140-1,……140-N)在图1中示出。也就是说,各个自动驾驶车辆中的原位感知系统能基于本地获取的数据对其模型进行本地适应。众所周知,为了进行适应,训练数据需要用真实值(ground truth)进行标记。传统而言,这样的训练数据和真实值标记是通过手动标记生成的,而手动标记耗时长且劳动密集,且多数情况下很慢。本示教公开了即时生成训练数据并标注真实值的方法。细节将参照图2-12提供。
[0060] 框架结构100还提供了基于由许多车辆中的原位感知系统标记的训练数据的全局模式适应。各个原位感知系统可将某些标记的数据选择为关心事件150(分别由N个原位感知系统生成的150-1,……150-N),接着,发送到全局模型更新云160。采用来自车队的关心事件,全局模型更新云160可以基于来自车队的训练数据对全局模型进行再训练或适应,该训练数据代表更宽范围的多样化信息源和运行条件。例如,有些车辆可能在城市道路上行驶,有些在乡间行驶,有些在雪地上行驶,有些在日间太阳眩光下行驶,有些在雨天行驶,有些在夜间行驶,等等。
[0061] 采用这样连续提供的来自许多不同来源的被标记的训练数据,全局模型更新云160对模型进行全局更新,使得它们能在许多不同情况下处理感知任务。每当全局模型更新云160生成更新的模型时,会将更新后的模型170分发给车队中的全部车辆。具体而言,其分别将更新后的模型170-1,……,170-N分发给N个原位感知系统。
[0062] 在某些实施例中,车辆中的原位感知系统可以根据某种计划和/或频率发送其选择的关心事件,与全局模型更新云160进行同步。在某些实施例中,也可对全局模型更新云160更新后的模型进行计划,以实现同步。在其他实施例中,全局模型更新云160和车队之间的同步可以分为不同的阶段,即,同步可以每次应用于车队的一部分车辆。车队的部分的划分可以基于不同的考虑。在某些实施例中,划分可以根据时区。在其他情况下,划分可以根据车辆的类型,例如,半挂卡车、卡车、轿车、运动型汽车、运动型多功能车(SUV)等等。有些时候,划分可以基于车辆运行环境,例如,城市、农村、山区等。在另外一些考虑下,划分也可以基于天气,例如雪、雨、太阳眩光、黑暗等。在模型更新方面的车队划分可以依赖于应用而不同。
[0063] 采用框架结构100,当各辆自动驾驶车辆处于运行中时,它具有使用本地收集的数据对其模型进行本地适应以符合实际情况的能力,同时,籍由来自全局模型更新云160的全局更新模型,它还能从由其他车辆收集的关心事件中受益。因此,存在两种模型更新闭环,一种是分布式的、本地的,另一种是中心式的、全局的。两种方式都可以基于不同目的提供相应的好处。由各个原位感知系统进行的分布式更新可能更多地是基于本地数据对于系统行为的短期调整。尽管是短期的,它更具有针对性。全局适应可能更多地是基于代表不同情况下更宽范围内的数据对于建模的全局解决方式,其可能覆盖更多的可能性,也可能在特定的情况下体现出较低的个体化程度。或许可以达到本地和全局适应之间的平衡。下面对其建模和适应给出更多的细节。
[0064] 图2示出了可根据本示教一实施例配置的多模态传感器200的示范性类型。如图1所示,各个车辆110可以装备不同类型的传感器,包括主动传感器、环境传感器120和被动传感器130。图2中的多模态传感器200落入不同的传感器类别,包括但不限于主动传感器210、环境传感器220、……、以及被动传感器230。主动传感器210包括但不限于雷达210-1、激光雷达210-2。被动传感器230可包括但不限于热传感器230-1、……、摄影传感器(例如(视频)照相机230-2)。环境传感器220可包括多种多样的传感器,包括安装在车上的传感器以及可以安装在其他地方、但车辆能够经由网络连接获得所检测信息的传感器。可以获取能够在自动驾驶中发挥作用的环境传感器数据。实例包括指示光照条件(220-1)、例如是否正在下雪的天气条件(220-2)、例如道路是否潮湿的道路条件(220-3)、例如速度的驾驶参数(220-4)、……、例如轻、中、繁忙等交通条件(220-5)的传感器数据。环境也可包括(图2未示出)一天中的时刻、季节、地点等。
[0065] 图3示出了根据本示教一实施例,驻留在自动驾驶车辆内的原位感知系统100的示例性高层次系统图。如图1所示,原位感知系统110与被动/环境传感器120以及主动传感器130连接。原位感知系统110包括物体检测与跟踪单元310、即时数据标记单元330、关心事件选择器350、本地模型更新单元370和全局模型更新单元380。原位感知系统110还包括:物体检测模型320,其被物体检测与跟踪单元310用于从传感器数据检测物体;以及,用于由关心事件选择器350选择的关心事件的存储器360。视情况可选地,原位感知系统110还包括感知结果存储器340,其可存储确认的检测结果。
[0066] 根据本示教,在运行中,原位感知系统110接收来自不同传感器的传感器数据,从传感器数据中检测/跟踪关心物体,将如此检测到的物体标记为潜在的训练数据,基于标记的训练数据进行本地模型适应,选择用于全局适应的关心事件,将如此选择的关心事件发送到全局模型更新云160,并在从全局模型更新云160接收到更新后的模型时更新物体检测模型。具体而言,物体检测/跟踪单元310接收来自被动传感器(例如视频照相机)的视频图像,并基于视频图像执行物体检测和跟踪。物体检测不仅包括物体的识别,还有与之相关联的特性,例如深度、运动等等。下面将参照图6A-9讨论物体检测和跟踪的细节。
[0067] 被跟踪的物体被发送到即时数据标记单元330,在那里,基于来自不同模态的传感器的数据或是基于来自在前的时间的数据,对被跟踪的物体进行处理以进行交叉验证,从而使候选训练数据的即时标记成为可能。这些被标记的候选训练数据存储在用于加标记的候选训练数据的存储器390中。在某些实施例中可以在空间域或时间域或者二者上进行交叉验证。关于时间域交叉验证,存储在存储器390中的一些已标记的候选训练数据可以在后来重新标记,如到存储器390的双向箭头所示。某些这样标记的数据可以对应于感知结果(例如,如果交叉验证确认了检测到的物体),或发送到关心事件选择器350,在那里,选择能用于对模型进行适应的事件。关于即时数据标记的详细公开参照图10-12提供。
[0068] 一旦标记的数据在关心事件选择器350上被接收到,标记的数据受到处理,使得关心事件可被选择用于本地适应和全局模型更新二者。所选择的关心事件被发送到存储器360,使得本地模型适应单元370能选择为本地模型适应所选择的事件,并使用它们来进行本地模型适应。类似地,全局模型更新单元380可从存储器360选择那些为全局模型更新选定的关心事件,并将这些事件发送到全局模型更新云160。基于所选择的关心事件,本地模型适应单元370调节物体检测模型320,以生成修改后的或是调整后的模型。当全局模型更新单元380从全局模型更新云160接收到更新模型包时,会更新物体检测模型320。在某些实施例中,全局更新模型可用于替换本地物体检测模型320。在某些实施例中,所接收的更新模型包可用于修改本地物体检测模型320。在其他实施例中,本地物体检测模型320可以使用全局更新模型部分替换。关于关心事件选择器350、本地模型适应单元370和全局模型更新单元380的细节参照图13A-19提供。
[0069] 图4A示出了根据本示教一实施例具有示例性结构的示例性物体检测模型320。如图4A所示,物体检测模型320包括全局模型410,并且视情况可选地包括类别模型420,类别模型420进一步包括K个类别模型420-1……,420-K。全局模型410可对应于这样的模型:其与由全局模型更新云160规律地更新并分发给所有车辆的全局模型同步。如图所示,全局模型410基于全局模型更新信号来更新,例如,该信号基于接收到的更新模型包,来自全局模型更新单元380。类别模型420可以是视情况可选的,它们可对应于更狭义的情况下建立的多种物体检测模型。对于不同类型的车辆,由于不同的物体特征,可以不同地安装和配置传感器,然后也可以不同地配置物体检测模型。例如,大的半挂卡车可能较高,使得用于这种类型车辆的检测物体的模型可能与用于例如运动型汽车(其具有低得多的重心,并要求传感器看到对于地面较低的障碍物)的模型不同。作为另一实例,也可为具有相当不同的运行环境的车辆提供类别模型。例如,相比于常常用于城市通勤的车辆,用于农业用途的车辆可能需要不同的模型。
[0070] 图4B示出了根据本示教一实施例的物体检测模型的示例性类型。物体检测模型可以指这样的模型:其不仅用于检测物体本身,还检测其特性。它们可以是替代性的模型组,并可以对于不同的情况调用。某些模型(430)可以仅仅用于物体检测,即检测物体的位置,并可能检测其边界。某些模型(440)可以仅仅用于检测与物体相关联的特性,包括各个物体的尺寸(460)、深度(470)、……、纹理(480)。某些模型(450)可用于检测物体位置以及与之相关联的特性。当组合在一起时,可以有用于检测不同物体和特性组合的模型。例如,某些模型可以同时检测物体和深度。某些模型可以同时检测物体和纹理,等等。不同的模型可能要求不同的输入。例如,如果是同时检测物体及其深度的模型,它们可能需要将不同视(view)的视频作为输入,以便推算深度信息。
[0071] 图4C示出了根据本示教一实施例的类别模型的示例性类型。在此示例性分类中,类别模型可以分成若干个类,包括但不限于天气有关的类别模型(例如适用于雨天、雪天、太阳眩光天等的模型)、车辆有关的类别模型(例如卡车、运动型多功能车、轿车、运动型汽车等)、交通相关的类别模型(例如稀疏、中等、繁忙交通情况)、地区相关类别模型(例如城市道路、郊区环境或农村等等)。类别模型还可用于个人或多个人的个性化模型,例如用于青少年驾驶者的类别模型、用于年长驾驶者的类别模型、用于每天有长通勤人士的类别模型,等等。在某些实施例中,最细分的类别模型是针对于个体驾驶者的个性化模型。回到图4A,物体检测模型由原位感知系统110基于本地标记的训练数据进行本地的更新/适应,或者每当原位感知系统110接收到来自全局模型更新云160的更新模型包时更新/适应。
[0072] 图5为根据本示教一实施例用于原位感知系统110的示例性过程的流程图。在此示例性实施例中,首先,在510处,从被动传感器接收视频图像。在520处,基于所接收的视频图像,检测和跟踪视频图像中存在的不同的物体,连同多种视觉特性(例如与各个物体相关联的深度和运动,等等)。为了基于多模态传感器信息对检测到的物体进行交叉验证,在530处收集了来自其他传感器更多的数据。其他的传感器可包括:程距传感器,例如激光雷达;或环境传感器,其可用于收集可能与检测任务有关的相关信息,例如驾驶速度、天气条件等等。
[0073] 使用来自其他传感器的更多数据,可以对检测到的物体进行交叉验证,使得检测到的物体可以即时标记来产生训练数据。在540处,基于从其他传感器获取的信息,来对检测到的物体标记数据。在需要时,这种验证可以使用概率手段(取代二进制决策)用于消歧义。交叉验证的结果可以提供表示在给定情况下哪些传感器数据可能更为可靠的信息。关于各个物体,与之相关联的交叉验证结果可以对应于具有多种属性的特征向量,可包括但不限于,例如,关于物体可能实际存在该场景中的可能性的总体置信评分,与各个物体相关联的个体置信评分可能对应不同的传感器,代表物体在该场景中存在的可能性。基于这些评分,可关于各个检测到的物体做出判断,例如存在或不存在。
[0074] 交叉验证或消歧义可以不仅仅关于检测到的物体的存在进行,还可以关于与物体相关联的多种特性进行。比如物体尺寸、物体运动、物体深度等。例如,物体的运动和深度可以从同一场景的不同的再现(不同的视角、视觉范围,等等)中得出。深度可以由立体视觉从视频图像中对于各个物体推算。深度也可由主动传感器获得,该传感器直接(例如激光雷达传感器)从场景中获取深度信息。同样的情况可适用于物体的移动,其可以由不同的传感器数据推算,例如,纹理图像或深度图。理想地,从不同类型的传感器数据得到的物体特性应当是一致的。事实上,由于天气条件(下雪,太阳眩光)等的环境变化,它们经常并不一致。在这样的假定条件下,交叉验证由不同的传感器数据检测到的特性也可应用于对不一致的推算进行消歧义。
[0075] 如这里所讨论的,交叉验证可以在空间和模态上应用,例如,用于对物体检测和物体特性推算中的不一致进行消歧义。交叉验证也可在时间上应用。采用随时间连续获取的视觉数据,物体检测和跟踪也是连续的。给定自动驾驶的性质,因为物体和车辆二者都有可能不断移动,检测到的物体的外观可以随时间而变化。对于某些物体,随着时间,可以获得越来越多的信息(例如当检测到的物体变得更近时)。当这种情况发生时,在后来做出的关于存在物体的更为明确的判断可被触发,以便交叉验证关于较早时候做出的关于同一物体的判断。例如,如果物体在稍早时出现,且其检测具有较低的置信评分,但在后来,物体变得越来越近,后来对其的检测可具有更高的置信评分。在这种情况下,时间上的交叉验证可以应用到关于较早的中物体是否存在的、较早的决策。较早的决策的变化可导致对于较早数据标记的变化,其可能因此影响训练数据,并在随后影响使用这样的标记数据训练的模型的品质。
[0076] 一旦数据或物体在540处被标记,标记的数据受到处理,关心事件就可被选择。在某些实施例中,将用于对模型进行本地适应的关心事件可能与用于对全局模型进行更新的关心事件不同。在某些实施例中,用于两种情况的关心事件可能相同。在图5中,示出了分别选择用于本地适应以及全局更新的关心事件。在550处,从标记的数据选择用于本地模型适应的关心事件。于是,在560处,这样选择的关心事件被用于本地模型适应。在某些实施例中,本地模型适应可以根据某种计划进行。本地模型适应可以基于例如某些固定的时间间隔、某些条件(例如当所选择的关心事件累计到预定量时或在某些所选择的关心事件建议需要校正错误时)来计划。在本地模型适应之后,过程返回到510以继续运行。
[0077] 用于全局模型更新的关心事件在560处独立地被选择。一旦被选中,用于全局更新的关心事件在580处发送到全局模型更新云160。当原位感知系统100在590处从全局模型更新云160接收到更新模型包时,其相应地更新本地存储的模型。更新模型包可包括更新全局模型410和/或存储在类别模型420(见图4A)中的任何类别模型的信息。在模型通过接收到的更新模型包进行更新之后,过程返回到510以继续运行。
[0078] 因此,此过程包括至少两个闭环,一个是本地模型适应环,另一个是全局模型更新环。本地模型适应环可以即时应用,如所示出的那样,用于基于本地获取数据的本地模型进行调整。在这种模式下,适应可以更即时,但主要针对于本地的情况。尽管本地调整可能有助于本地地改进模型性能,如果只用本地模型适应而不做其他可能会导致其缺乏全局观,因此,当情况发生变化时可能执行得不足。另一方面,全局模型由全局模型更新云160基于来自车队(可能多达几十万辆,覆盖许多不同的情况(不同天气条件,不同驾驶条件,不同车辆类型,等等))的关心事件来更新。因此,根据多样化的训练数据构建的全局模型可能覆盖更多的情况,使得各辆车都能够处理不同的情况,但可能在一些特定的情况下不是那么有效。因此,本地模型适应和全局模型更新可以组合,使得本地模型适应可以在需要时调节模型,而模型可被间或地(可能是规律性的)更新,以便并入全局适应模型。
[0079] 图6A示出了根据本示教一实施例的物体检测与跟踪单元310的示例性高层次系统图。如这里所公开的,在某些实施例中,物体检测与跟踪首先基于视频数据进行。相应地,物体检测与跟踪单元310包括视频预处理单元610(视频预处理单元1 610-1,……,视频预处理单元N610-N)、物体/深度检测单元620、物体/深度跟踪单元630以及物体运动推算单元650。
[0080] 在运行中,视频预处理单元610接收由一个或多个被动传感器(例如120中的视频照相机)获取的视频数据。在某些实施例中,其它的信息也可被获取为例如环境传感器数据。这种环境数据可影响检测性能或用于物体检测的模型的选择。例如,如果存在特定的驾驶条件,比如严重的太阳眩光或下雪,320中合适的物体检测模型可被调用,以便使性能最优化。另外,比如驾驶速度也可被获取为环境传感器数据的一部分,且这样的信息也可影响多种单元如何执行其任务。例如,如果车辆处于高速之中,视频预处理单元可调用不同的滤波器,以便对图像进行滤波,从而向物体/深度检测单元620提供高品质的预处理图像。
[0081] 所获取的视频图像数据由一个或多个视频预处理单元610进行预处理。环境相关数据由环境传感器获取,如这里所公开的那样。物体/深度检测单元620可以基于物体检测模型320从预处理的视频图像中检测物体。物体检测/跟踪单元620可根据环境传感器数据的情况从物体检测模型320选择合适的模型。除了跟踪物体之外,物体深度检测单元620也可推算检测到的每一个物体的深度。例如,如所示出的那样,当多个视频图像流可用时,物体深度可由物体/深度检测单元620基于例如以物体为中心的立体视觉来推算。在某些实施例中,也可为每个所检测的物体来计算其他的可视特征,例如纹理,其可能对于物体识别或对所拍摄场景的类似的高层次理解有帮助。物体/深度检测单元620的细节在下面参照图7A-9讨论。
[0082] 也可对由物体检测/跟踪单元620检测的物体加时间戳,并将之存储在带时间戳的物体数据库640中,并可由物体运动推算单元650计算与各个这样的物体相关联的运动数据。检测到的物体可在视频图像中被跟踪,这样的跟踪也可结合来自物体运动推算单元650所推算的运动信息来实现。也可对被跟踪的物体加时间戳,且物体检测/跟踪单元310的输出对应于这种带时间戳的被跟踪物体。
[0083] 图6B为根据本示教一实施例的物体检测与跟踪单元310的示例性过程的流程图。视频数据在605处被处理,物体及其对应的深度在615处被检测和推算。这样检测到的物体在625处被跟踪,其他的特征(例如与物体相关联的运动)在635处被推算。基于检测和跟踪结果,在645处生成带时间戳的物体,其具有与各个物体相关联的多种特征。
[0084] 图7A示出了根据本示教一实施例的基于以物体为中心的立体视觉的物体/深度检测单元620的示例性高层次系统图。在此示例性实施例中,物体/深度检测单元620以两种不同的模式运行。在一种模式下,物体及其深度的检测基于能用于一并检测二者的物体模型进行。在此模式下,输入可为多个视角的输入。在不同的模式下,分别推算物体及其深度。在这种模式的一示例性实施例中,物体可由物体检测模型320来检测,然后使用以物体为中心的立体视觉法来推算深度。可能存在用于物体/深度检测单元620的其他的实施例,它们可以不同地构建,通过此处示教公开的宗旨使用单一运行模式,或与其它的模式一并运行。
[0085] 根据本示教,物体/深度检测单元620包括物体/深度检测控制器710、基于模型的物体/深度检测器720、基于模型的物体检测器730以及以物体为中心的立体视觉单元790。以物体为中心的立体视觉单元790进一步包括以物体为中心的立体视觉控制器740、基于翘波的多视角物体检测器760和基于以物体为中心的立体视觉的深度推算器750。物体/深度检测控制器710可负责控制哪一个运行模式将被应用。如果运行模式为一并检测物体及其深度,物体/深度检测控制器710调用基于模型的物体/深度检测器720,其取两个视频的输入,并启用320中合适的模型通过多视角数据来检测物体及其深度。基于模型的物体/深度检测器720的输出可对应于具有相应深度信息的多个物体。各个检测到的物体可以用其位置(形心或中心点)、边界或甚至是尺寸来表征。这样检测到的物体的每一个深度信息可对应于各个物体的深度量度(例如平均深度、闭合距离)或是关于物体区域的深度图。
[0086] 如果运行模式为分开地检测物体和深度,物体/深度检测控制器710可启用基于模型的物体检测器730,以初始化以物体为中心的立体视觉。在这种方法中,基于来自第一被动传感器的图像(或视频1),基于模型的物体检测器730进行基于模型的物体检测。类似地,各个检测到的物体可以用其位置(形心或中心点)、边界或甚至是尺寸来表征。为了推算各个检测到的物体的深度,于是,以物体为中心的立体视觉控制器740可启用以物体为中心的立体视觉控制器740,通过物体检测器730检测到的物体来推算其深度。
[0087] 为了推算各个检测到的物体的深度,以物体为中心的立体视觉控制器740启用基于翘波的多视角物体检测器760,其以第二视角高效检测在第一视频中检测到的各个物体。在某些实施例中,这通过基于例如视差信息将第一视角检测到的物体翘波到第二视角的图像(视频2)来进行。第二视角的物体检测可进一步通过例如局部最优化来完善,从而改进第二视频中物体位置的准确度。第二视角下同一物体被检测到的距离也可用其位置(形心或中心点)、边界或甚至是尺寸来表征。由于视差,物体在不同视角下出现的位置不同。边界和尺寸也可能如此。这种不同可用于在物体层面上(因此,以物体为中心的立体视觉)推算物体的深度。
[0088] 图8A示出了由两个不同的照相机获取的同一道路场景的两个图像视图。标记810代表来自第一照相机的左图像视图,标记820代表来自第二照相机的右图像视图。图8B示出了基于左图像视图生成的物体检测结果,其中,各个方框代表被视为物体的关心区域。例如,如图所示,存在位于车辆前方且在同一车道中检测出的物体840(车辆)。在车辆左边,存在多个检测到的物体,包括物体830、物体820等。在车辆右边,也存在多个检测到的物体,包括物体850等。能够看到,有些检测出的物体比较近,有些比较远。有些物体在此图像中被部分遮挡,但在不同物体之间的空间关系随时间改变时,这样的物体可随时间更好地检测到。
[0089] 图8C示出了根据本示教一实施例的以物体为中心的立体视觉的概念。标记840代表在左视图中检测到的物体。标记840’代表右视图中出现的对应的物体,其以通过视差信息判断的“d”移开。根据以物体为中心的立体视觉,右视图(视频2)中的物体840’没有被检测到(节省计算)。其通过根据视差信息将在左视图(视频1)中检测到的物体840翘波到右视图(视频2)来推算。这样获得右视图(视频2)中的推算物体840’。物体840’的更为精确的检测可通过本地优化来实现,例如用右图像中小邻域内的匹配滤波。
[0090] 回到图7A,在不同视图中物体的位置被确定的情况下,调用基于以物体为中心的立体视觉的深度推算器750,以便基于两个视图中的检测物体来推算物体的深度。在某些实施例中,物体的深度可根据基于立体视觉的几个特征点来推算。例如,同一物体出现在不同视图中的不同实例(instances)的形心可被用于推算物体的形心点的深度。类似地,物体在不同视图中的中心点可被用作同一目的。在某些实施例中,可以稀疏地对物体上的点进行采样,并可推算这些点上的深度信息。这种情况下的推算可得到表征物体深度的稀疏的深度图。
[0091] 物体的不同位置上的深度可能不同。为了表征物体的深度,不同的深度量度可用于描绘物体的深度。在某些实施例中,可推算单一量度。例如,可确定最接近车辆的点上的深度量度。在某些情况下,最近的距离可以是对于障碍物闪避来说最为重要的信息。在某些实施例中,可推算多个的量度,例如最小深度(最近距离)、平均深度加深度差异(例如,其对于判断物体是否相对较平是有用的)等可用于描绘物体的深度特征。在某些实施例中,可为物体生成稀疏的深度图。稀疏平可基于多种考虑动态确定。例如,当天气恶劣、能见度低时,深度信息在障碍物闪避中变得更为重要。在这种情况下,更密集的图可能对这种情况有帮助。在某些实施例中,由于视频数据连续被获取,深度量度可从帧到帧连续计算,可提供替代性的深度特征。例如,对于帧1,可提供最近距离点。对于帧2,可提供平均距离和最近距离点。对于帧3,可提供稀疏深度图和最近距离点。对于帧4,可提供较密集深度和最近距离点。于是,对于帧5的计算可循环回来。通过这种方式,即使系统不必为每帧计算完整的信息,也可以在相对较短的时间中提供完整的信息。
[0092] 由于物体/深度检测在到来的视频数据中连续进行,可以对检测到的物体/深度加时间戳。这有助于时间上的交叉验证。自动驾驶中的有关物体经常不停变化(由于车辆、物体或二者的运动),且其相对空间关系也不断变化。为使障碍物闪避成为可能,监视车辆和每个相关物体之间的变化的空间关系至为重要。这不仅要求随时间跟踪各个物体,还要求对同一物体的不同实例加时间戳,以便弄清楚物体和车辆之间变化的空间关系(变近或是变远)。因此,对连续数据流中各个帧之中的各个物体及其对应特征(有关深度)加时间戳,以便促进进一步的分析。这样加时间戳的物体/深度,无论由基于模型的物体/深度检测器720还是由基于以物体为中心的立体视觉的深度推算器750生成,都归档(archive)在加时间戳的物体数据库640中。
[0093] 图7B示出了根据本示教一实施例,通过使用主动传感器的交叉验证增强的基于以物体为中心的立体视觉的物体/深度检测单元620的不同的示例性高层次系统图。在此实施例中,不同之处在于,推算深度信息(来自基于模型的物体检测器730或是来自基于物体立体视觉的深度推算器750)由深度推算增强器770基于由主动传感器数据收集器780获取的附加传感器信息来进一步加强。也就是说,深度信息(经由物体检测模型320或经由以物体为中心的立体视觉推算)能进一步通过使用附加传感器信息来改善。在这一所示实施例中,附加传感器信息对应于来自主动传感器130(例如雷达或激光雷达)的数据。在此实施例中,物体/深度检测单元620具有这样的能力:通过并入不同模态的数据来加强其能力,以便更加确定其推算的深度信息。
[0094] 图9为根据本示教一实施例的物体/深度检测单元620的示例性过程流程图。在接收到输入信息时,物体/深度检测控制器710在910处确定运行模式。如果在915处判断为运行模式是同时检测物体及其深度,在920处读取合适的模型,并检测物体/深度。如果运行模式为使用以物体为中心的立体视觉来检测物体和深度,首先,在925处,从由第一传感器获取的第一视频视图(视频1)检测物体。这样检测到的物体在930处基于视差信息翘波到第二视频视图(视频2)中的图像,以便在935处推算第二视频视图中的对应物体的位置。基于在视频1中检测的物体和视频2中推算的对应物体,在940处经由以物体为中心的立体视觉来推算物体深度。
[0095] 推算物体深度(来自920或是940)可以视情况可选地经由来自不同模态的传感器的数据进行改善。在945处判断物体的推算深度是否将要经由主动传感器数据来加强。如果不,则在950处生成(并保存)加时间戳的物体/深度。如果将要经由来自处于不同模态的传感器(例如,主动传感器)的信息对基于一种模态的传感器(被动传感器照相机)推算的检测物体/深度进行加强,在955处收集来自不同模态的传感器的数据,并在960处对推算的物体/深度进行加强。加强的物体/深度于是用于在950处生成加时间戳的物体/深度。
[0096] 图10示出了根据本示教一实施例的即时数据标记单元330的示例性高层次系统图。在此示例性实施例中,即时标记单元330可在检测物体上进行空间域交叉验证和/或检测物体的时间域交叉验证。空间域交叉验证可以指利用多个模态的数据来验证所检测的物体。比如基于通过主动传感器(例如激光雷达传感器)获取的数据对由通过被动传感器(例如视频照相机)获取的数据检测的物体进行验证。这种验证可以基于特定时刻获取的不同模态的数据来应用到同一时刻在空间域中检测到的物体。例如,如果在时刻A由视频数据检测到物体及其推算深度,在时刻A由例如激光雷达传感器获取的提供深度信息的主动传感器数据可用于进行交叉模态验证。验证可基于一个或多个标准。比如深度信息和/或尺寸信息,其可跨模态地验证一致性。例如,如果推算物体被推算为具有推算尺寸和深度,如果来自激光雷达传感器大体上确认物体的尺寸和深度,物体可被认为经由空间域交叉验证得到验证。
[0097] 检测物体的时间域交叉验证可以应用于自我校正假阳性和/或假阴性检测。在自动驾驶中,物体(包括车辆)之间的空间关系从一个时刻到另一个时刻变化。某些物体可能在开始时较小或被遮挡,因此,较早时候的检测可能由于距离或遮挡而不正确。也就是说,较早时候的检测可能对应于假阴性,但系统在那时没办法知道这一点。然而,随着时间推移,当这些物体变得离车辆更近时,它们的可视视图变得更为可见且更大。在这种情况下,处理较晚时候的可视数据可带来具有例如高确定性的物体检测。在这种情况下,较早时候的假阴性检测可经由时间域交叉验证来校正。也就是说,如果较早的检测结果置信评分较低且存在不一致,较晚时候的更为确定的物体检测可用于修改较早时候的对应的物体检测。
[0098] 如图10所示,即时数据标记单元330的示例性系统图包括物体处理单元1010、空间域登记(registration)单元1015、验证基础数据生成器1020、交叉模态验证单元1040、时态交叉验证单元1050、验证感知结果加标记单元1045和候选训练数据加标记单元1060。即时数据标记单元330也包括主动/环境传感器控制器1030、主动传感器数据收集器1025以及环境传感器数据收集器1035。在运行中,在接收到来自物体/深度检测单元310的带时间戳被跟踪物体时,物体处理单元1010可处理被跟踪物体并更新带时间戳的物体日志1005。带时间戳的物体日志1005可用于存储将要进行交叉验证的物体。对于存储在带时间戳物体日志1005中的各个物体,交叉模态登记单元1015可以将用于验证目的的来自不同模态的传感器数据登记(register)到各个物体。在此示例性实施例中,不同模态的数据可以来自主动传感器。
[0099] 为使不同模态的数据可用,主动/环境传感器控制器1030可被设计为控制主动传感器130和/或环境传感器120以收集数据。收集可以是连续的、间歇的或在特定的时间实例(time instances)上进行。由主动传感器130获取的数据存储在带时间戳的主动传感器日志1007之前,由主动传感器数据收集器1025收集并加时间戳。带时间戳的主动传感器数据日志1007中的带时间戳的主动传感器数据由验证基础数据生成器1020访问,以便生成用于交叉模态验证目的的合适的传感器数据输出。在某些实施例中,主动传感器数据可来自一个或多个激光雷达传感器。在某些实施例中,带时间戳的激光雷达传感器数据可被验证基础数据生成器1020用于生成用于验证的点云。在其他实施例中,主动传感器数据可以来自程距传感器,并可用于生成整个图像平面的深度图,作为验证基础。
[0100] 为了执行带时间戳物体的交叉模态验证,交叉模态登记单元1015在空间域中将验证基础数据中的对应区域登记到将被验证的物体,该数据在该物体的时间戳的时刻获取并从验证基础数据生成器1020输出。将验证基础数据中的区域登记到物体提供了一对信息包(一个对应于检测物体及其检测特征,另一个对应于登记到该物体的区域以及由该区域计算的类似的特征)。这样登记的一对信息包被提供给交叉模态验证单元1040,用于检测物体机器特征的交叉模态验证。
[0101] 关于验证,可采用多种方法。在某些实施例中,当验证基础数据对应于深度信息时,可将物体的推算深度与验证基础数据的对应区域中的深度信息进行比较。当推算物体深度信息和验证基础数据中的数据之间存在高度类同时,物体可能被看作是被正确地检测到。类同可通过例如基于推算物体深度(其可以是单一量度或为分布,稀疏的或密集的)和验证基础数据计算的相似性量度来表征。如果类同程度不高,检测到的物体可被看作是假阳性。为了促进比较,用于评估的特征在不同的模态中需保持一致。例如,如果推算物体深度对应于稀疏的深度图,验证基础数据也可生成为稀疏的深度图。
[0102] 推算物体深度和验证基础数据之间的类同程度是否被看作足够用于验证目的可以基于关于类同测量类型建立的某种标准来判断。在某些实施例中,该标准可以是阈值。采用这样的阈值,对于低于该阈值的任何类同量度,被验证的基底物体可被看作是不够的,并因此被标记为假阳性检测。如这里所讨论的,这样的假阳性检测结果可以在未来的交叉时态验证时显示当前假阴性物体实际上对应于后来合并的物体时在将来得到校正。
[0103] 图11A示出了根据本示教一实施例的示例性交叉模态验证结果。交叉模态验证的结果可以分为三类,包括由被动传感器数据的物体检测被来自主动传感器的传感器数据肯定。这可能意味着关于物体形状和深度的类同均高于特定的置信水平。另一个结果是基于被动传感器数据的物体检测结果被主动传感器数据否定,即,关于形状和关于深度的类同都不高于某个阈值水平。第三种可能性可对应于部分肯定,或者只是使用被动/主动传感器数据检测的物体形状一致而深度不一致,或者只是推算/检测的物体深度一致而形状不一致。交叉模态验证可用于不仅增强物体检测(例如在肯定的情况下),而且解决空间歧义(例如当基于被动传感器数据的深度推算不可靠时)。
[0104] 采用交叉模态验证的结果,交叉模态验证单元1040将具有该结果的交叉验证物体(以及对应的特征)传送到候选训练数据标记单元1060,在那里,交叉模态验证结果可用于促进各个物体的自动标记,以生成候选训练数据。在某些实施例中,如果物体被交叉模态验证判断为有效检测,其可标记为具有例如相关联的置信评分的检测物体,而不经过交叉时态验证。置信评分可对应于(但不限于)类同量度或基于类同量度计算的某些其他量度,在标记中表示其确定程度。在某些实施例中,如果物体在交叉模态验证期间被看作假阳性,可以在由基于模态的交叉验证得出的结论中用例如反应确定程度的置信评分进行标记。在一替代性实施例中,代替加标记为假阳性的是,物体可以被简单标记为具有较低的置信评分。
[0105] 在某些实施例中,除了交叉模态验证以外,基于可能也可能不与当前检测物体所对应的先前检测或标记的区域/物体,除空间域验证以外,即时验证单元330也能执行交叉时态验证。在此运行模态下,交叉模态验证单元1040也可将交叉模态验证结果发送到交叉时态验证单元1050。在某些实施例中,基于交叉模态验证结果,交叉时态验证单元1050可从数据库390访问先前标记的候选训练数据用于交叉时态验证。这样的先前标记的候选训练数据可对应于先前标记的区域/物体的流,其中的一些可能具有、或者可能没有正在验证的当前帧中的对应物体。
[0106] 交叉时态验证可以被配置为不仅使用时态数据交叉验证物体检测,还用于消除某些时态歧义。在前一种情况下,如果当前检测区域不具有足够高的置信评分(由于多种原因,例如遮挡、天气等),具有高置信评分的先前检测的对应物体可辅助增强当前检测结果。在某些情况下,相反的情况也可能发生,交叉时态验证可用于在时间上向后追溯,以消除歧义。例如,当前检测物体可对应于具有低置信评分的、较早时候的一个或多个的检测区域。
这可能是由于基底物体现在更大、更为可见,或是由于导致较早时候导致不佳检测的太阳眩光已消除。在这种情况下,交叉时态验证可使用当前检测结果来验证或确认这些先前的检测。在这种情况下,系统可在时间上向后追溯,以修改先前检测结果的标记(可能还有置信评分),以消除歧义。采用这种追溯机制,使用训练数据可经由未来的检测结果识别,使得这种训练可以适当地标记,并用于对模型进行适应。由于例如已有的模型导致先前检测的具有低置信评分的区域现在可以标记为物体,并用作对模型进行适应的训练数据,使得模型能被重新训练,从而能够将类似的情况检测为对应于具有较高置信评分的有意义的物体。如果当前检测的物体具有低置信评分,但在时间上先前标记的对应物体可具有较高的置信评分,交叉时态验证可识别出这一点,并依赖于该信息影响对当前检测物体的加标记。
[0107] 交叉模态验证可得出几种可能的情况。图11B示出了来自交叉时态验证单元1050的某种示例性结果。交叉时态验证结果可揭示:一致的结果,即当前检测与先前检测一致;不一致的结果,即当前检测与先前检测不一致;或未有定论。首先,具有足够的置信评分的当前检测的物体可以进一步通过交叉时态验证来肯定。这意味着该物体在现在以及在较早的时候都被检测到。
[0108] 第二,交叉时态验证可揭示当前检测的结果与先前检测结果不一致。也就是说,例如,在当前检测的物体在较早时候没有检测到,或者反之。特别地,当前的情景是,物体当前被检测到,但较早时候并没检测到对应的物体。这可能由于不同的原因导致。没有较早时检测的对应物体可能是由于同一物体在先前没有被检测到,或是先前没有以足够高的置信检测到(但现在物体以足够的置信被检测到)。这可能在物体先前较小、被遮挡或由于天气条件(下雨,下雪或太阳眩光等)没有被可靠地检测到而发生,但现在由于运动,物体在视图中变得较大、在距离上较近、可视度较高或处于能被更为可靠地检测的较佳位置(例如遮挡已离开)。这也可能是当前的假阳性情况,即,场景中并没有物体,且当前检测不正确。
[0109] 另一种情景则相反。也就是说,存在一个或多个较早时检测的物体,但当前没有检测到对应的物体,这可能是当前检测结果中不存在对应的物体,或者是当前以低的置信评分检测到对应物体。这种情景可能在物体先前较近且因此较大或是由于某些条件(没有遮挡,没有下雨,没有下雪,没有太阳眩光等)得到的可靠检测,但现在该物体由于运动而远离且因此较小且可视度较低(甚至可能消失不见,例如,前方车辆转过拐角,因此不再可见)、遮挡、或由于其他外部条件使得该物体当前不能可靠检测时发生。这种情景也可能表示当前的假阴性情况。
[0110] 每当交叉模态验证和交叉时态验证不一致时,对该情况的解决方案可能取决于具体情况和应用要求。解决方案也可取决于其不一致的程度。不一致的程度可以以不同的方式定义。在某些情况下,差异程度可以用置信评分的差异来定义。例如,先前肯定的检测可以具有刚好高于阈值的置信评分,且当前否定的检测具有刚好低于置信评分的置信评分。
[0111] 在某些情况下,差异可以是可基于一系列先前检测结果确定的差异程度。例如,在先前标记的候选训练数据中,可能存在一系列的对应物体检测结果,但该系列表现出具有频繁不一致结论的振荡行为(物体检测有时被肯定,有时则不)。在这样的假定之下,即使当前检测结果与前一时刻的结果不一致,它与该序列的振荡特性是一致的。在这种情况下,直到后来的时间,时态歧义一直不能消除,因此,当前交叉时态验证结果可被标记为未有定论。
[0112] 如果近来检测的物体经由交叉模态验证得到肯定,但交叉时态验证揭示其在较早时候检测到对应物体由于低置信评分而被否定,一种解决方式可以是通过将先前否定的物体的标记修改为检测到的物体来消除时态歧义。这是对先前的假阴性检测的校正。在某些情况下,交叉时态验证可以揭示,先前标记的候选训练数据包括当前未检测到的、标记的检测物体。这可能表示当前检测包括某些假阴性结果。取决于具体情况,当前的假阴性可以基于先前的标记数据来校正。类似地,经由交叉时态验证,该系统也可自我校正假阳性结果。如这里所讨论的,经由交叉模态验证,即时数据标记单元330也可消除空间歧义,结果,能通过使用来自不同模态的传感器的数据相应地增强或减弱检测置信。经由交叉时态验证,即时数据标记单元330可消除时态歧义,并自我校正当前以及先前检测结果中的假阳性或假阴性检测结果。
[0113] 当面对各种不一致情况时,交叉时态验证单元1050可确定对各种情况的解决方案。这种解决方案可以是修改先前已经做出的某些标记,改变当前的检测结果,或简单地决定等待将来的数据。一旦做出判断,交叉时态验证单元1050可生成指令并发送到候选训练数据标记单元1060,以便根据所确定的解决方案对训练数据标记。
[0114] 候选训练数据标记单元1060相应地接收验证结果和标记的候选训练数据。当仅仅应用交叉模态验证时,候选训练数据标记单元1060根据来自交叉模态验证单元1040的输出对数据进行标记。标记不限于确认的物体。还可以应用在检测到但没有被视为物体的区域。这包括由于低置信评分、没有通过交叉模态验证或交叉时态验证而没有被看作物体的区域。这样的区域尽管还没有被看作物体,可能在后来当未来的处理能够解决关于这种区域的歧义情况时得到交叉时态验证。数据与物体的特征根据具体情况与环境传感器数据有关地进行标记。这样的环境传感器数据可用于不同的环境情况(例如雪天或太阳眩光等)进行特别适应。
[0115] 当交叉模态和交叉时态验证被应用时,候选训练数据标记单元1060取得来自交叉模态验证单元1040和交叉时态验证单元1050的输入,并自动地根据由交叉时态验证单元1050确定的解决方案对数据进行标记。在此实施例中,标记可应用到当前数据和先前标记的数据当中。对于先前标记的数据,候选训练数据标记单元1060可根据基于这样的解决方案所构建的指令来修改先前做出的标记:该解决方案消除先前和当前检测结果之间的时态歧义。于是,标记的训练数据被发送到用于标记的候选训练数据的存储器390。这样标记的训练数据可包括某些这样的数据:其先前存储在存储器390中,但现在它们被修改,使得修改后的标记的数据用于更新390中的标记的候选训练数据。这里所公开的过程使得即时数据标记单元330能够自动而无人工干预地即时对图像中的区域进行标记,从而产生有意义的训练数据。这解决了本行业中的瓶颈问题。
[0116] 在某些实施例中,被交叉验证的物体(无论通过交叉模态验证还是通过交叉模态与交叉时态验证二者)也可以被发送到验证感知结果标记单元1045,使得它们能被标记为感知结果,并存储在感知结果数据库340中。
[0117] 图12为根据本示教一实施例的即时数据标记单元330的示例性过程的流程图。首先,在1210处接收当前的物体检测结果。为了进行交叉模态验证,在1215处获取加时间戳的主动传感器数据和视情况可选的环境传感器数据。基于这样的加时间戳数据,在1220处生成验证基础数据。在使用主动传感器激光雷达的情况下,相应地生成点云。为了验证检测结果,在1225处,将验证基础数据中的对应区域登记到在被动传感器数据中检测的各个区域,在1230中,关于各对这样的登记区域,进行交叉模态验证。
[0118] 在交叉模态验证之后,在1235处判断是否还进行交叉时态验证。如果仅进行交叉模态验证而不进行交叉时态验证,处理进行到1250时,将基于验证结果来确定对任何空间歧义的解决方案。如果也进行交叉时态验证,处理进行到1240时读取先前标记的训练数据来进行时态验证。时态数据用于与当前检测结果进行比较,在1245处进行交叉时态验证。并在1250处确定对于空间和时间歧义的解决方案。于是,这样的解决方案——或者仅仅在空间域中(如果仅应用交叉模态验证),或者在空间域和时间域二者之中——用于在1255处即时地对训练数据自动进行标记。然后在1260处,这样的标记数据(包括新近标记的或是对先前标记的修改)归档在标记的候选训练数据存储器390中。于是,一些检测结果可以在1265处标记为感知结果,并存储在感知结果存储器340中。
[0119] 图13A示出了根据本示教一实施例用于关心事件选择器350的示例性高层次系统图。在此实施例中,关心事件选择器350包括本地模型适应事件选择器1310、本地模型适应事件标记单元1350、全局模型更新事件选择器1320以及全局模型更新事件标记单元1360。如这里所讨论的,本地模型适应可以实时地进行,以便本地调整原位模型,而全局模型更新可以成批进行。在这样的假定之下,用于本地模型适应和全局模型更新的关心事件可以基于不同的时间尺度和选择标准来选择。在这两种情况下,表征矛盾情形的被标记的数据(其可用于从错误中学习)或表征强化情形的标记数据(其可用于加强模型)可用于模型适应。
为本地模型适应选择的事件可能与为全局模型更新选择的事件不同。
[0120] 关于本地模型适应,关心事件可以根据本地适应数据选择配置来选择。例如,这样的配置可指示,为本地适应选择的任何数据可具有关于其输出的某种确定程度。这可包括、但不限于这样的情况:来自被动传感器数据的检测结果(例如推算深度)以特定的确定程度与由主动传感器数据所呈现的相当不同,暗示模型需要调节。由于不确定性,可能仍表现出未消除歧义的数据不能用于本地适应。因为本地适应是实时、现场地进行,对所选关心事件的选择可以相应地实时进行,使得为适应选择的事件接近当前时间。
[0121] 关于为全局模型更新选择的关心事件,选择可根据配置1340进行,配置1340适合用于全局模型更新。全局模型更新数据选择配置1340可指示与本地模型适应数据选择配置1330不同的选择计划和频率。例如,全局模型更新数据选择配置1340可能需要在车辆并非正在移动时以特定频率选择关心事件。这一点是有道理的,因为如果物体的特定时态序列仍存在时间歧义并需要在将来消除(例如通过交叉时态验证),一直等到时间歧义得到解决(对应于当前驾驶进程结束的时间)可能是合适的。
[0122] 作为输入,本地模型适应事件选择器1310从390取得已标记的候选训练数据,并根据为本地模型适应适当地设计的配置1330来选择用于本地模型适应的关心事件。这样为本地适应选择的事件被发送到本地模型适应事件标记单元1350。取决于各个事件,其可以不同地加标记,使得所选择的事件可以被不同地使用,以便对模型进行本地适应。例如,指示不正确检测结果的事件可以如此加标记,使得它们能用于调节模型,以得到更好的后续性能。指示正确检测结果的事件也可能需要如此进行标记,使得它们能用于强化模型而不是校正模型。
[0123] 类似地,作为输入,全局模型更新事件选择器1320从390取得已标记的候选训练数据,并根据配置1340选择关心事件。所选择的事件可发送到全局模型更新事件标记单元1360,以便对所选择的事件进行标记。对于为与全局模型更新有关的事件进行标记,事件可能需要关于事件性质(例如对于校正目的的不一致的检测事件,或者用于强化目的的一致的检测事件)进行标记,如上面所讨论的那样。在某些实施例中,为全局模型更新选择的事件也可根据模型类别进行标记。如图4A-4C所示,除了可将全部相关已标记训练数据用于模型适应的全局模型外,可能存在不同的类别模型,其可使用适合用于这些类的训练数据更为有效地适应。一事件可用作多个模型类的训练数据。例如,与由于例如下雪天气条件没有基于被动传感器数据检测到、但通过交叉模态验证或交叉时态验证检测到的物体有关的事件可以被标记用于重新训练全局模型410以及重新训练与下雪等天气有关的类别模型。在图13A中,全局模型更新事件标记单元1360基于本地类别模型配置1370对所选择的事件进行标记。标记的事件——无论来自本地模型适应事件标记单元1350还是来自全局模型更新事件标记单元1360——存储在用于关心事件的存储器360中。将根据其对应的标记访问这样的存储事件,并用于本地适应或是全局模型更新。
[0124] 图13B为根据本示教一实施例用于关心事件选择器350的示例性过程的流程图。首先,在1305处从存储器390获得已标记的候选训练数据。于是,所读取的标记的候选训练数据被本地模型适应事件选择器1310和全局模型更新事件选择器1320二者使用,以便分别选择用于本地模型适应和全局模型更新的关心事件。对于本地模型适应,在1315处读取存储在1330中的、与用于本地模型适应的选择标准有关的配置,并在1325处将之用来选择关心事件,用作本地模型适应的训练数据。于是,在1335处对这样选择的本地适应事件标记,以便允许本地模型适应单元370适当地使用所选择的事件对模型进行本地适应。接着,将这样标记的用于本地模型适应的关心事件存储在用于关心事件的存储器360中。
[0125] 类似地,对于全局模型更新,在1345处,读取用于对选择全局模型更新所用的关心事件进行控制的配置1340的设置,并在1335处将之用于选择将由全局模型更新云160使用的关心事件。于是,在1365处,可根据类别模型配置1370,对这样选择的事件进行标记。于是,将适当标记的关心事件存储在存储器360中,使得它们能由全局模型更新云160进一步用于对模型重新进行训练。
[0126] 如这里所讨论的,一旦选择了关心事件,将它们归档在存储器360中,并且接下来它们可由本地模型适应单元370和/或全局模型更新单元380访问,以用于模型适应。图14示出了根据本示教一实施例的本地模型适应单元370的示例性高层次系统图。在此实施例中,本地模型适应单元370包括本地模型适应数据选择器1410、本地模型适应控制器1420、基于差异的模型适应单元1460以及基于强化的模型适应单元1470。在运行中,本地模型适应数据选择器1410从存储器360读取这样的关心事件:其可能被标记为用于本地模型适应。
[0127] 基于所读取的关心事件,本地模型适应数据选择器1410可选择适合用于本地适应的那些事件,其可以是标注为用于本地模型适应的全部或一些事件。本地模型适应数据选择器1410也可将所选择的事件分到不同的类别中,以便在不同的适应模式中使用它们。这样的处理可以基于本地模型适应模型370是如何配置的。在这一所示出实施例中,模型适应配置1430可具体指定各个本地模型适应单元370将要执行的适应。在某些实施例中,模型适应配置1430可具体指定本地模型适应将要基于与差异(在物体检测结果和关于物体检测的最终结论之间)对应的事件来执行。在某些实施例中,模型适应配置1430可具体指定本地模型适应将要基于与差异和强化二者对应的事件来进行。
[0128] 基于由模型适应配置1430具体指定的本地模型适应的模式,本地模型适应数据选择器1410相应地选择关心事件。也就是说,当仅仅将会执行基于差异的本地模型适应时,将选择与差异有关的事件。如果差异和强化事件都将用于本地模型适应,将选择两种类型的事件。所选择的关心事件,包括差异事件和强化事件二者,分别存储在差异数据组1450和强化数据组1440中。
[0129] 本地模型适应控制器1420根据由模型适应配置1430具体指定的适应模型来控制本地模型适应的运行。取决于该配置,它调用基于差异的模型适应单元1460或是基于强化的模型适应单元1470,或者是二者。一旦调用,基于差异的模型适应单元1460访问存储在1450中的差异数据组,用于使用表征差异的训练数据的模型适应。类似地,一旦调用,基于强化的模型适应单元1470访问来自1440的强化数据组,用于使用强化训练数据的模型适应。
[0130] 图15为根据本示教一实施例的本地模型适应单元370的示例性过程的流程图。在1510处读取存储在存储器360中的关心事件。为了继续进行本地模型适应,在1520处,由模型适应配置1430具体指定的适应模式用于确定如何进行。如果该配置指定该模式将会仅仅使用强化训练数据,在1525处选择与强化数据有关的事件,并在1530处将之用于由基于强化的模型适应单元1470来执行基于所选择的强化数据的本地模型适应。如果该配置指定该模式将要仅仅使用差异训练数据,在1550处选择与差异事件有关的事件,并在1555处将之用于由基于差异的模型适应单元1460执行基于所选择的差异训练数据的本地模型适应。如果该配置指定该模式将会同时使用差异和强化训练数据,在1535处选择与强化数据有关的事件并分别将之归档在差异数据组存储器1450和强化数据组存储器1440中。基于差异的模型适应单元1460和基于强化的模型适应单元1470都被启用,以便在1540处执行本地模型适应。一旦模型被适应,被适应模型在1545处受到本地更新。
[0131] 图16示出了根据本示教一实施例的全局模型更新单元380的示例性高层次系统图。在此实施例中,全局模型更新单元380的责任是将为全局模型更新选择的关心事件发送到全局模型更新云160,之后,从全局模型更新云160接收更新模型包,接着,基于接收到的更新模型包相应地更新本地存储的模型。全局模型更新可以根据基于全局模型更新配置1620确定的计划来进行。
[0132] 全局模型更新单元380包括关心事件分类器1610、车辆中心数据生成器1620、全局更新计划器1630、车辆中心训练数据发送器1640、全局更新模型包接收器1650以及模型更新单元1660。在运行中,全局更新计划器1630根据由全局更新配置1620指定的设置来启用。例如,全局更新配置1620可以控制每天晚上在车辆处于停泊状态(即并非正在运动)时进行全局模型更新活动。这样的配置可以由操作车辆的用户或由中央控制机制(未示出)动态地重新设置。
[0133] 一旦满足指定的全局模型更新条件,全局更新计划器1630调用关心事件分类器1610,以获得关心事件并根据由全局类别模型配置1670指定的类别模型配置对这样的事件进行组织。关心事件选择器1610对关心事件进行分类,使得适合用于对特定类别模型进行重新训练的事件被如此标记,因此它们能被适当地使用。例如,如果关心事件在物体检测由于太阳眩光而失败(假阴性)的情况下出现,其可用于在存在太阳炫光的情况下用于物体检测的类别模型的全局模型更新。一事件也可分到不同的类之中。例如,上面的示例性事件可用于更新全局模型410,也可用于更新与太阳眩光有关的模型。
[0134] 分类的事件于是被发送到车辆中心数据生成器1620,使得所选择和分类的关心事件可在发送到全局模型更新云160之前被打包为来自车辆的训练数据。在生成车辆中心训练数据时,车辆中心数据生成器1620访问存储在车辆信息存档1680中的信息,其可包括关于车辆的多种具体信息,例如VIN、制造商、车辆型号等。在某些实施例中,车辆特定信息也可包括关于车辆大多数情况下运行方式的信息。这种信息的实例可包括车辆主要是在城市道路还是乡村道路上运行,等等。这种信息可与所选择的训练数据一起打包,使得全局模型更新云160可以用来判断如何使用所接收的训练数据。
[0135] 一旦生成,打包的训练数据接下来被发送到车辆中心训练数据发送器1640,于是,车辆中心训练数据发送器1640在全局更新计划器1630触发它时将车辆中心训练数据包发送到全局模型更新云160。当全局模型更新云160重新训练模型并将更新后的模型包发送回去时,全局更新模型包接收器1650获得更新模型包,并对其进行解析,生成用于模型更新单元1660的合适的指令,以执行本地模型的实际更新。当模型更新单元1660接收到来自全局更新模型包接收器1650的指令时,其进行到存储在车辆中的原位模型320的更新。
[0136] 图17为根据本示教一实施例的全局模型更新单元380的示例性过程的流程图。全局模型更新基于某些配置条件来计划。在1710处,判断是否是时候开始初始化全局模型更新过程。如果预先设置的条件不满足,过程循环回去,继续检查,一直到条件得到满足。一旦条件满足,初始化全局模型更新过程。首先,在1720处访问即时标记的关心事件。在1730处,基于其标记,以及根据情况选择基于在全局类别模型配置1670中指定的信息,选择这样的关心事件并对之进行分类。基于分类,在1740处,根据存储在车辆信息存档1680中的车辆具体信息,生成车辆中心训练数据包。打包的训练数据于是在1750处发送到全局模型更新云160。
[0137] 当全局模型更新云160完成模型的重新训练时,其得到更新的模型,并将更新模型包发送到车辆。当原位感知系统110中的全局更新模型包接收器1650接收到更新模型包时,其触发模型更新单元1660,以便在1770处更新存储在原位感知系统110中的模型320。
[0138] 图18示出了根据本示教一实施例的模型更新单元1660的示例性高层次系统图。在此实施例中,模型更新单元1660包括更新模型包分析器1810、模型更新控制器1820、全局模型更新单元1840以及类别模型更新单元1830.如这里讨论的,模型320可包括全局模型410和多种类别模型420,类别模型420可进一步包括各个类下面的多种模型。当全局更新模型包接收器1650将接收到的更新模型包和更新指令发送到模型更新单元1660时,更新模型包分析器1810分析接收到的更新模型包和指令,并相应地得到控制信号。这样的控制信号被发送到模型更新控制器1820,于是,模型更新控制器1820基于控制信号控制模型更新过程。
[0139] 在此所示实施例中,对全局模型410的更新和对类别模型420的更新可以用不同的模或过程执行。通过提供与更新模型有关的合适的信息,模型更新控制器1820分别控制每一个模型。全局模型更新单元1840从模型更新控制器1820接收与更新全局模型有关的信息,并相应地进行全局模型410的更新。类别模型更新单元1830从模型更新控制器1820接收与更新的类别模型有关的信息,并基于所接收的信息更新多种类别模型。
[0140] 尽管称为物体检测模型,它们可以包括不同类型的模型。有些可针对传统物体检测,即识别物体的边界。其他模型也可被包括在这里公开的物体检测模型中。例如,可以有用于特征检测的模型,且这样的特征可包括尺寸、纹理、深度等。这里公开的物体检测模型含义内其他的模型也可针对例如不同模态的传感器数据的整合。各个模型也可具有能被适应或更新的不同方面,包括但不限于:模型参数;模型配置,例如深度学习神经网络中的层数,或各层中的神经元数量及其对应的运行参数,等等。
[0141] 图19为根据本示教一实施例的模型更新单元1660的示例性过程的流程图。首先,在1910中接收更新模型包和模型更新指令。在1920处对所接收的信息进行分析。基于所接收的信息,在1930处判断全局模型410是否将被更新。如果全局模型将被更新,模型更新控制器1820启用全局模型更新单元1840,以便在1940处更新全局模型410。如果全局模型不根据接收到的更新模型包被更新,则在1950处进一步检查类别模型420是否将被更新。作为替代,全局模型在1940处被更新之后,还进一步检查类别模型420是否将被更新。如果类别模型在这一轮将不被更新,过程进行到步骤1910,以等待下一个周期的全局模型更新。否则,模型更新控制器1820启用类别模型更新单元1830,以便在1970处根据接收到的更新模型包更新类别模型。一旦类别模型被更新,过程进行到步骤1910,一直到下一轮全局模型更新。
[0142] 全局模型更新可以规则地在全局模型更新云160中进行,更新的模型可被分发给车队中的车辆。在某些实施例中,车队还可分为不同的组,各个组可具有有理由具有个性化模型的特定特性。例如,组可以根据车辆类型划分,例如大的半挂卡车组、运动型汽车组、轿车组等。各种类型的车辆可共有特定的特性。例如,半挂卡车可具有高得多的重心,不能快速起动和停下。运动型汽车可能相反。由于这些不同,用于它们的模型也可能不同。用于各组车辆的全局模型可以使用来自这些车辆的训练数据来训练/适应,使得它们适合用于对模型进行适应,以便在考虑该组的共同特性的情况下获得更好的性能。经由例如嵌入发送到全局模型更新云160的关心事件中的车辆信息,也可具体指引车队各组的原位感知系统与全局模型更新云160之间的通信。
[0143] 图20示出了根据本示教一实施例经由网络2020与全局模型更新云160连接的一队自动驾驶车辆2010的示例性框架结构。如所示的,车队2010中的车辆经由网络2020将关心事件发送到全局模型更新云160,在模型被更新时,全局模型更新云160分析接收到的关心事件,识别发送其关心事件(一种希望接收更新模型的指示)的车辆。基于接收到的训练数据,全局模型更新云160计划模型更新过程。一旦模型得到更新,全局模型更新云160将多种更新模型包经由网络2020发送到车队中的车辆。
[0144] 在此所示实施例中,全局模型更新云160包括车队标记数据处理单元2060、模型更新控制器2070和多个模型更新中心2030,模型更新中心2030可以分布在云中,并包括模型更新中心1 2030-1、模型更新中心2
[0145] 2030-2、……、模型更新中心K 2030-K。在运行中,车队标记数据处理单元2060在接收到来自车队中的不同车辆的关心事件时,处理这样接收的训练数据,并识别发送训练数据的车辆的信息。所识别的车辆被记录在车辆信息存档2050中。
[0146] 基于从车队接收的标记的训练数据,模型更新控制器2070做出计划来初始化模型更新过程。计划可包括判断哪些模型将被更新(可取决于接收到的被标记的数据),哪个(哪些)模型更新中心将更新哪个(哪些)模型,并将合适的已标记的训练数据组发送到所选择的模型更新中心,从而分别初始化更新。与各组标记的训练数据相关联的车辆信息也可被发送到所选择的模型更新中心,以便使所选择的模型更新中心生成用于所涉及车辆的合适的输出更新模型包。在完成模型更新时,所选择的模型更新中心将更新模型包发送到被指定为接收更新模型的车辆。
[0147] 在全局模型更新云160中,各个模型更新中心可根据不同的标准分配职责。在某些实施例中,模型更新中心可以被分配为用于例如特定一组模型的全局模型更新,无论它是全局模型410还是类别模型420中的任何一类别模型。模型更新中心也可协调来执行分布式模型更新。在这种情况下,每当要执行全局模型更新时,各个模型更新中心可被指派来执行其中的一部分。在某些实施例中,一个或多个的模型更新中心可以被指派为执行协调。在某些实施例中,可能在全局模型更新云160中存在中央控制(未示出),用于协调分布式全局模型更新。在某些实施例中,可能在云中仅仅存在一个模型更新中心来完整地执行全局模型更新。
[0148] 全局模型更新云160可存储物体检测模型的全局版本2040,其可以具有、或者可以不具有与驻留车辆中的原位感知系统中的模型类似的结构。例如,半挂卡车可具有全局模型,并仅仅加上为半挂卡车指定的类别模型。但是,模型的全局版本具有全部类别模型。图22-23示出了全局模型的示例性组织结构。如这里所讨论的,图22显示,模型的全局版本
2040包括全局模型2210和/或一类或多类的模型,类别1模型2220、类别2模型2230、……、类别N模型2240。各个类别也可具有属于该类的模型和/或一个或多个子类别模型。如所示出的,类别1模型2220可包括属于类别1的若干个模型2220-1,并进一步包括类别1子类别模型
2220-1;类别2模型2230包括属于该类的其模型2230-1;……,类别N模型2240包括类别N的若干个模型2240-1,并进一步包括附加的类别N子类别模型2240-2。各个子类别也可继续具有附加的子类别模型。
[0149] 如这里所讨论的,各个模型——包括全局、类别或子类别模型——可对应于不同类型的模型。模型可以是深度学习神经网络或其他类型的模型,例如参数模型或基于启发的模型。各个模型可被配置为用于处理数据,以实现某种类型的决策,例如,检测物体或物体的特征,例如深度、纹理等。模型可被配置为执行单一任务(例如基于图像的物体检测)或基于来自多个源的数据执行任务组合,例如,基于多视角数据检测物体和深度。由于模型的不同,模型的更新可能涉及不同类型的适应。例如,为了更新参数模型,可能涉及重新对模型进行训练,以得到模型的更新参数。这些参数可涉及模型的不同方面,某些是功能性的,某些可以是结构性的。对于深度学习神经网络模型,可能存在模型的结构性参数,例如层数和各层中的节点数。还可存在功能性参数,例如节点执行的功能,以及连结不同节点的连接的权重。更新深度神经网络模型可能涉及与模型有关的所有方面。
[0150] 还可能存在出于不同目的的模型,其需要不同的数据和方式来执行更新。例如,某些模型可被配置为整合不同类型的信息,以便获得更好的性能,比如用于将被动传感器数据与主动传感器数据整合来深度检测的模型,或用于对多视角数据的检测结果进行整合、以得到关于检测的整合判断的模型。这在图23中示出。
[0151] 回到图20,车辆信息存档2050存储这样的信息:其与车队以及发送标记的关心事件以寻求更新模型的各个具体车辆有关。这样的信息被馈送到不同地选择的模型更新中心2030,更新模型包可被适当地生成并发送到每一辆这样的车。
[0152] 图21示出了根据本示教一实施例的模型更新中心的示例性高层次系统图。在此所示实施例中,模型更新中心2030-1包括全局关心事件合并器2105、训练数据分类单元2110、全局模型更新控制器2120、类别模型更新控制器2125、基准测试数据生成器2130、模型训练单元2140、全局模型更新测试单元2135、全局更新模型包生成器2150以及全局更新模型分发器2160。在此实施例中,模型更新中心2030-1被配置为能够生成更新的全局模型和更新的类别模型。在某些实施例中,取决于模型更新中心的角色,模型更新中心可被配置为生成指定的一组更新的模型。
[0153] 在运行中,来自模型更新控制器2070的关心事件(其可对应于车队数据的子集)被全局关心事件合并器2105接收。对应地,关于提供所接收的关心事件的车辆的信息也可被模型更新中心接收,即被全局更新模型包生成器2150接收,以便生成合适的更新模型包。当车辆的原位感知系统将其关心事件发送到全局模型更新云160时,这表示全局感知系统想要接收更新模型。因此,当来自这种原位感知系统的关心事件在全局模型更新云上被接收时,可以向被计划为更新某些模型的模型更新中心通知将要接收由模型更新中心生成的更新模型的车辆。
[0154] 基于合并的关心事件,训练数据分类单元2110可基于它们的标记以及将要更新的对应模型对训练数据进行分类。例如,某些训练数据可被标记为差异数据,某些可以为强化数据,根据这些标记,训练数据可以不同地应用以生成更新的模型。另外,某些数据可被标记为与来自雨天的检测结果有关,故而除了用于适应全局模型之外,这样的数据也可用于更新用于雨天气候条件的类别模型。有些这样分类的训练数据可被适当地发送到模型训练单元2140,用于对模型重新进行训练,有些可被发送到基准测试数据生成器2130,其中,有些标记的数据被识别为用作基准测试数据。这种基准测试数据可被用于测试重新训练的模型,以确保性能。因此,基准测试数据可为将要更新的各个模型分别生成。
[0155] 取决于将要更新的模型,全局模型更新控制器2120或是类别模型更新控制器2125或者是二者同时被启用,以便对全局模型更新进行初始化。全局模型更新控制器2120控制模型训练单元2140,以便基于标记的训练数据进行全局模型的全局版本的重新训练。模型更新过程可以是迭代的,被更新的模型在更新过程中针对训练数据得到最优化。在重新训练期间,更新的全局模型可从模型训练单元2140发送到更新模型测试单元2135,以便使用由基准测试数据生成器2130生成的基准测试数据来测试更新的全局模型。最优化可一直持续到基准测试满足某些条件。
[0156] 类别模型更新控制器2125初始化类别模型更新处理的过程,可遵循用于更新过程的类似的流程,除了模型训练单元2140适合用于该过程中被更新的各个类别模型的训练数据,以及这样的更新类别模型,基于被测试的各个类别模型所指定的基准测试数据受到测试以外。各个类别模型可分别更新。全局模型更新的整个过程可花费一定时间来完成。
[0157] 重新训练或适应性训练由模型训练单元2140执行。在某些实施例中,重新训练可以基于新接收的标记的关心事件和存储在历史数据存储器2145中的历史训练数据进行。通过这种方式,模型可以在迄今为止收集的全部数据上训练。在某些实施例中,更新可以使用全部数据(历史的,以及新接收的)的部分子集来进行,例如,仅仅那些来自特定的更近时间段(上个月或上一年)的信息。
[0158] 当全局模型更新过程完成时,即当模型针对训练数据得到最优化时,全局更新模型包生成器2150被启用,以便基于从模型更新控制器2070接收的车辆信息为一组车辆生成合适的更新模型包。这样的车辆信息可识别哪一辆车将要接收哪一(哪些)更新模型。基于全局更新模型以及来自模型更新控制器2070的车辆信息,全局更新模型包生成器2150为在车辆信息中指定的各个车辆生成更新模型包。这样生成的更新模型包于是被发送到全局更新模型包分发器2160。在接收到更新模型包时,全局更新模型包分发器2160根据从模型更新控制器2070接收的车辆信息将各个包发送到合适的车辆。
[0159] 图24为根据本示教一实施例的模型更新中心的示例性过程的流程图。首先,在2405处,对由模型更新中心接收的已标记的关心事件进行分类。基于这样分类的标记的训练数据,基准测试数据生成器2130在2410处生成将要用于测试将被更新的各模型的基准测试数据。为了进行更新过程,在2415处判断将要更新的模型是否涉及全局模型(对应于全局模型410)。如果全局模型将要被更新,合适的标记的训练数据——包括历史训练数据和新接收的训练数据——用于在2420处对全局模型进行重新训练。重新训练的全局模型于是在
2425处使用为测试全局模型而选择的基准测试数据受到测试。如果测试结果在2430处判断是令人满意的,全局模型在2345处更新,如果测试结果不满意,处理返回到2420,以便对全局模型重新进行训练(例如迭代地)。
[0160] 如果不涉及全局模型更新或者当全局模型已经被满意地更新时,2440处的步骤判断是否将要更新任何类别模型。如果将要更新任何类别模型,模型更新中心在2450处基于历史的以及新接收的训练数据重新训练被计划为进行更新的类别模型。在重新训练过程中,重新训练的类别模型在2455处被测试。如果在2460处判断为测试结果不满意,处理返回到2455,以继续类别模型的重新训练(例如迭代地)。如果重新训练的类别模型的测试结果令人满意,过程进行到基于重新训练的结果在2465处对类别模型进行更新。
[0161] 如果没有涉及任何类别模型更新,或者当类别模型已经被满意地更新时,过程进行到2470,以判断哪些车辆将要接收哪些更新模型或者是关心。不同的车辆可被配置为接收不同组更新模型。因此,用于不同车辆的更新模型包在2475处被生成,并在2480处被分发到指定的关心车辆。
[0162] 图25示出了可用于实现实施本示教的特定系统的移动装置的体系结构。此移动装置2500包括但不限于智能电话、平板电脑、音乐播放器、手持式游戏机、全球定位系统(GPS)接收器和可穿戴计算装置(例如眼镜、腕表等),或者处于任何其他的形态。此实例中的移动装置2500包括:一个或多个的中央处理单元(CPU)2540;一个或多个的图形处理单元(GPU)2530;显示器2520;存储器2560;通信平台2510,例如无线通信模块;存储器2590;以及一个或多个的输入/输出(I/O)装置2550。任何其他合适的部件也可被包括在移动装置2500中,包括但不限于系统总线或控制器(未示出)。如图25所示,移动操作系统2570(例如iOS、Android、Windows Phone等)以及一个或多个的应用2580可从存储器2590载入到内存2560中,以便由CPU 2540执行。
[0163] 为了实现本公开中介绍的多种模块、单元及其功能,计算机硬件平台可用作用于这里介绍的一个或多个元件的硬件平台。硬件元件、操作系统和这种计算机的编程语言在性质上是传统式的,并且假定本领域技术人员对它们足够地熟悉,以便将这些技术适应于这里介绍的示教。具有用户接口元件的计算机可用于实现个人计算机(PC)或其他类型的工作站或终端装置,但是,如果合适地编程的话,计算机也可用作服务器。相信本领域技术人员熟悉这种计算机设备的结构、编程和一般运行,因此,附图可能是不言自明的。
[0164] 图26示出了能用于实现实施本示教的特定系统的计算装置的体系结构。实现本示教的这种特定的系统具有硬件平台的功能框图,该硬件平台包括用户接口元件。计算机可以是通用计算机或专用计算机。二者都能用于实施用于本示教的专用系统。这种计算机2600可用于实现如这里所介绍的示教的任何部件。尽管为方便起见示出了仅仅一台这样的计算机,与这里介绍的示教有关的计算机功能可以以分布式在若干个类似的平台上实现,从而分散处理负荷。
[0165] 例如,计算机2600包括连接到网络的COM端口2650,以促进数据通信。计算机2600还包括中央处理单元(CPU)2620,其采用一个或多个处理器的形式,用于执行程序指令。示例性计算机平台包括:内部通信总线2610;不同形式的程序存储器和数据存储器,例如盘2670、只读存储器(ROM)2630或随机访问存储器(RAM)2640,用于将要处理和/或由计算机进行通信的多种数据文件以及将由CPU执行的可能的程序指令。计算机2600还包括I/O部件
2660,其支持在计算机和这里的其他部件(例如用户接口元件)之间的输入/输出流。计算机
2600也可经由网络通信接收编程和数据。
[0166] 因此,如上面所概述的本示教的方法的实施形态可以在程序中实现。本技术的程序方面可被看作典型地处于可执行代码和/或相关数据的形式的“产品”或“制品”,其承载在一种机器可读介质上或在机器可读介质中实现。有形的非暂时性“存储器”型介质包括任何或全部用于计算机、处理器等的内存或其他存储器,或者其相关模块,例如多种半导体存储器、带驱动器、盘驱动器等,其可在任何时候为软件编程提供存储。
[0167] 所有或部分软件有时可通过网络(例如互联网或多种其他电信网络)传送。例如,这种传送可使从一台计算机或处理器向另一台载入软件(例如从搜索引擎操作者或其他增强广告服务器的管理服务器或主机载入实现与本示教相关的计算环境或类似功能的计算环境或其他系统的硬件平台)成为可能。因此,可承载软件元素的另一类型的介质包括光、电和电磁波,例如通过本地装置之间的物理接口、通过有线和光固定网络、通过多种空中链路使用。承载这种波的物理元件(例如有线或无线链路,光链路等)也被看作承载软件的介质。如这里所使用的,除非限制为有形的“存储”介质,例如计算机或机器“可读介质”的术语指参与向处理器提供指令以便执行的任何介质。
[0168] 因此,机器可读介质可采用多种形式,包括但不限于有形存储介质、载波介质或物理传输介质。非易失性存储介质包括例如光或磁盘,例如任何计算机等等之中的任何存储装置,其可用于实现附图所示的系统或其任何部件。易失性存储介质包括动态存储器,例如这种计算机平台的主内存。有形传输介质包括同轴电缆线和光纤,包括构成计算机系统内的总线的导线。载波传输介质可采用电或电磁信号或者是声或光波(例如在射频(RF)和红外(IR)数据通信中生成的那些)的形式。计算机可读介质的一般形式因此包括例如软盘、可折叠盘、硬盘、磁带、任何其他磁介质、CD-ROM、DVD或DVD-ROM、任何其他光介质、穿孔卡片纸带、具有孔的图案的任何其他物理存储介质、RAM、PROM和EPROM、FLASH-EPROM、任何其他的存储器芯片或插装盒、载波传输数据或指令、传送这样的载波的电缆或链路、或计算机可从之读取编程代码和/或数据的任何其他介质。许多这些形式的计算机可读介质可以涉入将一个或多于一个的指令的一个或多于一个的序列承载到物理处理器,以便执行。
[0169] 本领域技术人员将会明了,本示教适用于多种修改和/或增强。例如,尽管上面介绍的多种部件的实现可以在硬件装置中实现,其还可实现为仅仅使用软件的解决方案,例如安装在已有的服务器上。另外,这里所公开的示教也可实现为固件、固件/软件组合、固件/硬件组合或是硬件/固件/软件组合。
[0170] 尽管上面已经介绍了本示教和/或其他实例,将会明了,可对之做出多种修改,这里公开的主题可以以多种形式和/或实例实现,且本示教可以在多种应用场合中应用,这里仅仅介绍了其中的一些。所附权利要求旨在要求落入本示教真实范围内的任何以及全部应用、修改和变型。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈