CN115565149A - 用于对象检测的方法、运载工具和存储介质 - Google Patents

用于对象检测的方法、运载工具和存储介质 Download PDF

Info

Publication number
CN115565149A
CN115565149A CN202111319810.XA CN202111319810A CN115565149A CN 115565149 A CN115565149 A CN 115565149A CN 202111319810 A CN202111319810 A CN 202111319810A CN 115565149 A CN115565149 A CN 115565149A
Authority
CN
China
Prior art keywords
inconsistency
vehicle
bounding boxes
projections
bounding box
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111319810.XA
Other languages
English (en)
Inventor
K·S·陈
H·凯撒
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 CN115565149A publication Critical patent/CN115565149A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Abstract

本发明涉及一种用于对象检测的方法、运载工具和存储介质。其中,描述了一种用于对象检测的跨模态主动学习的技术。在示例中,生成第一组预测边界框和第二组预测边界框。第一组预测边界框和第二组预测边界框被投影到相同表示中。对投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算。基于对投影进行过滤,跨投影边界框计算不一致性。基于所计算出的不一致性来提取有信息量的场景。使用有信息量的场景来训练第一对象检测神经网络或第二对象检测神经网络。

Description

用于对象检测的方法、运载工具和存储介质
技术领域
本说明涉及用于对象检测的跨模态主动学习。
背景技术
主动学习是机器学习的一种形式,其中系统可以为教师查询应用于新数据点的标签。通常有大量未标记的数据可用,但手动标记数据的成本高。通过主动学习,主动学习系统可以发出查询以获得针对数据的标签。因此,主动学习是一种迭代监督学习技术,其中根据推断函数来分析和标记输入数据,并使用推断函数来标记新数据。
发明内容
根据本发明的一个方面,一种方法包括:通过处理器生成第一组预测边界框和第二组预测边界框,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;通过所述处理器将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;通过所述处理器对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;通过所述处理器,基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;通过所述处理器,基于所计算出的不一致性来提取有信息量的场景;以及通过所述处理器,使用所述有信息量的场景来训练第一对象检测神经网络或第二对象检测神经网络。
根据本发明的一个方面,一种非暂时性计算机可读存储介质,其包括用于由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令在由所述至少一个处理器执行时进行方法,所述方法包括:生成第一组预测边界框和第二组预测边界框,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;基于所计算出的不一致性来提取有信息量的场景;以及使用所述有信息量的场景来训练第一对象检测神经网络或第二对象检测神经网络。
根据本发明的一个方面,一种运载工具,包括:至少两个传感器,其中第一传感器与用于生成第一组预测边界框的第一对象检测神经网络通信地耦接,第二传感器与用于生成第二组预测边界框的第二对象检测神经网络通信地耦接,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;至少一个计算机可读介质,其存储计算机可执行指令;以及至少一个处理器,其通信地耦接到所述至少两个传感器,并被配置为执行所述计算机可执行指令,所述执行进行操作,所述操作包括:将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;基于所计算出的不一致性来提取有信息量的场景;以及使用所述有信息量的场景来训练所述第一对象检测神经网络或所述第二对象检测神经网络。
附图说明
图1示出了具有自主能力的自主运载工具(AV)的示例。
图2示出了示例“云”计算环境。
图3示出了计算机系统。
图4示出了AV的示例架构。
图5示出了可由感知系统使用的输入和输出示例。
图6示出了LiDAR系统的示例。
图7示出了操作中的LiDAR系统。
图8更详细地示出了LiDAR系统的操作。
图9示出了规划系统的输入和输出之间的关系的框图。
图10示出了路径规划中使用的有向图。
图11示出了控制系统的输入和输出的框图。
图12示出了控制器的输入、输出和组件的框图。
图13是启用用于对象检测的跨模态主动学习的系统1300。
图14A是环境的前视图表示。
图14B是环境的鸟瞰视图表示。
图14C是作为网格的环境的热图表示。
图15是用于对象检测的跨模态主动学习的处理1500的处理流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以提供对本公开的透彻理解。然而,本公开可以在没有这些具体细节的情况下实施将是明显的。在其它实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本公开模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示装置、模块、系统、指令块和数据要素的那些要素)的具体排列或次序。然而,本领域技术人员应当理解,附图中示意要素的具体次序或排列并不意在意味着要求特定的处理次序或序列、或处理过程的分离。此外,在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素、诸如实线或虚线或箭头用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,一些要素之间的连接、关系或关联未在附图中示出,以便不使本公开内容模糊。此外,为了便于例示,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令的通信,本领域技术人员应理解,这种要素表示影响通信可能需要的一个或多个信号路径(例如,总线)。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,没有详细描述众所周知的方法、程序、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
下面描述的若干特征各自可以彼此独立地使用,也可以与其它特征的任何组合一起使用。然而,任何个别特征可能不能解决以上所讨论的任何问题,或者只能解决以上所讨论的问题之一。以上所讨论的一些问题可能不能通过本文所描述的任何一个特征得到充分解决。虽然提供了标题,但在本说明书的其它地方也可以找到与具体标题有关但在具有该标题的部分中未找到的信息。本文根据以下概要描述实施例:
1.总体概述
2.系统概述
3.AV架构
4.AV输入
5.AV规划
6.AV控制
7.跨模态主动学习系统
8.跨模态主动学习处理
总体概述
运载工具(诸如自主运载工具等)通常具有安装在运载工具上的各种位置处的多个传感器。来自这些传感器的数据用于对象检测。在对象检测中,分析传感器数据以用置信度分数标记传感器数据,这些置信度分数指示传感器捕获的数据的区域内的特定对象类实例的存在。例如,传感器数据被分割为一个或多个维度边界框,并且各个框都标记有边界框包含特定对象类的可能性。对象包括但不限于行人、运载工具和自行车等。跨多个传感器模态实现主动学习,以确定通过对象检测技术输出的有信息量的数据。计算输出数据中的跨模态不一致性,并使用跨模态的不一致性将捕获的场景识别为有信息量的场景。根据相应模态的已知优势和劣势来对不一致性进行加权。
这些技术的一些优点包括用以确定哪些场景是有信息量的场景、哪些场景不是有信息量的场景的黑盒方法的通用实现。本技术可用作对碰撞检测、一般对象检测、异常检测和传感器故障检测方面的现有工程工作的补充。此外,本技术包括进行二维(2D)或三维(3D)对象检测的任何网络,所述网络包括但不限于照相机对象检测网络、雷达对象检测网络和LiDAR对象检测网络。借助于本文描述的系统和技术的实现,可以使数据集更具信息量,并且由此可以更高效地操作使用数据集的系统。
系统概述
图1示出了具有自主能力的AV的示例。
如本文所使用的,术语“自主能力”是指一种功能、特征或设施,该功能、特征或设施使运载工具能够部分地或完全地操作,而无需实时的人类干预,包括但不限于完全AV、高度AV和有条件AV。
如本文所使用的,自主运载工具(AV)是具有自主能力的运载工具。
如本文所使用的,“运载工具”包括货物或人员的运输方式。例如,小汽车、公共汽车、火车、飞机、无人机、卡车、船只、舰艇、潜水器、飞船等。无人驾驶的小汽车是运载工具的示例。
如本文所使用的,“轨迹”是指将AV从第一时空地点导航到第二时空地点的路径或路线。在实施例中,第一时空地点被称为初始地点或起始地点,第二时空地点被称为目的地、最终地点、目标、目标位置或目标地点。在一些示例中,轨迹由一个或多个路段(例如,道路的数段)组成,各个路段由一个或多个块(例如,车道或交叉口的一部分)组成。在实施例中,时空地点与真实世界地点相对应。例如,时空地点是上车或下车地点,以使人员或货物上车或下车。
如本文所使用的,“(一个或多个)传感器”包括一个或多个硬件组件,用于检测与传感器周围环境有关的信息。一些硬件组件可以包括感测组件(例如,图像传感器、生物特征传感器)、传输和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储装置(诸如RAM和/或非易失性存储器),软件或固件组件和数据处理组件,诸如ASIC(专用集成电路)、微处理器和/或微控制器。
如本文所使用的,“场景描述”是一种数据结构(例如,列表)或数据流,其包括由AV运载工具上的一个或多个传感器检测到的一个或多个分类或标记的对象,或由AV外部的源提供的一个或多个分类或标记的对象。
如本文所使用的,“道路”是一个可以被运载工具穿过的物理区域,并且可对应于已命名的通道(例如,城市街道、州际高速公路等),或可对应于未命名的通道(例如,房屋或办公楼中的行车道、停车场的一段、空置停车场的一段、乡村区域的污物路径等)。因为有些运载工具(例如,四轮驱动的小卡车、越野车(SUV)等)能够穿过各种不特别适合运载工具行驶的物理区域,因此“道路”可以是任何市政当局或其它政府或行政机构没有正式定义为一条通道的物理区域。
如本文所使用的,“车道”是道路的可被运载工具穿越的部分。有时基于车道标记来识别车道。例如,车道可对应于车道标记之间的大部分或全部空间,或仅对应于车道标记之间的部分空间(例如,小于50%)。例如,具有相距很远的车道标记的道路可能在标记之间容纳两个或两个以上的运载工具,使得一个运载工具可以在不穿过车道标记的情况下超过另一个运载工具,因此可被解释为车道比车道标记之间的空间窄,或车道标记之间有两个车道。在没有车道标记的情况下,也可以对车道进行解释。例如,可以基于环境的物理特征(例如,农村地区的岩石和沿着大道的树木、或者例如在欠发达地区应避免的自然障碍物)来定义车道。也可以独立于车道标记或物理特征来解释车道。例如,可以基于原本缺少将会被解释为车道边界的特征的在区域中无障碍物的任意路径来解释车道。在示例情景中,AV可以解释通过田野或空地的无障碍物部分的车道。在另一示例情景中,AV可以解释通过不具有车道标记的宽(例如,足够两个或更多个车道宽)道路的车道。在该情景中,AV可以将与车道有关的信息通信至其它AV,使得其它AV可以使用相同的车道信息来协调AV之间的路径规划。
术语“空中下载(OTA)客户端”包括任何AV,或嵌入在AV中、耦接至AV或与AV通信的任何电子装置(例如,计算机、控制器、IoT装置、电子控制单元(ECU))。
术语“空中下载(OTA)更新”意味着对使用专有和/或标准化的无线通信技术递送至OTA客户端的软件、固件、数据或配置设置或者它们的任何组合的任何更新、改变、删除或添加,其中该专有和/或标准化的无线通信技术包括但不限于:蜂窝移动通信(例如,2G、3G、4G、5G)、无线电无线区域网络(例如,WiFi)和/或卫星因特网。
术语“边缘节点”是指耦接至网络的一个或多个边缘装置,这些装置提供与AV进行通信所用的门户并且可以与其它边缘节点和基于云的计算平台进行通信,以调度OTA更新并将OTA更新递送至OTA客户端。
术语“边缘装置”是指实现边缘节点并提供向企业或服务提供商(如VERIZON、AT&T)核心网的物理无线接入点(AP)的装置。边缘装置的示例包括但不限于:计算机、控制器、发送器、路由器、路由交换机、综合接入装置(IAD)、多路复用器、城域网(MAN)和广域网(WAN)接入装置。
“一个或多个”包括由一个元素进行的功能、由多个要素例如以分布式方式进行的功能、由一个元素进行的若干功能、由若干元素进行的若干功能或上述任何组合。
还将理解的是,尽管在一些情况下中,术语第一、第二等在本文中是用来来描述各种元素的,但这些元素不应受到这些术语的限制。这些术语仅用于区分一个元素和另一元素。例如,在未背离各种所描述的实施例的范围的情况下,第一触点可以称为第二触点,并且类似地,第二触点可以称为第一触点。第一触点和第二触点两者都是触点,但它们不是相同的触点。
在本文所描述的各种实施例的说明书中使用的术语仅用于描述特定实施例的目的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,除非上下文另有明确说明。还将理解的是,如本文所使用的“和/或”是指并且包括一个或多个相关清单项目的任何和所有可能的组合。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,取决于上下文,术语“如果”可选地被理解为意指“当”或“在当时”或“响应于确定为”或“响应于检测到”。类似地,取决于上下文,短语“如果已确定”或“如果[所陈述的条件或事件]已被检测到”可选地被理解为意指“在确定时”或“响应于确定为“或”在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文结合阈值描述了本公开的一些实施例。如本文所述,满足阈值可指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、小于或等于阈值以及等于阈值等。
如本文所使用的,AV系统是指AV以及支持AV操作的硬件、软件、存储的数据和实时生成的数据的阵列。在实施例中,AV系统并入AV内。在实施例中,AV系统跨若干地点分布。例如,AV系统的一些软件在与下面关于图2描述的云计算环境200类似的云计算环境中实现的。
一般而言,本文件描述了适用于任何具有一个或多个自主能力的运载工具的技术,包括完全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与下面参考图3描述的处理器304相似。装置101的示例包括转向控制器102、制动器103、挡位、加速踏板或其它加速控制机构、挡风玻璃雨刮器、侧门锁、窗控器和转向指示器。
在实施例中,AV系统120包括用于测量或推断运载工具100的状态或条件的属性的传感器121,这些属性诸如是AV的位置、线速度和角速度及线加速度和角加速度、以及航向(例如,运载工具100的前端的方位)。传感器121的示例是GPS、测量运载工具线加速度和角速率两者的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速率传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角度和角速率传感器。
在实施例中,传感器121还包括用于感测或测量AV的环境的属性的传感器。例如,可见光、红外或热(或两者兼有)光谱中的单目或立体摄像机122、LiDAR 123、雷达、超声波传感器、飞行时间(TOF)深度传感器、速率传感器、温度传感器、湿度传感器和降水传感器。
在实施例中,AV系统120包括数据存储单元142和存储器144,用于存储与计算机处理器146相关联的机器指令或传感器121收集的数据。在实施例中,数据存储单元142与以下关于图3描述的ROM 308或存储装置310类似。在实施例中,存储器144与下面描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储与环境190有关的历史、实时的和/或预测性的信息。在实施例中,存储的信息包括地图、驾驶性能、交通拥堵更新或天气条件。在实施例中,与环境190相关的数据从远程数据库134经由通信信道传输到运载工具100。
在实施例中,AV系统120包括通信装置140,用于将对其它运载工具的状态和条件(诸如位置、线速度和角速度、线加速度和角加速度、以及线航向和角航向)测量或推断的属性通信到运载工具100。这些装置包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信装置以及用于通过点对点或ad hoc网络或两者进行无线通信的装置。在实施例中,通信装置140跨电磁频谱(包括无线电和光通信)或其它介质(例如,空气和声介质)进行通信。运载工具对运载工具(V2V)、运载工具对基础设施(V2I)通信(以及在一些实施例中为一种或多种其它类型的通信)的组合有时被称为运载工具对所有事物(V2X)通信。V2X通信通常符合一个或多个通信标准,用于与AV进行的、在AV之间的、在AV之中的通信。
在实施例中,通信装置140包括通信接口。例如,有线、无线、WiMAX、Wi-Fi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从远程数据库134传输到AV系统120。在实施例中,远程数据库134嵌入在如图2中所描述的云计算环境200中。通信装置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类似于下面参考图3讨论的显示器312、输入装置314和光标控制器316。耦接是无线或有线的。任何两个或多个接口装置都可以集成到单个装置中。
在实施例中,AV系统120接收并强制进行例如由乘员指定的或者存储在与乘员相关联的简档中的乘员的隐私级别。乘员的隐私级别确定了如何许可使用存储在乘员简档中的以及/或者存储在云服务器136上且与乘员简档相关联的、与乘员相关联的特定信息(例如,乘员舒适度数据、生物测量数据等)。在实施例中,隐私级别指定了一旦搭乘完成则被删除的与乘员相关联的特定信息。在实施例中,隐私级别指定了与乘员相关联的特定信息,并且标识被授权访问该信息的一个或多个实体。被授权访问信息的所指定的实体的示例可以包括其它AV、第三方AV系统、或者可以潜在地访问该信息的任何实体。
可以在一个或多个粒度级别指定乘员的隐私级别。在实施例中,隐私级别标识要存储或共享的特定信息。在实施例中,隐私级别适用于与乘员相关联的所有信息,使得乘员可以指定不存储或共享她的个人信息。被许可访问特定信息的实体的指定也可以在各种粒度级别指定。被许可访问特定信息的各种实体集例如可以包括其它AV、云服务器136、特定第三方AV系统等。
在实施例中,AV系统120或云服务器136确定AV 100或另一实体是否可访问与乘员相关联的某些信息。例如,试图访问与特定时空地点有关的乘员输入的第三方AV系统必须例如从AV系统120或云服务器136获得授权,以访问与乘员相关联的信息。例如,AV系统120使用乘员的指定隐私级别来确定是否可以将与时空地点有关的乘员输入呈现给第三方AV系统、AV 100或另一AV。这使得乘员的隐私级别能够指定允许哪些其它实体接收与乘员的动作有关的数据或与乘员相关联的其它数据。
图2示出了示例“云”计算环境。云计算是一种服务交付模式,用于使得能够方便、按需地在网络上访问可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)的共享池。在典型的云计算系统中,一个或多个大型云数据中心容纳用于交付云所提供的服务的机器。现在参考图2,云计算环境200包括通过云202互连的云数据中心204a、204b和204c。数据中心204a、204b和204c为连接到云202的计算机系统206a、206b、206c、206d、206e和206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。一般而言,云数据中心(例如图2中所示的云数据中心204a)是指构成云(例如图2中所示的云202或云的特定部分)的服务器的物理排列。例如,服务器在云数据中心中物理排列成房间、组、行和机架。云数据中心有一个或多个区域,其中包括一个或多个服务器房间。每个房间有一行或多行服务器,并且每行包括一个或多个机架。每个机架包括一个或多个单独的服务器节点。在一些实现中,区域、房间、机架和/或行中的服务器基于数据中心设施的物理基础设施要求(包括电力、能源、热力、热源和/或其它要求)被排列成组。在实施例中,服务器节点类似于图3中描述的计算机系统。数据中心204a具有许多分布在多个机架上的计算系统。
云202包括云数据中心204a、204b和204c以及与云数据中心204a、204b和204c互连并有助于促进计算系统206a~206f对云计算服务的访问的网络和网络资源(例如,网络设备、节点、路由器、交换机和网络电缆)。在实施例中,该网络表示一个或多个本地网络、广域网或通过使用地面或卫星连接部署的有线或无线链路耦接的网际网络的任意组合。通过网络交换的数据使用多种网络层协议(诸如,因特网协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)、帧中继(Frame Relay)等)进行传送。此外,在网络表示多个子网络的组合的实施例中,在底层子网络中的各个上使用不同的网络层协议。在一些实施例中,网络表示一个或多个互连网际网络(诸如公共因特网等)。
计算系统206a~206f或云计算服务消费者通过网络链路和网络适配器连接到云202。在实施例中,计算系统206a~206f被实现为各种计算装置,例如服务器、台式机、膝上型计算机、平板电脑、智能手机、物联网(IoT)装置、AV(包括小汽车、无人机、航天飞机、火车、公共汽车等)和消费电子产品。在实施例中,计算系统206a~206f在其它系统中实现或作为其它系统的一部分实现。
图3示出了计算机系统300。在实现中,计算机系统300是一种专用计算装置。专用计算装置被硬连线以进行这些技术,或包括诸如一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)的被持久编程为进行该技术的数字电子装置,或可包括一个或多个通用硬件处理器,这些硬件处理器经编程以根据固件、存储器、其它存储器、或者组合中的程序指令执行该技术。这种专用的计算装置还可以将定制的硬线逻辑、ASIC或FPGA与定制的编程相结合来完成该技术。在各种实施例中,专用计算装置是台式计算机系统、便携式计算机系统、手持装置、网络装置或包含硬线和/或程序逻辑以实现该技术的任何其它装置。
在实施例中,计算机系统300包括总线302或用于通信信息的其它通信机制,以及与总线302耦接以处理信息的处理器304。处理器304例如是通用微处理器。计算机系统300还包括主存储器306,诸如随机存取存储器(RAM)或其它动态存储装置,该主存储器306耦接至总线302以存储要由处理器304执行的信息和指令。在一个实现中,主存储器306用于在执行要由处理器304执行的指令期间存储临时变量或其它中间信息。当这种指令存储在处理器304可访问的非暂时性存储介质中时,使计算机系统300变成一个专用机器,该机器被定制以进行指令中指定的操作。
在实施例中,计算机系统300还包括只读存储器(ROM)308或耦接至总线302的其它静态存储装置,用于存储用于处理器304的静态信息和指令。提供诸如磁盘、光盘、固态驱动器或三维交叉点存储器的存储装置310,并将存储装置310耦接至总线302以存储信息和指令。
在实施例中,计算机系统300经由总线302耦接到诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器或用于向计算机用户显示信息的有机发光二极管(OLED)显示器的显示器312。包括字母数字键和其它键的输入装置314耦接至总线302,用于向处理器304通信信息和命令选择。另一种类型的用户输入装置是光标控制器316,诸如鼠标、轨迹球、触控显示器或光标方向键,用于向处理器304通信方向信息和命令选择,并用于控制光标在显示器312上的移动。该输入装置通常具有在两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这两个轴允许装置指定平面中的位置。
根据一个实施例,本文中的技术由计算机系统300响应于处理器304执行主存储器306中包含的一个或多个指令的一个或多个序列来进行。此类指令从诸如存储装置310的另一存储介质读入主存储器306。执行主存储器306中包含的指令序列使处理器304进行本文所述的处理步骤。在替代实施例中,使用硬连线电路代替软件指令或与软件指令结合使用。
如本文所使用的术语“存储介质”是指存储数据和/或指令的任何非暂时性介质,这些数据和/或指令使机器以特定方式操作。这种存储介质包括非易失性介质和/或易失性介质。例如,非易失性介质包括诸如存储装置310的光盘、磁盘、固态驱动器或三维交叉点存储器。易失性介质包括动态存储器,诸如主存储器306。存储介质的常见形式包括例如软盘、软磁盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、CD-ROM、任何其它光学数据存储介质、任何具有孔型的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NV-RAM,或任何其它存储芯片或存储盒。
存储介质不同于传输介质,但可与传输介质结合使用。传输介质参与存储介质之间的传送信息。例如,传输介质包括同轴电缆、铜线和光纤,其包括构成总线302的导线。传输介质也可以采取声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
在实施例中,各种形式的介质涉及将一个或多个指令的一个或多个序列承载到处理器304以供执行。例如,该指令最初是在远程计算机的磁盘或固态驱动器上执行的。远程计算机将指令加载到其动态存储器中,并使用调制解调器通过电话线路发送指令。计算机系统300的本地调制解调器接收电话线路上的数据,并使用红外发射器将数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将数据放置在总线302上。总线302将数据承载到主存储器306,处理器304从主存储器306检索并执行指令。由主存储器306接收的指令可以可选地在处理器304执行之前或之后存储在存储装置310上。
计算机系统300还包括耦接至总线302的通信接口318。通信接口318提供耦接到连接至本地网络322的网络链路320的双向数据通信。例如,通信接口318是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或用以提供与相应类型电话线路的数据通信连接的调制解调器。作为另一示例,通信接口318是局域网(LAN)卡,用于提供到兼容LAN的数据通信连接。在一些实现中,无线链路也被实现。在任何这种实现中,通信接口318发送和接收承载表示各种类型信息的数字数据流的电、电磁或光信号。
网络链路320通常通过一个或多个网络向其它数据装置提供数据通信。例如,网络链路320通过本地网络322提供与主计算机324或与由因特网服务提供商(ISP)326运营的云数据中心或设备的连接。ISP 326又通过现在通常称为“因特网”328的世界范围分组数据通信网络来提供数据通信服务。本地网络322和因特网328两者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号以及网络链路320上并通过通信接口318的信号是传输介质的示例形式,其中这些信号承载了进出计算机系统300的数字数据。在实施例中,网络320包含上述云202或云202的一部分。
计算机系统300通过(一个或多个)网络、网络链路320和通信接口318发送消息和接收包括程序代码的数据。在实施例中,计算机系统300接收用于处理的代码。所接收的代码在接收时由处理器304执行,和/或存储在存储装置310或存储在其它非易失性存储装置中以便以后执行。
AV架构
图4示出了用于AV(例如,图1所示的运载工具100)的示例架构400。架构400包括感知系统402(有时称为感知电路)、规划系统404(有时称为规划电路)、控制系统406(有时称为控制电路)、定位系统408(有时称为定位电路)和数据库系统410(有时称为数据库电路)。各个系统在运载工具100的操作中发挥作用。共同地,系统402、404、406、408和410可以是图1所示的AV系统120的一部分。在一些实施例中,系统402、404、406、408和410中的任何系统是计算机软件(例如,计算机可读介质上所存储的可执行代码)和计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路[ASIC]、硬件存储器装置、其它类型的集成电路、其它类型的计算机硬件、或者这些硬件中的任何或所有的组合)的组合。系统402、404、406、408和410中的各个有时被称为处理电路(例如,计算机硬件、计算机软件或两者的组合)。系统402、404、406、408和410中的任何或全部的组合也是处理电路的示例。
在使用中,规划系统404接收表示目的地412的数据,并且确定表示运载工具100为了到达(例如,抵达)目的地412而可以行驶的轨迹414(有时称为路线)的数据。为了使规划系统404确定表示轨迹414的数据,规划系统404从感知系统402、定位系统408和数据库系统410接收数据。
感知系统402使用例如也如图1所示的一个或多个传感器121识别附近的物理对象。将对象分类(例如,分组成诸如行人、自行车、汽车、交通标志等的类型),并且将包括经分类的对象416的场景描述提供至规划系统404。
规划系统404还从定位系统408接收表示AV位置418的数据。定位系统408通过使用来自传感器121的数据和来自数据库系统410的数据(例如,地理数据)来计算位置以确定AV位置。例如,定位系统408使用来自GNSS(全球导航卫星系统)传感器的数据和地理数据来计算AV的经度和纬度。在实施例中,定位系统408使用的数据包括具有行车道几何属性的高精度地图、描述道路网络连接属性的地图、描述行车道物理属性(诸如交通速率、交通量、运载工具和自行车车道的数量、车道宽度、车道交通方向或车道标记类型和地点,或它们的组合)的地图,以及描述道路特征(诸如十字路口、交通标志或各种类型的其它行驶信号等)的空间地点的地图。在实施例中,高精度地图是通过将数据经由自动或手动注释添加到低精度地图所构建的。
控制系统406接收代表轨迹414的数据和代表AV位置418的数据,并且以将使运载工具100行驶轨迹414到达目的地412的方式来操作AV的控制功能420a~420c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转,则控制系统406将以如下方式操作控制功能420a~420c:转向功能的转向角度将使得运载工具100左转,并且油门和制动将使得运载工具100在进行转弯之前暂停并等待经过的行人或运载工具。
AV输入
图5示出了感知系统402(图4)使用的输入502a~502d(例如,图1所示的传感器121)和输出504a~504d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)系统(例如,图1所示的LiDAR 123)。LiDAR是使用光(例如,诸如红外光等的一道光)以获得与其视线中的物理对象有关的数据的技术。LiDAR系统产生LiDAR数据作为输出504a。例如,LiDAR数据是用于构造环境190的表示的3D或2D点(也称为点云)的集合。
另一输入502b是RADAR(雷达)系统。RADAR是使用无线电波来获得与附近物理对象有关的数据的技术。RADAR可以获得与不在LiDAR系统的视线内的对象有关的数据。RADAR系统生成RADAR数据作为输出504b。例如,RADAR数据是用于构造环境190的表示的一个或多个射频电磁信号。
另一输入502c是照相机系统。照相机系统使用一个或多个照相机(例如,使用诸如电荷耦接器件[CCD]的光传感器的数字照相机)来获得与附近物理对象有关的信息。照相机系统产生照相机数据作为输出504c。照相机数据通常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。在一些示例中,照相机系统具有例如为了立体影像(立体视觉)的目的的多个独立照相机,这使得照相机系统能够感知深度。尽管照相机系统感知到的对象在这里被描述为“附近”,但这是相对于AV而言的。在一些实施例中,照相机系统被配置为“看见”远处的(例如,AV前方的远至1公里或更远的)对象。因此,在一些实施例中,照相机系统具有为了感知遥远的对象而优化的诸如传感器和镜头等的特征。
另一输入502d是交通灯检测(TLD)系统。TLD系统使用一个或多个照相机来获得与交通灯、街道标志和提供视觉导航信息的其它物理对象有关的信息。TLD系统产生TLD数据作为输出504d。TLD数据经常采用图像数据(例如,诸如RAW、JPEG、PNG等的图像数据格式的数据)的形式。TLD系统与包含照相机的系统的不同之处在于:TLD系统使用具有宽视场(例如,使用广角镜头或鱼眼镜头)的照相机,以获得与尽可能多的提供视觉导航信息的物理对象有关的信息,使得运载工具100能够访问这些对象所提供的所有相关导航信息。例如,TLD系统的视角为约120度或更大。
在一些实施例中,使用传感器融合技术来组合输出504a-504d。因而,将个体输出504a-504d提供至运载工具100的其它系统(例如,提供至如图4所示的规划系统404),或者可以采用相同类型的单个组合输出或多个组合输出(例如,使用相同组合技术或组合相同输出或者这两者)或不同类型的单个组合输出或多个组合输出(例如,使用不同的相应组合技术或组合不同的相应输出或者这两者)的形式,将组合输出提供至其它系统。在一些实施例中,使用早期融合技术。早期融合技术的特征在于:在将一个或多个数据处理步骤应用到组合输出之前,将输出组合。在一些实施例中,使用后期融合技术。后期融合技术的特征在于:在将一个或多个数据处理步骤应用到个体输出之后,将输出组合。
图6示出LiDAR系统602的示例(例如,图5所示的输入502a)。LiDAR系统602从发光器606(例如,激光发射器)发射光604a-604c。LiDAR系统所发射的光通常不在可见光谱中;例如,经常使用红外光。所发射的光604b中的一些光遇到物理对象608(例如,运载工具)并且反射回到LiDAR系统602。(从LiDAR系统发射的光通常不会穿透物理对象,例如,实心形式的物理对象。)LiDAR系统602还具有检测反射光的一个或多个光检测器610。在实施例中,与LiDAR系统相关联的一个或多个数据处理系统生成表示LiDAR系统的视场614的图像612。图像612包括表示物理对象608的边界616的信息。这样,图像612用于确定AV附近的一个或多个物理对象的边界616。
图7示出操作中的LiDAR系统602。在该图所示的情境中,运载工具100接收采用图像702的形式的照相机系统输出504c和采用LiDAR数据点704的形式的LiDAR系统输出504a两者。在使用中,运载工具100的数据处理系统将图像702与数据点704进行比较。特别地,在数据点704之中也识别在图像702中识别出的物理对象706。这样,运载工具100基于数据点704的轮廓和密度来感知物理对象的边界
图8示出LiDAR系统602的操作的附加细节。如上所述,运载工具100基于LiDAR系统602所检测到的数据点的特性来检测物理对象的边界。如图8所示,诸如地面802等的平坦对象将以一致的方式反射从LiDAR系统602发射的光804a-804d。换句话说,由于LiDAR系统602使用一致的间隔发射光,因此地面802将以相同的一致间隔将光反射回到LiDAR系统602。在运载工具100在地面802上行驶时,在没有东西阻挡道路的情况下,LiDAR系统602将继续检测到由下一个有效地面点806反射的光。然而,如果对象808阻挡道路,则LiDAR系统602所发射的光804e-804f将以与预期一致方式不一致的方式从点810a-810b反射。根据该信息,运载工具100可以确定存在对象808。
路径规划
图9示出(例如,如图4所示的)规划系统404的输入和输出之间的关系的框图900。一般而言,规划系统404的输出是从起点904(例如,源地点或初始地点)到终点906(例如,目的地或最终地点)的路线902。路线902通常由一个或多个路段定义。例如,路段是指要在街道、道路、公路、行车道或适合汽车行驶的其它物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果运载工具100是诸如四轮驱动(4WD)或全轮驱动(AWD)小汽车、SUV或小卡车等的能够越野的运载工具,则路线902包括诸如未铺面路径或开阔田野等的“越野”路段。
除路线902之外,规划系统还输出车道级路线规划数据908。车道级路线规划数据908用于在特定时间基于路线902的路段的条件来驶过这些路段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,其中运载工具100可以使用该轨迹规划数据910以例如基于出口是否临近、多个车道中的一个或多个车道是否存在其它运载工具、或者在几分钟或更少时间的过程中变化的其它因素来从这多个车道之中选择车道。类似地,在一些实现中,车道级路线规划数据908包括路线902的某路段特有的速率约束912。例如,如果该路段包括行人或非预期交通,则速率约束912可以将运载工具100限制到比预期速率慢的行驶速率,例如基于该路段的限速数据的速率。
在实施例中,向规划系统404的输入包括(例如,来自图4所示的数据库系统410的)数据库数据914、当前地点数据916(例如,图4所示的AV位置418)、(例如,用于图4所示的目的地412的)目的地数据918和对象数据920(例如,如图4所示的感知系统402所感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划时所使用的规则。规则是使用形式语言(例如,使用布尔逻辑)指定的。在运载工具100所遇到的任何给定情形中,这些规则中的至少一些规则将适用于该情形。如果规则具有基于运载工具100可用的信息(例如,与周围环境有关的信息)所满足的条件,则该规则适用于给定情形。规则可以具有优先级。例如,“如果公路是高速公路,则移动到最左侧车道”这一规则与“如果出口在一英里内临近,则移动到最右侧车道”相比可以具有更低的优先级。
图10示出在路径规划中(例如,由规划系统404(图4))使用的有向图1000。一般而言,如图10所示的有向图那样的有向图1000用于确定任何起点1002和终点1004之间的路径。在现实世界中,分隔起点1002和终点1004的距离可能相对较大(例如,在两个不同的都市区域中),或者可能相对较小(例如,毗邻城市街区的两个十字路口或多车道道路的两条车道)。
在实施例中,有向图1000具有表示起点1002和终点1004之间的运载工具100可能占用的不同地点的节点1006a-1006d。在一些示例中,例如,在起点1002和终点1004表示不同的都市区域时,节点1006a-1006d表示道路的路段。在一些示例中,例如,在起点1002和终点1004表示相同道路上的不同地点时,节点1006a-1006d表示该道路上的不同位置。这样,有向图1000包括不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大规模的另一有向图的子图。例如,起点1002和终点1004相距远(例如,相距许多英里)的有向图的大部分信息处于低粒度,并且该有向图是基于所存储的数据,但该有向图还包括用于该有向图中的表示运载工具100的视场中的物理地点的一部分的一些高粒度信息。
节点1006a-1006d不同于无法与节点重叠的对象1008a-1008b。在实施例中,在粒度低时,对象1008a-1008b表示汽车不能穿过的地区,例如无街道或道路的区域。在粒度高时,对象1008a-1008b表示运载工具100的视场中的物理对象,例如其它汽车、行人、或运载工具100不能与之共用物理空间的其它实体。在实施例中,对象1008a-1008b的一部分或全部是静态对象(例如,不改变位置的对象,诸如街灯或电线杆等)或动态对象(例如,能够改变位置的对象,诸如行人或其它小汽车等)。
节点1006a-1006d通过边1010a-1010c连接。如果两个节点1006a-1006b通过边1010a连接,则运载工具100可以在一个节点1006a和另一节点1006b之间行驶,例如,而不必在到达另一节点1006b之前行驶到中间节点。(当提到运载工具100在节点之间行驶时,意味着运载工具100在由相应节点表示的两个物理位置之间行驶。)边1010a-1010c通常是双向的,从某种意义上,运载工具100从第一节点行驶到第二节点,或者从第二节点行驶到第一节点。在实施例中,边1010a-1010c是单向的,从某种意义上,运载工具100可以从第一节点行驶到第二节点,然而运载工具100不能从第二节点行驶到第一节点。在边1010a-1010c表示例如单向街道,街道、道路或公路的单独车道,或者由于法律或物理约束因而仅能沿一个方向穿过的其它特征的情况下,边1010a-1010c是单向的。
在实施例中,规划系统404使用有向图1000来识别由起点1002和终点1004之间的节点和边组成的路径1012。
边1010a-1010c具有关联成本1014a-1014b。成本1014a-1014b是表示在运载工具100选择该边的情况下将花费的资源的值。典型的资源是时间。例如,如果一个边1010a所表示的物理距离是另一边1010b所表示的物理距离的两倍,则第一边1010a的关联成本1014a可以是第二边1010b的关联成本1014b的两倍。影响时间的其它因素包括预期交通、十字路口的数量、限速等。另一典型的资源是燃料经济性。两个边1010a-1010b可以表示相同的物理距离,但例如由于道路条件、预期天气等,因此一个边1010a与另一边1010b相比需要更多的燃料。
在规划系统404识别起点1002和终点1004之间的路径1012时,规划系统404通常选择针对成本优化的路径,例如,在将边的个体成本相加到一起时具有最小总成本的路径。
AV控制
图11示出(例如,如图4所示的)控制系统406的输入和输出的框图1100。控制系统根据控制器1102而操作,该控制器1102例如包括:与处理器304类似的一个或多个处理器(例如,诸如微处理器或微控制器或这两者等的一个或多个计算机处理器);与主存储器306、ROM 308和存储装置310类似的短期和/或长期数据存储装置(例如,存储器,随机存取存储器或闪速存储器或这两者);以及存储器中所存储的指令,这些指令在(例如,由一个或多个处理器)执行时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如速率和航向。期望输出1104例如可以基于从(例如,如图4所示的)规划系统404接收到的数据。根据期望输出1104,控制器1102产生可用作油门输入1106和转向输入1108的数据。油门输入1106表示例如通过接合转向踏板或接合另一油门控件来接合运载工具100的油门(例如,加速控制)以实现期望输出1104的大小。在一些示例中,油门输入1106还包括可用于接合运载工具100的制动器(例如,减速控制)的数据。转向输入1108表示转向角度,例如AV的转向控制(例如,方向盘、转向角致动器或用于控制转向角度的其它功能)应被定位成实现期望输出1104的角度。
在实施例中,控制器1102接收在调整提供至油门和转向的输入时使用的反馈。例如,如果运载工具100遇到诸如山丘等的干扰1110,则运载工具100的测量速率1112降至低于期望输出速率。在实施例中,任何测量输出1114均被提供至控制器1102,使得例如基于测量速率和期望输出之间的差分1113来进行所需的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和航向)、测量加速度1120和运载工具100的传感器可测量的其它输出。
在实施例中,例如通过诸如照相机或LiDAR传感器等的传感器预先检测与干扰1110有关的信息,并且该信息被提供至预测性反馈系统1122。然后,预测性反馈系统1122将控制器1102可用于相应地调整的信息提供至控制器1102。例如,如果运载工具100的传感器检测到(“看见”)山丘,则控制器1102可以使用该信息来准备在适当时间接合油门,以避免显著减速。
图12示出控制器1102的输入、输出和组件的框图1200。控制器1102具有影响油门/制动器控制器1204的操作的速率分析器1202。例如,速率分析器1202根据例如由控制器1102接收到并由速率分析器1202处理后的反馈,来指示油门/制动器控制器1204使用油门/制动器1206进行加速或进行减速。
控制器1102还具有影响转向控制器1210的操作的横向跟踪控制器1208。例如,横向跟踪控制器1208根据例如由控制器1102接收到并由横向跟踪控制器1208处理后的反馈,来指示转向控制器1210调整转向角致动器1212的位置。
控制器1102接收用于确定如何控制油门/制动器1206和转向角致动器1212的若干输入。规划系统404提供控制器1102例如选择运载工具100开始操作时的航向并确定在运载工具100到达十字交叉路口时穿过哪个道路路段所使用的信息。定位系统408例如将描述运载工具100的当前地点的信息提供至控制器1102,使得控制器1102可以确定运载工具100是否处于基于正控制油门/制动器1206和转向角致动器1212的方式而预期的地点。在实施例中,控制器1102接收来自其它输入1214的信息,例如从数据库、计算机网络等接收到的信息。
跨模态主动学习的系统
图13是实现用于对象检测的跨模态主动学习的系统1300。在系统1300中,跨多个传感器模态实现主动学习以确定有信息量的数据。运载工具(例如,图1的运载工具100)可以通过多个传感器(例如,图1的传感器121)记录大量数据。然而,数据存储空间是有限的,而且常常是受限的。本文所述的主动学习技术将正被存储的数据减少为有信息量的数据,使得能够在提供用于改进其它运载工具功能(诸如碰撞检测、一般对象检测和传感器故障检测等)的高质量数据的同时减少所需的数据存储空间。此外,数据存储的减少使得能够使用运载工具硬件而不是数据中心中的专用服务器来执行本技术。
系统1300(例如,图1的系统120)包括至少一个照相机1302(例如,图1的照相机122)和至少一个LiDAR 1304(例如,图1的LiDAR 123)。照相机1302以诸如RAW、JPEG、PNG等的图像格式的图像的形式输出图像数据1306(例如,图5的输出504c)。LiDAR 1304以点云1308的形式输出LiDAR数据(例如,图5的输出504a)。至少一个照相机1302和至少一个LiDAR1304是诸如感知系统402(图4)等的感知系统的组件。因此,照相机1302和LiDAR 1304输出用于识别诸如行人、自行车、汽车、交通标志等的经分类的对象(例如,图4的经分类的对象416)的数据。为了便于解释,根据本技术描述了诸如照相机、LiDAR和雷达等的特定传感器模态。然而,本技术可以经由被利用以捕获为对象检测而分析的数据的任何传感器模态来实现。
图像数据1306通常提供边缘、颜色和照明的准确测量,并最终在图像平面上产生(例如,如由定位系统408确定的)准确的对象分类和定位。然而,在仅基于照相机数据的情况下,3D定位通常不准确。与图像数据相比,点云1308通常包含较少的语义信息,并且代替地能实现高准确性的3D定位。点云一般是稀疏的,并且点云的范围通常限制在50-100米(m)。本技术利用多个传感器模态的优势来实现跨传感器模态的鲁棒对象检测。
系统1300包括两个对象检测网络:图像语义分割网络(ISN)1310和LiDAR语义分割网络(LSN)1312。一般地,对象检测神经网络被配置为接收传感器数据并处理传感器数据以检测传感器周围的3D空间中的至少一个对象(例如,图1中的自然障碍物191、运载工具193、行人192;骑车者和其它障碍)。在实施例中,对象检测神经网络是前馈卷积神经网络,其在给定输出504a~504d(例如,传感器数据)的情况下生成针对3D空间中的潜在对象的一组边界框以及针对边界框内的对象类实例(例如,小汽车、行人或自行车)的存在的置信度分数。分类分数越高,相应的对象类实例存在于框中的可能性越大。在W.Liu,D.Anguelov,D.Erhan,C.Szegedy,S.Reed,C.Y.Fu和A.C.Berg.SSD:Single Shot MultiboxDetector.Springer,201(可从https://arxiv.org/pdf/1512.02325.pdf获得)中详细描述了示例对象检测神经网络。
ISN 1310将图像数据1306作为输入,并输出针对3D空间中的潜在对象的一组预测3D边界框1314以及针对边界框内的对象类实例的存在的相应置信度分数。3D边界框包括与对象的3D边界框的尺寸、方位和地点有关的信息,该信息采用可以投影为如下所述的相同数据表示的格式。特别地,ISN 1310将一组图像作为输入,预测图像中各个像素的类,并针对输出图像中的各个像素的语义分割数据(例如,置信度分数)。ISN 1310使用图像数据集进行训练,该图像数据集包括图像,其中各个图像用图像数据集中的类的边界框和分割标签进行扩充。示例置信度分数是指示正确预测出像素类的概率的概率值。
类似地,LSN 1312将至少一个点云1308作为输入,并输出针对3D空间中的潜在对象的一组预测3D边界框1316以及针对边界框内的对象类实例的存在的置信度分数。在示例中,LSN接收表示3D空间的多个数据点。例如,多个数据点的各个数据点是一组3D空间坐标(例如,x、y、z坐标)。如2019年5月7日的“PointPillars:Fast Encoders for ObjectDetection from Point Clouds”(arXiv:1812.05784v2[cs.LG])所述,将数据编码到柱(pillar)中并输出伪图像。一般地,柱编码器将一个或多个点云作为输入,并基于点云来估计小汽车、行人和骑车者的定向3D边界框。与ISN 1310类似,由LSN输出的预测3D边界框1316包括与对象的3D边界框的尺寸、方位和地点有关的信息,该信息采用可以投影为如下所述的相同数据表示的格式。预测3D边界框组还包括针对边界框内的对象类实例的存在的置信度分数。
后处理用于将预测3D框1314和1316投影到相同表示上。在系统1300中,基于图像数据的预测3D边界框1314被发送到后处理1318。基于点云的预测3D边界框1316被发送到后处理1320。如本文所使用的,表示是应用于预测3D边界框的变换。当应用于从多个对象检测网络获得的预测3D边界框时,该变换使得以相同格式解释场景。在实施例中,表示至少部分基于照相机角度。在实施例中,表示是应用于与预测边界框相关联的置信度分数的概率分布。例如,表示可以是前视图表示、鸟瞰视图表示或热图表示。尽管描述了特定表示,但是本技术不限于用于预测3D边界框的投影的单个表示。相反,本技术将预测3D边界框变换为能够比较多个对象检测网络的相同数据表示。
在示例中,预测3D边界框投影到前视图表示中。前视图表示是投影到图像平面上的边界框的图。图14A是环境1402A的前视图表示1400A。如图所例示的,前视图表示1400A包括多个投影边界框1404A。边界框1404A是来自对象检测网络的投影到前视图表示1400A上的预测3D边界框。在前视图表示中,边界框1404A沿坐标1406A的x轴对齐。换句话说,边界框不沿x轴旋转,并且具有与y-z平面平行的边。
在示例中,预测3D边界框被投影到鸟瞰视图表示中。一般地,鸟瞰视图表示是投影到地平面上的环境的渲染。鸟瞰视图消除了所检测对象之间的遮挡,并且能够实现运载工具和障碍之间的语义和几何方面的一致关系。图14B是环境1402B的鸟瞰视图表示1400B。如图所例示的,鸟瞰视图表示1400B包括多个边界框1404B。边界框1404B是来自对象检测网络的投影到鸟瞰视图表示1400B上的预测3D边界框。在鸟瞰视图表示中,边界框1404B未沿坐标1406B的z轴对齐。换句话说,边界框沿z轴旋转,并且没有与x-y平面平行的边。投影边界框1404B是非轴对齐的。
在示例中,生成热图表示。热图表示是通过基于置信度分数变换鸟瞰视图表示而生成的。一般地,热图将大小表示为两个维度上的颜色。将大小插入到具有一个或多个固定单元的矩阵中。热图的列和行是离散的现象和类别。图14C是作为网格1402C的环境的热图1400C。网格1402C上表示的离散现象和类别是在鸟瞰视图表示中检测到的对象的分类以及置信度分数。在图14C的示例中,各个单元表示鸟瞰视图中的一个或多个投影边界框(例如,图14B的边界框1404B)的置信度分数。在示例中,为没有边界框的背景区域分配1.0的置信度分数。网格1402C的各单元是基于相关联的投影边界框的置信度分数进行区分的。
再次参考图13,分别由ISN 1310和LSN 1312输出的预测3D边界框1314和1316在投影到相同表示上时重叠(例如,分别在图14A和14B的投影边界框1404A和1404B中重叠)。因此,后处理1318和后处理1320应用非极大值抑制来过滤属于相同对象的冗余投影边界框。过滤冗余投影边界框将从建议的边界框的列表中移除边界框。非极大值抑制根据选择的相同表示而变化。如图14A、14B和14C所例示的,相同表示可以是前视图表示、鸟瞰视图表示或热图表示。一般地,在对象检测期间,针对各个边界框创建置信度分数,使得产生许多彼此接近的高分数,从而生成大量预测3D边界框,最终在相同表示中创建具有相关联的置信度分数的大量投影边界框。非极大值抑制会抑制局部范围内并非最大值的分数。
在实施例中,后处理1318和1320包括经由非极大值抑制进行过滤,其中针对各组重叠框求出交并比(IoU)。IoU是投影边界框与具有最高置信度分数的边界框的交集和并集之间的比。在示例中,前视图表示包括具有最高置信度分数的投影边界框(例如,框A)。从投影边界框的列表(例如,B的列表)中选择并移除边界框A,并将其添加到投影边界框的最终列表(例如,F的列表)。F的投影列表最初为空。将具有最高置信度分数的投影边界框A与B的列表中的所有其余投影边界框进行比较,以确定框A和B的列表之间的IoU。如果A和各个B之间的IoU大于IoU阈值,则从B的列表中移除投影边界框B。IoU是可以调谐最终预测边界框的强度的预定阈值。重复进行该处理,直到在B的列表中没有其余投影边界框为止。特别地,再次从其余的投影边界框(例如,B的其余列表)中选择具有次最高置信度的投影边界框(例如,下一个框A),并将其添加到投影边界框F的最终列表。求出下一个框A与B的其余列表的IoU,并且再次移除具有高于IoU阈值的IoU的框。重复该处理,直到在建议的边界框B的其余列表中没有更多的推荐为止。因此,冗余投影边界框被移除。
在实施例中,后处理1318和1320包括经由非极大值抑制进行过滤,其中由于非轴对齐的边界框(例如,图14B的边界框1404B)而对IoU计算进行修改。在鸟瞰视图表示中,投影边界框可以由于沿z轴的旋转而非轴对齐。对如应用于投影到鸟瞰视图的预测3D边界框的非极大值抑制进行修改,以考虑所发生的旋转。
例如,该修改确定凸多边形的IoU,以考虑投影边界框之间的旋转。在修改的IoU确定中,从添加到最终投影列表(例如,列表F)的投影边界框的列表(例如,B的列表)中迭代选择具有最高置信度的推荐(例如,框A)。找出B的列表中的所有推荐与框A的IoU,并且再次移除具有高于IoU阈值的IoU的框。重复此处理,直到投影边界框(B)的列表中没有更多的推荐为止。在确定B的列表中的边界框和框A之间的IoU时,找到框A的包含在框B中的所有角落。找到框B的包含在框A中的所有角落。找到框A和框B之间的交点,并使用arctan2以顺时针方式对所有点进行排序。
在实施例中,后处理1318和后处理1320能够实现针对热图表示的后处理。如果为热图的相同单元分配了超过一个的框,则选择置信度分数最高的框作为与该单元相关联的最终边界框。以这种方式,移除不满足最高置信度分数的阈值的投影边界框。
一般地,后处理1318和后处理1320可基于用于投影的相同表示进行配置。后处理1318和后处理1320的输出是投影到相同表示上并被过滤以选择针对各个传感器模态的最佳投影边界框的最终一组预测边界框。投影边界框与指示边界框内的对象类实例的存在的置信度分数相关联。对象类实例用于用特定类来标记投影边界框。后处理1318和后处理1320的输出用于不一致性计算1322。在不一致性计算1322期间,比较ISN 1310和LSN 1312的预测。该比较是基于误差或基于不确定性。在实施例中,根据相应模态的已知优势和劣势,对从基于误差或基于不确定性的计算所得到的不一致性进行加权。
在实施例中,不一致性计算1322的输出是估计传感器模态之间的不一致性的主动学习分数。跨模态不一致的投影边界框用于确定场景是否是有信息量的。如本文所使用的,场景是指环境的一部分或整个环境。在实施例中,场景是指特定时间实例时的环境的一部分或整个环境。一般地,不一致性是指第一传感器模态和第二传感器模态之间的相应信息的分歧。
使用主动学习分数对边界框进行排列,并且选择N个信息量最大的边界框作为有信息量的样本并被指定为场景内的这种有信息量的样本。在一些示例中,在场景包括用于指示跨传感器模态的相同表示之间的不一致性的至少一个主动学习分数的情况下,该场景被确定为有信息量的场景。在实施例中,在针对场景的超过预定阈值的部分发生不一致性的情况下,该场景是有信息量的。例如,如果所计算出的不一致性的数量大于预定阈值,则可以将场景标记为有信息量的,并用于训练对象检测神经网络。如果在超过25%的投影边界框中发现误差或不确定性,则可以将场景标记为有信息量的。如果在运载工具的预定距离内的投影边界框中发现误差或不确定性,则将场景标记为有信息量的。例如,在与计算出的不一致性相关联的地点在运载工具的预定距离内的情况下,场景被确定为有信息量的场景。有信息量的场景提供了附加或补充的标记数据,其中对象检测网络可以从该标记数据中学习。另外,有信息量的场景提供了附加的或补充的标记数据,其中针对该标记数据,已知对象检测网络由于固有的限制而受到影响。
基于误差的不一致性计算被表示为:
E(ISN(Si),LSN(Sl)) (1)
其中,E是用于计算ISN 1310和LSN 1312之间的误差的函数,并且Si和Sl是第一组投影边界框和第二组投影边界框的集合。在实施例中,函数E是任何一个或多个统计分类。一般地,对多个模态的对象检测网络的预测进行比较。对象检测网络的预测是已投影到相同表示并进行了后处理的预测3D边界框。关于不一致性计算1322,已投影到相同表示并进行了后处理的预测3D边界框通常被称为预测。
在基于误差的不一致性计算中,传感器模态的第一对象检测网络的预测被标记为伪真值,而其余对象检测网络的预测被标记为预测。确定了伪真值与其余对象检测网络的预测之间的误差。例如,对ISN和LSN的预测进行比较,将ISN预测或LSN预测标记为伪真值,并对许多误差类型进行计数。
在计算误差时,对边界框进行加权。在实施例中,在边界框越靠近运载工具,边界框具有越高的权重。与距离ego运载工具更远的不一致区域相比,当不一致区域出现在离运载工具更近时,这给予潜在有信息量的场景更高的重要性。下面提供了示例性线性加权函数:
Figure BDA0003345166510000331
在等式(2)中,在鸟瞰视图表示中,distance是边界框的中心和运载工具的位置之间计算得出的距离。在实施例中,不应用加权函数,并且为每个预测分配权重值1。
实现机器学习统计度量来确定基于误差的不确定性。机器学习统计度量包括但不限于假阳性假阴性(FP+FN)、精度、召回率和F1分数或其任何组合。一般地,机器学习统计度量基于与预测相比较的真值(ground truth)。在评估机器学习统计度量时,假阳性(FP)是用于指示条件存在而实际该条件不存在的错误。假阴性(FN)是不正确地指示为条件不存在的错误。真阳性是正确地指示的阳性条件,并且真阴性是正确地指示的阴性条件。因此,对于FP+FN统计度量,假阳性是与任意真值框不具有足够高的IoU的预测。当用于检测真值的检测的置信度分数低于预定阈值时,出现假阴性。在伪真值模态预测和其它模态预测之间对FP+FN错误的数量进行计数。
一般地,精度是真阳性数除以真阳性和假阳性之和。从1中减去精度会得到精度越高、产生的不一致性越低的主动学习分数。较低的不一致性计算指示相关联的投影是一致的。类似地,召回率是真阳性数除以真阳性和假阳性之和。从1中减去召回率会得到召回率越高、不一致性计算越低的主动学习分数。F1分数是平衡的F分数,并且是精度和召回率的调和平均值。在实施例中,F1分数是准确率的度量。准确率是随机选择的实例(阳性或阴性、相关或无关)将为正确的概率。与精度和召回率统计度量类似,从1中减去F1分数会得到F1分数越高、不一致性计算越低的主动学习分数。较低的不一致性计算指示相关联的预测是跨模态一致的。在示例中,对主动学习分数应用预定阈值。在示例中,如果分数高于0.5,则相关联的预测被确定为不一致。为了考虑跨置信度分数的整个范围的关系,应用了基于不确定性的不一致性计算。一般地,基于不确定性的不一致性计算用于计算与来自各个对象检测网络的各个真阳性对的概率分布的跨模态不一致性。基于不确定性的不一致性计算还可以分为两个子组:边界框和热图。
在示例中,基于第一不确定性的不一致性计算用于计算各个真阳性对之间的JS散度。Jensen-Shannon(JS)散度测量诸如与边界框相关联的概率分布等的两个概率分布之间的相似性。JS散度是对称的,并且始终具有有限值。在实施例中,将最大值分配给各个假阳性和假阴性。在示例中,最大值为1.0。
可替代地,在预测3D边界框映射到热图表示(概率图)的情况下,使用互信息(MI)来计算主动学习分数。一般地,互信息是两个变量之间的相互依赖性的度量。在实施例中,这两个变量是两个热图。互信息对通过观察另一随机变量所获得关于一个随机变量的信息量进行量化。来自类中的两个热图的概率被平均化。特别地,通过以下等式来计算各个单元的互信息:
Figure BDA0003345166510000341
按照如下针对各个单元来计算互信息:
Figure BDA0003345166510000351
其中,H表示熵函数。最后,热图的最终互信息被计算为:
Figure BDA0003345166510000352
其中,I表示热图中的单元总数。
图13的框图并非意在指示如本文所述的主动学习将包括图13所示的所有组件。相反,跨模态主动学习可以包括更少或图13中未例示的附加组件(例如,附加模态、检测网络、后处理、不一致性计算等)。根据具体实现的细节,主动学习可以包括未示出的任何数量的附加组件。此外,ISN、LSN、后处理、不一致性计算和其它描述的功能中的任意可以部分地或全部地在硬件和/或处理器中实现。例如,该功能可以用专用集成电路实现、在处理器中实现的逻辑中实现、在专用图形处理单元中实现的逻辑中或在任何其它装置中实现。
图14A、14B和14C的框图并非意在指示本文所述的表示将包括图14A、14B和14C中所示的所有组件。相反,这些表示可以包括更少或图14A、14B和14C中未例示的附加组件(例如,对象、对象类、边界框等)。根据具体实现的细节,这些表示包括未示出的任何数量的附加组件。此外,所描述的任何功能可以部分地或全部地在硬件和/或处理器中实现。例如,该功能可以用专用集成电路实现、在处理器中实现的逻辑中实现、在专用图形处理单元中实现的逻辑中或在任何其它装置中实现。
跨模态主动学习的处理
图15是用于对象检测的跨模态主动学习的处理1500的处理流程图。在框1502处,获得第一组预测边界框和第二组预测边界框。通过与对象检测神经网络(例如,ISN 1310、LSN 1312)通信地耦接的相应传感器(例如,图1的传感器121)来生成预测边界框。因此,第一传感器(例如,图13的照相机1302)与第一对象检测神经网络(例如,图13的ISN 1310)通信地耦接,该第一对象检测神经网络生成第一组预测边界框(例如,图13的预测3D框1314)。另外,第二传感器(例如,图13的LiDAR 1304)与第二对象检测神经网络(例如,图13的LSN1312)通信地耦接,该第二对象检测神经网络生成第二组预测边界框(例如,图13的预测3D框1316)。第一组预测边界框和第二组预测边界框中的各个相应边界框被分配有用于指示相应预测边界框内的对象类实例的存在的置信度分数。
在框1504处,第一组预测边界框和第二组预测边界框被投影到相同表示(例如,图14A的前视图表示1400A、图14B的鸟瞰视图表示1400B或图14C的热图表示1400C)中。在后处理(例如,图13的后处理1318和后处理1320)期间进行将预测边界框向相同表示上的投影。
在框1506处,对投影进行过滤,其中选择满足最大置信度分数的预测边界框以供不一致性计算。在实施例中,该过滤是基于相同表示的类型适配的非极大值抑制。换句话说,非极大值抑制的形式可以基于边界框被投影到的相同表示而改变。例如,对于前视图表示,经由非极大值抑制进行过滤包括确定各组重叠边界框之间的交并比,并选择具有最大置信度分数的边界框作为最终分数。在另一示例中,针对鸟瞰视图经由非极大值抑制进行过滤包括确定各组重叠边界框之间的交并比,其中,对IoU计算进行修改以确定凸多边形的交点,从而在投影到鸟瞰视图表示时考虑预测框之间的旋转。选择具有最大置信度分数的边界框作为最终分数。在另一示例中,经由非极大值抑制进行过滤被应用于热图表示。例如,在将超过一个的预测边界框分配给热图的相同单元的情况下,选择具有最高置信度分数的框作为与该单元相关联的最终边界框。
在框1508处,基于对投影进行过滤,跨经过滤的投影边界框计算不一致性。不一致性计算(例如,图13的1322)是基于误差、基于不确定性或其任何组合的。不一致性用于得到主动学习分数。在框1510处,基于所计算出的不一致性所提取的场景是有信息量的场景。例如,在场景包括指示跨传感器模态的相同表示之间的不一致性的至少一个主动学习分数的情况下,该场景是有信息量的。在实施例中,在针对场景的超过预定阈值的部分发生不一致性的情况下,该场景是有信息量的。例如,如果在超过25%的投影边界框中发现误差或不确定性,则可以将场景标记为有信息量的。如果在运载工具的预定距离内的投影边界框中发现误差或不确定性,则可以将场景标记为有信息量的。通过确定场景是否是有信息量的,仅存储有意义的数据,从而防止存储所有记录数据的需要。由此,本技术可在有限的存储空间内操作。由于存储空间的减少,因此本技术在运载工具上执行。
经注释的场景用于机器学习,以训练模型并提高对各种环境的认识。注释通常由人类操作员完成,成本高昂且容易受到人类偏见和误差的影响。一般地,机器学习模型对标记数据集的曝光越多,模型就变得越具鲁棒性和完整。本技术通过基于模型理解选择和注释感兴趣的数据来减少注释预算。在实施例中,本技术通过给定的一组图像和点云而不是单个输入模态来从日志中挖掘原始数据。
因为不需要存储所有数据,所以自动过滤无意义数据的能力创建了具有足够存储能力的更高效系统。各个对象检测网络使用主动学习来选择用于学习的数据,从而使对象检测网络的核心机器学习算法达到高准确度。
图15的处理流程图并非意在指示示例处理1500的框将以该顺序执行或在每种情况下都将包括所有框。此外,根据具体实现的细节,未示出的任何数量的附加框可以包括在示例处理1500内。
在先前描述中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。

Claims (20)

1.一种方法,包括:
通过处理器生成第一组预测边界框和第二组预测边界框,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;
通过所述处理器将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;
通过所述处理器对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;
通过所述处理器,基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;
通过所述处理器,基于所计算出的不一致性来提取有信息量的场景;以及
通过所述处理器,使用所述有信息量的场景来训练第一对象检测神经网络或第二对象检测神经网络。
2.根据权利要求1所述的方法,还包括:
当所计算出的不一致性的数量大于预定阈值时,提取所述有信息量的场景。
3.根据权利要求1或2所述的方法,还包括:
根据所投影的边界框与运载工具的距离来对所计算出的不一致性进行加权。
4.根据权利要求1至3中任一项所述的方法,其中,所述相同表示是前视图表示、鸟瞰视图表示和热图表示其中之一。
5.根据权利要求1所述的方法,还包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同的前视图表示中;
使用非极大值抑制对所述投影进行过滤,以消除属于相同对象的冗余投影;以及
经由基于误差的不一致性计算,来计算经过滤的投影的置信度分数的不一致性。
6.根据权利要求1所述的方法,还包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同的鸟瞰视图表示中;
使用交并比被修改的非极大值抑制对所述投影进行过滤,以消除属于相同对象的冗余投影;以及
经由基于误差的不一致性计算,来计算经过滤的投影的置信度分数的不一致性。
7.根据权利要求1所述的方法,还包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同的热图表示中;
通过选择被分配给所述热图表示的单元的多个边界框的最高置信度分数来对所述投影进行过滤;以及
经由基于误差的不一致性计算,来计算经过滤的投影的置信度分数的不一致性。
8.根据权利要求1所述的方法,还包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同的前视图表示中;
使用非极大值抑制对所述投影进行过滤,以消除属于相同对象的冗余投影;以及
经由基于不确定性的不一致性计算,来计算经过滤的投影的置信度分数的不一致性。
9.根据权利要求1所述的方法,还包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同的鸟瞰视图表示中;
使用交并比被修改的非极大值抑制来对所述投影进行过滤,以消除属于相同对象的冗余投影;以及
经由基于不确定性的不一致性计算,来计算经过滤的投影的置信度分数的不一致性。
10.根据权利要求1至9中任一项所述的方法,还包括:
当与所计算出的不一致性相关联的地点在运载工具的预定距离内时,提取有信息量的场景。
11.一种非暂时性计算机可读存储介质,其包括用于由第一装置的至少一个处理器执行的至少一个程序,所述至少一个程序包括指令,所述指令在由所述至少一个处理器执行时进行方法,所述方法包括:
生成第一组预测边界框和第二组预测边界框,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;
将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;
对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;
基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;
基于所计算出的不一致性来提取有信息量的场景;以及
使用所述有信息量的场景来训练第一对象检测神经网络或第二对象检测神经网络。
12.根据权利要求11所述的非暂时性计算机可读存储介质,所述方法还包括:
当所计算出的不一致性的数量大于预定阈值时,提取所述有信息量的场景。
13.根据权利要求11或12所述的非暂时性计算机可读存储介质,所述方法还包括:
根据所投影的边界框与运载工具的距离来对所计算出的不一致性进行加权。
14.根据权利要求11至13中任一项所述的非暂时性计算机可读存储介质,其中,所述相同表示是前视图表示、鸟瞰视图表示和热图表示其中之一。
15.一种运载工具,包括:
至少两个传感器,其中第一传感器与用于生成第一组预测边界框的第一对象检测神经网络通信地耦接,第二传感器与用于生成第二组预测边界框的第二对象检测神经网络通信地耦接,其中,所述第一组预测边界框和所述第二组预测边界框中的相应预测边界框被分配有用于指示在该相应预测边界框内的对象类实例的存在的分类分数;
至少一个计算机可读介质,其存储计算机可执行指令;以及
至少一个处理器,其通信地耦接到所述至少两个传感器,并被配置为执行所述计算机可执行指令,所述执行进行操作,所述操作包括:
将所述第一组预测边界框和所述第二组预测边界框投影到相同表示中;
对所述投影进行过滤,其中选择满足最大置信度分数的预测边界框以用于不一致性计算;
基于对所述投影进行过滤,跨所投影的边界框来计算不一致性;
基于所计算出的不一致性来提取有信息量的场景;以及
使用所述有信息量的场景来训练所述第一对象检测神经网络或所述第二对象检测神经网络。
16.根据权利要求15所述的运载工具,其中,所述操作还包括:
当所计算出的不一致性的数量大于预定阈值时,提取所述有信息量的场景。
17.根据权利要求15或16所述的运载工具,其中,所述相同表示是前视图表示、鸟瞰视图表示和热图表示其中之一。
18.根据权利要求15至17中任一项所述的运载工具,其中,所述第一对象检测神经网络是图像语义分割网络,以及所述第二对象检测神经网络是LiDAR语义分割网络。
19.根据权利要求15至18中任一项所述的运载工具,其中,所述第一传感器是图像传感器,以及所述第二传感器是LiDAR。
20.根据权利要求15至19中任一项所述的运载工具,所述操作还包括:根据所投影的边界框与运载工具的距离来对所计算出的不一致性进行加权。
CN202111319810.XA 2021-06-30 2021-11-09 用于对象检测的方法、运载工具和存储介质 Pending CN115565149A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/363,085 2021-06-30
US17/363,085 US11887324B2 (en) 2021-06-30 2021-06-30 Cross-modality active learning for object detection

Publications (1)

Publication Number Publication Date
CN115565149A true CN115565149A (zh) 2023-01-03

Family

ID=78463535

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111319810.XA Pending CN115565149A (zh) 2021-06-30 2021-11-09 用于对象检测的方法、运载工具和存储介质

Country Status (5)

Country Link
US (1) US11887324B2 (zh)
KR (1) KR20230004212A (zh)
CN (1) CN115565149A (zh)
DE (1) DE102021133340A1 (zh)
GB (1) GB2608467A (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11967068B2 (en) * 2021-07-13 2024-04-23 International Business Machines Corporation Pre-NMS filtering using a heat map
US20230286530A1 (en) * 2022-03-08 2023-09-14 Nvidia Corporation Object data curation of map information using neural networks for autonomous systems and applications
CN117351518B (zh) * 2023-09-26 2024-04-19 武汉大学 一种基于层级差异的无监督跨模态行人重识别方法及系统
CN117392396B (zh) * 2023-12-08 2024-03-05 安徽蔚来智驾科技有限公司 跨模态目标状态的检测方法、设备、智能设备和介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102593948B1 (ko) 2019-01-23 2023-10-25 모셔널 에이디 엘엘씨 주석 달기를 위한 데이터 샘플의 자동 선택
US11380108B1 (en) * 2019-09-27 2022-07-05 Zoox, Inc. Supplementing top-down predictions with image features
US11532168B2 (en) * 2019-11-15 2022-12-20 Nvidia Corporation Multi-view deep neural network for LiDAR perception
US10984290B1 (en) * 2019-11-15 2021-04-20 Zoox, Inc. Multi-task learning for real-time semantic and/or depth aware instance segmentation and/or three-dimensional object bounding
KR20220009757A (ko) * 2020-07-16 2022-01-25 현대자동차주식회사 딥러닝 기반 앵커 프리 물체 탐지 방법 및 장치
US20220146277A1 (en) * 2020-11-09 2022-05-12 Argo AI, LLC Architecture for map change detection in autonomous vehicles
US11769318B2 (en) * 2020-11-23 2023-09-26 Argo AI, LLC Systems and methods for intelligent selection of data for building a machine learning model
US20220188695A1 (en) * 2020-12-16 2022-06-16 Argo AI, LLC Autonomous vehicle system for intelligent on-board selection of data for training a remote machine learning model
US20220237414A1 (en) * 2021-01-26 2022-07-28 Nvidia Corporation Confidence generation using a neural network
US20220261593A1 (en) * 2021-02-16 2022-08-18 Nvidia Corporation Using neural networks to perform object detection, instance segmentation, and semantic correspondence from bounding box supervision
CN112560876B (zh) * 2021-02-23 2021-05-11 中国科学院自动化研究所 解耦度量的单阶段小样本目标检测方法

Also Published As

Publication number Publication date
US11887324B2 (en) 2024-01-30
KR20230004212A (ko) 2023-01-06
GB2608467A (en) 2023-01-04
US20230005173A1 (en) 2023-01-05
DE102021133340A1 (de) 2023-01-05

Similar Documents

Publication Publication Date Title
US11858508B2 (en) Trajectory prediction from precomputed or dynamically generated bank of trajectories
US11521010B2 (en) Automatically choosing data samples for annotation
US11887324B2 (en) Cross-modality active learning for object detection
KR102565573B1 (ko) 서브시스템 성능 평가를 위한 메트릭 역전파
KR102580085B1 (ko) 자율 주행 차량의 성능을 평가하기 위한 테스트 시나리오의 선택
CN113654564A (zh) 用于运载工具的方法
US11568688B2 (en) Simulation of autonomous vehicle to improve safety and reliability of autonomous vehicle
CN114387322A (zh) 用于运载工具的方法、运载工具和存储介质
CN114120687A (zh) 条件运动预测
CN114812589A (zh) 用于运载工具的方法、自主运载工具和存储介质
CN112014859A (zh) 估计速率分布
CN114812586A (zh) 用于运载工具的系统、方法和存储介质
CN113970924A (zh) 用于运载工具的方法和系统
CN114089375A (zh) 运载工具、用于运载工具的方法和存储介质
US20220357453A1 (en) Lidar point cloud segmentation using box prediction
CN116229407A (zh) 用于运载工具的方法、运载工具和存储介质
CN115077543A (zh) 运载工具及其方法和存储介质
CN113056715B (zh) 用于操作运载工具的方法、运载工具和存储介质
CN115540888A (zh) 导航最优路径的方法、存储介质和运载工具
CN115220439A (zh) 用于运载工具的系统和方法以及存储介质
CN114252066A (zh) 运载工具、用于运载工具的方法以及存储介质
KR20230156770A (ko) Gpu 가속 신경망의 실시간 무결성 체크

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