CN113811886B - 自主机器应用中的路口检测和分类 - Google Patents

自主机器应用中的路口检测和分类 Download PDF

Info

Publication number
CN113811886B
CN113811886B CN202080035114.3A CN202080035114A CN113811886B CN 113811886 B CN113811886 B CN 113811886B CN 202080035114 A CN202080035114 A CN 202080035114A CN 113811886 B CN113811886 B CN 113811886B
Authority
CN
China
Prior art keywords
data
intersection
vehicle
bounding box
pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202080035114.3A
Other languages
English (en)
Other versions
CN113811886A (zh
Inventor
S·M·萨贾德·***阿巴迪
B·罗德里格斯·赫尔瓦斯
窦航
I·特伦金
D·尼斯特
M·帕克
N·茨维耶蒂奇
J·权
T·彭
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN113811886A publication Critical patent/CN113811886A/zh
Application granted granted Critical
Publication of CN113811886B publication Critical patent/CN113811886B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/18Propelling the vehicle
    • B60W30/18009Propelling the vehicle related to particular drive situations
    • B60W30/18154Approaching an intersection
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/09Taking automatic action to avoid collision, e.g. braking and steering
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/08Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
    • B60W30/095Predicting travel path or likelihood of collision
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • B60W60/0011Planning or execution of driving tasks involving control alternatives for a single driving scenario, e.g. planning several paths to avoid obstacles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/251Fusion techniques of input or preprocessed data
    • 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
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06V10/803Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
    • 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/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
    • 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • 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/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • G08G1/166Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Transportation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

在各个示例中,可以利用来自车辆的传感器的实况感知来实时或近实时地对车辆的环境中的路口进行检测和分类。例如,深度神经网络(DNN)可被训练成计算各个输出,诸如路口的边界框坐标、对应于边界框的路口覆盖图、路口属性、到路口的距离和/或与路口相关联的距离覆盖图。可以对输出进行解码和/或后处理,以确定检测到的路口的最终位置、到其的距离和/或其属性。

Description

自主机器应用中的路口检测和分类
技术领域
本公开的实施例涉及自主机器应用中的路口检测和分类。
背景技术
自主驾驶***和高级驾驶员辅助***(ADAS)通常利用各种传感器来执行各种任务,诸如车道保持、车道变换、车道分配、相机校准、转向、停止、路径规划和定位。为了自主和ADAS***独立地且有效地操作,需要实时或接近实时地理解车辆的周围环境。该理解可包括关于环境中的对象、障碍物、车道和/或路口相对于各种划分(诸如车道、道路边界、路口等)的位置的信息。当做出决策时,诸如何时停止、在何处停止以及停止多长时间,车辆可使用周围环境的信息。
作为示例,关于自主或半自主车辆的环境中的路口的位置和属性的信息在进行路径规划、避障和/或控制决策时可以被证明是有价值的,控制决策诸如在何处停止、何时停止、何时移动、使用什么路径来安全地穿越路口、其他车辆或行人可以被定位在哪里和/或类似物。当车辆在城市和/或半城市驾驶环境中操作时,这是特别重要的,在城市和/或半城市驾驶环境中,路口理解和路径规划变得至关重要——例如,由于相对于公路驾驶环境增加的变量数量。例如,当车辆在双向、多车道驾驶环境中必须减速至完全停止并且在路口处等待时,确定路口的位置和类型(例如,多路停止、让行、交通灯等)对于安全且有效的自主和/或半自主驾驶变得至关重要。
在常规***中,路口可通过单独地检测和组合车辆及其周围环境的若干特性来解释。例如,为了检测路口,可以单独地检测多个对象(例如,交通灯、停车标志)、车辆位置、车辆方位、车道等,并且将其拼接在一起以检测和分类单个路口。然而,此类解决方案需要准确且详细的算法来识别路口检测的相关特征且针对每一可能类型的路口组合各种特征。因此,路口越复杂,所需要的注释就越详细——由此增加了准确检测和分类路口的复杂性并且降低了路口检测的可扩展性。另外,因为必须执行单独的检测过程,并且随后将它们组合在一起以生成路口的最终分类,所以所需的计算资源使得实时或近实时的路口检测和分类更具挑战性。此外,与单个特征相关的检测错误可能导致正确地检测路口失败(例如,误分类),从而导致可能比所期望的可靠性低的***。
其他常规***可通过将单独检测到的特征与车辆的驾驶表面的预存储高清晰度(HD)、三维(3D)地图中的特征进行比较来插值路口。然而,此类基于地图的解决方案高度依赖于地图的准确性和可用性。照此,当地图过时或对于某区域不可用时,这些常规***失败。例如,当需要手动标记较大的地理区域(例如,城市、州、国家)以使车辆能够在不同区域中独立且有效地驾驶时,该过程可能在逻辑上更复杂。当存在可能不在地图中反映的瞬时路口状况(例如,警察指挥交通、停下的校车)时,常规***也失败。
发明内容
本公开的实施例涉及自主机器应用中的路口检测和分类——例如,用于相关联的等待条件。公开了利用来自车辆的各个传感器的输出来检测与路口对应的环境区域并且实时地或接近实时地对路口进行分类(历史上都是作为整体来看环境的路口区域)的***和方法。
与常规***(如以上所描述的那些)相比,当前***可以使用车辆的实时感知来检测并分类车辆环境中的一个或更多个路口。可以利用路口的位置、到路口的距离和/或对应于路口的属性(例如,等待条件的分类)来检测和分类路口。例如,机器学习算法——诸如深度神经网络(DNN)——可以被训练成计算与路口相对应的信息——诸如路口边界框、覆盖图、属性、距离等——并且该信息可以用于有效地且准确地确定路口位置和属性以及到路口的距离。输出可由车辆用于有效地且准确地导航路口。例如,DNN的输出可被用于直接或间接地(例如,经由解码)确定:每个路口的位置、到每个路口的距离、与每个路口相关联的等待条件、在每个路口处停在哪里、在每个路口处停多久和/或诸如此类。
由于使用实况感知来生成对每个路口的理解,对路口进行检测和分类的过程可以是相对较不耗时的、在计算上较不密集的、并且更可扩展的,因为***可以学习实时地或接近实时地诊断每个路口,而不需要对路口的先前经验或知识,并且不需要单独地检测并组合车辆及其环境的若干特征。因此,自主车辆可能够更自由地行进通过城市、城市环境或HD地图可能不容易获得或不完全准确的其他位置。
附图说明
下面参考所附附图详细描述用于自主机器应用中的路口检测和分类的本***和方法,其中:
图1是示出了根据本公开的一些实施例的用于训练神经网络以使用来自车辆的一个或更多个传感器的输出来检测和分类路口的示例过程的示例数据流图;
图2A-2B是根据本公开的一些实施例的要应用于传感器数据的示例注释的图示,该传感器数据用于地面实况生成,其用于训练机器学习模型以对路口进行检测和分类;
图3A-3B是根据本公开的一些实施例的在用于训练机器学习模型以对路口进行检测和分类的地面实况生成中使用的示例路口覆盖图的图示;
图4是示出了根据本公开的一些实施例的用于训练神经网络以对路口进行检测和分类的示例性方法的流程图;
图5是示出了根据本发明的一些实施例的用于使用机器学习模型并且基于来自车辆的传感器的输出对路口进行检测和分类的示例过程的数据流图;
图6是示出了根据本公开的一些实施例的用于对路口进行检测和分类的示例性方法的流程图;
图7A是根据本公开一些实施例的示例自主车辆的图示;
图7B是根据本公开一些实施例的用于图7A的示例自主车辆的相机位置和视场的示例;
图7C是根据本公开一些实施例的用于图7A的示例自主车辆的示例***架构的框图;
图7D是根据本公开一些实施例的用于图7A的基于云的服务器与示例自主车辆之间的通信的***图;以及
图8是适合用于实现本公开的一些实施例的示例计算设备的框图。
具体实施方式
公开了涉及自主机器应用中的路口检测和分类的***和方法。虽然可相对于示例性自主车辆700(或者,在本文中称为“车辆700”或“自车辆700”,相对于图7A至图7D描述了其实例)描述本公开,但是这并非旨在限制。例如,本文所述的***和方法可由但不限于非自主车辆、半自主车辆(例如,在一个或更多个自适应驾驶员辅助***(ADAS)中)、机器人、仓库车辆、越野车辆、飞行船只、船、穿梭车、紧急响应车辆、摩托车、电动自行车或机动自行车、飞机、施工车辆、水下船、无人机和/或其他车辆类型使用。此外,尽管本公开可以利用针对车辆应用的路口检测和分类来描述,但是这不旨在是限制性的,并且本文所描述的***和方法可以用于增强现实、虚拟现实、模拟***(例如,用于在虚拟世界中测试虚拟车辆或机器人,或与其对应的***)、机器人、安全和监视、自主或半自主机器应用和/或可以使用对路口或其他环境结构和/或姿态的检测的任何其他技术空间中。
如本文中所描述,与常规方法相比,当前***和方法提供使用来自车辆的传感器(例如,相机、RADAR传感器、LIDAR传感器等)的输出来实时或近实时地检测和分类路口的技术。如此,对于每个路口,车辆的实况感知可以用于检测路口的位置、到路口的距离和/或对应于路口的属性或分类。计算机视觉和/或机器学习模型(例如,深度神经网络(DNN),如卷积神经网络(CNN))可以被训练成计算输出,在实施例中,所述输出在解码之后导致检测到的路口、与其的距离、和/或其分类或属性,并且所述输出可以由车辆用于有效和准确地导航路口。
在一些实施例中,为了对可以在图像空间中在视觉上重叠的两个或更多个路口进行准确地分类,机器学习模型可以被训练成针对边界形状内的像素计算与对应边界形状的边缘相对应的像素距离,从而使得可以生成边界形状。通过这样做,每个像素可以单独地表示边界形状的形状和位置,因此可以使用较小的编码空间(例如,小于对应于边界形状的像素的实际数量)来编码边界形状边缘位置——从而去除图像中的连续边界形状之间的重叠。此外,在一些实施例中,可以使用时间处理来随时间增强预测的稳定性和准确性,使得可以利用先前的检测和分类来通知当前预测。为了训练机器学习模型以预测到路口的距离,在实施例中,可以生成地面实况信息并且自动地与地面实况传感器数据相关联。例如,当车辆横越图像中所捕获的环境的一部分时,从车辆传感器所捕获的车辆的运动可以用于确定行进到每个路口的距离,并且所行进的距离可以归于到该路口的距离。
如此,通过使用实况感知来生成对每个路口的理解,检测和分类路口的过程可以是相对较不耗时的、较不计算密集的、并且更可扩展的,因为***可以学习实时地或接近实时地诊断每个路口。此外,并且与常规***进一步相反,不需要路口的现有知识或经验。
在部署中,可以使用位于或以其他方式布置在自主或半自主车辆上的传感器(例如,相机、RADAR传感器、LIDAR传感器等)来接收和/或生成传感器数据(例如,图像数据、LIDAR数据、RADAR数据等)。传感器数据可被应用于神经网络(例如,深度神经网络(DNN),诸如卷积神经网络(CNN)),该神经网络被训练成识别涉及由传感器数据表示的路口(例如,升高的路面标记、震动条带、彩色车道分隔物、人行道、十字路口、关口等)以及与其相关的语义(例如,等待条件)和/或距离信息的兴趣区域。更具体地,神经网络可以被设计为计算表示路口位置、分类和/或到路口的距离的数据。例如,所计算的输出可以用于确定对应于路口的边界形状的位置、像素是否对应于路口的置信度图、到路口的距离、分类和语义信息(例如,属性、等待条件)和/或其他信息。在一些示例中,路口的所计算的位置信息(例如,到对应边界框的左边缘、右边缘、顶部边缘、底部边缘的像素距离)可表示为基于像素的覆盖图,其中每一像素对应于如均匀加权的路口。此外,距离(例如,车辆到路口边界框的底部边缘的距离)可以表示为基于像素的距离覆盖图。
DNN可被训练成预测对应于路口位置、距离和属性的任何数量的不同信息,例如,经由任何数量的通道。例如,通道可以表示路口位置、路口覆盖图、路口属性、路口距离、路口距离覆盖图和/或其他通道。在训练期间,DNN可以用图像或用表示路口的边界框标记或注释的其他传感器数据表示来训练,并且还可以包括与其对应的语义信息。所标记的边界框和语义信息然后可由地面实况编码器使用以生成与从注释确定的路口相对应的路口位置、覆盖图、置信度值、属性、距离、距离覆盖图和/或其他信息。
路口边界形状的位置可以被编码以生成一个或更多个路口覆盖图。在一些实施例中,DNN可被训练成对每个边界框中的所有像素同等地作出反应,并且作为结果,均匀掩模可被应用于边界形状中的每个像素。路口覆盖图可以对对应于每个像素是否与路口相关联的置信度值进行编码。对应于边界形状的像素可用于确定被编码到相同像素的边界形状的位置的对应位置信息。例如,对于被确定为对应于边界形状的给定像素,对应于该像素的边界框位置信息可至少部分地用于确定特定传感器数据实例(例如,图像)的边界形状的位置和维度。如本文中所描述,因为两个或更多个路口可在图像空间内在空间上重叠,所以对于给定路口或边界形状,覆盖图内的像素的数目可减少(例如,收缩以裁剪掉顶部部分),使得可从用于确定边界形状位置和维度的考虑中移除重叠区域(例如,其中边界形状的顶部可与另一边界形状的底部重叠)。照此,DNN可被训练成检测离车辆越来越近和越来越远的路口,而与较近的路口相对应的边界形状不干扰对离车辆更远的另一路口的边界形状的预测。
在一些示例中,并且作为包括不同数量的路口的不同传感器数据实例的结果,地面实况数据可使用多个不同的覆盖图来编码。例如,每一图像内的近范围、中范围和/或远范围(例如,距离)的覆盖图可被分开编码,使得DNN可用每一范围的各个通道来训练。图像中每个路口的距离随后可用于确定哪个路口位于哪个范围内。
一旦DNN被训练,DNN就可在表示路口边界框坐标、覆盖图、置信度值、属性、距离、距离覆盖图的输出和/或对应于网络被训练来预测的经编码的地面实况通道的其他输出上回归,如本文中所描述的。使用DNN的输出(在实施例中,在解码之后),对应于边界形状的像素可被检测到,并且世界空间环境的与图像空间中的边界形状内的区域相对应的区域可被分类为具有特定等待条件和/或其他属性(例如,进一步基于DNN的输出)。例如,一旦针对每个像素确定该像素是否对应于边界形状的置信度,该像素的相关联的边界形状位置可被利用来确定边界形状位置预测。来自多个像素的边界形状位置预测的组合随后可用于生成边界形状的位置的最终预测。在一些实施例中,随机样本一致性(RANSAC)算法可以用于从对应于相应像素的各个预测确定最终预测。
进一步,为了确定给定路口的分类或属性,具有相同属性的多个像素可用于确定与路口相关联的最终边界形状的最终属性。例如,在边界形状内的阈值数量的像素均与相同属性相关联的情况下,该属性可以被确定为与该路口相关联。可针对每一属性类型重复此过程,且因此,检测到的路口可基于其对应的最终边界形状内的被预测为包括那些属性的至少某数目的像素而与一组(例如,一个或更多个)最终属性相关联。
在一些示例中,可以对边界框、距离和/或属性执行时间分析以确认DNN预测的稳定性、稳健性和准确性。可相对于与传感器数据的先前实例相对应的DNN的先前预测,来对DNN的当前预测进行加权。在一些示例中,可对对应于传感器数据的先前连续帧的多个预测执行时间滤波(例如,统计滤波)。可利用连续传感器数据实例之间的车辆的运动来准确地执行时间滤波。
在一些示例中,在部署期间,车辆的运动可被跟踪并与传感器数据相关联以生成用于进一步训练DNN和/或另一DNN的新的地面实况数据。照此,并且类似于DNN的初始训练过程,车辆从传感器数据(例如,图像)的所捕获实例的世界空间位置到路口的世界空间位置(例如,路口的入口)行进的距离可被跟踪,并且此距离可被编码为到路口的距离以用于训练DNN。照此,路口的入口点位置随后可被反投影至传感器数据的先前实例,以用于训练DNN来计算到路口的距离。距离可被编码以生成对应于距离的覆盖图,和/或可用于将距离值编码到图像的像素(例如,每个像素、对应于路口的像素、路口外部的像素等)。以此方式,可以利用车辆的运动来生成地面实况数据以用于训练DNN。
参考图1,图1是示出了根据本公开的一些实施例的用于训练神经网络以使用来自车辆的一个或更多个传感器的输出来检测和分类路口的示例过程100的示例数据流程图。应当理解,本文所述的这种和其他布置仅作为示例进行阐述。在高层级,过程100可以包括一个或更多个机器学习模型104接收一个或更多个输入(诸如传感器数据102)并且生成一个或更多个输出(诸如一个或更多个输出106)。在一些示例中,当用于训练时,传感器数据102可以被称为训练数据。虽然主要相对于表示图像的图像数据讨论传感器数据102,但这并不旨在进行限制,并且传感器数据102可以包括用于路口姿态检测的其他类型的传感器数据,诸如LIDAR数据、SONAR数据、RADAR数据等——例如,如由车辆700的一个或更多个传感器生成的(图7A-7D)。
过程100可以包括从一个或更多个传感器生成和/或接收传感器数据102。作为非限制性示例,传感器数据102可以从车辆(例如,图7A-7C和本文描述的车辆700)的一个或更多个传感器接收。传感器数据102可以被车辆使用,并且在过程100内,用于检测和生成用于实时或近实时地导航路口的路径。传感器数据102可以包括但不限于来自车辆的任何传感器的传感器数据102,该传感器例如包括并且参考图7A-7C,全球导航卫星***(GNSS)传感器758(例如,全球定位***传感器),RADAR传感器760、超声波传感器762、LIDAR传感器764、惯性测量单元(IMU)传感器766(例如,加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风776、立体相机768、宽视角相机770(例如,鱼眼相机)、红外相机772、环绕相机774(例如,360度相机)、远程和/或中程相机778,速度传感器744(例如,用于测量车辆700的速度)和/或其他传感器类型。作为另一示例,传感器数据102可以包括从虚拟车辆或其他虚拟对象的任何数量的传感器生成的虚拟传感器数据。在这样的示例中,虚拟传感器可以对应于虚拟车辆或模拟环境中的其他虚拟对象(例如,用于测试、训练和/或验证神经网络性能),并且虚拟传感器数据可以表示由模拟或虚拟环境内的虚拟传感器捕获的传感器数据。如此,通过使用虚拟传感器数据,可以使用模拟环境中的模拟数据来测试、训练和/或验证本文所描述的机器学习模型104,这可以允许测试真实世界环境之外的更极端的场景,其中这样的测试可能是不可用的或者较不安全的。
在一些实施例中,传感器数据102可包括表示图像的图像数据、表示视频(例如,视频帧)的图像数据和/或表示传感器的传感场或传感器数据的导数的传感器数据(例如,LIDAR传感器的深度图、超声波传感器的值图等)。在传感器数据102包括图像数据的情况下,可以使用任何类型的图像数据格式,诸如,例如但不限于诸如联合图像专家组(JPEG)或亮度/色度(YUV)格式的压缩图像、作为源自诸如H.264/高级视频编码(AVC)或H.265/高效率视频编码(HEVC)之类的压缩视频格式的帧的压缩图像、诸如源自红色透明蓝(RCCB)、红色透明(RCCC)或其他类型的成像传感器的原始图像和/或其他格式。此外,在一些示例中,传感器数据102可在过程100内使用而无需任何预处理(例如,以原始或捕获的格式),而在其他示例中,传感器数据102可经历预处理(例如,噪声平衡、去马赛克、缩放、裁剪、增强、白平衡、色调曲线调整等,诸如使用传感器数据预处理器(未示出))。如本文中所使用的,传感器数据102可以指代未处理的传感器数据、预处理的传感器数据、或其组合。
用于训练的传感器数据102可包括原始图像(例如,如由一个或更多个图像传感器捕获的)、下采样图像、上采样图像、经裁剪的图像或感兴趣区(ROI)图像、以其他方式增强的图像和/或其组合。可以使用图像(和/或其他传感器数据102)以及相应的地面实况数据122来训练机器学习模型104。地面实况数据122可以包括注释、标签、掩模、地图等。例如,在一些实施例中,地面实况数据122可以包括边界框坐标124、路口覆盖图126、路口属性128、距离130和/或距离覆盖图123。编码器120可以使用注释118来编码地面实况数据122。在一些实施例中,注释118可包括边界框118A和边界框118A的属性118B。
参考注释118,在一些示例中,注释118可以在绘图程序(例如,注释程序)、计算机辅助设计(CAD)程序、标记程序、适用于生成注释118的另一类型的程序和/或地面实况数据122和/或可以被手动绘制的其他程序内生成。在任何示例中,注释118和/或地面实况数据122可以是合成产生的(例如,从计算机模型或渲染中生成)、真实产生的(例如,从真实世界数据中设计和产生)、机器自动化的(例如,使用特征分析和学习来从数据中提取特征并且然后生成标签)、人类注释的(例如,标记器或注释专家,其定义标签的位置)和/或其组合(例如,其中人类标识通道的中心或原点和维度,并且机器生成通道)。
边界框118A可以包括与对应于路口的感兴趣特征或区域相对应的注释或其他标签类型。在一些示例中,路口可被定义为对应于如由传感器数据102所表示的路口的位置的边界框。路口可以在两个或更多道路(例如,街道)交叉、同一道路具有行人十字路口或专用入口(例如,车道、停车场等)、紧急车辆可以进入道路的任何位置、和/或任何其他路口类型的任何位置进行注释。边界框118A可生成为覆盖路口所处的区域和/或位置的任何形状(例如,矩形、框、正方形、圆形、多边形、三角形、二维(2D)、三维(3D)等)。在存在一个以上路口的传感器数据102实例中,可以注释多个边界框118A,其中每个路口一个边界框——取决于视场和/或视角,其可以或可以不重叠。在一些示例中,边界框118A可以被注释为包括路口的所有视觉特征(例如,交通灯、停止线、停止标志、人行横道、交通标志等)。此外,可以对边界框118A进行注释,从而使得边界框118A的底部边缘沿着路口的第一特征延伸——在示例中,第一特征可以是路口或十字路口进入线。在任何示例中,边界框118A可以被注释为尽可能紧密地适合路口,同时仍然包括可以帮助解释路口结构、姿态、属性(例如,等待条件)和/或其他信息的所有视觉特征。
可以针对由用于训练机器学习模型104的传感器数据102所表示的每一个图像(或其他数据表示)的边界框118A中的每一个来生成属性118B。属性118B可表示关于边界框118A内的对应路口的语义信息(例如,针对环境的特征的各个标签或分类、针对应用于整个路口的等待条件的总体标签、应用于环境的各个特征的各个等待条件等)。属性118B的数量可以对应于机器学习模型105被训练来预测的特征(例如,分类、等待条件、路口)的数量和/或类型,或者对应于传感器数据102的相应实例中的路口的等待条件和/或类型的数量。取决于实施例,属性118B可对应于与路口的特征类型相对应的分类或标签,所述特征类型诸如但不限于让行控制、停止控制、不受控制、连接较小道路、内部、交通灯控制、环岛、行人、特殊、不在路径中、构造和/或其他特征类型。
在一些示例中,可以基于注释118来确定路口位置和/或到路口的距离。在这样的示例中,可使用边界框118A的两个或更多边缘、顶点和/或其他特征来确定边界框118A的像素位置。例如,左上角和右下角的像素坐标可被编码为边界框118A的位置(例如,传感器数据实例内的位置坐标)。在其他示例中,可将边界框118A的位置编码为到边界框118A的左边缘、右边缘、顶部边缘和/或底部边缘的像素距离。可将针对边界框118A的到路口的距离(其中边界框118A用于确定距离)编码为到边界框118A的底部边缘、顶部边缘、侧边缘、顶点和/或路口的另一特征的距离。
作为注释118的示例,并且参考图2A至图2B,图2A至图2B示出了根据本公开的一些实施例的应用于传感器数据的注释,所述传感器数据用于在地面实况生成中使用,用于训练机器学习模型以检测和分类路口。例如,图2A示出了可用于根据图1的训练过程100生成地面实况数据的图像200的示例标记(例如,对应于注释118)。图像中的路口可以用边界框118A(例如,边界框204)和对应的分类(例如,交通灯控制的(traffic-light_controlled)、行人穿越(pedestrian_crossing))来注释。例如,对应于边界框204的路口可以使用边界框来标记并且被分类为交通灯控制的、路口和行人穿越中的一个或更多个。不同的分类标签可以通过不同的边界框线类型(例如,实线、虚线等)在图2A中表示,以表示不同的分类。然而,这不旨在是限制性的,并且路口边界框标签及其分类的任何可视化可以包括不同形状、图案、填充、颜色、符号和/或其他标识符以便展示图像中特征(例如,等待条件、属性)的分类标签的差异。
现在参见图2B,图2B示出了根据本发明的一些实施例的应用于传感器数据以训练机器学习模型从而对路口进行检测和分类的注释的另一示例。这里,路口可以用边界框222来注释。边界框222可以覆盖对应路口的所有特征(例如,道路表面上绘制的让行(YIELD)标志)。作为与可视化220相关联的注释118的结果,可以基于车辆当前占用的车道上的让行标志,将边界框222分类为让行控制的路口(例如,Yield_Controlled)。应当注意,当传感器数据中的图像包括多个路口时,多个路口可以用相应的多个边界框和它们的分类来注释。类似地,还应注意,属性118可以是复合名词。不同的分类标签可以在图2B中由实线、虚线等表示,以表示不同的分类(例如,属性)。进一步,不同的分类标签可以是名词和/或复合名词。这不旨在是限制性的,并且用于分类的任何命名约定(例如,属性)可以用于图示在图像中的特征(例如,等待条件、属性)的分类标签的差异。
再次参考图1,编码器120可被配置为使用注释118和/或距离历史514(关于至少图5更详细地描述)编码对应于路口的地面实况信息。例如,如本文所描述的,即使注释可以限于边界框118A和属性118B,也可以从注释118确定诸如路口位置、到路口的距离和/或其他路口信息之类的信息。一旦确定了此信息,编码器120就可以对信息进行编码以生成地面实况数据122。例如,边界框118内的像素或点(例如,每个像素,每个像素对应于尺寸减小的覆盖图,诸如底部100个像素)可以具有对应于向其编码的图像空间中的边界框118A位置的(例如,顶点、边缘等的)像素位置。在一些实施例中,具有编码至其的边界框位置信息的每个像素可以与边界框建议相关联——例如,使得对应于单个像素的信息可以用于生成边界框的位置建议,而不需要来自任何其他像素的输入。因此,机器学***均、加权等以确定最终建议。在一些实施例中,编码到像素的信息可以包括到边界框的边缘的距离——例如,沿着与相应像素相同的行和/或沿着与相应像素相同的列。照此,且举例来说,在像素具有编码到其的值(10、100、150、20)的情况下,这可指示左边缘是沿着像素的行到左边10个像素,右边缘是沿着所述行到右边100个像素,顶部边缘是沿着所述像素的列向上150个像素,且底部边缘是沿着所述列向下20个像素。在任何示例中,可将至少两个边缘位置编码到像素(例如,至少一个垂直边缘和一个水平边缘)。通过以此方式编码边界框位置信息,机器学习模型104可以能够预测较小的覆盖图(例如,如本文中所描述的缩小的覆盖图),以允许针对单个传感器数据实例预测多个路口。然而,在一些实施例中,可以例如通过将置信度与像素相关联(像素是边界形状的质心)并且然后进一步编码边界框的尺寸(例如,高度和宽度)来不同地编码边界框位置信息。
例如,路口边界框118A的位置可以以路口覆盖图126的形式进行编码——从而使得机器学习模型104可以被训练为对每个边界框118A中的所有像素同等地反应。以此方式,均匀掩模可应用于边界框118A中的每一像素。在一些示例中,路口覆盖图126还可对对应于边界框118A中的每一像素是否与路口相关联的置信度值进行编码。对应于边界框118A的像素可用于确定被编码到相同像素的边界框118A的位置的相应位置信息。例如,对于被确定为对应于边界框118A中的边界框的给定像素,可以至少部分地使用对应于该像素的边界框位置信息来确定针对传感器数据102的特定传感器数据实例(例如,图像)的边界框的位置和维度。以此方式,可以给定边界框内的一些或所有像素相等的权重,从而使得机器学习模型104能够检测传感器数据102的单个实例中的多个路口。在一些示例中,路口覆盖图126可以包括多个覆盖图,其中每个覆盖图对应于从注释118确定的不同路口或边界框118A。
在一些示例中,路口覆盖图126可以在大小上减小——从而使得机器学习模型104能够学习准确地预测多个路口。例如,当边界框118A到车辆的距离低于阈值距离和/或两个路口的边界框在传感器数据102的图像空间内重叠时,路口覆盖图126中的至少一个可以在大小上减小。在这样的示例中,给定路口和/或边界框118A的覆盖图内的像素或点的数目可在路口覆盖图126中减少(例如,通过裁剪掉顶部部分),使得可从用于确定边界框坐标124(例如,位置)和/或维度的考虑中移除重叠区域(例如,其中边界形状的顶部可与另一边界形状的底部重叠)。在一些示例中,路口覆盖图126可以被减小以使得路口覆盖图126的底部边缘保持与初始路口覆盖图(以及因此与其对应的边界框)相同,并且路口覆盖图126的经更新的上部边缘通过从初始路口覆盖图126的顶部部分移除像素来确定。如此,并且由于覆盖图126内的至少一些像素单独地表示边界框位置和/或维度,通过减小路口覆盖图126的大小,机器学习模型104可以被训练成针对传感器数据实例内的每个路口准确地预测边界框位置和/或维度。例如,如果路口覆盖图126没有减小,则一个或更多个像素或点可以具有对应于第一边界框的第一位置信息和对应于第二边界框的第二位置信息,使得重建的边界框可能不准确地对应于单个路口(例如,上边缘可能对应于第一路口,而下边缘可能对应于不同的路口)。由于大小减小的路口覆盖图126,大小减小的路口覆盖图126内的一个或更多个像素可具有向其编码的边界框位置和/或维度信息。在另一实例中,边界框内的每一像素或点可具有编码到其的位置和/或维度信息,但大小减小的路口覆盖图126可用于在生成最终边界框建议时确定利用哪些像素或点(例如,大小减小的路口覆盖图126内部的像素或点)以及忽略哪些像素或点(例如,大小减小的路口覆盖图126外部的像素或点)。因此,机器学习模型104可以被训练成检测更靠近车辆700和更远离车辆700的路口,而不存在与一个路口相对应的预测干扰与另一个路口相对应的预测。
在一些其他示例中,并且作为包括不同数量的路口的不同传感器数据102实例的结果,地面实况数据112可以使用多个不同的路口覆盖图126来编码。例如,针对传感器数据102的每个实例内的近范围、中范围和/或远范围(例如,距离)的路口覆盖图126可以被单独地编码,从而使得机器学习模型104可以利用针对每个范围的各个通道来训练。近范围、中范围和/或远范围可以基于根据边界框118A的底部边缘像素位置的基于像素的几何分析来预定义。
作为路口覆盖图126的示例,并且参见图3A-3B,图3A-3B示出了根据本公开的一些实施例的路口覆盖图,所述路口覆盖图用于在用于训练机器学习模型以检测和分类路口的地面实况生成中使用。关于图3A-3B,路口覆盖图的白色部分(例如,初始路口覆盖图304、326和更新路口覆盖图306、328)可以对应于高于阈值(例如,0.8、0.9、1等)的置信度值,该置信度值指示路口(或与其对应的边界框)与其中的像素相关联。所述图案化部分(例如,对角线条纹化)可对应于低于阈值(例如,0.7、0.6等)的置信度值,所述置信度值指示路口(或对应于所述路口的边界框)不与其中的像素相关联。照此,白色区域内的每一像素可被确定为对应于路口,而图案化区域内的每一像素可被确定为不对应于路口。在训练期间,编码到白色区域的置信度值可以是1.0,而编码到图案化区域的置信度值可以是0.0。然而,在部署期间,预测可如上所述与阈值比较以确定像素或点是否对应于路口。
图3A示出了通过基于大于大小阈值的初始边界框的大小减小路口覆盖图126的大小来编码路口覆盖图。图像300用与传感器数据的实例中的路口相对应的边界框302注释。在初始路口覆盖图304中,对应于边界框302的一些或所有像素可以用路口位置信息编码。响应于边界框302的初始大小大于阈值、初始边界框302与另一边界框(未示出)相交、和/或另一准则,对应于路口的初始覆盖图304的尺寸可以被减小以生成经更新的路口覆盖图306,以表示相同的路口。经更新的路口覆盖图306可通过调整对应于边界框302内的像素或点的一部分(例如,来自初始边界框302的顶部的点或像素)的值来生成。因此,在一些非限制性实施例中,初始路口覆盖图304的底部边缘310可以被保持为经更新的路口覆盖图306的底部边缘,而顶部边缘312可以被向下裁剪到经更新的顶部边缘314。在一些实施例中,经更新的路口覆盖图306的减小的大小可以基于预定大小阈值,例如以包括对应于边界框302的前100、200、300等行的像素。
图3B示出了根据本公开的一些实施例的通过基于第一边界框322与表示另一路口的第二边界框324重叠减小路口覆盖图的大小来编码路口覆盖图。在传感器数据102(例如,图像320)的实例中,用对应于第一路口的第一边界框322和对应于第二路口的第二边界框324对图像320进行注释。在初始路口覆盖图326中,初始第一边界框322和第二边界框324内的像素或点可以用路口位置信息进行编码。基于第一边界框322和第二边界框324重叠,初始路口覆盖图326可以反映该相同,使得对应于重叠区域的一些值可以表示两个路口,并且因此可能导致训练机器学习模型104不准确地预测边界框位置。结果,可以减小初始路口覆盖图326的初始大小以生成经更新的路口覆盖图328。经更新的路口覆盖图328可以通过改变对应于第一边界框322内的像素或点的一部分(例如,像素或点的顶部部分、侧部部分、底部等部分)的值来生成。在一些实施例中,经更新的覆盖图328可以包括与初始路口覆盖图326相同的底部边缘330,但可以包括从初始路口覆盖图326的顶部边缘334修正的顶部边缘336。如所描绘的,顶部边缘可以被向下裁剪到经更新的顶部边缘336。经更新的覆盖图328的减小的大小可基于预定的大小阈值,如本文所描述的。如本文所描述的,减小一个或更多个路口覆盖图126的大小可以帮助机器学习模型104学习清楚地描绘路口的多个边界框,从而使得机器学习模型104能够准确且高效地检测传感器数据102的单个实例中的多个路口。
再次参考图1,表示传感器数据102的图像中的每个路口的距离130然后可以用于确定哪个路口位于哪个范围内。可将距离130确定为基于所述路口的一部分(例如,边界框118A的底部边缘)的距离值。照此,距像素或点的距离130可被确定和编码以生成距离覆盖图132或另一距离表示。例如,像素或点中的一个或更多个可包括相关联的距离。相关联的距离可以包括在图像空间中从像素到路口的一部分(诸如与像素或点最近的路口、到检测到的每个路口等)的距离。所述路口的该部分可包括进入点(例如,对应于边界框的底部边缘)、中心点(例如,边界框的质心)和/或对应于所述路口的另一点。
在一些示例中,可基于表示车辆700在捕获图像数据时从第一位置到对应于路口和/或其间的任何点的第二位置的运动的运动数据来确定距离130。例如,当捕获传感器数据102的实例时,随着车辆700横越在传感器数据102的实例中表示的视场,可以跟踪车辆700的运动信息。照此,可以确定车辆700行进的世界空间距离并将其投影到图像空间中并与传感器数据102的像素或点相关。因此,车辆700行进的实际距离可以用于准确地确定到传感器数据102的实例内表示的路口的距离。然后,可以训练机器学习模型104以计算到路口的距离,其中训练基于由自我运动信息生成的准确距离信息。在一些实施例中,路口和/或与其对应的边界框118A的这些距离可以以距离覆盖图132的形式编码。例如,传感器数据实例的底部边缘与路口的一部分(例如,边界框的底部边缘、路口的入口点等)之间的像素(例如,每个像素)在距离覆盖图132内可以用与从车辆700上的点(例如,原点)到路口的点或部分或与其对应的边界框的距离相对应的距离值进行编码。
另外,边界框118B内的像素或点(例如,每个像素或点,每个像素或点对应于覆盖图,诸如大小减小的覆盖图)可具有向其编码的属性118B。对于非限制性示例,在机器学习模型104被训练成预测某数量的属性的情况下,具有编码至其的属性的每个像素可以包括针对与其相关联的每个分类为1的置信度和针对其他分类为0的置信度。
在一些非限制性实施例中,并且因为被应用于机器学习模型104的传感器数据102的空间分辨率可以不同于(例如,大于、小于等)对应于机器学习模型104的预测的输出空间分辨率,所以地面实况信息可以被编码成使得预测可以容易地转换回输入空间分辨率。例如,可使用锚点或像素。在这些示例中,输出空间分辨率处的像素或点可与回到输入空间分辨率的已知转换相关联,且输出空间分辨率处的预测可实际上直接对应于输入空间分辨率。如此,在针对边界框位置的预测包括到边界形状的左边缘、上边缘、右边缘和/或下边缘的像素距离的情况下,机器学习模型104在输出空间分辨率下的这种预测可以实际上对应于输入空间分辨率。作为示例,在预测是针对沿着输出分辨率下的行的第四像素的情况下,此预测可直接归于沿着输入分辨率下的行的第八像素,使得对到输出空间分辨率下的边界框的左边缘的五十个像素的预测实际上对应于到输入空间分辨率下的边界框的左边缘的五十个像素。以此方式,机器学习模型104可以需要较少的计算,因为输出空间分辨率不需要匹配输入空间分辨率,由此允许在处理期间进行下采样而无需此后进行上采样。
一旦针对传感器数据102的每个实例(例如,针对传感器数据102包括图像数据的每个图像)生成了地面实况数据122,机器学习模型104可以使用地面实况数据122来训练。例如,机器学习模型104可以生成输出106,并且可以使用损失函数140将输出106与对应于传感器数据102的相应实例的地面实况数据122进行比较。如此,来自损失函数140的反馈可以用于鉴于地面实况数据122来更新机器学习模型104的参数(例如,权重和偏置),直到机器学习模型104收敛到可接受的或期望的准确度。使用过程100,机器学习模型104可以被训练成使用损失函数140和地面实况数据122从传感器数据102准确地预测输出106。在一些示例中,不同的损失函数140可以用于训练机器学习模型104以预测不同的输出106。例如,第一损失函数140可以用于比较路口覆盖图110和126,并且第二损失函数140可以用于比较距离覆盖图116和132。照此,在非限制性实施例中,可使用不同于输出通道中的另一输出通道的损失函数140来训练输出通道中的一个或更多个。
机器学习模型104可以使用传感器数据102来计算输出106,所述输出106最终可以应用于解码器或一个或更多个其他后处理组件(在本文中至少关于图4更详细地描述),以生成路口坐标、路口距离、属性和/或其他信息。尽管本文中关于将深度神经网络(DNN)并且具体地卷积神经网络(CNN)用作机器学习模型104(例如,关于图1和图4)描述了示例,但是这不旨在是限制性的。例如但不限于,机器学习模型104可以包括任何类型的机器学习模型,诸如使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、k最近邻(Knn)、K均值聚类、随机森林、降维算法、梯度提升算法、神经网络(例如,自动编码器、卷积、递归、感知器、长/短期记忆/LSTM、霍普菲尔德(Hopfield)、玻尔兹曼(Boltzman)、深度信念、解卷积、生成对抗、液态机等)、通道检测算法、计算机视觉算法的机器学习模型和/或其他类型的机器学习模型。
作为示例,诸如,机器学习模型104包括CNN的情况下,机器学习模型104可以包括任何数量的层。所述层中的一个或更多个层可包括输入层。输入层可保持与传感器数据102相关联的值(例如,在后处理之前或之后)。例如,当传感器数据102是图像时,输入层可以将表示图像的原始像素值的值保持为体(例如,宽度、高度和颜色通道(例如,RGB),诸如32×32×3)。
一个或更多个层可以包括卷积层。卷积层可以计算连接到输入层中的局部区域的神经元的输出,每个神经元计算它们的权重与它们在输入体中连接到的小区域之间的点积。卷积层的结果可以是另一个体,其中维度之一基于所应用的滤波器的数量(例如,宽度、高度和滤波器的数量,诸如32×32×12,如果12是滤波器的数量的话)。
所述层中的一个或更多个层可以包括整流线性单元(ReLU)层。ReLU层可以应用逐元素激活函数,例如最大值(0,x),阈值为零。得到的ReLU层的体可以与ReLU层的输入的体相同。
这些层中的一个或更多个层可以包括池化层。池化层可沿空间维度(例如,高度和宽度)执行下采样操作,这可导致比池化层的输入更小的体(例如,来自32×32×12输入体的16×16×12)。
这些层中的一个或更多个层可以包括一个或更多个全连接层。全连接层中的每个神经元可以连接到先前体中的每个神经元。全连接层可以计算类别得分,并且所得到的体可以是1x1x类别数目。在一些示例中,CNN可以包括全连接层,使得可以将CNN的层中的一个或更多个层的输出作为输入提供给CNN的全连接层。在一些示例中,一个或更多个卷积流可以由机器学习模型104实现,并且一些或所有卷积流可以包括相应的全连接层。
在一些非限制性实施例中,机器学习模型104可以包括用于促进图像特征提取的一系列卷积层和最大池化层,接着是用于促进全局上下文特征提取的多尺度扩张卷积层和上采样层。
虽然在本文中相对于机器学习模型104讨论了输入层、卷积层、池化层、ReLU层和全连接层,但是这不旨在是限制性的。例如,可以在机器学习模型104中使用附加的或替代的层,诸如归一化层、SoftMax层和/或其他层类型。
在机器学习模型104包括CNN的实施例中,可以取决于实施例使用CNN的层的不同顺序和数量。换言之,机器学习模型104的层的顺序和数量不限于任何一个架构。
此外,一些层可以包括参数(例如,权重和/或偏置),诸如卷积层和全连接层,而其他层可以不包括,诸如ReLU层和池化层。在一些示例中,参数可以由机器学习模型104在训练期间学习。进一步,一些层可以包括附加超参数(例如,学习率、步幅、时期等),诸如卷积层、全连接层和池化层,而其他层可以不包括,诸如ReLU层。参数和超参数不受限制并且可以取决于实施例而不同。
现在参考图4,本文描述的方法400的每个方框包括可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,不同功能可以通过执行存储在存储器中的指令的处理器来实现。方法400还可以体现为存储在计算机存储介质上的计算机可用指令。方法400可由独立应用、服务或托管服务(独立地或与其他托管服务组合)或另一产品的插件提供,仅举几例。此外,通过示例的方式,关于图1的训练过程100描述方法400。然而,此方法可附加地或替代地由任何一个***或***的任何组合来执行,所述***包括但不限于本文中所描述的***。
图4是示出了根据本发明的一些实施例的用于训练神经网络以检测和分类路口的方法400的流程图。在框B402处,方法400包括接收使用图像传感器生成的图像数据。例如,可以接收和/或生成传感器数据102的实例(例如,图像),其中传感器数据102的实例描绘了包括一个或更多个路口的车辆700的传感器的视场和/或传感器场。
在框B404,方法400包括:接收表示与和路口相关联的边界形状相对应的第一注释的第一数据,以及表示与路口的一个或更多个属性相对应的或与路口有关的第二注释的第二数据。例如,可以生成和/或接收表示注释118的数据,其中注释包括与路口相对应的边界框118A和用于边界框118A的属性118B。
在框B406处,方法400包括至少部分地基于第一数据将对应于边界形状的位置的位置信息与边界形状内的至少一个像素相关联。例如,边界框118A可包括对应于边界框118A的边缘、边界框118A的顶点等的位置信息。
在框B408处,方法400包括至少部分地基于第一数据将对应于处于边界形状内的置信度的置信度值与边界形状内的至少一个像素相关联。例如,边界框118A中的像素可与指示像素属于边界框118A的置信度的置信度值相关联。
在框B410处,方法400包括至少部分地基于第二数据将对应于路口的至少一个属性与边界形状内的至少一个像素关联。例如,边界框118A中的像素可被编码或与属性118B相关联以生成和/或识别路口属性128。
在框412处,方法400包括使用位置信息、置信度值和至少一个属性作为地面实况数据来训练神经网络。例如,位置信息、属性128和置信度值可以被用作地面实况数据122以训练机器学习模型104来检测和分类路口。
现在参见图5,图5是示出了根据本发明的一些实施例的用于使用来自车辆的传感器的输出来实时或近实时地对路口进行检测和分类的示例过程500的数据流图。传感器数据102可以类似于本文中至少关于图1所描述的那些。在部署期间,可以将传感器数据102应用于已经根据过程100训练的机器学习模型104,例如,以使用传感器数据102计算边界框坐标108、路口覆盖图110、路口属性112、距离114和/或距离覆盖图116。如此,机器学习模型104可以输出-或者回归-输出106中的一个或更多个。
可将输出106应用于后处理器502以生成经解码输出504。在一些实例中,后处理器502可使用一个或更多个后处理算法(例如,时间平滑、相似性分析、滤波等)来计算经解码输出504。例如,后处理器502可使用输出106来确定路口的位置、距离和/或分类,这些位置、距离和/或分类随后可被车辆700用于导航路口(例如,何时停止、在哪里停止、停止多久)。经解码输出504可包括属性506、路口坐标508、路口距离510和/或对应于路口的其他信息(例如,对应于路口的线段,其可用于生成路口的可视化以用于调试等)。
边界框坐标108和/或路口覆盖图110可由后处理器502使用以确定路口坐标508。例如,可以利用路口覆盖图110内的像素的置信度值来确定哪些边界框坐标108应当被用作用于确定路口坐标508的边界框建议。照此,来自路口覆盖图110内的像素(例如,具有高于阈值的置信度的像素或点,其可以是基于过程100内的训练的大小减小的覆盖图内的像素或点,如本文所描述的)的边界框位置建议的组合可以用于生成路口坐标508(例如,边界框的位置、边界框的尺寸等)的最终预测。在一些实施例中,随机采样一致性(RANSAC)算法可以用于从对应于相应像素的各个建议确定最终预测。在一些示例中,相似性阈值可以用于基于超参数优化算法来比较路口覆盖图110中的像素的置信度值。
另外,对最终路口坐标投票(例如,具有高于阈值的置信度)的路口覆盖图110的像素或点随后可由后处理器502使用以确定对应于路口的最终边界框的属性506。例如,可对具有相同预测属性112的像素的数目进行计数,以确定路口的最终路口坐标508的最终属性508。例如,在路口覆盖图110和/或边界框内的阈值数量的像素均与相同属性相关联的情况下,该属性可以被确定为与路口相关联的最终属性。对于与边界框相关联的每个属性112,可以重复该过程以确定该路口的一组最终属性506。
后处理器502可以进一步对输出106进行解码以确定距车辆700的路口距离510。可以利用对应于检测到的路口的距离覆盖图116和距离114来确定路口与车辆700的最终路口距离510。在一些示例中,最终路口坐标508可以用于通过利用对应路口的底边缘来计算到车辆700的像素距离(例如,对应于传感器数据102的实例的底边缘或像素行),来确定路口距离510。
进一步,后处理器502可对边界框、距离和/或属性执行时间分析以确认输出106的稳定性、鲁棒性和准确性。可以相对于与传感器数据102的先前实例(例如,图像、帧)相对应的多个先前预测,来对传感器数据102的当前实例的当前预测(例如,路口坐标508、属性506、路口距离510、边界框坐标108、路口覆盖图110、路口属性112、距离114、距离覆盖图116)进行加权。在一些示例中,可对对应于传感器数据102的先前连续实例的多个预测执行时间滤波(例如,统计滤波)。在这样的示例中,对应于路口的像素坐标可以参考任何已知的3D坐标系被转换成空间3D坐标。可以利用车辆700在传感器数据102的连续图像之间的运动来准确地执行时间滤波。先前预测可以使用运动来调整以追踪车辆700的新空间位置。随后可对当前和先前图像的预测进行统计滤波以确定与路口有关的最终预测。在一些实施例中,可估计概率密度函数,且将概率密度函数与预测正确的最大可能性匹配的峰值可用于确定最终预测。
经解码输出504可以由车辆700的控制组件518用于执行一个或更多个操作。例如,自主驱动软件栈的感知层可以基于路口信息更新关于环境的信息,世界模型管理器可以更新世界模型以反映关于路口的位置、距离、属性和/或其他信息,控制层可以使用该信息来确定在接近路口、导航通过路口和/或离开路口时的控制(例如,基于诸如等待条件、路口的大小、到路口的距离等之类的属性)。
在一些实施例中,在***的部署期间,转换器512可以被标签生成器516利用来自动地生成用于进一步训练机器学习模型104或其他机器学习模型的新的地面实况数据。车辆700从传感器数据102的图像的捕获的世界空间位置3D位置到路口的世界空间位置3D(例如,路口的入口)行进的距离可作为距离历史514进行跟踪。例如,在传感器数据102的实例之间,随着车辆700行进,可以跟踪视野中的所有路口的位置以及到每个路口的距离,直到车辆700到达该路口的入口点。然后,距离可以被反向传播至实例中的每一个并且被编码为地面实况数据122中的到路口的距离130,以用于训练机器学习模型104。如此,到路口的入口点位置然后可以被反投影至传感器数据102的先前图像(例如,实例)中,以训练机器学习模型104来计算到路口的距离114。距离130可以被编码以生成与距离130相对应的距离覆盖图132,和/或可以被用于将距离值编码到图像的像素(例如,每个像素、对应于路口的像素、路口外部的像素等)。以此方式,可以利用车辆的运动来生成地面实况数据122以训练机器学习模型104。
现在参考图6,本文描述的方法600的每个框包括可以使用硬件、固件和/或软件的任何组合执行的计算过程。例如,不同功能可以通过执行存储在存储器中的指令的处理器来实现。方法600还可以体现为存储在计算机存储介质上的计算机可用指令。方法600可由独立应用、服务或托管服务(独立地或与其他托管服务组合)或另一产品的插件来提供,仅举几例。此外,举例来说,关于图5的训练过程500描述方法600。然而,此方法可附加地或替代地由任何一个***或***的任何组合来执行,所述***包括但不限于本文中所描述的***。
图6是示出了根据本发明的一些实施例的用于对路口进行检测和分类的方法600的流程图。在框B602处,方法600包括向神经网络应用表示车辆的图像传感器的视场的图像数据,该视场包括一个或更多个路口。例如,表示车辆700的图像传感器的视野中具有一个或更多个路口的图像的传感器数据102可以应用于机器学习模型104。
在框B604处,方法600包括使用神经网络计算表示图像数据的至少一个像素对应于该一个或更多个路口中的至少一个路口的置信度的第一数据。例如,机器学习模型104可以输出路口覆盖图110(在实施例中,大小减小),所述路口覆盖图110表示图像数据的至少一个像素对应于路口或表示其的边界框的置信度值。
在框B606处,方法600包括使用神经网络计算表示对应于与一个或更多个路口中的至少一个路口相关联的边界框的位置信息的第二数据。例如,机器学习模型104可以输出表示对应于与一个或更多个路口相关联的边界框的位置信息的边界框坐标108。
在框B608处,方法600包括使用神经网络计算表示到一个或更多个路口中的至少一个路口的距离的第三数据。例如,机器学习模型104可以输出路口的距离114和/或距离覆盖图116。
在框B610处,方法600包括至少部分地基于第一数据和第二数据来确定对应于一个或更多个路口的最终边界框的最终边界框位置。例如,后处理器502可解码输出106以确定包括最终路口坐标508的经解码输出504。
在框B612处,方法600包括至少部分地基于第三数据来确定距一个或更多个路口的距离。例如,后处理器502可以解码输出106以确定包括路口与车辆700的最终路口距离510的经解码输出504。
在框B614处,方法600包括由车辆至少部分地基于最终边界框位置和距离来执行一个或更多个操作。例如,控制组件518可以基于经解码输出504来执行一个或更多个动作。
示例自主车辆
图7A为根据本公开一些实施例的示例自主车辆700的图示。自主车辆700(可替代地,在本文称为“车辆700”可以包括但不限于乘用车,例如汽车、卡车、公共汽车、第一响应车辆、穿梭车、电动或机动自行车、摩托车、消防车、警用车辆、救护车、船、施工车辆、水下航行器、无人机和/或另一类型的车辆(例如,无人驾驶的和/或容纳一个或更多个乘客的车辆)。自主车辆通常按照美国运输部的一个部门——国家公路交通安全管理局(NHTSA)以及汽车工程师协会(SAE)“Taxonomy and Definitions for Terms Related to DrivingAutomation Systems for On-Road Motor Vehicles”(2018年6月15日发布的标准No.J3016-201806,2016年9月30日发布的标准No.J3016-201609,以及该标准的先前和未来的版本)定义的自动化级别进行描述。车辆700可能够实现符合自主驾驶级别的3级-5级中的一个或更多个的功能。例如,取决于实施例,车辆700可能够实现条件自动化(3级)、高自动化(4级)和/或全自动化(5级)。
车辆700可以包括诸如底盘、车身、车轮(例如2个、4个、6个、8个、18个等)、轮胎、车轴之类的部件以及车辆的其他部件。车辆700可以包括推进***750,例如内燃机、混合动力发电厂、全电动发动机和/或另一种推进***类型。推进***750可以连接到可以包括变速器的车辆700的传动系以便实现车辆700的推进。可以响应于接收到来自油门/加速器752的信号而控制推进***750。
可以包括方向盘的转向(steering)***754可以用来在推进***750操作时(例如在车辆运动时)使车辆700转向(例如沿着希望的路径或路线)。转向***754可以接收来自转向致动器756的信号。对于全自动(5级)功能而言,方向盘可以是可选的。
制动传感器***746可以用来响应于接收到来自制动致动器748和/或制动传感器的信号而操作车辆制动器。
可以包括一个或更多个片上***(SoC)704(图7C)和/或一个或更多个GPU的一个或更多个控制器736可以向车辆700的一个或更多个部件和/或***提供(例如表示命令的)信号。例如,一个或更多个控制器可以发送经由一个或更多个制动致动器748操作车辆制动器、经由一个或更多个转向致动器756操作转向***754、经由一个或更多个油门/加速器752操作推进***750的信号。一个或更多个控制器736可以包括一个或更多个板载(例如集成)计算设备(例如超级计算机),所述计算设备处理传感器信号并且输出操作命令(例如表示命令的信号),以实现自主驾驶和/或辅助人类驾驶员驾驶车辆700。一个或更多个控制器736可以包括用于自主驾驶功能的第一控制器736、用于功能性安全功能的第二控制器736、用于人工智能功能(例如计算机视觉)的第三控制器736、用于信息娱乐功能的第四控制器736、用于紧急情况下的冗余的第五控制器736和/或其他控制器。在一些示例中,单个控制器736可以处理上述功能中的两个或更多,两个或更多控制器736可以处理单个功能,和/或其任意组合。
一个或更多个控制器736可以响应于接收自一个或更多个传感器的传感器数据(例如传感器输入),提供用于控制车辆700的一个或更多个部件和/或***的信号。传感器数据可以接收自例如且不限于全球导航卫星***传感器758(例如全球定位***传感器)、RADAR传感器760、超声传感器762、LIDAR传感器764、惯性测量单元(IMU)传感器766(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风796、立体相机768、广角相机770(例如鱼眼相机)、红外相机772、环绕相机774(例如360度相机)、远程和/或中程相机798、速度传感器744(例如用于测量车辆700的速率)、振动传感器742、转向传感器740、制动传感器(例如作为制动传感器***746的部分)和/或其他传感器类型。
控制器736中的一个或更多个可以接收来自车辆700的仪表组732的输入(例如由输入数据表示),并且经由人机接口(HMI)显示器734、听觉信号器、扬声器和/或经由车辆700的其他部件提供输出(例如输出数据、显示数据等表示的)。这些输出可以包括诸如车辆速度、速率、时间、地图数据(例如图7C的HD地图722)、位置数据(例如,车辆700例如在地图上的位置)、方向、其他车辆的位置(例如占用网格)之类的信息,如控制器736所感知的关于对象和对象状态的信息等等。例如,HMI显示器734可以显示关于一个或更多个对象(例如街道指示牌、警示牌、交通灯变化等)的存在性的信息和/或关于车辆已经做出、正在做出或者将会做出的驾驶机动的信息(例如现在变道、两英里后离开34B,等等)。
车辆700还包括网络接口724,其可以使用一个或更多个无线天线726和/或调制解调器通过一个或更多个网络通信。例如,网络接口724可能够通过LTE、WCDMA、UMTS、GSM、CDMA2000等通信。一个或更多个无线天线726也可以使用诸如蓝牙、蓝牙LE、Z波、ZigBee等等之类的一个或更多个局域网和/或诸如LoRaWAN、SigFox等等之类的一个或更多个低功率广域网(LPWAN)实现环境中的对象(例如车辆、移动设备等等)之间的通信。
图7B为根据本公开一些实施例的用于图7A的示例自主车辆700的相机位置和视场的示例。相机和各自的视场是一个示例实施例,并不意图是限制性的。例如,可以包括附加的和/或可替换的相机,和/或这些相机可以位于车辆700上的不同位置。
用于相机的相机类型可以包括但不限于可以适于与车辆700的部件和/或***一起使用的数字相机。所述相机可以在汽车安全完整性级别(ASIL)B下和/或在另一个ASIL下操作。相机类型可以具有任何图像捕获率,例如60帧每秒(fps)、720fps、240fps等等,这取决于实施例。相机可能够使用滚动快门、全局快门、另一种类型的快门或者其组合。在一些示例中,滤色器阵列可以包括红白白白(RCCC)滤色器阵列、红白白蓝(RCCB)滤色器阵列、红蓝绿白(RBGC)滤色器阵列、Foveon X3滤色器阵列、拜耳传感器(RGGB)滤色器阵列、单色传感器滤色器阵列和/或另一种类型的滤色器阵列。在一些实施例中,诸如具有RCCC、RCCB和/或RBGC滤色器阵列的相机之类的清晰像素相机可以用在提高光敏感度的努力中。
在一些示例中,所述相机中的一个或更多个可以用来执行高级驾驶员辅助***(ADAS)功能(例如作为冗余或故障安全设计的部分)。例如,可以安装多功能单目相机以提供包括车道偏离警告、交通指示牌辅助和智能前照灯控制在内的功能。所述相机中的一个或更多个(例如全部相机)可以同时记录和提供图像数据(例如视频)。
所述相机中的一个或更多个可以安装在诸如定制设计的(3-D打印的)组件之类的安装组件中,以便切断可能干扰相机的图像数据捕获能力的杂散光和来自汽车内的反射(例如挡风玻璃镜中反射的来自仪表板的反射)。关于翼镜安装组件,翼镜组件可以是定制3-D打印的,使得相机安装板匹配翼镜的形状。在一些示例中,一个或更多个相机可以集成到翼镜中。对于侧视相机而言,一个或更多个相机也可以集成到驾驶室每个拐角的四根柱子内。
具有包括车辆700前面的环境部分的视场的相机(例如前置相机)可以用于环视,以帮助识别前向路径和障碍,以及在一个或更多个控制器736和/或控制SoC的帮助下辅助提供对于生成占用网格和/或确定优选车辆路径至关重要的信息。前置相机可以用来执行许多与LIDAR相同的ADAS功能,包括紧急制动、行人检测和碰撞避免。前置相机也可以用于ADAS功能和***,包括车道偏离警告(“LDW”)、自主巡航控制(“ACC”),和/或诸如交通指示牌识别之类的其他功能。
各种各样的相机可以用于前置配置中,包括例如包括CMOS(互补金属氧化物半导体)彩色成像仪在内的单目相机平台。另一个示例可以是广角相机770,其可以用来感知从周边进入视场的对象(例如行人、十字路***通或者自行车)。尽管图7B中图示出仅仅一个广角相机,但是在车辆700上可以存在任意数量的广角相机770。此外,远程相机798(例如长视立体相机对)可以用于基于深度的对象检测,尤其是用于尚未针对其训练神经网络的对象。远程相机798也可以用于对象检测和分类以及基本的对象追踪。
一个或更多个立体相机768也可以包括在前置配置中。立体相机768可以包括集成控制单元,该单元包括可扩展处理单元,其可以提供在单个芯片上具有集成的CAN或以太网接口的多核微处理器和可编程逻辑(FPGA)。这样的单元可以用来生成车辆环境的3-D地图,包括针对图像中的所有点的距离估计。可替代的立体相机768可以包括紧凑型立体视觉传感器,其可以包括两个相机镜头(左右各一个)以及可以测量从车辆到目标对象的距离并且使用生成的信息(例如元数据)激活自主紧急制动和车道偏离警告功能的图像处理芯片。除了本文所描述的那些之外或者可替代地,可以使用其他类型的立体相机768。
具有包括车辆700的侧面的环境部分的视场的相机(例如侧视相机)可以用于环视,提供用来创建和更新占用网格以及生成侧撞击碰撞警告的信息。例如,环绕相机774(例如如图7B中所示的四个环绕相机774)可以置于车辆700上。环绕相机774可以包括广角相机770、鱼眼相机、360度相机和/或类似物。四个示例,四个鱼眼相机可以置于车辆的前面、后面和侧面。在一种可替代的布置中,车辆可以使用三个环绕相机774(例如左边、右边和后面),并且可以利用一个或更多个其他相机(例如前向相机)作为第四环视相机。
具有包括车辆700的后面的环境部分的视场的相机(例如后视相机)可以用于辅助停车、环视、后面碰撞警告以及创建和更新占用网格。可以使用各种各样的相机,包括但不限于也适合作为如本文所描述的前置相机(例如远程和/或中程相机798、立体相机768、红外相机772等等)的相机。
图7C为根据本公开一些实施例的用于图7A的示例自主车辆700的示例***架构的框图。应当理解,这种布置和本文描述的其他布置仅仅作为示例而被阐述。除了所示的那些之外或者代替它们的是,可以使用其他的布置和元素(例如机器、接口、功能、顺序、功能分组等等),并且一些元素可以完全省略。进一步,许多本文描述的元素是功能实体,其可以实现为分立的或分布式部件或者结合其他部件实现,以及以任何适当的组合和位置实现。本文描述为由实体执行的各个功能可以通过硬件、固件和/或软件实现。例如,各个功能可以通过处理器执行存储在内存中的指令而实现。
图7C中车辆700的部件、特征和***中的每一个被图示为经由总线702连接。总线702可以包括控制器区域网络(CAN)数据接口(可替代地,本文称为“CAN总线”)。CAN可以是车辆700内部的网络,用来辅助控制车辆700的各种特征和功能,例如制动器、加速、制动、转向、挡风玻璃雨刷等等的驱动。CAN总线可以被配置为具有数十或者甚至数百个节点,每个节点具有其自己的唯一标识符(例如CAN ID)。可以读取CAN总线以找到方向盘角度、地速、每分钟发动机转速(RPM)、按钮位置和/或其他车辆状态指示符。CAN总线可以是ASIL B兼容的。
尽管这里将总线702描述为CAN总线,但是这并不意图是限制性的。例如,除了CAN总线之外或者可替代地,可以使用FlexRay和/或以太网。此外,尽管用单条线来表示总线702,但是这并不意图是限制性的。例如,可以存在任意数量的总线702,其可以包括一条或更多条CAN总线、一条或更多条FlexRay总线、一条或更多条以太网总线和/或一条或更多条使用不同协议的其他类型的总线。在一些示例中,两条或更多总线702可以用来执行不同的功能,和/或可以用于冗余。例如,第一总线702可以用于碰撞避免功能,并且第二总线702可以用于驱动控制。在任何示例中,每条总线702可以与车辆700的任何部件通信,并且两条或更多总线702可以与相同的部件通信。在一些示例中,车辆内的每个SoC 704、每个控制器736和/或每个计算机可以有权访问相同的输入数据(例如来自车辆700的传感器的输入),并且可以连接到诸如CAN总线之类的公共总线。
车辆700可以包括一个或更多个控制器736,例如本文关于图7A所描述的那些控制器。控制器736可以用于各种各样的功能。控制器736可以耦合到车辆700的任何其他不同的部件和***,并且可以用于车辆700的控制、车辆700的人工智能、用于车辆700的信息娱乐和/或类似物。
车辆700可以包括一个或更多个片上***(SoC)704。SoC 704可以包括CPU 706、GPU 708、处理器710、高速缓存712、加速器714、数据存储716和/或未图示出的其他部件和特征。在各种各样的平台和***中,SoC 704可以用来控制车辆700。例如,一个或更多个SoC704可以在***(例如车辆700的***)中与HD地图722结合,所述HD地图可以经由网络接口724从一个或更多个服务器(例如图7D的一个或更多个服务器778)获得地图刷新和/或更新。
CPU 706可以包括CPU簇或者CPU复合体(可替代地,本文称为“CCPLEX”)。CPU 706可以包括多个核和/或L2高速缓存。例如,在一些实施例中,CPU 706在一致性多处理器配置中可以包括八个核。在一些实施例中,CPU 706可以包括四个双核簇,其中每个簇具有专用的L2高速缓存(例如2MB L2高速缓存)。CPU 706(例如CCPLEX)可以被配置为支持同时簇操作,使得CPU 706的簇的任意组合能够在任何给定时间是活动的。
CPU 706可以实现包括以下特征中的一个或更多个的功率管理能力:各硬件块在空闲时可以自动进行时钟门控以节省动态功率;由于WFI/WFE指令的执行,每个核时钟可以在该核不主动地执行指令时进行门控;每个核可以独立地进行功率门控;当所有核都进行时钟门控或者功率门控时,可以独立地对每个核簇进行时钟门控;和/或当所有核都进行功率门控时,可以独立地对每个核簇进行功率门控。CPU 706可以进一步实现用于管理功率状态的增强算法,其中指定允许的功率状态和期望的唤醒时间,并且硬件/微代码为所述核、簇和CCPLEX确定要进入的最佳的功率状态。处理核可以在软件中支持简化的功率状态进入序列,该工作被卸载到微代码。
GPU 708可以包括集成的GPU(可替代地,本文称为“iGPU”)。GPU 708可以是可编程的,并且对于并行工作负载而言是高效的。在一些示例中,GPU 708可以使用增强张量指令集。GPU 708可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如具有至少96KB存储容量的L1高速缓存),并且这些流式微处理器中的两个或更多可以共享L2高速缓存(例如具有512KB存储能力的L2高速缓存)。在一些实施例中,GPU 708可以包括至少八个流式微处理器。GPU 708可以使用计算应用编程接口(API)。此外,GPU708可以使用一个或更多个并行计算平台和/或编程模型(例如NVIDIA的CUDA)。
在汽车和嵌入式使用的情况下,可以对GPU 708进行功率优化以实现最佳性能。例如,可以在鳍式场效应晶体管(FinFET)上制造GPU 708。然而,这并不意图是限制性的,并且GPU 708可以使用其他半导体制造工艺来制造。每个流式微处理器可以合并划分成多个块的若干混合精度处理核。例如且非限制性地,可以将64个PF32核和32个PF64核划分成四个处理块。在这样的示例中,每个处理块可以分配16个FP32核、8个FP64核、16个INT32核、用于深层学习矩阵算术的两个混合精度NVIDIA张量核、L0指令高速缓存、线程束(warp)调度器、分派单元和/或64KB寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以利用计算和寻址计算的混合提供工作负载的高效执行。流式微处理器可以包括独立线程调度能力,以允许实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享内存单元,以便在简化编程的同时提高性能。
GPU 708可以包括在一些示例中提供大约900GB/s的峰值内存带宽的高带宽内存(HBM)和/或16GB HBM2内存子***。在一些示例中,除了HBM内存之外或者可替代地,可以使用同步图形随机存取存储器(SGRAM),例如第五代图形双倍数据速率同步随机存取存储器(GDDR5)。
GPU 708可以包括统一内存技术,其包括访问计数器以允许内存页面更精确地迁移到最频繁地访问它们的处理器,从而提高处理器之间共享的内存范围的效率。在一些示例中,地址转换服务(ATS)支持可以用来允许GPU 708直接访问CPU 706页表。在这样的示例中,当GPU 708内存管理单元(MMU)经历遗漏时,可以将地址转换请求传输至CPU 706。作为响应,CPU 706可以在其页表中寻找用于地址的虚拟-物理映射,并且将转换传输回GPU708。这样,统一内存技术可以允许单个统一虚拟地址空间用于CPU 706和GPU 708二者的内存,从而简化了GPU 708编程和将应用程序移(port)到GPU 708。
此外,GPU 708可以包括访问计数器,其可以追踪GPU 708访问其他处理器的内存的频率。访问计数器可以帮助确保内存页面移至最频繁地访问这些页面的处理器的物理内存。
SoC 704可以包括任意数量的高速缓存712,包括本文描述的那些高速缓存。例如,高速缓存712可以包括CPU 706和GPU 708二者可用的L3高速缓存(例如,其连接到CPU 706和GPU 708二者)。高速缓存712可以包括回写高速缓存,其可以例如通过使用高速缓存一致性协议(例如MEI、MESI、MSI等)追踪行的状态。取决于实施例,L3高速缓存可以包括4MB或者更多,但是也可以使用更小的高速缓存大小。
SoC 704可以包括算术逻辑单元(ALU),算术逻辑单元可以在相对于车辆700的各种任务或操作中的任何任务或操作执行处理(诸如处理DNN)时被利用。此外,SoC 704可以包括用于在***内执行数学运算的浮点单元(FPU)或其他数学协处理器或数字协处理器类型。例如,SoC 104可以包括被集成为CPU 706和/或GPU 708内的执行单元的一个或更多个FPU。
SoC 704可以包括一个或更多个加速器714(例如硬件加速器、软件加速器或者其组合)。例如,SoC 704可以包括硬件加速簇,其可以包括优化的硬件加速器和/或大型片上内存。该大型片上内存(例如4MB SRAM)可以使得硬件加速簇能够加速神经网络和其他计算。硬件加速簇可以用来补充GPU 708,并且卸载GPU 708的一些任务(例如释放GPU 708的更多周期以用于执行其他任务)。作为一个示例,加速器714可以用于足够稳定以易于控制加速的有针对性的工作负载(例如感知、卷积神经网络(CNN)等等)。当在本文中使用时,术语“CNN”可以包括所有类型的CNN,包括基于区域的或者区域卷积神经网络(RCNN)和快速RCNN(例如用于对象检测)。
加速器714(例如硬件加速簇)可以包括深度学习加速器(DLA)。DLA可以包括可以被配置成为深度学习应用和推理提供额外的每秒10万亿次操作的一个或更多个张量处理单元(TPU)。TPU可以是被配置为执行图像处理功能(例如用于CNN、RCNN等)且针对执行图像处理功能而优化的加速器。DLA可以进一步针对特定的一组神经网络类型和浮点运算以及推理进行优化。DLA的设计可以比通用GPU提供每毫米更高的性能,并且远远超过CPU的性能。TPU可以执行若干功能,包括单实例卷积函数,支持例如用于特征和权重二者的INT8、INT16和FP16数据类型,以及后处理器功能。
DLA可以在处理的或者未处理的数据上针对各种各样的功能中的任何功能快速且高效地执行神经网络,尤其是CNN,例如且不限于:用于使用来自相机传感器的数据进行对象识别和检测的CNN;用于使用来自相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行应急车辆检测和识别与检测的CNN;用于使用来自相机传感器的数据进行面部识别和车主识别的CNN;和/或用于安全和/或安全相关事件的CNN。
DLA可以执行GPU 708的任何功能,并且通过使用推理加速器,例如,设计者可以使DLA或GPU 708针对任何功能。例如,设计者可以将CNN的处理和浮点运算聚焦在DLA上,并且将其他功能留给GPU 708和/或其他加速器714。
加速器714(例如硬件加速簇)可以包括可编程视觉加速器(PVA),其在本文中可以可替代地称为计算机视觉加速器。PVA可以被设计和配置为加速用于高级驾驶员辅助***(ADAS)、自主驾驶和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。PVA可以提供性能与灵活性之间的平衡。例如,每个PVA可以包括例如且不限于任意数量的精简指令集计算机(RISC)核、直接内存访问(DMA)和/或任意数量的向量处理器。
RISC核可以与图像传感器(例如本文描述的任何相机的图像传感器)、图像信号处理器和/或类似物交互。这些RISC核中的每一个可以包括任意数量的内存。取决于实施例,RISC核可以使用若干协议中的任何协议。在一些示例中,RISC核可以执行实时操作***(RTOS)。RISC核可以使用一个或更多个集成电路设备、专用集成电路(ASIC)和/或存储设备实现。例如,RISC核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使得PVA的部件能够独立于CPU 706访问***内存。DMA可以支持用来向PVA提供优化的任意数量的特征,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持高达六个或更多维度的寻址,其可以包括块宽度、块高度、块深度、水平块步进、竖直块步进和/或深度步进。
向量处理器可以是可编程处理器,其可以被设计为高效且灵活地执行用于计算机视觉算法的编程并且提供信号处理能力。在一些示例中,PVA可以包括PVA核和两个向量处理子***分区。PVA核可以包括处理器子***、一个或更多个DMA引擎(例如两个DMA引擎)和/或其他***设备。向量处理子***可以作为PVA的主处理引擎而操作,并且可以包括向量处理单元(VPU)、指令高速缓存和/或向量内存(例如VMEM)。VPU核可以包括数字信号处理器,诸如例如单指令多数据(SIMD)、超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以增强吞吐量和速率。
向量处理器中的每一个可以包括指令高速缓存并且可以耦合到专用内存。结果,在一些示例中,向量处理器中的每一个可以被配置为独立于其他向量处理器执行。在其他示例中,包括在特定PVA中的向量处理器可以被配置为采用数据并行化。例如,在一些实施例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上执行。在其他示例中,包括在特定PVA中的向量处理器可以在相同的图像上同时执行不同的计算机视觉算法,或者甚至在序列图像或者图像的部分上执行不同的算法。除其他的以外,任意数量的PVA可以包括在硬件加速簇中,并且任意数量的向量处理器可以包括在这些PVA中的每一个中。此外,PVA可以包括附加的纠错码(ECC)内存,以增强总体***安全性。
加速器714(例如硬件加速簇)可以包括片上计算机视觉网络和SRAM,以提供用于加速器714的高带宽、低延迟SRAM。在一些示例中,片上内存可以包括由例如且不限于八个现场可配置的内存块组成的至少4MB SRAM,其可以由PVA和DLA二者访问。每对内存块可以包括高级***总线(APB)接口、配置电路***、控制器和复用器。可以使用任何类型的内存。PVA和DLA可以经由向PVA和DLA提供高速内存访问的主干(backbone)访问内存。主干可以包括(例如使用APB)将PVA和DLA互连到内存的片上计算机视觉网络。
片上计算机视觉网络可以包括在传输任何控制信号/地址/数据之前确定PVA和DLA二者都提供就绪且有效的信号的接口。这样的接口可以提供用于传输控制信号/地址/数据的单独相位和单独信道,以及用于连续数据传输的突发式通信。这种类型的接口可以符合ISO 26262或者IEC 61508标准,但是也可以使用其他标准和协议。
在一些示例中,SoC 704可以包括例如在2018年8月10日提交的美国专利申请No.16/101,232中描述的实时光线追踪硬件加速器。该实时光线追踪硬件加速器可以用来快速且高效地确定(例如世界模型内的)对象的位置和范围,以便生成实时可视化模拟,以用于RADAR信号解释、用于声音传播合成和/或分析、用于SONAR***模拟、用于一般波传播模拟、用于为了定位和/或其他功能的目的与LIDAR数据相比较和/或用于其他用途。在一些实施例中,一个或更多个树遍历单元(TTU)可以用于执行一个或更多个光线追踪相关操作。
加速器714(例如硬件加速器簇)具有广泛的自主驾驶用途。PVA可以是可编程视觉加速器,其可以用于ADAS和自主车辆中的关键处理阶段。PVA的能力是需要可预测处理、低功率和低延迟的算法域的良好匹配。换言之,PVA在半密集或者密集规则计算上,甚至在需要具有低延迟和低功率的可预测运行时间的小数据集上都表现良好。因此,在用于自主车辆的平台的背景下,PVA被设计为运行经典计算机视觉算法,因为它们在对象检测和整数数学运算方面很有效。
例如,根据该技术的一个实施例,PVA用来执行计算机立体视觉。在一些示例中,可以使用基于半全局匹配的算法,但是这并不意图是限制性的。许多用于3-5级自主驾驶的应用都需要即时运动估计/立体匹配(例如来自运动的结构、行人识别、车道检测等等)。PVA可以在来自两个单目相机的输入上执行计算机立体视觉功能。
在一些示例中,PVA可以用来执行密集的光流。根据过程原始RADAR数据(例如使用4D快速傅立叶变换)以提供经处理的RADAR。在其他示例中,PVA用于飞行时间深度处理,其例如通过处理原始飞行时间数据以提供经处理的飞行时间数据。
DLA可以用来运行任何类型的网络以增强控制和驾驶安全性,包括例如输出用于每个对象检测的置信度度量的神经网络。这样的置信度值可以解释为概率,或者解释为提供每个检测与其他检测相比的相对“权重”。该置信度值使得***能够做出关于哪些检测应当被认为是真阳性检测而不是假阳性检测的进一步决定。例如,***可以为置信度设置阈值,并且仅仅将超过阈值的检测看作真阳性检测。在自动紧急制动(AEB)***中,假阳性检测会使得车辆自动地执行紧急制动,这显然是不希望的。因此,只有最确信的检测才应当被认为是AEB的触发因素。DLA可以运行用于回归置信度值的神经网络。该神经网络可以将至少一些参数子集作为其输入,例如边界框维度,(例如从另一个子***)获得的地平面估计,与车辆700取向、距离相关的惯性测量单元(IMU)传感器766输出,从神经网络和/或其他传感器(例如LIDAR传感器764或RADAR传感器760)获得的对象的3D位置估计等。
SoC 704可以包括一个或更多个数据存储716(例如内存)。数据存储716可以是SoC704的片上内存,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,为了冗余和安全,数据存储716可以容量足够大以存储神经网络的多个实例。数据存储712可以包括L2或L3高速缓存712。对数据存储716的引用可以包括对与如本文所描述的PVA、DLA和/或其他加速器714关联的内存的引用。
SoC 704可以包括一个或更多个处理器710(例如嵌入式处理器)。处理器710可以包括启动和功率管理处理器,其可以是用于处理启动功率和管理功能以及有关安全实施的专用处理器和子***。启动和功率管理处理器可以是SoC 704启动序列的一部分,并且可以提供运行时间功率管理服务。启动功率和管理处理器可以提供时钟和电压编程、辅助***低功率状态转换、SoC 704热和温度传感器管理和/或SoC 704功率状态管理。每个温度传感器可以实现为环形振荡器,其输出频率与温度成比例,并且SoC704可以使用环形振荡器检测CPU 706、GPU 708和/或加速器714的温度。如果确定温度超过阈值,那么启动和功率管理处理器可以进入温度故障例程并且将SoC 704置于较低功率状态和/或将车辆700置于司机安全停车模式(例如使车辆700安全停车)。
处理器710可以还包括可以用作音频处理引擎的一组嵌入式处理器。音频处理引擎可以是一种音频子***,其允许实现对于通过多个接口的多声道音频的完全硬件支持以及一系列广泛而灵活的音频I/O接口。在一些示例中,音频处理引擎是具有带有专用RAM的数字信号处理器的专用处理器核。
处理器710可以还包括始终在处理器上的引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。该始终在处理器上的引擎可以包括处理器核、紧密耦合的RAM、支持***设备(例如定时器和中断控制器)、各种I/O控制器***设备和路由逻辑。
处理器710可以还包括安全簇引擎,其包括处理汽车应用的安全管理的专用处理器子***。安全簇引擎可以包括两个或更多处理器核、紧密耦合的RAM、支持***设备(例如定时器、中断控制器等等)和/或路由逻辑。在安全模式下,所述两个或更多核可以操作于锁步模式下,并且用作具有检测它们的操作之间的任何差异的比较逻辑的单核。
处理器710可以还包括实时相机引擎,其可以包括用于处理实时相机管理的专用处理器子***。
处理器710可以还包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是一种硬件引擎,该硬件引擎是相机处理管线的部分。
处理器710可以包括可以是(例如微处理器上实现的)处理块的视频图像复合器,其实现视频回放应用程序产生用于播放器窗口的最终图像所需的视频后处理功能。视频图像复合器可以对广角相机770、环绕相机774和/或对驾驶室内监控相机传感器执行镜头畸变校正。驾驶室内监控相机传感器优选地由运行在高级SoC的另一个实例上的神经网络监控,被配置为识别驾驶室内事件并且相对应地做出响应。驾驶室内***可以执行唇读,以激活移动电话服务并拨打电话、口述电子邮件、改变车辆目的地、激活或改变车辆的信息娱乐***和设置或者提供语音激活的网上冲浪。某些功能仅在车辆操作于自主模式下时对于驾驶员可用,并且在其他情况下被禁用。
视频图像复合器可以包括用于空间和时间降噪的增强时间降噪。例如,在视频中出现运动的情况下,降噪适当地对空间信息加权,降低邻近帧提供的信息的权重。在图像或者图像的部分不包括运动的情况下,视频图像复合器执行的时间降噪可以使用来自先前的图像的信息以降低当前图像中的噪声。
视频图像复合器也可以被配置为对输入立体镜头帧执行立体校正。当操作***桌面正在使用并且GPU 708无需连续地渲染(render)新的表面时,视频图像复合器可以进一步用于用户接口组成。甚至在GPU 708上电并且激活,进行3D渲染时,视频图像复合器可以用来减轻GPU 708的负担以提高性能和响应能力。
SoC 704可以还包括用于从相机接收视频和输入的移动行业处理器接口(MIPI)相机串行接口、高速接口和/或可以用于相机和有关像素输入功能的视频输入块。SoC 704可以还包括可以由软件控制并且可以用于接收未提交到特定角色的I/O信号的输入/输出控制器。
SoC 704可以还包括大范围的***设备接口,以使能与***设备、音频编解码器、功率管理和/或其他设备通信。SoC 704可以用来处理来自(通过千兆多媒体串行链路和以太网连接的)相机、传感器(例如可以通过以太网连接的LIDAR传感器764、RADAR传感器760等等)的数据,来自总线702的数据(例如车辆700的速率、方向盘位置等等),来自(通过以太网或CAN总线连接的)GNSS传感器758的数据。SoC 704可以还包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且其可以用来从日常数据管理任务中释放CPU706。
SoC 704可以是具有灵活架构的端到端平台,该架构跨越自动化3-5级,从而提供利用和高效使用计算机视觉和ADAS技术以实现多样性和冗余、连同深度学***台的综合功能安全架构。SoC 704可以比常规的***更快、更可靠,甚至更加能量高效和空间高效。例如,当与CPU 706、GPU 708和数据存储716结合时,加速器714可以提供用于3-5级自主车辆的快速高效平台。
因此该技术提供了不能通过常规***实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,这些CPU可以使用诸如C编程语言之类的高级编程语言配置为跨各种各样的视觉数据执行各种各样的处理算法。然而,CPU常常不能满足许多计算机视觉应用的性能要求,诸如与例如执行时间和功耗有关的那些要求。特别地,许多CPU不能实时地执行复杂的对象检测算法,这是车载ADAS应用的要求和实用3-5级自主车辆的要求。
与常规***形成对比的是,通过提供CPU复合体、GPU复合体和硬件加速簇,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且将结果组合在一起以实现3-5级自主驾驶功能。例如,在DLA或dGPU(例如GPU 720)上执行的CNN可以包括文本和单词识别,允许超级计算机读取和理解交通指示牌,包括尚未针对其特别地训练神经网络的指示牌。DLA可以还包括能够识别、解释和提供对指示牌的语义理解,并且将该语义理解传递给运行在CPU复合体上的路径规划模块的神经网络。
作为另一个示例,如3、4或5级驾驶所需的,多个神经网络可以同时运行。例如,由“注意:闪烁的灯指示结冰条件”组成的警告指示牌连同电灯可以由若干神经网络独立地或者共同地进行解释。指示牌本身可以由部署的第一神经网络(例如经过训练的神经网络)识别为交通指示牌,文本“闪烁的灯指示结冰条件”可以由部署的第二神经网络解释,该部署的第二神经网络告知车辆的路径规划软件(优选地在CPU复合体上执行)当检测到闪烁的灯时,存在结冰条件。闪烁的灯可以通过在多个帧上操作部署的第三神经网络而识别,该神经网络告知车辆的路径规划软件闪烁的灯的存在(或不存在)。所有三个神经网络可以例如在DLA内和/或在GPU 708上同时运行。
在一些示例中,用于面部识别和车主识别的CNN可以使用来自相机传感器的数据识别车辆700的授权的驾驶员和/或车主的存在。始终在传感器上的处理引擎可以用来在车主接近驾驶员车门时解锁车辆并且打开灯,并且在安全模式下,在车主离开车辆时禁用车辆。按照这种方式,SoC 704提供了防范盗窃和/或劫车的安全性。
在另一个示例中,用于应急车辆检测和识别的CNN可以使用来自麦克风796的数据来检测并且识别应急车辆警报(siren)。与使用通用分类器检测警报并且手动地提取特征的常规***形成对比的是,SoC 704使用CNN以对环境和城市声音分类以及对视觉数据分类。在优选的实施例中,运行在DLA上的CNN被训练为识别应急车辆的相对关闭速率(例如通过使用多普勒效应)。CNN也可以被训练为识别如GNSS传感器758所识别的特定于车辆在其中操作的局部区域的应急车辆。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报,并且当在美国时,CNN将寻求识别仅仅北美的警报。一旦检测到应急车辆,在超声传感器762的辅助下,控制程序可以用来执行应急车辆安全例程,使车辆放慢速度,开到路边,停下车辆,和/或使车辆空转,直到应急车辆通过。
车辆可以包括可以经由高速互连(例如PCIe)耦合到SoC 704的CPU 718(例如分立的CPU或dCPU)。CPU 718可以包括例如X86处理器。CPU 718可以用来执行各种各样的功能中的任何功能,包括例如仲裁ADAS传感器与SoC 704之间潜在地不一致的结果,和/或监控控制器736和/或信息娱乐SoC 730的状态和健康状况。
车辆700可以包括可以经由高速互连(例如NVIDIA的NVLINK)耦合到SoC 704的GPU720(例如分立的GPU或dGPU)。GPU 720可以例如通过执行冗余的和/或不同的神经网络而提供附加的人工智能功能,并且可以用来至少部分地基于来自车辆700的传感器的输入(例如传感器数据)来训练和/或更新神经网络。
车辆700可以还包括网络接口724,该网络接口可以包括一个或更多个无线天线726(例如用于不同通信协议的一个或更多个无线天线,例如蜂窝天线、蓝牙天线等等)。网络接口724可以用来使能通过因特网与云(例如与服务器778和/或其他网络设备)、与其他车辆和/或与计算设备(例如乘客的客户端设备)的无线连接。为了与其他车辆通信,可以在这两辆车之间建立直接链接,和/或可以建立间接链接(例如跨网络以及通过因特网)。直接链接可以使用车对车通信链路提供。车对车通信链路可以向车辆700提供关于接近车辆700的车辆(例如车辆700前面、侧面和/或后面的车辆)的信息。该功能可以是车辆700的协作自适应巡航控制功能的部分。
网络接口724可以包括提供调制和解调功能并且使得控制器736能够通过无线网络通信的SoC。网络接口724可以包括用于从基带到射频的上转换以及从射频到基带的下转换的射频前端。频率转换可以通过公知的过程执行,和/或可以使用超外差(super-heterodyne)过程执行。在一些示例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z波、ZigBee、LoRaWAN和/或其他无线协议通信的无线功能。
车辆700可以还包括可包括片外(例如SoC 704外)存储装置的数据存储728。数据存储728可以包括一个或更多个存储元件,包括RAM、SRAM、DRAM、VRAM、闪存、硬盘和/或可以存储至少一个比特的数据的其他部件和/或设备。
车辆700可以还包括GNSS传感器758。GNSS传感器758(例如GPS和/或辅助GPS传感器)用于辅助映射、感知、占用网格生成和/或路径规划功能。可以使用任意数量的GNSS传感器758,包括例如且不限于使用带有以太网到串行(RS-232)网桥的USB连接器的GPS。
车辆700可以还包括RADAR传感器760。RADAR传感器760可以甚至在黑暗和/或恶劣天气条件下也由车辆700用于远程车辆检测。RADAR功能安全级别可以是ASIL B。RADAR传感器760可以使用CAN和/或总线702(例如以传输RADAR传感器760生成的数据)以用于控制以及访问对象追踪数据,在一些示例中接入以太网以访问原始数据。可以使用各种各样的RADAR传感器类型。例如且非限制性地,RADAR传感器760可以适合前面、后面和侧面RADAR使用。在一些示例中,使用脉冲多普勒RADAR传感器。
RADAR传感器760可以包括不同的配置,例如具有窄视场的远程、具有宽视场的短程、短程侧覆盖等等。在一些示例中,远程RADAR可以用于自适应巡航控制功能。远程RADAR***可以提供通过两个或更多独立扫描实现的广阔视场(例如250m范围内)。RADAR传感器760可以帮助区分静态对象和运动对象,并且可以由ADAS***用于紧急制动辅助和前方碰撞警告。远程RADAR传感器可以包括具有多根(例如六根或更多)固定RADAR天线以及高速CAN和FlexRay接口的单站多模RADAR。在具有六根天线的示例中,中央四根天线可以创建聚焦的波束图案,其被设计为在更高速率下以来自邻近车道的最小交通干扰记录车辆700的周围环境。其他两根天线可以扩展视场,使得快速地检测进入或离开车辆700的车道的车辆成为可能。
作为一个示例,中程RADAR***可以包括高达760m(前面)或80m(后面)的范围以及高达42度(前面)或750度(后面)的视场。短程RADAR***可以包括但不限于被设计为安装在后保险杠两端的RADAR传感器。当安装在后保险杠两端时,这样的RADAR传感器***可以创建持续地监控后方和车辆旁边的视盲点的两个波束。
短程RADAR***可以在ADAS***中用于视盲点检测和/或变道辅助。
车辆700可以还包括超声传感器762。可以置于车辆700的前面、后面和/或侧面的超声传感器762可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的超声传感器762,并且不同的超声传感器762可以用于不同的检测范围(例如2.5m、4m)。超声传感器762可以操作于功能安全级别的ASIL B。
车辆700可以包括LIDAR传感器764。LIDAR传感器764可以用于对象和行人检测、紧急制动、碰撞避免和/或其他功能。LIDAR传感器764可以为功能安全级别的ASIL B。在一些示例中,车辆700可以包括可以使用以太网(例如以将数据提供给千兆以太网交换机)的多个LIDAR传感器764(例如两个、四个、六个等等)。
在一些示例中,LIDAR传感器764可能够对360度视场提供对象列表及其距离。商业上可用的LIDAR传感器764可以具有例如近似700m的广告范围,精度为2cm-3cm,支持700Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的LIDAR传感器764。在这样的示例中,LIDAR传感器764可以实现为可以嵌入到车辆700的前面、后面、侧面和/或拐角的小设备。在这样的示例中,LIDAR传感器764可以甚至对于低反射率对象提供高达720度水平的和35度竖直的视场,具有200m的范围。前面安装的LIDAR传感器764可以被配置用于45度与135度之间的水平视场。
在一些示例中,也可以使用诸如3D闪光LIDAR之类的LIDAR技术。3D闪光LIDAR使用激光的闪光作为发射源,以照亮高达约200m的车辆周围环境。闪光LIDAR单元包括接受器,该接受器将激光脉冲传输时间和反射光记录在每个像素上,其进而与从车辆到对象的范围相对应。闪光LIDAR可以允许利用每个激光闪光生成周围环境的高度精确且无失真的图像。在一些示例中,可以部署四个闪光LIDAR传感器,车辆700的每一侧一个。可用的3D闪光LIDAR***包括没有风扇以外的运动部件(moving part)的固态3D凝视阵列LIDAR相机(例如非扫描LIDAR设备)。闪光LIDAR设备可以使用每帧5纳秒I类(眼睛安全)激光脉冲,并且可以以3D范围点云和共同寄存的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有运动部件的固态设备,LIDAR传感器764可以不太容易受到运动模糊、振动和/或震动的影响。
该车辆可以还包括IMU传感器766。在一些示例中,IMU传感器766可以位于车辆700的后轴的中心。IMU传感器766可以包括例如且不限于加速度计、磁力计、陀螺仪、磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,IMU传感器766可以包括加速度计和陀螺仪,而在九轴应用中,IMU传感器766可以包括加速度计、陀螺仪和磁力计。
在一些实施例中,IMU传感器766可以实现为微型高性能GPS辅助惯性导航***(GPS/INS),其结合微机电***(MEMS)惯性传感器、高灵敏度GPS接收器和高级卡尔曼滤波算法以提供位置、速度和姿态的估计。这样,在一些示例中,IMU传感器766可以使得车辆700能够在无需来自磁传感器的输入的情况下通过直接观察从GPS到IMU传感器766的速度变化并且将其相关来估计方向(heading)。在一些示例中,IMU传感器766和GNSS传感器758可以结合到单个集成单元中。
该车辆可以包括置于车辆700中和/或车辆700周围的麦克风796。除别的以外,麦克风796可以用于应急车辆检测和识别。
该车辆可以还包括任意数量的相机类型,包括立体相机768、广角相机770、红外相机772、环绕相机774、远程和/或中程相机798和/或其他相机类型。这些相机可以用来捕获车辆700整个***周围的图像数据。使用的相机类型取决于实施例和车辆700的要求,并且相机类型的任意组合可以用来提供车辆700周围的必要覆盖。此外,相机的数量可以根据实施例而不同。例如,该车辆可以包括六个相机、七个相机、十个相机、十二个相机和/或另一数量的相机。作为一个示例且非限制性地,这些相机可以支持千兆多媒体串行链路(GMSL)和/或千兆以太网。所述相机中的每一个在本文关于图7A和图7B更详细地进行了描述。
车辆700可以还包括振动传感器742。振动传感器742可以测量车辆的诸如车轴之类的部件的振动。例如,振动的变化可以指示道路表面的变化。在另一个示例中,当使用两个或更多振动传感器742时,振动之间的差异可以用来确定道路表面的摩擦或滑移(例如当动力驱动轴与自由旋转轴之间存在振动差异时)。
车辆700可以包括ADAS***738。在一些示例中,ADAS***738可以包括SoC。ADAS***738可以包括自主/自适应/自动巡航控制(ACC)、协作自适应巡航控制(CACC)、前方撞车警告(FCW)、自动紧急制动(AEB)、车道偏离警告(LDW)、车道保持辅助(LKA)、视盲点警告(BSW)、后方穿越交通警告(RCTW)、碰撞警告***(CWS)、车道居中(LC)和/或其他特征和功能。
ACC***可以使用RADAR传感器760、LIDAR传感器764和/或相机。ACC***可以包括纵向ACC和/或横向ACC。纵向ACC监控并控制到紧接在车辆700前方的车辆的距离,并且自动地调节车速以维持离前方车辆的安全距离。横向ACC执行距离保持,并且在必要时建议车辆700改变车道。横向ACC与诸如LCA和CWS之类的其他ADAS应用程序有关。
CACC使用来自其他车辆的信息,该信息可以经由网络接口724和/或无线天线726经由无线链路或者通过网络连接(例如通过因特网)间接地从其他车辆接收。直接链接可以由车对车(V2V)通信链路提供,而间接链接可以是基础设施到车辆(I2V)的通信链路。通常,V2V通信概念提供关于紧接在前的车辆(例如紧接在车辆700前方且与其处于相同车道的车辆)的信息,而I2V通信概念提供关于前方更远处的交通的信息。CACC***可以包括I2V和V2V信息源中的任一个或者二者。给定车辆700前方车辆的信息,CACC可以更加可靠,并且它有可能提高交通流的畅通性且降低道路拥堵。
FCW***被设计为提醒驾驶员注意危险,使得驾驶员可以采取纠正措施。FCW***使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置相机和/或RADAR传感器760,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。FCW***可以提供例如声音、视觉警告、振动和/或快速制动脉冲形式的警告。
AEB***检测即将发生的与另一车辆或其他对象的前方碰撞,并且可以在驾驶员在指定的时间或距离参数内没有采取纠正措施的情况下自动地应用制动器。AEB***可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置相机和/或RADAR传感器760。当AEB***检测到危险时,它典型地首先提醒(alert)驾驶员采取纠正措施以避免碰撞,并且如果驾驶员没有采取纠正措施,那么AEB***可以自动地应用制动器以努力防止或者至少减轻预测的碰撞的影响。AEB***可以包括诸如动态制动支持和/或碰撞迫近制动之类的技术。
LDW***提供了诸如方向盘或座位振动之类的视觉、听觉和/或触觉警告,以在车辆700穿过车道标记时提醒驾驶员。当驾驶员指示有意偏离车道时,通过激活转弯信号,不激活LDW***。LDW***可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前侧朝向相机,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
LKA***是LDW***的变型。如果车辆700开始离开车道,那么LKA***提供纠正车辆700的转向输入或制动。
BSW***检测并向驾驶员警告汽车视盲点中的车辆。BSW***可以提供视觉、听觉和/或触觉警报以指示合并或改变车道是不安全的。***可以在驾驶员使用转弯信号时提供附加的警告。BSW***可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的后侧朝向相机和/或RADAR传感器760,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
RCTW***可以在车辆700倒车时在后置相机范围之外检测到对象时提供视觉、听觉和/或触觉通知。一些RCTW***包括AEB以确保应用车辆制动器以避免撞车。RCTW***可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后置RADAR传感器760,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
常规的ADAS***可能易于出现假阳性结果,这可能会让驾驶员烦恼并分散注意力,但是典型地不是灾难性的,因为ADAS***提醒驾驶员并且允许驾驶员决定安全条件是否真正存在并且相对应地采取行动。然而,在自主车辆700中,在冲突结果的情况下,车辆700本身必须决定是否注意(heed)来自主计算机或者辅助计算机(例如第一控制器736或第二控制器736)的结果。例如,在一些实施例中,ADAS***738可以是用于向备用计算机合理性模块提供感知信息的备用和/或辅助计算机。备用计算机合理性监视器可以在硬件部件上运行冗余多样的软件,以检测感知和动态驾驶任务中的故障。来自ADAS***738的输出可以提供给监督MCU。如果来自主计算机和辅助计算机的输出冲突,那么监督MCU必须确定如何协调该冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监督MCU提供置信度评分,指示主计算机对所选结果的置信度。如果置信度评分超过阈值,那么监督MCU可以遵循主计算机的方向,而不管辅助计算机是否提供冲突或不一致的结果。在置信度评分不满足阈值的情况下并且在主计算机和辅助计算机指示不同的结果(例如冲突)的情况下,监督MCU可以在这些计算机之间进行仲裁以确定适当的结果。
监督MCU可以被配置为运行神经网络,所述神经网络被训练并且被配置为至少部分地基于来自主计算机和辅助计算机的输出,确定辅助计算机提供假警报的条件。因此,监督MCU中的神经网络可以了解何时可以信任辅助计算机的输出以及何时不能。例如,当辅助计算机为基于RADAR的FCW***时,监督MCU中的神经网络可以了解FCW***何时正在识别事实上不是危险的金属对象,例如触发警报的排水栅格或井盖。类似地,当辅助计算机是基于相机的LDW***时,监督MCU中的神经网络可以学习在骑车者或行人在场并且车道偏离实际上是最安全的策略时无视该LDW。在包括运行在监督MCU上的神经网络的实施例中,监督MCU可以包括适合于利用关联的内存运行神经网络的DLA或GPU中的至少一个。在优选的实施例中,监督MCU可以包括SoC 704的部件和/或作为SoC 704的部件而被包括。
在其他示例中,ADAS***738可以包括使用传统计算机视觉规则执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典的计算机视觉规则(如果-那么),并且在监督MCU中存在神经网络可以提高可靠性、安全性和性能。例如,多样化的实现方式和有意的非完全相同(non-identity)使得整个***更加容错,对于软件(或者软件-硬件接口)功能造成的故障而言尤其如此。例如,如果在主计算机上运行的软件中存在软件漏洞或错误并且运行在辅助计算机上的非完全相同的软件代码提供相同的总体结果,那么监督MCU可以更加确信总体结果是正确的,并且主计算机上的软件或硬件中的漏洞不造成实质性的错误。
在一些示例中,ADAS***738的输出可以馈送至主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS***738由于对象紧接在前的原因而指示前方碰撞警告,那么感知块可以在识别对象时使用该信息。在其他示例中,辅助计算机可以具有它自己的神经网络,其被训练并且因此如本文所描述的降低假阳性的风险。
车辆700可以还包括信息娱乐SoC 730(例如车载信息娱乐***(IVI))。尽管被图示和描述为SoC,但是信息娱乐***可以不是SoC,并且可以包括两个或更多分立的部件。信息娱乐SoC 730可以包括可以用来向车辆700提供音频(例如音乐、个人数字助理、导航指令、新闻、广播等等)、视频(例如TV、电影、流媒体等等)、电话(例如免提呼叫)、网络连接(例如LTE、WiFi等等)和/或信息服务(例如导航***,后停车援助,无线电数据***,诸如燃油水平、覆盖的总距离、制动燃油水平、油位、车门开/关、空气过滤器信息之类的车辆有关信息,等等)的硬件和软件的组合。例如,信息娱乐SoC 730可以包括收音机、盘播放器、导航***、视频播放器、USB和蓝牙连接、车载电脑、车载娱乐、WiFi、方向盘音频控件、免提语音控件、平视显示器(HUD)、HMI显示器734、远程信息处理设备、控制面板(例如用于控制各种部件、特征和/或***,和/或与其交互)和/或其他部件。信息娱乐SoC 730可以进一步用来向车辆的用户提供信息(例如视觉的和/或听觉的),例如来自ADAS***738的信息,诸如规划的车辆机动、轨迹、周围环境信息(例如路口信息、车辆信息、道路信息等等)之类的自主驾驶信息,和/或其他信息。
信息娱乐SoC 730可以包括GPU功能。信息娱乐SoC 730可以通过总线702(例如CAN总线、以太网等)与车辆700的其他设备、***和/或部件通信。在一些示例中,信息娱乐SoC730可以耦合至监督MCU,使得在主控制器736(例如车辆700的主和/或备用计算机)出现故障的情况下,信息娱乐***的GPU可以执行一些自驾驶功能。在这样的示例中,信息娱乐SoC730可以如本文所描述的将车辆700置于司机安全停车模式。
车辆700可以还包括仪表组732(例如数字仪表板、电子仪表组、数字仪表面板等等)。仪表组732可以包括控制器和/或超级计算机(例如分立的控制器或超级计算机)。仪表组732可以包括一套仪器,例如车速表、燃油水平、油压、转速表、里程表、转弯指示器、换档位置指示器、安全带警告灯、停车制动警告灯、发动机故障灯、安全气囊(SRS)***信息、照明控件、安全***控件、导航信息等等。在一些示例中,信息可以被显示和/或在信息娱乐SoC 730和仪表组732之间共享。换言之,仪表组732可以作为信息娱乐SoC 730的部分而被包括,或者反之亦然。
图7D为根据本公开一些实施例的基于云的服务器与图7A的示例自主车辆700之间的通信的***示意图。***776可以包括服务器778、网络790以及包括车辆700在内的车辆。服务器778可以包括多个GPU 784(A)-1284(H)(这里统称为GPU 784)、PCIe交换机782(A)-782(H)(这里统称为PCIe交换机782)和/或CPU 780(A)-780(B)(这里统称为CPU 780)。GPU784、CPU 780和PCIe交换机可以与诸如例如且不限于NVIDIA开发的NVLink接口788之类的高速互连和/或PCIe连接786互连。在一些示例中,GPU 784经由NVLink和/或NVSwitch SoC连接,并且GPU 784和PCIe交换机782经由PCIe互连连接。尽管图示出八个GPU 784、两个CPU780和两个PCIe交换机,但是这并不意图是限制性的。取决于实施例,服务器778中的每一个可以包括任意数量的GPU 784、CPU 780和/或PCIe交换机。例如,服务器778中的每一个可以包括八个、十六个、三十二个和/或更多GPU 784。
服务器778可以通过网络790并且从车辆接收图像数据,该图像数据表示示出诸如最近开始的道路工程之类的意外或改变的道路状况的图像。服务器778可以通过网络790并且向车辆传输神经网络792、更新的神经网络792和/或地图信息794,包括关于交通和道路状况的信息。对地图信息794的更新可以包括对于HD地图722的更新,例如关于建筑工地、坑洼、弯道、洪水或其他障碍物的信息。在一些示例中,神经网络792、更新的神经网络792和/或地图信息794可以已从新的训练和/或从环境中的任意数量的车辆接收的数据中表示和/或基于数据中心处执行的训练(例如使用服务器778和/或其他服务器)的经验产生。
服务器778可以用来基于训练数据训练机器学习模型(例如神经网络)。训练数据可以由车辆生成,和/或可以在模拟中生成(例如使用游戏引擎)。在一些示例中,训练数据被标记(例如在神经网络受益于有监督学习的情况下)和/或经历其他预处理,而在其他示例中,训练数据不被标记和/或预处理(例如在神经网络无需有监督学习的情况下)。一旦机器学习模型被训练,机器学习模型可以由车辆使用(例如通过网络790传输至车辆),和/或机器学习模型可以由服务器778用来远程地监控车辆。
在一些示例中,服务器778可以接收来自车辆的数据,并且将该数据应用到最新的实时神经网络以用于实时智能推理。服务器778可以包括由GPU 784供电的深度学习超级计算机和/或专用AI计算机,例如NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,服务器778可以包括仅使用CPU供电的数据中心的深度学习基础设施。
服务器778的深度学习基础设施可能够快速实时推理,并且可以使用该能力来评估并验证车辆700中的处理器、软件和/或关联硬件的健康状况。例如,深度学习基础设施可以接收来自车辆700的定期更新,例如图像序列和/或车辆700已经定位的位于该图像序列中的对象(例如经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行它自己的神经网络以识别对象并且将它们与车辆700识别的对象相比较,如果结果不匹配并且该基础设施得出车辆700中的AI发生故障的结论,那么服务器778可以向车辆700传输信号,指示车辆700的故障保护计算机进行控制,通知乘客,并且完成安全停车操作。
为了推理,服务器778可以包括GPU 784和一个或更多个可编程推理加速器(例如NVIDIA的TensorRT)。GPU供电的服务器和推理加速的组合可以使得实时响应成为可能。在其他示例中,例如在性能不那么重要的情况下,CPU、FPGA和其他处理器供电的服务器可以用于推理。
示例计算设备
图8为适合用于实现本公开一些实施例的示例计算设备800的框图。计算设备800可以包括直接或间接耦合下列设备的总线802:存储器804,一个或更多个中央处理单元(CPU)806,一个或更多个图形处理单元(GPU)808,通信接口810,输入/输出(I/O)端口812,输入/输出组件814,电源816,以及一个或更多个呈现组件818(例如显示器)。
尽管图8的各个框被示为经由具有线路的总线802连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件818可以被认为是I/O组件814(例如如果显示器为触摸屏)。作为另一个示例,CPU 806和/或GPU 808可以包括内存(例如,存储器804可以表示除了GPU 808、CPU 806和/或其他组件的内存以外的存储设备)。换言之,图8的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实***”和/或其他设备或***类型之类的类别之间不进行区分,因为所有这些都被考虑在图8的计算设备的范围内。
总线802可以表示一条或更多条总线,例如地址总线、数据总线、控制总线或者其组合。总线802可以包括一种或更多种总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、***组件互连(PCI)总线、***组件互连快速(PCIe)总线,和/或另一种类型的总线。
存储器804可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备800访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,存储器804可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作***)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备800访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
通信介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 806可以被配置为执行计算机可读指令以便控制计算设备800的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 806中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 806可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备800的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备800的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备800还可以包括一个或更多个CPU 806。
GPU 808可以由计算设备800用来渲染图形(例如3D图形)。GPU 808可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 808可以响应于渲染命令(例如经由主机接口接收的来自CPU 806的渲染命令)而生成用于输出图像的像素数据。GPU 808可以包括诸如显示内存之类的用于存储像素数据的图形内存。显示内存可以作为存储器804的部分而被包括。GPU 808可以包括(例如经由链路)并行操作的两个或更多GPU。当组合在一起时,每个GPU 808可以生成用于输出图像的不同部分或者用于不同输出图像的像素数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。
在其中计算设备800不包括GPU 808的示例中,CPU 806可以用来渲染图形。
通信接口810可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备800能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口810可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口812可以使得计算设备800能够逻辑地耦合到包括I/O组件814、呈现组件818和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备800中。说明性I/O组件814包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件814可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些示例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛追踪以及与计算设备800的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备800可以包括诸如立体相机***之类的深度相机、红外相机***、RGB相机***、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备800可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备800用来渲染沉浸式增强现实或者虚拟现实。
电源816可以包括硬接线电源、电池电源或者其组合。电源816可以向计算设备800供电以使得计算设备800的组件能够操作。
呈现组件818可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件818可以接收来自其他组件(例如GPU 808、CPU 806等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的***配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
本文详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“框”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

Claims (24)

1.一种用于图像数据处理的方法,包括:向神经网络应用表示包括一个或更多个路口的视场的图像数据;使用所述神经网络并且至少部分地基于所述图像数据来计算输出数据,所述输出数据包括:第一数据、第二数据和第三数据,所述第一数据表示所述图像数据的至少一个像素与所述一个或更多个路口中的至少一个路口相对应的置信度;所述第二数据表示与所述一个或更多个路口中的至少一个路口相关联的边界框相对应的位置信息;所述第三数据表示到所述一个或更多个路口中的至少一个路口的距离;至少部分地基于所述第一数据和所述第二数据来确定与所述一个或更多个路口相对应的最终边界框的最终边界框位置;至少部分地基于所述第三数据来确定到所述一个或更多个路口的距离;以及由车辆至少部分地基于所述最终边界框位置和所述距离来执行一个或更多个操作。
2.根据权利要求1所述的方法,还包括:使用所述神经网络并且至少部分地基于所述图像数据来计算第四数据,所述第四数据表示与所述一个或更多个路口相对应的一个或更多个属性,其中由所述车辆执行所述一个或更多个操作进一步至少部分地基于所述一个或更多个属性。
3.根据权利要求2所述的方法,其中所述一个或更多个属性对应于与所述一个或更多个路口相关联的等待条件的一个或更多个类型。
4.根据权利要求1所述的方法,其中所述第一数据表示基于像素的覆盖图,其中被确定为对应于所述基于像素的覆盖图中的路口的每个像素被均匀地加权。
5.根据权利要求1所述的方法,其中所述位置信息包括到所述边界框的左边缘、右边缘、顶部边缘或底部边缘中的一个或更多个的像素距离。
6.根据权利要求5所述的方法,其中所述像素对应于所述神经网络的输出空间分辨率,并且所述像素距离对应于所述神经网络的输入空间分辨率。
7.根据权利要求1所述的方法,其中所述位置信息包括与所述边界框的至少一个顶点相对应的像素坐标。
8.根据权利要求1所述的方法,还包括:使用所述神经网络并且至少部分地基于所述图像数据计算第四数据,所述第四数据表示针对每个像素的与和所述像素相关联的所述一个或更多个路口相关联的一个或更多个属性;对于所述最终边界框中的每个最终边界框:计算所述最终边界框内与所述一个或更多个属性中的相同属性相关联的像素的数量;以及当所述像素的数量超过阈值时,将所述相同属性与对应于所述最终边界框的所述一个或更多个路口中的所述路口相关联。
9.根据权利要求1所述的方法,其中所述距离对应于与所述一个或更多个路口中的路口相关联的最终边界框的底部边缘。
10.根据权利要求1所述的方法,其中确定所述最终边界框位置或确定所述距离中的至少一个包括:相对于与所述图像数据的一个或更多个先前实例相对应的所述神经网络的一个或更多个先前预测,对与所述图像数据的当前实例相对应的所述神经网络的当前预测进行加权。
11.根据权利要求1所述的方法,其中确定所述最终边界框位置包括:对于所述最终边界框中的每个最终边界框,使用与多个像素相对应的所述位置信息来确定相应的最终边界框位置。
12.根据权利要求11所述的方法,其中使用与所述多个像素相对应的所述位置信息包括:将随机采样一致性RANSAC应用于所述位置信息。
13.根据权利要求1所述的方法,其中与所述车辆通过对应于所述视场的环境的一部分的运动相对应的第四数据被用于生成与所述图像数据相对应的地面实况数据,用于进一步训练所述神经网络以预测所述距离。
14.根据权利要求1所述的方法,其中所述神经网络被训练为计算与所述边界框相对应的像素的子集的所述位置信息,所述像素的子集包括从所述边界框的底部边缘延伸到预定阈值像素高度的像素。
15.根据权利要求4所述的方法,其中计算所述输出数据包括:至少部分地基于所述第一数据确定与所述一个或更多个路口相对应的像素的子集;以及至少部分地基于所述第二数据确定所述像素的子集中的像素的像素位置。
16.根据权利要求15所述的方法,其中确定所述最终边界框位置包括聚合所述像素位置。
17.根据权利要求15所述的方法,其中至少部分地基于被训练为计算经裁剪的覆盖图的所述神经网络,所述像素的子集包括比实际对应于由所述图像数据表示的所述路口的像素的数量少的像素。
18.一种用于图像数据处理的方法,包括:接收使用图像传感器生成的图像数据,所述图像数据描绘包括至少一个路口的环境内的所述图像传感器的视场;接收第一数据、第二数据和第三数据,所述第一数据表示对应于与所述路口相关联的边界形状的第一注释,所述第二数据表示对应于与所述路口相对应的一个或更多个属性的第二注释,所述第三数据表示与到所述路口的距离相对应的距离值;至少部分地基于所述第一数据,将与所述边界形状的位置相对应的位置信息与所述边界形状内的至少一个像素相关联;至少部分地基于所述第一数据,将与位于所述边界形状内的置信度相对应的置信度值与所述边界形状内的至少一个像素相关联;至少部分地基于所述第二数据,将与所述路口相对应的至少一个属性与所述边界形状内的至少一个像素相关联;至少部分地基于所述第三数据,将所述距离值与所述图像数据的至少一个像素相关联;以及使用所述位置信息、所述置信度值、所述距离值和所述至少一个属性作为地面实况数据来训练神经网络。
19.根据权利要求18所述的方法,其中将所述置信度值与所述至少一个像素相关联生成覆盖图内的对应于所述边界形状的初始区域,并且所述方法还包括:减小所述初始区域的大小以生成小于所述初始区域的更新的区域,减小所述大小至少部分地基于到所述边界形状的距离低于阈值距离。
20.根据权利要求19所述的方法,其中减小所述初始区域的大小包括:裁剪所述初始区域的顶部部分,使得所述更新的区域包括与所述初始区域相同的底部边缘和相对于所述初始区域的更新的上边缘,所述更新的上边缘远离与所述初始区域的上边缘相同的底部边缘更少的像素。
21.根据权利要求19所述的方法,其中所述更新的区域的高度对应于小于所述初始区域的高度的预定阈值高度。
22.根据权利要求18所述的方法,其中所述一个或更多个属性对应于与所述路口相关联的等待条件。
23.根据权利要求18所述的方法,其中:所述图像传感器与自对象相关联;并且至少部分地基于运动数据自动生成所述第三数据,所述运动数据表示所述对象从捕获所述图像数据时的第一位置到对应于所述路口的第二位置的运动。
24.一种用于图像数据处理的***,包括:图像传感器,用于生成表示所述图像传感器的视场的图像数据,所述视场包括一个或更多个路口;计算设备,包括一个或更多个处理设备以及通信地耦合到所述一个或更多个处理设备的一个或更多个存储器设备,所述存储器设备上存储有编程指令,所述编程指令在由所述一个或更多个处理设备执行时引起以下的实例化:神经网络处理器,用于:向神经网络应用所述图像数据;使用所述神经网络并且至少部分地基于所述图像数据来计算输出数据,所述输出数据包括:第一数据、第二数据和第三数据,所述第一数据表示所述图像数据的至少一个像素对应于所述一个或更多个路口中的至少一个路口的置信度;所述第二数据表示与所述一个或更多个路口中的至少一个路口相关联的边界框相对应的位置信息;所述第三数据表示到所述一个或更多个路口中的至少一个路口的距离;边界框确定器,用于至少部分地基于所述第一数据和所述第二数据来确定与所述一个或更多个路口相对应的最终边界框的最终边界框位置;距离确定器,用于至少部分地基于所述第三数据来确定到所述一个或更多个路口的距离;以及控制组件,用于由车辆至少部分地基于所述最终边界框位置和所述距离来执行一个或更多个操作。
CN202080035114.3A 2019-03-11 2020-03-10 自主机器应用中的路口检测和分类 Active CN113811886B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962816838P 2019-03-11 2019-03-11
US62/816,838 2019-03-11
PCT/US2020/021894 WO2020185779A1 (en) 2019-03-11 2020-03-10 Intersection detection and classification in autonomous machine applications

Publications (2)

Publication Number Publication Date
CN113811886A CN113811886A (zh) 2021-12-17
CN113811886B true CN113811886B (zh) 2024-03-19

Family

ID=72423020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080035114.3A Active CN113811886B (zh) 2019-03-11 2020-03-10 自主机器应用中的路口检测和分类

Country Status (3)

Country Link
US (3) US11648945B2 (zh)
CN (1) CN113811886B (zh)
WO (1) WO2020185779A1 (zh)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9963106B1 (en) * 2016-11-07 2018-05-08 Nio Usa, Inc. Method and system for authentication in autonomous vehicles
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US10007269B1 (en) * 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
DE112019000048T5 (de) 2018-03-15 2020-01-16 Nvidia Corporation Bestimmung eines befahrbaren freiraums für autonome fahrzeuge
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US10909866B2 (en) * 2018-07-20 2021-02-02 Cybernet Systems Corp. Autonomous transportation system and methods
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11120277B2 (en) * 2018-10-10 2021-09-14 Denso Corporation Apparatus and method for recognizing road shapes
IL282172B2 (en) 2018-10-11 2024-02-01 Tesla Inc Systems and methods for training machine models with enhanced data
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11150664B2 (en) 2019-02-01 2021-10-19 Tesla, Inc. Predicting three-dimensional features for autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11727272B2 (en) * 2019-06-19 2023-08-15 Nvidia Corporation LIDAR-based detection of traffic signs for navigation of autonomous vehicles
KR20210050052A (ko) * 2019-10-25 2021-05-07 현대모비스 주식회사 자동차용 센서 통합 모듈
US11756129B1 (en) * 2020-02-28 2023-09-12 State Farm Mutual Automobile Insurance Company Systems and methods for light detection and ranging (LIDAR) based generation of an inventory list of personal belongings
US11093766B1 (en) 2020-04-03 2021-08-17 Micron Technology, Inc. Detect and alert of forgotten items left in a vehicle
US11433855B2 (en) * 2020-04-03 2022-09-06 Micron Technology, Inc. Intelligent detection and alerting of potential intruders
US11398095B2 (en) * 2020-06-23 2022-07-26 Toyota Research Institute, Inc. Monocular depth supervision from 3D bounding boxes
US20200326721A1 (en) * 2020-06-26 2020-10-15 Intel Corporation Occupancy verification device and method
US11623639B2 (en) * 2020-07-15 2023-04-11 Charter Communications Operating, Llc Video analytics traffic monitoring and control
DE102020209979A1 (de) * 2020-08-06 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erkennen eines Objekts aus Eingabedaten
TW202223834A (zh) * 2020-08-28 2022-06-16 加拿大商光譜優化股份有限公司 神經嵌入之攝影機影像視訊處理管道及神經網路訓練系統
US11987236B2 (en) * 2020-08-31 2024-05-21 Nec Corporation Monocular 3D object localization from temporal aggregation
US11410366B2 (en) 2020-09-18 2022-08-09 Unity Technologies Sf Systems and methods for generating a skull surface for computer animation
US11954932B2 (en) * 2020-10-16 2024-04-09 Bluebeam, Inc. Systems and methods for automatic detection of features on a sheet
US11868439B2 (en) * 2020-11-13 2024-01-09 Toyota Research Institute, Inc. Mixed-batch training of a multi-task network
US20220171959A1 (en) * 2020-11-27 2022-06-02 Samsung Electronics Co., Ltd. Method and apparatus with image processing
CN114572240B (zh) * 2020-11-30 2023-11-14 北京百度网讯科技有限公司 车辆行驶控制方法、装置、车辆、电子设备及存储介质
US11622073B2 (en) * 2020-11-30 2023-04-04 Yandex Europe Ag Method of generating a panoramic image
US20210110170A1 (en) * 2020-12-22 2021-04-15 Florian Geissler Validation and training service for dynamic environment perception based on local high confidence information
JP2022103505A (ja) * 2020-12-28 2022-07-08 本田技研工業株式会社 車両制御装置、車両制御方法、およびプログラム
US11747164B2 (en) * 2021-01-13 2023-09-05 GM Global Technology Operations LLC Methods for multi-dimensional lane matching for autonomous vehicle localization
US11126910B1 (en) * 2021-03-10 2021-09-21 Samsara Inc. Models for stop sign database creation
CN115171130A (zh) * 2021-03-18 2022-10-11 华为技术有限公司 一种识别模型的训练方法及装置
US11710254B2 (en) 2021-04-07 2023-07-25 Ford Global Technologies, Llc Neural network object detection
CN112906680A (zh) * 2021-05-08 2021-06-04 深圳市安软科技股份有限公司 一种行人属性识别方法、装置及电子设备
CN113191455B (zh) * 2021-05-26 2024-06-07 平安国际智慧城市科技股份有限公司 边缘计算盒子选举方法、装置、电子设备及介质
US20220379892A1 (en) * 2021-05-26 2022-12-01 Oshkosh Corporation Condition based vehicle performance management
US20240203244A1 (en) * 2021-06-09 2024-06-20 NetraDyne, Inc. Systems and methods for detecting intersection crossing events using full frame classification techniques
WO2023044089A1 (en) * 2021-09-20 2023-03-23 Eli Lilly And Company Methods and apparatuses for detecting anomalies when filling a container with fluid
US12008788B1 (en) * 2021-10-14 2024-06-11 Amazon Technologies, Inc. Evaluating spatial relationships using vision transformers
US20230135234A1 (en) * 2021-10-28 2023-05-04 Nvidia Corporation Using neural networks for 3d surface structure estimation based on real-world data for autonomous systems and applications
US11995900B2 (en) * 2021-11-12 2024-05-28 Zebra Technologies Corporation Method on identifying indicia orientation and decoding indicia for machine vision systems
US11858420B2 (en) * 2021-11-29 2024-01-02 Texas Instruments Incorporated Below vehicle rendering for surround view systems
US12001175B2 (en) * 2021-12-20 2024-06-04 Gm Cruise Holdings Llc Long tail lidar 3-D object detection improvement with targeted simulation data injection
US11862016B1 (en) * 2022-07-19 2024-01-02 Jiangsu University Multi-intelligence federal reinforcement learning-based vehicle-road cooperative control system and method at complex intersection
US20240140459A1 (en) * 2022-10-28 2024-05-02 Volvo Car Corporation Peer-to-peer vehicular provision of artificially intelligent traffic analysis

Family Cites Families (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963661B1 (en) 1999-09-09 2005-11-08 Kabushiki Kaisha Toshiba Obstacle detection system and method therefor
US7852462B2 (en) 2000-05-08 2010-12-14 Automotive Technologies International, Inc. Vehicular component control methods based on blind spot monitoring
ES2391556T3 (es) 2002-05-03 2012-11-27 Donnelly Corporation Sistema de detección de objetos para vehículo
US7068815B2 (en) 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US7409295B2 (en) 2004-08-09 2008-08-05 M/A-Com, Inc. Imminent-collision detection system and process
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
KR20080051302A (ko) 2006-12-05 2008-06-11 삼성전자주식회사 사용자 단말장치 및 영상표시장치 그리고 그들의 광원 조정방법
EP2383679A1 (en) 2006-12-06 2011-11-02 Mobileye Technologies Limited Detecting and recognizing traffic signs
EP2674323B1 (en) 2007-04-30 2018-07-11 Mobileye Vision Technologies Ltd. Rear obstruction detection
JP4457136B2 (ja) 2007-09-27 2010-04-28 日立オートモティブシステムズ株式会社 走行制御システム
US20090097704A1 (en) 2007-10-10 2009-04-16 Micron Technology, Inc. On-chip camera system for multiple object tracking and identification
JP4462333B2 (ja) 2007-11-13 2010-05-12 株式会社デンソー 走行支援装置
WO2009076182A1 (en) 2007-12-13 2009-06-18 Clemson University Vision based real time traffic monitoring
US8204542B2 (en) 2008-03-21 2012-06-19 Mediatek Inc. Methods for processing apparatus originated communication request and communication apparatuses utilizing the same
KR101626037B1 (ko) 2008-04-14 2016-06-13 구글 인코포레이티드 가상 표면들을 사용하는 패닝
US8570333B2 (en) 2008-12-11 2013-10-29 Nvidia Corporation Method and system for enabling managed code-based application program to access graphics processing unit
DE102009028743B4 (de) 2009-08-20 2011-06-09 Robert Bosch Gmbh Verfahren und Steuergerät zur Entzerrung eines Kamerabildes
KR101717787B1 (ko) 2010-04-29 2017-03-17 엘지전자 주식회사 디스플레이장치 및 그의 음성신호 출력 방법
KR101225626B1 (ko) 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
US8587583B2 (en) 2011-01-31 2013-11-19 Microsoft Corporation Three-dimensional environment reconstruction
US9098751B2 (en) 2011-07-27 2015-08-04 Gentex Corporation System and method for periodic lane marker identification and tracking
US10027952B2 (en) 2011-08-04 2018-07-17 Trx Systems, Inc. Mapping and tracking system with features in three-dimensional space
KR101861742B1 (ko) 2011-08-30 2018-05-30 삼성전자주식회사 이종의 가속기들 사이에서 스위칭할 수 있는 데이터 처리 시스템과 그 방법
US8970701B2 (en) 2011-10-21 2015-03-03 Mesa Engineering, Inc. System and method for predicting vehicle location
US9471988B2 (en) 2011-11-02 2016-10-18 Google Inc. Depth-map generation for an input image using an example approximate depth-map associated with an example similar image
GB2506338A (en) 2012-07-30 2014-04-02 Sony Comp Entertainment Europe A method of localisation and mapping
US9225942B2 (en) 2012-10-11 2015-12-29 GM Global Technology Operations LLC Imaging surface modeling for camera modeling and virtual view synthesis
JP6013884B2 (ja) 2012-11-08 2016-10-25 日立オートモティブシステムズ株式会社 物体検出装置及び物体検出方法
DE102013208521B4 (de) 2013-05-08 2022-10-13 Bayerische Motoren Werke Aktiengesellschaft Kollektives Erlernen eines hochgenauen Straßenmodells
US9558584B1 (en) * 2013-07-29 2017-01-31 Google Inc. 3D position estimation of objects from a monocular camera using a set of known 3D points on an underlying surface
CN104424466B (zh) 2013-08-21 2018-05-15 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
US9098323B2 (en) 2013-09-05 2015-08-04 Nvidia Corporation Simultaneous utilization of a first graphics processing unit (GPU) and a second GPU of a computing platform through a virtual machine (VM) in a shared mode and a dedicated mode respectively
US9373057B1 (en) 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
US9742869B2 (en) 2013-12-09 2017-08-22 Nvidia Corporation Approach to adaptive allocation of shared resources in computer systems
US9098754B1 (en) * 2014-04-25 2015-08-04 Google Inc. Methods and systems for object detection using laser point clouds
EP2950175B1 (de) 2014-05-27 2021-03-31 dSPACE digital signal processing and control engineering GmbH Verfahren und Vorrichtung zum Testen eines Steuergerätes
US9767366B1 (en) 2014-08-06 2017-09-19 Waymo Llc Using obstacle clearance to measure precise lateral
IL236114A (en) * 2014-12-07 2016-04-21 Yoav Grauer Improved object recognition in the reimbursement-based imaging unit
US9721471B2 (en) 2014-12-16 2017-08-01 Here Global B.V. Learning lanes from radar data
US10262213B2 (en) 2014-12-16 2019-04-16 Here Global B.V. Learning lanes from vehicle probes
CA3067160A1 (en) 2015-02-10 2016-08-18 Mobileye Vision Technologies Ltd. Sparse map for autonomous vehicle navigation
US9811756B2 (en) 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US11630800B2 (en) 2015-05-01 2023-04-18 Nvidia Corporation Programmable vision accelerator
EP3295422B1 (en) 2015-05-10 2020-01-01 Mobileye Vision Technologies Ltd. Road profile along a predicted path
US10366534B2 (en) 2015-06-10 2019-07-30 Microsoft Technology Licensing, Llc Selective surface mesh regeneration for 3-dimensional renderings
US9710714B2 (en) 2015-08-03 2017-07-18 Nokia Technologies Oy Fusion of RGB images and LiDAR data for lane classification
US10282591B2 (en) 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
US9767565B2 (en) 2015-08-26 2017-09-19 Digitalglobe, Inc. Synthesizing training data for broad area geospatial object detection
US10002471B2 (en) 2015-09-30 2018-06-19 Ants Technology (Hk) Limited Systems and methods for autonomous vehicle navigation
GB2543749A (en) 2015-10-21 2017-05-03 Nokia Technologies Oy 3D scene rendering
US9741125B2 (en) 2015-10-28 2017-08-22 Intel Corporation Method and system of background-foreground segmentation for image processing
US9990766B2 (en) 2015-10-29 2018-06-05 Intelligent Fusion Technology, Inc Method and system for predicting collision probability of space objects via graphics processing unit
DE102015221920A1 (de) 2015-11-09 2017-05-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computerprogrammprodukt, Vorrichtung, und Fahrzeug umfassend die Vorrichtung zum Steuern einer Trajektorienplanung eines Egofahrzeugs
EP3171297A1 (en) 2015-11-18 2017-05-24 CentraleSupélec Joint boundary detection image segmentation and object recognition using deep learning
US9881234B2 (en) 2015-11-25 2018-01-30 Baidu Usa Llc. Systems and methods for end-to-end object detection
DE102015225472A1 (de) 2015-12-16 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Erstellen einer Karte
DE102015226762B4 (de) 2015-12-28 2024-04-25 Robert Bosch Gmbh Verfahren zur Korrektur mindestens eines Kollisionsparameters und korrespondierendes integriertes Sicherheitssystem für ein Fahrzeug
US20170206426A1 (en) 2016-01-15 2017-07-20 Ford Global Technologies, Llc Pedestrian Detection With Saliency Maps
US10134278B1 (en) 2016-01-22 2018-11-20 State Farm Mutual Automobile Insurance Company Autonomous vehicle application
US9996771B2 (en) 2016-02-15 2018-06-12 Nvidia Corporation System and method for procedurally synthesizing datasets of objects of interest for training machine-learning models
US9802599B2 (en) 2016-03-08 2017-10-31 Ford Global Technologies, Llc Vehicle lane placement
US10055652B2 (en) 2016-03-21 2018-08-21 Ford Global Technologies, Llc Pedestrian detection and motion prediction with rear-facing camera
JP6575818B2 (ja) 2016-03-25 2019-09-18 パナソニックIpマネジメント株式会社 運転支援方法およびそれを利用した運転支援装置、自動運転制御装置、車両、運転支援システム、プログラム
WO2017177128A1 (en) 2016-04-08 2017-10-12 The Trustees Of Columbia University In The City Of New York Systems and methods for deep reinforcement learning using a brain-artificial intelligence interface
US9896096B2 (en) 2016-04-11 2018-02-20 David E. Newman Systems and methods for hazard mitigation
US10032067B2 (en) 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
US10176389B2 (en) 2016-06-09 2019-01-08 International Business Machines Corporation Methods and systems for moving traffic obstacle detection
CN106114507B (zh) 2016-06-21 2018-04-03 百度在线网络技术(北京)有限公司 用于智能车辆的局部轨迹规划方法和装置
US11772647B2 (en) 2016-06-24 2023-10-03 Jaguar Land Rover Limited Control system for a vehicle
US10127465B2 (en) 2016-06-27 2018-11-13 Mobileye Vision Technologies Ltd. Controlling host vehicle based on detected movement of a target vehicle
US10078335B2 (en) 2016-06-28 2018-09-18 Toyota Motor Engineering & Manufacturing North America, Inc. Ray tracing for hidden obstacle detection
US10489972B2 (en) 2016-06-28 2019-11-26 Cognata Ltd. Realistic 3D virtual world creation and simulation for training automated driving systems
US10829116B2 (en) 2016-07-01 2020-11-10 nuTonomy Inc. Affecting functions of a vehicle based on function-related information about its environment
EP3492581A4 (en) 2016-07-26 2020-02-05 Kaneka Corporation TRANSFORMER PRODUCING A PHA COPOLYMER WITH A 3HH UNIT AND METHOD FOR PRODUCING THE PHA
GB2553782B (en) 2016-09-12 2021-10-20 Niantic Inc Predicting depth from image data using a statistical model
US10127670B2 (en) 2016-09-27 2018-11-13 Xactware Solutions, Inc. Computer vision systems and methods for detecting and modeling features of structures in images
US10289469B2 (en) 2016-10-28 2019-05-14 Nvidia Corporation Reliability enhancement utilizing speculative execution systems and methods
US20180136332A1 (en) * 2016-11-15 2018-05-17 Wheego Electric Cars, Inc. Method and system to annotate objects and determine distances to objects in an image
US10878583B2 (en) 2016-12-02 2020-12-29 Google Llc Determining structure and motion in images using neural networks
US20180158244A1 (en) 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
CN117824676A (zh) 2016-12-09 2024-04-05 通腾全球信息公司 用于基于视频的定位及映射的方法及***
KR20180068511A (ko) 2016-12-14 2018-06-22 삼성전자주식회사 영상에 포함된 도로와 관련된 정보를 결정하는 뉴럴 네트워크를 학습시키는 학습 데이터를 생성하는 장치 및 방법
US10670416B2 (en) 2016-12-30 2020-06-02 DeepMap Inc. Traffic sign feature creation for high definition maps used for navigating autonomous vehicles
US10380886B2 (en) 2017-05-17 2019-08-13 Cavh Llc Connected automated vehicle highway systems and methods
US10691847B2 (en) 2017-01-13 2020-06-23 Sap Se Real-time damage determination of an asset
US11288595B2 (en) 2017-02-14 2022-03-29 Groq, Inc. Minimizing memory and processor consumption in creating machine learning models
WO2018170074A1 (en) 2017-03-14 2018-09-20 Starsky Robotics, Inc. Vehicle sensor system and method of use
US11899669B2 (en) 2017-03-20 2024-02-13 Carnegie Mellon University Searching of data structures in pre-processing data for a machine learning classifier
DE102017205093A1 (de) 2017-03-27 2018-09-27 Conti Temic Microelectronic Gmbh Verfahren und System zur Vorhersage von Sensorsignalen eines Fahrzeugs
EP3607489B1 (en) * 2017-04-04 2023-05-24 Robert Bosch GmbH Direct vehicle detection as 3d bounding boxes using neural network image processing
US10262238B2 (en) 2017-04-13 2019-04-16 Facebook, Inc. Panoramic camera systems
GB201706129D0 (en) 2017-04-18 2017-05-31 Blue Vision Labs Uk Ltd Distributed device mapping
US10460180B2 (en) 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10328578B2 (en) 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
US10108867B1 (en) 2017-04-25 2018-10-23 Uber Technologies, Inc. Image-based pedestrian detection
US10310087B2 (en) 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US20180349746A1 (en) 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US10007269B1 (en) 2017-06-23 2018-06-26 Uber Technologies, Inc. Collision-avoidance system for autonomous-capable vehicle
US11214273B2 (en) 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US20180373980A1 (en) 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
KR102499398B1 (ko) * 2017-08-09 2023-02-13 삼성전자 주식회사 차선 검출 방법 및 장치
WO2019028725A1 (en) 2017-08-10 2019-02-14 Intel Corporation CONVOLUTIVE NEURAL NETWORK STRUCTURE USING INVERTED CONNECTIONS AND OBJECTIVITY ANTERIORITIES TO DETECT AN OBJECT
US10339669B2 (en) 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
US11487988B2 (en) 2017-08-31 2022-11-01 Ford Global Technologies, Llc Augmenting real sensor recordings with simulated sensor data
US10282995B2 (en) 2017-09-05 2019-05-07 Starship Technologies Oü Mobile robot having collision avoidance system for crossing a road from a pedestrian pathway
US10546387B2 (en) 2017-09-08 2020-01-28 Qualcomm Incorporated Pose determination with semantic segmentation
KR102026697B1 (ko) 2017-09-21 2019-09-30 엘지전자 주식회사 주행 시스템 및 차량
US10612932B2 (en) 2017-09-29 2020-04-07 Wipro Limited Method and system for correcting a pre-generated navigation path for an autonomous vehicle
US10579897B2 (en) 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10997491B2 (en) 2017-10-04 2021-05-04 Huawei Technologies Co., Ltd. Method of prediction of a state of an object in the environment using an action model of a neural network
US20190120640A1 (en) 2017-10-19 2019-04-25 rideOS Autonomous vehicle routing
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US10935978B2 (en) 2017-10-30 2021-03-02 Nio Usa, Inc. Vehicle self-localization using particle filters and visual odometry
US10580158B1 (en) 2017-11-03 2020-03-03 Zoox, Inc. Dense depth estimation of image data
JP7346401B2 (ja) 2017-11-10 2023-09-19 エヌビディア コーポレーション 安全で信頼できる自動運転車両のためのシステム及び方法
US11061402B2 (en) 2017-11-15 2021-07-13 Uatc, Llc Sparse convolutional neural networks
US11017550B2 (en) 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US11062461B2 (en) 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10762396B2 (en) 2017-12-05 2020-09-01 Utac, Llc Multiple stage image based object detection and recognition
CN110574371B (zh) 2017-12-08 2021-12-21 百度时代网络技术(北京)有限公司 使用硬件加速器的立体摄像机深度确定
US20190179979A1 (en) 2017-12-13 2019-06-13 Uber Technologies, Inc. Simulated Sensor Testing
US10629069B2 (en) 2017-12-14 2020-04-21 Here Global B.V. Method and apparatus for providing a localized link-centric metric for directional traffic propagation
JP7169358B2 (ja) 2017-12-22 2022-11-10 マジック リープ, インコーポレイテッド 高速立体再構成のための視点依存ブリック選択
CN110248861B (zh) 2018-01-07 2023-05-30 辉达公司 在车辆操纵过程中使用机器学习模型来引导车辆
US11150663B2 (en) 2018-01-26 2021-10-19 Nvidia Corporation Detection of hazardous driving using machine learning
DE112019000065T5 (de) 2018-02-02 2020-03-05 Nvidia Corporation Sicherheitsprozeduranalyse zur hindernisvermeidung in einem autonomen fahrzeug
US11789449B2 (en) 2018-02-09 2023-10-17 Nvidia Corporation Controlling autonomous vehicles using safe arrival times
US11995551B2 (en) 2018-02-14 2024-05-28 Nvidia Corporation Pruning convolutional neural networks
US11210537B2 (en) 2018-02-18 2021-12-28 Nvidia Corporation Object detection and detection confidence suitable for autonomous driving
US10816978B1 (en) 2018-02-22 2020-10-27 Msc.Software Corporation Automated vehicle artificial intelligence training based on simulations
DE112019000122T5 (de) 2018-02-27 2020-06-25 Nvidia Corporation Echtzeiterfassung von spuren und begrenzungen durch autonome fahrzeuge
JP6761828B2 (ja) 2018-03-05 2020-09-30 日本電信電話株式会社 柱状物体状態検出装置、柱状物体状態検出方法、柱状物体状態検出処理プログラム
US10157331B1 (en) 2018-03-08 2018-12-18 Capital One Services, Llc Systems and methods for image preprocessing to improve accuracy of object recognition
DE112019000048T5 (de) 2018-03-15 2020-01-16 Nvidia Corporation Bestimmung eines befahrbaren freiraums für autonome fahrzeuge
WO2019177562A1 (en) 2018-03-15 2019-09-19 Harman International Industries, Incorporated Vehicle system and method for detecting objects and object distance
WO2019182911A1 (en) 2018-03-17 2019-09-26 Nvidia Corporation Reflection denoising in ray-tracing applications
US11080590B2 (en) 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
US11099558B2 (en) 2018-03-27 2021-08-24 Nvidia Corporation Remote operation of vehicles using immersive virtual reality environments
US10535180B2 (en) * 2018-03-28 2020-01-14 Robert Bosch Gmbh Method and system for efficient rendering of cloud weather effect graphics in three-dimensional maps
US10684626B1 (en) * 2018-04-05 2020-06-16 Ambarella International Lp Handling intersection navigation without traffic lights using computer vision
US10586456B2 (en) 2018-04-27 2020-03-10 TuSimple System and method for determining car to lane distance
JP7295234B2 (ja) * 2018-07-17 2023-06-20 エヌビディア コーポレーション 自律運転マシンのための回帰ベースの線分検出
DE102018212916A1 (de) 2018-08-02 2020-02-06 Bayerische Motoren Werke Aktiengesellschaft Bestimmung eines Verlaufs einer Fahrspur
US10885698B2 (en) 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US10761535B2 (en) 2018-08-21 2020-09-01 GM Global Technology Operations LLC Intelligent vehicle navigation systems, methods, and control logic for multi-lane separation and trajectory extraction of roadway segments
US10816994B2 (en) 2018-10-10 2020-10-27 Midea Group Co., Ltd. Method and system for providing remote robotic control
US10803314B2 (en) 2018-10-10 2020-10-13 Midea Group Co., Ltd. Method and system for providing remote robotic control
US20190061771A1 (en) 2018-10-29 2019-02-28 GM Global Technology Operations LLC Systems and methods for predicting sensor information
US11494937B2 (en) 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
US10936902B1 (en) * 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11010907B1 (en) * 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
US11030476B2 (en) 2018-11-29 2021-06-08 Element Ai Inc. System and method for detecting and tracking objects
US11756291B2 (en) * 2018-12-18 2023-09-12 Slyce Acquisition Inc. Scene and user-input context aided visual search
US20200211394A1 (en) * 2018-12-26 2020-07-02 Zoox, Inc. Collision avoidance system
US11170299B2 (en) * 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications
CN113228042A (zh) 2018-12-28 2021-08-06 辉达公司 自主机器应用中障碍物检测的距离
WO2020140049A1 (en) * 2018-12-28 2020-07-02 Nvidia Corporation Distance to obstacle detection in autonomous machine applications
WO2020150237A1 (en) * 2019-01-14 2020-07-23 Nvidia Corporation Weighted normalized automatic white balancing
US10803333B2 (en) * 2019-01-30 2020-10-13 StradVision, Inc. Method and device for ego-vehicle localization to update HD map by using V2X information fusion
US11338807B2 (en) * 2019-01-30 2022-05-24 Allstate Insurance Company Dynamic distance estimation output generation based on monocular video
US10748032B1 (en) * 2019-01-31 2020-08-18 StradVision, Inc. Method for providing robust object distance estimation based on camera by performing pitch calibration of camera more precisely with fusion of information acquired through camera and information acquired through V2V communication and device using the same
WO2020163390A1 (en) * 2019-02-05 2020-08-13 Nvidia Corporation Driving lane perception diversity and redundancy in autonomous driving applications
US11635767B2 (en) 2019-02-13 2023-04-25 Semyon Nisenzon System and method of using multi-resolution camera clusters input data for controlling autonomous vehicles
WO2020180997A1 (en) * 2019-03-04 2020-09-10 Ouster, Inc. Driver visualization and semantic monitoring of a vehicle using lidar data
US10991155B2 (en) 2019-04-16 2021-04-27 Nvidia Corporation Landmark location reconstruction in autonomous machine applications
US10832439B1 (en) 2019-04-19 2020-11-10 Zoox, Inc. Locating entities in a mapped environment
WO2020219303A1 (en) 2019-04-26 2020-10-29 Nvidia Corporation Intersection pose detection in autonomous machine applications
US11436837B2 (en) 2019-06-25 2022-09-06 Nvidia Corporation Intersection region detection and classification for autonomous machine applications
US10625748B1 (en) 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
CN114097227A (zh) 2019-07-11 2022-02-25 三星电子株式会社 视频解码方法和设备以及视频编码方法和设备
US10997435B2 (en) 2019-08-08 2021-05-04 Nvidia Corporation Leveraging obstacle and lane detections to determine lane assignments for objects in an environment
WO2021042051A1 (en) 2019-08-31 2021-03-04 Nvidia Corporation Map creation and localization for autonomous driving applications
US11410315B2 (en) 2019-11-16 2022-08-09 Uatc, Llc High quality instance segmentation
US11966673B2 (en) 2020-03-13 2024-04-23 Nvidia Corporation Sensor simulation and learning sensor models with generative machine learning methods

Also Published As

Publication number Publication date
US20240101118A1 (en) 2024-03-28
US11648945B2 (en) 2023-05-16
US20230166733A1 (en) 2023-06-01
CN113811886A (zh) 2021-12-17
US11897471B2 (en) 2024-02-13
WO2020185779A1 (en) 2020-09-17
US20200293796A1 (en) 2020-09-17

Similar Documents

Publication Publication Date Title
CN113811886B (zh) 自主机器应用中的路口检测和分类
JP7472170B2 (ja) 自律マシン・アプリケーションにおける交差点姿勢検出
CN113168505B (zh) 用于自主驾驶机器的基于回归的线检测
US11604967B2 (en) Stereo depth estimation using deep neural networks
CN110494863B (zh) 确定自主车辆的可驾驶自由空间
CN112825136B (zh) 自主机器应用中使用radar传感器检测障碍物的深度神经网络
US10997435B2 (en) Leveraging obstacle and lane detections to determine lane assignments for objects in an environment
US20210201145A1 (en) Three-dimensional intersection structure prediction for autonomous driving applications
EP3832341A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN113139642B (zh) 在自主驾驶应用中使用神经网络执行故障检测
CN114008685A (zh) 用于自主机器应用的路口区域检测和分类
CN114631117A (zh) 使用机器学习的用于自主机器应用的传感器融合
CN114450724A (zh) 用于自主机器应用的多活动者环境中的未来轨迹预测
CN113906271A (zh) 用于自主机器应用的使用地图信息增强的地面实况数据的神经网络训练
CN116767245A (zh) 使用自主***和应用的神经网络的地图信息对象数据管理
CN115218888A (zh) 用于更新高清地图的***和方法
CN117581117A (zh) 自主机器***和应用中使用LiDAR数据的动态对象检测
CN116263688A (zh) 在自主***和应用程序中使用特征描述符绘图进行单个和跨传感器对象追踪
CN116795091A (zh) 自主***和应用程序的环境重建和路径规划
CN112970029B (zh) 用于自主机器应用中传感器视盲检测的深度神经网络处理
CN112989914B (zh) 具有自适应加权输入的注视确定机器学习***
CN117516565A (zh) 用于在自主***和应用中导航的车道偏置
CN117396926A (zh) 用于自主机器***和应用的基于感知的标志检测和解释
CN117034024A (zh) 使用神经网络用于自主***和应用的区域的地理空间集群
CN118113036A (zh) 使用超声传感器用于自主***及应用的传感器融合

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant