CN114787739A - 使用向量化输入的智能体轨迹预测 - Google Patents
使用向量化输入的智能体轨迹预测 Download PDFInfo
- Publication number
- CN114787739A CN114787739A CN202080079400.XA CN202080079400A CN114787739A CN 114787739 A CN114787739 A CN 114787739A CN 202080079400 A CN202080079400 A CN 202080079400A CN 114787739 A CN114787739 A CN 114787739A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- segment line
- agent
- feature
- vector
- 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
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 10
- 239000003795 chemical substances by application Substances 0.000 claims description 107
- 239000013598 vector Substances 0.000 claims description 60
- 238000013528 artificial neural network Methods 0.000 claims description 58
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 abstract description 12
- 238000012549 training Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000005259 measurement Methods 0.000 description 9
- 230000009466 transformation Effects 0.000 description 8
- 210000002569 neuron Anatomy 0.000 description 7
- 238000011176 pooling Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- -1 e.g. Substances 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
- 230000000644 propagated effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/38—Electronic maps specially adapted for navigation; Updating thereof
- G01C21/3804—Creation or updating of map data
- G01C21/3833—Creation or updating of map data characterised by the source of data
- G01C21/3848—Data obtained from both position sensors and additional sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- 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/044—Recurrent networks, e.g. Hopfield 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/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/048—Activation functions
-
- 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
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- 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/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
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0112—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from the vehicle, e.g. floating car data [FCD]
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0125—Traffic data processing
- G08G1/0133—Traffic data processing for classifying traffic situation
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/0104—Measuring and analyzing of parameters relative to traffic conditions
- G08G1/0137—Measuring and analyzing of parameters relative to traffic conditions for specific applications
- G08G1/0141—Measuring and analyzing of parameters relative to traffic conditions for specific applications for traffic information dissemination
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/01—Detecting movement of traffic to be counted or controlled
- G08G1/04—Detecting movement of traffic to be counted or controlled using optical or ultrasonic detectors
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
- H04W4/44—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P] for communication between vehicles and infrastructures, e.g. vehicle-to-cloud [V2C] or vehicle-to-home [V2H]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30232—Surveillance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Analytical Chemistry (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Chemical & Material Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
一种使用向量化输入进行智能体轨迹预测的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。
Description
相关申请的交叉引用
本申请要求于2019年11月15日提交的美国临时申请第62/936,320号的权益。该在先申请的公开内容视为是本申请的公开内容的一部分,并且通过引用结合于此。
背景技术
本说明书涉及预测环境中智能体的未来轨迹。
环境可以是真实世界环境,并且智能体可以是例如环境中的交通工具。预测智能体的未来轨迹是例如自动驾驶交通工具的运动规划所需的任务。
自动驾驶交通工具包括无人驾驶汽车、船只和飞机。自动驾驶交通工具使用各种车载传感器和计算机系统检测附近的对象,并且使用这些检测做出控制和导航决策。
一些自动驾驶交通工具具有车载计算机系统,这些车载计算机系统实现用于各种预测任务(例如,图像内的对象分类)的神经网络、其它类型的机器学习模型或两者。例如,可以使用神经网络确定车载摄像机捕获的图像,该图像可能是附近汽车的图像。神经网络(或简称为网络)是采用多层操作从一个或多个输入预测一个或多个输出的机器学习模型。神经网络通常包括位于输入层与输出层之间的一个或多个隐藏层。每层的输出用作网络中另一层(例如,下一个隐藏层或输出层)的输入。
神经网络的每层指定需要对该层的输入执行的一个或多个变换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入,并且生成由另一个神经网络层接收的输出。通常,每个神经元从其它神经元接收输入,并且每个神经元向一个或多个其它神经元提供输出。
神经网络的架构指定网络中包括哪些层及其属性以及如何连接网络的每层的神经元。换言之,架构指定哪些层向哪些其它层提供其输出作为输入以及如何提供输出。
每层的变换操作通过安装有实施变换操作的软件模块的计算机来执行。因此,将层描述为执行操作是指实施该层的变换操作的计算机执行这些操作。
每层使用该层的一组参数的当前值生成一个或多个输出。因此,训练神经网络涉及对输入连续执行正向传递、计算梯度值、以及使用计算出的梯度值(例如,使用梯度下降)更新每层的一组参数的当前值。一旦对神经网络进行了训练,便可以使用最终的一组参数值在生产系统中进行预测。
发明内容
本说明书一般描述了一种在一个或多个位置处的一台或多台计算机上实现为计算机程序的系统,该系统使用向量化输入预测环境中智能体的未来轨迹。
本说明书中描述的主题可以在特定实施例中实施以实现以下优点中的一个或多个。
本说明书中描述的系统可以使用环境中场景的向量化表示来生成环境中一个或多个智能体的轨迹预测输出。具体地,所述系统所采用的表示使用表示为向量序列的多段线来逼近地理实体和运动智能体的动态。通过利用这些表示,系统避免了将环境中的场景表示为渲染图像的现有系统所需要的有损渲染和计算密集的编码步骤。此外,使用这些表示作为输入允许所述系统通过利用用向量表示的单个道路分量的空间局部性并另外对所有分量之间的高阶相互作用进行建模来生成轨迹预测。具体地,由于使用了向量化表示,所述系统可以在许多行为预测任务上实现与传统系统(例如,使用渲染方法的系统)相比同等或更好的性能,同时节省大量(例如,超过70%)的FLOP减小一个数量级的模型参数。也就是说,与对不同类型的表示进行操作的传统系统相比,在实现同等或更好的性能的同时,使用所述表示的模型可以具有明显更少的参数(因此,具有明显更小的内存占用)并且需要数量级更少的FLOP。
本说明书的主题的一个或多个实施例的细节将在附图和下面的描述中进行阐述。本主题的其它特征、方面和优点将从描述、附图和权利要求中变得显而易见。
附图说明
图1是一种示例系统的示意图。
图2是将环境中场景的栅格化表示与环境中场景的向量化表示进行比较的图示。
图3是一种用于生成轨迹预测输出的示例过程的流程图。
图4图示轨迹预测系统在推断期间和训练期间的操作。
不同附图中相同的附图标记和名称表示相同的元件。
具体实施方式
本说明描述了交通工具(例如,自动驾驶或半自动驾驶交通工具)如何能够使用经过训练的机器学习模型(在本说明书中称为“轨迹预测系统”)生成环境中交通工具附近的一个或多个周围智能体中的每个智能体的相应轨迹预测。
在本说明书中,在不失一般性的情况下,“周围智能体”可以指环境中的交通工具、自行车、行人、船舶、无人机或任何其它移动对象。
本说明书还描述了如何能够使用由交通工具生成的训练示例有效地训练轨迹预测系统以准确可靠地进行预测。
虽然本说明书描述了轨迹预测输出在自动驾驶交通工具上生成,但是更一般地,所述技术可以在接收表征环境中场景的数据的一个或多个计算机的任何系统上实现。
此外,虽然本说明书描述了使用向量化表示作为轨迹预测神经网络的输入,但是更一般地,可以使用由所述系统生成的给定多段线的多段线特征作为机器学习模型的输入,该机器学习模型生成用多段线表示的道路元素或智能体的任何合适预测。
图1是一种示例系统100的示意图。系统100包括车载系统110和训练系统120。
车载系统110位于交通工具102上。图1中的交通工具102图示为汽车,但是车载系统102可以位于任何合适的交通工具类型上。交通工具102可以是确定和执行全自动驾驶决策以在环境中导航的全自动驾驶交通工具。交通工具102也可以是使用预测辅助人类驾驶员的半自动驾驶交通工具。例如,如果预测指示人类驾驶员将要与另一个交通工具发生碰撞,则交通工具102可以自主地应用刹车。
车载系统110包括一个或多个传感器子系统130。传感器子系统130包括接收电磁辐射反射的组件的组合,例如,检测激光反射的激光雷达系统、检测无线电波反射的雷达系统和检测可见光反射的摄像机系统。
由给定传感器生成的传感器数据通常指示反射辐射的距离、方向和强度。例如,传感器可以在特定方向上发送一个或多个电磁辐射脉冲,并且可以测量任何反射的强度以及接收反射的时间。通过确定一个脉冲与其相应反射之间的时间长短,可以计算出距离。传感器可以在角度、方位或两者上连续扫描特定空间。例如,在方位上扫描可以允许传感器沿着同一视线检测多个对象。
交通工具102的传感器子系统130或其它组件也可以将来自一个或多个传感器的一个或多个原始传感器测量值的组分类成另一个智能体的测量。一组传感器测量值可以以各种方式表示,这取决于正在捕获的传感器测量值的种类。例如,每组原始激光传感器测量值可以表示为三维点云,每个点在特定二维或三维坐标空间中具有强度和位置。在一些实施方式中,位置表示为距离仰角对。每组摄像机传感器测量值可以表示为图像块,例如RGB图像块。
一旦传感器子系统130将一组或多组原始传感器测量值分类成相应其它智能体的测量,传感器子系统130便可以将原始传感器测量值编译成一组原始数据132并且将原始数据132发送到数据表示系统140。
数据表示系统140(也位于交通工具102上)接收来自传感器系统130的原始传感器数据132和表征环境的其它数据,例如标识交通工具附近的地图特征的地图数据,并且生成场景数据142。场景数据142表征在当前时间点交通工具102周围的环境的当前状态。
具体地,场景数据142包括至少(i)表征环境中一个或多个智能体中的每个智能体的观察轨迹(即一个或多个周围智能体的观察轨迹)的数据和(ii)表征环境的地图的地图特征的数据。表征观察轨迹的数据可以包括指定在当前时间步长和该时间步长之前的一个或多个时间步长下相应周围智能体的位置的数据。数据还可以可选地包括其它信息,例如,智能体的航向、智能体的速度、智能体的类型等。地图特征可以包括车道边界、人行横道、交通信号灯、道路标志等。
数据表示系统140将场景数据142提供给轨迹预测系统150(也位于交通工具102上)。
轨迹预测系统150对场景数据142进行处理以生成一个或多个周围智能体中的每个周围智能体的相应轨迹预测输出152,即预测轨迹。给定智能体的轨迹预测输出152(即预测轨迹)表征智能体在当前时间点之后的预测未来轨迹。
由系统150生成的预测轨迹可以以多种方式中的任何一种方式表示在系统150的输出152中。
在一些实施方式中,轨迹预测系统150直接回归一个或多个周围智能体中的每个周围智能体的相应未来轨迹,并且给定智能体的轨迹预测输出152包括在多个未来时间点中的每个未来时间点处的回归轨迹状态(即位置)和可选的其它信息(诸如航向)。
在一些其它实施方式中,给定智能体的轨迹预测输出152定义了该给定智能体的可能未来轨迹的相应概率分布。作为一个特定示例,给定智能体的轨迹预测输出152可以包括表征该智能体的未来轨迹与多个锚轨迹中的每个锚轨迹之间的预测相似性的数据,例如,每个未来轨迹的相应概率,该概率表示智能体会采用该轨迹的可能性。每个锚轨迹表征智能体在当前时间点之后的不同可能未来轨迹,并且包括指定环境中多个航点空间位置的序列的数据,每个航点空间位置对应智能体在该未来时间点之后的相应未来时间点处的可能位置。换言之,每个锚轨迹标识在当前时间点之后环境中周围智能体可能经过的航点位置的不同序列。
在这些示例中的一些示例中,对于每个锚轨迹,给定智能体的轨迹预测输出152还可以包括针对该锚轨迹的每个航点空间位置定义了取决于该航点空间位置的概率分布的数据。给定航点空间位置的概率分布定义了智能体在与该航点空间位置相对应的未来时间点处会占用该航点空间位置附近的相应空间位置的相应可能性。也就是说,假设智能体遵循锚轨迹,则概率分布表示智能体的实际未来轨迹与锚轨迹的预测可能偏差的空间。换言之,对于给定锚轨迹,在给定未来时间点的概率分布表示智能体与给定锚轨迹中的航点空间位置的可能偏差的空间,分配了较高概率的位置比分配了较低概率的位置更有可能出现偏差。
通常,为了生成轨迹预测输出152,轨迹预测系统150生成场景数据的向量化表示。如下面将更详细描述的,场景数据的向量化表示使用多段线和多段线的属性来逼近场景数据中表征的地理实体和智能体轨迹。系统150使用场景数据的向量化表示生成每个周围智能体的相应多段线特征。然后,系统150使用多段线特征生成一个或多个周围智能体中的每个周围智能体的相应预测轨迹。
下面将参照图2至图4对生成轨迹预测输出152进行更详细地描述。
车载系统100还包括规划系统160。规划系统160可以为交通工具102做出自动或半自动驾驶决策,例如,通过生成表征交通工具102未来会采用的路径的规划交通工具路径。
车载系统100可以向交通工具102的一个或多个其它车载系统(例如,规划系统160和/或用户界面系统165)提供由轨迹预测系统150生成的轨迹预测输出152。
当规划系统160接收到轨迹预测输出152时,规划系统160可以使用轨迹预测输出152生成规划交通工具的未来轨迹的规划决策,即生成新的规划交通工具路径。例如,轨迹预测输出152可以包含特定周围智能体可能在特定未来时间点超车到交通工具102前方从而潜在地导致碰撞的预测。在该示例中,规划系统160可以生成避免潜在碰撞且使交通工具102遵循新规划路径的新规划交通工具路径,例如,通过自主控制交通工具的转向,并且避免潜在碰撞。
当用户界面系统165接收到轨迹预测输出152时,用户界面系统165可以使用轨迹预测输出152向交通工具102的驾驶员呈现信息,以辅助驾驶员安全操作交通工具102。用户界面系统165可以通过任何合适的手段,例如通过交通工具102的扬声器系统发送的音频消息或者通过智能体中的视觉显示系统(例如,交通工具102的仪表板上的LCD显示器上)显示的警报,向智能体102的驾驶员呈现信息。在一个特定示例中,轨迹预测输出152可以包含特定周围智能体可能超车到交通工具102前方从而潜在地导致碰撞的预测。在该示例中,用户界面系统165可以向交通工具102的驾驶员呈现警报消息,该警报消息具有调整交通工具102的轨迹以避免碰撞的指令或者通知交通工具102的驾驶员可能与特定周围智能体发生碰撞。
为了生成轨迹预测输出152,轨迹预测系统150可以使用从训练系统120中的轨迹预测模型参数存储器190获得的训练参数值195,即轨迹预测系统150的训练模型参数值。
训练系统120通常位于数据中心124内,数据中心124可以是具有在一个或多个位置处的数百或数千台计算机的分布式计算系统。
训练系统120包括存储有所有训练数据的训练数据存储器170,这些训练数据用于训练轨迹预测系统,即确定轨迹预测系统150的训练参数值195。训练数据存储器170从真实世界中操作的智能体接收原始训练示例。例如,训练数据存储器170可以从交通工具102和与训练系统120通信的一个或多个其它智能体接收原始训练示例155。原始训练示例155可以通过训练系统120进行处理以生成新的训练示例。原始训练示例155可以包括可以用作新训练示例的输入的场景数据,即像场景数据142一样。原始训练示例155还可以包括表征在一个或多个未来时间点处交通工具102周围的环境的状态的结果数据。该结果数据可以用于生成在由场景数据表征的时间点处交通工具附近的一个或多个智能体的地面实况轨迹。每个地面实况轨迹标识了在未来时间点相应智能体所经过的实际轨迹(从结果数据中得出)。例如,地面实况轨迹可以标识在以智能体为中心的坐标系中智能体在多个未来时间点中的每个未来时间点移动到的空间位置。
训练数据存储器170向训练引擎180提供训练示例175,该训练引擎180也位于训练系统120中。训练引擎180使用训练示例175更新轨迹预测系统150将要使用的模型参数,并且将更新后的模型参数185提供给轨迹预测模型参数存储器190。一旦完全训练了轨迹预测系统150的参数值,训练系统120便可以例如通过无线或有线连接向轨迹预测系统150发送训练好的参数值195。
下面将参照图3对训练轨迹预测系统150进行更详细地描述。
图2是示出环境中一个场景的栅格化表示200和环境中另一个场景的向量化表示250的图示。
栅格化表示200是由一些现有轨迹预测系统用于生成轨迹预测的场景数据的表示的一个示例。具体地,一些现有轨迹预测系统从场景数据生成栅格化表示,并且将栅格化表示提供给神经网络(例如,卷积神经网络)作为输入,神经网络对栅格化表示进行处理以生成一个或多个轨迹预测作为输出。
具体地,为了从场景数据生成栅格化表示200,系统将场景的地图(例如,高分辨率(HD)地图)渲染为栅格化图像,并且对渲染图像中场景的不同属性进行颜色编码。例如,虽然图2的示例用黑色和白色描绘,但是可以理解的是,栅格化表示200可以使用一种颜色表示人行横道202,使用另一种颜色表示行车车道204并且使用两种不同的颜色表示场景中的智能体(例如,交通工具)的航向。
然而,出于几个原因,这种方法可能存在问题。
首先,对属性进行颜色编码要求手动的特征指定,即哪些属性应该在地图中编码以及什么颜色分配给每个编码特征,这对于学习预测轨迹可能不是最佳的。
此外,处理这些渲染图像通常要求卷积神经网络编码图像,然后要求轨迹解码器神经网络从编码图像生成轨迹预测。卷积神经网络的接受域是有限的,从而限制了在编码待用于预测给定智能体的轨迹的特征时可以考虑的背景量。然而,增加卷积神经网络的接受域要求计算密集得多(例如,在FLOP和内存占用方面)的神经网络,而这种神经网络可能无法在交通工具上部署并且可能无法在自动驾驶所必需的时延要求内生成预测。
然而,本说明书中描述的轨迹预测系统生成场景数据的向量化表示,例如示例向量化表示250,然后使用向量化表示生成轨迹预测。利用这些向量化表示允许系统使用具有更少参数且与利用栅格化表示(如表示200)的同等性能的执行神经网络相比需要至少数量级更少的FLOP的神经网络进行精确轨迹预测。
更具体地,由轨迹预测系统作为输入接收的场景数据表征多个地理实体,即道路特征。任何给定道路特征的地理范围可以表示为地理坐标中的点、多边形或曲线。例如,车道边界包含构成样条曲线的多个控制点;人行横道是由若干点定义的多边形;停车标志用单个点表示。所有这些地理实体都可以近似为由一个或多个控制点及其属性定义的多段线。
同样,移动智能体的动态也可以用表示周围智能体的观察轨迹的多段线来逼近。
然后,所有这些多段线可以表示为向量化表示250中的多组向量。
因此,在向量化表示250中,轨迹、地图特征和可选的其它场景信息均表示为多段线,即向量的序列。
具体地,向量化表示250示出了将人行横道表示为四个向量的序列的多段线252、将定义两个车道的边界表示为三个向量的三个序列的车道边界多段线254、256和258、以及将智能体的观察轨迹表示为三个向量的序列的轨迹多段线260。
然后,向量化表示250中定义多段线的向量可以通过编码器神经网络进行处理以生成每条多段线的相应多段线特征。然后,通过使用轨迹解码器神经网络对表示智能体的轨迹的多段线的多段线特征进行处理,系统可以生成环境中一个给定智能体的轨迹预测。
下面将参照图3和图4对生成给定地图特征或观察轨迹的多段线和从多段线生成轨迹预测进行更详细地描述。
图3是一种用于生成交通工具附近的智能体的轨迹预测输出的示例过程300的流程图。为了方便起见,将过程300描述为由位于一个或多个位置处的一个或多个计算机的系统执行。例如,根据本说明书适当编程的轨迹预测系统(例如,图1的轨迹预测系统150)可以执行过程300。
在任何给定时间点,系统可以执行过程300以生成交通工具附近的一个或多个智能体中的每个智能体的相应轨迹预测。例如,系统可以执行过程300以生成由传感器子系统标识为位于交通工具附近的每个智能体或已标识智能体的真子集(例如,仅针对交通工具的规划系统需要的轨迹预测的那些智能体)的轨迹预测。
系统接收输入,该输入包括(i)表征环境中一个或多个智能体中的每个智能体的观察轨迹的数据和(ii)环境的地图的地图特征(步骤302)。
系统生成每个观察轨迹的、将该观察轨迹表示为一个或多个向量的序列的相应多段线(步骤304)。
具体地,为了生成给定观察轨迹的多段线,系统生成观察轨迹期间的一个或多个时间间隔中的每个时间间隔的相应向量。例如,系统可以将观察轨迹跨越的时间间隔划分成固定大小的时间间隔,并且生成每个固定大小的时间间隔的相应向量。
每个时间间隔的相应向量通常包括在该时间间隔开始时智能体沿着轨迹的位置的坐标(例如,某个坐标系统中的二维坐标或三维坐标)以及在给时间间隔结束时智能体沿着轨迹的位置的坐标。
相应向量还可以包括智能体的特征或轨迹的特征。例如,给定时间间隔的向量可以包括标识该时间间隔的时间戳。作为另一个示例,给定时间间隔的向量可以包括相应智能体的对象类型的标识符,例如交通工具、行人、骑自行车者等。
相应向量通常还包括该向量所属的多段线(和相应智能体)的标签,即整数标识符。
系统生成地图的每个特征的、将该特征表示为一个或多个向量的序列的相应多段线(步骤306)。
具体地,为了生成给定地图特征的多段线,系统生成在地图中沿着该特征连接多个关键点的一个或多个向量。例如,系统可以沿着地图特征选择起点和方向,然后以相同的空间距离从样条曲线中均匀地采样关键点。然后,系统可以将相邻关键点顺序地连接成向量。
每个地图特征的相应向量通常包括该向量在环境中(即在地图中)开始的位置的坐标以及该向量在环境中结束的位置的坐标。
相应向量还可以包括地图特征的属性特征。例如,向量可以包括道路特征类型的标识符,例如人行横道、交通信号灯、车道边界等。作为另一个示例,对于车道边界,向量可以包括车道的相应段的速度限制。作为又一个示例,对于交通信号灯,向量可以包括在最近时间点交通信号灯的当前状态,例如绿色、黄色或红色。
相应向量通常还包括该向量所属的多段线(和相应地图特征)的标签,即整数标识符。
在一些实施方式中,系统一次生成一个目标智能体的轨迹预测。在这些实施方式中,由系统生成的相应向量中的坐标位于相对于正在生成预测的单个目标智能体的位置的坐标系中,例如,系统可以将所有向量的坐标归一化为以在目标智能体的被观察位置的最近项目步长下的目标智能体的位置为中心。
在一些其它实施方式中,系统并行生成多个目标智能体的轨迹预测。在这些实施方式中,相应向量中的坐标位于多个目标智能体之间共享的坐标系中,例如,以包括当前时间步长下全部多个目标智能体的位置的区域的中心为中心。
系统使用编码器神经网络对网络输入进行处理以生成一个或多个智能体中的每个智能体的多段线特征,该网络输入包括(i)观察轨迹的相应多段线和(ii)地图的每个特征的相应多段线(步骤308)。
下面将参照图4对使用编码器神经网络对网络输入进行处理以生成一个或多个智能体中的每个智能体的多段线特征进行更详细地描述。
对于智能体中的一个或多个,系统从该智能体的多段线特征生成该智能体的预测轨迹(步骤310)。这也将在下面参照图4更详细地描述。
图4图示了轨迹预测系统在推断期间(即在交通工具上)和训练期间的操作。
具体地,如图4所示,轨迹预测系统包括编码器神经网络,而编码器神经网络包括图形神经网络410和自注意力神经网络420。系统还包括轨迹解码器神经网络430。
图4的示例示出了在位于交通工具上时或在训练期间轨迹预测系统如何生成环境中场景的向量化表示402中表示的智能体之一的轨迹预测450。向量化表示402包括表示以下六条多段线的向量的序列:一条人行横道多段线、共同定义两条行车车道的三条车道边界多段线、以及两条智能体轨迹多段线。当表示其它场景(例如,道路标志、交通信号灯、人行道)时,其它类型的地图特征也可以用多段线来表示。同样,其它场景可以包括不在车道边界内行驶的其它智能体,例如,行人或骑自行车者。
具体地,为了生成预测450,对于向量化表示402中的每条多段线,系统使用图形神经网络410对多段线中的向量进行处理以生成多段线的初始多段线特征。
图形神经网络220是局部图形神经网络,即独立地对每条多段线进行操作并且将任何给定多段线中的每个向量表示为表示该给定多段线的图形中的节点的神经网络。因此,如图4所示,图形神经网络220执行六组局部操作,其中每组局部操作在六个图形中的一个相应图形上执行,这六个图形中的每个图形表示了表示402中的六条多段线中的一条不同多段线。
具体地,图形神经网络220包括一个或多个子图形传播层的序列,当在给定多段线上操作时,每个子图形传播层接收表示该给定多段线的图形中每个节点(即给定多段线中每个向量)的相应输入特征作为输入,并且生成图形中每个节点(即给定多段线中每个向量)的相应输出特征作为输出。
序列中的第一子图形传播层的输入特征是给定多段线中的向量,并且图形神经网络220从序列中的最后一个子图形传播层的输出特征生成给定多段线的初始多段线特征。例如,图形神经网络220可以对每个节点的最后一个子图形传播层的输出特征应用池化操作,例如最大池化或平均池化,以生成初始多段线特征。可选地,系统可以对池化操作的输出进行归一化(例如L2归一化)以生成初始多段线特征。
为了生成给定多段线中节点的输出特征,每个子图形传播层将编码器函数应用于该层的每个输入特征,以生成每个节点的相应变换特征。编码器函数通常是学习函数,例如多层感知器(MLP),不同层具有不同的权重。
然后,图形神经网络220将聚合函数(即排列不变聚合函数)应用于每个节点的变换特征以生成聚合特征。例如,聚合函数可以是池化操作,例如最大池化或平均池化。
然后,对于每个节点,该层将关系运算符应用于(i)该节点的变换特征和(ii)聚合函数以生成该节点的输出特征。关系运算符可以是例如串连特征向量的串连操作。
因此,图形神经网络的第l层的操作可以表示为:
因此,图形神经网络410的输出是每条多段线的相应初始多段线特征。
然后,系统使用自注意力神经网络420对每条多段线的初始多段线特征进行处理以生成一个或多个智能体中的每个智能体的相应多段线特征。通常,自注意力神经网络420基于环境中场景的不同分量之间的相互作用精化初始多段线特征以生成多段线特征。也就是说,与对每条多段线独立操作的图像神经网络410不同,自注意力神经网络420基于其它多段线的初始多段特征更新每条多段线的初始多段线特征。
具体地,自注意力神经网络420包括一个或多个自注意力层。每个自注意力层接收每条多段线的相应输入特征作为输入,并且将自注意力机制应用于输入特征以生成每条多段线的相应输出特征。
第一自注意力层的输入特征是多段线的初始多段线特征,而最后一个自注意力层的输出特征是多段线的多段线特征。
为了从输入特征生成输出特征,每个自注意力层通过将第一学习线性变换应用于多段线的输入特征来从输入特征生成每条多段线的相应查询,通过将第二学习线性变换应用于多段线的输入特征来生成每条多段线的相应关键帧(key),并且通过将第三学习线性变换应用于多段线的输入特征来生成每条多段线的相应值。然后,对于每条特定多段线,系统生成该特定多段线的自注意力机制的输出作为多段线的值的线性组合,该线性组合中的权重是基于该特定多段线的查询与多段线的关键帧之间的相似性确定的。具体地,在一些实施方式中,自注意力机制针对给定自注意力层的操作可以如下表示:
self-attention(P)=softmax(PQPK T)PV,
其中P是输入特征的矩阵,PQ是查询的矩阵,PK是关键帧的矩阵,并且PV是值的矩阵。
在一些情况下,自注意力机制的输出是自注意力层的输出特征。在一些其它情况下,自注意力层可以对自注意力机制的输出进行额外操作以生成该层的输出特征,例如,以下中的一个或多个:残余连接、前馈层操作或层归一化操作。
当自注意力神经网络仅包括一个自注意力层时,系统可以在推断时间仅执行自注意力层的一部分计算,因为仅需要计算表示一个或多个智能体的多段线的多段线特征。因此,系统可以仅执行与需要生成轨迹预测的智能体的多段线特征相对应的查询的操作。
为了生成给定智能体的轨迹预测450,然后,系统使用轨迹解码器神经网络430对给定智能体的多段线特征进行处理以生成给定智能体的轨迹预测450。
在图4的示例中,智能体的轨迹预测是回归预测轨迹,该回归预测轨迹包括智能体在当前时间步长之后的多个未来时间步长下的预测位置(以及可选的其它信息)。其它信息可以包括例如智能体的航向。在该示例中,轨迹解码器神经网络430可以是例如在一次正向传递中生成整个未来轨迹的MLP或者自动回归地生成未来轨迹的循环神经网络(RNN)。换言之,在图4的示例中,系统表示预测轨迹。
在其它实施方式中,即不同于图4所示的实施方式,轨迹解码器430可以生成定义给定智能体的可能未来轨迹的概率分布的输出。在多路径:行为预测的多概率锚点轨迹假设(MultiPath:Multiple Probabilistic Anchor Trajectory Hypotheses for BehaviorPrediction),arxiv:1910.05449中描述了这种轨迹解码器的一个示例。
当图4的操作在轨迹预测系统的训练期间(即在编码器神经网络和轨迹解码器神经网络的训练期间)执行时,系统可以获得一个或多个智能体中的每个智能体在当前时间步长之后的地面实况轨迹。系统可以计算损失(例如,负高斯对数似然损失或基于负对数似然的其它损失),并且使用该损失确定对编码器神经网络和轨迹解码器神经网络的参数的更新(例如通过具有反向传播的随机梯度下降),该损失测量一个或多个智能体的预测轨迹相对于该一个或多个智能体的地面实况未来轨迹的误差。通过在不同训练示例上重复更新编码器和轨迹解码器的参数,系统可以训练轨迹预测系统做出精确的轨迹预测。
在一些实施例中,在训练期间,系统还执行辅助地图完成任务460,以提高神经网络的训练。
换言之,在训练时间,系统屏蔽掉至少一些多段线的随机选择子集的初始多段线特征,即所有多段线的随机选择子集或仅与道路特征相对应的多段线的随机选择子集。
然后,对于子集中的每条特定多段线,在给定(i)在随机选择子集中的多段线的已屏蔽多段线特征和(ii)不在子集中的其它多段线的初始多段线特征的情况下,系统预测特定多段线的初始多段线特征。
具体地,在这些实施方式中,在训练期间,系统为每个初始多段线特征添加相应多段线的标识符。相应多段线的标识符可以从表示该多段线的向量生成。作为一个特定示例,多段线的标识符可以是该多段线中任何向量的任何起始坐标的最小起始坐标集合,即最接近原点。
然后,系统屏蔽子集中多段线的初始多段线特征,即设置为零或某个其它预定值。因此,子集中每条多段线的初始多段线特征变成添加有相应多段线的标识符的已屏蔽向量。然后,系统对上述的多段线的初始多段线特征进行处理以生成每条多段线的相应多段线特征。然后,对于子集中的每条特定多段线,系统使用节点特征解码器神经网络(例如MLP)对多段线的多段线特征进行处理以生成多段线的预测初始多段线特征。然后,系统可以计算多段线的初始多段线特征(已屏蔽)与多段线的预测初始多段线特征之间的损失。例如,该损失可以是Huber损失或测量两个向量之间的差值的任何其它损失。
然后,系统可以使用总体损失训练节点特征解码器神经网络、轨迹预测解码器神经网络和编码器神经网络,该总体损失是地图完成任务损失和轨迹预测任务损失的组合,例如和或加权和。在训练之后,因为系统不再需要执行地图完成任务,所以不包括节点特征解码器神网络作为系统的一部分。
本说明书中描述的主题的实施例和功能操作可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件(包括本说明书中公开的结构及其结构等同物)、或者它们中的一个或多个的组合中实施。本说明书中描述的主题的实施例可以实施为一个或多个计算机程序,即,编码在有形的非暂时性存储介质上以由数据处理装置执行或以控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或者它们中的一个或多个的组合。可替代地或者另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学或电磁信号,生成该信号是为了对信息进行编码以便传输至合适的接收器装置供数据处理设备执行。
术语“数据处理装置”是指数据处理硬件,并且包含用于处理数据的各种装置、设备和机器,包括例如可编程处理器、计算机或多个处理器或计算机。该装置也可以是或还可以包括现成的或定制的并行处理子系统,例如GPU或另一种专用处理子系统。该装置也可以是或还可以包括专用逻辑电路,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。
计算机程序(也可以称为或描述为程序、软件、软件应用程序、应用程序、模块、软件模块、脚本或代码)可以以任何形式的编程语言来编写,包括编译语言或解译语言、或者宣告式语言或程序式语言,并且可以以任何形式来部署,包括部署为独立程序或者部署为模块、组件、子例程或适合在计算环境中使用的其它单元。程序可以但不需要与文件系统中的文件对应。程序可以存储在保持其它程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中,或者存储在专用于所探讨中的程序的单个文件中,或者存储在多个协作文件(例如,存储一个或多个模块、子程序、或者部分代码的文件)中。计算机程序可以部署为在一个计算机上执行,或者在位于一个站点处或分布在多个站点上且通过数据通信网络互相连接的多个计算机上执行。
一台或多台计算机的系统配置为执行特定操作或动作是指该系统已经安装有在运行时使系统执行操作或动作的软件、固件、硬件或其组合。一个或多个计算机程序配置为实施特定操作或动作是指该一个或多个程序包括在由数据处理装置执行时使该装置实施操作或动作的指令。
如本说明书中使用的,“引擎”或“软件引擎”是指提供与输入不同的输出的软件实施的输入/输出系统。引擎可以是功能的编码块,诸如库、平台、软件开发工具包(“SDK”)或对象。每个引擎可以在包括一个或多个处理器和计算机可读介质的任何适合类型的计算设备上实施,例如,服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型或桌上型计算机、PDA、智能电话或其它固定的或便携式设备。此外,两个或更多个引擎可以在同一计算设备或不同计算设备上实现。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,该一个或多个可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)或者专用逻辑电路和一个或多个编程计算机的组合来执行。
适合执行计算机程序的计算机可以基于通用微处理器或专用微处理器或两者、或任何其它类型的中央处理单元。通常,中央处理单元会接收来自只读存储器或随机存取存储器或两者的指令和数据。计算机的必要元件是用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或者可以并入专用逻辑电路中。通常,计算机还会包括用于存储数据的一个或多个大型存储装置(例如,磁盘、磁光盘或光盘),或者计算机可以操作地耦合以接收来自大型存储装置的数据或者将数据传输至大型存储装置或者进行两者。然而,计算机不需要具有这种设备。此外,计算机可以嵌入在另一设备中,例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪存驱动),仅举数例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括:例如,半导体存储器设备(例如,EPROM、EEPROM和闪速存储器设备)、磁盘(例如,内部硬盘或可移动盘)、磁光盘、CD-ROM盘和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以在计算机上实施,该计算机具有:用于向用户显示信息的显示设备,例如,阴极射线管(CRT)或液晶显示器(LCD)监视器;以及键盘和指向设备,例如,鼠标、轨迹球、或存在感显示器或用户可以向计算机提供输入的其它表面。其它类型的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学输入、语音输入或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从该设备接收文档来与用户进行交互,例如,通过响应于从网络浏览器接收到的请求向用户的设备上的网络浏览器发送网页。而且,计算机可以通过向运行消息应用程序的个人设备(例如智能手机)发送文本消息或其它形式的消息和从用户接收响应消息来与用户进行交互。
在本说明书中描述的主题的实施例可以在计算系统中实施,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户接口、网络浏览器或应用程序的客户端计算机,用户可以通过图形用户接口、网络浏览器或应用程序与本说明书中描述的主题的实施方式进行交互),或者包括这些后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)相互连接。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且通常通过通信网络进行交互。客户端与服务器的关系通过在相应计算机上运行且使彼此具有客户端-服务器关系的计算机程序来产生。在一些实施例中,服务器向用户设备传输数据(例如,HTML页面),例如,以便向与充当客户端的设备交互的用户显示数据并且从该用户接收用户输入。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
虽然本说明书包含了许多具体实施细节,但是这些细节不应该视为是限制任何发明的范围或可能要求保护的内容的范围,而是对特定发明的特定实施例可能特有的特征的描述。本说明书在单独的实施例的背景下描述的某些特征还可以在单个实施例中组合实施。相反地,在单个实施例的背景下描述的各种特征也可以在多个实施例中单独实施或以任何合适的子组合实施。此外,虽然上面可以将特征描述为以某些组合的方式起作用,甚至最初如此要求保护,但是在一些情况下可以从组合中删除所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
同样,虽然在附图中以特定顺序描绘了各操作,但是不应该理解为要求这些操作以所示出的特定顺序或先后顺序执行或者要求所有图示的操作被执行以取得期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应该理解为在所有实施例中都需要这种分离;而且应该理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
已经描述了主题的特定实施例。其它实施例在下面的权利要求书的范围内。例如,权利要求书中阐述的动作可以以不同的顺序执行,并且仍然取得期望的结果。作为一个示例,附图中描绘的过程不一定需要所示出的特定顺序或先后顺序来取得期望的结果。在一些情况下,多任务处理和并行处理可能是有利的。
Claims (13)
1.一种方法,包括:
接收输入,所述输入包括(i)表征环境中一个或多个智能体中的每个智能体的观察轨迹的数据和(ii)所述环境的地图的地图特征;
生成每个观察轨迹的、将所述观察轨迹表示为一个或多个向量的序列的相应多段线;
生成所述地图的每个特征的、将所述特征表示为一个或多个向量的序列的相应多段线;
使用编码器神经网络对网络输入进行处理以生成所述一个或多个智能体中的每个智能体的多段线特征,所述网络输入包括(i)所述观察轨迹的相应多段线和(ii)所述地图的每个特征的相应多段线;以及
对于所述智能体中的一个或多个,从所述智能体的所述多段线特征生成所述智能体的预测轨迹。
2.根据任一前述权利要求所述的方法,其中对所述网络输入进行处理包括:
对于每条多段线,使用图形神经网络对所述多段线中的向量进行处理以生成所述多段线的初始多段线特征;以及
使用自注意力神经网络对每条多段线的所述初始多段线特征进行处理以生成所述一个或多个智能体中的每个智能体的相应多段线特征。
3.根据任一前述权利要求所述的方法,其中生成所述智能体的预测轨迹包括:
使用轨迹解码器神经网络对所述智能体的所述多段线特征进行处理以生成预测轨迹。
4.根据任一前述权利要求所述的方法,其中生成每个观察轨迹的、将所述观察轨迹表示为一个或多个向量的序列的相应多段线包括:
生成所述观察轨迹期间的一个或多个时间间隔中的每个时间间隔的相应向量。
5.根据权利要求4所述的方法,其中所述一个或多个时间间隔中的每个时间间隔的相应向量包括:
在所述时间间隔开始时所述智能体沿着所述轨迹的位置的坐标;以及
在所述时间间隔结束时所述智能体沿着所述轨迹的位置的坐标。
6.根据权利要求5所述的方法,其中所述一个或多个时间间隔中的每个时间间隔的相应向量包括:
标识所述时间间隔的时间戳。
7.根据权利要求5或6中任一项所述的方法,其中所述一个或多个时间间隔中的每个时间间隔的相应向量包括:
标识所述向量所属的多段线的标签。
8.根据任一前述权利要求所述的方法,其中生成所述地图的每个特征的、将所述特征表示为一个或多个向量的序列的相应多段线包括:
生成在所述地图中沿着所述特征连接多个关键点的向量。
9.根据权利要求8所述的方法,其中在所述地图中沿着所述特征连接多个关键点的每个向量均包括:
所述向量在所述环境中开始的位置的坐标;以及
所述向量在所述环境中结束的位置的坐标。
10.根据权利要求8或9中任一项所述的方法,其中在所述地图中沿着所述特征连接多个关键点的每个向量均包括:
所述地图特征的一个或多个属性特征。
11.根据权利要求8至10中任一项所述的方法,其中在所述地图中沿着所述特征连接多个关键点的每个向量均包括:
标识所述向量所属的多段线的标签。
12.一种系统,包括一个或多个计算机和一个或多个存储设备,所述一个或多个存储设备储存有指令,所述指令在由所述一个或多个计算机执行时可操作以使所述一个或多个计算机执行根据任一前述权利要求所述的相应方法的操作。
13.一种计算机存储介质,所述计算机存储介质编码有指令,所述指令在由一个或多个计算机执行时使所述一个或多个计算机执行根据任一前述权利要求所述的相应方法的操作。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962936320P | 2019-11-15 | 2019-11-15 | |
US62/936,320 | 2019-11-15 | ||
PCT/US2020/060749 WO2021097435A1 (en) | 2019-11-15 | 2020-11-16 | Agent trajectory prediction using vectorized inputs |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114787739A true CN114787739A (zh) | 2022-07-22 |
Family
ID=75908226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080079400.XA Pending CN114787739A (zh) | 2019-11-15 | 2020-11-16 | 使用向量化输入的智能体轨迹预测 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20210150350A1 (zh) |
EP (1) | EP4052108A4 (zh) |
CN (1) | CN114787739A (zh) |
CA (1) | CA3160652A1 (zh) |
IL (1) | IL292876A (zh) |
WO (1) | WO2021097435A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220101155A1 (en) * | 2020-09-25 | 2022-03-31 | Motional Ad Llc | Trajectory Generation Using Road Network Model |
US11926347B2 (en) * | 2020-10-30 | 2024-03-12 | Waymo Llc | Conditional agent trajectory prediction |
US20220153309A1 (en) * | 2020-11-17 | 2022-05-19 | Uatc, Llc | Systems and Methods for Motion Forecasting and Planning for Autonomous Vehicles |
US11514685B2 (en) * | 2021-02-17 | 2022-11-29 | Toyota Research Institute, Inc. | End-to-end signalized intersection transition state estimator with scene graphs over semantic keypoints |
US20220274625A1 (en) * | 2021-02-26 | 2022-09-01 | Zoox, Inc. | Graph neural networks with vectorized object representations in autonomous vehicle systems |
EP4095812A1 (en) * | 2021-05-28 | 2022-11-30 | Yandex Self Driving Group Llc | Method for predicting a trajectory of an agent in a vicinity of a self-driving vehicle based on ranking |
CN114629798B (zh) * | 2022-01-27 | 2023-08-18 | 清华大学 | 多智能体协同规划方法、装置、电子设备及存储介质 |
CN114885293B (zh) * | 2022-04-26 | 2022-12-20 | 和智信(山东)大数据科技有限公司 | 一种基于深度学习的信令轨迹恢复方法、系统及存储介质 |
CN116994427A (zh) * | 2023-07-04 | 2023-11-03 | 重庆邮电大学 | 一种基于大数据的道路路况预测方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9784592B2 (en) * | 2015-07-17 | 2017-10-10 | Honda Motor Co., Ltd. | Turn predictions |
EP3378222A4 (en) * | 2015-11-16 | 2019-07-03 | Orbital Insight, Inc. | MOVING VEHICLE DETECTION AND ANALYSIS USING LOW RESOLUTION REMOTE DETECTION IMAGING |
CN111051818B (zh) * | 2017-08-04 | 2023-08-11 | 谷歌有限责任公司 | 提供导航方向 |
KR102421855B1 (ko) * | 2017-09-28 | 2022-07-18 | 삼성전자주식회사 | 주행 차로를 식별하는 방법 및 장치 |
US11644834B2 (en) * | 2017-11-10 | 2023-05-09 | Nvidia Corporation | Systems and methods for safe and reliable autonomous vehicles |
US20190147255A1 (en) * | 2017-11-15 | 2019-05-16 | Uber Technologies, Inc. | Systems and Methods for Generating Sparse Geographic Data for Autonomous Vehicles |
US20190147320A1 (en) * | 2017-11-15 | 2019-05-16 | Uber Technologies, Inc. | "Matching Adversarial Networks" |
KR101951595B1 (ko) * | 2018-05-18 | 2019-02-22 | 한양대학교 산학협력단 | 모듈형 순환 신경망 구조 기반 차량 경로 예측 시스템 및 방법 |
-
2020
- 2020-11-16 WO PCT/US2020/060749 patent/WO2021097435A1/en unknown
- 2020-11-16 EP EP20888315.7A patent/EP4052108A4/en active Pending
- 2020-11-16 CA CA3160652A patent/CA3160652A1/en active Pending
- 2020-11-16 CN CN202080079400.XA patent/CN114787739A/zh active Pending
- 2020-11-16 US US17/099,656 patent/US20210150350A1/en active Pending
-
2022
- 2022-05-09 IL IL292876A patent/IL292876A/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20210150350A1 (en) | 2021-05-20 |
IL292876A (en) | 2022-07-01 |
EP4052108A1 (en) | 2022-09-07 |
CA3160652A1 (en) | 2021-05-20 |
EP4052108A4 (en) | 2023-11-01 |
WO2021097435A1 (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210150350A1 (en) | Agent trajectory prediction using vectorized inputs | |
US11370423B2 (en) | Multi-task machine-learned models for object intention determination in autonomous driving | |
JP7239703B2 (ja) | 領域外コンテキストを用いたオブジェクト分類 | |
US11783180B1 (en) | Object detection neural network | |
US11618481B2 (en) | Agent trajectory prediction using anchor trajectories | |
US11693415B2 (en) | Predicting cut-in probabilities of surrounding agents | |
US11565715B2 (en) | Neural networks with attention al bottlenecks for trajectory planning | |
US11610423B2 (en) | Spatio-temporal-interactive networks | |
US20220169244A1 (en) | Multi-modal multi-agent trajectory prediction | |
US20230343107A1 (en) | Behavior prediction of surrounding agents | |
EP4060626A1 (en) | Agent trajectory prediction using context-sensitive fusion | |
US20230040006A1 (en) | Agent trajectory planning using neural networks | |
US11950166B2 (en) | Predicting occupancy probabilities of surrounding agents | |
US20240161398A1 (en) | Late-to-early temporal fusion for point clouds | |
US20230104843A1 (en) | Detecting stationary non-participants of traffic | |
US20230406360A1 (en) | Trajectory prediction using efficient attention neural networks | |
US20240062386A1 (en) | High throughput point cloud processing | |
CN115115084A (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 |