CN112825136B - 自主机器应用中使用radar传感器检测障碍物的深度神经网络 - Google Patents

自主机器应用中使用radar传感器检测障碍物的深度神经网络 Download PDF

Info

Publication number
CN112825136B
CN112825136B CN202011297922.5A CN202011297922A CN112825136B CN 112825136 B CN112825136 B CN 112825136B CN 202011297922 A CN202011297922 A CN 202011297922A CN 112825136 B CN112825136 B CN 112825136B
Authority
CN
China
Prior art keywords
data
vehicle
radar
individual pixel
regression
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
CN202011297922.5A
Other languages
English (en)
Other versions
CN112825136A (zh
Inventor
A·波波夫
N·斯莫良斯基
R·奥迪家
S·默里
T·韦克尔
D·尼斯特
J·佩瑟尔
R·巴尔加瓦
S·奥
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 CN112825136A publication Critical patent/CN112825136A/zh
Application granted granted Critical
Publication of CN112825136B publication Critical patent/CN112825136B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/28Details of pulse systems
    • G01S7/285Receivers
    • G01S7/295Means for transforming co-ordinates or for evaluating data, e.g. using computers
    • G01S7/2955Means for determining the position of the radar coordinate system for evaluating the position data of the target in another coordinate system
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/02Systems using reflection of radio waves, e.g. primary radar systems; Analogous systems
    • G01S13/50Systems of measurement based on relative movement of target
    • G01S13/52Discriminating between fixed and moving objects or between objects moving at different speeds
    • G01S13/522Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves
    • G01S13/524Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi
    • G01S13/5242Discriminating between fixed and moving objects or between objects moving at different speeds using transmissions of interrupted pulse modulated waves based upon the phase or frequency shift resulting from movement of objects, with reference to the transmitted signals, e.g. coherent MTi with means for platform motion or scan motion compensation, e.g. airborne MTI
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/87Combinations of radar systems, e.g. primary radar and secondary radar
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/89Radar or analogous systems specially adapted for specific applications for mapping or imaging
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/414Discriminating targets with respect to background clutter
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9315Monitoring blind spots
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9323Alternative operation using light waves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • G06T2207/10044Radar image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Electromagnetism (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Automation & Control Theory (AREA)
  • Traffic Control Systems (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了自主机器应用中使用RADAR传感器检测障碍物的深度神经网络,在各种示例中,在高速公路和城市场景中,可以训练一个或更多个深度神经网络(例如,卷积神经网络)以从三维(3D)空间的RADAR数据中检测运动和静止障碍物。可以对RADAR检测进行累积,自我运动补偿,正射投影,然后将其输入到一个或更多个神经网络中。一个或更多个神经网络可包括具有特征提取器和几个预测不同输出的头部的公共干线,例如预测置信度图的类置信度头部和预测检测到的对象的对象实例数据的实例回归头部。可以对输出进行解码、过滤和/或聚类以形成识别检测到的对象实例的位置、大小和/或方向的边界形状。可以将检测到的对象实例提供给自主车辆驱动栈,以实现自主车辆的安全计划和控制。

Description

自主机器应用中使用RADAR传感器检测障碍物的深度神经 网络
相关申请的交叉引用
本申请要求于2019年11月21日提交的美国临时申请号为62/938,852的权益,其全部内容通过引用并入本文。
背景技术
设计一种在没有监督的情况下安全地自动驾驶车辆的系统非常困难。自主车辆应该至少能与专心的驾驶员(其利用具有在复杂环境中识别移动和静止障碍物并对其做出反应的惊人能力的感知和行动系统)执行相当的功能以避免与车辆路径上的其他对象或结构碰撞。因此,检测运动或静止的主体(例如,汽车,行人等)的实例的能力是自主驾驶感知系统的关键组成部分。随着自主车辆的操作环境开始从高速公路环境扩展到具有许多遮挡物和复杂形状的复杂场景的半城市和城市环境,这种功能变得越来越重要。
传统的感知方法在很大程度上依赖于相机或LIDAR传感器的使用来检测场景中的障碍物。但是,这些传统方法具有许多缺点。例如,传统的检测技术在具有严重遮挡的场景中不可靠。此外,传统的感测技术在恶劣的天气条件下通常是不可靠的,并且底层的传感器通常非常昂贵。此外,由于来自这些传统系统的输出信号需要繁重的后处理才能提取准确的三维(3D)信息,因此这些传统系统的运行时间通常更高,并且需要额外的计算和处理需求,从而降低了这些传统系统的效率。
一些传统技术使用RADAR传感器来检测运动的反射对象。然而,在混乱的环境中,许多传统的RADAR检测技术难以消除或完全无法消除背景噪声中的障碍。此外,尽管某些传统的RADAR检测技术在检测运动的反射RADAR的对象时效果很好,但它们通常很难或完全无法将静止对象与背景噪声区分开。类似地,传统的RADAR探测技术在预测对象分类、维度和方向方面的准确性有限。
发明内容
本公开的实施例涉及使用深度神经网络(DNN)的用于自主机器的对象检测。公开了使用对象检测技术来识别或检测环境中移动或静止障碍物(例如,汽车、卡车、行人、骑自行车的人等)和其他对象的实例的系统和方法,以供自主车辆、半自主车辆、机器人和/或其他对象类型使用。
与诸如上述的传统系统相反,本公开的系统可以针对以下情况实现用于自主车辆深度学习解决方案(例如,使用深度神经网络(DNN),诸如卷积神经网络(CNN)),以从RADAR数据中检测移动和静止的障碍物以及其他对象。更具体地,可以训练一个或更多个神经网络以从三维(3D)空间的RADAR数据中检测移动或静止障碍物。可以对RADAR检测进行累积,自我运动补偿,正射(orthographically)投影,然后将其输入到一个或更多个神经网络中。一个或更多个神经网络可包括具有特征提取器和预测不同输出的几个头部的公共干线(trunk),例如预测对象“存在”的置信度图的类置信度头部和用于预测检测到的对象的对象实例数据(例如,位置、维度、姿势、方向等)的实例回归头部。可以对输出进行解码、过滤和/或聚类,以形成识别检测到的对象实例的位置、大小和/或方向的边界形状。可以将检测到的对象实例提供给自主机器控制栈,以实现对自主机器的安全规划和控制。
在一些实施例中,可以从LIDAR数据生成用于一个或更多个神经网络的地面真实训练数据。更具体地,可以用RADAR和LIDAR传感器观察场景,以收集特定时间片(slice)的RADAR数据和LIDAR数据。RADAR数据可以用于输入训练数据,并且关联于与RADAR数据相同或最近的时间片的LIDAR数据可以用识别要检测的对象的地面真实标签来注释。可以将LIDAR标签传播到RADAR数据,并且可以省略包含RADAR检测的数量少于一些阈值的LIDAR标签。(剩余的)LIDAR标签可用于生成地面真实数据。这样,训练数据可以用于训练DNN以从RADAR数据中检测移动和静止障碍物以及其他对象。
与传统方法不同,本技术可以用于区分静止障碍物(例如,汽车)和静止背景噪声,这在混乱的城市环境中导航时尤其重要。此外,由于本公开的实施例在操作中可能依赖于RADAR数据,因此在基于相机的和基于LIDAR的检测技术退化和失败的情况下,可以在恶劣天气和夜晚执行对象检测。
附图说明
下面参考附图详细描述在自主机器应用中使用RADAR传感器检测障碍物的当前系统和方法,其中:
图1是示出根据本公开的一些实施例的用于对象检测系统的示例过程的数据流程图。
图2是示出根据本公开的一些实施例的用于在对象检测系统中预处理用于一个或更多个机器学习模型的传感器数据的示例过程的数据流程图;
图3是根据本公开的一些实施例的一个或更多个示例机器学习模型的图示。
图4是示出根据本公开的一些实施例的用于在对象检测系统中生成对象检测的示例性后处理过程的数据流程图;
图5A是累积的RADAR检测和对应的对象检测的示例正射投影的图示,并且图5B是根据本公开的一些实施例的从三个相机投影到对应图像中的对象检测的图示;
图6是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的方法的流程图;
图7是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的另一种方法的流程图;
图8是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的另一种方法的流程图;
图9A是从对应LIDAR帧传播并基于每个边界盒的最小RADAR检测数量进行滤波的累积的RADAR检测和对应的地面真实边界盒的示例正射投影的图示,并且图9B是根据本公开的一些实施例的具有地面真实边界盒的对应LIDAR帧的图示;
图10是示出根据本公开的一些实施例的用于训练对象检测的机器学习模型的方法的流程图;
图11是示出根据本公开的一些实施例的用于训练对象检测的机器学习模型的另一种方法的流程图;
图12是示出根据本公开的一些实施例的用于将LIDAR标签传播到RADAR数据的方法的流程图;
图13A是根据本公开的一些实施例的示例性自主车辆的图示。
图13B是根据本公开的一些实施例的图13A的示例性自主车辆的相机位置和视野的示例;
图13C是根据本公开的一些实施例的图13A的示例性自主车辆的示例性系统架构的框图;
图13D根据本公开的一些实施例的用于在一个或更多个基于云的服务器与图13A的示例性自主车辆之间进行通信的系统图;以及
图14是适合用于实现本公开的一些实施例的示例计算设备的框图。
具体实施方式
公开了与使用深度神经网络(DNN)的自主机器的对象检测有关的系统和方法。公开了使用对象检测技术来识别或检测环境中移动或静止障碍物(例如汽车,卡车,行人,骑自行车的人等)和其他对象的实例的系统和方法,以供自主车辆、半自主车辆、机器人和/或其他对象类型使用。尽管可以相对于示例自主车辆1300(在本文中可替代地称为“车辆1300”或“自我车辆1300”,本文参照图13A-图13D描述了其示例),这并不旨在是限制。例如,本文描述的系统和方法可以由非自主车辆,半自主车辆(例如,在一个或更多个高级驾驶员辅助系统(ADAS)中),机器人,仓库车辆,越野车辆,飞行器,船只和/或其他车辆类型使用。另外,尽管可以关于自主驾驶来描述本公开,但这并不旨在是限制。例如,本文描述的系统和方法可用于机器人技术(例如,机器人的路径规划),空中系统(例如,无人驾驶飞机或其他空中交通工具的路径规划),划船系统(例如,船或其他水中交通工具的路径规划)和/或其他技术领域,例如用于本地化、路径规划和/或其他过程。
在高层次上,可以在高速公路和城市场景中,使用三维(3D)空间的RADAR数据训练DNN(例如,卷积神经网络(CNN))以检测移动和静止障碍物。为了形成DNN的输入,可以将自我对象或自我执行者(例如,移动的车辆)周围环境的原始RADAR检测预处理为DNN可以理解的格式。特别地,可以累积RADAR检测,将其转换为单个坐标系(例如,以自我执行者为中心),进行自我运动补偿(例如,取得自我执行者的最新已知位置)和/或通过正射投影以形成期望的尺寸(例如,空间维度)并具有期望的地面采样距离的投影图像(例如,高架(overhead)图像)。对于投影图像上一个或更多个检测所在的每个像素,可以从一个或更多个RADAR检测器的反射特性(例如,方位(bearing),方位角(azimuth),仰角(elevation),范围,强度,多普勒速度,RADAR横截面(RCS),反射率,信噪比(SNR)等)计算或确定特征集。当有多个检测落在(例如,相交)像素上时,可以通过聚合用于多个重叠检测的对应反射特性(例如,使用标准偏差、平均值等)来计算特定特征。因此,任何给定像素可以具有多个相关联的特征值,其可以被存储在张量的相应通道中。这样,可以将RADAR检测预处理为期望大小的多通道RADAR数据张量,其中包含在其中的投影图像的每个像素可以包括从累积和/或自我运动补偿的RADAR检测生成的相关的特征值集。该RADAR数据张量可以用作DNN的输入。
DNN的架构可以使得能够从RADAR数据张量中提取特征,并且可以使得能够对所提取的特征执行类别分段和/或实例回归。例如,DNN可以包括具有几个头部(或至少部分地离散的层流)的公共干线(或层流),用于基于输入数据来预测不同的输出。在实施例中(例如,类似于特征金字塔网络、U-Net等),可以使用具有跳过连接的编码器和解码器组件来实现公共干线。公共干线的输出可以连接到类置信度头部和/或实例回归头部。类置信度头部可以包括用于要检测的对象的每个类别(例如,车辆,汽车,卡车,易受伤害的道路使用者,行人,骑自行车的人,摩托车等)的通道(例如,分类器),使得类置信度头部用于以多通道张量的形式预测分类数据(例如,置信度图)。每个通道可以被认为是具有置信度/概率值的热图,其中每个像素属于与该通道相对应的类别。实例回归头部可以包括N个通道(例如,分类器),其中每个通道都回归关于检测到的对象的特定类型的信息,例如对象所在的位置(例如,指向对象中心的dx/dy向量),对象高度,对象宽度,对象方向(例如,诸如正弦和/或余弦之类的旋转角度)等等。因此,实例回归头部可以用于预测存储N种类型的对象信息的多通道实例回归张量。实例回归张量的每个通道可以包括浮点数,其对特定类型的对象信息(例如,特定对象维度)进行回归。作为非限制性示例,实例回归张量的每个像素可以具有<dx,dy,w,h,sinO,cosO等>的值。这样,DNN可以从给定的RADAR数据张量预测多通道类置信度张量和/或多通道实例回归张量。
预测的类置信度张量和实例回归张量可用于生成边界盒,闭合的折线或标识投影图像中描绘的场景中检测到的对象实例的位置、大小和/或方向的其他边界形状。由于对象实例数据可能是嘈杂的,因此可以使用非最大抑制、具有噪声的应用程序基于密度的空间聚类(DBSCAN)和/或其他功能来生成边界形状。作为非限制性示例,可以基于来自实例回归张量的对应通道和/或来自该类的类置信度张量的对应通道的置信度图的对象实例数据(例如,位置、维度(诸如大小),姿势和/或方向数据),为给定的对象类别形成候选边界盒(或其他边界形状)。结果可以是每个对象类别的候选边界盒(或其他边界形状)集。
可以执行各种类型的过滤以去除某些候选。举例来说,每一候选可与对应的置信度/概率值相关联,所述对应的置信度/概率值与来自用于评估的类的类置信度张量的对应通道中的一个或更多个对应像素相关联(例如,使用代表性像素(例如,中心像素)的置信度/概率值,使用在候选区域上计算出的平均值或其他某种复合值,等等)。因此,可以滤除具有作为对象类别的成员的置信度/概率小于某些阈值(例如,50%)的候选边界形状。可以为该类别的最高置信度/概率得分的候选分配一个实例ID,可以针对该类别中的其他每个候选计算度量(例如,联合相交(IoU)),并且具有IoU高于某些阈值的候选可能会被滤除以去除重复。可以重复该过程,将具有下一个最高置信度/概率得分的候选分配给实例ID,去除重复,然后重复进行直到没有更多的候选剩余为止。可以针对其他每个类别重复该过程。附加地和/或可替代地,可以例如通过对候选边界形状的中心进行聚类并且从每个聚类中去除重复候选来对候选边界形状执行聚类。
这样,可以将后处理应用于预测的类置信度张量和实例回归张量,以生成边界盒、闭合的折线或标识在相应的投影图像中描绘的场景中检测到的对象实例的位置、大小和/或方向的其他边界形状。一旦确定了对象实例,就可以将定义对象实例的2D像素坐标转换为3D世界坐标(例如,通过将检测对象实例从2D正射投影重新投影回3D世界坐标),以供自主车辆在执行一种或更多种操作(例如,车道保持,车道变更,路径规划,地图绘制等)中使用。
为了训练DNN,可以使用上述预处理技术来生成训练数据。然而,考虑到RADAR数据可能稀疏,仅在RADAR数据中区分诸如车辆之类的对象通常是有挑战性的。这样,在一些实施例中,可以从LIDAR数据或3D信息的其他源(例如,立体相机、来自运动深度估计的结构,超声等)生成地面真实数据。更具体地,可以使用RADAR和LIDAR传感器观察场景以针对特定时间片收集RADAR数据和LIDAR数据的帧。RADAR数据可用于生成输入RADAR数据张量,并且可使用关联于与RADAR数据相同或最接近的时间片的LIDAR数据来生成地面真实标签,而地面真实标签可用于生成地面真实类别分段和/或实例回归张量。更具体地,可以对LIDAR点云进行正射投影,以形成与包含在RADAR数据张量中(例如,具有相同的大小、视角和/或地面采样距离)的RADAR投影图像相对应的LIDAR投影图像(例如,高架图像)。可以用在LIDAR投影图像中标识相关对象的实例的位置、大小、方向和/或类别的标签来对LIDAR投影图像进行注释(例如,手动、自动等)。LIDAR标签可以包括边界盒、闭合的折线或与LIDAR投影图像绘制、注释,叠加和/或以其他方式关联的其他边界形状。
LIDAR标签可以用于生成对应的类置信度张量和实例回归张量,其可以用作DNN的地面真实数据。在一些实施例中,可以将LIDAR标签传播到RADAR数据的最近帧(例如,与同一时间片相关联)的RADAR投影图像,可以确定每个LIDAR标签包含的RADAR检测的数量,并且包含的RADAR检测小于某个阈值数量的LIDAR标签可以省略。(剩余的)LIDAR标签可用于生成地面真实数据。例如,每个(剩余的)LIDAR标签的位置、大小、方向和/或类别可以用于生成与类置信度张量的大小和维度匹配的置信度图。通过非限制性示例,对于给定类别和类置信度张量的对应维度,可以将落入该类别的每个标记的边界形状内的像素的像素值设置为指示肯定(positive)分类的值(例如,1)。附加地或替代地,每个(剩余的)LIDAR标签的位置、大小,方向和/或类别可以用于生成与实例回归张量的大小和维度匹配的对象信息。例如,对于包含在LIDAR标签中的每个像素,LIDAR标签可用于计算相应的位置、大小和/或方向信息。方向信息可以包括例如但不限于与以下信息有关的信息:对象相对于每个像素的位置(例如,针对对象中心),对象高度,对象宽度,对象方向(例如,相对于投影图像的方向的旋转角度)等。所计算的对象信息可以存储在实例回归张量的相应通道中。因此,LIDAR标签可用于生成地面真实类别分段和/或实例回归张量。
这样,训练数据可以用于训练DNN以从RADAR数据中检测移动和静止障碍物以及其他对象,并且可以将对象检测提供给自主车辆驾驶堆栈,以实现自主车辆的安全的规划和控制。与传统方法不同,本技术可用于区分静止的障碍物(例如,汽车)和静止的背景噪声,这在混乱的城市环境中导航时尤其重要。此外,本公开的实施例可以提供简单且有效的方式来回归这些障碍的维度和定向,而传统方法则是挣扎或完全失败的。此外,由于本公开的实施例在操作中可能依赖于RADAR数据,因此在基于相机的和基于LIDAR的检测技术退化和失败的情况下,可以在恶劣天气和夜晚执行对象检测。
示例对象检测系统
参考图1,图1是示出根据本公开的一些实施例的用于对象检测系统的示例过程的数据流程图。应当理解,本文描述的这种布置和其他布置仅作为示例阐述。除了或代替所示的那些,可以使用其他布置和元件(例如,机器,界面,功能,命令,功能的分组等),并且可以完全省略一些元件。此外,本文描述的许多元件是功能实体,其可以被实现为离散或分布式组件或与其他组件结合并且以任何合适的组合和位置来实现。本文描述为由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。
在高层次上,过程100可以包括一个或更多个机器学习模型108,该模型被配置为从传感器数据102(例如,从RADAR传感器101生成的RADAR检测)中检测对象(例如,障碍物实例)。传感器数据102可以被预处理104为具有一个或更多个机器学习模型108理解的格式的输入数据(例如,RADAR数据张量106),并且可以将输入数据馈送到一个或更多个机器学习模型108中以检测在输入数据中表示的对象116。在一些实施例中,一个或更多个机器学习模型108预测类置信度张量110和实例回归张量112,其可以被后处理114为对象检测116,所述对象检测116包括边界盒、闭合的折线或标识检测到的对象的位置、大小和/或方向的其他边界形状。这些对象检测116可以对应于自主车辆周围的障碍物,并且可以被自主车辆的一个或更多个控制组件(例如,一个或更多个控制器1336,ADAS系统1338,一个或更多个SOC1304,软件栈122和/或图13A-图13D的自主车辆1300的其他组件)使用以辅助自主车辆在环境中执行一个或更多个操作(例如,障碍躲避,路径规划,地图绘制等)。
在传感器数据102包括RADAR数据的实施例中,可以相对于三维(3D)空间捕获RADAR数据。例如,自我对象或自我执行者的一个或更多个RADAR传感器101(例如,图13A-图13D的自主车辆1300的一个或更多个RADAR传感器1360)可用于生成车辆周围环境中对象的RADAR检测。通常,RADAR系统可以包括发射无线电波的发射器。无线电波从某些对象和材料反射回来,并且一个或更多个RADAR传感器101之一可以检测到这些反射和反射特性,例如方位,方位角,仰角,范围(例如,束流飞行时间),强度,多普勒速度,RADAR横截面(RCS),反射率,SNR等。反射和反射特性可能取决于环境中的对象,速度,材料,传感器安装位置和方向等。与一个或更多个RADAR传感器101相关联的固件可用于控制一个或更多个RADAR传感器101,以捕获和/或处理传感器数据102,例如来自传感器视野的反射数据。通常,传感器数据102可以包括原始传感器数据,RADAR点云数据和/或处理成某种其他格式的反射数据。例如,反射数据可以与位置和方向数据(例如,来自GNSS和IMU传感器)相结合,以形成代表从环境中检测到的反射的点云。点云中的每个检测可以包括检测的三维位置和关于检测的元数据,例如一个或更多个反射特性。
传感器数据102可以被预处理104为一个或更多个机器学习模型108理解的格式。例如,在传感器数据102包括RADAR检测的实施例中,RADAR检测可以被累积,转换成单个坐标系(例如,以自我执行者/车辆为中心),自我运动补偿(例如,自我执行者/车辆的最新已知位置)和/或经正射投影以形成具有期望的大小(例如,空间维度)和期望的地面采样距离的投影图像(例如,高架图像)。投影图像/或其他反射数据可以存储和/或编码为合适的表示,例如RADAR数据张量106,可以用作一个或更多个机器学习模型108的输入。
图2是示出根据本公开的一些实施例的用于对对象检测系统中的一个或更多个机器学习模型108的传感器数据102进行预处理104的示例过程的数据流程图。在该示例中,传感器数据102可以包括RADAR检测,RADAR检测可以被累积210(其可以包括转换成单个坐标系),自我运动补偿220和/或编码230为合适表示,诸如RADAR检测的投影图像,具有存储不同的反射特性的多个通道。
更具体地,传感器检测(诸如RADAR检测)可以从多个传感器累积210,诸如来自自主车辆1300的不同位置的部分或全部周围RADAR传感器1360,并且可以被转换成单个车辆坐标系(例如,以车辆为中心)。附加地或替代地,传感器检测可以随时间累积210,以便增加累积的传感器数据的密度。传感器检测可以在任何期望的时间窗口(例如0.5秒,1秒,2秒等)内累积。可以基于传感器和/或应用程序来选择窗口的大小(例如,可以为诸如高速公路场景之类的噪声应用程序选择较小的窗口)。这样,可以从来自滚动窗口的每个时间窗口(例如,从t窗口大小到当前的持续时间跨度)的累积检测中生成对一个或更多个机器学习模型108的每个输入。可以将要评估的每个窗口增加任何合适的步长,该步长可以但不必与窗口大小相对应。因此,向一个或更多个机器学习模型108的每个连续输入可以基于连续窗口,该连续窗口可以但不必重叠。
在一些实施例中,自我运动补偿220可以应用于传感器检测。例如,累积的检测可以自我运动补偿到最新的已知车辆位置。更具体地,较旧检测的位置可以传播到移动车辆的最新已知位置,使用车辆的已知运动以估计较旧检测将在期望的时间点(例如,当前时间点)位于(例如,相对于车辆的当前位置)的位置。结果可以是针对特定时间片的一组累积的,自我运动补偿的检测(例如,RADAR检测)。
在一些实施例中,(累积的,自我运动补偿的)RADAR检测可以被编码230为合适表示(诸如投影图像),其可以包括存储不同特征(诸如反射特性)的多个通道。更具体地说,可以对累积的自我运动补偿检测进行正射投影,以形成具有期望的大小(例如,空间维度)并具有期望的地面采样距离的投影图像。可以为投影图像选择环境的任何期望的视图,例如俯视图,前视图,透视图和/或其他视图。在一些实施例中,可以生成具有不同视图的多个投影图像,每个投影图像被输入到一个或更多个机器学习模型108的单独通道中。由于投影图像可以被评估为一个或更多个机器学习模型108的输入,通常在预测精度和计算需求之间要进行权衡。这样,可以选择投影图像的期望空间维度和地面采样距离(例如,米/像素)作为设计选择。
在一些实施例中,投影图像可包括多层,其中用于不同层的像素值存储不同的反射特性。在一些实施例中,对于一个或更多个检测位于的投影图像上的每个像素,可以从一个或更多个RADAR检测的反射特性(例如,方位,方位角,仰角,范围,强度,多普勒速度,RADAR横截面(RCS),反射率,信噪比(SNR)等)中计算、确定或以其他方式选择一组特征。当有多个检测落在像素上从而形成点的塔时,可以通过针对多个重叠检测聚集对应的反射特性(例如,使用标准偏差、平均值等)来计算该像素的特定特征。因此,任何给定像素都可以具有多个相关联的特征值,可以将其存储在RADAR数据张量106的对应通道中。这样,RADAR数据张量106可以用作一个或更多个机器学习模型108的输入。
现在转向图3,图3是根据本公开的一些实施例的一个或更多个机器学习模型108的示例实现的图示。在高层次上,一个或更多个机器学习模型108可以接受传感器数据(例如,被处理成RADAR数据张量106的RADAR数据)作为输入来检测对象,诸如传感器数据中所表示的障碍物的实例。在非限制性示例中,一个或更多个机器学习模型108可以将累积的,自我运动补偿的和正射投影的RADAR检测的投影图像作为输入,其中任何给定像素可以将RADAR检测的各种反射特性存储在输入张量的对应通道(例如,RADAR数据张量106)中。为了从输入中检测对象,一个或更多个机器学习模型108可以预测分类数据(例如,类置信度张量110)和/或对象实例数据,例如每个类的位置、大小和/或方向数据(例如,实例回归张量112)。可以对分类数据和对象实例数据进行后处理,以生成边界盒、闭合的折线或标识检测到的对象实例的位置、大小和/或方向的其他边界形状。
在一些实施例中,可以使用DNN(诸如卷积神经网络(CNN))来实现一个或更多个机器学习模型108。尽管描述了某些实施例,其中使用一个或更多个神经网络,特别是一个或更多个CNN来实现一个或更多个机器学习模型108,但这并不旨在进行限制。例如但不限于,一个或更多个机器学习模型108可以包括任何类型的机器学习模型,诸如使用线性回归,逻辑回归,决策树,支持向量机(SVM),朴素贝叶斯(Bayes),k近邻(Knn),K表示聚类,随机森林,降维算法,梯度提升算法,神经网络(例如,自动编码器,卷积,递归,感知器,长期/短期记忆(LSTM),Hopfield,玻尔兹曼,深层信念,反卷积,生成对抗,液体状态机等)的一个或更多机器学习模型和/或其他类型的机器学习模型。
通常,一个或更多个机器学习模型108可以包括具有几个头部(或至少部分地离散的层流)的公共干线(或层流),用于基于输入数据来预测不同的输出。例如,一个或更多个机器学习模型108可以包括但不限于包括卷积层,池化层和/或其他层类型的特征提取器,其中将特征提取器的输出作为输入提供给用于预测分类数据的第一头部和提供给用于预测检测到的对象的位置、大小和/或方向的第二头部。在一些示例中,第一头部和第二头部可以接收并行输入,并且因此可以从相似的输入数据生成不同的输出。在图3的示例中,示出了具有从RADAR数据张量106提取特征并对提取的特征执行类别分段和/或实例回归的示例架构的一个或更多个机器学习模型108。更具体地,图3的一个或更多个机器学习模型108可以包括特征提取器干线310,类置信度头部320和实例回归头部330。
可以使用具有跳过连接(例如,类似于特征金字塔网络,U-Net等)的编码器和解码器组件来实现特征提取器干线310。例如,特征提取器干线310可以接受诸如RADAR数据张量106之类的输入数据,并且应用各种卷积,池化和/或其他类型的操作以将特征提取到某个潜在空间中。在图3中,以示例实现方式示出了特征提取器干线310,该示例实现包括编码器/解码器,该编码器/解码器具有在左侧向下的编码(收缩)路径和在右侧向上的示例解码(扩展)路径。沿着收缩路径,每个分辨率可以包括任意数量的层(例如,卷积,扩张卷积,起始块等)和下采样操作(例如,最大池化)。沿着扩展路径,每个分辨率可以包括任意数量的层(例如,解卷积,上采样之后进行一个或更多个卷积和/或其他类型的操作)。在扩展路径中,可以对特征图的每个分辨率进行上采样,并将其与收缩路径中具有相同分辨率的特征图进行级联(例如,在深度维度上)。在该示例中,收缩路径和扩展路径的相应分辨率可以与跳过连接(例如,跳过连接312)连接,该跳过连接可以用于从相应分辨率中添加或级联特征图(例如,形成级联的特征图314)。这样,特征提取器干线310可以将特征提取到一些潜在的空间张量中,其可以被输入到类置信度头320和实例回归头330中。
类置信度头部320可以包括从特征提取器干线310的输出预测分类数据的任意数量的层320A,320B,320C(例如,卷积,池化,分类器(例如softmax)和/或其他类型的操作等)。例如,类置信度头部320可以包括用于要检测的每个类别的对象(例如,车辆,汽车,卡车,易受伤害的道路使用者,行人,骑自行车的人,摩托车等)的通道(例如,层流加上分类器),以使类置信度头部320可以预测多通道张量形式(例如,类置信度张量110)的分类数据(例如,置信度图)。每个通道都可以认为是具有置信度/概率值的热图,其中每个像素都属于与通道相对应的类别。
实例回归头部330可以包括任意数量的层330A,330B,330C(例如卷积,池化,分类器(如softmax)和/或其他类型的操作等),其从特征提取器干线310的输出预测对象实例数据(例如,检测到的对象的位置、大小和/或方向。实例回归头330可以包括N个通道(例如,层流加上分类器),其中每个通道都回归与检测到的类别的对象实例有关的特定类型的信息,例如对象所在的位置(例如,指向对象中心的dx/dy向量),对象高度,对象宽度,对象方向(例如,旋转角度(例如正弦和/或余弦))等等。通过非限制性示例的方式,实例回归头部330可以包括单独的维度,该单独的维度识别检测的对象的中心的x维度,检测的对象的中心的y维度,检测的对象的宽度,检测的对象的高度,检测的对象的方向的正弦(例如,二维图像空间中的旋转角度),检测的对象的方向的余弦,和/或其他类型的信息。这些类型的对象实例数据仅意味着作为示例,并且在本公开的范围内可以对其他类型的对象信息进行回归。因此,实例回归头330可用于预测存储N种类型的对象信息的多通道实例回归张量(例如,实例回归张量112)。实例回归张量112的每个通道可以包括浮点数,该浮点数对特定类型的对象信息(例如特定对象维度)进行回归。
这样,一个或更多个机器学习模型108可以根据特定的输入(例如,RADAR数据张量106)来预测多通道分类数据(例如,类置信度张量110)和/或多通道对象实例数据(例如,实例回归张量112)。一些可能的训练技术将在下面更详细地描述。在操作中,一个或更多个机器学习模型108的输出可以被后处理(例如,解码)以生成边界盒、闭合的折线或标识所检测到的对象实例的位置、大小和/或方向的其他边界形状,如下所述。附加地或者可选地,对于使用具有单独的分段头部的公共干线的一个或更多个机器学习模型108,可以将单独的DNN功能化器配置为从环境的不同视图评估投影图像。在一个示例中,可以用不同的视图生成多个投影图像,可以将每个投影图像馈送到单独的按大小排列的DNN功能化器中,并且可以将DNN功能化器的潜在空间张量进行组合并解码为对象检测(例如,边界盒、闭合的折线或其他边界形状)。在另一个示例中,可以将顺序的DNN功能化器链接起来。在该示例中,可以利用环境的第一视图(例如,透视图)生成第一投影图像,可以将第一投影图像馈送到第一DNN功能化器(例如,其预测分类数据)中,第一DNN功能化器的输出可以被转换为环境的第二视图(例如,俯视图),其可以被馈送到第二DNN功能化器(例如,其预测对象实例数据)。这些架构仅意味着作为示例,并且在本公开的范围内可以考虑其他架构(无论是具有单独的DNN功能化器的单视图还是多视图场景)。
如上所述,可以对一个或更多个机器学习模型108的输出进行后处理(例如,解码)以生成边界盒,闭合的折线或标识检测到的对象实例的位置、大小和/或方向的其他边界形状。例如,当输入到一个或更多个机器学习模型108中的输入包括投影图像(例如,累积的,自我运动补偿的和正射投影的RADAR检测)时,可以参照投影图像(例如,在投影图像的图像空间中)识别边界盒,闭合的折线或其他边界形状。在一些实施例中,由于对象实例数据可能是嘈杂的和/或可能生成多个候选,因此可以使用非最大抑制,具有噪声的应用程序的基于密度的空间聚类(DBSCAN)和/或另一功能来生成边界形状。
图4是示出根据本公开的一些实施例的用于在对象检测系统中生成对象检测116的示例性后处理过程114的数据流程图。在该示例中,后处理过程114包括实例解码器140以及过滤和/或聚类420。通常,实例解码器140可以基于来自实例回归张量112的对应通道的对象实例数据(例如,位置、大小和/或方向数据)和/或来自该类别的类置信度张量110的对应通道的置信度图识别候选边界盒(或其他边界形状)(例如,针对每个对象类别)。更具体地,预测的置信度图和预测的对象实例数据可以指定关于检测到的对象实例的信息,诸如对象位于何处,对象高度,对象宽度,对象方向等。该信息可以用于识别候选对象检测(例如,具有唯一的中心点,对象高度,对象宽度,对象方向等的候选)。结果可能是每个对象类别的一组候选边界盒(或其他边界形状)。
可以应用各种类型的过滤和/或聚类420以针对每个对象类别从候选边界盒(或其他边界形状)去除重复和/或噪声。例如,在一些实施例中,可以使用非最大抑制来去除重复。在两个或更多个候选边界盒具有相关联的置信度值的情况下,可以使用非最大抑制指示候选边界盒的该置信度值可以对应于同一对象实例。在这样的示例中,对于该对象实例的最高的置信度值可以用于确定对该对象实例使用哪个候选边界盒,并且可以使用非最大抑制来去除或抑制其他候选。
例如,每个候选边界盒(或其他边界形状)可以与对应的置信度/概率值相关联,该置信度/概率值与来自用于评估的类别的类置信度张量110的对应通道的一个或更多个对应像素相关联(例如,使用代表像素(例如中心像素)的置信度/概率值,使用在候选区域上计算的平均值或其他复合值等)。因此,具有对象类别成员的置信度/概率小于某些阈值(例如,50%)的候选边界形状可以被过滤掉。附加地或可替代地,可以为特定类别的具有最高置信度/概率得分的候选边界盒(或其他形状)分配实例ID,可以相对于类别中的其他候选项的每一个来计算度量,例如联合相交(IoU),以及滤除具有高于某些阈值的IoU的候选以去除重复。可以重复此过程,为具有次高置信度/概率得分的候选项分配一个实例ID,去除重复,并且重复直到没有更多的候选了。可以针对其他每个类别重复该过程以去除重复的候选。
在一些实施例中,可以使用聚类方法(诸如具有噪声的应用程序的基于密度的空间聚类(DBSCAN))来去除重复的候选边界形状。例如,可以对候选边界形状进行聚类(例如,可以对候选边界形状的中心进行聚类),可以将每个聚类中的候选确定为与同一对象实例相对应,并且可以从每个聚类中去除重复的候选。
总而言之,一个或更多个机器学习模型108可以接受诸如投影图像之类的传感器数据(例如,累积的,自我运动补偿的以及正射投影的RADAR检测),并预测分类数据和/或对象实例数据,可以对其进行后处理以生成边界盒、闭合的折线或标识投影图像中检测到的对象实例的位置、大小和/或方向的其他边界形状。图5A是根据本公开的一些实施例的累积的RADAR检测和对应的对象检测(即,在该示例中,为白色边界盒)的示例正射投影的图示。为了可视化的目的,图5B是从三个相机投影到相应图像中的对象检测的图示。
一旦确定了对象实例的位置、大小和/或方向,就可以将定义对象实例的2D像素坐标转换为3D世界坐标,以供自主车辆用于执行一项或更多项操作(例如,障碍躲避,车道保持,车道变更,路径规划,地图绘制等)。更具体地说,返回到图1,对象检测116(例如,边界盒、闭合的折线或其他边界形状)可以由图13A-图13D中描绘的自主车辆1300的一个或更多个控制部件使用,诸如在车辆1300的一个或更多个组件(例如,一个或更多个SoC 1304,一个或更多个CPU 1318,一个或更多个GPU 1320等)上执行的自动驾驶软件栈122。例如,车辆1300可以使用该信息(例如,障碍物的实例)在环境内导航,规划或以其他方式执行一个或更多个操作(例如,障碍躲避,车道保持,车道改变,合并,分裂等)。
在一些实施例中,对象检测116可以由自动驾驶软件栈122(在本文中可替代地称为“驾驶栈122”)的一层或更多层使用。驾驶栈122可以包括传感器管理器(未示出),一个或更多个感知组件(例如,对应于驾驶栈122的感知层),世界模型管理器126,一个或更多个规划组件128(例如,对应于到驱动栈122的规划层),一个或更多个控制组件130(例如,对应于驱动栈122的控制层),一个或更多个障碍躲避组件132(例如,对应于驱动栈122的障碍物或碰撞避免层),一个或更多个致动组件134(例如,对应于驱动栈122的致动层)和/或对应于驱动栈122的附加和/或替代层的其他组件。在一些示例中,过程100可以由一个或更多个感知组件执行,该感知组件可以将驱动栈122的各层馈送到世界模型管理器,如本文中更详细描述的。
传感器管理器可以从车辆1300的传感器管理和/或抽象传感器数据102。例如,参照图13C,传感器数据102可以由一个或更多个RADAR传感器1360生成(例如,永久地,以一定间隔,基于某些条件)。传感器管理器可以以不同格式(例如,相同类型的传感器可以输出不同格式的传感器数据)从传感器接收传感器数据102,并且可以配置为将不同格式转换为统一格式(例如,针对相同类型的每个传感器)。结果,自主车辆1300的其他组件、特征和/或功能可以使用统一格式,从而简化了传感器数据102的处理。在一些示例中,传感器管理器可以使用统一格式将控制用回至车辆1300的传感器,例如以设置帧速率或以执行增益控制。传感器管理器还可以利用时间戳来更新与传感器数据相对应的传感器分组或通信,以帮助通过自主车辆控制系统的各种组件、特征和功能来通知对传感器数据的处理。
世界模型管理器126可以用于生成、更新和/或定义世界模型。世界模型管理器126可以使用由驾驶栈122的一个或更多个感知组件生成的和从驾驶栈122的一个或更多个感知组件接收的信息(例如,检测到的障碍物的位置)。一个或更多个感知组件可以包括障碍感知器,路径感知器,等待感知器,地图感知器和/或其他一个或更多个感知组件。例如,可以至少部分基于由障碍物感知器,路径感知器,等待感知器和/或地图感知器实时或接近实时感知的障碍物,路径和等待条件的承受能力来定义世界模型。世界模型管理器126可以基于来自障碍物感知器,路径感知器,等待感知器,地图感知器和/或自主车辆控制系统的其他组件的新生成的和/或接收的输入(例如,数据)持续更新世界模型。
该世界模型可以用于帮助通知驾驶栈122的一个或更多个规划组件128,一个或更多个控制组件130,一个或更多个避障组件132和/或一个或更多个致动组件134。障碍感知器可以执行障碍物感知,其可以基于车辆1300在哪里被允许驾驶或能够驾驶(例如,基于通过避开检测到的障碍物而定义的可驱动路径的位置)以及车辆1300可以驾驶多快而不与由车辆1300和/或一个或更多个机器学习模型108的传感器感测到的障碍物(例如,诸如结构,实体,车辆之类的对象等)碰撞。
路径感知器可以例如通过感知在特定情况下可用的名义路径来执行路径感知。在一些示例中,路径感知器可以进一步考虑车道变化以进行路径感知。车道图可以表示车辆1300可用的一个或更多个路径,并且可以与高速公路匝道(on-ramp)上的单个路径一样简单。在一些示例中,车道图可以包括到期望车道的路径和/或可以指示高速公路(或其他道路类型)下的可用变化,或者可以包括附近的车道,车道变化,岔路口,转弯,立体式立交(cloverleaf interchanges),合并和/或其他信息。
由于规则、惯例和/或实际考虑,等待感知器可能负责确定对车辆1300的约束。例如,规则、惯例和/或实际考虑因素可能与交通信号灯,多路停车,让道(yield),合并,收费站,大门,警察或其他紧急人员,道路工人,停下的公共汽车或其他车辆,单向桥梁仲裁,轮渡入口等有关。因此,可以利用等待感知器来识别潜在的障碍物并实施在障碍感知器上可能无法完全依靠的一个或更多个控制(例如,减速、停车等)。
地图感知器可以包括一种机制,通过该机制可以识别行为,并且在一些示例中以确定在特定区域应用哪些约定的特定示例。例如,地图感知器可以从表示先前驾驶或旅途的数据中确定,在某个十字路口的某些小时之间没有掉头(U-turn),表示车道方向性的电子标志根据一天中的时间而变化,两个接近的交通信号灯(例如,彼此之间几乎没有偏移)与不同的道路相关联,在罗德岛州(Rhode Island),当交通灯变绿和/或其他信息时,在交通信号灯处等待左转的第一汽车在迎面驶来的交通之前转向违反了法律。地图感知器可以将静态或固定的基础设施对象和障碍物通知车辆1300。地图感知器还可以生成用于等待感知器和/或路径感知器的信息,例如,以确定在交叉路口的哪个灯必须是绿色的,以使车辆1300采用特定的路径。
在一些示例中,来自地图感知器的信息可以被发送、传输和/或提供给一个或更多个服务器(例如,图13D的一个或更多个服务器1378的地图管理器),以及来自一个或更多个服务器的信息可以被发送、传输和/或提供给车辆1300的地图感知器和/或定位管理器。地图管理器可以包括从车辆1300远程定位并且可以由车辆1300通过一个或更多个网络访问的云地图绘制应用程序。例如,车辆1300的地图感知器和/或定位管理器可以与地图管理器和/或一个或更多个服务器的一个或更多个其他组件或特征通信,以将车辆1300的过去和现在的驾驶或旅途,以及其他车辆的过去和现在的驾驶或旅途通知地图感知器和/或定位管理器。地图管理器可以提供可以由定位管理器基于车辆1300的特定位置来定位的地图绘制输出(例如,地图数据),并定位的地图绘制输出可以被世界模型管理器126用以生成和/或更新世界模型。
一个或更多个规划组件128可以包括路线规划器,车道规划器,行为规划器和行为选择器,以及其他组件,特征和/或功能。路线规划器可以使用来自地图感知器,地图管理器和/或定位管理器的信息以及其他信息来生成规划路径,该路径可能由GNSS航点(例如GPS航路点),3D世界坐标(例如,笛卡尔(Cartesian),极地等)组成,其指示相对于车辆1300等的原点的坐标。航路点可以代表车辆1300未来的特定距离,例如城市街区数,千米数,英尺数,英寸数,英里数等,其可以用作车道规划器的目标。
车道规划器可以使用车道图(例如,来自路径感知器的车道图),在车道图内的对象姿势(例如,根据定位管理器)和/或从路线规划器到未来的距离的目标点和方向作为输入。目标点和方向可以被映射到车道图中的最佳匹配的可驾驶点和方向(例如,基于GNSS和/或罗盘方向)。然后可以在车道图中从车道图中的当前边缘执行图搜索算法,以找到到目标点的最短路径。
行为规划器可以确定车辆1300的基本行为的可行性,例如停留在车道中或左右改变车道,使得可行行为可以与从车道规划器输出的最期望行为相匹配。例如,如果确定期望的行为不安全和/或不可用,则可以选择默认行为(例如,当期望的行为或改变车道不安全时,默认行为可以留在车道中)。
一个或更多个控制组件130可以在车辆1300的能力范围内且尽可能紧密地遵循从一个或更多个规划组件128的行为选择器(例如,基于对象检测116)接收到的轨迹或路径(横向和纵向)。一个或更多个控制组件130可以使用严格的反馈来处理未建模的规划外事件或行为和/或导致与理想有差异(例如,意外延迟)的任何事物。在一些示例中,一个或更多个控制组件130可以使用将控制作为输入变量的前向预测模型,并且生成可以与期望状态进行比较的预测(例如,与由一个或更多个规划组件128请求的期望横向和纵向路径进行比较)。可以确定使差异最小化的一个或更多个控制。
尽管一个或更多个规划组件128和一个或更多个控制组件130被分别示出,但这并不意图是限制性的。例如,在一些实施例中,可能没有精确地定义一个或更多个规划组件128和一个或更多个控制组件130之间的划界。这样,归属于一个或更多个规划组件128的组件、特征和/或功能中的至少一些可以与一个或更多个控制组件130相关联,反之亦然。对于驱动栈122的任何单独示出的部件,这也可以成立。
一个或更多个障碍躲避组件132可以帮助自主车辆1300避免与对象(例如,移动的和静止的对象)的碰撞。一个或更多个障碍躲避组件132可以包括在障碍躲避的“原始水平”上的计算机制,并且可以充当车辆1300的“生存大脑”或“爬行动物大脑”。在一些示例中,一个或更多个障碍躲避组件132可以独立于车辆1300的组件、特征和/或功能来使用,其需要遵守交通规则并礼貌地驾驶。在这样的示例中,一个或更多个障碍躲避组件可以忽略交通法规、道路规则和礼貌的驾驶规范,以确保在车辆1300与任何对象之间不会发生碰撞。这样,障碍躲避层可以是与道路层的规则分开的层,并且障碍躲避层可以从障碍躲避的角度确保车辆1300仅执行安全动作。另一方面,道路层的规则可以确保车辆遵守交通法规和惯例,并遵守合法和传统的通行权(如本文所述)。
在一些示例中,一个或更多个障碍躲避组件132可以使用可驾驶路径和/或对象检测116来确定要采取的控制或动作。例如,可驾驶路径可向一个或更多个障碍躲避组件132提供指示,其中车辆1300可在不撞击任何对象、结构和/或类似物的情况下,或者至少在不存在静态结构的情况下进行操纵。
在非限制性实施例中,一个或更多个障碍躲避组件132可以被实现为车辆1300的单独的离散的特征。例如,一个或更多个障碍躲避组件132可以单独地操作(例如,并行地、之前和/或之后)驾驶栈122的规划层、控制层、致动层和/或其他层。
这样,车辆1300可以使用该信息(例如,作为路径的边缘或轨道)来导航,规划或以其他方式在环境中执行一项或更多项操作(例如,车道保持,车道变更,合并,拆分,等)。
现在参考图6-图8,本文描述的方法600、700和800的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用程序,服务或托管服务(独立或与另一托管服务组合)或另一产品的插件(仅举几例)提供。另外,通过示例的方式,相对于本文描述的对象检测系统,描述了方法600、700和800。但是,这些方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的那些。
图6是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的方法600的流程图。在框B602处,方法600包括在一段时间内累积表示自我执行者(诸如运动车辆)的一个或更多个RADAR传感器的传感器检测的RADAR数据。例如,可以从多个传感器累积RADAR检测,诸如从自主车辆1300的不同位置的部分或全部的周围RADAR传感器1360,并且可以将其转换成单个车辆坐标系(例如,以车辆为中心)。附加地或替代地,传感器检测可以随时间累积,以便增加累积的传感器数据的密度。
在框B604处,方法600包括生成运动补偿的传感器检测。例如,累积的检测可以被自我运动补偿到自我执行者(例如,运动车辆)的最新已知位置。可以使用车辆的已知运动来估计较旧检测在当前时间点的位置(例如,相对于当前车辆的位置),以将较旧检测的位置传播到运动车辆的最新已知位置。
在框B606处,方法600包括将运动补偿的传感器检测投影到二维(2D)图像空间中以生成投影图像。例如,可以对运动补偿的传感器检测进行正射投影,以形成具有期望大小(例如,空间维度)并且具有期望地面采样距离的投影图像(例如,从顶部向下的视图)。
在框B608处,方法600包括将代表投影图像的数据应用于神经网络。例如,投影图像和相应的反射特性可以存储在张量的多个层中,其中不同层的像素值存储不同的反射特性。在一些实施例中,对于在其落有一个或更多个检测的投影图像的每个像素,可以从一个或更多个RADAR检测的反射特性计算、确定或选择一组特征(例如,方位,方位角,仰角,范围,强度,多普勒速度,RADAR横截面(RCS),反射率,信噪比(SNR)等)。
在框B610处,方法600包括使用神经网络并且至少部分地基于代表投影图像的数据来计算代表一个或更多个检测到的对象的输出。例如,神经网络可以接受投影图像和相应的反射特征,将其编码为合适的表示形式,例如张量,并预测输出,例如关于每个检测到的对象实例(例如,实例回归张量)的分类数据(例如,类置信度张量)和/或对象实例数据。
在框B612处,方法600包括至少部分地基于神经网络的输出来生成与一个或更多个检测到的对象中的每个对象相对应的至少一个边界形状。例如,输出可以包括分类数据和/或对象实例数据,其可以用于计算多个候选边界形状,可以对候选边界形状进行过滤和/或聚类以去除重复。
图7是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的方法700的流程图。在框B702处,方法700包括访问多通道RADAR数据张量,其编码累积的自我运动补偿的传感器检测以及与自我执行者的环境相对应的对应反射特性。例如,多通道RADAR数据张量可以包括累积的自我运动补偿传感器检测的投影图像,该图像具有针对存储不同反射特性的多通道RADAR数据张量的不同通道的像素值。
在框B704处,方法700包括将代表多通道RADAR数据张量的数据应用于神经网络,以使神经网络计算指示环境中一个或更多个检测到的对象的输出。例如,神经网络可以接受多通道RADAR数据张量,相应的投影图像和/或相应的反射特性,并预测输出,诸如关于每个检测到的对象实例(例如,实例回归张量)的分类数据(例如,类置信度张量)和/或对象实例数据。
在框B706,方法700包括从神经网络的输出生成与环境中的一个或更多个检测到的对象相对应的一个或更多个边界形状。例如,输出可以包括分类数据和/或对象实例数据,其可以用于计算多个候选边界形状,并且可以对候选边界形状进行过滤和/或聚类以去除重复。
图8是示出根据本公开的一些实施例的用于使用RADAR数据进行对象检测的方法800的流程图。在框B802处,方法800包括在一段时间内累积表示传感器检测的传感器数据以及与自我执行者(诸如运动的车辆)的环境相对应的相应反射特性。例如,可以从多个传感器(诸如自主车辆1300的不同位置的部分或全部的周围RADAR传感器1360)累积RADAR检测,并且可以将其转换成单个车辆坐标系(例如,以车辆为中心)。附加地或替代地,传感器检测可以随时间累积,以便增加累积的传感器数据的密度。
在框B804处,方法800包括将传感器检测转换为自我执行者的最新已知位置,以生成运动补偿的传感器检测。例如,传感器检测可以被自我运动补偿到自我执行者(例如,运动的车辆)的最新已知位置。可以使用车辆的已知运动来估计较旧的检测在当前时间点的位置(例如,相对于车辆的当前位置),以将较旧的检测的位置传播到运动车辆的最新已知位置。
在框B806处,方法800包括将运动补偿的传感器检测投影到投影图像中。例如,可以对运动补偿的传感器检测进行正射投影,以形成具有期望大小(例如,空间维度)并且具有期望地面采样距离的投影图像(例如,从顶部向下的视图)。
在框B808处,方法800包括针对投影图像的每个像素,至少部分地基于对应于与像素相关联的运动补偿的传感器检测的子集的反射特性,计算一组特征。例如,在一些实施例中,对于其上落有一个或更多个检测的投影图像的每个像素,可以从一个或更多个RADAR检测的反射特性(例如,方位,方位角,仰角,范围,强度,多普勒速度,RADAR横截面(RCS),反射率,信噪比(SNR)等)中计算、确定或选择一组特征。当有多个检测落在像素上从而形成点的塔时,可以通过针对多个重叠检测聚集对应的反射特性来计算特定特征(例如,使用标准偏差、平均值等)。
在框B810处,方法800包括生成输出,该输出对对投影图像和配置为检测环境中的对象的神经网络和特征集进行编码。例如,投影图像和相应的反射特性可以存储在张量的多个层中,其中不同层的像素值存储不同的反射特性。
训练对象检测系统的一个或更多个机器学习模型
为了训练用于对象检测系统的机器学习模型(例如,图1的一个或更多个机器学习模型108),可以使用上述预处理技术从传感器数据生成训练数据(例如,图1的预处理104)。然而,考虑到RADAR数据可能稀疏,仅在RADAR数据中区分诸如车辆之类的对象通常是有挑战性的。这样,在一些实施例中,可以从从一个或更多个LIDAR传感器生成的LIDAR数据生成地面真实数据。
例如,可以用RADAR和LIDAR传感器(例如,图13A-图13D的自主车辆1300的一个或更多个RADAR传感器1360和一个或更多个LIDAR传感器1364)观察场景以收集特定时间片的RADAR数据帧和LIDAR数据。RADAR数据可用于使用上述预处理技术(例如,图1的预处理104)生成输入RADAR数据张量。可使用关联于与RADAR数据相同或最近的时间片的LIDAR数据来生成地面真实标签,地面真实标签可用于生成与一个或更多个机器学习模型108的输出相对应的地面真实分类数据和/或对象实例数据(例如,图1的类置信度张量110和实例回归张量112)。
更具体地,可以正射投影LIDAR点云以形成与包含在RADAR数据张量中的RADAR投影图像(例如,具有相同的维数、透视图/或地面采样距离)相对应的LIDAR投影图像(例如,高架图像)。可以用标识LIDAR投影图像中的相关对象的实例的位置、大小、方向和/或类别的标签来对LIDAR投影图像进行注释(例如,手动、自动等)。在一些示例中,LIDAR标签可以在绘图程序(例如,注释程序),计算机辅助设计(CAD)程序,标签程序,另一类型的合适程序内生成,和/或可以手绘。在任何示例中,LIDAR标签可以合成的(例如,从计算机模型或渲染生成),真实生成的(例如,从真实世界数据设计和生成),机器自动化的(例如,使用特征分析和学习从数据中提取特征,然后生成标签),人工注释的(例如,标签员或注释专家,定义标签的位置)和/或其组合(例如,人类识别折线的顶点,机器使用多边形光栅化器生成多边形)。通常,LIDAR标签可包括边界盒、闭合的折线或与LIDAR投影图像绘制,注释,叠加和/或以其他方式关联的其他边界形状。图9B是具有白色地面真实边界盒的示例性LIDAR框架的图示。
通常,从LIDAR帧识别的LIDAR标签可用于生成相应的类置信度张量和实例回归张量,它们可用作DNN的地面真实数据。但是,可以选择某些LIDAR标签以基于相应的RADAR数据生成地面真实数据。更具体地,从LIDAR帧识别出的LIDAR标签可以被传播到针对RADAR数据的最近帧的对应的RADAR投影图像(例如,与相同的时间片相关联)。在一些实施例中,LIDAR投影图像和RADAR投影图像可以彼此对应(例如,具有相同的维度,视角和/或地面采样距离)。这可以促进在LIDAR和RADAR检测之间进行直接比较,以及评估哪些LIDAR标签对应于观察到的RADAR检测。例如,可以确定每个传播的LIDAR标签所包含的RADAR检测的数量,并且可以将包含少于某个阈值数量的RADAR检测的LIDAR标签从生成地面真实数据中省略掉。这样,剩余的LIDAR标签可以用作地面真实标签,以生成用于一个或更多个机器学习模型108的地面真实数据。
图9A是从对应的LIDAR帧传播的累积的RADAR检测和地面真实边界盒(以白色示出)的示例正射投影投影的图示,图9B是根据本公开的一些实施例的具有地面真实边界盒的对应LIDAR帧的图示。注意,图9B中的LIDAR检测比图9A中的RADAR检测更密集。因此,比起较稀疏的RADAR检测,更密集的LIDAR检测可能更容易标记。如图9A和图9B所示,来自图9B中示出的LIDAR帧(更具体地,LIDAR帧的LIDAR投影图像)的LIDAR标签(以白色示出)已被传播到图9A所示的对应的RADAR帧(更具体地,RADAR帧的RADAR投影图像)。在图9A中,省略了包含少于一些阈值数量的RADAR检测的传播的LIDAR标签。剩余的LIDAR标签可用作地面真实标签,以生成用于一个或更多个机器学习模型108的地面真实数据。
为了从(剩余的)LIDAR标签生成地面真实数据,可以使用每个(剩余的)LIDAR标签的位置、大小、方向和/或类别来生成与类置信度张量110的大小和维度匹配的置信度图。作为非限制性示例,对于给定类和类置信度张量110的对应维度,可以将落入该类的每个标记的边界形状内的像素的像素值设置为指示肯定分类的值(例如1)。可以重复该过程并将其存储在地面真实类置信度张量的相应通道中。附加地或替代地,(剩余的)LIDAR标签中的每一个的位置、大小、方向和/或类别可用于生成与实例回归张量112的大小和维度匹配的对象实例数据。例如,对于包含LIDAR标签的每个像素,LIDAR标签可用于计算相应的位置、大小和/或方向信息(例如,相对于每个像素的对象所在的位置(例如,对象中心),对象高度,对象宽度,对象方向(例如,相对于投影图像的方向的旋转角度)等)。计算的对象实例数据可以存储在地面真实实例回归张量的相应通道中。因此,LIDAR标签可被用于生成地面真实类别分段和/或实例回归张量,其可与对应的RADAR数据张量一起用作训练数据集的一部分以训练一个或更多个机器学习模型108。
更具体地,可以将RADAR数据张量的训练集输入到一个或更多个机器学习模型108中,并且可以将地面真实类别分段和/或实例回归张量用于训练一个或更多个机器学习模型108。例如,一个或更多个损失函数(例如,单个损失函数,每种输出类型的损失函数等)可用于比较一个或更多个机器学习模型108的一个或更多个输出的精度与地面真实,并且一个或更多个机器学习模型108的参数可以被更新(例如,使用向后通过,反向传播,向前通过等),直到精度达到最佳或可接受的水平。在其中一个或更多个机器学习模型108包括多个头部的一些实施例中,多个头部可以与公共干线一起被共同训练,或者可以被单独地训练。在涉及具有单独的DNN功能化器的多视图场景的实施例中,DNN功能化器可以被共同训练或被单独训练。本公开中考虑了这些和其他变型。
现在参考图10-图12,本文描述的方法1000、1100和1200的每个框包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由处理器执行存储在存储器中的指令来执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。这些方法可以由独立应用程序、服务或托管服务(独立或与另一托管服务组合)或另一产品的插件(仅举几例)提供。另外,通过示例的方式,针对上述对象检测系统的训练过程描述了方法900、1000和1100。但是,这些方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的那些。
图10是示出根据本公开的一些实施例的用于训练用于对象检测的机器学习模型的方法1000的流程图。在框B1002,方法1000包括接收从三维(3D)环境收集的RADAR数据和LIDAR数据。例如,可以用RADAR和LIDAR传感器(例如,图13A-图13D的自主车辆1300的一个或更多个RADAR传感器1360和一个或更多个LIDAR传感器1364)观察场景以收集RADAR数据和LIDAR数据。
在框B1004处,方法1000包括正射投影与时间片相关联的LIDAR数据的第一实例,以生成表示3D环境中LIDAR检测的LIDAR投影图像。
在框B1006处,方法1000包括接收LIDAR标签,该LIDAR标签识别在LIDAR投影图像中由LIDAR检测图像表示的对象的位置。例如,LIDAR标签可以在绘图程序(例如,注释程序),计算机辅助设计(CAD)程序,标记程序,另一类型的合适程序内生成,和/或可以手绘。
在框B1008处,方法1000包括正射投影与时间片相关联的RADAR数据的第二实例,以生成表示3D环境中的RADAR检测的RADAR投影图像。LIDAR投影图像和RADAR投影图像可以彼此对应(例如,具有相同的维度、视角和/或地面采样距离)。
在框B1010处,方法1000包括将LIDAR标签传播到RADAR投影图像以生成传播的LIDAR标签。
在框B1012处,方法1000包括确定与传播的LIDAR标签中的每个传播的LIDAR标签相对应的多个RADAR检测。
在框B1014处,方法1000包括移除一组传播的LIDAR标签,其中包含少于阈值数量的RADAR检测,剩下其余的LIDAR标签集。
在框B1016处,方法1000包括使用至少部分基于剩余的LIDAR标签集生成的地面真实数据训练神经网络,以从RADAR投影图像中检测对象。例如,可以使用剩余的LIDAR标签集中每个LIDAR标签的位置、大小、方向和/或类别来生成与神经网络(例如,一个或更多个机器学习模型108)的一个或更多个输出的大小和维度匹配的地面真实数据,然后可以使用地面真实数据训练神经网络。
图11是示出根据本公开的一些实施例的用于训练用于对象检测的机器学习模型的方法1100的流程图。在框B1102处,方法1100包括接收从三维(3D)环境收集的RADAR数据和LIDAR数据。例如,可以用RADAR和LIDAR传感器(例如,图13A-图13D的自主车辆1300的一个或更多个RADAR传感器1360和一个或更多个LIDAR传感器1364)观察场景以收集RADAR数据和LIDAR数据。
在框B1104处,方法1100包括对于LIDAR数据的每一帧,执行框B1104-B1110中指示的步骤。例如,在框B1104处的方法1100包括对于LIDAR数据的每一帧,从LIDAR数据的帧生成代表来自3D环境的LIDAR检测的LIDAR投影图像。例如,可以正射投影来自LIDAR数据的帧的LIDAR检测(例如,LIDAR点云)以形成LIDAR投影图像(例如,高架图像)。
在框B1106处,方法1100包括对于LIDAR数据的每一帧接收LIDAR标签,该LIDAR标签识别在LIDAR投影图像中由LIDAR检测图像表示的对象的位置。例如,LIDAR标签可以在绘图程序(例如,注释程序),计算机辅助设计(CAD)程序,标记程序,另一类型的合适程序内生成,和/或可以手绘。
在框B1108处,方法1100包括对于LIDAR数据的每一帧,从与LIDAR数据的帧相关联的RADAR数据的对应帧中生成代表来自3D环境的RADAR检测的RADAR投影图像。例如,可以正射投影来自RADAR数据的对应帧的RADAR检测(例如,RADAR点云)以形成RADAR投影图像(例如,高架图像)。
在框B1110处,方法1100包括对于LIDAR数据的每一帧,使用至少部分基于LIDAR标签生成的地面真实数据训练神经网络,以从RADAR投影图像中检测对象。例如,可以使用LIDAR标签的位置、大小、方向和/或类别来生成与神经网络(例如,一个或更多个机器学习模型108)的一个或更多个输出的大小和维度匹配的地面真实数据,然后可以使用地面真实数据训练神经网络。
图12是示出根据本公开的一些实施例的用于将LIDAR标签传播到RADAR数据的方法1200的流程图。在框B1202处,方法1200包括使用LIDAR传感器在一段时间内接收从环境收集的LIDAR数据的一个或更多个实例中的LIDAR检测的LIDAR标签。例如,可以用LIDAR传感器(例如,图13A-图13D的自主车辆1300的一个或更多个LIDAR传感器1364)观察场景以收集LIDAR数据。LIDAR标签可以在绘图程序(例如,注释程序),计算机辅助设计(CAD)程序,标签程序,另一类型的合适程序内生成,和/或可以手绘。
在框B1204处,方法1200包括对于LIDAR数据的一个或更多个实例中的每一个,执行框B1204-B1206中指示的步骤。例如,在框B1204处,方法1200包括对于LIDAR数据的一个或更多个实例中的每一个,标识与LIDAR数据的实例最近的RADAR数据实例,最近的RADAR数据实例与使用RADAR传感器在一段时间内从环境收集的RADAR数据的部分的累积的自我运动补偿的正交图像相关联。例如,可以同时使用RADAR和LIDAR传感器(例如,图13A-图13D的自主车辆1300的一个或更多个RADAR传感器1360和一个或更多个LIDAR传感器1364)观察场景以收集RADAR数据和LIDAR数据,并且可以基于与同一时间片相关联的RADAR数据和LIDAR数据来识别与LIDAR数据实例最近的RADAR数据实例。
在框B1206,方法1200包括对于LIDAR数据的一个或更多个实例中的每一个,将用于LIDAR数据的实例中的LIDAR检测的LIDAR标签集传播到RADAR数据的最近实例中的相应的RADAR检测集中。可以确定在每个传播的LIDAR标签内包含多少个RADAR检测,并且可以省略包含少于某个阈值数量的RADAR检测(例如2个,5个等)的传播的LIDAR标签。剩余的LIDAR标签可以用作地面真实标签以生成用于机器学习模型(例如,一个或更多个机器学习模型108)的地面真实数据。
示例性自主车辆
图13A是根据本公开的一些实施例的示例自主车辆1300的图示。自主车辆1300(在本文中可选地称为“车辆1300”)可包括,但不限于,乘客车辆,诸如汽车,卡车,公共汽车,急救车,班车,电动或机动自行车,摩托车,消防车,警车,救护车,船只,工程车辆,水下航行器,无人驾驶飞机,和/或另一类型的车辆(例如,无人和/或容纳一个或更多个乘客)。自主车辆通常根据自动化水平进行描述,该自动化水平由国家公路交通安全管理局(NHTSA),美国交通部的一个部门和汽车工程师协会(SAE)的“与用于公路机动车辆的驾驶自动化系统相关的术语的分类和定义(Taxonomy and Definitions for Terms Related to DrivingAutomation Systems for On-Road Motor Vehicles)”(标准号J3016-201806,发布于2018年6月15日,标准号为J3016-201609,发布于2016年9月30日,以及该标准的先前版本和未来版本)。车辆1300可以具有根据自动驾驶水平的水平3至水平5中的一个或更多个的功能。例如,取决于实施例,车辆1300可以具有条件自动化(水平3),高自动化(水平4)和/或完全自动化(水平5)。
车辆1300可包括诸如底盘,车身,车轮(例如,2,4,6,8,18等),轮胎,车轴的部件和车辆的其他部件。车辆1300可包括推进系统1350,诸如内燃机,混合动力发电厂,全电动发动机和/或其他推进系统类型。推进系统1350可以连接到车辆1300的传动系,其可以包括变速器,以实现车辆1300的推进。推进系统1350可以响应于接收来自节气门/加速器1352的信号而被控制。
当推进系统1350运行时(例如,当车辆运动时),可以使用可以包括方向盘的转向系统1354来引导车辆1300(例如,沿着期望的路径或路线)。转向系统1354可以从转向致动器1356接收信号。方向盘可以是可选的,用于完全自动化(水平5)功能。
制动传感器系统1346可用于响应于从制动致动器1348和/或制动传感器接收信号而操作车辆制动器。
可以包括一个或更多个片上系统(SoC)1304(图13C)和/或一个或更多个GPU的一个或更多个控制器1336可以向车辆1300的一个或更多个组件和/或系统提供信号(例如,代表命令)。例如,一个或更多个控制器可以发送信号以通过一个或更多个制动致动器1348操作车辆制动,通过一个或更多个转向致动器1356来操作转向系统1354,通过一个或更多个油门/极速器1352来操作推进系统1350。一个或更多个控制器1336可以包括一个或更多个处理传感器信号的机载(例如,集成)计算设备(例如,超级计算机),并输出操作命令(例如,信号代表命令)以使能自动驾驶和/或帮助人类驾驶员驾驶车辆1300。一个或更多个控制器1336可包括用于自动驾驶功能的第一控制器1336,用于功能安全功能的第二控制器1336,用于人工智能功能(例如,计算机视觉)的第三控制器1336,用于信息娱乐功能的第四控制器1336,用于在紧急情况下冗余的第五控制器1336,和/或其他控制器。在一些示例中,单个控制器1336可以处理两个或更多个上述功能,两个或更多个控制器1336可以处理单个功能,和/或其任何组合。
一个或更多个控制器1336可以响应于从一个或更多个传感器(例如,传感器输入)接收的传感器数据提供用于控制车辆1300的一个或更多个部件和/或系统的信号。传感器数据可以从例如但不限于一个或更多个全球导航卫星系统传感器1358(例如,一个或更多个全球定位系统传感器),一个或更多个RADAR传感器1360,一个或更多个超声传感器1362,一个或更多个LIDAR传感器1364,一个或更多个惯性测量单元(IMU)传感器1366(例如,一个或更多个加速度计,一个或更多个陀螺仪,一个或更多个磁罗盘,一个或更多个磁力计等),一个或更多个麦克风1396,一个或更多个立体相机1368,一个或更多个广角相机1370(例如,鱼眼相机),一个或更多个红外相机1372,一个或更多个环绕相机1374(例如,360度相机),一个或更多个远程和/或中程相机1398,一个或更多个速度传感器1344(例如,用于测量车辆1300的速度),一个或更多个振动传感器1342,一个或更多个转向传感器1340,一个或更多个制动传感器(例如,作为制动传感器系统1346的一部分)和/或其他传感器类型。
一个或更多个控制器1336可以从车辆1300的仪表组1332接收输入(例如,由输入数据表示)并通过人机界面(HMI)显示器1334,可听见的信号器,扬声器和/或通过车辆1300的其他组件提供输出(例如,由输出数据,显示数据等表示)。输出可以包括诸如车辆速率,速度,时间,地图数据(例如,图13C的HD地图1322),位置数据(例如,车辆1300的位置,例如在地图上),方向,其他车辆的位置(例如,占用网格),关于如一个或更多个控制器1336所感知的对象的信息和对象的状态等。例如,HMI显示器1334可以显示关于一个或更多个对象的存在的信息(例如,路牌,警示标志,交通灯改变等),和/或关于车辆已经做出的、正在做出的,或将要做出的驾驶操纵的信息(例如,现在改变车道,两英里后从34B出等)。
车辆1300还包括网络接口1324,其可以使用一个或更多个无线天线1326和/或一个或更多个调制解调器通过一个或更多个网络进行通信。例如,网络接口1324可以能够通过LTE,WCDMA,UMTS,GSM,CDMA2000等进行通信。一个或更多个无线天线1326还可以通过使用局域网(如蓝牙,蓝牙LE,Z-Wave,ZigBee等),和/或一个或更多个低功率广域网(LPWAN)(诸如LoRaWAN,SigFox等)来实现环境中的对象(例如,车辆,移动设备等)之间的通信。
图13B是根据本公开的一些实施例的、图13A的示例自主车辆1300的相机位置和视野的示例。相机和各自的视野是一个示例实施例,并不旨在限制。例如,可以包括附加和/或替代相机和/或相机可以位于车辆1300上的不同位置。
用于相机的相机类型可包括但不限于可适于与车辆1300的组件和/或系统一起使用的数码相机。一个或更多个相机可在汽车安全完整性水平(ASIL)B和/或另一个ASIL下操作。取决于实施例,相机类型可以具有任何图像捕获率,诸如60帧/秒(fps),1320fps,240fps等。相机可能够使用卷帘门,全局快门,其他类型的快门或其组合。在一些示例中,滤色器阵列可以包括红色透明透明透明(RCCC)滤色器阵列,红色透明透明蓝色(RCCB)滤色器阵列,红色蓝色绿色透明(RBGC)滤色器阵列,Foveon X3滤色器阵列,拜耳传感器(RGGB)滤色器阵列,单色传感器滤色器阵列和/或其他类型的滤色器阵列。在一些实施例中,可以使用清晰像素相机,例如具有RCCC,RCCB和/或RBGC滤色器阵列的相机,以努力增加光灵敏度。
在一些示例中,一个或更多个相机可用于执行高级驾驶员辅助系统(ADAS)功能(例如,作为冗余或故障安全设计的一部分)。例如,可以安装多功能单声道相机以提供包括离开车道警告,交通标志辅助和智能前照灯控制的功能。一个或更多个相机(例如,所有相机)可以同时记录和提供图像数据(例如,视频)。
一个或更多个相机可以安装在安装组件中,例如定制设计(3-D打印)组件,以便切除车内的杂散光和反射(例如,来自挡风玻璃镜中反射的仪表板的反射),其可能会干扰相机的图像数据捕获能力。参考翼镜安装组件,翼镜组件可以定制3D打印,使得相机安装板与翼镜的形状相匹配。在一些示例中,一个或更多个相机可以集成到机翼镜中。对于侧视相机,一个或更多个相机也可以集成在舱每个角落的四个支柱内。
具有包括车辆1300前方的环境的一部分的视野的相机(例如,前向相机)可以用于环绕视图,以帮助标识面向前方的路径和障碍物,以及在一个或更多个控制器1336和/或控制SoC的帮助下辅助提供对生成占用网格和/或确定优选车辆路径至关重要的信息。前向相机可用于执行许多与LIDAR相同的ADAS功能,包括紧急制动,行人检测和防撞。前向相机还可以用于ADAS功能和系统,包括离开车道警告(“LDW”),自主巡航控制(“ACC”)和/或其他功能,例如交通标志识别。
可以在前向配置中使用各种相机,包括例如包括CMOS(互补金属氧化物半导体)彩色成像器的单眼相机平台。另一示例可以是一个或更多个广角相机1370,其可以用于感知从周边进入视野的对象(例如,行人,穿越交通或自行车)。尽管图13B中仅示出了一个广角相机,在车辆1300上可以有任意数量的广角相机1370。此外,一个或更多个远程相机1398(例如,长视野立体相机对)可以用于基于深度的对象检测,尤其是对于尚未训练神经网络的对象。一个或更多个远程相机1398还可以用于对象检测和分类,以及基本对象跟踪。
一个或更多个立体相机1368也可以包括在前向配置中。一个或更多个立体相机1368可以包括集成控制单元,其包括可缩放处理单元,其可以在单个芯片上提供可编程逻辑(FPGA)和具有集成CAN或以太网接口的多核心微处理器。这样的单元可以用于生成车辆环境的3-D地图,包括图像中所有点的距离估计。替代的一个或更多个立体相机1368可以包括一个或更多个紧凑的立体视觉传感器,其可以包括两个相机镜头(左右各一个)和图像处理芯片,该图像处理芯片可以测量从车辆到目标对象的距离并使用生成的信息(例如,元数据)来激活自主紧急制动和离开车道警告功能。除了本文描述的那些之外或者作为另外一种选择,可以使用其他类型的一个或更多个立体相机1368。
具有包括车辆1300侧面的环境的一部分的视野的相机(例如,侧视相机)可用于环绕视图,提供用于创建和更新占用网格的信息,以及至于生成侧面碰撞碰撞警告。例如,一个或更多个环绕相机1374(例如,如图13B中所示的四个环绕相机1374)可以定位在车辆1300上。一个或更多个环绕相机1374可以包括一个或更多个广角相机1370,一个或更多个鱼眼相机,一个或更多个360度相机和/或类似物。例如,四个鱼眼相机可以定位在车辆的前部,后部和侧面。在替代布置中,车辆可以使用三个环绕相机1374(例如,左,右和后),并且可以利用一个或更多个其他相机(例如,前向相机)作为第四环绕视图相机。
具有包括车辆1300后部的环境的一部分的视野的相机(例如,后视相机)可用于停车辅助,环绕视图,后部碰撞警告,以及创建和更新占用网格。可以使用各种各样的相机,包括但不限于也适合作为一个或更多个前向相机的相机(例如,一个或更多个远程和/或中程相机1398,一个或更多个立体相机1368,一个或更多个红外相机1372等),如本文所述的。
图13C是根据本公开的一些实施例的、图13A的示例自主车辆1300的示例系统架构的框图。应该理解的是,这里描述的这个和其他布置仅作为示例阐述。除了所示的那些之外或代替所示的那些,可以使用其他布置和元件(例如,机器,接口,功能,顺序,功能分组等),并且可以完全省略一些元件。此外,本文描述的许多元件是功能实体,其可以实现为离散或分布式组件或者与其他组件一起实现,并且可以以任何合适的组合和位置实现。这里描述的由实体执行的各种功能可以由硬件,固件和/或软件来执行。例如,各种功能可以由执行存储在存储器中的指令的处理器执行。
图13C中的车辆1300的组件、特征和系统中的每一个都示出为经由总线1302连接。总线1302可以包括控制器区域网络(CAN)数据接口(在本文中可选地称为“CAN总线”)。CAN可以是车辆1300内部的网络,用于辅助控制车辆1300的各种特征和功能,例如制动器的致动,加速,制动,转向,挡风玻璃刮水器等。CAN总线可以被配置为具有数十个甚至数百个节点,每个节点都有自己唯一的标识符(例如,CAN ID)。可以读取CAN总线以找到方向盘角度,地面速度,发动机每分钟转数(RPM),按钮位置和/或其他车辆状态指示器。CAN总线可符合ASIL B.
虽然总线1302在本文中被描述为CAN总线,但是这不是限制性的。例如,除CAN总线之外或作为其替代,可以使用FlexRay和/或以太网。另外,尽管使用单条线来表示总线1302,但这不是限制性的。例如,可以存在任何数量的总线1302,其可以包括一个或更多个CAN总线,一个或更多个FlexRay总线,一个或更多个以太网总线,和/或使用不同协议的一个或更多个其他类型的总线。在一些示例中,两个或更多个总线1302可以用于执行不同的功能,和/或可以用于冗余。例如,第一总线1302可以用于防撞功能,第二总线1302可以用于致动控制。在任何示例中,每个总线1302可以与车辆1300的任何组件通信,并且两个或更多个总线1302可以与相同的组件通信。在一些示例中,每个SoC 1304,每个控制器1336和/或车辆内的每个计算机可以访问相同的输入数据(例如,来自车辆1300的传感器的输入),并且可以连接到公共总线,例如CAN总线。
车辆1300可以包括一个或更多个控制器1336,例如本文关于图13A描述的那些控制器。一个或更多个控制器1336可以用于各种功能。一个或更多个控制器1336可以耦合到车辆1300的各种其他组件和系统中的任何一个,并且可以用于控制车辆1300、车辆1300的人工智能、车辆1300的信息娱乐,和/或类似。
车辆1300可以包括一个或更多个片上系统(SoC)1304。SoC 1304可以包括一个或更多个CPU 1306,一个或更多个GPU 1308,一个或更多个处理器1310,一个或更多个高速缓存1312,一个或更多个加速器1314,一个或更多个数据存储器1316和/或未示出的其他组件和特征。一个或更多个SoC 1304可用于在各种平台和系统中控制车辆1300。例如,一个或更多个SoC 1304可以在系统(例如,车辆1300的系统)中与HD地图1322组合,HD地图1322可以经由网络接口1324从一个或更多个服务器(例如,图13D的一个或更多个服务器1378)获得地图刷新和/或更新。
一个或更多个CPU 1306可以包括CPU集群或CPU复合体(在本文中可选地称为“CCPLEX”)。一个或更多个CPU 1306可以包括多个核心和/或L2高速缓存。例如,在一些实施例中,一个或更多个CPU 1306可以包括相干多处理器配置中的八个核心。在一些实施例中,一个或更多个CPU 1306可以包括四个双核心集群,其中每个集群具有专用L2高速缓存(例如,2MB L2高速缓存)。一个或更多个CPU 1306(例如,CCPLEX)可以被配置为支持同时群集操作,使得一个或更多个CPU 1306的群集的任何组合在任何给定时间都是活动的。
一个或更多个CPU 1306可以实现包括以下特征中的一个或更多个的功率管理能力:各个硬件块可以在空闲时自动时钟门控以节省动态功率;当核心由于执行WFI/WFE指令而没有主动执行指令时,每个核心时钟可以被门控;每个核心可以独立电源门控;当所有核心都是时钟门控或电源门控时,每个核心集群可以独立地进行时钟门控;以及/或当所有核心都是电源门控时,每个核心集群可以独立地进行电源门控。一个或更多个CPU1306还可以实现用于管理功率状态的增强算法,其中指定允许的功率状态和预期的唤醒时间,并且硬件/微代码确定针对核心,集群和CCPLEX输入的最佳功率状态。处理核心可以在软件中支持简化的功率状态输入序列,其中工作被卸载到微代码。
一个或更多个GPU 1308可以包括集成GPU(在本文中可选地称为“iGPU”)。一个或更多个GPU 1308可以是可编程的,并且可以对并行工作负载有效。在一些示例中,一个或更多个GPU 1308可以使用增强张量指令集。一个或更多个GPU 1308可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如,具有至少96KB存储容量的L1高速缓存),并且两个或更多个流式微处理器可以共享L2高速缓存(例如,具有512KB存储容量的L2缓存)。在一些实施例中,一个或更多个GPU 1308可以包括至少八个流式微处理器。一个或更多个GPU1308可以使用一个或更多个计算应用程序编程接口(API)。另外,一个或更多个GPU 1308可以使用一个或更多个并行计算平台和/或编程模型(例如,NVIDIA的CUDA)。
可以针对汽车和嵌入式使用情况中的最佳性能对一个或更多个GPU1308进行功率优化。例如,一个或更多个GPU 1308可以在鳍片(Fin)场效应晶体管(FinFET)上制造。然而,这不是限制性的,并且可以使用其他半导体制造工艺来制造一个或更多个GPU 1308。每个流式微处理器可以包括分成多个块的多个混合精度处理核心。例如但不限于,可以将64个PF32核心和32个PF64核心划分为四个处理块。在这样的示例中,每个处理块可以被分配16个FP32核心,8个FP64核心,16个INT32核心,用于深度学习矩阵算术的两个混合精度NVIDIATENSOR CORE,L0指令高速缓存,线程束(warp)调度器,分派单元,以及/或64KB的寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以通过混合计算和寻址计算来提供工作负载的有效执行。流式微处理器可以包括独立的线程调度能力,以实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享存储器单元,以便在简化编程的同时提高性能。
一个或更多个GPU 1308可以包括高带宽存储器(HBM)和/或16GB HBM2存储器子系统,以在一些示例中提供大约900GB/秒的峰值存储器带宽。在一些示例中,除了HBM存储器之外或作为其替代,可以使用同步图形随机存取存储器(SGRAM),例如图形双倍数据速率类型五同步随机存取存储器(GDDR5)。
一个或更多个GPU 1308可以包括统一存储器技术,其包括访问计数器,以允许更准确地将存储器页面迁移到最频繁访问它们的处理器,从而提高处理器之间共享的存储器范围的效率。在一些示例中,地址转换服务(ATS)支持可以用于允许一个或更多个GPU 1308直接访问一个或更多个CPU 1306页表。在这样的示例中,当一个或更多个GPU 1308存储器管理单元(MMU)经历未命中时,可以将地址转换请求发送到一个或更多个CPU 1306。作为响应,一个或更多个CPU 1306可以在其页面中查找用于地址的虚拟到物理映射的表并将转换发送回一个或更多个GPU 1308。因此,统一存储器技术可以允许单个统一的虚拟地址空间用于一个或更多个CPU 1306和一个或更多个CPU 1308二者的存储器,从而简化了一个或更多个GPU 1308编程以及将应用移植至一个或更多个GPU 1308。
另外,一个或更多个GPU 1308可以包括访问计数器,其可以跟踪一个或更多个GPU1308对其他处理器的存储器的访问频率。访问计数器可以帮助确保将存储器页面移动到最频繁访问页面的处理器的物理存储器。
一个或更多个SoC 1304可包括任何数量的高速缓存1312,包括本文描述的那些高速缓存。例如,一个或更多个高速缓存1312可以包括可用于一个或更多个CPU 1306和一个或更多个GPU 1308二者的L3高速缓存(例如,连接一个或更多个CPU 1306和一个或更多个GPU 1308两者)。一个或更多个高速缓存1312可以包括回写高速缓存,其可以跟踪行的状态,例如通过使用高速缓存一致性协议(例如,MEI,MESI,MSI等)。取决于实施例,L3高速缓存可以包括4MB或更多,尽管可以使用更小的高速缓存大小。
一个或更多个SoC 1304可包括一个或更多个加速器1314(例如,硬件加速器,软件加速器或其组合)。例如,一个或更多个SoC 1304可以包括硬件加速集群,其可以包括经优化的硬件加速器和/或大的片上存储器。大的片上存储器(例如,4MB的SRAM)可以使硬件加速集群能够加速神经网络和其他计算。硬件加速集群可用于补充一个或更多个GPU 1308并卸载一个或更多个GPU 1308的一些任务(例如,以释放一个或更多个GPU1308的更多周期以执行其他任务)。作为示例,一个或更多个加速器1314可以用于目标工作负载(例如,感知卷积神经网络(CNN)等),其足够稳定以适于加速。本文使用的术语“CNN”可以包括所有类型的CNN,包括基于区域的或区域的卷积神经网络(RCNN)和快速RCNN(例如,用于对象检测)。
一个或更多个加速器1314(例如,硬件加速群集)可以包括一个或更多个深度学习加速器(DLA)。一个或更多个DLA可以包括一个或更多个张量(Tensor)处理单元(TPU),其可以被配置为每秒为深度学习应用和推理提供额外的10万亿次操作。TPU可以是被配置为并且被优化用于执行图像处理功能的加速器(例如,用于CNN,RCNN等)。一个或更多个DLA还可以针对特定的一组神经网络类型和浮点运算以及推理进行优化。一个或更多个DLA的设计可以提供比通用GPU更高的每毫米性能,并且远远超过CPU的性能。一个或更多个TPU可以执行若干功能,包括单实例卷积功能,例如支持用于特征和权重的INT8,INT16和FP16数据类型,以及后处理器功能。
对于各种功能中的任何一种,一个或更多个DLA可以快速且有效地对处理或未处理的数据执行神经网络(尤其是CNN),其包括例如但不限于:用于使用来自相机传感器的数据的对象标识和检测的CNN;用于使用来自相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行紧急车辆检测和标识和检测的CNN;用于使用来自相机传感器的数据进行面部识别和车主识别的CNN;以及/或用于安全和/或安全相关事件的CNN。
一个或更多个DLA可以执行一个或更多个GPU 1308的任何功能,并且通过使用推断加速器,例如,设计者可以针对任何功能将一个或更多个DLA或一个或更多个GPU 1308定为目标。例如,设计者可以将对CNN的处理和浮点运算集中在一个或更多个DLA上,并且将其他功能留给一个或更多个GPU 1308和/或一个或更多个其他加速器1314。
一个或更多个加速器1314(例如,硬件加速群集)可以包括一个或更多个可编程视觉加速器(PVA),其可以替代地在本文中称为计算机视觉加速器。一个或更多个PVA可以被设计和配置为加速用于高级驾驶员辅助系统(ADAS),自动驾驶和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。一个或更多个PVA可以在性能和灵活性之间提供平衡。例如,一个或更多个PVA中的每个PVA可以包括例如但不限于,任意数量的精简指令集计算机(RISC)核心,直接存储器访问(DMA)和/或任何数量的矢量处理器。
RISC核心可以与图像传感器(例如,本文描述的任何相机的图像传感器),一个或更多个图像信号处理器等交互。每个RISC核心可以包括任何数量的存储器。根据实施例,RISC核心可以使用许多协议中的任何协议。在一些示例中,RISC核心可以执行实时操作系统(RTOS)。可以使用一个或更多个集成电路设备,专用集成电路(ASIC)和/或存储器设备来实现RISC核心。例如,RISC核心可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使一个或更多个PVA的组件独立于一个或更多个CPU1306访问系统存储器。DMA可以支持用于向PVA提供优化的任何数量的特征,包括但不限于,支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持多达六个或更多维的寻址,其可以包括块宽度,块高度,块深度,水平块步进,垂直块步进和/或深度步进。
矢量处理器可以是可编程处理器,其可以被设计为有效且灵活地执行用于计算机视觉算法的编程并提供信号处理能力。在一些示例中,PVA可以包括PVA核心和两个矢量处理子系统分区。PVA核心可以包括处理器子系统,一个或更多个DMA引擎(例如,两个DMA引擎)和/或其他外围设备。矢量处理子系统可以作为PVA的主处理引擎操作,并且可以包括矢量处理单元(VPU),指令高速缓存和/或矢量存储器(例如,VMEM)。VPU核心可以包括数字信号处理器,例如单指令,多数据(SIMD),超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以提高吞吐量和速度。
每个矢量处理器可以包括指令高速缓存,并且可以耦合到专用存储器。结果,在一些示例中,每个矢量处理器可以被配置为独立于其他矢量处理器执行。在其他示例中,包括在特定PVA中的矢量处理器可以被配置为采用数据并行性。例如,在一些实施例中,包括在单个PVA中的多个矢量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上。在其他示例中,包括在特定PVA中的矢量处理器可以在同一图像上同时执行不同的计算机视觉算法,或者甚至在顺序图像或图像的部分上执行不同的算法。其中,任何数量的PVA可以包括在硬件加速集群中,并且任何数量的矢量处理器可以包括在每个PVA中。此外,一个或更多个PVA可以包括附加的纠错码(ECC)存储器,以增强整体系统安全性。
一个或更多个加速器1314(例如,硬件加速群集)可以包括片上计算机视觉网络和SRAM,用于为一个或更多个加速器1314提供高带宽、低延迟的SRAM。在一些示例中。片上存储器可以包括至少4MB的SRAM,其包括例如但不限于八个现场可配置的存储器块,PVA和DLA二者都可以访问这些存储器块。每对存储器块可以包括高级外围总线(APB)接口,配置电路,控制器和多路复用器。可以使用任何类型的存储器。PVA和DLA可以通过骨干网访问存储器,该骨干网为PVA和DLA提供对存储器的高速访问。骨干可以包括片上计算机视觉网络,其将PVA和DLA互连到存储器(例如,使用APB)。
片上计算机视觉网络可以包括接口,该接口在传输任何控制信号/地址/数据之前确定PVA和DLA二者都提供就绪和有效信号。这种接口可以提供单独的相位和用于发送控制信号/地址/数据的单独信道,以及用于连续数据传输的突发类型通信。尽管可以使用其他标准和协议,但是这种类型的接口可以符合ISO 26262或IEC 61508标准。
在一些示例中,一个或更多个SoC 1304可以包括实时光线跟踪硬件加速器,诸如在2018年8月10日提交的美国专利申请No.16/101,232中描述的。实时光线跟踪硬件加速器可用于快速有效地确定对象的位置和范围(例如,在世界模型内),生成实时可视化模拟,其用于RADAR信号解释,用于声音传播合成和/或分析,用于模拟SONAR系统,用于一般波传播模拟,用于与LIDAR数据进行比较,以用于定位和/或其他功能,和/或用于其他用途。
一个或更多个加速器1314(例如,硬件加速器集群)具有用于自动驾驶的广泛用途。PVA可以是可编程视觉加速器,其可以用于ADAS和自动车辆中的关键处理阶段。PVA的能力非常适合需要以低功耗和低延迟进行的可预测处理的算法域。换句话说,PVA在半密集或密集的常规计算上表现良好,即使在小数据集上也是如此,这些数据集需要具有低延迟和低功率的可预测运行时间。因此,在用于自主车辆的平台的背景下,PVA被设计为运行经典的计算机视觉算法,因为它们在对象检测和对整数数学运算方面是有效的。
例如,根据本技术的一个实施例,PVA用于执行计算机立体视觉。在一些示例中可以使用基于半全局匹配的算法,但是这不是限制性的。用于水平3-5的自动驾驶的许多应用需要动态估计/立体匹配(例如,来自运动,行人识别,车道检测等的结构)。PVA可以对来自两个单眼相机的输入执行计算机立体视觉功能。
在一些实例中,PVA可用于执行致密光流。根据处理原始RADAR数据(例如,使用4D快速傅里叶变换)来提供经处理的RADAR。在其他示例中,例如,通过处理原始飞行时间数据以提供经处理的飞行时间数据,PVA用于飞行时间深度处理。
DLA可以用于运行任何类型的网络以增强控制和驾驶安全性,包括例如输出每个对象检测的置信度度量的神经网络。这样的置信度值可以被解释为概率,或者与其他检测相比提供每个检测的相对“权重”。该置信度值使系统能够做出关于哪些检测应被视为真正的正确检测而不是误报检测的进一步决定。例如,系统可以设置置信度的阈值,并且仅考虑超过阈值的检测作为真正的正确检测。在自动紧急制动(AEB)系统中,误报检测将导致车辆自动执行紧急制动,这显然是不希望的。因此,只有最置信的检测应被视为AEB的触发因素。DLA可以运行神经网络来回归置信值。神经网络可以将至少一些参数子集作为其输入,例如边界盒尺寸,获得的地平面估计(例如,来自另一子系统),与车辆1300的方位、距离相关的惯性测量单元(IMU)传感器1366输出,从神经网络和/或其他传感器(例如,一个或更多个LIDAR传感器1364或一个或更多个RADAR传感器1360)获得的对象的3D位置估计等。
一个或更多个SoC 1304可以包括一个或更多个数据存储1316(例如,存储器)。一个或更多个数据存储器1316可以是一个或更多个SoC 1304的片上存储器,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,一个或更多个数据存储1316可以足够大以存储神经网络的多个实例以用于冗余和安全。一个或更多个数据存储1312可以包括一个或更多个L2或L3高速缓存1312。对一个或更多个数据存储1316的引用可以包括对与PVA,DLA和/或其他加速器1314相关联的存储器的引用,如本文所述的。
一个或更多个SoC 1304可包括一个或更多个处理器1310(例如,嵌入式处理器)。一个或更多个处理器1310可以包括引导和电源管理处理器,其可以是专用处理器和子系统,以处理引导电源和管理功能以及相关的安全实施。引导和电源管理处理器可以是一个或更多个SoC 1304引导序列的一部分,并且可以提供运行时电源管理服务。引导功率和管理处理器可以提供时钟和电压编程,协助系统低功率状态转换,一个或更多个SoC 1304热量和温度传感器的管理,和/或一个或更多个SoC 1304功率状态的管理。每个温度传感器可以实现为其输出频率与温度成比例的环形振荡器,并且一个或更多个SoC 1304可以使用环形振荡器来检测一个或更多个CPU1306、一个或更多个GPU 1308和/或一个或更多个加速器1314的温度。如果确定温度超过阈值,则启动和电源管理处理器可以进入温度故障例程并将一个或更多个SoC 1304置于较低功率状态和/或将车辆1300置于司机到安全停止模式(例如,使车辆1300安全停止)。
一个或更多个处理器1310还可以包括可以用作音频处理引擎的一组嵌入式处理器。音频处理引擎可以是音频子系统,其通过多个接口实现对多声道音频的全硬件支持,以及广泛且灵活的音频I/O接口范围。在一些示例中,音频处理引擎是专用处理器核心,其具有带有专用RAM的数字信号处理器。
一个或更多个处理器1310还可以包括始终在线处理器引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。始终在线处理器引擎可以包括处理器核心,紧密耦合的RAM,支持外围设备(例如,定时器和中断控制器),各种I/O控制器外围设备和路由逻辑。
一个或更多个处理器1310还可以包括安全集群引擎,其包括专用处理器子系统以处理汽车应用的安全管理。安全集群引擎可以包括两个或更多个处理器核心,紧密耦合的RAM,支持外围设备(例如,定时器,中断控制器等)和/或路由逻辑。在安全模式中,两个或更多个核心可以以锁步模式操作,并且用作具有比较逻辑的单个核心,以检测它们的操作之间的任何差异。
一个或更多个处理器1310还可以包括实时相机引擎,其可以包括用于处理实时相机管理的专用处理器子系统。
一个或更多个处理器1310还可以包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是作为相机处理管线的一部分的硬件引擎。
一个或更多个处理器1310可以包括视频图像合成器,其可以是处理块(例如,在微处理器上实现),其实现视频回放应用程序所需的视频后处理功能,以生成播放器窗口的最终图像。视频图像合成器可以在一个或更多个宽视图相机1370,一个或更多个环绕相机1374和/或车内监视相机传感器上执行镜头失真校正。舱内监控相机传感器优选地由在高级SoC的另一个实例上运行的神经网络监控,被配置为在舱事件中标识并相应地响应。舱内系统可执行唇读以激活蜂窝服务并拨打电话,指示电子邮件,改变车辆的目的地,激活或改变车辆的信息娱乐系统和设置,或提供语音激活的网上冲浪。仅当车辆在自主模式下操作时,某些功能才可用于驾驶员,否则将被禁用。
视频图像合成器可以包括用于空间噪声降低和时间噪声降低二者的增强的时间噪声降低。例如,在视频中发生运动的情况下,降噪适当地对空间信息进行加权,从而减小由相邻帧提供的信息的权重。在图像或图像的一部分不包括运动的情况下,由视频图像合成器执行的时间噪声降低可以使用来自先前图像的信息来减少当前图像中的噪声。
视频图像合成器还可以被配置为在输入立体镜头帧上执行立体校正。当操作系统桌面正在使用时,视频图像合成器还可以用于用户界面合成,并且一个或更多个GPU 1308不需要连续地渲染新表面。即使当一个或更多个GPU 1308通电并且活动进行3D渲染时,视频图像合成器也可用于卸载GPU 1308以改善性能和响应性。
一个或更多个SoC 1304还可包括用于接收来自相机的视频和输入的移动工业处理器接口(MIPI)相机串行接口,高速接口和/或可用于相机的视频输入块和相关的像素输入功能。一个或更多个SoC 1304还可以包括一个或更多个输入/输出控制器,其可以由软件控制并且可以用于接收未提交给特定角色的I/O信号。
一个或更多个SoC 1304还可以包括宽范围的外围接口,以实现与外围设备,音频编解码器,电源管理和/或其他设备的通信。一个或更多个SoC 1304可用于处理来自相机(例如,通过千兆位多媒体串行链路和以太网连接),传感器(例如,一个或更多个LIDAR传感器1364,一个或更多个RADAR传感器1360等)的数据,其可以是通过以太网连接),来自总线1302的数据(例如,车辆1300的速度,方向盘位置等),来自一个或更多个GNSS传感器1358的数据(例如,通过以太网或CAN总线连接)。一个或更多个SoC 1304还可以包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且可以用于使CPU 1306从常规数据管理任务中解放出来。
一个或更多个SoC 1304可以是具有跨越自动化水平3-5的灵活架构的端到端平台,从而提供全面的功能安全架构,其针对多样性和冗余利用并有效利用计算机视觉和ADAS技术,针对灵活可靠的驾驶软件栈提供平台以及深度学习工具。一个或更多个SoC1304可以比传统系统更快,更可靠,甚至更节能和节省空间。例如,一个或更多个加速器1314当与一个或更多个CPU 1306,一个或更多个GPU 1308和一个或更多个数据存储1316组合时,可以为水平3-5自主车辆提供快速,有效的平台。
因此,该技术提供了传统系统无法实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,其可以使用诸如C编程语言的高级编程语言来配置,以跨多种视觉数据执行各种处理算法。然而,CPU通常不能满足许多计算机视觉应用的性能要求,例如与执行时间和功耗相关的应用。特别是,许多CPU无法实时执行复杂的对象检测算法,这是车载ADAS应用的要求,也是实际水平3-5自主车辆的要求。
与传统系统相比,通过提供CPU复合体,GPU复合体和硬件加速集群,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且将结果组合在一起启用水平3-5自动驾驶功能。例如,在DLA或dGPU上执行的CNN(例如,一个或更多个GPU 1320)可以包括文本和单词识别,允许超级计算机读取和理解交通标志,其包括神经网络尚未被具体训练的标志。DLA还可以包括神经网络,其能够标识、解释和提供对符号的语义理解,并且将该语义理解传递给在CPU复合体上运行的路径规划模块。
作为另一个示例,可以同时运行多个神经网络,如水平3,水平4或水平5驾驶所需。例如,由“警告:闪烁的灯指示结冰状况”以及电灯组成的警告标志可以由若干神经网络独立地或共同地解释。标志本身可以通过第一部署的神经网络(例如,已经训练的神经网络)被识别为交通标志,文本“闪烁灯指示结冰状况”可以由第二部署的神经网络解释,其通知车辆的路径规划软件(优选地,在CPU复合体上执行),当检测到闪烁的灯光时,存在结冰的情况。可以通过在多个帧上操作第三部署的神经网络来标识闪光,从而向车辆的路径规划软件通知闪光灯的存在(或不存在)。所有三个神经网络可以同时运行,例如在DLA内和/或一个或更多个GPU1308上。
在一些示例中,用于面部识别和车主识别的CNN可以使用来自相机传感器的数据来标识车辆1300的授权驾驶员和/或所有者的存在。始终在线传感器处理引擎可以用于当车主接近驾驶员车门时解锁车辆并打开车灯,并且在安全模式下,当车主离开车辆时禁用车辆。以这种方式,一个或更多个SoC 1304提供防盗和/或劫车的安全性。
在另一个示例中,用于紧急车辆检测和标识的CNN可以使用来自麦克风1396的数据来检测和识别紧急车辆警报器。与使用通用分类器来检测警报器并手动提取特征的传统系统相比,一个或更多个SoC 1304使用CNN来对环境和城市声音进行分类,以及对视觉数据进行分类。在优选实施例中,训练在DLA上运行的CNN以标识紧急车辆的相对靠近速度(例如,通过使用多普勒效应)。CNN还可以被训练以识别特定于车辆正在操作的局部区域的紧急车辆,如一个或更多个GNSS传感器1358所标识的。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报器,而在美国,CNN将寻求仅标识北美警报器。一旦检测到紧急车辆,就可以使用控制程序来执行紧急车辆安全例程,使车辆减速,拉到路边,停放车辆和/或在超声传感器1362辅助下使车辆空转,直到紧急车辆通过为止。
车辆可以包括一个或更多个CPU 1318(例如,一个或更多个离散的CPU或一个或更多个dCPU),其可以经由高速互连(例如,PCIe)耦合到一个或更多个SoC 1304。例如,一个或更多个CPU 1318可以包括X86处理器。一个或更多个CPU 1318可以用于执行各种功能中的任何功能,例如包括仲裁ADAS传感器和一个或更多个SoC 1304之间可能不一致的结果,和/或监控一个或更多个控制器1336和/或信息娱乐SoC 1330的状态和健康状况。
车辆1300可以包括一个或更多个GPU 1320(例如,一个或更多个离散的GPU或一个或更多个dGPU),其可以经由高速互连(例如,NVIDIA的NVLINK)耦合到一个或更多个SoC1304。一个或更多个GPU 1320可以提供额外的人工智能功能,例如通过执行冗余和/或不同的神经网络,并且可以用于基于来自车辆1300的传感器的输入(例如,传感器数据)来训练和/或更新神经网络。
车辆1300还可以包括网络接口1324,其可以包括一个或更多个无线天线1326(例如,用于不同通信协议的一个或更多个无线天线,例如蜂窝天线,蓝牙天线等)。网络接口1324可用于通过因特网与云(例如,与一个或更多个服务器1378和/或其他网络设备)、与其他车辆和/或与计算设备(例如,乘客的客户端设备)实现无线连接。为了与其他车辆通信,可以在两个车辆之间建立直接链路和/或可以建立间接链路(例如,跨网络和通过因特网)。可以使用车辆到车辆通信链路来提供直接链接。车辆间通信链路可以向车辆1300提供关于车辆1300附近的车辆的信息(例如,车辆1300前方,车辆侧面和/或车辆后方)。该功能可以是车辆1300的协作自适应巡航控制功能的一部分。
网络接口1324可以包括SoC,其提供调制和解调功能并且使一个或更多个控制器1336能够通过无线网络进行通信。网络接口1324可以包括射频前端,用于从基带到射频的上转换,以及从射频到基带的下转换。频率转换可以通过众所周知的过程来执行,和/或可以使用超外差过程来执行。在一些示例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE,WCDMA,UMTS,GSM,CDMA2000,蓝牙,蓝牙LE,Wi-Fi,Z-Wave,ZigBee,LoRaWAN和/或其他无线协议进行通信的无线功能。
车辆1300还可以包括一个或更多个数据存储1328,其可以包括片外(例如,一个或更多个SoC 1304外)存储。一个或更多个数据存储1328可以包括一个或更多个存储元件,包括RAM,SRAM,DRAM,VRAM,闪存,硬盘和/或可以存储至少一位数据的其他组件和/或设备。
车辆1300还可以包括一个或更多个GNSS传感器1358。一个或更多个GNSS传感器1358(例如,GPS和/或辅助GPS传感器),以帮助映射,感知,占用网格生成和/或路径规划功能。可以使用任何数量的一个或更多个GNSS传感器1358,包括,例如但不限于,使用具有以太网到串行(RS-232)桥的USB连接器的GPS。
车辆1300还可以包括一个或更多个RADAR传感器1360。即使在黑暗和/或恶劣天气条件下,车辆1300也可以使用一个或更多个RADAR传感器1360进行远程车辆检测。RADAR功能安全水平可以是ASIL B。一个或更多个RADAR传感器1360可以使用CAN和/或总线1302(例如,传输由一个或更多个RADAR传感器1360生成的数据)来控制和访问对象跟踪数据,在某些示例中,可以访问以太网来访问原始数据。可以使用各种RADAR传感器类型。例如但不限于,一个或更多个RADAR传感器1360可适用于前面、后部和侧面RADAR使用。在一些示例中,使用一个或更多个脉冲多普勒RADAR传感器。
一个或更多个RADAR传感器1360可以包括不同的配置,例如具有窄视野的长距离,具有宽视野的短距离,短距离侧覆盖等。在一些示例中,远程RADAR可用于自适应巡航控制功能。远程RADAR系统可以提供通过两个或更多个独立扫描实现的宽视野,例如在250米范围内。一个或更多个RADAR传感器1360可以帮助区分静止和移动对象,并且可以由ADAS系统用于紧急制动辅助和前向碰撞警告。远程RADAR传感器可以包括具有多个(例如,六个或更多个)固定RADAR天线和高速CAN和FlexRay接口的单模多模RADAR。在具有六个天线的示例中,中央四个天线可以创建聚焦波束图案,其被设计为以更高的速度记录车辆1300的周围环境,并且相邻车道中的交通具有最小的干扰。另外两个天线可以扩展视野,使得可以快速检测进入或离开车辆1300车道的车辆。
作为示例,中程RADAR系统可以包括高达1360米(前方)或80米(后方)的范围,以及高达42度(前方)或1350度(后方)的视野。短程RADAR系统可以包括但不限于设计成安装在后保险杠两端的RADAR传感器。当安装在后保险杠的两端时,这种RADAR传感器系统可以生成两个波束,其持续监控车辆后部和车辆旁边的盲点。
短程RADAR系统可以在ADAS系统中用于盲点检测和/或车道变换辅助。
车辆1300还可以包括一个或更多个超声传感器1362。可以将一个或更多个超声传感器1362定位在车辆1300的前部、后部和/或侧面,可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的一个或更多个超声传感器1362,并且不同的一个或更多个超声传感器1362可以用于不同的检测范围(例如,2.5米,4米)。一个或更多个超声传感器1362可以在ASIL B的功能安全水平下操作。
车辆1300可包括一个或更多个LIDAR传感器1364。一个或更多个LIDAR传感器1364可用于对象和行人检测,紧急制动,碰撞避免和/或其他功能。一个或更多个LIDAR传感器1364可以是功能安全水平ASIL B。在一些示例中,车辆1300可以包括可以使用以太网(例如,用于提供数据到千兆以太网交换机)的多个LIDAR传感器1364(例如,两个,四个,六个等)。
在一些示例中,一个或更多个LIDAR传感器1364可以能够提供对象列表及其360度视野的距离。一个或更多个商用LIDAR传感器1364可具有大约102米的广告范围,精度为2厘米-3厘米,并且例如支持1300Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的LIDAR传感器1364。在这样的示例中,一个或更多个LIDAR传感器1364可以被实现为可以嵌入到车辆1300的前部,后部,侧面和/或角落中的小型设备。在这样的示例中,一个或更多个LIDAR传感器1364可提供高达1320度的水平视野和35度垂直视野,即使对于低反射率对象,也可提供200米的范围。一个或更多个前置LIDAR传感器1364可以被配置用于45度和135度之间的水平视野。
在一些示例中,还可以使用LIDAR技术,例如3D闪光LIDAR。3D闪光灯LIDAR使用激光闪光灯作为发射源,照亮车辆周围约200米。闪光LIDAR单元包括接收器,其记录每个像素上的激光脉冲传播时间和反射光,其反过来对应于从车辆到对象的范围。闪光LIDAR可以允许每次激光闪光生成高度精确和无失真的周围环境图像。在一些示例中,可以部署四个闪光LIDAR传感器,在车辆1300的每一侧一个。可用的3D闪光LIDAR系统包括固态3D凝视阵列LIDAR相机,除了风扇之外没有移动部件(例如,非扫描LIDAR设备)。闪光LIDAR装置可以使用每帧5纳秒级别I(人眼安全)激光脉冲,并且可以以3D范围点云和共同登记的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有移动部件的固态设备,所以一个或更多个LIDAR传感器1364可能不太容易受到运动模糊,振动和/或震动的影响。
车辆还可以包括一个或更多个IMU传感器1366。在一些示例中,一个或更多个IMU传感器1366可以位于车辆1300的后轴的中心。一个或更多个IMU传感器1366可以包括,例如但不限于,一个或更多个加速度计,一个或更多个磁力计,一个或更多个陀螺仪,一个或更多个磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,一个或更多个IMU传感器1366可以包括加速度计和陀螺仪,而在九轴应用中,一个或更多个IMU传感器1366可以包括加速度计,陀螺仪和磁力计。
在一些实施例中,一个或更多个IMU传感器1366可以实现为微型高性能GPS辅助惯性导航系统(GPS/INS),其结合了微机电系统(MEMS)惯性传感器,高敏感度GPS接收器和先进的卡尔曼滤波算法,以提供对位置、速度和姿态的估计。这样,在一些示例中,一个或更多个IMU传感器1366可以通过直接观察和关联从GPS到一个或更多个IMU传感器1366的速度变化来使车辆1300能够估计航向,而不需要来自磁传感器的输入。在一些示例中,一个或更多个IMU传感器1366和一个或更多个GNSS传感器1358可以组合在单个集成单元中。
车辆可以包括放置在车辆1300中和/或周围的一个或更多个麦克风1396。一个或更多个麦克风1396可以用于紧急车辆检测和标识等。
车辆还可包括任何数量的相机类型,包括一个或更多个立体相机1368,一个或更多个广角相机1370,一个或更多个红外相机1372,一个或更多个环绕相机1374,一个或更多个远程和/或中程相机1398,和/或其他相机类型。相机可用于捕获车辆1300的整个周边周围的图像数据。所使用的相机类型取决于车辆1300的实施例和要求,并且相机类型的任何组合可用于提供围绕该车辆1300的必要覆盖。另外,根据实施例,相机的数量可以不同。例如,车辆可包括六个相机,七个相机,十个相机,十二个相机和/或另一数量的相机。作为示例而非限制,相机可以支持千兆位多媒体串行链路(GMSL)和/或千兆位以太网。在此关于图13A和图13B,更详细地描述了每个相机。
车辆1300还可以包括一个或更多个振动传感器1342。一个或更多个振动传感器1342可以测量车辆的组件(例如一个或更多个轴)的振动。例如,振动的变化可以指示路面的变化。在另一示例中,当使用两个或更多个振动传感器1342时,振动之间的差异可用于确定路面的摩擦或滑动(例如,当振动的差异在动力驱动轴和自由旋转轴之间时)。
车辆1300可以包括ADAS系统1338。在一些示例中,ADAS系统1338可以包括SoC。ADAS系统1338可包括自主/自适应/自动巡航控制(ACC),协同自适应巡航控制(CACC),前方碰撞警告(FCW),自动紧急制动(AEB),离开车道警告(LDW),车道保持辅助(LKA),盲点警告(BSW),后部交叉警告(RCTW),碰撞警告系统(CWS),车道居中(LC)和/或其他特征和功能。
ACC系统可以使用一个或更多个RADAR传感器1360,一个或更多个LIDAR传感器1364和/或一个或更多个相机。ACC系统可包括纵向ACC和/或横向ACC。纵向ACC监测并控制紧邻车辆1300前方的车辆距离,并自动调节车速以保持与前方车辆的安全距离。横向ACC执行距离保持,并且建议车辆1300在必要时改变车道。横向ACC与其他ADAS应用相关,例如LCA和CWS。
CACC使用来自其他车辆的信息,其可以经由网络接口1324和/或一个或更多个无线天线1326经由无线链路从其他车辆接收,或者间接地通过网络连接(例如,通过因特网)接收。直接链路可以由车辆到车辆(V2V)通信链路提供,而间接链路可以是基础设施到车辆(I2V)通信链路。通常,V2V通信概念提供关于紧接在前的车辆的信息(例如,紧接在车辆1300之前和在与车辆1300相同的车道中的车辆),而I2V通信概念提供关于更远的前方的交通的信息。CACC系统可以包括I2V和V2V信息源中的任一个或两者。给定车辆1300前方车辆的信息,CACC可能更可靠并且它具有改善交通流畅通性和减少道路拥堵的潜力。
FCW系统被设计成警告驾驶员危险,从而驾驶员可以采取纠正动作。FCW系统使用前向相机和/或一个或更多个RADAR传感器1360,其耦合至专用处理器,DSP,FPGA和/或ASIC,其电耦合到驾驶员反馈,诸如,显示器,扬声器和/或振动组件。FCW系统可以提供警告,诸如以声音,视觉警告,振动和/或快速制动脉冲的形式。
AEB系统检测即将发生的与另一车辆或其他对象的前向碰撞,并且如果驾驶员未在指定时间或距离参数内采取校正动作,则AEB系统可自动应用制动。AEB系统可以使用一个或更多个前向相机和/或一个或更多个RADAR传感器1360,其耦合到专用处理器,DSP,FPGA和/或ASIC。当AEB系统检测到危险时,它通常首先警告驾驶员采取纠正动作以避免碰撞,并且如果驾驶员没有采取纠正动作,则AEB系统可以自动应用制动器以努力防止,或至少缓解,所预测的碰撞的影响。AEB系统可包括诸如动态制动器支撑和/或即将发生撞击的制动等技术。
LDW系统提供视觉,听觉和/或触觉警告,诸如方向盘或座椅振动,以在车辆1300越过车道标记时警告驾驶员。当驾驶员通过激活转向信号指示故意离开车道时,LDW系统不会激活。LDW系统可以使用前侧面向相机,其耦合到专用处理器,DSP,FPGA和/或ASIC,其电耦合到驱动器反馈,诸如显示器,扬声器和/或振动组件。
LKA系统是LDW系统的变体。如果车辆1300开始离开车道,则LKA系统提供转向输入或制动以校正车辆1300。
BSW系统检测并警告驾驶员汽车盲点中的车辆。BSW系统可以提供视觉,听觉和/或触觉警报以指示合并或改变车道是不安全的。当驾驶员使用转向信号时,系统可以提供附加警告。BSW系统可以使用一个或更多个后侧相机和/或一个或更多个RADAR传感器1360,其耦合到专用处理器,DSP,FPGA和/或ASIC,其电耦合到驾驶员反馈,诸如显示器,扬声器和/或振动组件。
当车辆1300正在倒车时,当在后向相机范围之外检测到对象时,RCTW系统可以提供视觉,听觉和/或触觉通知。一些RCTW系统包括AEB,以确保应用车辆制动器以避免碰撞。RCTW系统可以使用一个或更多个后向RADAR传感器1360,其耦合到专用处理器,DSP,FPGA和/或ASIC,其电耦合到驾驶员反馈,诸如显示器,扬声器和/或振动元件。
传统的ADAS系统可能容易出现误报结果,这可能令驾驶员烦恼并分散注意力,但通常不是灾难性的,因为ADAS系统警告驾驶员并允许驾驶员确定安全条件是否真正存在并且相应地行动。然而,在自主车辆1300中,在结果冲突的情况下,车辆1300本身必须决定是否注意来自主计算机或辅助计算机(例如,第一控制器1336或第二控制器1336)的结果。例如,在一些实施例中,ADAS系统1338可以是备份和/或辅助计算机,用于向备份计算机合理性模块提供感知信息。备份计算机合理性监视器可以在硬件组件上运行冗余的各种软件,以检测感知和动态驱动任务中的故障。可以将来自ADAS系统1338的输出提供给监控MCU。如果主计算机和辅助计算机的输出发生冲突,则监控MCU必须确定如何协调冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监控MCU提供置信度分数,指示主计算机对所选结果的置信度。如果置信度得分超过阈值,则监控MCU可以遵循主计算机的指示,而不管辅助计算机是否提供冲突或不一致的结果。在置信度分数不满足阈值并且主要和辅助计算机指示不同结果(例如,冲突)的情况下,监控MCU可以在计算机之间进行仲裁以确定适当的结果。
监控MCU可以被配置为运行一个或更多个神经网络,该神经网络被训练和配置成基于来自主计算机和辅助计算机的输出来确定辅助计算机提供错误警报的条件。因此,监控MCU中的一个或更多个神经网络可以了解辅助计算机的输出何时可信任,何时不可信。例如,当辅助计算机是基于RADAR的FCW系统时,监控MCU中的一个或更多个神经网络可以了解FCW系统何时识别实际上不存在危险的金属对象,诸如引发警报的排水栅或井盖。类似地,当辅助计算机是基于相机的LDW系统时,监控MCU中的神经网络可以学习在存在骑自行车者或行人时超越LDW并且离开车道实际上是最安全的操纵。在包括在监控MCU上运行的一个或更多个神经网络的实施例中,监控MCU可以包括适合于运行具有相关联的存储器的一个或更多个神经网络的DLA或GPU中的至少一个。在优选实施例中,监控MCU可以包括和/或被包括作为一个或更多个SoC 1304的组件。
在其他示例中,ADAS系统1338可以包括使用传统的计算机视觉规则来执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典计算机视觉规则(如果-则(if-then)),并且监控MCU中一个或更多个神经网络的存在可以提高可靠性,安全性和性能。例如,多样化的实现和有意的非同一性使整个系统更具容错性,尤其是由软件(或软件-硬件接口)功能引起的故障。例如,如果主计算机上运行的软件中存在软件错误或错误,并且在辅助计算机上运行的非同一性的软件代码提供相同的总体结果,则监控MCU可能更有信心整体结果是正确,并且主计算机上的软件或硬件中的错误不会导致重大错误。
在一些示例中,ADAS系统1338的输出可以被馈送到主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统1338由于紧接在前面的对象而指示前向碰撞警告,则感知块可在标识对象时使用该信息。在其他示例中,如本文所述,辅助计算机可以具有其自己的训练的神经网络,从而降低误报的风险。
车辆1300还可以包括信息娱乐系统SoC 1330(例如,车载信息娱乐系统(IVI))。尽管图示和描述为SoC,但信息娱乐系统可以不是SoC,并且可以包括两个或更多个分立组件。信息娱乐系统SoC 1330可以包括硬件和软件的组合,其可以用于向车辆1300提供音频(例如,音乐,个人数字助理,导航指令,新闻,广播等),视频(例如,电视,电影,流媒体,等),电话(例如,免提呼叫),网络连接(例如,LTE,Wi-Fi等)和/或信息服务(例如,导航系统,后停车辅助,无线电数据系统,车辆相关信息,例如燃料水平,所覆盖的总距离,制动燃料水平,油位,门打开/关闭,空气过滤器信息等)。例如,信息娱乐系统SoC 1330可以是无线电,盘播放器,导航系统,视频播放器,USB和蓝牙连接,车载,车载娱乐,Wi-Fi,方向盘音频控制,免提语音控制,抬头显示器(HUD),HMI显示器1334,远程信息处理设备,控制面板(例如,用于控制和/或与各种组件、特征和/或系统交互),和/或其他组件。信息娱乐系统SoC 1330还可用于向车辆的一个或更多个用户提供信息(例如,视觉和/或听觉),例如来自ADAS系统1338的信息,诸如规划的车辆操纵的自动驾驶信息,轨迹,周围环境信息(例如,交叉口信息,车辆信息,道路信息等)和/或其他信息。
信息娱乐系统SoC 1330可以包括GPU功能。信息娱乐系统SoC 1330可以通过总线1302(例如,CAN总线,以太网等)与车辆1300的其他设备,系统和/或组件通信。在一些示例中,信息娱乐系统SoC 1330可以耦合到监控MCU,使得信息娱乐系统的GPU可以在一个或更多个主控制器1336(例如,车辆1300的主要和/或备用计算机)发生故障的情况下执行一些自驱动功能。在这样的示例中,信息娱乐系统SoC 1330可以将车辆1300置于司机安全停止模式,如本文所述。
车辆1300还可包括仪表组1332(例如,数字仪表板,电子仪表组,数字仪表板等)。仪表组1332可包括控制器和/或超级计算机(例如,离散控制器或超级计算机)。仪表组1332可包括一组仪表,例如速度表,燃油油位,油压,转速计,里程表,转向指示器,换档位置指示器,一个或更多个安全带警告灯,一个或更多个停车制动警告灯,一个或更多个引擎故障灯,安全气囊(SRS)系统信息,照明控制,安全系统控制,导航信息等。在一些示例中,可以在信息娱乐系统SoC 1330和仪表组1332之间显示和/或共享信息。换句话说,仪表组1332可以被包括作为信息娱乐系统SoC 1330的一部分,反之亦然。
图13D是根据本公开的一些实施例的、用于一个或更多个基于云的服务器和图13A的示例自主车辆1300之间的通信的系统图。系统1376可以包括一个或更多个服务器1378,一个或更多个网络1390和车辆,其包括车辆1300。一个或更多个服务器1378可以包括多个GPU 1384(A)-1384(H)(本文统GPU 1384),PCIe开关1382(A)-1382(H)(本文统称为PCIe开关1382)和/或CPU 1380(A)-1380(B)(本文统称为CPU 1380)。GPU 1384,CPU 1380和PCIe交换机可以与高速互连互连,例如但不限于由NVIDIA开发的NVLink接口1388和/或PCIe连接1386。在一些示例中,GPU 1384是通过NVLink和/或NVSwitch SoC连接,并且GPU 1384和PCIe开关1382通过PCIe互连连接。尽管示出了八个GPU 1384,两个CPU 1380和两个PCIe开关,但是这不是限制性的。根据实施例,一个或更多额服务器1378的每一个可以包括任何数量的GPU 1384,CPU 1380和/或PCIe交换机。例如,一个或更多个服务器1378中的每个可以包括八个,十六个,三十二个和/或更多个GPU 1384。
一个或更多个服务器1378可以通过一个或更多个网络1390和从车辆接收图像数据,其表示意外或改变的道路状况,诸如最近开始的道路工作。一个或更多个服务器1378可以通过一个或更多个网络1390向车辆发送神经网络1392,更新的神经网络1392和/或地图信息1394,包括关于交通和道路状况的信息。对地图信息1394的更新可以包括HD地图1322的更新,例如关于建筑工地,坑洼,弯路,洪水和/或其他障碍物的信息。在一些示例中,神经网络1392,更新的神经网络1392和/或地图信息1394可以由在从环境中的任何数量的车辆接收的数据中表示的新训练和/或体验生成,和/或基于在数据中心执行的训练(例如,使用一个或更多个服务器1378和/或其他服务器)。
一个或更多个服务器1378可用于基于训练数据来训练机器学习模型(例如,神经网络)。训练数据可以由车辆生成,和/或可以在模拟中生成(例如,使用游戏引擎)。在一些示例中,训练数据被标记(例如,神经网络受益于监督学习)和/或经历其他预处理,而在其他示例中,训练数据未被标记和/或预处理(例如,神经网络不需要监督学习)。一旦机器学习模型被训练,机器学习模型可以由车辆使用(例如,通过一个或更多个网络1390传输到车辆,和/或机器学习模型可以由一个或更多个服务器1378使用以远程监控车辆。
在一些示例中,一个或更多个服务器1378可以从车辆接收数据并将数据应用于最新的实时神经网络以用于实时智能推理。一个或更多个服务器1378可以包括由一个或更多个GPU 1384驱动的深度学习超级计算机和/或专用AI计算机,例如由NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,一个或更多个服务器1378可以包括仅使用CPU供电的数据中心的深度学习基础设施。
一个或更多个服务器1378的深度学习基础设施可以能够进行快速,实时的推理,并且可以使用该能力来评估和验证车辆1300中处理器,软件和/或相关硬件的健康状况。例如,深度学习基础设施可以从车辆1300接收周期性更新,例如车辆1300已经在该图像序列中定位的一系列图像和/或对象(例如,通过计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行其自己的神经网络来标识对象并将其与车辆1300标识的对象进行比较,并且如果结果不匹配并且基础设施断定车辆1300中的AI发生故障,则一个或更多个服务器1378可以向车辆1300发送信号,指示车辆1300的故障安全计算机进行控制,通知乘客,并完成安全停车操纵。
对于推理,一个或更多个服务器1378可以包括一个或更多个GPU1384和一个或更多个可编程推理加速器(例如,NVIDIA的TensorRT)。GPU驱动的服务器和推理加速的组合可以使实时响应成为可能。在其他示例中,例如在性能不太重要的情况下,由CPU,FPGA和其他处理器供电的服务器可以用于推理。
示例性计算设备
图14是适用于实现本公开的一些实施例的计算设备1400的示例的框图。计算设备1400可以包括直接或间接耦合以下设备的总线1402:存储器1404,一个或更多个中央处理单元(CPU)1406,一个或更多个图形处理单元(GPU)1408,通信接口1410,输入/输出(I/O)端口1412,输入/输出组件1414,电源1416和一个或更多个呈现组件1418(例如,一个或更多个显示器)。
尽管图14示出了其中各种块通过总线1402与线路连接,这不是限制性的并且仅为了清楚起见。例如,在一些实施例中,诸如显示设备的呈现组件1418可以被认为是I/O组件1414(例如,如果显示器是触摸屏)。作为另一示例,CPU 1406和/或GPU 1408可以包括存储器(例如,存储器1404可以代表除了GPU 1408,CPU 1406和/或其他组件的存储器之外的存储设备)。换句话说,图14的计算设备仅仅是说明性的。“工作站”,“服务器”,“笔记本电脑”,“桌面”,“平板电脑”,“客户端设备”,“移动设备”,“手持设备”,“游戏机”,“电子控制单元(ECU)”“虚拟现实系统”和/或其他设备或系统类型(在图14的计算设备的范围内所有所构想的那样)之间没有区别。
总线1402可以表示一个或更多个总线,例如地址总线,数据总线,控制总线或其组合。总线1402可以包括一种或多种总线类型,例如工业标准架构(ISA)总线,扩展工业标准架构(EISA)总线,视频电子标准协会(VESA)总线,外围组件互连(PCI)总线,外围组件互连快速(PCIe)总线和/或其他类型的总线。
存储器1404可以包括各种计算机可读介质中的任何一种。计算机可读介质可以是可由计算设备1400访问的任何可用介质。计算机可读介质可包括易失性和非易失性介质,以及可移除和不可移除介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质可以包括以用于存储信息(诸如计算机可读指令,数据结构,程序模块和/其他数据类型)的任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质。例如,存储器1404可以存储计算机可读指令(例如,表示一个或更多个程序和/或一个或更多个程序元素,例如操作系统。计算机存储介质可以包括但不限于,RAM,ROM,EEPROM,闪存或其他存储技术,CD-ROM,数字通用光盘(DVD)或其他光盘存储器,磁带盒,磁带,磁盘存储器或其他磁存储设备,或任何其他介质,可用于存储所需信息并且可由计算设备1400访问。如本文所用,计算机存储介质本身不包括信号。
通信介质可以在诸如载波或其他传输机制之类的已调制数据信号中体现计算机可读指令,数据结构,程序模块和/或其他数据类型,并且包括任何信息传递介质。术语“已调制数据信号”可以指的是以对信号中的信息进行编码的方式设置或改变其一个或更多个特征的信号。作为示例而非限制,通信介质可以包括有线介质,诸如有线网络或直接有线连接,以及无线介质,诸如声学,RF,红外和其他无线介质。上述任何组合也应包括在计算机可读介质的范围内。
一个或更多个CPU 1406可以被配置为执行计算机可读指令以控制计算设备1400的一个或更多个组件以执行本文描述的方法和/或过程中的一个或更多个。每个CPU 1406可以包括能够同时处理多个软件线程的一个或更多个核心(例如,一个,两个,四个,八个,二十八个,七十二个等)。一个或更多个CPU 1406可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于所实现的计算设备1400的类型(例如,用于移动设备的具有较少核心的处理器和具有用于服务器的更多核心的处理器)。例如,取决于计算设备1400的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或辅助协处理器(例如数学协处理器)之外,计算设备1400还可以包括一个或更多个CPU 1406。
一个或更多个计算设备1400可以使用GPU 1408来渲染图形(例如,3D图形)。一个或更多个GPU 1408可以包括数百或数千个核心,其能够同时处理数百或数千个软件线程。一个或更多个GPU 1408可以响应于渲染命令(例如,经由主机接口从一个或更多个CPU1406渲染的渲染命令)生成输出图像的像素数据。一个或更多个GPU 1408可以包括用于存储像素数据的图形存储器,例如显示存储器。显示存储器可以被包括作为存储器1404的一部分。一个或更多个GPU 708可以包括并行操作的两个或更多个GPU(例如,经由链路)。当组合在一起时,每个GPU 1408可以生成输出图像的不同部分或不同输出图像的像素数据(例如,第一图像的第一GPU和第二图像的第二GPU)。每个GPU可以包含自己的内存,或者可以与其他GPU共享内存。
在计算设备1400不包括一个或更多个GPU 1408的示例中,一个或更多个CPU 1406可用于渲染图形。
通信接口1410可以包括一个或更多个接收器,发射器和/或收发器,其使得计算设备1400能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口1410可以包括用于实现通过多个不同网络中的任何网络进行通信的组件和功能,例如无线网络(例如,Wi-Fi,Z-Wave,蓝牙,蓝牙LE,ZigBee等),有线网络(例如,通过以太网通信),低功率广域网(例如,LoRaWAN,SigFox等)和/或因特网。
I/O端口1412可以使计算设备1400能够逻辑地耦合到包括I/O组件1414,一个或更多个呈现组件1418和/或其他组件的其他设备,其中一些组件可以被构建(例如,集成在)计算设备1400中。说明性I/O组件1414包括麦克风,鼠标,键盘,操纵杆,游戏手柄,游戏控制器,卫星天线,扫描仪,打印机,无线设备等。I/O组件1414可以提供处理由用户生成的空中手势、语音或其他生理输入的自然用户界面(NUI)。在某些情况下,可以将输入发送到适当的网络元件以进行进一步处理。NUI可以实现语音识别,手写笔识别,面部识别,生物识别,屏幕上和屏幕附近的手势识别,空中手势,头部和眼睛跟踪以及与计算设备1400的显示相关联的触摸识别(如下面更详细描述的)的任何组合。计算设备1400可以包括深度相机,例如立体相机系统,红外相机系统,RGB相机系统,触摸屏技术,以及它们的组合,用于手势检测和识别。另外,计算设备1400可以包括能够检测运动的加速度计或陀螺仪(例如,作为惯性测量单元(IMU)的一部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备1400使用以呈现沉浸式增强现实或虚拟现实。
电源1416可以包括硬连线电源,电池电源或其组合。电源1416可以向计算设备1400提供电力以使计算设备1400的组件能够操作。
一个或更多个呈现组件1418可以包括显示器(例如,监视器,触摸屏,电视屏幕,抬头显示器(HUD),其他显示器类型或其组合),扬声器,和/或其他演示组件。一个或更多个呈现组件1418可以从其他组件(例如,一个或更多个GPU 1408,一个或更多个CPU 1406等)接收数据,并输出数据(例如,作为图像,视频,声音等)。
可以在计算机代码或机器可用指令的一般上下文中描述本公开,包括由诸如程序模块之类的计算机或其他机器(诸如个人数据助理或其他手持设备)执行的计算机可执行指令。通常,包括例程,程序,对象,组件,数据结构等的程序模块指代执行特定任务或实现特定抽象数据类型的代码。本公开可以在各种系统配置中实践,包括手持设备,消费电子产品,通用计算机,更多专业计算设备等。本公开还可以在分布式计算环境中实施,其中任务由远程处理通过通信网络链接的设备。
如本文所用,关于两个或更多个元素的“和/或”的叙述应该被解释为仅意味着一个元素或元素的组合。例如,“元素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 (20)

1.一种用于对象检测的方法,包括:
至少基于表示RADAR数据的投影图像的数据,(i)使用属于神经网络并且包括多个分类通道的类置信度头部来计算表示每个所述分类通道的置信度图的第一输出,所述第一输出表示一个或更多个像素中的至少一个个体像素属于一个或更多个检测到的对象的多个类别中的对应类别的可能性,以及(ii)使用属于神经网络并且包括用于所述多个类别中的每个类别的多个回归通道的实例回归头部来计算第二输出,所述第二输出针对用于所述多个类别中的第一类别的所述多个回归通道中的至少一个个体回归通道表示属于所述第一类别并由所述至少一个个体像素表示的所述一个或更多个检测到的对象的一个或更多个对象实例的一个或更多个回归值,所述RADAR数据表示使用自我执行者的一个或更多个RADAR传感器生成的传感器检测;以及
至少基于所述神经网络的所述第一输出和所述第二输出,生成与所述一个或更多个检测到的对象中的至少一个检测到的对象相对应的至少一个边界形状。
2.根据权利要求1所述的方法,其中对于所述一个或更多个像素中的至少一个个体像素,所述一个或更多个回归值表示从所述至少一个个体像素指向由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的中心的矢量。
3.根据权利要求1所述的方法,其中对于所述一个或更多个像素中的所述至少一个个体像素,所述一个或更多个回归值表示由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的对象宽度。
4.根据权利要求1所述的方法,其中对于所述一个或更多个像素中的所述至少一个个体像素,所述一个或更多个回归值表示一个或更多个旋转角度,所述一个或更多个旋转角度表示相对于由所述至少一个个体像素表示的一个或更多个对象实例的投影图像的方向。
5.根据权利要求1所述的方法,其中所述投影图像包括所述自我执行者周围的环境的俯视图,并且进一步地,其中投影所述RADAR数据包括将所述RADAR数据正射投影到所述环境的所述俯视图中。
6.根据权利要求1所述的方法,其中所述投影图像包括具有指定的空间维度的俯视图,并且进一步地,其中表示所述投影图像的所述数据具有所述空间维度。
7.根据权利要求1所述的方法,其中对于所述投影图像的所述一个或更多个像素中的至少一个其他个体像素,表示所述投影图像的所述数据累积与所述至少一个其他个体像素相交的运动补偿的传感器检测的子集的反射特性。
8.根据权利要求1所述的方法,其中所述第一类别的所述至少一个个体回归通道对属于所述第一类别的所述一个或更多个对象实例的特定类型的位置、大小或方向信息进行回归。
9.根据权利要求1所述的方法,其中所述神经网络的所述第一输出包括存储每个所述分类通道的所述置信度图的第一张量,并且所述神经网络的所述第二输出包括存储所述多个类别中的每个类别的所述一个或更多个检测到的对象的所述一个或更多个对象实例的回归的位置、大小和方向数据的第二张量,其中生成所述至少一个边界形状是基于所述第一张量和所述第二张量。
10.根据权利要求1所述的方法,其中所述神经网络的所述第一输出包括存储每个所述分类通道的置信度图的第一张量,并且所述神经网络的所述第二输出包括存储所述一个或更多个检测到的对象的所述一个或更多个对象实例的回归的位置、大小和方向数据的第二张量,其中生成所述至少一个边界形状包括:
至少基于所述第一张量和所述第二张量生成候选边界形状;以及
至少基于执行所述候选边界形状的过滤或聚类中的至少一项,从所述候选边界形状中去除重复的候选。
11.根据权利要求1所述的方法,其中表示所述投影图像的所述数据包括编码所述投影图像的多通道RADAR数据张量,以及表示所述传感器检测的反射特性的特征集。
12.一种用于对象检测的方法,包括:
将表示环境的RADAR数据应用于神经网络以使得所述神经网络:(i)使用属于所述神经网络并且包括多个分类通道的类置信度头部来计算第一输出,所述第一输出包括存储表示一个或更多个像素中的至少一个个体像素属于一个或更多个检测到的对象的多个类别中的对应类别的可能性的针对每个所述分类通道的置信度图的第一张量,以及(ii)使用属于所述神经网络并且包括用于所述多个类别中的每个类别的多个回归通道的实例回归头部来计算第二输出,所述第二输出包括存储用于所述多个类别中的第一类别的所述一个或更多个检测到的对象的一个或更多个对象实例的回归的位置、大小和方向数据的第二张量;以及
至少基于所述神经网络输出的所述第一张量和所述第二张量来生成与所述环境中的所述一个或更多个检测到的对象中的至少一个检测到的对象相对应的一个或更多个边界形状。
13.根据权利要求12所述的方法,所述第二张量中的所述回归的位置、大小和方向数据包括针对所述一个或更多个像素中的至少一个个体像素从所述至少一个个体像素指向由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的中心的矢量的表示。
14.根据权利要求12所述的方法,所述第二张量中的所述回归的位置、大小和方向数据包括针对所述一个或更多个像素中的至少一个个体像素由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的对象宽度的表示。
15.根据权利要求12所述的方法,所述第二张量中的所述回归的位置、大小和方向数据包括针对所述一个或更多个像素中的至少一个个体像素表示相对于由所述至少一个个体像素表示的一个或更多个对象实例的投影图像的方向的一个或更多个旋转角度的表示。
16.根据权利要求12所述的方法,其中所述神经网络包括连接到类置信度头部和实例回归头部的公共干线,其中所述类置信度头部包括多个通道,每个通道被配置为生成将所述一个或更多个像素与多个类别中的对应类别相关联的对应置信度图,其中所述神经网络包括连接到所述类置信度头部和所述实例回归头部的公共干线,其中所述多个分类通道各自被配置为生成针对所述多个类别中的对应类别的对应置信度图,针对所述多个类别中的第一类别的所述多个回归通道中的至少一个个体回归通道对属于所述第一类别的所述一个或更多个对象实例的集合的特定类型的位置、大小或方向信息进行回归。
17.一种用于对象检测的方法,包括:
将表示代表传感器检测的投影图像的数据应用于神经网络以:(i)使用属于所述神经网络并且包括多个分类通道的类置信度头部来计算表示每个所述分类通道的置信度图的第一输出,所述第一输出表示一个或更多个像素中的至少一个个体像素属于一个或更多个检测到的对象的多个类别中的对应类别的可能性,以及(ii)使用属于所述神经网络并且包括用于所述多个类别中的每个类别的多个回归通道的实例回归头部来计算第二输出,所述第二输出针对用于所述多个类别中的第一类别的所述多个回归通道中的至少一个个体回归通道表示属于所述第一类别并且由所述至少一个个体像素表示的所述一个或更多个检测到的对象的一个或更多个对象实例的一个或更多个回归。
18.根据权利要求17所述的方法,其中对于所述一个或更多个像素中的至少一个个体像素,所述一个或更多个回归值表示从所述至少一个个体像素指向由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的中心的矢量。
19.根据权利要求17所述的方法,其中对于所述一个或更多个像素中的至少一个个体像素,所述一个或更多个回归值表示由所述至少一个个体像素表示的所述一个或更多个对象实例中的一个对象实例的对象宽度。
20.根据权利要求17所述的方法,其中对于所述一个或更多个像素中的所述至少一个个体像素,所述一个或更多个回归值表示一个或更多个旋转角度,所述旋转角度表示相对于由所述至少一个个体像素表示的一个或更多个对象实例的投影图像的方向。
CN202011297922.5A 2019-11-21 2020-11-18 自主机器应用中使用radar传感器检测障碍物的深度神经网络 Active CN112825136B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962938852P 2019-11-21 2019-11-21
US62/938,852 2019-11-21
US16/836,583 2020-03-31
US16/836,583 US11885907B2 (en) 2019-11-21 2020-03-31 Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications

Publications (2)

Publication Number Publication Date
CN112825136A CN112825136A (zh) 2021-05-21
CN112825136B true CN112825136B (zh) 2024-05-14

Family

ID=73037812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011297922.5A Active CN112825136B (zh) 2019-11-21 2020-11-18 自主机器应用中使用radar传感器检测障碍物的深度神经网络

Country Status (4)

Country Link
US (2) US11885907B2 (zh)
EP (1) EP3828592A1 (zh)
JP (1) JP2021082293A (zh)
CN (1) CN112825136B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112020001042A2 (pt) * 2017-07-20 2020-07-21 Nissan Motor Co., Ltd. método de controle de deslocamento de veículo e dispositivo de controle de deslocamento de veículo
FR3084631B1 (fr) * 2018-07-31 2021-01-08 Valeo Schalter & Sensoren Gmbh Assistance a la conduite pour le controle longitudinal et/ou lateral d'un vehicule automobile
US11891067B2 (en) * 2019-12-11 2024-02-06 Electronics And Telecommunications Research Institute Vehicle control apparatus and operating method thereof
US11614514B2 (en) * 2020-03-27 2023-03-28 Intel Corporation Apparatus, system and method of generating radar perception data
US11783710B2 (en) * 2020-06-24 2023-10-10 Humanising Autonomy Limited Appearance and movement based model for determining risk of micro mobility users
US20220012506A1 (en) * 2020-07-13 2022-01-13 Wisense Technologies Ltd. System and method of segmenting free space based on electromagnetic waves
DE102020209979A1 (de) * 2020-08-06 2022-02-10 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren und Vorrichtung zum Erkennen eines Objekts aus Eingabedaten
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
EP4012603B1 (en) * 2020-12-10 2023-12-06 Aptiv Technologies Limited Method for classifying a tracked object
KR20220083232A (ko) * 2020-12-11 2022-06-20 현대자동차주식회사 객체의 픽셀 데이터 생성 방법, 객체의 방향성 결정 방법, 객체 추적 방법 및 장치와 이 방법을 실행하기 위한 프로그램을 기록한 기록 매체
CN113298044B (zh) * 2021-06-23 2023-04-18 上海西井信息科技有限公司 基于定位补偿的障碍物检测方法、系统、设备及存储介质
EP4154182A1 (en) 2021-07-26 2023-03-29 Google LLC Generation of machine learning predictions using multiple domain data sets
KR20230016487A (ko) * 2021-07-26 2023-02-02 현대자동차주식회사 장애물 형상 추정 장치 및 그 방법
CN113537113B (zh) * 2021-07-26 2022-10-25 哈尔滨工程大学 基于复合神经网络的水声目标识别方法
US20230050467A1 (en) * 2021-08-11 2023-02-16 Gm Cruise Holdings Llc Ground height-map based elevation de-noising
US20230057100A1 (en) * 2021-08-20 2023-02-23 Robert Bosch Gmbh Method and system for a continuous discrete recurrent kalman network
EP4181018A1 (en) * 2021-11-12 2023-05-17 ASML Netherlands B.V. Latent space synchronization of machine learning models for in-device metrology inference
WO2023122686A1 (en) * 2021-12-22 2023-06-29 Grimes Brad Action figures and building blocks
CN114529768B (zh) * 2022-02-18 2023-07-21 阿波罗智联(北京)科技有限公司 确定对象类别的方法、装置、电子设备和存储介质
EP4310535A1 (en) * 2022-07-20 2024-01-24 GM Cruise Holdings LLC Generating point clouds based upon radar tensors
US20240144416A1 (en) * 2022-10-26 2024-05-02 Qualcomm Incorporated Occupancy grid determination
CN116778346B (zh) * 2023-08-23 2023-12-08 蓝茵建筑数据科技(上海)有限公司 一种基于改进自注意力机制的管线识别方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334081A (zh) * 2017-01-20 2018-07-27 福特全球技术公司 用于对象检测的循环深度卷积神经网络
CN108596058A (zh) * 2018-04-11 2018-09-28 西安电子科技大学 基于计算机视觉的行车障碍物测距方法
CN109291929A (zh) * 2017-07-24 2019-02-01 通用汽车环球科技运作有限责任公司 用于自动驾驶系统的深度集成融合架构
CN110032949A (zh) * 2019-03-22 2019-07-19 北京理工大学 一种基于轻量化卷积神经网络的目标检测与定位方法
EP3525000A1 (en) * 2018-02-09 2019-08-14 Bayerische Motoren Werke Aktiengesellschaft Methods and apparatuses for object detection in a scene based on lidar data and radar data of the scene
WO2019178548A1 (en) * 2018-03-15 2019-09-19 Nvidia Corporation Determining drivable free-space for autonomous vehicles
CN110366710A (zh) * 2017-02-27 2019-10-22 华为技术有限公司 用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法
CN110383292A (zh) * 2017-04-07 2019-10-25 英特尔公司 用于深度神经网络的经预算和经简化的训练的方法和系统

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9754165B2 (en) 2013-07-30 2017-09-05 The Boeing Company Automated graph local constellation (GLC) method of correspondence search for registration of 2-D and 3-D data
US9098754B1 (en) 2014-04-25 2015-08-04 Google Inc. Methods and systems for object detection using laser point clouds
US9286538B1 (en) 2014-05-01 2016-03-15 Hrl Laboratories, Llc Adaptive 3D to 2D projection for different height slices and extraction of robust morphological features for 3D object recognition
US9948911B2 (en) 2014-09-05 2018-04-17 Qualcomm Incorporated Method and apparatus for efficient depth image transformation
US20170293837A1 (en) * 2016-04-06 2017-10-12 Nec Laboratories America, Inc. Multi-Modal Driving Danger Prediction System for Automobiles
US10019803B2 (en) 2016-10-17 2018-07-10 Conduent Business Services, Llc Store shelf imaging system and method using a vertical LIDAR
US10318827B2 (en) 2016-12-19 2019-06-11 Waymo Llc Object detection neural networks
US10593042B1 (en) 2017-04-11 2020-03-17 Zoox, Inc. Perspective conversion for multi-dimensional data analysis
US20180314253A1 (en) * 2017-05-01 2018-11-01 Mentor Graphics Development (Deutschland) Gmbh Embedded automotive perception with machine learning classification of sensor data
US20180349746A1 (en) 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US10809361B2 (en) 2017-05-31 2020-10-20 Uatc, Llc Hybrid-view LIDAR-based object detection
US20190026588A1 (en) 2017-07-19 2019-01-24 GM Global Technology Operations LLC Classification methods and systems
US10860034B1 (en) 2017-09-27 2020-12-08 Apple Inc. Barrier detection
US10347045B1 (en) 2017-09-29 2019-07-09 A9.Com, Inc. Creating multi-dimensional object representations
WO2019099413A1 (en) * 2017-11-14 2019-05-23 AWARE Technologies Systems and methods for moving object predictive locating, reporting, and alerting
US11017550B2 (en) 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US20190145765A1 (en) * 2017-11-15 2019-05-16 Uber Technologies, Inc. Three Dimensional Object Detection
CN111133447B (zh) * 2018-02-18 2024-03-19 辉达公司 适于自主驾驶的对象检测和检测置信度的方法和系统
US10705220B2 (en) 2018-04-19 2020-07-07 Faraday & Future Inc. System and method for ground and free-space detection
US20190361454A1 (en) 2018-05-24 2019-11-28 GM Global Technology Operations LLC Control systems, control methods and controllers for an autonomous vehicle
US10885698B2 (en) 2018-08-10 2021-01-05 Nvidia Corporation Method for programmable timeouts of tree traversal mechanisms in hardware
GB2576322B (en) 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data
US10970871B2 (en) * 2018-09-07 2021-04-06 Huawei Technologies Co., Ltd. Estimating two-dimensional object bounding box information based on bird's-eye view point cloud
US10915793B2 (en) 2018-11-08 2021-02-09 Huawei Technologies Co., Ltd. Method and system for converting point cloud data for use with 2D convolutional neural networks
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US10825188B1 (en) * 2019-03-08 2020-11-03 Zoox, Inc. Detector-tracker architecture
US11062454B1 (en) * 2019-04-16 2021-07-13 Zoox, Inc. Multi-modal sensor data association architecture
CN112101066B (zh) 2019-06-17 2024-03-08 商汤集团有限公司 目标检测方法和装置及智能驾驶方法、设备和存储介质
US20220327743A1 (en) 2019-09-24 2022-10-13 Lg Electronics Inc. Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method
US11380108B1 (en) 2019-09-27 2022-07-05 Zoox, Inc. Supplementing top-down predictions with image features
US11520037B2 (en) * 2019-09-30 2022-12-06 Zoox, Inc. Perception system
US20210109523A1 (en) 2019-10-10 2021-04-15 Waymo Llc Sensor field of view in a self-driving vehicle
US20210181758A1 (en) 2019-10-26 2021-06-17 Zoox, Inc. Object detection and tracking
GB2621701A (en) * 2019-11-14 2024-02-21 Motional Ad Llc Sequential fusion for 3D object detection
US11531107B2 (en) * 2019-11-19 2022-12-20 Volvo Car Corporation Long range LIDAR-based speed estimation

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334081A (zh) * 2017-01-20 2018-07-27 福特全球技术公司 用于对象检测的循环深度卷积神经网络
CN110366710A (zh) * 2017-02-27 2019-10-22 华为技术有限公司 用于控制自动驾驶车辆操作以确定规划路径的规划系统和方法
CN110383292A (zh) * 2017-04-07 2019-10-25 英特尔公司 用于深度神经网络的经预算和经简化的训练的方法和系统
CN109291929A (zh) * 2017-07-24 2019-02-01 通用汽车环球科技运作有限责任公司 用于自动驾驶系统的深度集成融合架构
EP3525000A1 (en) * 2018-02-09 2019-08-14 Bayerische Motoren Werke Aktiengesellschaft Methods and apparatuses for object detection in a scene based on lidar data and radar data of the scene
WO2019178548A1 (en) * 2018-03-15 2019-09-19 Nvidia Corporation Determining drivable free-space for autonomous vehicles
CN108596058A (zh) * 2018-04-11 2018-09-28 西安电子科技大学 基于计算机视觉的行车障碍物测距方法
CN110032949A (zh) * 2019-03-22 2019-07-19 北京理工大学 一种基于轻量化卷积神经网络的目标检测与定位方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BoxNet: A Deep Learning Method for 2D Bounding Box Estimation from Bird’s-Eye View Point Cloud;Nezhadarya, Yang Liu and Bingbing Liu;IEEE;第1557-1564页 *

Also Published As

Publication number Publication date
US20240061075A1 (en) 2024-02-22
US11885907B2 (en) 2024-01-30
US20210156960A1 (en) 2021-05-27
JP2021082293A (ja) 2021-05-27
CN112825136A (zh) 2021-05-21
EP3828592A1 (en) 2021-06-02

Similar Documents

Publication Publication Date Title
CN112825136B (zh) 自主机器应用中使用radar传感器检测障碍物的深度神经网络
CN113811886B (zh) 自主机器应用中的路口检测和分类
US11941873B2 (en) Determining drivable free-space for autonomous vehicles
US11532168B2 (en) Multi-view deep neural network for LiDAR perception
CN113168505B (zh) 用于自主驾驶机器的基于回归的线检测
US11675359B2 (en) Path detection for autonomous machines using deep neural networks
US20210026355A1 (en) Deep neural network for segmentation of road scenes and animate object instances for autonomous driving applications
US11531088B2 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN113056749B (zh) 用于自主机器应用的未来对象轨迹预测
EP3832341A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN113139642B (zh) 在自主驾驶应用中使用神经网络执行故障检测
JP2023531330A (ja) マシン学習を使用した自律マシン・アプリケーションのためのセンサ融合
CN113632095A (zh) 使用适合停车位检测的倾斜多边形进行对象检测
CN113785302A (zh) 自主机器应用中的路口姿态检测
CN114008685A (zh) 用于自主机器应用的路口区域检测和分类
CN111133448A (zh) 使用安全到达时间控制自动驾驶车辆
US20240029447A1 (en) Multi-view deep neural network for lidar perception
CN112904370A (zh) 用于激光雷达感知的多视图深度神经网络
US20230049567A1 (en) Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
CN116767245A (zh) 使用自主系统和应用的神经网络的地图信息对象数据管理
CN114450724A (zh) 用于自主机器应用的多活动者环境中的未来轨迹预测
CN117396926A (zh) 用于自主机器系统和应用的基于感知的标志检测和解释
CN116106905A (zh) 基于雷达的变道安全系统
CN117034024A (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