一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种点云数据处理方法及装置与流程

2022-02-21 11:47:57 来源:中国专利 TAG:


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.针对首次卷积运算,将所述第一取反操作后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵;
44.判断所述首次卷积运算后的栅格矩阵的稀疏度是否达到预设稀疏度;
45.若否,则循环执行将上一次卷积运算后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到当前次卷积运算后的栅格矩阵的步骤,直至得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵。
46.一种可能的实施方式中,所述第一预设卷积核具有权值矩阵以及与该权值矩阵对应的偏置量;针对首次卷积运算,将所述第一取反操作后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵,包括:
47.针对首次卷积运算,按照第一预设卷积核的大小以及预设步长,从所述第一取反操作后的栅格矩阵中选取每个栅格子矩阵;
48.针对选取的每个所述栅格子矩阵,将该栅格子矩阵与所述权值矩阵进行乘积运算,得到第一运算结果,并将所述第一运算结果与所述偏置量进行加法运算,得到第二运算结果;
49.基于各个所述栅格子矩阵对应的第二运算结果,确定首次卷积运算后的栅格矩阵。
50.一种可能的实施方式中,根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,对所述栅格矩阵中的元素进行至少一次腐蚀处理操作,生成与所述待识别对象对应的稀疏矩阵,包括:
51.基于第三预设卷积核对待处理的栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵;所述预设稀疏度由所述目标场景中的待识别对象的尺寸信息来确定;
52.将所述至少一次卷积运算后的具有预设稀疏度的栅格矩阵,确定为与所述待识别对象对应的稀疏矩阵。
53.一种可能的实施方式中,对所述目标点云数据进行栅格化处理,得到栅格矩阵,包
括:
54.对所述目标点云数据进行栅格化处理,得到栅格矩阵以及该栅格矩阵中各个元素与各个点云点坐标范围信息之间的对应关系;
55.所述基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置范围,包括:
56.基于所述栅格矩阵中各个元素与各个点云点坐标范围信息之间的对应关系,确定生成的所述稀疏矩阵中每个目标元素所对应的坐标信息;
57.将所述稀疏矩阵中各个所述目标元素所对应的坐标信息进行组合,确定所述待识别对象在所述目标场景中的位置。
58.一种可能的实施方式中,所述基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置,包括:
59.基于训练好的卷积神经网络对生成的所述稀疏矩阵中的每个目标元素进行至少一次卷积处理,得到卷积结果;
60.基于所述卷积结果,确定所述待识别对象在所述目标场景中的位置。
61.一种可能的实施方式中,在对所述目标点云数据进行检测,得到检测结果之后,所述方法还包括:
62.基于所述检测结果控制设置所述雷达装置的智能行驶设备。
63.第二方面,本公开实施例还提供一种点云数据处理装置,包括:
64.获取模块,用于获取雷达装置在目标场景下扫描得到的待处理点云数据;
65.筛选模块,用于根据所述目标场景对应的有效感知范围信息,从所述待处理点云数据中筛选出目标点云数据;
66.检测模块,用于对所述目标点云数据进行检测,得到检测结果。
67.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
68.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
69.关于上述点云数据处理装置、计算机设备、及计算机可读存储介质的效果描述参见上述点云数据处理方法的说明,这里不再赘述。
70.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
71.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
72.图1示出了本公开实施例所提供的一种点云数据处理方法的流程图;
73.图2示出了本公开实施例所提供的一种长方体的各个位置点的坐标示意图;
74.图3示出了本公开实施例所提供的一种确定所述参考位置点的坐标信息的方法的流程图;
75.图4示出了本公开实施例所提供的一种检测结果确定方法的流程图;
76.图5(a)示出了本公开实施例一所提供的一种编码前栅格矩阵的示意图;
77.图5(b)示出了本公开实施例一所提供的一种稀疏矩阵的示意图;
78.图5(c)示出了本公开实施例一所提供的一种编码后栅格矩阵的示意图;
79.图6(a)示出了本公开实施例一所提供的一种左移后的栅格矩阵的示意图;
80.图6(b)示出了本公开实施例一所提供的一种逻辑或运算的示意图;
81.图7(a)示出了本公开实施例一所提供的一种第一取反操作后的栅格矩阵的示意图;
82.图7(b)示出了本公开实施例一所提供的一种卷积运算后的栅格矩阵的示意图;
83.图8示出了本公开实施例所提供的一种点云数据处理装置的架构示意图;
84.图9示出了本公开实施例所提供的计算机设备900的结构示意图。
具体实施方式
85.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
86.相关技术中,在对点云数据进行处理时,一般所耗费的计算资源比较多,但是并非所有的采集的点云数据都对于所需要的计算结果有作用,因此会导致部分不必要的点云数据参与到计算过程中,进而导致计算资源的浪费。
87.基于此,本公开提供了一种点云数据处理方法及装置,可以基于目标场景对应的有效感知范围信息,对目标场景下雷达装置采集的待处理点云数据进行筛选,所筛选出的目标点云数据为在目标场景中对应的有效点云数据,因此,基于筛选出的目标点云数据,再在目标场景下进行检测计算,可以降低计算量,提高计算效率,及目标场景下计算资源的利用率。
88.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
89.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
90.为便于对本实施例进行理解,首先对本公开实施例所公开的一种点云数据处理方
法进行详细介绍,本公开实施例所提供的点云数据处理方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器或其它处理设备,终端设备可以为用户设备(user equipment,ue)、移动设备、用户终端、终端、个人数字处理(personal digital assistant,pda)、计算设备、车载设备等。在一些可能的实现方式中,该点云数据处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
91.参见图1所示,为本公开实施例提供的一种点云数据处理方法的流程图,所述方法包括步骤101~步骤103,其中:
92.步骤101、获取雷达装置在目标场景下扫描得到的待处理点云数据。
93.步骤102、根据所述目标场景对应的有效感知范围信息,从所述待处理点云数据中筛选出目标点云数据。
94.步骤103、对所述目标点云数据进行检测,得到检测结果。
95.以下是对上述步骤101~步骤103的详细介绍。
96.所述雷达装置可以部署在智能行驶设备上的,在智能行驶设备的行驶过程中,雷达装置可以进行扫描,获得待处理点云数据。
97.所述有效感知范围信息可以包括参考坐标系下各个坐标维度上的坐标阈值,所述参考坐标系为三维坐标系。
98.示例性的,有效感知范围信息可以是构成一长方体的描述信息,包括x轴方向上的最大值x_max和最小值x_min,y轴方向上的最大值y_max和最小值y_min,z轴方向上的最大值z_max和最小值z_min。
99.构成基于x轴方向上的最大值x_max和最小值x_min、y轴方向上的最大值y_max和最小值y_min、z轴方向上的最大值z_max和最小值z_min构成的长方体的各个位置点的坐标示例性的可以如图2所示,坐标原点可以是长方体左下顶点,其坐标值为(x_min,y_min,z_min)。
100.在另外一种可能的实施方式中,有效感知范围信息还可以是球、正方体等的描述信息,例如,只给出球的半径或者正方体得长宽高,具体的有效感知范围信息可以根据实际的应用场景进行描述,对此本公开并不限制。
101.具体实施中,由于雷达装置的扫描范围是有限的,例如最远的扫描距离为200米,因此,为了保证有效感知范围对于待处理点云数据的约束,可以预先设置对于有效感知范围的约束条件,示例性的可以设置x_max、y_max、z_max的取值均小于或等于200米。
102.在一种可能的应用场景中,在基于点云数据进行计算时,是基于点云数据对应的空间体素进行的运算,例如基于点云的三维空间信息逐层次学习网络voxelnet,因此,在这种应用场景下,在限制参考雷达扫描点在参考坐标系下各个坐标维度上的坐标阈值的情况下,还可以限制参考雷达扫描点再各个坐标维度上的空间体素的个数不超过空间体素阈值。
103.示例性的,各个坐标维度上的空间体素个数可以通过如下公式进行计算:
104.n_x=(x_max

x_min)/x_gridsize;
105.n_y=(y_max

y_min)/y_gridsize;
106.n_z=(z_max

z_min)/z_gridsize。
107.其中,x_gridsize、y_gridsize、z_gridsize分别表示预先设置的各个维度对应的
分辨率,n_x表示x轴方向上的空间体素个数,n_y表示y轴方向上的空间体素个数,n_z表示z轴方向上的空间体素个数。
108.在另外一种可能的应用场景中,在基于点云数据进行计算时,还可能是基于俯视图面积范围内的点云数据进行计算的算法,例如基于点云的快速目标检测框架pointpillars,因此,还可以限制俯视体素面积,例如可以限制n_x*n_y的值。
109.在一种可能的实施方式中,在确定所述目标场景对应的有效感知范围信息时,可以是获取预先基于实验取得的有效感知范围信息,该有效感知范围信息在目标场景内可以作为预先设置的且固定不变的值,且该有限感知范围信息也遵循上述限制条件。
110.在另外一种可能的实施方式中,在确定目标场景对应的有效感知范围信息时,还可以先获取处理设备的计算资源信息;然后基于所述计算资源信息,确定与所述计算资源信息所匹配的所述有效感知范围信息。
111.其中,所述计算资源信息包括以下信息中的至少一种:
112.中央处理器cpu的内存、图形处理器gpu的显存、现场可编程逻辑门阵列fpga的计算资源。
113.具体的,在基于计算资源信息,确定与计算资源信息所匹配的有效感知范围信息时,可以预先设置各个等级的计算资源信息与有效感知范围信息的对应关系,然后当本公开所提供的方法应用于不同的电子设备时,可以基于该对照关系,查找与该电子设备的计算资源信息相匹配的有效感知范围信息,或者,当检测到电子设备的计算资源信息发生变化时,可以动态调整有效感知范围信息。
114.以计算资源信息包括中央处理器cpu的内存为例,各个等级的计算资源信息与有效感知范围信息的对应关系可以如下表1所示:
115.表1
[0116][0117]
其中,上述各个等级的计算资源信息与有效感知范围信息的对应关系可以是预先通过实验测试所得。
[0118]
通过这种方式,可以为同一目标场景下的处理待处理点云数据的不同的电子设备确定不同的有效感知范围信息,从而可以适应于不同的电子设备。
[0119]
在一种可能的实施方式中,在根据目标场景对应的有效感知范围信息,从待处理点云数据中筛选出目标点云数据时,可以先基于有效感知范围信息,确定有效坐标范围,然后基于有效坐标范围、以及待处理点云数据中每一个雷达扫描点的坐标信息,从待处理点云数据中筛选出目标点云数据。
[0120]
这里,可能包含两种情况,一种是有效感知范围信息和有效坐标范围都固定不变,
一种是,有效坐标范围可以根据有效感知范围信息的改变而改变。
[0121]
针对第一种情况,示例性的,有效感知范围信息可以是一个长方体的描述信息,包括长方体的长宽高,以雷达装置作为长方体的体对角线的交点,因此,由于长方体体对角线交点的位置不变,则长方体固定不变,长方体内的坐标范围为有效坐标范围,因此有效坐标范围也固定不变。
[0122]
针对第二种情况,在基于有效感知范围信息,确定有效坐标范围时,可以基于有效感知范围内的参考位置点在所述目标场景中的坐标信息、以及所述参考位置点在所述有效感知范围内的位置信息,确定所述目标场景对应的有效坐标范围。
[0123]
示例性的,有效感知范围信息可以是一个长方体的描述信息,参考位置点可以是长方体的体对角线的交点,则随着参考位置点的改变,在不同的目标场景下有效感知范围信息也会发生改变,因此,对应的有效坐标范围也会发生改变。
[0124]
其中,所述参考位置点的坐标信息可以是参考位置点在雷达坐标系下的坐标信息,所述雷达坐标系可以是以雷达装置为左边原点建立的三维坐标系。
[0125]
若所述有效感知范围信息为以长方体的描述信息,则参考位置点可以是长方体体对角线的交点,若有效感知范围信息为球的描述信息,则参考位置点可以是球的球心,或者,参考位置点可以是有效感知范围信息内的任意一个参考雷达扫描点。
[0126]
具体实施中,在基于参考位置点的坐标信息、以及所述参考位置点在所述有效感知范围内的位置信息,确定所述目标场景对应的有效坐标范围时,可以基于所述参考位置点在激光雷达坐标系下的坐标信息,将所述有效感知范围信息中在参考坐标系下的各个坐标维度上的坐标阈值,转换为在所述激光雷达坐标系下各个坐标维度上的坐标阈值。
[0127]
具体的,参考位置点在参考坐标系下可以对应有第一坐标信息,在激光雷达坐标系下可以对应有第二坐标信息,基于参考位置点的第一坐标信息和第二坐标信息,可以确定参考坐标系与激光雷达坐标系之间的转换关系,基于该转换关系,可以将所述有效感知范围信息中的参考雷达扫描点在参考坐标系下各个坐标维度上的坐标阈值,转换为在所述激光雷达坐标系下各个坐标维度上的坐标阈值。
[0128]
在另外一种可能的实施方式中,可以先确定有效感知范围信息中的参考雷达扫描点在参考坐标系下各个坐标维度上的坐标阈值对应的阈值坐标点与参考位置点之间的相对位置关系,然后基于该相对位置关系,确定有效感知范围信息中的参考雷达扫描点在参考坐标系下各个坐标维度上的坐标阈值,在激光雷达坐标系下各个坐标维度上的坐标阈值。
[0129]
这里,当参考位置点的坐标信息发生改变之后,基于参考位置点的左边信息确定的有效感知范围信息中的参考雷达扫描点在雷达坐标系下各个坐标维度上的坐标阈值也会相应发生改变,即目标场景对应的有效坐标范围也会发生改变,因此可以通过控制参考位置点的坐标信息,实现对于不同目标场景中有效坐标范围的控制。
[0130]
在一种可能的实施方式中,在基于所述有效坐标范围、以及所述待处理点云数据中每一个雷达扫描点的坐标信息,从所述待处理点云数据中筛选出目标点云数据时,可以将对应的坐标信息位于所述有效坐标范围内的雷达扫描点作为所述目标点云数据中的雷达扫描点。
[0131]
具体的,雷达扫描点在进行存储时,可以存储有雷达扫描点的三维坐标信息,然后
基于雷达扫描点的三维坐标信息,可以判断该雷达扫描点是否位于有效坐标范围内。
[0132]
示例性的,若雷达扫描点的三维坐标信息为(x,y,z),则在判断该雷达扫描点是否为目标点云数据中的雷达扫描点时,可以判断所述雷达扫描点的三维坐标信息是否满足以下条件:
[0133]
x_min《x《x_max且y_min《y《y_max且z_min《z《z_max。
[0134]
下面,将结合具体的应用场景,对上述点云数据处理方法的应用展开介绍。在一种可能的实施方式中,上述点云数据处理方法可以应用于自动驾驶场景中。
[0135]
在一种可能的应用场景中,智能行驶设备设置有雷达装置,在确定参考位置点的坐标信息时,可以通过如图3所述方法来确定所述参考位置点的坐标信息,包括以下步骤:
[0136]
步骤301、获取设置所述雷达装置的智能行驶设备的位置信息。
[0137]
在获取智能行驶设备的位置信息时,例如可以基于全球定位系统(global positioning system,gps)进行获取,对于其他可以获取智能行驶设备位置信息的方式本公开也并不限制。
[0138]
步骤302、基于所述智能行驶设备的位置信息确定所述智能行驶设备所在道路的道路类型。
[0139]
具体实施中,可以预先设置智能行驶设备可行驶范围内每一段道路的道路类型,所述道路类型例如可以包括十字路口、丁字路口、高速路、停车场等,基于所述智能行驶设备的位置信息可以确定所述智能行驶设备所在的道路,然后可以根据预先设置的智能行驶设备可行驶范围内每一段道路的道路类型,确定智能行驶设备所在道路的道路类型。
[0140]
步骤303、获取与所述道路类型相匹配的参考位置点的坐标信息。
[0141]
不同道路类型所需重点处理的点云数据的位置可能不同,例如若智能行驶设备位于高速路上时,智能行驶设备所需处理的点云数据可能是智能行驶设备前方的点云数据,若智能行驶设备位于十字路口时,智能行驶设备所需处理的点云数据可能是智能行驶设备四周的点云数据,因此,可以通过预先设置不同道路类型相匹配的参考位置点的坐标信息,来实现对于不同道路类型下点云数据的筛选。
[0142]
这里,智能行驶设备位于不同道路类型的道路上时所需处理的点云数据可能不同,因此,通过获取与道路类型相匹配的参考位置点的坐标信息,可以为智能行驶设备确定适配其当前所在的道路类型的有效坐标范围,从而筛选出对应道路类型下的点云数据,从而提高筛选点云数据的准确率。
[0143]
在一种可能的实施方式中,在从所述待处理点云数据中筛选出目标点云数据之后,还可以对所述目标点云数据进行检测,得到检测结果之后,基于检测结果控制设置雷达装置的智能行驶设备。
[0144]
示例性的,在筛选出目标点云数据之后,可以基于筛选出的目标点云数据,实现对于智能行驶设备行驶过程中待识别对象(例如可以是障碍物)的检测,基于检测结果,可以控制设置雷达装置的智能行驶设备行驶。
[0145]
所述控制智能行驶设备行驶可以是控制智能行驶设备加速、减速、转向、刹车等。
[0146]
针对步骤103,在一种可能的实施方式中,检测结果包括在目标场景中待识别对象的位置,下面将结合具体实施例对目标点云数据进行检测的过程展开详细描述,参见图4所示,为本公开实施例提供的一种检测结果确定方法的流程图,包括以下几个步骤:
[0147]
步骤401、对所述目标点云数据进行栅格化处理,得到栅格矩阵;所述栅格矩阵中每个元素的值用于表征对应的栅格处是否存在点云点。
[0148]
步骤402、根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,生成与所述待识别对象对应的稀疏矩阵。
[0149]
步骤403、基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置。
[0150]
本公开实施例中,针对目标点云数据,首先可以进行栅格化处理,而后可以对栅格化处理得到的栅格矩阵进行稀疏处理,以生成稀疏矩阵。这里的栅格化处理的过程可以指的是将空间分布的包含各个点云点的目标点云数据映射到设定的栅格内,并基于栅格所对应的点云点进行栅格编码(对应零一矩阵)的过程,稀疏处理的过程则可以指的是基于目标场景中的待识别对象的尺寸信息对上述零一矩阵进行膨胀处理操作(对应增多零一矩阵中指示为1的元素的处理结果)或者腐蚀处理操作(对应减少零一矩阵中指示为1的元素的处理结果)的过程。接下来对上述栅格化处理的过程以及稀疏处理的过程进行更进一步的描述。
[0151]
其中,上述栅格化处理的过程中,可以是将分布在笛卡尔连续实数坐标系的点云点转换到栅格化的离散坐标系。
[0152]
为了便于理解上述栅格化的处理过程,接下来可以结合一个示例进行具体说明。本公开实施例具有点a(0.32m,0.48m)、点b(0.6m,0.4801m)和点c(2.1m,3.2m)等点云点,以1m为栅格宽度做栅格化,(0m,0m)到(1m,1m)的范围对应第一个栅格,(0m,1m)到(1m,2m)的范围对应第二个栅格,以此类推。栅格化后的a'(0,0),b'(0,0)均在第一行第一列的栅格里,c'(2,3)可以在第二行第三列的栅格里,从而实现了笛卡尔连续实数坐标系到离散坐标系的转换。其中,有关点云点的坐标信息可以是参照基准点(例如采集点云数据的雷达设备所在位置)确定的,这里不做赘述。
[0153]
本公开实施例中可以进行二维栅格化,也可以进行三维栅格化,三维栅格化相对于在二维栅格化的基础上增加了高度信息。接下来可以以二维栅格化为例进行具体描述。
[0154]
针对二维栅格化而言,可以将有限空间划分为n*m的栅格,一般是等间隔划分,间隔大小可配置。此时可以使用零一矩阵(即上述栅格矩阵)编码栅格化后的目标点云数据,每一个栅格可以使用一个唯一的行号和列号组成的坐标表示,如果该栅格中存在一个及以上点云点,则将该栅格编码为1,否则为0,从而可以得到编码后的零一矩阵。
[0155]
在按照上述方法确定栅格矩阵之后,即可以根据目标场景的待识别对象的尺寸信息,对上述栅格矩阵中的元素进行稀疏处理操作,以生成对应的稀疏矩阵。
[0156]
其中,有关待识别对象的尺寸信息可以是预先获取的,这里,可以结合目标点云数据所同步采集的图像数据来确定待识别对象的尺寸信息,还可以是基于具体应用场景来粗略估计上述待识别对象的尺寸信息。例如,针对自动驾驶领域,车辆前方的物体可以是车辆,可以确定其通用的尺寸信息为4m
×
4m。除此之外,本公开实施例还可以基于其它方式确定待识别对象的尺寸信息,本公开实施例对此不做具体的限制。
[0157]
本公开实施例中,有关稀疏处理操作可以是对栅格矩阵中的目标元素(即表征对应的栅格处存在点云点的元素)进行至少一次膨胀处理操作,这里的膨胀处理操作可以是在栅格矩阵的坐标范围大小小于目标场景中的待识别对象的尺寸大小的情况下进行的,也
即,通过一次或多次膨胀处理操作,可以对表征对应的栅格处存在点云点的元素范围进行逐级扩大,以使得扩大后的元素范围可以是与待识别对象相匹配的,进而实现位置确定;除此之外,本公开实施例中的稀疏处理操作还可以是对栅格矩阵中的目标元素进行至少一次腐蚀处理操作,这里的腐蚀处理操作可以是在栅格矩阵的坐标范围大小大于目标场景中的待识别对象的尺寸大小的情况下进行的,也即,通过一次或多次腐蚀处理操作,可以对表征对应的栅格处存在点云点的元素范围进行逐级缩小,以使得缩小后的元素范围可以是与待识别对象相匹配的,进而实现位置确定。
[0158]
在具体应用中,是进行一次膨胀处理操作、还是多次膨胀处理操作、还是一次腐蚀处理操作、还是多次腐蚀处理操作,取决于进行至少一次移位处理以及逻辑运算处理所得到的稀疏矩阵的坐标范围大小与所述目标场景中的待识别对象的尺寸大小之间的差值是否属于预设阈值范围,也即,本公开所采用的膨胀或腐蚀处理操作是基于待识别对象的尺寸信息的约束来进行的,以使得所确定的稀疏矩阵所表征的信息更为符合待识别对象的相关信息。
[0159]
可以理解的是,不管是基于膨胀处理操作还是腐蚀处理操作所实现的稀疏处理的目的在于使得生成的稀疏矩阵能够表征更为准确的待识别对象的相关信息。
[0160]
本公开实施例中,上述膨胀处理操作可以是基于移位操作和逻辑或操作所实现的,还可以是基于取反后卷积,卷积后再取反所实现的。两种操作所具体采用的方法不同,但最终所生成的稀疏矩阵的效果可以是一致的。
[0161]
另外,上述腐蚀处理操作可以是基于移位操作和逻辑与操作所实现的,还可以是直接基于卷积操作所实现的。同理,尽管两种操作所具体采用的方法不同,但最终所生成的稀疏矩阵的效果也可以是一致的。
[0162]
接下来以膨胀处理操作为例,结合图5(a)~5(b)所示的生成稀疏矩阵的具体示例图,进一步说明上述稀疏矩阵的生成过程。
[0163]
如图5(a)为栅格化处理后所得到的栅格矩阵(对应未编码前)的示意图,通过对该栅格矩阵中的每个目标元素(对应具有填充效果的栅格)进行一次八邻域的膨胀操作,即可以得到对应的稀疏矩阵5(b)。可知的是,本公开实施例针对5(a)中对应的栅格处存在点云点的目标元素而言,进行了八邻域的膨胀操作,从而使得每个目标元素在膨胀后成为一个元素集,该元素集所对应的栅格宽度可以是与待识别对象的尺寸大小相匹配的。
[0164]
其中,上述八邻域的膨胀操作可以是确定与该元素的横坐标或纵坐标差的绝对值都不超过1的元素的过程,除了栅格边缘的元素,一般一个元素的邻域内都有八个元素(对应上述元素集),膨胀处理结果输入可以是6个目标元素的坐标信息,输出则可以是该目标元素八邻域内的元素集的坐标信息,如图5(b)所示。
[0165]
需要说明的是,在实际应用中,除了可以进行上述八邻域的膨胀操作,还可以进行四邻域的膨胀操作,后者其它膨胀操作,在此不做具体的限制。除此之外,本公开实施例还可以进行多次膨胀操作,例如,在图5(b)所示的膨胀结果的基础之上,再次进行膨胀操作,以得到更大元素集范围的稀疏矩阵,在此不再赘述。
[0166]
本公开实施例中基于生成的稀疏矩阵,可以确定待识别对象在目标场景中的位置。本公开实施例中可以通过如下两个方面来具体实现。
[0167]
第一方面:这里可以基于栅格矩阵中各个元素与各个点云点坐标范围信息之间的
对应关系,来确定待识别对象的位置范围,具体可以通过如下步骤来实现:
[0168]
步骤一、基于栅格矩阵中各个元素与各个点云点坐标范围信息之间的对应关系,确定与生成的稀疏矩阵中每个目标元素所对应的坐标信息;
[0169]
步骤二、将稀疏矩阵中各个目标元素所对应的坐标信息进行组合,确定待识别对象在目标场景中的位置。
[0170]
这里,基于上述有关栅格化处理的相关描述可知,栅格矩阵中的每个目标元素可以对应多个点云点,这样,有关元素与多个点云点所对应的点云点坐标范围信息可以是预先确定的。这里,仍以n*m维度的栅格矩阵为例,存在点云点的目标元素可以对应p个点云点,每个点的坐标为(xi,yi),i属于0到p-1,xi,yi表示点云点在栅格矩阵中的位置,0《=xi《n,0《=yi《m。
[0171]
这样,在生成稀疏矩阵之后,可以采用基于预先确定的上述各个元素与各个点云点坐标范围信息之间的对应关系来确定与该稀疏矩阵中每个目标元素所对应的坐标信息,也即,进行了反栅格化的处理操作。
[0172]
需要说明的是,由于稀疏矩阵是基于对栅格矩阵中表征对应的栅格处存在点云点的元素进行稀疏处理得到的,因而,这里的稀疏矩阵中的目标元素表征的也可以是对应的栅格处存在点云点的元素,
[0173]
为了便于理解上述反栅格化的处理过程,接下来可以结合一个示例进行具体说明。这里以稀疏矩阵指示的点a'(0,0),点b'(0,0)在第一行第一列栅格里;点c'(2,3)在第二行第三列的栅格为例,在进行反栅格化处理的过程中,第一个栅格(0,0),利用其中心映射回笛卡尔坐标系后,可以得到(0.5m,0.5m),第二行第三列的栅格(2,3),利用其中心映射回笛卡尔坐标系,可以得到(2.5m,3.5m),即可以将(0.5m,0.5m)和(2.5m,3.5m)确定为映射后的坐标信息,这样,将映射后的坐标信息进行组合,即可以确定待识别对象在目标场景中的位置。
[0174]
本公开实施例不仅可以基于上述稀疏矩阵与目标检测结果的近似关系来实现待识别对象的位置范围的确定,还可以基于训练的卷积神经网络确定待识别对象的位置范围。
[0175]
第二方面:本公开实施例首先可以基于训练好的卷积神经网络对生成的稀疏矩阵进行至少一次卷积处理,而后即可以基于卷积处理得到的卷积结果确定待识别对象的位置范围。
[0176]
在相关利用卷积神经网络来实现目标检测的技术中,需要遍历全部的输入数据,依次找到输入点的邻域点进行卷积运算,最后输出所有领域点的集合,而本公开实施例提供的方法仅需要通过快速遍历稀疏矩阵中的目标元素,来找到有效点所在位置(即零一矩阵中为1的元素)进行卷积运算即可,从而大大加快卷积神经网络的计算过程,提升待识别对象的位置范围确定的效率。
[0177]
考虑到稀疏处理操作对本公开实施例所提供的点云数据处理方法的关键作用,接下来可以通过如下两个方面分别进行说明。
[0178]
第一方面:在稀疏处理操作为膨胀处理操作的情况下,本公开实施例可以结合移位处理和逻辑运算来实现,还可以基于取反后卷积,卷积后再取反来实现。
[0179]
其一、本公开实施例中,可以基于至少一次移位处理和逻辑或运算进行一次或多
次膨胀处理操作,在具体实现过程中,具体的膨胀处理操作的次数可以结合目标场景中的待识别对象的尺寸信息来确定。
[0180]
这里,针对首次膨胀处理操作,可以对表征对应的栅格处存在点云点的目标元素进行多个预设方向的移位处理,得到对应的多个移位后的栅格矩阵,然后即可以对栅格矩阵和首次膨胀处理操作对应的多个移位后的栅格矩阵进行逻辑或运算,从而可以得到首次膨胀处理操作后的稀疏矩阵,这里,可以判断所得到的稀疏矩阵的坐标范围大小是否小于待识别对象的尺寸大小,且对应的差值是否足够大(如大于预设阈值),若是,则可以按照上述方法对首次膨胀处理操作后的稀疏矩阵中的目标元素进行多个预设方向的移位处理和逻辑或运算,得到第二次膨胀处理操作后的稀疏矩阵,以此类推,直至确定最新得到的稀疏矩阵的坐标范围大小与目标场景中的待识别对象的尺寸大小之间的差值属于预设阈值范围的情况下,确定稀疏矩阵。
[0181]
需要说明的是,不管是哪次膨胀处理操作后所得到的稀疏矩阵,其本质上也是一个零一矩阵。随着膨胀处理操作次数的增加,所得到的稀疏矩阵中表征对应的栅格处存在点云点的目标元素的个数也在增加,且由于零一矩阵所映射的栅格是具有宽度信息的,这里,即可以利用稀疏矩阵中各个目标元素所对应的坐标范围大小来验证是否达到目标场景中的待识别对象的尺寸大小,从而提升了后续目标检测应用的准确性。
[0182]
其中,上述逻辑或运算可以按照如下步骤来实现:
[0183]
步骤一、从多个移位后的栅格矩阵中选取一个移位后的栅格矩阵;
[0184]
步骤二、将当前次膨胀处理操作前的栅格矩阵与选取出的移位后的栅格矩阵进行逻辑或运算,得到运算结果;
[0185]
步骤三、循环从多个移位后的栅格矩阵中选取未参与运算的栅格矩阵,并对选取出的栅格矩阵与最近一次运算结果进行逻辑或运算,直至选取完所有的栅格矩阵,得到当前次膨胀处理操作后的稀疏矩阵。
[0186]
这里,首先可以从多个移位后的栅格矩阵中选取一个移位后的栅格矩阵,这样,即可以将当前次膨胀处理操作前的栅格矩阵与选取出的移位后的栅格矩阵进行逻辑或运算,得到运算结果,这里,可以循环从多个移位后的栅格矩阵中选取未参与运算的栅格矩阵,并参与到逻辑或运算中,直至在选取完所有移位后的栅格矩阵,即可得到当前次膨胀处理操作后的稀疏矩阵。
[0187]
本公开实施例中的膨胀处理操作可以是以目标元素为中心的四邻域膨胀,还可以是以目标元素为中心的八领域膨胀,还可以是其它领域处理操作方式,在具体应用中,可以基于待识别对象的尺寸信息来选择对应的领域处理操作方式,这里不做具体的限制。
[0188]
需要说明的是,针对不同的领域处理操作方式,所对应移位处理的预设方向并不相同,以四领域膨胀为例,可以分别对栅格矩阵按照四个预设方向进行移位处理,分别是左移、右移、上移和下移,以八领域膨胀为例,可以分别对栅格矩阵按照四个预设方向进行移位处理,分别是左移、右移、上移、下移、在左移前提下的上移和下移、以及右移前提下的上移和下移。除此之外,为了适配后续的逻辑或运算,可以是在基于多个移位方向确定移位后的栅格矩阵之后,先进行一次逻辑或运算,而后将逻辑或运算结果再进行多个移位方向的移位操作,而后再进行下一次逻辑或运算,以此类推,直至得到膨胀处理后的稀疏矩阵。
[0189]
为了便于理解上述膨胀处理操作,可以先将图5(a)所示的编码前的栅格矩阵转换
为如图5(c)所示的编码后的栅格矩阵,而后结合6(a)~6(b)对首次膨胀处理操作进行示例说明。
[0190]
如图5(c)所示的栅格矩阵,该栅格矩阵作为零一矩阵,矩阵中所有的1的位置可以表示目标元素所在的栅格,矩阵中所有0可以表示背景。
[0191]
本公开实施例中,首先可以使用矩阵移位确定零一矩阵中所有元素值为1的元素的邻域。这里可以定义四个预设方向的移位处理,分别是左移、右移、上移和下移。其中,左移即零一矩阵中所有元素值为1的元素对应的列坐标减一,如图6(a)所示;右移即零一矩阵中所有元素值为1的元素对应的列坐标加一;上移即零一矩阵中所有元素值为1的元素对应的行坐标减一;下移即零一矩阵中所有元素值为1的元素对应的行坐标加一。
[0192]
其次,本公开实施例可以使用矩阵逻辑或操作合并所有邻域的结果。矩阵逻辑或,即在接收到两组大小相同的零一矩阵输入的情况下,依次对两组矩阵相同位置的零一进行逻辑或操作,得到的结果组成一个新的零一矩阵作为输出,如图6(b)所示为一个逻辑或运算的具体示例。
[0193]
在实现逻辑或的具体过程中,可以依次选取左移后的栅格矩阵、右移后的栅格矩阵、上移后的栅格矩阵、下移后的栅格矩阵参与到逻辑或的运算中。例如,可以先将栅格矩阵与左移以后的栅格矩阵逻辑或起来,得到的运算结果可以再和右移以后的栅格矩阵逻辑或起来,针对得到的运算结果可以再和上移以后的栅格矩阵逻辑或起来,针对得到的运算结果可以再和下移以后的栅格矩阵逻辑或起来,从而得到首次膨胀处理操作后的稀疏矩阵。
[0194]
需要说明的是,上述有关平移后的栅格矩阵的选取顺序仅为一个具体的示例,在实际应用中,还可以结合其它方式来选取,考虑到平移操作的对称性,这里可以选取上移和下移配对后进行逻辑或运算,左移和右移配对后进行逻辑运算,两个逻辑或运算可以同步进行,可以节省计算时间。
[0195]
其二、本公开实施例中,可以结合卷积和两次取反处理来实现膨胀处理操作,具体可以通过如下步骤来实现:
[0196]
步骤一、对当前膨胀处理操作前的栅格矩阵中的元素进行第一取反操作,得到第一取反操作后的栅格矩阵;
[0197]
步骤二、基于第一预设卷积核对第一取反操作后的栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵;预设稀疏度由目标场景中的待识别对象的尺寸信息来确定;
[0198]
步骤三、对至少一次卷积运算后的具有预设稀疏度的栅格矩阵中的元素进行第二取反操作,得到稀疏矩阵。
[0199]
本公开实施例可以通过取反后卷积,卷积后再取反的操作实现膨胀处理操作,所得到的稀疏矩阵一定程度上也可以表征待识别对象的相关信息,除此之外,考虑到上述卷积操作可以自动的与后续进行目标检测等应用所采用的卷积神经网络进行结合,因而一定程度上可以提升检测效率。
[0200]
本公开实施例中,取反操作可以是基于卷积运算实现的,还可以是基于其它的取反操作方式实现的。为了便于配合后续的应用网络(如进行目标检测所采用的卷积神经网络),这里,可以采用卷积运算来具体实现,接下来对上述第一取反操作进行具体说明。
[0201]
这里,可以基于第二预设卷积核对当前次膨胀处理操作前的栅格矩阵中除目标元素外的其它元素进行卷积运算,得到第一取反元素,还可以基于第二预设卷积核,对当前次膨胀处理操作前的栅格矩阵中的目标元素进行卷积运算,得到第二取反元素,基于上述第一取反元素和第二取反元素,即可确定第一取反操作后的栅格矩阵。
[0202]
有关第二取反操作的实现过程可以参照上述第一取反操作的实现过程,在此不再赘述。
[0203]
本公开实施例中,可以利用第一预设卷积核对第一取反操作后的栅格矩阵进行至少一次卷积运算,从而得到具有预设稀疏度的栅格矩阵。如果膨胀处理操作可以作为一种扩增栅格矩阵中的目标元素个数的手段,则上述卷积运算可以视为一种减少栅格矩阵中的目标元素个数的过程(对应腐蚀处理操作),由于本公开实施例中的卷积运算是针对第一取反操作后的栅格矩阵所进行的,因此,利用取反操作结合腐蚀处理操作,而后再次进行取反操作实现等价于上述膨胀处理操作的等价操作。
[0204]
其中,针对首次卷积运算,将第一取反操作后的栅格矩阵与第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵,在判断首次卷积运算后的栅格矩阵的稀疏度未达到预设稀疏度之后,可以将首次卷积运算后的栅格矩阵与第一预设卷积核再次进行卷积运算,得到第二次卷积运算后的栅格矩阵,以此类推,直至可以确定具有预设稀疏度的栅格矩阵。
[0205]
其中,上述稀疏度可以是由栅格矩阵中目标元素与非目标元素的占比分布所确定的,目标元素占比越多,其所对应表征的待识别对象的尺寸信息越大,反之,目标元素占比越少,其所对应表征的待识别对象的尺寸信息越小,本公开实施例可以是在占比分布达到预设稀疏度时,停止卷积运算。
[0206]
本公开实施例中的卷积运算可以是一次也可以是多次,这里可以以首次卷积运算的具体运算过程进行说明,包括如下步骤:
[0207]
步骤一、针对首次卷积运算,按照第一预设卷积核的大小以及预设步长,从第一取反操作后的栅格矩阵中选取每个栅格子矩阵;
[0208]
步骤二、针对选取的每个栅格子矩阵,将该栅格子矩阵与权值矩阵进行乘积运算,得到第一运算结果,并将第一运算结果与偏置量进行加法运算,得到第二运算结果;
[0209]
步骤三、基于各个栅格子矩阵对应的第二运算结果,确定首次卷积运算后的栅格矩阵。
[0210]
这里,可以采用遍历方式对第一取反操作后的栅格矩阵进行遍历,这样针对遍历到的每个栅格子矩阵,即可以将栅格子矩阵与权值矩阵进行乘积运算,得到第一运算结果,并将第一运算结果与偏置量进行加法运算,得到第二运算结果,这样,将各个栅格子矩阵所对应的第二运算结果组合到对应的矩阵元素中,即可得到首次卷积运算后的栅格矩阵。
[0211]
为了便于理解上述膨胀处理操作,这里仍以图如图5(c)所示的编码后的栅格矩阵为例,结合7(a)~7(b)对膨胀处理操作进行示例说明。
[0212]
这里,可以利用一个1*1的卷积核(即第二预设卷积核)实现第一取反操作,该第二预设卷积核的权值为-1,偏置为1,此时将权值和偏置量代入{输出=输入的栅格矩阵*权重 偏置量}这一卷积公式中,如果输入为栅格矩阵中的目标元素,其值对应为1,则输出=1*-1 1=0;如果输入为栅格矩阵中的非目标元素,其值对应为0,则输出=0*-1 1=1;这样,经
过1*1卷积核作用于输入,可以使得零一矩阵取反,元素值0变为1、元素值1变为0,如图7(a)所示。
[0213]
针对上述腐蚀处理操作,在具体应用中,可以利用一个3*3卷积核(即第一预设卷积核)和一个线性整流函数(rectified linear unit,relu)来实现。上述第一预设卷积核权值矩阵所包括的各个权值均为1,偏置量为8,这样,可以利用公式{输出=relu(输入的第一取反操作后的栅格矩阵*权重 偏置量)}来实现上述腐蚀处理操作。
[0214]
这里,只有当输入的3*3的栅格子矩阵内所有元素都为1的情况下,输出=relu(9-8)=1;否则输出=relu(输入的栅格子矩阵*1-8)=0,其中,(输入的栅格子矩阵*1-8)《0,如图7(b)所示为卷积运算后的栅格矩阵。
[0215]
这里,每嵌套一层具有第二预设卷积核的卷积网络可以叠加一次腐蚀操作,从而可以得到固定稀疏度的栅格矩阵,再次取反操作即可以等价于一次膨胀处理操作,从而可以实现稀疏矩阵的生成。
[0216]
第二方面:在稀疏处理操作为腐蚀处理操作的情况下,本公开实施例可以结合移位处理和逻辑运算来实现,还可以基于卷积运算来实现。
[0217]
其一、本公开实施例中,可以基于至少一次移位处理和逻辑与运算进行一次或多次腐蚀处理操作,在具体实现过程中,具体的腐蚀处理操作的次数可以结合目标场景中的待识别对象的尺寸信息来确定。
[0218]
与第一方面中基于移位处理和逻辑或运算实现膨胀处理类似的是,在进行腐蚀处理操作的过程中,也可以先进行栅格矩阵的移位处理,与上述膨胀处理不同的是,这里的逻辑运算,可以是针对移位后的栅格矩阵进行逻辑与的运算。有关基于移位处理和逻辑与运算实现腐蚀处理操作的过程,具体参见上述描述内容,在此不再赘述。
[0219]
同理,本公开实施例中的腐蚀处理操作可以是以目标元素为中心的四邻域腐蚀,还可以是以目标元素为中心的八领域腐蚀,还可以是其它领域处理操作方式,在具体应用中,可以基于待识别对象的尺寸信息来选择对应的领域处理操作方式,这里不做具体的限制。
[0220]
其二、本公开实施例中,可以结合卷积处理来实现腐蚀处理操作,具体可以通过如下步骤来实现:
[0221]
步骤一、基于第三预设卷积核对栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵;预设稀疏度由目标场景中的待识别对象的尺寸信息来确定;
[0222]
步骤二、将至少一次卷积运算后的具有预设稀疏度的栅格矩阵,确定为与待识别对象对应的稀疏矩阵。
[0223]
上述卷积运算可以视为一种减少栅格矩阵中的目标元素个数的过程,即腐蚀处理过程。其中,针对首次卷积运算,将栅格矩阵与第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵,在判断首次卷积运算后的栅格矩阵的稀疏度未达到预设稀疏度之后,可以将首次卷积运算后的栅格矩阵与第三预设卷积核再次进行卷积运算,得到第二次卷积运算后的栅格矩阵,以此类推,直至可以确定具有预设稀疏度的栅格矩阵,即得到与待识别对象对应的稀疏矩阵。
[0224]
本公开实施例中的卷积运算可以是一次也可以是多次,有关卷积运算的具体过程
参见上述第一方面中基于卷积和取反实现膨胀处理的相关描述,在此不再赘述。
[0225]
需要说明的是,在具体应用中,可以采用不同数据处理位宽的卷积神经网络来实现稀疏矩阵的生成,例如,可以采用4比特(bit)来表征网络的输入、输出以及计算用到的参数,例如栅格矩阵的元素值(0或1),权值、偏置量等,除此之外,还可以采用8bit来进行表征以适应网络处理位宽,提升运算效率。
[0226]
基于上述方法,可以基于目标场景对应的有效感知范围信息,对目标场景下雷达装置采集的待处理点云数据进行筛选,所筛选出的目标点云数据为在目标场景中对应的有效点云数据,因此,基于筛选出的目标点云数据,再在目标场景下进行检测计算,可以降低计算量,提高计算效率,及目标场景下计算资源的利用率。
[0227]
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0228]
基于同一发明构思,本公开实施例中还提供了与点云数据处理方法对应的点云数据处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述点云数据处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0229]
参照图8所示,为本公开实施例提供的一种点云数据处理装置的架构示意图,所述装置包括:获取模块801、筛选模块802、以及检测模块803;其中,
[0230]
获取模块801,用于获取雷达装置在目标场景下扫描得到的待处理点云数据;
[0231]
筛选模块802,用于根据所述目标场景对应的有效感知范围信息,从所述待处理点云数据中筛选出目标点云数据;
[0232]
检测模块803,用于对所述目标点云数据进行检测,得到检测结果。
[0233]
一种可能的实施方式中,所述筛选模块802,还用于根据以下方法确定所述目标场景对应的有效感知范围信息:
[0234]
获取处理设备的计算资源信息;
[0235]
基于所述计算资源信息,确定与所述计算资源信息所匹配的所述有效感知范围信息。
[0236]
一种可能的实施方式中,所述筛选模块802,在根据所述目标场景对应的有效感知范围信息,从所述待处理点云数据中筛选出目标点云数据时,用于:
[0237]
基于所述有效感知范围信息,确定有效坐标范围;
[0238]
基于所述有效坐标范围、以及所述待处理点云数据中每一个雷达扫描点的坐标信息,从所述待处理点云数据中筛选出目标点云数据。
[0239]
一种可能的实施方式中,所述筛选模块802,在基于所述有效感知范围信息,确定有效坐标范围时,用于:
[0240]
基于有效感知范围内的参考位置点在所述目标场景中的坐标信息、以及所述参考位置点在所述有效感知范围内的位置信息,确定所述目标场景对应的有效坐标范围。
[0241]
一种可能的实施方式中,所述筛选模块802,在基于所述有效坐标范围、以及所述待处理点云数据中每一个雷达扫描点的坐标信息,从所述待处理点云数据中筛选出目标点云数据时,用于:
[0242]
将对应的坐标信息位于所述有效坐标范围内的雷达扫描点作为所述目标点云数
据中的雷达扫描点。
[0243]
一种可能的实施方式中,所述筛选模块802,还用于根据以下步骤确定所述参考位置点的坐标信息:
[0244]
获取设置所述雷达装置的智能行驶设备的位置信息;
[0245]
基于所述智能行驶设备的位置信息确定所述智能行驶设备所在道路的道路类型;
[0246]
获取与所述道路类型相匹配的参考位置点的坐标信息。
[0247]
一种可能的实施方式中,所述检测结果包括在所述目标场景中待识别对象的位置;
[0248]
所述检测模块803,在对所述目标点云数据进行检测,得到检测结果时,用于:
[0249]
对所述目标点云数据进行栅格化处理,得到栅格矩阵;所述栅格矩阵中每个元素的值用于表征对应的栅格处是否存在点云点;
[0250]
根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,生成与所述待识别对象对应的稀疏矩阵;
[0251]
基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置。
[0252]
一种可能的实施方式中,所述检测模块803,在根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,生成与所述待识别对象对应的稀疏矩阵时,用于:
[0253]
根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,对所述栅格矩阵中的目标元素进行至少一次膨胀处理操作或者腐蚀处理操作,生成与所述待识别对象对应的稀疏矩阵;
[0254]
其中,所述目标元素为表征对应的栅格处存在点云点的元素。
[0255]
一种可能的实施方式中,所述检测模块803,在根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,对所述栅格矩阵中的目标元素进行至少一次膨胀处理操作或者腐蚀处理操作,生成与所述待识别对象对应的稀疏矩阵时,用于:
[0256]
对所述栅格矩阵中的目标元素进行至少一次移位处理以及逻辑运算处理,得到与所述待识别对象对应的稀疏矩阵,其中得到的稀疏矩阵的坐标范围大小与所述目标场景中的待识别对象的尺寸大小之间的差值在预设阈值范围内。
[0257]
一种可能的实施方式中,所述检测模块803,在根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,对所述栅格矩阵中的元素进行至少一次膨胀处理操作,生成与所述待识别对象对应的稀疏矩阵时,用于:
[0258]
对当前次膨胀处理操作前的栅格矩阵中的元素进行第一取反操作,得到第一取反操作后的栅格矩阵;
[0259]
基于第一预设卷积核对所述第一取反操作后的栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵;所述预设稀疏度由所述目标场景中的待识别对象的尺寸信息来确定;
[0260]
对所述至少一次卷积运算后的具有预设稀疏度的栅格矩阵中的元素进行第二取反操作,得到所述稀疏矩阵。
[0261]
一种可能的实施方式中,所述检测模块803,在对当前次膨胀处理操作前的栅格矩阵中的元素进行第一取反操作,得到第一取反操作后的栅格矩阵时,用于:
[0262]
基于第二预设卷积核,对当前次膨胀处理操作前的栅格矩阵中除所述目标元素外
的其它元素进行卷积运算,得到第一取反元素,以及基于第二预设卷积核,对当前次膨胀处理操作前的栅格矩阵中的目标元素进行卷积运算,得到第二取反元素;
[0263]
基于所述第一取反元素和所述第二取反元素,得到第一取反操作后的栅格矩阵。
[0264]
一种可能的实施方式中,所述检测模块803,在基于第一预设卷积核对所述第一取反操作后的栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵时,用于:
[0265]
针对首次卷积运算,将所述第一取反操作后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵;
[0266]
判断所述首次卷积运算后的栅格矩阵的稀疏度是否达到预设稀疏度;
[0267]
若否,则循环执行将上一次卷积运算后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到当前次卷积运算后的栅格矩阵的步骤,直至得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵。
[0268]
一种可能的实施方式中,所述检测模块803,在第一预设卷积核具有权值矩阵以及与该权值矩阵对应的偏置量;针对首次卷积运算,将所述第一取反操作后的栅格矩阵与所述第一预设卷积核进行卷积运算,得到首次卷积运算后的栅格矩阵时,用于:
[0269]
针对首次卷积运算,按照第一预设卷积核的大小以及预设步长,从所述第一取反操作后的栅格矩阵中选取每个栅格子矩阵;
[0270]
针对选取的每个所述栅格子矩阵,将该栅格子矩阵与所述权值矩阵进行乘积运算,得到第一运算结果,并将所述第一运算结果与所述偏置量进行加法运算,得到第二运算结果;
[0271]
基于各个所述栅格子矩阵对应的第二运算结果,确定首次卷积运算后的栅格矩阵。
[0272]
一种可能的实施方式中,所述检测模块803,在根据所述栅格矩阵以及所述目标场景中的待识别对象的尺寸信息,对所述栅格矩阵中的元素进行至少一次腐蚀处理操作,生成与所述待识别对象对应的稀疏矩阵时,用于:
[0273]
基于第三预设卷积核对待处理的栅格矩阵进行至少一次卷积运算,得到至少一次卷积运算后的具有预设稀疏度的栅格矩阵;所述预设稀疏度由所述目标场景中的待识别对象的尺寸信息来确定;
[0274]
将所述至少一次卷积运算后的具有预设稀疏度的栅格矩阵,确定为与所述待识别对象对应的稀疏矩阵。
[0275]
一种可能的实施方式中,所述检测模块803,在对所述目标点云数据进行栅格化处理,得到栅格矩阵时,用于:
[0276]
对所述目标点云数据进行栅格化处理,得到栅格矩阵以及该栅格矩阵中各个元素与各个点云点坐标范围信息之间的对应关系;
[0277]
所述检测模块803,在基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置范围时,用于:
[0278]
基于所述栅格矩阵中各个元素与各个点云点坐标范围信息之间的对应关系,确定生成的所述稀疏矩阵中每个目标元素所对应的坐标信息;
[0279]
将所述稀疏矩阵中各个所述目标元素所对应的坐标信息进行组合,确定所述待识
别对象在所述目标场景中的位置。
[0280]
一种可能的实施方式中,所述检测模块803,基于生成的所述稀疏矩阵,确定所述待识别对象在所述目标场景中的位置时,用于:
[0281]
基于训练好的卷积神经网络对生成的所述稀疏矩阵中的每个目标元素进行至少一次卷积处理,得到卷积结果;
[0282]
基于所述卷积结果,确定所述待识别对象在所述目标场景中的位置。
[0283]
一种可能的实施方式中,所述装置还包括控制模块804,用于:
[0284]
在对所述目标点云数据进行检测,得到检测结果之后,基于所述检测结果控制设置所述雷达装置的智能行驶设备。
[0285]
基于上述装置,可以基于目标场景对应的有效感知范围信息,对目标场景下雷达装置采集的待处理点云数据进行筛选,所筛选出的目标点云数据为在目标场景中对应的目标点云数据,因此,基于筛选出的点云数据,再在目标场景下进行检测计算,可以降低计算量,提高计算效率,及目标场景下计算资源的利用率。
[0286]
关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0287]
基于同一技术构思,本公开实施例还提供了一种计算机设备。参照图9所示,为本公开实施例提供的计算机设备900的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当计算机设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
[0288]
获取雷达装置在目标场景下扫描得到的待处理点云数据;
[0289]
根据所述目标场景对应的有效感知范围信息,从所述待处理点云数据中筛选出目标点云数据;
[0290]
对所述目标点云数据进行检测,得到检测结果。
[0291]
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的点云数据处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0292]
本公开实施例所提供的点云数据处理方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的点云数据处理方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0293]
本公开实施例还提供一种计算机程序,该计算机程序被处理器执行时实现前述实施例的任意一种方法。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(software development kit,sdk)等等。
[0294]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实
现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0295]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0296]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0297]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0298]
最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献