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

感知系统的制作方法

2022-05-18 11:39:46 来源:中国专利 TAG:

感知系统
1.相关申请的交叉引用
2.本技术要求于2019年9月30日提交的标题为“perception system”的美国申请号16/587605的优先权,其全部内容通过引用并入本文。


背景技术:

3.自主车辆的导航系统通常包括传统的感知系统,该系统利用来自自主车辆上传感器的各种数据。传统的感知系统允许自主车辆识别物理环境中的对象,以便自主车辆可以规划一条安全的穿过环境的路线。自主车辆的安全运行至少部分取决于传统感知系统在检测、分类和预测对象运动时提供的信息。然而,传统的感知系统可能严重依赖图像数据,这可能需要额外的处理并最终做出延迟决策。考虑到诸如车辆之类的对象在相对较短的时间跨度内改变其轨迹,该缺点可能是显着的。因此,提高处理速度并减少与依赖于不同类型传感器数据的感知系统相关的延迟可能会提高自主车辆的操作安全性。
附图说明
4.参考附图来描述详细描述。在图中,参考编号的最左侧数字标识参考编号首次出现的图。在不同的图中使用相同的附图标记表示相似或相同的部件或特征。
5.图1是说明如本文所述的感知系统的示例数据流的过程流程图。
6.图2是说明如本文所述的感知系统的示例数据流的时序图。
7.图3是图示如本文所述的感知系统的示例架构的示意图。
8.图4是示出如本文所述的感知系统的示例架构的另一示意图。
9.图5是示出如本文所述的用于生成对象感知轨迹的感知系统的示例过程的流程图。
10.图6是用于实现如本文所述的感知系统的示例系统的框图。
具体实施方式
11.本文描述的技术针对一种感知系统,该感知系统可以包括基于雷达的感知系统。在一些示例中,基于雷达的感知系统可以在诸如车辆或自主车辆的系统中实现。通常,诸如车辆之类的自主系统通常使用处理各种类型传感器数据的感知系统来识别对象并预测这些对象的轨迹,以便安全地在对象周围导航,从而避免碰撞。本文描述的基于雷达的感知系统可以使用雷达数据来代替或补充其他类型的传感器数据,例如图像数据和/或激光雷达数据,以减少与传感器数据相关联的延迟的方式来实现用于做出关键的导航决策。例如,使用基于雷达的感知系统可减少感知系统在雷达传感器发射照明时对环境照明的依赖,从而提高系统在无光照或弱光环境中的性能。与其他类型的传感器系统相比,由于雷达的长波长,使用基于雷达的感知系统还可以在退化环境(例如,雾、雨、雪等)的情况下提高性能。由于雷达是相位相干的,与其他传感器技术相比,基于雷达的感知系统在确定场景中检测到的对象的距离速率或相对速度方面也产生了更高的准确性。
12.在一些示例中,感知系统可以对对象状态数据执行更新,例如位置、方向、速度、历史状态、语义信息等,除了更传统的感知管道之外,还使用捕获的雷达和机器学习算法(例如深度神经网络)的离散点云表示。在一些实施方式中,基于雷达的感知系统可以利用自上而下或二维机器学习雷达感知更新过程。例如,基于雷达的感知系统可以从位于车辆上的一个或多个传感器接收基于雷达的点云数据,并将原始的基于雷达的点云数据转换为对象级表示,该对象级表示可以由车辆的规划和/或预测系统在为车辆做出操作决策时处理或使用。在一个具体示例中,基于雷达的感知系统可以将基于雷达的点云数据(可以表示至少三个维度)转换为可用于特征提取和/或实例检测的点云表示(通常也称为离散化数据表示)。离散化数据表示可以以二维方式表示三维数据。在一些示例中,三维数据可以与环境的离散区域(例如,网格的一部分)相关联,由此三维数据可以被折叠或以二维方式表示。在一些示例中,这种二维表示可以被称为自上而下的表示。在一些示例中,自上而下或二维离散化数据表示可以将在基于雷达的点云数据中表示的检测存储为向量、柱或集合。在某些情况下,自上而下的表示可以包括环境的二维“图像”,由此图像的每个像素可以表示具有固定尺寸的网格位置(或其他离散区域),而在其他情况下,网格位置或离散区域可能与可变数量的点相关联。在使用可变尺寸仓的情况下,基于雷达的感知系统还可以限制或包括可以以循环缓冲器的方式操作的最大仓尺寸。
13.在一些实现中,例如当内存是一个问题时,仓可以表示多个像素以减小网格的整体尺寸。在另一个示例中,每个仓可以被配置为存储与其相关联的基于雷达的点云数据的稀疏点表示或稀疏特征图。在一些情况下,该技术可以包括将机器学习模型(例如,训练的深度神经网络或卷积神经网络)应用于点云表示,以识别基于雷达的点云数据内的一个或多个对象和/或实例,其可由规划和/或预测系统使用。在某些情况下,深度神经网络的输出可以是对象边界框、占用值和/或对象状态(例如,轨迹、加速度、速度、尺寸、当前物理位置、对象分类、实例分割等)。
14.在一些示例中,可以训练机器学习模型(例如,深度神经网络或卷积神经网络)以通过查看数据日志来输出语义信息和/或状态信息,以识别表示环境中对象的传感器数据。在某些情况下,可以识别对象,并且可以确定对象(例如,行人、车辆、骑自行车者等)和环境的属性,并且可以将表示对象的数据识别为训练数据。可以将训练数据输入到机器学习模型中,其中可以使用已知结果(例如,地面实况,诸如已知边界框、速度信息、姿势信息、分类等)来调整权重和/或参数,以尽量减少损失或错误。在一些示例中,可以以监督方式(例如,至少部分基于人类注释或从其他感知模型确定地面实况)、无监督方式(例如,训练数据集不包括注释)、自监督方式(例如,至少部分地基于先前生成的模型确定地面实况)和/或使用技术组合的半监督方式来执行训练。
15.在一些特定实现中,感知系统可以利用一个或多个全局配准更新(例如,将新获取的雷达数据在全局参考系中关联并存储),然后是离散点云更新。全局配准更新可以被配置为在基于雷达的点云流上执行配准,其使用全局参考系投影和配准基于雷达的点云流。例如,全局配准更新可以针对从传感器接收到的雷达数据的每个间隔进行处理。因此,对于离散点云更新的每次迭代,可以多次执行全局配准更新。在全局参考系表示中,基于雷达的点云流的雷达数据可以稀疏地存储在循环缓冲器中。
16.在某些情况下,离散点云更新可以基于触发或标准被满足或超过而动态启动。例
如,离散点云更新可以基于经过的时间段、预定数量的全局配准更新完成、预定数量的点使用全局参考系配准等开始。在启动时,离散点云更新可以利用配准点(例如,全局参考系表示中的点)来生成点云表示。在一些情况下,点云表示可以是包括多个离散区域或网格位置的二维或自顶向下的网格。在一个示例中,离散点云更新可以将存储在循环缓冲器中的全局参考系表示转换为具有局部参考的点云表示。作为说明性示例,感知系统可以利用与全局参考系表示中的点相关联的平台状态信息和/或数据来重新投影定位以反映局部参考系的点(例如车辆的位置、速度、方向等)并将每个点分配给与局部参考系内的点位置相关联的离散区域或网格位置。例如,在一种实施方式中,系统可以对各个点执行位置变换(例如基于车辆相对于全局参考系位置的位置服从)和旋转(基于车辆相对于全局参考系的偏航),以将这些点转换为局部参考系。
17.离散点云更新可以应用多层感知器和/或应用于局部参考点云内的每个点的逐点池化操作。在一种情况下,多层感知器过程可以提取每个点的特征向量。例如,可以使用随机梯度下降训练多层感知器,例如,作为端到端过程中整个架构的一部分,该过程基于多个损失函数,包括分类损失和边界框回归损失。在某些情况下,多层感知器可以包括一个或多个深度网络。
18.因此,如果离散区域或仓与或存储十个点相关联,则多层感知器过程将生成与该离散区域或仓相关联的十个特征向量。结果是一个网格,其中每个仓具有不同数量或可变数量的特征或向量。
19.在某些情况下,池化操作可能包括对每个仓的特征向量的统计汇总。例如,池化操作可以是最大池化操作,其中选择与仓相关联的特征向量中的与一个特征相关联的最大值来表示仓。在某些情况下,当每个特征向量包括多个值时,可以按特征值执行池化操作。应当理解,在其他实施方式中,可以使用各种类型的池化操作,例如平均池化、最小池化等。在一些情况下,可以选择池化操作以导致特征向量内的置换不变性。
20.机器学习模型,例如神经网络,可以从局部参考特征表示中提取特征,并将特征映射到语义表示。例如,机器学习模型可以包括在网格内将对象从像素映射到像素的网络。在一个特定实例中,可以实现u-net架构。u-net架构是一种卷积神经网络,可用于基于检测每个卷积的有效部分而不依赖任何全连接层的图像分割。应当理解,在其他示例中,可以使用其他类型的神经网络,例如扩张卷积。在一些示例中,学习期间使用的特征可能包括距离率、相关雷达数据的年龄和位置,而学习的输出包括到对象中心的方向或语义类别信息。在一个具体示例中,这些特征可以包括代表与系统相关联的延迟的偏移时间,以在车辆做出操作决策时帮助预测对象数据(例如,位置、速度、行进方向)。在一些情况下,偏移时间可以在大约一毫秒和大约十毫秒之间。
21.基于语义状态表示的特征向量可以被转换为对象数据(例如经由稀疏状态表示),该对象数据可以用于通过场景跟踪对象和/或输出到规划和/或预测系统。例如,感知系统可以将每像素类别估计应用于每个仓以识别对象的类别以及实例分割以确定对象的中心(例如,物理位置)和/或两个像素或仓是否与同一对象相关联。
22.在一些实施方式中,感知系统还可以对密集网格执行后处理以生成可用于对象跟踪的稀疏对象表示。在一个特定示例中,感知系统可以应用非最大抑制技术来将网格转换为稀疏对象表示。
23.本文讨论的技术可以以多种附加方式改进计算设备的功能。在一些情况下,利用本文描述的感知系统被配置为减少由传感器数据的预处理引起的总体延迟,更准确地预测对象速度,并提高在光线不足或退化的环境中对象检测的准确性。以这种方式,系统能够向更能代表现实生活/实时物理环境的预测和/或规划系统提供输出,从而提高自主车辆的整体安全性。应当理解,在一些示例中,感知系统可以与依赖于图像数据、激光雷达数据以及其他类型的传感器数据的其他感知系统结合使用。
24.这里描述的技术可以以多种方式实现。下面参考以下附图提供示例实施方式。尽管在自主车辆的背景下进行了讨论,但本文描述的方法、装置和系统可以应用于各种系统(例如,传感器系统或机器人平台),并且不限于自主车辆。在一个示例中,类似的技术可以用在驾驶员控制的车辆中,其中这样的系统可以提供执行各种操纵是否安全的指示和/或实施紧急操纵(例如紧急制动)的系统。在另一个示例中,可以在航空或航海环境中使用这些技术。此外,本文描述的技术可以与真实数据(例如,使用传感器捕获)、模拟数据(例如,由模拟器生成)或两者的任何组合一起使用。
25.图1是说明如本文所述的感知系统的示例流程100的过程流程图。在所示示例中,代表物理环境的雷达数据102(a)-(o)可以由一个或多个传感器捕获。在一些情况下,可以基于与收集雷达数据102的传感器的速度相关联的时间间隔来捕获雷达数据102。在这些情况下,雷达数据102(a)-(o)中的每一个可以表示在一个这样的时间间隔期间收集的雷达数据102。
26.对于由一个或多个传感器捕获的雷达数据102(a)-(o)的每个间隔,感知系统可以执行全局配准更新104。全局配准更新104可以使用平台在全局参考系中的状态来配准基于雷达的点云流,以生成雷达数据102(a)-(o)的全局参考表示106。例如,全局配准更新104可以将雷达数据102(a)-(o)中表示的每个点投影到具有全局参考的空间中。
27.在一些情况下,全局配准更新104可以在系统执行或启动离散点云更新108之前处理多次迭代。例如,在所示示例中,在离散点云更新108开始之前,全局配准更新104可以针对雷达数据102(a)-(e)的每个间隔处理一次。因此,如图所示,雷达数据102(a)-(e)的间隔,通常由110(a)指示,可以包括由全局配准更新104用来生成全局参考表示106的第一实例的数据,该数据是用作离散点云更新108的输入。类似地,雷达数据102(f)-(j)的间隔,通常由110(b)指示,可以包括全局配准更新104用来生成第二实例的数据,该数据是用作离散点云更新108的第二输入。在当前示例中,离散点云更新108可以基于被捕获的雷达数据102的多个间隔(例如,每5个间隔、6个间隔、10个间隔等)运行,然而,应该理解,可以使用各种类型的标准或阈值来触发或启动离散点云更新108。
28.离散点云更新108可以将雷达数据102的全局参考表示转换为具有局部参考系的点云表示。例如,在一种实施方式中,离散点云更新108可以对各个点执行位置变换和旋转(例如,位置服从)以将点从全局参考系转换到局部参考系。
29.离散点云更新108还可以将多层感知器应用于全局参考表示106内的每个点。在一个实例中,多层感知器过程可以提取每个点的特征向量以生成二维网格,其中离散区域或网格位置具有可变数量的特征或向量。在一些具体示例中,二维自上而下网格可以是256
×
256网格、512
×
512网格或512
×
256网格的形式。在其他示例中,网格的尺寸可以是可变的或基于与存储点云表示相关联的存储器缓冲器的尺寸。在其他示例中,网格可以基于车辆
的类型、车辆的策略(例如,网格在行驶方向上扩展)、基于雷达传感器的范围等。在一些示例中,每个离散区域或网格位置可以表示物理环境中的1/8米到1/4米的范围,从而导致网格覆盖大约32米到大约128米的区域,具体取决于网格的尺寸。然而,应该理解,可以例如基于网格的尺寸、被覆盖的物理环境的尺寸和可变存储器,将各种物理尺寸分配给离散区域或网格位置。因此,在由离散区域或网格位置表示的1/8米内检测到的每个点都被分配给该离散区域或网格位置。
30.然后离散点云更新108可以将一个或多个池化操作应用到二维网格。例如,离散点云更新108可以包括对每个离散区域的特征向量的统计总结,以生成雷达数据102的局部参考特征表示112。
31.在一些实现中,感知系统可以从局部参考特征表示112确定机器学习推断114。在一个示例中,机器学习推断114可以包括利用一个或多个神经网络从局部参考特征表示112提取特征并映射基于语义状态表示的特征。例如,神经网络的应用可以是在网格内将对象从像素映射到像素的网络。
32.感知系统还可以在输出到预测和/或规划系统之前执行后处理116。例如,后处理116可以包括将基于语义状态的点云表示的特征向量转换为稀疏对象数据118(例如经由稀疏状态表示),该稀疏对象数据118可以用于通过场景跟踪对象并输出到规划和/或预测系统。在一个示例中,后处理116可包括对每个离散区域或仓的每像素类别估计以识别对象的类别以及实例分割以确定对象的中心(例如,物理位置)和/或两个像素或仓与同一个对象相关联。
33.图2是说明如本文所述的感知系统的示例数据流200的时序图。与图1的流程100类似,在当前示例中,感知系统可以针对每个离散点云更新204执行多个全局配准更新,如更新202(a)-(c)所示。例如,如图所示,一个或多个传感器可以在相关的时间间隔208(a)-(c)期间捕获雷达数据,例如雷达数据206(a)-(c)。对于捕获每个雷达数据206(a)-(c)的间隔,系统可以执行相应的全局配准更新202(a)-(c)。在对应的全局配准更新202(a)-(c)中的每一个期间,系统可以将对应的雷达数据206(a)-(c)更新或合并到共享的全局参考表示中。
34.如上所述,离散点云更新204可以将全局参考表示转换为具有局部参考系的点云表示。例如,离散点云更新204可以基于车辆相对于全局参考系的位置对每个点执行位置减法(平移)和/或旋转,以将点从全局参考表示转换为局部参考表示。
35.另外,离散点云更新204可以应用多层感知器来为每个点提取至少一个特征向量,以生成局部参考二维网格,其中离散区域或仓具有可变数量的特征或向量。离散点云更新204然后可以对二维网格应用一个或多个池化操作以生成雷达数据206(a)-(c)的局部参考点云表示,其中每个离散区域或仓具有单个代表离散区域或仓内的点的特征向量。在某些情况下,二维网格可以是一系列点柱,其中每个点是一个离散区域,每个柱是一个特征向量。应该理解,虽然池化操作可以将离散区域或仓内的特征向量的数量减少到一个,但特征向量的尺寸或长度可能会至少部分地基于在每个离散区域处检测到的特征的数量和/或类型从离散区域到离散区域(例如,网格位置到网格位置)而变化。
36.感知系统可以根据局部参考点云表示来确定机器学习推断210。在一个示例中,后处理212可以包括利用诸如一个或多个神经网络的机器学习来从局部参考特征表示中提取特征并且将特征映射到二维语义表示。例如,一个或多个神经网络的应用可以是在网格内
从像素到像素(或从网格位置到网格位置)映射对象的网络。
37.感知系统还可以在输出到预测系统214之前对二维语义表示执行后处理212以生成对象和/或状态数据(其可以保持在稀疏对象状态表示中)。预测/规划系统214然后可以利用感知系统的输出来为自主车辆做出操作决策。
38.图3是图示如本文所述的基于雷达的感知系统的示例架构300的示意图。如上所述,一个或多个传感器302可以从平台周围的环境(例如自主车辆)捕获数据304(例如雷达数据)。然后可以将传感器数据304作为数据流提供给循环缓冲器306。在其他示例中,可以使用其他缓冲器配置,例如环形缓冲器或先进先出缓冲器。在一些情况下,循环缓冲器306可以是具有固定尺寸的缓冲器(在该特定示例中,尺寸为5)的数据结构,该缓冲器端到端连接,使得添加到缓冲器306的新数据代替最旧的数据。如图所示,数据a、b、c、d和e已经被添加到循环缓冲器306中并且缓冲器306正在接收数据f。
39.作为全局配准更新308的一部分,当数据f被添加到循环缓冲器306时,数据f被配准到全局参考系。在该示例中,由于缓冲器306已满(例如,已保存5个元素),因此,全局配准更新308可以用数据f覆盖来自缓冲器的数据a(因为数据a是最旧的)。以这种方式,感知系统能够在执行离散点云更新310时保持传感器302捕获的最新数据304,以确保平台基于最新的传感器数据304做出操作决策。在当前示例中,感知系统还接收数据g并执行第二全局配准更新308以配准数据g以及用数据g替换数据b(新的最旧数据)。
40.在所示示例中,离散点云更新310可以从循环缓冲器306接收内容,如所示的数据fgcde,作为输入。在一些情况下,离散点云更新310可以基于满足或超过一个或多个标准而动态启动。在其他情况下,离散点云更新310可以是周期性的或基于存储在循环缓冲器306中的数据的状态。在一些情况下,离散点云更新310可以被配置为处理循环缓冲器306中的预定数量的条目。例如,在这个示例中,离散点云更新310可以被设置为处理循环缓冲器中的四个条目306(例如,比循环缓冲器306的尺寸小一)。
41.在该示例中,离散点云更新310可以从最新或最近添加到循环缓冲器306的数据开始。因此,离散点云更新310可以首先将数据g添加到数据304的二维离散表示312在数据g之后,离散点云更新310然后可以将数据f、e和d添加到数据304的二维离散表示312。在数据g之后,离散点云更新310然后可以将数据f、e和d添加到数据304的二维离散表示312。如上所述,二维离散表示可以包括与数据g、f、d和e的多个点相关联的离散区域。因此,如图所示,诸如位置314的离散区域可以形成点柱或点的集合。在一些情况下,作为离散点云更新310的一部分,每个点可以有一个相关的特征向量,该向量具有与该点的特征相关的值。数据304的二维离散表示312然后可以在被提供给规划或预测系统之前被输出以供神经网络或其他学习的推理技术处理,例如提取语义信息和确定对象。
42.图4是图示如本文所述的基于雷达的感知系统的示例架构400的另一示意图。如上所述,系统可以执行离散点云更新402以生成二维离散表示404。作为离散点云更新402的一部分并且除了将点转换为局部参考系之外(经由一个或多个平移和/或旋转),离散点云更新402可以包括将多层感知器过程406和/或一个或多个池化操作408应用于与二维离散表示404相关联的点。
43.多层感知器过程406可以提取每个点的特征向量。因此,如果离散区域(例如,与环境的离散表示相关联的网格位置或区域)与多个点相关联,则多层感知器过程406可以为与
该离散区域相关联的每个点生成特征向量。结果是一个网格,其中每个仓具有不同数量或可变数量的特征或向量。池化操作408可以对每个仓的特征向量应用统计总结。例如,池化操作408可以应用最大池化操作,其中选择与区域相关联的特征向量的特征相关联的最大值来表示该区域,尽管任何其他池化操作被考虑(例如,平均、最小值等)。以这种方式,可以使用单个特征向量来表示每个离散区域。备选地,在其他实施方式中,可以使用各种其他类型的池化操作,只要所选择的池化操作将置换不变性引入到结果特征向量中。
44.在所示示例中,一旦池化操作408完成,感知系统可以利用一个或多个神经网络410(例如通过u-net架构)从二维离散点云表示404的特征向量中提取深度卷积特征。
45.例如,一个或多个神经网络410可以生成任意数量的学习推理或头,例如语义类头412、到对象实例中心头414的方向,以及其他学习输出头416(例如目标范围、目标方位角、目标速度、对象边界框等)。在某些情况下,神经网络可能是经过训练的端到端网络架构,具有随机梯度下降。例如,将全局参考系中的对象注释配准到局部参考系以提供可用作各种网络输出或头(例如头412-416)的地面实况目标的监督地图。具体来说,图像映射形式的适当真值输出可能包括语义每像素分类(自行车、行人、车辆)、经由回归到指向对象中心的向量的实例分割以及边界框表示(偏航和范围信息)。使用的损失函数可以利用同方差和/或异方差;典型的损失函数包括均方和平均绝对误差以及分类交叉熵(包括更不成比例地惩罚罕见情况以补偿不平衡数据的焦点损失惩罚)。
46.在所示示例中,语义类别估计头412可以包括将提取的深度卷积特征分割和/或分类为语义数据(例如,速度、类别或类型、行进方向等)。确定到对象实例中心头414的方向的过程可以被配置为预测从点到目标中心的向量。例如,这个特征可以经由一种有监督的方法来学习,该方法训练一个深度网络回归到向量(每个像素的x和y值),当像素在对象框的边界内时,指向真实对象的边界框表示的中心。此外,作为学习推理的一部分,系统可以使用每个离散区域向量场执行分割,以消除哪些像素或点属于哪个对象的歧义,并将像素或点转换为稀疏对象表示。
47.物理环境的稀疏对象状态表示418可以由各种头产生,包括头412-416。然后可以对稀疏对象状态表示418执行后处理420以生成对象数据,然后可以将其输出到预测/规划系统422以用于为平台或自主车辆做出操作决策。例如,后处理420可以包括非最大抑制、阈值处理、霍夫投票、连通分量和/或形态学运算等。
48.图5是说明如本文所述的用于生成对象感知轨迹的基于雷达的感知系统的示例过程500的流程图。该过程被图示为逻辑流程图中的框的集合,这些框代表一系列操作,其中一些或全部可以在硬件、软件或其组合中实现。在软件的上下文中,框表示存储在一个或多个计算机可读介质上的计算机可执行指令,当由一个或多个处理器执行时,这些指令执行所列举的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、部件、加密、解密、压缩、记录、数据结构等。
49.描述操作的顺序不应被解释为限制。任何数量的所述框可以以任何顺序和/或并行组合以实现过程或替代过程,并且不需要执行所有框。出于讨论的目的,这里的过程是参考这里的示例中描述的框架、架构和环境来描述的,尽管这些过程可以在各种各样的其他框架、架构或环境中实现。
50.在502,基于雷达的感知系统接收表示物理环境、平台状态估计和/或全局参考系
的雷达数据。雷达数据可以由物理上位于自主车辆的一个或多个位置的一个或多个传感器捕获。可以在一个时间间隔内捕获雷达数据。在一些情况下,时间间隔可以基于一个或多个传感器的一个或多个特性。
51.在一些情况下,平台状态估计可以包括车辆状态数据和/或环境对象状态数据,例如位置、方向、速度、历史状态、语义信息等。
52.在504,基于雷达的感知系统使用全局参考系来配准数据(例如,雷达数据)以生成雷达数据的全局配准表示。例如,雷达数据内的每个点或检测可以映射或转换为具有全局参考系的空间。在某些情况下,可以在502中确定或接收全局参考系作为先前状态估计的一部分。
53.在506,基于雷达的感知系统可以将雷达数据的全局配准表示存储在循环缓冲器中。例如,全局配准的表示可以存储为在缓冲器中具有全局参考系的稀疏点集合。在某些情况下,循环缓冲器可以是具有固定尺寸缓冲器的数据结构,该缓冲器端到端连接,使得添加到缓冲器的新数据替换最旧的数据。
54.在508,基于雷达的感知系统可以确定是否已经满足或超过离散化更新标准。如果满足或超过标准,则过程500进行到510,否则过程500返回到502并且接收附加雷达数据并将其添加到循环缓冲器。在某些情况下,标准可以是经过的时间段、存储在循环缓冲器中的预定数据量、场景内的代理数量、车辆超过预定速度、车辆行驶方向的变化等。
55.在510,基于雷达的感知系统可以将全局配准表示转换为具有局部参考系的局部配准表示。例如,系统可以利用作为502的一部分接收的最新状态估计、任何可用元数据、场景的先前状态、任何已知速度等来确定相对于全局参考的物理位置并对各个点的位置执行一个或多个平移和/或旋转,以在全局参考系内定位每个点。
56.在512处,基于雷达的感知系统可以将局部参考输入到局部配准表示的各个区域的多层感知器过程(或分类操作)中,以生成每个区域的一个或多个特征向量。
57.在514,基于雷达的感知系统可以针对各个区域对与各个局部配准点相关联的一个或多个特征向量执行池化。池化操作可以包括对每个仓的特征向量的统计总结。例如,池化操作可以是最大池化操作,其中选择与仓相关联的特征向量中的与一个特征相关联的最大值来表示仓。在另一示例中,池化操作可以是平均池化操作,其中选择与仓关联的特征向量的特征关联的平均值来表示仓。在某些情况下,当每个特征向量包括多个值时,可以按特征值执行池化操作。
58.在516,基于雷达的感知系统跨多个区域执行提取学习特征。例如,基于雷达的感知系统可以应用一种或多种神经网络或其他类型的机器学习技术来从雷达数据的点云表示的一个或多个部分中提取特征。在一些情况下,点云表示的每个部分可以包括一个或多个离散区域或网格位置。在一个特定实例中,可以实现u-net架构。u-net架构是一种卷积神经网络,用于基于检测每个卷积的有效部分而不依赖任何全连接层来进行图像分割。应当理解,在其他示例中,可以使用其他类型的神经网络。
59.在518,基于雷达的感知系统利用提取的学习特征生成基于语义状态的表示。例如,基于雷达的感知系统可以将每像素类别估计应用于每个离散区域以识别对象的类别以及实例分割以确定对象的中心(例如,物理位置)和/或两个离散区域是否与同一个对象相关联。在某些情况下,可以应用一个网络来为每个期望的状态值生成神经网络头。例如,网
络可以确定对象的类别、对象中心的位置或方向、速度、行进方向等。
60.在520,基于雷达的感知系统可以至少部分地基于语义状态的离散表示来生成稀疏检测表示。例如,可以将基于语义状态的点云表示(例如,特征网格)转换为对象数据,该对象数据可以用于通过场景跟踪对象和/或输出到规划和/或预测系统。例如,系统可以应用非最大抑制、阈值处理、霍夫投票、连通分量和/或形态学运算等。
61.图6是根据本公开的实施例的用于实现本文描述的技术的示例系统600的框图。在一些示例中,系统600可以包括这里参考图1-5描述的实施例的一个或多个特征、部件和/或功能。在一些实施例中,系统600可以包括车辆602。车辆602可以包括车辆计算设备604、一个或多个传感器系统606、一个或多个通信连接608和一个或多个驱动系统610。
62.车辆计算设备604可以包括一个或多个处理器612和与一个或多个处理器612通信耦合的计算机可读介质614。在所示示例中,车辆602是自主车辆;然而,车辆602可以是任何其他类型的车辆或任何其他系统(例如,机器人系统、支持摄像头的智能手机等)。在所示示例中,车辆计算设备604的计算机可读介质614存储感知系统616、预测系统618、规划系统620、一个或多个系统控制器622以及传感器数据624和其他数据642。为了说明的目的,在图6中描绘为驻留在计算机可读介质614中,预期感知系统616、预测系统618、规划系统620、一个或多个系统控制器622以及传感器数据624、机器学习模型数据626和其他数据642可以附加地或替代地可由车辆602访问(例如,存储在远离车辆602的计算机可读介质上或以其他方式可访问)。
63.在至少一个示例中,感知系统616可以被配置为接收在与传感器系统606相关联的一个或多个时间间隔期间捕获的传感器数据624(例如,雷达数据)。基于雷达的感知系统616可以至少部分地基于传感器数据624和机器学习模型数据626来实现第一更新管道以生成雷达数据的全局参考表示和第二更新管道以生成雷达数据的局部参考点云表示。如上面关于图1-5所讨论的,第一更新管道可以处理在多个时间间隔期间收集的雷达数据,然后第二更新管道可以例如周期性地处理或对满足或超过触发器的响应,第一更新管道的输出以生成一个或多个检测到的实例或对象数据,这些数据可以输出到预测系统618和/或规划系统620。
64.在一些情况下,检测到的实例或对象数据可以包括估计的当前和/或预测的未来、对象(例如,车辆、行人、动物等)的特征或状态,例如姿势、速度、轨迹、速度、偏航、偏航率、滚动、滚动率、俯仰、俯仰率、位置、加速度或其他特性,其至少部分基于感知系统616输出的稀疏对象状态表示。
65.规划系统620可以确定车辆要遵循的路径以穿越物理环境。例如,规划系统620可以确定各种路线和轨迹以及各级别的细节。例如,规划系统620可以确定从当前位置行进到目标位置的路线。出于本讨论的目的,路线可包括用于在两个位置之间行进的航路点序列。
66.在至少一个示例中,车辆计算设备604可以包括一个或多个系统控制器622,其可以被配置为控制车辆602的转向、推进、制动、安全、发射器、通信和其他系统。这些系统控制器622可以与驱动系统610的相应系统和/或车辆602的其他部件通信和/或控制所述相应系统和/或所述其他部件。
67.在一些情况下,本文讨论的一些或所有部件的方面可以包括任何模型、算法和/或机器学习算法。例如,在某些情况下,计算机可读介质614(以及下文讨论的计算机可读介质
634)中的部件,例如感知系统616、预测系统618和/或规划系统620,可以被实现为一个或更多的神经网络。例如,感知系统616可以包括机器学习模型(例如神经网络),该模型已经被训练以基于传感器数据624和机器学习模型数据626预测行人(或其他对象)的速度、轨迹和/或其他特征。
68.在至少一个示例中,传感器系统606可以包括激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如,gps、罗盘等)、惯性传感器(例如,惯性测量单元(imu))、加速度计、磁力计、陀螺仪等)、相机(例如rgb、ir、强度、深度、飞行时间等)、麦克风、车轮编码器、环境传感器(例如温度传感器、湿度传感器、光传感器传感器、压力传感器等)和一个或多个飞行时间(tof)传感器等。传感器系统606可以包括这些或其他类型的传感器中的每一个的多个实例。例如,激光雷达传感器可以包括位于车辆602的拐角、前部、后部、侧面和/或顶部的单独的激光雷达传感器。作为另一个示例,相机传感器可以包括多个相机,这些相机设置在车辆602的外部和/或内部周围的不同位置。传感器系统606可以向车辆计算设备604提供输入。另外或替代地,传感器系统606可以经由一个或多个网络628,以特定频率、在预定时间段过去之后、近实时地等,发送传感器数据到一个或多个计算设备。
69.车辆602还可以包括一个或多个通信连接608,其实现车辆602与一个或多个其他局部或远程计算设备之间的通信。例如,通信连接608可以促进与车辆602和/或驱动系统610上的其他局部计算设备的通信。而且,通信连接608可以允许车辆602与其他附近的计算设备(例如,其他附近的车辆、交通信号灯等)进行通信。通信连接608还使车辆602能够与远程操作计算设备或其他远程服务进行通信。
70.通信连接608可以包括用于将车辆计算设备604连接到另一个计算设备(例如,计算设备630)和/或诸如网络628的网络的物理和/或逻辑接口。例如,通信连接608可以实现基于wi-fi的通信,例如通过由ieee802.11标准定义的频率、例如的短程无线频率、蜂窝通信(例如,2g、3g、4g、4g lte、5g等)或任何合适的有线或无线通信协议,使相应的计算设备能够与其他计算设备交互。
71.在至少一个示例中,车辆602可以包括一个或多个驱动系统610。在一些示例中,车辆602可以具有单个驱动系统610。在至少一个示例中,如果车辆602具有多个驱动系统610,单独驱动系统610可以定位在车辆602的相对端(例如,前部和后部等)。在至少一个示例中,驱动系统610可以包括一个或多个传感器系统606以检测驱动系统610和/或车辆602的周围环境的状况,如上所述。作为示例而非限制,传感器系统606可以包括一个或多个车轮编码器(例如,旋转编码器)以感测驱动系统的车轮的旋转、惯性传感器(例如,惯性测量单元、加速度计、陀螺仪、磁力计等)以测量驱动系统的方位和加速度,相机或其他图像传感器,超声波传感器,以用于声学检测驱动系统周围的对象,激光雷达传感器,雷达传感器等。一些传感器,如车轮编码器可以是驱动系统610独有的。在一些情况下,驱动系统610上的传感器系统606可以重叠或补充车辆602的相应系统。
72.在至少一个示例中,本文讨论的部件可以处理传感器数据624,如上所述,并且可以通过一个或多个网络628将它们各自的输出发送到一个或多个计算设备630。在至少一个示例中,本文讨论的部件可以以特定频率、在预定时间段过去之后、近实时地等发送它们各自的输出到一个或多个计算设备630。
73.在一些示例中,车辆602可以经由网络628向一个或多个计算设备630发送传感器
数据。在一些示例中,车辆602可以向计算设备630发送原始传感器数据624。在其他示例中,车辆602可以将处理后的传感器数据624和/或传感器数据的表示(例如,对象感知轨迹)发送到计算设备630。在一些示例中,车辆602可以以特定频率、在预定时间段过去之后、接近实时等发送传感器数据624到计算设备630。在一些情况下,车辆602可以发送传感器数据(原始的或处理的)到计算设备630作为一个或多个日志文件。
74.计算设备630可以包括处理器632和存储训练部件636、机器学习部件638以及训练数据640的计算机可读介质634。训练部件636可以使用从一个或多个车辆602接收的传感器数据624。例如,训练部件636可以用传感器数据624中的对象的一个或多个测量参数或特性来标记表示对象的数据。训练部件636然后可以使用训练数据640以训练机器学习部件638以基于传感器数据624中描绘的对象的姿势来预测对象的当前或未来速度、轨迹和/或任何其他特征的运动状态。
75.如本文所述,示例性神经网络是受生物学启发的算法,其将输入数据传递通过一系列连接层以产生输出。神经网络中的每一层也可以包括另一个神经网络,或者可以包括任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习可以指代此类算法的宽泛类,其中基于学习的参数生成输出。
76.尽管在神经网络的上下文中进行了讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法(例如,普通最小二乘回归(olsr)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(mars)、局部估计散点图平滑(loess))、基于实例的算法(例如,岭回归、最小绝对收缩和选择算子(lasso)、弹性网络、最小角度回归(lars))、决策树算法(例如,分类和回归树(cart)、迭代二分法3(id3)、卡方自动交互检测(chaid)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计器(aode)、贝叶斯信念网络(bnn),贝叶斯网络),聚类算法(例如,k-均值,k-中位数,期望最大化(em),层次聚类),关联规则学习算法(例如,感知器,反向传播,跳场网络,径向基函数网络(rbfn)),深度学习算法(例如,深度玻尔兹曼机(dbm),深度信念网络(dbn),卷积神经网络(cnn),堆叠自动编码器),降维算法(例如,主成分分析(pca),主成分回归(pcr)、偏最小二乘回归(plsr)、sammon映射、多维缩放(mds)、投影追踪、线性判别分析(lda)、混合判别分析(mda)、二次判别分析(qda)、灵活判别分析(fda))、集成算法(例如,提升、引导聚合(bagging)、adaboost,堆叠泛化(混合)、梯度提升机(gbm)、梯度提升回归树(gbrt)、随机森林)、svm(支持向量机)、监督学习、无监督学习、半监督学习等。架构的其他示例包括神经网络,例如resnet50、resnet101、vgg、densenet、pointnet等。
77.车辆602的处理器612和计算设备630的处理器632可以是能够执行指令以处理数据和执行如本文所述的操作的任何合适的处理器。作为示例而非限制,处理器612和632可以包括一个或多个中央处理单元(cpu)、图形处理单元(gpu)或处理电子数据以将该电子数据转换为可存储在寄存器和/或计算机可读介质中的其他电子数据的任何其他设备或设备的一部分。在一些示例中,集成电路(例如,asic等)、门阵列(例如,fpga等)和其他硬件设备也可以被认为是处理器,只要它们被配置为实现编码指令。
78.计算机可读介质614和634是非暂时性计算机可读介质的示例。计算机可读介质614和634可以存储操作系统和一个或多个软件应用程序、指令、程序和/或数据以实现本文
描述的方法和归属于各种系统的功能。在各种实现中,计算机可读介质可以使用任何合适的计算机可读介质技术来实现,例如静态随机存取存储器(sram)、同步动态ram(sdram)、非易失性/闪存型存储器或能够存储信息的任何其他类型的计算机可读介质。这里描述的架构、系统和单独的元素可以包括许多其他逻辑、程序和物理部件,其中附图中所示的那些仅仅是与这里的讨论相关的示例。
79.如可以理解的,这里讨论的部件被描述为为了说明性目的而划分的。然而,由各种部件执行的操作可以在任何其他部件中组合或执行。
80.应当注意,虽然图6被示为分布式系统,但在替代示例中,车辆602的部件可以与计算设备630相关联和/或与计算设备630的部件相关联。即,车辆602可以执行与计算设备630相关联的一个或多个功能,反之亦然。此外,机器学习部件638的方面可以在本文讨论的任何设备上执行。
81.示例条款
82.虽然上述示例条款是针对一个特定实现进行描述的,但应理解,在本文档的上下文中,示例条款的内容也可以通过方法、设备、系统、计算机可读介质和/或另一种实现方式。此外,任何示例a-t可以单独实施或与任何其他一个或多个示例a-t组合实施。
83.a.一种系统,包括:一个或多个处理器;以及一种或多种非暂时性计算机可读介质,其存储可由一个或多个处理器执行的指令,其中该指令在被执行时使系统执行包括以下的操作:接收由自主车辆的传感器捕获的第一雷达数据,第一雷达数据与第一时间段相关联;将第一雷达数据与全局参考系相关联;接收由传感器捕获的第二雷达数据,该第二雷达数据与第二时间段相关联;将第二雷达数据与全局参考系相关联;从第一雷达数据和第二雷达数据生成二维离散表示,该二维离散表示与局部参考系相关联,至少部分地基于自主车辆在物理环境中的位置并且包括多个离散区域;对于二维离散表示的至少一个区域,将学习函数应用于与该区域相关联的单个区域的点以生成与该单个区域相关联的一个或多个特征向量,特征向量包括一组值;对于二维离散表示的至少一个区域,将与单个区域关联的一个或多个特征向量池化以生成与单个区域关联的聚合特征向量;至少部分地基于聚合特征向量确定对象信息;以及至少部分地基于对象信息来控制自主车辆。
84.b.根据段落a所述的系统,该操作还包括:将第一雷达数据和第二雷达数据存储在循环缓冲器中。
85.c.根据段落a所述的系统,其中,池化一个或多个特征向量至少部分地基于最大池化操作或平均池化操作中的一个。
86.d.根据段落a所述的系统,其中,对象信息包括实例分割、对象速度或对象行进方向中的至少一种。
87.e.一种方法,包括:接收传感器捕获的第一数据;将第一数据与全局参考系相关联;至少部分地基于第一数据和局部参考系与全局参考系的关系生成二维数据表示;至少部分基于二维数据表示和机器学习模型确定对象级数据;以及至少部分地基于对象级数据来控制自主车辆。
88.f.根据段落e所述的方法,其中,第一数据与第一时间相关联,该方法还包括:接收由传感器捕获的第二数据,该第二数据与第一时间之后的第二时间相关联;以及将第二数据与全局参考系相关联。
89.g.根据段落e所述的方法,还包括:至少部分地基于第二数据和局部参考系与全局参考系的关系来更新二维数据表示。
90.h.根据段落e所述的方法,其中,第一点云存储在循环缓冲器中。
91.i.根据段落e所述的方法,其中,生成二维数据表示还包括:将平移和旋转应用于全局参考系内各个点的位置;为二维数据表示的各个区域生成一个或多个特征向量,该特征向量包括一组值;以及对于各个区域,对一个或多个特征向量执行至少一个池化操作。
92.j.根据段落e所述的方法,其中,确定对象级数据还包括:对于二维数据表示的各个区域,提取聚合特征向量;以及至少部分地基于聚合特征向量来确定对象级数据。
93.k.根据段落e所述的方法,其中,确定对象级数据进一步至少部分地基于将第一数据的年龄或与第一数据相关联的偏移时间中的一个或多个输入到机器学习模型中。
94.l.根据段落e所述的方法,还包括在控制自主车辆之前对对象级数据应用后处理。
95.m.根据段落l所述的方法,其中,后处理包括以下至少一项:非最大抑制;阈值;霍夫投票;连接部件;或形态学运算。
96.n.根据段落e所述的方法,其中:二维数据表示包括多个区域;第一数据的第一点与多个区域中的第一区域相关联;以及第一数据的第二点与第一区域相关联。
97.o.一种存储指令的非暂时性计算机可读介质,当执行这些指令时,使一个或多个处理器执行操作,包括:从传感器接收传感器数据;将传感器数据存储在循环缓冲器中;部分地基于存储在循环缓冲器中的数据生成具有第一区域和第二区域的二维表示;将与第一区域相关联的数据的至少一部分输入到机器学习模型中;从机器学习模型接收第一组值;以及至少部分地基于第一组值生成对象级数据。
98.p.根据段落o所述的非暂时性计算机可读介质,还包括:确定一个或多个标准已被满足或超过;以及其中生成二维表示是响应于满足或超过一个或多个标准。
99.q.根据段落p所述的非暂时性计算机可读介质,其中,一个或多个标准包括以下至少一项:时间段;与循环缓冲器相关的阈值;与用于捕获传感器数据的传感器相关联的阈值;或检测到的环境条件。
100.r.根据段落o所述的非暂时性计算机可读介质,其中,生成第一组值还包括:将多层感知器应用于数据的至少一部分;从多层感知器接收多个特征向量;以及对多个特征向量执行池化操作以生成第一特征向量作为第一组值。
101.s.根据段落o所述的非暂时性计算机可读介质,其中,生成第一组值至少部分地基于传感器数据的年龄和先前的状态估计。
102.t.根据段落o所述的非暂时性计算机可读介质,其中,生成对象级数据还包括应用神经网络以生成与第一组值相关联的一个或多个学习推断,该操作还包括:至少部分地基于一个或多个学习推断来控制自主车辆。
103.结论
104.如可以理解的,这里讨论的部件被描述为为了说明性目的而划分的。然而,由各种部件执行的操作可以在任何其他部件中组合或执行。还应该理解,关于一个示例或实施方式讨论的部件或步骤可以与其他示例的部件或步骤结合使用。例如,图6的部件和指令可以利用图1-5的过程和流程。
105.对象的非限制性列表可以包括环境中的障碍物,包括但不限于行人、动物、骑自行
车者、卡车、摩托车、其他车辆等。环境中的此类对象具有“几何姿势”(其在本文中也可仅称为“姿势”),包括整体对象相对于参考系的位置和/或方向。在一些示例中,姿势可以指示对象(例如,行人)的位置、对象的方向或对象的相对附肢位置。几何姿势可以以二维(例如,使用x-y坐标系)或三维(例如,使用x-y-z或极坐标系)来描述,并且可以包括对象的方向(例如,滚动、俯仰和/或偏航)。一些对象,例如行人和动物,也具有这里所说的“外观姿势”。外观姿势包括身体部分的形状和/或定位(例如,附肢、头部、躯干、眼睛、手、脚等)。如本文所用,术语“姿势”是指对象相对于参考系的“几何姿势”,在行人、动物和其他能够改变部分形状和/或定位的对象的情况下的“外观姿势”。在一些示例中,参照描述对象相对于车辆的位置的二维或三维坐标系或地图来描述参考系。然而,在其他示例中,可以使用其他参考系。
106.作为非限制性示例,本文描述的技术可以至少部分地由自主车辆的计算设备执行,该计算设备可以接收传感器数据并检测环境中的一个或多个对象和/或确定物理环境中的一个或多个对象的属性或对象参数。除了与其相关联的任何不确定性信息之外,对象参数可以包括一个或多个对象中的每一个的速度、加速度、位置、分类和/或范围。由自主车辆捕获的传感器数据可以包括光探测和测距(激光雷达)传感器数据、无线电探测和测距(雷达)传感器数据、声音导航和测距(声纳)传感器数据、图像数据、飞行时间数据等。在一些情况下,传感器数据可以提供给感知系统,该感知系统被配置为确定环境中的对象类型(例如,车辆、行人、自行车、动物、停放的汽车、树木、建筑物等)。此外,乱序感知系统可以基于传感器数据确定物理环境中物体的运动信息。
107.尽管已经描述了本文描述的技术的一个或多个示例,但其各种改变、添加、排列和等价物都包括在本文描述的技术的范围内。
108.在示例的描述中,参考了构成其一部分的附图,这些附图通过图解的方式示出了要求保护的主题的具体示例。应当理解,可以使用其他示例并且可以进行改变或改变,例如结构改变。这样的示例、改变或变更不一定脱离关于预期要求保护的主题的范围。虽然本文中的步骤可以以特定顺序呈现,但在某些情况下,可以改变顺序以便在不同时间或以不同顺序提供某些输入,而不改变所描述的系统和方法的功能。公开的程序也可以以不同的顺序执行。此外,此处描述的各种计算不需要按照所公开的顺序执行,并且可以容易地实现使用计算的替代排序的其他示例。除了重新排序之外,在某些情况下,计算还可以分解为具有相同结果的子计算。
再多了解一些

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

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

相关文献