CN115916615A - 对周围因素的行为预测 - Google Patents
对周围因素的行为预测 Download PDFInfo
- Publication number
- CN115916615A CN115916615A CN202180039137.6A CN202180039137A CN115916615A CN 115916615 A CN115916615 A CN 115916615A CN 202180039137 A CN202180039137 A CN 202180039137A CN 115916615 A CN115916615 A CN 115916615A
- Authority
- CN
- China
- Prior art keywords
- occupancy
- neural network
- factor
- time
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 claims abstract description 187
- 238000000034 method Methods 0.000 claims abstract description 79
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000003860 storage Methods 0.000 claims abstract description 11
- 230000008569 process Effects 0.000 claims description 37
- 238000005457 optimization Methods 0.000 claims description 8
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 12
- 238000012549 training Methods 0.000 description 54
- 238000005259 measurement Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010420 art technique Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 210000004027 cell Anatomy 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000001143 conditioned effect Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000026676 system process Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0025—Planning or execution of driving tasks specially adapted for specific operations
- B60W60/00259—Surveillance operations
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00274—Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/62—Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Traffic Control Systems (AREA)
Abstract
用于预测因素的占据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括获得表征环境中的当前场景的场景数据;以及使用神经网络处理包括场景数据的神经网络输入,以生成神经网络输出,其中:该神经网络输出包括与多种因素类型在一个或多个未来时间点处对应的相应占据输出;针对每种因素类型在第一未来时间点处的占据输出包括环境中多个位置的相应占据概率;并且在针对每种因素类型在第一未来时间点处的占据输出中,每个位置的相应占据概率表征该因素类型的因素将在第一未来时间点占据该位置的可能性。
Description
背景技术
本说明书涉及自主载具。
自主载具包括自驾驶小汽车、船只和飞行器。自主载具使用各种机载传感器和计算机系统来检测附近的对象,并使用这样的检测来做出控制和导航决策。
一些自主载具具有实现用于各种预测任务(例如图像内的对象分类)的神经网络、其他类型的机器学习模型或两者的机载计算机系统。例如,神经网络可以用于确定由机载相机捕获到的图像很可能是附近小汽车的图像。神经网络(或简称为网络)是采用多层操作以从一个或多个输入预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层和输出层之间的一个或多个隐藏层。每个层的输出用作网络中另一个层(例如下一个隐藏层或输出层)的输入。
神经网络的每个层都指定要对该层的输入执行的一个或多个变换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入,并生成由另一个神经网络层接收的输出。通常,每个神经元从其他神经元接收输入,并且每个神经元向一个或多个其他神经元提供输出。
神经网络的架构指定了网络中包括哪些层及这些层的属性,以及网络中每个层的神经元是如何连接的。换句话说,架构指定了哪些层将其输出作为输入提供给哪些其他层,以及输出是如何被提供的。
每个层的变换操作都由安装了实现变换操作的软件模块的计算机来执行。因此,层被描述为执行操作意味着实现该层的变换操作的计算机执行这些操作。
每个层使用该层的参数集的当前值生成一个或多个输出。因此,训练神经网络涉及对输入连续执行正向传递(forward pass),计算梯度值,以及使用计算的梯度值(例如使用梯度下降)更新每个层的参数集的当前值。一旦神经网络被训练,最终的参数值集就可以用于在生产系统中做出预测。
发明内容
本说明书描述了例如自主载具或半自主载具的机载系统如何能够使用占据预测系统生成一个或多个占据输出。系统可以同时生成针对一种或多种因素(agent)类型中的每个以及一个或多个未来时间点中的每个的占据输出。对于载具的环境中的多个位置中的每个,针对给定因素类型和给定未来时间点的占据输出表征该位置在该给定未来时间点处将被该给定因素类型的因素占据的相应预测可能性。
占据预测系统可以接收表征环境的当前状态的场景数据作为输入,并且使用神经网络处理场景数据以生成p个占据输出,每个占据输出对应于q种因素类型之一和r个未来时间点之一,其中,一般地p=q×r。在一些实施方式中,以由神经网络生成的输入场景数据的公共表示为条件,p个占据输出中的每个可以并行地生成。
一旦占据预测系统已经被训练,训练的占据预测系统可以被部署在载具上,并且可以被载具用来做出自主或半自主驾驶决策。
可以实现本说明书中描述的主题的特定实施例,以实现以下优点中的一个或多个。
用于生成预测的占据输出的一些现有技术依赖于周围因素的预测的未来路径。对于给定的周围因素,单独的预测系统将生成因素的一个或多个预测的未来路径,每个路径具有相应的概率。然后,占据预测系统将接收这些预测的路径,并且对于环境中的每个位置,从预测的路径推断占据概率。在一些情况下,预测的未来路径被限制为遵守作为输入被提供给系统的道路图;也就是说,系统不能预测周围因素将导航到道路图的边界之外,例如,通过非法转弯或偏离到不同的车道中。当预测的路径不准确或不可用时,这些现有技术具有很差的结果。
这些现有技术也没有直接对不同周围因素之间的交互进行建模,而是依赖于孤立的单个因素的预测的未来路径。使用本说明书中描述的技术,占据预测系统可以学习周围环境的非线性特征,显式地考虑一个或多个周围因素和载具之间的交互。此外,系统不完全依赖于道路图。相反,本说明书中描述的系统可以生成对将违反道路图的周围因素的预测。作为特定示例,系统可以确定在右转弯车道上的因素开得太快而无法进行右转弯,并因此预测该因素将继续直行通过交叉路口,即使这种操纵是非法的。此外,在本文描述的一些实施方式中,系统可以接收载具自身的规划路径,并将该规划路径结合到预测的占据输出中。
使用本说明书中描述的技术,占据预测系统可以在单个前向传递中生成针对多个周围因素中的每个的相应占据概率。这是对现有技术的改进,现有技术一次生成对单个周围因素的占据预测,然后组合对每个周围因素的占据预测以生成占据输出。不管环境中周围因素的数量如何,在单个前向传递中生成占据输出可以显著减少占据预测系统的计算时间,这对于部署在载具上的系统是特别有用的特征。
作为特定示例,在密集城市环境中,经常有许多行人在环境中移动,并且为每个行人生成预测的路径可能是不切实际的或者不可能的。这些情景要求对环境采取更全面的方法。本说明书中描述的系统可以为大量行人生成占据输出,对于环境中的每个位置,该占据输出预测是否有任何行人将占据该位置,而不管哪个特定行人将占据该位置。因此,系统可以一起对多个因素的行为进行建模,而不特别跟踪任何单个因素。
一些其他现有系统依赖于多个神经网络,每个神经网络生成与单个特定未来时间点对应的预测,并且必须被单独训练。然后在推断时间处,机载系统必须单独运行神经网络中的每个,以生成针对未来时间点中的每个的相应占据输出。然而,时间限制通常使得机载系统在进行占据预测时执行多于一个或若干个推断调用是不可行的。本说明书中描述的一些系统可以并行地、高效地生成针对多个不同未来时间点的占据预测。
一些现有技术依赖于针对相应类型的周围因素的不同模型,例如,通过训练每个模型来预测针对单种因素类型的占据,然后在推断时间处单独运行每个模型。这样的技术没有对不同类型的因素之间的交互进行建模,因为不同的模型没有交互。使用本说明书中描述的技术,占据预测系统可以例如在单个前向传递中同时生成针对多种因素类型的占据预测,从而允许不同的占据预测例如通过共享的参数来共享信息。
在附图和以下描述中阐述本说明书的主题的一个或多个实施例的细节。从描述、附图和权利要求书,本主题的其他特征、方面和优点将变得清楚。
附图说明
图1是示例系统的示图。
图2A和图2B是用于生成占据输出的神经网络的示例架构的图示。
图3A和图3B是与载具周围环境对应的示例占据输出的图示。
图4是用于生成占据输出的示例过程的流程图。
不同附图中相同的附图标记和名称指示相同的元素。
具体实施方式
本说明书描述了载具(例如,自主载具或半自主载具)如何能够使用训练的机器学习模型(在本说明书中被称为“占据预测系统”)来生成与一个或多个未来时间点中的每个以及一种或多种周围因素类型中的每种对应的占据输出。
在本说明书中,不失一般性地,“周围因素”可以指载具、自行车、行人、船舶、无人机或环境中的任何其他移动对象。本说明书还描述了如何能够使用由载具生成的训练示例来有效地训练占据预测系统,以准确且可靠地做出预测。
图1是示例系统100的图。系统100包括机载系统110和训练系统120。
机载系统110位于载具102上。图1中的载具102被示为汽车,但是机载系统102可以位于任何合适的载具类型上。载具102可以是确定并执行完全自主驾驶决策,以在环境中导航的完全自主载具。载具102也可以是使用预测来辅助人类驾驶员的半自主载具。例如,如果预测指示人类驾驶员将要与另外的载具碰撞,则载具102可以自主地应用制动器。
机载系统110包括一个或多个传感器子系统130。传感器子系统130包括接收电磁辐射反射的组件(例如,检测激光反射的LIDAR系统、检测无线电波反射的雷达系统和检测可见光反射的相机系统)的组合。
由给定传感器生成的传感器数据一般指示反射的辐射的距离、方向和强度。例如,传感器可以在特定方向上传送一个或多个电磁辐射脉冲,并且可以测量任何反射的强度以及接收反射的时间。距离可以通过确定脉冲和它对应的反射之间花费的时间来计算。传感器可以在角度、方位角或两者上连续扫描特定空间。例如,方位角扫描可以允许传感器沿着同一视线检测多个对象。
传感器子系统130或载具102的其他组件还可以将来自一个或多个传感器的多组一个或多个原始传感器测量分类为对另外的因素的度量。可以以各种方式中的任何一种来表示一组传感器测量,这取决于捕获到的传感器测量的种类。例如,每组原始激光传感器测量都可以被表示为三维点云,其中,每个点在特定的二维或三维坐标空间中具有强度和定位。在一些实施方式中,定位被表示为范围和高程对。每组相机传感器测量都可以被表示为图像分块(patch),例如RGB图像分块。
一旦传感器子系统130将一组或多组原始传感器测量分类为对相应其他因素的度量,传感器子系统130就可以将原始传感器测量编译为原始数据132的集合,并向数据表示系统140发送原始数据132。
也在载具102上的数据表示系统140从传感器系统130接收原始传感器数据132,并生成场景数据142。场景数据142表征载具102周围环境的当前状态。
例如,对于环境中的所有周围因素,场景数据可以包括在当前时间点处的当前状态和在一个或多个相应先前时间点处的先前状态。因素在某一时间点处的状态可以包括因素在该时间点处的位置以及在该时间点处的预定运动参数集的值。作为特定示例,运动参数可以包括因素的走向、因素的速度和/或因素的加速度。在一些实施方式中,场景数据还包括载具在当前时间点处的当前状态和载具在一个或多个相应先前时间点处的先前状态。在一些实施方式中,场景数据还包括环境的道路图,其可以包括环境中的道路车道、人行横道、交通灯、停止标志等。
跨不同的时间点,可以跟踪或可以不跟踪由场景数据表征的不同周围因素。也就是说,尽管场景数据包括每个因素在每个时间点处的状态,但是系统可以将或可以不将第一时间点的特定因素与第二时间点的同一特定因素相关联。因此,场景数据中对同一因素跨不同时间点的表示可以是独立的,即未被跟踪的。跟踪不是必需的,因为占据预测系统150可以生成针对特定因素类型的占据输出,该占据输出不预测该因素类型的个体因素的占据,而是预测该因素类型的所有因素的全局行为。移除对跨时间点跟踪个体周围因素的要求可以使预测占据更加高效和准确。
作为特定示例,场景数据可以包括环境在每个时间点处的一个或多个自上而下渲染图像(top-down rendered image),该自上而下渲染图像包括对环境中周围因素的描绘。例如,场景数据可以包括环境在每个时间点的单个自上而下渲染图像,其中,以不同的颜色描绘不同因素类型的因素。作为另一个示例,对于每种因素类型和每个时间点,可以有不同的自上而下渲染图像,其中,给定的自上而下渲染图像仅描绘特定时间点处特定因素类型的因素。
在一些实施方式中,周围因素可以被描绘为自上而下渲染图像中的边界框。边界框是图像中标识相应对象的边界或边缘的像素框。在一些其他实施方式中,周围因素可以被描绘为自上而下渲染图像中的轮廓。像边界框一样,轮廓是表示对相应对象的空间范围的估计的另一种方式。典型地,与边界框不同,轮廓不描绘对对象被载具102的传感器遮挡的部分的空间范围的估计,因此可以由比框更复杂的形状来表示。
在一些实施方式中,使用边界框来描绘一些因素类型的因素,而使用轮廓来描绘其他因素类型的因素。例如,边界框可以是对载具的更有效表示,而轮廓可以是对行人的更有效表示。
在一些实施方式中,自上而下渲染图像还包括对道路车道和其他道路图特征的描绘。
数据表示系统140向也在载具102上的占据预测系统150提供场景数据142。
占据预测系统150处理场景数据142以生成与多个未来时间点中的每个和因素类型中的每种对应的占据输出152。也就是说,如果有r个未来时间点和q种不同的因素类型,那么占据预测系统可以生成p个占据输出,其中p=q×r。作为特定示例,可能有r=5个不同的未来时间点,以0.2秒的增量将一秒扩展到未来。作为另一个特定示例,可能有r=10个不同的未来时间点,以1秒的增量将10秒延伸到未来。作为特定示例,可能有q=3种不同的因素类型,与载具、行人和骑车人对应。
每个占据输出表征对于特定因素类型、环境在特定未来时间点处的预测状态,其中,占据输出中的每个定位都对应于环境中的位置,并且具有表征特定因素类型的周围因素将在该特定未来时间点处占据环境中对应位置的可能性的占据概率。参考图2A和图2B描述了占据预测系统150的示例架构。
机载系统110还包括路径规划系统160。路径规划系统160可以为载具102做出自主或半自主驾驶决策,例如通过生成表征载具102未来将采取的路径的规划载具路径。在一些实施方式中,路径规划系统160向占据预测系统150提供当前规划路径162,并且占据预测系统处理规划路径162以及场景数据142以生成占据输出152。例如,规划路径162可以使用描绘通过环境的规划路径的环境的自上而下渲染图像来表示,例如,用图像中描绘载具102在相应未来时间点处的规划位置的点、或者用图像中描绘整个规划路径的单个几何曲线。
在占据预测系统150处理载具的规划路径162的实施方式中,占据输出152以当前规划路径162为条件。也就是说,每个占据输出152都表征对于特定因素类型、环境在特定未来时间点处的预测状态,假设载具102遵循规划路径162通过环境直到该特定未来时间点为止。在一些实施方式中,路径规划系统160可以提供多条规划路径162,并且占据预测系统150可以生成与规划路径162中的每一条对应的占据输出152的集合。
在一些实施方式中,对于每个未来时间点和每种因素类型,占据预测系统150可以生成两个占据输出:预测当前在环境中的因素的占据的第一占据输出和预测当前不在环境中但是可能进入环境的因素的占据的第二占据输出。下面参考图2A和图2B更详细地讨论这个过程。
机载系统100可以将由占据预测系统150生成的占据输出152提供给载具102的一个或多个其他机载系统,例如路径规划系统160和/或用户界面系统165。
当路径规划系统160接收占据输出152时,路径规划系统160可以使用占据输出152来生成新的规划载具路径。例如,占据输出152可以包含特定周围因素很可能在特定未来时间点超车到载具102前面、潜在地导致碰撞的预测。在该示例中,路径规划系统160可以生成避免潜在碰撞的新的规划载具路径。例如,路径规划系统160可以生成通过环境的使载具102在相应未来时间点处导航通过环境中位置、使得每个位置根据占据输出152在对应的未来时间点处对于每种因素类型都具有低占据概率的轨迹。然后,载具102可以导航以遵循新的规划路径并避免潜在碰撞。
当用户界面系统165接收占据输出152时,用户界面系统165可以使用占据输出152向载具102的驾驶员呈现信息,以辅助驾驶员安全地操作载具102。用户界面系统165可以通过任何适当的手段(例如,通过经由载具102的扬声器系统传送的音频消息、或者通过因素中的视觉显示系统(例如,载具102仪表板上的LCD显示器)上显示的警报)来向因素102的驾驶员呈现信息。在特定示例中,占据输出152可以包含特定周围因素可能超车到载具102前面、潜在地导致碰撞的预测。在该示例中,用户界面系统165可以向载具102的驾驶员呈现带有调整载具102的轨迹以避免碰撞的指令或者向载具102的驾驶员通知可能与特定周围因素碰撞的警报消息。
为了生成占据输出152,占据预测系统150可以使用从训练系统120中的占据模型参数存储190获得的经训练的参数值195。
训练系统120通常被托管在数据中心124内,数据中心124可以是在一个或多个位置具有数百或数千个计算机的分布式计算系统。
训练系统120包括存储用于训练占据预测系统150的参数值的所有训练数据的训练数据存储170。训练数据存储170从在真实世界中操作的因素接收原始训练示例。例如,训练数据存储170可以从因素102和与训练系统120通信的一个或多个其他因素接收原始训练示例155。训练系统120可以处理原始训练示例155,以生成新的训练示例。原始训练示例155可以包括可以用作新的训练示例的输入的场景数据142。原始训练示例155还可以包括表征对于一种或多种因素类型、载具102周围环境在一个或多个未来时间点处的状态的传出数据。该传出数据可以用于生成新的训练示例的基准真值(ground-truth)输出,其中,每个基准真值输出都是与特定未来时间点和特定因素类型对应的占据输出。在一些实施方式中,未来时间点和因素类型的每个基准真值占据输出,在与环境中由该因素类型的周围因素在该未来时间点处占据的位置对应的定位中具有“1”,而在所有其他定位具有“0”。
训练数据存储170向也被托管在训练系统120中的训练引擎180提供训练示例175。训练引擎180使用训练示例175来更新将由占据预测系统150使用的模型参数,并将更新的模型参数185提供给占据模型参数存储190。一旦占据预测系统150的参数值已经被完全训练,训练系统120就可以例如通过有线或无线连接向占据预测系统150发送训练的参数值195。
图2A是用于生成占据输出的神经网络200的示例架构的图示。例如,神经网络可以是占据预测系统(例如图1中描绘的占据预测系统150)的部分。
神经网络200接收输入场景数据202,其表征载具周围环境的当前状态。神经网络200是在单个正向传递中生成多个不同占据输出的前馈神经网络。每个占据输出都可以预测对于特定因素类型、在特定未来时间点处的、环境中的多个位置中的每个位置的占据概率。
共享的神经网络块210接收场景数据202并处理场景数据202以生成场景数据202的共享嵌入212。在本说明书中,嵌入是表示特定嵌入空间中的输入的数值的有序集合。例如,嵌入可以是浮点向量或具有固定维数的其他数值。
共享的神经网络块210被称为“共享的”是因为共享的神经网络块210被每种因素类型和每个未来时间点共享。也就是说,共享的神经网络块210的参数对每种因素类型和每个未来时间点的占据输出做出了贡献。
在一些实施方式中,场景数据202包括图像的多个通道,例如环境的自上而下图像的通道,其中,每个自上而下图像对应于特定先前时间点或当前时间点处的特定因素类型。在这些实施方式中,共享的神经网络块210可以包括可以处理输入通道以生成共享嵌入212的一个或多个卷积神经网络层。每个卷积层可以由多维(例如,二维或三维)卷积滤波器来定义,从而使得共享的神经网络块210能够学习环境的不同空间区域之间的复杂空间关系,并对共享嵌入212中的空间关系进行编码。作为特定示例,共享的神经网络块210可以包括若干个卷积层和若干个最大池化层,若干个最大池化层减小输入通道大小,使得共享嵌入212包括小于输入通道的一个或多个通道。
在共享的神经网络块210之后,神经网络200分为与相应因素类型相对应的不同分支。也就是说,共享的神经网络块210可以向q个不同的因素类型神经网络块中的每个提供共享嵌入212。如图2A所示,有三个因素类型神经网络块220a-220c,与三种不同的因素类型A、B和C相对应。
每个因素类型神经网络块220a-220c都处理共享嵌入212,以生成相应的因素类型嵌入。例如,因素类型神经网络块220b处理共享嵌入212以生成与因素类型B对应的因素类型嵌入222。每个因素类型神经网络块220a-220c都具有不同的参数,从而允许每个因素类型神经网络块220a-220c从共享嵌入212中提取特定于对应因素类型的信息,并将该信息编码在对应的因素类型嵌入中。在一些实施方式中,神经网络200的多个因素类型神经网络块可以并行地处理共享嵌入212。
在每个因素类型神经网络块220a-220c之后,神经网络200再次分为与相应未来时间点对应的不同分支。例如,因素类型神经网络块220b向与三个不同的未来时间点A、B和C对应的三个未来时间点神经网络块230a-230c中的每个提供因素类型嵌入222。
每个未来时间点神经网络块230a-230c处理因素类型嵌入222,以生成相应占据输出。未来时间点神经网络块230a生成与因素类型B和未来时间点A对应的占据输出232a。未来时间点神经网络块230b生成与因素类型B和未来时间点B对应的占据输出232b。未来时间点神经网络块230c生成与因素类型B和未来时间点C对应的占据输出232c。每个未来时间点神经网络块230a-230c都具有不同的参数,从而允许每个未来时间点神经网络块230a-230c从因素类型嵌入222中提取特定于对应未来时间点的信息,并使用该信息来生成对应的占据输出。在一些实施方式中,神经网络200的多个未来时间点神经网络块可以并行地处理相应因素类型嵌入。
在一些实施方式中,每个未来时间点神经网络块的最终层接收包括环境中每个位置的非归一化值的非归一化占据输出作为输入,并且将sigmoid激活函数应用于每个非归一化值,以将该值归一化到0和1之间。因此,相应占据输出中的每个值都可以表示相应因素类型的因素将在相应未来时间点占据该位置的、在0和1之间的概率。
在一些实施方式中,与同一未来时间点和不同因素类型对应的未来时间点神经网络块可以共享它们参数中的一些或全部。例如,与未来时间点A和因素类型B对应的未来时间点神经网络块230a可以与在因素类型神经网络块220a之下并且与未来时间点A和因素类型A对应的不同未来时间点神经网络块共享参数。在一些实施方式中,神经网络200中没有神经网络块共享参数;相反,在神经网络200的训练期间,独立地学习每个神经网络块的参数。
在一些实施方式中,占据输出232a-232c是环境的自上而下图像。也就是说,针对特定未来时间点和特定因素类型的每个占据输出都可以包括自上而下图像,其中,每个像素对应于环境中的位置并且具有表征针对特定因素类型、特定未来时间点处的、环境中对应的位置的预测的占据概率的值。
在其中占据输出232a-232c是自上而下图像并且场景数据202包括自上而下图像的一个或多个通道的一些实施方式中,占据输出232a-232c具有与场景数据202的输入通道相同的分辨率。也就是说,占据输出232a-232c和场景数据202的输入通道可以具有相同数量的元素(例如像素),使得由场景数据202的输入通道中的元素表示的每个位置也都由占据输出232a-232c中的元素表示。在一些这样的实施方式中,因素类型神经网络块和/或未来时间点神经网络块可以具有增加共享嵌入212的大小、使得占据输出与场景数据202相同分辨率的一个或多个反卷积层。
在神经网络200的训练期间,训练系统可以根据相应的基准真值占据输出来确定每个占据输出的误差。例如,训练系统可以使用特定位置处的预测的占据概率和该特定位置处的“真(true)”占据概率之间的交叉熵损失,其中,如果在相应的未来时间点在该位置处有相应因素类型的因素,则真占据概率为1,否则为0。然后,训练系统可以通过神经网络反向传播每个误差,从而更新神经网络200的参数。例如,训练系统可以使用占据输出232a中的误差来更新未来时间点神经网络块230a、因素类型神经网络块220b和共享的神经网络块210中的参数。作为另一个示例,训练系统可以使用占据输出232b中的误差来更新未来时间点神经网络块230b、因素类型神经网络块220b和共享的神经网络块210中的参数。因此,共享的神经网络块210可以根据占据输出中的每个中的误差来更新,从而允许共享的神经网络块210学习生成共享嵌入,可以利用该共享嵌入来生成针对每个未来时间点和每种因素类型的占据输出。类似地,每个因素类型神经网络块可以根据与同一因素类型和相应未来时间点对应的每个占据输出中的误差来更新,从而允许因素类型神经网络块学习生成的因素类型嵌入,可以利用该因素类型嵌入来生成针对每个未来时间点的占据输出。
尽管神经网络200被示为生成与三个未来时间点和三种因素类型对应的占据输出,但是应当理解,神经网络200可以被配置为生成针对任意数量的未来时间点和因素类型的占据输出。
在一些实施方式中,每个占据输出232i都包括与当前在环境中的周围因素对应的第一占据输出和与当前不在环境中的周围因素对应的第二占据输出。也就是说,对于与特定因素类型和特定未来时间点对应的占据输出,第一占据输出可以针对环境中的每个位置预测该位置在特定未来时间点处是否将被当前在环境中的特定因素类型的因素占据。第二占据输出可以针对环境中的每个位置预测该位置在特定未来时间点是否将被当前不在环境中的特定类型的因素占据,即,特定类型的因素是否将从环境外部的位置进入环境并在特定未来时间点占据该位置。例如,每个未来时间点神经网络块230i都可以具有生成第一占据输出的第一分支和生成第二占据输出的第二分支。在这些实施方式中,可以使用与第一占据输出的当前在环境中的因素对应的基准真值占据和与第二占据输出的当前不在环境中的因素对应的基准真值占据来训练神经网络200。
图2B是用于生成占据输出的另一个神经网络250的示例架构的图示。例如,神经网络可以是占据预测系统(例如图1中描绘的占据预测系统150)的部分。
神经网络250接收输入场景数据252,输入场景数据252表征载具周围环境的当前状态。神经网络250是在单个正向传递中生成多个不同占据输出的前馈神经网络。
共享的神经网络块260接收场景数据252并处理场景数据252以生成场景数据252的共享嵌入262。如前所述,共享的神经网络块260可以包括可以处理场景数据252中的输入通道以生成共享嵌入262的一个或多个卷积神经网络层。
在共享的神经网络块260之后,神经网络250分为与相应未来时间点对应的不同分支。也就是说,共享的神经网络块260可以向r个不同未来时间点神经网络块中的每个提供共享嵌入212。如图2B所示,有三个未来时间点神经网络块270a-270c,与三个未来时间点A、B和C对应。
每个未来时间点神经网络块270a-270c处理共享嵌入262以生成相应的未来时间点嵌入。例如,未来时间点神经网络块270b处理共享嵌入262,以生成与未来时间点B对应的未来时间点嵌入272。每个未来时间点神经网络块270a-270c都具有不同的参数,从而允许每个未来时间点神经网络块270a-270c从共享嵌入262中提取特定于对应未来时间点的信息,并将该信息编码在对应的未来时间点嵌入中。在一些实施方式中,神经网络250的多个未来时间点神经网络块可以并行地处理共享嵌入262。
在每个未来时间点神经网络块270a-270c之后,神经网络250再次分为与相应因素类型对应的不同分支。例如,未来时间点神经网络块270b向与三种不同因素类型A、B和C对应的三个因素类型神经网络块280a-280c中的每个提供未来时间点嵌入272。
每个因素类型神经网络块280a-280c处理未来时间点嵌入272,以生成相应的占据输出。例如,因素类型神经网络块280a生成与未来时间点B和因素类型A对应的占据输出282a。每个因素类型神经网络块280a-280c都具有不同的参数,从而允许每个因素类型神经网络块280a-280c从未来时间点嵌入272中提取特定于对应因素类型的信息,并使用该信息来生成对应的占据输出。在一些实施方式中,神经网络250的多个因素类型神经网络块可以并行地处理相应的未来时间点嵌入。
在一些实施方式中,每个因素类型神经网络块的最终层接收包括环境中每个位置的非归一化值的非归一化占据输出作为输入,并且将sigmoid激活函数应用于每个非归一化值,以将该值归一化到0和1之间。因此,相应占据输出中的每个值都可以表示相应因素类型的因素将在各个未来时间点处占据该位置的、在0和1之间的概率。
在一些实施方式中,与同一因素类型和不同未来时间点对应的因素类型神经网络块可以共享它们参数中的一些或全部。例如,与因素类型A和未来时间点B对应的因素类型神经网络块280a可以与在未来时间点神经网络块270a之下且与因素类型A和未来时间点A对应的不同因素类型神经网络块共享参数。在一些实施方式中,神经网络250中没有神经网络块共享参数;相反,在神经网络250的训练期间,独立地学习每个神经网络块的参数。
在一些实施方式中,占据输出282a-282c是环境的自上而下图像。在一些实施方式中,自上而下图像具有与场景数据252的输入通道相同的分辨率。在一些这样的实施方式中,因素类型神经网络块和/或未来时间点神经网络块可以具有增加共享嵌入262的大小、使得占据输出与场景数据252相同分辨率的一个或多个反卷积层。
在神经网络250的训练期间,训练系统可以根据相应的基准真值占据输出来确定每个占据输出的误差。例如,训练系统可以使用特定位置处的预测的占据概率和该特定位置处的真占据概率之间的交叉熵损失。然后,训练系统可以通过神经网络反向传播每个误差,从而更新神经网络250的参数。例如,训练系统可以使用占据输出282a中的误差来更新因素类型神经网络块280a、未来时间点神经网络块270b和共享的神经网络块260中的参数。因此,共享的神经网络块260可以根据占据输出中的每个中的误差来更新,从而允许共享的神经网络块260学习生成共享嵌入,可以利用该共享嵌入来生成针对每个未来时间点和每种因素类型的占据输出。类似地,每个未来时间点神经网络块可以根据与同一未来时间点和相应因素类型对应的每个占据输出中的误差来更新,从而允许未来时间点神经网络块学习生成的未来时间点嵌入,可以利用该未来时间点嵌入来生成针对每种因素类型的占据输出。
尽管神经网络250被示为生成与三个未来时间点和三种因素类型对应的占据输出,但是应当理解,神经网络250可以被配置为生成针对任意数量的未来时间点和因素类型的占据输出。
如前所述,在一些实施方式中,每个占据输出282i都包括与当前在环境中的周围因素对应的第一占据输出和与当前不在环境中的周围因素对应的第二占据输出。例如,每个因素类型神经网络块280i都可以具有生成第一占据输出的第一分支和生成第二占据输出的第二分支。在这些实施方式中,可以使用与第一占据输出的当前在环境中的因素对应的基准真值占据和与第二占据输出的当前不在环境中的因素对应的基准真值占据来训练神经网络250。
图3A是与载具周围环境对应的示例占据输出310和320的图示。环境包含特定因素类型的两个周围因素。尽管两个周围因素被示为汽车,但是应当理解,周围因素可以是任何适当的因素类型,例如行人、骑车人等。
占据输出310和320是由训练的占据预测系统(例如图1中描绘的占据预测系统150)生成的示例二维阵列。每个阵列都表示环境的“自上而下”视角,其中,每个定位对应于环境中的相应位置。
在对占据预测系统的输入是被表示为环境的自上而下图像的场景数据的一些实施方式中,占据输出阵列可以具有与输入通道相同的维度,使得输出阵列中的定位表征环境中与输入通道中的对应定位相同的位置。
占据输出的每个定位处的值对应于相应位置的占据概率。在一些实施方式中,可以创建描绘占据输出的图像,其中,一个或多个像素的相应块对应于阵列中的每个定位,并且较高的占据概率被描绘为相应像素块的较暗灰度值。这样的图像在占据预测系统的训练期间可能是有用的,例如,允许用户可视地检查系统训练的进度。
第一占据输出310对应于相对较近的未来中的未来时间点,例如1秒。对于两个周围因素中的每个,第一占据输出310中具有非零占据概率的定位以深灰色示出。例如,深灰色定位可以指示1/7≈0.14的占据概率,因为对于每个周围因素有7个非零占据概率。
第一占据输出310是简化的;应该理解,每个定位的相应占据概率可能都不同。例如,可能有两个周围因素都可到达的一个或多个位置。在这种情况下,这些位置的占据概率将高于周围位置的占据概率,因为占据概率表征周围因素中的任一个或两个将占据该位置的集体可能性。作为另一个示例,单个周围因素可能在未来时间点处占据环境中的多个不同位置,例如,如果周围因素在环境中的第一位置和第二位置之间的边界上。
第二占据输出320对应于相比于第一占据输出310相对较远的未来时间点,例如2秒。对于两个周围因素中的每个,第二占据输出320中具有非零占据概率的定位以浅灰色示出。例如,浅灰色位置可以指示1/23≈0.04的占据概率,因为对于每个周围因素有23个非零占据概率。这里,由于未来时间点更远,占据概率分布更均匀,因此周围因素的行为更不确定。一般地,时间跨度(horizon)越长,导致占据概率的扩散越大。
图3B是与载具周围环境对应的另一个示例占据输出330的图示。环境包含人群中的多个行人。
占据输出330是由训练的占据预测系统(例如,图1中描绘的占据预测系统150)生成的示例二维阵列。每个阵列都表示环境的“自上而下”视角,其中,每个定位对应于环境中的相应位置。
占据输出的每个定位处的值对应于相应位置的占据概率。在一些实施方式中,可以创建描绘占据输出的图像,其中,一个或多个像素的相应块对应于阵列中的每个定位,并且较高的占据概率被描绘为相应像素块的较暗灰度值。
占据输出330对应于未来时间点,例如未来的2秒。占据输出330中具有在未来时间点处被任何行人占据的非零概率的位置以灰色阴影示出。例如,具有高占据概率的定位以深灰色示出,具有稍低占据概率的位置以中灰色示出,而具有更低但非零占据概率的位置以浅灰色示出。
占据输出330中没有行人被逐时间点跟踪;对于每个定位,占据输出330表示行人中的任何一个或多个将在未来时间点占据该位置的集体概率,而不管哪些行人可能会这样做。
在密集城市环境(诸如图3所示的环境)中,载具的因素跟踪系统很难完美地将不同的行人进行划分并随时间跟踪他们。此外,因为载具的传感器从某一视角观察环境,所以在不同的时间点处可能有许多遮挡,这使得划分和跟踪很困难。因此,事实上依赖于跟踪个体行人的占据预测系统在这些密集城市环境中可能表现不佳,因为这样的占据预测系统的输入太过嘈杂。另一个方面,诸如图3所示的概率占据输出能够表达环境中的不确定性,并且能够在不跟踪个体行人的情况下生成准确的预测。
在一些实施方式中,对于环境中的每个位置,占据输出310、320和330预测适当类型的任何周围因素(包括当前在环境中的周围因素和当前不在环境中的周围因素)是否将在未来时间点处占据该位置。在这些实施方式中,在占据预测系统的训练期间,占据预测系统可以处理训练示例,其中,在与训练示例对应的当前时间点处不在环境中的周围因素进入环境,并且因此在未来时间点的基准真值占据输出中被表示。通过使用由占据预测系统响应于处理这样的训练示例而生成的占据输出中的误差来生成占据预测系统的参数更新,训练系统可以训练占据预测系统,以能够使用输入场景数据来预测周围因素将何时进入环境。作为特定示例,如果输入场景数据中的道路图信息表征了用于行人移动进入环境的环境边缘附近的人行横道,则占据预测系统可以获知行人可能进入环境。
在一些其他实施方式中,对于环境中的每个位置,占据输出310、320和330仅预测当前在环境中的适当因素类型的周围因素之一是否将在未来时间点处占据该位置。
在这些实施方式中的任一种中,占据预测系统可以被训练为预测一个或多个周围因素很可能在未来时间点之前离开环境。在占据预测系统的训练期间,占据预测系统可以处理训练示例,其中,在与训练示例对应的当前时间点处在环境中的周围因素离开环境,并且因此不在基准真值占据输出中被表示。通过使用由占据预测系统响应于处理这样的训练示例而生成的占据输出中的误差来生成占据预测系统的参数更新,训练系统可以训练占据预测系统,以能够使用输入场景数据来预测周围因素将何时离开环境。作为特定示例,如果训练示例表征了在环境边缘附近的周围因素快速朝着环境边缘移动,则占据预测系统可以获知周围因素很可能离开该环境。
图4是用于生成占据输出的示例过程400的流程图。为了方便,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统来执行。例如,根据本说明书适当编程的占据预测系统(例如图1的占据预测系统150)可以执行过程400。
系统获得表征载具周围环境中的当前场景的场景数据(步骤402)。例如,对于多种因素类型中的每种,场景数据可以包括该因素类型的因素在一个或多个先前时间点处在环境中的相应位置。对于每个先前时间点,场景数据可以包括在先前时间点处的、描绘该因素类型的每个因素的、环境的自上而下渲染图像。
系统使用神经网络处理包括场景数据的神经网络输入,以生成包括针对多种因素类型中的每种和多个未来时间点中的每个的占据输出的神经网络输出(步骤404)。针对每种因素类型在每个未来时间点处的占据输出可以包括环境中多个位置中的每个位置的相应占据概率,其中,每个位置的占据概率表征该因素类型的因素将在未来时间点处占据该位置的可能性。
在一些实施方式中,占据输出包括地图中的多个单元,其中,每个单元对应于环境中的位置,并且具有相应因素类型的因素将在相应未来时间点处占据对应真实世界位置的占据概率。
神经网络可以例如具有类似于图2A和图2B中描绘的架构。
在一些实施方式中,神经网络输入还包括环境中载具的载具数据,其中,载具数据包括载具的规划路径。例如,载具的规划路径可以包括载具在一个或多个未来时间步长中的每个步长处在环境中的相应规划位置。在这些实施方式中,神经网络输出可以以载具路径为条件。
系统提供神经网络输出作为规划系统的输入,该规划系统规划载具在环境中的导航(步骤406)。例如,载具的规划系统可以包括基于优化的规划器,基于优化的规划器被配置为处理神经网络输出以生成针对环境中的每个特定位置的优化中的约束,环境中的每个特定位置在针对相应因素类型在相应特定未来时间点处的占据输出中具有超过预定阈值(例如,为0、0.05或0.1的阈值)的占据概率。作为特定示例,规划系统可以为环境中的每个特定位置生成优化中的约束,环境中的每个特定位置在针对相应因素类型在相应特定未来时间点处的占据输出中具有非零占据概率。针对特定位置的约束可以对应于相应因素类型的因素被预测为占据该特定位置的特定未来时间点。约束可以惩罚载具的、规划载具在特定未来时间点将处于特定位置的规划路径。
作为特定示例,规划系统可以确定每个占据输出的哪些单元具有高于阈值占据概率的预测的占据概率。这些单元对应于时空环境中的特定点。然后,规划系统可以在基于优化的规划器的优化框架中添加惩罚占据环境中一个或多个特定点的规划路径的约束。这些约束可以是硬约束(其中,不允许规划器生成占据这些点的规划路径)或软约束(其中,这样的规划路径被惩罚但仍然被允许),这取决于已经为规划器部署的优化框架。例如,如果规划系统建立了较高的阈值,则规划系统可以对这些点上添加硬约束,因为这些点对应于相对较高的碰撞概率。
例如,如上所述,在一些实施方式中,生成占据输出的训练的占据预测系统的输入可以包括环境的一个或多个自上而下渲染图像,其中,例如使用边界框或轮廓来描绘环境中的周围因素。在这些实施方式中,在输入中隐式地对周围因素的空间范围(extent)进行建模;因此,训练的占据预测系统可以确定环境中的哪些位置将被周围因素的空间范围的任何部分占据。然后,载具的规划系统可以确定在特定未来时间点处,载具的哪些潜在的未来位置将与周围因素的任何部分重叠,从而避免碰撞。一些现有规划系统依赖于周围因素的预测的轨迹,预测的轨迹不对关于周围因素的空间范围的信息进行编码。因此,这些现有系统必须在沿着轨迹的每个点处显式地对周围因素的空间范围进行建模,以确定载具的哪些潜在未来位置将与周围因素的任何部分重叠,这不太可靠并且计算昂贵。
本说明书中描述的主题和功能操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)或者它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,用于由数据处理装置执行或控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或者它们中的一个或多个的组合。可替代地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电、光或电磁信号)上,该传播信号被生成以编码信息,用于传输到合适的接收器装置,以由数据处理装置执行。
术语“数据处理装置”是指数据处理硬件,并且涵盖用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。装置还可以是或还可以包括现成的或定制的并行处理子系统,例如GPU或另外种类的专用处理子系统。装置还可以是或还可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码的计算机程序可以用任何形式的编程语言(包括编译语言或解释语言、或者声明性语言或过程性语言)来编写,并且其可以以任何形式(包括作为独立程序或作为模块、组件、子例程或适合在计算环境中使用的其他单元)来部署。程序可以但不需要对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论的程序的单个文件中或者在多个协作文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机或者位于一个地点或跨多个地点分布并通过数据通信网络互连的多个计算机上执行。
对于一个或多个计算机的系统被配置为执行特定操作或动作意味着该系统已经在其上安装了软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中使得该系统执行操作或动作。对于一个或多个计算机程序被配置为执行特定操作或动作意味着一个或多个程序包括指令,当由数据处理装置执行时,这些指令使得装置执行操作或动作。
如本说明书中所使用的,“引擎”或“软件引擎”是指提供不同于输入的输出的软件实现的输入/输出系统。引擎可以是编码的功能块,诸如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在包括一个或多个处理器和计算机可读介质的任何适当类型的计算设备(例如服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或台式计算机、PDA、智能手机或其他固定或便携式设备)上实现。此外,两个或更多个引擎可以在同一计算设备上实现、或者在不同的计算设备上实现。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机来执行,该一个或多个可编程计算机执行一个或多个计算机程序,以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如FPGA或ASIC)来执行、或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适于执行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其他种类的中央处理单元。一般地,中央处理单元将从只读存储器或随机访问存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或并入其中。一般地,计算机还将包括或可操作地耦合到用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),以从该一个或多个大容量存储设备接收数据或向其递送数据、或两者兼有。然而,计算机不需要有这样的设备。此外,计算机可以被嵌入在另外的设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)闪存驱动),仅举几个示例)中。
适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器器件,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实现,该计算机具有用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器,以及键盘和定点设备,例如鼠标、轨迹球或存在敏感显示器或用户可以通过其向计算机提供输入的其他表面。也可以使用其他种类的设备来提供与用户的交互;例如,被提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求,向用户设备上的网络浏览器发送网页。此外,计算机可以通过向个人设备(例如,智能手机)发送文本消息或其他形式的消息,运行消息应用,并转而从用户接收响应消息来与用户交互。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件,例如作为数据服务器;或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有图形用户界面的客户端计算机、网络浏览器或用户可以与本说明书中描述的主题的实施方式进行交互的应用,或者一个或多个这样的后端组件、中间件组件或前端组件的任何组合。该系统的组件可以通过任何形式或介质的数字数据通信(例如通信网络)来互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端和服务器的关系是由于在相应的计算机上运行的计算机程序而产生的,并且彼此具有客户端-服务器关系。在一些实施例中,服务器向用户设备发送数据,例如HTML页面,例如目的是向与充当客户端的设备交互的用户显示数据并从该用户接收用户输入。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
除了上述实施例之外,以下实施例也是创新的:
实施例1是一种方法,包括:
获得表征环境中的当前场景的场景数据;以及
使用神经网络处理包括场景数据的神经网络输入,以生成神经网络输出,其中:
神经网络输出包括与多种因素类型在一个或多个未来时间点处对应的相应占据输出;
针对每种因素类型在第一未来时间点处的占据输出包括环境中多个位置的相应占据概率;并且
在针对每种因素类型在第一未来时间点处的占据输出中,每个位置的相应占据概率表征该因素类型的因素将在第一未来时间点处占据该位置的可能性。
实施例2是实施例1的方法,其中,对于每种因素类型,该场景数据包括该因素类型的因素在一个或多个先前时间点处在环境中的相应位置。
实施例3是实施例2的方法,其中,对于第一先前时间点,该场景数据包括:
环境在第一先前时间点处的自上而下渲染图像,其中,该自上而下渲染图像包括描绘该因素类型的因素的占据的一个或多个像素。
实施例4是实施例3的方法,其中,特定因素类型在第一先前时间点处的自上而下渲染图像包括以下中的一个或多个:
描绘该特定因素类型的因素的边界框的多个第一像素;
描绘该特定因素类型的因素的轮廓的多个第二像素;或者
描绘环境中的道路车道的多个第三像素。
实施例5是实施例1-4中任一实施例的方法,其中,针对每种因素类型在第一未来时间点处的占据输出包括与环境中的位置对应的多个单元,其中,每个单元具有相应因素类型的因素将在第一未来时间点处占据对应位置的占据概率。
实施例6是实施例5的方法,其中,该占据输出的分辨率与场景数据的分辨率相同。
实施例7是实施例1-6中任一实施例的方法,其中,该场景数据表征多个先前时间点中的每个时间点处的环境,并且其中,第一因素在第一先前时间点处的第一表示独立于第一因素在第二先前时间点处的第二表示。
实施例8是实施例1-7中任一实施例的方法,其中,该神经网络是前馈卷积神经网络,包括:
多个共享的神经网络层,处理场景数据以生成共享嵌入;以及
多个第二神经网络层的块,每个第二神经网络层的块对应于相应因素类型,其中,每个第二神经网络层的块处理共享嵌入以生成针对对应因素类型的占据输出。
实施例9是实施例8的方法,其中,该神经网络处理共享嵌入以并行地生成针对每种因素类型的占据输出。
实施例10是实施例8或9中任一实施例的方法,其中,每个第二神经网络层的块包括多个第三神经网络层的块,每个第三神经网络层的块对应于相应未来时间点,其中,对于每个第二神经网络层的块,处理共享嵌入包括:
使用多个第二神经网络层处理共享嵌入,以生成针对对应因素类型的因素类型嵌入;并且
针对每个第三神经网络层的块,使用第三神经网络层的块来处理因素类型嵌入,以生成针对对应因素类型在对应未来时间点处的占据输出。
实施例11是实施例10的方法,其中,对于每种因素类型,该神经网络处理因素类型嵌入,以并行地生成针对该因素类型、针对每个未来时间点的占据输出。
实施例12是实施例1-11中任一实施例的方法,其中,该神经网络输入包括载具数据,该载具数据包括载具在一个或多个未来时间点中的每个时间点处在环境中的相应规划位置。
实施例13是实施例1-12中任一实施例的方法,还包括:
将神经网络输出作为输入提供给规划系统,该规划系统规划载具在环境中的导航。
实施例14是实施例13的方法,其中,该载具的规划系统包括基于优化的规划器,该基于优化的规划器被配置为处理神经网络输出以生成对环境中的每个位置的约束,该环境中的每个位置在相应占据输出中具有超过预定阈值的占据概率。
实施例15是实施例1-14中任一实施例的方法,其中,该因素类型包括以下中的一种或多种:
载具类型,
骑车人类型,或者
行人类型。
实施例16是实施例1-15中任一实施例的方法,其中,对于每种因素类型,该神经网络输出包括:
第一占据输出,包括针对环境中的多个位置的相应第一占据概率,该第一占据概率表征在当前时间点处在环境中的该因素类型的因素将在第一未来时间点处占据该位置的可能性,以及
第二占据输出,包括针对环境中的多个位置的相应第二占据概率,该第二占据概率表征在当前时间点处不在环境中的因素类型的因素将在第一未来时间点处占据该位置的可能性。
实施例17是一种系统,包括:一个或多个计算机和存储指令的一个或多个存储设备,当由一个或多个计算机执行时,该指令可操作以使一个或多个计算机执行实施例1至16中任一实施例的方法。
实施例18是用计算机程序编码的计算机存储介质,该程序包括指令,当由数据处理装置执行时,该指令可操作以使数据处理装置执行实施例1至16中任一实施例的方法。
尽管本说明书包含多个具体实施方式细节,但是这些不应该被解释为对任何发明的范围或可能要求保护的范围的限制,而是对特定发明的特定实施例所特有的特征的描述。本说明书中在分离的实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分离地或以任何合适的子组合来实现。此外,尽管特征可能在上面被描述为在某些组合中起作用,并且甚至最初是如此要求保护的,但是来自所要求保护的组合的一个或多个特征在一些情况下可以从该组合中被删除,并且所要求保护的组合可以针对子组合或子组合的变体。
类似地,尽管在附图中以特定次序描述了操作,但是这不应该被理解为要求这些操作以所示的特定次序或依次执行、或者要求所有示出的操作都被执行,以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该被理解为在所有实施例中都要求这样的分离,并且应该理解,所描述的程序组件和系统一般可以被一起集成在单个软件产品中或者被封装到多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,权利要求中陈述的动作可以以不同的次序来执行,并且仍然可以获得期望的结果。作为一个示例,附图中描绘的过程不一定要求所示的特定次序或顺序次序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。
Claims (18)
1.一种方法,包括:
获得表征环境中的当前场景的场景数据;以及
使用神经网络处理包括场景数据的神经网络输入,以生成神经网络输出,其中:
所述神经网络输出包括与多种因素类型在一个或多个未来时间点处对应的相应占据输出;
针对每种因素类型在第一未来时间点处的占据输出包括环境中多个位置的相应占据概率;并且
在针对每种因素类型在第一未来时间点处的占据输出中,每个位置的相应占据概率表征所述因素类型的因素将在第一未来时间点处占据所述位置的可能性。
2.根据权利要求1所述的方法,其中,对于每种因素类型,所述场景数据包括所述因素类型的因素在一个或多个先前时间点处在环境中的相应位置。
3.根据权利要求2所述的方法,其中,对于第一先前时间点,所述场景数据包括:
环境在第一先前时间点处的自上而下渲染图像,其中,所述自上而下渲染图像包括描绘特定因素类型的因素的占据的一个或多个像素。
4.根据权利要求3所述的方法,其中,在第一先前时间点处的所述自上而下渲染图像包括以下中的一个或多个:
描绘特定因素类型的因素的边界框的多个第一像素;
描绘特定因素类型的因素的轮廓的多个第二像素;或者
描绘环境中的道路车道的多个第三像素。
5.根据权利要求1-4中任一项所述的方法,其中,针对每种因素类型在第一未来时间点处的所述占据输出包括与环境中的位置对应的多个单元,其中,每个单元具有相应因素类型的因素将在第一未来时间点处占据对应位置的占据概率。
6.根据权利要求5所述的方法,其中,所述占据输出的分辨率与场景数据的分辨率相同。
7.根据权利要求1-6中任一项所述的方法,其中,所述场景数据表征多个先前时间点中的每个时间点处的环境,并且其中,第一因素在第一先前时间点处的第一表示独立于第一因素在第二先前时间点处的第二表示。
8.根据权利要求1-7中任一项所述的方法,其中,所述神经网络是前馈卷积神经网络,包括:
多个共享的神经网络层,处理场景数据以生成共享嵌入;以及
多个第二神经网络层的块,每个第二神经网络层的块对应于相应因素类型,其中,每个第二神经网络层的块处理共享嵌入以生成针对对应因素类型的占据输出。
9.根据权利要求8所述的方法,其中,所述神经网络处理共享嵌入以并行地生成针对每种因素类型的占据输出。
10.根据权利要求8或9中任一项所述的方法,其中,每个第二神经网络层的块包括多个第三神经网络层的块,每个第三神经网络层的块对应于相应未来时间点,其中,针对每个第二神经网络层的块,处理共享嵌入包括:
使用多个第二神经网络层处理共享嵌入,以生成针对对应因素类型的因素类型嵌入;并且
针对每个第三神经网络层的块,使用第三神经网络层的块来处理因素类型嵌入,以生成针对对应因素类型在对应未来时间点处的占据输出。
11.根据权利要求10所述的方法,其中,对于每种因素类型,所述神经网络处理因素类型嵌入,以并行地生成针对所述因素类型、针对每个未来时间点的占据输出。
12.根据权利要求1-11中任一项所述的方法,其中,所述神经网络输入包括载具数据,所述载具数据包括载具在一个或多个未来时间点中的每个时间点处在环境中的相应规划位置。
13.根据权利要求1-12中任一项所述的方法,还包括:
将神经网络输出作为输入提供给规划系统,所述规划系统规划载具在环境中的导航。
14.根据权利要求13所述的方法,其中,所述载具的规划系统包括基于优化的规划器,所述基于优化的规划器被配置为处理神经网络输出以生成对环境中的每个位置的约束,所述环境中的每个位置在相应占据输出中具有超过预定阈值的占据概率。
15.根据权利要求1-14中任一项所述的方法,其中,所述因素类型包括以下中的一种或多种:
载具类型,
骑车人类型,或者
行人类型。
16.根据权利要求1-15中任一项所述的方法,其中,对于每种因素类型,所述神经网络输出包括:
第一占据输出,包括针对环境中的多个位置中的每个位置的相应第一占据概率,第一占据概率表征在当前时间点处在环境中的所述因素类型的因素将在第一未来时间点处占据所述位置的可能性,以及
第二占据输出,包括针对环境中的多个位置中的每个位置的相应第二占据概率,第二占据概率表征在当前时间点处不在环境中的所述因素类型的因素将在第一未来时间点处占据所述位置的可能性。
17.一种系统,包括:一个或多个计算机和存储指令的一个或多个存储设备,当由一个或多个计算机执行时,所述指令可操作以使一个或多个计算机执行权利要求1至16中任一项的方法。
18.一个或多个非暂时性存储介质,存储指令,当由一个或多个计算机执行时,所述指令使得所述一个或多个计算机执行权利要求1-16中任一项的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/839,693 US11727690B2 (en) | 2020-04-03 | 2020-04-03 | Behavior prediction of surrounding agents |
US16/839,693 | 2020-04-03 | ||
PCT/US2021/025780 WO2021203097A1 (en) | 2020-04-03 | 2021-04-05 | Behavior prediction of surrounding agents |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115916615A true CN115916615A (zh) | 2023-04-04 |
Family
ID=77921644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180039137.6A Pending CN115916615A (zh) | 2020-04-03 | 2021-04-05 | 对周围因素的行为预测 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11727690B2 (zh) |
EP (1) | EP4114702A4 (zh) |
CN (1) | CN115916615A (zh) |
WO (1) | WO2021203097A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11912300B2 (en) * | 2020-09-30 | 2024-02-27 | GM Global Technology Operations LLC | Behavioral planning in autonomus vehicle |
US20220153309A1 (en) * | 2020-11-17 | 2022-05-19 | Uatc, Llc | Systems and Methods for Motion Forecasting and Planning for Autonomous Vehicles |
US11741274B1 (en) | 2020-11-20 | 2023-08-29 | Zoox, Inc. | Perception error model for fast simulation and estimation of perception system reliability and/or for control system tuning |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6559535B2 (ja) * | 2015-10-22 | 2019-08-14 | 株式会社東芝 | 障害物マップ生成装置、その方法、及び、そのプログラム |
US10595037B2 (en) * | 2016-10-28 | 2020-03-17 | Nec Corporation | Dynamic scene prediction with multiple interacting agents |
KR102099265B1 (ko) | 2017-11-27 | 2020-05-15 | 고려대학교 산학협력단 | 보행자 상태 기반의 보행자와 차량간 충돌 경고 시스템 및 그 방법 |
EP3495219B1 (en) | 2017-12-11 | 2023-07-05 | Volvo Car Corporation | Path prediction for a vehicle |
US10724854B2 (en) * | 2017-12-27 | 2020-07-28 | Intel IP Corporation | Occupancy grid object determining devices |
WO2020055759A1 (en) * | 2018-09-11 | 2020-03-19 | Nvidia Corporation | Future object trajectory predictions for autonomous machine applications |
US10882522B2 (en) * | 2018-09-13 | 2021-01-05 | Toyota Research Institute, Inc. | Systems and methods for agent tracking |
US10922817B2 (en) * | 2018-09-28 | 2021-02-16 | Intel Corporation | Perception device for obstacle detection and tracking and a perception method for obstacle detection and tracking |
US20210197813A1 (en) * | 2019-12-27 | 2021-07-01 | Lyft, Inc. | Systems and methods for appropriate speed inference |
-
2020
- 2020-04-03 US US16/839,693 patent/US11727690B2/en active Active
-
2021
- 2021-04-05 WO PCT/US2021/025780 patent/WO2021203097A1/en unknown
- 2021-04-05 EP EP21781256.9A patent/EP4114702A4/en active Pending
- 2021-04-05 CN CN202180039137.6A patent/CN115916615A/zh active Pending
-
2023
- 2023-06-29 US US18/216,488 patent/US20230343107A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
EP4114702A4 (en) | 2024-01-24 |
US20210312177A1 (en) | 2021-10-07 |
EP4114702A1 (en) | 2023-01-11 |
US20230343107A1 (en) | 2023-10-26 |
WO2021203097A1 (en) | 2021-10-07 |
US11727690B2 (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7459224B2 (ja) | アンカー軌道を使用したエージェント軌道予測 | |
US11217012B2 (en) | System and method for identifying travel way features for autonomous vehicle motion control | |
JP7367183B2 (ja) | 占有予測ニューラルネットワーク | |
US11851081B2 (en) | Predictability-based autonomous vehicle trajectory assessments | |
US11693415B2 (en) | Predicting cut-in probabilities of surrounding agents | |
US20230343107A1 (en) | Behavior prediction of surrounding agents | |
CN114787739A (zh) | 使用向量化输入的智能体轨迹预测 | |
US11565715B2 (en) | Neural networks with attention al bottlenecks for trajectory planning | |
US20220169244A1 (en) | Multi-modal multi-agent trajectory prediction | |
CN114945952A (zh) | 使用神经网络从相机图像和已知深度数据生成深度 | |
US20210150199A1 (en) | Spatio-temporal-interactive networks | |
EP4060626A1 (en) | Agent trajectory prediction using context-sensitive fusion | |
US20210364637A1 (en) | Object localization using machine learning | |
US11950166B2 (en) | Predicting occupancy probabilities of surrounding agents | |
CN115713738A (zh) | 使用神经网络模型的凝视和意识预测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |