CN114510018B - 用于子***性能评价的度量反向传播 - Google Patents

用于子***性能评价的度量反向传播 Download PDF

Info

Publication number
CN114510018B
CN114510018B CN202110895381.4A CN202110895381A CN114510018B CN 114510018 B CN114510018 B CN 114510018B CN 202110895381 A CN202110895381 A CN 202110895381A CN 114510018 B CN114510018 B CN 114510018B
Authority
CN
China
Prior art keywords
subsystem
output
test fixture
performance
value
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.)
Active
Application number
CN202110895381.4A
Other languages
English (en)
Other versions
CN114510018A (zh
Inventor
B·赫劳
O·O·贝基波姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motional AD LLC
Original Assignee
Motional AD LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motional AD LLC filed Critical Motional AD LLC
Publication of CN114510018A publication Critical patent/CN114510018A/zh
Application granted granted Critical
Publication of CN114510018B publication Critical patent/CN114510018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/10Estimation 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 vehicle motion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/04Monitoring the functioning of the control system
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details 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
    • B60W2050/0001Details of the control system
    • B60W2050/0019Control system elements or transfer functions
    • B60W2050/0028Mathematical models, e.g. for simulation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明涉及用于子***性能评价的度量反向传播,提供了用于评价子***性能的***、方法和计算机程序产品。在一些实施例中,方法包括:扰动包括多个子***的***的第一子***的第一属性,确定***的第二子***响应于第一属性的扰动的第二属性的变化,其中第一子***的至少一个输出被传递到第二子***,以及基于性能度量与第一属性和第二属性的相关性来确定针对该***的性能度量的值。在一些实施例中,所述***是自主运载工具(AV)的软件栈,并且所述性能度量是测量AV的驾驶行为的质量的目标函数输出。

Description

用于子***性能评价的度量反向传播
技术领域
本说明书涉及与***级目标函数有关的子***性能评价。
背景技术
***,例如包括在自主运载工具(AV)中的***,通常包括接收或发送数据的多个相关子***。在这些子***中,可能难以确定如何更改给定子***的参数以提高***的性能。
发明内容
一种方法,包括:使用至少一个处理器,扰动包括多个子***的***的第一子***的第一属性;使用所述至少一个处理器,确定所述***的第二子***的第二属性响应于所述第一属性的扰动的变化,其中,所述第一子***的至少一个输出被传递到所述第二子***;以及使用所述至少一个处理器,基于所述***的性能度量与所述第一属性和所述第二属性的相关性来确定针对性能度量的值。
一种***,包括:至少一个处理器;存储器,其存储有在由所述至少一个处理器执行时,使所述至少一个处理器进行操作的指令,所述操作包括:扰动包括多个子***的***的第一子***的第一属性;确定所述***的第二子***的第二属性响应于所述第一属性的扰动的变化,其中,所述第一子***的至少一个输出被传递到所述第二子***;以及基于所述***的性能度量与所述第一属性和所述第二属性的相关性来确定性能度量的值。
附图说明
图1是示出在环境中运行的具有自主能力的AV的示例的图。
图2是示出计算机***的图。
图3是示出AV的示例架构的图。
图4是示出感知***可以使用的输入和输出的示例的图。
图5是示出根据各种实施例的具有多个子***的简化***的图。
图6是示出根据各种实施例的替代示例AV栈的图。
图7是示出根据各种实施例的对规划器的示例输入的图。
图8是示出根据各种实施例的与AV栈的建模相关的示例技术的图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本发明可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本发明模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、***、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.***概述
3.AV架构
4.AV输入
5.AV子***扰动和建模
总体概述
本文公开的是用于针对***级目标函数的子***性能评价的***、方法和计算机程序产品。
在一些实施例中,一种方法,包括:使用至少一个处理器扰动包括多个子***的***的第一子***的第一属性;使用所述至少一个处理器确定所述***的第二子***的第二属性响应于所述第一属性的扰动的变化,其中,所述第一子***的至少一个输出被传递到所述第二子***;以及使用所述至少一个处理器基于性能度量与所述第一属性和所述第二属性的相关性来确定所述***的性能度量的值。
在一些实施例中,方法还包括:使用第一测试固定件(test fixture)来评价所述第一子***响应于扰动所述第一属性的性能;使用所述至少一个处理器基于对所述第一子***的评价来计算第一得分;使用第二测试固定件来评价所述第二子***响应于扰动所述第一属性的性能;使用所述至少一个处理器基于对所述第二子***的评价来计算第二得分;以及基于所述第一得分和所述第二得分来确定所述性能度量的值。
在实施例中,确定所述性能度量的值还包括使用被扰动的第一得分和第二得分的梯度来预测所述性能度量的值。
在实施例中,所述第二测试固定件不包括能够在所述第一子***上运行的数据,并且所述方法还包括模拟所述第二子***将如何影响所述第二测试固定件中的数据(例如,劣化第一测试固定件中使用的地面真值信息)。
在实施例中,使用所述性能度量与被扰动的第一得分和第二得分之间的线性模型来估计所述梯度。
在实施例中,通过将线性最小二乘公式应用于所述线性模型来预测所述性能度量的值。
在实施例中,针对所述第一子***的替代实现来预测所述性能度量的值。
在实施例中,所述性能度量是***级目标函数。
在实施例中,所述***是自主运载工具(AV)的软件栈(software stack),并且所述性能度量是测量所述AV的驾驶行为的质量的目标函数输出。
在实施例中,所述***包括用于接收所述第二子***的输出的第三子***和用于接收来自所述第三子***的输出的第四子***,所述第一子***是传感器子***,所述第二子***是用于从传感器接收传感器数据的感知子***,所述第三个子***用于从所述感知子***接收对象检测的跟踪子***,所述第四子***是用于从所述跟踪子***接收对象踪迹的规划器,以及使用处理器和所述规划器的测试固定件来确定所述性能度量。
在实施例中,通过劣化所述规划器的测试固定件中的地面真值踪迹来模拟对象踪迹。
在实施例中,所述性能度量考虑所述第一子***和第二子***其中至少之一的故障率。
在实施例中,一种***,包括:至少一个处理器;存储有指令的存储器,所述指令在由所述至少一个处理器执行时,使所述至少一个处理器进行上述方法中的任何方法。
凭借本文描述的***、方法和计算机程序产品的实现,用于子***性能评价的技术可以得到关于这些子***中的各个子***如何影响整个***和/或至少一个其它子***的更准确的确定。附加地或替代地,可以针对实现来评价和选择子***,该实现使得***整体比在不以本文描述的方式进行评价的情况下选择其它子***时更高效。这进而提供了可以使用较少资源操作的更高效的***。
***概述
图1是示出具有自主能力的运载工具的示例的图。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全AV、高度AV和有条件AV。
如本文所使用的,AV是一种具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,并且各路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点对应于真实世界地点。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如,随机存取存储器(RAM)和/或非易失性存储器)、软件或固件组件和数据处理组件(诸如,专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可以对应于已命名的通道(例如,城市街道、州际高速公路等)或可对应于未命名的通道(例如,房屋或办公楼内的行车道、停车场的一段、空置停车场的一段、乡村区域的污物通道等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分。有时基于车道标记来识别车道。例如,车道可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木、或者例如在欠发达地区应避免的自然障碍物)来定义车道。也可以独立于车道标记或物理特征来解释车道。例如,可以基于原本缺少将会被解释为车道边界的特征的在区域中无障碍物的任意路径来解释车道。在示例情景中,AV可以解释通过田野或空地的无障碍物部分的车道。在另一示例情景中,AV可以解释通过不具有车道标记的宽(例如,足够两个或更多个车道宽)道路的车道。在该情景中,AV可以将与车道有关的信息通信至其它AV,使得其它AV可以使用相同的车道信息来协调AV之间的路径规划。
“一个或多个”包括由一个要素执行的功能、由多个要素例如以分布式的方式执行的功能、由一个要素执行的若干功能、由若干要素执行的若干功能、或上述的任何组合。
还将理解的是,尽管在一些情况下,术语“第一”、“第二”等在本文中是用来描述各种要素的,但这些要素不应受到这些术语的限制。这些术语仅用于区分一个要素与另一个要素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
如本文所使用的,AV***是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV***并入在AV内。在实施例中,AV***跨若干地点分布。例如,AV***的一些软件是在类似于云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一种或多种自主能力的运载工具的技术,包括完全AV、高度AV和有条件AV,诸如分别为所谓的第5级、第4级和第3级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义,通过引用将其全部内容并入本文件,用于了解运载工具自主权等级的更多详细信息)。本文件所描述的技术也适用于部分AV和驾驶员辅助运载工具,诸如所谓的第2级和第1级运载工具(见SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义)。在实施例中,一个或多个第1级、第2级、第3级、第4级和第5级运载工具***可基于对传感器输入的处理,在某些操作条件下自动执行某些运载工具操作(例如,转向、制动和使用地图)。本文件中所描述的技术可以使从完全AV到人类操作的运载工具范围内的任何级别的运载工具受益。
AV与需要人类驾驶员的运载工具相比存在优势。一个优势是安全性。例如,在2016年,美国经历了600万起汽车事故、240万人受伤、40000人死亡和1300万辆运载工具碰撞事故,估计社会成本为9100亿美元多。从1965年到2015年,每行驶1亿英里的美国交通事故死亡人数已从约6人减少到约1人,部分是由于运载工具中所部署的附加安全措施。例如,认为与将发生碰撞有关的额外半秒的警告减轻了60%的前后碰撞。然而,被动安全特征(例如,安全带、安全气囊)在改进该数字方面有可能已达到它们的极限。因而,诸如运载工具的自动控制等的主动安全措施是改进这些统计数据的可能的下一步。由于在95%的碰撞中认为人类驾驶员是造成严重碰撞前事件的原因,因此自动驾驶***例如通过以下操作,有可能实现更好的安全结果:比人类更好地可靠地识别和避免紧急情况;做出比人类更好的决策,比人类更好地遵守交通法规,并且比人类更好地预测将来事件;并且比人类更好地可靠地控制运载工具。
参考图1,AV***120使运载工具100沿着轨迹198操作,穿过环境190至目的地199(有时称为最终地点),同时避开对象(例如,自然障碍物191、运载工具193、行人192、骑车者和其它障碍物)和遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV***120包括用于从计算机处理器146接收操作命令并对其进行操作的装置101。使用术语“操作命令”来表示使得运载工具进行动作(例如,驾驶机动动作)的可执行指令(或指令集)。操作命令可以非限制性地包括用于使运载工具开始向前移动、停止向前移动、开始向后移动、停止向后移动、加速、减速、进行左转和进行右转的指令。在实施例中,计算机处理器146与下面参考图2描述的处理器204相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV***120包括用于测量或推断运载工具100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,运载工具100的前端的方向)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱的单目或立体摄像机122,光检测和测距(LiDAR)123,RADAR,超声波传感器,飞行时间(TOF)深度传感器,速率传感器,温度传感器,湿度传感器和降水传感器。
在实施例中,AV***120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与以下关于图2描述的ROM 208或存储装置210类似。在实施例中,存储器144与下面描述的主存储器206类似。在实施例中,数据存储单元142和存储器144存储有关环境190的历史、实时和/或预测性信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190有关的数据从远程数据库134通过通信信道传输到运载工具100。
在实施例中,AV***120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性传送到运载工具100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或自组织(ad hoc)网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与AV进行的和在AV之间的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV***120。在实施例中,远程数据库134嵌入在云计算环境中。通信装置140将从传感器121收集的数据或与运载工具100操作有关的其它数据传输到远程数据库134。在实施例中,通信装置140向运载工具100传输与遥操作有关的信息。在一些实施例中,运载工具100与其它远程(例如,“云”)服务器136通信。
在实施例中,远程数据库134还存储和传输数字数据(例如,存储诸如道路和街道地点的数据)。这些数据存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
在实施例中,远程数据库134存储和传输与以前在一天中类似时间沿着轨迹198行驶的运载工具的驾驶属性有关的历史信息(例如,速率和加速度分布)。在一个实现中,这种数据可以存储在运载工具100上的存储器144中,或者通过通信信道从远程数据库134传输到运载工具100。
位于运载工具100上的计算机处理器146基于实时传感器数据和先验信息两者以算法方式生成控制动作,允许AV***120执行其自主驾驶能力。
在实施例中,AV***120包括耦接到计算机处理器146的计算机***设备132,用于向运载工具100的用户(例如,乘员或远程用户)提供信息和提醒并接收来自该用户的输入。在实施例中,计算机***设备132类似于下面参考图2讨论的显示器212、输入装置214和光标控制器216。耦接是无线的或有线的。任意两个或更多个的接口装置可以集成到单个装置中。
在实施例中,AV***120接收并强制执行例如由乘员指定的或者存储在与乘员相关联的简档中的乘员的隐私级别。乘员的隐私级别确定了如何许可使用存储在乘员简档中的以及/或者存储在云服务器136上且与乘员简档相关联的、与乘员相关联的特定信息(例如,乘员舒适度数据、生物测量数据等)。在实施例中,隐私级别指定了一旦搭乘完成则被删除的与乘员相关联的特定信息。在实施例中,隐私级别指定了与乘员相关联的特定信息,并且标识被授权访问该信息的一个或多个实体。被授权访问信息的所指定的实体的示例可以包括其它AV、第三方AV***、或者可以潜在地访问该信息的任何实体。
可以在一个或多个粒度级别指定乘员的隐私级别。在实施例中,隐私级别标识要存储或共享的特定信息。在实施例中,隐私级别适用于与乘员相关联的所有信息,使得乘员可以指定不存储或共享她的个人信息。被许可访问特定信息的实体的指定也可以在各种粒度级别指定。被许可访问特定信息的各种实体集例如可以包括其它AV、云服务器136、特定第三方AV***等。
在实施例中,AV***120或云服务器136确定运载工具100或另一实体是否可访问与乘员相关联的某些信息。例如,试图访问与特定时空地点有关的乘员输入的第三方AV***必须例如从AV***120或云服务器136获得授权,以访问与乘员相关联的信息。例如,AV***120使用乘员的指定隐私级别来确定是否可以将与时空地点有关的乘员输入呈现给第三方AV***、运载工具100或另一AV。这使得乘员的隐私级别能够指定允许哪些其它实体接收与乘员的动作有关的数据或与乘员相关联的其它数据。
图2是示出计算机***200的图。在实现中,计算机***200是专用计算装置。专用计算装置被硬连线以执行这些技术,或包括诸如一个或多个ASIC或现场可编程门阵列(FPGA)的被持久编程为执行上述技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行这些技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成这些技术。在各种实施例中,专用计算装置是台式计算机***、便携式计算机***、手持装置、网络装置或包含硬线和/或程序逻辑以实现这些技术的任何其它装置。
在实施例中,计算机***200包括总线202或用于传达信息的其它通信机制、以及与总线202耦接以处理信息的硬件处理器204。硬件处理器204是例如通用微处理器。计算机***200还包括主存储器206,诸如RAM或其它动态存储装置,该主存储器206耦接到总线202以存储信息和指令,该信息和指令由处理器204执行。在一个实现中,主存储器206用于在执行要由处理器204执行的指令期间存储临时变量或其它中间信息。当这些指令存储在处理器204可访问的非暂时性存储介质中时,使计算机***200变成一个专用机器,该机器被定制以执行指令中指定的操作。
在实施例中,计算机***200还包括只读存储器(ROM)208或耦接到总线202的其它静态存储装置,用于存储处理器204的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置210,并且该存储装置210耦接到总线202以存储信息和指令。
在实施例中,计算机***200通过总线202耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器212。包括字母数字键和其它键的输入装置214耦接到总线202,用于向处理器204传送信息和命令选择。另一种类型的用户输入装置是光标控制器216,诸如鼠标、轨迹球、触控显示器或光标方向键,用于将方向信息和命令选择传送到处理器204,并用于控制光标在显示器212上的移动。这种输入装置通常具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面上的位置。
根据一个实施例,本文的技术由计算机***200响应于处理器204执行主存储器206中包含的一个或多个指令的一个或多个序列而执行。这些指令从诸如存储装置210的另一存储介质读入主存储器206。执行主存储器206中包含的指令序列使处理器204执行本文所描述的过程步骤。在替代实施例中,使用硬连线电路代替或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。非易失性介质例如包括诸如存储装置210的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器206。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM、或任何其它存储芯片或存储盒。
存储介质有别于传输介质,但可以与传输介质相结合使用。传输介质参与存储介质之间的信息传输。例如,传输介质包括同轴电缆、铜线和光纤,其包括具备总线202的电线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信过程中产生的声波或光波。
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器204以供执行。例如,这些指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机***200的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线202上。总线202将数据承载到主存储器206,处理器204从主存储器206检索并执行指令。主存储器206接收的指令可以可选地在处理器204执行之前或之后存储在存储装置210上。
计算机***200还包括耦接到总线202的通信接口218。通信接口218提供耦接到连接至本地网络222的网络链路220的双向数据通信。例如,通信接口218是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口218是局域网(LAN)卡,用于提供与兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口218发送和接收承载表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路220通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路220通过本地网络222提供与主计算机224或与由因特网服务提供商(ISP)226运营的云数据中心或设备的连接。ISP 226又通过现在通常称为“因特网”228的世界范围分组数据通信网络来提供数据通信服务。本地网络222和因特网228两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路220上并通过通信接口218的信号是传输介质的示例形式,其中这些信号承载了进出计算机***200的数字数据。在实施例中,网络链路220包含云或云的一部分。
计算机***200通过(一个或多个)网络、网络链路220和通信接口218发送消息和接收包括程序代码的数据。在实施例中,计算机***200接收用于处理的代码。接收到的代码在接收到时由处理器204执行,和/或存储在存储装置210中,或存储在其它非易失性存储装置中以便以后执行。
AV架构
图3示出用于AV(例如,图1所示的运载工具100)的示例架构300的图。架构300包括感知子***302(有时称为感知电路)、规划子***304(有时称为规划电路)、控制子***306(有时称为控制电路)、定位子***308(有时称为定位电路)和数据库子***310(有时称为数据库电路)。各子***在运载工具100的操作中发挥作用。共同地,子***302、304、306、308和310可以是图1所示的AV***120的一部分。在一些实施例中,子***302、304、306、308和310中的任何子***是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。子***302、304、306、308和310各自有时被称为处理电路(例如,计算机硬件、计算机软件、或者这两者的组合)。子***302、304、306、308和310中的任何或全部的组合也是处理电路的示例。
在使用中,规划子***304接收表示目的地312的数据,并且确定表示运载工具100为了到达(例如,抵达)目的地312而可以行驶的轨迹314(有时称为路线)的数据。为了使规划子***304确定表示轨迹314的数据,规划子***304从感知子***302、定位子***308和数据库子***310接收数据。
感知子***302使用例如也如图1所示的一个或多个传感器121来识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象316的场景描述提供至规划子***304。
规划子***304还从定位子***308接收表示AV位置318的数据。定位子***308通过使用来自传感器121的数据和来自数据库子***310的数据(例如,地理数据)以计算位置来确定AV位置。例如,定位子***308使用来自GNSS(全球导航卫星***)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位子***308所使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向、或车道标记类型和地点,或者它们的组合)的地图、以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。在实施例中,高精度地图是通过将数据经由自动或手动注释添加到低精度地图所构建的。
控制子***306接收表示轨迹314的数据和表示AV位置318的数据,并且以将使得运载工具100行驶轨迹314到达目的地312的方式来操作AV的控制功能320a~320c(例如,转向、油门、制动、点火)。例如,如果轨迹314包括左转,则控制子***306将以如下方式操作控制功能320a~320c:转向功能的转向角度将使得运载工具100左转,并且油门和制动将使得运载工具100在进行转弯之前暂停并等待经过的行人或运载工具。
AV输入
图5是示出感知子***302(图3)所使用的输入402a-402d(例如,图1中所示的传感器121)和输出404a-404d(例如,传感器数据)的示例的图。一个输入402a是LiDAR输出数据(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)来获得与其视线中的物理对象有关的数据的技术。LiDAR子***产生LiDAR数据作为输出404a。例如,LiDAR数据是用于构造环境190的表示的三维(3D)或二维(2D)点(也称为“点云”)的集合。
另一输入402b是RADAR(雷达)数据。RADAR是使用无线电波来获得与附近的物理对象有关的数据的技术。RADAR可以获得与不在LiDAR的视线内的对象有关的数据。RADAR子***产生RADAR数据作为输出404b。例如,RADAR数据是用于构造环境190的表示的一个或多个射频(RF)信号。
另一输入402c是照相机数据。照相机子***使用一个或多个照相机(例如,使用诸如电荷耦接器件[CCD]等的光传感器的数字照相机)来获取与附近的物理对象有关的信息。照相机子***产生照相机数据作为输出404c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机子***具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机子***能够感知深度。尽管照相机子***所感知的对象在这里被描述为“附近”,但这是相对于AV而言的。在一些实施例中,照相机子***被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,在一些实施例中,照相机子***具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入402d是交通灯检测(TLD)数据。TLD子***使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD子***产生TLD数据作为输出404d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD子***与包含照相机的***的不同之处在于:TLD子***使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得运载工具100能够访问这些对象所提供的所有相关导航信息。例如,TLD子***的视角为约120度或更大。
在一些实施例中,使用传感器融合技术来组合输出404a-404d。因而,将个体输出404a-404d提供至运载工具100的其它子***(例如,提供至如图3所示的规划子***304),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的各个组合技术或组合不同的各个输出或者这两者)的形式,将组合输出提供至其它子***。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
AV子***扰动和建模
如前所述,在具有多种子***的***中,可能难以确定针对给定子***使用多种不同选项中的哪个(例如,子***的具有更多或更少参数的不同模型),或者如何更改给定子***的参数以提高整体***性能。
本文的实施例涉及如下假设:存在***级目标函数(例如,下面描述的合理拥挤度量),并且这样的函数可以用于指导子***的设计或在子***的不同实现之间进行选择。在前一情况下(子***的设计指导),本文描述的某些实施例涉及找到子***的与***级性能最相关的至少一个属性。在后一情况下(在子***的不同实现之间进行选择),本文描述的实施例涉及选择得到最高***级性能的实现。
在具有多个子***的AV栈中,可能期望确保基于***级目标函数使特定子***的性能最优化。因此,本文描述的某些实施例涉及实现该目标的过程。另外,本文描述的某些实施例与涉及在评价不同子***时使用测试固定件的过程有关。
例如,本文描述的实施例基于图像检测器检测特定距离处的其它运载工具的能力、针对行人的平均精度(AP)、跨所有类别(例如,行人、运载工具和/或路边对象等)的平均AP和/或其它度量来评价图像检测器。这些度量可以使用特定于图像检测器的测试固定件(例如包括用二维(2D)边界框和分割掩模所注释的图像的数据集)来计算。然而,图像检测器期望收集能够捕获对视觉子***具有挑战性的情形的图像:异常的天气或光照条件、杂乱的场景、穿着奇怪的行人等。
作为另一示例,LiDAR检测器子***的测试固定件包括用3D边界框注释的LiDAR点云。数据将再次涉及具有挑战性的情形,但这些情形与上述图像检测器的情形不同。例如,LiDAR检测器在夜间没有任何困难,但因为黑色运载工具趋向于吸收而不是反射LiDAR的光脉冲,所以一些***对于黑色运载工具会遇到困难。
相应地,LiDAR检测器子***的测试固定件中所包括的这些LiDAR检测器和图像检测器子***不同于用于规划子***304的测试固定件。具体地,用于规划子***304的测试固定件的实施例将足以在感知问题被抽象掉的“箱世界”中编码一组情景。这种箱世界的优点是容易生成复杂和危险情景。
对于这样的各种子***,用于优化***级目标函数的一个方法是针对整个***使用单个测试固定件。用于优化***级目标函数的另一方法是使用可访问复杂3D环境的全功能模拟器。相比之下,本文的某些实施例涉及如下方法,其中保持测试固定件分离,并且基于分离的测试固定件对不同子***度量之间的相关性进行建模。
图5是示出根据各种实施例的简化示例***500的图。***500包括第一子***SS1505、第二子***SS2 510、第三子***SS3 515和第n子***SSn 520。在该示例中,如图5所示,信息流经***500。例如,信息从SS1 505流向SS2 510,其中信息在SS2 510处被处理。然后来自SS2 510的处理过的信息被提供给SS3 515用于进一步处理,等等。
如上所述,期望识别如何优化例如SS2 510以提高***500的整体性能。在一个实施例中,这种优化包括优化SS2 510的属性(诸如SS2 510的设置或配置等)。在另一实施例中,这种优化包括确定多个可能替代子***中的哪个用于SS2 510。应该理解,这些只是这种优化的示例,并且在其它实施例中,优化子***以改进***500的整体性能包括替代的优化语句,诸如除了优化这些子***的特定属性之外还确定要使用多个可能替代子***中的哪个。下面描述的示例***是用于AV的AV软件栈。然而,其它***可以利用并受益于下面描述的实施例。
示例AV栈实施例
在AV运行期间的某个时间,AV栈决定AV需要进行的即时操作。为此,栈处理截至当前时间所收集的传感器数据以及有关环境(例如地图)的先验信息的数据库。
从原始传感器数据到决策涉及一系列子***,这些子***利用语义(例如,其它运载工具的位置,以及对其它运载工具未来路径的预测)连续处理和更新(例如,丰富和/或完善等)原始数据,最终得到传递给决策单元的数据的丰富表示。
在AV栈中,在真实世界的实现中可能不会将任何子***的输出数据提供回子***以进行进一步处理。在实施例中,AV栈被表示为有向无环图(DAG),其中顶点是子***并且有向边是两个子***之间的连接。具体地,顶点将是N个子***的集合:
S=(s1,...,sN-1,sN=d) [1]
其中S是***,s1,...,sN-1,sN是***S的子***,N是整数,并且sN是指最后一个子***(这里也称为决策单元d)。DAG中的边指示特定子***s1,...,sN-1的输出被传递到另一子***,数学描述为:
Figure BDA0003197573600000191
其中E是整数,并且(se,1,se,2)指示将se,1的输出作为输入馈送到se,2
为了降低本文使用的符号的复杂性,针对i=1,...,N使用si以表示作为一般(模型不可知)概念的子***(例如,对象检测器)或其实现。本领域技术人员将基于讨论的上下文清楚本文的意图。
表征子***
尽管给定***的各个子***可能是具有多达数十亿个参数的复杂算法,但通过仅查看子***的某些属性,可以简化对任何特定子***的分析。
在一些实施例中,子***的属性包括可以评价各个子***的标准(例如,可解释标准)。例如,诸如可以是感知子***302的元件等的3D对象检测器使对象的预测定向中的误差最小化(等等)。在另一实施例中,该标准基于3D对象检测器的测量的时间相关性。
对于这里的讨论,对于i=1,...,N的子***,子***si的得分ri基于这样的标准通过以下来表示:
Figure BDA0003197573600000201
其中ni是整数。在实施例中,决策单元d具有单个属性:用于测量AV的驾驶行为的质量的***级目标函数,也称为***性能度量。由于***级目标函数返回标量,这里的讨论使用以下符号:
Figure BDA0003197573600000202
注意,在其它实施例中,决策单元具有或者基于附加的或替代的属性,这些属性可能对例如调试或一些其它过程有用。
在实施例中,各个子***的得分ri是通过这里由Ri表示的评价过程获得的。评价过程Ri获取子***si的输出,并且基于一组评价函数和测试固定件的数据库来计算子***si的得分ri。在一个示例中,对于(例如,由AV栈的感知子***302进行的)对象检测的任务,测试固定件包括带注释的传感器数据。基于带注释的传感器数据,评价函数Ri计算召回率(recall)、精度、准确度等。在一个实施例中,对于规划任务,测试固定件是情景数据库和模拟器,并且评价函数基于预先识别的规则手册识别道路规则的违规。
期望仔细选择在ri中包含si的哪些属性。如果ri不是si的足够丰富的表示,则基于ri的任何分析都不会得到可靠的见解。例如,在一些实施例中,由于具有相同定向误差的两个对象检测器在其它方面可能彼此大不相同,因此仅通过3D对象检测器产生的定向误差来表征3D对象检测器是数据不足的。例如,一个检测器可能只给出远处对象的定向误差,而另一个检测器可能只给出近处对象的定向误差。另一方面,如果ri的组成部分太多,基于ri的分析将需要大量的计算资源。确定子***si的相关属性以将其计入子***得分ri的一个方式是调查该子***的不同实现,并提取变化最大的特征。
图6是示出根据各种实施例的替代示例AV栈600的图。具体地,所描绘的AV栈600包括根据AV的AV栈的一个简化实施例的特定子***。将理解的是,AV栈600的这种描述旨在作为一个实施例的示例。在其它实施例中,AV栈600可以包括不同的子***、具有不同参数的子***、处于不同配置中或者具有不同输入或输出的子***等。在其它实施例中还可以存在其它变化。
此外,如这里所使用的,术语“下游”子***是指从AV栈中的另一子***接收输入数据的子***,该另一子***被称为“上游”子***。例如,规划子***640是跟踪子***635的“下游”,这是因为规划子***640从跟踪子***635接收输入数据。相反,跟踪子***635是规划子***640的“上游”,这是因为跟踪子***635向规划子***640提供输入数据。
AV栈600包括照相机子***605(其表示为s1)。照相机子***605类似于例如照相机子***402c。在该实施例中,照相机子***605的得分r1是基于被定义为照相机子***605所产生的损坏像素的百分比的属性。对照相机子***605的评价过程R1涉及使用校准目标图像(例如,棋盘目标)在校准室中的测试。照相机子***605的输出包括与图像相关联的图像数据。
AV栈600还包括LiDAR子***610(其表示为s2)。LiDAR子***610类似于例如LiDAR子***402a。在该实施例中,LiDAR子***610的得分r2基于由LiDAR子***610产生的平均距离误差。LiDAR子***610的评价过程R2涉及使用目标对象距离在校准室中的测试。LiDAR子***610的输出包括与点云相关联的点云数据。
AV栈600还包括数据库子***615(其表示为子***s3)。数据库子***615类似于例如数据库子***310。在该实施例中,数据库子***615的得分r3基于数据库子***615中损坏位置的百分比。数据库子***615的评价过程R3涉及对数据库子***615的查询以及响应于该查询而接收到的地图与目标地图的比较。数据库子***615的输出是与地图相关联的地图数据。
在实施例中,照相机子***605、LiDAR子***610和数据库子***615被识别为输入。即,它们提供数据作为由AV栈600的其它子***(例如,下游子***)用于进一步处理的输入。在其它实施例中,AV栈600包括比图6中描绘的更多或更少的输入数据。
AV栈600还包括视觉感知子***620(其表示为s4)。视觉感知子***620可以与感知***302相同或相似。更具体地,视觉感知子***620是感知子***302或者是感知子***302的元件。视觉感知子***620使用由照相机605提供的图像数据作为输入。在该实施例中,视觉感知子***620的得分r4是基于与视觉感知子***620相关的平均精度(mAP)、属性的召回率和混淆矩阵中的一个或多个。对视觉感知子***620的评价过程R4涉及对带注释的图像集合进行图像对象检测并将结果与目标或预先识别出的结果进行比较。视觉感知子***620的输出是与(例如,表示)2D对象相关的数据(例如,对象的数量、对象的形状、对象的位置等)。
AV栈600还包括LiDAR语义网络子***625(其表示为s5)。LiDAR语义网络子***625与例如感知子***302共享一个或多个功能或处理。更具体地,LiDAR语义网络子***625是感知子***302或者是感知子***302的元件。LiDAR语义网络子***625使用由LiDAR子***610提供的点云数据作为输入。在本实施例中,LiDAR语义网络子***625的得分r5是基于与LiDAR语义网络子***相关的mAP、平均定向误差和混淆矩阵中的一个或多个。对LiDAR语义网络子***625的评价过程R5是对带注释的点云集合进行语义处理(例如,3D语义分割)并将结果与目标或预先识别出的结果进行比较。LiDAR语义网络子***625的输出包括与LiDAR数据或3D对象的分割掩模相关的数据(例如,对象的数量、对象的形状、对象的位置等)。
AV栈600还包括定位子***630(其表示为s6)。定位子***630与例如定位子***308共享一个或多个功能或处理。定位子***630使用由数据库子***615提供的地图数据和由LiDAR语义网络子***625提供的分割掩模作为输入。在该实施例中,定位子***630的得分r6基于运载工具识别位置的平均距离误差。对定位子***630的评价过程R6基于预先识别的点云、分割掩模和地图来估计运载工具的位置,并将结果与预先识别的点云的已知目标输出、分割掩模或地图进行比较。定位子***630的输出是与AV的位置相关的数据。
AV栈600还包括跟踪子***635(其表示为s7)。跟踪子***635与例如感知子***302共享一个或多个功能或处理。具体地,在一些实施例中,跟踪子***635是感知子***302或者是感知子***302的元件。跟踪子***635使用由数据库子***615提供的地图数据、来自视觉感知子***620的与2D对象相关的数据、来自LiDAR语义网络子***625的与3D对象相关的数据作为输入。在一些实施例中,例如如图6中所示,跟踪子***635还从定位子***630接收与运载工具位置相关的数据作为输入数据。在该实施例中,跟踪子***635的得分r7基于成功或清晰的多对象跟踪(MOT)处理或对象召回率。对跟踪子***635的评价过程R7是在带注释的图像和点云的集合上运行跟踪子***635,并将结果与已知目标进行比较。跟踪子***635的输出是具有被识别对象(例如经分类的对象316)及其踪迹的地图数据。
尽管这里将跟踪子***635描述为类似于感知子***302或描述为感知子***302的元件,但在另一实施例中,跟踪子***635附加地或替代地类似于规划子***304或是规划子***304的元件。例如,在一个实施例中,感知子***302将识别诸如经分类的对象316等的对象,而规划子***304将如上所述识别对象的踪迹。
AV栈600还包括规划子***640(其表示为s8)。规划子***640与例如规划子***304共享一个或多个功能或处理。规划子***640使用具有由跟踪子***635提供的识别对象及其踪迹的地图数据作为输入。在该实施例中,规划子***640的得分r8基于合理的拥挤评级,如共同未决的美国专利申请17/009,656(于2020年9月1日提交的代理人案卷号46154-0251001的“Scoring Autonomous Vehicle Trajectories Using ReasonableCrowd Data”、于2020年11月18日递交的题为“使用合理人群数据对自主运载工具轨迹进行评分”的中国专利申请202011291225.9)所述,其整体内容通过引用并入本文。对规划子***640的评价过程R8是在交通情景集上运行规划子***640并获得预先识别规则的得分。
问题界定
在一些实施例中,问题界定可以基于以下要解决的两个问题之一或这两者或与以下要解决的两个问题之一或这两者相关:模型选择和属性优先次序。
模型选择涉及在特定子***的多个实现之间进行选择,以使***级性能最大化。作为示例,***工程师可能希望在视觉感知子***620的两个版本之间进行选择。针对这个示例,假设视觉感知子***620的两个版本具有相同的混淆矩阵,但视觉感知子***620的第一版本具有比视觉感知子***的第二版本高百分之(%)1的mAP和低3%的属性的召回率。由这里的实施例识别的***级性能是可用于解决mAP和属性的召回率间的权衡的一个标准。
在理想条件下(即实现可以在测试固定件中所包含的数据上运行任何子***),模型选择和属性优先次序可由这里公开的实施例解决。其它实施例可能涉及不满足该假设的情形(实践中经常是这种情况)。如这里所使用的,属性优先次序涉及确定使***级性能最大化的子***的属性。
应当注意,这里描述的实施例以AV栈的架构为条件,并且在下游模块改变时需要重新运行(这可能经常发生)。在一个实施例中,因此将期望组织该过程,使得该过程在AV栈发生变化的任何时间运行。类似地,在收集数据和扩展测试固定件时,期望重新运行该过程。通常,期望带注释的数据充分覆盖操作设计域(AV被设计为适当操作的域)。
识别子***对AV栈的影响的示例过程
识别子***(或其扰动)对AV栈(例如,AV栈600)的影响的起点是子***在其当前实现上的得分。这些操作点得分在本文中表示为
Figure BDA0003197573600000251
当子***或者子***的一个或多个参数变化时,过程包括测量决策单元sN的得分/>
Figure BDA0003197573600000252
如何变化。
作为示例,考虑子***sj(j=1,...,N-1)。实现将首先构建子***sj的扰动版本(其在这里表示为
Figure BDA0003197573600000253
)。在实施例中,期望子***的扰动很小,例如在子***在连续发布(successive release)下通常变化的程度的量级上。由于在扰动变得太大的情况下分析可能失败,因此还期望能够用在扰动中线性的函数来近似***级性能的变化。作为一个具体示例,对于诸如视觉感知子***620等的子***,每20次检测,扰动子***下降,从而导致子***具有较低的召回率。对受扰动输出运行评价过程Rj得到扰动得分/>
Figure BDA0003197573600000254
决策单元依赖于sj的输出,因此如果sj被扰动,则rN将改变。改变后的***级性能在这里由
Figure BDA0003197573600000255
表示,并且所得到的数据由/>
Figure BDA0003197573600000256
表示。基于收集到的数据,然后针对运行性能/>
Figure BDA0003197573600000257
附近的rj来估计rN的梯度(其在这里表示为/>
Figure BDA0003197573600000258
)。对***级性能影响最大的属性被标识为:
Figure BDA0003197573600000259
/>
其中函数“argmax”标识产生rN中最大变化的属性。
基于如下拟合rN和rj之间的线性模型的数据来估计梯度:
rN(rj)=ωtrj+c [6]
其中c是标量并且ω是大小为nj的矢量,这需要至少nj个数据点来进行rN和rj之间的线性模型的拟合。ω和c是通过例如线性最小二乘法获得的。于是
Figure BDA00031975736000002510
的估计是ω。
如果期望在针对j∈{1,…,N-1}的sj的替代实现Ij之间进行选择,则上述过程修改如下。具体地,第i个实现的决策单元的得分表示为
Figure BDA00031975736000002511
然后,将等式5修改为:
Figure BDA00031975736000002512
与测试固定件相关的实际问题
上述过程基于如下的假设:一旦子***sj被扰动,则评价过程可以在sj下游的所有子***上重新运行。在真实世界的实现中,该假设经常被违反,这是因为相应的子***常常与被开发以突出该子***特定方面的测试固定件相关联。
图7描绘根据各种实施例的对规划子***640的示例输入。具体地,图7描绘目标AV705(例如,其AV栈600正被评价的AV)。输入还包括许多其它运载工具710和行人715。输入还描绘了各种对象(诸如运载工具710和行人715等)的轨迹720。在实施例中,轨迹720是各种运载工具710和行人715的过去轨迹,而在另一实施例中,轨迹720附加地或替代地包括各种运载工具710和行人715的预测轨迹。
例如,在图7中,规划子***640利用与地图、地点、过去轨迹(例如,踪迹)和其它智能体的预测轨迹有关的信息对交通场景的鸟瞰图(BEV)表示进行操作。因此,规划子***640的相关测试固定件是BEV中的交通场景集,并且不需要传感器数据(例如,来自照相机子***605、LiDAR子***610等的数据)来生成输出。然而,运行跟踪子***635需要传感器数据来生成输出。因此,在该示例中,可能无法直接确定特定跟踪子***635如何影响规划子***640的得分,这是因为不能仅使用规划子***640的测试固定件来运行跟踪子***635。
仿真子***对下游子***测试固定件的影响
在某些情况下,决策单元的测试固定件不包含可以在所有子***上运行的数据。因此,期望修改上述理想化程序。这里在视觉感知子***620→跟踪子***635→规划子***640的简单示例信号路径的上下文中讨论修改。使用上面讨论的术语,信号路径也表示为:
s4→s7→s8 [8]
首先,为了进一步讨论该特定示例,假设跟踪子***635的模型选择和属性优先次序是要被扰动以识别这种扰动对规划子***640的影响的属性。由于不能在规划子***640的测试固定件上运行跟踪子***635,因此该分析可以以两个方式完成。第一个方式是对跟踪子***635对规划子***640测试固定件的影响进行建模。第二个方式是用跟踪子***635的模拟数据来扩充规划子***640。这里的实施例一般涉及第一个方式。
如先前关于图7所描述和描绘的,规划子***640的测试固定件是交通场景的BEV表示,其中包含地面真值踪迹(但不包含传感器数据)。使用地面真值踪迹,期望估计跟踪子***635(或其扰动版本)产生的踪迹。为此,这里的实施例以这样的方式(例如,通过子采样或添加噪声)劣化地面真值:如果在地面真值和劣化的踪迹上运行R7,跟踪子***将产生期望的得分r7
通过重复模拟跟踪子***635对规划子***640的测试固定件的影响的过程、并且确定得分r8如何变化,可以收集与得分r7和得分r8之间的关系有关的数据,从而解决如上所述的跟踪子***635的模型选择和属性优先次序的问题。
仿真子***对下游子***测试固定件的影响
作为替代示例,为了该部分的讨论,假设感兴趣的属性是视觉感知子***620的模型选择和属性优先次序。如前一部分中所述,可以找到跟踪子***635和规划子***640(例如s7和s8)之间的关系。类似地,例如,使用等式5、6或7,可以找到视觉感知子***620和跟踪子***635(例如,s4和s7)之间的关系。结果,给定多个版本的s4(例如,视觉感知子***620),可以确定不同版本的s4将导致***级性能如何,这解决了模型选择。
为了解决属性优先次序,某些实施例使用链式法则。链式法则规定,可以将r8相对于r4的梯度写为:
Figure BDA0003197573600000271
其中Dr7(r4)表示雅可比矩阵。将注意的是,根据链式法则,不需要直接知道r8和r4之间的关系。而是,只需要知道当r7被扰动时r8如何变化,然后当r4被扰动时r7如何变化。
通过基于等式6中描述的拟合线性函数来估计梯度,实施例获得:
r8(r7)=ωTr7+c, [10]
r7(r4)=Wr4+c, [11]
其中W是维度n7×n4的矩阵(在图6的上下文中,n7等于2,并且n4等于3),ω和c是大小为n7的矢量,并且c是标量。结果,
r8(r4)=ωTWr4Tc+c [12]
于是相对于r4的梯度r8的估计是WTω。应注意,该估计是等式9的粗略估计,这是因为通常随机变量的乘积的期望值不等于各个随机变量的期望值的乘积。然后(如等式[7]所示的)argmax指示要优先考虑哪个属性。
***扰动
上面的示例描述了基于子***扰动的整个***的分析。通常,存在可能扰动子***的不同方式。
用于扰动子***的第一技术是例如使用噪声或其它劣化技术使该子***的输出劣化。例如,对于3D对象检测子***(例如,视觉感知子***620、LiDAR感知子***620),可以通过添加高斯随机变量(例如,宽度为2米(m)的高斯随机变量)来扰动该子***的所有预测的距离。
用于扰动子***的另一技术是通过使用地面真值数据来补充子***的输出来提高子***的性能。例如,对于3D对象检测器(例如,视觉感知子***620的一部分),可以通过添加一些先前针对子***识别出的遗漏预测来提高子***的召回率。在一个实施例中,期望确保以如下方式进行添加,即子***的参数(例如每个距离曲线的召回率)保持具有相似的形式(例如,添加的遗漏预测不应该都在彼此相同的距离层内)。
另一技术是修改子***的架构。例如,如果子***是神经网络或基于神经网络,则一个示例实施例将神经网络修改为更深。附加地或替代地,示例实施例扩充神经网络的输入。例如,如果子***对点云进行操作,则一个示例实施例包括将点添加到子***使用的地面真值3D箱。
应当理解,上述实施例旨在作为非排他性示例。例如,其它实施例将包括两个或更多个上述技术、附加或替代技术等。
示例过程的总结
图8是示出根据各种实施例的与AV栈的建模相关的示例技术的图。更一般地,图8的技术是与对扰动AV栈的子***对AV栈的整体性能的影响进行建模有关的上述各种要素的总结。
该技术包括在805处扰动包括多个子***(诸如AV栈600等)的***的第一子***的第一属性。该技术还包括在810处确定***的第二子***的第二属性响应于第一属性的扰动的变化,其中第一子***的至少一个输出被传递到第二子***。
在一些实施例中,在这里描述的上下文中,第一子***包括跟踪子***635并且第二子***包括规划子***640。如上所述,在一些示例中,扰动跟踪子***635的第一属性包括劣化***的地面真值,从而产生规划子***640的得分r8中的变化。
该技术还包括在815处,基于第一属性和第二属性之间的第一相关性、以及第二属性和性能度量之间的第二相关性,确定***响应于第一属性的扰动的性能度量值(例如,如关于等式6所描述)。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
相关申请的交叉引用
本申请要求于2020年10月25日提交的题为“METRIC BACK-PROPAGATION FORSUBSYSTEM PERFORMANCE EVALUATION”的美国临时专利申请63/105,329的优先权,其全部内容通过引用结合于此。

Claims (26)

1.一种用于确定自主运载工具的性能度量的方法,包括:
使用至少一个处理器,将适用于自主运载工具即AV中所包括的多个子***中的第一子***的一个或多个测试固定件中的第一测试固定件应用于所述第一子***;
使用所述至少一个处理器,扰动所述第一子***的属性;
获得所述第一子***的第一输出,所述第一输出是由于所述第一子***使用所述第一测试固定件的操作和被扰动的属性而生成的,所述第一输出指示所述第一子***的性能;
使用所述至少一个处理器基于所述第一输出和所述第一测试固定件来计算与所述第一子***的性能相对应的第一得分;
将所述第一子***的第一输出作为输入提供给所述AV中所包括的多个子***中的第二子***,其中,第二测试固定件被应用于所述第二子***,所述第二测试固定件不同于所述第一测试固定件;
获得所述第二子***的第二输出,所述第二输出是由于所述第二子***使用所述第二测试固定件的操作并且在所述第一子***的属性扰动时生成的,所述第二输出指示所述第二子***的性能;
使用所述至少一个处理器,基于所述第二输出和所述第二测试固定件来计算与所述第二子***的性能相对应的第二得分;以及
使用所述至少一个处理器,至少基于所述第一得分和所述第二得分来确定所述AV的性能度量的值。
2.根据权利要求1所述的方法,其中,确定所述性能度量的值还包括:
使用被扰动的第一得分和第二得分的梯度来预测所述性能度量的值。
3.根据权利要求2所述的方法,其中,所述方法还包括在所述第二测试固定件上模拟所述第一子***如何影响所述第二测试固定件中的数据。
4.根据权利要求2所述的方法,其中,使用所述性能度量与被扰动的第一得分和第二得分之间的线性模型来估计所述梯度。
5.根据权利要求4所述的方法,其中,通过将线性最小二乘公式应用于所述线性模型来预测所述性能度量的值。
6.根据权利要求1所述的方法,其中,所述性能度量的值是第一值,所述方法还包括:
将与所述第一测试固定件或所述第二测试固定件不同的第三测试固定件应用于所述第一子***;
获得所述第一子***的更新输出,所述更新输出是由于所述第一子***使用所述第三测试固定件的操作和所述被扰动的属性而生成的,所述更新输出指示利用所述第三测试固定件的第一子***的性能;
基于所述更新输出和所述第三测试固定件来计算与所述第一子***的性能相对应的更新得分;以及
至少基于所述第一子***的更新得分来确定所述性能度量的更新值。
7.根据权利要求6所述的方法,还包括:
将所述性能度量的所述第一值与所述更新值进行比较;
基于所述比较来确定所述第一值和所述更新值中的较大者;以及
在确定为所述第一值大于所述更新值时,针对所述第一子***选择所述第一测试固定件。
8.根据权利要求1所述的方法,其中,所述性能度量是***级目标函数。
9.根据权利要求1所述的方法,其中,所述多个子***包括在所述AV的软件栈中,并且所述性能度量是测量所述AV的驾驶行为的质量的目标函数输出。
10.根据权利要求9所述的方法,其中,所述第一子***是传感器子***,并且所述第二子***是用于从传感器接收传感器数据的感知子***,所述方法还包括:
获得由所述感知子***输出的对象检测,
将所述对象检测提供给所述AV中的多个子***中所包括的跟踪子***;
获得由所述跟踪子***输出的对象踪迹;
将所述对象踪迹提供给规划器子***;
使用处理器和应用于所述规划器子***的测试固定件来确定所述性能度量。
11.根据权利要求10所述的方法,其中,通过劣化所述规划器子***的测试固定件中的地面真值踪迹来模拟所述对象踪迹。
12.根据权利要求1所述的方法,其中,所述性能度量考虑所述第一子***和所述第二子***其中至少之一的故障率。
13.根据权利要求1所述的方法,其中,扰动所述第一子***的属性包括以下至少之一:
将噪声应用于所述属性,
将高斯随机变量添加到所述属性,
使用地面真值数据补充所述第一子***的第一输出,或者
修改所述第一子***的配置。
14.根据权利要求1所述的方法,其中,所述属性是所述第一子***的第一属性,并且所述性能度量的值是所述性能度量的第一值,所述方法还包括:
扰动所述第一子***的不同于所述第一属性的第二属性;
获得所述第一子***的更新的第一输出,所述更新的第一输出是由于所述第一子***使用所述第一测试固定件的操作和被扰动的第二属性而生成的,所述更新的第一输出指示由于扰动所述第二属性而导致的所述第一子***的更新性能;
基于所述更新的第一输出和所述第一测试固定件来计算与所述第一子***的更新性能相对应的更新的第一得分;
将所述第一子***的更新的第一输出作为输入提供给所述第二子***;
获得所述第二子***的更新的第二输出,所述更新的第二输出是由于所述第二子***使用所述第二测试固定件的操作并且在扰动所述第一子***的第二属性时生成的,所述更新的第二输出指示所述第二子***的更新性能;
基于所述更新的第二输出和所述第二测试固定件来计算与所述第二子***的更新性能相对应的更新的第二得分;以及
使用所述至少一个处理器,至少基于所述更新的第一得分和所述更新的第二得分来确定所述AV的性能度量的更新值。
15.根据权利要求14所述的方法,还包括:
将所述性能度量的第一值与所述更新值进行比较;
基于所述比较来确定所述第一值和所述更新值中的较大者;以及
在确定为所述第一值大于所述更新值时,针对所述第一子***的性能,使所述第一属性优先于所述第二属性。
16.一种用于确定自主运载工具的性能度量的***,包括:
至少一个处理器;
存储器,其存储有在由所述至少一个处理器执行时,使所述至少一个处理器进行操作的指令,所述操作包括:
将适用于自主运载工具即AV中所包括的多个子***中的第一子***的一个或多个测试固定件中的第一测试固定件应用于所述第一子***;
扰动所述第一子***的属性;
获得所述第一子***的第一输出,所述第一输出是由于所述第一子***使用所述第一测试固定件的操作和被扰动的属性而生成的,所述第一输出指示所述第一子***的性能;
基于所述第一输出和所述第一测试固定件来计算与所述第一子***的性能相对应的第一子***得分;
将所述第一子***的第一输出作为输入提供给所述AV中所包括的多个子***中的第二子***,其中,第二测试固定件被应用于所述第二子***,所述第二测试固定件不同于所述第一测试固定件;
获得所述第二子***的第二输出,所述第二输出是由于所述第二子***使用所述第二测试固定件的操作并且在所述第一子***的属性扰动时生成的,所述第二输出指示所述第二子***的性能;
基于所述第二输出和所述第二测试固定件来计算与所述第二子***的性能相对应的第二子***得分;
至少基于第一得分和第二得分来确定所述AV的性能度量的值。
17.根据权利要求16所述的***,其中,确定所述性能度量的值还包括:
使用被扰动的第一得分和第二得分的梯度来预测所述性能度量的值。
18.根据权利要求17所述的***,其中,所述操作还包括在所述第二测试固定件上模拟所述第一子***如何影响所述第二测试固定件中的数据。
19.根据权利要求17所述的***,其中,所述梯度是使用所述性能度量与被扰动的第一得分和第二得分之间的线性模型来估计的。
20.根据权利要求19所述的***,其中,所述性能度量的值是通过将线性最小二乘公式应用于所述线性模型来预测的。
21.根据权利要求16所述的***,其中,所述性能度量的值是第一值,所述操作还包括:
将与所述第一测试固定件或所述第二测试固定件不同的第三测试固定件应用于所述第一子***;
获得所述第一子***的更新输出,所述更新输出是由于所述第一子***使用所述第三测试固定件的操作和所述被扰动的属性而生成的,所述更新输出指示利用所述第三测试固定件的第一子***的性能;
基于所述更新输出和所述第三测试固定件来计算与所述第一子***的性能相对应的更新得分;以及
至少基于所述第一子***的更新得分来确定所述性能度量的更新值。
22.根据权利要求16所述的***,其中,所述性能度量是***级目标函数。
23.根据权利要求16所述的***,其中,所述多个子***包括在所述AV的软件栈中,并且所述性能度量是测量所述AV的驾驶行为的质量的目标函数输出。
24.根据权利要求23所述的***,其中,所述第一子***是传感器子***,并且所述第二子***是用于从传感器接收传感器数据的感知子***,所述操作还包括:
获得由所述感知子***输出的对象检测,
将所述对象检测提供给所述AV中的多个子***中所包括的跟踪子***;
获得由所述跟踪子***输出的对象踪迹;
将所述对象踪迹提供给规划器子***;
使用处理器和应用于所述规划器子***的测试固定件来确定所述性能度量。
25.根据权利要求24所述的***,其中,所述对象踪迹是通过劣化所述规划器子***的测试固定件中的地面真值踪迹来模拟的。
26.根据权利要求16所述的***,其中,所述性能度量考虑所述第一子***和所述第二子***其中至少之一的故障率。
CN202110895381.4A 2020-10-25 2021-08-05 用于子***性能评价的度量反向传播 Active CN114510018B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202063105329P 2020-10-25 2020-10-25
US63/105,329 2020-10-25
US17/180,649 US11321211B1 (en) 2020-10-25 2021-02-19 Metric back-propagation for subsystem performance evaluation
US17/180,649 2021-02-19

Publications (2)

Publication Number Publication Date
CN114510018A CN114510018A (zh) 2022-05-17
CN114510018B true CN114510018B (zh) 2023-03-28

Family

ID=76193587

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110895381.4A Active CN114510018B (zh) 2020-10-25 2021-08-05 用于子***性能评价的度量反向传播

Country Status (5)

Country Link
US (1) US11321211B1 (zh)
KR (1) KR102565573B1 (zh)
CN (1) CN114510018B (zh)
DE (1) DE102021124913A1 (zh)
GB (1) GB2600188A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10521255B2 (en) * 2016-05-19 2019-12-31 International Business Machines Corporation Interface and interruption management
US11858514B2 (en) 2021-03-30 2024-01-02 Zoox, Inc. Top-down scene discrimination
US11810225B2 (en) * 2021-03-30 2023-11-07 Zoox, Inc. Top-down scene generation
CN114493094B (zh) * 2021-12-15 2024-05-07 重庆师范大学 一种中小学劳动教育智慧评价***
US20240069505A1 (en) * 2022-08-31 2024-02-29 Gm Cruise Holdings Llc Simulating autonomous vehicle operations and outcomes for technical changes
CN116402871B (zh) * 2023-03-28 2024-05-10 苏州大学 一种基于场景平行要素的单目测距方法、***及电子设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8725667B2 (en) * 2008-03-08 2014-05-13 Tokyo Electron Limited Method and system for detection of tool performance degradation and mismatch
GB2474405A (en) * 2008-07-31 2011-04-13 Choicepoint Services Inc Systems & methods of calculating and presenting automobile driving risks
US9527515B2 (en) * 2011-12-23 2016-12-27 Zonar Systems, Inc. Vehicle performance based on analysis of drive data
US11267489B2 (en) * 2016-03-17 2022-03-08 Hitachi, Ltd. Automatic operation assistance system and automatic operation assistance method
CN107543725B (zh) 2016-07-27 2018-08-03 北京百度网讯科技有限公司 一种无人车操控测试方法及装置
US10421460B2 (en) 2016-11-09 2019-09-24 Baidu Usa Llc Evaluation framework for decision making of autonomous driving vehicle
US10074279B1 (en) * 2017-03-07 2018-09-11 Denso International America, Inc. Inference-aware motion planning
US10855927B2 (en) * 2017-03-08 2020-12-01 Samsung Electronics Co., Ltd. Event detecting device including an event signal generator and an output signal generator
WO2019023628A1 (en) * 2017-07-27 2019-01-31 Waymo Llc NEURAL NETWORKS FOR VEHICLE TRACK PLANNING
US20180024239A1 (en) * 2017-09-25 2018-01-25 GM Global Technology Operations LLC Systems and methods for radar localization in autonomous vehicles
US10739775B2 (en) 2017-10-28 2020-08-11 Tusimple, Inc. System and method for real world autonomous vehicle trajectory simulation
US10885240B2 (en) * 2017-11-02 2021-01-05 Uatc, Llc Deterministic simulation framework for autonomous vehicle testing
US10345811B2 (en) * 2017-11-14 2019-07-09 GM Global Technology Operations LLC Method and apparatus for scenario generation and parametric sweeps for the development and evaluation of autonomous driving systems
US20190146493A1 (en) * 2017-11-14 2019-05-16 GM Global Technology Operations LLC Method And Apparatus For Autonomous System Performance And Benchmarking
US10877476B2 (en) 2017-11-30 2020-12-29 Tusimple, Inc. Autonomous vehicle simulation system for analyzing motion planners
US10726577B2 (en) * 2018-01-12 2020-07-28 Intel Corporation Post-incident management for autonomous vehicles
US20190235521A1 (en) * 2018-02-01 2019-08-01 GM Global Technology Operations LLC System and method for end-to-end autonomous vehicle validation
US10569773B2 (en) * 2018-05-31 2020-02-25 Nissan North America, Inc. Predicting behaviors of oncoming vehicles
US11427211B2 (en) * 2018-06-18 2022-08-30 Baidu Usa Llc Methods for handling sensor failures in autonomous driving vehicles
WO2020081524A1 (en) * 2018-10-15 2020-04-23 Nvidia Corporation Enhanced in-system test coverage based on detecting component degradation
US20200250363A1 (en) * 2019-02-06 2020-08-06 Metamoto, Inc. Simulation and validation of autonomous vehicle system and components
KR102158497B1 (ko) 2019-04-08 2020-09-22 도로교통공단 자율주행 평가시스템
US20210101619A1 (en) * 2020-12-16 2021-04-08 Mobileye Vision Technologies Ltd. Safe and scalable model for culturally sensitive driving by automated vehicles

Also Published As

Publication number Publication date
GB202105796D0 (en) 2021-06-09
KR20220054743A (ko) 2022-05-03
KR102565573B1 (ko) 2023-08-09
US11321211B1 (en) 2022-05-03
GB2600188A (en) 2022-04-27
CN114510018A (zh) 2022-05-17
US20220129362A1 (en) 2022-04-28
DE102021124913A1 (de) 2022-04-28

Similar Documents

Publication Publication Date Title
CN114510018B (zh) 用于子***性能评价的度量反向传播
CN113196291A (zh) 自动选择用于注释的数据样本
CN112783151A (zh) 从预先计算的或动态生成的轨迹库的轨迹预测
CN113165668A (zh) 利用机器学习使用运动规划来操作运载工具
CN113196011A (zh) 运动图构建和车道级路线规划
US11568688B2 (en) Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
US20210197805A1 (en) Safety system for vehicle
US11887324B2 (en) Cross-modality active learning for object detection
US20220234618A1 (en) Homotopic-based planner for autonomous vehicles
CN114387322A (zh) 用于运载工具的方法、运载工具和存储介质
CN115146523A (zh) 选择用于评价自动运载工具的性能的测试情景
CN114120687A (zh) 条件运动预测
CN114510020A (zh) 用于运载工具的方法、自主运载工具和存储介质
CN112014859A (zh) 估计速率分布
CN117083575A (zh) 轨迹检查器
CN114252066A (zh) 运载工具、用于运载工具的方法以及存储介质
CN113970924A (zh) 用于运载工具的方法和***
CN114815799A (zh) 运载工具、用于运载工具的方法和存储介质
US20230221128A1 (en) Graph Exploration for Rulebook Trajectory Generation
CN115079687A (zh) 用于自主运载工具的***、方法和存储介质
CN114518566A (zh) 用于运载工具的方法和感知***
US11447134B2 (en) Vehicle route modification to improve vehicle location information
US20220357453A1 (en) Lidar point cloud segmentation using box prediction
CN115220439A (zh) 用于运载工具的***和方法以及存储介质
US11926342B2 (en) Autonomous vehicle post-action explanation system

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
GR01 Patent grant
GR01 Patent grant