用于自治系统的对象过滤和统一表示形式的系统和方法与流程

文档序号:20012757发布日期:2020-02-22 04:35阅读:132来源:国知局
用于自治系统的对象过滤和统一表示形式的系统和方法与流程
相关申请案交叉申请本发明要求2017年6月26日递交的发明名称为“用于自治系统的对象过滤和统一表示形式的系统和方法”的第15/633,470号美国申请案的在先申请优先权,该在先申请的内容以引入的方式并入本文中。本发明涉及自治系统中的决策,在某个特定实施例中,涉及一种用于自治系统的对象过滤和统一表示形式的系统和方法。
背景技术
:自治系统使用程序化专家系统对遇到的情况做出反应。所述遇到的情况可以用可变的表示形式来表示。例如,视觉传感器检测到的对象列表的长度可以根据检测到的对象的数量而变化。技术实现要素:现描述各种示例从而以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本
发明内容的目的不在于识别权利要求书保护的主题的关键或必要特征,也不在于限制权利要求书保护的主题的范围。根据本发明的一个方面,提供了一种控制自治系统的计算机实现方法,所述方法包括:一个或多个处理器访问包括区域信息的传感器数据;所述一个或多个处理器忽略所述传感器数据中对应于感兴趣区域以外的对象的部分数据;所述一个或多个处理器识别来自所述传感器数据的多个对象;所述一个或多个处理器为所述多个对象中的每一个对象分配优先级;所述一个或多个处理器基于所述对象的优先级选择所述多个对象的子集;所述一个或多个处理器生成所选对象的表示形式;所述一个或多个处理器将所述表示形式作为输入提供给机器学习系统;并且根据因所述输入产生的机器学习系统的输出,来控制所述自治系统。可选地,在任一前述方面中,所述感兴趣区域由包括多个扇区的扇区图来界定,所述扇区图的每个扇区由角度范围和距自治系统的距离来界定。可选地,在任一前述方面中,所述多个扇区中的至少两个扇区由距所述自治系统的不同距离来界定。可选地,在任一前述方面中,所述感兴趣区域包括一个或多个通道的每个通道的分段。可选地,在任一前述方面中,所述忽略由感兴趣区域以外的对象生成的传感器数据包括:从所述传感器数据中识别多个对象;针对所述多个对象中的每一个对象:基于所述对象生成的传感器数据来识别通道;将识别出的通道与所述对象进行关联;以及忽略由与预定通道相关联的对象生成的传感器数据。可选地,在任一前述方面,所述方法还包括:基于所述传感器数据和一组标准,将所述感兴趣区域从第一感兴趣区域切换到第二感兴趣区域,所述第一感兴趣区域由包括多个扇区的扇区图来界定,所述扇区图的每个扇区由角度范围和距所述自治系统的距离来界定,所述第二感兴趣区域包括一个通道或多个通道中的每一个通道的分段。可选地,在任一前述方面,所述方法还包括:基于所述传感器数据和一组标准,将所述感兴趣区域从第一感兴趣区域切换到第二感兴趣区域,所述第一感兴趣区域包括一个通道或多个通道中的每一个通道的分段,所述第二感兴趣区域由包括多个扇区的扇区图来界定,所述扇区图的每个扇区由角度范围和距所述自治系统的距离来界定。可选地,在任一前述方面中,所述感兴趣区域的定义包括高度。可选地,在任一前述方面中,所述选择多个对象的子集包括选择预定数量的多个对象。可选地,在任一前述方面中,所述选择多个对象的子集包括选择优先级高于预定阈值的多个对象的子集。可选地,在任一前述方面中,所述表示形式是与用于训练所述机器学习系统的表示形式相匹配的统一表示形式;所述统一表示形式是二维图像。可选地,在任一前述方面中,所述生成二维图像包括将每个所选对象的多个属性编码到所述二维图像的多个通道中的每一个通道中。可选地,在任一前述方面中,所述生成二维图像包括:生成第一二维图像;以及使用拓扑保留下采样从所述第一二维图像生成所述二维图像。可选地,在任一前述方面中,所述表示形式是与用于训练所述机器学习系统的表示形式相匹配的统一表示形式;所述统一表示形式是具有固定长度的向量。可选地,在任一前述方面中,所述生成具有固定长度的向量包括向所述向量添加一个或多个虚幻对象,每个虚幻对象在语义上是有意义的。可选地,在任一前述方面中,每个虚幻对象具有与所述自治系统的速度相匹配的速度属性。根据本发明的一个方面,提供了一种自治系统控制器,所述自治系统控制器包括:包括指令的存储器,与所述存储器通信的一个或多个处理器,其中,所述一个或多个处理器执行所述指令来执行以下操作:访问包括区域信息的传感器数据;忽略所述传感器数据中对应于感兴趣区域以外的对象的部分数据;识别来自所述传感器数据的多个对象;为所述多个对象中的每一个对象分配优先级;基于所述对象的优先级,选择所述多个对象的子集;生成所选对象的表示形式;将所述表示形式作为输入提供给机器学习系统;并且根据因所述输入产生的机器学习系统的输出,来控制所述自治系统。可选地,在任一前述方面中,所述感兴趣区域由包括多个扇区的扇区图来界定,所述扇区图的每个扇区由角度范围和距自治系统的距离来界定。可选地,在任一前述方面中,所述多个扇区中的至少两个扇区由距所述自治系统的不同距离来界定。根据本发明的一个方面,提供了一种非瞬时性计算机可读介质,所述非瞬时性计算机可读介质存储用于控制自治系统的计算机指令,当所述指令由一个或多个处理器执行时,会使得所述一个或多个处理器执行以下步骤:访问包括区域信息的传感器数据;忽略所述传感器数据中对应于感兴趣区域以外的对象的部分数据;识别来自所述传感器数据的多个对象;为所述多个对象中的每一个对象分配优先级;基于所述对象的优先级,选择所述多个对象的子集;生成所选对象的表示形式;将所述表示形式作为输入提供给机器学习系统;并且根据因所述输入产生的机器学习系统的输出,来控制所述自治系统。在不脱离本发明范围的前提下,任何一个前述示例都可以与任何一个或多个其它前述示例结合以创建新的实施例。附图说明图1是一些示例实施例提供的自治系统的数据流图示;图2是一些示例实施例提供的自治系统附近的对象的框图;图3是一些示例实施例提供的表示自治系统附近的对象的固定大小图像的框图;图4是一些示例实施例提供的表示自治系统附近的对象的一个固定大小图像的框图;图5是一些示例实施例提供的一个固定大小图像的框图,所述固定大小图像表示覆盖有感兴趣区域的自治系统附近的对象;图6是一些示例实施例提供的一个固定大小图像的框图,所述固定大小图像表示覆盖有基于扇区的感兴趣区域的自治系统附近的对象;图7是一些示例实施例提供的一个固定大小图像的框图,所述固定大小图像表示覆盖有基于通道的感兴趣区域的自治系统附近的对象;图8是一些示例实施例提供的实现算法和执行方法的客户端和服务器的电路的框图;图9是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法的流程图;图10是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法的流程图;图11是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法的流程图。具体实施方式以下结合附图进行详细描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体实施例。这些实施例将充分详细描述,使本领域技术人员能够实施所述创新性主题,而且应该明白的是可以使用其它实施例并且在不脱离本发明的范围的情况下可以做出结构上、逻辑上、电学上的改变。因此,以下描述的示例性实施例并不当作限定,本发明的范围由所附权利要求书界定。本文描述的功能或算法可以在一实施例中的软件中实施。该软件可包含计算机可执行指令,这些计算机可执行指令存储在计算机可读介质上或者计算机可读存储设备上,如一个或多个非瞬时性存储器或其它类型的本地或联网的硬件存储设备。该软件可在数字信号处理器、专用集成电路(application-specificintegratedcircuit,简称asic)、可编程数据面芯片、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、微处理器上执行或者在交换机、服务器、或其它计算机系统等其它类型的计算机系统上运行的处理器上执行,从而将这类计算机系统转换成一个专门编程的机器。处理从传感器接收的数据以生成适合用作自治系统控制器的输入的表示形式。在现有的自治系统中,提供给所述自治系统控制器的表示形式可以包括表示所述自治系统的环境中的过多对象的数据。所述过多的数据增加了决策过程的复杂性,却没有提高决策的质量。因此,在为所述自治系统控制器生成输入之前能够识别相关对象的过滤器有助于提高所述控制器和/或自治系统的性能。与使用可变数据表示形式的现有技术系统相比,统一的数据表示形式可能更适合由机器学习算法训练的控制器所使用。先进的机器学习算法(例如,卷积神经网络)依赖于固定大小的输入,因此更倾向于采用统一的数据表示形式进行输入。统一的数据表示形式是一种不会根据传感器数据改变而改变大小的数据表示形式。示例性统一数据表示形式包括固定大小的二维图像和固定长度的向量。相反,可变数据表示形式会根据传感器数据的改变而改变大小。示例性可变数据表示形式包括可变大小的图像和可变大小的向量。在接收所述统一数据表示形式作为输入时,所述自治系统控制器操控所述自治系统。示例性自治系统包括自动驾驶交通工具,例如汽车、无人机和工厂机器人。自动驾驶交通工具可用于公路上驾驶和/或非公路上驾驶。在一些示例实施例中,对象过滤框架与统一数据表示形式框架结合使用或代替统一数据表示形式框架。所述对象过滤框架可以通过过滤掉对所述控制器做出的决策影响甚微的对象,来简化所述自治系统控制器的输入。图1是根据一些示例实施例的自治系统的数据流图示100。所述数据流图示100包括传感器110、感知120和决策130。所述传感器110收集所述自治系统的原始数据。示例性传感器包括相机、麦克风、雷达、震动传感器和无线接收器。处理所述传感器110收集的数据以生成所述感知120。例如,可以由对象识别系统来分析相机的图像数据以生成感知对象列表、每个对象的大小、每个对象相对于所述自治系统的位置或任意合适的组合。可以分析摄像机中视频数据的连续帧以确定每个对象的速度、每个对象的加速度或任意合适的组合。所述传感器110收集的数据可以视为时间t的函数d。因此,d(t)指的是在时间t收集的原始数据集。类似地,所述感知120可以视为时间t的函数o,所述感知120识别或重建从中生成原始数据的对象的表示形式。因此,o(t)指的是在时间t的环境对象集。所述决策130使用所述感知120来控制所述自治系统。例如,所述决策130可以对感知到的通道边界做出反应以使自治系统(例如,自动驾驶车辆)保持在其车道中。例如,沥青或混凝土上的涂漆条纹可被识别为车道边界。作为所述决策130的反应的另一示例,所述决策130可通过降低速度来对感知到的对象做出反应以避免碰撞。可以使用高级机器学习算法来实现所述感知120和/或决策130。图2是根据一些示例实施例的自治系统230附近的对象的框图200。所述框图200包括区域210、通道标示220a和220b、自治系统230以及车辆240a、240b、240c、240d、240e、240f、240g、240h、240i和240j。如图2所示,车道是所述车辆在运动方向上比在垂直方向上逻辑上更长的区域。所述车道的长度物理上不一定比宽度长。例如,在急转弯处,车道可能会大幅弯曲,但车道在逻辑上保持平行并且(立交桥、交通路口和地下通道除外)不相交。所述十个车辆240a-240j可以由所述感知120感知,并作为图像、对象列表或任意合适的组合提供给所述决策130。然而,如图2所示,所述一些感知到的车辆240不太可能影响所述决策130的结果。例如,所述车辆240e和240f位于所述车辆240g的前面,而所述车辆240g位于所述自治系统230的前面。因此,所述自治系统230必须控制其速度或位置以避免与所述车辆240g碰撞,从而必然会避免与所述车辆240e和240f碰撞。因此,无论是否将所述车辆204e和240f告知所述决策130,所述自治系统230都会避免与那些车辆发生碰撞。图3是根据一些示例实施例的表示自治系统附近的对象的固定大小图像310a、310b和310c的框图300。所述图像310a包括对象描绘320a、320b和320c。所述图像310b包括对象描绘330。所述图像310c包括对象描绘340a、340b、340c、340d和340e。可以提供所述固定大小图像310a-310c(例如,固定大小的二维图像)作为从所述感知120到所述决策130的输入。所述每个固定大小图像310a-310c的尺寸相同(例如,480×640像素、1920×1080像素或其它尺寸)。所述每个固定大小图像310a-310c包括不同数量的对象描绘320a-340e。因此,所述决策130可用于在固定大小图像上操作并且仍然能够考虑不同数量的对象的信息。所述决策130可以考虑采用所述对象描绘的属性来控制所述自治系统。例如,所述描绘320b和340b大于图3的其它描绘。又如,所述描绘320c和340c-340e具有与所述对象320a、320b、330、340a和340b不同的颜色。所述固定大小图像310a-310c中的对象描绘的尺寸可以与所述描绘所表示的对象的尺寸相对应。所述对象描绘的颜色可以对应于所述描绘所表示的对象的速度、所述描绘所表示的对象的高度、所述描绘所表示的对象的类型(例如,人、汽车、卡车、岛屿、标志或其任意合适的组合)、所述描绘所表示的对象的运动方向或其任意合适的组合。例如,所述固定大小图像310a-310c可以使用红-绿-蓝-α(red-green-blue-alpha,简称rgba)颜色空间并且在所述颜色空间的四个通道中的每一个通道中指示每个所描绘的对象的不同属性。图像通道是所述图像的逻辑上可分离的部分,与所述图像具有相同的尺寸。为了描绘检测到的对象的属性而并非简单传送图像数据而创建的固定大小图像被称为“合成图”。可以在不改变合成图的拓扑的情况下对合成图进行下采样。例如,可以将600x800合成图下采样为30x40合成图,而不会丢失每个检测到的对象之间的区别。在一些示例实施例中,下采样允许以更高分辨率进行初始处理,以更低分辨率进行所述机器学习系统的训练。使用较低分辨率的图像训练机器学习系统可能比使用较高分辨率的图像获得的训练结果更好。在一些示例实施例中,每个通道(8位灰度)对所述对象的一个单值属性进行编码。在其它示例实施例中,将多个属性(例如,二进制值属性)一起放置到一个通道中,这样可以减小合成图的大小,从而降低所述学习算法的计算成本。在一些示例实施例中,使用了传感器原始图像。然而,合成图可能具有优于传感器原始图像的若干优点。例如,合成图仅包含确定要包括的信息(例如,针对所述系统正在做出的特定决定而定制的一小组最关键的对象)。另一方面,传感器原始图像可能包含大量对所述决策无用的信息,这些信息对于所述学习算法来说是噪声,并可能会淹没所述传感器原始图像中的有用信息。在一些示例实施例中,使用所述合成图而并非传感器原始图像,会使决策系统(例如,卷积神经网络)的训练更快或更有效。与传感器原始图像相比,合成图允许更大程度的拓扑保留下采样(即,保持所表示的对象之间的区别的下采样)。例如,传感器原始图像可能包括相互靠近的很多对象,这种情况下,下采样将导致多个对象失去其拓扑独特性。然而,合成图可能有更多空间进行此类下采样。在一些示例实施例中,所述拓扑保留下采样使用每个对象变形以进一步缩小图像大小,前提条件是这种方法不会影响所述决策。由于图像尺寸减小而带来的性能增益可能超过由于图像通道增加而带来的性能损失。图4是根据一些示例实施例的表示自治系统附近的对象的一个固定大小图像410的框图400。所述固定大小图像410包括车道线描绘420a和420b、自治系统描绘430、以及对象描绘440a、440b、440c、440d和440e。所述对象描绘440d可以是所述感知120在检测到有人后而生成的形状。所述对象描绘440e可以是所述感知120在检测到附近存在多个相互靠近的人后而生成的形状。例如,聚类算法可用于确定何时将多个检测到的人视为一个对象或多个对象。在一些示例实施例中,所述对象描绘440d和440e是矩形的。所述固定大小图像410可以是根据原始传感器数据或合成图像生成的图像。例如,旋转相机捕获的一系列图像或安装在所述自治系统上的一组相机捕获的一组图像可以拼接在一起并进行缩放以生成固定大小图像410。在其它示例实施例中,对所述传感器数据进行对象识别,并通过合成方法生成所述固定大小图像410以表示所识别的对象。图5是根据一些示例实施例的表示覆盖有感兴趣区域550的自治系统附近对象的一个固定大小图像510的框图500。所述固定大小图像510包括车道描绘520a和520b、自治系统描绘530、以及对象描绘540a、540b、540c、540d、540e、540f、540g、540h、540i和540j。根据所述对象在感兴趣区域之内或之外的存在情况来过滤对象被称为“对象无关过滤”,因为所述过滤不依赖于除了位置之外的所述对象的信息。所述感兴趣区域550识别所述固定大小图像510的一部分。所述描绘540c、540f、540g、540h和540j在所述感兴趣区域550内。所述描绘540a、540d、540e和540i在所述感兴趣区域550以外。在不同实施例中,所述描绘540b部分位于所述感兴趣区域550内,因此可以认为是在所述感兴趣区域550以内或在所述感兴趣区域550以外。例如,可以将所述感兴趣区域550内的描绘540b的百分比与预定阈值(例如,50%)进行比较,以确定是将所述描绘540b视为在所述感兴趣区域550的内部还是外部。在一些示例实施例中,所述感知120会过滤掉在所述感兴趣区域550之外的描绘。例如,所述描绘540a、540d、540e和540i可以用具有黑色、白色或其它预定颜色值的像素替代。在使用对象描述的向量的示例实施例中,可以将所述感兴趣区域550以内描绘的对象描述提供给所述决策130,位于所述感兴趣区域550以外描绘的对象描述可以在所提供的向量中忽略。在一些示例实施例中,在生成所述环境的表示形式时,会忽略位于所述感兴趣区域以外的对象的传感器数据。图6是根据一些示例实施例的所述固定大小图像510的框图,所述固定大小图像510表示覆盖有基于扇区的感兴趣区域550的自治系统附近的对象。所述固定大小图像510、分道线描绘520a-520b、自治系统描绘530、以及感兴趣区域550都是在参考图5的情况下讨论的。图6还示出了所述感兴趣区域550的扇区610a、610b、610c、610d、610e、610f、610g、610h、610i、610j、610k、610l、610m、610n、610o和610p。还示出了所述扇区610b的半径620和角度630。基于扇区的感兴趣区域允许将多种形状用于所述感兴趣区域,而不仅仅是常规形状(例如,圆形、椭圆形或矩形)。图6所示的基于扇区的感兴趣区域550可由扇区图来界定,所述扇区图将所述自治系统周围360度划分为扇区(例如,16个扇区610a-610p)并且为每个扇区分配半径(例如,扇区610b的半径620)。因此,每个扇区可以分配不同的半径。如图6所示,在所述自治系统前面的扇区610n和610o的半径大于在所述自治系统后面的扇区610g和610f的半径。另外,每个扇区跨越的角度可以变化。例如,所述扇区610b的角度630可以大于所述扇区610o所跨越的角度。对于检测到的对象,可以检测到其部分位于感兴趣区域以内部分位于感兴趣区域以外。在一些示例实施例中,部分位于所述感兴趣区域以内的对象视为位于所述感兴趣区域以内。在其它示例实施例中,部分位于所述感兴趣区域以外的对象视为位于所述感兴趣区域以外。在其它示例实施例中,使用两个感兴趣区域,使得完全或部分地位于第一感兴趣区域(例如,内部感兴趣区域)以内的任何对象视为在所述感兴趣区域以内,但仅仅额外考虑完全位于第二感兴趣区域(例如,外部感兴趣区域)的对象。在一些示例实施例中,所述扇区图定义了每个扇区的高度。例如,自主无人机可能具有这样的感兴趣区域,所述感兴趣区域包括在无人机的运动方向上在无人机高度之上或之下5英尺,但在相反方向上仅在无人机高度之上或之下1英尺。三维感兴趣区域可用于避免空中对象,例如运输无人机(有或没有悬挂对象)的碰撞。三维感兴趣区域的另一示例应用是允许高大车辆检查垂直间隙(例如,用于交叉桥或隧道)。关于感兴趣区域(包括高度)的部分示例如下所示。角度(度数范围)半径(m)高度(m)[0,5)2010[5,10)189[10,15)159………………所述感兴趣区域可以静态界定或动态界定。例如,可以在部署所述自治系统时定义静态感兴趣区域,并且以后保持不变。动态感兴趣区域可能随时间变化而变化。用于确定静态或动态感兴趣区域的示例因素包括所述自治系统的重量、所述自治系统的大小、所述自治系统的最小制动距离或其任意合适的组合。用于确定动态感兴趣区域的示例因素包括所述自治系统的属性(例如,轮胎磨损、制动磨损、当前位置、当前速度、当前加速度、预计未来位置、预计未来速度、预计未来加速度、过去位置、过去速度、过去加速度或其任意合适的组合)。用于确定动态感兴趣区域的示例因素还包括所述环境的属性(例如,速度限制、交通流向、交通流向之间的分界线的存在/不存在、能见度、路面摩擦力或其任意合适的组合)。计算感兴趣区域的算法可以是基于规则的、基于机器学习的或其任意合适的组合。所述算法的输入可包括一个或多个前述因素。所述算法的输出可以是一个或多个感兴趣区域表的形式。图7是一些示例实施例提供的一个固定大小图像710的框图700,所述固定大小图像表示覆盖有基于通道的感兴趣区域的自治系统附近的对象。所述固定大小图像710包括分道线描绘720a、720b、720c、720d和720e,以及所述自治系统描绘730。图7还示出了分界线740,所述分界线740将描绘所述自治系统前面对象的固定大小图像710的一部分与描绘所述自治系统后面对象的固定大小图像710的一部分分开。所述分道线描绘720a-720e定义了车道750a、750b、750c和750d。在每个通道750a-750d内,分段由向前距离760a、760b、760c或760d来界定,或由向后距离770、770b或770c来界定,或由两者同时界定。所述固定大小图像710中的感兴趣区域是每个通道750a-750d内的组合分段。与图6中的扇区图不同的是,在图6中,扇区由跨越的角度和距离界定,而在图7中,所述感兴趣区域由每个通道内的分段(例如,向前距离和向后距离)来界定。所述分道线720a-720d可以表示相同方向上的车道之间的分隔线和/或车道和道路边缘之间的分隔线。所述分道线720e可以表示相反方向上的车道之间的分隔线。可以通过使用实线而并非虚线,使用彩色线(例如,黄色)而并非黑色、白色或灰色线,使用双线而并非单线,或其任意合适的组合,来指示所述分道线描绘720a-720d的分道线描绘720e的不同表示形式。如图7所示,所述分道线描绘720a-720e不需要与所述固定大小图像710的边缘平行。在一些示例实施例中,所述感兴趣区域由识别一个或多个通道的分段的表来界定(例如,识别一个或多个通道中的每个通道的对应向前距离和对应向后距离)。所述通道可以用数字表示。例如,所述自治系统的通道(例如,所述通道750c)可以是通道0,通道0右侧的通道可以用递加数字表示(例如,所述通道750d可以是通道1),通道0左侧的通道可以用递减数字表示(例如,所述通道750a可以是通道-1)。又如,与所述自治系统的车流方向相同的通道可以用正数表示(例如,所述通道750b-750d可以是通道1、2和3),与所述自治系统的车流方向相反的通道可以用负数表示(例如,所述通道750a可以是通道-1)。一些通道可以从表中忽略,或者存储为向前距离和向后距离均为零。在忽略或零距离通道中检测到的任何对象可以视为位于感兴趣区域以外。示例感兴趣区域表如下所示。通道标识向前距离(m)向后距离(m)-1500130152402033015例如,对感兴趣区域以外的对象的传感器数据进行忽略的过程,可以包括从所述传感器数据(例如,图5的对象540a-540j)识别多个对象,并且对于多个对象中的每个对象,基于从所述对象生成的传感器数据来识别通道,并将识别出的通道与所述对象进行关联。通过忽略由与预定通道(例如,从所述感兴趣区域表中忽略的通道)相关联的对象生成的传感器数据,可以继续该过程。图6和图7描绘了两种界定感兴趣区域的方式,但是也可以采用其它界定方法。例如,感兴趣区域可以定义为包含所述自治系统的特定半径内的所有对象以及所述自治系统的当前通道内的所有对象。另外,在不同情况下,相同的自治系统可以使用不同的感兴趣区域。例如,当所述车辆在非公路上行驶、位于停车场、位于交叉路口、低速行驶(例如,低于每小时25英里)时或在前述情况以合适的方式任意组合出现时,所述自治系统可以使用基于扇区的感兴趣区域。在该示例中,当所述自动驾驶车辆不使用基于扇区的感兴趣区域时,可以使用基于通道的感兴趣区域(例如,当所述系统在公路上行驶、并非位于停车场以及交叉路口、高速行驶时或在前述情况以合适的方式任意组合出现时)。图8为示例实施例提供的用于实现算法和执行方法的电路的框图。不需要在各实施例中使用所有组件。例如,客户端、服务器、自治系统和基于云的网络资源可以分别使用不同组的组件,或者例如在服务器的情况下,使用较大的存储设备。一种示例计算设备计算机800(也称为计算设备800和计算机系统800)可包括处理器805、存储器810、可移动存储器815和不可移动存储器820,所有上述部件通过总线840连接。虽然示例计算设备被图示和描述为计算机800,但是计算设备在不同的实施例中可以是不同的形式。例如,可替代地,所述计算设备800可以是智能手机、平板电脑、智能手表、自动驾驶汽车、自主无人机或者结合图8所示和所述的相同或相似的元件的另一计算设备。智能手机、平板电脑、智能手表等设备通常统称为“移动设备”或“用户设备”。此外,虽然各种数据存储元件被图示为所述计算机800的一部分,但是存储器还可以或者可选地包括通过网络例如互联网可访问的基于云的存储器,或者基于服务器的存储器。所述存储器810可包括易失性存储器845和非易失性存储器850,并可存储程序855。所述计算机800可包括或访问计算环境。该计算环境包括各种计算机可读介质,如易失性存储器845和非易失性存储器850、可移动存储器815和不可移动存储器820。计算机存储器包括随机存取存储器(randomaccessmemory,简称ram)、只读存储器(read-onlymemory,简称rom)、可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom)和电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom)、闪存或其它存储器技术、只读光盘(compactdiscread-onlymemory,简称cdrom)、数字多功能光盘(digitalversatiledisc,简称dvd)或其它光盘存储器、盒式磁带、磁带、磁盘存储器或其它磁存储设备,或者任何其它能够存储计算机可读指令的介质。所述计算机800可以包括或访问计算环境。该计算环境包括输入接口825、输出接口830和通信接口835。输出接口830可以连接或包括可以用作输入设备825的显示设备,例如触摸屏。输入接口825可以连接或包括一个或多个触摸屏、触摸板、鼠标、键盘、摄像头、一个或多个设备专用按钮、一个或多个集成在计算机800内或通过有线或无线数据连接耦合到计算机800的传感器,以及其它输入设备。所述计算机800可以使用通信接口835在联网环境中工作,以连接到一个或多台远程计算机,如数据库服务器。所述远程计算机可以包括个人计算机(personalcomputer,简称pc)、服务器、路由器、网络pc、对等设备或其它公共网络节点等。所述通信接口835可以连接到局域网(local-areanetwork,简称lan)、广域网(wide-areanetwork,简称wan)、蜂窝网络、wi-fi网络、蓝牙网络或其它网络。存储在计算机可读介质上的计算机可读指令(例如,存储在存储器810上的程序855)可由计算机800的处理器805执行。硬盘驱动器、cd-rom和ram是产品的一些示例,所述产品包括如存储设备的非瞬时性计算机可读介质。术语“计算机可读介质”和“存储设备”不包括载波,只要认为载波过于短暂。“计算机可读非瞬时性介质”包括所有类型的计算机可读介质,包括磁存储介质、光存储介质、闪存介质和固态存储介质。应当理解的是软件可以安装在计算机中并与其一起销售。或者,可以获得该软件并将其加载到计算机中,包括通过物理介质或分配系统获得软件,例如包括从软件创建者拥有的服务器或者从软件创建者未拥有却使用的服务器获得软件。例如,该软件可以存储在服务器上以便通过因特网分发。所述程序855如图所示包括对象过滤模块860、统一表示模块865、自动驾驶模块870和表示切换模块875。可以使用硬件(例如,机器的处理器、asic、fpga或其任意合适的组合)来实现本文所述的任何一个或多个模块。此外,这些模块中的任何两个或更多个模块可以组合成单个模块,并且本文所述的关于单个模块的功能可以在多个模块之间细分。此外,根据各种示例实施例,本文所述的在单个机器、数据库或设备内实现的模块可以分布在多个机器、数据库或设备上。所述对象过滤模块860用于过滤掉位于感兴趣区域以外的检测到的对象。例如,所述输入接口825可以接收从一个或多个相机接收的图像或视频数据。所述对象过滤模块860可以识别在所述图像或视频数据内检测到的一个或多个对象,并确定每个所识别的对象是否在感兴趣区域以内。所述统一表示模块865将所述对象过滤模块识别出的、在感兴趣区域内的对象,包括在传递给所述自动驾驶模块870的数据中。例如,表示所述感兴趣区域内的对象的固定长度的数据结构列表可以由所述统一表示模块865生成。如果所述感兴趣区域内的对象的数量超过所述固定长度列表的大小,则可以选择预定数量的对象列入所述列表内。所述选择应基于所述对象距所述自治系统的距离、所述对象的速度、大小、类型(例如,行人可能具有比车辆更高的防碰撞优先级)或其任何合适的组合。所述预定数量可以对应于所述数据结构列表的固定长度。按优先级过滤对象称为“对象感知过滤”,因为所述过滤会考虑对象的属性而不仅仅是对象的位置。在一些示例实施例中,数据库中的表存储每种类型的对象的优先级(例如,自行车、小型车辆、大型车辆、行人、建筑物、动物、减速带、应急车辆、路缘、分道线、未知类型或其任何合适的组合)。每个检测到的对象被传递给图像识别应用程序以识别检测到的对象的类型。基于所述图像识别应用程序的结果,在所述数据库表中查找所述对象的优先级。在使用预定数量的对象进行统一表示的示例实施例中,可以选择具有最高优先级的预定数量的对象纳入所述统一表示中。在使用固定大小图像进行统一表示的示例实施例中,可以使用所述固定大小图像来表示具有最高优先级的预定数量的对象,或使用所述固定大小图像来表示优先级高于预定阈值的对象。在其它示例实施例中,根据一个或多个因素动态地确定每个检测到的对象的优先级。用于确定检测到的对象的优先级的示例因素包括所述检测到的对象的属性(例如,类型、大小、当前位置、当前速度、当前加速度、预计未来位置、预计未来速度、预计未来加速度、过去位置、过去速度、过去加速度或其任意合适的组合)。用于确定所述检测到的对象的优先级的示例因素包括所述自治系统的属性(例如,重量、大小、最小制动距离、轮胎磨损、制动磨损、当前位置、当前速度、当前加速度、预计未来位置、预计未来速度、预计未来加速度、过去位置、过去速度、过去加速度或其任意合适的组合)。用于确定检测到的对象的优先级的示例因素还包括所述环境的属性(例如,速度限制、交通流向、交通流向之间的分界线的存在/不存在、能见度、路面摩擦力或其任意合适的组合)。在一些示例实施例中,对象所处于的阈值优先级是动态的。计算阈值的算法可以是基于规则的、基于机器学习的或其任意合适的组合。所述算法的输入可包括一个或多个因素(例如,所检测到的对象的属性、所述自治系统的属性、所述环境的属性或其任意合适的组合)。所述算法的输出可以是阈值的形式。所述自动驾驶模块870用于基于从所述统一表示模块865接收的输入来控制所述自治系统。例如,训练过的神经网络可以根据所接收的输入,通过改变速度、方向、高度或其任意合适的组合,来控制所述自治系统。在一些示例实施例中,所述表示切换模块875用于基于变化的情况,来改变所述统一表示模块865所使用的统一表示形式。例如,所述统一表示865可以最初使用大小为3的固定长度向量,但是,当检测到交通繁忙后,通过所述表示切换模块875可切换为使用大小为5的固定长度向量。图9是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法900的流程图。所述方法900包括操作910、920、930、940、950、960、970和980。作为示例而非限制,所述方法900被描述为由上述图8所述的计算机800的元件执行。在操作910中,所述对象过滤模块860访问包括区域信息的传感器数据。例如,可以访问图像数据、视频数据、音频数据、雷达数据、激光雷达数据、声纳数据、回声定位数据、无线电数据或其任意合适的组合。所述传感器可以安装在自治系统上和/或与自主系统分开。可以使用数据融合、图像拼接、对象检测、对象识别、对象重建或其任何合适的组合对所述传感器数据进行预处理,以将多个传感器数据合并为组合格式。所述合并数据可以包括检测到的对象的三维信息,例如三维尺寸、三维位置、三维速度、三维加速度或其任何合适的组合。在操作920中,所述对象过滤模块860忽略对应于感兴趣区域以外的对象的传感器数据的一部分。例如,旋转双目相机可拍摄所述自治系统周围的对象的照片,同时确定所述自治系统到每个对象的距离以及所述自治系统的运动方向与所述自治系统至所述对象的直线之间的夹角。基于该信息和感兴趣区域(例如,图5和图6的感兴趣区域550),可以忽略感兴趣区域以外的对象的传感器数据。例如,表示被忽略的对象的图像数据部分可以用统一的中性色代替。在操作930中,所述对象过滤模块860从所述传感器数据中识别多个对象。例如,可以分析所访问的传感器数据以识别所述对象以及所述对象与所述自治系统的相对位置(例如,使用图像识别算法)。在不同的示例实施例中,操作930在操作920之前或之后执行。例如,第一传感器可以确定每个方向上所述自治系统和距离最近的对象之间的距离。基于来自第一传感器的指示对象在感兴趣区域以外的信息,所述对象过滤模块860可以确定忽略来自第二传感器的信息,而无需识别所述对象。又如,传感器可以提供相关信息,以助于识别所述对象和确定所述对象的位置。在该示例中,经过识别发现所述对象位于感兴趣区域以外,因此可以忽略所述对象的信息。在操作940中,所述对象过滤模块860为多个对象中的每一个对象分配优先级。例如,每个对象的优先级可基于所述对象距所述自治系统的距离、所述对象的速度、大小、类型(例如,行人可能具有比车辆更高的防碰撞优先级)或其任何合适的组合。在操作950中,所述统一表示模块865基于所述对象的优先级选择多个对象的子集。例如,表示所述感兴趣区域内的对象的固定长度的数据结构列表可以由所述统一表示模块865生成。如果所述感兴趣区域内的对象的数量超过所述固定长度列表的大小,则可以根据所述对象的优先级选择预定数量的对象列入所述列表内。所选中的预定数量可以对应于所述数据结构列表的固定长度。例如,可以选择k个最高优先级对象,其中k是数据结构列表的固定长度。在操作960中,所述统一表示模块865生成所选对象的表示形式。在一些示例实施例中,将所识别的对象的描绘放置在固定大小图像中。可选地或另外地,表示所选对象的数据结构可以放置在矢量中。例如,三个对象的矢量可以被定义为<o1,o2,o3>。在操作970中,所述统一表示模块865将所述表示形式作为输入提供给机器学习系统。例如,所述自动驾驶模块870可以包括训练过的机器学习系统,并从所述统一表示模块865接收所述统一表示形式。基于所述输入,所述训练过的机器学习系统生成一个或多个输出,来指示所述自治系统要采取的动作(例如,转向动作、加速动作、制动动作或其任何合适的组合)。在操作980中,所述自动驾驶模块870可根据因所述输入产生的机器学习系统的输出,来控制所述自治系统。例如,控制汽车的机器学习系统可以生成指示加速或制动的第一输出,以及生成指示方向盘左转或右转幅度的第二输出。又如,控制武器化无人机的机器学习系统可以生成指示三维中的每一维中的加速度的输出以及生成指示在何处以及是否发射武器的另一输出。可以周期性地重复所述方法900的操作(例如,每10毫秒、每100毫秒或每秒)。通过这种方式,所述自治系统可以对其区域中的变化情况做出反应。图10是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法1000的流程图。所述方法1000包括操作1010、1020、1030和1040。作为示例而非限制,所述方法1000被描述为由上述图8所述的计算机800的元件执行。在操作1010,所述对象过滤模块860访问包括区域信息的传感器数据。例如,可以访问图像数据、视频数据、音频数据、雷达数据、激光雷达数据、声纳数据、回声定位数据、无线电数据或其任意合适的组合。所述传感器可以安装在自治系统上和/或与自主系统分开。可以使用数据融合、图像拼接、对象检测、对象识别、对象重建或其任何合适的组合对所述传感器数据进行预处理,以将多个传感器数据合并为组合格式。所述合并数据可以包括检测到的对象的三维信息,例如三维尺寸、三维位置、三维速度、三维加速度或其任何合适的组合。在操作1020中,所述统一表示模块865将所述传感器数据转换为与用于训练所述机器学习系统的表示形式相匹配的统一表示形式。例如,可以分析所访问的传感器数据以识别所述对象以及所述对象与所述自治系统的相对位置。可以将所识别的对象的描绘放置在固定大小图像中。可选地或另外地,表示所识别对象的数据结构可以放置在固定大小矢量中。当选择比所述矢量的固定大小更少的对象时,可将占位符对象纳入所述矢量中:<o1,p,p>。在一些示例实施例中,选中所述占位符对象的属性,以缩小它们对决策过程的影响。所述占位符对象(也称为“虚幻对象”,因为它不表示真实对象)具有以下特点:没有尺寸、没有速度、没有加速度、距离所述自治系统较远、位于自治系统后面、其速度与所述自治系统的速度相匹配或其任何合适的组合。所述虚幻对象可以存在语义上的意义。也就是说,所述虚幻对象可以接收,并作为输入提供给所述机器学习系统,所述虚幻对象可以视为真实对象一样处理,且不影响所述机器学习系统生成的决定。一些示例实施例中并未使用虚幻对象。但是,当检测到真实对象过少时,会将任意值对象(称为“填充对象”)纳入固定大小向量中。将固定大小的单独指示向量提供给所述学习算法。所述指示向量指示哪些时隙有效以及哪些时隙无效(例如,将视为空)。然而,在深度学习中,例如,在没有明确的条件分支机制的情况下,即无法在抓取相应的对象时隙之前先检查指示,会很难证明所述指示向量是否按预期工作。换句话说,所述填充对象可能实际上意外地影响了决策。由于所述填充值可以是任意的,因此产生的影响也可以是任意的。因此,在使用虚幻对象时,选择具有可以减少对决策影响的属性的虚幻对象,从而可以避免指示向量的问题。例如,在训练期间,所述机器学习算法不需要从句法上区分真实对象和填充对象,并且因为填充对象通过语义界定的方式,因此所得到的结果不会受到填充对象的影响。在操作1030中,所述统一表示模块865将所述统一表示形式作为输入提供给所述机器学习系统。例如,所述自动驾驶模块870可以包括训练过的机器学习系统,并从所述统一表示模块865接收所述统一表示形式。基于所述输入,所述训练过的机器学习系统生成一个或多个输出,来指示所述自治系统要采取的动作。在操作1040中,所述自动驾驶模块870可根据因所述输入产生的机器学习系统的输出,来控制所述自治系统。例如,控制汽车的机器学习系统可以生成指示加速或制动的第一输出,以及生成指示方向盘左转或右转幅度的第二输出。又如,控制武器化无人机的机器学习系统可以生成指示三维中的每一维中的加速度的输出以及生成指示在何处以及是否发射武器的另一输出。可以周期性地重复所述方法1000的操作(例如,每10毫秒、每100毫秒或每秒)。通过这种方式,所述自治系统可以对其区域中的变化情况做出反应。图11是一些示例实施例提供的使用对象过滤和统一表示形式来控制自治系统的机制的方法1100的流程图。所述方法1100包括操作1110、1120和1130。作为示例而非限制,所述方法1100被描述为由上述图8所述的计算机800的元件执行。在操作1110中,所述表示切换模块875访问包括区域信息的传感器数据。操作1110在执行时可与上述图10中的操作1010类似。在操作1120中,所述表示切换模块875基于所述传感器数据选择用于所述方法900或所述方法1000的第二机器学习系统。例如,所述自治系统可包括两个机器学习系统以控制所述自治系统。可以使用第一固定大小输入(例如,固定大小向量或固定大小图像)来训练所述第一机器学习系统。可使用第二种不同的固定大小输入来训练所述第二机器学习系统。基于所述传感器数据(例如,检测到所述自治系统的速度变化、感兴趣区域内检测到的对象数量的变化、或其任何合适的组合),所述表示切换模块875可以在所述两个机器学习系统之间切换。例如,所述第一机器学习系统适用于以下情况:对象在低速行驶时(例如,低于每小时25英里)、感兴趣区域内对象较少时(例如,少于5个对象)、对象位于开放区域中时(例如,非公路路面或停车场)、或其任何合适的组合。继续以此为例,所述第二学习系统适用于以下情况:对象在高速行驶时(例如,超过每小时50英里)、感兴趣区域内对象较多时(例如,超过8个对象)、对象在公路上行驶时、或其任何合适的组合。用于从所述第一机器学习系统切换到所述第二学习系统的阈值可以与用于从所述第二学习系统切换到所述第一机器学习系统的阈值相同或不同。例如,低速机器学习系统可以切换到低速,高速机器学习系统可以切换到高速,当前机器学习系统可以继续以中等速度使用(例如,在25-50mph范围内)。在该示例中,以接近速度阈值的速度行驶将不会导致所述表示切换模块875根据微小的速度变化而在机器学习系统之间进行来回切换。在操作1130中,所述表示切换模块875基于所述传感器数据选择第二统一表示形式用于所述方法900或所述方法1000。所选择的第二统一表示形式对应于所选择的第二机器学习系统。例如,如果所选择的第二机器学习系统使用五个对象的固定长度向量,则所述第二统一表示形式为五个对象的固定长度向量。在所述过程1100完成之后,所述方法900或1000的迭代将使用所选择的第二机器学习系统和所选择的统一表示形式。因此,可以根据特定条件(例如,交通繁忙或恶劣天气时)来训练多个机器学习系统,并且仅在这些条件适用时使用所述多个机器学习系统。本文公开的设备和方法可以减少因控制自治系统(例如,自动驾驶车辆)所消耗的时间、处理器周期和功率。例如,使用固定大小输入的训练过的机器学习系统所需的处理能力可能低于使用可变大小输入的训练过的系统所需的处理能力。本文公开的设备和方法还有助于改善自治系统,从而提高自治系统的效率和安全性。虽然上文详细描述了几个实施例但是可能进行其它修改。例如为了获得期望的结果附图中描绘的逻辑流不需要按照所示的特定顺序或者先后顺序。所述流程中可提供其它步骤或删除步骤,所述系统中可以添加或移除其它组件。其它实施例可以在所附权利要求书的范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1