CN114061581A - 通过相互重要性对自动驾驶车辆附近的智能体排名 - Google Patents
通过相互重要性对自动驾驶车辆附近的智能体排名 Download PDFInfo
- Publication number
- CN114061581A CN114061581A CN202110900386.1A CN202110900386A CN114061581A CN 114061581 A CN114061581 A CN 114061581A CN 202110900386 A CN202110900386 A CN 202110900386A CN 114061581 A CN114061581 A CN 114061581A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- agent
- importance
- agents
- data
- 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 77
- 238000003860 storage Methods 0.000 claims abstract description 9
- 230000033001 locomotion Effects 0.000 claims description 99
- 230000008569 process Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 48
- 230000007613 environmental effect Effects 0.000 claims description 17
- 230000001133 acceleration Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 7
- 238000013527 convolutional neural network Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 abstract description 15
- 239000003795 chemical substances by application Substances 0.000 description 467
- 238000012549 training Methods 0.000 description 50
- 230000006399 behavior Effects 0.000 description 35
- 238000013528 artificial neural network Methods 0.000 description 24
- 230000003993 interaction Effects 0.000 description 12
- 230000009471 action Effects 0.000 description 10
- 238000002360 preparation method Methods 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 7
- 230000004913 activation Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007637 random forest analysis Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000009334 Singa Species 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 239000012752 auxiliary agent Substances 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- -1 pedestrian Substances 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
- 230000000717 retained effect 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
- 230000026676 system process Effects 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
- 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
-
- 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
- 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/20—Instruments for performing navigational calculations
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00276—Planning or execution of driving tasks using trajectory prediction for other traffic participants for two or more 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/20—Instruments for performing navigational calculations
- G01C21/203—Specially adapted for sailing ships
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3453—Special cost functions, i.e. other than distance or default speed limit of road segments
- G01C21/3492—Special cost functions, i.e. other than distance or default speed limit of road segments employing speed data or traffic data, e.g. real-time or historical
-
- 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
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- 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/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/221—Remote-control arrangements
- G05D1/227—Handing over between remote control and on-board control; Handing over between remote control arrangements
-
- 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/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
-
- 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/80—Arrangements for reacting to or preventing system or operator failure
- G05D1/81—Handing over between on-board automatic and on-board manual control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Game Theory and Decision Science (AREA)
- Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Traffic Control Systems (AREA)
- Databases & Information Systems (AREA)
Abstract
用于识别车辆周围的高优先级智能体的方法、***和装置,包括编码在计算机存储介质上的计算机程序。可以基于相互重要性分数集合来识别高优先级智能体,其中每个相互重要性分数指示车辆和智能体集合中的不同智能体之间对另一个的规划决策的估计相互相关性。可以基于从车辆和智能体的角度评估的重要性分数来计算相互重要性分数。
Description
背景技术
本说明书涉及自动驾驶车辆。
自动驾驶车辆包括无人驾驶汽车、船和飞机。自动驾驶车辆使用各种车载传感器和计算机***来检测附近的对象,并使用这样的检测来做出控制和导航决策。
发明内容
本说明书描述了一种实施为车辆上的计算机程序的***,该***基于智能体和车辆之间的交互的估计水平为车辆周围的智能体生成预测数据。具体地,车辆和智能体之间的交互的估计水平不仅可以反映智能体将对车辆的规划决策具有的可能影响,还可以反映车辆将对智能体的规划决策具有的可能影响。
在第一方面,本文公开的主题的实施方式包括一种由具有一个或多个数据处理装置的***执行的方法。该方法可以包括识别车辆周围的智能体集合。该***确定重要性分数的第一集合和重要性分数的一个或多个第二集合。第一集合中的每个重要性分数指示智能体集合中的不同智能体对车辆的规划决策的估计相关性。每个第二集合是通过指定智能体集合中的不同智能体作为第二集合的参考智能体来确定的,并且每个第二集合中的每个重要性分数指示不同非参考智能体或车辆对参考智能体的规划决策的估计相关性。相互重要性分数集合然后基于重要性分数的第一集合和重要性分数的一个或多个第二集合来确定,其中每个相互重要性分数指示车辆和智能体集合中的不同智能体之间对另一个的规划决策的估计相互相关性。相互重要性分数集合中的至少一个分数可以用于规划车辆的移动的过程中。
这些和其他实施方式还可以包括一个或多个以下特征。
确定重要性分数的第一集合可以包括处理表征车辆周围的环境的一部分的第一环境数据,并且第一环境数据可以围绕车辆定向。
第一环境数据可以标识智能体集合在车辆周围的环境中的位置。
确定重要性分数的第一集合还可以包括处理表征车辆的移动的第一运动数据。第一运动数据可以描述车辆在环境中的过去位置、车辆在环境中的当前位置、车辆在环境中的预测未来位置、车辆的过去速度、车辆的当前速度、车辆的预测未来速度、车辆的过去加速度、车辆的当前加速度、车辆的预测未来加速度、车辆的过去前进方向、车辆的当前前进方向或车辆的预测未来前进方向中的至少一个。
确定重要性分数的第一集合还可以包括处理表征环境周围的智能体集合中的一个或多个智能体的移动的第二运动数据。
第一重要性评分模型可以用于确定重要性分数的第一集合,并且第二重要性评分模型可以用于确定重要性分数的一个或多个第二集合。第一重要性评分模型可以比第二重要性评分模型有更多的计算要求。第一重要性评分模型和第二重要性评分模型可以包括相应的神经网络(例如,前馈神经网络、递归神经网络或卷积神经网络)。
确定重要性分数的第一集合可以包括将车辆指定为参考智能体,并且将车辆周围的智能体集合指定为相应的非参考智能体。
对于每个第二集合,确定重要性分数的一个或多个第二集合可以包括:处理表征第二集合的相应参考智能体周围的环境的一部分的第二环境数据。第二环境数据可以围绕第二集合的相应参考智能体定向。
确定重要性分数的第一集合可以包括处理表征车辆的过去移动或预测未来移动中的至少一个的第一运动数据。重要性分数的一个或多个第二集合可以被确定,而无需处理表征车辆或智能体集合的过去移动或预测未来移动的运动数据。
相互重要性分数集合可以指示对第一智能体的更高相互重要性,其中该第一智能体具有(i)根据重要性分数的第一集合对车辆的规划决策的更高重要性,并且(ii)车辆针对该第一智能体具有根据对应于第一智能体的重要性分数的第二集合对第一智能体的规划决策的更高重要性。相互重要性分数集合可以指示对第二智能体的更低相互重要性,其中该第二智能体具有(i)根据重要性分数的第一集合对车辆的规划决策的更低重要性,并且(ii)车辆针对该第二智能体具有根据对应于第二智能体的重要性分数的第二集合对第二智能体的规划决策的更低重要性。
相互重要性分数集合可以是指示相互重要性的绝对水平的概率值,或者可以是指示智能体关于对车辆的相互重要性相对于彼此的排名的排名值。
车辆可以是完全自动驾驶或半自动驾驶车辆,并且智能体集合可以包括车辆周围的其他车辆、行人或骑自行车的人。
确定重要性分数的第一集合可以包括处理智能体集合中的每一个的特征表示,其中智能体的特征表示包括以下中的一个或多个:智能体的速度、智能体的加速度、智能体的类型、智能体到车辆的距离、以及指示智能体的预测轨迹是否将与车辆的轨迹重叠的数据。
智能体集合具有最高相互重要性分数的适当子集可以被识别为高优先级智能体。仅对于智能体集合中被识别为高优先级智能体的那些智能体,可以使用第一预测模型生成表征智能体的数据。在用于规划车辆的移动的过程中使用相互重要性分数集合中的至少一个分数可以包括向车辆的规划***提供表征使用第一预测模型生成的高优先级智能体的数据,以生成用于规划车辆的未来轨迹的规划决策。
在附加方面,本文公开的主题的实施方式包括***,该***包括数据处理装置和与数据处理装置通信的存储器,该存储器存储指令,其中该指令在被执行时使得数据处理装置执行对应于本说明书中公开的任何方法的动作。在附加方面,本文公开的主题的实施方式包括一个或多个其上存储有指令的非暂时性计算机可读存储介质,该指令在由数据处理装置执行时使得数据处理装置执行对应于本说明书中公开的任何方法的动作。
可以实施本说明书中描述的主题的特定实施例,以便实现以下优点中的一个或多个。
为了车辆的规划***生成使得车辆沿着安全且舒适的轨迹行进的规划决策,应该向规划***提供车辆周围的智能体(例如,行人、其他机动车辆、骑自行车的人)的及时且准确的预测数据(例如,行为预测数据)。然而,为车辆周围的智能体生成预测数据可能需要大量的计算资源(例如,存储器、计算能力或两者)。在某些情况下,环境中的大量其他智能体可能在车辆周围(例如,当车辆沿着繁忙的高速公路行进时)。在这些情况下,车辆上可用的有限计算资源可能不足以为车辆周围的所有智能体生成及时的预测数据。
本说明书中描述的车载***可以将车辆上可用的有限计算资源(例如,存储器、计算能力或两者)集中于仅为被认为最重要的那些智能体(诸如被认为与车辆最具交互性的那些智能体或对由车辆的规划***生成的规划决策具有最大影响的那些智能体)生成精确的预测数据。可替代地,可以根据每个智能体的重要性水平,对不同智能体进行不同分辨率、类型或程度的预测。以这种方式,本说明书中描述的车载***可以生成使得规划***能够生成规划决策的及时的预测数据,该规划决策使得车辆沿着安全且舒适的轨迹行进,而不管车辆上可用的有限计算资源。此外,本说明书描述了用于通过评估车辆周围环境中的智能体的相互重要性来改进高优先级智能体的识别的技术。通过评估智能体的相互重要性,车辆可以更准确地确定哪些智能体表现出与车辆的交互关系。例如,智能体的相互重要性不仅可以基于智能体对车辆的规划决策的估计相关性(从车辆的角度),还可以基于车辆对智能体的规划决策的估计相关性(从智能体的角度)。
本说明书的主题的一个或多个实施例的细节在附图和以下描述中阐述。根据描述、附图和权利要求,本主题的其他特征、方面和优点将变得显而易见。
附图说明
图1是示例车载***和用于训练重要性评分模型的示例训练***的框图。
图2是示例重要性评分***和示例预测***的框图。
图3A描绘了由主评分模型和辅评分模型对参考智能体的示例评分。
图3B描绘了用于为车辆周围的智能体生成相互重要性分数的过程流程。
图4描绘了可以由重要性评分模型处理的以主智能体为中心的数据表示中的示例数据通道。
图5A-图5B是用于生成相互重要性分数并使用相互重要性分数来选择为其生成预测数据的高优先级智能体的示例过程的流程图。
图6是用于生成可以用于训练重要性评分模型的训练示例的示例过程的流程图。
不同附图中相同的附图标记和名称指示相同的元件。
具体实施方式
本说明书描述了车辆的车载***如何为车辆周围的智能体(agent)生成预测数据(例如,行为预测数据)。车辆周围的智能体可以是例如行人、骑自行车的人或其他车辆。为了生成预测数据,车载***确定车辆周围的检测的智能体的全部或至少子集的相应的相互重要性分数。智能体的相互重要性分数表征在车辆和智能体的角度下车辆和智能体之间的交互的估计水平。例如,可以通过首先估计智能体对车辆的规划决策(例如,与规划车辆的未来轨迹相关的决策)的相关性(例如,影响)来评估智能体的相互重要性。***然后可以从智能体的立场估计车辆对智能体自己的规划决策的相关性。使用从车辆和智能体的角度的估计,可以确定反映车辆和每个智能体之间的估计相互相关性或交互的相互重要性分数。车载***至少基于相互重要性分数来识别车辆周围的哪些智能体是“高优先级”智能体,并且使用预测模型为这些高优先级智能体生成精确的预测数据。对于车辆周围不是高优先级智能体的剩余智能体,车载***可以使用更小计算强度(但潜在更不精确)的预测模型来生成预测数据。可替代地,车载***可以避免为没有被确定为高优先级智能体的智能体中的一些或全部生成预测数据。下面更详细地描述了这些特征和其他特征。
图1是示例车载***100的框图。车载***100由硬件和软件组件组成,其中一些或全部物理上位于车辆102上。在一些情况下,车载***100可以生成规划车辆102的未来轨迹的规划决策,向车辆102的驾驶员呈现信息以帮助驾驶员安全地操作车辆,或者两者兼有。例如,响应于确定另一车辆的轨迹可能与车辆102的轨迹交叉,车载***100可以生成调整车辆102的未来轨迹以避免碰撞(例如,通过制动)的规划决策。作为另一示例,响应于确定另一车辆的轨迹可能与车辆102的轨迹交叉,车载***100可以呈现促使车辆102的驾驶员调整车辆102的轨迹以避免碰撞的警告消息。
尽管图1中的车辆102被描绘为驾驶汽车,并且本说明书中的示例是参考驾驶汽车描述的,但是通常车辆102可以是任何种类的车辆。例如,除了驾驶汽车之外,车辆102可以是船只或飞机。此外,车载***100可以包括除了图1中描绘的那些组件之外的组件(例如,碰撞检测***或导航***)。
车载***100包括使得车载***100能够“看到”车辆102周围的环境的传感器***104。更具体地,传感器***104包括一个或多个传感器,其中一些传感器被配置为接收来自车辆102周围的环境的电磁辐射的反射。例如,传感器***104可以包括被配置为检测激光的反射的一个或多个激光传感器(例如,LIDAR激光传感器)。作为另一示例,传感器***104可以包括被配置为检测无线电波的反射的一个或多个雷达传感器。作为另一示例,传感器***104可以包括被配置为检测可见光的反射的一个或多个相机传感器。
传感器***104连续地(即,在多个时间点中的每一个处)捕捉可以指示反射辐射行进的方向、强度和距离的原传感器数据。例如,传感器***104中的传感器可以在特定方向上发射一个或多个电磁辐射脉冲,并且可以测量任何反射的强度以及接收到反射的时间。可以通过确定发射脉冲和接收其反射之间经过的时间来计算距离。每个传感器可以在角、方位角或两者上连续扫描特定空间。在方位角上扫描例如可以允许传感器沿着相同视线检测多个对象。
在任何给定的时间点,环境中的一个或多个智能体可以在车辆102周围。车辆102周围的智能体可以是例如行人、骑自行车的人或其他车辆。车载***100使用预测***106来连续地(例如,在多个时间点中的每一个处)生成表征车辆102周围的智能体中的一些或全部的预测数据108。例如,对于车辆102周围的多个智能体中的每一个,预测数据108可以是定义智能体做出预定数量的可能驾驶决策(例如,让行、变道、超车(pass)、制动或加速)中的每一个的相应概率的行为预测数据。作为另一示例,对于车辆102周围的多个智能体中的每一个,预测数据108可以是定义智能体是预定数量的可能智能体类型(例如,动物、行人、骑自行车的人、汽车或卡车)中的每一个的相应概率的分类预测数据。
车载***100可以将由预测***106生成的预测数据108提供给规划***110、用户界面***112或两者。
当规划***110接收到预测数据108时,规划***110可以使用预测数据108来生成规划车辆102的未来轨迹的规划决策144。由规划***110生成的规划决策144可以包括例如:让行(例如,对行人)、停止(例如,在“停止”标志处)、超过其他车辆、调整车辆车道位置以容纳骑自行车的人、在学校或建筑区减速、并道(例如,到高速公路上)以及停车。在特定示例中,车载***100可以向规划***110提供行为预测数据,该行为预测数据指示另一车辆的未来轨迹可能与车辆102的未来轨迹交叉,潜在地导致碰撞。在该示例中,规划***110可以生成应用车辆102的制动器来避免碰撞的规划决策144。
由规划***110生成的规划决策144可以被提供给车辆102的控制***142。车辆的控制***142可以通过实施由规划***生成的规划决策144来控制车辆的一些或所有操作。例如,响应于接收到应用车辆的制动器的规划决策144,车辆102的控制***142可以向车辆的制动控制单元发送电子信号。响应于接收到电子信号,制动控制单元可以机械地应用车辆的制动器。
当用户界面***112接收到预测数据108时,用户界面***112可以使用预测数据108向车辆102的驾驶员呈现信息,以帮助驾驶员安全地操作车辆102。用户界面***112可以通过任何适当的方式向车辆102的驾驶员呈现信息,例如通过车辆102的扬声器***发送的音频消息,或者通过显示在车辆中的视觉显示***(例如,车辆102的仪表板上的LCD显示器)上的警告。在特定示例中,车载***100可以向用户界面***112提供预测数据108,该预测数据108指示另一车辆的未来轨迹可能与车辆102的未来轨迹交叉,潜在地导致碰撞。在该示例中,用户界面***112可以向车辆102的驾驶员呈现具有调整车辆102的轨迹以避免碰撞的指令的警告消息。
为了规划***110生成使得车辆102沿着安全且舒适的轨迹行进的规划决策,车载***100必须向规划***110提供及时且准确的预测数据108。然而,预测***106可能需要大量的计算资源(例如,存储器、计算能力或两者)来为车辆周围的智能体生成预测数据108。在某些情况下,环境中的大量其他智能体可以在车辆102周围(例如,当车辆102沿着繁忙的高速公路行进时)。在这些情况下,车辆102上可用的有限计算资源可能不足以使预测***106为车辆102周围的所有智能体生成及时的预测数据108。
为了使得预测***106能够生成及时的预测数据108,车载***100可以将车辆102周围的智能体中的一个或多个识别为“高优先级”智能体。在一些情况下,车载***100仅将车辆102周围的智能体的一部分识别为高优先级智能体。预测***106然后被配置为使用预测模型(例如,预测神经网络)为高优先级智能体生成精确的预测数据108。预测***106可以使用更小计算强度(但潜在更不精确)的行为预测模型,为没有被识别为高优先级智能体的任何剩余智能体(在本说明书中将被称为“低优先级”智能体)生成预测数据108。可替代地,车载***100可以避免为低优先级智能体中的一些或全部生成任何预测数据108。在本说明书中,“预测模型”应该理解为实施预测算法。
车载***100使用重要性评分***114和预测***106内的排名引擎来确定车辆102周围的哪些智能体指定为高优先级智能体。如将参考图2-图5进一步描述的,重要性评分***生成重要性分数集合116,其指示车辆上的环境中的智能体的估计相关性、或者指定的参考智能体上的环境中的其他估计相关性非参考智能体。重要性评分***可以用一个或多个评分模型生成重要性分数116,该一个或多个评分模型可以被实施为例如神经网络模型、随机森林模型、支持向量机(SVM)模型或任何其他类型的可训练机器学习模型。
在一些示例中,在***114内提供主重要性评分模型和辅重要性评分模型,并且每个模型被配置为处理环境数据148以及可选地运动(例如,轨迹)数据150的输入数据表示。环境数据148可以包括基于传感器数据118的环境的当前观察、诸如道路图的预定义数据以及车辆和辅智能体在环境中的当前位置的指示。运动数据150可以描述车辆、辅智能体或两者的过去的运动参数、未来的规划运动参数或预测运动参数或两者。重要性分数116被处理以确定车辆和每个辅智能体之间的相互重要性分数。基于相互重要性分数,车载***100可以将车辆周围具有最高重要性分数的一个或多个辅智能体确定为高优先级智能体。
在特定示例中,在特定交叉路口可能存在:(i)迎面而来的车辆,其可能转入车辆102的路径,以及(ii)骑自行车的人,其远在车辆102的后面并且不太可能影响规划***110的规划决策。在该示例中,重要性评分***114可以为迎面而来的车辆生成比骑自行车的人更高的重要性分数,潜在地导致迎面而来的车辆被指定为高优先级智能体,并且骑自行车的人被指定为低优先级智能体。
通过基于相互重要性分数来生成预测数据108,车载***100可以将其有限计算资源集中于仅为可能对由规划***110生成的规划决策具有最大影响的那些智能体生成精确的预测数据108。以这种方式,车载***100可以生成使得规划***110能够生成规划决策的及时的预测数据108,该规划决策使得车辆沿着安全且舒适的轨迹行进,而不管车辆102上可用的有限计算资源。
在一些情况下,车载***100可以直接向规划***110提供相互重要性分数。规划***110可以通过例如在生成规划决策144时向处理表征高优先级智能体的数据分配比低优先级智能体更大量的计算资源来使用相互重要性分数。更一般地,车载***的任何处理模块(包括但不限于预测***106和规划***110)可以使用相互重要性分数来向处理表征高优先级智能体的数据分配比低优先级智能体更大量的计算资源。
为了允许重要性评分***114准确地对智能体进行优先级排序,训练***120可以确定重要性评分***114中包括的重要性评分模型的训练参数值122。训练***120通常托管在数据中心124内,该数据中心124可以是在一个或多个位置具有数百或数千个计算机的分布式计算***。
训练***120包括训练重要性评分模型126,其被配置为处理智能体特征表示,以为智能体生成对应的重要性分数140。训练***120包括具有实施训练重要性评分模型126的操作的软件或硬件模块的多个计算设备。例如,如果训练重要性评分模型126是重要性评分神经网络,则训练***120包括具有软件或硬件模块的多个计算设备,该软件或硬件模块根据训练重要性评分神经网络的架构来实施训练重要性评分神经网络的每个层的相应操作。训练重要性评分模型126通常是与车载重要性评分模型相同的模型(或几乎相同的模型)。例如,如果训练重要性评分模型是神经网络,那么它通常(至少部分地)具有与重要性评分***114中包括的车载重要性评分神经网络相同的架构。
训练重要性评分模型126可以使用存储在模型参数130的集合中的参数的当前值128来计算训练重要性评分模型126的操作。尽管被示出为逻辑上分离,但是模型参数130和执行操作的软件或硬件模块实际上可以位于相同的计算设备或相同的存储器设备上。
训练***120使用包括多个训练示例134的训练数据集132来训练该训练重要性评分模型126。训练示例134可以从真实或模拟驾驶日志中获得。训练示例134中的每一个包括相应时间点的车辆周围的每个智能体的相应特征表示、以及定义智能体按照它们对由车辆的规划***生成的规划决策的影响的顺序的排名的标签。参考图6描述了用于生成训练示例134的示例过程。
训练重要性评分模型126可以处理来自训练示例134的相应智能体特征表示,以针对每个训练示例134生成相应重要性分数140。训练引擎136分析重要性分数140,并且将由重要性分数140定义的智能体的排名与由训练示例134中的标签定义的智能体的排名进行比较。例如,当训练重要性评分模型126是神经网络时,训练引擎136可以计算表征由所生成的重要性分数140定义的智能体的排名和由训练示例134中的标签定义的智能体的排名之间的差的损失函数的梯度。在特定示例中,损失函数可以是表征由所生成的重要性分数140定义的两个智能体的排名是否与由训练示例134中的标签定义的该两个智能体的排名相同的二进制(例如,交叉熵)损失函数。
训练引擎136然后通过使用适当的机器学习训练技术(例如,随机梯度下降)来生成更新的模型参数值138。训练引擎136然后可以使用更新的模型参数值138来更新模型参数130的集合。
在训练完成之后,训练***120可以向车载***100提供训练参数值122的集合,用于生成使得能够生成及时且准确的行为预测数据108的重要性分数。训练***120可以通过到车载***100的有线或无线连接来提供训练参数值122的集合。
图2是示例重要性评分***114和示例预测***106的框图。重要性评分***114和预测***106是实施为实施下面描述的***、组件和技术的一个或多个位置的一个或多个计算机上的计算机程序的***的示例。
重要性评分***114被配置为处理表征车辆102周围的环境202的初始环境数据148和表征车辆102(以及可选地,环境中的辅智能体)的移动的初始运动数据150,以生成重要性分数集合116。可以为车辆102周围的环境中的每个智能体(包括作为主智能体的车辆102和附近的辅智能体)生成相应的重要性分数集合116。每个智能体(即,参考智能体)的重要性分数集合116包括各自指示作为环境中的另一智能体(即,非参考智能体)对集合116的参考智能体的存在的结果的对规划***的规划决策的估计影响的分数。
在图2中描绘的特定示例中,环境202是车行道,并且表示为智能体A和智能体B的两个车辆在车辆102周围。智能体A正在操纵以在车辆102的前方切入(cut),而智能体B平行于车辆102行进。在该示例中,重要性评分***114可以向智能体A分配比智能体B更高的重要性分数,具体地,因为智能体A可能对由车辆102的规划***110生成的规划决策具有更大的影响。例如,车辆102的规划***110可以生成使得车辆102制动以避免与智能体A的碰撞的规划决策。
为了生成重要性分数集合116,重要性评分***114使用数据准备引擎206来处理初始环境数据148和初始运动数据150。在一些实施方式中,数据准备引擎206被配置为识别车辆102周围的辅智能体中的每一个,并为每个智能体生成相应的以智能体为中心的数据输入222或224。参考图3A-图3B和图4描述了关于用于生成以智能体为中心的数据表示222和224的技术的附加细节。
在一些实施方式中,以智能体为中心的数据表示222、224可以包括环境中的参考智能体周围的每个非参考智能体的特征表示。智能体的特征表示可以是以表征智能体的任何适当的数字格式(例如,作为向量或矩阵)表示的数字数据。智能体的特征表示可以包括以下中的一个或多个:智能体的速度(例如,以英里/小时-mph测量)、智能体的加速度(例如,以英尺/秒平方测量)、智能体的类型(例如,行人、车辆、骑自行车的人等)、智能体到参考智能体的距离(例如,以英尺测量)、指示智能体的预测未来轨迹是否(以及何时)将与参考智能体的未来轨迹重叠的数据、智能体相对于参考智能体的位置、以及表征智能体在先前时间窗口(例如,1、2、5或10秒)内的速度、加速度和前进方向(heading)的数据。
主重要性评分模型210处理以主智能体为中心的数据表示222,以生成描述每个辅智能体对车辆102的规划决策的估计影响的重要性分数的第一集合。辅重要性评分模型210b处理每个以辅智能体为中心的数据表示224,以生成描述其他(非参考)智能体对集合的对应辅智能体的规划决策的估计影响的重要性分数的第二集合。重要性评分模型210a、210b可以被实施为任何适当的机器学习模型,例如神经网络(具有任何适当的架构)、随机森林或支持向量机。参考图3A-图3B描述了关于重要性评分模型210a、210b的附加细节。
由重要性评分***114生成的重要性分数集合116可以由预测***106用来生成表征车辆周围的一个或多个智能体的预测数据108。具体地,重要性分数集合116可以由排名引擎212处理,以确定车辆102和车辆102周围的每个辅智能体之间的交互的估计水平。可以通过评价每个智能体对车辆102的规划决策的估计相关性来计算交互的估计水平,反之亦然,并且估计水平可以被表达为相互重要性分数。部分地使用相互重要性分数推导的预测数据108可以是表征车辆102周围的智能体中的一个或多个的预测未来行为的行为预测数据。在该示例中,对于车辆102周围的智能体中的一个或多个,预测数据108可以定义智能体做出预定数量的可能驾驶决策(例如,让行、变道、超车、制动或加速)中的每一个的相应概率。作为另一示例,预测数据108可以是定义智能体是预定数量的可能智能体类型(例如,动物、行人、骑自行车的人、汽车或卡车)中的每一个的相应概率的分类预测数据。
预测***106还使用排名引擎212来识别车辆102周围的哪些(如果有的话)辅智能体是高优先级智能体。例如,排名引擎212可以将具有满足预定阈值的相互重要性分数的每个辅智能体分类为高优先级智能体。在特定示例中,排名引擎可以将具有超过预定阈值0.8的相互重要性分数的每个智能体识别为高优先级智能体。作为另一示例,排名引擎212可以将具有最高重要性分数的预定数量的辅智能体识别为高优先级智能体。在特定示例中,排名引擎212可以将具有最高相互重要性分数的三个智能体识别为高优先级智能体。作为另一示例,排名引擎可以基于用于行为预测的车辆上当前可用的计算资源,将具有最高相互重要性分数的动态确定数量的智能体识别为高优先级智能体。
在识别高优先级智能体214之后,预测***106使用高优先级预测模型216来为高优先级智能体214中的每一个生成相应的预测数据108。高优先级预测模型216可以通过例如使用预测神经网络处理直到当前时间点的智能体的轨迹的表示来为智能体生成预测数据108。
预测***106可以使用低优先级预测模型218来为排名引擎212没有识别为高优先级智能体214的剩余智能体(即,低优先级智能体220)中的每一个生成相应的预测数据108。在一些情况下,预测***106用相同的低优先级预测模型处理低优先级智能体220中的每一个。在一些情况下,预测***106包括具有不同数量的模型参数的多个低优先级预测模型,并且用具有更多模型参数的低优先级行为预测模型处理具有更高重要性分数的低优先级智能体。通常,高优先级预测模型216比低优先级预测模型218具有更大数量的模型参数,并因此可以比低优先级预测模型218生成更精确的预测数据108。然而,低优先级预测模型218可以比高优先级预测模型216消耗更少的计算资源(例如,存储器、计算能力或两者)。在特定示例中,高优先级预测模型216可以被实施为具有数千个模型参数的深度神经网络,而低优先级预测模型218可以被实施为具有数十个或数百个模型参数的线性模型。
在一些情况下,预测***106可以避免为低优先级智能体220中的一些或全部生成预测数据108。例如,预测***106可以推迟为低优先级智能体220生成行为预测数据,直到更多计算资源可用的稍后时间点。在这些示例中,预测***106可以要求以至少最小频率(例如,每秒一次)为车辆周围的智能体中的每一个(不管它们的优先级如何)生成预测数据。
由高优先级预测模型216为高优先级智能体214生成的预测数据108以及由低优先级预测模型218为低优先级智能体生成的任何预测数据108被提供给规划***110,用于生成规划决策。
参考图3A,示出了用于为车辆(例如,无人驾驶汽车或其他自动驾驶车辆)周围的智能体生成重要性分数的一对示例评分过程。在第一示例中,主智能体是无人驾驶汽车(黑色阴影部分),并且在无人驾驶汽车周围,其他五个车辆被识别为辅智能体(白色阴影部分)。第一数据输入集302a描述了关于环绕无人驾驶汽车的环境的信息,并且还可以包括描述无人驾驶汽车的过去运动(例如,移动)、辅智能体的过去运动、无人驾驶汽车的预测运动或规划运动和/或辅智能体的预测运动的信息。在一些实施方式中,第一数据输入集302包括多个数据通道的级联,如图4所描绘的那些。此外,第一数据输入集302a是以主智能体为中心的,并因此围绕主智能体(即,无人驾驶汽车)定向。具体地,数据输入集围绕定向的智能体在本文被称为“参考”智能体,并且图3A通过覆盖在车辆的表示上的星形符号来表示作为参考智能体的无人驾驶汽车。
在一些实施方式中,围绕参考智能体定向数据输入集涉及聚焦数据输入集,使得参考智能***于表示环境区域的二维面片(patch)的中心或附近。例如,数据输入集302a可以包括对应于不同数据通道(例如,道路图数据、位置数据、速度数据、前进方向数据、加速度数据)的一个或多个层。每个层都可以与其他层对齐,并包括二维网格,其中网格中的每个位置或单元表示真实世界环境中的对应位置。参考智能体可以基本上在2D网格的中心,而非参考智能体可以占据环绕参考智能体的网格位置。数据输入集也可以被定向为匹配参考智能体的前进方向,例如使得参考智能体总是指向网格的顶部。在一些实施方式中,在数据输入集描述辅智能体的特征而不是网格表示,或者除了网格表示之外数据输入集还描述辅智能体的特征的情况下,可以关于参考智能体计算特征值。例如,可以相对于参考智能体的当前位置和前进方向计算非参考智能体的距离或前进方向。
第一数据输入集302a由主重要性评分模型222a处理。在一些实施方式中,主重要性评分模型222a被保留用于处理输入,其中主智能体(例如,无人驾驶汽车)是参考智能体。主重要性评分模型222a可能比辅重要性评分模型222b有更多的计算要求,由于它能够处理更大、信息量更大的输入数据集,并且需要执行更多操作来生成输出。例如,主重要性评分模型222a可以被配置为不仅处理表示环绕参考智能体的环境的当前状态的环境数据,而且还被配置为处理参考智能体和/或非参考智能体的历史运动数据和/或预测运动数据。相反,辅重要性评分模型222b可以被配置为处理更原始的输入(例如,每个非参考智能体的特征值的向量而不是多层二维输入)、描述环境的当前状态但没有参考智能体和/或非参考智能体的过去运动数据或未来运动数据的输入、或者描述环境的当前状态和参考智能体和/或非参考智能体的过去运动数据但没有未来运动数据的输入。当主智能体是参考智能体时,通过允许更精细地生成重要性分数,提供单独的评分模型222a和222b可以是有利的,而当辅智能体是参考智能体时,不会显著增加与确定重要性分数相关联的计算成本。此外,无人驾驶汽车可能不容易具有与从主参考智能体的角度进行评分相同的可用于从辅参考智能体的角度进行评分的数据输入范围。尽管如此,如果可用于主参考智能体和辅参考智能体的数据输入相对同等,则在这两种情况下,可以采用相同的重要性评分模型来处理输入。
主重要性评分模型222a处理第一数据输入集302a以生成重要性分数的第一集合304a。重要性分数的第一集合304a指示每个辅智能体对无人驾驶汽车的规划决策的估计相关性或影响,并且通常独立于无人驾驶汽车对辅智能体的规划决策具有的互相影响来确定。分数可以是指示绝对估计(例如,可能性或概率值)的值的形式,或者是指示智能体相对于无人驾驶汽车周围的其他智能体的相对重要性的排名值的形式。例如,辅智能体3紧跟在相同车道中的无人驾驶汽车后面,因此,与辅智能体1相比,辅智能体3在更大程度上影响关于无人驾驶汽车的未来移动的规划决策,其中该辅智能体1在道路的相反侧上的车道中以相反方向行进。因此,估计智能体3比智能体1具有更大重要性。
第二数据输入集302b描述了关于环绕辅智能体4的环境的信息。第二数据输入集302b可以包括或可以不包括关于辅智能体4(即,参考智能体)的过于移动或预测移动、非参考智能体(例如,无人驾驶汽车和智能体3、5-6)的过去移动或预测移动或者两者的信息。第二数据输入集302b是以辅智能体为中心的,并因此围绕作为参考智能体的辅智能体(即,智能体4)定向。辅重要性评分模型222b处理第二数据输入集302b以生成重要性分数的第二集合304b。重要性分数的第二集合304b指示智能体4周围的每个非参考智能体对参考智能体(即,智能体4)的规划决策的估计相关性或影响,并且通常独立于参考智能体对非参考智能体的规划决策具有的互相影响来确定。例如,智能体4在该场景中被示为在智能体3和智能体5的两侧,作为结果,估计智能体3和智能体5比无人驾驶汽车或智能体6对智能体4的规划决策具有更大的影响。
继续图3A中的示例,在图3B中描绘了用于基于以智能体为中心的(非相互)重要性分数集合来生成相互重要性分数的过程。重要性评分***114通过用主重要性评分模型222a处理以无人驾驶汽车为中心的输入302a来生成重要性分数的第一集合304a。***114通过用辅重要性评分模型222b处理以辅智能体为中心的数据输入304b-304n来生成附加的重要性分数集合304b-304n。***114然后将每个重要性分数集合304a-304n提供给排名引擎212。排序引擎212被编程为处理相应的重要性分数集合304a-304n,以生成相互重要性分数集合306。相互重要性分数指示主智能体(即,无人驾驶汽车)和在主智能体周围检测到的辅智能体中的全部或一些之间的相互相关性的估计水平。相互相关性是一对智能体之间的交互的双向度量。不同于反映非参考智能体对参考智能体的规划决策的估计影响的以智能体为中心的重要性分数集合304a-n(独立于参考智能体对非参考智能体的规划决策的影响的互相考虑),相互相关性考虑了两个方向上对规划决策的影响。
排名引擎212可以采用任何合适的函数用于生成相互重要性分数306。通常,当特定辅智能体的以无人驾驶汽车为中心的重要性分数高并且从特定辅智能体的视角的无人驾驶汽车的重要性分数也高时,无人驾驶汽车和特定辅智能体之间的相互相关性将最高。当从无人驾驶汽车的视角的重要性分数、从特定辅智能体的视角的重要性分数或者两者更低时,相互相关性降低。在一些实施方式中,排名引擎212通过取(i)从无人驾驶汽车的角度的无人驾驶汽车和辅智能体之间的重要性分数和(ii)从辅智能体的角度的无人驾驶汽车和辅智能体之间的重要性分数的总和,生成无人驾驶汽车和每个辅智能体之间的相应的相互重要性分数。求和的分数可以基于绝对重要性分数或排名值。在一些实施方式中,当取无人驾驶汽车和特定辅智能体之间的重要性分数的总和以确定相互重要性分数时,从无人驾驶汽车的角度的分数可以高于从辅智能体的角度的分数被加权。在一些实施方式中,排名引擎212通过从以SDC为中心的重要性分数304a开始并通过提升其相对于无人驾驶汽车的以智能体为中心的重要性分数/排名足够更高(例如,至少阈值排名值)的任何辅智能体的排名来更新分数的第一集合304a中辅智能体的排名,生成相互重要性分数306。
图4是示例数据准备***206的框图。数据准备***206是实施为实施下面描述的***、组件和技术的一个或多个位置的一个或多个计算机上的计算机程序的***的示例。
数据准备***206处理初始环境数据148和初始运动数据150,以生成以主智能体为中心的数据表示222。尽管这里示出了围绕主智能体(例如,无人驾驶汽车)定向的数据表示,但是数据准备***206可以类似地为主智能体周围的辅智能体准备以智能体为中心的数据表示。数据准备***206接收在初始环境数据148和初始运动数据150中表示的哪个智能体应该是参考智能体的指示,然后准备围绕所识别的参考智能体定向的数据表示。在一些情况下,与***206生成以主智能体为中心的数据表示222时相比,当为辅智能体生成以智能体为中心的数据表示时,可以处理更少的数据通道。
数据表示222由多个“通道”组成。每个通道都是表示车辆(即,参考智能体,在该示例中是主智能体(无人驾驶汽车))周围的环境的“自上而下”角度的数据值的二维(2D)阵列。每个通道中的每个位置对应于环境中的相应空间位置,并且可以由相应坐标来索引。通道中的每一个都具有相同的维度(即,相同数量的行和列)、相同的环境的自上而下角度,并且彼此对齐(即,注册)。也就是说,不同通道中由相同坐标索引的位置对应于环境中的相同空间位置。换句话说,不同通道中的对应位置对应于环境中的相同空间位置。
为了表示车辆的轨迹,数据表示222包括车辆时间通道和对应于预定数量的运动参数中的每一个的相应的车辆运动参数通道。运动参数中的每一个表征车辆的运动的相应特性,例如车辆的速度、加速度或前进方向。如图4所描绘的,数据表示222可以包括车辆时间通道402、车辆速度通道404、车辆加速度通道406和车辆前进方向通道408。
车辆时间通道和车辆运动参数通道表示车辆直到当前时间点的先前轨迹,并且可选地,表示车辆在当前时间点之后的候选未来轨迹。车辆的候选未来轨迹是指车辆在当前时间点之后的可能轨迹。更具体地,车辆的候选未来轨迹针对当前时间点之后的多个未来时间点中的每一个指定环境中可以由智能体在未来时间点占据的空间位置。对于多个未来时间点中的每一个,候选未来轨迹还指定表征车辆在未来时间点的运动的预定数量的运动参数中的每一个的可能值。
为简洁起见,下面的描述涉及车辆时间通道和车辆运动参数通道,其表示车辆直到当前时间点的先前轨迹。应当理解,除了车辆直到当前时间点的先前轨迹之外,车辆时间通道和车辆运动参数通道还可以类似地表示车辆在当前时间点之后的候选未来轨迹。
车辆时间通道表示车辆在车辆的先前轨迹中占据环境中的不同空间位置的相应时间点。每个运动参数通道表示表征当车辆在车辆的先前轨迹中占据环境中的不同空间位置时的车辆的运动的相应运动参数的值。具体地,对于环境中由车辆占据的每个空间位置,对应于空间位置的车辆时间通道中的数据值定义了车辆占据空间位置的时间点。此外,对应于空间位置的每个相应的车辆运动参数通道中的数据值定义了表征当车辆占据环境中的空间位置时的车辆的运动的相应运动参数的值。
通常,环境可以包括没有被包括在车辆的先前轨迹或候选未来轨迹中的多个空间位置。对于这些空间位置,数据准备***206可以将对应于这些空间位置的车辆时间通道和车辆运动参数通道中的数据值设置为默认值(例如,值0)。
当环境中的相同空间位置由车辆在多个时间点占据时,***206可以将车辆时间通道和运动参数通道中对应于空间位置的相应数据值设置为任何适当的值。例如,***206可以根据车辆占据空间位置的最后时间点,设置车辆时间通道和运动参数通道中对应于空间位置的相应数据值。也就是说,***206可以设置车辆时间通道中对应于空间位置的数据值,以定义车辆占据空间位置的最后时间点。此外,***206可以设置车辆运动参数通道中的相应数据值,以定义表征当车辆最后占据空间位置时的车辆的运动的相应运动参数的值。
为了表示车辆周围的环境中的智能体的轨迹,数据表示可选地包括辅助时间通道和对应于预定数量的运动参数中的每一个的相应的辅助运动参数通道。如图4所描绘的,数据表示222可以包括辅助时间通道410、辅助速度通道412、辅助加速度通道414和辅助前进方向通道416。
辅助时间通道和辅助运动参数通道联合表示非参考智能体(在该示例中都是辅智能体)直到当前时间点的先前轨迹,并且可选地表示非参考智能体在当前时间点之后的预测未来轨迹。***206可以从先前时间点获得智能体的预测未来轨迹作为行为预测神经网络的行为预测输出。智能体的预测未来轨迹针对当前时间点之后的多个未来时间点中的每一个指定环境中可以由智能体在未来时间点占据的空间位置。对于多个未来时间点中的每一个,预测未来轨迹还指定表征智能体在未来时间点的运动的预定数量的运动参数中的每一个的可能值。
为简洁起见,下面的描述涉及辅助时间通道和辅助运动参数通道,其表示智能体直到当前时间点的先前轨迹。应该理解,除了智能体直到当前时间点的先前轨迹之外,辅助时间通道和辅助运动参数通道还可以类似地表示智能体在当前时间点之后的预测未来轨迹。
辅助时间通道联合表示智能体在智能体的先前轨迹中占据环境中的不同空间位置的相应时间点。每个辅助运动参数通道表示表征当智能体在智能体的先前轨迹中占据环境中的不同空间位置时的智能体的运动的相应运动参数的值。具体地,对于环境中由智能体中的一个占据的每个空间位置,辅助时间通道中对应于空间位置的数据值定义了智能体占据空间位置的时间点。此外,每个相应的辅助运动参数通道中对应于空间位置的数据值定义了表征当智能体占据环境中的空间位置时的智能体的运动的相应运动参数的值。
通常,环境可以包括没有被包括在任何智能体的先前轨迹或预测未来轨迹中的多个空间位置。对于这些空间位置,数据准备***206可以将辅助时间通道和辅助运动参数通道中对应于这些空间位置的数据值设置为默认值(例如,值0)。
当环境中的相同空间位置由智能体在多个时间点占据时,***206可以将辅助时间通道和辅助运动参数通道中对应于空间位置的相应数据值设置为任何适当的值。例如,***206可以根据智能体中的一个占据空间位置的最后时间点,设置辅助时间通道和辅助运动参数通道中对应于空间位置的相应数据值。
通过使用单个辅助时间通道和对应于每个运动参数的单个辅助运动参数来联合表示智能体的轨迹,***206可以生成具有与智能体的(可变)数量无关的预定维度的数据表示。以这种方式,由***110生成的数据表示222可以容易地由重要性评分模型处理,该重要性评分模型被配置为处理预定维度的数据表示222。
在一些实施方式中,除了时间通道和运动参数通道之外,***206还可以在数据表示222中包括另外的通道。例如,数据表示222可以包括以下中的一个或多个:道路图通道、车辆定位通道和辅助定位通道。道路图通道表示车辆102周围环境的已知几何形状。例如,道路图通道可以表示环境的不同特征的位置,包括:道路、道路中的不同车道、人行横道、交通灯、建筑区、学校区等。车辆定位通道表示车辆在当前时间点在环境中的空间位置(例如,由边界框定义)。辅助定位通道(例如,辅助定位通道418)联合表示智能体中的每一个在当前时间点在环境中的位置(例如,由边界框定义)。在图4中描绘的示例中,道路图通道和车辆定位通道被叠加到单个通道420上。
如422所描绘的,***110通过对齐和按通道级联所生成的通道来确定数据表示222。也就是说,数据表示222是所生成的通道的级联。通过以这种格式隐式表示车辆和智能体的相应轨迹,***206生成紧凑并且可以由重要性评分模型210a或210b有效处理的表示。在一些示例中,重要性评分模型210a和/或210b可以是卷积神经网络模型。重要性评分模型可以使用由多维(例如,二维或三维)卷积滤波器定义的卷积神经网络层来处理数据表示,从而使得重要性评分模型能够学习环境的不同空间区域之间的复杂空间关系。以主智能体为中心的数据表示222对应于图2所示的相同数字的数据表示、以及图3A-图3B所示的以SDC为中心的第一数据输入302a。
图5A-图5B是用于生成相互重要性分数并且使用相互重要性分数来选择为其生成预测数据的高优先级智能体的示例过程500、550的流程图。为了方便起见,过程500、550将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的车载***(例如,图1的车载***100)可以执行过程500、550。
***获得初始环境数据和初始运动数据(502)。通常,初始环境和运动数据还没有被格式化以用于由重要性评分模型处理。初始环境数据和运动数据可以或可以不围绕主智能体(例如,无人驾驶汽车)定向,但是通常不围绕主智能体周围的辅智能体定向。初始环境数据可以包括描述当前时间点的环境的观察的传感器数据(例如,基于LIDAR信号、相机图像等)。初始环境数据还可以包括道路图、主智能体在当前时间点在环境中的空间位置、以及智能体在当前时间点在环境中的空间位置。初始运动数据可以包括环境中的主智能体和/或辅智能体的过去运动数据和/或未来运动数据。
***识别车辆(主智能体)周围的辅智能体(504)。例如,***可以使用对象检测神经网络来处理环境数据的各方面,以生成定义车辆周围的多个对象的预测位置和类型(例如,车辆、行人、骑自行车的人等)的数据。***随后可以将车辆周围的辅智能体识别为已经被识别为例如车辆、人或骑自行车的人的那些对象。在某些情况下,***可以不识别车辆周围的任何智能体,例如,如果车辆正在另外的空的车行道上行进。在这些情况下,***可以不在该时间点生成任何预测数据。下面的过程500、550的描述假设***识别车辆周围的一个或多个智能体。
***选择参考智能体(506)。参考智能体是相对于其评估其他(非参考)智能体的存在以确定其他智能体对参考智能体的规划决策的可能影响的智能体。在一些情况下,第一***可以首先选择车辆(主智能体)作为参考智能体,然后在后续迭代中选择辅智能体作为参考智能体。数据准备引擎处理初始环境和运动数据,以生成围绕所选择的参考智能体定向的环境和运动数据的以智能体为中心的表示(508)。重要性评分模型处理以智能体为中心的数据表示,以生成以智能体为中心的重要性分数集合(510)。以智能体为中心的重要性分数集合针对参考智能体周围的每个非参考智能体指示非参考智能体对参考智能体的未来规划决策(例如,参考智能体的未来移动的轨迹的规划)的估计相关性或影响。可以计算以智能体为中心的重要性分数集合,而不考虑参考智能体对非参考智能体的规划决策的预测影响。在一些实施方式中,根据参考智能体是主智能体还是辅智能体,采用单独的重要性评分模型来处理输入数据表示。重复这些操作(506-510),直到已经为主智能体和所有识别的辅智能体生成了以智能体为中心的重要性分数集合。例如,***可以确定是否剩余附加智能体要被评价(512),如果是,则返回510以选择剩余智能体作为下一个参考智能体。一旦已经为主智能体和所有辅智能体生成了以智能体为中心的重要性分数集合,排名引擎就可以基于以智能体为中心的重要性分数来生成相互重要性分数集合。以智能体为中心的重要性分数指示主智能体和每个辅智能体之间的交互的估计水平(例如,相互影响或相互相关性)。例如,如果主智能体和给定辅智能体之间的独立的以智能体为中心的重要性分数都高,则排名引擎可以向该辅智能体分配高的相互重要性分数。
然后可以由一个或多个***将相互重要性分数应用于各种末端(516)。由图5B中的流程图表示的过程550示出了一个这样的应用。例如,排名引擎(例如,排名引擎212)或预测***(例如,预测***106)的另一方面可以基于相互重要性分数来识别车辆周围的高优先级辅智能体集合(552)。例如,***可以将具有满足预定阈值的相互重要性分数的每个辅智能体识别为高优先级智能体。作为另一示例,***可以将具有最高重要性分数的预定数量的辅智能体识别为高优先级智能体。在某些情况下,***可以将车辆周围的辅智能体中的全部都不识别为或都识别为高优先级智能体。
***使用预测模型为高优先级智能体生成预测数据(554)。在一些实施方式中,预测模型可以生成预测辅智能体的类型(例如,动物、推购物车的行人、引导交通的行人、骑踏板车的行人、汽车、卡车等)的分类预测数据。在一些实施方式中,行为预测模型可以生成表征辅智能体的预测未来行为(例如,制动、加速、变道等)的行为预测数据。在这些实施方式中,行为预测模型可以通过例如使用行为预测神经网络处理辅智能体直到当前时间点的轨迹的表示来为辅智能体生成行为预测数据。以下是几个示例。
在一些实施方式中,针对环境中的多个空间位置中的每一个,智能体的行为预测数据定义了智能体将在当前时间点之后的指定时间点占据空间位置的相应概率。在这些实施方式中,行为预测神经网络的输出层可以是具有对应于环境中的空间位置中的每一个的相应神经元的sigmoid层。智能体将在当前时间点之后的指定时间点占据特定空间位置的概率可以被定义为对应于特定空间位置的sigmoid输出层中的神经元的激活。
在一些实施方式中,智能体的行为预测数据定义了智能体的候选未来轨迹是智能体的实际未来轨迹的概率。在这些实施方式中,行为预测神经网络的输出层可以包括单个神经元,其中神经元的激活被定义为输出范围为[0,1]的激活函数(例如,sigmoid激活函数)的输出。智能体的候选未来轨迹是智能体的实际未来轨迹的概率可以被定义为输出层中的单个神经元的激活。
在一些实施方式中,智能体的行为预测数据定义了智能体将做出预定数量的可能驾驶决策中的每一个的相应概率。例如,可能驾驶决策可以包括以下中的一个或多个:让行、变道、超车、制动和加速。在这些实施方式中,行为预测神经网络的输出层可以是具有对应于可能驾驶决策中的每一个的相应神经元的sigmoid层。智能体将在当前时间点之后做出特定驾驶决策的概率可以被定义为对应于特定驾驶决策的sigmoid输出层中的神经元的激活。
可选地,***使用一个或多个预测模型为任何低优先级智能体(即,没有被指定为高优先级智能体的辅智能体)生成预测数据,该一个或多个预测模型比用于为高优先级智能体生成预测数据的预测模型有更小的计算强度(556)。例如,用于为低优先级智能体生成预测数据的(多个)预测模型可以比用于为高优先级智能体生成预测数据的预测模型具有更少的模型参数。在特定示例中,预测模型可以是神经网络,并且用于低优先级智能体的(多个)神经网络可以比用于高优先级智能体的(多个)神经网络具有更少的神经网络权重。在一些情况下,***可以确定不为低优先级智能体中的一些或全部生成任何预测数据(例如,如果它们的相应重要性分数不满足预定阈值)。
***将(高优先级智能体的,并且可选地,任何低优先级智能体的)所生成的预测数据提供给车辆的规划***(558)。规划***使用预测数据来生成规划车辆的未来轨迹的规划决策。
图6是用于生成可以用于训练重要性评分模型的训练示例的示例过程600的流程图。为了方便起见,过程600将被描述为由位于一个或多个位置的一个或多个计算机的***执行。例如,根据本说明书适当编程的训练***(例如,图1的训练***120)可以执行过程600。
***获得表征给定时间点车辆(主智能体)周围的环境的传感器数据(602)。***可以从存储在物理数据存储设备或逻辑数据存储区域中的传感器数据日志中获得传感器数据。传感器数据可以是表征车辆周围的真实世界环境的真实传感器数据、或者表征模拟车辆周围的模拟环境的模拟传感器数据。如参考图1所述,传感器数据可以由车辆的一个或多个传感器生成,该一个或多个传感器包括以下中的一个或多个:激光传感器、雷达传感器和相机传感器。***还可以获得如本文描述的其他形式的环境和运动数据。
***为车辆周围的辅智能体生成相应预测数据(604)。例如,***可以为车辆周围的由车辆的对象检测***识别的每个辅智能体生成相应预测数据。由***为每个智能体生成的行为预测数据表征智能体的预测未来行为。例如,对于车辆周围的智能体中的每一个,行为预测数据可以定义智能体做出预定数量的可能驾驶决策(例如,让行、变道、超车、制动或加速)中的每一个的相应概率。为了为智能体生成行为预测数据,***可以使用行为预测模型(例如,参考图5B描述的行为预测神经网络)来处理智能体直到给定时间点的轨迹的表示。
***将行为预测数据提供给被配置为处理行为预测数据以生成规划车辆的未来轨迹的规划决策的规划***(606)。由规划***生成的规划决策可以例如包括:让行(例如,对其他车辆)、停止(例如,在停止标志处)、超过其他车辆、调整车辆车道位置以容纳骑自行车的人、在学校或建筑区减速、并道(例如,到高速公路上)以及停车。
***处理由规划***生成的规划决策,以确定给定时间点车辆周围的辅智能体按照它们对车辆的规划决策的影响的顺序的排名(608)。***可以基于每个智能体的行为在多大程度上促使规划***生成将改变车辆的未来轨迹的规划决策来确定辅智能体的排名。例如,***可以基于每个智能体在多大程度上促使规划***生成将改变车辆的未来轨迹的规划决策来确定每个智能体的分数,然后使用分数来确定辅智能体的排名。在特定示例中,***可以确定智能体A的分数12、智能体B的分数0、以及智能体C的分数6.5,在这种情况下,***可以将智能体的排名确定为:[A,C,B]。
例如,规划决策中的每一个可以定义:(i)要由车辆执行的动作(例如,加速、减速、停止或转弯),以及(ii)车辆周围促使规划***生成规划决策(如果适用)的智能体。在该示例中,***可以为不促使规划***生成任何规划决策的智能体生成分数0。对于确实促使规划***生成规划决策的智能体,***可以将智能体的分数确定为由规划决策指定的动作的预定函数。例如,如果规划决策指定以10英尺/秒平方制动的动作,则***可以将智能体的分数确定为10。如果单个智能体促使规划***生成多个规划决策(例如,制动和转弯),则***可以将智能体的分数确定为为多个规划决策中的每一个生成的相应分数的总和(或其他组合)。
智能体的排名可以广义地理解为定义车辆周围比车辆周围的某些其他智能体对规划决策具有更大影响的某些智能体的任何数据。例如,智能体的排名可以定义从最高排名到最低排名的智能体的明确排序,其中每个智能体被分配不同的排名。作为另一示例,智能体的排名可以定义智能体到多个组的划分,其中每个组包括一个或多个智能体。对于包括第一组和第二组的每对组,排名可以定义第一组中的智能体是否比第二组中的智能体对规划决策具有更大影响。给定组内的智能体可以被理解为对规划决策具有等效影响。
***生成训练示例,该训练示例包括:(i)车辆周围的每个智能体的相应特征表示,以及(ii)定义车辆周围的智能体的排名的标签数据(610)。如参考图2-图5所述,***可以从表征智能体的传感器数据的部分、从由行为预测***在先前时间点为智能体生成的行为预测数据、或者从任何其他信息源生成智能体的特征表示。
在一些实施方式中,可以类似地训练辅重要性评分模型。然而,在这种情况下使用的训练示例可以被格式化,使得辅智能体是训练样本中的参考智能体,并且主智能体(例如,无人驾驶汽车)和其他辅智能体是非参考智能体。
本说明书结合***和计算机程序组件使用术语“被配置”。被配置为执行特定的操作或动作的一个或多个计算机的***意味着***已经在其上安装了软件、固件、硬件或者它们的组合,其中该软件、固件、硬件或者它们的组合在操作中使得***执行操作或动作。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括在由数据处理装置运行时使得该装置执行操作或动作的指令。
在本说明书中描述的主题和功能操作的实施例可以在数字电子电路中、在有形体现的计算机软件或固件中、在包括在本说明书中公开的结构及其结构等同物的计算机硬件中或者在它们中的一个或多个的组合中被实施。在本说明书中描述的主题的实施例可以被实施为一个或多个计算机程序,即编码在有形非暂时性存储介质上的计算机程序指令的一个或多个模块,以用于由数据处理装置运行或者控制数据处理装置的操作。计算机存储介质可以是机器可读存储设备、机器可读存储基底、随机或串行存取存储器设备或者它们中的一个或多个的组合。替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电信号、光信号或电磁信号,其中该人工生成的传播信号被生成以对信息进行编码,用于发送给适合的接收器装置以用于由数据处理装置运行。
术语“数据处理装置”是指数据处理硬件,并且包括用于处理数据的所有种类的装置、设备和机器(包括例如可编程处理器、计算机、或者多个处理器或计算机)。该装置也可以是或者还包括专用逻辑电路,例如FPGA(Field Programmable Gate Array,现场可编程门阵列)或ASIC(Application-Specific Integrated Circuit,专用集成电路)。除了硬件之外,该装置还可以可选地包括创建计算机程序的运行环境的代码,例如构成处理器固件、协议栈、数据库管理***、操作***或者它们中的一个或多个的组合的代码。
计算机程序,也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或代码,可以以任何形式的编程语言(包括编译或解释语言、或者声明性或过程性语言)进行编写;它可以以任何形式被部署,包括作为独立程序或者作为模块、组件、子例程或适用于计算环境的其他单元。程序可以但不一定对应于文件***中的文件。程序可以被存储在保存其他程序或数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的一部分中、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。计算机程序可以被部署为在一个计算机或者位于一个站点或跨多个站点分布并通过数据通信网络互连的多个计算机上被运行。
在本说明书中,术语“引擎”被广泛用于指代基于软件的***、子***或者被编程为执行一个或多个特定功能的过程。通常,引擎将被实施为安装在一个或多个位置的一个或多个计算机上的一个或多个软件模块或组件。在一些情况下,一个或多个计算机将专用于特定引擎;在其他情况下,多个引擎可以被安装在相同的(多个)计算机上并在其上运行。
在本说明书中描述的过程和逻辑流程可以由一个或多个可编程计算机执行,其中该一个或多个可编程计算机运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路(例如,FPGA或ASIC)或者由专用逻辑电路和一个或多个编程计算机的组合执行。
适合于运行计算机程序的计算机可以基于通用或专用微处理器或两者、或者任何其他种类的中央处理单元。通常,中央处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行或运行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以由专用逻辑电路补充或被并入专用逻辑电路。通常,计算机也将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或者被可操作地耦合为从该一个或多个大容量存储设备接收数据或向其传递数据。然而,计算机不需要具有这样的设备。此外,计算机可以被嵌入在另一设备中,例如移动电话、个人数字助理(Personal Digital Assistant,PDA)、移动音频或视频播放器、游戏控制台、全球定位***(Global Positioning System,GPS)接收器或便携式存储设备(例如,通用串行总线(Universal Serial Bus,USB)闪存驱动器),仅举几个例子。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备(例如,EPROM、EEPROM和快闪存储器设备);磁盘(例如,内部硬盘或可移动磁盘);磁光盘;以及CD ROM和DVD-ROM磁盘。
为了提供与用户的交互,在本说明书中描述的主题的实施例可以在计算机上被实施,其中该计算机具有用于向用户显示信息的显示设备(例如,CRT(Cathode Ray Tube,阴极射线管)或LCD(Liquid Crystal Display,液晶显示器)监视器),以及用户可以通过其向计算机提供输入的键盘和定点设备(例如,鼠标或轨迹球)。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以以任何形式被接收,包括声音输入、语音输入或触觉输入。此外,计算机可以通过向由用户使用的设备传送文档以及从其接收文档来与用户进行交互;例如,通过响应于从网络浏览器接收的请求而向用户设备上的网络浏览器传送网页。此外,计算机可以通过向个人设备(例如,运行消息传递应用的智能电话)传送文本消息或其他形式的消息以及作为交换从用户接收响应消息来与用户进行交互。
用于实施机器学习模型的数据处理装置也可以包括例如用于处理机器学习训练或生产的普通和计算密集部分(即推理、工作负荷)的专用硬件加速器单元。
机器学习模型可以使用机器学习框架(例如,TensorFlow框架、MicrosoftCognitive Toolkit框架、Apache Singa框架或Apache MXNet框架)来实施和部署。
在本说明书中描述的主题的实施例可以在计算***中被实施,其中该计算***包括后端组件(例如,作为数据服务器)、或者包括中间件组件(例如,应用服务器)、或者包括前端组件(例如,具有用户可以通过其与在本说明书中描述的主题的实施方式进行交互的图形用户界面、网络浏览器或应用的客户端计算机)、或者包括一个或多个这样的后端组件、中间件组件或前端组件的任何组合。***的组件可以通过任何形式或介质的数字数据通信(例如,通信网络)进行互连。通信网络的示例包括局域网(Local Area Network,LAN)和广域网(Wide Area Network,WAN)(例如,互联网)。
计算***可以包括客户端和服务器。客户端和服务器通常彼此远离,并且一般通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行并且彼此具有客户端-服务器关系的计算机程序而出现。在一些实施例中,服务器将数据(例如,HTML页面)发送给用户设备,例如,出于向与充当客户端的设备交互的用户显示数据以及从该用户接收用户输入的目的。可以在服务器处从设备接收在用户设备处生成的数据,例如用户交互的结果。
虽然本说明书包含许多具体的实施方式细节,但这些不应被解释为对任何发明的范围或可能要求保护的内容的范围的限制,而是可以特定于特定发明的特定实施例的特征的描述。单独的实施例的上下文中的在本说明书中描述的某些特征也可以在单个实施例中被组合实施。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中被实施。此外,尽管特征可以在上面被描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下可以从所要求保护的组合删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变化。
类似地,虽然以特定顺序在附图中描绘并在权利要求中阐述了操作,但是这不应该被理解为要求以所示的特定顺序或以先后顺序执行这些操作或者执行所有示出的操作来实现期望的结果。在某些情况下,多任务处理和并行处理可能是有利的。此外,上述实施例中的各种***模块和组件的分离不应被理解为在所有实施例中都需要这样的分离,并且应该理解,所描述的程序组件和***通常可以一起集成在单个软件产品中或打包为多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,在权利要求中阐述的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,在附图中描绘的过程不一定需要所示的特定顺序或先后顺序来实现期望的结果。在一些情况下,多任务和并行处理可能是有利的。
Claims (20)
1.一种由一个或多个数据处理装置执行的方法,所述方法包括:
识别车辆周围的多个智能体;
确定重要性分数的第一集合,其中所述第一集合中的每个重要性分数指示所述多个智能体中的不同智能体对所述车辆的规划决策的估计相关性;
确定重要性分数的一个或多个第二集合,其中每个第二集合是通过分配所述多个智能体中的不同智能体作为所述第二集合的参考智能体来确定的,并且每个第二集合中的每个重要性分数指示不同的非参考智能体或所述车辆对所述参考智能体的规划决策的估计相关性;
基于所述重要性分数的第一集合和所述重要性分数的一个或多个第二集合来确定相互重要性分数集合,其中每个相互重要性分数指示所述车辆和所述多个智能体中的不同智能体之间对另一个的规划决策的估计相互相关性;以及
在用于规划所述车辆的移动的过程中使用所述相互重要性分数集合中的至少一个分数。
2.根据权利要求1所述的方法,其中,确定所述重要性分数的第一集合包括处理表征所述车辆周围的环境的一部分的第一环境数据,其中所述第一环境数据围绕所述车辆定向。
3.根据权利要求2所述的方法,其中,所述第一环境数据标识所述多个智能体在所述车辆周围的环境中的位置。
4.根据权利要求2所述的方法,其中,确定所述重要性分数的第一集合还包括处理表征所述车辆的移动的第一运动数据。
5.根据权利要求4所述的方法,其中,所述第一运动数据描述所述车辆在所述环境中的过去位置、所述车辆在所述环境中的当前位置、所述车辆在所述环境中的预测未来位置、所述车辆的过去速度、所述车辆的当前速度、所述车辆的预测未来速度、所述车辆的过去加速度、所述车辆的当前加速度、所述车辆的预测未来加速度、所述车辆的过去前进方向、所述车辆的当前前进方向或所述车辆的预测未来前进方向中的至少一个。
6.根据权利要求4所述的方法,其中,确定所述重要性分数的第一集合还包括处理表征所述多个智能体中的一个或多个智能体在所述环境周围的移动的第二运动数据。
7.根据权利要求1所述的方法,还包括使用第一重要性评分模型来确定所述重要性分数的第一集合,以及使用第二重要性评分模型来确定所述重要性分数的一个或多个第二集合。
8.根据权利要求7所述的方法,其中,所述第一重要性评分模型比所述第二重要性评分模型有更多的计算要求。
9.根据权利要求7所述的方法,其中,所述第一重要性评分模型包括卷积神经网络。
10.根据权利要求1所述的方法,其中,确定所述重要性分数的第一集合包括将所述车辆指定为参考智能体,并且将所述车辆周围的所述多个智能体指定为相应的非参考智能体。
11.根据权利要求1所述的方法,其中,确定所述重要性分数的一个或多个第二集合包括,对于每个第二集合:
处理表征所述第二集合的相应参考智能体周围的环境的一部分的第二环境数据,其中所述第二环境数据围绕所述第二集合的相应参考智能体定向。
12.根据权利要求1所述的方法,其中:
确定所述重要性分数的第一集合包括处理表征所述车辆的过去移动或预测未来移动中的至少一个的第一运动数据;并且
所述重要性分数的一个或多个第二集合在不处理表征所述车辆或所述多个智能体的过去移动或预测未来移动的运动数据的情况下被确定。
13.根据权利要求1所述的方法,其中,所述相互重要性分数集合指示对第一智能体的更高相互重要性,其中所述第一智能体具有(i)根据所述重要性分数的第一集合对所述车辆的规划决策的更高重要性,并且(ii)所述车辆针对所述第一智能体具有根据对应于所述第一智能体的所述重要性分数的第二集合对所述第一智能体的规划决策的更高重要性。
14.根据权利要求13所述的方法,其中,所述相互重要性分数集合指示对第二智能体的更低相互重要性,其中所述第二智能体具有(i)根据所述重要性分数的第一集合对所述车辆的规划决策的更低重要性,并且(ii)所述车辆针对所述第二智能体具有根据对应于所述第二智能体的所述重要性分数的第二集合对所述第二智能体的规划决策的更低重要性。
15.根据权利要求1所述的方法,其中,所述相互重要性分数集合是指示相互重要性的绝对水平的概率值,或者是指示智能体关于对所述车辆的相互重要性相对于彼此的排名的排名值。
16.根据权利要求1所述的方法,其中,所述车辆是完全自动驾驶或半自动驾驶车辆,并且所述多个智能体包括所述车辆周围的其他车辆、行人或骑自行车的人。
17.根据权利要求1所述的方法,其中,确定所述重要性分数的第一集合包括处理所述多个智能体中的每一个的特征表示,其中智能体的特征表示包括以下中的一个或多个:所述智能体的速度、所述智能体的加速度、所述智能体的类型、所述智能体到所述车辆的距离、以及指示所述智能体的预测轨迹是否将与所述车辆的轨迹重叠的数据。
18.根据权利要求1所述的方法,还包括:
将所述多个智能体具有最高相互重要性分数的适当子集识别为高优先级智能体;
仅对于所述多个智能体中被识别为高优先级智能体的那些智能体,使用第一预测模型生成表征所述智能体的数据;以及
在用于规划所述车辆的移动的过程中使用所述相互重要性分数集合中的至少一个分数包括向所述车辆的规划***提供表征使用所述第一预测模型生成的所述高优先级智能体的所述数据,以生成用于规划所述车辆的未来轨迹的规划决策。
19.一种***,包括:
数据处理装置;和
存储器,与所述数据处理装置通信并存储指令,所述指令在被执行时使得所述数据处理装置执行操作,所述操作包括:
识别车辆周围的多个智能体;
确定重要性分数的第一集合,其中所述第一集合中的每个重要性分数指示所述多个智能体中的不同智能体对所述车辆的规划决策的估计相关性;
确定重要性分数的一个或多个第二集合,其中每个第二集合是通过分配所述多个智能体中的不同智能体作为所述第二集合的参考智能体来确定的,并且每个第二集合中的每个重要性分数指示不同的非参考智能体或所述车辆对所述参考智能体的规划决策的估计相关性;
基于所述重要性分数的第一集合和所述重要性分数的一个或多个第二集合来确定相互重要性分数集合,其中每个相互重要性分数指示所述车辆和所述多个智能体中的不同智能体之间对另一个的规划决策的估计相互相关性;以及
在用于规划所述车辆的移动的过程中使用所述相互重要性分数集合中的至少一个分数。
20.一个或多个存储有指令的非暂时性计算机可读存储介质,所述指令在由数据处理装置执行时使得所述数据处理装置执行操作,所述操作包括:
识别车辆周围的多个智能体;
确定重要性分数的第一集合,其中所述第一集合中的每个重要性分数指示所述多个智能体中的不同智能体对所述车辆的规划决策的估计相关性;
确定重要性分数的一个或多个第二集合,其中每个第二集合是通过分配所述多个智能体中的不同智能体作为所述第二集合的参考智能体来确定的,并且每个第二集合中的每个重要性分数指示不同的非参考智能体或所述车辆对所述参考智能体的规划决策的估计相关性;
基于所述重要性分数的第一集合和所述重要性分数的一个或多个第二集合来确定相互重要性分数集合,其中每个相互重要性分数指示所述车辆和所述多个智能体中的不同智能体之间对另一个的规划决策的估计相互相关性;以及
在用于规划所述车辆的移动的过程中使用所述相互重要性分数集合中的至少一个分数。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/987,980 US11687077B2 (en) | 2020-08-07 | 2020-08-07 | Ranking agents near autonomous vehicles by mutual importance |
US16/987,980 | 2020-08-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114061581A true CN114061581A (zh) | 2022-02-18 |
Family
ID=80113753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110900386.1A Pending CN114061581A (zh) | 2020-08-07 | 2021-08-06 | 通过相互重要性对自动驾驶车辆附近的智能体排名 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11687077B2 (zh) |
CN (1) | CN114061581A (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12008806B2 (en) | 2021-08-19 | 2024-06-11 | Meta Platforms Technologies, Llc | Methods and systems to allow three-dimensional map sharing between heterogeneous computing systems, cross-localization, and sharing content in three-dimensional space |
US11675362B1 (en) * | 2021-12-17 | 2023-06-13 | Motional Ad Llc | Methods and systems for agent prioritization |
US20230237692A1 (en) * | 2022-01-26 | 2023-07-27 | Meta Platforms Technologies, Llc | Methods and systems to facilitate passive relocalization using three-dimensional maps |
US11807252B2 (en) * | 2022-02-14 | 2023-11-07 | Here Global B.V. | Method and apparatus for determining vehicle behavior |
WO2023177920A1 (en) * | 2022-03-18 | 2023-09-21 | Motional Ad Llc | Agent importance prediction for autonomous driving |
US12008681B2 (en) * | 2022-04-07 | 2024-06-11 | Gm Technology Operations Llc | Systems and methods for testing vehicle systems |
US20240020928A1 (en) * | 2022-07-08 | 2024-01-18 | Qualcomm Incorporated | Techniques to facilitate a cloud-based vehicle xr experience |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562060A1 (en) * | 2011-08-22 | 2013-02-27 | Honda Research Institute Europe GmbH | A method and system for predicting movement behavior of a target traffic object |
CN108292134A (zh) * | 2015-11-04 | 2018-07-17 | 祖克斯有限公司 | 用于优化远程操作和/或规划器决策的机器学习***和技术 |
CN110873564A (zh) * | 2018-08-30 | 2020-03-10 | 小马智行 | 对车辆导航进行优先级排序 |
US20200156632A1 (en) * | 2018-11-20 | 2020-05-21 | Waymo Llc | Agent prioritization for autonomous vehicles |
US20200159215A1 (en) * | 2018-11-21 | 2020-05-21 | Waymo Llc | Agent prioritization for autonomous vehicles |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979173B2 (en) | 1997-10-22 | 2011-07-12 | Intelligent Technologies International, Inc. | Autonomous vehicle travel control systems and methods |
US20060165811A1 (en) | 2005-01-26 | 2006-07-27 | Black Michael J | Method and system for automatic decoding of motor cortical activity |
US8605947B2 (en) | 2008-04-24 | 2013-12-10 | GM Global Technology Operations LLC | Method for detecting a clear path of travel for a vehicle enhanced by object detection |
WO2010141419A2 (en) | 2009-06-01 | 2010-12-09 | Raytheon Company | Non-kinematic behavioral mapping |
US8861842B2 (en) | 2010-02-05 | 2014-10-14 | Sri International | Method and apparatus for real-time pedestrian detection for urban driving |
US8712096B2 (en) | 2010-03-05 | 2014-04-29 | Sri International | Method and apparatus for detecting and tracking vehicles |
US8706298B2 (en) | 2010-03-17 | 2014-04-22 | Raytheon Company | Temporal tracking robot control system |
DE102011107111A1 (de) | 2011-07-12 | 2013-01-17 | Continental Automotive Gmbh | Verfahren und Kommunikationssystem zum Empfang von Daten bei der drahtlosen Fahrzeug-zu-Umgebung-Kommunikation |
US8798840B2 (en) | 2011-09-30 | 2014-08-05 | Irobot Corporation | Adaptive mapping with spatial summaries of sensor data |
US9495874B1 (en) * | 2012-04-13 | 2016-11-15 | Google Inc. | Automated system and method for modeling the behavior of vehicles and other agents |
US9176500B1 (en) | 2012-05-14 | 2015-11-03 | Google Inc. | Consideration of risks in active sensing for an autonomous vehicle |
DE102012021282A1 (de) | 2012-10-29 | 2014-04-30 | Audi Ag | Verfahren zur Koordination des Betriebs von vollautomatisiert fahrenden Kraftfahrzeugen |
US9734220B2 (en) | 2012-12-04 | 2017-08-15 | Planet Os Inc. | Spatio-temporal data processing systems and methods |
US9248834B1 (en) | 2014-10-02 | 2016-02-02 | Google Inc. | Predicting trajectories of objects based on contextual information |
US20180046920A1 (en) | 2016-08-10 | 2018-02-15 | Paypal, Inc. | User Data Learning Based on Recurrent Neural Networks with Long Short Term Memory |
JP6940612B2 (ja) * | 2016-09-14 | 2021-09-29 | ナウト, インコーポレイテッドNauto, Inc. | ニアクラッシュ判定システムおよび方法 |
US10059336B2 (en) | 2017-01-06 | 2018-08-28 | Toyota Research Institute, Inc. | Systems and methods for dynamically adjusting a vehicle trajectory according to deviations of a driver from expected inputs |
US10739777B2 (en) | 2018-11-20 | 2020-08-11 | Waymo Llc | Trajectory representation in behavior prediction systems |
US11644835B2 (en) * | 2020-07-29 | 2023-05-09 | Toyota Research Institute, Inc. | Game-theoretic planning for risk-aware interactive agents |
-
2020
- 2020-08-07 US US16/987,980 patent/US11687077B2/en active Active
-
2021
- 2021-08-06 CN CN202110900386.1A patent/CN114061581A/zh active Pending
-
2023
- 2023-05-15 US US18/197,561 patent/US11977382B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2562060A1 (en) * | 2011-08-22 | 2013-02-27 | Honda Research Institute Europe GmbH | A method and system for predicting movement behavior of a target traffic object |
CN108292134A (zh) * | 2015-11-04 | 2018-07-17 | 祖克斯有限公司 | 用于优化远程操作和/或规划器决策的机器学习***和技术 |
CN110873564A (zh) * | 2018-08-30 | 2020-03-10 | 小马智行 | 对车辆导航进行优先级排序 |
US20200156632A1 (en) * | 2018-11-20 | 2020-05-21 | Waymo Llc | Agent prioritization for autonomous vehicles |
US20200159215A1 (en) * | 2018-11-21 | 2020-05-21 | Waymo Llc | Agent prioritization for autonomous vehicles |
Also Published As
Publication number | Publication date |
---|---|
US11687077B2 (en) | 2023-06-27 |
US20230288929A1 (en) | 2023-09-14 |
US11977382B2 (en) | 2024-05-07 |
US20220043446A1 (en) | 2022-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11815892B2 (en) | Agent prioritization for autonomous vehicles | |
US11673550B2 (en) | Agent prioritization for autonomous vehicles | |
US11003189B2 (en) | Trajectory representation in behavior prediction systems | |
US11977382B2 (en) | Ranking agents near autonomous vehicles by mutual importance | |
US11586931B2 (en) | Training trajectory scoring neural networks to accurately assign scores | |
US11693415B2 (en) | Predicting cut-in probabilities of surrounding agents | |
US11829149B1 (en) | Determining respective impacts of agents | |
US11592827B1 (en) | Predicting yielding likelihood for an agent | |
CN115158309A (zh) | 使用上下文敏感融合的因素轨迹预测 | |
US11873011B2 (en) | Labeling lane segments for behavior prediction for agents in an environment | |
US11657268B1 (en) | Training neural networks to assign scores | |
US20220156972A1 (en) | Long range distance estimation using reference objects |
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 |