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

用于传感器数据的标注的方法、系统和存储介质与流程

2023-02-19 09:39:14 来源:中国专利 TAG:


1.本发明涉及传感器数据的标注。


背景技术:

2.自动驾驶运载工具通常使用多个类型的图像来感知自身周围的区域。训练这些系统以准确地感知区域可能是困难且复杂的。


技术实现要素:

3.一种用于传感器数据的标注的方法,包括:利用至少一个处理器,获得表示地理区域的图像的传感器数据;利用所述至少一个处理器,获得表示所述地理区域的未经验证的标注的数据,所述未经验证的标注提供未经验证的对所述地理区域内的物理特征的语义理解;利用所述至少一个处理器,获得表示所述地理区域的经验证的标注的数据,所述经验证的标注提供经验证的对所述地理区域内的物理特征的语义理解;以及利用所述至少一个处理器,使用所述地理区域的传感器数据和未经验证的标注作为输入并且使用所述地理区域的经验证的标注作为地面实况来训练神经网络,其中训练所述神经网络得到经训练的机器学习模型即经训练的ml模型。
4.一种用于传感器数据的标注的系统,包括:至少一个处理器,以及存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行的情况下,使得所述至少一个处理器进行以下操作:获得表示地理区域的图像的传感器数据;获得表示所述地理区域的未经验证的标注的数据,所述未经验证的标注提供未经验证的对所述地理区域内的物理特征的语义理解;获得表示所述地理区域的经验证的标注的数据,所述经验证的标注提供经验证的对所述地理区域内的物理特征的语义理解;以及使用所述地理区域的传感器数据和未经验证的标注作为输入并且使用所述地理区域的经验证的标注作为地面实况来训练神经网络,其中训练所述神经网络得到经训练的机器学习模型即经训练的ml模型。
5.至少一个存储有指令的非暂时性存储介质,所述指令在由包括处理器的计算系统执行的情况下,使得所述计算系统进行以下操作:获得表示地理区域的图像的传感器数据;获得表示所述地理区域的未经验证的标注的数据,所述未经验证的标注提供未经验证的对所述地理区域内的物理特征的语义理解;获得表示所述地理区域的经验证的标注的数据,所述经验证的标注提供经验证的对所述地理区域内的物理特征的语义理解;以及使用所述地理区域的传感器数据和未经验证的标注作为输入并且使用所述地理区域的经验证的标注作为地面实况来训练神经网络,其中训练所述神经网络得到经训练的机器学习模型即经训练的ml模型。
附图说明
6.图1是可以实现包括自主系统的一个或多个组件的运载工具的示例环境;
7.图2是包括自主系统的运载工具的一个或多个系统的图;
8.图3是图1和图2的一个或多个装置和/或一个或多个系统的组件的图;
9.图4a是自主系统的某些组件的图;
10.图4b是神经网络的实现的图;
11.图4c和图4d是例示cnn的示例操作的图;
12.图5是例示训练系统的示例的框图,该训练系统用于生成经训练的机器学习模型,以基于区域的传感器数据和未经验证的标注来产生该区域的预测语义标注;
13.图6是例示使用经训练的机器学习模型来基于区域的传感器数据和未经验证的标注产生该区域的预测语义标注的感知系统的示例的框图;
14.图7是描绘用于生成经训练的机器学习模型以基于区域的传感器数据和未经验证的标注来产生该区域的预测语义标注的示例例程的流程图;以及
15.图8是描绘用于使用经训练的机器学习模型来基于区域的传感器数据和未经验证的标注产生该区域的预测语义标注的示例例程的流程图。
具体实施方式
16.在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明的方面模糊。
17.在附图中,为了便于描述,示出了示意要素(诸如表示系统、装置、模块、指令块和/或数据要素等的那些要素等)的具体排列或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
18.此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中示出,以便不使本发明内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多个信号路径(例如,总线)。
19.尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
20.在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,并且可以与“一个或多个”或者“至少一个”互换使用,除非上下文另有明确说明。此外,术语“或”以其包括性意义(而不是
以其排他性意义)使用,使得在例如用于连接要素的列表时,术语“或”意味着该列表中的要素中的一个、一部分或全部。除非另外具体陈述,否则诸如短语“x、y和z中的至少一个”等的析取语言在所使用的上下文中通常被理解为表示项、术语等可以是x、y或z,或者它们的任何组合(例如,x、y或z)。因而,这样的析取语言通常并不旨在且不应暗示某些实施例需要x中的至少一个、y中的至少一个和z中的至少一个各自均存在。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件和/或其群组。
21.如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、系统、装置或系统的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
22.本文所使用的条件语言(诸如“能够”、“可能”、“也许”、“可以”和“例如”等)除非被另外具体陈述或者在如所使用的上下文内以其它方式理解,否则通常旨在传达某些实施例包括某些特征、要素或步骤,而其它实施例不包括某些特征、要素或步骤。因此,这种条件语言通常不旨在暗示:特征、要素或步骤对于一个或多个实施例而言无论如何都是必需的,或者一个或多个实施例必需包括用于在存在或不存在其它输入或提示的情况下决定在任何特定实施例中是否包括或将进行这些特征、要素或步骤的逻辑。如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当..时”、“在

时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定

时”、“响应于确定为“或”在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”意在是意味着“至少部分基于”。
[0023]
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
[0024]
在一些方面和/或实施例中,本文所述的系统、方法和计算机程序产品包括和/或实现使用不可靠地图标注输入进行传感器数据的语义标注。一般而言,语义标注向传感器数据添加表示该传感器数据的含义和上下文的语义理解。语义理解反过来使得机器能够将
传感器数据处理并解释为人类能力。因此,语义理解表示特定类型的“计算机视觉”(试图使得计算机能够以类似于人类的方式“看”世界的技术领域)。例如,传感器数据可以表示运载工具周围的地理区域的图像,诸如鸟瞰地图或街道级视图等。语义标注(诸如通过将区域指定为交通车道(例如,机动运载工具、自行车等所用的可驾驶面)、十字路口、交叉口、交通信号、交通标志等)可以将该图像的某些部分指定为表示运载工具周围的区域内的物理特征。如可以容易地理解,对传感器数据内的物理特征的语义理解对于许多任务(诸如区域的编程导航(例如,以实现自动驾驶运载工具)等)具有非常高的重要性。如以下更详细地论述,本发明涉及在生成对传感器数据的语义理解方面的改进,从而使得能够使用不可靠标注来生成该语义理解。
[0025]
用于提供语义理解的一个机制是手动标记。可以捕获给定区域的传感器数据,然后将该传感器数据传递给人类操作员。然后,人类操作员可以手动标记从区域的传感器数据生成的图像以指定在这些图像中捕获到的特定物理特征。在下次进入该区域时,装置可以捕获传感器数据,并且基于与先前捕获到的传感器数据的相似性和先前标记来检测物理特征。假定选择了熟练的操作员并且具有足够质量的控制机制已就位,则手动标记可以是高度准确的。因此,装置可被配置为使用手动标记作为“地面实况”(即,通常可被假定为真的事实),并且不需要由装置以编程方式导出。
[0026]
手动标记的问题是难以选择熟练的人类操作员并提供具有足够质量的控制机制。如将理解的,用作地面实况的数据的容错度通常非常低。例如,在自动驾驶运载工具的情况下,考虑到身体伤害或生命损失的潜在风险,对地理区域的不正确语义理解可能导致重大的安全问题。因此,创造质量足够高的标记以直接用作地面实况通常是极其劳动密集型的。
[0027]
在一些情况下,未经验证的语义标注是可用的。例如,各种公共数据集包含语义标注。然而,这些语义标注通常未被验证到直接用作地面实况所需的水平。在一些情况下,数据是“众包的”(从各种各样的潜在匿名用户收集的),其几乎未经验证或根本未经验证。这可能导致数据中的错误或不准确。即使当数据并非完全不准确时,该数据也可能不如用作“地面实况”所需的数据那么准确。例如,当导航机动运载工具时,可能需要具有一定粒度的地面实况信息(例如,以知晓某个阈值(诸如按厘米而不是米的比例等)内的交叉口的地点)。由诸如众包(crowd sourced)集等的大数据集提供的数据可能不够准确而无法满足该要求。因此,该数据通常不能直接用于提供对传感器数据的语义理解。然而,这种未经验证的数据集中的数据量可能常大大超过经充分审查以用于表示地面实况的数据量。因此,期望提供使用不可靠语义标注来提供传感器数据的可靠语义理解的系统和方法。
[0028]
本发明的实施例通过使得能够使用未经验证的语义标注(诸如由公共未经验证集或众包未经验证集提供的语义标注等)创建传感器数据的语义理解来解决上述问题。更具体地,本发明的实施例涉及使用不可靠语义标注作为向机器学习模型的输入,该机器学习模型是基于未经验证的语义标注和相应的传感器数据的组合来训练的。如以下更详细地论述的,可以针对表示地面实况的标记数据集(诸如手动创建并用高度可靠的标注进行标注的传感器数据等)来训练机器学习模型。因此,机器学习模型可被训练,以接收地理区域的传感器数据和该区域的未经验证的语义标注,并且输出表示该区域的物理特征的经验证的语义标注。然后,这些经验证的标注可用于为诸如自动驾驶运载工具的导航等的目的提供该区域的准确理解。
[0029]
如本文所使用,术语“语义标注”用于表示延伸超过传感器数据以提供传感器数据的至少一部分的语义理解的信息,由此提供例如该数据的含义或上下文。本文提供语义标注的示例,诸如将传感器数据的一部分指定为给定物理特征的信息等。本发明的实施例可用于自动驾驶运载工具。出于该原因,本文提供可特别用于自动驾驶运载工具的语义标注和物理特征的一些示例(诸如人行横道、交通车道、交通信号等)。然而,本发明的实施例可以附加地或可替代地用于生成对其它物理特征或对象的经验证的语义理解(诸如小汽车、人、自行车等的标识等)。如本文所使用的术语“传感器数据”是指由反映物理世界的传感器(例如,来自与以下所述的自主系统202相同或类似的自主系统的传感器)生成的或通常可从这些传感器导出的数据。例如,传感器数据可以指原始数据(例如,由传感器生成的位)、或者从这样的原始数据生成的数据点、图像、点云等。作为例示性示例,传感器数据可以指“地面级”或“街道级”图像,诸如由照相机直接捕获到的图像、从lidar传感器生成的点云、或者通过传感器移动经过地理区域所生成的“鸟瞰视图”图像或地图等。在一些实例中,可以使用语义标注来以识别这样的图像特征的方式来修改这些图像。例如,语义标注可被表示为“覆盖”突出显示、加边或以其它方式指示示出物理特征的图像的一部分。在其它实例中,语义标注可以作为不同于传感器数据的数据(诸如识别捕获物理特征的传感器数据的部分(例如,图像内的边界)的辅助数据集等)而存在。
[0030]
如本领域技术人员根据本发明将理解,本文所公开的实施例提高了计算系统(诸如包括在自动驾驶运载工具内或支持自动驾驶运载工具的操作的计算装置等)使用未经验证的地图标注输入来生成传感器数据的经验证的语义标注的能力。此外,当前公开的实施例解决了计算系统内在的技术问题(具体为通过编程确定输入数据的有效性的困难)。这些技术问题通过本文所述的各种技术方案(包括使用经训练的机器学习模型来获得传感器数据和该传感器数据的未经验证的语义标注,并从传感器数据和未经验证的语义标注产生一组经验证的语义标注)来解决。因此,本发明总体表示计算机视觉系统和计算系统的改进。
[0031]
通过参考以下结合附图所进行的说明,将更加容易地解释和更好地理解本发明的前述方面以及许多随之而来的优点。
[0032]
现在参考图1,例示示例环境100,在该示例环境100中,包括自主系统的运载工具以及不包括自主系统的运载工具进行操作。如图所示,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(v2i)装置110、网络112、远程自主运载工具(av)系统114、队列管理系统116和v2i系统118。运载工具102a-102n、运载工具到基础设施(v2i)装置110、网络112、自主运载工具(av)系统114、队列管理系统116和v2i系统118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(v2i)装置110、网络112、自主运载工具(av)系统114、队列管理系统116和v2i系统118中的至少一者互连。
[0033]
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与v2i装置110、远程av系统114、队列管理系统116和/或v2i系统118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,一组运载工具200
中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多个运载工具102包括自主系统(例如,与自主系统202相同或类似的自主系统)。
[0034]
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动。在一些实施例中,对象104与区域108中的相应地点相关联。
[0035]
路线106a-106n(单独称为路线106且统称为路线106)各自与连接av可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。在一些实施例中,第一状态包括一个或多个个体将要搭载av的地点,并且第二状态或区包括搭载av的一个或多个个体将要下车的一个或多个地点。在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
[0036]
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记相关联的(例如,基于至少一个车道标记所识别的)至少一个车道。
[0037]
运载工具到基础设施(v2i)装置110(有时称为运载工具到万物(vehicle-to-everything)(v2x)装置)包括被配置为与运载工具102和/或v2i基础设施系统118进行通信的至少一个装置。在一些实施例中,v2i装置110被配置为与运载工具102、远程av系统114、队列管理系统116和/或v2i系统118经由网络112进行通信。在一些实施例中,v2i装置110包括射频识别(rfid)装置、标牌、照相机(例如,二维(2d)和/或三维(3d)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,v2i装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,v2i装置110被配置为与运载工具102、远程av系统114和/或队列管理系统116经由v2i系统118进行通信。在一些实施例中,v2i装置110被配置为与v2i系统118经由网络112进行通信。
[0038]
网络112包括一个或多个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(lte)网络、第三代(3g)网络、第四代(4g)网络、第五代(5g)网络、码分多址
(cdma)网络等)、公共陆地移动网络(plmn)、局域网(lan)、广域网(wan)、城域网(man)、电话网(例如,公共交换电话网(pstn))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。用于经由因特网或者其它上述类型的通信网络中的任何通信网络来进行通信的协议和组成部分是本领域技术人员已知的,因此这里不更详细地进行说明。
[0039]
远程av系统114包括被配置为与运载工具102、v2i装置110、网络112、队列管理系统116和/或v2i系统118经由网络112进行通信的至少一个装置。在示例中,远程av系统114包括服务器、服务器组和/或其它类似装置。在一些实施例中,远程av系统114与队列管理系统116位于同一位置。在一些实施例中,远程av系统114参与运载工具的组件(包括自主系统、自主运载工具计算机和/或由自主运载工具计算机实现的软件等)中的部分或全部的安装。在一些实施例中,远程av系统114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
[0040]
队列管理系统116包括被配置为与运载工具102、v2i装置110、远程av系统114和/或v2i基础设施系统118进行通信的至少一个装置。在示例中,队列管理系统116包括服务器、服务器组和/或其它类似装置。在一些实施例中,队列管理系统116与拼车公司(例如,用于控制多个运载工具(例如,包括自主系统的运载工具和/或不包括自主系统的运载工具)的操作等的组织)相关联。
[0041]
在一些实施例中,v2i系统118包括被配置为与运载工具102、v2i装置110、远程av系统114和/或队列管理系统116经由网络112进行通信的至少一个装置。在一些示例中,v2i系统118被配置为与v2i装置110经由不同于网络112的连接进行通信。在一些实施例中,v2i系统118包括服务器、服务器组和/或其它类似装置。在一些实施例中,v2i系统118与市政当局或私营机构(例如,用于维护v2i装置110的私营机构等)相关联。
[0042]
提供图1所示的要素的数量和排列作为示例。与图1所示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同排列的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多个功能。附加地或可替代地,环境100的至少一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个或多个功能。
[0043]
现在参考图2,运载工具200包括自主系统202、动力总成控制系统204、转向控制系统206和制动系统208。在一些实施例中,运载工具200与运载工具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考sae国际标准j3016:道路上机动车自动驾驶系统相关术语的分类和定义(sae international's standard j3016:taxonomy and definitions for terms related to on-road motor vehicle automated driving systems),其全部内容通过引用而被包含。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相关联。
[0044]
自主系统202包括传感器套件,该传感器套件包括诸如照相机202a、lidar传感器
202b、雷达(radar)传感器202c和麦克风202d等的一个或多个装置。在一些实施例中,自主系统202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)gps接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主系统202使用自主系统202中所包括的一个或多个装置来生成与本文所述的环境100相关联的数据。由自主系统202的一个或多个装置生成的数据可以由本文所述的一个或多个系统使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主系统202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
[0045]
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(ccd)等的光传感器的数字照相机、热照相机、红外(ir)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,raw、jpeg和/或png等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多个距离处的对象而优化的诸如传感器和镜头等的特征。
[0046]
在实施例中,照相机202a包括被配置为捕获与一个或多个交通灯、街道标志和/或提供视觉导航信息的其它物理对象相关联的一个或多个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例如,raw、jpeg和/或png等)的一个或多个图像相关联的tld数据。在一些实施例中,生成tld数据的照相机202a与本文所述的包含照相机的其它系统的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多个照相机,以生成与尽可能多的物理对象有关的图像。
[0047]
激光检测和测距(lidar)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。lidar传感器202b包括被配置为从发光器(例如,激光发射器)发射光的系统。由lidar传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由lidar传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到lidar传感器202b。在一些实施例中,由lidar传感器202b发射的光不会穿透该
光遇到的物理对象。lidar传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与lidar传感器202b相关联的至少一个数据处理系统生成表示lidar传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与lidar传感器202b相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定lidar传感器202b的视场中的物理对象的边界。
[0048]
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的系统。由雷达传感器202c发射的无线电波包括预定频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理系统生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
[0049]
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多个系统可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
[0050]
通信装置202e包括被配置为与照相机202a、lidar传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(dbw)系统202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(v2v)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
[0051]
自主运载工具计算202f包括被配置为与照相机202a、lidar传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或dbw系统202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具系统(例如,与图1的远程av系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)、v2i装置(例如,与图1的v2i装置110相同或类似的v2i装置)和/或v2i系统(例如,与图1的v2i系统118相同或类似的v2i系统)进行通信。
[0052]
安全控制器202g包括被配置为与照相机202a、lidar传感器202b、雷达传感器
202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或dbw系统202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
[0053]
dbw系统202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,dbw系统202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,dbw系统202h的一个或多个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
[0054]
动力总成控制系统204包括被配置为与dbw系统202h进行通信的至少一个装置。在一些示例中,动力总成控制系统204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制系统204从dbw系统202h接收控制信号,并且动力总成控制系统204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制系统204使提供至运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮旋转或不旋转。
[0055]
转向控制系统206包括被配置为使运载工具200的一个或多个轮旋转的至少一个装置。在一些示例中,转向控制系统206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制系统206使运载工具200的两个前轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
[0056]
制动系统208包括被配置为使一个或多个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动系统208包括被配置为使与运载工具200的一个或多个轮相关联的一个或多个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动系统208包括自动紧急制动(aeb)系统和/或再生制动系统等。
[0057]
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确示出)。在一些示例中,运载工具200包括诸如全球定位系统(gps)接收器、惯性测量单元(imu)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
[0058]
现在参考图3,例示装置300的示意图。如图所示,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102的系统的至少一个装置);以及/或者网络112的一个或多个装置(例如,网络112的系统的一个或多个装置)。在一些实施例中,运载工具102的一个或多个装置(例如,运载工具102的系统的一个或多个装置)、以及/或者网络112的一个或多个装置(例如,网络112的系统的一个或多个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器
304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
[0059]
总线302包括许可装置300的组件之间的通信的组件。在一些实施例中,处理器304以硬件、软件、或者硬件和软件的组合来实现。在一些示例中,处理器304包括处理器(例如,中央处理单元(cpu)、图形处理单元(gpu)和/或加速处理单元(apu)等)、麦克风、数字信号处理器(dsp)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(fpga)和/或专用集成电路(asic)等)。存储器306包括随机存取存储器(ram)、只读存储器(rom)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
[0060]
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(cd)、数字多功能盘(dvd)、软盘、盒式磁带、磁带、cd-rom、ram、prom、eprom、flash-eprom、nv-ram和/或另一类型的计算机可读介质、以及相应的驱动器。
[0061]
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位系统(gps)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(led)等)。
[0062]
在一些实施例中,通信接口314包括许可装置300与其它装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(rf)接口、通用串行总线(usb)接口、接口和/或蜂窝网络接口等。
[0063]
在一些实施例中,装置300进行本文所述的一个或多个处理。装置300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
[0064]
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
[0065]
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
[0066]
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,
与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
[0067]
提供图3所示的组件的数量和排列作为示例。在一些实施例中,与图3所示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个或多个组件)可以进行被描述为由装置300的另一组件或另一组组件进行的一个或多个功能。
[0068]
现在参考图4a,示出自主运载工具计算400(有时称为“av堆栈”)的示例框图。如图所示,自主运载工具计算400包括感知系统402(有时称为感知模块)、规划系统404(有时称为规划模块)、定位系统406(有时称为定位模块)、控制系统408(有时称为控制模块)和数据库410。在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在运载工具的自动导航系统(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航系统中实现。附加地或可替代地,在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在一个或多个独立系统(例如,与自主运载工具计算400相同或类似的一个或多个系统等)中。在一些示例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库41包括在位于运载工具中的一个或多个独立系统以及/或者如本文所述的至少一个远程系统中。在一些实施例中,自主运载工具计算400中所包括的系统中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(asic)和/或现场可编程门阵列(fpga)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程系统(例如,与远程av系统114相同或类似的自主运载工具系统、与队列管理系统116相同或类似的队列管理系统116、以及/或者与v2i系统118相同或类似的v2i系统等)进行通信。
[0069]
在一些实施例中,感知系统402接收与环境中的至少一个物理对象相关联的数据(例如,感知系统402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知系统402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多个物理对象相关联(例如,表示该一个或多个物理对象)。在这样的示例中,感知系统402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知系统402对物理对象进行分类,感知系统402将与物理对象的分类相关联的数据传输到规划系统404。
[0070]
在一些实施例中,规划系统404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划系统404定期地或连续地从感知系统402接收数据(例如,上述的与物理对象的分类相关联的数据),并且规划系统404基于感知系统402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划系统404从定位系统406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划系统404基于
定位系统406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
[0071]
在一些实施例中,定位系统406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位系统406接收与至少一个lidar传感器(例如,lidar传感器202b)所生成的至少一个点云相关联的lidar数据。在某些示例中,定位系统406从多个lidar传感器接收与至少一个点云相关联的数据,并且定位系统406基于各个点云来生成组合点云。在这些示例中,定位系统406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2d)和/或三维(3d)地图进行比较。然后,基于定位系统406将至少一个点云或组合点云与地图进行比较,定位系统406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其它行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知系统所接收到的数据来实时地生成地图。
[0072]
在另一示例中,定位系统406接收由全球定位系统(gps)接收器所生成的全球导航卫星系统(gnss)数据。在一些示例中,定位系统406接收与运载工具在区域中的地点相关联的gnss数据,并且定位系统406确定运载工具在区域中的纬度和经度。在这样的示例中,定位系统406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位系统406生成与运载工具的位置相关联的数据。在一些示例中,基于定位系统406确定运载工具的位置,定位系统406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多个语义性质相关联的数据。
[0073]
在一些实施例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408控制运载工具的操作。在一些示例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408通过生成并传输控制信号以使动力总成控制系统(例如,dbw系统202h和/或动力总成控制系统204等)、转向控制系统(例如,转向控制系统206)和/或制动系统(例如,制动系统208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制系统408传输控制信号以使转向控制系统206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制系统408生成并传输控制信号以使运载工具200的其它装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
[0074]
在一些实施例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型(例如,至少一个多层感知器(mlp)、至少一个卷积神经网络(cnn)、至少一个递归神经网络(rnn)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408单独地或与上述系统中的一个或多个结合地实现至少一个机器学习模型。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型作为管线(例如,用于识别位于环境中的一个或多个对象的管线等)的一部分。以下关于图4b至图4d包括机器学习模型的实现的示例。此外,图5至图8例示用于训练并使用根据本发明实施例的机器学习
模型以根据未经验证的语义标注生成传感器数据的经验证的语义标注的示例交互和例程。
[0075]
数据库410存储传输至感知系统402、规划系统404、定位系统406和/或控制系统408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个系统的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2d和/或3d地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(state)(例如,国家)等的2d和/或3d地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个lidar传感器(例如,与lidar传感器202b相同或类似的lidar传感器)生成与表示该至少一个lidar传感器的视场中所包括的对象的图像相关联的数据。
[0076]
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具系统(例如,与远程av系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)中和/或v2i系统(例如,与图1的v2i系统118相同或类似的v2i系统)等中。
[0077]
现在参考图4b,例示机器学习模型的实现的图。更具体地,例示卷积神经网络(cnn)420的实现的图。为了说明的目的,cnn 420的以下说明将关于通过感知系统402实现cnn 420。然而,将理解,在一些示例中,cnn 420(例如,cnn 420的一个或多个组件)由不同于感知系统402的或除感知系统402之外的其它系统(诸如规划系统404、定位系统406和/或控制系统408等)来实现。尽管cnn 420包括如本文所述的某些特征,但这些特征是为了说明的目的而提供的,并且不旨在限制本发明。
[0078]
cnn 420包括包含第一卷积层422、第二卷积层424和卷积层426的多个卷积层。在一些实施例中,cnn 420包括子采样层428(有时称为池化层)。在一些实施例中,子采样层428和/或其它子采样层具有比上游系统的维度(即,节点的量)小的维度。借助于具有比上游层的维度小的维度的子采样层428,cnn 420合并与上游层的初始输入和/或输出相关联的数据量,由此减少cnn 420进行下游卷积运算所需的计算量。附加地或可选地,借助于子采样层428与至少一个子采样函数相关联(例如,被配置为进行至少一个子采样函数)(如以下针对图4c和图4d所述),cnn 420合并与初始输入相关联的数据量。
[0079]
基于感知系统402提供与第一卷积层422、第二卷积层424和卷积层426各自相关联的相应输入和/或输出以生成相应输出,感知系统402进行卷积运算。在一些示例中,基于感知系统402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426,感知系统402实现cnn 420。在这样的示例中,基于感知系统402从一个或多个不同系统(例如,与运载工具102相同或相似的运载工具的一个或多个系统、与远程av系统114相同或相似的远程av系统、与队列管理系统116相同或相似的队列管理系统、以及/或者与v2i系统118相同或相似的v2i系统等)接收数据,感知系统402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426,感知系统402实现cnn 420。以下关于图4c包括卷积运算的详细说明。
[0080]
在一些实施例中,感知系统402将与输入(称为初始输入)相关联的数据提供至第
一卷积层422,并且感知系统402使用第一卷积层422生成与输出相关联的数据。在一些实施例中,感知系统402将由卷积层生成的输出作为输入提供至不同的卷积层。例如,感知系统402将第一卷积层422的输出作为输入提供至子采样层428、第二卷积层424和/或卷积层426。在这样的示例中,第一卷积层422被称为上游层,并且子采样层428、第二卷积层424和/或卷积层426被称为下游层。类似地,在一些实施例中,感知系统402将子采样层428的输出提供至第二卷积层424和/或卷积层426,并且在该示例中,子采样层428将被称为上游层,并且第二卷积层424和/或卷积层426将被称为下游层。
[0081]
在一些实施例中,在感知系统402向cnn 420提供输入之前,感知系统402对与提供至cnn 420的输入相关联的数据进行处理。例如,基于感知系统402对传感器数据(例如,图像数据、lidar数据和/或雷达数据等)进行归一化,感知系统402对与提供至cnn 420的输入相关联的数据进行处理。
[0082]
在一些实施例中,基于感知系统402进行与各卷积层相关联的卷积运算,cnn 420生成输出。在一些示例中,基于感知系统402进行与各卷积层和初始输入相关联的卷积运算,cnn 420生成输出。在一些实施例中,感知系统402生成输出并将该输出提供至全连接层430。在一些示例中,感知系统402将卷积层426的输出提供至全连接层430,其中全连接层430包括与被称为f1、f2、...、fn的多个特征值相关联的数据。在该示例中,卷积层426的输出包括与表示预测的多个输出特征值相关联的数据。
[0083]
在一些实施例中,基于感知系统402识别与作为多个预测中的正确预测的可能性最高相关联的特征值,感知系统402从这多个预测中识别预测。例如,在全连接层430包括特征值f1、f2、...、fn并且f1是最大特征值的情况下,感知系统402将与f1相关联的预测识别为多个预测中的正确预测。在一些实施例中,感知系统402训练cnn 420以生成预测。在一些示例中,基于感知系统402将与预测相关联的训练数据提供至cnn 420,感知系统402训练cnn 420以生成预测。
[0084]
现在参考图4c和图4d,例示利用感知系统402的cnn 440的示例操作的图。在一些实施例中,cnn 440(例如,cnn 440的一个或多个组件)与cnn 420(例如,cnn 420的一个或多个组件)(参见图4b)相同或相似。
[0085]
在步骤450,感知系统402将与图像相关联的数据作为输入提供至cnn 440(步骤450)。例如,如图所示,感知系统402将与图像相关联的数据提供至cnn 440,其中该图像是表示为以二维(2d)阵列存储的值的灰度图像。在一些实施例中,与图像相关联的数据可以包括与彩色图像相关联的数据,该彩色图像被表示为以三维(3d)阵列存储的值。附加地或可替代地,与图像相关联的数据可以包括与红外图像和/或雷达图像等相关联的数据。
[0086]
在步骤455,cnn 440进行第一卷积函数。例如,基于cnn 440将表示图像的值作为输入提供至第一卷积层442中所包括的一个或多个神经元(未明确示出),cnn 440进行第一卷积函数。在该示例中,表示图像的值可以对应于表示图像的区域(有时称为感受域)的值。在一些实施例中,各神经元与滤波器(未明确示出)相关联。滤波器(有时称为内核)可表示为在大小上与作为输入提供至神经元的值相对应的值数组。在一个示例中,滤波器可被配置为识别边缘(例如,水平线、垂直线和/或直线等)。在连续的卷积层中,与神经元相关联的滤波器可被配置为连续地识别更复杂的图案(例如,弧和/或对象等)。
[0087]
在一些实施例中,基于cnn 440将作为输入提供至第一卷积层442中所包括的一个
或多个神经元中的各神经元的值与同一个或多个神经元中的各神经元相对应的滤波器的值相乘,cnn 440进行第一卷积函数。例如,cnn 440可以将作为输入提供至第一卷积层442中所包括的一个或多个神经元中的各神经元的值与同该一个或多个神经元中的各神经元相对应的滤波器的值相乘,以生成单个值或值数组作为输出。在一些实施例中,第一卷积层442的神经元的集体输出被称为卷积输出。在一些实施例中,在各神经元具有相同滤波器的情况下,卷积输出被称为特征映射。
[0088]
在一些实施例中,cnn 440将第一卷积层442的各神经元的输出提供至下游层的神经元。为了清楚起见,上游层可以是将数据传输至不同层(称为下游层)的层。例如,cnn 440可以将第一卷积层442的各神经元的输出提供至子采样层的相应神经元。在示例中,cnn 440将第一卷积层442的各神经元的输出提供至第一子采样层444的相应神经元。在一些实施例中,cnn 440向提供至下游层的各神经元的所有值的集合添加偏置值。例如,cnn 440向提供至第一子采样层444的各神经元的所有值的集合添加偏置值。在这样的示例中,cnn 440基于提供至各神经元的所有值的集合和与第一子采样层444的各神经元相关联的激活函数来确定要提供至第一子采样层444的各神经元的最终值。
[0089]
在步骤460,cnn 440进行第一子采样函数。例如,基于cnn 440将由第一卷积层442输出的值提供至第一子采样层444的相应神经元,cnn 440可以进行第一子采样函数。在一些实施例中,cnn 440基于聚合函数来进行第一子采样函数。在示例中,基于cnn 440确定提供至给定神经元的值中的最大输入,cnn 440进行第一子采样函数(称为最大池化函数)。在另一示例中,基于cnn 440确定提供至给定神经元的值中的平均输入,cnn 440进行第一子采样函数(称为平均池化函数)。在一些实施例中,基于cnn 440向第一子采样层444的各神经元提供值,cnn 440生成输出,该输出有时被称为子采样卷积输出。
[0090]
在步骤465,cnn 440进行第二卷积函数。在一些实施例中,cnn 440以与上述的cnn 440如何进行第一卷积函数类似的方式进行第二卷积函数。在一些实施例中,基于cnn 440将由第一子采样层444输出的值作为输入提供至第二卷积层446中所包括的一个或多个神经元(未明确示出),cnn 440进行第二卷积函数。在一些实施例中,如上所述,第二卷积层446的各神经元与滤波器相关联。如上所述,与第二卷积层446相关联的(一个或多个)滤波器与同第一卷积层442相关联的滤波器相比可被配置为识别更复杂的图案。
[0091]
在一些实施例中,基于cnn 440将作为输入提供至第二卷积层446中所包括的一个或多个神经元中的各神经元的值与同该一个或多个神经元中的各神经元相对应的滤波器的值相乘,cnn 440进行第二卷积函数。例如,cnn 440可以将作为输入提供至第二卷积层446中所包括的一个或多个神经元中的各神经元的值与同该一个或多个神经元中的各神经元相对应的滤波器的值相乘,以生成单个值或值数组作为输出。
[0092]
在一些实施例中,cnn 440将第二卷积层446的各神经元的输出提供至下游层的神经元。例如,cnn 440可以将第一卷积层442的各神经元的输出提供至子采样层的相应神经元。在示例中,cnn 440将第一卷积层442的各神经元的输出提供至第二子采样层448的相应神经元。在一些实施例中,cnn 440向提供至下游层的各神经元的所有值的集合添加偏置值。例如,cnn 440向提供至第二子采样层448的各神经元的所有值的集合添加偏置值。在这样的示例中,cnn 440基于提供至各神经元的所有值的集合和与第二子采样层448的各神经元相关联的激活函数来确定提供至第二子采样层448的各神经元的最终值。
[0093]
在步骤470,cnn 440进行第二子采样函数。例如,基于cnn 440将由第二卷积层446输出的值提供至第二子采样层448的相应神经元,cnn 440可以进行第二子采样函数。在一些实施例中,基于cnn 440使用聚合函数,cnn 440进行第二子采样函数。在示例中,如上所述,基于cnn 440确定提供至给定神经元的值中的最大输入或平均输入,cnn 440进行第一子采样函数。在一些实施例中,基于cnn 440向第二子采样层448的各神经元提供值,cnn 440生成输出。
[0094]
在步骤475,cnn 440将第二子采样层448的各神经元的输出提供至全连接层449。例如,cnn 440将第二子采样层448的各神经元的输出提供至全连接层449,以使得全连接层449生成输出。在一些实施例中,全连接层449被配置成生成与预测(有时称为分类)相关联的输出。预测可以包括作为输入提供至cnn 440的图像中所包括的对象包括对象和/或一组对象等的指示。在一些实施例中,感知系统402进行一个或多个操作、以及/或者将与预测相关联的数据提供至本文所述的不同系统。
[0095]
参考图5和图6,将说明用于使用未经验证的语义标注来生成传感器数据的经验证的语义标注的示例交互。具体地,图5描绘用于训练机器学习(ml)模型以生成经验证的语义标注的例示性交互,而图6描绘用于使用经训练的ml模型(诸如经由图5的交互所生成的ml等)来生成经验证的语义标注的例示性交互。使用经训练的ml模型通常也可被称为“推断”运算。
[0096]
如图5所示,可以在训练系统500上进行经训练的ml模型的生成(也可称为“训练”ml模型)。训练系统500例示性地表示诸如装置300等的计算装置。在一些实例中,装置300可以包括在运载工具102内。在其它实例中,装置300可以在运载工具102的外部。例如,装置300可以包括在网络112、远程av系统114、队列管理系统116等内。本领域技术人员将理解,训练ml模型通常是资源密集型的,但相对时间不敏感,因此可以优选在具有大量计算资源的装置300上进行训练。在一个实施例中,装置300例如可以是在经由网络112可访问的云计算提供商处实现的虚拟机。
[0097]
如图5所示,训练系统500获得区域的传感器数据502a和与该区域相对应的未经验证的标注502b作为输入。传感器数据可以表示由真实世界的传感器(诸如以上论述的自主系统202的装置中的一个或多个等)收集的或者通常从这些真实世界的传感器导出的任何数据。在一个实施例中,获得传感器数据作为图像或可作为图像投影的其它数据(诸如n维值矩阵等)。例如,传感器数据可以表示区域的鸟瞰视图地图或图像、区域的地面级视图、点云等。未经验证的标注502b表示区域的未经验证的语义标注,诸如交通车道、交叉口和交通信号等的指示等。在一个实施例中,未经验证的标注502b是从标注的网络可访问的储存库(诸如开放街道地图项目等)获得的。未经验证的标注502b可被例示性地表示为图(graph)。例如,交通路径(例如,街道、道路等)可被表示为图内的边,并且交叉口可被表示为连接这些边的节点。节点和边可以用未经验证的标注(诸如道路中的多条车道、或者关于给定交叉口处的交通信号是否是交通灯、停车标志等的指示等)进行标注。为了便于经由机器学习模型的处理,可以在处理之前将以图的形式获得的未经验证的标注变换成图像数据(诸如通过将图转换成与图像相对应的光栅数据等)。例如,可以将边形成为表示交通路径的第一图像,并且可以将节点形成为表示交叉口的第二图像。在其它实施例中,未经验证的标注502b可被获得作为标注图像数据,因此向图像数据的变换可能是不必要的。
[0098]
为了处理传感器数据502a和未经验证的标注502b,训练系统500被配置为将传感器数据502a和未经验证的标注502b级联(concatenate)成级联图像504。举例说明,传感器数据502a可被表示为一组对齐的2维矩阵,其中各这样的矩阵表示图像的层。例如,彩色图像可以用3个通道表示,各通道与当组合时得到图像的相应原色的值相对应。灰度图像可被表示为单个矩阵,其中该矩阵内的值表示图像中的像素的暗度。为了向图像提供标注,级联图像504可以将一个或多个附加层添加至传感器数据502a,各这样的层表示未经验证的标注的全部或一部分。例如,可以向传感器数据502a添加如下的一个层,该一个层指示(例如,经由示出道路图中的节点的图像的级联)矩阵中的各位置(例如,各“像素”)是否对应于交叉口,可以添加第二层,该第二层指示(例如,经由示出图中的边的图像的级联)各位置是否对应于交通路径,可以添加第三层,该第三层指示各位置是否对应于人行横道,等等。
[0099]
在一些实例中,系统500可以在这种级联之前进行对准、预处理或预验证。例如,为了确保在传感器数据502a和未经验证的标注502b之间发生正确对准,系统500可以比较传感器数据502a和标注502b的位置信息,以验证为这两者对应于同一区域。举例说明,gps数据可以分别与传感器数据502a和标注502b相关联以指示在数据502a和标注502b中表示的地理区域的边界(例如,作为一组坐标、比例信息等)。因此,系统500可以比较这种gps数据以确保两个输入在级联之前对准。在一些实例中,系统500可以裁剪任意或两个输入以确保正确对准。此外,在一些实施例中,系统500可以例如通过确保在两个输入中共同表示的数据的最小重叠来验证为输入对准。例如,系统500可被配置为通过对传感器数据502a应用边缘检测来识别传感器数据502a中的交通路径,并且可被配置为基于将传感器数据502a中的交通路径与在标注502b中识别的交通路径进行比较来验证该数据502a与标注502b的对准。当一个输入内的交通路径的阈值比例也在另一输入中表示时,系统500可以例示性确认对准。此外,在一些实施例中,系统500对一个或两个输入进行预处理。例如,系统500可以对表示未经验证的标注的图像应用几何操纵(manipulation)(诸如模糊或距离图运算等),以确保在标注502b中充分表示诸如交通路径等的特征。
[0100]
尽管给出了将未经验证的标注502b作为新层级联到传感器数据502a上的上述示例,但在一些实施例中,未经验证的标注502b和传感器数据502a可以具有不同的维度,未经验证的标注可以具有与传感器数据502a不同的维度,或者未经验证的标注可以是无维度的。例如,传感器数据502a可以表示给定交通路径上的地面级图像,并且未经验证的标注502b可以指示该路径中的车道的数量、各车道或路径总体的交通类型、等等(例如,而不具体识别传感器数据502a的哪部分与哪个车道或车道类型相对应)。在这种情况下,可能不需要将未经验证的标注502b表示为附加层,并且这些标注例如可以被传递为传感器数据502a的元数据。在其它这样的情况下,系统500可以对传感器数据502a和未经验证的标注502b中的一个或两个进行变换,使得这两者共享共同的维度和视角。例如,在传感器数据502a是三维lidar点云的情况下,系统500可以将该点云的2维“切片”或部分传递通过神经网络。用以将点云变换成这样的2维部分的机制是pointpillar方法。作为另一示例,在传感器数据502a是来自给定视角(例如,地面级)的照相机图像、并且标注502b提供不同视角(例如,鸟瞰视图)的数据的情况下,系统500可以将标注502b投影到传感器数据502a上以使这些输入一致。例如,基于照相机的已知位置和方向,系统500可以将由未经验证的标注502b指示的交通路径投影到照相机的图像上。然后可以将该投影路径与图像级联(诸如通过用作图像
的附加层等)。然后可以使用该级联图像来促进图像内的交通路径的识别。
[0101]
然后,可以将级联图像504作为例如训练、测试和/或验证数据集馈送到语义标注神经网络506中。神经网络506可以例示性地是卷积神经网络,诸如以上参考图4c和图4d所述的网络440等。在一个实施例中,神经网络506是“u-net”样式的神经网络,其中卷积层形成收缩路径(其诸如经由池化运算等对信息进行下采样)和拓展路径这两者,经由该拓展路径,收缩路径的输出被上采样,从而潜在地到达与向网络的输入相同的维度。尽管在图5中示出神经网络,但也可以使用其它类型的机器学习网络。尽管在图5中示出单个级联图像504,但可以将大量这样的图像504提供至网络506。例如,可以向系统500提供宽地理区域(例如,跨越数十、数百或数千英里)内的多个地点的传感器数据502a以及这些地点的相应标注502b。举例说明,可以将区域划分(例如,标记化)为相似大小的多个区域,其中各区域的传感器数据502a和未验证的标注502b被传递通过网络506以进行训练。
[0102]
为了便于网络506的训练,系统500还提供经验证的标注508。经验证的标注508例示性地表示传感器数据的已知有效标注。例如,经验证的标注508可以表示如下的传感器数据,该传感器数据已被手动标注以提供语义理解,并且已通过足够严格的验证被验证,使得经验证的标注508可用作“地面实况”。如图5所示,经验证的标注可以表示传感器数据502a的“绘画”(painting)以指示对该数据502a的内容的语义理解。例如,鸟瞰视图的特定区域可被指定为人行横道、交叉口、交通路径等。
[0103]
在图5中,各经验证的标注508表示与级联图像504对准的地理区域。因此,经验证的标注508可用作可用于训练语义标注神经网络506的标记数据集。因此,系统500可以在传感器数据502a、未经验证的标注502b和经验证的标注508上训练网络506,以得到经训练的ml模型510。简言之,ml模型的训练可以包括:将传感器数据502a和未经验证的标注502b传递通过网络506a,并且确定应用于这些输入的权重,使得网络的输出充分对应于预期结果(例如,经验证的标注508)。如本领域技术人员将理解的,生成经训练的ml模型510的结果是,然后可以将未标记数据传递通过该模型以预测该未标记数据的一个或多个标签。更具体地,根据本发明的实施例,这些标签可以表示数据内的预测物理特征。因此,通过将经训练的ml模型510应用于附加的传感器数据502a和未经验证的标注502b,可以获得该传感器数据502a的预测语义标注。
[0104]
参考图6,将说明用于使用经训练的ml模型(诸如经由图5的交互所生成的ml模型)来生成地理区域的预测语义标注的例示性交互。图6的交互在一些实例中可被称为机器学习“推断”。交互由如上所述可包括在运载工具102内的感知系统402例示性地实现。因此,图6的交互例如可用于向运载工具提供该运载工具周围的世界的语义理解,从而使得系统(例如,自动运载工具计算机202f)能够进行诸如规划路线106b、确定运载工具102在区域内的位置等的功能。
[0105]
图6的交互与图5的相似之处在于:这两者都涉及将传感器数据502a和未经验证的标注502b传递通过神经网络。例如,由于神经网络602已被训练以对如上所述的级联图像504进行操作,因此感知系统402可被配置为以与以上针对图5所论述的基本相同的方式生成级联图像504。然而,不同于图5,图6的交互涉及经训练的神经网络506的使用,因此不需要经验证的标注508作为输入。作为代替,将经训练的神经网络506应用于传感器数据502a和未经验证的标注502b导致生成预测标注604。例如,考虑到表示区域的鸟瞰视图的传感器
数据和指示例如道路、交叉口、交通信号等在区域内的何处的标注,感知系统402可以产生预测标注604,这些预测标注604例如指示传感器数据502a的哪些部分表示这样的道路、交叉口、交通信号等。
[0106]
在一些情况下,预测标注可以基本上类似于未经验证的标注502b。然而,如上所述,未经验证的标注502b可能被认为是不可靠的,因此不适合由感知系统402直接使用。由于机器学习模型对“含噪声的”数据具有高度弹性(resilient),因此将未经验证的标注502b传递通过经训练的ml模型(即,经训练的语义标注神经网络602)可以得到比未经验证的标注502b具有更高的可靠性的预测标注。例如,经训练的ml模型可以使得系统402能够剔除未经验证的标注502b内的无效标注。此外,ml模型可以实现未经验证的标注502b与传感器数据502a的更准确对准。例如,在标注相对于传感器数据502a实际上是无维度(例如,作为交通路径中的车道的数量的指示,而不标识这样的车道存在于何处)的情况下,使用经训练的ml模型可以使得能够将这些标注应用于传感器数据502a,使得这些传感器数据502a被变换成具有与传感器数据相对应的维度的标注(例如,表示交通路径的各车道的图像的特定部分)。
[0107]
尽管图6示出标注604的具体示例(用以指示特征的图像的“绘画”),但其它标注类型是可以的。例如,标注604可被表示为边界框、着色、或者简单地为识别传感器数据502a的预测物理特征的原始数据。
[0108]
因此,预测标注604可以将大量的附加信息提供至感知系统402。在一些情况下,预测标注604可以具有足够的可靠性以用作系统402的地面实况数据。由于未经验证的标注502b与经验证的标注508(如上所述,其生成可能更费力)相比可能大量可用,因此使用如图6所示的经训练的ml模型可大幅增加感知系统402具有对真实世界数据的语义理解的能力。反过来,改进的感知系统402例如可以得到运载工具102进行自动驾驶操作的改进操作。
[0109]
参考图7,将说明用于生成经训练的ml模型以基于包括传感器数据和未经验证的语义标注的输入来提供预测语义标注的例示性例程700。例程700可以例如通过图5的训练系统500来实现。
[0110]
例程700在框702处开始,其中在框702处,系统500获得从传感器数据生成的地理区域的图像。如上所述,传感器数据可以表示各种类型的数据,诸如lidar数据、照相机数据、雷达数据等。然后可以将该数据变换成n维图像,诸如3维点云、2维地面级图像、2维鸟瞰视图地图等。该图像示例性地与指示用于将该图像与未经验证的标注配对的信息的元数据关联。例如,元数据可以包括图像的类型(例如,点云、地面级图像、鸟瞰视图地图)、图像的位置(例如,作为gps坐标或其它位置数据)、图像的比例、图像的角度、等等。这些图像可以是为了创建ml模型的目的而例示性地获得的。例如,运载工具102可用于从各种已知地点收集表示图像的传感器数据502a以用于训练模型的目的。
[0111]
在框704处,将图像与地理区域的未验证的标注组合。举例说明,针对各图像,系统500可以获得未经验证的标注,并且将未经验证的标注的表示级联到图像。如上所述,未经验证的标注可以是数据集(诸如公共可用的数据集等)的一部分。在一些实例中,系统500可以预先填充有数据集。在其它实例中,数据集可以是网络可访问的,因此系统500可以获得针对各图像(例如,针对在该图像内表示的给定区域)的适当标注。如上所述,系统500可以将未经验证的标注变换为适合于图像。举例说明,在图像表示鸟瞰视图的情况下,系统500
可以利用在数据集(例如,道路)内提供的图来生成表示例如交通路径、交叉口、人行横道、标志、信号等的图像层。然后可以将这些层级联到从传感器数据生成的相应图像。如上所述,在一些情况下可以诸如通过应用模糊、距离图或其它图像变换等对图像层进行预处理,以确保将足够的权重赋予层内的数据。作为另一例示,在传感器数据导出的图像具有与未经验证的标注不同维度的角度的情况下,系统500可以将标注变换或投影到图像上。例如,系统可以将未经验证的标注的鸟瞰视图数据(例如,在给定地点中存在给定物理特征)投影到传感器数据导出的图像上,并且将该投影级联到图像作为图像的附加层。
[0112]
在框706处,系统500获得图像的经验证的标注。例如,系统500可以将图像传递给人类操作员(其用图像中示出的物理特征“标记”图像),由此提供图像的语义理解。举例说明,操作员可以将各图像的部分指定为具有在未经验证的标注内指示的一个或多个物理特征,诸如交通路径(包括路径的类型,例如,小汽车、自行车、行人等)、交叉口、人行横道、交通信号、以及交通标志等。这些经验证的标注例示性地用作图像的标签,使得机器学习模型可被训练以基于未经验证的标注向后续图像添加标签。
[0113]
因此,在框708处,系统500使用经验证的标注作为地面实况,利用组合后的图像和未经验证的标注作为输入来训练神经网络机器学习模型。如上所述,训练可以包括:将组合后的图像和未经验证的标注传递通过用于隔离图像的特定特征的各种变换(例如,卷积)。在训练期间,可以将这些特征与经验证的标注进行比较,以识别这些特征是否已被正确识别。通过训练的一般操作,(诸如通过修改在各变换处应用的权重等)可以修改变换,使得由网络输出的特征近似在经验证的标注内识别的特征。以这种方式,网络被训练以基于未经验证的标注产生预测特征。然后,在框710处输出该经训练的模型。
[0114]
如上所述,经训练的模型之后可用于基于新的基于传感器数据的图像和未经验证的标注来提供预测标注。在图8中示出用于提供这样的预测标注的一个例示性例程800。图8的例程800例如可以通过如上所述可包括在运载工具102内的图4a的感知系统402来实现。例程800例示性地对径训练的模型进行推断运算。
[0115]
例程800在框802处开始,其中在框802处,感知系统402获得经训练的ml模型。该模型例如可以经由图7的例程700来生成。如这里所论述的,该模型可被训练,以采用图像和关联的未经验证的标注作为输入,并且提供该图像的预测标注作为输出,从而表示对图像中示出的物理特征的语义理解。
[0116]
在框804处,感知系统402获得表示地理区域的图像的传感器数据。例如,该图像可以是运载工具102周围的区域的鸟瞰视图、来自运载工具102上的照相机的地面级视图、基于运载工具102上的lidar传感器所生成的点云、等等。在一个实施例中,ml模型是针对给定类的数据(例如,点云、地面级图像、鸟瞰视图等)训练的,并且在框804处获得的传感器数据对应于该类的数据。
[0117]
在框806处,感知系统402将图像与地理区域的未经验证的标注组合。举例说明,系统402可以预装有未经验证的标注的数据集或者具有对该未经验证的标注的数据集的网络访问,其中这些标注是针对各种地点所提供的。系统402可以(例如,使用定位系统406)确定系统402的当前地点,并获得该地点的未验证的标注。然后,系统402可以以与以上论述的图7的框704类似的方式将图像与未经验证的标注级联。如上所述,系统402可以(诸如通过将标注变换或投影成图像的维度和角度等)对未经验证的标注进行预处理或预验证。
[0118]
在框808处,感知系统402将经训练的ml模型应用于组合后的图像和未经验证的标注。如上所述,经训练的ml模型通常可以表示如下的一组变换(例如,卷积),该一组变换采用传感器数据导出的图像和未经验证的标注的组合作为输入,并且传递针对该输入的预测标注作为输出。这些具体变换是在训练期间已确定的,以产生近似“地面实况”(例如,训练模型所针对的经验证的输入)的输出。因此,在框810处,经训练的ml模型输出地理区域的预测物理特征,从而提供对传感器数据导出的图像的语义理解。考虑到ml模型对数据中的“噪声”的弹性,预计这些预测特征与单独的未经验证的标注相比具有更高的准确度。因此,图8的例程800的实现即使基于可能不准确的标注,也使得能够实现对物理特征的准确预测。此外,例程800不限于在存在经验证的地面实况的地理区域中实现,而且可以存在于与未经验证的标注相关联的更广泛的地点中。因此,例程800可以允许在与其它情况下可能的区域相比更大的区域中根据传感器数据进行准确感知。继而,这带来了诸如自主运载工具的路线规划等的各种各样的功能的进步。
[0119]
本文所述的所有方法和任务都可以通过计算机系统来进行和完全自动化。计算机系统在一些情况下可以包括通过网络进行通信和互操作以进行所描述的功能的多个不同的计算机或计算装置(例如,物理服务器、工作站、存储阵列、云计算资源等)。各这样的计算装置通常包括执行存储器或其它非暂时性计算机可读存储介质或装置(例如,固态存储装置、盘驱动器等)中所存储的程序指令或模块的处理器(或多个处理器)。本文所公开的各种功能可以体现在这样的程序指令中,或者可以在计算机系统的专用电路(例如,asic或fpga)中实现。在计算机系统包括多个计算装置的情况下,这些装置可以但不需要位于同一位置。所公开的方法和任务的结果可以通过将诸如固态存储器芯片或磁盘等的物理存储装置变换成不同的状态来持久地存储。在一些实施例中,计算机系统可以是处理资源由多个不同的业务实体或其它用户共享的基于云的计算系统。
[0120]
本文所述的或在本发明的附图中例示的处理可以响应于事件(诸如按预先确定的或动态确定的时间表、在由用户或系统管理员发起时按需、或者响应于某些其它事件)而开始。当发起这样的处理时,可以将一个或多个非暂时性计算机可读介质(例如,硬盘驱动器、闪速存储器、可移动介质等)上所存储的一组可执行程序指令加载到服务器或其它计算装置的存储器(例如,ram)中。然后,这些可执行指令可由计算装置的基于硬件的计算机处理器执行。在一些实施例中,这样的处理或其一部分可以在多个计算装置和/或多个处理器上串行地或并行地实现。
[0121]
根据本实施例,本文所述的任何处理或算法的某些动作、事件或功能可以以不同的顺序进行,可以被相加、合并或完全省略(例如,并非所有所描述的操作或事件对于算法的实践都是必需的)。此外,在某些实施例中,操作或事件可以例如通过多线程处理、中断处理、或者多个处理器或处理器核或者在其它并行架构上同时进行,而不是顺次进行。
[0122]
结合本文公开的实施例所描述的各种例示性逻辑块、模块、例程和算法步骤可被实现为电子硬件(例如,asic或fpga装置)、在计算机硬件上运行的计算机软件、或者这两者的组合。此外,结合本文公开的实施例所描述的各种例示性逻辑块和模块可以通过以下来实现或进行:机器,诸如处理器装置、数字信号处理器(“dsp”)、专用集成电路(“asic”)、现场可编程门阵列(“fpga”)或其它可编程逻辑装置;分立栅极或晶体管逻辑;分立硬件组件;或者它们的被设计为进行本文所述的功能的任何组合。处理器装置可以是微处理器,但在
替代方案中,处理器装置可以是控制器、微控制器、或状态机、或者它们的组合等。处理器装置可以包括被配置为处理计算机可执行指令的电路。在另一实施例中,处理器装置包括在无需处理计算机可执行指令的情况下进行逻辑操作的fpga或其它可编程装置。处理器装置还可被实现为计算装置的组合(例如,dsp和微处理器的组合)、多个微处理器、与dsp核结合的一个或多个微处理器、或任何其它这样的结构。尽管本文主要关于数字技术进行说明,但处理器装置也可主要包括模拟组件。例如,本文所述的绘制技术的一部分或全部可以在模拟电路或者混合模拟和数字电路中实现。计算环境可以包括任何类型的计算机系统,其包括但不限于基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算装置、装置控制器、或设备内的计算引擎(仅举几个例子)。
[0123]
结合本文公开的实施例所描述的方法、处理、例程或算法的元素可以直接以硬件、由处理器装置执行的软件模块、或这两者的组合来实现。软件模块可以驻留在ram存储器、闪速存储器、rom存储器、eprom存储器、eeprom存储器、寄存器、硬盘、可移动盘、cd-rom、或任何其它形式的非暂时性计算机可读存储介质中。示例性存储介质可以耦接到处理器装置,使得处理器装置可以从存储介质读取信息并将信息写入存储介质。在替代方案中,存储介质与处理器装置可以是一体的。处理器装置和存储介质可以驻留在asic中。asic可以驻留在用户终端中。在替代方案中,处理器装置和存储介质可以作为分立组件驻留在用户终端中。
[0124]
在先前描述中,已经参考许多具体细节描述了本发明的方面和实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本技术发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献