当前位置: 首页 > 专利查询>武汉大学专利>正文

一种基于四叉树索引的海量激光扫描点云实时绘制方法技术

技术编号:4065404 阅读:583 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种基于四叉树索引的海量机载激光扫描点云实时绘制方法,对原始的激光点云数据建立四叉树索引,并对四叉树索引进行序列化,利用建立的四叉树索引,对海量激光点云进行快速视场裁剪,并通过点云绘制时的绘制细节控制和绘制时间控制,实现海量点云的实时高质量绘制。

【技术实现步骤摘要】

本专利技术涉及海量激光扫描点云数据绘制技术,尤其是建立高效四叉树索引,并基 于该索引结构的海量激光扫描点云实时绘制方法。
技术介绍
机载激光扫描(Light Detection And Ranging以下简称LiDAR)是集激光测距、 全球定位以及惯性导航技术于一体的新型空间测量技术。该技术能够快速获取探测目标高 精度的三维坐标,具有广泛的应用前景。当前LiDAR扫描频率已普遍达到IOOKHz以上,每 次飞行采集的数据量非常巨大。由于计算机内存大小以及显卡渲染速度的制约,对于海量 点云数据的可视化还是一个非常复杂、有待解决的问题。为了实现海量LiDAR点云的实时 显示和动态漫游,研究LiDAR点云的索引组织方式,以及实时绘制方法具有重要的意义和 价值。目前对于激光点云的绘制,在实际应用中常采用抽稀的方式进行处理。例如 TerraScan和PointVue LE等软件,都需要设定最大绘制点数,以此来对点云进行抽稀,仅 对抽稀后的点进行绘制。这种方法实现简单,不需要对数据进行预处理,但并没有真正解决 海量点云实时绘制的问题。LiDAR点云在数据量增大的同时,也提供了更多的细节信息,采 用抽稀显示的处理方法,为了保证显示的流畅性,必须随着点云数据量的增加提高抽稀比 例,这样必定会造成细节信息的丢失,在进行放大显示时,丢失细节的现象就更为明显。为了实现海量LiDAR点云的高效绘制,需要在绘制时采用可见性剔除和层次细节 (Level Of Detail以下缩写为L0D)技术。LiDAR点云是非结构化的离散点云,分布不均勻, 要实现LiDAR点云的快速可视性剔除和L0D,必须对点云建立索引。支晓栋等在论文《基于 改进四叉树的LiDAR点云数据组织研究》中采用四叉树来建立点云索引,并对索引方法和 索引效率进行了分析,但没有在此基础上进一步解决海量LiDAR点云的绘制问题,黄先锋 等在论文《机载激光雷达点云数据的实时渲染》中提出一种顺序四叉树的索引结构,利用四 叉树的每一层节点来存储点云,并将点云数据顺序组织,以方便的将点云数据整块加载到 图形处理器(Graphic Processing Unit以下缩写为GPU)中进行绘制。但该方法不是将点 云数据全部存储在四叉树的叶子节点上,在进行数据裁剪时,为了保证获得完整的裁剪数 据,必须将落入裁剪框的四叉树节点从根节点开始逐层向下全部裁剪出来,这种方式会造 成大量的数据冗余,当裁剪框减小时,裁剪效率下降得更加明显。Rusinkiewicz等在论文 《QSplat :AMultiresolution Point Rendering System for Large Meshes》中运用点模型 来表达复杂的几何体,并开发出了 QSplat (软件名称)的点绘制技术。但他们所采用的点 模型实际上是小的面片,通过考虑面片的遮挡关系来实现点模型的约简,且其建立的索引 也不适合处理LiDAR点云。
技术实现思路
本专利技术的目的在于针对目前LiDAR点云数据量巨大的特点,提出了一种点云四5叉树索引快速建立方法,并基于该索引结构实现海量点云的实时高质量绘制。本专利技术所采用的技术方案是一种基于四叉树索引的海量机载激光扫描点云实时 绘制方法,包括以下步骤步骤1,对原始的激光点云数据建立四叉树索引,具体包括以下步骤,步骤1. 1,根据激光点云数据包围盒范围和总点数,计算激光点云数据的平均点密 度;所述激光点云数据包围盒范围采用激光点云数据的包围盒的长度length和宽度width 标记,总点数记为ptNum,激光点云数据的平均点密度density按公式(1)算得; 步骤1. 2,根据激光点云数据包围盒的长度length、宽度width以及步骤1. 1所得 平均点密度density,计算激光点云数据分块的长度1和宽度w,以及四叉树深度cbpth其 中 IXwXdensity ^ max_ptNum(3)即预先设定阈值maX_ptNum,每一个激光点云数据分块中的激光点总点数 IXwXdensity 不能超过阈值 max_ptNum ;步骤1. 3,利用步骤1. 2所得激光点云数据分块的长度1和宽度w对激光点云数据 进行网格分块,得到多个激光点云数据分块;所述网络分块的实现方式为,设激光点云数据中某个激光点的坐标为(x,y,z),整 个激光点云数据的包围盒左下角坐标为(bbmin_x,bbmin_y),则根据公式(4)计算出每个 激光点所属的分块号,其中col_No为分块的列号,row_No为分块的行号,col_No = (x-bbmin_x)/wrow_No = (y-bbmin_y)/1(4)步骤1. 4,首先,根据步骤1. 2所得四叉树深度cbpth建立四叉树索引,将每一个 激光点云数据分块对应四叉树最底层的一个叶节点,叶节点的指针指向对应激光点云数据 分块所含激光点的真实存储位置;每个激光点云数据分块都是一个长度为1、宽度为w的矩 形,计算出矩形的外接圆圆心(cell_x,cell_y)和半径cell_r分别作为对应叶子节点的圆 心和半径,并将激光点云分块中的点数Cell_ptNum记入相应叶子节点中;从最底层的叶子 节点开始逐层向上建立父节点,直到四叉树的根节点时完成四叉树的建立;每个父节点所 对应圆的圆心和半径是其所有子节点的外接圆圆心和半径,所包含的激光点数是其子节点 中的激光点数之和;步骤1. 5,将步骤1. 4中建立的四叉树索引补充为一棵完全的四叉树,将四叉树中 不包含激光点云数据的节点标记为dummy ;步骤2,利用步骤1所得四叉树索引对激光点云数据进行绘制,具体包括以下步 骤,步骤2. 1,利用四叉树索引实现对激光点云数据的快速视场裁剪,实现方式为在进行点云数据绘制时,只对落入显示区域内的激光点云数据进行绘制,即利用显示区域的 包围盒对四叉树索引进行裁剪,裁剪方法是用四叉树中节点的圆心和半径构成的圆与裁剪 框进行相交判断,如果圆在裁剪框内或与裁剪框相交,则表示该节点所包含的激光点数据 全部或部分位于显示区域内;如果圆在裁剪框外,则表示该节点包含的激光点数据在显示 区域外;裁剪时从根节点开始,如果节点标记为dummy或节点在裁剪框外,则直接跳过该节 点;如果节点在裁剪框内,则继续对该节点的子节点进行裁剪直到最底层的叶节点,得到落 入裁剪框的所有节点;步骤2. 2,在绘制细节控制下对步骤2. 1所得剪裁结果进行实时绘制,实现方式如 下,首先,根据叶节点的半径cell_r,按公式(5)计算出叶节点投影到屏幕上的半径Rscreen = eell_r X scale(6)其中,scale为投影转换的尺度参数,由当前裁剪框范围与在屏幕上的显示窗口大 小计算得到;设裁剪框的长度为clipping_len,显示窗口长度为viewportjen,按公式(7) 计算scale,scale = viewport_len/clipping_len(8)然后,根据裁剪得到的叶节点得到对应的激光点云数据分块,采用视觉感知驱动 的最优细节层次自动确定方法,计算出每个点云分块应绘制激光点总数draw_nUm,实现方 法为,设在屏幕上绘制的最小目标半径为miruradius,min_radius根据具体显本文档来自技高网
...

【技术保护点】
一种基于四叉树索引的海量机载激光扫描点云实时绘制方法,其特征在于,包括以下步骤:步骤1,对原始的激光点云数据建立四叉树索引,具体包括以下步骤,步骤1.1,根据激光点云数据包围盒范围和总点数,计算激光点云数据的平均点密度;所述激光点云数据包围盒范围采用激光点云数据的包围盒的长度length和宽度width标记,总点数记为ptNum,激光点云数据的平均点密度density按公式(1)算得;density=ptNum/length×width(1)步骤1.2,根据激光点云数据包围盒节点所包含的激光点数据全部或部分位于显示区域内;如果圆在裁剪框外,则表示该节点包含的激光点数据在显示区域外;裁剪时从根节点开始,如果节点标记为dummy或节点在裁剪框外,则直接跳过该节点;如果节点在裁剪框内,则继续对该节点的子节点进行裁剪直到最底层的叶节点,得到落入裁剪框的所有节点;步骤2.2,在绘制细节控制下对步骤2.1所得剪裁结果进行实时绘制,实现方式如下,首先,根据叶节点的半径cell_r,按公式(5)计算出叶节点投影到屏幕上的半径R↓[screen],R↓[screen]=cell_r×scale(6)其中,scale为投影转换的尺度参数,由当前裁剪框范围与在屏幕上的显示窗口大小计算得到;设裁剪框的长度为clipping_len,显示窗口长度为viewport_len,按公式(7)计算scale,scale=viewport_len/clipping_len(8)然后,根据裁剪得到的叶节点得到对应的激光点云数据分块,采用视觉感知驱动的最优细节层次自动确定方法,计算出每个点云分块应绘制激光点总数draw_num,实现方法为,设在屏幕上绘制的最小目标半径为min_radius,min_radius根据具体显示分辨率设置,按公式(9)计算出为达到最优绘制细节层次,每个分块应绘制激光点总数draw_num,draw_num=R↓[screen]/min_radius(10)最后,逐块绘制与裁剪得到的叶节点对应的激光点云数据分块,如果当前绘制的激光点云数据分块的应绘制激光点数draw_num大于激光点云数据分块中的总点数,则绘制该激光点云数据分块中全部的激光点;如果应绘制激光点总数draw_num小于激光点云数据分块中的总点数,则随机提取该激光点云数据分块中draw_num个激光点进行绘制,绘制方式为遍历提取激光点云数据分块中的点,然后判断该...

【技术特征摘要】

【专利技术属性】
技术研发人员:张靖郭大海江万寿王建超
申请(专利权)人:武汉大学中国国土资源航空物探遥感中心
类型:发明
国别省市:83[中国|武汉]

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

1
相关领域技术
  • 暂无相关专利