一种面向海量激光雷达点云模型的三维空间索引方法

文档序号:6369015阅读:266来源:国知局
专利名称:一种面向海量激光雷达点云模型的三维空间索引方法
技术领域
本发明涉及ー种三维空间索引方法,尤其涉及一种面向海量激光雷达点云模型的三维空间索引方法。
背景技术
点云模型是ー种基于散乱点集的三维空间数据模型,它本身包含了点云的各种特性。一般来说,点云模型是将多视扫描点云经过去冗、多暂配准及融合等处理得到完整的目标点云模型,它是多个单站点云经过处理后得到的初级产品。点云模型具有数据量大(海量性)、数据表达精细(高空间分辨率)、空间分布较为均衡(完整性)、空间三维点之间无拓扑关系(散乱性)等特征。K-D树与八叉树(Octree)都属于ニ叉树(BSP)的ー个变种。在计算机图形学和计算机视觉领域中,ー些基本的三维图形算法诸如视锥裁剪、碰撞检测、遮挡剔除以及光线跟踪等,都是通过对三维场景中的各类空间数据模型进行层次化细分,进而加速数据的遍历与检索过程的。K-D树索引的划分过程需要将剖分平面限定为必须与某个三维坐标轴垂直,而八叉树索引则是在毎次剖分时采用平行于三坐标轴三个平面,也可以说是一个空间立方体对空间进行按一定规则等分,八叉树索引节点最小外包矩形体(MBB)相对规则,处理起来较其他三维空间索引要容易的多,但是由于要对部分空间进行规则等分,并且属于完全占有三维空间,所以往往出现每个树节点MBB对点云模型内的点集的包围不够紧密的问题,这些问题会在进行点云数据检索时会降低查询的效率。相比之下,三维K-D树索引的空间剖分方法既保留了原ニ叉树索引结构简单的特点,又无对三维空间进行等分的要求,所以相比八叉树索引三维K-D树节点MBB能够更紧密地包围三维点集。但对海量点云模型数据来说三维K-D树要索引到单个三维点或者较少个数的三维点集,其树深往往超过10层,甚至达到20层以上,这种情况下空间索引的检索效率会大大降低,达不到高效检索海量空间数据的目的。

发明内容
本发明针对现有技术的弊端,提供一种面向海量激光雷达点云模型的三维空间索引方法。本发明所述的面向海量激光雷达点云模型的三维空间索引方法,包括如下步骤步骤一,根据原始測量数据构建点云模型海量点集;步骤ニ,循环计算所述海量点集内三维点坐标信息的最大值及最小值,以构建所 述海量点集平行于三坐标轴的最小外包矩形体,并以该最小外包矩形体的顶点坐标为八叉树的根节点,以最小外包矩形体内预定点的八个顶点坐标为八叉树的叶子节点;步骤三,分别以八叉树的各叶子节点的最小外包矩形体为K-D树的根节点最小外包矩形体,以所述八叉树叶子节点内包含的海量点集作为预剖分点集;计算所述K-D树根节点最小外包矩形体的最长轴,并将此最长轴作为K-D树的剖分轴,以此最长轴作为剖分平面的法向将K-D树的根节点的最小外包矩形体一分为ニ ;计算剖分后两个节点的最小外包矩形体并分配三维点,更新海量点集;步骤四,分别以X轴、Y轴、Z轴为法向平面,将前述更新后的海量点集剖分为两个集合,并在该两个集合中构建K-D树。本发明所述的面向海量激光雷达点云模型的三维空间索引方法中,所述三维点坐标信息包括三维点坐标值属性。进ー步的,所述三维点坐标信息还包括三维点的标识属性、三维点的纹理属性、以及三维点的语义属性。本发明所述的面向海量激光雷达点云模型的三维空间索引方法中的步骤ニ中,分 配预定数量的三维点至各个叶子节点。本发明所述的面向海量激光雷达点云模型的三维空间索引方法中的步骤ニ中,若所述叶子节点内包含的三维点数量未超过预定阈值,则此叶子节点为不再剖分的叶子节点;若所述叶子节点内包含的三维点数量超过阈值,则继续递归剖分最小外包矩形体,并计算三维点的归属,直至所有三维点分配完毕。本发明所述的面向海量激光雷达点云模型的三维空间索引方法中,所述各叶子节点内只储存三维点预定字节数的标识信息。本发明所述的面向海量激光雷达点云模型的三维空间索引方法中的步骤三中,若更新后的海量点集为无效,则返回一个空的K-D树;若更新后的海量点集中三维点的数量小于ー预定值,则返回执行下ー个叶子节点;否则,对该最长轴进行继续剖分。本发明所述的面向海量激光雷达点云模型的三维空间索引方法,针对点云模型数据海量性和高空间分辨率的特征,采用多级混合索引的策略将数据索引到单个空间三维点。针对点云模型的完整性特征,采用八叉树索引从整体点云模型的最小外包矩形体MBB开始不断剖分海量点云,使八叉树索引节点中三维点的分别在空间上较为均衡;针对大規模点云模型的散乱性特征和数据后处理的需要,采用三维K-D树索引单个三维空间点,使快速查询与处理单个点坐标及其属性数据成为可能。在上述集成空间索引构建的基础上,采用三维R树管理三维场景中多个点云模型的MBB,最終形成多级混合空间索引模式。


图I为本发明所述面向海量激光雷达点云模型的三维空间索引方法的流程示意图。
具体实施例方式下面结合附图对本发明做进ー步的详细说明,以令本领域技术人员參照说明书文字能够据以实施。本发明所述的面向海量激光雷达点云模型的三维空间索引方法,结合了八叉树空间索引、三维K-D树空间索引和三维R树空间索引各自的索引特点,以先集成再混合的方式索引海量精细点云模型数据,在本发明所述的三维空间索引方法中,需要涉及到五种数据对象,分别为三维点数据、顶点数据、最小外包矩形体数据、八叉树节点数据和K-D树节点数据。其中,三维点数据包括x、y、z三维坐标值属性信息,或者,进ー步包括三维点的ID标识属性信息、点的纹理属性信息和三维点的语义属性信息,它用来存储点云模型的几何坐标和属性值。所述顶点数据仅包括x、y、z三维坐标值和三维点的ID标识属性信息,它是最小外包矩形体的ニ个三维空间顶点的数据信息。所述最小外包矩形体数据则存储每个三维树空间索引节点和K-D树节点的最小外包矩形体属性信息,它用2个三维空间顶点坐标或者6个浮点数来表达。八叉树节点数据包括剖分标识符、节点名称标识符、每个叶子节点的K-D树根节点信息、本节点所在的节点深度信息、八个子节点名称标识符信息、中心点坐标信息、节点包含的点集数据信息、父节点标识信息、节点的最小外包矩形体信息。K-D树节点数据包括节点名称标识符信息、中心点坐标信息、节点包含的点集数据以及节点的最小外包矩形体的属性信息。如图I所示,本发明所述的面向海量激光雷达点云模型的三维空间索引方法,包括如下步骤步骤101,根据原始測量数据构建点云模型海量点集。
本步骤中,从数据文件中读取原始測量数据,以构建点云模型海量点集,在此标记
为{P}。步骤102,循环计算所述海量点集内三维点坐标信息的最大值及最小值,以构建所述海量点集平行于三坐标轴的最小外包矩形体,并以该最小外包矩形体的顶点坐标为八叉树的根节点,以最小外包矩形体内预定点的八个顶点坐标为八叉树的叶子节点。本步骤中,通过循环计算而确定点集{P}内三维坐标信息的最大值及最小值,标记为xmax、xmin、Ymax、Ymin、Zmax, Zmintj并进而根据上述三维点坐标信息的最大值和最小值构建点集{P}平行于三坐标轴的最小外包矩形体MBB。将点集{P}的最小外包矩形体的顶点坐标作为八叉树的根节点,将点集{P}的最小外包矩形体内预定点的八个顶点坐标作为八叉树的叶子节点。具体而言,是视该点集{P}的最小外包矩形体MBB为八叉树的根节点,并计算出该最小外包矩形体的八个顶点坐标和中心坐标。而对于该八叉树的叶子节点来说,则是通过剖分递归的方法来确定各叶子节点内所包含的三维空间点的数量,该剖分递归的終止条件为节点存储的三维空间点的个数超过阈值。通过前述最小外包矩形体MBB中点计算八个叶子节点的八个顶点坐标、各边中点坐标和中心坐标。分配预定数量的三维点至各个叶子节点,若此叶子节点内包含的三维点数量未超过预定阈值,如5000个,则将此叶子节点标记为不再剖分的叶子节点;若所述叶子节点内包含的三维点数量超过阈值,则继续递归剖分最小外包矩形体,并计算三维点的归属,直至所有三维点分配完毕。 本发明中,所述各叶子节点内只储存三维点的标识信息,不存储其实际坐标信息。根据线性八叉树编码法对每个节点进行名称标识编码,以生成各节点的名称编码信息,通过此名称编码信息即可很容易的得到当前节点到根节点的存储路径和当前节点的深度。通过叶子节点由下往上依次重采样叶子节点内包含的点集,存储到本节点的点集标识动态数组中,同样也是存储三维空间点的标识信息,直到根节点为止,采样方法采用均匀采样,依此构建基于八叉树的细节层次模型。步骤103,分别以八叉树的各叶子节点的最小外包矩形体为K-D树的根节点最小外包矩形体,以所述八叉树叶子节点内包含的海量点集作为预剖分点集;计算所述K-D树根节点最小外包矩形体的最长轴,并将此最长轴作为K-D树的剖分轴,以此最长轴作为剖分平面的法向将K-D树的根节点的最小外包矩形体一分为ニ ;计算剖分后两个节点的最小外包矩形体并分配三维点,更新海量点集。本步骤中,以各八叉树叶子节点的最小外包矩形体MBB作为K-D树的根节点的最小外包矩形体MBB,以各八叉树叶子节点内包含的点集{P}作为预剖分点集,计算K-D树根节点的最小外包矩形体MBB的最长轴,并以此最长轴作为K-D树的剖分轴,以此最长轴作为剖分平面的法向将K-D树的根节点的最小外包矩形体一分为ニ;之后,计算剖分后两个节点的最小外包矩形体并分配三维点,更新并获得新的海量点集{P}。对于此更新后的点集{P},若该点集{P}为无效点集,则返回一个空的K-D树,即 所述八叉树的叶子节点内构建的K-D树内容为空;若更新后的点集{P}中三维点的总数小于ー个预定值,则返回执行在下一个叶子节点中继续构建K-D树;否则,也即更新后的点集{P}内三维点的总数大于ー个预定值时,需要对前述的最长轴进行继续剖分,待重新进行剖分后,再次进行上述对更新后的点集{P}的判断过程。步骤四,分别以X轴、Y轴、Z轴为法向平面,将前述更新后的海量点集剖分为两个集合,并在该两个集合中构建K-D树。本步骤中,以X轴为法向平面将前述更新后的点集{P}剖分为两个集合,设左集合为P1,右集合为P2;同样,以Y轴为法向平面将前述更新后的点集{P}剖分为两个集合,也设左集合为P1,右集合为P2 ;以Z轴为法向平面将前述更新后的点集{P}剖分为两个集合,也设左集合为P1,右集合为P2。所述Pl点集中所有点的X/Y/Z坐标均小于等于划分平面的X/Y/Z坐标,而所述点集P2中所有点的X/Y/Z坐标均大于划分平面的X/Y/Z坐标。之后,在所述两个集合PI、P2中执行构建K-D树。本发明所述的面向海量激光雷达点云模型的三维空间索引方法,是在读取完毕点云模型的三维空间点数据之后就执行并完成的。待此三维空间索引构建完成后,所述点云模型在逻辑概念和物理概念上均转变为两部分表达,一部分为该点云模型的三维空间点数据的坐标数据和对应的属性数据,而另一部分则是本发明所提出的混合三维空间索引的数据。这两部分数据均需从计算机内存转换为ニ进制流存储到计算机的外存或数据库管理系统,因此,各自需要以不同的方式进行组织。所述三维空间点坐标数据和对应的属性数据在计算机内存中是以三维点结构体动态数组的方式存储的,其数据格式比较规则。该三维点结构体中存储ID标识符、三维坐标值和RGB纹理值等,其中三维坐标值均以浮点型表达,ID标识符以I个无符号整形表达,3个RGB纹理值均以ー个字节型表达,因此ー个空间点共需要3*4+4+3*1 = 19个字节来存储。由于海量点云模型表达的现实场景往往较大,经空间索引剖分的单个MBB中存储的点数据个数与空间分布长度通常不能确定大小,因此不能采用基于空间范围的数据压缩算法来压缩点云模型的空间点数据。将点云模型的全部空间点数据以19个字节为一段连续存储为ニ进制数据流,以数据流为单位在不同计算机内外存和数据库管理系统中进行数据的传输与调度。
对于三维空间索引数据的组织而言,索引所构建而成的树的所有节点均不存储真实的点坐标数据,而是只存储姆个点的标识信息,通过点的标识信息从三维空间点坐标数据中找到相应的真实坐标值。本发明所述三维空间索引的八叉树索引部分主要承担多细节层次建模与数据可视化的任务,八叉树的每个节点内均存储有不同分辨率的点集标识信息,以八叉树的深度的不同来表达不同的LOD层次模型,八叉树的深度越深表示LOD级别越高,存储的数据越精细。而K-D树空间索引主要承担海量数据检索的任务,其节点并不都存储点集标识,只是K-D树的叶子节点存储点集,非叶子节点只是作为空间索引的查询通路,并不存储任何数据,降低了点云模型数据存储冗余量,提高了三维空间索引的整体查询效率。将三维空间索引数据按树的前序遍历方式序列化为ニ进制流,分别将树节点中各类数据按其对象大小顺序写入,需要写入某种数据个数的情况需要加入,在恢复三维空间索引时能够预先分配数据存储空间,避免ニ进制数据读取出错。本发明所述基于海量激光雷达点云模型数据的空间索引方法中,在海量点云模型数据读取的同时建立三维空间索引结构树,索引生成速度快,具有快速索引海量点云模型中单点数据的能力,在保证基本绘制质量的前提下达到较高的绘制效率,而且便于邻近点查找,如快速进行k_邻域计算等操作,数据结构简单清晰,具有较强的实用性。同时利用 大型商用数据库来存储数据保证了数据的安全性与并发性,提高了海量空间数据管理的效倉^:。尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
权利要求
1.一种面向海量激光雷达点云模型的三维空间索引方法,其特征在于,包括如下步骤 步骤一,根据原始測量数据构建点云模型海量点集; 步骤ニ,循环计算所述海量点集内三维点坐标信息的最大值及最小值,以构建所述海量点集平行于三坐标轴的最小外包矩形体,并以该最小外包矩形体的顶点坐标为八叉树的根节点,以最小外包矩形体内预定点的八个顶点坐标为八叉树的叶子节点; 步骤三,分别以八叉树的各叶子节点的最小外包矩形体为K-D树的根节点最小外包矩形体,以所述八叉树叶子节点内包含的海量点集作为预剖分点集;计算所述K-D树根节点最小外包矩形体的最长轴,并将此最长轴作为K-D树的剖分轴,以此最长轴作为剖分平面的法向将K-D树的根节点的最小外包矩形体一分为ニ ;计算剖分后两个节点的最小外包矩形体并分配三维点,更新海量点集; 步骤四,分别以X轴、Y轴、Z轴为法向平面,将前述更新后的海量点集剖分为两个集合,并在该两个集合中构建K-D树。
2.如权利要求I所述的三维空间索引方法,其特征在于,所述三维点坐标信息包括三维点坐标值属性。
3.如权利要求2所述的三维空间索引方法,其特征在于,所述三维点坐标信息还包括三维点的标识属性、三维点的纹理属性、以及三维点的语义属性。
4.如权利要求I所述的三维空间索引方法,其特征在于,所述步骤ニ中,分配预定数量的三维点至各个叶子节点。
5.如权利要求4所述的三维空间索引方法,其特征在于,所述步骤ニ中,若所述叶子节点内包含的三维点数量未超过预定阈值,则此叶子节点为不再剖分的叶子节点;若所述叶子节点内包含的三维点数量超过阈值,则继续递归剖分最小外包矩形体,并计算三维点的归属,直至所有三维点分配完毕。
6.如权利要求5所述的三维空间索引方法,其特征在于,所述各叶子节点内只储存三维点预定字节数的标识信息。
7.如权利要求I所述的三维空间索引方法,其特征在于,所述步骤三中,若更新后的海量点集为无效,则返回一个空的K-D树;若更新后的海量点集中三维点的数量小于ー预定值,则返回执行下ー个叶子节点;否则,对该最长轴进行继续剖分。
全文摘要
本发明公开了一种面向海量激光雷达点云模型的三维空间索引方法,针对点云模型数据海量性和高空间分辨率的特征,采用多级混合索引的策略将数据索引到单个空间三维点。针对点云模型的完整性特征,采用八叉树索引从整体点云模型的最小外包矩形体MBB开始不断剖分海量点云,使八叉树索引节点中三维点的分布在空间上较为均衡;针对大规模点云模型的散乱性特征和数据后处理的需要,采用三维K-D树索引单个三维空间点,使快速查询与处理单个点坐标及其属性数据成为可能。在上述集成空间索引构建的基础上,采用三维R树管理三维场景中多个点云模型的MBB,最终形成多级混合空间索引模式。
文档编号G06F17/30GK102682103SQ20121013464
公开日2012年9月19日 申请日期2012年4月28日 优先权日2012年4月28日
发明者王晏民, 郭明 申请人:北京建筑工程学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1