Traitement en cours

Veuillez attendre...

Paramétrages

Paramétrages

Aller à Demande

1. WO2020108311 - PROCÉDÉ ET APPAREIL DE DÉTECTION 3D POUR OBJET CIBLE, SUPPORT ET DISPOSITIF

Document

说明书

发明名称 0001   0002   0003   0004   0005   0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026   0027   0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208  

权利要求书

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43  

附图

1   2   3   4   5   6   7   8   9   10   11  

说明书

发明名称 : 目标对象3D检测方法、装置、介质及设备

[0001]
本公开要求在2018年11月29日提交中国专利局、申请号为201811446588.8、发明名称为“目标对象3D检测方法、装置、介质及设备”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。

技术领域

[0002]
本公开涉及计算机视觉技术,尤其是,涉及一种目标对象3D检测方法和装置、车辆智能控制方法和装置、避障导航方法和装置、电子设备、计算机可读存储介质以及计算机程序。

背景技术

[0003]
3D检测可以应用在智能驾驶以及避障导航等多种技术中。在智能驾驶技术中,通过3D检测,可以获得智能驾驶车辆的周围车辆以及行人等目标对象的具体位置、形状大小以及移动方向等信息,从而可以帮助智能驾驶车辆进行智能行驶决策。
[0004]
发明内容
[0005]
本公开实施方式提供一种目标对象3D检测、车辆智能控制驶和避障导航技术方案。
[0006]
根据本公开实施方式其中一个方面,提供一种目标对象3D检测方法,包括:提取获取到的场景的点云数据的特征信息;根据所述点云数据的特征信息对所述点云数据进行语义分割,获得所述点云数据中的多个点的第一语义信息;根据所述第一语义信息预测所述多个点中对应目标对象的至少一个前景点;根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框;根据所述3D初始框确定所述场景中的所述目标对象的3D检测框。
[0007]
根据本公开实施方式其中再一方面,提供一种车辆智能控制方法,包括:采用上述目标对象3D检测方法,获得目标对象的3D检测框;根据所述3D检测框,生成对车辆进行控制的指令或者预警提示信息。
[0008]
根据本公开实施方式其中再一方面,提供一种避障导航方法,包括:采用上述的目标对象3D检测方法,获得目标对象的3D检测框;根据所述3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息。
[0009]
根据本公开实施方式其中再一方面,提供一种目标对象3D检测装置,包括:提取特征模块,用于提取获取到的场景的点云数据的特征信息;第一语义分割模块,用于根据所述点云数据的特征信息对所述点云数据进行语义分割,获得所述点云数据中的多个点的第一语义信息;预测前景点模块,用于根据所述第一语义信息预测所述多个点中对应目标对象的至少一个前景点;生成初始框模块,用于根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框;确定检测框模块,用于根据所述3D初始框确定所述场景中的所述目标对象的3D检测框。
[0010]
根据本公开实施方式其中再一方面,提供一种车辆智能控制装置,包括:采用上述目标对象3D检测装置,获得目标对象的3D检测框;第一控制模块,用于根据所述3D检测框,生成对车辆进行控制的指令或者预警提示信息。
[0011]
根据本公开实施方式其中再一方面,提供一种避障导航装置,包括:采用上述目标对象3D检测装置,获得目标对象的3D检测框;第二控制模块,用于根据所述3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息。
[0012]
根据本公开实施方式再一方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开任一方法实施方式。
[0013]
根据本公开实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本公开任一方法实施方式。
[0014]
根据本公开实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本公开任一方法实施方式。
[0015]
基于本公开提供的一种目标对象3D检测方法及装置、车辆智能控制方法及装置、避障导航方法及装置、电子设备、计算机可读存储介质以及计算机程序,本公开中的对点云数据进行特征提取,并基于提取的特征信息对点云数据进行语义分割,这一部分相当于底层数据分析;本公开中的基于语义分割结果生成并确定目标对象的3D检测框,这一部分相当于上层数据分析,因此,本公开在目标对象3D检测过程中,形成了自底而上的生成3D检测框的方式,这样,不仅可以避免先对点云数据进行投影处理,再利用投影处理后获得的图像进行3D检测框检测,而导致的点云数据的原始信息损失的现象;还可以避免利用摄像装置拍摄的2D图像进行3D检测框检测时,由于2D图像中的目标对象(如车辆或者障碍物等)被遮挡,而导致的影响3D检测框检测的现象。由上述描述可知,本公开提供的技术方案 有利于提高3D检测框检测性能。
[0016]
下面通过附图和实施方式,对本公开的技术方案做进一步的详细描述。

附图说明

[0017]
构成说明书的一部分的附图描述了本公开的实施方式,并连同描述一起用于解释本公开的原理。
[0018]
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
[0019]
图1为本公开的目标对象3D检测方法一个实施方式的流程图;
[0020]
图2为本公开的目标对象3D检测方法另一个实施方式的流程图;
[0021]
图3为本公开的第一阶段神经网络的一结构示意图;
[0022]
图4为本公开的第一阶段神经网络的又一结构示意图;
[0023]
图5为本公开的第二阶段神经网络的一结构示意图;
[0024]
图6为本公开的车辆智能控制方法的一个实施方式的流程图;
[0025]
图7为本公开的避障导航方法的一个实施方式的流程图;
[0026]
图8为本公开的目标对象3D装置一个实施方式的结构示意图;
[0027]
图9为本公开的车辆智能控制装置的一个实施方式的结构示意图;
[0028]
图10为本公开的避障导航装置的一个实施方式的结构示意图;
[0029]
图11为实现本公开实施方式的一示例性设备的框图。

具体实施例

[0030]
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0031]
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0032]
应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。本公开实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
[0033]
终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0034]
示例性实施例
[0035]
图1为本公开的目标对象3D检测方法一个实施例的流程图。
[0036]
S100、提取获取到的场景的点云数据的特征信息。
[0037]
在一个可选示例中,本公开中的场景可以是指基于视觉的展现画面。例如,通过摄像装置摄取的图像以及通过激光雷达扫描所获得的点云数据(Point Cloud Data),所展现出的视觉画面,均可以认为是一场景。
[0038]
在一个可选示例中,本公开中的点云数据通常是指,以点的形式记录的扫描信息。例如,通过激光雷达扫描,而获得的点云数据。点云数据中的每一个点可以由多种信息来描述,也可以认为,点云数据中的每一个点通常包括有多种信息,例如,可以包括但不限于以下一种或多种:该点的三维坐标、颜色信息(如RGB信息等)以及反射强度(Intensity)信息等。也就是说,点云数据中的一个点可以通过三维坐标、颜色信息、反射强度信息等一种或多种信息来描述。
[0039]
在一个可选示例中,本公开可以利用神经网络中的至少一卷积层,对点云数据进行处理,从而形成点云数据的特征信息(feature map),例如,为点云数据中的每一个点分别形成一个特征信息。由于本次形成的点云数据的特征信息,是在考虑点云数据的整个空间范围中的所有点的情况下,为每一个点分别形成的特征信息,因此,本次形成的特征信息,可以称为全局特征信息。
[0040]
S110、根据点云数据的特征信息,对点云数据进行语义分割,获得点云数据中的多个点的第一语 义信息。
[0041]
在一个可选示例中,本公开可以利用神经网络对点云数据进行语义分割,神经网络可以为点云数据中的部分点,甚至为点云数据中的每一个点,分别形成一第一语义信息。例如,在将点云数据提供给神经网络,并由神经网络提取出了点云数据的特征信息后,神经网络继续对点云数据的特征信息进行处理,以获得点云数据中的多个点的第一语义信息。
[0042]
在一个可选示例中,本公开中的点的第一语义信息通常是指,在考虑整个点云数据的情况下,为该点生成的语义特征(Semantic Feature),因此,第一语义信息可以称为第一语义特征或者全局语义特征。本公开中的点的全局语义特征通常可以表现为:包括多个(如256个)元素的一维向量数组的形式。本公开中的全局语义特征也可以称为全局语义特征向量。
[0043]
在一个可选示例中,本公开中的前景点和背景点是针对目标对象而言的,可选的,属于一个目标对象的点即为该目标对象的前景点,而不属于该目标对象的点即为该目标对象的背景点。在场景中包括多个目标对象的情况下,针对其中一个目标对象而言,属于该目标对象的点为该目标对象的前景点,但是,由于该点不属于其他目标对象,因此,该点是其他目标对象的背景点。
[0044]
在一个可选示例中,在点云数据中的点包括:一目标对象的前景点以及该目标对象的背景点的情况下,本公开所获得的多个点的第一语义信息通常包括:该目标对象的前景点的全局语义特征以及该目标对象的背景点的全局语义特征。本公开中的场景可以包括一个或者多个目标对象。本公开中的目标对象包括但不限于:车辆、非机动车辆、行人和/或障碍物等。
[0045]
S120、根据第一语义信息预测多个点中对应目标对象的至少一个前景点。
[0046]
在一个可选示例中,本公开可以利用神经网络来预测多个点中对应目标对象的至少一个前景点,神经网络可以为点云数据中的部分点,甚至为点云数据中的每一个点,分别进行预测,以生成该点为前景点的置信度。一个点的置信度可以表示出:该点为前景点的概率。例如,在将点云数据提供给神经网络,由神经网络提取出了点云数据的特征信息,并由神经网络执行语义分割处理后,由该神经网络继续对全局语义特征进行处理,以预测点云数据中的多个点为目标对象的前景点的置信度,神经网络可以针对每一个点,分别生成置信度。本公开可以通过对神经网络生成的各置信度分别进行判断,将置信度超过预定值的点作为目标对象的前景点。
[0047]
需要特别说明的是,本公开对置信度进行判断的操作,可以在S120中执行,也可以在S130中执行。另外,如果在S120中执行了置信度的判断操作,且判断结果为不存在置信度超过预定值的点,即不存在前景点,则可以认为该场景中不存在目标对象。
[0048]
S130、根据第一语义信息生成至少一个前景点各自对应的3D初始框。
[0049]
在一个可选示例中,在S120未包括有对置信度进行判断的操作的情况下,本公开可以根据S110中获得每一个点的全局语义特征,为每一个点分别生成一个3D初始框。本公开可以通过对S120中获得的所有置信度进行判断,挑选出目标对象的前景点,并利用挑选出的前景点,从S130生成的3D初始框中进行挑选,从而可以获得各前景点各自对应的3D初始框。即S130生成的各3D初始框通常包括:前景点对应的3D初始框和背景点对应的3D初始框,从而S130需要从生成的所有3D初始框中,筛选出各前景点对应的3D初始框。
[0050]
在一个可选示例中,在S120包括有对置信度进行判断的操作的情况下,本公开可以根据上述预测出的每一个前景点的全局语义特征,分别生成一个3D初始框,从而获得的各3D初始框均为前景点对应的3D初始框。即S130生成的各3D初始框均为前景点对应的3D初始框,也就是说,S130可以仅针对前景点生成3D初始框。
[0051]
在一个可选示例中,本公开中的3D初始框可以通过3D初始框的中心点位置信息、3D初始框的长宽高信息以及3D初始框的方向信息来描述,也就是说,本公开中的3D初始框可以包括:3D初始框的中心点位置信息、3D初始框的长宽高信息以及3D初始框的方向信息等。3D初始框也可以称为3D初始框信息。
[0052]
在一个可选示例中,本公开可以利用神经网络生成3D初始框。例如,在将点云数据提供给神经网络,由神经网络提取出了点云数据的特征信息,并由神经网络执行语义分割处理后,由该神经网络继续对全局语义特征进行处理,以针对多个点中的每一个点分别生成一个3D初始框。再例如,在将点云数据提供给神经网络,由神经网络提取出了点云数据的特征信息,由神经网络执行语义分割处理,并由该神经网络对全局语义特征进行预测处理,以获得点云数据中的多个点为目标对象的前景点的置信度之后,神经网络可以针对置信度超过预定值的点的全局语义特征继续进行处理,以针对每一个前景点分别生成一个3D初始框。
[0053]
由于点云数据具有一定感受野,而语义分割是基于点云数据中的所有点的特征信息进行的,因此, 语义分割所形成的语义特征不仅包括点自身的语义特征,还包括周围点的语义特征,从而本公开中的多个前景点在语义上可以指向场景中的同一个目标对象。而指向同一目标对象的不同前景点各自对应的3D初始框有一定差别,但通常差别并不大。
[0054]
另外,如果S130根据第一语义信息生成的3D初始框中不存在前景点对应的3D初始框,则可以认为该场景中不存在目标对象。
[0055]
S140、根据3D初始框确定场景中的目标对象的3D检测框。
[0056]
本公开最终为每个目标对象确定一个3D检测框。
[0057]
在一个可选示例中,本公开可以针对上述获得所有前景点各自对应的3D初始框进行冗余处理,从而获得目标对象的3D检测框,即针对点云数据进行目标对象检测,而最终获得的3D检测框。可选的,本公开可以采用3D初始框之间的重叠度,来去除冗余的3D初始框,从而获得目标对象的3D检测框。例如,本公开可以确定多个前景点对应的3D初始框之间的重叠度,对重叠度大于设定阈值的3D初始框进行筛选,以获得重叠度大于设定阈值的3D初始框,然后,从筛选出来的3D初始框中,确定出目标对象的3D检测框。可选的,本公开可以采用NMS(Non-Maximum Suppression非极大值抑制)算法,对所有前景点各自对应的3D初始框进行冗余处理,从而去除相互覆盖的冗余的3D检测框,获得最终的3D检测框。在场景中包括多个目标对象(如一个或者多个行人、一个或者多个非机动车辆、一个或多个车辆等)的情况下,本公开可以针对场景中的每一个目标对象均获得一个最终的3D检测框。
[0058]
在一个可选示例中,本公开可以对当前获得的前景点各自对应的3D初始框进行校正(或称为优化)处理,然后,再针对校正后的所有3D初始框进行冗余处理,从而获得目标对象的3D检测框,即针对点云数据进行目标对象检测,而最终获得的3D检测框。
[0059]
在一个可选示例中,本公开对各前景点各自对应的3D初始框分别进行校正的过程,可以包括下述步骤A1、步骤B1和步骤C1:
[0060]
步骤A1、获取点云数据中的部分区域内的点的特征信息,其中,部分区域至少包括一3D初始框。
[0061]
可选的,本公开可以设置包含有3D初始框的3D扩展框,并获取点云数据中的3D扩展框内的各点的特征信息。本公开中的3D扩展框是点云数据中的部分区域的一种实现方式。本公开中的每一个前景点对应的3D初始框分别对应一个3D扩展框,3D扩展框所占用的空间范围通常完全覆盖并稍大于3D初始框所占用的空间范围。在通常情况下,3D初始框的任一面均不与其对应的3D扩展框的任一面处于同一平面中,3D初始框的中心点与3D扩展框的中心点相互重合,且3D初始框的任一面均与其对应的3D扩展框的相应面平行。由于这样的3D扩展框与3D初始框的位置关系较规范,因此,有利于降低形成3D扩展框的难度,从而有利于降低本公开的实现难度。当然,本公开也不排除虽然两个中心点不重合,但是3D初始框的任一面均与其对应的3D扩展框的相应面平行的情况。
[0062]
可选的,本公开可以根据预先设定的X轴方向增量(如20厘米)、Y轴方向增量(如20厘米)以及Z轴方向增量(如20厘米)中的至少一个,对前景点对应的3D初始框,进行3D空间扩展,从而形成两个中心点相互重合、且相应的面相互平行的包含有3D初始框的3D扩展框。
[0063]
可选的,本公开中的增量可以根据实际需求设置,例如,相应方向的增量不超过3D初始框的相应边长的N(如N大于4等)分之一等,可选的,X轴方向增量不超过3D初始框的长的十分之一,Y轴方向增量不超过3D初始框的宽的十分之一,Z轴方向增量不超过3D初始框的高的十分之一。另外,X轴方向增量、Y轴方向增量以及Z轴方向增量可以相同,也可以不相同。
[0064]
可选的,假定第i个3D初始框b i可以表示为:b i=(x i,y i,z i,h i,w i,l ii),其中,x i、y i和z i分别表示第i个3D初始框的中心点的坐标,h i、w i和l i分别表示第i个3D初始框的高宽长,θ i表示第i个3D初始框的方向,例如,在鸟瞰图中,第i个3D初始框的长与X坐标轴的夹角为θ i;那么,第i个3D初始框对应的3D扩展框 可以表示为:
[0065]
[0066]
其中,η表示增量。
[0067]
可选的,本公开可以利用神经网络获取点云数据中的部分区域内的点的特征信息,例如,将点云数据中的部分区域内的所有点作为输入,提供给神经网络,由神经网络中的至少一卷积层,对部分区域内的点云数据进行处理,从而可以为部分区域内的各点分别形成特征信息。本次形成的特征信息可以称为局部特征信息。由于本次形成的点云数据的特征信息,是在考虑点云数据的部分区域内的所有点的情况下,为部分区域内的每一个点分别形成的特征信息,因此,本次形成的特征信息,可以称为 局部特征信息。
[0068]
步骤B1、根据部分区域内的点的特征信息对部分区域内的点进行语义分割,获得部分区域内的点的第二语义信息。
[0069]
可选的,本公开中的点的第二语义信息是指:在考虑3D扩展框形成的空间范围中的所有点的情况下,为该点形成的语义特征向量。本公开中的第二语义信息可以称为第二语义特征或者局部空间语义特征。一个局部空间语义特征同样可以表现为:包括多个(如256个)元素的一维向量数组的形式。
[0070]
本公开可以利用神经网络,获取3D扩展框中的所有点的局部空间语义特征,利用神经网络获取点的局部空间语义特征的方式可以包括下述的步骤a和步骤b:
[0071]
a、先根据3D扩展框的预设目标位置,对位于3D扩展框内的点云数据的坐标信息进行坐标变换,使位于3D扩展框内的各点的坐标发生位移,从而使3D扩展框进行位移和旋转(3D扩展框的方向调整),进而变换到该3D扩展框的预设目标位置。可选的,3D扩展框的预设目标位置可以包括:3D扩展框的中心点(即3D初始框的中心点)位于坐标原点,且3D扩展框的长与X轴平行等。可选的,上述坐标原点和X轴可以是点云数据的坐标系的坐标原点和X轴,当然,也可以是其他坐标系的坐标原点和X轴。
[0072]
续前例,假定第i个3D初始框b i可以表示为:b i=(x i,y i,z i,h i,w i,l ii),其中,x i、y i和z i分别表示第i个3D初始框的中心点的坐标,h i、w i和l i分别表示第i个3D初始框的高宽长,θ i表示第i个3D初始框的方向,例如,在鸟瞰图中,第i个3D初始框的长与X坐标轴的夹角为θ i;那么,在对包含有第i个3D初始框的3D扩展框,进行坐标变换后,本公开获得了一个新的3D初始框 该新的3D初始框 可以表示为:
[0073]
也就是说,该新的3D初始框 的中心点位于坐标原点,且在鸟瞰图中,该新的3D初始框 的长与X坐标轴之间的夹角为0。
[0074]
本公开的上述坐标变换方式可以称为正则化坐标变换。本公开针对一个点进行坐标转换,通常只会改变该点的坐标信息,而不会改变一个点的其他信息。本公开通过执行正则化坐标变换的操作,可以使不同的3D初始框中的各点的坐标集中在一个大致的范围中,从而有利于神经网络的训练,即有利于提高神经网络形成局部空间语义特征的准确性,进而有利于提高对3D初始框校正的准确性。可以理解,上述坐标变换的数据方式仅为一个可选示例,本领域技术人员还可以采用使得坐标变换到一定范围的其他变换方式。
[0075]
b、将坐标转换后的点云数据(即坐标转换后的位于3D扩展框内的点云数据),提供给神经网络,由神经网络对接收到的点进行语义分割处理,为位于3D扩展框内的各点分别生成局部空间语义特征。
[0076]
可选的,本公开可以根据上述步骤中生成的为前景点的置信度,形成前景点掩膜(例如,将置信度超过预定值(如0.5等)的点设置为1,而将置信度未超过预定值的点设置为0,从而形成前景点掩膜)。本公开可以将前景点掩膜和坐标转换后的点云数据一起提供给神经网络,使神经网络在进行语义处理时,可以参考前景点掩膜,从而有利于提高局部空间语义特征的描述准确性。
[0077]
步骤C1、根据部分区域内的点第一语义信息和第二语义信息,形成校正后的3D初始框。
[0078]
可选的,本公开获取3D扩展框中的多个点的全局语义特征的方式可以为:首先,根据点云数据中的各点坐标信息,判断各点是否属于3D扩展框的空间范围(即是否位于3D扩展框内,可以包括:位于3D扩展面的任一表面),针对一个点而言,如果该点所在的位置属于3D扩展框的空间范围,则可以将该点作为属于3D扩展框的点;如果该点所在的位置不属于3D扩展框的空间范围,则不会将该点作为属于3D扩展框的点。然后,根据点云数据中的多个点(如所有点)的全局语义特征,确定属于3D扩展框的所有点的全局语义特征。可选的,本公开在判定一个点属于3D扩展框的情况下,可以从前述获得的各点的全局语义特征中,查找到该点的全局语义特征,以此类推,本公开可以获得属于3D扩展框的所有点的全局语义特征。
[0079]
可选的,本公开可以由神经网络对各点的全局语义特征和局部语义特征进行处理,并根据神经网络的处理结果,获得校正后的3D初始框。例如,神经网络对3D扩展框中的点的全局语义特征和局部空间语义特征,进行编码处理,获得用于描述该3D扩展框中的3D初始框的特征,并经由神经网络根据用于描述3D初始框的特征,预测3D初始框为目标对象的置信度,经由神经网络根据用于描述3D初始框的特征,对3D初始框进行调整,从而获得校正后的3D初始框。通过对3D初始框进行校正,有利于3D初始框的准确性,从而有利于提高3D检测框的准确性。
[0080]
可选的,本公开可以将3D扩展框中的每一个点的全局语义特征和局部空间语义特征进行拼接, 例如,对于3D扩展框中的任一个点而言,将该点的全局语义特征和局部空间语义特征拼接在一起,形成拼接后的语义特征,将各点拼接后的语义特征均作为输入,提供给神经网络,以便于神经网络对拼接后的语义特征进行编码处理,神经网络生成编码处理后的用于描述该3D扩展框中的3D初始框的特征(下述简称为编码处理后的特征)。
[0081]
可选的,神经网络在形成编码处理后的特征后,可以针对输入的每一个编码处理后的特征,分别预测该3D初始框为目标对象的置信度,并针对每一个3D初始框,分别形成置信度。该置信度可以表示校正后的3D初始框为目标对象的概率。同时,神经网络可以针对输入的每一个编码处理后的特征,分别形成一个新的3D初始框(即校正后的3D初始框)。例如,神经网络根据输入的每一个编码处理后的特征,分别形成新的3D初始框的中心点位置信息、新的3D初始框的长宽高信息以及新的3D初始框的方向信息等。
[0082]
本公开针对校正后的所有3D初始框进行冗余处理,从而获得目标对象的3D检测框的过程可以参见上述相应的描述,在此不再详细说明。
[0083]
如图2所示,本公开的目标对象3D检测方法的一个实施方式包括步骤:S200和S210。下面对图2中的各步骤分别进行详细描述。
[0084]
S200、将点云数据提供给神经网络,经由该神经网络对点云数据中的点进行特征提取处理,根据提取出的特征信息对点云数据进行语义分割处理,获得多个点的语义特征,并根据语义特征,预测多个点中的前景点,并生成多个点中的至少部分点各自对应的3D初始框。
[0085]
在一个可选示例中,本公开中的神经网络主要用于,针对输入的点云数据中的多个点(如点云数据中的所有点或者多数点),分别生成一个3D初始框,从而使点云数据中的多个点中的每一个点均对应一个3D初始框。由于点云数据中的多个点(如每一个点)通常包含有前景点和背景点,因此,本公开的神经网络所生成的3D初始信息框通常包含有:前景点对应的3D初始框和背景点对应的3D初始框。
[0086]
由于本公开的神经网络的输入为点云数据,神经网络对点云数据进行特征提取,并基于提取的特征信息对点云数据进行语义分割,属于底层数据分析;又由于本公开的神经网络基于语义分割结果生成3D初始框,这一部分相当于上层数据分析,因此,本公开在目标对象3D检测过程中,形成了自底而上的生成3D检测框的方式。本公开的神经网络通过采用自底而上的生成方式生成3D初始框,不仅可以避免对点云数据进行投影处理,再利用投影处理后获得的图像进行3D检测框检测,而导致的点云数据的原始信息损失的现象,且原始信息损失的现象,不利于提高3D检测框检测的性能;而且,本公开还可以避免利用摄像装置拍摄的2D图像进行3D检测框检测时,由于2D图像中的目标对象(如车辆或者障碍物等)被遮挡,而导致的影响3D检测框检测的现象,且该现象同样不利于提高3D检测框检测的性能。由此可知,本公开的神经网络通过采用自底而上的生成方式生成3D初始框,有利于提高3D检测框检测性能。
[0087]
在一个可选示例中,本公开中的神经网络可以被划分为多个部分,每一部分可以分别由一个小神经网络(也可以称为神经网络单元或者神经网络模块等)实现,即本公开的神经网络由多个小神经网络组成。由于本公开的神经网络的部分结构可以采用RCNN(Regions with Convolutional Neural Network,区域卷积神经网络)的结构,因此,本公开的神经网络可以称为PointRCNN(Point Regions with Convolutional Neural Network,基于点的区域卷积神经网络)。
[0088]
在一个可选示例中,本公开的神经网络所生成的3D初始框可以包括:3D初始框的中心点位置信息(如中心点的坐标)、3D初始框的长宽高信息以及3D初始框的方向信息(如3D初始框的长与X坐标轴的夹角)等。当然,本公开所形成的3D初始框也可以包括:3D初始框底面或者顶面的中心点位置信息、3D初始框的长宽高信息和3D初始框的方向信息等。本公开不限制3D初始框的具体表现形式。
[0089]
在一个可选示例中,本公开的神经网络可以包括:第一神经网络、第二神经网络以及第三神经网络。点云数据被提供给第一神经网络,第一神经网络用于:对接收到的点云数据中的多个点(如所有点)进行特征提取处理,从而为点云数据中的每一个点分别形成一全局特征信息,并根据多个点(如所有点)的全局特征信息进行语义分割处理,从而为每一个点分别形成一全局语义特征,第一神经网络输出各点的全局语义特征。可选的,点的全局语义特征通常可以表现为:包括多个(如256个)元素的一维向量数组的形式。本公开中的全局语义特征也可以称为全局语义特征向量。在点云数据中的点包括:前景点和背景点的情况下,第一神经网络输出的信息通常包括:前景点的全局语义特征以及背景点的全局语义特征。
[0090]
可选的,本公开中的第一神经网络可以采用Point Cloud Encoder(点云数据编码器)和Point Cloud Decoder(点云数据解码器)来实现,可选的,第一神经网络可以采用PointNet++或者Pointsift网络模型等的网络结构。本公开中的第二神经网络可以采用MLP(Multi-Layer Perceptron,多层感知机)来 实现,且用于实现第二神经网络的MLP的输出维度可以为1。本公开中的第三神经网络也可以采用MLP来实现,且用于实现第三神经网络的MLP的输出维度为多维度,维度的数量与3D检测框信息所包括的信息有关。
[0091]
在获得了点的全局语义特征的情况下,本公开需要利用该全局语义特征,实现前景点预测和3D初始框生成。本公开可以采用下述两种方式,实现前景点预测和3D初始框生成。
[0092]
方式一、第一神经网络输出的各点的全局语义特征,被同时提供给第二神经网络和第三神经网络(如图3所示)。第二神经网络用于,针对输入的每一个点的全局语义特征,分别预测该点为前景点的置信度,并针对每一个点,分别输出置信度。第二神经网络预测的置信度可以表示出点为前景点的概率。第三神经网络用于,针对输入的每一个点的全局语义特征,分别生成一个3D初始框,并输出。例如,第三神经网络根据每一个点的全局语义特征,针对每一个点分别输出3D初始框的中心点位置信息、3D初始框的长宽高信息以及3D初始框的方向信息等。
[0093]
由于第一神经网络输出的信息通常包括:前景点的全局语义特征以及背景点的全局语义特征;因此,第三神经网络输出的3D初始框通常包括:前景点对应的3D初始框以及背景点对应的3D初始框;然而,第三神经网络自身并不能区分其输出的各3D初始框分别是前景点对应的3D初始框,还是背景点对应的3D初始框。
[0094]
方式二、第一神经网络输出的各点的全局语义特征,先被提供给第二神经网络,由第二神经网络针对输入的每一个点的全局语义特征,分别预测点为前景点的置信度,本公开可以在判定第二神经网络输出的点为前景点的置信度超过预定值的情况下,将该点的全局语义特征提供给第三神经网络(如图4所示)。由第三神经网络针对其接收到的每一个被判断为前景点的全局语义特征,分别生成一个3D初始框,并输出各前景点各自对应的3D初始框。本公开在判定第二神经网络输出的点为前景点的置信度未超过预定值的情况下,不会将该点的全局语义特征提供给第三神经网络,因此,第三神经网络输出的所有3D初始框均为前景点对应的3D初始框。
[0095]
S210、根据多个点中的前景点对应的3D检测框信息,确定最终的3D检测框。
[0096]
在一个可选示例中,在S200采用方式一的情况下,本公开可以根据第二神经网络输出的各置信度,判定第三神经网络输出的各点对应的3D初始框分别是前景点对应的3D初始框,还是背景点对应的3D初始框。例如,本公开在判断出第二神经网络输出的第一个点为前景点的置信度超过预定值时,将该点判定为前景点,从而本公开可以将第三神经网络输出的第一个点对应的3D初始框判定为前景点对应的3D初始框,以此类推,本公开可以根据第二神经网络输出的置信度,从第三神经网络输出的所有3D初始框中挑选出所有前景点对应的3D初始框。之后,本公开可以针对挑选出的所有前景点对应的3D初始框进行冗余处理,从而获得最终的3D检测框,即针对点云数据检测出的3D检测框。例如,本公开可以采用NMS(Non-Maximum Suppression非极大值抑制)算法,对当前挑选出的所有前景点各自对应的3D检测框信息进行冗余处理,从而去除相互覆盖的冗余的3D检测框,获得最终的3D检测框。
[0097]
在一个可选示例中,在S200采用方式二的情况下,本公开可以根据第三神经网络输出的3D初始框,直接获得前景点对应的3D初始框,因此,本公开可以直接针对第三神经网络输出的所有3D初始框进行冗余处理,从而获得最终的3D检测框,即针对点云数据检测出的3D检测框(可参见上述实施方式中的相关描述)。例如,本公开可以采用NMS算法,对第三神经网络输出的所有3D初始框进行冗余处理,从而去除相互覆盖的冗余的3D初始框,获得最终的3D检测框。
[0098]
在一个可选示例中,无论是S200采用方式一,还是采用方式二,本公开在获得了前景点对应的3D初始框之后,可以对各前景点各自对应的3D初始框分别进行校正,并对校正后的各前景点各自对应的3D初始框进行冗余处理,从而获得最终的3D检测框。也就是说,本公开的神经网络生成3D检测框的过程,可以被划分为两个阶段,神经网络在第一阶段神经网络生成的3D初始框,被提供给第二阶段神经网络,由第二阶段神经网络针对第一阶段神经网络生成的3D初始框进行校正(如位置优化等),之后,本公开再根据第二阶段神经网络校正后的3D初始框确定最终的3D检测框。最终的3D检测框即本公开基于点云数据而检测出的3D检测框。然而,本公开的神经网络生成3D初始框的过程可以仅包括第一阶段神经网络,而不包括第二阶段神经网络。在神经网络生成3D初始框的过程仅包括第一阶段神经网络的情况下,本公开根据第一阶段神经网络生成的3D初始框确定最终的3D检测框,也是完全可行的。由于校正后的3D初始框往往更准确,因此,基于校正后的3D初始框确定最终的3D检测框,有利于提高3D检测框检测的准确性。本公开中的第一阶段神经网络和第二阶段神经网络均可以由能够独立存在的神经网络实现,也可以由一个完整神经网络中的部分网络结构单元组成;另外,为了便于描述,不妨将涉及到的神经网络称为第一神经网络、第二神经网络、第三神经网络、第四神经网络、第五神经网络、第六神经网络或第七神经网络,但应当理解,第一至第七神经网络中的每个均可以为独 立的神经网络,也可为一个大的神经网络中的某一些网络结构单元组成的,本公开对此并不限定。
[0099]
在一个可选示例中,本公开利用神经网络对各前景点各自对应的3D初始框分别进行校正的过程,可以包括下述步骤A2、步骤B2和步骤C2:
[0100]
步骤A2、设置包含有3D初始框的3D扩展框,并获取3D扩展框中的点的全局语义特征。
[0101]
可选的,本公开中的每一个3D初始框对应一个3D扩展框,3D扩展框所占用的空间范围通常完全覆盖3D初始框所占用的空间范围。在通常情况下,3D初始框的任一面均不与其对应的3D扩展框的任一面处于同一平面中,3D初始框的中心点与3D扩展框的中心点相互重合,且3D初始框的任一面均与其对应的3D扩展框的相应面平行。当然,本公开也不排除虽然两个中心点不重合,但是3D初始框的任一面均与其对应的3D扩展框的相应面平行的情况。
[0102]
可选的,本公开可以根据预先设定的X轴方向增量(如20厘米)、Y轴方向增量(如20厘米)以及Z轴方向增量(如20厘米)中的至少一个,对前景点的3D初始框,进行3D空间扩展,从而形成两个中心点相互重合、且面相互平行的包含有3D初始框的3D扩展框。
[0103]
可选的,假定第i个3D初始框b i可以表示为:b i=(x i,y i,z i,h i,w i,l ii),其中,x i、y i和z i分别表示第i个3D初始框的中心点的坐标,h i、w i和l i分别表示第i个3D初始框的高宽长,θ i表示第i个3D初始框的方向,例如,在鸟瞰图中,第i个3D初始框的长与X坐标轴的夹角为θ i;那么,第i个3D初始框对应的3D扩展框 可以表示为:
[0104]
[0105]
其中,η表示增量。
[0106]
可选的,本公开中的局部空间通常是指:3D扩展框形成的空间范围。点的局部空间语义特征通常是指,在考虑3D扩展框形成的空间范围中的所有点的情况下,为该点形成的语义特征向量。一个局部空间语义特征同样可以表现为:包括多个(如256个)元素的一维向量数组的形式。
[0107]
可选的,本公开获取3D扩展框中的多个点的全局语义特征的方式可以为:首先,根据点云数据中的各点坐标信息,判断各点是否属于3D扩展框的空间范围(即是否位于3D扩展框内,可以包括:位于3D扩展面的任一表面),针对一个点而言,如果该点所在的位置属于3D扩展框的空间范围,则可以将该点作为属于3D扩展框的点;如果该点所在的位置不属于3D扩展框的空间范围,则不会将该点作为属于3D扩展框的点。然后,根据点云数据中的多个点(如所有点)的全局语义特征,确定属于3D扩展框的所有点的全局语义特征。可选的,本公开在判定一个点属于3D扩展框的情况下,可以从前述获得的各点的全局语义特征中,查找到该点的全局语义特征,以此类推,本公开可以获得属于3D扩展框的所有点的全局语义特征。
[0108]
步骤B2、将位于3D扩展框内的点云数据提供给神经网络中的第四神经网络,经由第四神经网络生成3D扩展框中的点的局部空间语义特征。
[0109]
可选的,本公开获取3D扩展框中的所有点的局部空间语义特征的方式可以包括下述的步骤a和b:
[0110]
a、先根据3D扩展框的预设目标位置,对位于3D扩展框内的点云数据的坐标信息进行坐标变换,使位于3D扩展框内的各点的坐标发生位移,从而使3D扩展框进行位移和旋转(3D扩展框的方向调整),进而变换到该3D扩展框的预设目标位置。可选的,3D扩展框的预设目标位置可以包括:3D扩展框的中心点(即3D初始框的中心点)位于坐标原点,且3D扩展框的长与X轴平行等。可选的,上述坐标原点和X轴可以是点云数据的坐标系的坐标原点和X轴,当然,也可以是其他坐标系的坐标原点和X轴。
[0111]
续前例,假定第i个3D初始框b i可以表示为:b i=(x i,y i,z i,h i,w i,l ii),其中,x i、y i和z i分别表示第i个3D初始框的中心点的坐标,h i、w i和l i分别表示第i个3D初始框的高宽长,θ i表示第i个3D初始框的方向,例如,在鸟瞰图中,第i个3D初始框的长与X坐标轴的夹角为θ i;那么,在对包含有第i个3D初始框的3D扩展框,进行坐标变换后,本公开获得了一个新的3D初始框 该新的3D初始框 可以表示为:
[0112]
也就是说,该新的3D初始框 的中心点位于坐标原点,且在鸟瞰图中,该新的3D初始框 的长与X坐标轴之间的夹角为0。
[0113]
b、将坐标转换后的点云数据(即坐标转换后的位于3D扩展框内的点云数据),提供给神经网络中的第四神经网络,由第四神经网络对接收到的点进行特征提取处理,并基于其提取出的局部特征信息进行语义分割处理,从而为位于3D扩展框内的各点分别生成局部空间语义特征。
[0114]
可选的,本公开还可以根据第二神经网络输出的置信度,形成前景点掩膜(如将置信度超过预定值(如0.5等)的点设置为1,而将置信度未超过预定值的点设置为0)。本公开可以将前景点掩膜和坐标转换后的点云数据一起,提供给第四神经网络,使第四神经网络在进行特征提取以及语义处理时,可以参考前景点掩膜,从而有利于提高局部空间语义特征的描述准确性。
[0115]
可选的,本公开中的第四神经网络可以采用MLP来实现,且用于实现第四神经网络的MLP的输出维度通常为多维度,维度的数量与局部空间语义特征所包括的信息有关。
[0116]
步骤C2、经由神经网络中的第五神经网络,对3D扩展框中的点的全局语义特征和局部空间语义特征,进行编码处理,获得用于描述该3D扩展框中的3D初始框的特征,并经由神经网络中的第六神经网络根据用于描述3D初始框的特征,预测3D初始框为目标对象的置信度,经由神经网络中的第七神经网络根据用于描述3D初始框的特征,对3D初始框进行校正,从而有利于提高3D初始框的准确性,进而有利于提高3D检测框的准确性。
[0117]
可选的,本公开中的第五神经网络可以采用Point Cloud Encoder(点云数据编码器)来实现,可选的,第五神经网络可以采用PointNet++或者Pointsift网络模型等的部分网络结构。本公开中的第六神经网络可以采用MLP来实现,且用于实现第六神经网络的MLP的输出维度可以为1,维度的数量可以与目标对象的种类数量有关。本公开中的第七神经网络也可以采用MLP来实现,且用于实现第七神经网络的MLP的输出维度为多维度,维度的数量与3D检测框信息所包括的信息有关。本公开中的第一神经网络至第七神经网络均可以由能够独立存在的神经网络实现,也可以由一个神经网络中的不能独立存在的部分内容来实现。
[0118]
可选的,本公开可以将3D扩展框中的每一个点的全局语义特征和局部空间语义特征进行拼接,例如,对于3D扩展框中的任一个点而言,将该点的全局语义特征和局部空间语义特征拼接在一起,形成拼接后的语义特征,将各点拼接后的语义特征作为输入,提供给第五神经网络,以便于第五神经网络对拼接后的语义特征进行编码处理,第五神经网络输出编码处理后的用于描述该3D扩展框中的3D初始框的特征(下述简称为编码处理后的特征)。
[0119]
可选的,第五神经网络输出的编码处理后的特征,被同时提供给第六神经网络和第七神经网络(如图5所示)。第六神经网络用于,针对输入的每一个编码处理后的特征,分别预测该3D初始框为目标对象的置信度,并针对每一个3D初始框,分别输出置信度。第六神经网络预测的置信度可以表示校正后的3D初始框为目标对象的概率。这里的目标对象可以为车辆或者行人等。第七神经网络用于,针对输入的每一个编码处理后的特征,分别形成一个新的3D初始框(即校正后的3D初始框),并输出。例如,第七神经网络根据输入的每一个的编码处理后的特征,分别输出新的3D初始框的中心点位置信息、新的3D初始框的长宽高信息以及新的3D初始框的方向信息等。
[0120]
针对本公开需要特别说明的是,本公开的神经网络的实现方式有多种,一种实现方式如图3所示;另一种实现方式如图4所示;又一种实现方式如图3和图5的组合,再一种实现方式如图4和图5的组合。在此不再针对各实现方式进行逐一详细说明。
[0121]
在一个可选示例中,本公开的神经网络是:利用带有3D标注框的多个点云数据样本训练获得的。例如,本公开可以获取待训练的神经网络生成的置信度对应的损失,并获取待训练的神经网络针对点云数据样本生成的3D初始框相对于点云数据样本的3D标注框所形成的损失,从而利用这两个损失,对待训练的神经网络的网络参数进行调整,实现神经网络的训练。本公开中的网络参数可以包括但不限于卷积核参数以及权重值等。
[0122]
在本公开的神经网络形成3D检测框的过程只包括一个阶段(即第一阶段神经网络形成3D检测框的过程)的情况下,本公开可以获得第一阶段神经网络生成的置信度对应的损失和3D初始框对应的损失,并利用第一阶段神经网络的两个损失,对第一阶段神经网络(如第一神经网络、第二神经网络和第三神经网络)的网络参数进行调整,且在第一阶段神经网络成功训练完成之后,整个神经网络成功训练完成。
[0123]
在本公开的神经网络形成3D检测框的过程被划分为两个阶段的情况下,本公开可以对第一阶段神经网络和第二阶段神经网络分别进行训练。例如,先获得第一阶段神经网络生成的置信度对应的损失和3D初始框对应的损失,并利用这两个损失,对第一阶段神经网络的网络参数进行调整。在第一阶段神经网络成功训练完成之后,将第一阶段神经网络输出的前景点对应的3D初始框作为输入,提供给第二阶段神经网络,并获得第二阶段神经网络生成的置信度对应的损失和校正后的3D初始框对应的损 失,并利用第二阶段神经网络的这两个损失,对第二阶段神经网络(如第四神经网络、第五神经网络、第六神经网络和第七神经网络)的网络参数进行调整,在第二阶段神经网络成功训练完成之后,整个神经网络成功训练完成。
[0124]
本公开中的第一阶段神经网络生成的置信度对应的损失,可以采用下述公式(1)来表示:
[0125]
L focal(p t)=-α t(1-p t) γlog(p t) 公式(1)
[0126]
在上述公式(1)中,在点p为前景点的情况下,p t为前景点p的置信度;在点p不为前景点的情况下,p t为1与前景点p的置信度的差值;α t和γ均为常数,在一个可选示例中,α t=0.25,γ=2。
[0127]
本公开中的第一阶段神经网络生成的3D初始框对应的损失,可以采用下述公式(2)来表示:
[0128]
[0129]
在上述公式(2)中,L reg表示3D检测框的回归损失函数,N pos表示前景点的数量; 表示针对前景点p生成的3D初始框的桶(bin)损失函数,且 可以表示为下述公式(3)的形式; 表示针对前景点p生成的3D初始框的余量损失函数,且 可以表示为下述公式(4)的形式。
[0130]
[0131]
在上述公式(3)中, 表示针对前景点p生成的3D初始框的桶损失函数;x、z和θ分别表示中心点的x坐标、中心点的z坐标和目标对象的方向,且目标对象可以为神经网络生成的3D初始框,也可以为点云数据样本中的3D标注框;F cls(*)表示分类的交叉熵损失函数(Cross-entropy classification loss); 表示针对前景点p生成的3D初始框的中心点的参数u所在的桶的编号; 表示点云数据样本中的3D标注框的参数u所在的桶的编号; 在参数u为x的情况下,可以表示为下述公式(5)的形式; 在参数u为z的情况下,可以表示为下述公式(6)的形式;F reg(*)表示平滑的L1损失函数(Smooth L1 Loss); 表示针对前景点p生成的3D初始框的参数u在对应桶内的偏移量; 表示点云数据样本中的3D标注框的参数u在对应桶内的偏移量; 在参数u为x或者z的情况下,可以表示为下述公式(7)的形式。
[0132]
对于点而言,本公开中的桶可以是指:对点周围的空间范围进行切分,切分出的一个值域范围,称为一个桶,每个桶均可以有其对应的编号,通常情况下,桶的值域范围是固定的,在一个可选示例中,桶的值域范围是长度范围,此时,桶有固定长度;在另一个可选示例中,桶的值域范围是角度范围,此时,桶有固定的角度区间。可选的,对于x方向或者z方向而言,桶的长度可以为0.5m,此时,不同桶的值域范围可以为0-0.5m以及0.5m-1m等。可选的,本公开可以将2π均分为多个个角度区间,一个角度区间对应一个值域范围,此时,桶的大小(即角度区间)可以为度45度或者30度等。
[0133]
[0134]
在上述公式(4)中, 表示针对前景点p生成的3D初始框的余量损失函数;y、h、w和l分别表示针对前景点p生成的3D初始框的中心点的y坐标、以及针对前景点p生成的3D初始框的高、宽和长;F reg(*)表示平滑的L1损失函数;在参数v为y的情况下, 表示前景点p的y坐标相对于针对前景点p生成的3D初始框的中心点的y坐标的偏移量,如公式(8)所示;在参数v为h、w或者l的情况下, 表示针对前景点p生成的3D初始框的高、宽或者长相对于相应的预设参数的偏移量;在参数v为y的情况下, 表示前景点p的y坐标相对于3D标注框的中心点的y坐标的偏移量,如公式(8)所示;在参数v为h、w或者l的情况下, 表示3D标注框的高、宽或者长相对于相应的预设参数的偏移量;本公开中的预设参数可以是通过对训练数据中的各点云数据样本中的3D标注框的长、宽和高分别进行统计计算,而获得的长均值、宽均值和高均值。
[0135]
[0136]
[0137]
在上述公式(5)和公式(6)中, 表示点云数据样本中的3D标注框的中心点在X坐标轴方向的桶的编号; 表示点云数据样本中的3D标注框的中心点在Z坐标轴方向的桶的编号;(x (p),z (p))表示前景点p的x坐标和z坐标,(x p,z p)表示针对前景点p生成的3D初始框的中心点的x坐标和z坐标;δ表示桶的长度,S表示在x轴或者z轴上的搜寻前景点p的搜索距离。
[0138]
[0139]
在上述公式(7)中,S表示在x轴或者z轴上的搜寻前景点p的搜索距离,也就是说,在参数u为x的情况下,S表示针对前景点p生成的3D初始框的中心点在x轴方向上距离前景点p的x坐标的距离,而在参数u为z的情况下,S表示针对前景点p生成的3D初始框的中心点在z轴方向上距离前景点p的z坐标的距离;δ表示桶的长度,桶的长度是常数值,例如,δ=0.5m; 如上述公式(5)和公式(6)所示;C为一常数值,且C可以与桶的长度相关,例如C等于桶的长度或者桶的长度的一半。
[0140]
[0141]
在上述公式(8)中, 表示前景点的y坐标在对应桶内的偏移量;y p表示针对前景点p生成的3D初始框的中心点的y坐标;y (p)表示前景点的y坐标。
[0142]
在一个可选示例中,在针对第一至第三神经网络的训练达到预定迭代条件时,本次训练过程结束。 本公开中的预定迭代条件可以包括:第三神经网络输出的3D初始框与点云数据样本的3D标注框之间的差异满足预定差异要求,且第二神经网络输出的置信度满足预定要求。在两者均满足要求的情况下,本次对第一至第三神经网络成功训练完成。本公开中的预定迭代条件也可以包括:对第一至第三神经网络进行训练,所使用的点云数据样本的数量达到预定数量要求等。在使用的点云数据样本的数量达到预定数量要求,然而,两者并未都满足要求的情况下,本次对第一至第三神经网络并未训练成功。
[0143]
可选的,在本公开的神经网络形成3D检测框的过程包括一个阶段的情况下,成功训练完成的第一至第三神经网络可以用于目标对象的3D检测。
[0144]
可选的,在本公开的神经网络形成3D检测框的过程包括两个阶段的情况下,成功训练完成的第一至第三神经网络也可以用于针对点云数据样本产生前景点对应的3D初始框,即本公开可以再次将点云数据样本提供给成功训练后的第一神经网络,并将第二神经网络和第三神经网络输出的信息分别存储起来,以便于为第二阶段神经网络提供输入(即前景点对应的3D初始框);之后,获得第二阶段生成的置信度对应的损失以及校正后的3D初始框对应的损失,并利用获得的损失,调整第四神经网络至第七神经网络的网络参数,且在第四至第七神经网络成功训练完成之后,整个神经网络成功训练完成。
[0145]
本公开中的对第二阶段神经网络中的第四至第七神经网络的网络参数进行调整所使用的,包含有置信度对应的损失和校正后的3D初始框对应的损失的损失函数,可以采用下述公式(9)来表示:
[0146]
[0147]
在上述公式(9)中,B表示3D初始框集合;||B||表示3D初始框集合中的3D初始框的数量;F cls(*)表示用于对预测的置信度进行监督的交叉熵损失函数,即F cls(*)为基于分类的交叉熵损失函数;prob i表示第六神经网络预测出的校正后的第i个3D初始框为目标对象的置信度;label i表示第i个3D初始框是否为目标对象的标签,该标签可以通过计算获得,例如,在第i个3D初始框与相应的3D标注框的重叠度超过设定阈值时,该标签的取值为1,否则,该标签的取值为0;B pos是B的一个子集,且B pos中的3D初始框与相应的3D标注框的重叠度超过设定阈值;||B pos||表示该子集中的3D初始框的数量; 与上述 相似, 与上述 相似,只是在利用了 (替换公式中的第i个3D初始框b i)和 (替换公式中的第i个3D标注框信息), 可以表示为下述公式(10)的形式:
[0148]
[0149]
在上述公式(10)中, 为第i个3D标注框信息; 表示坐标转换后的第i个3D标注框信息;(xi,yi,zi,hi,wi,li,θi)为校正后的第i个3D初始框, 表示坐标转换后的第i个3D初始框。
[0150]
在计算公式(9)时,需要利用上述公式(3),且公式(3)中的 可以替换为下述公式(11)的形式:
[0151]
[0152]
在上述公式(11)中,ω表示桶的大小,即桶的角度区间。
[0153]
在计算公式(9)时,需要利用上述公式(3),且公式(3)中的 可以替换为下述公式(12)的形式:
[0154]
[0155]
其中,ω表示桶的大小,即桶的角度区间。
[0156]
在一个可选示例中,在针对第四至第七神经网络的训练达到预定迭代条件时,本次训练过程结束。本公开中的预定迭代条件可以包括:第七神经网络输出的3D初始框与点云数据样本的3D标注框之间的差异满足预定差异要求,且第六神经网络输出的置信度满足预定要求。在两者均满足要求的情况下,本次对第四至第七神经网络成功训练完成。本公开中的预定迭代条件也可以包括:对第四至第七神经网络进行训练,所使用的点云数据样本的数量达到预定数量要求等。在使用的点云数据样本的数量达到预定数量要求,然而,两者并未都满足要求的情况下,本次对第四至第七神经网络并未训练成功。
[0157]
图6为本公开的车辆智能控制方法的一个实施例的流程图。
[0158]
如图6所示,该实施例方法包括步骤:S600、S610、S620、S630、S640以及S650。下面对图6中的各步骤分别进行详细说明。
[0159]
S600、提取获取到的场景的点云数据的特征信息。
[0160]
S610、根据点云数据的特征信息对点云数据进行语义分割,获得点云数据中的多个点的第一语义信息。
[0161]
S620、根据第一语义信息预测多个点中对应目标对象的至少一个前景点。
[0162]
S630、根据第一语义信息生成至少一个前景点各自对应的3D初始框。
[0163]
S640、根据3D初始框确定场景中的目标对象的3D检测框。
[0164]
上述S600-S640的具体实现过程可以参见上述实施方式中的相关描述,在此不再重复说明。而且,上述S600-S640的实现方式可以为:将点云数据提供给神经网络,经由该神经网络对点云数据中的点进行特征信息提取处理,根据提取出的特征信息进行语义分割处理,获得多个点的语义特征,根据语义特征,预测多个点中的前景点,并生成多个点中的至少部分点各自对应的3D初始框。
[0165]
S650、根据上述3D检测框,生成对车辆进行控制的指令或者预警提示信息。
[0166]
可选的,本公开可以先根据3D检测框,确定目标对象的以下至少之一信息:目标对象在场景中的空间位置、大小、与车辆的距离、与车辆的相对方位信息。然后,再根据确定的至少之一信息,生成对车辆进行控制的指令或者预警提示信息。本公开生成的指令如提高时速的指令、降低时速的指令或者急刹车指令等。生成的预警提示信息如注意某个方位的车辆或者行人等目标对象的提示信息等。本公开不限制根据3D检测框产生指令或者预警提示信息的具体实现方式。
[0167]
图7为本公开的避障导航方法的一个实施例的流程图。
[0168]
如图7所示,该实施例方法包括步骤:S700、S710、S720、S730、S740以及S750。下面对图7中的各步骤分别进行详细说明。
[0169]
S700、提取获取到的场景的点云数据的特征信息。
[0170]
S710、根据点云数据的特征信息对点云数据进行语义分割,获得点云数据中的多个点的第一语义信息。
[0171]
S720、根据第一语义信息预测多个点中对应目标对象的至少一个前景点。
[0172]
S730、根据第一语义信息生成至少一个前景点各自对应的3D初始框。
[0173]
S740、根据3D初始框确定场景中的目标对象的3D检测框。
[0174]
上述S700-S740的具体实现过程可以参见上述实施方式中的相关描述,在此不再重复说明。而且, 上述S700-S740的实现方式可以为:将点云数据提供给神经网络,经由该神经网络对点云数据中的点进行特征信息提取处理,根据提取出的特征信息进行语义分割处理,获得多个点的语义特征,根据语义特征,预测多个点中的前景点,并生成多个点中的至少部分点各自对应的3D初始框。
[0175]
S750、根据上述3D检测框,生成对激光雷达所在机器人进行避障导航控制的指令或者预警提示信息。
[0176]
可选的,本公开可以先根据3D检测框,确定目标对象的以下至少之一信息:目标对象在场景中的空间位置、大小、与机器人的距离、与机器人的相对方位信息。然后,再根据确定的至少之一信息,生成对机器人进行避障导航控制的指令或者预警提示信息。本公开生成的指令如降低行动速度的指令或者暂停行动的指令或者转弯指令等。生成的预警提示信息如注意某个方位的障碍物(即目标对象)的提示信息等。本公开不限制根据3D检测框产生指令或者预警提示信息的具体实现方式。
[0177]
图8为本公开的目标对象3D检测装置一个实施例的结构示意图。图8所示的装置包括:提取特征模块800、第一语义分割模块810、预测前景点模块820、生成初始框模块830以及确定检测框模块840。
[0178]
提取特征模块800主要用于提取获取到的场景的点云数据的特征信息。第一语义分割模块810主要用于根据点云数据的特征信息对点云数据进行语义分割处理,获得点云数据中的多个点的第一语义信息。预测前景点模块820主要用于根据第一语义信息预测多个点中对应目标对象的至少一个前景点。生成初始框模块830主要用于根据第一语义信息生成至少一个前景点各自对应的3D初始框。确定检测框模块840主要用于根据3D初始框确定场景中的目标对象的3D检测框。
[0179]
在一个可选示例中,确定检测框模块840可以包括:第一子模块、第二子模块和第三子模块。其中的第一子模块主要用于获取点云数据中的部分区域内的点的特征信息,其中,部分区域至少包括一所述3D初始框。其中的第二子模块主要用于根据部分区域内的点的特征信息对部分区域内的点进行语义分割,获得部分区域内的点的第二语义信息。第三子模块主要用于根据部分区域内的点的第一语义信息和第二语义信息,确定场景中目标对象的3D检测框。
[0180]
在一个可选示例中,本公开中的第三子模块可以包括:第四子模块和第五子模块。其中的第四子模块主要用于根据部分区域内的点的第一语义信息和第二语义信息,校正3D初始框,得到校正后的3D初始框。其中的第五子模块主要用于根据校正后的3D初始框确定场景中目标对象的3D检测框。
[0181]
在一个可选示例中,本公开中的第三子模块可以进一步用于根据部分区域内的点的第一语义信息和第二语义信息,确定3D初始框对应目标对象的置信度,并根据3D初始框及其置信度确定场景中目标对象的3D检测框。
[0182]
在一个可选示例中,本公开中的第三子模块可以包括:第四子模块、第六子模块和第七子模块。其中的第四子模块主要用于根据部分区域内的点的第一语义信息和第二语义信息校正3D初始框,得到校正后的3D初始框。其中的第六子模块主要用于根据部分区域内的点的第一语义信息和第二语义信息确定校正后的3D初始框对应目标对象的置信度。其中的第七子模块主要用于根据校正后的3D初始框及其置信度确定场景中目标对象的3D检测框。
[0183]
在一个可选示例中,本公开中的部分区域包括:根据预定策略对3D初始框进行边缘扩展,得到的3D扩展框。例如,3D扩展框可以为:根据预先设定的X轴方向增量、Y轴方向增量和/或Z轴方向增量,对所述3D初始框进行3D空间扩展,形成包含有3D初始框的3D扩展框。
[0184]
在一个可选示例中,本公开中的第二子模块可以包括:第八子模块和第九子模块。其中的第八子模块主要用于根据3D扩展框的预设目标位置,对点云数据中位于3D扩展框内的点的坐标信息进行坐标变换,获取坐标变换后的点的特征信息。其中的第九子模块主要用于根据坐标变换后的点的特征信息,进行基于3D扩展框的语义分割,获得3D扩展框中的点的第二语义特征。可选的,第九子模块可以根据前景点的掩膜以及坐标变换后的点的特征信息,进行基于3D扩展框的语义分割,获得点的第二语义特征。
[0185]
在一个可选示例中,在前景点为多个的情况下,本公开中的确定检测框模块840可以先确定多个前景点对应的3D初始框之间的重叠度,然后,确定检测框模块840对重叠度大于设定阈值的3D初始框进行筛选;再后,确定检测框模块840根据筛选后的3D初始框确定场景中的目标对象的3D检测框。
[0186]
在一个可选示例中,本公开中的提取特征模块800、第一语义分割模块810、预测前景点模块820以及生成初始框模块830,可以由第一阶段神经网络实现。此时,本公开的装置还可以包括第一训练模块。第一训练模块用于,利用带有3D标注框的点云数据样本对待训练的第一阶段神经网络进行训练。
[0187]
在一个可选示例中,第一训练模块对第一阶段神经网络进行训练的过程,包括:
[0188]
首先,第一训练模块将点云数据样本提供给第一阶段神经网络,基于第一阶段神经网络提取点云数据样本的特征信息,第一阶段神经网络根据提取的特征信息对点云数据样本进行语义分割处理,第 一阶段神经网络根据语义分割处理获得的多个点的第一语义特征,预测多个点中对应目标对象的至少一个前景点,并根据第一语义信息生成至少一个前景点各自对应的3D初始框。
[0189]
其次,第一训练模块获取前景点对应的损失、以及3D初始框相对于相应的3D标注框形成的损失,并根据上述损失,对第一阶段神经网络中的网络参数进行调整。
[0190]
可选的,第一训练模块可以根据第一阶段神经网络预测的前景点的置信度,确定前景点预测结果对应的第一损失。第一训练模块根据针对前景点生成的3D初始框中的参数所在的桶的编号、以及点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第二损失。第一训练模块根据针对前景点生成的3D初始框中的参数在对应桶内的偏移量、以及点云数据样本中的3D标注框信息中的参数在对应桶内的偏移量,产生第三损失。第一训练模块根据针对前景点生成的3D初始框中的参数相对于预定参数的偏移量,产生第四损失。第一训练模块根据前景点的坐标参数相对于针对该前景点生成的3D初始框中的坐标参数的偏移量产生的第五损失。第一训练模块根据其获得第一损失、第二损失、第三损失、第四损失和第五损失,对第一阶段神经网络的网络参数进行调整。
[0191]
在一个可选示例中,本公开中的第一子模块、第二子模块和第三子模块,由第二阶段神经网络实现。此时,本公开的装置还包括第二训练模块,第二训练模块用于利用带有3D标注框的点云数据样本对待训练的第二阶段神经网络进行训练。
[0192]
在一个可选示例中,第二训练模块对第二阶段神经网络进行训练的过程,包括:
[0193]
首先,第二训练模块将利用第一阶段神经网络获得的3D初始框,提供给第二阶段神经网络,基于第二阶段神经网络获取点云数据样本中的部分区域内的点的特征信息,根据部分区域内的点的特征信息,对部分区域内的点进行语义分割,获得部分区域内的点的第二语义特征;第二阶段神经网络根据部分区域内的点的第一语义特征和第二语义特征,确定3D初始框为目标对象的置信度,并根据部分区域内的点的第一语义特征和第二语义特征,生成位置校正后的3D初始框。
[0194]
其次,第二训练模块获取3D初始框为目标对象的置信度对应的损失、和位置校正后的3D初始框相对于相应的3D标注框形成的损失,并根据获得的损失,对第二阶段神经网络中的网络参数进行调整。
[0195]
可选的,第二训练模块可以根据第二阶段神经网络预测的3D初始框为目标对象的置信度,确定预测结果对应的第六损失。第二训练模块根据第二阶段神经网络生成的、与相应的3D标注框的重叠度超过设定阈值的、位置校正后的3D初始框中的参数所在的桶的编号、以及点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第七损失;第二训练模块根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数在对应桶内的偏移量、以及点云数据样本中的3D标注框信息中的参数在对应桶内的偏移量,产生第八损失;第二训练模块根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数相对于预定参数的偏移量,产生第九损失;第二训练模块根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的坐标参数相对于3D标注框的中心点的坐标参数的偏移量,产生第十损失;第二训练模块根据第六损失、第七损失、第八损失、第九损失和第十损失,调整第二阶段神经网络的网络参数。
[0196]
图9为本公开的车辆智能控制装置一个实施例的结构示意图。如图9所示,该实施例的装置包括:目标对象3D检测装置900以及第一控制模块910。目标对象3D检测装置900用于基于点云数据,获得目标对象的3D检测框。目标对象3D检测装置900的具体结构以及执行的具体操作如上述装置和方法实施方式中的描述,在此不再详细说明。第一控制模块910主要用于根据3D检测框,生成对车辆进行控制的指令或者预警提示信息。具体可以参见上述方法实施方式中的相关描述,在此不再详细说明。
[0197]
图10为本公开的避障导航装置,如图10所示,该实施例的装置包括:目标对象3D检测装置1000以及第二控制模块1010。目标对象3D检测装置1000用于基于点云数据,获得目标对象的3D检测框。目标对象3D检测装置1000的具体结构以及执行的具体操作如上述装置和方法实施方式中的相关描述,在此不再详细说明。第二控制模块1010主要用于根据3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息。具体可以参见上述方法实施方式中的相关描述,在此不再详细说明。
[0198]
示例性设备
[0199]
图11示出了适于实现本公开的示例性设备1100,设备1100可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(PC,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图11中,设备1100包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(CPU)1101,和/或,一个或者多个利用神经网络进行视觉跟踪的图像处理器(GPU)1113等,处理器可以根据存储在只读存储器(ROM)1102中的可执行指令或者从存储部分1108加载到随机访问存储器(RAM)1103中的可执行指令而执行各种适当的动 作和处理。通信部1112可以包括但不限于网卡,所述网卡可以包括但不限于IB(Infiniband)网卡。处理器可与只读存储器1102和/或随机访问存储器1103通信以执行可执行指令,通过总线1104与通信部1112相连、并经通信部1112与其他目标设备通信,从而完成本公开中的相应步骤。上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。在RAM 1103中,还可以存储有装置操作所需的各种程序以及数据。CPU1101、ROM1102以及RAM1103通过总线1104彼此相连。
[0200]
在有RAM1103的情况下,ROM1102为可选模块。RAM1103存储可执行指令,或在运行时向ROM1102中写入可执行指令,可执行指令使中央处理单元1101执行上述目标对象3D检测方法所包括的步骤。输入/输出(I/O)接口1105也连接至总线1104。通信部1112可以集成设置,也可以设置为具有多个子模块(例如,多个IB网卡),并分别与总线连接。以下部件连接至I/O接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至I/O接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装在存储部分1108中。
[0201]
需要特别说明的是,如图11所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图11的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,GPU1113和CPU1101可分离设置,再如,可将GPU1113集成在CPU1101上,通信部1112可分离设置,也可集成设置在CPU1101或GPU1113上等。这些可替换的实施方式均落入本公开的保护范围。特别地,根据本公开的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本公开实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本公开提供的方法中的步骤对应的指令。在这样的实施方式中,该计算机程序可以通过通信部分1109从网络上被下载及安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(CPU)1101执行时,执行本公开中记载的实现上述相应步骤的指令。
[0202]
在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的目标对象3D检测方法。
[0203]
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0204]
在一个或多个可选实施方式中,本公开实施例还提供了另一种目标对象3D检测方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中的目标对象3D检测方法包括:第一装置向第二装置发送目标对象3D检测指示,该指示使得第二装置执行上述任一可能的实施例中的目标对象3D检测方法;第一装置接收第二装置发送的目标对象3D检测结果。
[0205]
在一些实施例中,该目标对象3D检测指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行目标对象3D检测操作,相应地,响应于接收到调用指令,第二装置可以执行上述目标对象3D检测方法中的任意实施例中的步骤和/或流程。
[0206]
应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0207]
可能以许多方式来实现本公开的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
[0208]
本公开的描述,是为了示例和描述起见而给出的,而并不是无遗漏的或者将本公开限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本公开的原理以及实际应用,并且使本领域的普通技术人员能够理解本公开实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。

权利要求书

[权利要求 1]
一种目标对象3D检测方法,其特征在于,包括: 提取获取到的场景的点云数据的特征信息; 根据所述点云数据的特征信息对所述点云数据进行语义分割,获得所述点云数据中的多个点的第一语义信息; 根据所述第一语义信息预测所述多个点中对应目标对象的至少一个前景点; 根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框; 根据所述3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 2]
根据权利要求1所述的方法,所述根据所述3D初始框确定所述场景中的所述目标对象的3D检测框,包括: 获取所述点云数据中的部分区域内的点的特征信息,其中,所述部分区域至少包括一所述3D初始框; 根据所述部分区域内的点的特征信息对所述部分区域内的点进行语义分割,获得所述部分区域内的点的第二语义信息; 根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述场景中的所述目标对象的3D检测框。
[权利要求 3]
根据权利要求2所述的方法,所述根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述场景中的所述目标对象的3D检测框,包括: 根据所述部分区域内的点的第一语义信息和第二语义信息,校正所述3D初始框,得到校正后的3D初始框; 根据校正后的3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 4]
根据权利要求2所述的方法,所述根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述场景中的所述目标对象的3D检测框,包括: 根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述3D初始框对应目标对象的置信度; 根据所述3D初始框及其置信度确定所述场景中的所述目标对象的3D检测框。
[权利要求 5]
根据权利要求2所述的方法,所述根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述场景中的所述目标对象的3D检测框,包括: 根据所述部分区域内的点的第一语义信息和第二语义信息校正所述3D初始框,得到校正后的3D初始框; 根据所述部分区域内的点的第一语义信息和第二语义信息确定所述校正后的3D初始框对应目标对象的置信度; 根据所述校正后的3D初始框及其置信度确定所述场景中的所述目标对象的3D检测框。
[权利要求 6]
根据权利要求2至5中任一项所述的方法,其特征在于,所述部分区域包括:根据预定策略对3D初始框进行边缘扩展,得到的3D扩展框。
[权利要求 7]
根据权利要求6所述的方法,其特征在于,所述3D扩展框,包括: 根据预先设定的X轴方向增量、Y轴方向增量和/或Z轴方向增量,对所述3D初始框进行3D空间扩展,形成包含有所述3D初始框的3D扩展框。
[权利要求 8]
根据权利要求6或7所述的方法,其特征在于,所述根据所述部分区域内的点的特征信息对所述部分区域内的点进行语义分割,获得所述部分区域内的点的第二语义信息,包括: 根据所述3D扩展框的预设目标位置,对点云数据中位于所述3D扩展框内的点的坐标信息进行坐标变换,获取坐标变换后的点的特征信息; 根据坐标变换后的点的特征信息,进行基于所述3D扩展框的语义分割,获得所述3D扩展框中的点的第二语义特征。
[权利要求 9]
根据权利要求8所述的方法,其特征在于,所述根据坐标变换后的点的特征信息,进行基于所述3D扩展框的语义分割,包括: 根据所述前景点的掩膜以及坐标变换后的点的特征信息,进行基于所述3D扩展框的语义分割。
[权利要求 10]
根据权利要求1所述的方法,所述前景点为多个,所述根据所述3D初始框确定所述场景中的所述目标对象的3D检测框,包括: 确定多个所述前景点对应的3D初始框之间的重叠度; 对重叠度大于设定阈值的3D初始框进行筛选; 根据筛选后的3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 11]
根据权利要求1至10中任一项所述的方法,其特征在于,所述提取获取到的场景的点云数据的特征信息,根据所述点云数据的特征信息对所述点云数据进行语义分割,获得所述点云数据中的多个点的第一语义信息,根据所述第一语义信息预测所述多个点中对应目标对象的至少一个前景点,根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框,由第一阶段神经网络实现; 所述第一阶段神经网络,是利用带有3D标注框的点云数据样本训练获得的。
[权利要求 12]
根据权利要求11所述的方法,其特征在于,所述第一阶段神经网络的训练过程包括: 将点云数据样本提供给所述第一阶段神经网络,基于所述第一阶段神经网络提取所述点云数据样本的特征信息,根据所述点云数据样本的特征信息对所述点云数据样本进行语义分割,根据语义分割获得的多个点的第一语义特征,预测所述多个点中对应目标对象的至少一个前景点,并根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框; 获取所述前景点对应的损失、以及所述3D初始框相对于相应的3D标注框形成的损失,并根据所述损失,对所述第一阶段神经网络中的网络参数进行调整。
[权利要求 13]
根据权利要求12所述的方法,其特征在于,所述获取所述前景点对应的损失、以及所述3D初始框相对于相应的3D标注框形成的损失,并根据所述损失,对所述第一阶段神经网络中的网络参数进行调整,包括: 根据所述第一阶段神经网络预测的所述前景点的置信度,确定所述前景点预测结果对应的第一损失; 根据针对所述前景点生成的3D初始框中的参数所在的桶的编号、以及所述点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第二损失; 根据针对所述前景点生成的3D初始框中的参数在对应桶内的偏移量、以及所述点云数据样本中的3D标注框信息中的参数在对应桶内的偏移量,产生第三损失; 根据针对所述前景点生成的3D初始框中的参数相对于预定参数的偏移量,产生第四损失; 根据所述前景点的坐标参数相对于针对该前景点生成的3D初始框中的坐标参数的偏移量产生的第五损失; 根据所述第一损失、第二损失、第三损失、第四损失和第五损失,对所述第一阶段神经网络的网络参数进行调整。
[权利要求 14]
根据权利要求2至9中任一项所述的方法,其特征在于,所述获取所述点云数据中的部分区域内的点的特征信息,根据所述部分区域内的点的特征信息对所述部分区域内的点进行语义分割,获得所述部分区域内的点的第二语义信息,根据所述部分区域内的点的所述第一语义信息和所述第二语义信息,确定所述场景中的所述目标对象的3D检测框,由第二阶段神经网络实现; 所述第二阶段神经网络,是利用带有3D标注框的点云数据样本训练获得的。
[权利要求 15]
根据权利要求14所述的方法,其特征在于,所述第二阶段神经网络的训练过程包括: 将所述3D初始框提供给第二阶段神经网络,基于第二阶段神经网络获取所述点云数据样本中的部分区域内的点的特征信息,根据所述点云数据样本中的部分区域内的点的特征信息,对所述点云数据样本中的部分区域内的点进行语义分割,获得所述点云数据样本中的部分区域内的点的第二语义特征;根据所述点云数据样本中的部分区域内的点的第一语义特征和第二语义特征,确定所述3D初始框为目标对象的置信度,并根据所述点云数据样本中的部分区域内的点的第一语义特征和第二语义特征,生成位置校正后的3D初始框; 获取所述3D初始框为目标对象的置信度对应的损失、以及所述位置校正后的3D初始框相对于相应的3D标注框形成的损失,并根据所述损失,对所述第二阶段神经网络中的网络参数进行调整。
[权利要求 16]
根据权利要求15所述的方法,其特征在于,所述获取所述3D初始框为目标对象的置信度对应的损失、以及所述位置校正后的3D初始框相对于相应的3D标注框形成的损失,并根据所述损失,对所述第二阶段神经网络中的网络参数进行调整,包括: 根据第二阶段神经网络预测的3D初始框为目标对象的置信度,确定预测结果对应的第六损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数所在的桶的编号、以及点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第七损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数在对应桶内的偏移量、以及点云数据样本中的3D标注框信息中的参数在对应桶内的偏移 量,产生第八损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数相对于预定参数的偏移量,产生第九损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的坐标参数相对于3D标注框的中心点的坐标参数的偏移量,产生第十损失; 根据所述第六损失、第七损失、第八损失、第九损失和第十损失,调整所述第二阶段神经网络的网络参数。
[权利要求 17]
一种车辆智能控制方法,其特征在于,所述方法包括: 采用如权利要求1至16中任一项所述的目标对象3D检测方法,获得目标对象的3D检测框; 根据所述3D检测框,生成对车辆进行控制的指令或者预警提示信息。
[权利要求 18]
根据权利要求17所述的方法,所述根据所述3D检测框,生成对车辆进行控制的指令或者预警提示信息,包括: 根据所述3D检测框,确定所述目标对象的以下至少之一信息:所述目标对象在场景中的空间位置、大小、与车辆的距离、与车辆的相对方位信息; 根据确定的所述至少之一信息,生成对所述车辆进行控制的指令或者预警提示信息。
[权利要求 19]
一种避障导航方法,其特征在于,所述方法包括: 采用如权利要求1至16中任一项所述的目标对象3D检测方法,获得目标对象的3D检测框; 根据所述3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息。
[权利要求 20]
根据权利要求19所述的方法,所述根据所述3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息,包括: 根据所述3D检测框,确定所述目标对象的以下至少之一信息:所述目标对象在场景中的空间位置、大小、与机器人的距离、与机器人的相对方位信息; 根据确定的所述至少之一信息,生成对所述机器人进行避障导航控制的指令或者预警提示信息。
[权利要求 21]
一种目标对象3D检测装置,其特征在于,包括: 提取特征模块,用于提取获取到的场景的点云数据的特征信息; 第一语义分割模块,用于根据所述点云数据的特征信息对所述点云数据进行语义分割,获得所述点云数据中的多个点的第一语义信息; 预测前景点模块,用于根据所述第一语义信息预测所述多个点中对应目标对象的至少一个前景点; 生成初始框模块,用于根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框; 确定检测框模块,用于根据所述3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 22]
根据权利要求21所述的装置,所述确定检测框模块,进一步包括: 第一子模块,用于获取所述点云数据中的部分区域内的点的特征信息,其中,所述部分区域至少包括一所述3D初始框; 第二子模块,用于根据所述部分区域内的点的特征信息对所述部分区域内的点进行语义分割,获得所述部分区域内的点的第二语义信息; 第三子模块,用于根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述场景中的所述目标对象的3D检测框。
[权利要求 23]
根据权利要求22所述的装置,所述第三子模块包括: 第四子模块,用于根据所述部分区域内的点的第一语义信息和第二语义信息,校正所述3D初始框,得到校正后的3D初始框; 第五子模块,用于根据校正后的3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 24]
根据权利要求22所述的装置,所述第三子模块,进一步用于: 根据所述部分区域内的点的第一语义信息和第二语义信息,确定所述3D初始框对应目标对象的置信度; 根据所述3D初始框及其置信度确定所述场景中的所述目标对象的3D检测框。
[权利要求 25]
根据权利要求22所述的装置,所述第三子模块包括: 第四子模块,用于根据所述部分区域内的点的第一语义信息和第二语义信息,校正所述3D初始框,得到校正后的3D初始框; 第六子模块,用于根据所述部分区域内的点的第一语义信息和第二语义信息确定所述校正后的3D初始框对应目标对象的置信度; 第七子模块,用于根据所述校正后的3D初始框及其置信度确定所述场景中的所述目标对象的3D检测框。
[权利要求 26]
根据权利要求22至25中任一项所述的装置,其特征在于,所述部分区域包括:根据预定策略对3D初始框进行边缘扩展,得到的3D扩展框。
[权利要求 27]
根据权利要求26所述的装置,其特征在于,所述3D扩展框,包括: 根据预先设定的X轴方向增量、Y轴方向增量和/或Z轴方向增量,对所述3D初始框进行3D空间扩展,形成包含有所述3D初始框的3D扩展框。
[权利要求 28]
根据权利要求26或27所述的装置,其特征在于,所述第二子模块包括: 第八子模块,用于根据所述3D扩展框的预设目标位置,对点云数据中位于所述3D扩展框内的点的坐标信息进行坐标变换,获取坐标变换后的点的特征信息; 第九子模块,用于根据坐标变换后的点的特征信息,进行基于所述3D扩展框的语义分割,获得所述3D扩展框中的点的第二语义特征。
[权利要求 29]
根据权利要求28所述的装置,其特征在于,所述第九子模块进一步用于: 根据所述前景点的掩膜以及坐标变换后的点的特征信息,进行基于所述3D扩展框的语义分割。
[权利要求 30]
根据权利要求21所述的装置,所述前景点为多个,所述确定检测框模块进一步用于: 确定多个所述前景点对应的3D初始框之间的重叠度; 对重叠度大于设定阈值的3D初始框进行筛选; 根据筛选后的3D初始框确定所述场景中的所述目标对象的3D检测框。
[权利要求 31]
根据权利要求21至30中任一项所述的装置,其特征在于,所述提取特征模块、第一语义分割模块、预测前景点模块和生成初始框模块,由第一阶段神经网络实现,且所述第一阶段神经网络,是第一训练模块利用带有3D标注框的点云数据样本训练获得的。
[权利要求 32]
根据权利要求31所述的装置,其特征在于,所述第一训练模块用于: 将点云数据样本提供给所述第一阶段神经网络,基于所述第一阶段神经网络提取所述点云数据样本的特征信息,根据所述点云数据样本的特征信息对所述点云数据样本进行语义分割,根据语义分割获得的多个点的第一语义特征,预测所述多个点中对应目标对象的至少一个前景点,并根据所述第一语义信息生成所述至少一个前景点各自对应的3D初始框; 获取所述前景点对应的损失、以及所述3D初始框相对于相应的3D标注框形成的损失,并根据所述损失,对所述第一阶段神经网络中的网络参数进行调整。
[权利要求 33]
根据权利要求32所述的装置,其特征在于,所述第一训练模块进一步用于: 根据所述第一阶段神经网络预测的所述前景点的置信度,确定所述前景点预测结果对应的第一损失; 根据针对所述前景点生成的3D初始框中的参数所在的桶的编号、以及所述点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第二损失; 根据针对所述前景点生成的3D初始框中的参数在对应桶内的偏移量、以及所述点云数据样本中的3D标注框信息中的参数在对应桶内的偏移量,产生第三损失; 根据针对所述前景点生成的3D初始框中的参数相对于预定参数的偏移量,产生第四损失; 根据所述前景点的坐标参数相对于针对该前景点生成的3D初始框中的坐标参数的偏移量产生的第五损失; 根据所述第一损失、第二损失、第三损失、第四损失和第五损失,对所述第一阶段神经网络的网络参数进行调整。
[权利要求 34]
根据权利要求22至29中任一项所述的装置,其特征在于,所述第一子模块、第二子模块和第三子模块,由第二阶段神经网络实现,且所述第二阶段神经网络,是第二训练模块利用带有3D标注框的点云数据样本训练获得的。
[权利要求 35]
根据权利要求34所述的装置,其特征在于,所述第二训练模块用于: 将所述3D初始框,提供给第二阶段神经网络,基于第二阶段神经网络获取所述点云数据样本中的部分区域内的点的特征信息,根据所述点云数据样本中的部分区域内的点的特征信息,对所述点云数据样本中的部分区域内的点进行语义分割,获得点云数据样本中的部分区域内的点的第二语义特征;根据所述点云数据样本中的部分区域内的点的第一语义特征和第二语义特征,确定所述3D初始框为目标对象的置信度,并根据所述点云数据样本中的部分区域内的点的第一语义特征和所述第二语义特征,生成位置校正后的3D初始框; 获取所述3D初始框为目标对象的置信度对应的损失、以及所述位置校正后的3D初始框相对于相 应的3D标注框形成的损失,并根据所述损失,对所述第二阶段神经网络中的网络参数进行调整。
[权利要求 36]
根据权利要求35所述的装置,其特征在于,所述第二训练模块进一步用于: 根据第二阶段神经网络预测的3D初始框为目标对象的置信度,确定预测结果对应的第六损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数所在的桶的编号、以及点云数据样本中的3D标注框信息中的参数所在的桶的编号,产生第七损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数在对应桶内的偏移量、以及点云数据样本中的3D标注框信息中的参数在对应桶内的偏移量,产生第八损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的参数相对于预定参数的偏移量,产生第九损失; 根据第二阶段神经网络生成的与相应的3D标注框的重叠度超过设定阈值的位置校正后的3D初始框中的坐标参数相对于3D标注框的中心点的坐标参数的偏移量,产生第十损失; 根据所述第六损失、第七损失、第八损失、第九损失和第十损失,调整所述第二阶段神经网络的网络参数。
[权利要求 37]
一种车辆智能控制装置,其特征在于,所述装置包括: 采用如权利要求21至36中任一项所述的目标对象3D检测装置,获得目标对象的3D检测框; 第一控制模块,用于根据所述3D检测框,生成对车辆进行控制的指令或者预警提示信息。
[权利要求 38]
根据权利要求37所述的装置,所述第一控制模块,进一步用于: 根据所述3D检测框,确定所述目标对象的以下至少之一信息:所述目标对象在场景中的空间位置、大小、与车辆的距离、与车辆的相对方位信息; 根据确定的所述至少之一信息,生成对所述车辆进行控制的指令或者预警提示信息。
[权利要求 39]
一种避障导航装置,其特征在于,所述装置包括: 采用如权利要求21至36中任一项所述的目标对象3D检测装置,获得目标对象的3D检测框; 第二控制模块,用于根据所述3D检测框,生成对机器人进行避障导航控制的指令或者预警提示信息。
[权利要求 40]
根据权利要求39所述的装置,所述第二控制模块进一步用于: 根据所述3D检测框,确定所述目标对象的以下至少之一信息:所述目标对象在场景中的空间位置、大小、与机器人的距离、与机器人的相对方位信息; 根据确定的所述至少之一信息,生成对所述机器人进行避障导航控制的指令或者预警提示信息。
[权利要求 41]
一种电子设备,包括: 存储器,用于存储计算机程序; 处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-20中任一项所述的方法。
[权利要求 42]
一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述权利要求1-20中任一项所述的方法。
[权利要求 43]
一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现上述权利要求1-20中任一项所述的方法。

附图

[ 图 1]  
[ 图 2]  
[ 图 3]  
[ 图 4]  
[ 图 5]  
[ 图 6]  
[ 图 7]  
[ 图 8]  
[ 图 9]  
[ 图 10]  
[ 图 11]