CN114761942A - 时空位姿/对象数据库 - Google Patents

时空位姿/对象数据库 Download PDF

Info

Publication number
CN114761942A
CN114761942A CN202080084045.5A CN202080084045A CN114761942A CN 114761942 A CN114761942 A CN 114761942A CN 202080084045 A CN202080084045 A CN 202080084045A CN 114761942 A CN114761942 A CN 114761942A
Authority
CN
China
Prior art keywords
geographic location
historical data
embedding
factor
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
Application number
CN202080084045.5A
Other languages
English (en)
Inventor
B.A.怀特
A.季莫费耶夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waymo LLC
Original Assignee
Waymo LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Waymo LLC filed Critical Waymo LLC
Publication of CN114761942A publication Critical patent/CN114761942A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • B60W30/0956Predicting travel path or likelihood of collision the prediction being responsive to traffic or environmental parameters
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Estimation 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/02Estimation 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/04Traffic conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0027Planning or execution of driving tasks using trajectory prediction for other traffic participants
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3626Details of the output of route guidance instructions
    • G01C21/3641Personalized guidance, e.g. limited guidance on previously travelled routes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/3811Point data, e.g. Point of Interest [POI]
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4042Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4044Direction of movement, e.g. backwards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2554/00Input parameters relating to objects
    • B60W2554/80Spatial relation or speed relative to objects
    • B60W2554/806Relative heading
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/10Historical data
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • B60W2556/50External transmission of data to or from the vehicle of positioning data, e.g. GPS [Global Positioning System] data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

用于使用在特定的现实世界位置生成的历史数据选择在相同的现实世界位置处因素的动作的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。方法之一包括:确定环境内的因素的当前地理位置;从数据库获得针对在因素的当前地理位置附近的地理位置的历史数据,数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括至少部分地从由导航通过环境的载具捕获的地理位置的传感器读数生成的观察;生成获得的历史数据的嵌入;以及将嵌入作为输入提供给策略决策做出系统,该策略决策做出系统选择要由因素执行的动作。

Description

时空位姿/对象数据库
技术领域
本说明书涉及自主载具。
背景技术
自主载具包括自驾驶小汽车、船只和飞行器。自主载具使用各种机载传感器和计算机系统来检测附近的对象,并使用这样的检测来做出控制和导航决策。
一些自主载具具有机载计算机系统,机载计算机系统实现用于各种任务(例如,做出策略决策)的神经网络、其他类型的机器学习模型或两者。例如,神经网络可以用于使用输入传感器数据选择自主载具的下一个动作。神经网络,或简而言之网络,是采用多个操作层以从一个或多个输入预测一个或多个输出的机器学习模型。神经网络典型地包括位于输入层和输出层之间的一个或多个隐藏层。每个层的输出被用作对网络中的另一层(例如下一隐藏层或输出层)的输入。
神经网络的每个层指定要对该层的输入执行的一个或多个变换操作。一些神经网络层具有被称为神经元的操作。每个神经元接收一个或多个输入并生成由另一个神经网络层接收的输出。通常,每个神经元接收来自其他神经元的输入,并且每个神经元向一个或多个其他神经元提供输出。
神经网络的架构指定网络中包括什么层和它们的属性,以及网络的每个层的神经元如何连接。换句话说,架构指定哪些层将其输出作为输入提供给哪些其他层,以及如何提供输出。
每个层的变换操作由安装了实现变换操作的软件模块的计算机执行。因此,被描述为执行操作的层意味着实现该层的变换操作的计算机执行这些操作。
每个层使用该层的参数集的当前值生成一个或多个输出。因此,训练神经网络涉及对输入持续执行前向传递、计算梯度值、并使用计算的梯度值更新每个层的参数集的当前值。一旦神经网络被训练,最终的参数集值可以用于在生产系统中做出预测。
发明内容
本说明书描述了因素(agent)(例如,自主或半自主载具)如何能够在因素处于世界中的特定地理位置时通过使用历史传感器数据来做出策略决策,历史传感器数据是由一个或多个载具在载具导航通过世界中的相同特定地理位置时以相应的精确时间步捕获的。一旦因素已被训练,系统就可以部署在载具上,并且可以被载具使用以做出自主或半自主驾驶决策。
本说明书还描述了模拟的因素(例如,模拟的版本的载具)如何能够在特定现实世界地理位置的模拟内部做出策略决策时使用与相同的特定现实世界地理位置相关的历史传感器数据。
本说明书还描述了系统如何能够操持(curate)由导航通过现实世界的载具生成的历史传感器数据,以将每条历史数据与生成数据所处的相应现实世界位置相关联。系统可以将历史数据保持在其中可由一个或多个载具查询的云上。
可以实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。
通过使用与特定现实世界位置相关联的历史数据,因素可以通过利用已经去过相同的特定现实世界位置的其他因素的先前经验来做出更准确的策略决策。因素可以利用可能不适用于其他位置的、特定于特定位置的信息。例如,在给定四向交叉路口处行人的行为可能与在其他位置或者甚至在其他四向交叉路口处行人的行为非常不同。因此,在选择因素的动作时,使用与因素的特定位置相关联的历史数据可能比使用跨许多不同位置生成的历史数据的更大的全集(corpus)更有用,因为在不同位置处生成的数据可能是无用的,或者甚至是误导的。
通过使用历史数据做出针对模拟的因素的策略决策,系统可以通过使模拟的因素更具现实性来改进模拟。系统还可以增强现有场景,以创建比常规观察的场景更加多样化和复杂的模拟。这进而可以引起可用于测试或以其他方式改进现实世界的自主或半自主载具的控制软件的性能的改进的模拟。
在附图和以下描述中阐述本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面和优点将从描述、附图和权利要求中变得清晰。
附图说明
图1是示例系统的示图。
图2是示例体素网格的示图。
图3是使用历史数据以选择因素的动作的示例过程的流程图。
图4是用于生成历史数据的嵌入的示例过程的流程图。
图5是另一个示例系统的示图。
图6是示例模拟的体素网格的示图。
图7是用于查询历史数据的示例过程的流程图。
图8是使用历史数据以选择模拟的因素的动作的示例过程的流程图。
图9是使用历史数据以评估模拟的因素的候选动作的示例过程的流程图。
图10是使用历史数据以鉴别(discriminate)模拟的因素的候选动作的示例过程的流程图。
在各个附图中相同的附图标记和称号指示相同的元素。
具体实施方式
本说明书描述了因素(例如,自主或半自主载具或模拟的载具)如何能够在因素处于特定地理位置时通过使用历史传感器数据来做出策略决策,该历史传感器数据是由一个或多个载具在载具导航通过相同特定地理位置时捕获的。
图1是示例系统100的示图。系统100包括机载系统110和数据库系统120。
机载系统110机载地位于载具102。在图1中载具102被示为汽车,但是机载系统102可以机载地位于任何适当的载具类型的载具。载具102可以是完全自主的载具,其确定并执行完全自主驾驶决策以导航通过环境。载具102也可以是使用预测来帮助人类驾驶员的半自主载具。例如,如果预测指示人类驾驶员将要与另一载具碰撞,则载具102可以自主地应用制动器。
机载系统110包括一个或多个传感器系统104。传感器系统104包括接收电磁辐射的反射的组件的组合,例如,检测激光的反射的激光检测和测距(lidar)系统、检测无线电波的反射的雷达系统、以及检测可见光的反射的相机系统。
传感器系统104或载具102的其他组件可以将来自一个或多个传感器的一个或多个原始传感器测量的组(group)分类为某一对象(例如,另一载具或行人)的测量。取决于正被捕获的传感器测量的类型,传感器测量的组可以以各种方式中的任何方式来表示。例如,原始激光传感器测量的每个组可以表示为边界框以及关联的运动学信息,其中该边界框是包含对象的环境中的凸区域。关联的运动学信息可以包括对象的速度、对象的加速度、对象的走向或对象的对象类型中的一个或多个。在本说明书中,这些边界框和关联的运动学信息被称为“感知”数据。
每条感知数据与现实世界的地理位置相关联,现实世界的地理位置是在感知数据被记录的时间处由感知数据表示的对象所占据的位置。对照一般类型的位置(例如,交叉路口),每个现实世界的地理位置是世界中的特定点(例如,曼哈顿的百老汇和华尔街的交叉路口)。例如,现实世界的地理位置可以是在地球分解成多个单元(cell)时的特定单元,例如,处于s2cell层次结构的特定级别的单元。
传感器系统104或载具102的其他组件还可以独立于任何关联的感知数据而生成将载具102访问现实世界的地理位置的事实载入日志的数据。在本说明书中,将载具102访问的一个或多个现实世界的地理位置载入日志的数据被称为“位姿(pose)”数据。当载具102导航通过现实世界时,载具102连续生成包括感知数据和位姿数据二者的传感器数据118,并将传感器数据118提供给数据库系统120。在一些实施方式中,载具102以“日志”的形式提供传感器数据118。日志是单条的感知数据或位姿数据。
示例感知日志可以是包围检测到行人穿过百老汇街道的空间的边界框,以及详细说明行人正以每小时3英里的速度行走的关联的运动学信息。示例位姿日志可以是载具102处于百老汇和华尔街的拐角处的识别。
数据库系统120将接收的日志数据存储在日志数据数据库130中,日志数据数据库130存储从与数据库系统120通信的一个或多个载具的车队中的载具接收的传感器数据的日志。
数据库系统120可以对现实世界中每个特定地理位置的日志数据进行分组,使得由不同载具在不同时间、在相同地理位置收集的日志数据处于相同地理位置特定的分组。为此,数据库系统120处理存储在日志数据数据库130中的日志数据,从而将日志数据数据库130中的每个日志分配给由日志表示的对象在生成日志时所处于的地理位置。数据库系统120将该地理位置到日志数据的映射存储在地理位置特定的快照(snapshot)数据库132中。可以针对给定地理位置查询地理位置特定的快照数据库132。响应于查询,地理位置特定的快照数据库132可以提供在给定地理位置中生成的感知和/或位姿日志数据。地理位置特定的快照数据库132可以是多个数据库的系统,或者它可以是更大数据库的一个或多个部分。
机载系统110还包括选择载具102的动作的策略决策做出系统112和地理位置系统106。
地理位置系统106重复确定载具102的当前地理位置,从而生成包括载具102的当前地理位置的地理位置数据108。地理位置系统106将地理位置数据108发送给策略决策做出系统112。
策略决策做出系统112使用地理位置数据108来生成查询154并将查询154传输给地理位置特定的快照数据库132。查询154包括载具102的当前地理位置,并且请求当前地理位置以及可选地一个或多个周围的地理位置的数据。
地理位置特定的快照数据库132从其存储的数据中收集历史数据144。根据查询154,历史数据144包括与当前地理位置以及可选地当前地理位置周围的一个或多个地理位置对应的感知和/或位姿日志数据。地理位置特定的快照数据库132将历史数据144发送给策略决策做出系统112。
在一些实施方式中,策略决策做出系统112生成历史数据144的嵌入,从而将数据变换成更可用的形式。嵌入是表示输入的数值的有序集合,例如浮点或其他数值的向量或矩阵。策略决策做出系统112处理历史数据144的嵌入以做出策略决策。
在一些实施方式中,查询154还可以包括历史数据144必须满足以被返回的一个或多个条件。例如,如果载具102在下雨时正在导航,则策略决策做出系统112可以在查询154中包括返回的历史数据144必须仅包括在下雨时收集的数据的条件。潜在感兴趣的条件的其他非限制性示例可以包括一天中的时间、一周中的一天、一年中的时间、交通条件和其他天气条件。在这些实施方式中,地理位置特定的快照数据库仅返回满足所有要求的条件的数据。
在一些实施方式中,为了处理日志数据数据库130中的日志数据以生成存储在地理位置特定的快照数据库132中的数据,数据库系统120使用施加在现实世界上的预先建立的体素网格以按特定地理位置对日志数据进行分组。即,数据库系统120针对对应于感知或位姿日志的每个地理位置确定建立的体素网格中的哪个体素包含该日志,并将该日志分配给确定的体素。每个体素是三维凸形状(例如,框),其表征现实世界中的对应的三维空间。体素网格是针对现实世界的某个区域的这样的体素的网格,其中现实世界的该区域中的每个给定地理位置被包括在正好一个体素中。在这些实施方式中,地理位置特定的快照数据库132对每个体素的日志进行分组,使得当数据库接收针对给定地理位置的查询时,数据库确定哪个体素包含给定地理位置,然后数据库返回对应于该体素的数据。在这些实施方式中,当策略决策做出系统112请求载具102的当前地理位置和可选地周围地理位置的数据时,数据库可以返回包含载具102的体素以及可选地周围体素的数据。
下面参考图3和图4更详细地描述策略决策做出系统可以嵌入历史数据并使用嵌入来做出策略决策的过程。
不要求载具102是物理载具,因此不要求机载系统110物理地机载于载具102。图1的上述描述同样适用于在模拟现实世界位置的环境中操作的模拟的因素。在该实施方式中,机载系统110可以位于云,传感器系统104可以是模拟的传感器系统,地理位置系统106可以是模拟的地理位置系统,并且策略决策做出系统可以决定针对在模拟的环境中操作的模拟的因素的策略。模拟的环境可以是数据库系统120具有其历史数据的现实世界位置的模拟。模拟的地理位置系统106可以提供对应于现实世界地理位置的地理位置数据108,使得策略决策做出系统112可以提交针对对应于现实世界的地理位置的历史数据144的查询154并且做出决策,就像模拟的因素正在该现实世界的地理位置中操作那样。
这样的模拟的实施方式可能对训练最终将部署在现实世界中的载具上的机器学习模型有用。这样的模拟的实施方式也可能对在将软件部署在现实世界中的载具上之前对软件进行测试有用,以确保软件按期望发挥作用。
图2是示例体素网格200的示图。
因素202处于网格的中心体素(0,0)。因素202的策略决策做出系统从因素202的地理位置系统接收因素202的当前地理位置(0,0),并针对在当前地理位置中生成的历史数据以及可选地感兴趣的一个或多个周围地理位置查询地理位置特定的快照数据库。在图2所示的示例中,包含感兴趣的地理位置的体素用星号标记,并在两个坐标方向上从-2坐标到+2坐标围绕小汽车。因素202的策略决策做出系统不提交针对除了那些被指定为感兴趣的体素(由星号表示)以外的任何其他体素的历史数据的查询。例如,对地理位置特定的快照数据库的查询中不包括体素(-3,-3)。
当策略决策做出系统从地理位置特定的快照数据库接收回期望的历史数据时,策略决策做出系统使用该数据来选择因素202的动作。参考图3和图4更详细地描述该过程。
图3是用于使用地理位置特定的快照数据库来选择因素的动作的示例过程300的流程图。为方便起见,过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的机载系统(例如,图1的机载系统110)可以执行过程300。
系统确定因素的当前地理位置(步骤302)。在一些实施方式中,确定因素的当前地理位置包括确定施加于因素的环境的预定体素网格中的因素的当前体素。
系统获得因素的当前体素以及可选地周围体素的历史数据(304)。例如,系统可以向地理位置特定的快照数据库提交查询。该查询可以识别感兴趣的体素。然后系统可以从地理位置特定的快照数据库接收回查询的数据。在一些实施方式中,系统在查询中包括因素的当前体素和预定数量的周围的体素,周围的体素以预定形式围绕因素的当前体素。例如,系统可以包括形成体素网格的3×3子网格的九个体素,其中因素的当前体素是3×3子网格的中心体素。
系统生成历史数据的嵌入(步骤306)。
在一些实施方式中,系统通过直接在历史数据上计算统计来生成历史数据的嵌入。例如,系统可以计算在给定体素中观察到周围载具的时间的百分比,与因素已经从该体素中获得传感器数据的次数成比例。系统还可以计算关于速度、走向或与感知数据相关联的任何其他信息的分布的统计。系统可以针对每个单独的体素计算这些统计的单独的集合,针对跨多个体素的所有历史数据计算这些统计的组合的集合,或者可以计算统计的单独的集合和统计的组合的集合二者。然后,系统可以从计算的统计中生成历史数据的单个嵌入。例如,如果系统使用机器学习的神经网络规划器选择因素的动作,则系统可以将每个体素的计算的统计中的每一个包括以作为向量的元素,并将向量提供给神经网络。
在一些其他实施方式中,系统通过使用一个或多个嵌入神经网络处理数据来生成历史数据的嵌入。下面参考图4更详细地描述该过程。
系统处理生成的嵌入以选择因素的动作(步骤308)。
在一些实施方式中,系统使用机器学习的神经网络规划器来选择因素的动作。在这些实施方式中,系统可以提供嵌入作为对神经网络的输入。
在一些其他实施方式中,系统使用历史数据的嵌入来通过将嵌入作为输入提供给评估候选动作的鉴别器来选择策略。鉴别器可以评估因素要采取的提议的(proposed)动作、因素的提议的后续(next)状态或两者,从而接受或拒绝提议的动作和/或后续状态。如果鉴别器是机器学习的神经网络鉴别器,则鉴别器可以采取向量形式的提议的动作和/或后续状态以及向量形式的历史数据的嵌入,可选地还有其他输入,作为输入。在一些实施方式中,鉴别器输出分数,该分数表征在给定当前状态和历史数据的情况下所提议的动作和/或后续状态是现实性的或期望的可能性(likelihood)。在一些其他实施方式中,鉴别器输出二元决策以接受或拒绝提议的动作和/或后续状态,例如,如果分数满足预定阈值,则接受提议的动作和/或后续状态,否则,拒绝提议的动作和/或后续状态。
图4是用于生成查询的历史数据的嵌入的示例过程400的流程图。为方便起见,过程400将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的策略决策做出系统(例如,图1的策略决策做出系统112)可以执行过程400。
系统获得环境中的因素的当前体素和周围体素的历史数据(步骤402)。系统可以从数据库(例如,图1中描绘的地理位置特定的快照数据库132)接收历史数据的一个或多个日志。历史数据的每个日志可以对应于查询的体素中的相应体素。
系统使用第一嵌入神经网络来处理数据以生成历史数据中的每个日志的历史数据嵌入(步骤404)。
例如,系统可以生成针对历史数据的每个日志的初始嵌入。作为特定示例,历史数据的日志可以包括i)定义环境中的对象的三维边界框的数据,以及ii)环境中的对象的一个或多个运动参数(例如,速度、加速度、走向、位置等中的一个或多个)。在该示例中,系统可以生成初始嵌入,该初始嵌入包括识别边界框的参数的元素和识别运动参数的元素。
然后,系统可以使用神经网络处理历史数据的日志的初始嵌入,以生成日志的历史数据嵌入。例如,系统可以使用多层感知器(perceptron)处理初始嵌入。
在一些实施方式中,在处理日志以生成日志的历史数据嵌入之前,系统从与日志相关联的环境中的位置中减去体素的中心位置。即,系统使用其原点是体素的中心的坐标系来表示日志。因此,跨所有查询的体素的每个日志都可以相对于日志的体素的位置进行归一化。这样做可以帮助系统保持数值精确度,并且可以确保每个日志的相应历史数据嵌入跨体素网格是统一的。
在一些实施方式中,对应于相应不同时间点的多个不同日志可以相互关联。例如,日志可以表示在相应不同时间点处的同一对象。在一些这样的实施方式中,系统还可以处理关联的日志的相应历史嵌入以生成针对多个日志的单个组合的历史嵌入。例如,系统可以使用包括一个或多个一维卷积神经网络层的神经网络来处理关联的日志的相应历史嵌入,其中每个卷积神经网络层在时间维度中跨历史嵌入对滤波器进行卷积。
系统针对每个查询的体素组合对应于该体素的每个历史数据嵌入以生成相应的地理位置嵌入(步骤406)。也就是说,系统针对每个查询的体素生成一个地理位置嵌入。例如,针对每个查询的体素,系统可以使用第二嵌入神经网络组合历史数据嵌入。在一些实施方式中,第二嵌入神经网络包括一个或多个卷积神经网络层,随后是一个或多个完全连接层,其产生固定长度的向量。
系统组合针对所有查询的体素的地理位置嵌入以生成最终的嵌入(步骤408)。例如,系统可以级联地理位置嵌入以生成最终嵌入。作为另一个示例,系统可以将最终嵌入确定为地理位置嵌入的平均。作为另一个示例,系统可以使用最大池化或最小池化层来处理地理位置嵌入。作为另一个示例,使用第三嵌入神经网络组合地理位置嵌入。
如果系统使用机器学习的神经网络规划器,则系统可以将该最终嵌入提供给策略神经网络,以选择因素的动作。在一些实施方式中,一个或多个嵌入神经网络与策略神经网络同时训练。例如,训练系统可以通过策略神经网络将策略神经网络的误差反向传播到一个或多个嵌入神经网络。通过与策略神经网络联合地训练嵌入神经网络,系统可以确保由嵌入神经网络生成的嵌入表示在选择因素的动作时对策略神经网络有用的输入历史数据的属性。
图5是示例系统500的示图。系统500是在一个或多个服务器524上实现为一个或多个计算机程序的系统的示例。系统500包括模拟的因素系统502和数据库系统520。
模拟的因素系统502位于云,并且是机载地位于载具上的机载系统的模拟版本。
模拟的因素系统502包括模拟的传感器系统504。模拟的传感器系统504模拟本应被发现机载于载具的传感器系统。模拟的传感器系统504接收表征本应由机载传感器系统的组件和传感器生成的传感器测量的数据。模拟的传感器系统504或模拟的因素系统502的其他组件可以将表征来自一个或多个传感器的一个或多个传感器测量的组的数据分类为某一对象(例如,另一载具或行人)的测量。
如上面参考图1所述,数据库系统520包括存储日志数据536的日志数据数据库530,该日志数据表征从与数据库系统520通信的一个或多个载具的车队中的载具接收的传感器数据的日志的。日志数据536包括感知和位姿数据二者。
数据库系统520能够按照现实世界中的特定地理位置以及按照观察的特定对象对日志数据536进行分组。例如,对于由载具在现实世界中观察的给定对象,数据库系统520可以对由载具生成的给定对象的感知日志的序列(例如,预定数量的感知日志的序列)进行分组。在本说明书中,将表示单个对象的预定数量的感知日志的序列称为对象的“轨迹”。数据库系统120将这些轨迹存储在地理位置特定的轨迹数据库534中。地理位置特定的轨迹数据库534可以针对给定的地理位置进行查询,并提供包括给定地理位置的所有轨迹。
例如,如果载具生成在相应的时间点将给定对象处于地理位置A、B、C和D(按照该顺序)载入日志的传感器数据,并且数据库系统520以三个感知日志的组生成轨迹,则数据库系统520将生成第一轨迹(A、B、C)和第二轨迹(B、C、D),并将这两个轨迹存储在地理位置特定的轨迹数据库534中。然后,可以针对地理位置B查询地理位置特定的轨迹数据库534,并且地理位置特定的轨迹数据库534将返回上述轨迹二者,因为地理位置B处于两个轨迹中。地理位置特定的轨迹数据库534可以是多个数据库的系统,或者它可以是更大数据库的一个或多个部分。
模拟的因素系统502还包括模拟的地理位置系统506和选择模拟的因素的动作的模拟的策略决策做出系统512。
在模拟的因素系统502正模拟机载地位于在现实世界中导航的载具上的机载系统的模拟期间,模拟的地理位置系统506在模拟的因素导航通过模拟的环境时重复生成模拟的因素的当前模拟的地理位置,从而生成地理位置数据508。模拟的地理位置系统506将地理位置数据508发送给模拟的策略决策做出系统512。
模拟的策略决策做出系统512使用地理位置数据508来生成查询554并将查询554传输给地理位置特定的轨迹数据库534。查询554识别模拟的因素的当前模拟的地理位置,并请求当前模拟的地理位置和可选地一个或多个周围的地理位置的数据。
地理位置特定的轨迹数据库534从其存储的数据中收集历史轨迹544。历史轨迹544可以包括包含当前模拟的地理位置的轨迹。在一些实施方式中,历史轨迹544排除轨迹中的最终地理位置是当前模拟的地理位置的那些轨迹,因为那些轨迹在确定当前模拟的地理位置之后的后续地理位置时没有价值。地理位置特定的轨迹数据库534将历史轨迹544发送给模拟的策略决策做出系统512。模拟的策略决策做出系统512使用历史轨迹544来做出策略决策。
在一些实施方式中,查询544可以进一步识别模拟的因素的一个或多个先前模拟的地理位置。在这些实施方式中,返回的历史轨迹544可以仅包括包含模拟的因素的所有先前模拟的地理位置和模拟的因素的当前模拟的地理位置的轨迹,其中地理位置在历史轨迹544中的顺序与模拟的因素模拟访问地理位置的顺序相同。下面参考图7更详细地描述该过程。
如上面参考图1所述,在一些实施方式中,查询554还可以识别历史轨迹544必须满足以被返回的一个或多个条件。例如,如果模拟的环境正在模拟下雨条件,则模拟的策略决策做出系统可以在查询554中包括返回的历史轨迹544必须仅包括在下雨时收集的数据的条件。
如上面参考图1所述,在一些实施方式中,数据库系统520使用施加在现实世界上的预先建立的体素网格,以在生成要存储在地理位置特定的轨迹数据库534中的数据时按特定地理位置对日志数据进行分组。
下面参考图8-图10更详细地描述模拟的策略决策做出系统可以使用历史轨迹来做出策略决策的过程。
图6是示例模拟的体素网格600的示图。
模拟的因素602处于网格的中心体素(0,0)中。模拟的因素602的模拟的策略决策做出系统从模拟的因素602的模拟的地理位置系统接收模拟的因素602的当前模拟的地理位置(0,0),并针对包括当前模拟的地理位置(0,0)的历史轨迹查询地理位置特定的轨迹数据库。
在图6中示出的示例中,模拟的策略决策做出系统接收回三个轨迹。第一轨迹包括第一先前地理位置620、当前模拟的地理位置和第一随后地理位置622。第二轨迹包括第二先前地理位置640、当前模拟的地理位置和第二随后地理位置642。第三轨迹包括第三先前地理位置660、当前模拟的地理位置和第三随后地理位置662。三个轨迹中的每一个由相应的载具生成,相应的载具访问与i)相应的先前地理位置、ii)当前模拟的地理位置、以及iii)相应的随后地理位置对应的真实世界的地理位置(按照该顺序访问)。
当模拟的因素602的模拟的策略决策做出系统从地理位置特定的轨迹数据库接收表征三个轨迹的数据时,模拟的策略决策做出系统可以使用轨迹选择模拟的因素602的动作。下面参考图8-图10更详细地描述该过程。
图7是用于使用模拟的因素的当前模拟的地理位置和模拟的因素的一个或多个先前模拟的地理位置来查询轨迹的示例过程700的流程图。为方便起见,过程700将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的模拟的因素系统(例如,图5的模拟的因素系统502)可以执行过程700。
系统确定模拟的因素的当前体素和由模拟的因素占据的一个或多个先前体素(步骤702)。当前体素表征模拟的因素的当前模拟的地理位置。先前的体素表征模拟的因素的相应的先前模拟的地理位置。系统还可以确定模拟的因素占据先前体素的顺序。
系统获得以相同的顺序包括模拟的因素的先前体素、随后是模拟的因素的当前体素和后续体素的历史轨迹(步骤706)。每个轨迹的后续体素是在轨迹中的模拟的因素的当前体素之后的轨迹中的体素。后续体素表示由生成了表征轨迹的数据的相应载具在该载具访问模拟的因素的当前体素之后访问的地理位置。
系统将历史轨迹提供给模拟的因素的模拟的策略决策做出系统(步骤708)。模拟的策略决策做出系统使用轨迹来选择模拟的因素的下一个动作。参考图8-图10更详细地描述了用于选择下一个动作的示例过程。
图8是用于选择模拟的因素的下一个动作的示例过程800的流程图。为方便起见,过程800将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的模拟的策略决策做出系统(例如,图5的模拟的策略决策做出系统512)可以执行过程800。
系统从地理位置特定的轨迹数据库接收历史轨迹(步骤802)。历史轨迹各自包括模拟的因素的当前体素和一个或多个后续体素。
系统从每个轨迹中提取一个或多个后续体素,并计算观察的后续体素上的分布(步骤804)。例如,针对每个轨迹,系统可以确定紧接在模拟的因素的当前体素之后的后续体素。然后,针对每个确定的后续体素(即,针对作为至少一个轨迹中的后续体素的每个体素),系统可以确定后续体素在确定的后续体素的组中出现的相对频率。因此,每个后续体素具有表征包括相应的后续体素的历史轨迹的比例的关联的概率。
系统从观察的后续体素上的分布对单个后续体素进行采样(步骤806)。
在一些实施方式中,系统与后续体素的关联的概率成比例地对后续体素进行采样。
在一些其他实施方式中,系统仅从具有相对低的关联的概率的后续体素中采样。相对低的关联的概率是低于某一阈值(例如,1%、5%或10%)的关联的概率。可以选择阈值,以便从采样中消除常见的后续体素,例如具有40%的关联的概率的后续体素。以这种方式,系统可以生成包括以可能的方式(即在现实世界中已被观察但不常见的方式)表现的模拟的因素的模拟。因此,使用模拟进行训练或测试的软件可以暴露于各种各样的训练示例,而不仅仅是现实世界中观察的最常见行为。
系统基于采样的后续体素选择下一个动作(步骤808)。在一些实施方式中,系统选择将导致模拟的因素在未来时间步中移动到采样的后续体素的动作。
图9是使用基于优化的规划器评估针对模拟的因素的候选动作的示例过程900的流程图。为方便起见,过程900将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的模拟的策略决策做出系统(例如,图5的模拟的策略决策做出系统512)可以执行过程900。
系统从地理位置特定的轨迹数据库接收历史轨迹(步骤902)。历史轨迹各自包括模拟的因素的当前体素和一个或多个后续体素。
系统从每个轨迹中提取一个或多个后续体素,并计算观察的后续体素上的分布(步骤904)。例如,针对每个提取的后续体素,系统可以确定后续体素在提取的后续体素的组中出现的相对频率。因此,针对每个后续体素,系统生成表征包括相应后续体素的历史轨迹的比例的关联的概率。
系统接收候选动作和候选后续体素(步骤906)。候选动作可以由基于优化的规划器或模拟的因素的一些其他系统生成,并且表示模拟的因素可能执行的动作。如果模拟的因素执行候选动作,则候选后续体素是模拟的因素将移动到的体素。
系统确定候选后续体素的可能性项(步骤908)。在一些实施方式中,可能性项等于候选后续体素在观察的后续体素上的分布中的关联的概率,或更一般地与候选后续体素在观察的后续体素上的分布中的关联的概率成比例。
系统将可能性项包括在基于优化的规划器的目标函数中(步骤910)。目标函数是由基于优化的规划器最大化的函数。在一些实施方式中,按照使得目标函数随着可能性项的增加而增加的方式将可能性项包括在目标函数中。在这样的实施方式中,目标函数由此奖励导致在观察的后续体素上的分布中具有相对高的关联的概率的后续体素的动作。这样,基于优化的规划器更可能选择已经在历史轨迹中经常观察的动作。
在一些实施方式中,系统对多个候选动作中的每一个执行过程900,然后选择最大化目标函数的候选动作。
图10是鉴别模拟的因素的候选下一个动作的示例过程1000的流程图。为方便起见,过程1000将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当地编程的模拟的策略决策做出系统(例如,图5的模拟的策略决策做出系统512)可以执行过程1000。
系统从地理位置特定的轨迹数据库接收历史轨迹(步骤1002)。历史轨迹各自包括模拟的因素的当前体素和一个或多个后续体素。
系统从每个轨迹中提取一个或多个后续体素,并计算观察的后续体素上的分布(步骤1004)。例如,针对每个提取的后续体素,系统可以确定后续体素在提取的后续体素的组中出现的相对频率。因此,每个后续体素具有表征包括相应的后续体素的历史轨迹的比例的关联的概率。
系统接收候选动作和相应的候选后续体素(步骤1006)。候选动作可以由模拟的因素的策略决策做出系统生成,并且表示模拟的因素可能执行的动作。如果模拟的因素执行候选动作,则候选后续体素是模拟的因素将移动到的体素。
系统使用观察的后续体素上的分布作为用于候选动作和候选后续体素的鉴别器(1008)。换言之,系统使用观察的后续体素上的分布来确定与候选动作相关联的候选后续体素是否是因素的现实性的后续体素,并基于该确定接受或拒绝候选动作。在一些实施方式中,例如,如果关联的概率低于预定的阈值(例如,0.1或0.05),则系统拒绝其关联的候选后续体素在观察的后续体素上的分布中具有相对低的关联的概率的候选动作。作为特定示例,如果关联的候选后续体素出现在提取的后续体素的组中,则系统可以接受候选动作,并且如果关联的候选后续体素未出现在提取的后续体素的组中,则系统可以拒绝候选动作。
在一些实施方式中,如果系统接受候选动作,则模拟的因素执行候选动作,并且如果系统不接受候选动作,则因素的策略决策做出系统生成新的候选动作。
本说明书中描述的主题的实施例和功能操作的实施例可以在数字电子电路中、在有形地实现的计算机软件或固件中、在计算机硬件(包括本说明书中公开的结构以及其结构等效物)中或在它们中的一个或多个的组合中实现。本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂态存储介质上以供数据处理装置执行或控制数据处理装置的操作的计算机程序指令的一个或多个模块。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。可替代地或附加地,程序指令可以编码在人工生成的传播的信号(例如,机器生成的电、光或电磁信号)上,该信号被生成为编码信息以传输到合适的接收器装置以供数据处理装置执行。
术语“数据处理装置”指数据处理硬件并且涵盖用于处理数据的所有种类的装置、设备和机器,举例来说包括可编程处理器、计算机或多个处理器或计算机。该装置还可以是或还包括现成的或定制的并行处理子系统,例如GPU或另一类型的专用处理子系统。该装置还可以是或还包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除了硬件之外,该装置可以可选地包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
计算机程序(其也可以被称为或被描述为程序、软件、软件应用、app、模块、软件模块、脚本或代码)可以以任何形式的编程语言(包括编译或解释性语言、或声明性或过程语言)编写,并且其可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适于在计算环境中使用的单元。程序可以但不必与文件系统中的文件对应。程序可以存储在保持其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)中、在专用于所讨论的程序的单个文件中、或在多个协作的文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。计算机程序可以部署为在一个计算机上或多个计算机上执行,所述多个计算机位于一个站点处或跨多个站点分布并通过数据通信网络互连。
对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已在其上安装软件、固件、硬件或它们的组合,这些软件、固件、硬件或它们的组合在操作中导致系统执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着该一个或多个程序包括指令,这些指令在由数据处理装置执行时使该装置执行操作或动作。
如本说明书中所使用的,“引擎”或“软件引擎”是指提供与输入不同的输出的软件实现的输入/输出系统。引擎可以是编码的功能块,诸如库(library)、平台、软件开发工具包(“SDK”)或对象。每个引擎可以实现在任何适当类型的计算设备上,例如包括一个或多个处理器和计算机可读介质的服务器、移动电话、平板计算机、笔记本计算机、音乐播放器、电子书阅读器、膝上型计算机或台式计算机、PDA、智能电话或其他固定或便携式设备。此外,引擎中的两个或更多可以在相同的计算设备上或在不同的计算设备上实现。
本说明书中描述的过程和逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过对输入数据操作并生成输出来执行功能。所述过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)执行,或者由专用逻辑电路和一个或多个编程的计算机的组合来执行。
适合于计算机程序的执行的计算机可以基于通用或专用微处理器或二者,或者任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路来补充或可以结合到专用逻辑电路中。一般来说,计算机也将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或可操作地耦合一个或多个大容量存储设备以从一个或多个大容量存储设备接收数据或将数据传送给一个或多个大容量存储设备或者接收和传送二者。然而,计算机不必具有这样的设备。另外,计算机可以嵌入到另一设备(例如,仅举几例,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如通用串行总线(USB)快闪驱动器))中。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例来说,包括半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。
为了提供与用户的交互,本说明书中描述的主题的实施例可以实现在具有用于向用户显示信息的显示设备以及键盘和指向设备的计算机上,显示设备例如为CRT(阴极射线管)或LCD(液晶显示器)监视器,用户可以通过键盘和指向设备(例如,鼠标、轨迹球或存在敏感显示器或其他界面)向计算机提供输入。也可以使用其他类型的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向由用户使用的设备发送文档和接收来自该设备的文档来与用户交互;例如,通过响应于从用户的设备上的网络浏览器接收的请求而将网页发送给网络浏览器。另外,计算机可以通过将文本消息或其他形式的消息发送给个人设备(例如,运行消息收发应用的智能电话)并且作为回应从用户接收响应消息来与用户交互。
本说明书中描述的主题的实施例可以在计算系统中实现,该计算系统包括后端组件(例如作为数据服务器)或包括中间件组件(例如应用服务器)或包括前端组件(例如具有图形用户界面、网络浏览器或app的客户端计算机,用户可通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端、中间件或前端组件的任意组合。可以通过任意形式或媒介的数字数据通信(例如通信网络)将系统的组件互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般彼此远离,并且典型地通过通信网络交互。通过运行在相应计算机上并且彼此具有客户端-服务器关系的计算机程序来形成客户端和服务器的关系。在一些实施例中,服务器向用作客户端的用户设备传输数据(例如,HTML页面),例如,用于向与设备交互的用户显示数据和从与设备交互的用户接收用户输入的目的。在用户设备处生成的数据(例如,用户交互的结果)可以在服务器处从该设备接收。
除了上述实施例之外,以下实施例也具有创新性:
实施例1是一种方法,包括:
确定环境内的因素的当前地理位置;
从数据库获得针对在因素的当前地理位置附近的地理位置的历史数据,所述数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括至少部分地从由导航通过环境的载具捕获的地理位置的传感器读数生成的观察;
生成获得的历史数据的嵌入;以及
将嵌入作为输入提供给策略决策做出系统,该策略决策做出系统选择要由因素执行的动作。
实施例2是实施例1所述的方法,其中,当前地理位置是施加在环境上的体素网格中的特定体素。
实施例3是实施例2所述的方法,其中,在当前地理位置附近的地理位置包括特定体素和围绕特定体素的周围体素集。
实施例4是实施例1-3中任一项所述的方法,其中,所述因素是自主载具。
实施例5是实施例1-3中任一项所述的方法,其中,所述因素是在环境的模拟的版本中使用的模拟的因素。
实施例6是实施例1-5中任一项所述的方法,其中,策略决策做出系统是基于优化的规划器。
实施例7是实施例1-5中任一项所述的方法,其中,策略决策做出系统是机器学习的神经网络规划器。
实施例8是实施例7所述的方法,其中,生成嵌入包括:
从获得的历史数据中的观察计算统计;以及
从计算的统计生成所述嵌入。
实施例9是实施例7或8中任一项所述的方法,其中,生成嵌入包括:
使用嵌入神经网络处理获得的历史数据以生成历史数据嵌入,以及
针对在当前地理位置附近的每个地理位置,组合与该地理位置对应的每个历史数据嵌入,以生成针对该地理位置的地理位置嵌入;以及
组合地理位置嵌入以生成所述嵌入。
实施例10是实施例1-9中任一项所述的方法,其中,将历史数据的嵌入提供给策略决策做出系统包括:将历史数据的嵌入作为输入提供给策略决策做出系统的鉴别器。
实施例11是实施例1-10中任一项所述的方法,其中,针对每个地理位置的历史数据中的每个观察识别载具遇到该地理位置以及载具的传感器在该地理位置中是否检测到对象。
实施例12是实施例11所述的方法,其中,当载具的传感器在该地理位置中检测到对象时,所述观察识别检测到的对象的一个或多个属性,其中,所述一个或多个属性包括以下中的一项或多项:对象的速度、对象的加速度、对象的走向、对象的对象类型、对象的大小、或对象的曲率信息。
实施例13是实施例1-12中任一项所述的方法,其中,获得历史数据包括仅获得下述历史数据:当环境的状态的一个或多个属性与在因素处于当前地理位置时环境的当前状态的属性匹配时,该历史数据被生成。
实施例14是一种方法,包括:
确定环境内的因素的当前地理位置;
从数据库获得针对因素的当前地理位置的历史数据,所述数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括由导航通过环境的载具的传感器在该地理位置处检测到的一个或多个对象中的每一个的相应的观察,其中,每个观察识别至少(i)处于该地理位置的对象和(ii)对象在处于该地理位置之后移动到的后续地理位置;以及
至少部分地基于历史数据生成因素的未来轨迹。
实施例15是实施例14所述的方法,其中,所述因素是在环境的模拟的版本中使用的模拟的因素。
实施例16是实施例14或15中任一项所述的方法,其中,当前地理位置是施加于环境的建立的体素网格中的特定体素。
实施例17是实施例14-16中任一项所述的方法,其中,生成未来轨迹包括:
针对每个相应的观察,识别对象在处于该地理位置之后移动到的后续地理位置;以及
计算观察的后续地理位置上的分布。
实施例18是实施例17所述的方法,其中,生成未来轨迹还包括:
从观察的后续地理位置上的分布采样单个后续地理位置;以及
选择后续地理位置作为未来轨迹中的后续位置。
实施例19是实施例18所述的方法,其中,从观察的后续地理位置上的分布采样单个后续地理位置包括:从具有相对低的关联的概率的观察的后续地理位置采样。
实施例20是实施例17-19中任一项所述的方法,其中,生成未来轨迹还包括:
获得因素的候选未来轨迹;以及
使用观察的后续地理位置上的分布来确定候选未来轨迹是否是因素的现实性的未来轨迹。
实施例21是实施例17-20中任一项所述的方法,其中,至少部分地基于历史数据生成因素的未来轨迹包括:使用基于优化的规划器生成未来轨迹,所述基于优化的规划器选择要由因素执行的动作以优化目标函数。
实施例22是实施例21所述的方法,其中,所述目标函数包括第一项,第一项根据历史数据测量未来轨迹中的后续地理位置的可能程度,并且其中,所述基于优化的规划器基于观察的后续地理位置上的分布确定针对不同的动作的第一项的值。
实施例23是实施例14-22中任一项所述的方法,其中,每个观察还识别(iii)对象在移动到当前地理位置之前所处的一个或多个早前地理位置,并且其中,获得历史数据包括仅获得识别与因素的早前地理位置匹配的一个或多个早前地理位置的观察。
实施例24是实施例14-23中任一项所述的方法,其中,获得历史数据包括仅获得下述历史数据:当环境的状态的一个或多个属性与在因素处于当前地理位置时环境的当前状态的属性匹配时,该历史数据被生成。
实施例25是一种系统,包括:一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时可操作以使一个或多个计算机执行实施例1至实施例24中任一项所述的方法。
实施例26是用计算机程序编码的一个或多个非暂时性计算机存储介质,所述程序包括指令,所述指令在由数据处理装置执行时可操作以使数据处理装置执行实施例1至实施例24中任一项所述的方法。
尽管本说明书包含许多具体的实施细节,但是这些细节不应当被解释为对任何发明的范围或对可能请求保护的范围进行限制,而是应该被解释为可能特定于特定发明的特定实施例的特征的描述。在本说明书中在分开的实施例的上下文中描述的某些特征也可以以组合方式实现在单个实施例中。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中分开实现或以任何合适的子组合实现。此外,尽管特征可以如上被描述为以某些组合起作用并且甚至最初也这样地请求保护,但在一些情况下,来自所请求保护的组合的一个或多个特征可以从组合中删除,并且所请求保护的组合可以指向子组合或子组合的变体。
类似地,尽管在附图中以特定次序描绘了操作,但是这不应当被理解为要求以示出的特定次序或以顺序的次序来执行这样的操作或者要求执行所有示出的操作来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。另外,在上述实施例中各种系统模块和组件的分离不应当被理解为在所有实施例中要求这样的分离,而是应当理解,所描述的程序组件和系统可以一般地在单个软件产品中被集成在一起或者被封装成多个软件产品。
已经描述了主题的特定实施例。其他实施例在所附权利要求的范围内。例如,记载在权利要求中的动作可以以不同的次序执行而仍然实现期望的结果。作为一个示例,附图中描绘的过程不一定要求所示出的特定次序或者顺序的次序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (20)

1.一种方法,包括:
确定环境内的因素的当前地理位置;
从数据库获得针对在因素的当前地理位置附近的地理位置的历史数据,所述数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括至少部分地从由导航通过环境的载具捕获的地理位置的传感器读数生成的观察;
生成获得的历史数据的嵌入;以及
将嵌入作为输入提供给策略决策做出系统,该策略决策做出系统选择要由因素执行的动作。
2.如权利要求1所述的方法,其中,当前地理位置是施加在环境上的体素网格中的特定体素。
3.如权利要求2所述的方法,其中,在当前地理位置附近的地理位置包括特定体素和围绕特定体素的周围体素集。
4.如权利要求1-3中任一项所述的方法,其中,所述因素是自主载具。
5.如权利要求1-3中任一项所述的方法,其中,所述因素是在环境的模拟的版本中使用的模拟的因素。
6.如权利要求1-5中任一项所述的方法,其中,策略决策做出系统是基于优化的规划器。
7.如权利要求1-6中任一项所述的方法,其中,策略决策做出系统是机器学习的神经网络规划器。
8.如权利要求7所述的方法,其中,生成嵌入包括:
从获得的历史数据中的观察计算统计;以及
从计算的统计生成所述嵌入。
9.如权利要求7或8中任一项所述的方法,其中,生成嵌入包括:
使用嵌入神经网络处理获得的历史数据以生成历史数据嵌入,以及
针对在当前地理位置附近的每个地理位置,组合与该地理位置对应的每个历史数据嵌入,以生成针对该地理位置的地理位置嵌入;以及
组合地理位置嵌入以生成所述嵌入。
10.如权利要求1-9中任一项所述的方法,其中,将历史数据的嵌入提供给策略决策做出系统包括:将历史数据的嵌入作为输入提供给策略决策做出系统的鉴别器。
11.如权利要求1-10中任一项所述的方法,其中,针对每个地理位置的历史数据中的每个观察识别载具遇到该地理位置以及载具的传感器在该地理位置中是否检测到对象。
12.如权利要求11所述的方法,其中,当载具的传感器在该地理位置中检测到对象时,所述观察识别检测到的对象的一个或多个属性,其中,所述一个或多个属性包括以下中的一项或多项:对象的速度、对象的加速度、对象的走向、对象的对象类型、对象的大小、或对象的曲率信息。
13.如权利要求1-12中任一项所述的方法,其中,获得历史数据包括仅获得下述历史数据:当环境的状态的一个或多个属性与在因素处于当前地理位置时环境的当前状态的属性匹配时,该历史数据被生成。
14.一种系统,包括一个或多个计算机和存储指令的一个或多个存储设备,所述指令在由一个或多个计算机执行时可操作以使一个或多个计算机执行操作,所述操作包括:
确定环境内的因素的当前地理位置;
从数据库获得针对在因素的当前地理位置附近的地理位置的历史数据,所述数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括至少部分地从由导航通过环境的载具捕获的地理位置的传感器读数生成的观察;
生成获得的历史数据的嵌入;以及
将嵌入作为输入提供给策略决策做出系统,该策略决策做出系统选择要由因素执行的动作。
15.如权利要求14所述的系统,其中,策略决策做出系统是基于优化的规划器。
16.如权利要求14或15中任一项所述的系统,其中,策略决策做出系统是机器学习的神经网络规划器。
17.如权利要求16所述的系统,其中,生成嵌入包括:
使用嵌入神经网络处理获得的历史数据以生成历史数据嵌入,以及
针对在当前地理位置附近的每个地理位置,组合与该地理位置对应的每个历史数据嵌入,以生成针对该地理位置的地理位置嵌入;以及
组合地理位置嵌入以生成所述嵌入。
18.一个或多个非暂时性计算机存储介质,其编码有计算机程序指令,所述计算机程序指令在由多个计算机执行时使多个计算机执行操作,所述操作包括:
确定环境内的因素的当前地理位置;
从数据库获得针对在因素的当前地理位置附近的地理位置的历史数据,所述数据库保持针对环境内的多个地理位置的历史数据,针对每个地理位置的历史数据包括至少部分地从由导航通过环境的载具捕获的地理位置的传感器读数生成的观察;
生成获得的历史数据的嵌入;以及
将嵌入作为输入提供给策略决策做出系统,该策略决策做出系统选择要由因素执行的动作。
19.如权利要求18所述的非暂时性计算机存储介质,其中,策略决策做出系统是基于优化的规划器。
20.如权利要求18或19中任一项所述的非暂时性计算机存储介质,其中,策略决策做出系统是机器学习的神经网络规划器。
CN202080084045.5A 2019-10-04 2020-10-05 时空位姿/对象数据库 Pending CN114761942A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962911183P 2019-10-04 2019-10-04
US62/911,183 2019-10-04
PCT/US2020/054278 WO2021158264A2 (en) 2019-10-04 2020-10-05 Spatio-temporal pose/object database

Publications (1)

Publication Number Publication Date
CN114761942A true CN114761942A (zh) 2022-07-15

Family

ID=75274809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080084045.5A Pending CN114761942A (zh) 2019-10-04 2020-10-05 时空位姿/对象数据库

Country Status (5)

Country Link
US (1) US20210101614A1 (zh)
EP (1) EP4022254A4 (zh)
JP (1) JP7446416B2 (zh)
CN (1) CN114761942A (zh)
WO (1) WO2021158264A2 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3828587A1 (en) * 2019-11-29 2021-06-02 Aptiv Technologies Limited Method for determining the position of a vehicle

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6662316B2 (ja) * 2017-01-17 2020-03-11 トヨタ自動車株式会社 車両制御システム
US10569772B2 (en) * 2017-04-12 2020-02-25 Hrl Laboratories, Llc Cognitive behavior prediction system for autonomous systems
JP6257872B1 (ja) 2017-06-01 2018-01-10 三菱電機株式会社 移動体制御装置、移動体制御方法及び移動体制御プログラム
WO2019023628A1 (en) 2017-07-27 2019-01-31 Waymo Llc NEURAL NETWORKS FOR VEHICLE TRACK PLANNING
WO2019053695A1 (en) * 2017-09-18 2019-03-21 Telefonaktiebolaget L M Ericsson (Publ) SYSTEM AND METHOD FOR PROVIDING ACCURATE DRIVING RECOMMENDATIONS BASED ON NETWORK-ASSISTED SCAN OF AN AMBIENT ENVIRONMENT
US10889297B2 (en) * 2017-10-13 2021-01-12 International Business Machines Corporation Determining a safe driving speed for a vehicle
US10866588B2 (en) * 2017-10-16 2020-12-15 Toyota Research Institute, Inc. System and method for leveraging end-to-end driving models for improving driving task modules
US10739775B2 (en) * 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
US10474916B2 (en) * 2017-11-20 2019-11-12 Ashok Krishnan Training of vehicles to improve autonomous capabilities
US20180074200A1 (en) * 2017-11-21 2018-03-15 GM Global Technology Operations LLC Systems and methods for determining the velocity of lidar points
US10908614B2 (en) * 2017-12-19 2021-02-02 Here Global B.V. Method and apparatus for providing unknown moving object detection
US11636375B2 (en) * 2018-02-27 2023-04-25 Toyota Research Institute, Inc. Adversarial learning of driving behavior
US10218941B1 (en) * 2018-03-13 2019-02-26 Lyft, Inc. Systems and methods for coordinated collection of street-level image data
US20200050973A1 (en) * 2018-08-13 2020-02-13 Here Global B.V. Method and system for supervised learning of road signs
US20190049950A1 (en) * 2018-09-17 2019-02-14 Intel Corporation Driving environment based mixed reality for computer assisted or autonomous driving vehicles
US20200134494A1 (en) * 2018-10-26 2020-04-30 Uatc, Llc Systems and Methods for Generating Artificial Scenarios for an Autonomous Vehicle
US11249984B2 (en) * 2019-05-22 2022-02-15 Here Global B.V. System and method for updating map data in a map database
US11077850B2 (en) * 2019-09-06 2021-08-03 Lyft, Inc. Systems and methods for determining individualized driving behaviors of vehicles
US11529961B2 (en) * 2019-09-30 2022-12-20 GM Cruise Holdings LLC. Tracking object path in map prior layer

Also Published As

Publication number Publication date
EP4022254A4 (en) 2023-09-06
JP2022550407A (ja) 2022-12-01
JP7446416B2 (ja) 2024-03-08
EP4022254A2 (en) 2022-07-06
WO2021158264A3 (en) 2021-11-25
US20210101614A1 (en) 2021-04-08
WO2021158264A2 (en) 2021-08-12

Similar Documents

Publication Publication Date Title
JP7214873B2 (ja) 自律型車両のセンサデータリポジトリの検索
JP7367183B2 (ja) 占有予測ニューラルネットワーク
CN114080634B (zh) 使用锚定轨迹的代理轨迹预测
US11645518B2 (en) Multi-agent simulations
CN113366507B (zh) 训练分类器以检测打开的车门
WO2021096776A1 (en) Simulating diverse long-term future trajectories in road scenes
US11967103B2 (en) Multi-modal 3-D pose estimation
US20230150550A1 (en) Pedestrian behavior prediction with 3d human keypoints
CN114580702A (zh) 多模态多代理轨迹预测
CN116194351A (zh) 使用目标位置的代理轨迹预测
EP4060626A1 (en) Agent trajectory prediction using context-sensitive fusion
US20220164350A1 (en) Searching an autonomous vehicle sensor data repository based on context embedding
JP7446416B2 (ja) 時空間ポーズ/オブジェクトデータベース
US20230082079A1 (en) Training agent trajectory prediction neural networks using distillation
CN115311486A (zh) 使用预训练的特征提取器训练蒸馏的机器学习模型
US20230082365A1 (en) Generating simulated agent trajectories using parallel beam search
US20220289209A1 (en) Evaluating multi-modal trajectory predictions for autonomous driving
CN117911453A (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