一种点云数据的存储处理方法和装置制造方法及图纸

技术编号:33993859 阅读:20 留言:0更新日期:2022-07-02 10:23
本发明专利技术涉及了一种点云数据的存储处理方法和装置,所述方法包括:确定待处理的点云数据的数据量与计算机有效内存之间的大小关系;当确定数据量大于有效内存时,将点云数据按照第一边长划分为多个第一点云网格;将所述点云数据划分为目标数量个第一点云网格组合,每个所述第一点云网格组合中包括的点云数据的数据量均小于所述有效内存;从存储点云数据的第一存储文件中,按照每个第一点云网格组合中的点云数据的数据量分次读取点云数据,并将每次读取的点云数据填充到第二存储文件的对应存储空间中。上述方法计算机内存每次读取的数据量都小于有效内存,计算机可以顺利加载比有效内存大的点云数据,不会出现延时和卡顿现象。不会出现延时和卡顿现象。不会出现延时和卡顿现象。

【技术实现步骤摘要】
一种点云数据的存储处理方法和装置


[0001]本专利技术涉及点云数据处理
,尤其涉及一种点云数据的存储处理方法和装置。

技术介绍

[0002]近年来,随着激光雷达技术的快速发展和日益广泛的应用,极大地增强了人们获取真实世界三维数据的能力,通过激光雷达可以获取丰富的反映真实世界的点云数据,推动了三维重建、虚拟现实等技术迅速发展。
[0003]三维点云数据是用三维坐标数据表征的许多点的集合。激光雷达获取三维点云数据后,设计算法用计算机对点云数据进行处理,便可以得到所需要的数字产品。高效地组织和管理点云数据是高效地处理和应用点云数据的基础,不同的处理和应用要求,会采用不同的点云数据组织方法,通常有网格化、四叉树、八叉树数据组织形式。
[0004]然而,通过三维激光雷达获取大面积的地形地物数据时,往往会得到海量的激光点云数据。当计算机采用上述传统方法加载这些点云数据时,内存开销会很大,并且会存在延时和卡顿现象。尤其当点云数据的大小超过了计算机内存时,会出现计算机无法加载这些点云数据的现象。

技术实现思路

[0005]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术第一方面提出一种点云数据的存储处理方法,所述方法包括:确定待处理的点云数据的数据量与计算机有效内存之间的大小关系;当确定所述数据量大于所述有效内存时,将所述点云数据按照第一边长划分为多个第一点云网格,其中,每个所述第一点云网格中包括的点云数据的数据量均小于所述有效内存;将所述点云数据划分为目标数量个第一点云网格组合,其中,每个所述第一点云网格组合包括多个所述第一点云网格,每个所述第一点云网格组合中包括的点云数据的数据量均小于所述有效内存,所述目标数量为所述点云数据能划分的第一点云网格组合的最小数量;从存储所述点云数据的第一存储文件中,按照每个所述第一点云网格组合中的点云数据的数据量分次读取所述点云数据,并将每次读取的所述点云数据填充到第二存储文件的对应存储空间中。
[0006]可选的,所述将所述点云数据按照第一边长划分为多个第一点云网格,包括:根据所述点云数据中的点的位置坐标,确定所述点云数据的边界点的坐标;根据所述边界点坐标构建覆盖所述点云数据的边界框;确定使得每个第一点云网格中包括的点云数据的数据量均小于所述有效内存的第一边长;
按照所述第一边长将所述边界框包含的区域划分为多个网格,得到所述点云数据对应的多个第一点云网格。
[0007]可选的,所述确定所述点云数据的边界点坐标,包括:获取所述点云数据中包括的点的最小坐标值(Xmin,Ymin,Zmin)和最大坐标值(Xmax,Ymax,Zmax),得到所述点云数据的边界点坐标。
[0008]可选的,所述根据所述边界点坐标构建覆盖所述点云数据的边界框,包括:在所述最小坐标值的基础上减去第一预设值S,得到边界基准点(Xmin

S,Ymin

S,Zmin

S);以所述边界基准点为坐标系的原点,以所述Xmin指向所述Xmax的方向为X轴方向,以所述Ymin指向所述Ymax的方向为Y轴方向构建坐标系,得到由所述坐标系的X轴和Y轴围成的覆盖所述点云数据的边界框。
[0009]可选的,在将所述点云数据按照坐标位置划分为多个第一点云网格之后,还包括:对所述第一点云网格中的点云数据进行重新随机排序。
[0010]可选的,所述将所述点云数据划分为目标数量个第一点云网格组合,包括:根据所述第一点云网格中包含的所述点的个数和单个点对应的数据量,确定每个所述第一点云网格包含的点云数据的数据量,得到各个所述第一点云网格对应的数据量的集合;对所述集合中的第一点云网格按照所述数据量递增的原则进行重排序,得到数据量递增序列,并得到与所述数据量递增序列对应的网格编号序列;根据所述数据量递增序列,确定第一点云网格组合,所述第一点云网格组合由多个第一点云网格组成,所述多个第一点云网格的数据量的总和小于所述有效内存。
[0011]可选的,所述根据所述数据量递增序列,确定第一点云网格组合,包括:对所述数据量递增序列按照首尾组合交叉求和的方法,累计求解多个第一点云网格的数据量的和,将使所述数据量的和小于所述有效内存且所述数据量的和最大的多个第一点云网格确定为一个第一点云网格组合;按照上述方法对所述数据量递增序列中的剩余第一点云网格依次求解,直到所述数据量递增序列中的所有第一点云网格均有对应的第一点云网格组合,得到第一点云网格组合序列。
[0012]可选的,在得到所述点云数据对应的多个第一点云网格之后,还包括:以所述边界基准点为起始,对所述第一点云网格依次进行编号,得到网格编号;确定所述点云数据中的每个点所属的网格编号;根据所述每个点对应的网格编号,统计每个所述第一点云网格中包含的所述点的数量,以及确定每个所述第一点云网格中最大的网格编号。
[0013]可选的,在确定每个所述第一点云网格中最大的网格编号之后,还包括:将所述边界基准点的坐标值、所述第一边长、所述点云数据在Z轴上的最大坐标、所述最大的网格编号作为所述点云数据的第一索引信息;将所述第一点云网格的网格编号和所述第一点云网格中包含的所述点的数量作为所述第一点云网格的第一索引信息。
[0014]可选的,在将所述第一点云网格的网格编号和所述第一点云网格中包含的所述点
的数量作为所述第一点云网格的第一索引信息之后,还包括:将所述点云数据的第一索引信息输出到第一索引文件中;将所述第一点云网格的第一索引信息按照所述第一点云网格组合序列的排序,依次输出到所述第一索引文件中。
[0015]可选的,所述从存储所述点云数据的第一存储文件中,按照每个所述第一点云网格组合中的点云数据的数据量分次读取所述点云数据,包括:从存储所述点云数据的第一存储文件中,按照所述第一索引文件的顺序,以及所述第一点云网格组合中的点云数据的数据量分次读取所述点云数据。
[0016]可选的,在确定待处理的点云数据的数据量与计算机有效内存之间的大小关系之后,还包括:当确定所述数据量小于所述有效内存时,将所述点云数据从所述第一存储文件中读取出来,并加载到所述计算机的内存中;将所述点云数据按照第二边长划分为多个第二点云网格;对所述第二点云网格中的点云数据进行重新随机排序;确定所述第二点云网格的网格编号,并统计每个所述第二点云网格中包含的点的数量,以及确定每个所述第二点云网格中最大的网格编号。
[0017]可选的,在确定每个所述第二点云网格中最大的网格编号之后,还包括:根据所述第二点云网格的网格编号、每个所述第二点云网格中包含的所述点的数量、每个所述第二点云网格中最大的网格编号,确定所述点云数据的第二索引信息以及所述第二点云网格的第二索引信息。
[0018]将所述点云数据的第二索引信息输出到第二索引文件中;将所述第二点云网格的第二索引信息按照所述第二点云网格的网格编号的行主序递增的原则,依次输出到所述第二索引文件中。
[0019]可选的,所述将所述第二点云网本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种点云数据的存储处理方法,其特征在于,所述方法包括:确定待处理的点云数据的数据量与计算机有效内存之间的大小关系;当确定所述数据量大于所述有效内存时,将所述点云数据按照第一边长划分为多个第一点云网格,其中,每个所述第一点云网格中包括的点云数据的数据量均小于所述有效内存;将所述点云数据划分为目标数量个第一点云网格组合,其中,每个所述第一点云网格组合包括多个所述第一点云网格,每个所述第一点云网格组合中包括的点云数据的数据量均小于所述有效内存,所述目标数量为所述点云数据能划分的第一点云网格组合的最小数量;从存储所述点云数据的第一存储文件中,按照每个所述第一点云网格组合中的点云数据的数据量分次读取所述点云数据,并将每次读取的所述点云数据填充到第二存储文件的对应存储空间中。2.根据权利要求1所述的方法,其特征在于,所述将所述点云数据按照第一边长划分为多个第一点云网格,包括:根据所述点云数据中的点的位置坐标,确定所述点云数据的边界点的坐标;根据所述边界点坐标构建覆盖所述点云数据的边界框;确定使得每个第一点云网格中包括的点云数据的数据量均小于所述有效内存的第一边长;按照所述第一边长将所述边界框包含的区域划分为多个网格,得到所述点云数据对应的多个第一点云网格。3.根据权利要求2所述的方法,其特征在于,所述确定所述点云数据的边界点坐标,包括:获取所述点云数据中包括的点的最小坐标值(Xmin,Ymin,Zmin)和最大坐标值(Xmax,Ymax,Zmax),得到所述点云数据的边界点坐标。4.根据权利要求3所述的方法,其特征在于,所述根据所述边界点坐标构建覆盖所述点云数据的边界框,包括:在所述最小坐标值的基础上减去第一预设值S,得到边界基准点(Xmin

S,Ymin

S,Zmin

S);以所述边界基准点为坐标系的原点,以所述Xmin指向所述Xmax的方向为X轴方向,以所述Ymin指向所述Ymax的方向为Y轴方向构建坐标系,得到由所述坐标系的X轴和Y轴围成的覆盖所述点云数据的边界框。5.根据权利要求1所述的方法,其特征在于,在将所述点云数据按照坐标位置划分为多个第一点云网格之后,还包括:对所述第一点云网格中的点云数据进行重新随机排序。6.根据权利要求1所述的方法,其特征在于,所述将所述点云数据划分为目标数量个第一点云网格组合,包括:根据所述第一点云网格中包含的点的个数和单个点对应的数据量,确定每个所述第一点云网格包含的点云数据的数据量,得到各个所述第一点云网格对应的数据量的集合;对所述集合中的第一点云网格按照所述数据量递增的原则进行重排序,得到数据量递
增序列,并得到与所述数据量递增序列对应的网格编号序列;根据所述数据量递增序列,确定第一点云网格组合,所述第一点云网格组合由多个第一点云网格组成,所述多个第一点云网格的数据量的总和小于所述有效内存。7.根据权利要求6所述的方法,其特征在于,所述根据所述数据量递增序列,确定第一点云网格组合,包括:对所述数据量递增序列按照首尾组合交叉求和的方法,累计求解多个第一点云网格的数据量的和,将使所述数据量的和小于所述有效内存且所述数据量的和最大的多个第一点云网格确定为一个第一点云网格组合;按照上述方法对所述数据量递增序列中的剩余第一点云网格依次求解,直到所述数据量递增序列中的所有第一点云网格均有对应的第一点云网格组合,得到第一点云网格组合序列。8.根据权利要求4所述的方法,其特征在于,在得到所述点云数据对应的多个第一点云网格之后,还包括:以所述边界基准点为起始,对所述第一点云网格依次进行编号,得到网格编号;确定所述点云数据中的每个点所属的网格编号;根据所述每个点对应的网格编号,统计每个所述第一点云网格中包含的点的数量,以及确定每个所述第一点云网格中最大的网格编号。9.根据权利要求8所述的方法,其特征在于,在确定每个所述第一点云网格中最大的网格编号之后,还包括:将所述边界基准点的...

【专利技术属性】
技术研发人员:周勋
申请(专利权)人:中汽创智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1