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

技术编号:34967940 阅读:13 留言:0更新日期:2022-09-17 12:49
本申请公开了一种点云数据处理方法,根据原始点云数据集建立八叉树,生成并存储分支结点和叶子结点数据结构,每一个叶子结点包含的点云点数量小于设定阈值;每一个叶子结点的点云数据按照属性分段存储,每一个数据段中包含所述叶子结点中的点云的同一种属性类型;不同数据段中的点云排列顺序相同,且按照KD树结构存储;按照设定属性类型和视距范围动态读取数据并显示。本申请还包含用于实现所述方法的装置。本申请的方法和装置解决现有技术中动态显示不流畅,导致使用不够方便的问题。能够实现海量点云数据的加载、提高显示速度和精准捕捉数据的目的,为海量点云的数字测图提供了底层技术支撑。技术支撑。技术支撑。

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


[0001]本申请涉及地理信息系统和计算机
,尤其涉及一种点云数据处理方法及装置。

技术介绍

[0002]通过测量仪器得到的物体外观表面的点数据集合称之为点云(Point Cloud),通常使用三维激光扫描仪或照相式扫描仪得到点云,点数量比较大并且比较密集。
[0003]根据激光测量原理得到的点云,包括三维坐标(xyz)和激光反射强度(Intensity),回波次数,GPS时间等信息。根据摄影测量原理得到的点云,包括三维坐标和颜色信息(RGB)。结合激光测量和摄影测量原理得到点云,包括三维坐标、激光反射强度和颜色信息等信息。
[0004]点云是目标表面特性的海量点集合。现有技术中,由于数据量非常大,把所有的点加载进入计算机内存,会导致计算机难以承载。分块处理数据是常用的方法,但是,分块处理结果需要拼接起来才能使用,这种处理方式不能进行整体浏览。庞大的数据量加上点云的无结构化,使得点云的三维显示,坐标捕捉都变得非常困难,导致点云在测绘领域的使用受到限制。

技术实现思路

[0005]本申请实施例提供一种点云数据处理方法及装置,用于解决现有技术中海量点云动态显示不流畅,单点坐标捕捉速度慢、难以从海量点云中快速获取所需数据,导致使用不够方便的问题。
[0006]第一方面,本申请实施例提供一种点云数据处理方法,结合八叉树、KD树、数据分段存储和动态调取,包含以下步骤:根据原始点云数据集建立八叉树,生成并存储分支结点和叶子结点数据结构,每一个叶子结点包含的点云点数量小于设定阈值;每一个结点的点云数据按照属性分段存储,每一个数据段中包含所述叶子结点中的点云的同一种属性类型;不同数据段中的点云排列顺序相同,且根据空间坐标按照KD树结构存储;按照设定属性类型和视距范围动态读取数据并显示。
[0007]优选地,所述点云数据处理方法,由根结点向下建立非平衡八叉树,具体包含以下步骤:将点云数据进行分割,判断分割后空间内的点云点数量是否小于所述设定阈值,若是,则停止分割,生成叶子结点;若否,则继续进行空间分割,直至结点空间的点云点数量小于所述设定阈值为止。
[0008]所述八叉树的数据结构由多层分支结点和最终的叶子结点构成,全部叶子结点的点云数据总和为所述原始点云数据。优选地,任一分支结点的数据,是由所述分支结点的8
个子结点的点云数据合并采样后生成。
[0009]优选地,所述动态读取数据包含:读取小于视距阈值的结点中,在每一分支上的底层结点数据;结点的视距阈值和所述结点的空间内径正相关。进一步优选地,根据内存容限设定结点的视距阈值,所述视距阈值和所述内存容限正相关。
[0010]进一步优选地,所述动态读取数据包含:对读取的数据进行射线追踪,放弃被遮挡的点云数据。
[0011]优选地,所述按照设定属性类型和视距范围动态读取数据,包含以下步骤:确定结点距离小于其视距阈值的结点,构成一备选结点集合;读取所述备选结点集合中的分支结点与设定属性对应的数据;读取所述备选结点集合中的叶子结点中与设定属性对应的数据段中的点云数据;排除所述备选结点集合中被遮挡的点云数据,生成应用数据集。
[0012]第二方面,本申请实施例还提出一种点云数据处理装置,用于实现本申请第一方面任意一项实施例所述方法,包含:第一处理模块,用于根据原始点云数据集建立八叉树,生成叶子结点数据结构和分支结点数据结构;第二处理模块,用于多个子线程分别按属性读取所述点云数据,确定结点距离小于其视距阈值的结点,构成备选结点集合,排除所述备选结点集合中被遮挡的点云数据,生成应用数据集;第三处理模块,用于显示和渲染所述应用数据集的图像;第一存储单元,用于存储原始点云数据集;第二存储单元,用于存储所述八叉树的分支结点数据结构;第三存储单元,用于区分叶子结点按属性分段存储所述叶子结点的点云数据;第四存储单元,用于存储所述应用数据集。
[0013]第三方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请中任一实施例所述的方法。
[0014]第四方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,在处理器运行所述计算机程序时实现本申请中任一实施例所述的方法。
[0015]本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:使用非平衡八叉树结合KD树存储点云数据,并在使用点云数据时进行延迟渲染,在GPU上剔除大量不可见点云,极大地提高点云着色显示速度。利用“点云、像点、眼睛”三点共线关系,在GPU上进行三维空间点云的实时解算与点位捕捉。能够实现海量点云加载、提高显示速度和鼠标精准捕捉的目的,为海量点云的数字测图提供了底层技术支撑。
附图说明
[0016]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本说明书实施例提供的一种点云数据处理方法的实施例流程图;图2为本申请实施例进一步优化的点云数据外部存储处理过程;图3为本申请实施例进一步优化的动态缓存数据生成过程;图4为本申请数据关联关系示意图;图5为本申请的一种点云处理装置的实施例示意图;图6包含本申请装置进一步优化的实施例示意图。
具体实施方式
[0017]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0018]以下结合附图,详细说明本申请各实施例提供的技术方案。
[0019]图1为本说明书实施例提供的一种点云数据处理方法的实施例流程图。
[0020]本申请实施例提供一种点云数据处理方法,结合八叉树、KD树、数据分段存储和动态调取,包含以下步骤11~13:步骤11、根据原始点云数据集建立八叉树,生成并存储分支结点和叶子结点数据结构,每一个叶子结点包含的点云点数量小于设定阈值;步骤12、每一个结点的点云数据按照属性分段存储,每一个数据段中包含所述结点中的点云的同一种属性类型;不同数据段中的点云排列顺序相同,且根据空间坐标按照KD树结构存储;点云的属性包含:坐标值x,y,z,强度,RGB颜色,分类标识,回波次数、用户标识、GPS时间、删除标记、来源标识。
[0021]具体地,在每个叶子结点内构建KD树,利用KD树,将每个所述叶子结点内的第二点云数据进行线性存储,所述第二点云数据由所述第一点云数据分隔获得。
[0022]在具体实施中,在每个非平衡八叉树子结点内,建KD树,用数组线性存储,并在每个点云点里用2个二进制位存储KD树分割轴信息;其中,每个点云点包含坐标、强度、颜色、分类、回波次数、GPS时间,数据标识,共24个字节,KD树分本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种点云数据处理方法,其特征在于,包含以下步骤:根据原始点云数据集建立八叉树,生成并存储分支结点和叶子结点数据结构,每一个叶子结点包含的点云点数量小于设定阈值;每一个结点的点云数据按照属性分段存储,每一个数据段中包含所述叶子结点中的点云的同一种属性类型;不同数据段中的点云排列顺序相同,且根据空间坐标按照KD树结构存储;按照设定属性类型和视距范围动态读取数据并显示。2.如权利要求1所述点云数据处理方法,其特征在于,由根结点向下建立非平衡八叉树,具体包含以下步骤:将点云数据进行分割,判断分割后空间内的点云点数量是否小于所述设定阈值,若是,则停止分割,生成叶子结点;若否,则继续进行空间分割,直至结点空间的点云点数量小于所述设定阈值为止。3.如权利要求1所述点云数据处理方法,其特征在于,任一分支结点的数据,是由所述分支结点的8个子结点的点云数据合并采样后生成。4.如权利要求1所述点云数据处理方法,其特征在于,读取小于视距阈值的结点中,在每一分支上的底层结点数据;结点的视距阈值和所述结点的空间内径正相关。5.如权利要求1所述点云数据处理方法,其特征在于,对读取的数据进行射线追踪,放弃被遮挡的点云数据。6.如权利要求1所述点云数据处理方法,其特征在于,根据内存容限设定结点的视距阈值,所述视距阈值和所述内存容限正相关。7.如权利要求1所述点云数据处理方法...

【专利技术属性】
技术研发人员:张瑜
申请(专利权)人:北京山维科技股份有限公司
类型:发明
国别省市:

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

1