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

数据处理方法、装置、计算机设备及存储介质

文献发布时间:2024-04-18 19:57:31


数据处理方法、装置、计算机设备及存储介质

技术领域

本公开涉及计算机技术领域,具体而言,涉及一种数据处理方法、装置、计算机设备及存储介质。

背景技术

随着科技的发展,车辆已成为人们出行必不可少的交通工具。为了保障车辆的安全行驶,在车辆上安装自动驾驶系统、辅助驾驶系统等驾驶辅助工具已成为车辆的发展趋势,其中驾驶辅助工具在车辆行驶过程中,通过对周边环境进行感知,以实现对车辆行驶的辅助。

一般的,可以在车辆上安装激光雷达,通过激光雷达采集周边环境的点云数据,通过对点云数据的检测,实现对周边环境的感知,进而为车辆提供行驶策略。因此,对点云数据检测的精度和效率,与车辆行驶的安全性相关。

发明内容

本公开实施例至少提供一种数据处理方法、装置、计算机设备及存储介质。

第一方面,本公开实施例提供了一种数据处理方法,包括:

获取目标区域内待检测点云数据,所述待检测点云数据包括多个点云点的点云数据;

基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据;

针对卷积处理过程的每个卷积窗口,基于所述卷积窗口包含的采样坐标信息、以及所述多个体素的体素索引坐标,确定所述卷积窗口内进行卷积处理的目标坐标信息;从所述多个体素的体素信息中,获取与所述目标坐标信息匹配的目标体素的体素特征数据;对所述目标体素的体素特征数据进行卷积处理,得到所述卷积窗口的局部特征数据;

根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据。

一种可选的实施方式中,所述基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据,包括:

将所述目标区域进行栅格化处理,生成多个栅格区域;

在对所述待检测点云数据进行归一化处理之后,基于得到的处理后点云数据中各个点云点的位置数据,从多个栅格区域中确定包括点云点的目标栅格区域;

基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息。

一种可选的实施方式中,所述基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息,包括:

对所述目标栅格区域在所述目标区域的坐标信息进行哈希处理,生成所述目标栅格区域对应的体素的体素索引坐标;

对所述目标栅格区域包括的点云点的点云数据进行融合处理,生成所述目标栅格区域对应的体素的体素特征数据。

一种可选的实施方式中,所述根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据,包括:

基于各个卷积窗口分别对应的所述局部特征数据,确定所述目标区域中每个体素对应的目标特征数据;

基于所述目标区域中各个所述体素分别对应的目标特征数据,确定每个所述体素包括的点云点的第一点云特征数据;

基于各个点云点的所述第一点云特征数据,确定输出特征数据。

一种可选的实施方式中,所述方法还包括:

对所述待检测点云数据中多个点云点的点云数据进行特征提取,生成各个点云点分别对应的第二点云特征数据;

所述基于各个点云点的所述第一点云特征数据,确定输出特征数据,包括:

将每个点云点的所述第一点云特征数据和所述第二点云特征数据进行融合,生成所述点云点的融合特征数据;

将各个点云点的所述融合特征数据,确定为输出特征数据。

一种可选的实施方式中,所述输出特征数据为利用点云卷积模块对所述待检测点云数据进行卷积操作得到的,所述方法还包括:

利用所述点云卷积模块,构建目标检测模型;

利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果。

一种可选的实施方式中,所述利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果,包括:

确定所述目标检测模型中包括的检测分支;

针对每个所述检测分支,基于所述检测分支中包括的各个算子的运算逻辑,确定所述检测分支运算所需的最大存储空间容量,并从内部存储空间中,生成所述检测分支对应的内存池;

基于各个检测分支分别对应的所述内存池,利用所述目标检测模型,对所述输入点云数据进行检测,生成检测结果。

第二方面,本公开实施例还提供一种数据处理装置,包括:

获取模块,用于获取目标区域内待检测点云数据,所述待检测点云数据包括多个点云点的点云数据;

第一生成模块,用于基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据;

处理模块,用于针对卷积处理过程的每个卷积窗口,基于所述卷积窗口包含的采样坐标信息、以及所述多个体素的体素索引坐标,确定所述卷积窗口内进行卷积处理的目标坐标信息;从所述多个体素的体素信息中,获取与所述目标坐标信息匹配的目标体素的体素特征数据;对所述目标体素的体素特征数据进行卷积处理,得到所述卷积窗口的局部特征数据;

第二生成模块,用于根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据。

第三方面,本公开提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的数据处理方法的步骤。

第四方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的数据处理方法的步骤。

关于上述装置、计算机设备及存储介质的效果描述参见上述方法的说明,这里不再赘述。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。

本公开实施例提供的数据处理方法,在获取到待检测点云数据之后,对待检测点云数据进行体素化处理,生成目标区域包括的多个体素的体素信息,其中体素信息包括体素索引坐标和体素特征数据,该体素特征数据可以为基于位于体素所处局部空间内的点云点的点云数据确定得到的,故多个体素属于有效体素。在对待检测点云数据进行卷积处理过程中,针对每个卷积窗口,利用基于卷积窗口包含的采样坐标信息、以及多个体素的体素索引坐标,通过坐标匹配的方式,可以较简便的确定卷积窗口内进行卷积处理的目标坐标信息;再从多个体素的体素信息中,获取与目标坐标信息匹配的目标体素的体素特征数据;对目标体素的体素特征数据进行卷积处理,得到卷积窗口的局部特征数据,实现了对待检测点云数据的稀疏卷积,提高了待检测点云数据的卷积效率,以便后续可以基于输出特征数据较高效的得到检测结果,提高检测效率。

同时,由于本公开中是对待检测点云数据进行稀疏卷积处理,卷积效率极高,基于此,本公开中可以将体素分辨率设置的较高,在保障了检测效率的同时,可以提高待检测点云数据的处理精度,使得得到的输出特征数据的精度较高,以便后续根据输出特征数据可以较准确的得到检测结果。

为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开一些实施例所提供的数据处理方法的流程示意图;

图2示出了本公开一些实施例所提供的数据处理方法中,点云卷积模块的示意图;

图3示出了本公开一些实施例所提供的数据处理方法中,目标检测模型的局部示意图;

图4示出了本公开一些实施例所提供的数据处理方法中,目标检测模型的局部静态图;

图5示出了本公开一些实施例所提供的数据处理装置的结构示意图;

图6示出了本公开一些实施例所提供的计算机设备的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

在激光雷达采集周边环境的点云数据之后,可以对点云数据进行栅格化处理,得到栅格特征数据,以便后续可以通过对栅格特征数据进行卷积处理,得到检测结果。一般的为了保障点云检测精度,可以提高栅格的数量,由于激光雷达采集到的点云点比较稀疏,使得栅格化处理后会得到较多的无效栅格,无效栅格为栅格所处区域内不存在点云点的栅格,进而在对无效栅格进行卷积处理时会造成计算资源中内存与算力的浪费。考虑到车辆端的计算资源有限,通常会降低栅格数量,以减少对远处物体的感知,实现对周边环境的感知,通过降低精度方式,达到保障检测效率的目的。

或者,还可以直接将激光雷达采集到的点云数据,通过确定的外参数据,将点云数据投影到鸟瞰图(bird’s-eye-view,BEV)视角上,得到二维图像,然后通过对二维图像进行卷积操作,得到检测结果,但是,上述方式丢失了原始的点云数据中位置结构相关信息,检测结果的精度较低。

基于上述研究,本公开提供了一种数据处理方法,该方法在获取到待检测点云数据之后,对待检测点云数据进行体素化处理,生成目标区域包括的多个体素的体素信息,其中体素信息包括体素索引坐标和体素特征数据,该体素特征数据可以为基于位于体素所处局部空间内的点云点的点云数据确定得到的,故多个体素属于有效体素。在对待检测点云数据进行卷积处理过程中,针对每个卷积窗口,利用基于卷积窗口包含的采样坐标信息、以及多个体素的体素索引坐标,通过坐标匹配的方式,可以较简便的确定卷积窗口内进行卷积处理的目标坐标信息;再从多个体素的体素信息中,获取与目标坐标信息匹配的目标体素的体素特征数据;对目标体素的体素特征数据进行卷积处理,得到卷积窗口的局部特征数据,实现了对待检测点云数据的稀疏卷积,提高了待检测点云数据的卷积效率,以便后续可以基于输出特征数据较高效的得到检测结果,提高检测效率。

同时,由于本公开中是对待检测点云数据进行稀疏卷积处理,卷积效率极高,基于此,本公开中可以将体素分辨率设置的较高,在保障了检测效率的同时,可以提高待检测点云数据的处理精度,使得得到的输出特征数据的精度较高,以便后续根据输出特征数据可以较准确的得到检测结果。

针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

为便于对本实施例进行理解,首先对本公开实施例所公开的一种数据处理方法进行详细介绍。本公开实施例所提供的数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器,终端设备可以为用户设备(UserEquipment,UE)、计算设备、车载设备等。在一些可能的实现方式中,该数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

参见图1所示,为本公开实施例提供的数据处理方法的流程示意图,所述方法包括S101-S104,其中:

S101,获取目标区域内待检测点云数据,所述待检测点云数据包括多个点云点的点云数据;

S102,基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据;

S103,针对卷积处理过程的每个卷积窗口,基于所述卷积窗口包含的采样坐标信息、以及所述多个体素的体素索引坐标,确定所述卷积窗口内进行卷积处理的目标坐标信息;从所述多个体素的体素信息中,获取与所述目标坐标信息匹配的目标体素的体素特征数据;对所述目标体素的体素特征数据进行卷积处理,得到所述卷积窗口的局部特征数据;

S104,根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据。

下述分别对S101-S104进行具体说明。

针对S101:

待检测点云数据可以为雷达传感器采集的原始点云数据,也可以为对原始点云数据进行卷积处理后得到的点云数据。待检测点云数据包括多个点云点的点云数据,点云点的点云数据可以包括点云点在目标坐标系下的位置数据、和点云点对应的特征数据,其中目标坐标系可以为世界坐标系,也可以为以雷达传感器为原点构建的传感器坐标系等等。

目标区域可以为根据雷达传感器所在位置和采集范围确定的,比如目标区域可以为以雷达传感器所在位置为中心,以预设长度为半径的圆形区域,或者,也可以为以雷达传感器所在位置为中心,分别向前、向后、向左、向右延伸预设长度的矩阵区域等等,预设长度可以根据采集范围进行确定,一般的预设长度小于或等于采集范围,比如采集范围指示为100米时,预设长度可以为100米、90米等。其中雷达传感器可以位于目标车辆上,以在目标车辆的行驶过程中采集得到点云数据。

针对S102:

在得到待检测点云数据之后,可以对待检测点云数据进行体素化处理,生成目标区域包括的多个体素的体素信息,其中体素信息包括体素索引坐标和体素特征数据,该体素特征数据可以为根据位于该体素所处局部空间内的点云点的特征数据确定的,比如可以将位于体素所处局部空间内的点云点的特征数据的取平均,作为该体素对应的体素特征数据。

一种可选实施方式中,在S102中,所述基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据,具体包括:

步骤a1,将所述目标区域进行栅格化处理,生成多个栅格区域;

步骤a2,在对所述待检测点云数据进行归一化处理之后,基于得到的处理后点云数据中各个点云点的位置数据,从多个栅格区域中确定包括点云点的目标栅格区域;

步骤a3,基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息。

在步骤a1中,可以将目标区域进行栅格化处理,生成多个栅格区域。比如,可以按照设置的栅格分辨率,对目标区域进行栅格化处理,或者,按照设置的栅格尺寸,对目标区域进行栅格化处理。

示例性的,若设置的栅格分辨率为长度128×宽度128×高度10,则可以将目标区域划分为多个栅格,根据目标区域的体积,可以得到每个栅格所处的空间区域的区域信息。

在步骤a2中,可以先对待检测点云数据进行归一化处理,比如使用归一化处理层Normalize,对待检测点云数据中各个点云点的特征数据进行归一化处理,生成处理后点云数据,其中归一化处理前和处理后,点云点的位置数据不变。

针对每个栅格,根据栅格对应的空间区域,和处理后点云数据中各个点与点的位置数据,判断该栅格中是否包含有点云点。若包含有点云点,则该栅格属于目标栅格;若不包含,则该栅格不属于目标栅格,并将该栅格筛掉。或者,也可以基于栅格所处的空间区域的区域信息、和处理后点云数据中各个点云点的位置数据,确定每个点云点所处的栅格;再统计得到多个栅格中包含有点云点的目标栅格。其中目标栅格所处的空间区域即为目标栅格区域。实施时,可以以目标区域中任一栅格为原点,建立空间坐标系,得到各个栅格的坐标信息,比如原点处的栅格在目标区域中的坐标信息为(0,0,0)。

在步骤a3中,可以将每个目标栅格作为一个体素,针对每个目标栅格,可以根据该目标栅格区域在目标区域中的坐标信息,确定目标栅格对应的体素的体素索引坐标,比如可以直接将该目标栅格区域在目标区域中的坐标信息,确定目标栅格对应的体素的体素索引坐标。以及根据该目标栅格区域包含的点云点的特征信息,确定该目标栅格对应的体素的体素特征数据。比如可以将目标栅格区域包含的点云点的特征信息进行级联,得到该目标栅格对应的体素的体素特征数据。

一种可选实施方式中,在步骤a3,所述基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息,具体包括:

步骤a31,对所述目标栅格区域在所述目标区域的坐标信息进行哈希处理,生成所述目标栅格区域对应的体素的体素索引坐标;

步骤a32,对所述目标栅格区域包括的点云点的点云数据进行融合处理,生成所述目标栅格区域对应的体素的体素特征数据。

具体实施时,可以利用哈希算法,将目标栅格区域在目标区域的坐标信息进行哈希处理,生成目标栅格区域对应的体素的体素索引坐标。

以及可以对目标栅格区域包括的点云点的点云数据指示的特征数据进行融合处理,比如平均池化处理、最大池化处理等,生成目标栅格区域对应的体素的体素特征数据。其中体素特征数据和体素索引坐标构成了体素信息。

这里,通过对目标栅格区域在目标区域的坐标信息进行哈希处理,可以得到体素的体素索引坐标,以便后续可以进行坐标匹配。以及生成体素特征数据,以便后续可以根据体素索引坐标,较高效的获取到体素特征数据,为待检测点云数据的卷积处理提供数据支持。

针对S103:

卷积处理过程中,一般会按照设置的卷积核尺寸,得到不同卷积位置处的、与卷积核尺寸一致的卷积窗口,比如可以将目标区域中坐标信息为(0,0,0)作为卷积位置,得到该卷积位置处的卷积窗口,将目标区域中坐标信息为(1,1,1)作为卷积位置,得到该卷积位置处的卷积窗口,其中卷积窗口的中心位置为卷积位置。

针对卷积处理过程的每个卷积窗口,可以将卷积窗口包含的采样坐标信息,与多个体素的体素索引坐标进行匹配,将匹配上的采样坐标信息,确定为卷积窗口内进行卷积处理的目标坐标信息。其中,若体素的体素索引坐标为哈希处理得到的,则采样坐标信息可以包括:对位于卷积窗口内的待卷积栅格在目标区域的坐标信息进行哈希处理得到的。若体素的体素索引坐标为:体素对应的目标栅格在目标区域中的坐标信息,则采样坐标信息可以包括:位于卷积窗口内的待卷积栅格在目标区域的坐标信息。

在匹配得到目标坐标信息之后,可以根据目标坐标信息,从多个体素中确定目标体素,并获取目标体素的体素特征数据。利用确定的卷积核,对目标体素的体素特征数据进行卷积处理,得到卷积窗口的局部特征数据,实现了针对待检测点云数据的稀疏卷积处理。

针对S104:

在得到了各个卷积窗口的局部特征数据之后,可以按照各个栅格在目标区域中的坐标信息,将各个卷积窗口的局部特征数据进行组合,得到组合特征数据,该组合特征数据包含至少一个栅格对应的特征数据。再将组合特征数据确定为输出特征数据。或者,也可以基于组合特征数据中至少一个栅格对应的特征数据,以及位于目标栅格内的点云点,得到每个点云点的处理后的特征数据,比如可以将目标栅格的特征数据,确定为目标栅格内各个点云点的特征数据,或者,也可以使用插值方法,确定目标栅格的插值后特征数据,再将目标栅格的插值后特征数据,确定为目标栅格内各个点云点的特征数据等等;最后将各个点云点的位置数据和处理后的特征数据,确定为输出特征数据。

一种可选实施方式中,所述根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据,包括:

步骤b1,基于各个卷积窗口分别对应的所述局部特征数据,确定所述目标区域中每个体素对应的目标特征数据;

步骤b2,基于所述目标区域中各个所述体素分别对应的目标特征数据,确定每个所述体素包括的点云点的第一点云特征数据;

步骤b3,基于各个点云点的所述第一点云特征数据,确定输出特征数据。

实施时,可以将各个卷积窗口分别对应的局部特征数据进行重排,得到目标区域对应的整体特征数据,该整体特征数据包含有目标区域中每个体素对应的目标特征数据。再根据目标区域中各个体素分别对应的目标特征数据,确定每个体素包括的点云点的第一点云特征数据,实现了反体素化处理;比如可以将体素对应的目标特征数据,确定为体素包括的点云点的第一点云特征数据,或者,也可以针对每个点云点,确定与该点云点距离最近的体素,该距离最近的体素的目标特征数据,确定为点云点的第一点云特征数据。最后,可以将各个点云点的第一点云特征数据,确定为输出特征数据,以便后基于输出特征数据得到检测结果。

一种可选实施方式中,所述方法还包括:对所述待检测点云数据中多个点云点的点云数据进行特征提取,生成各个点云点分别对应的第二点云特征数据。

点云点的点云数据包括位置数据和特征数据,实施时可以对待检测点云数据中多个点云点的特征数据进行特征提取,得到各个点云点分别对应的第二点云特征数据,比如可以利用选取的特征提取模块,实现对点云点的特征数据的特征提取,比如特征提取模块可以包括多层感知器(Multi-Layer Perception,MLP)模块等。

在得到点云点的第二点云特征数据之后,还可以将每个点云点的第一点云特征数据和第二点云特征数据进行融合,比如将第一点云特征数据和第二点云特征数据进行级联,再比如对第一点云特征数据和第二点云特征数据进行卷积处理等,得到点云点的融合特征数据;再可以将各个点云点的融合特征数据,确定为输出特征数据。

上述方法中,分别对点云点的特征数据、和体素的体素特征数据进行特征提取,再将得到的第一点云特征数据和第二点云特征数据进行融合,可以使得得到的输出特征数据包含的特征信息较丰富,以便后续可以基于输出特征数据较准确的得到目标区域的检测结果。

示例性的,输出特征数据可以为利用点云卷积模块对待检测点云数据进行卷积操作得到的。参见图2所示的点云卷积模块的示意图。将待检测点云数据输入至点云卷积模块中,点云卷积模块中的第二特征提取子模块(比如图2中所示的MLP),可以直接对待检测点云数据中每个点云点的特征数据进行特征提取,得到各个点云点的第二点云特征数据。

以及点云卷积模块中的第一特征提取模块可以按照下述过程对待检测点云数据进行特征提取:步骤1、对待检测点云数据进行归一化处理(即图2中的Normalize),得到处理后点云数据;步骤2、对处理后点云数据进行体素化处理(即图2中的Voxelize),得到多个体素的体素信息。具体过程可以参考前述对S102的具体说明。步骤3、对多个体素的体素信息进行卷积处理(即图2中的Convolve)、和反体素化处理(即图2中的Devoxelize),得到各个点云点的第一点云特征数据。步骤4、将各个点云点的第一点云特征数据和第二点云特征数据进行融合,得到输出特征数据。步骤3和步骤4的具体过程可以参考前述对S103和S104的具体说明。

可见点云卷积模块的输入为点云特征数据,输出为点云特征数据,实现了对点云数据的特征提取。具体实施时,可以基于点云卷积模块构建得到神经网络模型,以利用神经网络模型实现检测任务。

一种可选实施方式中,所述方法还包括:利用所述点云卷积模块,构建目标检测模型;利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果。

实施时,可以将至少一个点云卷积模块、和其他网络处理模块通信相连,得到目标检测模型,其他网络处理模块包括但不限于:池化层、全连接层、激活函数等等。其中目标检测模型的模型结构可以根据需要进行设置。在构建得到目标检测模型之后,可以利用目标检测模型,对输入点云数据进行检测,得到输入点云数据的检测结果,其中输入点云数据可以为雷达传感器采集的原始点云数据,检测结果可以包括:输入点云数据对应的检测区域内存在的各个待检测对象的位置信息、尺寸信息、类别信息、置信度等;或者,还可以包括待检测对象的姿态信息、速度信息等。

实施时,可以将目标检测模型应用于驾驶场景中,输入点云数据可以为车辆行驶过程中雷达传感器实时采集的周边区域的原始点云数据,将周边区域的原始点云数据输入至目标检测模型,得到检测结果,检测结果中的待检测对象包括但不限于:机动车、非机动车、行人、动物、障碍物、交通指示标识等等。在得到检测结果之后,可以将检测结果发送给规控端,以便规控端可以根据检测结果,生成车辆的行驶策略,实现对车辆行驶的控制或提示。

这里,由于点云卷积模块可以对输入到该模块的待检测点云数据进行稀疏卷积处理,在保障了处理精度的基础上,提高了卷积效率,进而利用点云卷积模块构建的目标检测模型的性能较好,得到的检测结果较准确。

考虑到本公开的点云卷积模块对多个体素进行的是三维稀疏卷积处理,稀疏卷积处理只对存在点云点的目标栅格(即体素)进行卷积处理,导致三维稀疏卷积的输出会根据特征分布发生变化,基于此,本公开提出了动态内存池,即通过为每个检测分支分配内存池的方式,部署目标检测模型,实现了目标检测模型的推理过程。

一种可选实施方式中,所述利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果,包括:确定所述目标检测模型中包括的检测分支;针对每个所述检测分支,基于所述检测分支中包括的各个算子的运算逻辑,确定所述检测分支运算所需的最大存储空间容量,并从内部存储空间中,生成所述检测分支对应的内存池;基于各个检测分支分别对应的所述内存池,利用所述目标检测模型,对所述输入点云数据进行检测,生成检测结果。

实施时,可以确定目标检测模型中包括的检测分支。比如,参见图3所示,该目标检测模型包括算子1、算子2、算子3、算子4和算子5,可见第一检测分支包含有算子1、算子2、算子4和算子5,第二检测分支包含有算子3、算子4和算子5,故为第一检测分支分配了动态内存池1,为第二检测分支分配了动态内存池2。

在针对每个检测分支,基于该检测分支包括的各个算子的运算逻辑,确定检测分支运算所需的最大存储空间容量。比如针对图3中的第一检测分支,假定算子1的输入点云特征数据划分后得到的各个栅格均包括有效点云点,即输入点云特征数据划分得到的各个栅格均为包含点云点的目标栅格,根据算子1对该输入点云特征数据进行处理时所需的存储空间容量;同理按照上述方式,还可以得到算子2、算子4和算子5分别所需的存储空间容量,将算子1、算子2、算子4和算子5中所需的最大存储空间容量,确定为第一检测分支运算所需的最大存储空间容量。以及还可以根据算子3、算子4和算子5分别所需的存储空间容量,确定第二检测分支所需的最大存储空间容量。

在得到各个检测分支运算所需的最大存储空间容量之后,可以从内部存储空间中,为每个检测分支分配对应的内存池,其中每个检测分支分配的内存池的内存容量不小于检测分支所需的最大存储空间容量。再基于各个检测分支分别对应的内存池,利用目标检测模型,对输入点云数据进行检测,生成检测结果。

比如,针对图3所示的第一检测分支,该第一检测分支中的算子1,对输入点云数据进行卷积处理,得到输出特征数据1,根据输出特征数据1的数据大小,从第一检测分支对应的动态内存池1中申请所需内存地址,将该输出特征数据1存储至申请的内存地址处;算子2可以从内存地址处获取到算子1得到的输出特征数据1,并对输出特征数据1进行卷积处理,得到输出特征数据2,并根据输出特征数据2的数据大小,从第一检测分支对应的动态内存池1中申请所需内存地址,将该输出特征数据2存储至申请的内存地址处。同理算子3在得到输出特征数据3之后,可以从第二检测分支对应的动态内存池2中申请所需内存地址,并将该输出特征数据3存储至申请的内存地址处。其中算子4和算子5的处理过程可以随机在动态内存池1或者动态内存池2中进行;或者,也可以确定动态内存池1和动态内存池2中的最大内存池,算子4和算子5的处理过程在最大内存池中进行,比如若动态内存池1的内存容量大于动态内存池2的内存容量,则算子4和算子5的处理过程在动态内存池1中进行。

具体的,算子4可以从动态内存池1中获取算子2的输出特征数据2,以及从动态内存池2中获取算子3的输出特征数据3,即输出特征数据2和输出特征数据3作为算子4的输入特征数据,在最大内存池如动态内存池1中利用算子4对输出特征数据2和输出特征数据3进行处理,得到输出特征数据4,从动态内存池1中申请所需内存地址,将该输出特征数据4存储至申请的内存地址处,以便算子5可以获取到该输出特征数据4。

具体实施时,在目标检测模型确定之后,可以生成目标检测模型对应的静态图,该静态图可以指示有目标检测模型的数据处理流程、以及点云卷积模块的3D稀疏卷积数据流。本公开通过静态图的方式,实现目标检测模型的推理,与相关技术中动态图的方式相比,可以提高目标检测模型的性能。

参见图4所示的目标检测模型的部分静态图,该部分静态图指示有两个算子的处理过程,以及可以展示有每个算子的数据流。比如对算子的数据流进行示例性说明。算子的执行过程可以包括:将输入的多个体素的体素坐标信息进行哈希处理,得到体素的体素索引坐标,其中体素的体素坐标信息为该体素对应的目标栅格在目标区域中的坐标信息。针对每个卷积窗口,将卷积窗口中各个卷积位置进行哈希处理,得到采样坐标信息。将卷积窗口内的采样坐标信息与多个体素的体素索引坐标进行坐标匹配,得到目标坐标信息。根据目标坐标信息,获取目标体素的体素特征数据,比如可以基于待检测点云数据,得到多个体素分别对应的体素特征数据,再根据目标坐标信息,从多个体素特征数据中获取目标体素的体素特征数据。再可以将目标体素的体素特征数据进行卷积处理,比如将目标体素的体素特征数据进行重排,得到一维特征向量,以及对卷积核中目标坐标信息位置处的权重进行重排,得到一维权重向量,将一维特征向量和一维权重向量进行矩阵乘法,得到该卷积窗口的局部特征数据。基于各个卷积窗口的局部特征数据得到输出特征数据,比如可以将各个局部特征数据进行重排、反体素化,得到输出特征数据(比如输出特征数据包括各个点云点的融合特征数据),以便将输出特征数据输入给下一算子进行后续的处理。

比如下一算子,可以对下采样操作后的多个体素的体素坐标信息进行哈希处理,得到体素索引坐标。在针对每个卷积窗口包含的采样坐标信息,和体素索引坐标进行坐标匹配,得到目标坐标信息。并根据目标坐标信息,从上一算子得到的输出特征数据中获取目标体素的体素特征,并进行卷积处理,此处下一算子得到输出特征数据的过程可以参考上述说明,此处不在详述。

上述方法中,通过矩阵乘法的方式实现卷积操作,减少了内存占用和算力资源的消耗,能够提高硬件资源上矩阵乘法的算力的利用率,大幅度减少了点云数据在三维卷积上的耗时,提高了针对点云数据的卷积效率。

基于同一技术构思,本公开实施例中还提供了与数据处理方法对应的数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。

参照图5所示,为本公开实施例提供的一种数据处理装置的结构示意图,所述装置包括:获取模块501、第一生成模块502、处理模块503、第二生成模块504,其中:

获取模块501,用于获取目标区域内待检测点云数据,所述待检测点云数据包括多个点云点的点云数据;

第一生成模块502,用于基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据;

处理模块503,用于针对卷积处理过程的每个卷积窗口,基于所述卷积窗口包含的采样坐标信息、以及所述多个体素的体素索引坐标,确定所述卷积窗口内进行卷积处理的目标坐标信息;从所述多个体素的体素信息中,获取与所述目标坐标信息匹配的目标体素的体素特征数据;对所述目标体素的体素特征数据进行卷积处理,得到所述卷积窗口的局部特征数据;

第二生成模块504,用于根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据。

一种可能的实施方式中,所述第一生成模块502,在基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据时,用于:

将所述目标区域进行栅格化处理,生成多个栅格区域;

在对所述待检测点云数据进行归一化处理之后,基于得到的处理后点云数据中各个点云点的位置数据,从多个栅格区域中确定包括点云点的目标栅格区域;

基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息。

一种可选的实施方式中,所述第一生成模块502,在基于所述目标栅格区域在所述目标区域的坐标信息、以及所述目标栅格区域包括的点云点的点云数据,生成所述目标区域包括的多个体素的体素信息时,用于:

对所述目标栅格区域在所述目标区域的坐标信息进行哈希处理,生成所述目标栅格区域对应的体素的体素索引坐标;

对所述目标栅格区域包括的点云点的点云数据进行融合处理,生成所述目标栅格区域对应的体素的体素特征数据。

一种可选的实施方式中,所述第二生成模块504,在根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据时,用于:

基于各个卷积窗口分别对应的所述局部特征数据,确定所述目标区域中每个体素对应的目标特征数据;

基于所述目标区域中各个所述体素分别对应的目标特征数据,确定每个所述体素包括的点云点的第一点云特征数据;

基于各个点云点的所述第一点云特征数据,确定输出特征数据。

一种可选的实施方式中,所述装置还包括:提取模块505,用于:对所述待检测点云数据中多个点云点的点云数据进行特征提取,生成各个点云点分别对应的第二点云特征数据;

所述第二生成模块504,在基于各个点云点的所述第一点云特征数据,确定输出特征数据时,用于:将每个点云点的所述第一点云特征数据和所述第二点云特征数据进行融合,生成所述点云点的融合特征数据;将各个点云点的所述融合特征数据,确定为输出特征数据。

一种可选的实施方式中,所述输出特征数据为利用点云卷积模块对所述待检测点云数据进行卷积操作得到的,所述装置还包括:推理模块506,用于:

利用所述点云卷积模块,构建目标检测模型;

利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果。

一种可选的实施方式中,所述推理模块506,在利用所述目标检测模型,对输入点云数据进行检测,生成所述输入点云数据对应的检测结果时,用于:

确定所述目标检测模型中包括的检测分支;

针对每个所述检测分支,基于所述检测分支中包括的各个算子的运算逻辑,确定所述检测分支运算所需的最大存储空间容量,并从内部存储空间中,生成所述检测分支对应的内存池;

基于各个检测分支分别对应的所述内存池,利用所述目标检测模型,对所述输入点云数据进行检测,生成检测结果。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模板可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

关于装置中的各组成部分的处理流程、以及各组成部分之间的交互流程的描述,并不意味着严格的处理流程和交互流程而对实施过程构成任何限定,各组成部分的处理流程、和交互流程应当以其功能和可能的内在逻辑确定。

基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图6所示,为本公开实施例提供的计算机设备的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当计算机设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:

获取目标区域内待检测点云数据,所述待检测点云数据包括多个点云点的点云数据;

基于所述待检测点云数据,生成所述目标区域包括的多个体素的体素信息,其中所述体素信息包括体素索引坐标和体素特征数据;

针对卷积处理过程的每个卷积窗口,基于所述卷积窗口包含的采样坐标信息、以及所述多个体素的体素索引坐标,确定所述卷积窗口内进行卷积处理的目标坐标信息;从所述多个体素的体素信息中,获取与所述目标坐标信息匹配的目标体素的体素特征数据;对所述目标体素的体素特征数据进行卷积处理,得到所述卷积窗口的局部特征数据;

根据各个卷积窗口分别对应的所述局部特征数据,生成输出特征数据。

此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。

本公开实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令处理器被执行时实现如本公开各实施例提供的数据处理方法。

本公开实施例中的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、网络设备、用户设备、核心网设备、OAM或者其它可编程装置。

所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘;还可以是半导体介质,例如,固态硬盘。该计算机可读存储介质可以是易失性或非易失性存储介质,或可包括易失性和非易失性两种类型的存储介质。

最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 数据处理方法、装置、计算机设备及计算机可读存储介质
  • 数据仓库内数据处理方法、装置、计算机设备和存储介质
  • 一种数据处理方法、数据处理装置、计算机设备及可读存储介质
  • 财报数据处理方法、装置、计算机设备和存储介质
  • 测试数据表的处理方法、装置、计算机设备和存储介质
  • 内容数据的处理方法、报告数据的处理方法、计算机设备、存储介质
  • 数据处理方法、装置、计算机设备和计算机可读存储介质
技术分类

06120116459281