掌桥专利:专业的专利平台
掌桥专利
首页

基于鸟瞰图点云的二维对象边界框信息估计

文献发布时间:2023-06-19 11:27:38


基于鸟瞰图点云的二维对象边界框信息估计

相关申请案的交叉参考

本申请要求于2018年9月7日递交的发明名称为“根据鸟瞰图点云估计2D对象边界框的方法和系统(METHOD AND SYSTEM FOR ESTIMATING 2D OBJECT BOUNDING BOX FROMBIRD’S-EYE VIEW POINT CLOUD)”的第62/728,504号美国临时专利申请案以及于2019年4月10日递交的发明名称为“根据鸟瞰图点云估计2D对象边界框的方法和系统(METHOD ANDSYSTEM FOR ESTIMATING 2D OBJECT BOUNDING BOX FROM BIRD’S-EYE VIEW POINTCLOUD)”的第16/380,273号美国专利申请案的优先权,这两个申请案的内容以引用的方式并入本文中,如全文再现一般。

技术领域

本申请大体上涉及二维对象边界框信息的估计,更具体地,涉及根据鸟瞰图点云数据估计此类边界框信息。

背景技术

不同类型的传感器可用于感测传感器周围的环境。处理单元可以接收由每个不同的传感器获取和提供的传感器数据,并对传感器数据进行处理以探测和识别传感器周围环境中的感兴趣对象。例如,传感器可以包括使用各类波来感测传感器周围的环境的探测和测距(detecting and ranging,DAR)传感器。激光雷达传感器使用光波。雷达传感器使用无线电波。声纳传感器使用声波。自动驾驶车辆通常包括一个或多个不同类型的探测和测距传感器,用于感测车辆周围环境中的对象。激光雷达传感器等DAR传感器可提供包括传感器周围环境中由DAR传感器产生的一个或多个数据点集的传感器数据。传感器周围环境中由DAR传感器产生的每个数据点集通常称为三维(three-dimensional,3D)点云。每个数据点集(例如,每个3D点云)表示传感器周围环境中的三维(three-dimensional,3D)对象。在一些应用中,除了探测和识别传感器周围环境中的感兴趣对象之外,处理单元还可以使用每个3D点云执行“边界框估计”。近年来,根据从3D点云中获取的鸟瞰图(从上向下)2D点云的二维(two-dimensional,2D)边界框估计和L形拟合越来越受到关注。

附图说明

现在将通过示例参考示出示例实现方式的附图,其中:

图1示出了用传统方法对边界框进行的不准确估计值;

图2是本申请各方面提供的示例自动驾驶车辆的一些组件的框图;

图3是本申请各方面提供的用于实现边界框估计器的处理系统的一些组件的框图;

图4是本申请各方面提供的边界框估计器的逻辑组件的框图;

图5是本申请各方面提供的边界框估计器的逻辑组件的框图。

在不同的附图中可能使用相似的附图标记来表示相似的组件。

具体实施方式

目前已知的2D边界框估计方法依赖于直接评估对象的2D数据点集(2D点云)。评估的结果可能是紧贴着2D数据点集中的所有点的矩形。在“L形”估计的情况下,如果数据点定义了两个清晰的可观察边缘,那么可以使用这些数据点来估计对象的2D边界框。

值得注意的是,给定对象的2D点云可描述为不完整的或稀疏的,使得只能从2D点云中观察到给定对象的一部分。例如,可由于遮挡、视角限制或DAR传感器限制而导致数据点集不完整(例如,稀疏的2D点云)。例如,DAR传感器的限制可能是由于试图感测给定对象造成的,尽管给定对象与DAR传感器的距离相对较远。在2D点云的数据点仅部分表示目标对象的情况下,估计边界框不太可能准确地表示目标对象。

图1中举例说明了点云的数据点仅部分地表示目标对象的问题。图1示出了激光雷达传感器提供的具有第一矩形框12所示实际(真实)外部边界的被检测对象的不完整或稀疏二维数据点集10。如图1所示,诸如对象被部分遮蔽之类的问题已导致为该对象生成的数据点集10不完整或稀疏。图1所示的第二矩形框14表示由于不完整或稀疏数据点集10而错误估计的对象的边界框。

本申请的各方面涉及一种边界框估计器,用于接收表示3D点云对DAR传感器周围的包括给定对象的空间的鸟瞰图(bird’s eye view,BEV)的投影的无序2D数据点集,并为给定对象生成2D对象边界框(例如,2D对象边界框矢量)。在示例性实施例中,边界框估计器包括两个神经网络,所述神经网络学习根据各种对象的2D点云来估计2D对象边界框的大小、位置和方向。边界框估计器中包括的神经网络最初可以一起训练以调整神经网络的权重或偏差,直到总体损失函数达到最优数值并在随后使用时可以用于根据无序2D数据点集生成2D边界框,如下文进一步详细描述。

本申请的各方面涉及:响应于对象的给定2D点云,使用深度神经网络来估计对象的边界框的特征。方便的是,深度神经网络的训练为深度神经网络提供了可能执行边界框估计的对象的先验知识。例如,根据训练,深度神经网络可以熟悉估计汽车的边界框。由此可见,例如,即使2D点云仅表示汽车的引擎盖和前挡风玻璃,本申请的各方面仍能够估计整个汽车的边界框。

根据本发明的一个方面,提供了一种用于估计对象的2D对象边界框(例如,2D对象边界框矢量)的方法。所述方法包括:边界框估计器接收表示特定对象的3D点云;边界框估计器处理3D点云以生成无序二维数据点集,所述无序二维数据点集表示3D点云对DAR传感器周围的空间的鸟瞰图(bird’s eye view,BEV)的投影,其中所述空间包括特定对象;边界框估计器为对象生成边界框矢量。所述边界框矢量包括:物体的边界框宽度的值;边界框长度的值;边界框的方向角的值;边界框中心的值。

根据本发明的另一方面,提供了一种处理单元。所述处理单元包括存储定义边界框估计器的计算机可读指令的电子存储器和处理器,所述处理器用于执行所述计算机可读指令以:接收探测和测距(detection and ranging,DAR)传感器提供的传感器数据,所述传感器数据包括表示特定对象的3D点云;处理传感器数据以生成一个或多个无序二维数据点集,每个无序二维数据点集表示3D点云对DAR传感器周围的空间的鸟瞰图(bird’s eyeview,BEV)的投影,其中所述空间包括特定对象;为对象生成估计边界框矢量。边界框矢量包括:边界框宽度的值;边界框长度的值;边界框的方向角的值;边界框中心的值。

虽然本申请的各方面在本文中结合深度神经网络的使用进行描述,但是本领域普通技术人员应该清楚,深度神经网络不是可以使用的唯一一种神经网络。要满足的主要条件是输入和输出接口与本文描述的数据格式保持一致。实际上,神经网络可以看作是机器学习方法的一个子集,用于边界框估计。

本发明的其它方面和特征将在本领域普通技术人员结合附图阅读本发明的具体实现方式的以下描述时变得显而易见。

本发明的一些示例以自动驾驶车辆为例进行描述。然而,本申请的各方面可能也适用于实现除自动设备之外的设备。也就是说,本申请的各方面还可适用于实现非车载设备和非自动设备。例如,本申请的各方面有利于执行对象检测和边界框估计的任何基于机器学习的系统或设备。此外,本申请的各方面还可适用于实现图像处理设备,例如工作站或与自动机器无关的其它计算设备(例如,用于分析雷达数据或超声波数据的图像处理工作站)。

尽管本文描述的示例可以指自动驾驶车辆等汽车,但本发明的教示可以在其它形式的自动驾驶或半自动驾驶车辆中实现,包括电车、地铁、卡车、公共汽车、水面和水下航行器和船只、飞机、无人机(也称为无人飞行载具或“UAV”)、仓储设备、施工设备或农用设备等,可能包括非载客车辆以及载客车辆。本申请的各方面可适用于实现的示例性非车载设备包括自动真空吸尘器和自动割草机等。

图2是示例自动驾驶汽车100的各种组件的框图。尽管车辆100被描述为自动的,但可以在全自动、半自动或完全用户控制模式下操作。在本公开中,车辆100体现为汽车。然而,本申请的各方面可以在其它车载或非车载机器中实现,如上文所述。

图2的示例车辆100包括传感器系统110、数据分析系统120、路径规划系统130、车辆控制系统140和机电系统150。车辆100也可酌情包括其它系统和组件。车辆100的各种系统和组件可以通过有线通信或无线通信等彼此进行通信。例如,传感器系统110可以与数据分析系统120、路径规划系统130和车辆控制系统140进行通信。数据分析系统120可以与路径规划系统130和车辆控制系统140进行通信。路径规划系统130可以与车辆控制系统140进行通信。车辆控制系统140可以与机械系统150进行通信。

在图2所示的示例性实施例中,数据分析系统120、路径规划系统130和车辆控制系统140是不同的软件系统,可以在用于执行软件系统的指令或过程的一个或多个硬件设备上实现,例如处理单元、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)和/或其它类型的硬件设备。例如,数据分析系统120、路径规划系统130和车辆控制系统140可以在单个硬件设备上实现。或者,数据分析系统120、路径规划系统130和车辆控制系统140中的两个系统可以在第一硬件设备上实现,路径规划系统130和车辆控制系统140中的另一个系统可以在第二不同硬件设备上实现。或者,数据分析系统120、路径规划系统130和车辆控制系统140中的每一个系统都可以在不同硬件设备上实现。图2示出了从传感器系统110到数据分析系统120、到路径规划系统130、到车辆控制系统140以及最后到机电系统150(在下文进一步详细讨论)的示例数据流(箭头所示)。然而,应理解,可以在系统110、120、130、140、150之间以各种不同方式发送数据,并且可以在系统110、120、130、140、150之间进行双向数据通信。

传感器系统110包括用于收集车辆100的内部环境和/或车辆100的外部环境信息的各种感测单元。在所示示例中,传感器系统110包括雷达单元112、激光雷达单元114、相机116和全球定位系统(global location system,GPS)单元118。传感器系统110可以包括其它感测单元,例如温度传感器、降水传感器或麦克风等其它传感器。

在示例性实施例中,激光雷达单元114可以包括一个或多个激光雷达传感器(未示出)。激光雷达传感器可以在广角视图(例如,360°角视图)中扫描车辆100的外部环境,以采集车辆100周围环境中的对象信息。激光雷达传感器采集在环境中检测到的对象的三维(three-dimensional,3D)信息,并且可以处理3D信息以在表示环境中对象的3D空间中形成数据点集。值得注意的是,3D空间中的数据点集可以称为3D点云。可以用3D空间中对象上感测点的三个坐标(例如,x、y、z)的值来表示3D点云中的每个数据点。众所周知,3D点云中的数据点集可能不规则地间隔,其间隔取决于所感测的环境。在一些示例中,除了坐标之外,3D点云中的每个数据点也可以包含其它信息。在一个示例中,其它信息是表示反射光强度的值。在另一示例中,其它信息是表示检测时间的值。激光雷达单元114提供包括由激光雷达传感器提供的3D点云的传感器数据。

通过各种感测单元112、114、116、118,传感器系统110可以收集车辆100的本地环境(例如,任何直接环绕障碍物)的信息以及来自附近更大范围的信息(例如,雷达单元112和激光雷达单元114可以从车辆100周围100米半径内的区域收集信息)。传感器系统110还可以收集车辆100相对于参考帧的位置和方向的信息(例如,使用GPS单元118)。传感器系统110以传感器数据的形式提供所收集的信息。

传感器系统110与数据分析系统120进行通信以提供传感器数据,对该传感器数据进行处理以探测和识别车辆100周围环境中的对象。例如,传感器系统110可提供包括由相机单元116提供的图像的传感器数据或由雷达单元112和/或激光雷达单元114提供的3D点云。示例对象包括静止障碍物、行人和其它车辆。数据分析系统120可以使用任何合适的分析方法处理从传感器系统110接收的传感器数据。适合的示例分析方法包括那些在计算机视觉领域广为人知的技术和算法。

数据分析系统120可以使用软件来实现,软件可以包括任何数量的算法实现模块和功能。这些模块和功能可以是独立的,也可以是相互关联的。例如,模块可以实现机器学习算法。例如,功能可以实现已知的图像处理功能。数据分析系统120可以使用一个或多个专用图像处理硬件单元实现,或者可以使用车辆100的一个或多个通用处理硬件单元实现。

数据分析系统120可重复(例如,在定期时间间隔内)从传感器系统110接收传感器数据。响应于接收传感器数据,数据分析系统120可以执行图像分析。数据分析系统120执行图像分析的速度可导致结果产生及时,可分为实时或近实时。

例如,数据分析系统120的输出可包括给定对象的标识。例如,给定对象的标识可以包括给定对象的对象类的指示,指示给定对象的对象位置,并指示给定对象在2D空间和/或3D空间中的对象边界。

在图2的车辆100中的数据分析系统120的模块中包括一个边界框估计器124。根据本申请的各方面,边界框估计器124用于根据表示对象的鸟瞰图2D点云估计2D对象边界框。下文将更详细地描述边界框估计器124。

在概述中,边界框估计器124从表示对象的“3D点云”生成“边界框”。边界框估计器124包括两个神经网络:用于特征提取的第一神经网络和用于边框回归的第二神经网络。在此描述的实施例中,雷达单元的雷达传感器112或激光雷达单元114的激光雷达传感器等DAR传感器提供包括“点云”的传感器数据,该“点云”是车辆100周围环境的扫描结果。此“点云”可包括一个或多个对象。数据分析系统120对点云执行汇聚和分割以生成表示“点云”中每个特定对象的不同“3D点云”,所述点云是车辆100周围环境的扫描结果。然后,将表示特定对象的每个不同“3D点云”输入到边界框估计器124。

由传感器系统110生成的传感器数据可以提供给路径规划系统130。路径规划系统130接收的传感器数据可用于生成目标对象。车辆控制系统140用于根据路径规划系统130生成的目标对象控制车辆100的操作。车辆控制系统140可用于提供控制信号,从而允许对车辆100进行完全、部分或辅助控制。机电系统150从车辆控制系统140接收控制信号,并且根据控制信号,可以用于操作车辆100的机电组件。车辆100的此类机电组件可以包括发动机(未示出)、变速器(未示出)、转向系统(未示出)和制动系统(未示出)。

传感器系统110、数据分析系统120、路径规划系统130和车辆控制系统140可以单独或以组合形式至少部分地在车辆100的一个或多个处理单元中实现。通过举例,图3示出了车辆100的处理单元200的示例。处理单元200示出为包括物理处理器210。尽管示出了单个物理处理器210,但处理单元200可以包括多个物理处理器210。例如,物理处理器210可以是微处理器、中央处理单元、图形处理单元、张量处理单元、数字信号处理器或其它计算元件。

示出了物理处理器210与电子存储器220相耦合。电子存储器220可以包括瞬时性存储器(未示出)。瞬时性存储器可以包括“闪存”等。电子存储器220可以包括非瞬时性存储器(未示出),例如随机存取存储器(random access memory,RAM)。电子存储器220的瞬时性存储器可存储指令、数据和/或软件模块,以供物理处理器210执行以执行本文中所描述的系统的功能。电子存储器220的瞬时性存储器部分可存储用于实现车辆100的其它操作的其它软件指令和数据。电子存储器220可包括任何合适的易失性和/或非易失性存储和检索设备。电子存储器220可包括以下中的一个或多个:RAM、只读存储器(read only memory,ROM)、硬盘、光盘、用户识别模块(subscriber identity module,SIM)卡、记忆棒、安全数码(secure digital,SD)存储卡等。

在图3中示出了电子存储器220,用于存储数据分析系统120、路径规划系统130、车辆控制系统140和传感器数据160的指令。方便的是,本申请的各方面设想了边界框估计器124不会总是在从传感器系统110中的激光雷达单元114直接接收数据的情况下运行。实际上,环境数据可以不是同时收集的并作为传感器数据160存储在电子存储器220中。

示出了物理处理器210与输入/输出(I/O)接口230相耦合。尽管仅示出了一个I/O接口230,但是处理单元200中可以包括多个I/O接口和设备。

在图3的示例中,存储在处理单元200的电子存储器220中的指令和数据使得处理器210能够实现边界框估计器124。边界框估计器124可以执行数据分析系统120的子模块或子系统。边界框估计器124提供可存储在电子存储器220中并由数据分析系统120或路径规划系统130使用的2D边界框矢量。对象分类模块126和对象跟踪模块128的输出可以为路径规划系统130提供其它输入数据。

在示例性实施例中,边界框估计器124接收表示特定对象的3D点云;将3D点云转换为无序2D数据点集,所述无序2D数据点集表示对DAR传感器感测的环境或空间的2D鸟瞰图(bird’s-eye view,BEV)的投影;生成估计2D边界框,包括特定对象相对于DAR传感器的坐标系(例如,激光雷达单元114的坐标系或雷达单元112的坐标系)的大小和姿势;输出估计2D边界框。根据本申请的各方面,边界框估计器124包括用于特征提取的第一神经网络和用于边框回归的第二神经网络,一起训练第一神经网络和第二神经网络以学习根据表示对包括对象的感测环境或空间的2D BEV的投影的任何无序2D数据点集,估计对象的包括大小和姿势的2D边界框。使用包括无序2D数据点集的训练数据集一起训练第一神经网络和第二神经网络,以获取每个给定对象的包括大小和姿势的估计2D边界框。在训练中,每个无序2D数据点集表示3D点云对包括给定对象的感知环境或空间的2D BEV的投影,训练数据集中的每个给定对象的实际2D BEV大小和方向与边界框估计器的第二神经网络的输出相比较。一起训练第一神经网络和第二神经网络以学习第一神经网络和第二神经网络的参数(例如,权重和偏差),直到边界框估计器的损失函数达到最优数值。

图4以框图的形式示出了根据示例性实施例的边界框估计器124的示例逻辑架构。尽管未示出,但可以理解的是,存在用于将表示大小为n的表示对象的3D点云转换为无序2D数据点集402的函数。因此,在示例性实施例中,边界框估计器124的输入是大小为n的3D点云(例如,3D点云包括表示特定对象的n数据点)。无序2D数据点集402包括n数据点,并且表示3D点云到DAR传感器感测的环境或空间的2D BEV的投影。无序2D数据点集402中的每个数据点表示为2D BEV坐标(x,y),使得无序2D数据点集402可以表示为具有2n值:x坐标的n值和y坐标的n值的输入矢量。在这方面,具有x、y和z坐标的3D数据点集的纵轴(z)坐标被有效忽略,使得2D数据点集402的每个数据点表示从正上方观察的人造水平二维空间中的一个点。值得注意的是,边界框估计器124不是在当前时刻接收和转换3D点云,而是可以存取作为先前已接收、转换和存储为传感器数据160的集合的无序2D数据点集402(参见图3)。此外,传感器数据160可以定期更新。应当理解的是,在替代性示例性实施例中,边界框估计器124中不包括用于将大小为n的表示对象的3D点云(例如,包括n数据点的3D点云)转换为无序2D数据点集402的函数,但数据分析系统120中包括该函数。

边界框估计器124输出估计边界框矢量[c

在图4的示例中,边界框估计器124包括两个神经网络和附加函数。边界框估计器124接收无序2D数据点集并输出估计边界框矢量[c

边界框估计器124的附加函数包括均值池函数418,确定无序2D数据点集402的x坐标值的

在图4所示的实施例中,用于特征提取的第一神经网络410包括多个连续的多层感知器(multi-layer perceptron,MLP)424:第一MLP 424A;第二MLP 424B;第三MLP 424C。多个连续MLP 424之后执行最大池化函数426。

众所周知,通用MLP具有节点。节点是计算单元,具有一个或多个输入连接、以某种方式组合输入的传递函数和输出连接,每个输入连接与相应的权重或偏差相关联。节点也可以称为神经元,因此产生“神经网络”这个名称。节点在通用MLP内分层排列:输入层;一个或多个隐藏层;输出层。第一神经网络410的MLP 424分别由其各自的输入/输出层中的节点数量定义。例如,第一MLP 424A具有64个节点。相应地,第一MLP 424A在其输入层中有64个节点,在其输出层中有64个节点。类似地,第二MLP 424B在其输入层中有128个节点,在其输出层中有128个节点。此外,第三MLP 424C在其输入层中有1024个节点,在其输出层中有1024个节点。

尽管可以使用多个不同架构来实现用于特征提取的第一神经网络410,但在图4的所说明的非限制性示例中,MLP 424的数量为三个,并且代表MLP特点的节点数随着第一神经网络410中的每个后续MLP递增:从64个节点增加到128个节点,再到1024个节点。

第一MLP 424A包括64个节点。连接第一MLP 424A的输入层中的64个节点中的每个节点以接收所有2n个均减值作为输入。64个MLP节点中的每个节点都产生n个值作为输出。

第二MLP 424B包括128个MLP节点。连接128个MLP节点中的每个节点以接收从第一MLP 424A输出的所有64n个值作为输入。128个MLP节点中的每个节点都产生n个值作为输出。

第三MLP 424C包括1024个MLP节点。连接1024个MLP节点中的每个节点以接收来自第二MLP 424B的所有128n个值作为输入。1024个MLP节点中的每个节点都产生n个值作为输出。也就是说,第三MLP 424C中的1024个MLP节点中的每个节点产生一列n值,使得1024列值从第三MLP 424C输出。

最大池化函数426选择1024列中的每一列的最大值以生成具有1024个值的提取的特征矢量422。总之,在图4的示例中,各种MLP 424(具有64个节点、128个节点、1024个节点)结合最大池化函数426允许第一神经网络410生成大小为1024的提取的特征矢量422。

第一神经网络410可以以斯坦福大学的Charles R.Qi、Hao Su、Kaichun Mo和Leonidas J.Guibas创作的“PointNet”中所公开的方面所熟悉的方式实现。PointNet代码可在github.com/charlesq34/pointnet上找到。

提取的特征矢量422用作边框回归的第二神经网络411的输入。第二神经网络411包括三个子网络412、414和416。方向估计子网络412用于估计边界框的方向角矢量[cos 2θ,sin 2θ]

如图4所示,用于边框回归的第二神经网络411的每个子网络412、414和416包括多个全连接层(fully connected layer,FCL)。在图4所示的示例中,每个子网络412、414和416包括的FCL的级数(3)与其它子网络412、414和416相同。FCL的特点为具有多个节点。在图4所示的示例中,子网络412、414和416中的一个子网络中的FCL包括的节点数与子网络412、414和416中的另外两个子网络中的对应级的FCL相同。

按照与MLP 424的排列一致的方式,将通用FCL布置在一系列节点层中:输入层、一个或多个隐藏层和输出层。在FCL中,每一层的每个节点都与系列中的下一层的每个节点相连。

在图4所示的非限制性示例中,每个子网络412、414和416包括三个FCL级。方向估计子网络412的第一级中的第一FCL 412A具有512个节点。类似地,大小估计子网络414的第一级中的第一FCL 414A具有512个节点,中心估计子网络416的第一级的第一FCL 416A具有512个节点。方向估计子网络412的第二级中的第二FCL 412B具有128个节点。类似地,大小估计子网络414的第二级中的第二FCL 414B具有128个节点,中心估计子网络416的第二级中的第二FCL 416B具有128个节点。方向估计子网络412的第三级中的第三FCL412C具有2个节点。类似地,大小估计子网络414的第三级中的第三FCL 414C具有2个节点,中心估计子网络416的第三级中的第三FCL 416C具有2个节点。

对于所有三个子网络412、414和416,应用于第一级和第二级节点的激励函数是修正线性单元(rectified line unit,ReLU)激励函数。值得注意的是,方向估计子网络412的第三级中的第三FCL 412C中的激励函数不同于大小估计子网络414的第三级中的第三FCL414C中的激励函数,且这两个激励函数均不同于中心估计子网络416的第三级中的第三FCL416C中的激励函数。

方向估计子网络412的第三FCL 412C的两个节点使用tan h激励函数来输出边界框的方向角矢量[cos 2θ,sin 2θ]

在上述示例中,方向估计子网络412输出边界框的方向角矢量[cos 2θ,sin 2θ]

关于大小估计子网络414对边界框的大小矢量(w,l)408的估计,基于学习的边界框拟合方法能够从训练数据中学习对象大小。为了保证大小估计子网络414的输出始终为正,使用“ReLU”作为大小估计子网络414的第三FCL 414C中的节点的激励函数。

如图4所示,在示例性实施例中,分别由方向估计子网络412和大小估计子网络414估计的边界框的方向角矢量[cos 2θ,sin 2θ]

值得注意的是,方向估计子网络412中的第一FCL 412A和大小估计子网络414中的第一FCL 414C分别接收1024值特征矢量作为输入。相比之下,中心估计子网络416中的第一FCL 416A接收1028值输入矢量作为输入,所述1028值输入矢量包括1024值特征矢量以及方向估计子网络412的第三FCL 412C的输出的估计边界框方向角矢量[cos 2θ,sin 2θ]

这样做是为了利用估计中心矢量

如上所述,在生成提取的特征矢量422之前,从每个输入数据点中减去无序2D数据点集402的点云均值

在成功部署神经网络之前,必须对神经网络进行训练。一般而言,训练神经网络涉及向神经网络提供数据集,其中使用神经网络处理数据集的预期结果是已知的。使用包括无序2D数据点集的训练数据集一起训练图4的边界框估计器124的第一神经网络410和第二神经网络411。无序2D数据点集可以从3D点云集生成,其中,所述集合中的每个3D点云表示已知对象。将集合中的每个3D点云转换为已知2D边界框矢量的无序2D数据点集。

3D点云集(其中每个3D点云代表一个对象)的一个示例可见于KITTI视觉基准套件,是卡尔斯鲁厄技术研究所和芝加哥丰田技术研究所的一个项目。KITTI视觉基准套件包括KITTI 3D对象数据集,已知该数据集包括数千个已良好校准和同步的激光雷达和相机帧。

训练神经网络可以基于已知为前馈,损失和反向传播阶段的顺序。

参考图4,对于表示存在已知边界框矢量(即,真实边界框)的KITTI 3D数据集中特定对象的3D点云(例如,3D数据点集),训练图4的边界框估计值124可涉及将3D点云转换为无序2D数据点集402。在前馈阶段,无序2D数据点集402输入到边界框估计器124的第一神经网络410。边界框估计器124的第二神经网络411输出估计边界框矢量[c

在损失阶段,可以确定边界框估计器124输出的估计边界框矢量[c

根据本申请的各方面,用于一起训练边界框估计器124的第一神经网络410和第二神经网络411的总损失函数可以定义为:

loss=w

其中,L

一旦确定了边界框估计器124的总损失,就需要一种机制来传回总损失,使得可以更新与每个MLP 424的节点和FCL 412A、412B、412C、414A、414B、414C、416A、416B、416C的节点相关联的权重或偏差。

确定权重或偏差的总损失函数的导数可有助于更新与每个MLP 424的节点和FCL412A、412B、412C、414A、414B、414C、416A、416B、416C的节点输入相关联的权重或偏差。

第一神经网络410和第二神经网络411,包括MLP 424和FCL 412A、412B、412C、414A、414B、414C、416A、416B、416C可以在python编程语言中实现。此外,已知机制用于更新与第一神经网络410和第二神经网络411的MLP 424和FCL 412A、412B、412C、414A、414B、414C、416A、416B、416C的节点相关联的权重和偏差,以便通过包括子网络410、412、414和416的第一神经网络410和第二神经网络411传回总损失。

在示例性实施例中,使用测试数据集(例如上文提及的KITTI视觉基准套件)一起训练边界框估计器124的第一神经网络410和第二神经网络411,直到性能达到令人满意的水平。对于给定数据集,测试数据集的80%可用于生成包括用于训练的无序2D数据点集的训练数据集。测试数据集的其余20%可用于生成验证数据集。也就是说,在使用训练数据集一起训练边界框估计器124的第一神经网络410和第二神经网络411之后,可以评估验证数据集实现的性能水平。可定义令人满意的性能水平为对验证数据集的进一步输入进行评估所带来的损失不再得到改善的性能水平。也就是说,损失函数不再呈下降趋势。

图5示出了作为图4的实施例的替代方案的边界框估计器124的实施例。

与图4的实施例相同,图5的实施例接收表示对象的无序2D数据点集402(例如,2D点云)作为输入。

均值池418确定点云平均值

在图5所示的实施例中,第一神经网络510包括两个EdgeConv:第一EdgeConv 524A和第二EdgeConv 524B。备选特征提取子网络510还包括与图4中相似的第三MLP 424C。第三MLP 424C之后是与图4中相似的最大池化函数426。将备选特征提取子网络510的输出中提取的特征矢量522传递给用于边框回归的第二神经网络411。

如本领域所知,EdgeConv不是直接从嵌套中生成特征,而是生成描述数据点与其相邻数据点之间关系的边缘特征。设计EdgeConv的相邻数据点的顺序是不变的,因此,设计为排列顺序不变。

每个EdgeConv 524可以类似于MLP 424的方式在python编程语言中实现。

在示例性实施例中,一旦训练了边界框估计器124,边界框估计器124可以与车辆100中存在的其它模块结合使用,以启用自动驾驶或辅助驾驶。在示例性实施例中,一旦训练了边界框估计器124,则使得图3的处理单元200的边界框估计器124能够启用的代码和数据可以复制到或传输到其它处理单元,从而使得这些处理单元能够在其它车辆或设备上实现各自的边界框估计器。

边界框估计的用例是多种多样的。上文以自动驾驶车辆的路径规划为例描述了边界框估计。环境中每个对象的边界框的估计允许自动驾驶车辆确定路径规划。自动驾驶车辆可以根据对象的位置和大小的信息,确定最优路径规划。

在另一个用例中,边界框估计可用于定位个人,使得边界框估计可应用于跟踪系统。这种跟踪系统可用于计算和跟踪人员流动情况。例如,在地铁站,统计和跟踪人员流动情况可以收集有关进出某一特定入口的人流的统计数据。参考图3,当在跟踪系统中使用边界框估计时,处理单元200可以不包括路径规划系统130或车辆控制系统140。

方便的是,本申请的各方面限于在估计给定对象的边界框时使用2D数据点集。已知方法可以是计算密集型的,因为此类已知方法往往侧重于3D数据点并提供端到端方案。端到端方案是好,但有些情况可能不适用。例如,当仅使用2D探测和测距时,可获得的感测信息可能非常有限。在这种情况下,大多数现有方法使用非学习方法估计边界框。非学习方法可能无法处理对象被遮挡的情况。此外,非学习方法可能无法处理具有噪声数据的情况。可以表明,在具有遮挡和/或噪声输入的情况下,使用本申请的各方面确定的边界框估计比现有方法更好。

根据本发明的一方面,提供了一种方法。所述方法包括:接收表示环境中对象的点云,点云包括2D数据点集;使用深度学习网络估计由点云表示的对象的2D边界框。在该方法中,每个2D数据点可以包括两个坐标值。在上述任一方面中,估计边界框可以包括:使用深度学习网络的初始子网络从点云中提取特征矢量信息以输出提取的特征矢量。在上述任一方面中,估计边界框可以包括:使用深度学习网络的第一子网络,根据提取的特征矢量估计边界框的方向;使用深度学习网络的第二子网络,根据提取的特征矢量估计边界框的大小;使用深度学习网络的第三子网络,根据提取的特征矢量估计边界框的中心。在上述任一方面中,深度学习网络的第三子网络也可以根据第一子网络估计的边界框的估计方向和/或第二子网络估计的边界框的估计大小来估计边界框的中心。

根据本发明的另一方面,提供了一种系统。所述系统包括:至少一个激光雷达传感器,用于获取表示激光雷达传感器环境的原始传感器数据;数据分析系统。数据分析系统用于:接收原始传感器数据;处理原始传感器数据以生成包括作为2D数据点的数据集的点云,所述点云表示环境中的对象;使用深度学习网络来估计点云表示的对象的2D边界框。数据分析系统还可以用于:使用深度学习网络的初始子网络估计边界框,以从点云中提取特征矢量信息以输出提取的特征矢量。在上述任一方面中,数据分析系统还可以用于通过以下方式估计边界框:使用深度学习网络的第一子网络,根据提取的特征矢量估计边界框的方向;使用深度学习网络的第二子网络,根据提取的特征矢量估计边界框的大小;使用深度学习网络的第三子网络,根据提取的特征矢量估计边界框的中心。在上述任一方面中,深度学习网络的第三子网络也可以根据第一子网络估计的边界框的估计方向和/或第二子网络估计的边界框的估计大小来估计边界框的中心。

尽管本发明以特定的顺序描述了方法和流程,但可以视情况省略或更改方法和流程的一个或多个步骤。一个或多个步骤可以按顺序执行,但不是按描述的顺序执行(视情况而定)。

尽管描述了本发明,但至少部分地,就方法而言,本领域普通技术人员将理解,本发明还涉及各种组件,用于通过硬件组件、软件或两者的任意组合执行所描述的方法的至少一些方面和特征。相应地,本发明的技术方案可通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,例如,DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。软件产品包括其上存储的指令,这些指令使处理设备(例如个人计算机、服务器或网络设备)能够执行本文所公开的方法的示例。

本发明可以其它特定形式体现,而不脱离权利要求的主题。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以将上述一个或多个实施例中的选定特征组合以创建未明确描述的替代实施例,理解适合此类组合的特征在本发明的范围内。

还公开了公开范围内的所有值和子范围。此外,虽然本文所公开和显示的系统、器件和流程可包括特定数量的元素/组件,但可以修改所述系统、器件和组合件,以包括此类元素/组件中的更多或更少的元素/组件。例如,尽管所公开的任何元素/组件可引用为单数,但可以修改本文所公开的实施例以包括多个此类元素/组件。本文所描述的主题旨在覆盖和涵盖所有适当的技术变更。

相关技术
  • 基于鸟瞰图点云的二维对象边界框信息估计
  • 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法
技术分类

06120112933362