CN117292340A - 用于控制运载工具的方法、系统和介质 - Google Patents
用于控制运载工具的方法、系统和介质 Download PDFInfo
- Publication number
- CN117292340A CN117292340A CN202310748006.6A CN202310748006A CN117292340A CN 117292340 A CN117292340 A CN 117292340A CN 202310748006 A CN202310748006 A CN 202310748006A CN 117292340 A CN117292340 A CN 117292340A
- Authority
- CN
- China
- Prior art keywords
- trajectory
- vehicle
- features
- track
- feature
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000010801 machine learning Methods 0.000 claims description 104
- 230000009471 action Effects 0.000 claims description 31
- 230000015654 memory Effects 0.000 claims description 27
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 abstract description 67
- 239000000284 extract Substances 0.000 abstract description 19
- 238000013527 convolutional neural network Methods 0.000 description 74
- 238000012549 training Methods 0.000 description 65
- 230000008447 perception Effects 0.000 description 53
- 210000002569 neuron Anatomy 0.000 description 47
- 230000006870 function Effects 0.000 description 40
- 238000005070 sampling Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 33
- 239000013598 vector Substances 0.000 description 31
- 230000001133 acceleration Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 24
- 230000008859 change Effects 0.000 description 17
- 230000008569 process Effects 0.000 description 17
- 238000013528 artificial neural network Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 14
- 239000003795 chemical substances by application Substances 0.000 description 13
- 238000000605 extraction Methods 0.000 description 9
- 101100369993 Mus musculus Tnfsf10 gene Proteins 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000007493 shaping process Methods 0.000 description 7
- 238000004088 simulation Methods 0.000 description 7
- 230000007423 decrease Effects 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000002730 additional effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000036461 convulsion Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013209 evaluation strategy Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- 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
- B60W30/00—Purposes 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/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
- B60W30/095—Predicting travel path or likelihood of collision
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- 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/0011—Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
-
- 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
- B60W30/00—Purposes 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/02—Control of vehicle driving stability
- B60W30/045—Improving turning performance
-
- 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
- B60W30/00—Purposes 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/14—Adaptive cruise control
- B60W30/143—Speed control
-
- 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
-
- 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/06—Road 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/0098—Details of control systems ensuring comfort, safety or stability not otherwise provided for
-
- 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
-
- 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
-
- 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/36—Input/output arrangements for on-board computers
- G01C21/3691—Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/93—Lidar systems specially adapted for specific applications for anti-collision purposes
- G01S17/931—Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
-
- 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/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
- G06V20/54—Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- 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
- B60W2552/00—Input parameters relating to infrastructure
- B60W2552/53—Road markings, e.g. lane marker or crosswalk
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/35—Data fusion
-
- 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
- B60W2556/00—Input parameters relating to data
- B60W2556/40—High definition maps
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Atmospheric Sciences (AREA)
- Molecular Biology (AREA)
- Ecology (AREA)
- Environmental & Geological Engineering (AREA)
- Environmental Sciences (AREA)
- Traffic Control Systems (AREA)
- Radar Systems Or Details Thereof (AREA)
- Image Analysis (AREA)
- Paper (AREA)
Abstract
本发明涉及用于控制运载工具的方法、系统和介质。轨迹规划系统可用于为自主运载工具选择轨迹。轨迹规划系统可以生成多个轨迹并从所生成的轨迹提取特征。轨迹规划系统可以基于所提取的特征来评估轨迹,并且基于该评估来为运载工具选择轨迹。所选择的轨迹可用于控制运载工具。
Description
技术领域
本申请涉及运载工具的轨迹选择,尤其涉及针对自动驾驶(self-driving)运载工具使用机器学习模型。
背景技术
自动驾驶运载工具通常使用多个类型的图像来感知这些自动驾驶运载工具周围的区域。训练这些系统以准确地感知区域可能是困难且复杂的。
发明内容
一种用于控制运载工具的方法,包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹;从所述多个轨迹中的特定轨迹提取第一多个特征;使用机器学习模型,基于所述第一多个特征和运载工具规划策略来在轨迹空间中评估所述特定轨迹;基于评估所述特定轨迹来从所述多个轨迹中选择第一轨迹;以及使得基于所述第一轨迹来控制所述运载工具。
附图说明
图1是可以实现包括自主系统的一个或多于一个组件的运载工具的示例环境;
图2是包括自主系统的运载工具的一个或多于一个系统的图;
图3是图1和图2的一个或多于一个装置和/或一个或多于一个系统的组件的图;
图4A是自主系统的某些组件的图;
图4B是神经网络的实现的图;
图4C和图4D是例示CNN的示例操作的图;
图5A是例示规划系统的训练环境的框图;
图5B是例示运载工具场景内的所生成轨迹的示例的图像的图。
图6A是例示正在对规划系统进行训练的训练环境的示例的数据流图。
图6B是例示由规划系统使用以对特征和轨迹进行评分的操作和数据结构的示例的数据流图。
图7是例示由一个或多于一个处理器实现以训练机器学习模型的例程的示例的流程图。
图8是例示规划系统的推断环境的框图。
图9是例示推断环境的示例的数据流图,规划系统正在该推断环境中操作以规划运载工具的轨迹。
图10是例示由一个或多于一个处理器实现以选择用于控制运载工具的轨迹的例程的示例的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本公开的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式例示的,以避免不必要地使本公开的方面模糊。
在附图中,为了便于描述,例示了示意要素(诸如表示系统、装置、模块、指令块和/或数据要素等的那些要素等)的具体布置或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或布置并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其他要素结合。
此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或多于两个其他示意要素之间或之中的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中例示,以便不使本公开内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多于一个信号路径(例如,总线)。
尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,并且可以与“一个或多于一个”或者“至少一个”互换使用,除非上下文另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关联的列出项中的一个或多于一个的任何和所有可能的组合。此外,术语“或”以其包括性意义(而不是以其排他性意义)使用,使得在例如用于连接要素的列表时,术语“或”意味着该列表中的要素中的一个、一部分或全部。除非另外具体陈述,否则诸如短语“X、Y和Z中的至少一个”等的析取语言在所使用的上下文中通常被理解为表示项、术语等可以是X、Y或Z,或者它们的任何组合(例如,X、Y或Z)。因而,这样的析取语言通常并不旨在且不应暗示某些实施例需要X中的至少一个、Y中的至少一个和Z中的至少一个各自均存在。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多于一个其他特征、整数、步骤、操作、要素、组件和/或其群组。
如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、系统、装置或系统的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
本文所使用的条件语言(诸如“能够”、“可能”、“也许”、“可以”和“例如”等)除非被另外具体陈述或者在如所使用的上下文内以其他方式理解,否则通常旨在传达某些实施例包括某些特征、要素或步骤,而其他实施例不包括某些特征、要素或步骤。因此,这种条件语言通常不旨在暗示:特征、要素或步骤对于一个或多于一个实施例而言无论如何都是必需的,或者一个或多于一个实施例必需包括用于在存在或不存在其他输入或提示的情况下决定在任何特定实施例中是否包括或将进行这些特征、要素或步骤的逻辑。如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当…时”、“在…时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定…时”、“响应于确定为“或”在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”意在是意味着“至少部分基于”。
通过在轨迹空间中评估轨迹,机器学习模型可以简化轨迹的分析。另外,通过对轨迹的轨迹特征进行评分,机器学习模型可以提供对不同的轨迹特征可能如何影响某轨迹相对于其他轨迹的评分(或排名)的见解。此外,通过使用可能不同于专家轨迹(并且可能连同轨迹集合一起生成)的主轨迹来计算损失,训练环境可以更有效地训练机器学习模型,由此提高训练机器学习模型的质量。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其他情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
概述
生成并选择自主运载工具的轨迹可能是复杂的。此外,很难获得与自主运载工具为什么选择特定轨迹而不是其他轨迹有关的见解。另外,(例如,通过沿着轨迹审查个体步或决策)在状态-动作空间中学习轨迹的奖励函数可能生成大量的数据,其中考虑到运载工具的计算资源约束,这些数据可能限制自主运载工具在合理时间量内评估并选择轨迹的能力。
为了解决这些问题,可以使用训练环境来训练机器学习模型以(例如,通过审查聚合集(aggregate)中的轨迹来)在轨迹空间中学习可解释的奖励功能。为了训练机器学习模型,训练环境可以重复地向机器学习模型提供从轨迹集合提取的特征集合(特征在本文也可被称为轨迹特征)。例如,训练环境可以向机器学习模型提供要评估的各轨迹的轨迹特征集合。机器学习模型可以使用不同的轨迹特征集合来评估各个轨迹。例如,机器学习模型可以对来自不同轨迹的各个轨迹特征进行评分,并且基于各个轨迹特征集合的得分来对轨迹进行排名(或评分)。
总体概述
在一些方面和/或实施例中,本文所述的系统、方法和计算机程序产品包括和/或实现以端到端的方式训练感知系统以识别对象的测试系统。作为非限制性示例,测试系统可以通过以下操作来训练感知系统:将lidar图像与(由图像语义网络从照相机图像生成的)语义图像融合,从融合图像提取特征,并且基于地面实况图像和从融合图像提取的特征之间的计算损失来修改图像语义网络中的至少一个网络参数。
借助本文所述的系统、方法和计算机程序产品的实现,自主运载工具可以更准确地识别图像内的对象,更准确地识别图像内的所识别对象的地点,更准确地预测图像内的所识别对象的轨迹,确定所识别对象的附加特征,并且推断与图像的场景有关的附加信息。
现在参考图1,例示示例环境100,在该示例环境100中,包括自主系统的运载工具以及不包括自主系统的运载工具进行操作。如所例示的,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(V2I)装置110、网络112、远程自主运载工具(AV)系统114、队列管理系统116和V2I系统118。运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)系统114、队列管理系统116和V2I系统118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)系统114、队列管理系统116和V2I系统118中的至少一者互连。
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与V2I装置110、远程AV系统114、队列管理系统116和/或V2I系统118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,运载工具200的集合中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多于一个运载工具102包括自主系统(例如,与自主系统202相同或类似的自主系统)。
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动。在一些实施例中,对象104与区域108中的相应地点相关联。
路线106a-106n(单独称为路线106且统称为路线106)各自与连接AV可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各个路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。在一些实施例中,第一状态包括一个或多于一个个体将要搭载AV的地点,并且第二状态或区包括搭载AV的一个或多于一个个体将要下车的一个或多于一个地点。在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记线相关联的(例如,基于至少一个车道标记线所识别的)至少一个车道。
运载工具到基础设施(V2I)装置110(有时称为运载工具到万物(Vehicle-to-Everything)(V2X)装置)包括被配置为与运载工具102和/或V2I系统118进行通信的至少一个装置。在一些实施例中,V2I装置110被配置为与运载工具102、远程AV系统114、队列管理系统116和/或V2I系统118经由网络112进行通信。在一些实施例中,V2I装置110包括射频识别(RFID)装置、标牌、照相机(例如,二维(2D)和/或三维(3D)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,V2I装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,V2I装置110被配置为与运载工具102、远程AV系统114和/或队列管理系统116经由V2I系统118进行通信。在一些实施例中,V2I装置110被配置为与V2I系统118经由网络112进行通信。
网络112包括一个或多于一个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、第四代(4G)网络、第五代(5G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
远程AV系统114包括被配置为与运载工具102、V2I装置110、网络112、队列管理系统116和/或V2I系统118经由网络112进行通信的至少一个装置。在示例中,远程AV系统114包括服务器、服务器组和/或其他类似装置。在一些实施例中,远程AV系统114与队列管理系统116位于同一位置。在一些实施例中,远程AV系统114参与运载工具的组件(包括自主系统、自主运载工具计算和/或由自主运载工具计算实现的软件等)中的一部分或全部的安装。在一些实施例中,远程AV系统114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
队列管理系统116包括被配置为与运载工具102、V2I装置110、远程AV系统114和/或V2I系统118进行通信的至少一个装置。在示例中,队列管理系统116包括服务器、服务器组和/或其他类似装置。在一些实施例中,队列管理系统116与拼车公司(例如,用于控制多个运载工具(例如,包括自主系统的运载工具和/或不包括自主系统的运载工具)的操作等的组织)相关联。
在一些实施例中,V2I系统118包括被配置为与运载工具102、V2I装置110、远程AV系统114和/或队列管理系统116经由网络112进行通信的至少一个装置。在一些示例中,V2I系统118被配置为与V2I装置110经由不同于网络112的连接进行通信。在一些实施例中,V2I系统118包括服务器、服务器组和/或其他类似装置。在一些实施例中,V2I系统118与市政当局或私营机构(例如,用于维护V2I装置110的私营机构等)相关联。
提供图1所例示的要素的数量和布置作为示例。与图1例示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同布置的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多于一个功能。附加地或可替代地,环境100的至少一个要素集合可以进行被描述为由环境100的至少一个不同的要素集合进行的一个或多于一个功能。
现在参考图2,运载工具200包括自主系统202、动力总成控制系统204、转向控制系统206和制动系统208。在一些实施例中,运载工具200与运载工具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考SAE国际标准J3016:道路上机动车自动驾驶系统相关术语的分类和定义(SAE International's standard J3016:Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle AutomatedDriving Systems),其全部内容通过引用而被并入。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相关联。
自主系统202包括传感器套件,该传感器套件包括诸如照相机202a、LiDAR传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多于一个装置。在一些实施例中,自主系统202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)GPS接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主系统202使用自主系统202中所包括的一个或多于一个装置来生成与本文所述的环境100相关联的数据。由自主系统202的一个或多于一个装置生成的数据可以由本文所述的一个或多于一个系统使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主系统202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(CCD)等的光传感器的数字照相机、热照相机、红外(IR)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,RAW、JPEG和/或PNG等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多于一个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多于一个距离处的对象而优化的诸如传感器和镜头等的特征。
在实施例中,照相机202a包括被配置为捕获与一个或多于一个交通灯、街道标志和/或提供视觉导航信息的其他物理对象相关联的一个或多于一个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多于一个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例如,RAW、JPEG和/或PNG等)的一个或多于一个图像相关联的TLD数据。在一些实施例中,生成TLD数据的照相机202a与本文所述的并入照相机的其他系统的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多于一个照相机,以生成与尽可能多的物理对象有关的图像。
激光检测和测距(LiDAR)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。LiDAR传感器202b包括被配置为从发光器(例如,激光发射器)发射光的系统。由LiDAR传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由LiDAR传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到LiDAR传感器202b。在一些实施例中,由LiDAR传感器202b发射的光不会穿透该光遇到的物理对象。LiDAR传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与LiDAR传感器202b相关联的至少一个数据处理系统生成表示LiDAR传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与LiDAR传感器202b相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定LiDAR传感器202b的视场中的物理对象的边界。
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的系统。由雷达传感器202c发射的无线电波包括预先确定的频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理系统生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理系统生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多于一个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多于一个系统可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
通信装置202e包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(DBW)系统202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(V2V)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
自主运载工具计算202f包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或DBW系统202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多于一个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具系统(例如,与图1的远程AV系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)、V2I装置(例如,与图1的V2I装置110相同或类似的V2I装置)和/或V2I系统(例如,与图1的V2I系统118相同或类似的V2I系统)进行通信。
安全控制器202g包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或DBW系统202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
DBW系统202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,DBW系统202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多于一个装置(例如,动力总成控制系统204、转向控制系统206和/或制动系统208等)的一个或多于一个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,DBW系统202h的一个或多于一个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
动力总成控制系统204包括被配置为与DBW系统202h进行通信的至少一个装置。在一些示例中,动力总成控制系统204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制系统204从DBW系统202h接收控制信号,并且动力总成控制系统204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制系统204使提供至运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮旋转或不旋转。
转向控制系统206包括被配置为使运载工具200的一个或多于一个轮旋转的至少一个装置。在一些示例中,转向控制系统206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制系统206使运载工具200的两个前轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
制动系统208包括被配置为使一个或多于一个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动系统208包括被配置为使与运载工具200的一个或多于一个轮相关联的一个或多于一个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动系统208包括自动紧急制动(AEB)系统和/或再生制动系统等。
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载工具200包括诸如全球定位系统(GPS)接收器、惯性测量单元(IMU)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102的系统的至少一个装置);以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装置)。在一些实施例中,运载工具102的一个或多于一个装置(例如,运载工具102的系统的一个或多于一个装置)、以及/或者网络112的一个或多于一个装置(例如,网络112的系统的一个或多于一个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
总线302包括许可装置300的组件之间的通信的组件。在一些情况下,处理器304包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或加速处理单元(APU)等)、麦克风、数字信号处理器(DSP)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)等)。存储器306包括随机存取存储器(RAM)、只读存储器(ROM)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带、CD-ROM、RAM、PROM、EPROM、FLASH-EPROM、NV-RAM和/或另一类型的计算机可读介质、以及相应的驱动器。
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位系统(GPS)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多于一个发光二极管(LED)等)。
在一些实施例中,通信接口314包括许可装置300与其他装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口和/或蜂窝网络接口等。
在一些实施例中,装置300进行本文所述的一个或多于一个处理。装置300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂态计算机可读介质)在本文被限定为非暂态存储器装置。非暂态存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多于一个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多于一个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多于一个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
提供图3所例示的组件的数量和布置作为示例。在一些实施例中,与图3所例示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的组件集合(例如,一个或多于一个组件)可以进行被描述为由装置300的另一组件或另一组件集合进行的一个或多于一个功能。
现在参考图4A,例示出自主运载工具计算400(有时称为“AV堆栈”)的示例框图。如所例示的,自主运载工具计算400包括感知系统402(有时称为感知模块)、规划系统404(有时称为规划模块)、定位系统406(有时称为定位模块)、控制系统408(有时称为控制模块)和数据库410。在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在运载工具的自动导航系统(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航系统中实现。附加地或可替代地,在一些实施例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在一个或多于一个独立系统(例如,与自主运载工具计算400相同或类似的一个或多于一个系统等)中。在一些示例中,感知系统402、规划系统404、定位系统406、控制系统408和数据库410包括在位于运载工具中的一个或多于一个独立系统以及/或者如本文所述的至少一个远程系统中。在一些实施例中,自主运载工具计算400中所包括的系统中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程系统(例如,与远程AV系统114相同或类似的自主运载工具系统、与队列管理系统116相同或类似的队列管理系统116、以及/或者与V2I系统118相同或类似的V2I系统等)进行通信。
在一些实施例中,感知系统402接收与环境中的至少一个物理对象相关联的数据(例如,感知系统402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知系统402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多于一个物理对象相关联(例如,表示该一个或多于一个物理对象)。在这样的示例中,感知系统402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多于一个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知系统402对物理对象进行分类,感知系统402将与物理对象的分类相关联的数据传输到规划系统404。
在一些实施例中,规划系统404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划系统404定期地或连续地从感知系统402接收数据(例如,上述的与物理对象的分类相关联的数据),并且规划系统404基于感知系统402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划系统404从定位系统406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划系统404基于定位系统406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
在一些实施例中,定位系统406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位系统406接收与至少一个LiDAR传感器(例如,LiDAR传感器202b)所生成的至少一个点云相关联的LiDAR数据。在某些示例中,定位系统406从多个LiDAR传感器接收与至少一个点云相关联的数据,并且定位系统406基于各个点云来生成组合点云。在这些示例中,定位系统406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2D)和/或三维(3D)地图进行比较。然后,基于定位系统406将至少一个点云或组合点云与地图进行比较,定位系统406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其他行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知系统所接收到的数据来实时地生成地图。
在另一示例中,定位系统406接收由全球定位系统(GPS)接收器所生成的全球导航卫星系统(GNSS)数据。在一些示例中,定位系统406接收与运载工具在区域中的地点相关联的GNSS数据,并且定位系统406确定运载工具在区域中的纬度和经度。在这样的示例中,定位系统406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位系统406生成与运载工具的位置相关联的数据。在一些示例中,基于定位系统406确定运载工具的位置,定位系统406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多于一个语义性质相关联的数据。
在一些实施例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408控制运载工具的操作。在一些示例中,控制系统408从规划系统404接收与至少一个轨迹相关联的数据,并且控制系统408通过生成并传输控制信号以使动力总成控制系统(例如,DBW系统202h和/或动力总成控制系统204等)、转向控制系统(例如,转向控制系统206)和/或制动系统(例如,制动系统208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制系统408传输控制信号以使转向控制系统206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制系统408生成并传输控制信号以使运载工具200的其他装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
在一些实施例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型(例如,至少一个多层感知器(MLP)、至少一个卷积神经网络(CNN)、至少一个递归神经网络(RNN)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408单独地或与上述系统中的一个或多于一个结合地实现至少一个机器学习模型。在一些示例中,感知系统402、规划系统404、定位系统406和/或控制系统408实现至少一个机器学习模型作为管道(例如,用于识别位于环境中的一个或多于一个对象的管道等)的一部分。以下关于图4B至图4D包括机器学习模型的实现的示例。
数据库410存储传输至感知系统402、规划系统404、定位系统406和/或控制系统408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个系统的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2D和/或3D地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(State)(例如,国家)等的2D和/或3D地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多于一个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个LiDAR传感器(例如,与LiDAR传感器202b相同或类似的LiDAR传感器)生成与表示该至少一个LiDAR传感器的视场中所包括的对象的图像相关联的数据。
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具系统(例如,与远程AV系统114相同或类似的自主运载工具系统)、队列管理系统(例如,与图1的队列管理系统116相同或类似的队列管理系统)中和/或V2I系统(例如,与图1的V2I系统118相同或类似的V2I系统)等中。
现在参考图4B,例示机器学习模型的实现的图。更具体地,例示卷积神经网络(CNN)420的实现的图。为了说明的目的,CNN 420的以下说明将关于通过感知系统402实现CNN 420。然而,将理解,在一些示例中,CNN 420(例如,CNN 420的一个或多于一个组件)由不同于感知系统402的或除感知系统402之外的其他系统(诸如规划系统404、定位系统406和/或控制系统408等)来实现。尽管CNN 420包括如本文所述的某些特征,但这些特征是为了说明的目的而提供的,并且不旨在限制本公开。
CNN 420包括包含第一卷积层422、第二卷积层424和卷积层426的多个卷积层。在一些实施例中,CNN 420包括子采样层428(有时称为池化层)。在一些实施例中,子采样层428和/或其他子采样层具有比上游系统的维度(即,节点的量)小的维度。借助于具有比上游层的维度小的维度的子采样层428,CNN 420合并与上游层的初始输入和/或输出相关联的数据量,由此减少CNN 420进行下游卷积运算所需的计算量。附加地或可替代地,借助于子采样层428与至少一个子采样函数相关联(例如,被配置为进行至少一个子采样函数)(如以下关于图4C和图4D所描述的),CNN 420合并与初始输入相关联的数据量。
基于感知系统402提供与第一卷积层422、第二卷积层424和卷积层426各自相关联的相应输入和/或输出以生成相应输出,感知系统402进行卷积运算。在一些示例中,基于感知系统402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426,感知系统402实现CNN 420。在这样的示例中,基于感知系统402从一个或多于一个不同系统(例如,与运载工具102相同或类似的运载工具的一个或多于一个系统、与远程AV系统114相同或类似的远程AV系统、与队列管理系统116相同或类似的队列管理系统、以及/或者与V2I系统118相同或类似的V2I系统等)接收数据,感知系统402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426。以下关于图4C包括卷积运算的详细说明。
在一些实施例中,感知系统402将与输入(称为初始输入)相关联的数据提供至第一卷积层422,并且感知系统402使用第一卷积层422生成与输出相关联的数据。在一些实施例中,感知系统402将由卷积层生成的输出作为输入提供至不同的卷积层。例如,感知系统402将第一卷积层422的输出作为输入提供至子采样层428、第二卷积层424和/或卷积层426。在这样的示例中,第一卷积层422被称为上游层,并且子采样层428、第二卷积层424和/或卷积层426被称为下游层。类似地,在一些实施例中,感知系统402将子采样层428的输出提供至第二卷积层424和/或卷积层426,并且在该示例中,子采样层428将被称为上游层,并且第二卷积层424和/或卷积层426将被称为下游层。
在一些实施例中,在感知系统402向CNN 420提供输入之前,感知系统402对与提供至CNN 420的输入相关联的数据进行处理。例如,基于感知系统402对传感器数据(例如,图像数据、LiDAR数据和/或雷达数据等)进行归一化,感知系统402对与提供至CNN 420的输入相关联的数据进行处理。
在一些实施例中,基于感知系统402进行与各个卷积层相关联的卷积运算,CNN420生成输出。在一些示例中,基于感知系统402进行与各个卷积层和初始输入相关联的卷积运算,CNN 420生成输出。在一些实施例中,感知系统402生成输出并将该输出提供至全连接层430。在一些示例中,感知系统402将卷积层426的输出提供至全连接层430,其中全连接层430包括与被称为F1、F2、...、FN的多个特征值相关联的数据。在该示例中,卷积层426的输出包括与表示预测的多个输出特征值相关联的数据。
在一些实施例中,基于感知系统402识别与作为多个预测中的正确预测的最高似然性相关联的特征值,感知系统402从这多个预测中识别预测。例如,在全连接层430包括特征值F1、F2、...、FN并且F1是最大特征值的情况下,感知系统402将与F1相关联的预测识别为多个预测中的正确预测。在一些实施例中,感知系统402训练CNN 420以生成预测。在一些示例中,基于感知系统402将与预测相关联的训练数据提供至CNN 420,感知系统402训练CNN 420以生成预测。
现在参考图4C和图4D,例示利用感知系统402的CNN 440的示例操作的图。在一些实施例中,CNN 440(例如,CNN 440的一个或多于一个组件)与CNN 420(例如,CNN 420的一个或多于一个组件)(参见图4B)相同或类似。
在步骤450,感知系统402将与图像相关联的数据作为输入提供至CNN 440(步骤450)。例如,如所例示的,感知系统402将与图像相关联的数据提供至CNN 440,其中该图像是表示为以二维(2D)阵列存储的值的灰度图像。在一些实施例中,与图像相关联的数据可以包括与彩色图像相关联的数据,该彩色图像被表示为以三维(3D)阵列存储的值。附加地或可替代地,与图像相关联的数据可以包括与红外图像和/或雷达图像等相关联的数据。
在步骤455,CNN 440执行第一卷积函数。例如,基于CNN 440将表示图像的值作为输入提供至第一卷积层442中所包括的一个或多于一个神经元(未明确例示出),CNN 440执行第一卷积函数。在该示例中,表示图像的值可以对应于表示图像的区(有时称为感受野)的值。在一些实施例中,各个神经元与滤波器(未明确例示出)相关联。滤波器(有时称为内核)可表示为在大小上与作为输入提供至神经元的值相对应的值阵列。在一个示例中,滤波器可被配置为识别边缘(例如,水平线、垂直线和/或直线等)。在连续的卷积层中,与神经元相关联的滤波器可被配置为连续地识别更复杂的图案(例如,弧和/或对象等)。
在一些实施例中,基于CNN 440将作为输入提供至第一卷积层442中所包括的一个或多于一个神经元中的各个神经元的值与同一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,CNN 440执行第一卷积函数。例如,CNN 440可以将作为输入提供至第一卷积层442中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。在一些实施例中,第一卷积层442的神经元的集体输出被称为卷积输出。在一些实施例中,在各个神经元具有相同滤波器的情况下,卷积输出被称为特征图。
在一些实施例中,CNN 440将第一卷积层442的各个神经元的输出提供至下游层的神经元。为了清楚起见,上游层可以是将数据传输至不同层(称为下游层)的层。例如,CNN440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,CNN 440将第一卷积层442的各个神经元的输出提供至第一子采样层444的相应神经元。在一些实施例中,CNN 440向提供至下游层的各个神经元的所有值的聚合集添加偏置值。例如,CNN 440向提供至第一子采样层444的各个神经元的所有值的聚合集添加偏置值。在这样的示例中,CNN 440基于提供至各个神经元的所有值的聚合集和与第一子采样层444的各个神经元相关联的激活函数来确定要提供至第一子采样层444的各个神经元的最终值。
在步骤460,CNN 440执行第一子采样函数。例如,基于CNN 440将由第一卷积层442输出的值提供至第一子采样层444的相应神经元,CNN 440可以执行第一子采样函数。在一些实施例中,CNN 440基于聚合函数来执行第一子采样函数。在示例中,基于CNN 440确定提供至给定神经元的值中的最大输入(称为最大池化函数),CNN 440执行第一子采样函数。在另一示例中,基于CNN 440确定提供至给定神经元的值中的平均输入(称为平均池化函数),CNN 440执行第一子采样函数。在一些实施例中,基于CNN 440向第一子采样层444的各个神经元提供值,CNN 440生成输出,该输出有时被称为子采样卷积输出。
在步骤465,CNN 440执行第二卷积函数。在一些实施例中,CNN 440以与上述的CNN440如何执行第一卷积函数类似的方式执行第二卷积函数。在一些实施例中,基于CNN 440将由第一子采样层444输出的值作为输入提供至第二卷积层446中所包括的一个或多于一个神经元(未明确例示出),CNN 440执行第二卷积函数。在一些实施例中,如上所述,第二卷积层446的各个神经元与滤波器相关联。如上所述,与第二卷积层446相关联的(一个或多于一个)滤波器与同第一卷积层442相关联的滤波器相比可被配置为识别更复杂的图案。
在一些实施例中,基于CNN 440将作为输入提供至第二卷积层446中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,CNN 440执行第二卷积函数。例如,CNN 440可以将作为输入提供至第二卷积层446中所包括的一个或多于一个神经元中的各个神经元的值与同该一个或多于一个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。
在一些实施例中,CNN 440将第二卷积层446的各个神经元的输出提供至下游层的神经元。例如,CNN 440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,CNN 440将第一卷积层442的各个神经元的输出提供至第二子采样层448的相应神经元。在一些实施例中,CNN 440向提供至下游层的各个神经元的所有值的聚合集添加偏置值。例如,CNN 440向提供至第二子采样层448的各个神经元的所有值的聚合集添加偏置值。在这样的示例中,CNN 440基于提供至各个神经元的所有值的聚合集和与第二子采样层448的各个神经元相关联的激活函数来确定提供至第二子采样层448的各个神经元的最终值。
在步骤470,CNN 440执行第二子采样函数。例如,基于CNN 440将由第二卷积层446输出的值提供至第二子采样层448的相应神经元,CNN 440可以执行第二子采样函数。在一些实施例中,基于CNN 440使用聚合函数,CNN 440执行第二子采样函数。在示例中,如上所述,基于CNN 440确定提供至给定神经元的值中的最大输入或平均输入,CNN 440执行第一子采样函数。在一些实施例中,基于CNN 440向第二子采样层448的各个神经元提供值,CNN440生成输出。
在步骤475,CNN 440将第二子采样层448的各个神经元的输出提供至全连接层449。例如,CNN 440将第二子采样层448的各个神经元的输出提供至全连接层449,以使得全连接层449生成输出。在一些实施例中,全连接层449被配置成生成与预测(有时称为分类)相关联的输出。预测可以包括作为输入提供至CNN 440的图像中所包括的对象包括对象和/或对象集合等的指示。在一些实施例中,感知系统402进行一个或多于一个操作以及/或者将与预测相关联的数据提供至本文所述的不同系统。
训练机器学习模型
训练自主运载工具的规划系统以选择运载工具通过场景所用的适当轨迹可能是复杂的。此外,很难获得与自主运载工具为什么选择特定轨迹而不是其他轨迹有关的见解。另外,(例如,通过审查沿着轨迹的个体步或决策)在状态-动作空间中学习轨迹的奖励函数可以生成大量的数据,其中考虑到运载工具的计算资源约束,这些数据可能限制自主运载工具的在合理的时间量内评估并选择轨迹的能力。
为了解决这些问题,可以使用训练环境来训练机器学习模型以(例如,通过审查聚合集(aggregate)中的轨迹)在轨迹空间中学习可解释的奖励功能。为了训练机器学习模型,训练环境可以重复地向机器学习模型提供从轨迹集合提取的特征集合(特征在本文也可被称为轨迹特征)。例如,训练环境可以向机器学习模型提供要评估的各轨迹的轨迹特征集合。机器学习模型可以使用不同的轨迹特征集合来评估各个轨迹。例如,机器学习模型可以对来自不同轨迹的各个轨迹特征进行评分,并且基于各个轨迹特征集合的得分来对轨迹进行排名(或评分)。
在训练期间,训练环境可以基于机器学习模型对轨迹集合中的轨迹以及各个轨迹特征排名(或评分)如何来评估机器学习模型。在一些情况下,训练环境可以基于轨迹集合中的主轨迹与其他轨迹的比较来计算损失。主轨迹可以选自轨迹集合,并且在一些情况下,可以与轨迹集合中的、同先前记录或专家轨迹类似的轨迹相对应。
基于所计算出的损失,训练环境可以修改机器学习模型的一个或多于一个参数,使得机器学习模型偏向于主轨迹(或者与主轨迹或专家轨迹类似的轨迹)。例如,随时间的经过,机器学习模型可以学习以将主轨迹排名(或评分)得比所评估的其他轨迹更高。在一些情况下,训练环境可以通过训练机器学习模型以随着主轨迹的排名(或得分)增加来减小损失,将主轨迹排名(或评分)得更高。
通过在轨迹空间中评估轨迹,机器学习模型可以减少用于评估轨迹的计算资源。例如,代替评估用于构建轨迹的各增量步或决策(这可能消耗大量资源),机器学习模型可以将所生成轨迹作为整体(例如,在轨迹空间中)进行评估。
另外,通过对轨迹的轨迹特征进行评分,机器学习模型可以提供对不同的轨迹特征可能如何影响某轨迹相对于其他轨迹的评分(或排名)的见解。此外,通过使用可能不同于专家轨迹(并且可能连同轨迹集合一起生成)的主轨迹来计算损失,训练环境可以更快地或更有效地训练机器学习模型,由此减少用于训练机器学习模型的计算资源的量和/或提高训练机器学习模型的质量。
图5A是例示规划系统404的训练环境500的框图。在所例示的训练环境500中,规划系统404使用训练数据501来生成得分512。训练环境500的一个或多于一个计算装置(未示出)使用得分512来计算损失514。训练环境500的计算装置可以修改规划系统404的一个或多于一个组件(诸如机器学习模型等)的一个或多于一个参数,以在评估附加的训练数据501时减小损失。这样,训练环境500可以训练规划系统404的一个或多于一个组件。
训练数据501可以包括与数百个、数千个、数百万个或更多个场景相对应的场景数据502的集合。在一些情况下,场景数据502的各集合可以与不同场景相对应,并且可以是在运载工具穿过各种环境时随时间的经过所收集的。训练数据501可以存储在训练环境500中的一个或多于一个数据存储器(未示出)中,并且用于训练规划系统404的一个或多于一个组件,诸如但不限于轨迹评估网络510或机器学习模型等。
特定场景的场景数据502(本文中也称为场景数据502的集合)可以包括来自传感器套件中的一个或多于一个传感器的数据、从感知系统402和/或定位系统406接收到的数据等。因此,场景数据502可以包括:与在收集场景数据502时的运载工具200的地理地点相关联的定位数据;与运载工具200的地点的地图(例如,语义或注释地图)相关联的地图数据,该地图包括与该地点中的静态对象或区域(例如,预计不会移动或改变的对象或区域,诸如可驾驶区域、不可驾驶区域、交通标志、人行横道、人行道(sidewalk)等)的位置有关的注释;与该地点中识别出的对象相关联的对象数据(例如,智能体的位置、朝向、速度、加速度等);与运载工具200的从起点到目的地的所确定的路线相关联的路线数据;等等。
在一些情况下,场景数据502包括与特定时间处的运载工具200的场景(本文中也称为运载工具场景)内的对象(诸如运载工具200周围的对象(非限制示例:对象,诸如但不限于由感知系统402识别出的行人、运载工具、自行车等)、可驾驶区域、不可驾驶区域、背景等)相关的数据。因此,在(例如,由于运载工具200移动或运载工具200周围的对象移动而导致)运载工具场景改变时,场景数据502可以以相应的方式改变。
如本文所述,在运载工具场景中并且用场景数据502表示的对象可以包括但不限于行人、自行车、其他运载工具、标志、路缘、建筑物等。此外,场景数据502可以包括与场景中的对象相关联的状态信息,诸如但不限于(相对于运载工具200的或者按绝对坐标/地理坐标的)位置、朝向/航向、速度、加速度、预测轨迹等。在一些情况下,规划系统404从另一系统接收场景数据502。在某些情况下,规划系统404生成场景数据502中的一些场景数据。例如,规划系统404可以基于传感器数据或从感知系统402接收到的语义分割图像(本文中也称为语义图像、分割图像)来生成对象的预测轨迹。
在某些情况下,特定场景的场景数据502可以包括与捕获同环境相关的数据的一个或多于一个传感器(例如,照相机202a、激光雷达传感器202b、雷达传感器202c、麦克风202d等)相关联的传感器数据。
在一些情况下,特定场景的场景数据502可以包括(例如,由感知系统402生成的)语义图像。语义图像可以包括像素的行和列。语义图像中的一部分或全部像素可以包括诸如一个或多于一个特征嵌入等的语义数据。在某些情况下,特征嵌入可以涉及诸如但不限于以下等的一个或多于一个对象属性:对象分类或者用于识别对象的分类(有时称为对象的类)的类标签(非限制性示例:运载工具、行人、自行车、障碍物、交通锥标、可驾驶面或背景等)。对象分类也可被称为像素类概率或语义分割得分。在一些情况下,图像的像素的对象分类可以用作图像的紧凑总结特征。例如,对象分类可以包括指示正确预测了针对像素所识别出的对象分类的概率的概率值。
在一些情况下,特征嵌入可以包括一个或多于一个n维特征向量。在一些这样的情况下,个体特征向量可以不对应于对象属性,但多个n维特征向量的组合可以包含与对象的属性(诸如但不限于对象的分类、宽度、长度、高度等)有关的信息。在某些情况下,特征嵌入可以包括一个或多于一个浮点数,这可以辅助下游模型进行其检测/分割/预测的任务。
在某些情况下,特征嵌入可以包括与场景中的对象有关的状态信息,诸如但不限于对象的位置、朝向/航向、速度、加速度、或者相对于运载工具200的或绝对坐标/地理坐标下的其他信息等。在某些情况下,规划系统404可以从场景数据502生成附加的特征嵌入,诸如与对象有关的状态信息等。
在例示示例中,规划系统404包括轨迹生成器504、轨迹特征提取器506、场景特征提取器508和轨迹评估网络510,然而,将理解,规划系统404可以包括更少或更多的组件。在一些实施例中,规划系统404的组件中的任何一个和/或全部可以使用一个或多于一个处理器或计算机硬件(例如,通过微处理器、微控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)等)来实现。这样的处理器或计算机硬件可被配置为执行非暂态存储介质上所存储的计算机可执行指令以进行本文所述的一个或多于一个功能。在某些情况下,规划系统的组件中的一个或多于一个组件(诸如但不限于轨迹生成器504、轨迹特征提取器506和/或场景特征提取器508等)可以使用一个或多于一个机器学习模型或神经网络来实现。
轨迹生成器504可以使用特定场景的场景数据502来生成轨迹,并且可以使用一个或多于一个处理器或其他计算机硬件、一个或多于一个机器学习模型、神经网络等来实现。在一些情况下,轨迹生成器504可以基于特定场景的场景数据502来生成特定场景的数百个或数千个或更多个轨迹。
轨迹生成器504可以使用各种技术来生成轨迹。轨迹生成器504可以基于运载工具200的运动学、运载工具场景中识别出的对象(例如,在场景数据502中识别的对象)和/或运载工具场景的地图(例如,道路网络地图和/或注释地图)来生成轨迹。在一些情况下,轨迹生成器504可以使用贪婪集覆盖算法来生成轨迹。
在某些情况下,轨迹生成器504可以使用轨迹生成策略来基于场景数据502生成潜在轨迹。轨迹生成策略可以存储在与规划系统404或运载工具200相关联的一个或多于一个数据存储器中。这些数据存储器可以位于运载工具200上或远离运载工具200(远程)。
轨迹生成策略可以包括如下的一个或多于一个策略:用以指示哪些运载工具动作要包括在轨迹中的策略(例如,运载工具动作策略);用以指示何时结束轨迹的策略(例如,结束状态策略);以及/或者用以指示何时结束生成轨迹的策略(例如,轨迹生成终止策略)。因此,规划系统404可以使用轨迹生成策略来生成供轨迹评估网络510进行评估用的轨迹。尽管本文中可以参考轨迹生成策略的一个或多于一个策略或子策略,但将理解,这些策略单独地或以聚合集的形式可被称为轨迹生成策略。
运载工具动作策略可以指示如何确定可用于轨迹的动作。在某些情况下,运载工具动作策略可以指示(例如,不论场景数据502如何)物理上可能的所有动作都被认为是可用的。在某些情况下,运载工具动作策略可以指示将基于场景数据502、安全阈值、舒适阈值等来选择可用动作(例如,不是所有物理上可能的动作都被认为使对于运载工具可用)。
在一些情况下,如果某些动作在物理上不可能(例如,运载工具物理上不能在该时间点增加其加速度和/或增加其转向角度)和/或将违反安全阈值、舒适阈值或其他准则,则可以将这些动作从潜在被包括在轨迹中省略。例如,如果轨迹生成器504包括不移动到人行道上的安全阈值、并且场景数据502指示人行道紧靠运载工具200的右侧,则运载工具动作策略可以指示向右转不被认为是可用动作,并且可以将向右转从被包括在轨迹中省略。类似地,运载工具动作策略可以将其他阈值用于安全阈值以确定哪些动作可用于模拟,诸如但不限于加速或减速阈值、对象相对于运载工具200的地点、道路的边缘、转向角度和速率(例如,可能导致失去对运载工具200的控制或运载工具200侧倾的转向角度和速率)的组合、等等。
作为另一示例,如果轨迹生成器504将舒适阈值作为离心力阈值来实现,则运载工具动作策略可以指示导致满足(或超过)离心力阈值的离心力的动作不被考虑用于模拟。类似地,如所描述的,运载工具动作策略可以将其他阈值用于舒适阈值,诸如加速或减速阈值、转向角度阈值等。
在某些情况下,运载工具动作策略可以指示将从经训练的神经网络确定或获得可用动作。经训练的神经网络可以使用来自过去驾驶数据的经学习的特征来确定不满足安全和/或舒适阈值或其他准则的动作,并且将这些动作从供包括在轨迹中的可用动作中省略。这样,轨迹生成器504可以避免使用时间和计算资源来探索不太可能导致可行轨迹的动作和/或状态。这可以增加可用于探索可行轨迹的时间和计算资源,由此增加所生成的可行轨迹的数量和所选择的轨迹的置信度、以及增加系统分析可行轨迹的速率。
在某些情况下,可以使用结束状态策略来确定特定轨迹何时应结束。结束状态策略可以考虑阈值模拟时间段、阈值模拟距离、或者所到达或通过的路标中的任何一个或任何组合,以确定特定轨迹何时应结束。例如,结束状态策略可以向轨迹生成器504指示各轨迹应与6秒的行驶时间(或一些其他阈值时间段)相对应。作为另一示例,结束状态策略可以指示轨迹生成器504将模拟轨迹,直到模拟了阈值距离或到达路标为止。例如,轨迹生成器504模拟轨迹,直到模拟了1/4英里(或其他阈值距离)为止或者直到通过了交叉口(或其他路标)为止。如此,尽管可以模拟附加动作(例如,模拟可以继续),但也可以终止轨迹模拟。例如,轨迹的结束可以不表示路线的结束或驾驶的终止,而是轨迹的结束可以表示所模拟的轨迹将结束的(时间、地点、距离等方面的)点。
轨迹生成器504可以根据轨迹生成终止策略来终止生成轨迹。轨迹生成终止策略可以指示轨迹生成器504将模拟轨迹多长时间。在一些情况下,轨迹生成终止策略可以指示轨迹生成器504将模拟轨迹,直到经过了阈值时间段、生成了阈值数量的轨迹、或者达到阈值处理量为止。例如,轨迹生成终止策略可以指示轨迹生成器504将生成100ms、200ms、500ms、1sec或更长时间的轨迹。在该阈值时间段期间,轨迹生成器504可以生成并评估尽可能多的轨迹,这些轨迹可以包括1000个或更多个轨迹。在某些情况下,轨迹生成终止策略可以指示轨迹生成器504将生成特定数量的轨迹。例如,轨迹生成终止策略可以指示轨迹生成器504将在终止之前生成1000个、10000个或1000000个轨迹。在某些情况下,轨迹生成终止策略可以指示轨迹生成器504将使用特定量处理能力(power)来生成轨迹模拟。前述阈值或其他阈值中的任何一个或任何组合可以由轨迹生成终止策略使用以指示轨迹生成器504将为轨迹评估网络510生成轨迹多长时间。一旦达到特定阈值,轨迹生成器504就可以终止生成轨迹。
在一些情况下,轨迹生成器504、训练环境500的一个或多于一个计算装置、以及/或者用户可以将所生成的轨迹中的至少一个识别为主轨迹,并且将其余轨迹中的一部分或全部识别为次轨迹。可以基于与预设轨迹的比较来识别主轨迹。
预设轨迹可以是运载工具在先前时间采用的路径或者用户所识别的路径。例如,先前的运载工具200可能在先前时间行驶了预设轨迹,以及/或者人可能沿着预设轨迹驾驶了运载工具。先前采用的路径可以被识别为该特定情景的优选或专家路径,并且被识别为预设轨迹。作为另一示例,用户在审查场景数据502时可以确定通过场景的优选或专家路径或轨迹,并将所确定的轨迹识别为预设轨迹。在任一情况下,可以在选择主轨迹之前确定预设轨迹。
预设轨迹可以包括可用于将预设轨迹与其他轨迹进行比较的各种参数或特征。在一些情况下,这些参数或特征可以从预设轨迹提取和/或由用户识别。预设轨迹的特征或参数可以包括但不限于加速度、速度、航向、到目的地的距离、相对于路线的距离、自我运载工具有多接近碰撞的估计、轨迹的连续性等。
为了从轨迹生成器504所生成的其他轨迹中识别主轨迹,可以将所生成的轨迹与预设轨迹进行比较。在一些情况下,轨迹生成器504(或其他计算装置)可以将与预设轨迹类似(或最类似)的生成轨迹识别为主轨迹。在进行该比较时,轨迹生成器504可以将预设轨迹的特征中的任何一个或任何组合与生成轨迹的相应特征进行比较。例如,轨迹生成器504可以将预设轨迹的加速度、速度、距离差(例如,轨迹沿着坐标系对准得有多紧密)与生成轨迹进行比较。在某些情况下,轨迹生成器504可以将与预设轨迹最类似的生成轨迹识别为主轨迹。
在一些情况下,轨迹生成器504可以对轨迹的不同参数进行加权和/或按优先级排序。例如,轨迹生成器504可以首先识别与预设轨迹的行驶路径最紧密对准的生成轨迹的子集。在生成轨迹的子集内,轨迹生成器504可以识别与预设轨迹的加速度和/或速度最紧密对准的一个或多于一个轨迹。在剩下的生成轨迹中,轨迹生成器504可以选择和/或识别主轨迹。因此,可以将主轨迹识别为与预设轨迹或专家轨迹(紧密或最紧密)对准的生成轨迹。
轨迹特征提取器506可以从生成轨迹提取一个或多于一个特征,并且可以使用一个或多于一个处理器或其他计算机硬件、一个或多于一个神经网络等来实现。
所提取的特征可以与生成轨迹的一个或多于一个参数相对应,并且可以包括但不限于以下项中的任何一个或任何组合:碰撞(例如,在轨迹期间是否检测到碰撞);与其他踪迹的碰撞(例如,距与不同踪迹(诸如(在跟随当前踪迹的情况下)前方的踪迹等)碰撞的时间);碰撞总和(例如,不同时间处的碰撞的不同确定的总和);碰撞能量总和(例如,一个或多于一个潜在碰撞的能量的聚合集);轨迹耦合(例如,在将过去轨迹与建议轨迹级联时的连续性);交通灯规则(例如,轨迹是否违反任何交通规则,诸如红灯等);路线中心线接近度(例如,向运载工具路线的中心线的接近度);在可驾驶区域上(例如,可驾驶区域(例如,道路)上的轨迹的量或者轨迹是否离开可驾驶区域);越野总和(例如,越野时间的总和);越野能量总和(例如,来自越野的能量的聚合集);前方踪迹是行人吗(例如,行人是否与轨迹相交或者多少行人与轨迹相交、或者前方的踪迹是否是行人);前方踪迹是活动的吗(例如,对于被预测为与轨迹相交的踪迹,相应的对象是否是活动的或正在移动或预计将移动);航向变化总和(例如,航向变化的聚合集);航向变化(例如,航向是否改变、多少航向改变、航向变化的量)、航向对准(例如,在整个轨迹中在不同时间或途中点处的自我运载工具的对准);最终航向对准(例如,在轨迹结束时运载工具200的对准);自我运载工具速率(例如,在轨迹的不同时间或途中点处的运载工具200的速率);自我横向加速道路(例如,在轨迹期间的不同时间或途中点处的运载工具200的横向加速度)、最大自我横向加速道路(例如,在轨迹期间的运载工具200的最大横向加速度);在轨迹期间的运载工具200的离心力;自我位移(例如,在轨迹期间的运载工具200的位置);到转弯停车的距离(例如,到包括停车的转弯的距离);到交通灯的距离(例如,到交通灯的距离);到前方踪迹的距离(例如,到运载工具场景中的所检测到的(或下一)对象的距离);到停止标志的距离(例如,到停止标志的距离);到目标的距离不增加(例如,对于在包括轨迹的结束的轨迹的一个或多于一个点处的运载工具,到目标的距离是否不增加);到目标的距离减小(例如,对于在包括轨迹的结束的轨迹的一个或多于一个点处的运载工具,到目标的距离是否减小和/或到目标的距离的量正在减小);到目标的距离改变(例如,到目标的距离的变化量);停车距离(例如,使运载工具200停车的距离);减速到在目标处停车(例如,为了在目标处停车的减速量);自我限速(例如,运载工具200是否超过(或低于)其地点的限速(及其超过或低于的量));自我加加速度(例如,运载工具200在轨迹中的不同时间或途中点处经历的加速度的变化率);自我最大加加速度(例如,运载工具200在轨迹中经历的加速度的最大变化率);等等。可以从预设轨迹中识别或提取类似特征(例如,作为识别主轨迹的一部分)。
轨迹特征提取器506可以以各种方式提取上述特征。在某些情况下,轨迹特征提取器506使用场景数据502和与轨迹相关联的轨迹数据的组合来从轨迹提取特征。例如,场景数据502可以包括运载工具200的路线信息,并且轨迹特征提取器506可以将路线信息与生成轨迹进行比较,以确定轨迹相对于路线的中心线的接近度。在一些情况下,轨迹特征提取器506可以基于预定义的规则或指令来提取特征。例如,轨迹特征提取器506可以沿着轨迹按100ms的间隔提取运载工具200的速率、运载工具地点、到目标的距离、到停止标志或交通灯的距离、到路线中心的距离等。可以使用在不同时间提取的信息来确定生成轨迹的特征。在某些情况下,轨迹特征提取器506可以使用经训练的神经网络来提取前述特征或其他特征,其中该神经网络已被训练以接收与运载工具的轨迹相关联的轨迹数据并且从轨迹生成特征提取。
轨迹的所提取的特征或轨迹特征可以以各种方式分组。在一些情况下,轨迹特征提取器506生成不同轨迹特征的特征向量。特定轨迹特征的向量可以包括一个或多于一个时间步、针对时间步的一个或多于一个值、以及特征大小。例如,航向对准特征的向量可以包括具有与运载工具200在这各个时间处的对准相对应的值的数百或数千个时间步。在一些情况下,轨迹特征提取器506可以对时间步或其他特征进行下采样以节省空间和/或减少要由轨迹评估网络510评估的数据量。在某些情况下,可以级联或组合轨迹的轨迹特征以形成包括与轨迹的不同轨迹特征相对应的数据的轨迹向量。
场景特征提取器508可以使用场景数据502来提取与运载工具场景有关的一个或多于一个特征(这里也称为场景特征),并且可以使用一个或多于一个处理器或其他计算机硬件、一个或多于一个神经网络等来实现。
如本文所述,场景数据502可以包括与运载工具场景相关联的语义数据。在一些情况下,场景特征提取器508可以使用语义数据来生成运载工具场景的图像,诸如但不限于鸟瞰图图像或语义图像等。场景特征提取器508可以使用所生成的图像和/或场景数据502来提取场景特征。在一些情况下,诸如在场景数据502包括具有对象分类得分的语义图像时等,场景特征提取器508可以生成包括嵌入在语义图像中的附加特征的第二语义图像。
所提取的场景特征可以包括跨不同轨迹共同的与运载工具场景有关的信息。作为非限制性示例,所提取的场景特征可以包括但不限于以下项中的任何一个或任何组合:智能体(例如,可以独立于运载工具200而移动的对象,诸如自行车、运载工具、行人等)相对于不同的交通信号、交通标志、车道标记或其他对象的地点;不同对象的预期动作;智能体的速率/加速度;运动学状态;等等。
在一些情况下,场景特征提取器508可以基于预定义的规则或指令来提取场景特征。在某些情况下,场景特征提取器508可以使用已被训练以接收场景数据502(诸如语义图像等)并从场景数据502生成场景特征的机器学习模型或神经网络,来提取前述特征或其他特征。与轨迹特征类似,场景特征可以被分组为一个或多于一个向量和/或被级联在一起以形成场景向量。
轨迹评估网络510可以对生成轨迹进行评估(例如,评分和/或排名),并且可以使用一个或多于一个处理器或其他计算机硬件、一个或多于一个神经网络等来实现。
在一些情况下,轨迹评估网络510可以基于运载工具规划策略来评估生成轨迹。轨迹评估策略可以指示要评估轨迹所依据的准则。例如,运载工具规划可以指示在对生成轨迹进行评估和评分时要评定的某些参数或特征。在一些情况下,在训练环境500中,轨迹评估网络510基于其接收到的反馈来学习运载工具规划策略。
在一些情况下,轨迹评估策略可以指示将使用一个或多于一个轨迹特征和/或一个或多于一个场景特征来评估轨迹。在一些情况下,例如在使用场景特征时等,场景特征可以与个体特征的轨迹特征组合(例如,级联)。
这些特征可以是预定义的、动态确定的、或者诸如通过使用神经网络等学习的。这些特征可以涉及运载工具安全(例如,碰撞的可能性、离开道路等)、乘客舒适度(加速/减速、离心力、转向度等)、效率(相对于路线中心的距离、车道改变等),并且可以包括以下项中的任何一个或任何组合:碰撞(或碰撞的可能性)、加速的量或率、减速的量或率、到目标的距离、到交通信号(例如,停止标志、灯等)的距离、横向加速度/减速度、对准或航向、对准或航向的变化、速度、速度的变化、越野(例如,离开道路)、车道变化、相对于路线的距离、驾驶性能、离心力等。将理解,可以使用更少、更多或附加的特征来评估轨迹。
在某些情况下,轨迹评估策略可以指示将如何使用不同特征来评估轨迹。在某些情况下,轨迹评估策略可以指示不同特征的一个或多于一个阈值。例如,如果轨迹的一个或多于一个特征满足相应的特征阈值,则轨迹评估策略可以将轨迹评分得更高,并且如果轨迹的一个或多于一个特征不满足相应的特征阈值,则轨迹评估策略可以将轨迹评分得更低。
阈值可以针对不同的功能而变化。例如,对于与和对象碰撞相关的特征,确定为轨迹将(或有可能(例如,>50%))导致与对象碰撞,这可能使得规划系统404将轨迹分类为不成功(或给予该轨迹低得分或失败得分)。作为另一示例,向左或向右转向的阈值可以是基于运载工具200的速度。例如,考虑到更低速度下的离心力将更低,可以在更低速度下使用相对更大度数的转向阈值,并且可以在更高速度下使用相对更小度数的转向阈值。因而,在某些情况下,规划系统404可以沿着轨迹将估计离心力与阈值离心力进行比较以评估轨迹。
在某些情况下,轨迹评估策略可以指示如何组合一个或多于一个特征来评估轨迹。例如,轨迹评估策略可以指示针对不同特征的不同权重,以指示将如何对特征相对于彼此进行加权以及/或者如何基于加权后的特征来确定轨迹的总体得分。
在一些情况下,轨迹评估策略可以指示为轨迹将与预设轨迹、主轨迹或路线进行比较。预设轨迹可以与被识别为可信轨迹(例如,专家轨迹)的轨迹相对应。路线可以与运载工具200从其起点到其终点的规划路线相对应。在一些这样的情况下,规划系统404可以根据模拟轨迹与预设轨迹或路线的类似度来将轨迹评分得更高或更低。类似度可以考虑到与预设轨迹或路线的接近度以及其他特征(诸如但不限于速度、加速度等)。
在某些情况下,轨迹评估策略可以指示将基于安全和/或舒适阈值来评估轨迹。因此,具有更高的安全和/或舒适度得分的轨迹可以得到更高得分。
如本文所述,轨迹评估网络510可以基于轨迹的个体特征和/或特征的组合来评估轨迹。在一些情况下,规划系统404可以对个体特征进行评分,并且使用个体特征的得分的组合(例如,平均值、总和、标准偏差、最小值、最大值等)来生成轨迹的得分。
在某些情况下,轨迹评估网络510基于从轨迹提取的轨迹特征和/或由场景特征提取器508提取的场景特征来评估生成轨迹。在一些情况下,轨迹评估网络510通过识别轨迹的所提取的个体特征、对特征进行归一化和成形、将成形后的特征通信到一个或多于一个全连接层、使用一个或多于一个评分头(以及全连接层的输出)对个体特征进行评分、以及组合特征得分以形成轨迹得分,来评估个体轨迹。
以类似的方式,轨迹评估网络510可以迭代地或同时地评估生成轨迹的一部分或全部,以针对所生成的轨迹生成得分512。例如,轨迹评估网络510可以针对主轨迹以及次轨迹中的一部分或全部生成得分512。
在一些情况下,轨迹评估网络510针对一些或全部轨迹生成多个得分512。例如,轨迹评估网络510可以针对特定轨迹生成轨迹得分、以及针对轨迹的轨迹特征(例如,由例如轨迹特征提取器506从轨迹提取的特征)中的一部分或全部生成特征得分。
在某些情况下,特定轨迹的轨迹得分可以是基于来自轨迹的特征的特征得分中的一部分或全部。例如,轨迹评估网络510可以使用特征得分中的一部分或全部来生成轨迹得分。在一些情况下,轨迹评估网络510组合特征得分中的一部分或全部以生成轨迹得分。例如,轨迹评估网络510可以级联或计算特征得分的平均值以生成轨迹的轨迹得分。在一些情况下,在组合特征得分时,轨迹评估网络510可以对特征得分进行加权。例如,轨迹评估网络510可以将碰撞的特征得分加权得比到路线中心的距离的特征得分等更大。
训练环境500中的一个或多于一个计算装置可以基于得分512来计算轨迹评估网络510的损失514。在一些情况下,可以基于主轨迹和次轨迹的得分512来计算损失514。在某些情况下,可以以激励轨迹评估网络510将主轨迹评分得比次轨迹高的方式来计算损失514。作为非限制性示例,可以以分子为主轨迹的得分且分母为所有轨迹得分的总和的方式计算损失514,其中指令是损失514应接近1。在损失514被发送回到轨迹评估网络510时,轨迹评估网络510可以修改其系数或权重以增加从附加的场景数据502生成的主轨迹的得分。可以使用各种场景(和相应的场景数据502)将训练过程重复数千次、数十万次或数百万次,使得轨迹评估网络510学习将主轨迹评分得比次轨迹高。
图5B是例示运载工具场景522内的生成轨迹520的示例的图像、以及从轨迹520提取的轨迹特征524、所提取的特征524的得分526、以及均值得分527的图。在例示示例中,运载工具场景522包括自我运载工具528向右转到各种智能体532沿不同方向移动的街道530上。
在例示示例中,所提取的轨迹特征包括纯碰撞、碰撞能量总和、碰撞总和、到目标处停止的减速、到目标的距离改变、到目标的距离减小、到目标的距离不增加、到停止标志的距离、到前方踪迹的距离、到交通灯的距离、到停车的距离、转弯停车的距离、到目标的距离、自我位移、自我横向加速道路、自我运载工具速率、最终航向对准、轨迹期间的运载工具200的离心力、航向对准、航向改变、航向改变总和、前方的踪迹活动吗、前方踪迹是行人吗、在目标处停止的最大减速度、越野能量总和、越野总和、驾驶性能、路线中心线接近度和交通灯规则。
可以从预设轨迹识别或提取类似特征(例如,作为识别主轨迹的一部分)。然而,将理解,可以从轨迹提取更少或更多的轨迹特征。此外,不同的轨迹可以具有不同的所提取特征、不同特征的不同得分等。如本文所述,在一些情况下,轨迹特征可以包括预先选择的特征。在某些情况下,轨迹特征可以包括经学习的特征,诸如通过机器学习模型学习的特征等。
各个得分526可以与各个轨迹特征524相对应。均值得分527可以与得分526的平均得分相对应。在一些情况下,均值得分527可以与生成轨迹520的轨迹得分相对应。
图6A是例示正在训练规划系统404的训练环境600的示例的数据流图。在例示示例中,正在使用与运载工具场景602相对应的场景数据502训练规划系统404以对轨迹和轨迹特征进行评分。训练环境600可以与训练环境500类似,并且可以包括训练环境500的组件中的一个或多于一个。
在例示示例中,场景数据502被例示为运载工具场景602的鸟瞰图图像。在一些情况下,鸟瞰图图像可以包括与语义图像相关联的语义数据。如本文所述,语义图像可以包括针对运载工具场景602中的对象的一个或多于一个分类、特征提取或向量。
在例示示例中,运载工具场景602包括在交叉口606处向左转的自我运载工具604。运载工具场景602还包括两个运载工具智能体608a、608b(单独或统称为智能体608)。运载工具场景602还例示自我运载工具604的预设轨迹610。
预设轨迹610可以形成场景数据502的一部分、运载工具场景602的一部分或者是单独的。为了简化说明例示示例,将预设轨迹610作为场景数据502的一部分进行说明。如本文所述,预设轨迹610可以与自我运载工具604在先前时间采用的记录路径和/或被识别为通过运载工具场景602的优选路径的路径相对应。在一些情况下,预设轨迹610也可被称为专家路径。
在一些情况下,预设轨迹610可以包括在自我运载工具604沿着预设轨迹610行驶时在不同时间的自我运载工具604的一个或多于一个参数(本文中也称为自我运载工具604的状态数据)。例如,预设轨迹610可以包括在自我运载工具604沿着预设轨迹610行驶时的自我运载工具604的位置、速度、加速度、相对于目的地的距离、相对于交叉口的距离、相对于其他智能体的距离、相对于路线中心的距离、或者本文中参考图5B所述的前述特征中的任一个等。在一些情况下,预设轨迹610可以包括一个或多于一个参数的向量。向量可以包括一个或多于一个时间戳以及在各个时间戳处的参数的一个或多于一个值。例如,自我运载工具604的速度的向量可以包括多个时间步和在各个时间步处的自我运载工具604的速度的值。将理解,不同参数的向量可以根据需要包括更少或更多的条目或数据。
在612处,规划系统404生成自我运载工具604的轨迹614a-614f(本文中单独或统称为轨迹614)。如本文所述,可以生成更少或更多的轨迹614。在一些情况下,可以由规划系统404生成数百个、数千个或更多个轨迹614,并且各轨迹可以包括行驶距离、行驶时间等。在一些情况下,规划系统404通过模拟运载工具200的一个或多于一个动作(例如,通过向左转来改变航向、通过向右转来改变航向、加速、减速、维持速度等)以按特定顺序进行来生成轨迹。如本文所述,可以基于场景数据502以及/或者诸如轨迹生成策略等的一个或多于一个策略来生成轨迹614。
在616处,规划系统404从轨迹614中的一部分或全部提取轨迹特征618(例如,第一多个特征)。轨迹特征可以类似于或不同于预设轨迹610的参数或状态数据。在例示示例中,示出特定轨迹的以下轨迹特征618:碰撞、速度和到目的地的距离,然而,将理解,如本文中至少参考图5B所述,可以从轨迹614中提取更少或更多的轨迹特征618。例如,规划系统404可以从各个轨迹614中提取数十个、数百个或更多个轨迹特征618。
在例示示例中,轨迹特征618包括轨迹特征的标识符以及包含与轨迹特征相关联的特征数据的向量,然而,将理解,轨迹特征618可以以各种方式生成和/或存储。在例示示例中,向量包括时间步和相应时间戳处的特征的值,然而,将理解,向量可以是各种形状并且可以包括各种信息。
在620处,规划系统404使用运载工具场景602的场景数据502来提取场景特征622。场景特征622可以是预先识别的特征和/或经学习的特征,诸如通过机器学习模型学习的特征等。
场景特征622可以包括与运载工具场景602有关的特征,诸如车道的地点、人行道、智能体的地点或运动学状态等。地点可以是地理地点信息或者相对于运载工具604和/或不同智能体608的任一个或组合的地点。例如,场景特征622可以包括智能体相对于车道标记线、交叉口、彼此、或相对于自我运载工具604等的相对地点。
将理解,场景特征622可以不同于轨迹特征618。例如,轨迹特征618可以与个体轨迹614相对应。如此,轨迹特征618和/或不同轨迹614的轨迹特征618的值可以不同。相反,场景特征622可以与运载工具场景602相对应,并且因此可以相对于从相同场景数据502生成的轨迹614中的一部分或全部是相同的。
在一些情况下,规划系统404使用运载工具场景602的场景数据502来生成一个或多于一个图像,诸如一个或多于一个语义图像等。图像可以采用鸟瞰图或光栅图像的形式,然而,将理解,可以使用各种图像类型。
在某些情况下,作为提取场景特征622的一部分所生成的语义图像与形成场景数据502的至少一部分的语义图像相比可以是第二语义图像或丰富语义图像。与第一语义图像相比,第二语义图像或丰富语义图像可以包括附加的特征或提取。例如,如果第一语义图像包括针对运载工具场景602中的各种对象的分类,则第二语义图像或丰富语义图像可以包括与运载工具场景内的对象的潜在路径或轨迹相关联的分类或提取、针对不同对象的边界框、对象的潜在动作(例如,不移动、移动等)、对象的相对地点(例如,智能体608a正在接近交叉口606并且正面向红灯或停止标志,等)。规划系统404可以从第二或丰富分割图像提取附加分类以获得场景特征622(或第二多个特征)。
在624处,规划系统404对轨迹614(和轨迹特征618)进行评分。如本文所述,规划系统404可以基于(其可能正在学习的)轨迹评估策略对轨迹614(和轨迹特征618)进行评分。在某些情况下,规划系统404(例如,在不具有主轨迹614c是主轨迹614c的指示的情况下)对包括主轨迹614c的轨迹614中的一部分或全部进行评分。在一些情况下,规划系统404可以使用轨迹特征618(第一多个特征)、场景特征622(例如,第二多个特征)和/或运载工具规划策略中的任意一个或任意组合来对轨迹614进行评分。
在一些情况下,规划系统404可以对轨迹的轨迹特征618进行评分,并且基于轨迹特征618的得分来对轨迹进行评分。例如,规划系统404可以通过例如确定轨迹614b的轨迹特征618的平均值、总和或其他组合,使用轨迹614b的轨迹特征618中的一部分或全部来对轨迹614b进行评分。
在某些情况下,规划系统404可以使用轨迹特征618和场景特征622来对轨迹614进行评分。在一些情况下,规划系统404可以将场景特征622与不同的轨迹特征618组合,使用场景特征622与轨迹特征618的组合来对轨迹特征618进行评分,并且使用评分后的轨迹特征618来对相应轨迹进行评分。例如,规划系统404可以将场景特征622与轨迹614b的轨迹特征618组合,使用组合后的场景特征622和轨迹特征618来对轨迹特征618评分,并且使用评分后的轨迹特征618来对轨迹614b进行评分。
在626处,选择主轨迹614c。可以使用规划系统404的一个或多于一个组件(诸如机器学习模型等)来识别主轨迹614c。在某些情况下,用户识别主轨迹614c。
在一些情况下,基于预设轨迹610来从生成轨迹614中选择主轨迹614c。例如,可以将轨迹614与预设轨迹610进行比较并且基于该比较来选择主轨迹614c。在某些情况下,主轨迹614c可以与类似于预设轨迹610的轨迹相对应。在一些情况下,主轨迹614c可以与被识别为最类似于预设轨迹610的轨迹相对应。在某些情况下,规划系统404或训练环境600的其他处理装置可以使用机器学习模型来将轨迹614与预设轨迹610进行比较并识别主轨迹614c。
为了识别轨迹614和预设轨迹610之间的类似度,可以将预设轨迹610的特征或参数的任意一个或任意组合与轨迹614的相应特征进行比较。在一些情况下,可以对特征进行加权,使得与预设轨迹610和某轨迹中的不同特征集合之间的类似度相比,预设轨迹610和轨迹中的一个特征集合之间的类似度将对该轨迹是否被确定为与预设轨迹610类似具有更大的影响。例如,轨迹和预设轨迹610的结束地点和航向之间的类似度可以被加权得比沿着轨迹和预设轨迹610的不同点处的速度之间的类似度更大。在一些情况下,可以组合预设轨迹610和轨迹614的个体特征之间的类似度或差异,以确定预设轨迹610和轨迹614之间的类似度或差异。在一些这样的情况下,可以对个体特征之间的类似度或差异进行求和、求平均或以其他方式组合,或者可以计算最大值或最小值以确定预设轨迹610和轨迹614之间的类似度或差异。
在一些情况下,如果轨迹满足比较阈值,则该轨迹被识别为主轨迹614c。在某些情况下,比较阈值可以包括不同特征的一个或多于一个阈值。在一些情况下,不同特征的阈值可以是基于轨迹614的轨迹特征618。例如,在不同特征的阈值处可以使用被确定为与预设轨迹610具有最大类似度的第一轨迹的轨迹特征618。如果识别出具有与预设轨迹610的相应参数更接近的轨迹特征618的第二轨迹,则规划系统404可以确定为第二轨迹的轨迹特征618满足阈值。在一些这样的情况下,第二轨迹的轨迹特征618随后可以被识别为轨迹特征618的阈值。
尽管在例示示例中、从轨迹614中选择主轨迹614c,但将理解,可以使用其他轨迹作为主轨迹614c。例如,在一些情况下,可以选择或使用预设轨迹610作为主轨迹614c。
在628处,训练环境600的处理装置计算规划系统404的一个或多于一个组件(诸如但不限于轨迹评估网络510或对轨迹614进行评分的机器学习模型等)的损失。在一些情况下,处理装置使用主轨迹614c来计算损失。在某些情况下,处理装置将一个或多于一个轨迹614与主轨迹614c进行比较。在一些情况下,处理装置将评分最高的轨迹614中的一个或多于一个与主轨迹614c进行比较。在某些情况下,处理装置将轨迹614中的评分最高的轨迹与主轨迹614c进行比较。
在一些情况下,在主轨迹614c被排名(或评分)得更高时,可以确定更低的损失,并且在主轨迹614c被排名(或评分)得更低时,可以确定更高的损失。在一些情况下,在排名最高的轨迹是主轨迹614c时,可以确定最低可能损失。在某些情况下,可以用主轨迹614c的得分作为分子并且用轨迹614中的一部分或全部的得分的总和作为分母来确定损失。用以计算损失的一个示例方程如下。
使用上述损失方程,在主轨迹614c的得分增加并且其他轨迹614的得分减少时,损失将接近零。然而,将理解,可以使用各种损失方程来确定损失。
在630处,训练环境600的处理装置修改规划系统404的与损失相对应的(一个或多于一个)组件(例如,轨迹评估网络510或机器学习模型)。可以基于(例如,响应于)所计算出的损失来修改相关组件。在一些情况下,处理装置基于所计算出的损失来修改轨迹评估网络510(或机器学习模型)的一个或多于一个参数。在某些情况下,处理装置可以修改轨迹评估网络510或机器学习模型的一个或多于一个节点的一个或多于一个系数或权重。
可以使用训练数据501将本文中参考图6A所述的处理重复数百次、数千次、数百万次或更多次,训练数据501可以包括与数百个、数千个、数百万个或更多个场景相对应的场景数据502。在规划系统404处理与不同场景相对应的场景数据502时,轨迹评估网络510或机器学习模型可以继续被修改,直到被训练为满足训练阈值(例如,时间、准确度等)为止。一旦经训练,诸如轨迹评估网络510等的组件或其系数、权重、节点或其他参数可以被集成到运载工具200中。
在修改轨迹评估网络510的参数时,轨迹的得分可以改变,使得主轨迹614c的得分上升,而次轨迹的得分下降。此外,具有与主轨迹614c类似的特征的轨迹的得分可以上升,而具有与主轨迹614c不相似的特征的轨迹的得分下降。这样,轨迹评估网络510可以间接地学习优选轨迹的特征,使得在给定的新场景数据502的情况下,轨迹评估网络510更有可能将如主轨迹614c那样的轨迹评分为最高,并且选择这些轨迹来用于控制运载工具。
另外,轨迹评估网络510可以间接地学习个体轨迹特征618的得分如何影响相应轨迹的得分,并且调整轨迹特征618的得分以及/或者其系数或权重以偏向于与主轨迹614c类似的轨迹。此外,轨迹评估网络510能够输出轨迹特征618的得分,从而使得用户能够理解轨迹评估网络510如何对用于生成轨迹得分的轨迹特征618进行评分。
在一些情况下,在主轨迹614c是生成轨迹(与预设轨迹610相比)时,与预设轨迹610是主轨迹614c时相比,轨迹评估网络510可以更高效地修改其参数以增加预设轨迹610的得分。这可能导致训练轨迹评估网络510的时间更短(并且计算资源更少)。然而,将理解,在一些情况下,可以使用预设轨迹610作为主轨迹614c。
将理解,本文中参考图6A所述的各种步骤可以以各种顺序进行,并且可以组合或省略一个或多于一个步骤。在一些情况下,可以在轨迹特征的提取(616)、场景特征的提取(620)和/或对特征和轨迹的评分(624)之前或与其同时生成轨迹(612)和/或选择主轨迹(626)。作为另一示例,在某些情况下,可以不提取场景特征(620)和/或可以不使用场景特征来对轨迹特征和轨迹进行评分(624)。
在自主运载工具中的操作期间,如本文所述,规划系统404可以接收与运载工具场景的实时数据相对应的场景数据502并且生成轨迹614的得分。规划系统404可以选择轨迹614中的至少一个作为用于控制运载工具200的轨迹。在一些情况下,规划系统404选择轨迹614中的具有最高得分的轨迹。由于规划系统404已被训练为将与主轨迹614c类似的轨迹排名为最高,因此在使用中,规划系统404可以选择轨迹614中的与本应是主轨迹614c的轨迹最接近的轨迹。
图6B是示出由规划系统404使用以对特征和轨迹进行评分(与以上参考图6A所述的步骤624类似)的操作和数据结构的示例的数据流图。在一些情况下,规划系统404使用机器学习模型或轨迹评估网络510来对特征和轨迹进行评分,然而,将理解,本文所述的组件中的任何一个或任何组合可被配置为对特征和轨迹进行评分。
在步骤652处,规划系统404分离从生成轨迹614的轨迹中提取的轨迹特征618。如本文所述,在一些情况下,轨迹特征618可以被表示为向量,使得在分离轨迹的轨迹特征618时,可以识别并分离不同的向量。在例示示例中,分离出三个轨迹特征618(轨迹特征618a、轨迹特征618b、轨迹特征618c),然而,将理解,可以提取更少或更多的轨迹特征618,并且可以类似地对其他轨迹特征618进行对轨迹特征618a、轨迹特征618b和轨迹特征618c所进行的操作。参考图6A所示的示例轨迹特征618,轨迹特征618a、轨迹特征618b和轨迹特征618c可以分别与碰撞、速度和到目的地距离轨迹特征相对应。
在步骤654a、654b、654c(统称为步骤654)处,规划系统404将轨迹特征618a、618b、618c分别与场景特征622组合。这样,场景特征622中的一部分或全部可以与轨迹特征618a、618b、618c中的各轨迹特征组合。在一些情况下,规划系统404可以通过级联不同特征和/或级联与不同特征相对应的向量来将轨迹特征618与场景特征622组合。
如本文所述,在一些情况下,场景特征622可以不与一些或任何轨迹特征618组合。例如,规划系统404可以不提取场景特征622以供对轨迹614评分的目的,以及/或者可以不将场景特征622与轨迹特征618中的一些组合。在一些这样的情况下,可以省略步骤654a、654b、654c中的一部分或全部。
在步骤656a、656b、656c(统称为步骤656)处,规划系统404对特征进行成形。在一些情况下,对特征进行成形可以包括对特征的向量或数据进行成形。在一些情况下,为了对特征(或与特征相对应的向量)进行成形,规划系统404可以对特征进行一个或多于一个处理操作,包括但不限于对特征(向量)进行归一化等。
可以将对特征618a、618b、618c进行成形的结果单独地分别通信到一个或多于一个全连接层658a、658b、658c。因此,对特征618a进行成形的结果可以通过一个或多于一个全连接层658a,对特征618b进行成形的结果可以通过一个或多于一个全连接层658b,并且对特征618c进行成形的结果可以通过一个或多于一个全连接层658c。尽管未示出,但将理解,可以在不同的全连接层之间进行一个或多于一个操作(诸如但不限于堆叠特征、自注意力、递归神经网络(例如,LSTM(长短期记忆))等)。
(一个或多于一个)全连接层658a、658b、658c的输出可以分别包括特征618a、618b、618c的特征得分660a、660b、660c(统称为得分660)。在一些情况下,规划系统404可以包括单独的评分头,以基于(一个或多于一个)全连接层658a、658b、658c的输出来确定各个特征618a、618b、618c的评分660a、660b、660c。
在步骤662处,规划系统404组合特征得分660以生成轨迹得分664。如本文所述,规划系统404可以以多种方式组合特征得分660。例如,规划系统404可以确定特征得分660中的一部分或全部的总和、平均值或标准偏差。在一些情况下,规划系统404可以选择和/或组合最高或最低特征得分660的集合。在某些情况下,规划系统404通过将特征得分660级联成包括特征得分660中的一部分或全部的值的特征得分向量来组合特征得分660。
在一些情况下,规划系统404可以对特征得分660进行加权。在某些情况下,为了对特征得分660进行加权,规划系统404可以使用权重向量,该权重向量将特定权重指派给特征得分向量中的特征得分660。在一些这样的情况下,规划系统404可以使用权重向量和特征得分向量的点积来确定轨迹得分664。
在一些情况下,轨迹得分664可以是从特征得分向量生成的值。在某些情况下,轨迹得分664可以是向量。
图7是示出由一个或多于一个处理器实现以训练机器学习模型的例程700的示例的流程图。图7所例示的流程图仅是为了例示的目的而提供的。将理解,可以移除图7所例示的例程的步骤中的一个或多于一个,或者可以改变步骤的次序。此外,为了例示清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述一个或多于一个特定系统组件。然而,可以使用其他系统布置以及跨系统组件的处理步骤的分布。
在框702处,规划系统404获得与运载工具200的场景相关联的场景数据502。如本文所述,场景数据502可以包括运载工具场景内的对象的语义图像和/或分类。在一些情况下,场景数据502可以是从训练数据501中的多个集合的场景数据502中选择的场景数据502的集合。场景数据502的集合可以与不同的运载工具场景相对应,并且训练数据501可以是随时间的经过所收集且可以包括数千个、数百万个或更多个集合的场景数据502。
在一些情况下,场景数据502可以包括与运载工具200在先前时间通过运载工具场景所采用的路径和/或通过运载工具场景的用户选择路径相对应的预设轨迹。
在框704处,规划系统404基于场景数据502来生成运载工具的轨迹。如本文所述,可以使用场景数据502来生成轨迹。例如,场景数据502可以指示运载工具场景内的对象的地点,并且规划系统404可以基于运载工具场景中的对象的地点来生成轨迹。在一些情况下,规划系统404使用轨迹生成策略来生成轨迹。如本文所述,轨迹可以与运载工具200通过运载工具场景的潜在路径相对应。
生成轨迹可以包括至少一个主轨迹和多个次轨迹。然而,将理解,在生成时,生成轨迹可以不被识别为主轨迹或次轨迹。例如,可以生成轨迹,并且在稍后的时间,至少一个轨迹可以被识别为主轨迹。
在框706处,规划系统404从所生成的轨迹提取轨迹特征。如本文所述,所提取的轨迹特征可以是预定义的或经学习的特征。可以基于一个或多于一个指令或处理来提取预定义的特征。可以使用一个或多于一个机器学习模型来提取经学习的特征。
从所生成的轨迹提取轨迹特征可以包括从任何主轨迹和/或任何次轨迹提取轨迹特征。在一些这样的情况下,在特征提取时,轨迹可以不被识别为主轨迹和/或次轨迹。例如,可以从所生成的轨迹提取轨迹特征,并且在稍后时间,可以将轨迹中的至少一个识别为主轨迹。
在框708处,规划系统404对轨迹进行评分(或排名)。如本文所述,规划系统404可以以各种方式对轨迹进行评分。在一些情况下,规划系统404对个体轨迹特征进行评分,并且基于评分后的轨迹特征来生成轨迹得分。在某些情况下,规划系统404使用一个或多于一个机器学习模型来对轨迹(和/或多个轨迹)的特征进行评分。例如,可以处理个体轨迹特征中的一部分或全部并且通信到神经网络的相应一个或多于一个全连接层。特征得分可以与全连接层的输出相对应。
规划系统可以组合一个或多于一个特征得分以确定轨迹得分。例如,规划系统404可以级联特征得分中的一部分或全部以生成轨迹得分。在一些这样的情况下,轨迹得分可以是包括个体特征得分的值的向量。作为另一示例,轨迹得分可以与特征得分的平均值、标准偏差、总和、最小值、最大值相对应。在一些情况下,规划系统404可以对特征得分进行加权并使用(组合后的)加权特征得分来生成轨迹得分。
对轨迹进行评分可以包括对任何主轨迹和/或任何次轨迹进行评分。在一些这样的情况下,在评分时轨迹可以不被识别为主轨迹和/或次轨迹。例如,可以根据生成轨迹对轨迹进行评分(或排序),并且在稍后时间可以将这些轨迹中的至少一个识别为主轨迹。
在框710处,规划系统404计算规划系统404的一个或多于一个组件(诸如用于对特征/轨迹进行评分的机器学习模型等)的损失。如本文所述,在一些情况下,损失可以是基于主轨迹的得分与其他轨迹(例如,由规划系统404生成的轨迹)的得分的比较。在某些情况下,在主轨迹被排名(或评分)得比其他轨迹低时,损失更大,并且在主轨迹被排名(或评分)得比其他轨迹高时,损失更小。
可以在计算损失之前的某个时间点处识别主轨迹。例如,可以与轨迹的生成、特征提取和/或评分同时地或者在损失计算之前的任何时间处识别主轨迹。在一些情况下,如本文所述,主轨迹可以由规划系统404和/或审查所生成的轨迹的用户识别。
如本文所述,在某些情况下,主轨迹可以与同预设或专家轨迹类似的生成轨迹相对应。在某些情况下,主轨迹与同预设或专家轨迹(最)类似的(来自生成轨迹集合的)生成轨迹相对应。轨迹集合可以与由规划系统404根据场景数据502生成的轨迹中的一部分或全部相对应。
在框712处,规划系统404基于所确定的损失来修改一个或多于一个组件。在一些情况下,使用所确定的损失来修改用于生成轨迹特征和/或轨迹的得分的机器学习模型的一个或多于一个参数。在某些情况下,修改参数以减小损失值或使损失值接近特定值(例如,0或1)。为此,如果损失减少,则规划系统404可以接收到肯定反馈,并且如果损失增加,则规划系统404可以接收到否定反馈。
在损失与主轨迹的排名或得分关联时,规划系统404可以修改相关参数,使得主轨迹与其他轨迹相比被排名(或评分)得更高(并且其他轨迹被排名或评分得更低)。通过训练机器学习模型以将主轨迹排名得更高,训练环境可以间接地训练机器学习模型以遵循针对不同运载工具场景的预设或专家轨迹。此外,训练环境可以使得机器学习模型能够在其认为合适时修改其自身的参数以减小损失。作为上述的一部分,机器学习模型可以确定如何对轨迹特征进行评分和/或组合以确定轨迹的轨迹得分,这些轨迹得分导致主轨迹被排名(或评分)得比其他轨迹更高。因此,机器学习模型在选择运载工具的轨迹时可以间接地学习轨迹特征的相对重要度。
在例程700中可以包括更少、更多或不同的块。在一些情况下,可以利用不同的场景数据502将该例程重复数百次、数千次或数百万次,使得机器学习模型可以使用各种各样的场景数据502来训练,并且更好地准备以在遇到未训练机器学习模型的场景时选择适当的轨迹。由于机器学习模型经训练,因此机器学习模型可以将主轨迹排名(或评分)得比其他轨迹更高。这样,机器学习模型可以间接地学习运载工具200可以导航各种环境所依据的运载工具规划策略。例如,机器学习模型可以间接地学习如何对个体轨迹特征进行评分、如何组合轨迹特征(例如,要使用哪些轨迹特征和/或如何对它们加权)、以及如何对轨迹进行评分,使得与预设或专家轨迹类似的轨迹被排名(或评分)得比其他轨迹更高并且被选择用于导航运载工具200。
图8是示出规划系统404的推断环境800的框图。在所例示的推断环境800中,规划系统404使用场景数据802来选择运载工具200的轨迹820。场景数据802可以与场景数据502类似。例如,场景数据802可以包括来自传感器套件的传感器数据以及/或者语义图像(例如,由感知系统生成的语义图像402)。如本文所述,场景数据可以包括与运载工具200相关联的运载工具数据以及/或者与运载工具场景中的一个或多于一个对象相关联的对象数据。可以根据来自与感知系统402的传感器套件相关联的一个或多于一个传感器的传感器数据、来自定位系统406的传感器数据、以及/或者可以从运载工具200内或周围的特定于运载工具200的一个或多于一个传感器,来生成场景数据802。场景数据802可以包括与运载工具200或场景中的对象的位置、方位、航向、速度、加速度、运载工具200的加速或减速的量、运载工具200的方向盘位置等相关的数据。作为另一示例,场景数据802可以包括包含运载工具场景中的对象的特征提取的分类的语义数据或语义图像。
在推断环境800中,场景数据802可以是由一个或多于一个传感器或感知系统402在运载工具200在各种环境中操作时生成的实时数据。因此,随着运载工具200遇到活动运载工具场景,场景数据802可以与这些活动运载工具场景相对应。这样,由于场景数据502在一些情况下可以是与运载工具200所遇到的先前场景相对应的历史数据,因此场景数据802可以不同于场景数据502。
规划系统404可以与本文中至少参考图4、图5A、图6A和图6B所述的规划系统404类似。在例示示例中,规划系统404包括与本文中参考图5A所述的规划系统404相同或类似的组件。具体地,规划系统404包括轨迹生成器504、轨迹特征提取器506、场景特征提取器508和轨迹评估网络510。如本文所述,规划系统404可以根据需要包括更少或更多的组件。例如,在一些情况下,规划系统404可以省略场景特征提取器508。
在一些情况下,推断环境800中的规划系统404的组件可以不同于训练环境600中的规划系统404的组件。在某些情况下,推断环境800中的规划系统404的组件可以相对于推断环境600中的规划系统404的组件被(更多地)训练。例如,如本文所述,在训练环境600中,正在训练规划系统404的一个或多于一个组件,使得在训练期间可以修改或调整一个或多于一个组件的一个或多于一个参数。在推断环境800中,规划系统404的组件可以被训练和/或相对静态(例如,在训练环境600中正在改变的参数在推断环境800中未改变)。然而,将理解,可以调整推断环境800中的规划系统404的组件的一个或多于一个参数。
在推断环境800中,规划系统404的组件可以进行如本文所述的功能。作为非限制性示例,轨迹生成器504可以生成一个或多于一个轨迹,轨迹特征提取器506可以从所生成的轨迹中提取轨迹特征,场景特征提取器508可以使用场景数据802来提取场景特征,并且轨迹评估网络510可以评估轨迹特征和/或轨迹以确定这些轨迹特征和/或轨迹的得分和/或排名。
如本文所述,轨迹评估网络510可以在轨迹空间中评估个体轨迹。例如,轨迹评估网络510可以将轨迹作为整体(或在生成之后)进行评估,而不是在状态-动作空间中评估由轨迹生成器504做出的各增量决策以递增地构建轨迹。以这种方式,轨迹评估网络510可以生成更少的数据和/或使用更少的数据来评估个体轨迹。生成或使用更少的数据来评估个体轨迹可以通过减少用于生成/评估个体轨迹的计算资源来改善规划系统404的总体功能,由此减少用于生成/评估个体轨迹的时间量和/或使得规划系统404能够在相同的时间量内生成/评估更多轨迹。使用更少的计算资源和/或减少用于评估并选择运载工具200的轨迹的处理时间可以使得运载工具200能够将计算资源花费在其他任务上和/或增加运载工具200能够适当地分析更多数量的轨迹的可能性,由此增加运载工具200为给定场景选择最佳轨迹的可能性。
在推断环境800中,可以选择所评估的轨迹中的至少一个来控制运载工具200。在一些情况下,可以选择具有最高得分或由轨迹评估网络510排名最高的轨迹来控制运载工具200。在一些情况下,轨迹评估网络510可以识别所选择的轨迹。在某些情况下,规划系统404的另一组件可以基于从轨迹评估网络510接收到的排名或得分来选择轨迹。
运载工具200可以使用所选择的轨迹820来在场景中导航。在一些情况下,控制系统408可以使用轨迹820来选择某些控制参数(例如,加速器、制动器、轮控制等)以控制运载工具200跟随轨迹820。在控制运载工具200时,可以收集与实际轨迹相对于轨迹820有关的信息。该信息可用于确定损失以及/或者更好地理解运载工具200的运动学。
在一些情况下,训练环境600和推断环境800中的规划系统404之间的一个区别是,在推断环境800中,规划系统404可能不接收损失(以及/或者不基于损失来调整轨迹评估网络510或机器学习模型的参数)。例如,推断环境800可以不包括计算损失并将该损失提供回到轨迹评估网络510的处理装置。然而,将理解,在某些情况下,规划系统404的处理装置可以计算损失和/或将该损失提供到轨迹评估网络510。
图9是示出规划系统404正在操作以规划运载工具200的轨迹的推断环境900的示例的数据流图。在例示示例中,规划系统404使用与运载工具场景902相对应的场景数据502来对轨迹特征和轨迹进行评分(924),并且选择轨迹(928)(本文中也称为选定轨迹或第一轨迹)以控制运载工具200。推断环境900可以类似于推断环境800,并且可以包括推断环境800的一个或多于一个组件。
为了简化说明,运载工具场景902可以类似于来自图6A的运载工具场景602,然而,将理解,运载工具200在推断期间所遇到的场景可以不同于用于训练规划系统404(例如,规划系统404的一个或多于一个组件)的场景。
在例示示例中,运载工具场景902包括在交叉口906处向左转的自我运载工具904。运载工具场景902还包括两个运载工具智能体908a、908b(单独或统称为智能体908)。运载工具场景902和运载工具场景602之间的一个区别在于,在运载工具场景902中未示出预设轨迹610。如本文所述,预设轨迹610可以形成训练数据501(或训练数据501的场景数据502)的一部分,并且用于选择主轨迹614c。然而,在推断环境中,预设轨迹610可能(或确实)不存在,以及/或者主轨迹614c可能未被选择(或可能非已知)(或者确实未被选择或未知)。
在912处,与本文中至少参考图6A的步骤612所述的内容类似,规划系统404生成轨迹914a-914f(统称为轨迹914)。在推断环境900中,由于规划系统404不具有预设轨迹610,因此规划系统404可能不能从轨迹914中选择主轨迹614c(或者基于主轨迹614c计算误差)。如此,在912处,所有轨迹914都可被同等地考虑用于作为选定轨迹进行选择。
在916处,如本文中至少参考图6A的步骤616所述,规划系统404从轨迹914提取轨迹特征918。
在920处,如本文中至少参考图6A的步骤620所述,规划系统404使用运载工具场景902的场景数据502来提取场景特征922。如本文所述,在一些情况下,可以省略步骤920,并且可以不生成场景特征922。
在924处,如本文中至少参考图6A和图6B的步骤614所述,规划系统404使用轨迹特征918(以及在一些情况下为场景特征922)和机器学习模型(例如,轨迹评估网络510)来对特征和轨迹进行评分。例如,规划系统404可以分离轨迹特征918,将它们与场景特征922组合,对特征进行成形,将成形后的特征通信到全连接层,并且将来自全连接层的一个或多于一个特征得分组合以生成轨迹得分。此外,规划系统404可以使用由轨迹评估网络510指派给轨迹914的轨迹得分来对轨迹914进行排名。
如本文所述,规划系统404可以在轨迹空间中对轨迹914和轨迹特征918进行评估(和评分),由此减少数据处理量以及/或者增加对轨迹914和/或轨迹特征918的评估(或评分)时间。
在928处,规划系统404从轨迹914中选择用于控制运载工具200的轨迹。如本文所述,规划系统404可以选择具有高(例如,前25名)或最高得分或排名的轨迹以控制运载工具200。基于规划系统404的训练,在从轨迹914中选择了主轨迹的情况下或者在运载工具场景902的场景数据502中存在预设轨迹的情况下,所选择的轨迹优选是将与主轨迹(或预设或专家轨迹)相对应的轨迹。
图10是例示由一个或多于一个处理器实现以选择用于控制运载工具200的(第一)轨迹的例程1000的示例的流程图。图10所例示的流程图仅是为了例示的目的而提供的。将理解,可以移除图10所例示的例程的步骤中的一个或多于一个,或者可以改变步骤的次序。此外,为了例示清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述一个或多于一个特定系统组件。然而,可以使用其他系统布置以及跨系统组件的处理步骤的分布。
在框1002处,如本文中至少参考图7的框702所述,规划系统404获得与运载工具200的场景相关联的场景数据。在一些情况下,在1002处接收到的场景数据是使用运载工具200在环境中操作时从传感器获得的传感器数据所生成的实时场景数据。在某些情况下,在1002处接收到的场景数据不包括预设轨迹。
在框1004处,如本文中至少参考图7的框704所述,规划系统404基于场景数据502来生成运载工具的轨迹。
在框1006处,如本文中至少参考图7的框706所述,规划系统404从所生成的轨迹提取轨迹特征。这可以包括从特定轨迹提取特征。
在框1008处,规划系统404评估轨迹(和/或特定轨迹)。在某些情况下,规划系统404可以在轨迹空间中评估轨迹(或特定轨迹)。例如,代替在生成轨迹时或者在生成阶段期间沿着多个点评估轨迹,规划系统404可以评估已完成的轨迹或跨越特定持续时间(例如,六秒)的轨迹(或特定轨迹)。
在一些情况下,如本文中至少参考图7的框708所述,规划系统404对轨迹进行评分(或排序)。例如,规划系统404可以(例如,使用机器学习模型)对个体轨迹特征进行评估(和评分),并且使用个体轨迹特征的评估(或评分)来对相应轨迹进行评估(和评分)。此外,基于(所学习的)运载工具规划策略,规划系统404可以对不同轨迹进行评分(或排名)。
在框1010处,规划系统404基于轨迹的评估(包括特定轨迹的评估)来选择轨迹。如本文所述,规划系统404可以基于(第一)轨迹相对于其他轨迹的得分(或排名)的得分和/或排名来选择该(第一)轨迹。在一些情况下,规划系统404选择具有更高得分(例如,前25名、前10%等)或最高得分的(第一)轨迹。在一些情况下,规划系统404可以选择特定轨迹(例如,特定轨迹的得分可以是最高和/或满足得分阈值),或者规划系统404可以选择不同的轨迹(例如,特定轨迹的得分不满足得分阈值和/或不是最高)
在框1012处,规划系统404使得基于所选择的轨迹来控制运载工具。如本文所述,规划系统404可以将所选择的轨迹通信到控制系统408,该控制系统408可以调整一个或多于一个控制参数以使得运载工具200以(近似)跟踪所选择的轨迹的方式移动。
在例程1000中可以包括更少、更多或不同的块,以及/或者可以对这些块重新排序。在一些情况下,在运载工具200操作时,该例程可以重复数百次、数千次或数百万次。例如,在运载工具200处于操作期间,例程1000可以每秒发生多次。
在某些情况下,运载工具200可以在其操作时收集数据。数据可以包括场景数据502,并且可以在稍后时间使用以进一步训练规划系统404。例如,使用在例程1000的操作期间收集的场景数据502,可以识别预设轨迹和主轨迹,并且如本文所述,可以根据预设轨迹和主轨迹来训练规划系统404。
在一些情况下,可以迭代地进行例程700和例程1000。例如,规划系统404可以根据例程700来训练,然后根据例程1000在运载工具200中操作。在操作了一段时间之后,可以使用附加场景数据根据例程700进一步训练或重新训练规划系统404,其中附加场景数据中的一些可以是在规划系统404在推断环境中的操作期间(例如,在例程1000的执行期间)收集的。
示例
本公开的各种非限制性示例可以通过以下的条款来描述:
条款1.一种方法,包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹;从所述多个轨迹中的特定轨迹提取多个特征;使用机器学习模型,基于所述多个特征和运载工具规划策略来在轨迹空间中评估所述特定轨迹;基于评估所述特定轨迹来从所述多个轨迹中选择第一轨迹;以及使得基于所述第一轨迹来控制所述运载工具。
条款2.根据条款1所述的方法,其中,所述轨迹空间包括完成轨迹。
条款3.条款1或2所述的方法,其中,获得所述场景数据包括接收以下项中的至少一个:与同所述场景相对应的地图相关联的地图数据、与所述运载工具的路线相关联的路线数据、与在所述场景中识别出的至少一个对象相关联的对象数据、以及与所述运载工具的地点相关联的地点数据。
条款4.条款1至3中任一项所述的方法,其中,生成所述多个轨迹包括模拟要顺次进行的多个动作组。
条款5.条款4所述的方法,其中,所述动作组包括加速、修改航向、减速和维持速度中的至少一个。
条款6.条款1至5中任一项所述的方法,其中,所述机器学习模型是第一机器学习模型,所述方法还包括:基于所述场景数据来生成图像;使用第二机器学习模型来从所述图像确定第二多个特征;以及将所述第一多个特征与所述第二多个特征组合,其中,基于所述多个特征和运载工具规划策略来评估所述特定轨迹包括:确定所述第一多个特征中的各特征的第一特征得分,确定所述第二多个特征中的各特征的第二特征得分,以及基于多个第一特征得分和多个第二特征得分来确定所述特定轨迹的轨迹得分。
条款7.条款6所述的方法,其中,所述图像是鸟瞰图图像。
条款8.条款1至7中任一项所述的方法,其中,评估所述特定轨迹包括:确定所述多个特征中的各特征的特征得分;以及将多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款9.条款1至8中任一项所述的方法,其中,评估所述特定轨迹包括:确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;以及将加权后的多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款10.一种系统,包括:数据存储器,用于存储计算机可执行指令;以及处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹;从特定轨迹提取多个特征;使用机器学习模型,基于所述多个特征和运载工具规划策略来在轨迹空间中评估所述特定轨迹;基于所述特定轨迹的评估来从所述多个轨迹中选择第一轨迹;以及使得基于所述第一轨迹来控制所述运载工具。
条款11.条款10所述的系统,其中,所述轨迹空间包括完成轨迹。
条款12.条款10或11所述的系统,其中,为了评估所述特定轨迹,所述计算机可执行指令的执行进一步使得所述系统进行以下操作:确定所述多个特征中的各特征的特征得分;以及将多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款13.条款10至12中任一项所述的系统,其中,为了评估所述特定轨迹,所述计算机可执行指令的执行进一步使得所述系统进行以下操作:确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;以及将加权后的多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款14.条款10至13中任一项所述的系统,其中,所述机器学习模型是第一机器学习模型,其中,所述计算机可执行指令的执行使得所述系统进行以下操作:基于所述场景数据来生成图像;使用第二机器学习模型来从所述图像确定第二多个特征;以及将所述第一多个特征与所述第二多个特征组合,其中,为了基于所述多个特征和运载工具规划策略来评估所述特定轨迹,所述计算机可执行指令进一步使得所述系统进行以下操作:确定所述第一多个特征中的各特征的第一特征得分,确定所述第二多个特征中的各特征的第二特征得分,以及基于多个第一特征得分和多个第二特征得分来确定所述特定轨迹的轨迹得分。
条款15.一种非暂态计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹;从所述多个轨迹中的特定轨迹提取多个特征;使用机器学习模型,基于所述多个特征和运载工具规划策略来在轨迹空间中评估所述特定轨迹;基于评估所述特定轨迹来从所述多个轨迹中选择第一轨迹;以及使得基于所述第一轨迹来控制所述运载工具。
条款16.条款15所述的非暂态计算机可读介质,其中,所述轨迹空间包括已完成的轨迹。
条款17.条款15或16所述的非暂态计算机可读介质,其中,为了评估所述特定轨迹,所述计算机可执行指令的执行进一步使得所述计算系统进行以下操作:确定所述多个特征中的各特征的特征得分;以及将多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款18.条款15至17中任一项所述的非暂态计算机可读介质,为了评估所述特定轨迹,所述计算机可执行指令的执行进一步使得所述计算系统进行以下操作:确定所述多个特征中的各特征的特征得分;对多个特征得分中的各特征得分进行加权;以及将加权后的多个特征得分组合以确定所述特定轨迹的轨迹得分。
条款19.条款15至18中任一项所述的非暂态计算机可读介质,其中,所述机器学习模型是第一机器学习模型,其中,所述计算机可执行指令的执行使得所述计算系统进行以下操作:基于所述场景数据来生成图像;使用第二机器学习模型来从所述图像确定第二多个特征;以及将所述第一多个特征与所述第二多个特征组合,其中,为了基于所述多个特征和运载工具规划策略来评估所述特定轨迹,所述计算机可执行指令进一步使得所述系统进行以下操作:确定所述第一多个特征中的各特征的第一特征得分,确定所述第二多个特征中的各特征的第二特征得分,以及基于多个第一特征得分和多个第二特征得分来确定所述特定轨迹的轨迹得分。
条款20.条款19所述的非暂态计算机可读介质,其中,所述图像是鸟瞰图图像。
条款21.一种方法,包括:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹,所述多个轨迹包括至少一个主轨迹和多个次轨迹;从所述至少一个主轨迹提取第一多个特征,并且从所述多个次轨迹中的至少一个次轨迹提取第二多个特征;使用机器学习模型,基于所述第一多个特征和所述第二多个特征来生成所述至少一个主轨迹的第一轨迹得分和所述至少一个次轨迹的第二轨迹得分;基于所述至少一个主轨迹的第一轨迹得分和所述至少一个次轨迹的第二轨迹得分来生成所述机器学习模型的损失;以及基于所生成的损失来修改所述机器学习模型的一个或多于一个参数。
条款22.根据条款21所述的方法,其中,所述场景数据包括从训练数据中选择的场景数据集合,其中所述训练数据包括多个场景数据集合。
条款23.根据条款21或22所述的方法,其中,所述主轨迹是所述多个轨迹中的被确定为与预设轨迹最类似的轨迹,其中所述预设轨迹与用户所选择的穿过所述运载工具的场景的路径相对应。
条款24.根据条款21至23中任一项所述的方法,其中,所述主轨迹是所述多个轨迹中的被确定为与预设轨迹最类似的轨迹,其中所述预设轨迹与用户先前穿过所述运载工具的场景所行驶的路径相对应。
条款25.根据条款24所述的方法,其中,基于所述预设轨迹的多个特征与所述主轨迹和所述多个次轨迹的相应多个特征的比较,所述主轨迹被确定为与所述预设轨迹最类似。
条款26.根据条款1或21所述的方法,其中,所述场景数据包括语义分割图像。
条款27.根据条款6或26所述的方法,其中,所述场景数据包括所述运载工具的场景中的至少一个对象的至少一个特征,其中所述至少一个特征包括所述至少一个对象的朝向、位置、速度、加速度和对象分类中的至少一个。
条款28.根据条款7或27所述的方法,其中,生成所述多个轨迹包括:基于所述运载工具的场景中的所述至少一个对象和所述运载工具的场景中的所述至少一个对象的至少一个特征来生成所述多个轨迹。
条款29.根据条款21所述的方法,其中,生成所述第一轨迹得分包括:使用所述机器学习模型,生成所述第一多个特征中的各特征的第一特征得分,并且基于多个第一特征得分来生成所述第一轨迹得分,其中生成所述第二轨迹得分包括:使用所述机器学习模型,生成所述第二多个特征中的各特征的第二特征得分,并且基于多个第二特征得分来生成所述第二轨迹得分。
条款30.根据条款29所述的方法,其中,对所述多个第一特征得分进行加权,并且对所述多个第二特征得分进行加权。
条款31.根据条款29所述的方法,其中,基于多个第一特征得分来生成所述第一轨迹得分包括将所述多个第一特征得分组合,以及
其中,基于多个第二特征得分来生成所述第二轨迹得分包括将所述多个第二特征得分组合。
条款32.根据条款21所述的方法,其中,在所述第一轨迹得分低于所述第二轨迹得分的情况下,所述机器学习模型的损失更大,并且在所述第一轨迹得分高于所述第二轨迹得分的情况下,所述机器学习模型的损失更小。
条款33.根据条款1或21所述的方法,其中,修改所述机器学习模型的一个或多于一个参数包括:调整所述机器学习模型的至少一个系数以增加所述第一轨迹得分。
条款34.一种系统,包括:数据存储器,用于存储计算机可执行指令;以及处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹,所述多个轨迹包括至少一个主轨迹和多个次轨迹;从所述至少一个主轨迹提取第一多个特征,并且从所述多个次轨迹中的至少一个次轨迹提取第二多个特征;使用机器学习模型,基于所述第一多个特征和所述第二多个特征来生成所述至少一个主轨迹的第一轨迹得分和所述至少一个次轨迹的第二轨迹得分;基于所述至少一个主轨迹的第一轨迹得分和所述至少一个次轨迹的第二轨迹得分来生成所述机器学习模型的损失;以及基于所生成的损失来修改所述机器学习模型的一个或多于一个参数。
条款35.根据条款34所述的系统,其中,所述场景数据包括从训练数据中选择的场景数据集合,其中所述训练数据包括多个场景数据集合。
条款36.根据条款34所述的系统,其中,所述主轨迹是所述多个轨迹中的被确定为与预设轨迹最类似的轨迹,其中所述预设轨迹与用户先前穿过所述运载工具的场景所行驶的路径相对应。
条款37.根据条款36所述的系统,其中,基于所述预设轨迹的多个特征与所述主轨迹和所述多个次轨迹的相应多个特征的比较,所述主轨迹被确定为与所述预设轨迹最类似。
条款38.根据条款34所述的系统,其中,生成所述第一轨迹得分包括:使用所述机器学习模型,生成所述第一多个特征中的各特征的第一特征得分,并且基于多个第一特征得分来生成所述第一轨迹得分,其中生成所述第二轨迹得分包括:使用所述机器学习模型,生成所述第二多个特征中的各特征的第二特征得分,并且基于多个第二特征得分来生成所述第二轨迹得分。
条款39.根据条款38所述的系统,其中,对所述多个第一特征得分进行加权,并且对所述多个第二特征得分进行加权。
条款40.一种非暂态计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行以下操作:获得与运载工具的场景相关联的场景数据;基于所述场景数据来生成所述运载工具的多个轨迹,所述多个轨迹包括至少一个主轨迹和多个次轨迹;从所述至少一个主轨迹提取第一多个特征,并且从所述多个次轨迹中的至少一个次轨迹提取第二多个特征;使用机器学习模型,基于所述第一多个特征和所述第二多个特征来生成所述至少一个主轨迹的第一轨迹得分和所述至少一个次轨迹的第二轨迹得分;基于所述第一轨迹得分和所述至少一个次轨迹的第二轨迹得分来生成所述机器学习模型的损失;以及基于所生成的损失来修改所述机器学习模型的一个或多于一个参数。
附加示例
本文所述的所有方法和任务都可以通过计算机系统来进行和完全自动化。计算机系统在一些情况下可以包括多个不同的计算机或计算装置(例如,物理服务器、工作站、存储阵列、云计算资源等),它们通过网络进行通信和互操作以进行所描述的功能。各个这样的计算装置通常包括执行存储器或其他非暂态计算机可读存储介质或装置(例如,固态存储装置、盘驱动器等)中所存储的程序指令或模块的处理器(或多个处理器)。本文所公开的各种功能可以体现在这样的程序指令中,或者可以在计算机系统的专用电路(例如,ASIC或FPGA)中实现。在计算机系统包括多个计算装置的情况下,这些装置可以但不需要位于同一位置。所公开的方法和任务的结果可以通过将诸如固态存储器芯片或磁盘的物理存储装置变换成不同的状态来持久地存储。在一些实施例中,计算机系统可以是基于云的计算系统,其处理资源由多个不同的业务实体或其他用户共享。
本文所述的或在本公开的附图中例示的处理可以响应于事件(诸如按预先确定的或动态确定的时间表、在由用户或系统管理员发起时按需、或者响应于某些其他事件)而开始。当发起这样的处理时,可以将一个或多于一个非暂态计算机可读介质(例如,硬盘驱动器、闪速存储器、可移动介质等)上所存储的一组可执行程序指令加载到服务器或其他计算装置的存储器(例如,RAM)中。然后,这些可执行指令可由计算装置的基于硬件的计算机处理器执行。在一些实施例中,这样的处理或其一部分可以在多个计算装置和/或多个处理器上串行地或并行地实现。
根据本实施例,本文所述的任何处理或算法的某些动作、事件或功能可以以不同的序列进行,可以被相加、合并或完全省略(例如,并非所有所描述的操作或事件对于算法的实践都是必需的)。此外,在某些实施例中,操作或事件可以例如通过多线程处理、中断处理、或者多个处理器或处理器核或者在其他并行架构上同时进行,而不是顺次进行。
结合本文公开的实施例所描述的各种例示性逻辑块、模块、例程和算法步骤可被实现为电子硬件(例如,ASIC或FPGA装置)、在计算机硬件上运行的计算机软件、或者这两者的组合。此外,结合本文公开的实施例所描述的各种例示性逻辑块和模块可以通过以下来实现或进行:机器,诸如处理器装置、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或其他可编程逻辑装置;分立栅极(discrete gate)或晶体管逻辑;分立硬件组件;或者它们的被设计为进行本文所述的功能的任何组合。处理器装置可以是微处理器,但在替代方案中,处理器装置可以是控制器、微控制器、或状态机、或者它们的组合等。处理器装置可以包括被配置为处理计算机可执行指令的电路。在另一实施例中,处理器装置包括在无需处理计算机可执行指令的情况下进行逻辑操作的FPGA或其他可编程装置。处理器装置还可被实现为计算装置的组合(例如,DSP和微处理器的组合)、多个微处理器、与DSP核结合的一个或多于一个微处理器、或任何其他这这样的配置。尽管本文主要关于数字技术进行说明,但处理器装置也可主要包括模拟组件。例如,本文所述的渲染技术的一部分或全部可以在模拟电路或者混合模拟和数字电路中实现。计算环境可以包括任何类型的计算机系统,其包括但不限于基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算装置、装置控制器、或器械内的计算引擎(仅举几个例子)。
结合本文公开的实施例所描述的方法、处理、例程或算法的要素可以直接以硬件、由处理器装置执行的软件模块、或这两者的组合来体现。软件模块可以驻留在RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或任何其他形式的非暂态计算机可读存储介质中。示例性存储介质可以耦接到处理器装置,使得处理器装置可以从存储介质读取信息并将信息写入存储介质。在替代方案中,存储介质与处理器装置可以是一体的。处理器装置和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在替代方案中,处理器装置和存储介质可以作为分立组件驻留在用户终端中。
在先前描述中,已经参考许多具体细节描述了本公开的方面和实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
Claims (11)
1.一种用于控制运载工具的方法,包括:
获得与运载工具的场景相关联的场景数据;
基于所述场景数据来生成所述运载工具的多个轨迹;
从所述多个轨迹中的特定轨迹提取第一多个特征;
使用机器学习模型,基于所述第一多个特征和运载工具规划策略来在轨迹空间中评估所述特定轨迹;
基于评估所述特定轨迹来从所述多个轨迹中选择第一轨迹;以及
使得基于所述第一轨迹来控制所述运载工具。
2.根据权利要求1所述的方法,其中,所述轨迹空间包括已完成的轨迹。
3.根据权利要求1或2所述的方法,其中,获得所述场景数据包括接收以下项中的至少一个:与同所述场景相对应的地图相关联的地图数据、与所述运载工具的路线相关联的路线数据、与在所述场景中识别出的至少一个对象相关联的对象数据、以及与所述运载工具的地点相关联的地点数据。
4.根据权利要求1至3中任一项所述的方法,其中,生成所述多个轨迹包括模拟要顺次进行的多个动作组。
5.根据权利要求4所述的方法,其中,所述动作组包括加速、修改航向、减速和维持速度中的至少一个。
6.根据权利要求1至5中任一项所述的方法,其中,所述机器学习模型是第一机器学习模型,所述方法还包括:
基于所述场景数据来生成图像;
使用第二机器学习模型来从所述图像确定第二多个特征;以及
将所述第一多个特征与所述第二多个特征组合,
其中,基于所述第一多个特征和运载工具规划策略来评估所述特定轨迹包括:
确定所述第一多个特征中的各特征的第一特征得分,
确定所述第二多个特征中的各特征的第二特征得分,以及
基于多个第一特征得分和多个第二特征得分来确定所述特定轨迹的轨迹得分。
7.根据权利要求6所述的方法,其中,所述图像是鸟瞰图图像。
8.根据权利要求1至7中任一项所述的方法,其中,评估所述特定轨迹包括:
确定所述第一多个特征中的各特征的特征得分;以及
将多个特征得分组合以确定所述特定轨迹的轨迹得分。
9.根据权利要求1至8中任一项所述的方法,其中,评估所述特定轨迹包括:
确定所述第一多个特征中的各特征的特征得分;
对多个特征得分中的各特征得分进行加权;以及
将加权后的多个特征得分组合以确定所述特定轨迹的轨迹得分。
10.一种用于控制运载工具的系统,包括:
数据存储器,用于存储计算机可执行指令;以及
处理器,其被配置为执行所述计算机可执行指令,其中所述计算机可执行指令的执行使得所述系统进行根据权利要求1至9中任一项所述的方法。
11.一种非暂态计算机可读介质,其包括计算机可执行指令,所述计算机可执行指令在由计算系统执行时,使得所述计算系统进行根据权利要求1至9中任一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/808,943 US20230415772A1 (en) | 2022-06-24 | 2022-06-24 | Trajectory planning based on extracted trajectory features |
US17/808,943 | 2022-06-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117292340A true CN117292340A (zh) | 2023-12-26 |
Family
ID=87291546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310748006.6A Withdrawn CN117292340A (zh) | 2022-06-24 | 2023-06-25 | 用于控制运载工具的方法、系统和介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230415772A1 (zh) |
KR (1) | KR20240001069A (zh) |
CN (1) | CN117292340A (zh) |
DE (1) | DE102023116269A1 (zh) |
GB (1) | GB2621671A (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9632502B1 (en) * | 2015-11-04 | 2017-04-25 | Zoox, Inc. | Machine-learning systems and techniques to optimize teleoperation and/or planner decisions |
US9645577B1 (en) * | 2016-03-23 | 2017-05-09 | nuTonomy Inc. | Facilitating vehicle driving and self-driving |
US10996679B2 (en) * | 2018-04-17 | 2021-05-04 | Baidu Usa Llc | Method to evaluate trajectory candidates for autonomous driving vehicles (ADVs) |
US11169531B2 (en) * | 2018-10-04 | 2021-11-09 | Zoox, Inc. | Trajectory prediction on top-down scenes |
US11390300B2 (en) * | 2019-10-18 | 2022-07-19 | Uatc, Llc | Method for using lateral motion to optimize trajectories for autonomous vehicles |
US11794732B2 (en) * | 2020-11-05 | 2023-10-24 | Zoox, Inc. | Allocation of safety system resources based on probability of intersection |
-
2022
- 2022-06-24 US US17/808,943 patent/US20230415772A1/en active Pending
-
2023
- 2023-06-09 GB GB2308623.4A patent/GB2621671A/en active Pending
- 2023-06-21 DE DE102023116269.1A patent/DE102023116269A1/de active Pending
- 2023-06-23 KR KR1020230081102A patent/KR20240001069A/ko unknown
- 2023-06-25 CN CN202310748006.6A patent/CN117292340A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE102023116269A1 (de) | 2024-01-04 |
KR20240001069A (ko) | 2024-01-03 |
US20230415772A1 (en) | 2023-12-28 |
GB2621671A (en) | 2024-02-21 |
GB202308623D0 (en) | 2023-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220355825A1 (en) | Predicting agent trajectories | |
US12050660B2 (en) | End-to-end system training using fused images | |
CN115713687A (zh) | 用于确定对象动态参数的方法、系统和介质 | |
US20240025395A1 (en) | Path generation based on predicted actions | |
US20240025443A1 (en) | Path generation based on predicted actions | |
CN116890875A (zh) | 基于模拟状态的运载工具动作选择 | |
CN115705693A (zh) | 用于传感器数据的标注的方法、系统和存储介质 | |
WO2023192397A1 (en) | Capturing and simulating radar data for autonomous driving systems | |
CN117011816A (zh) | 跟踪对象的踪迹段清理 | |
CN116466697A (zh) | 用于运载工具的方法、系统以及存储介质 | |
CN116229703A (zh) | 用于检测交通信号的方法、系统和存储介质 | |
US11727671B1 (en) | Efficient and optimal feature extraction from observations | |
US20240025444A1 (en) | Path generation based on predicted actions | |
US11400958B1 (en) | Learning to identify safety-critical scenarios for an autonomous vehicle | |
CN116265313A (zh) | 用于操作自主运载工具的方法和系统以及计算机可读介质 | |
US20230415772A1 (en) | Trajectory planning based on extracted trajectory features | |
US20240059302A1 (en) | Control system testing utilizing rulebook scenario generation | |
US20230391367A1 (en) | Inferring autonomous driving rules from data | |
US20240025452A1 (en) | Corridor/homotopy scoring and validation | |
US20240262386A1 (en) | Iterative depth estimation | |
US20230415766A1 (en) | Lane segment clustering using hybrid distance metrics | |
US20240127579A1 (en) | Identifying new classes of objects in environments of vehicles | |
CN117148828A (zh) | 操作自主运载工具的方法、系统和介质 | |
WO2024040099A1 (en) | Control system testing utilizing rulebook scenario generation | |
CN117288189A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20231226 |