CN117274944A - 使用机器学习的道路对象的联合检测和分组 - Google Patents

使用机器学习的道路对象的联合检测和分组 Download PDF

Info

Publication number
CN117274944A
CN117274944A CN202310753370.1A CN202310753370A CN117274944A CN 117274944 A CN117274944 A CN 117274944A CN 202310753370 A CN202310753370 A CN 202310753370A CN 117274944 A CN117274944 A CN 117274944A
Authority
CN
China
Prior art keywords
road
objects
training
image
road objects
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
CN202310753370.1A
Other languages
English (en)
Inventor
M·卡布卡布
Y-H·陈
Z·杨
X·陈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waymo LLC
Original Assignee
Waymo LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Waymo LLC filed Critical Waymo LLC
Publication of CN117274944A publication Critical patent/CN117274944A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • 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/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • 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/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096725Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information generates an automatic action on the vehicle control
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096733Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place
    • G08G1/096741Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place where the source of the transmitted information selects which information to transmit to each vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096775Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/165Anti-collision systems for passive traffic, e.g. including static obstacles, trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Atmospheric Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Traffic Control Systems (AREA)

Abstract

一种方法包括获得表示属于特定类别的道路对象的图像,以及基于该图像生成表示该图像的视觉特征的特征图。该方法还包括基于特征图并且针对多个道路对象中的每个相应道路对象,确定图像内检测到相应道路对象的对应的位置以及与相应道路对象相关联的对应的标签值。该方法另外包括基于每个相应道路对象的标签值来确定道路对象的组,并且针对每个相应的组,基于道路对象在相应的组和特定类别中的对应的位置来识别对应的道路状况。该方法还包括生成表示每个相应组的对应的道路状况的输出。

Description

使用机器学习的道路对象的联合检测和分组
技术领域
本发明涉及使用机器学习的道路对象的联合检测和分组。
背景技术
机器学习模型可以用于处理各种类型的数据,包括图像,以生成各种期望的输出。机器学习模型的改进允许模型更快地执行数据处理,利用更少的计算资源进行处理,和/或生成相对更高质量的输出。
发明内容
基于机器学习(ML)的系统可以被配置为检测和分组道路对象。该系统可以被配置为基于包括道路对象的环境的图像来生成表示环境的视觉内容的特征图。特征图可以用于确定指示道路对象的位置的关键点图和指示道路对象的分组的标签图。基于道路对象的位置、道路对象的分组以及道路对象所属于的类别,该系统可以被配置为识别与道路对象的分组相关联的一个或多个道路状况。载具或其他设备可以被配置为基于一个或多个道路状况在道路环境中操作。
在第一示例实施例中,一种方法可以包括获得表示属于特定类别的多个道路对象的图像,以及使用编码器模型并基于该图像生成表示图像视觉特征的多个特征图。该方法还可以包括基于多个特征图并针对多个道路对象中的每个相应道路对象,确定图像内已经检测到相应道路对象的对应的位置。该方法可以另外包括基于多个特征图并针对多个道路对象中的每个相应道路对象,确定与相应道路对象相关联的对应的标签值,以及基于多个道路对象中的每个相应道路对象的标签值确定多个道路对象的一个或多个组。一个或多个组中的每个相应组可以包括两个或更多个对应的道路对象。该方法还可以包括基于(i)相应组中两个或更多个对应的道路对象的对应的位置和(ii)多个道路对象的特定类别,为一个或多个组中的每个相应组识别对应的道路状况。该方法还可以包括生成表示一个或多个组中的每个相应组的对应的道路状况的输出。
在第二示例实施例中,系统可以包括处理器和其上存储有指令的非暂时性计算机可读介质,当由处理器执行时,该指令使处理器执行根据第一示例实施例的操作。
在第三示例实施例中,非暂时性计算机可读介质上可以存储有指令,当由计算设备执行时,该指令使计算设备执行根据第一示例实施例的操作。
在第四示例实施例中,系统可以包括用于执行第一示例实施例的每个操作的各种部件。
通过阅读以下详细说明,并在适当时参考附图,这些以及其他实施例、方面、优点和替代方案对本领域普通技术人员而言将变得清晰。此外,本文提供的本概述和其他描述和附图旨在仅通过示例的方式来说明实施例,并且同样地,许多变化是可能的。例如,结构元素和过程步骤可以被重新布置、组合、分布、消除或以其他方式改变,同时保持在所要求保护的实施例的范围内。
附图说明
图1是示出根据本文描述的示例的载具的功能框图。
图2A、图2B、图2C、图2D和图2E包含根据本文描述的示例的载具的物理配置的图示。
图2F、图2G、图2H和图2I包含根据本文描述的示例的载具的物理配置的图示。
图2J是根据本文描述的示例的各种传感器的视场(field of view)的图示。
图2K是根据本文描述的示例的传感器光束转向的图示。
图3是根据本文描述的示例的与自主或半自主载具相关的各种计算系统之间的无线通信的概念性图示。
图4示出了根据本文描述的示例的道路对象的联合检测和分组系统。
图5A示出了根据本文描述的示例的表示道路对象的图像。
图5B示出了根据本文描述的示例的关键点图。
图5C示出了根据本文描述的示例的标签图。
图5D示出了根据本文描述的示例的注释图像。
图6示出了根据本文描述的示例的标签ML模型的方面。
图7示出了根据本文描述的示例的训练系统。
图8是根据本文描述的示例的流程图。
具体实施方式
本文描述了示例方法、设备和系统。应当理解,这里使用的词语“示例”和“示例性的”表示“用作示例、实例或说明”。本文描述为“示例”、“示例性”和/或“说明性”的任何实施例或特征不一定被解释为优于或更有利于其它实施例或特征,除非如此说明。因此,在不脱离本文提出的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。
因此,本文描述的示例实施例不具有限制性。将容易理解,如在本文中一般地描述的和在附图中示出的本公开的方面,可以以多种不同的配置进行布置、替换、组合、分离和设计。
此外,除非上下文另有说明,每个图中所示的特征可以相互组合使用。因此,附图通常应被视为一个或多个总体实施例的组成方面,应理解并非所有示出的特征对于每个实施例都是必要的。
此外,本说明书或权利要求书中的任何元素、块或步骤的列举都是为了清楚起见。因此,这种列举不应被解释为要求或暗示这些元素、块或步骤遵循特定的安排或以特定的顺序执行。除非另有说明,否则附图不是按比例绘制的。
一、概述
基于机器学习(ML)的系统可以被配置为对环境中的道路对象进行识别和分组。道路对象可以在环境的图像内表示。该图像可以通过例如编码模型来处理,以生成表示该图像的视觉内容的特征图。该特征图可以用于生成(i)指示图像内检测到道路对象的位置的关键点图,(ii)校正关键点图中由于下采样而导致的分辨率损失的偏移图,以及(iii)指示关键点图内检测到的道路对象的分组的一个或多个标签图。因此,关键点图可以用于检测道路对象,偏移图可以用于确定(例如,细化)图像内检测到的道路对象的位置,并且(多个)标签图可以用于识别检测到的道路对象的组。
在一些实施方式中,可以联合地、同时地和/或并行地确定关键点图、偏移图和标签图中的每个。也就是说,关键点图的确定可能不取决于作为输入的偏移图和/或标签图,偏移图的确定可能不取决于作为输入的关键点图和/或标签图,并且标签图的确定可能不取决于作为输入的关键点图和/或偏移图。虽然关键点图、偏移图和/或标签图的确定可以彼此独立(并且因此可以同时和/或并行执行),但是来自这些图(map)的信息可以被组合以确定道路对象的位置和分组。
系统可以被配置为通过将(i)属于特定类别和(ii)与标签图中的相似标签值相关联的道路对象分组在一起,来确定检测到的对象的组。在一些实施方式中,系统可以被配置为通过生成关键点图、偏移图和/或标签图的特定于类别的实例来处理不同类别的道路对象。关键点图、偏移图和/或标签图的这些特定于类别的实例可以使用特定于类别的ML模型或者已经被训练以针对多个不同的对象类别进行操作的ML模型来生成。
两个或更多个道路对象的分组可以用于确定与该分组相关联的道路状况。具体地,两个或更多个对象的类别、两个或更多个对象的相应的位置以及同一组中两个或更多个对象的成员资格可以指示和/或发信号通知道路状况。例如,两个或更多个交通锥可以将环境的一个区域描绘(delineate)为施工区(zone)或事故区,并且因此可以指示该环境的该区域不可被载具穿越。
在道路状况的早期检测很重要的情况下,可能特别期望基于图像数据的道路对象进行联合、同时和/或并行检测和分组。例如,对于具有低减速能力的载具(例如,半挂卡车、大型乘用车等)、可操纵性较低的载具和/或高速行驶的载具等,道路状况的早期检测可能是重要的。
本文描述的检测和分组系统和/或操作可以执行得更快,使用的计算资源更少,和/或比串行方法更准确,在串行方法中,对象分组是基于对象检测(因此是在对象检测之后)进行的,和/或可能使用更复杂的(例如,三维)环境表示。这样的串行方法可能花费更多时间来完成,因为对象分组的执行取决于对象检测的完成。此外,由于对象分组接收对象检测的输出作为输入,所以这样的串行方法可能不太准确,因为任何对象检测误差都可能传播到对象分组。
二、示例载具系统
以下说明和附图将阐明各种示例实施例的特征。所提供的实施例是通过示例的方式,而不是旨在限制。因此,附图的尺寸不一定按比例绘制。
现在将对本公开范围内的示例系统进行更详细的描述。示例系统可以在汽车中实现或者可以采取汽车的形式。此外,示例系统也可以在各种载具中实现或采取各种载具的形式,诸如小汽车、卡车(例如,皮卡车、厢式货车、牵引车、牵引车拖车等)、摩托车、公共汽车、飞机、直升机、无人机、割草机、推土机、船、潜艇、全地形车、雪地车、飞行器、休闲车、游乐园车、农场设备或载具、施工设备或载具、仓库设备或载具、工厂设备或载具、电车、高尔夫球车、火车、手推车、人行道递送车、机器人设备等。其他载具也是可能的。此外,在一些实施例中,示例系统可能不包括载具。
现在参考附图,图1是示出了示例载具100的功能框图,该载具100可以被配置为完全地或部分地以自主模式操作。更具体地,载具100可以通过从计算系统接收控制指令来在没有人类交互的自主模式下操作。作为在自主模式下操作的一部分,载具100可以使用传感器来检测并可能地识别周围环境的对象,以实现安全导航。此外,示例载具100可以在部分自主(即,半自主)模式下操作,其中,载具100的一些功能由载具100的人类驾驶员控制,并且载具100的一些功能由计算系统控制。例如,载具100还可以包括子系统,该子系统使得驾驶员能够控制载具100的操作,诸如转向、加速和制动,同时计算系统执行协助功能,诸如车道偏离警告/车道保持协助或基于周围环境中的其他对象(例如,载具等)的自适应定速巡航。
如本文描述的,在部分自主驾驶模式下,即使载具协助一个或多个驾驶操作(例如,转向、制动和/或加速以执行车道居中、自适应定速巡航、高级驾驶员协助系统(ADAS)、紧急制动等),人类驾驶员被预期显著了解载具周围的情况,并监督协助驾驶操作。在这里,即使载具可以在某些情形下执行所有的驾驶任务,人类驾驶员也被预期负责根据需要进行控制。
尽管为简洁起见,下文组合自主载具描述了各种系统和方法,但这些或类似系统和方法可以用于未达到完全自主驾驶系统级别的各种驾驶员协助系统(即,部分自主驾驶系统)。在美国,汽车工程师协会(SAE)已经定义了不同级别的自动驾驶操作,以指示载具控制驾驶的程度,尽管美国或其他国家的不同组织可能对级别进行不同的分类。更具体地,所公开的系统和方法可以用于SAE级别2驾驶员协助系统,该系统实现转向、制动、加速、车道居中、自适应定速巡航等以及其他驾驶员支持。所公开的系统和方法可以用在SAE级别3驾驶协助系统中,该系统能够在有限状况下(例如,高速公路等)自主驾驶。同样,所公开的系统和方法可以用在使用SAE级别4自驾驶系统的载具中,该自驾驶系统在大多数常规驾驶情形下自主操作,并且仅要求人类操作员偶尔注意。在所有这样的系统中,准确的车道估计可以在没有驾驶员输入或控制(例如,当载具在运动时等)的情况下自主执行并导致提高载具定位和导航的可靠性以及自主、半自主和其他驾驶员协助系统的整体安全性。如前所述,除了SAE对自动驾驶操作的级别进行分类的方式之外,美国或其他国家的其他组织可能对自动驾驶操作的级别进行不同的分类。不限于此,本文公开的系统和方法可以用于由这些其他组织的自动驾驶操作水平定义的驾驶协助系统。
如图1所示,载具100可以包括各种子系统,诸如推进系统102、传感器系统104、控制系统106、一个或多个外围设备108、电源110、具有数据存储装置114的计算机系统112(也可以称为计算系统)和用户接口116。在其他示例中,载具100可以包括更多或更少的子系统,每个子系统可以包括多个元件。载具100的子系统和组件可以以各种方式互连。此外,在实施例中,本文中描述的载具100的功能可以被划分为附加的功能或物理组件,或者被组合为更少的功能或物理组件。例如,控制系统106和计算机系统112可以组合成根据各种操作来操作载具100的单个系统。
推进系统102可以包括可操作以为载具100提供动力运动的一个或多个组件,并且可以包括引擎/马达118、能量源119、变速器120和车轮/轮胎121,以及其他可能的组件。例如,引擎/马达118可以被配置为将能量源119转换成机械能,并且可以对应于内燃机、电动马达、蒸汽机或斯特林引擎中的一个或组合,以及其他可能选项。例如,在一些实施例中,推进系统102可以包括多种类型的引擎和/或马达,诸如汽油引擎和电动马达。
能量源119表示可以全部或部分地为载具100的一个或多个系统(例如,引擎/马达118等)提供动力的能量的源。例如,能量源119可以对应于汽油、柴油、其他基于石油的燃料、丙烷、其他基于压缩气体的燃料、乙醇、太阳能电池板、电池和/或其他电力的源。在一些实施例中,能量源119可以包括燃料箱、电池、电容器和/或飞轮的组合。
变速器120可以将来自引擎/马达118的机械动力发送到车轮/轮胎121和/或载具100的其他可能系统。照此,变速器120可以包括齿轮箱、离合器、差速器和驱动轴,以及其他可能的组件。驱动轴可以包括连接到一个或多个车轮/轮胎121的轮轴(axles)。
在示例实施例中,载具100的车轮/轮胎121可以具有各种的配置。例如,载具100可以以独轮车、自行车/摩托车、三轮车或小汽车/卡车四轮形式以及其他可能的配置存在。照此,车轮/轮胎121可以以各种方式连接到载具100,并且可以以不同的材料存在,诸如金属和橡胶。
传感器系统104可以包括各种类型的传感器,诸如全球定位系统(GPS)122、惯性测量单元(IMU)124、雷达126、激光雷达(lidar)128、相机130、转向传感器123和节气门/制动器传感器125,以及其他可能的传感器。在一些实施例中,传感器系统104还可以包括配置为监视载具100的内部系统的传感器(例如,O2监视器、燃料表、引擎油温、制动器磨损等)。
GPS 122可以包括收发器,可操作以提供关于载具100相对于地球的位置的信息。IMU 124可以具有使用一个或多个加速度计和/或陀螺仪的配置,并且可以基于惯性加速度感测载具100的位置和朝向改变。例如,当载具100静止或运动时,IMU 124可以检测载具100的俯仰和偏转。
雷达126可以表示一个或多个系统,该系统被配置为使用无线电信号感测载具100周围环境内的对象,包括对象的速率和走向(heading)。照此,雷达126可以包括被配置为发送和接收无线电信号的天线。在一些实施例中,雷达126可以对应于被配置为获得载具100的周围环境的测量的可安装雷达。
激光雷达128可以包括一个或多个激光源、激光扫描仪和一个或多个检测器,以及其他系统组件,并且可以在相干模式下操作(例如,使用外差检测等)或非相干检测模式(即,飞行时间模式)。在一些实施例中,激光雷达128的一个或多个检测器可以包括一个或多个光电检测器,该光电检测器可以是特别敏感的检测器(例如,雪崩光电二极管等)。在一些示例中,这样的光电检测器可能能够探测单光子(例如,单光子雪崩二极管(SPAD)等)。此外,这样的光电检测器可以被布置(例如,通过串联的电连接等)成阵列(例如,在硅光电倍增器(SiPM)中等)。在一些示例中,一个或多个光电检测器是盖革模式(Geiger-mode)操作的设备,并且激光雷达包括为这样的盖革模式操作设计的子组件。
相机130可以包括被配置为捕捉载具100的周围环境的图像的一个或多个设备(例如,静态相机、视频相机、热成像相机、立体相机、夜视相机等)。
转向传感器123可以感测载具100的转向角,这可以涉及测量方向盘角度或测量表示方向盘角度的电信号。在一些实施例中,转向传感器123可以测量载具100的车轮的角度,诸如感测车轮相对于载具100的前轴的角度。转向传感器123还可以被配置为测量方向盘角度、表示方向盘角度的电信号和载具100的车轮角度的组合(或子集)。
节气门/制动器传感器125可以检测载具100的节气门定位或制动器定位中的定位。例如,节气门/制动器传感器125可以测量油门踏板(gas pedal)(节气门)和制动器踏板的角度,或者可以测量电信号,该电信号可以表示例如油门踏板(节气门)的角度和/或制动器踏板的角度。节气门/制动器传感器125还可以测量载具100的节气门体的角度,该节气门体可以包括向引擎/马达118提供能量源119的调制的物理机构的一部分(例如,蝶形阀、化油器等)。此外,节气门/制动器传感器125可以测量载具100的转子上的一个或多个制动片的压力,或者油门踏板(节气门)和制动器踏板的角度、表示油门踏板(节气门)和制动器踏板的角度的电信号、节气门体的角度、以及至少一个制动片施加到载具100的转子上的压力的组合(或子集)。在其他实施例中,节气门/制动器传感器125可以被配置为测量施加到载具的踏板,诸如节气门或制动器踏板的压力。
控制系统106可以包括配置为协助导航载具100的组件,诸如转向单元132、节气门134、制动器单元136、传感器融合算法138、计算机视觉系统140、导航/路径系统142和避障系统144。更具体地,转向单元132可以可操作以调整载具100的走向,并且节气门134可以控制引擎/马达118的操作速率以控制载具100的加速度。制动器单元136可以使载具100减速,这可以涉及使用摩擦力来使车轮/轮胎121减速。在一些实施例中,制动器单元136可以将车轮/轮胎121的动能转换为电流以供载具100的一个或多个系统随后使用。
传感器融合算法138可以包括卡尔曼滤波器、贝叶斯网络或可以处理来自传感器系统104的数据的其他算法。在一些实施例中,传感器融合算法138可以基于输入的传感器数据提供评估,诸如对个体对象和/或特征的评价、对特定情形的评价和/或对给定情形下的潜在影响的评价。
计算机视觉系统140可以包括硬件和软件(例如,诸如中央处理单元(CPU)等通用处理器、诸如图形处理单元(GPU)或张量处理单元(TPU)等专用处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、易失性存储器、非易失性存储器、一个或多个机器学习模型等)可操作以处理和分析图像,以致力于确定运动中的对象(例如,其他载具、行人、骑自行车的人、动物等)和不运动的对象(例如,交通灯、道路边界、减速带、坑洞等)。照此,计算机视觉系统140可以使用对象识别、运动恢复结构(SFM)、视频跟踪和计算机视觉中使用的其他算法,例如,来识别对象、绘制环境地图、跟踪对象、估计对象的速率等。
导航/路径系统142可以确定载具100的驾驶路径,这可能涉及在操作期间动态调整导航。照此,导航/路径系统142可以使用来自传感器融合算法138、GPS 122和地图以及其他源的数据来导航载具100。避障系统144可以基于传感器数据评价潜在障碍,并使载具100的系统避免或以其他方式成功通过(negotiate)潜在障碍。
如图1所示,载具100还可以包括外围设备108,诸如无线通信系统146、触摸屏148、内部麦克风150和/或扬声器152。外围设备108可以提供用于用户与用户接口116交互的控件或其他元件。例如,触摸屏148可以向载具100的用户提供信息。用户接口116也可以经由触摸屏148接受来自用户的输入。外围设备108还可以使载具100能够与诸如其他载具设备的设备通信。
无线通信系统146可以直接或经由通信网络与一个或多个设备进行无线通信。例如,无线通信系统146可以使用3G蜂窝通信,诸如码分多址(CDMA)、演进数据优化(EVDO)、全球移动通信系统(GSM)/通用分组无线电业务(GPRS),或者蜂窝通信,诸如4G全球微波接入互操作性(WiMAX)或者长期演进(LTE),或者5G。可替代地,无线通信系统146可以使用或其他可能的连接与无线局域网(WLAN)通信。例如,无线通信系统146还可以使用红外链路、蓝牙或ZigBee直接与设备通信。在本公开的上下文中,其他无线协议,诸如各种载具通信系统,也是可能的。例如,无线通信系统146可以包括一个或多个专用短程通信(DSRC)设备,其可以包括载具和/或路边站之间的公共和/或私人数据通信。
载具100可以包括用于为组件供电的电源110。在一些实施例中,电源110可以包括可充电锂离子或铅酸电池。例如,电源110可以包括被配置为提供电力的一个或多个电池。载具100还可以使用其他类型的电源。在示例实施例中,电源110和能量源119可以集成到单个能量源中。
载具100还可以包括计算机系统112以执行操作,诸如本文中描述的操作。照此,计算机系统112可以包括至少一个处理器113(其可以包括至少一个微处理器),该处理器113可操作以执行存储在诸如数据存储装置114的非暂时性计算机可读介质中的指令115。在一些实施例中,计算机系统112可以表示多个计算设备,这些计算设备可以服务于以分布式方式控制载具100的个体组件或子系统。
在一些实施例中,数据存储装置114可以包含可由处理器113执行以执行载具100的各种功能(包括上面组合图1描述的那些)的指令115(例如,程序逻辑等)。数据存储装置114还可以包含附加指令,包括用于向推进系统102、传感器系统104、控制系统106和外围设备108中的一个或多个发送数据、从其接收数据、与之交互和/或对其进行控制的指令。
除指令115之外,数据存储装置114还可以存储诸如道路图、路径信息以及其它信息的数据。在载具100以自主、半自主和/或手动模式操作期间,载具100和计算机系统112可以使用这样的信息。
载具100可以包括用于向载具100的用户提供信息或从载具100的用户接收输入的用户接口116。用户接口116可以控制可以显示在触摸屏148上的交互式图像的内容和/或布局,或启用对可以显示在触摸屏148上的交互式图像的内容和/或布局的控制。此外,用户接口116可以包括一组外围设备108内的一个或多个输入/输出设备,诸如无线通信系统146、触摸屏148、麦克风150和扬声器152。
计算机系统112可以基于从各种子系统(例如,推进系统102、传感器系统104、控制系统106等)以及从用户接口116接收的输入来控制载具100的功能。例如,计算机系统112可以利用来自传感器系统104的输入来估计推进系统102和控制系统106产生的输出。取决于实施例,计算机系统112可以可操作以监视载具100及其子系统的许多方面。在一些实施例中,计算机系统112可以基于从传感器系统104接收的信号禁用载具100的一些或所有功能。
载具100的组件可以被配置为以与它们相应的系统之内或之外的其他组件互连的方式工作。例如,在示例实施例中,相机130可以捕捉多个图像,这些图像可以表示关于以自主或半自主模式操作的载具100的周围环境的状态的信息。周围环境的状态可以包括载具在其上操作的道路的参数。例如,计算机视觉系统140可能能够基于道路的多个图像来识别斜坡(坡度)或其他特征。此外,GPS 122和由计算机视觉系统140识别的特征的组合可以与存储在数据存储装置114中的地图数据一起使用以确定特定道路参数。此外,雷达126和/或激光雷达128和/或一些其他环境测绘、测距和/或定位传感器系统也可以提供关于载具周围环境的信息。
换句话说,各种传感器(其可被称为输入指示和输出指示传感器)的组合和计算机系统112可以交互以提供被提供以控制载具的输入的指示或载具的周围环境的指示。
在一些实施例中,计算机系统112可以基于由除无线电系统之外的系统提供的数据来做出关于各种对象的确定。例如,载具100可以具有被配置为感测载具的视场中的对象的激光器或其他光学传感器。计算机系统112可以使用来自各种传感器的输出来确定关于载具的视场中的对象的信息,并且可以确定到各种对象的距离和方向信息。计算机系统112还可以基于来自各种传感器的输出来确定对象是期望的还是不期望的。
虽然图1将载具100的各种组件(即无线通信系统146、计算机系统112、数据存储装置114和用户接口116)示出为被集成到载具100中,但是可以与载具100分离地安装或者关联这些组件中的一个或多个。例如,数据存储装置114可以部分或全部地与载具100分离存在。因此,可以以可分离地或一起定位的设备元件的形式提供载具100。构成载具100的设备元件可以以有线和/或无线方式通信地耦接在一起。
图2A-图2E示出了示例载具200(例如,全自主载具或半自主载具等),其可以包括参考图1组合载具100描述的一些或所有功能。尽管为了说明的目的,载具200在图2A-图2E中被示为具有侧视镜的厢式货车,但是本公开不限于此。例如,载具200可以表示卡车、小汽车、半挂卡车、摩托车、高尔夫球车、越野车、农用载具或本文别处描述的任何其他载具(例如,公共汽车、船、飞机、直升机、无人机、割草机、推土机、潜艇、全地形车、雪地车、飞行器、休闲车、游乐园车、农场设备、施工设备或载具、仓库设备或载具、工厂设备或载具、电车、火车、手推车、人行道递送车和机器人设备等)。
示例载具200可以包括一个或多个传感器系统202、204、206、208、210、212、214和218。在一些实施例中,传感器系统202、204、206、208、210、212、214和/或218可以表示一个或多个光学系统(例如,相机等)、一个或多个激光雷达、一个或多个雷达、一个或多个惯性传感器、一个或多个湿度传感器、一个或多个声学传感器(例如,麦克风、声纳设备等),或者被配置为感测关于载具200周围环境的信息的一个或多个其他传感器。换句话说,现在已知或以后创建的任何传感器系统都可以耦接到载具200和/或可以与载具200的各种操作组合使用。例如,激光雷达可以用于载具200的自驾驶或其他类型的导航、规划、感知和/或绘制地图操作。此外,传感器系统202、204、206、208、210、212、214和/或218可以表示本文描述的传感器的组合(例如,一个或多个激光雷达和雷达;一个或多个激光雷达和相机;一个或多个相机和雷达;一个或多个激光雷达、相机和雷达;等等)。
注意图2A到图2E中描绘的传感器系统(例如,202、204等)的数量、位置和类型旨在作为这种自主或半自主载具的传感器系统的位置、数量和类型的非限制性示例。这样的传感器的替代数量、位置、类型和配置是可能的(例如,与载具尺寸、形状、空气动力学、燃料经济性、美学或其他条件相适应,以降低成本,以适应专门的环境或应用情况等)。例如,传感器系统(例如,202、204等)可以设置在载具上的各种其他位置(例如,在位置216等)并且可以具有对应于载具200的内部和/或周围环境的视场。
传感器系统202可以安装在载具200的顶部,并且可以包括一个或多个传感器,该传感器被配置为检测关于载具200周围环境的信息,并输出该信息的指示。例如,传感器系统202可以包括相机、雷达、激光雷达、惯性传感器、湿度传感器和声学传感器(例如,麦克风、声纳设备等)的任意组合。传感器系统202可以包括一个或多个可移动的安装件(mount),该安装件可以可操作以调整传感器系统202中的一个或多个传感器的朝向。在一个实施例中,可移动安装件可以包括旋转平台,该旋转平台可以使传感器扫描以便从载具200周围的每个方向获得信息。在另一个实施例中,传感器系统202的可移动安装件可以在特定的角度和/或方位角和/或仰角范围内以扫描方式可移动。传感器系统202可以安装在小汽车车顶上,尽管其他安装位置也是可能的。
此外,传感器系统202的传感器可以分布在不同的位置,并且不需要并置(collocated)在单个位置。此外,传感器系统202的每个传感器可以被配置为独立于传感器系统202的其他传感器移动或扫描。附加地或替代地,多个传感器可以安装在传感器位置202、204、206、208、210、212、214和/或218中的一个或多个处。例如,可能有两个激光雷达设备安装在传感器位置,和/或可能有一个激光雷达设备和一个雷达安装在传感器位置。
一个或多个传感器系统202、204、206、208、210、212、214和/或218可以包括一个或多个激光雷达传感器。例如,激光雷达传感器可以包括相对于给定平面(例如,x-y平面等)在一定角度范围内布置的多个光发射器设备。例如,传感器系统202、204、206、208、210、212、214和/或218中的一个或多个可以被配置为围绕垂直于给定平面的轴(例如,z轴等)旋转或枢转,以便用光脉冲照明载具200周围的环境。基于检测反射光脉冲的各个方面(例如,飞行时间、偏振、强度等),可以确定关于周围环境的信息。
在示例实施例中,传感器系统202、204、206、208、210、212、214和/或218可以被配置为提供与载具200周围环境中的物理对象相关的相应点云信息。虽然载具200和传感器系统202、204、206、208、210、212、214和218被示出为包括某些特征,但是应当理解,在本公开的范围内还考虑了其他类型的传感器系统。此外,示例载具200可以包括组合图1的载具100描述的任何组件。
在示例配置中,一个或多个雷达可以位于载具200上。类似于上述雷达126,一个或多个雷达可以包括被配置为发送和接收无线电波(例如,频率在30Hz和300GHz之间的电磁波等)的天线。这样的无线电波可以用于确定载具200周围环境中一个或多个对象的距离和/或速度。例如,一个或多个传感器系统202、204、206、208、210、212、214和/或218可以包括一个或多个雷达。在一些示例中,一个或多个雷达可以位于载具200的后部附近(例如,传感器系统208、210等),以主动扫描载具200后部附近的环境,寻找无线电反射对象的存在。类似地,一个或多个雷达可以位于载具200的前方附近(例如,传感器系统212、214等)以主动扫描载具200前方附近的环境。例如,雷达可以位于适合照明包括载具200的向前移动路径而不会被载具200的其他特征遮挡的区域的位置。例如,雷达可以嵌入和/或安装在前保险杠、前大灯、车罩(cowl)和/或引擎盖等中或附近。此外,可以定位一个或多个附加雷达,以主动扫描载具200的侧面和/或后面,以寻找无线电反射对象的存在,诸如通过在后保险杠、侧围板、踏脚板(rocker panel)和/或底盘等中或附近包括这样的设备。
载具200可以包括一个或多个相机。例如,一个或多个传感器系统202、204、206、208、210、212、214和/或218可以包括一个或多个相机。该相机可以是光敏仪器,诸如静态相机、摄像机、热成像相机、立体相机、夜视相机等,其被配置为捕捉载具200的周围环境的多个图像。为此,相机可以被配置为检测可见光,并且可以附加地或替代地被配置为检测来自光谱的其他部分的光,诸如红外光或紫外光。相机可以是二维检测器,并且可以可选地具有三维空间范围的灵敏度。在一些实施例中,相机可以包括例如范围检测器(rangedetector),该范围检测器被配置为生成指示从相机到周围环境中的多个点的距离的二维图像。为此,相机可以使用一种或多种范围检测技术。例如,相机可以通过使用结构光技术来提供范围信息,在该结构光技术中,载具200以预定的光图案(诸如网格或棋盘图案)照明周围环境中的对象,并使用相机来检测预定光图案从周围环境的反射。基于反射光图案的失真,载具200可以确定到对象上的点的距离。预定的光图案可以包括红外光,或者用于这样的测量的其他合适波长的辐射。在一些示例中,相机可以安装在载具200的前挡风玻璃内。具体地,相机可以位于为从相对于载具200的朝向的前视视角捕捉图像。也可以使用相机的其他安装位置和视角,无论在载具200内部或外部。此外,相机可以具有相关联的光学器件,可操作以提供可调整的视场。更进一步,相机可以用可移动的安装件安装到载具200上,以改变相机的指向角度,诸如通过平摇(pan)/倾斜机构。
载具200还可以包括用于感测载具200的周围环境的一个或多个声学传感器(例如,一个或多个传感器系统202、204、206、208、210、212、214、216、218可以包括一个或多个声学传感器等)。声学传感器可以包括用于感测载具200周围环境的流体(例如,空气等)中的声波(即,压力差)的麦克风(例如,压电麦克风、电容式麦克风、带式麦克风、微机电系统(MEMS)麦克风等)。这样的声学传感器可以用于识别周围环境中的声音(例如,警笛、人类语音、动物声音、警报等),载具200的控制策略可以基于此。例如,如果声学传感器检测到警笛(例如,非固定的警笛、消防车警笛等),载具200可以减速和/或导航到道路边缘。
虽然没有在图2A-图2E中示出,但载具200可以包括无线通信系统(例如,类似于图1的无线通信系统146和/或除图1的无线通信系统146之外的系统等)。无线通信系统可以包括无线发射器和接收器,其可以被配置为与载具200外部或内部的设备通信。具体地,无线通信系统可以包括被配置为与其他载具和/或计算设备进行通信的收发器,例如,在车辆通信系统或道路站中。这样的载具通信系统的示例包括DSRC、射频识别(RFID)以及针对智能运输系统的其他提议的通信标准。
载具200可以包括一个或多个其他组件,以补充或替代所示组件。附加组件可以包括电气或机械功能。
载具200的控制系统可以被配置为根据多种可能的控制策略当中的控制策略控制载具200。控制系统可以被配置为从耦接到载具200(在载具200上或在载具200外)的传感器接收信息,基于该信息修改控制策略(和相关联的驾驶行为),并且根据修改的控制策略控制载具200。控制系统还可以被配置为监视从传感器接收的信息,并连续评价驾驶状况;并且还可以被配置为基于驾驶状况的改变来修改控制策略和驾驶行为。例如,载具从一个目的地到另一个目的地所采用的路线可以基于驾驶状况来修改。附加地或替代地,速度、加速度、转角、跟随距离(即,到当前载具前方的载具的距离)、车道选择等,都可以响应于驾驶条件的改变进行修改。
如上所述,在一些实施例中,载具200可以采用厢式货车的形式,但替代形式也是可能的,并且在本文中也有所考虑。照此,图2F-图2I示出了载具250采取半挂卡车形式的实施例。例如,图2F示出了载具250的前视图,并且图2G示出了载具250的等距视图。在载具250是半挂卡车的实施例中,载具250可以包括牵引车部分260和拖车部分270(如图2G示出)。图2H和图2I分别提供了牵引器部分260的侧视图和俯视图。类似于上面示出的载具200,图2F-图2I中示出的载具250也可以包括各种传感器系统(例如,类似于参考图2A-图2E示出和描述的传感器系统202、206、208、210、212、214)。在一些实施例中,尽管图2A-图2E的载具200可以仅包括一些传感器系统的单个副本(例如,传感器系统204),但是图2F-图2I中所示的载具250可以包括该传感器系统的多个副本(例如,如图所示的传感器系统204A和204B)。
尽管附图和说明书可能涉及给定形式的载具(例如,半挂卡车250或厢式货车200),但是应当理解,本文描述的实施例可以同样应用于各种载具情境中(例如,考虑到载具的形式因素而进行的修改)。例如,被描述或图示为厢式货车200的一部分的传感器和/或其他组件也可以用在半挂卡车载具250中(例如,用于导航和/或障碍物检测和避免)。
图2J示出了各种传感器视场(例如,与上述载具250相关联)。如上所述,载具250可以包含多个传感器/传感器单元。例如,各种传感器的位置可以对应于图2F-图2I中公开的传感器的位置。然而,在一些实例中,传感器可以具有其他位置。为了简化附图,图2J中省略了传感器位置附图标记。对于载具250的每个传感器单元,图2J示出了代表性的视场(例如,标记为252A、252B、252C、252D、254A、254B、256、258A、258B和258C的视场)。传感器的视场可以包括角度区域(例如,方位角区域和/或仰角区域),传感器可以在该角度区域上检测对象。
图2K示出了根据示例实施例的用于载具(例如,参照图2F-图2J示出和描述的载具250)传感器的波束转向。在各种实施例中,载具250的传感器单元可以是雷达、激光雷达、声纳等。此外,在一些实施例中,在传感器操作期间,可以在传感器的视场内扫描传感器。示例传感器的各种不同扫描角度被示为区域272,每个区域指示传感器操作的角度区域。传感器可以周期性地或反复地改变它正在操作的区域。在一些实施例中,载具250可以使用多个传感器来测量区域272。此外,在其他示例中可以包括其他区域。例如,一个或多个传感器可以测量载具250的拖车270的各个方面和/或载具250正前方的区域。
在一些角度,传感器的操作区域275可以包括拖车270的后轮276A、276B。因此,传感器可以在操作期间测量后轮276A和/或后轮276B。例如,后轮276A、276B可以反射由传感器发送的激光雷达信号或雷达信号。传感器可以接收来自后轮276A、276的反射信号。因此,传感器收集的数据可以包括来自车轮反射的数据。
在一些实例中,例如当传感器是雷达时,来自后轮276A、276B的反射可以作为噪声出现在接收的雷达信号中。因此,在后轮276A、276B引导雷达信号远离传感器的实例中,雷达可以以增强的信噪比操作。
图3是根据示例实施例,与自主或半自主载具相关的各种计算系统之间的无线通信的概念性图示。特别地,无线通信可以经由网络304发生在远程计算系统302和载具200之间。无线通信也可以发生在服务器计算系统306和远程计算系统302之间,以及服务器计算系统306和载具200之间。
载具200可以对应于能够在不同位置之间运送乘客或对象的各种类型的载具,并且可以采用上述任何一种或多种载具的形式。在一些实例中,载具200可以以自主或半自主模式操作,这使得控制系统能够使用传感器测量在目的地之间安全地导航载具200。当以自主或半自主模式操作时,载具200可以在有或没有乘客的情况下导航。结果,载具200可以在期望的目的地之间接起和放下(pick up and drop off)乘客。
远程计算系统302可以表示与远程协助技术相关的任何类型的设备,包括但不限于本文描述的设备。在示例中,远程计算系统302可以表示任何类型的设备,该设备被配置为(i)接收与载具200相关的信息,(ii)提供接口,通过该接口人类操作员可以依次感知信息并输入与信息相关的响应,以及(iii)将响应发送到载具200或其他设备。远程计算系统302可以采取各种形式,诸如工作站、台式计算机、膝上型电脑、平板电脑、移动电话(例如,智能电话等)、和/或服务器。在一些示例中,远程计算系统302可以包括在网络配置中一起操作的多个计算设备。
远程计算系统302可以包括与载具200的子系统和组件相似或相同的一个或多个子系统和组件。至少,远程计算系统302可以包括被配置用于执行本文描述的各种操作的处理器。在一些实施例中,远程计算系统302还可以包括用户接口,该用户接口包括输入/输出设备,诸如触摸屏和扬声器。其他示例也是可能的。
网络304表示使得能够在远程计算系统302和载具200之间进行无线通信的基础设施。网络304还使得能够在服务器计算系统306和远程计算系统302之间以及服务器计算系统306和载具200之间进行无线通信。
远程计算系统302的位置可以在示例中变化。例如,远程计算系统302可以具有远离载具200的位置,载具200具有经由网络304的无线通信。在另一个示例中,远程计算系统302可以对应于载具200内的计算设备,该计算设备与载具200分离,但是人类操作员可以使用该计算设备与载具200的乘客或驾驶员交互。在一些示例中,远程计算系统302可以是具有可由载具200的乘客操作的触摸屏的计算设备。
在一些实施例中,本文描述的由远程计算系统302执行的操作可以由载具200附加或替代地执行(即,由载具200的任何(多个)系统或(多个)子系统执行)。换句话说,载具200可以被配置为提供远程协助机制,载具的驾驶员或乘客可以与该远程协助机制进行交互。
服务器计算系统306可以被配置为经由网络304与远程计算系统302和载具200无线通信(或可能直接与远程计算系统302和/或载具200通信)。服务器计算系统306可以表示被配置为接收、存储、确定和/或发出与载具200及其远程协助相关的信息的任何计算设备。照此,服务器计算系统306可以被配置为执行任何(多个)操作或这些(多个)操作的一部分,这些操作在这里被描述为由远程计算系统302和/或载具200执行。与远程协助相关的无线通信的一些实施例可以利用服务器计算系统306,而其他实施例可以不利用。
服务器计算系统306可以包括与远程计算系统302和/或载具200的子系统和组件相似或相同的一个或多个子系统和组件,诸如被配置用于执行本文描述的各种操作的处理器,以及用于从远程计算系统302和载具200接收信息和向其提供信息的无线通信接口。
上述各种系统可以执行各种操作。现在将描述这些操作和相关特征。
根据上述讨论,计算系统(例如,远程计算系统302、服务器计算系统306、载具200本地的计算系统等)可以操作以使用相机以捕捉自主或半自主载具的周围环境的图像。通常,至少一个计算系统将能够分析图像并且可以控制自主或半自主载具。
在一些实施例中,为了促进自主或半自主操作,载具(例如,载具200等)可以以各种方式接收表示载具周围环境中的对象的数据(这里也称为“环境数据”)。载具上的传感器系统可以提供表示周围环境的对象的环境数据。例如,载具可以具有各种传感器,包括相机、雷达、激光雷达、麦克风、无线电单元和其他传感器。这些传感器中的每个都可以向载具中的处理器通信关于每个相应传感器接收的信息的环境数据。
在一个示例中,相机可以被配置为捕捉静止图像和/或视频。在一些实施例中,载具可以具有位于不同朝向的多于一个的相机。此外,在一些实施例中,相机可能能够移动以在不同方向上捕捉图像和/或视频。相机可以被配置为将捕捉的图像和视频存储到存储器中,以用于载具的处理系统稍后处理。捕捉的图像和/或视频可以是环境数据。此外,相机可以包括如本文描述的图像传感器。
在另一个示例中,雷达可以被配置为发送将被载具附近的各种对象反射的电磁信号,然后捕捉从对象反射的电磁信号。捕捉的反射电磁信号可以使雷达(或处理系统)能够做出关于反射电磁信号的对象的各种确定。例如,可以确定到各种反射对象的距离和位置。在一些实施例中,载具可以在不同的朝向上具有一个以上的雷达。雷达可以被配置为将捕捉的信息存储到存储器中,以用于载具的处理系统稍后处理。由雷达捕捉的信息可以是环境数据。
在另一个示例中,激光雷达可以被配置为发送电磁信号(例如,红外光,诸如来自气体或二极管激光器或其他可能的光源的红外光),该电磁信号将被载具附近的目标对象反射。激光雷达可以能够捕捉反射的电磁(例如,红外光等)信号。捕捉的反射电磁信号可以使测距系统(或处理系统)能够确定到各种对象的距离。激光雷达还能够确定目标对象的速度或速率,并将其存储为环境数据。
此外,在一个示例中,麦克风可以被配置为捕捉载具周围环境的音频。麦克风捕捉的声音可能包括紧急载具警笛声和其他载具的声音。例如,麦克风可以捕捉救护车、消防车或警车的警笛声。处理系统可以能够识别捕捉的音频信号指示紧急载具。在另一个示例中,麦克风可以捕捉另一个载具的排气声音,诸如来自摩托车的排气声音。处理系统可以能够识别捕捉的音频信号指示摩托车。麦克风捕捉的数据可以形成环境数据的一部分。
在另一个示例中,无线电单元可以被配置为发送电磁信号,电磁信号可以采取蓝牙信号、802.11信号和/或其他无线电技术信号的形式。第一电磁辐射信号可以经由位于无线电单元中的一个或多个天线发送。此外,第一电磁辐射信号可以用许多不同的无线电信号模式中的一种来发送。然而,在一些实施例中,期望以请求来自位于自主或半自主载具附近的设备的响应的信令模式来发送第一电磁辐射信号。处理系统可以能够基于通信回传给无线电单元的响应来检测附近的设备,并使用被通信的信息作为环境数据的一部分。
在一些实施例中,处理系统可以能够组合各种传感器的信息,以进一步确定载具的周围环境。例如,处理系统可以组合来自雷达信息和捕捉图像的数据两者来确定另一载具或行人是否在自主或半自主载具的前方。在其他实施例中,处理系统可以使用传感器数据的其他组合来确定周围环境。
在自主模式(或半自主模式)下操作时,载具可以在很少或没有人工输入的情况下控制其操作。例如,人类操作员可以将地址输入到载具中,然后载具能够驾驶到指定的目的地,而无需人类的进一步输入(例如,人类不必转向或触摸制动/油门踏板等)。此外,当载具自主或半自主操作时,传感器系统可以接收环境数据。载具的处理系统可以基于从各种传感器接收的环境数据来变更载具的控制。在一些示例中,载具可以响应于来自各种传感器的环境数据来变更载具的速度。载具可以改变速度以避开障碍物、遵守交通法规等。当载具中的处理系统识别出载具附近的对象时,载具可能能够改变速度,或者以另一种方式变更运动。
当载具检测到对象,但对对象检测的自信心不足时,载具可以请求人类操作员(或功能更强大的计算机)执行一项或多项远程协助任务,诸如(i)确认对象是否实际存在于周围环境中(例如,是否实际存在停止标志或是否实际不存在停止标志等),(ii)确认载具对对象的识别是否正确,(iii)如果识别不正确,则校正识别,和/或(iv)为自主或半自主载具提供补充指令(或修改当前指令)。远程协助任务还可以包括人类操作员提供控制载具操作的指令(例如,如果人类操作员确定对象是停止标志,则指示载具在停止标志处停止,等等),尽管在一些场景下,载具本身可能基于人类操作员的与对象识别相关的反馈来控制其自身的操作。
为了促进这一点,载具可以分析表示周围环境的对象的环境数据,以确定具有低于阈值的检测置信度的至少一个对象。载具中的处理器可以被配置为基于来自各种传感器的环境数据来检测周围环境的各种对象。例如,在一个实施例中,处理器可以被配置为检测对于载具识别可能很重要的对象。这样的对象可以包括行人、骑自行车的人、街道标志、其他载具、其他载具上的指示器信号以及在捕捉的环境数据中检测到的其他各种对象。
检测置信度可以指示所确定的对象在周围环境中被正确识别或在周围环境中存在的可能性。例如,处理器可以对所接收的环境数据中的图像数据内的对象执行对象检测,并且基于不能识别具有高于阈值的检测置信度的对象,确定至少一个对象具有低于阈值的检测置信度。如果对象的对象检测或对象识别的结果是不确定的,则检测置信度可能较低或低于设定的阈值。
载具可以取决于环境数据源以各种方式检测周围环境的对象。在一些实施例中,环境数据可以来自相机,并且可以是图像或视频数据。在其他实施例中,环境数据可以来自激光雷达。载具可以分析捕捉的图像或视频数据,以识别图像或视频数据中的对象。该方法和装置可以被配置为监视图像和/或视频数据以发现周围环境中的对象的存在。在其他实施例中,环境数据可以是雷达、音频或其他数据。载具可以被配置为基于雷达、音频或其他数据来识别周围环境的对象。
在一些实施例中,载具用于检测对象的技术可以基于已知数据的集合。例如,与环境对象相关的数据可以存储在位于载具中的存储器中。载具可以将接收的数据与存储的数据进行比较以确定对象。在其他实施例中,载具可以被配置为基于数据的上下文来确定对象。例如,与施工相关的街道标志通常为橙色。因此,载具可以被配置为将橙色并且位于道路侧附近的对象检测为与施工相关的街道标志。此外,当载具的处理系统在捕捉的数据中检测到对象时,它还可以计算每个对象的置信度。
此外,载具还可以具有置信度阈值。置信度阈值可以取决于被检测对象的类型而变化。例如,对于可能要求载具快速响应动作的对象,诸如另一载具上的制动灯,置信阈值可能更低。然而,在其他实施例中,对于所有检测到的对象,置信度阈值可以是相同的。当与检测到的对象相关联的置信度大于置信度阈值时,载具可以假设对象被正确识别,并且基于该假设响应性地调整载具的控制。
当与检测到的对象相关联的置信度小于置信度阈值时,载具采取的行动可能会变化。在一些实施例中,尽管置信水平低,但是载具可以就好像检测到的对象存在一样做出反应。在其他实施例中,载具可以就好像检测到的对象不存在一样做出反应。
当载具检测到周围环境的对象时,还可以计算与特定检测到的对象相关联的置信度。取决于实施例,可以以各种方式计算置信度。在一个示例中,当检测周围环境的对象时,载具可以将环境数据与和已知对象相关的预定数据进行比较。环境数据和预定数据之间的匹配越接近,置信度越高。在其他实施例中,载具可以使用环境数据的数学分析来确定与对象相关联的置信度。
响应于确定对象的检测置信度低于阈值,载具可以向远程计算系统发送对进行远程协助识别对象的请求。如上所述,远程计算系统可以采取各种形式。例如,远程计算系统可以是载具内的计算设备,它与载具分离,但是人类操作员可以使用该计算设备与载具的乘客或驾驶员交互,诸如用于显示远程协助信息的触摸屏接口。附加地或替代地,作为另一个示例,远程计算系统可以是位于不靠近载具的位置的远程计算机终端或其他设备。
远程协助请求可以包括包含对象的环境数据,诸如图像数据、音频数据等。载具可以通过网络(例如,网络304等),并且在一些实施例中,经由服务器(例如,服务器计算系统306等),将环境数据发送到远程计算系统。远程计算系统的人类操作员继而可以使用环境数据作为对请求做出响应的基础。
在一些实施例中,当检测到对象具有低于置信度阈值的置信度时,可以对对象给出初步识别,可以对载具进行配置,以响应于初步识别调整载具的操作。这样的操作调整可以采取停止载具、将载具切换到人工控制模式、改变载具速度(例如,速率和/或方向等)的形式,以及其他可能的调整。
在其他实施例中,即使载具检测到具有达到或超过阈值的置信度的对象,载具可以根据检测到的对象操作(例如,如果对象以较高置信度被识别为停止标志,则停止等),但是可以被配置为在载具根据检测到的对象操作的同时(或者在稍后的时间)请求远程协助。
三、示例道路对象检测和分组系统
图4示出了可以用于道路对象检测和分组的示例系统。具体地,系统400可以包括编码器模型404、偏移机器学习(ML)模型408、关键点ML模型410、标签ML模型412、道路对象检测器420、位置调整器424、组选择器426和道路状况检测器432。系统400可以被配置为基于图像402识别一个或多个道路对象组。在一些情况下,针对一个或多个组中的每个相应组,系统400可以附加地确定(i)与相应组相关联的道路状况和(ii)道路状况和/或发信号通知道路状况的道路对象的位置。
编码器模型404可以被配置为基于图像402生成(多个)特征图406。图像402可以表示环境中的多个道路对象(例如,街道、高速公路、可穿越的室内环境等)。(多个)特征图406可以表示使用由编码器模型404实现的一个或多个滤波器在图像402内检测到的视觉内容(例如,特征、特性和/或属性)。因此,(多个)特征图406可以提供图像402的视觉内容的潜在空间表示。在一些情况下,潜在空间表示可以是图像402的压缩表示。
编码器模型404可以包括和/或基于被配置为生成图像视觉内容的表示的任何可训练机器学习架构。例如,编码器模型404可以包括和/或基于视觉几何组(VGG)架构、U-Net架构和/或ResNet架构等。
图像402可以具有H个像素的高度和W个像素的宽度,而(多个)特征图406中的每个可以具有H'个像素的高度和W'个像素的宽度,其中,H'小于H,W'小于W。(多个)特征图406可以包括C个特征图,并且因此可以形成具有H'个像素的高度、W'个像素的宽度和C个像素的深度的特征体。因此,(多个)特征图406可以可替换地被视为H'xW'向量的集合,每个向量包括C个值。
图像402中表示的多个道路对象可以各自属于特定类别。特定类别的多个道路对象的一些空间布置可以指示由图像402表示的环境中对应的道路状况的存在。例如,多个交通锥(和/或通常用于指示施工区域或道路封闭的其他类似对象)的空间布置可以指示施工区或道路封闭,而多个静态载具的空间布置可以指示停车车道和/或拥堵车道。在一些情况下,特定类别可以可划分成两个或更多个的子类别。例如,施工区道路对象类别可以包括交通锥子类别、施工标志子类别、施工载具子类别和/或施工机械子类别,以及其他施工区相关的道路对象,其中的每个都指示施工区的存在。
在一些情况下,图像402可以表示两个或更多个道路对象的多个集合,多个集合中的每个相应集合包括属于对应的类别的道路对象。也就是说,图像402可以表示多个不同类别的道路对象组(例如,载具和交通锥)。在这种情况下,系统400的对应的实例可以被提供给每个相应集合的对应的类别,使得系统400的不同实例专用于相应集合中的道路对象的对应类别。例如,可以提供系统400的载具特定实例和系统400的施工区特定实例,每个实例已经使用对应的类别特定训练数据进行了训练。
可替代地或附加地,系统400的每个组件可以被配置为生成每个相应集合的对应类别的对应的输出,使得例如为每个相应集合生成偏移图414、关键点图416、标签图418、关键点图位置422、图像位置428和/或(多个)道路对象组430的对应的实例。例如,系统400的类别不可知的实例可以被配置为生成偏移图414、关键点图416、标签图418,它们中的每个都包括一个或多个载具特定通道和一个或多个施工区特定通道。
偏移ML模型408、关键点ML模型410和/或标签ML模型412可以各自包括人工神经网络,人工神经网络可以采取多层感知器(MLP)、卷积神经网络和/或适于基于(多个)特征图406确定相应输出的其他架构的形式和/或包括多层感知器(MLP)、卷积神经网络和/或适于基于(多个)特征图406确定相应输出的其他架构。在一些实施方式中,偏移ML模型408、关键点ML模型410和/或标签ML模型412中的每个可以独立于其他ML模型的输出而操作,使得这些ML模型可以同时地、并行地和/或彼此没有串行依赖性地操作。
关键点ML模型410可以被配置为基于(多个)特征图406来生成关键点图416。关键点图416可以包括多个像素,并且可以例如具有H'个像素的高度和W'个像素的宽度(即,与(多个)特征图406相同)。关键点图416的多个像素中的每个相应像素的对应值可以表示相应像素表示属于特定类别的对应道路对象的预定部分的可能性。因此,关键点图416可以被视为热图(例如,具有0到1的像素值范围),其中,更高的值指示道路对象检测的更高可能性,而更低的值指示道路对象检测的更低可能性。
道路对象的预定部分可以包括例如沿着对应道路对象的垂直中心线的点(例如,对象的底部中心)、沿着对应道路对象的水平中心线的点、对应道路对象的边界框上的点(例如,左上角和右下角)、和/或对应道路对象的边界框的中心点等。在道路对象检测依赖于检测道路对象的多个预定部分(例如,边界框的拐角)的情况下,多个预定部分的每个相应预定部分可以被提供有关键点图416的对应通道(例如,导致边界框的两个拐角的两个关键点图416通道)。
道路对象检测器420可以被配置为在关键点图416内检测在图像402内检测到的道路对象的关键点图位置422。例如,道路对象检测器420可以被配置为识别关键点图416中与超过阈值的对应值相关联的像素。可以选择和/或修改阈值以实现目标精确率值、目标召回率值、目标假阳性率和/或目标假阴性率,以及其他可能的考虑。因此,关键点图位置422可以包括关键点图416内已经检测到道路对象的相应预定部分的坐标。
偏移ML模型408可以被配置为基于(多个)特征图406生成偏移图414。由于关键点图416的分辨率可以是图像402的分辨率的下采样版本,关键点图位置422可能不准确(相对于图像402的分辨率)高达下采样因子。例如,或者R=H/H′=W/W′,其中,R表示下采样因子。因此,偏移图414可以为关键点图416的每个相应像素提供对应的水平偏移值和对应的垂直偏移值。因此,偏移图414可以具有与关键点图416相同的宽度和高度,并且可以具有两个像素的深度—用于水平偏移的一个通道,以及用于垂直偏移的一个通道(例如,每关键点图416通道)。偏移ML模型408因此可以被配置为校正由(多个)特征图406和/或关键点图416相对于图像402的下采样引起的任何分辨率损失。
位置调整器424可以被配置为基于关键点图位置422和偏移图414来确定道路对象的图像位置428。具体地,针对关键点图位置422的每个相应位置,位置调整器424可以被配置为将来自偏移图414的对应偏移值与相应位置的每个坐标相加,并且将所得和乘以下采样因子。具体地,位置调整器424可以实现函数px=R(kx+ox)和py=R(ky+oy),其中,R是下采样因子,kx和ky分别表示关键点图416中像素k的水平坐标和垂直坐标,并且ox和oy分别表示由针对关键点图416中的像素k的偏移图414中的像素o指示的水平偏移和垂直偏移,并且px和py分别表示对应于关键点图416中像素k的像素p在图像402中的水平坐标和垂直坐标。因此,在一些实施方式中,偏移图414中对应于关键点图位置422的那些像素可以由位置调整器424使用,而偏移图414的其他像素可以不被使用。
标签ML模型412可以被配置为基于(多个)特征图406生成标签图418。标签图418可以包括,针对关键点图416的每个相应像素的对应的标签值。因此,标签图418可以具有与关键点图416相同的宽度和高度。由标签图418的每个像素表示的对应标签值可以是例如标量值或包括多个值的向量。因此,当对应的标签值是标量值时,标签图418可以具有一个像素的深度(例如,关键点图416的每个通道)。当对应的标签值是包括T个标签值的向量时,标签图418可以具有T个像素的深度(例如,关键点图416的每个通道)。
标签图418的相应像素的对应标签值可以指示(i)由关键点图416的对应像素表示的特征和(ii)由关键点图416的对应其他像素表示的其他特征之间的关系。换句话说,标签图418的相应像素的对应标签值可以指示由关键点图416的对应像素表示的特征的组成员资格。具体地,针对关键点图位置422的每个相应位置(其指示对应道路对象的预定部分,并且由此指示其检测),标签图418中的对应标签值可以指示在相应位置处检测到的对应道路对象所属的道路对象组。在一些情况下,针对关键点图416中除了在关键点图位置422处和/或附近的那些像素之外的像素,标签图418中的对应标签值可能或可能不会有意义地、正确地和/或准确地指示底层特征的分组,因为系统400可能不使用关键点图416的这些其他像素。
组选择器426可以被配置为基于标签图418和关键点图位置422来确定(多个)道路对象组430。(多个)道路对象组430可以包括在图像402内检测到的一个或多个道路对象组,每组包括特定类别的两个或更多个道路对象。组选择器426可以被配置为例如通过基于由标签图418的对应像素所表示的每个道路对象的对应标签对图像402中检测到的由关键点图位置422所表示的多个道路对象进行聚类来确定(多个)道路对象组430。因此,(多个)道路对象组430的每个相应道路对象组可以表示为与类似标签值相关联的道路对象的群集。
组选择器426可以使用例如均值漂移聚类算法、凝聚层次聚类、具有噪声的应用的基于密度的空间聚类(DBSCAN)算法和/或监督机器学习等同物,以及其他可能性,对检测到的道路对象的标签执行聚类。由于标签图418用于将检测到的道路对象分组成(多个)道路对象组430,因此标签图418的值在不同的图像上可能不具有固定的语义含义,假设对于给定的图像,为属于同一组的道路对象生成相似的标签值。也就是说,标签图418可以使用不同标签的相对值来编码道路对象之间的关系,其中,任何组可使用任何标签值来表示。
附加地或替代地,组选择器426可以包括标签距离计算器,其可以被配置为基于标签图418和关键点图位置422确定多个距离度量。多个距离度量可以包括图像402中检测到的每对道路对象的对应距离度量,并且可以因此指示每对道路对象的标签值彼此有多相似。组选择器432可以被配置为基于多个距离度量来确定(多个)道路对象组430。例如,当对应的距离度量没有超过阈值距离时,一对检测到的道路对象可以被分配到同一组。
道路状况检测器432可以被配置为基于(i)图像402内检测到的道路对象的图像位置428和(ii)这些道路对象的特定类别(在一些情况下,还基于图像402),为(多个)道路对象组430中的每个相应道路对象组确定对应的道路状况。此外,道路状况检测器432可以被配置为针对(多个)道路对象组430中的每个相应道路对象组生成对应道路状况的对应表示和与道路状况相关联的位置。因此,例如,道路状况检测器432可以被配置为生成道路对象组438到道路对象组444(即,道路对象组438-444)的表示。道路状况检测器432可以包括一个或多个基于规则的算法和/或一个或多个ML模型。
道路对象组438-444可以表示(多个)道路对象组430。道路对象组438可以与道路状况440和(多个)位置442相关联,并且道路对象组444可以与道路状况446和(多个)位置448相关联。道路状况440可以表示由包括在道路对象组438中的道路对象指示的道路状况,并且道路状况446可以表示由包括在道路对象组444中的道路对象指示的道路状况。
在一些实施方式中,道路状况440和/或道路状况446均可以表示为已经由道路状况检测器432从多种可能的道路状况中选择的语义标签。多个可能的道路状况可以包括载具被配置为基于其操作(例如,响应、避免等)的道路状况。多个可能的道路状况可以包括由一组两个或更多个道路对象的存在所指示的任何状况。多个可能的交通状况可以包括,例如,由两个或更多个交通锥或其他类似对象的布置指示的施工区、由两个或更多个停车载具的布置指示的停车车道、由两个或更多个移动载具的布置指示的可穿越车道、由两个或更多个缓慢移动载具的布置指示的拥堵车道、或由两个或更多个行人的布置指示的人行横道等。
道路状况440的(多个)位置442可以表示道路状况440在由图像402表示的环境部分中存在的一个或多个点、区域和/或体积。例如,(多个)位置442可以包括道路对象组438的道路对象的图像位置428,和/或与这些道路对象相关联(例如,由这些道路对象描绘、指示或占据)的区域和/或体积。(多个)位置448可以包括关于道路状况446的相称(commensurate)信息。
因此,道路对象组438-444的每个表示可以被提供给载具(例如,载具100、载具200、载具250)以通知载具的操作。具体地,载具可以被配置为基于图像402内检测到的一个或多个道路状况440-446来规划其操作。使用系统400对道路对象进行检测和分组可以允许载具更快地对道路状况做出响应,因为道路对象的检测和分组两者是联合、同时和/或并行执行的,而不是串行执行的。
具体地,其它系统可以被配置为首先检测道路对象,并且随后确定它的组。也就是说,分组操作可以响应于道路对象被识别(即,在道路对象被识别之后)来执行。然而,这样的串行操作可能会增加载具识别道路状况所花费的时间量,因为道路对象分组的确定可能取决于道路对象检测的完成。此外,对象检测中的任何误差都可能传播到对象分组,并且因此影响对象分组的准确率。此外,基于更复杂的环境表示,诸如点云或环境的其他三维模型来识别道路对象组可能比处理图像402在计算上更昂贵,并且因此更耗时。
因此,由于依赖于图像数据,使用系统400识别道路状况可以在计算上更便宜,并且可以允许联合检测和分组,从而降低计算成本并减少道路状况检测的时间。结果,载具可以更安全地操作,因为它可以比其他情况下更快地对道路状况做出响应。这种益处在更大的载具(诸如半挂卡车)的情况下可能特别突出,这些载具加速和减速可能较慢,因此受益于早期道路状况检测。
四、示例道路状况
图5A、图5B、图5C和图5D提供了与系统400可以被配置为检测的示例道路状况相关的视觉图示。具体地,图5A示出了图像502,它可以被认为是图像402的示例。图像502表示车道500、车道502和车道504,它们中的每个都可以由载具可穿越。图像502还表示(i)占据车道500的第一组交通锥,包括交通锥520、521、522、523、524、525和526(即,交通锥520-526),以及(ii)占据车道504的第二组交通锥,包括交通锥530、531、532、533、534、535、536和537(即,交通锥530-537)。
图5B示出了关键点图516,它可以被认为是关键点图416的示例。车道500、502和504、交通锥520-526和交通锥530-537的近似位置在关键点图516内使用虚线示出用于参考,尽管车道和交通锥的这些表示不是关键点图516的一部分。关键点图516内与超过阈值的值相关联、并且因此表示对道路对象的相应预定部分的检测的像素用“+”标记指示。因此,关键点图516用对应的“+”标记指示交通锥520-526和530-537中的每个的底部中心。在其他实施方式中,关键点图可以替代地包括例如每个检测到的交通锥的质心处包括对应的“+”标记。
图5C示出了标签图518,它可以被认为是标签图418的示例。针对关键点图516的每个相应像素,标签图518包括与标签值相关联的对应像素,该标签值指示由相应像素表示的特征如何与由关键点图516的其他像素表示的其他特征相关。标签图518中对应于关键点图516中检测到的道路对象的像素用对应的带方框的“+”标记和对应的标签值来指示。具体地,标签图518指示交通锥520与标签值V1相关联,交通锥521与标签值V2相关联,交通锥522与标签值V3相关联,交通锥523与标签值V4相关联,交通锥524与标签值V5相关联,交通锥525与标签值V6相关联,交通锥526与标签值V7相关联,交通锥530与标签值V8相关联,交通锥531与标签值V9相关联,交通锥532与标签值V10相关联,交通锥533与标签值V11相关联,交通锥534与标签值V12相关联,交通锥535与标签值V13相关联,交通锥536与标签值V14相关联,交通锥537与标签值W15相关联。
从图5A中的图像502可以看出,交通锥520-526形成指示车道500的一部分封闭的第一组交通锥,而交通锥530-537形成指示车道504的一部分封闭的第二组交通锥。因此,标签值W1-W7可以彼此相似(例如,它们之间的幅度和/或方向的差可以小于阈值),标签值W8-W15可以彼此相似,并且标签值W1-W7可以与标签值V8-V15不相似(例如,它们之间的幅度和/或方向的差可以大于或等于阈值)。因此,第一组交通锥(即,交通锥520-526)可以被认为是道路对象组438的示例,而第二组交通锥(即,交通锥530-537)可以被认为是道路对象组444的示例。
图5D示出了图像550,它提供了被第一组交通锥封闭的车道500的区域540和被第二组交通锥封闭的车道504的区域546的视觉图示。因此,区域540可以被认为是(多个)位置442的示例,区域546可以被认为是(多个)位置448的示例,而道路状况440和446中的每个可以表示车道封闭和/或施工区,这使得区域540和546不可穿越。
区域540由交通锥520-526共同指示,而不是由任何一个交通锥单独指示,区域546由交通锥530-537共同指示,而不是由任何一个交通锥单独指示。因此,区域540和546的识别取决于交通锥520-526和530-537的准确分组,因为其他分组(例如,将交通锥520-526和交通锥530-537视为一个组的一部分)可能导致在环境的错误部分中错误地确定施工区(例如,确定所有车道500、502和504都被阻塞),从而导致载具的行为不符合道路规则、其他驾驶员的预期,和/或占用施工区的个体的预期等。
在一些实施方式中,系统400的输出可以是图像502的注释版本(例如,类似于图像550),它使用例如描绘区域540和546的掩模(mask)或地图来表示区域540和546。在一些实施方式中,区域540和546的表示可以被转换成三维表示,并且作为环境的三维模型的一部分来提供。
五、示例标签ML模型架构
图6示出了标签ML模型412的示例实施方式。具体地,标签ML模型412可以包括位置嵌入ML模型602、语义嵌入ML模型600、加法器608和关系推理ML模型612。
位置嵌入ML模型602可以被配置为针对关键点图416的至少一些像素生成位置嵌入向量606。对应像素的位置嵌入向量可以包括表示关键点图416内对应像素的坐标的多个值。因此,位置嵌入ML模型602可以被配置为将像素坐标变换成向量,该向量可以包括比像素坐标更多的值。例如,位置嵌入向量606可以各自具有与每个语义嵌入向量604相同的维度,从而允许位置嵌入向量606和语义嵌入向量604被组合(例如,相加或级联)并且由关系推理ML模型612联合处理。在一些情况下,可以使用位置编码来代替位置嵌入向量606或者作为位置嵌入向量606的补充。
在一些实施方式中,位置嵌入向量606可以包括关键点图416的每个像素的对应位置嵌入向量。包括关键点图416的每个像素的位置嵌入向量可以允许关系推理ML模型612考虑关键点图416的所有像素的语义和位置信息。因此,位置嵌入ML模型602可以被配置为独立于关键点图位置422(由虚线指示为可选输入)来生成位置嵌入向量606。在其他实施方式中,位置嵌入向量606可以包括已经检测到道路对象的每个关键点图位置422的对应位置嵌入向量,但可能不包括关键点图位置416的其他像素的位置嵌入向量。因此,位置嵌入ML模型602可以被配置为基于关键点图位置422来生成位置嵌入向量606,从而避免为标签图418的像素生成不被系统400的后续组件使用的位置嵌入向量。
语义嵌入ML模型600可以被配置为基于(多个)特征图406生成语义嵌入向量604。针对关键点图416的每个相应像素,语义嵌入向量604可以表示对由不同像素所表示的特征进行分组有用的视觉内容。在提供关键点图位置422作为语义嵌入ML模型600的输入的实施方式中,语义嵌入向量604可以包括每个检测到的道路对象的对应语义嵌入向量(如关键点图位置422所表示的),但是可能不包括关键点图416的其他像素的语义嵌入向量。
语义嵌入向量604可以与位置嵌入向量606组合,以生成位置感知语义嵌入向量610。在图6所示的示例中,可以使用加法器608将位置嵌入向量606的每个相应的位置嵌入向量与语义嵌入向量604的(像素级)对应的语义嵌入向量相加。在其他实施方式中,位置嵌入向量606可以反而与语义嵌入向量604级联等。在提供关键点图位置422作为语义嵌入ML模型600和位置嵌入ML模型602的输入的实施方式中,位置感知语义嵌入向量610可以包括每个检测到的道路对象的对应的位置感知语义嵌入向量(如关键点图位置422所表示的),但是可能不包括关键点图416的其他像素的位置感知语义嵌入向量。
关系推理ML模型612可以被配置为基于位置感知语义嵌入向量610来生成标签图418。通过将表示视觉内容的语义嵌入向量604与表示位置的位置嵌入向量606相组合,关系推理ML模型612可能能够在生成标签图418时联合考虑语义和位置信息两者。
在一个实施方式中,关系推理ML模型612可以包括自注意力模型(a self-attention model)。自注意力模型可以被配置为针对位置感知语义嵌入向量610中的每个相应的位置感知语义嵌入向量(并且因此针对图像402中检测到的每个相应的道路对象),确定表示(i)相应的位置感知语义嵌入向量和(ii)位置感知语义嵌入向量610中的其他位置感知语义嵌入向量之间的注意力的对应的多个注意力分数。因此,关系推理ML模型612可以实现函数其中,Q=XWQ,K=XWK,V=XWV,A表示注意力分数,X表示位置感知语义嵌入向量610,WQ,WK,和WV表示被配置为分别生成查询矩阵Q、关键字矩阵K和值矩阵V的学习线性变换,并且/>是缩放因子。因此,自注意力模型可以允许语义和位置信息跨不同的道路对象共享。
在另一个实施方式中,关系推理ML模型612可以包括图形神经网络。每个位置感知语义嵌入向量610可以被表示为图形的节点。图形的每个节点可以连接到图形的所有其他节点,其中,其他节点表示位置感知嵌入向量610的其他位置感知嵌入向量。关系推理ML模型612可以被配置为通过使用图形神经网络处理(i)相应节点的当前状态(即,当前位置感知语义嵌入)和(ii)连接到相应节点的所有其他节点的相应当前状态,来更新图形的每个相应节点。标签图418可以基于对图形神经网络处理每个节点的一次或多次迭代(例如,多次迭代)来生成。因此,图形神经网络可以允许跨节点共享语义和位置信息。
六、示例训练系统
图7示出了示例训练系统700,它可以用于训练系统400的一个或多个组件。具体地,训练系统700可以包括系统400、偏移损失函数758、焦点损失函数(focal lossfunction)754、分组损失函数750和模型参数调整器770。训练系统700可以被配置为基于训练样本702来确定更新的模型参数772。更新的模型参数772可以应用于系统400以改善其性能。
训练样本702可以包括训练图像704、(多个)基准真值(ground-truth)组706、基准真值关键点图708和基准真值图像位置710。训练图像704可以类似于图像402,但是可以在训练时间而不是推断时间进行处理。基准真值图像位置710可以表示在训练图像704中找到的特定类别的道路对象在训练图像704内的正确位置,并且可以针对训练至少偏移ML模型408来提供监督。基准真值关键点图708可以以下采样比例表示在训练图像704中找到的特定类别的道路对象的正确位置,并且可以针对训练至少关键点ML模型410来提供监督。(多个)基准真值组706可以表示在训练图像704中找到的特定类别的道路对象的正确分组,并且可以针对训练至少标签ML模型412提供监督。
系统400可以被配置为基于训练图像704生成训练关键点图716(其可以类似于关键点图416)、训练偏移图714(其可以类似于偏移图414)和(多个)训练组734(其可以类似于(多个)道路对象组430)。因此,训练关键点图716可以表示训练图像704中的训练道路对象检测。训练偏移图714可以校正训练关键点图716中由于下采样导致的分辨率损失。(多个)训练组734可以表示在训练图像704内检测到的相关训练对象的分组。
系统400在训练图像704中识别特定类别的道路对象的准确性(由训练关键点图716表示)可以使用例如焦点损失函数754等来量化。具体地,焦点损失函数754可以被配置为基于训练关键点图716和基准真值关键点图708生成焦点损失值756。焦点损失函数754可以被表达为 其中,Yxy表示像素坐标xy处的基准真值关键点图708的值,/>表示像素坐标xy处的训练关键点图714的值,N表示关键点图708和716中的像素数量,α和β是可调整的参数,它们可以被调整来将学习聚焦在困难的训练样本上。
系统400生成训练偏移图714的准确性可以使用例如偏移损失函数758等来量化。具体地,偏移损失函数758可以被配置为基于训练偏移图714和基准真值图像位置710来生成偏移损失值760。偏移损失函数758可以被表达为其中,p迭代通过基准真值关键点图708中已经检测到道路对象的像素(即,p表示基准真值关键点道路对象位置),/>(即,/>的向下取整(floor))选择小于或等于/>的最高整数,R=N/H′=W/W′,并且/>表示训练偏移图714在像素p处的值
系统400对训练图像704中的特定类别的道路对象进行分组的准确性(如由(多个)训练组734所表示的)可以使用例如分组损失函数750等来量化。具体地,分组损失函数750可以被配置为基于(多个)训练组734和(多个)基准真值组706来生成分组损失值752。分组损失函数750可以表示为
项表示组内损失,该损失导致同一基准真值组内的道路对象的标签值试图收敛到相同标签值(例如,使得同一基准真值组内的道路对象的标签值尽可能彼此接近)。/>项表示跨组损失,该损失导致不同基准真值组内的道路对象的标记值试图彼此偏离。/>项表示基于基准真值组n中每个道路对象k的标签值/>的基准真值组n的参考嵌入。函数d()表示距离函数(例如,欧几里德距离、余弦距离等),n迭代通过N个基准真值组的所有基准真值组,k迭代通过基准真值组n中K个道路对象的所有道路对象,n′迭代通过除n表示的基准真值组之外的所有N个基准真值组,σ是可调整训练参数。
模型参数调整器770可以被配置为基于偏移损失值760、焦点损失值756、分组损失值752和/或可以由训练系统700的其他损失函数确定的其他损失值来确定更新的模型参数772。例如,模型参数调整器770可以被配置为基于这些损失值的加权和来确定总损失值,其中,对应损失值的相对权重可以是可调整的训练参数。更新的模型参数772可以包括系统400的任何可训练组件的一个或多个更新的参数,包括例如编码器模型404、偏移ML模型408、关键点ML模型410、标签ML模型412、组选择器426和/或道路状况检测器432等。
模型参数调整器770可以被配置为通过例如确定偏移损失函数758、焦点损失函数754、分组损失函数750和/或总损失函数的梯度来确定更新的模型参数772。基于该梯度和相应的损失值,模型参数调整器770可以被配置为选择被预期降低相应的损失值的更新的模型参数772,并且因此提高系统400的性能。在将更新的模型参数772应用于系统400之后,可以重复上述讨论操作来计算相应损失值的另一个实例,并且基于此,可以确定更新的模型参数772的另一个实例并将其应用于系统400,以进一步改善其性能。可以重复系统400的这样的训练,直到例如总损耗值降低到目标阈值损耗值以下,和/或偏移损耗值760、聚焦损耗值756和分组损耗值752中的每个都降低到相应的目标阈值损耗值以下。
七、其他示例操作
图8示出了与道路对象的联合检测和分组相关的操作流程图。这些操作可以由载具100、载具200、载具250、远程计算系统302、服务器计算系统306、系统400和/或训练系统700等来执行。图8的实施例可以通过去除其中所示的任何一个或多个特征来简化。此外,这些实施例可以与任何先前附图或本文描述的特征、方面和/或实现相组合。
块800可以涉及获得表示属于特定类别的多个道路对象的图像。
块802可以涉及使用编码器模型并基于图像,生成表示图像视觉特征的多个特征图。
块804可以涉及基于多个特征图并针对多个道路对象中的每个相应道路对象,确定图像内已经检测到的相应道路对象的对应位置。
块806可以涉及基于多个特征图并针对多个道路对象中的每个相应道路对象,确定与相应道路对象相关联的对应标签值。
块808可以涉及基于多个道路对象中的每个相应道路对象的标签值确定多个道路对象的一个或多个组。一个或多个组中的每个相应组可以包括两个或更多个对应的道路对象。
块810可以涉及基于(i)相应组中的两个或更多个对应的道路对象的对应位置和(ii)多个道路对象的特定类别,针对一个或多个组中的每个相应组识别对应的道路状况。
块812可以涉及生成表示一个或多个组中每个相应组的对应道路状况的输出。
在一些实施例中,确定图像内已经检测到的每个相应道路对象的对应位置可以包括基于多个特征图并使用关键点机器学习模型生成包括多个像素的关键点图。多个像素中的每个相应像素的对应值可以指示相应像素表示多个道路对象中对应道路对象的预定部分的可能性。确定已经在图像内检测到的每个相应道路对象的对应位置还可以包括在关键点图内识别与超过阈值的对应值相关联的两个或更多个像素。关键点图内的两个或更多个像素的相应位置可以表示多个道路对象的对应位置。
在一些实施例中,对应道路对象的预定部分可以包括以下中的一个或多个:(i)沿对应道路对象的垂直中心线的点,(ii)沿对应道路对象的水平中心线的点,(iii)对应道路对象的边界框上的点,和/或(iv)对应道路对象的边界框的中心点。
在一些实施例中,确定图像内已经检测到的相应道路对象的对应位置可以包括,使用偏移机器学习模型并基于多个特征图确定偏移图,该偏移图表示针对关键点图的多个像素中的每个相应像素的、在(i)关键点图内相应像素的位置和(ii)由相应像素表示的特征在图像内的位置之间的对应偏移。确定图像内已经检测到的相应道路对象的对应位置还可以包括针对多个道路对象中的每个相应道路对象,通过将(i)对应偏移与(ii)相应道路对象在关键点图内的相对位置相加来确定相应道路对象在图像内的对应位置。
在一些实施例中,确定对应的标签值可以包括使用标签机器学习模型,基于多个特征图,并且针对关键点图的多个像素中的每个相应像素,生成对应向量,该对应向量包括多个值并且被配置为指示由相应像素表示的对象所属于的组。
在一些实施例中,确定一个或多个组可以包括,针对多个道路对象中的每个相应道路对象确定(i)与关键点图中表示相应道路对象的预定部分的像素相关联的对应向量和(ii)与关键点图中表示多个道路对象中的一个或多个其它道路对象的相应预定部分的一个或多个其它像素相关联的一个或多个向量之间的一个或多个对应距离度量。确定一个或多个组还可以包括基于多个道路对象的每个相应道路对象的一个或多个对应距离度量将多个道路对象划分成一个或多个组。
在一些实施例中,确定对应的标签值可以包括使用标签机器学习模型,基于多个特征图,并且针对关键点图的多个像素中的每个相应像素,生成与相应像素相关联的对应标量值,并且被配置为指示由相应像素表示的对象所属的组。
在一些实施例中,确定一个或多个组可以包括,针对多个道路对象中的每个相应道路对象确定与关键点图中表示相应道路对象的预定部分的像素相关联的对应标量值。确定一个或多个组还可以包括基于多个道路对象的每个相应道路对象的对应标量值将多个道路对象划分成一个或多个组。
在一些实施例中,对应的标签值可以由标签机器学习模型确定,该模型包括语义嵌入模型和关系推理ML模型。确定对应的标签值可以包括使用语义嵌入模型,基于多个特征图,并且针对多个道路对象中的每个相应的道路对象,生成对应的语义嵌入向量。确定对应的标签值还可以包括通过将(i)相应道路对象的对应语义嵌入向量与(ii)相应道路对象的位置嵌入向量进行组合,针对多个道路对象中的每个相应道路对象生成对应的位置感知语义嵌入向量。确定对应的标签值还可以包括使用关系推理ML模型并且针对多个道路对象中的每个相应道路对象,基于对应的位置感知语义嵌入向量生成对应的标签值。
在一些实施例中,关系推理ML模型可以包括自注意力模型,自注意力模型被配置为针对多个道路对象中的每个相应道路对象确定(i)相应道路对象的对应位置感知嵌入向量与(ii)多个道路对象中的其它道路对象的对应位置感知嵌入向量之间的对应的多个注意力分数。相应道路对象的对应标签值可以基于对应的多个注意力分数。
在一些实施例中,多个道路对象可以表示为图形的节点。关系推理ML模型可以包括图形神经网络模型,该图形神经网络模型被配置为基于多个道路对象中的一个或多个其他道路对象的一个或多个对应的位置感知嵌入向量,针对多个道路对象中的每个相应道路对象确定对应的标签值。一个或多个其他道路对象中的每个可以通过图形的对应边缘链接到相应的道路对象。
在一些实施例中,多个道路对象可以被配置为指示施工区。对应的道路状况可以表示由相应组中的两个或更多个对应道路对象的对应位置所指示的环境区域中的对应施工区。
在一些实施例中,可以使用已经通过训练过程训练的关键点机器学习模型来确定每个相应道路对象的对应位置。训练过程可以包括获得训练样本,该训练样本包括(i)表示属于特定类别的多个训练道路对象的训练图像,以及(ii)针对多个训练道路对象中的每个相应训练道路对象,相应训练道路对象在训练图像内的对应基准真值位置。训练过程还可以包括使用编码器模型并基于训练图像来生成表示训练图像的视觉特征的多个训练特征图。训练过程可以另外包括使用关键点机器学习模型,基于多个训练特征图,并且针对多个训练道路对象中的每个相应的训练道路对象,确定已经在训练图像内检测到相应训练道路对象的对应训练位置。训练过程还可以包括通过针对多个训练道路对象中的每个相应训练道路对象并使用焦点损失函数将相应训练道路对象的对应基准真值位置与相应训练道路对象的对应训练位置进行比较来确定焦点损失值。训练过程还可以包括基于焦点损失值来调整关键点机器学习模型的一个或多个参数。
在一些实施例中,可以使用已经通过训练过程训练的标签机器学习模型来确定与每个相应道路对象相关联的对应标签值。训练过程可以包括获得训练样本,该训练样本包括(i)表示属于特定类别的多个训练道路对象的训练图像,以及(ii)多个道路对象的一个或多个基准真值组。训练过程还可以包括使用编码器模型并基于训练图像来生成表示训练图像的视觉特征的多个训练特征图。训练过程可以附加地包括使用标签机器学习模型,基于多个训练特征图,并且针对多个训练道路对象中的每个相应训练道路对象,确定与相应训练道路对象相关联的对应训练标签值,并且基于多个训练道路对象中的每个相应训练道路对象的对应训练标签值,确定多个训练道路对象的一个或多个训练组。训练过程还可以包括通过使用分组损失函数将一个或多个基准真值组与一个或多个训练组进行比较来确定分组损失值。分组损失函数可以被配置为,针对多个训练道路对象中的每个相应训练道路对象,使得对应的训练标签值(i)收敛到相应训练道路对象的基准真值组之内的训练道路对象的第一集合的第一对应标签值,以及(ii)偏离基准真值组之内的训练道路对象的第二集合的第二对应标签值。训练过程还可以包括基于分组损失值调整标签机器学习模型的一个或多个参数。
在一些实施例中,识别对应道路状况可以包括针对一个或多个组中的每个相应组,基于(i)相应组中两个或更多个对应道路对象的对应位置和(ii)多个道路对象的特定类别,来识别对应道路状况存在的对应环境区域。该输出可以表示一个或多个组中的每个相应组的对应环境区域。
在一些实施例中,生成输出可以包括基于图像生成注释图像,该注释图像表示由一个或多个组中的每个相应组指示的对应道路状况。
在一些实施例中,可以基于输出控制载具的操作。
八、结论
本发明不受本申请中描述的特定实施例的限制,这些实施例旨在说明各个方面。在不脱离其范围的情况下可以进行许多修改和变化,这对于本领域的技术人员来说是清晰的。除了在此描述的方法和装置之外,对于本领域的技术人员来说,根据前面的描述,在本公开范围内的功能等同的方法和装置是清晰的。这种修改和变化旨在落入所附权利要求的范围内。
上述详细说明参考附图描述了所公开的系统、设备和方法的各种特征和操作。在附图中,相似的符号通常标识相似的组件,除非上下文另有指示。这里和附图中描述的示例实施例并不意味着是限制性的。在不脱离本文提出的主题的范围的情况下,可以利用其他实施例,并且可以进行其他改变。将容易理解,如在本文中一般地描述和在附图中示出的,本公开的方面可以以多种不同的配置进行布置、替换、组合、分离和设计。
关于图中的任何或所有消息流程图、场景和流程图,以及本文描述的,根据示例实施例,每个步骤、块和/或通信可以表示信息处理和/或信息传输。替代实施例包括在这些示例实施例的范围内。在这些替代实施例中,例如,被描述为步骤、块、传输、通信、请求、响应和/或消息的操作可以不按照所示出或所讨论的顺序来执行,包括基本上同时或以相反的顺序,这取决于所涉及的功能。此外,更多或更少的框和/或操作可以与本文讨论的任何消息流程图、场景和流程图一起使用,并且这些消息流程图、场景和流程图可以部分地或整体地彼此组合。
表示信息处理的步骤或方框可以对应于可以被配置为执行本文描述的方法或技术的特定逻辑功能的电路。替代地或附加地,表示信息处理的块可以对应于模块、段或程序代码的一部分(包括相关数据)。程序代码可以包括可由处理器执行的一个或多个指令,用于实现方法或技术中的特定逻辑操作或动作。程序代码和/或相关数据可以存储在任何类型的计算机可读介质上,诸如包括随机存取存储器(RAM)的存储设备、磁盘驱动器、固态驱动器或其他存储介质。
计算机可读介质还可以包括非暂时性计算机可读介质,诸如短期存储数据的计算机可读介质,如寄存器存储器、处理器高速缓存和RAM。计算机可读介质还可以包括长期存储程序代码和/或数据的非临时性计算机可读介质。因此,计算机可读介质可以包括二级或永久性长期存储器,例如只读存储器(ROM)、光盘或磁盘、固态驱动器、光盘只读存储器(CD-ROM)。计算机可读介质也可以是任何其他易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质,或者有形存储设备。
此外,表示一个或多个信息传输的步骤或方框可以对应于同一物理设备中的软件和/或硬件模块之间的信息传输。然而,其他信息传输可以在不同物理设备中的软件模块和/或硬件模块之间进行。
图中所示的特定布置不应该视为限制。应当理解,其他实施例可以包括给定附图中所示的更多或更少的每个元素。此外,一些示出的元素可以被组合或省略。此外,示例实施例可以包括图中未示出的元素。
虽然本文公开了各种方面和实施例,但其他方面和实施例对本领域技术人员而言是清晰的。本文公开的各种方面和实施例是为了说明的目的,而不是为了限制,真正的范围由所附权利要求书指示。

Claims (20)

1.一种计算机实现的方法,包括:
获得表示属于特定类别的多个道路对象的图像;
使用编码器模型并基于图像生成表示图像的视觉特征的多个特征图;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定图像内已经检测到相应道路对象的对应的位置;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定与相应道路对象相关联的对应的标签值;
基于多个道路对象中的每个相应道路对象的标签值确定多个道路对象的一个或多个组,其中,一个或多个组中的每个相应组包括两个或更多个对应的道路对象;
基于(i)相应组中的两个或更多个对应的道路对象的对应的位置和(ii)多个道路对象的特定类别,为一个或多个组中的每个相应组识别对应的道路状况;以及
生成表示一个或多个组中的每个相应组的对应的道路状况的输出。
2.根据权利要求1所述的计算机实现的方法,其中,确定图像内已经检测到每个相应道路对象的对应位置包括:
基于多个特征图并使用关键点机器学习模型来生成包括多个像素的关键点图,其中,多个像素中的每个相应像素的对应的值指示相应像素表示多个道路对象中的对应的道路对象的预定部分的可能性;以及
在关键点图内识别与超过阈值的对应的值相关联的两个或更多个像素,其中,两个或更多个像素在关键点图内的相应位置表示多个道路对象的对应的位置。
3.根据权利要求2所述的计算机实现的方法,其中,所述对应的道路对象的预定部分包括以下中的一项或多项:(i)沿对应的道路对象的垂直中心线的点,(ii)沿对应的道路对象的水平中心线的点,(iii)对应的道路对象的边界框上的点,或者(iv)对应的道路对象的边界框的中心点。
4.根据权利要求2所述的计算机实现的方法,其中,确定图像内已经检测到相应道路对象的对应的位置包括:
使用偏移机器学习模型并基于多个特征图来确定偏移图,该偏移图针对关键点图的多个像素中的每个相应像素,表示(i)相应像素在关键点图内的位置和(ii)由相应像素表示的特征在图像内的位置之间的对应的偏移;以及
针对多个道路对象中的每个相应道路对象,通过将(i)对应的偏移与(ii)相应道路对象在关键点图内的对应的位置相加来确定相应道路对象在图像内的对应的位置。
5.根据权利要求2所述的计算机实现的方法,其中,确定对应的标签值包括:
使用标签机器学习模型,基于多个特征图,并且针对关键点图的多个像素中的每个相应像素,生成包括多个值并且被配置为指示由相应像素表示的对象所属于的组的对应的向量。
6.根据权利要求5所述的计算机实现的方法,其中,确定一个或多个组包括:
针对多个道路对象中的每个相应道路对象,确定(i)与关键点图中表示相应道路对象的预定部分的像素相关联的对应的向量和(ii)与关键点图中表示多个道路对象中的一个或多个其他道路对象的相应预定部分的一个或多个其他像素相关联的一个或多个向量之间的一个或多个对应的距离度量;以及
基于多个道路对象中的每个相应道路对象的一个或多个对应的距离度量,将多个道路对象划分成一个或多个组。
7.根据权利要求2所述的计算机实现的方法,其中,确定对应的标签值包括:
使用标签机器学习模型,基于多个特征图,并且针对关键点图的多个像素中的每个相应像素,生成与相应像素相关联并且被配置为指示由相应像素表示的对象所属于的组的对应的标量值。
8.根据权利要求7所述的计算机实现的方法,其中,确定一个或多个组包括:
针对多个道路对象中的每个相应道路对象,确定与关键点图中表示相应道路对象的预定部分的像素相关联的对应的标量值;以及
基于多个道路对象中的每个相应道路对象的对应的标量值,将多个道路对象划分成一个或多个组。
9.根据权利要求1所述的计算机实现的方法,其中,对应的标签值由包括语义嵌入模型和关系推理机器学习(ML)模型的标签机器学习模型确定,并且其中,确定对应的标签值包括:
使用语义嵌入模型,基于多个特征图,并且针对多个道路对象中的每个相应道路对象,生成对应的语义嵌入向量;
通过组合(i)相应道路对象的对应的语义嵌入向量与(ii)相应道路对象的位置嵌入向量,针对多个道路对象中的每个相应道路对象生成对应的位置感知语义嵌入向量;以及
使用关系推理ML模型并针对多个道路对象中的每个相应道路对象,基于对应的位置感知语义嵌入向量生成对应的标签值。
10.根据权利要求9所述的计算机实现的方法,其中,所述关系推理ML模型包括自关注模型,所述自关注模型被配置为针对多个道路对象中的每个相应道路对象确定(i)相应道路对象的对应的位置感知嵌入向量和(ii)多个道路对象中的其他道路对象的对应的位置感知嵌入向量之间的对应的多个注意力分数,其中,相应道路对象的对应的标签值基于对应的多个注意力分数。
11.根据权利要求9所述的计算机实现的方法,其中,所述多个道路对象被表示为图形的节点,并且其中,所述关系推理ML模型包括图形神经网络模型,所述图形神经网络模型被配置为基于多个道路对象中的一个或多个其他道路对象的一个或多个对应的位置感知嵌入向量,针对多个道路对象中的每个相应的道路对象确定对应的标签值,其中,一个或多个其他道路对象中的每一个通过图形的对应的边缘链接到相应的道路对象。
12.根据权利要求1所述的计算机实现的方法,其中,所述多个道路对象被配置为指示施工区,其中,对应的道路状况表示由相应组中的两个或更多个对应的道路对象的对应的位置所指示的环境区域中的对应的施工区。
13.根据权利要求1所述的计算机实现的方法,其中,每个相应道路对象的对应的位置使用已经通过训练过程进行训练的关键点机器学习模型来确定,所述训练过程包括:
获得训练样本,所述训练样本包括(i)表示属于特定类别的多个训练道路对象的训练图像,以及(ii)针对多个训练道路对象中的每个相应训练道路对象,相应训练道路对象在训练图像内的对应的基准真值位置;
使用编码器模型并基于训练图像,生成表示训练图像的视觉特征的多个训练特征图;
使用关键点机器学习模型,基于多个训练特征图,并且针对多个训练道路对象中的每个相应的训练道路对象,确定训练图像内已经检测到相应的训练道路对象的对应的训练位置;
通过针对多个训练道路对象中的每个相应训练道路对象并使用焦点损失函数将相应训练道路对象的对应的基准真值位置与相应训练道路对象的对应的训练位置进行比较,来确定焦点损失值;以及
基于焦点损失值来调整关键点机器学习模型的一个或多个参数。
14.根据权利要求1所述的计算机实现的方法,其中,与每个相应道路对象相关联的对应的标签值使用已经通过训练过程进行训练的标签机器学习模型来确定,所述训练过程包括:
获得训练样本,所述训练样本包括(i)表示属于特定类别的多个训练道路对象的训练图像,以及(ii)多个道路对象的一个或多个基准真值组;
使用编码器模型并基于训练图像,生成表示训练图像的视觉特征的多个训练特征图;
使用标签机器学习模型,基于多个训练特征图,并且针对多个训练道路对象中的每个相应训练道路对象,确定与相应训练道路对象相关联的对应的训练标签值;
基于多个训练道路对象中的每个相应训练道路对象的对应的训练标签值,确定多个训练道路对象的一个或多个训练组;
通过使用分组损失函数将一个或多个基准真值组与一个或多个训练组进行比较来确定分组损失值,其中,所述分组损失函数被配置为针对多个训练道路对象中的每个相应训练道路对象,使得对应的训练标签值(i)收敛于相应训练道路对象的基准真值组内的训练道路对象的第一集合的第一对应的标签值,以及(ii)偏离基准真值组外的训练道路对象的第二集合的第二对应的标签值;以及
基于分组损失值调整标签机器学习模型的一个或多个参数。
15.根据权利要求1所述的计算机实现的方法,其中,识别对应的道路状况包括:
针对一个或多个组中的每个相应组,基于(i)相应组中两个或更多个对应的道路对象的对应的位置和(ii)多个道路对象的特定类别,识别存在对应的道路状况的对应的环境区域,其中,输出表示一个或多个组中的每个相应组的对应的环境区域。
16.根据权利要求1所述的计算机实现的方法,其中,生成输出包括:
基于图像生成注释图像,所述注释图像表示由一个或多个组中的每个相应组指示的对应的道路状况。
17.根据权利要求1所述的计算机实现的方法,还包括:
基于所述输出控制载具的操作。
18.一种系统,包括:
相机;
处理器;以及
非暂时性计算机可读介质,其上存储有指令,当由处理器执行时,所述指令使得处理器执行操作,所述操作包括:
从相机获得表示属于特定类别的多个道路对象的图像;
使用编码器模型并基于图像,生成表示图像的视觉特征的多个特征图;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定图像内已经检测到相应道路对象的对应的位置;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定与相应道路对象相关联的对应的标签值;
基于多个道路对象中的每个相应道路对象的标签值确定多个道路对象的一个或多个组,其中,一个或多个组中的每个相应组包括两个或更多个对应的道路对象;
基于(i)相应组中的两个或更多个对应的道路对象的对应的位置和(ii)多个道路对象的特定类别,针对一个或多个组中的每个相应组识别对应的道路状况;以及
生成表示一个或多个组中的每个相应组的对应的道路状况的输出。
19.根据权利要求18所述的系统,其中,所述对应的标签值由包括语义嵌入模型和关系推理机器学习(ML)模型的标签机器学习模型确定,并且其中,确定对应的标签值包括:
使用语义嵌入模型,基于多个特征图,并且针对多个道路对象中的每个相应道路对象,生成对应的语义嵌入向量;
通过组合(i)相应道路对象的对应的语义嵌入向量与(ii)相应道路对象的位置嵌入向量,来针对多个道路对象中的每个相应道路对象生成对应的位置感知语义嵌入向量;以及
使用关系推理ML模型并针对多个道路对象中的每个相应道路对象,基于对应的位置感知语义嵌入向量生成对应的标签值。
20.一种非暂时性计算机可读介质,其上存储有指令,当由计算设备执行时,所述指令使得计算设备执行操作,所述操作包括:
从相机获得表示属于特定类别的多个道路对象的图像;
使用编码器模型并基于图像,生成表示图像的视觉特征的多个特征图;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定图像内已经检测到相应道路对象的对应的位置;
基于多个特征图并针对多个道路对象中的每个相应道路对象,确定与相应道路对象相关联的对应的标签值;
基于多个道路对象中的每个相应道路对象的标签值确定多个道路对象的一个或多个组,其中,一个或多个组中的每个相应组包括两个或更多个对应的道路对象;
基于(i)相应组中的两个或更多个对应的道路对象的对应的位置和(ii)多个道路对象的特定类别,来针对一个或多个组中的每个相应组识别对应的道路状况;以及
生成表示一个或多个组中的每个相应组的对应的道路状况的输出。
CN202310753370.1A 2022-06-22 2023-06-25 使用机器学习的道路对象的联合检测和分组 Pending CN117274944A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/808,244 US20230419678A1 (en) 2022-06-22 2022-06-22 Joint Detection and Grouping of Road Objects Using Machine Learning
US17/808,244 2022-06-22

Publications (1)

Publication Number Publication Date
CN117274944A true CN117274944A (zh) 2023-12-22

Family

ID=85792370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310753370.1A Pending CN117274944A (zh) 2022-06-22 2023-06-25 使用机器学习的道路对象的联合检测和分组

Country Status (3)

Country Link
US (1) US20230419678A1 (zh)
EP (1) EP4296975A1 (zh)
CN (1) CN117274944A (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195914B2 (en) * 2012-09-05 2015-11-24 Google Inc. Construction zone sign detection
WO2016027270A1 (en) * 2014-08-18 2016-02-25 Mobileye Vision Technologies Ltd. Recognition and prediction of lane constraints and construction areas in navigation
US10713940B2 (en) * 2017-10-31 2020-07-14 Waymo Llc Detecting and responding to traffic redirection for autonomous vehicles
US10401862B2 (en) * 2017-10-31 2019-09-03 Waymo Llc Semantic object clustering for autonomous vehicle decision making

Also Published As

Publication number Publication date
EP4296975A1 (en) 2023-12-27
US20230419678A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
US20240036583A1 (en) Assisted Perception for Autonomous Vehicles
US9387854B1 (en) Use of environmental information to aid image processing for autonomous vehicles
US8781670B2 (en) Controlling vehicle lateral lane positioning
US8855849B1 (en) Object detection based on known structures of an environment of an autonomous vehicle
US9081385B1 (en) Lane boundary detection using images
US9063548B1 (en) Use of previous detections for lane marker detection
US11079768B2 (en) Use of a reference image to detect a road obstacle
US11653108B2 (en) Adjustable vertical field of view
US11945467B2 (en) Identification of proxy calibration targets for a fleet of vehicles
US11630209B2 (en) Laser waveform embedding
EP4207131A1 (en) Automated cut-in identification and classification
EP4296975A1 (en) Joint detection and grouping of road objects using machine learning
US20230041448A1 (en) Pedestrian Countdown Signal Classification to Increase Pedestrian Behavior Legibility
US11807276B2 (en) Software application for sensor analysis
US20240106987A1 (en) Multi-Sensor Assembly with Improved Backward View of a Vehicle

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