本发明属于点云数据处理领域,具体涉及一种用于点云数据处理的空间占据体素化方法及装置。
背景技术:
1、激光雷达技术作为一种先进的传感技术,广泛应用于自动驾驶、机器人导航、无人机飞行控制等需要高精度定位和环境感知的领域。激光雷达通过发射激光脉冲并接收其反射信号,可以实时获得周围环境的点云数据。这些点云数据包含了三维空间中物体的精确位置和形状信息,是构建精细化环境模型和实现高精度感知的基础。
2、在激光雷达数据处理中,体素化指将离散的点云数据转换为连续的空间占据数据的过程。体素是三维空间中的最小单位,类似于二维图像中的像素。体素化过程通过将空间划分为固定大小的单元,并在每个体素中记录该区域内的点云数据。如此,原始点云被转换成规则的三维网络表示,使得数据的存储和处理更加高效直观,更加适合用于实时环境感知和路径规划任务,尤其在自动驾驶和机器人导航领域中具有重要作用。
3、但是现阶段点云数据处理中还没有能够实现空间占据体素化方法。
技术实现思路
1、为了解决上述技术问题,本发明提出了一种用于点云数据处理的空间占据体素化方法及装置。
2、为了达到上述目的,本发明的技术方案如下:
3、第一方面,本发明公开一种用于点云数据处理的空间占据体素化方法,包括:
4、步骤s1:采集点云数据、图像以及自车的位姿数据;
5、步骤s2:基于步骤s1采集的数据进行动态物体的追踪检测,得到每一帧下每一动态物体的追踪检测框的位置、大小、朝向、速度与旋转角速度;
6、步骤s3:对点云数据进行分割处理,判断每一帧下每一点云为静态点云或动态点云或噪点;
7、步骤s4:按照整个时序中每一帧中自车的位姿数据,将该帧自车坐标系下的静态点云转换到世界坐标系下;
8、叠加整个时序的世界坐标系下的点云,得到世界坐标系下的时序叠帧的静态点云场景;
9、步骤s5:将整个时序中每一帧下的动态物体的追踪检测框与对应帧下的动态点云进行匹配,将落在追踪检测框内的点云标记为该物体点云,并记录其相对该追踪检测框的位置,将整个时序中落在该追踪检测框中的点云以该相对位置叠帧,得到每个动态物体的时序叠帧的动态点云实例;
10、步骤s6:将步骤s4获得的世界坐标系下的时序叠帧的静态点云场景与步骤s5获得的每个动态物体的时序叠帧的动态点云实例进行动静态点云融合,得到每一帧下的完整叠帧的点云场景;
11、步骤s7:基于每一帧下的完整叠帧的点云场景,将自车周围空间划分为若干体素,统计每个体素中出现的点云的类别及位置,得到每个体素的类别及偏置值;
12、步骤s8:对每一帧体素化的场景进行体素的雷达可见性计算和体素的相机可见性计算。
13、在上述技术方案的基础上,还可做如下改进:
14、作为优选的方案,步骤s6包括:
15、步骤s6.1:对于整个时序中任一帧中自车的位姿数据,将步骤s4获得的世界坐标系下的时序叠帧的静态点云场景转换到自车坐标系下,得到该帧下自车坐标系下的静态点云场景;
16、步骤s6.2:将步骤s5获得的每个动态物体的时序叠帧的动态点云实例,根据该帧该追踪检测框的位置放置在步骤s6.1获得的静态点云场景中,实现动静态点云的合并融合,得到该帧下的完整叠帧的点云场景;
17、步骤s6.3:重复步骤s6.1-步骤s6.2,直至获得每一帧下的完整叠帧的点云场景。
18、作为优选的方案,步骤s7包括:
19、步骤s7.1:基于每一帧下的完整叠帧的点云场景,将自车周围空间按照预设尺寸划分为若干体素;
20、步骤s7.2:若每个体素中单一类别的点云数量超过设定阈值,则将该体素视为占据,并将该占据体素的类别设定为该体素中点云数量最多的点云所属的类别;
21、步骤s7.3:统计占据体素中与其相同类别的每一点云相对体素中心点的位置,取均值,并将该均值作为该体素的偏置值。
22、作为优选的方案,步骤s7还包括:
23、步骤s7.4:对所有低位置的空白体素,统计其邻域中地面体素的数量,如果邻域地面体素的数量超过设定阈值,则将该空白体素补齐为地面体素;
24、同时,统计邻域地面体素的偏置均值,作为该补齐地面体素的偏置值。
25、作为优选的方案,步骤s8包括:
26、步骤s8.1:对每一帧体素化的场景进行体素的雷达可见性计算,具体为:
27、以每一帧自车雷达所在位置为原点,预设尺寸的最外层每一占据体素偏置值所在位置为终点,打出一条射线,将该射线穿过的第一个占据体素前穿过的所有体素标记为空,将该射线穿过的第一个占据体素标记为可见,将该射线穿过第一个占据体素后穿过的所有体素标记为不可见;
28、当同一个体素被多个射线穿过时,其优先级由高至低依次为:雷达可见、空、雷达不可见;
29、步骤s8.2:对每一帧体素化的场景进行体素的相机可见性计算,具体为:
30、以每一帧自车相机所在位置为原点,向每一帧每一张图片的每个像素打出一条射线,通过自车的位姿数据将该射线反投影到自车坐标系中,并将预设空间中的所有体素预先标记为相机不可见,将射线穿过的第一个占据体素前穿过的所有体素标记为空,将射线穿过的第一个占据体素标记为相机可见;
31、当同一个体素被多个射线穿过时,其优先级由高至低依次为:相机可见、空、相机不可见。
32、作为优选的方案,空间占据体素化方法还包括:
33、步骤s9:计算每个体素的速度;
34、步骤s9包括:
35、步骤s9.1:将所有体素的速度预设为零;
36、步骤s9.2:对于每一动态物体的追踪检测框,寻找所有的体素中心点位于该追踪检测框中,且体素类别和该追踪检测框类别相同的体素,标记该体素为对应追踪检测框的框体素;
37、步骤s9.3:将每一个框体素的基准速度置为对应追踪检测框的速度;
38、步骤s9.4:计算每一个框体素的偏置值相对于对应追踪检测框中心轴的位移;
39、步骤s9.5:基于每一个框体素的位移及对应追踪检测框的旋转角速度进行计算,计算出每一个框体素相对于对应追踪检测框中心轴的旋转角速度;
40、步骤s9.6:将每一个框体素的基准速度和旋转角速度合并,得到该体素的速度量。
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、体素速度预设单元,用于将所有体素的速度预设为零;
73、框体素寻找单元,用于对于每一动态物体的追踪检测框,寻找所有的体素中心点位于该追踪检测框中,且体素类别和该追踪检测框类别相同的体素,标记该体素为对应追踪检测框的框体素;
74、框体素基准速度确定单元,用于将每一个框体素的基准速度设为与对应追踪检测框的速度相同;
75、框体素位移计算单元,用于计算每一个框体素的偏置值相对于对应追踪检测框中心轴的位移;
76、框体素旋转角速度确定单元,用于基于每一个框体素的位移及对应追踪检测框的旋转角速度进行计算,计算出每一个框体素相对于对应追踪检测框中心轴的旋转角速度;
77、框体素速度计算单元,用于将每一个框体素的基准速度和旋转角速度合并,得到该体素的速度量。
78、第三方面,本发明还公开一种计算设备,包括:
79、一个或多个处理器;
80、存储器;
81、以及一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括上述任一种用于点云数据处理的空间占据体素化方法的指令。
82、第四方面,本发明还公开一种存储介质,存储介质存储有一个或多个计算机可读的程序,一个或多个程序包括指令,指令适于由存储器加载并执行上述任一种用于点云数据处理的空间占据体素化方法。
83、本发明公开一种用于点云数据处理的空间占据体素化方法及装置,其具有以下有益效果:
84、第一,本发明能够得到三维空间中的每个体素的类别、偏置值、雷达可见性、相机可见性、速度等信息,高精度的体素化数据为自动驾驶和机器人系统提供理论基础。
85、第二,本发明通过叠帧的方法将稀疏的点云数据堆叠成密集的场景,降低体素化时的误差。
86、第三,本发明通过相机和雷达可见性算法计算每个体素的可见性,便于体素化数据的后续应用。
87、第四,本发明通过地面体素补齐的方法补充了与自车较远处地面偶现空缺的情况。
88、第五,本发明在高精度定位和环境感知领域具有重要的应用价值和广泛的应用前景。