CN115731531A - 对象轨迹预测 - Google Patents
对象轨迹预测 Download PDFInfo
- Publication number
- CN115731531A CN115731531A CN202210997330.7A CN202210997330A CN115731531A CN 115731531 A CN115731531 A CN 115731531A CN 202210997330 A CN202210997330 A CN 202210997330A CN 115731531 A CN115731531 A CN 115731531A
- Authority
- CN
- China
- Prior art keywords
- proxy
- vehicle
- trajectories
- predicted
- locations
- 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
Images
Classifications
-
- 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/277—Analysis of motion involving stochastic approaches, e.g. using Kalman filters
-
- 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
- B60W40/00—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
- B60W40/02—Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
- B60W40/04—Traffic conditions
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/04—Conjoint control of vehicle sub-units of different type or different function including control of propulsion units
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/18—Conjoint control of vehicle sub-units of different type or different function including control of braking systems
-
- 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
- B60W10/00—Conjoint control of vehicle sub-units of different type or different function
- B60W10/20—Conjoint control of vehicle sub-units of different type or different function including control of steering systems
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder 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/0464—Convolutional networks [CNN, ConvNet]
-
- 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/0475—Generative networks
-
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- 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/0108—Measuring and analyzing of parameters relative to traffic conditions based on the source of data
- G08G1/0116—Measuring and analyzing of parameters relative to traffic conditions based on the source of data from roadside infrastructure, e.g. beacons
-
- 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/0129—Traffic data processing for creating historical data or processing based on historical data
-
- 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/0145—Measuring and analyzing of parameters relative to traffic conditions for specific applications for active traffic flow control
-
- 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/164—Centralised systems, e.g. external to vehicles
-
- 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/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- 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/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- 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/30196—Human being; Person
-
- 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
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- 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/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Chemical & Material Sciences (AREA)
- Mathematical Physics (AREA)
- Mechanical Engineering (AREA)
- Analytical Chemistry (AREA)
- Transportation (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Combustion & Propulsion (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供了“对象轨迹预测”。可以通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置。可以通过将所述多个代理位置输入到滤波器算法来在所述多个时间步处确定对应于所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性。可以通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹。可以输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
Description
技术领域
本公开涉及车辆中的深度神经网络。
背景技术
深度神经网络可被训练来执行各种计算任务。例如,可以训练神经网络以从图像中提取数据。计算装置可以使用由深度神经网络从图像中提取的数据来操作系统,所述系统包括车辆、机器人、安全性、产品制造和产品跟踪。图像可以由包括在系统中的传感器获取并使用深度神经网络进行处理以确定关于系统周围环境中的对象的数据。系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。
发明内容
可训练并然后使用深度神经网络(DNN)来确定由系统中的传感器获取的图像数据中的对象,所述系统包括车辆引导、机器人操作、安全性、制造和产品跟踪。车辆引导可包括车辆在包括多个对象的环境中在自主或半自主模式下的操作。机器人引导可包括在包括多个零件的环境中引导机器人末端执行器(例如夹持器)来拾取零件并对零件进行取向以进行组装。安全系统包括其中计算机从观察安全区域的相机获取视频数据以在包括多个用户的环境中向授权用户提供访问权限并检测未授权进入的特征。在制造系统中,DNN可以在包括多个零件的环境中确定一个或多个零件的位置和取向。在产品跟踪系统中,深度神经网络可以在包括多个包裹的环境中确定一个或多个包裹的位置和取向。
车辆引导在本文中将被描述为使用DNN来检测交通场景中的对象(例如,车辆和行人)并确定轨迹和与轨迹相对应的不确定性的非限制性示例。交通场景是交通基础设施系统或车辆周围的环境,其可以包括道路的一部分以及包括车辆和行人等的对象。例如,交通基础设施中的计算装置可以被编程为从包括在车辆基础设施系统中的一个或多个传感器获取一个或多个图像并使用DNN来检测所述图像中的对象。所述图像可从静态相机或摄像机获取并且可包括从包括激光雷达传感器的距离传感器获取的距离数据。还可以从包括在车辆中的传感器获取图像。可以训练DNN以标记和定位对象并在图像数据或距离数据中确定轨迹和不确定性。包括在交通基础设施系统中的计算装置可以使用检测到的对象的轨迹和不确定性来确定以自主或半自主模式操作车辆的车辆路径。车辆可以基于车辆路径通过确定命令来指示车辆的动力传动系统、制动和转向部件操作车辆以沿着所述路径行驶而操作。
交通场景可以包括移动和交互的多个对象,诸如车辆和行人。诸如这些能够在交通场景中移动的对象在本文中也将被称为代理。可以通过基于车辆周围的环境预测代理在交通场景中的多个未来位置(即,轨迹)来改进确定在其上操作车辆的车辆路径。轨迹是描述代理移动的方向和速度的矢量。变分自编码器(VAE)是一种类型的DNN,其可以基于观察到的位置来输入多个代理的位置历史并输出多个代理的预测的轨迹以及对应于预测的轨迹的不确定性。可以通过将在多个时间步获取的多个图像输入到卷积神经网络(CNN)来确定位置历史,所述卷积神经网络是可以确定每个输入图像中的代理位置的一种类型的DNN。不确定性是与预测的轨迹相对应的概率分布,其估计代理的观察到的轨迹将与预测的轨迹不同的概率。本文讨论的技术通过确定与代理的观察到的位置相对应的不确定性并将位置和不确定性两者输入到VAE以确定预测的代理轨迹和不确定性来改进对代理的预测的轨迹的确定。
本文公开了一种方法,包括通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置。可以通过将所述多个代理位置输入到滤波器算法来确定对应于所述多个时间步处的所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性。可以通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述多个第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹,并且可以输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
可以基于所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹来操作车辆。可以通过控制车辆动力传动系统、车辆制动和车辆转向中的一者或多者来操作车辆。感知算法可以是深度神经网络。所述深度神经网络可为包括卷积层和全连接层的卷积神经网络。所述代理位置可为平面中的x坐标和y坐标。所述平面中的所述x坐标和所述y坐标可基于高清晰度地图来确定。所述滤波器算法可为卡尔曼滤波器。对应于所述多个时间步处的所述代理位置的所述第一不确定性可对应于高斯分布。变分自编码器可以包括编码器、潜在变量和解码器。所述变分自编码器可包括多个长短期记忆(LSTM)神经网络和一个或多个卷积神经网络。所述潜在变量可包括来自所述多个LSTM神经网络和所述一个或多个卷积神经网络的级联输出。所述变分自编码器可包括一个或多个递归神经网络,所述一个或多个递归神经网络输入代理位置和不确定性并输出预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。训练所述变分自编码器可包括确定对应于所述预测的代理轨迹的地面实况和对应于所述预测的代理轨迹的所述潜在轨迹。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种被编程用于执行上述方法步骤中的一些或全部的计算机,其包括计算机设备,所述计算机设备被编程为通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置。可以通过将所述多个代理位置输入到滤波器算法来确定对应于所述多个时间步处的所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性。可以通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述多个第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹,并且可以输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
所述计算机还可被编程为基于所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹来操作车辆。可以通过控制车辆动力传动系统、车辆制动和车辆转向中的一者或多者来操作车辆。感知算法可以是深度神经网络。所述深度神经网络可为包括卷积层和全连接层的卷积神经网络。所述代理位置可为平面中的x坐标和y坐标。所述平面中的所述x坐标和所述y坐标可基于高清晰度地图来确定。所述滤波器算法可为卡尔曼滤波器。对应于所述多个时间步处的所述代理位置的所述第一不确定性可对应于高斯分布。变分自编码器可以包括编码器、潜在变量和解码器。所述变分自编码器可包括多个长短期记忆(LSTM)神经网络和一个或多个卷积神经网络。所述潜在变量可包括来自所述多个LSTM神经网络和所述一个或多个卷积神经网络的级联输出。所述变分自编码器可包括一个或多个递归神经网络,所述一个或多个递归神经网络输入代理位置和不确定性并输出预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。训练所述变分自编码器可包括确定对应于所述预测的代理轨迹的地面实况和对应于所述预测的代理轨迹的所述潜在轨迹。
附图说明
图1是示例性对象检测系统的框图。
图2是交通场景的示例图像的图示。
图3是自主车辆控制系统的图示。
图4是示例性深度神经网络的图示。
图5是示例性变分自编码器的图示。
图6是示例性递归神经网络的图示。
图7是交通场景的示例地图的图示。
图8是对象轨迹预测的示例性结果的图示。
图9是对象轨迹预测的示例性结果的另一个图示。
图10是使用深度神经网络操作车辆的示例性过程的流程图。
具体实施方式
图1是可以包括交通基础设施系统105的对象检测系统100的图示,所述交通基础设施系统包括服务器计算机120和传感器122。对象检测系统包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以自主模式、半自主模式或非自主模式操作车辆110。
计算装置115包括诸如已知的处理器和存储器。另外,存储器包括一种或多种形式的计算机可读介质,并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(例如,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等等(例如,动力传动系统控制器112、制动控制器113、转向控制器114等)),或例如经由如下文进一步所描述的车辆通信总线通信地耦合到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(例如,包括车辆110中的总线,诸如控制器局域网(CAN)等)通信;另外地或可选地,车辆110网络可以包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
计算装置115可经由车辆网络向车辆中的各种装置(例如,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。可替代地或另外地,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来用于在本公开中表示为计算装置115的装置之间的通信。另外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可被配置用于通过车辆对基础设施(V2I)接口111经由网络130与远程服务器计算机120(诸如云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2I接口111可以包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、以及有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可被配置用于使用例如在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V对V)网络(例如根据专用短程通信(DSRC)和/或类似的通信)通过V对I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2I)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,通常包括在存储在存储器中并可由计算装置115的处理器执行的指令中的是用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(例如,制动、转向、推进等)的编程。使用在计算装置115中接收的数据(例如,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的安全而有效的穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
如本文所使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可为诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可从计算装置115接收指令以操作车辆110的制动器。
用于车辆110的一个或多个控制器112、113、114可包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一个可包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆110。
车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的基于地面的车辆110(例如,客车、轻型货车等)。车辆110包括一个或多个传感器116、V2I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。作为举例而非限制,传感器116可包括例如测高仪、相机、激光雷达、雷达、超声波传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可用来感测车辆110操作所处的环境,例如,传感器116可检测诸如天气状况(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率电平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
车辆可被配备成以自主模式和乘员驾驶模式两者操作。半自主模式或完全自主模式意指车辆可由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。车辆可能被占用或未被占用,但是在任一种情况下,都可在没有乘员协助的情况下部分地或完全地驾驶车辆。出于本公开的目的,自主模式被定义为车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一个由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一个或多个。在非自主模式下,这些都不由计算机控制。
图2是交通场景200的图像的图示。交通场景200的图像可以由包括在交通基础设施系统105中的传感器122或包括在车辆110中的传感器116获取。交通场景200的图像包括行人202、204、206、208和道路236上的车辆110。本文描述的技术可以分别确定行人202、204、206、208的预测的轨迹212、214、216、218。本文描述的技术还可以预测车辆110的轨迹228、230。轨迹228、230可以通过如本文所述的VAE来预测,或者轨迹228、230可以通过从车辆中的计算装置115接收包括在车辆110意图行进的车辆路径中的一个或多个规划轨迹来确定。行人202、204、206、208也可以具有多于一个预测的轨迹。对应于每个轨迹212、214、216、218、228、230的是潜在轨迹220、222、224、226、232、234(虚线)。潜在轨迹220、222、224、226、232、234是高斯概率分布,其中预测的轨迹212、214、216、218、228、230对应于相应的潜在轨迹220、222、224、226、232、234内的最可能轨迹。计算装置115可以输入预测的轨迹212、214、216、218、228、230和潜在轨迹220、222、224、226、232、234以确定在其上操作车辆110的车辆路径。
图3是自主车辆控制系统300的图示。自主车辆控制系统300包括输入图像(IN)302、感知(PREC)304、轨迹预测(TF)308、规划和控制(PC)312以及输出控制信号314。自主车辆控制系统300可以包括在车辆110中,其中输入图像302由传感器116获取,感知304、轨迹预测308以及规划和控制312是在计算装置115上执行的软件程序。自主车辆控制系统300还可以包括在交通基础设施系统105中,其中输入图像由传感器122获取,并且感知304、轨迹预测308以及规划和控制312中的全部或部分在服务器计算机120上执行。例如,可以在交通基础设施系统105上执行感知304和轨迹预测308,并且可以在包括在车辆110中的计算装置115上执行规划和控制312。感知304将代理位置和不确定性306输出到轨迹预测308,所述轨迹预测进而将预测的轨迹和潜在轨迹310输出到规划和控制312,所述规划和控制将控制信号314输出到控制器112、113、114以控制车辆动力传动系统、车辆转向和车辆制动。
感知304输入多个图像302并输出标记的代理位置和不确定性。通常通过将位置(由感知304输出为被确定为图像中的像素位置的位置)与关于获取图像的传感器116相对于车辆的位置和取向的数据以及关于车辆的位置和取向的数据组合来相对于全局坐标系(例如,具有定义的原点的笛卡尔坐标系或极坐标系)确定代理位置。例如,可以在制造时通过获取放置在相对于车辆110的测量位置处的基准图案的图像来确定关于传感器116相对于车辆的位置和取向的数据。例如,车辆的位置和取向可以由包括在车辆110中的GPS和基于加速度计的惯性测量单元(IMU)来确定。
感知304可以包括输入图像302并输出标记的代理位置的机器学习软件程序。可以输入图像302并输出标记的代理位置的机器学习软件程序的示例是下面关于图4讨论的深度神经网络(DNN)。例如,DNN可以输入图像诸如交通场景200的图像,并且分别将行人202、204、206、208的标签和位置确定为“行人1(x1,y1)”、“行人2(x2,y2)”、“行人3(x3,y3)”、“行人4(x4,y4)”,其中(xi,yi)是真实世界坐标中代理i的位置。通过用唯一标签标记每个代理,可以在多个图像302上跟踪代理以确定代理历史。
在针对多个图像302确定了标记的代理位置之后,可以根据标签对代理位置进行分组以确定代理历史并将其输入到滤波软件以确定与标记的代理位置相对应的不确定性。可以基于多个输入位置测量值来确定不确定性的滤波软件的示例是卡尔曼滤波器。卡尔曼滤波器可以被实现为服务器计算机120或计算装置115上的软件程序。卡尔曼滤波器输入诸如可以包括统计噪声或误差的位置的时间序列的测量值,并通过确定输入位置的联合概率分布来输出提高噪声输入位置的准确性的估计位置。估计位置的协方差可以与估计位置一起输出作为与估计位置相对应的不确定性。卡尔曼滤波器通过将基于物理运动模型的预测位置与观察到的位置进行比较并基于所述比较和所述联合概率分布来更新估计位置来操作。
将代理位置和不确定性306输入到轨迹预测308。轨迹预测308包括变分自编码器(VAE),即下面关于图5描述的深度神经网络。基于观察结果预测代理位置的轨迹预测系统受到认知不确定性或由观察结果的变化或误差引起的不确定性的影响。通常,轨迹预测系统将其输入信息视为确定的。因此,由上游对象检测器或跟踪器产生的任何不确定性信息都不会通过轨迹预测方法传播到下游规划和控制模块。相反,规划和控制中结合的唯一不确定性是轨迹预测模块的认知不确定性。本文讨论的技术通过将来自感知的状态不确定性传播通过轨迹预测来改进轨迹预测,从而从感知和轨迹预测两者产生具有认知不确定性的预测。
轨迹预测308输入一组时变的输入数据,所述输入数据表示为每个代理i在时间ti的一系列状态xi:
轨迹预测308输入来自(1)的时变输入数据,并输出一系列未来状态yi,每个代理在未来时间ti的状态:
以输入x为条件的包括在轨迹预测308中所包括的VAE中的潜在变量z的概率分布Pθ(z|x)是难以处理的,并且因此由qθ(z|x)近似,其被约束为在潜在变量z上的高斯分布Pθ(z)。可以使用用于训练VAE的损失函数中的库尔贝克-莱布勒(KL)散度项来确定概率分布
添加到此的是基于使用对数损失函数从x重建y的重建误差项:
log[Pψ(y|z,x)] (4)
这可以通过从潜在空间z重复采样并取样本的期望来计算:
除了KL散度和对数损失函数的期望之外,还添加了表示潜在空间z中的输入数据x的互信息项,其包括x和z项之间在分布下的互信息Iq(x,z)。除了这些项之外,因为输入包括代理位置的不确定性Σ以及代理的输入位置x,所以地面实况包括位置不确定性Σ以及位置y。因为输入包括与位置x级联的不确定性,所以通过包括被定义为以下的巴氏距离(Bhattacharyya distance)度量来修改损失函数:
巴氏距离DBh用于使网络的输出的概率分布更接近代理随时间的地面实况位置。巴氏距离包括输入位置的不确定性Σ以及位置x,而地面实况也包括位置不确定性Σ以及位置y。经修改以包括代理的输出概率分布与具有标准偏差Σ的地面实况位置N(y,Σ)的高斯分布之间的巴氏距离的最终损失函数由下式给出:
其在分别与VAE的编码器、解码器和潜在空间部分(即,θ,ψ)相对应的神经网络的参数上最大化。β和α是KL散度和互信息项的加权参数。损失函数(7)用于将从VAE输出的轨迹和潜在轨迹(如下面关于图5所述)与通过观察真实世界交通场景中的代理确定的地面实况轨迹和潜在轨迹进行比较。地面实况是指独立于DNN(在该示例中为VAE)确定的数据值。将地面实况与输出值进行比较以确定损失函数,所述损失函数被优化以确定对VAE的层进行编程的权重,即,以产生与地面实况最接近的输出。
图4是深度神经网络(DNN)400的图示。DNN 400可为在包括在对象检测系统100中的计算装置115或服务器计算机120上执行的软件程序。在该示例中,DNN 400被示为卷积神经网络(CNN)。本文描述的技术也可适用于未被实现为CNN的DNN。被实现为CNN的DNN 400通常输入输入图像(IN)402作为输入数据。输入图像402可以包括一个或多个对象,在本文中也称为代理。输入图像402由卷积层404处理以形成潜在变量406(即,DNN 400中的神经元之间传递的变量)。卷积层404包括多个层,每个层将输入图像402与卷积核进行卷积,所述卷积核变换输入图像402并使用诸如最大池化的算法来处理变换后的输入图像402,以在变换后的输入图像402由卷积层404处理时降低其分辨率。将由卷积层404输出的潜在变量406传递到全连接层408。全连接层408包括处理节点。全连接层408使用线性和非线性函数来处理潜在变量406以确定输出预测(OUT)410。在本文讨论的示例中,输出预测410包括代理标签和代理位置。DNN 400可以是在交通基础设施系统105中的服务器计算机120上执行的软件程序。服务器计算机120可以输入由具有包括在交通基础设施系统105中的RGB-D相机的传感器122获取的RGB图像。
可使用包括图像和对应的地面实况的训练数据集来训练DNN 400。DNN 400的训练数据集可包括数千或数百万个图像和对应的注释或地面实况。训练数据集的每个图像可被DNN 400处理多次。将响应于输入图像402而从DNN 400输出的预测410与和输入图像402相对应的地面实况进行比较以确定损失函数。损失函数是确定从DNN 400输出的预测410与对应于输入图像402的地面实况的紧密匹配程度的数学函数。在该示例中,地面实况可以包括通过除DNN 400之外的手段确定的代理标签和位置。例如,可以通过用户检查输入图像402来确定代理标签和位置。将由损失函数确定的值输入到DNN 400的卷积层404和全连接层408,其中进行反向传播以确定对应于最小的损失函数的层的权重。反向传播是一种用于训练DNN 400(其中将损失函数输入到卷积层404和距输入最远的全连接层408并从后向前传送)并且通过选择使损失函数最小化的权重来确定每个层404、408的权重的技术。可以训练DNN 400以确定标签(诸如“车辆”或“行人”等)以及相对于包括在交通基础设施系统105中的传感器122或包括在车辆110中的传感器116确定的全局坐标中的位置。
DNN 400可以包括在感知304中以在多个时间步处输入图像数据并输出代理的标签和位置。可以根据标签对代理进行分组以生成代理位置组,其中每个组对应于单个对象。可以将代理位置组输入到包括在感知304中的卡尔曼滤波器,以确定与位置相对应的不确定性并将位置和不确定性306输出到轨迹预测308。代理的位置和不确定性306可以包括代理与代理位置和不确定性的历史之间的关系,即,在多个时间步内对应于单个代理的多个位置和不确定性。
图5是可以包括在轨迹预测308中的变分自编码器(VAE)500的图示。VAE 500包括编码器、潜在变量和解码器,并且输入位置和不确定性(IN)306,并且输出对应于输入的对象位置和不确定性306的预测的轨迹和潜在轨迹(OUT)310。VAE 500包括编码器(ENC)504,所述编码器输入对应于对象的位置和不确定性306并生成潜在变量506。编码器504可以包括被配置为长短期记忆(LSTM)网络的多个递归深度神经网络。下面关于图6讨论递归深度神经网络。编码器504可以包括用于要由VAE 500跟踪的每个对象或对象类别的LSTM网络。编码器还可以包括用于代理或代理类型之间的关系的LSTM网络。当描述交通场景200时,代理可以被称为“节点”,并且代理之间的关系(例如,距离)被称为“边”。可以根据关系类型对基于多个代理类型确定的边进行分组。例如,行人和车辆之间的关系可以由包括在编码器504中的LSTM网络处理,以确定行人和车辆之间的距离如何随时间变化。除了代理位置和不确定性、代理历史和代理-代理关系之外,还可以将HD地图输入到包括在编码器504中的CNN以相对于交通场景200中的道路236定位对象。下面关于图7讨论了HD地图。
可以将代理位置和不确定性、代理历史、代理-代理关系和HD地图输入到编码器504。包括在编码器504中的LSTM网络和CNN输入代理位置和不确定性、代理历史、代理-代理关系以及HD地图并输出潜在变量506。潜在变量506对应于输入数据402的压缩版本,其中编码器506已将输入位置和不确定性306减少到对应于输入位置和不确定性306的基本特征的潜在变量506。VAE 500级联来自包括在编码器504中的LSTM网络和CNN的输出以形成潜在变量506。
潜在变量506被输入到解码器508。解码器508是输入潜在变量506并确定与输入到VAE 500的代理的位置和不确定性306相对应的轨迹和潜在轨迹(out)310的神经网络。输出的轨迹和潜在轨迹310可以被输出为HD地图上的位置,如下面关于图7所讨论的。可以将潜在轨迹输出为每个位置的高斯分布。可以通过假设高斯混合模型(GMM)来确定每个代理的高斯分布,其中假设在对应于道路或HD地图的平面上的x和y方向上的连续2D函数包括加在一起的多个高斯函数。假设高斯混合模型可以允许确定假设加在一起以形成高斯混合的高斯分布中的每一个的均值和方差,而无需关于均值和方差的任何先前信息。
使用上面关于图3描述的损失函数(7)来训练VAE 500以输出轨迹和潜在轨迹310。基于将从VAE 500输出的轨迹和潜在轨迹310与地面实况轨迹和潜在轨迹进行比较来确定损失函数(7)。例如,可以基于对真实世界交通场景200和模拟交通场景中的代理的观察来确定地面实况轨迹和潜在轨迹。模拟交通场景可由真实感图像渲染软件程序(诸如由北卡罗来纳州凯瑞市(邮编27518)的英佩数码公司(Epic Games)生产的虚幻引擎)生成。真实感渲染软件可以将包括代理位置和外观的描述的文件作为输入,并且输出包括所述位置处的代理的图像或一系列图像。可以多次执行VAE 500以生成通过编码器504和解码器508的层反向传播的多个损失函数值。反向传播从最接近输出的层开始将损失函数值应用于层,并且从后向前将损失函数应用于编码器504和解码器508的层。调整确定在编码器504和解码器508的每一层处执行的处理的权重以最小化该损失函数值,从而对VAE 500进行编程以获得使输出的轨迹和潜在轨迹310与地面实况轨迹和潜在轨迹之间的差异最小化的结果。
本文描述的技术通过输入与输入代理位置相对应的不确定性来改进对由VAE 500输出的轨迹和潜在轨迹310的确定。本文描述的技术通过基于巴氏距离计算确定损失函数(7)来进一步改进对代理的轨迹和潜在轨迹310的确定,该巴氏距离计算允许基于将对应于输出潜在轨迹的输出概率分布与包括在地面实况中的输入不确定性进行比较来确定损失函数。VAE 500的改进性能在下文的图8和图9中示出。
由VAE 500输出的轨迹和潜在轨迹310可以被输出到规划和控制312以基于轨迹和潜在轨迹310来操作车辆110。规划和控制312可以是在包括在车辆110中的计算装置115或包括在交通基础设施系统105中的服务器计算机120中的一者或多者上执行的软件。规划和控制312可以通过基于多项式函数确定车辆路径来确定在其上操作车辆110的车辆路径。可以通过避开包括潜在轨迹的预测的代理轨迹来确定多项式函数。还基于横向加速度和纵向加速度的上限和下限来确定多项式函数。可通过将命令发送到控制器112、113、114以控制车辆动力传动系统、转向和制动来在车辆路径上操作车辆110。
图6是递归神经网络(RNN)600的图示。RNN 600包括长短期记忆(LSTM)神经网络。RNN 600输入数据(IN)602,所述数据可以是代理位置和不确定性、代理位置历史或代理-代理(边)关系数据。RNN可以处理时间序列数据,其中例如在多个时间步处获取多个数据观察结果。输入数据602被输入到RNN 600的层(LAY)604以进行处理。层604可以包括用于处理输入数据602的多个卷积层和全连接层。来自处理层604的数据被输出(OUT)606并发送到存储器610。存储器610可以存储对应于多个时间步的多个输出数据。每次将新的输入数据602输入到层604时,来自前一时间步的输出数据也被输入到层604。以这种方式,除了当前时间步之外,在当前时间步处的处理还可以是多个先前时间步的函数。RNN 600以与上文所讨论的VAE类似的方式进行训练,包括基于RNN输出606和地面实况来确定损失函数(7)。在该示例中,对应于每个时间步的地面实况应可用于允许确定每个时间步的损失函数(7)。
图7是高清晰度(HD)地图700的图示。可以基于经由互联网从诸如GOOGLETM地图的来源下载的地图数据来确定HD地图700。通常,诸如GOOGLE地图的地图数据不包括具有足够分辨率以允许基于地图数据操作车辆110的对象(诸如道路736)的位置。足以允许基于地图操作车辆110的地图数据的分辨率小于约10厘米(cm)。10cm的分辨率允许足以允许车辆110操作的道路736边缘和车道标记的定位。可以在由服务器计算机120或计算装置115下载之前增加下载的地图数据的分辨率。服务器计算机120或计算装置115也可以基于由传感器122或116获取的传感器数据来增加下载的地图数据的分辨率。例如,包括在交通基础设施系统105或车辆110中的传感器可以确定道路736边缘和车道标记的位置,并将它们添加到下载的地图数据以增加地图数据的分辨率。
HD地图700包括道路736和代理702、704、706、708。VAE 500可以确定如上文关于图5所讨论的代理702、704、706、708的轨迹和潜在轨迹310数据,并且将其分别作为轨迹712、714、716、718和潜在轨迹720、722、724、726(虚线)包括在HD地图700中。在车辆110包括在HD地图700中所包括的交通场景中的示例中,车辆110的期望轨迹728、730(虚线)和潜在轨迹732、734(虚线)可以由计算装置115基于车辆110期望行驶的车辆路径来确定。可以由计算装置115或服务器计算机120根据针对代理702、704、706、708确定的轨迹和潜在轨迹310来修改期望轨迹728、730。
图8是基于不包括输入位置不确定性的VAE 500的来自对象轨迹预测系统的示例性结果800的图示。示例性结果800包括三个对象或代理802、808和814。包括分别针对代理802、808、814的位置历史804、810、816。包括针对代理802、808、814的观察到的轨迹806、812、818。包括针对代理808和814的预测的轨迹和潜在轨迹820、822(虚线)。在示例性结果800中,在没有输入位置不确定性并且没有基于巴氏距离函数确定损失函数的情况下确定预测的轨迹和潜在轨迹820、822。结果800表现出代理808、814的预测的轨迹和潜在轨迹820、822与观察到的轨迹812、818之间的弱关系。代理808、814的预测的轨迹和潜在轨迹820、822与观察到的轨迹812、818之间的弱关系意味着在结果800中预测的轨迹和潜在轨迹820、822不与观察到的轨迹812、818重叠或仅部分重叠。
图9是基于包括如本文所述的位置不确定性的VAE 500的来自对象轨迹预测系统的示例性结果900的图示。示例性结果900包括相同的代理802、808和814、位置历史804、810、816以及观察到的轨迹806、812、818,如图8中包括的示例性结果800所示。结果900包括基于包括代理808和814的代理的位置和不确定性以及基于巴氏距离函数确定损失函数(7)而确定的预测的轨迹和潜在轨迹920、922(虚线)。本文描述的技术可以输入代理位置和不确定性,并且预测的轨迹和潜在轨迹920、922比来自图8的结果800的预测的轨迹和潜在轨迹820、822更准确并且与观察到的轨迹812、818具有更好的关系。
图10是关于图1至图9所描述的用于对象轨迹预测的过程的流程图的图示。过程1000可以由计算装置115或服务器计算机120的处理器实现,将来自传感器的信息作为输入,并且执行命令,并且输出代理轨迹和潜在轨迹310。过程1000包括可以所示次序执行的多个框。过程1000可以替代地或另外包括更少的框,或者可以包括以不同次序执行的框。
过程1000开始于框1002,其中由包括在交通基础设施系统105或车辆110中的传感器116、122获取的图像被输入到如关于图3所描述的DNN 400以确定代理位置。图像可以对应于时间序列的图像,其中记录获取每个图像的时间步。
在框1004处,过程1000将代理位置和时间步数据输入到滤波器,所述滤波器可以是如关于图3所描述的卡尔曼滤波器,以确定对应于代理位置的不确定性。
在框1006处,过程1000将位置和不确定性、代理位置历史以及代理-代理关系输入到轨迹预测308,以得到针对代理的所确定的预测的轨迹和潜在轨迹310,如上文关于图3、4、5和6所讨论的。
在框1008处,过程1000将代理的预测的轨迹和潜在轨迹310输入到规划和控制312。规划和控制312可以基于如上面关于图5所讨论的预测的轨迹和潜在轨迹310来确定在其上操作车辆110的车辆路径。
在框1010处,过程1000将车辆路径输出到车辆110中的计算装置115。车辆路径可以由车辆110中的计算装置115或交通基础设施系统105中的服务器计算机120确定,并且经由内部总线传送到计算装置115或经由网络130下载到车辆110。
在框1012处,车辆110中的计算装置115接收车辆路径。计算装置115可以执行以下操作中的一者或多者:在人机界面装置(诸如显示器)上显示车辆路径,将该车辆路径与由计算装置115确定的车辆路径进行比较,以及基于车辆路径来操作车辆110。基于车辆路径来操作车辆110包括确定用以传输到控制器112、113、114的命令以控制车辆动力传动系统、转向和制动以沿着确定的车辆路径来操作车辆110。例如,计算装置115可以确定行人706、708的预测的轨迹和潜在轨迹716、718、726、724将与车辆110的预测的轨迹和潜在轨迹728、730、732、734重叠,并且车辆110应停止。自主车辆控制系统300可以继续跟踪行人702、704、706、708以确定预测的轨迹和潜在轨迹712、714、716、718、720、722、724、726何时将不再与车辆110的轨迹和潜在轨迹728、730、732、734重叠并且车辆110可以继续操作。在框1010之后,过程1000结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文论述的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(又被称为处理器可读介质)包括参与提供可以由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可以由一种或多种传输介质传输,所述传输介质包括光纤、电线、无线通信,包括内部构件,所述内部构件包括耦合到计算机处理器的系统总线。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何结构、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的元素。另外,可改变这些要素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种计算机,其具有:处理器;以及存储器,所述存储器包括指令,所述指令可由所述处理器执行以:通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置;通过将所述多个代理位置输入到滤波器算法来在所述多个时间步处确定对应于所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性;通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述多个第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹;以及输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
根据一个实施例,所述指令包括用于基于所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹来操作车辆的另外的指令。
根据一个实施例,所述指令包括用于通过控制车辆动力传动系统、车辆制动和车辆转向中的一者或多者来操作车辆的另外的指令。
根据一个实施例,感知算法是深度神经网络。
根据一个实施例,所述深度神经网络为包括卷积层和全连接层的卷积神经网络。
根据一个实施例,所述代理位置为平面中的x坐标和y坐标。
根据一个实施例,所述平面中的所述x坐标和所述y坐标基于高清晰度地图来确定。
根据一个实施例,所述滤波器算法是卡尔曼滤波器。
根据一个实施例,对应于所述多个时间步处的所述代理位置的所述第一不确定性对应于高斯分布。
根据一个实施例,所述变分自编码器包括编码器、潜在变量和解码器。
根据一个实施例,所述变分自编码器包括多个长短期记忆(LSTM)神经网络和一个或多个卷积神经网络。
根据一个实施例,所述潜在变量包括来自所述多个LSTM神经网络和所述一个或多个卷积神经网络的级联输出。
根据一个实施例,所述变分自编码器包括一个或多个递归神经网络,所述一个或多个递归神经网络输入代理位置和不确定性并输出预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
根据一个实施例,训练所述变分自编码器包括确定对应于所述预测的代理轨迹的地面实况和对应于所述预测的代理轨迹的所述潜在轨迹。
根据一个实施例,训练所述变分自编码器是基于基于巴氏距离度量的损失函数。
根据一个实施例,所述多个图像由包括在车辆中的传感器和包括在交通基础设施系统中的传感器中的一个或多个获取。
根据本发明,一种方法包括:通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置;通过将所述多个代理位置输入到滤波器算法来在所述多个时间步处确定对应于所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性;通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述多个第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹;以及输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
在本发明的一个方面,所述方法包括基于所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹来操作车辆。
在本发明的一个方面,所述方法包括通过控制车辆动力传动系统、车辆制动和车辆转向中的一者或多者来操作车辆。
在本发明的一个方面,感知算法为深度神经网络。
Claims (15)
1.一种方法,其包括:
通过将多个图像输入到感知算法来在多个时间步处确定多个代理位置,所述感知算法输入所述多个图像并输出代理标签和所述代理位置;
通过将所述多个代理位置输入到滤波器算法来在所述多个时间步处确定对应于所述代理位置的多个第一不确定性,所述滤波器算法输入所述代理位置并输出对应于所述多个代理位置的所述多个第一不确定性;
通过将所述多个时间步处的所述多个代理位置和对应于所述多个时间步处的所述代理位置的所述多个第一不确定性输入到变分自编码器来确定多个预测的代理轨迹和对应于所述预测的代理轨迹的潜在轨迹;以及
输出所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
2.如权利要求1所述的方法,其还包括基于所述多个预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹来操作车辆。
3.如权利要求2所述的方法,其还包括通过控制车辆动力传动系统、车辆制动和车辆转向中的一者或多者来操作所述车辆。
4.如权利要求1所述的方法,其中所述感知算法是深度神经网络。
5.如权利要求4所述的方法,其中所述深度神经网络为包括卷积层和全连接层的卷积神经网络。
6.如权利要求1所述的方法,其中所述代理位置为平面中的x坐标和y坐标。
7.如权利要求6所述的方法,其中所述平面中的所述x坐标和所述y坐标基于高清晰度地图来确定。
8.如权利要求1所述的方法,其中所述滤波器算法是卡尔曼滤波器。
9.如权利要求1所述的方法,其中对应于所述多个时间步处的所述代理位置的所述第一不确定性对应于高斯分布。
10.如权利要求1所述的方法,其中所述变分自编码器包括编码器、潜在变量和解码器。
11.如权利要求10所述的方法,其中所述变分自编码器包括多个长短期记忆(LSTM)神经网络和一个或多个卷积神经网络。
12.如权利要求11所述的方法,其中所述潜在变量包括来自所述多个LSTM神经网络和所述一个或多个卷积神经网络的级联输出。
13.如权利要求10所述的方法,其中所述变分自编码器包括一个或多个递归神经网络,所述一个或多个递归神经网络输入代理位置和不确定性并输出预测的代理轨迹和对应于所述预测的代理轨迹的所述潜在轨迹。
14.如权利要求1所述的方法,其中训练所述变分自编码器包括确定对应于所述预测的代理轨迹的地面实况和对应于所述预测的代理轨迹的所述潜在轨迹。
15.一种系统,其包括被编程为执行如权利要求1至14中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/460,776 US11887317B2 (en) | 2021-08-30 | 2021-08-30 | Object trajectory forecasting |
US17/460,776 | 2021-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115731531A true CN115731531A (zh) | 2023-03-03 |
Family
ID=85174882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210997330.7A Pending CN115731531A (zh) | 2021-08-30 | 2022-08-19 | 对象轨迹预测 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11887317B2 (zh) |
CN (1) | CN115731531A (zh) |
DE (1) | DE102022121602A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11869275B1 (en) * | 2022-05-18 | 2024-01-09 | Michael G. Joseph | Systems and methods for image analysis using facial characteristics |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10361802B1 (en) * | 1999-02-01 | 2019-07-23 | Blanding Hovenweep, Llc | Adaptive pattern recognition based control system and method |
DE102017204404B3 (de) | 2017-03-16 | 2018-06-28 | Audi Ag | Verfahren und Vorhersagevorrichtung zum Vorhersagen eines Verhaltens eines Objekts in einer Umgebung eines Kraftfahrzeugs und Kraftfahrzeug |
JP6673293B2 (ja) * | 2017-05-24 | 2020-03-25 | トヨタ自動車株式会社 | 車両システム |
CN109937343B (zh) * | 2017-06-22 | 2023-06-13 | 百度时代网络技术(北京)有限公司 | 用于自动驾驶车辆交通预测中的预测轨迹的评估框架 |
US11514293B2 (en) * | 2018-09-11 | 2022-11-29 | Nvidia Corporation | Future object trajectory predictions for autonomous machine applications |
US11155259B2 (en) * | 2018-09-13 | 2021-10-26 | Honda Motor Co., Ltd. | System and method for egocentric-vision based future vehicle localization |
US10997729B2 (en) * | 2018-11-30 | 2021-05-04 | Baidu Usa Llc | Real time object behavior prediction |
US11215997B2 (en) | 2018-11-30 | 2022-01-04 | Zoox, Inc. | Probabilistic risk assessment for trajectory evaluation |
US11126179B2 (en) * | 2019-02-21 | 2021-09-21 | Zoox, Inc. | Motion prediction based on appearance |
US11475577B2 (en) * | 2020-11-01 | 2022-10-18 | Southwest Research Institute | Markerless motion capture of animate subject with prediction of future motion |
-
2021
- 2021-08-30 US US17/460,776 patent/US11887317B2/en active Active
-
2022
- 2022-08-19 CN CN202210997330.7A patent/CN115731531A/zh active Pending
- 2022-08-25 DE DE102022121602.0A patent/DE102022121602A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US11887317B2 (en) | 2024-01-30 |
DE102022121602A1 (de) | 2023-03-02 |
US20230074293A1 (en) | 2023-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10981564B2 (en) | Vehicle path planning | |
US10733510B2 (en) | Vehicle adaptive learning | |
US11694356B2 (en) | Methods and systems for joint pose and shape estimation of objects from sensor data | |
EP3959576A1 (en) | Methods and systems for trajectory forecasting with recurrent neural networks using inertial behavioral rollout | |
US10831208B2 (en) | Vehicle neural network processing | |
US20200020117A1 (en) | Pose estimation | |
CN110901656B (zh) | 用于自动驾驶车辆控制的实验设计方法和系统 | |
CN112977472A (zh) | 预测车辆的移动轨迹的方法及系统 | |
CN112633465A (zh) | 车辆神经网络训练 | |
CN116703966A (zh) | 多对象跟踪 | |
Goebl et al. | Design and capabilities of the Munich cognitive automobile | |
CN114118350A (zh) | 观察的车辆姿态的自监督估计 | |
CN115249066A (zh) | 分位数神经网络 | |
CN115731531A (zh) | 对象轨迹预测 | |
CN112793568A (zh) | 车辆操作标签 | |
EP4141482A1 (en) | Systems and methods for validating camera calibration in real-time | |
CN116091611A (zh) | 相机定位 | |
CN116663612A (zh) | 神经网络训练 | |
CN116580374A (zh) | 车辆定位 | |
Yoon et al. | Trajectory Prediction Using Graph-Based Deep Learning for Longitudinal Control of Autonomous Vehicles: A Proactive Approach for Autonomous Driving in Urban Dynamic Traffic Environments | |
CN116311216A (zh) | 三维对象检测 | |
US20230219601A1 (en) | Efficient neural networks | |
US11158066B2 (en) | Bearing only SLAM with cameras as landmarks | |
EP4145352A1 (en) | Systems and methods for training and using machine learning models and algorithms | |
US20230267640A1 (en) | Pose estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |