基于分层轮廓的lidar数据城市快速重建方法

文档序号:6397560阅读:122来源:国知局
专利名称:基于分层轮廓的lidar数据城市快速重建方法
技术领域
本发明方法涉及一种基于分层轮廓的LIDAR数据城市快速重建方法;本方法根据国内机载LIDAR数据自身的特点设计,在数据存在点云密度低、点云缺失、点云噪声大、无回波、非正射、航拍图像与点云不匹配的情况下,仍然可以得到高效的效果;本方法可以广泛处理我国目前机载LIDAR数据,采集部分的LIDAR数据可以通过机载三维激光LIDAR获得,采集部分的航拍正射影像可以通过机载高分辨率数码相机获得,处理平台与显示部分可以通过普通PC机完成功能;本方法在数据量大、数据不准确的情况下仍可以快速处理并获得令人接受的效果,应用前景广泛。
背景技术
目前基于机载LIDAR数据的建筑重建技术还处在研究探索阶段,国内外学者提出多种不同的方法,主要包括两大类,一是基于数据驱动的单个建筑精细建模方法;二是基于模型驱动的大规模快速建模方法,但上述两类方法都对LIDAR数据和航拍正射影像质量有较高要求。国内机载LIDAR数据与航拍图像的采集刚刚兴起,目前常用的激光LIDAR系统获得的数据往往存在点云密度低、点云缺失、点云噪声大、无回波、非正射、航拍正射图像与点云数据不匹配的问题,不能满足传统方法对数据高质量的要求。如果选择购买国外价格昂贵的尖端激光LIDAR系统,虽然可能具有较好的效果,但其高昂的费用,让广大国内用户望尘莫及,势必对我国该领域的发展带来阻碍。因此,迫切需要一种能够满足目前国内激光LIDAR系统特点,又能产生令人可以接受效果的城市快速建模方法出现。

发明内容
本发明的目的是根据国内现有机载LIDAR数据与航拍图像技术采集数据质量不高的特点,采用本发明提出的基于分层轮廓的LIDAR数据城市快速重建方法,能够对质量不高的数据进行有效处理,获得比传统方法下更为高效的处理效率与更加精确的结果。本发明提出的基于分层轮廓的LIDAR数据城市快速重建方法,包括数据采集平台、控制与分析平台、结果管理与显示平台、存储设备。数据采集平台采用国内常用的机载激光LIDAR系统获得LIDAR数据,采用机载高分辨率数码相机获得航拍正射影像,将激光LIDAR系统与高分辨率数码相机安置于飞行平台中,并飞行至目标地上空进行数据采集,通过数据解算将数据保存至数据处理平台中。控制与分析平台主要负责对算法涉及到的各个平台的指令发布、数据传输控制与数据分析处理,如:发出指令使采集平台进行数据采集;控制数据存储器读取采集平台采集到的LIDAR数据、高清正射影像数据以及飞行平台POS数据、GPS差分数据;对采集数据进行分析;最后将其传输到结果管理与显示平台。数据处理平台的基本分析处理功能包括:从存储设备读取数据的操作;去除墙壁点的操作,因为墙壁点常出现在质量较差的数据源中;标记阶跃点的操作,对满足阈值的点云进行标记,可以得到代表房屋边缘的点;分离地面点的操作,用于生成地面种子点,进而生成地面云团,从而实现地面的分离;点云分割的操作,对去掉了墙壁点的非地面云团进行区域生长,使不同高度的屋顶云团分离;去植被点的操作,用于将阶跃点中可能存在的植被点去除;点云沉降操作,用于解决点云密度不够产生的建筑物部件分离的情况;进行轮廓提取的操作,以获得清晰的城市建筑物轮廓边集;轮廓平滑的操作,目的是降低边上的扰动同时又尽量使拐角不至变得过钝;轮廓规则化的操作,将平滑过后变圆的边角变成规则的锐角;建立顶面的操作,用以获得建筑物的顶部并进行渲染;生成墙壁面的操作,用于生成建筑物多边形周围的墙壁面;纹理映射操作,用于对墙壁面映射对应的正确纹理。结果管理与显示平台主要负责将数据处理部分生成的结果有效管理与快速显示,该部分从程序上分为两部分:使用一棵四叉树管理所有建筑,以进行隐藏建筑的剔除;使用另一棵四叉树管理DEM,可以用于实现地形LOD和隐藏地形块的剔除。本发明方法的设备和步骤如下:1.所需设备:一个数据采集平台包括一个机载三维激光LIDAR系统(本发明采用的是ALS50-1I机载激光LIDAR系统)、一个机载高清数码相机(本发明采用的是徕卡RCD105-60型高分辨率数码相机)、一个飞行平台搭载差分GPS模块、测距单元、INS模块(本发明采用的是运5-B固定翼飞行平台);一个控制与分析平台(本发明采用的是普通PC机);结果管理与显示平台;数据存储装置。2.实现步骤:A:当飞行那个平台进入目标飞行轨迹,控制与分析平台发出指令,飞行平台开始获取当前飞行平台所在位置的差分GPS数据与机载POS数据,同时,控制与分析平台控制数据采集平台上的激光LIDAR系统、高清数码相机工作获取地表LIDAR点云数据与高清航拍正射影像,并将上述两种数据存储到存储器中,具体步骤如下:AOl:开始,控制与分析平台发出初始化指令,初始化激光LIDAR系统、高清数码相机、GPS模块,获取测试区域坐标;A02:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出起始获取数据指令,开始获取激光LIDAR数据并存储到存储器,开始获取高清航拍影像并存储到存储器,估计GPS差分数据并存储到存储器,获取机载POS数据并存储到存储器;A03:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出结束获取数据指令,停止激光LIDAR系统、高清数码相机、GPS模块的工作,结束存储操作;B:控制与分析平台对采集平台存储的数据进行分析,最后将分析结果保存到结果管理与显示平台,具体步骤如下:BOl:执行从存储设备读取LIDAR系统点云数据的操作,读入点云数据Points_cloud,数据中Z表高度,读取时转化为Y表高度;B02:执行去墙壁点操作,迭代判断非地面云团的所有点V,通过索引网格获得与V距离不超过r的所有点(V本身除外)保存至nearList,求nearList中所有点最大高度hmax和最小高度hmin,将hmax和hmin相减得到的值dh作为判断其它点是否为墙壁点的阈值,如果一个点值大于hmax或者该点与地面的高度差大于dh,则认为该点为一个墙壁点,将该点去除;B03:执行标记阶跃点的操作,对于所有剩余的点,计算其半径为r的邻域内各点的最大高度差,如果差值大于设定阈值,则认为此点为阶跃点,将其标记为阶跃点cloud.jump ;B04:执行分离地面点操作,将测量区域划分成尺寸为L*L的方格,在每个方格范围中取最低点作为地面种子点,以种子点周围非阶跃点作为连通条件进行区域生长,得到连通分支branch,将branch保存到branchLi st,接下来对地面云团建立矩形网并进行平滑得到数字地形模型(Digital Terrain Model,简称DTM),非地面云团留待后续步骤处理;B05:执行点云分割操作,非地面云团进行区域生长,生长的条件为非地面云团中的两个任一点 V’ I 和 V’ 2 连通且满足 V’ l[X]-v’ 2[X])~2+(k(v’ l[Y]-v’ 2[Y])~2+(v’ 1[Z]-ν’ 2[Ζ]Γ2 <= (Γ2,k为放大倍数,d为连通距离阈值,k和d在方法的初始化过程中设定;B06:执行去植被点操作,迭代判断所有云团中的标记阶跃点,统计以某一阶跃点cloud, jump为圆心r为半径的圆内阶跃点的百分比rate,如果rate大于rate_threshoId,则继续扩大r,直到扩大r达到r_max为止;如果在扩大的过程中rate小于rate_threshold,则认为该圆内的区域不是植被圆,圆内的点不是植被点,否则,圆内的所有阶跃点被标记为植被点;B07:执行点云沉降操作,计算各云团内的点平均高度avrgH,将各云团按avrgH由大到小排序,判断是否存在拥有较大avrgH的云团的平面映射投影与拥有较小avrgH的云团的平面映射投影发生联通的情况,如果存在联通的情况,则将重合区域的较高avrgH的云团的值,加入到较低云团中去,更新矩形区域;B08:执行提取轮廓操作,点云进行Delaunay三角剖分,得到三角网patch,删除patch中含有过长边的三角形 ,递归遍历三角网探寻轮廓边,得到轮廓边集,对轮廓边进行连接得到轮廓多边形,将各轮廓多边形中各顶点Y值置为O ;B09:计算最小包围矩形,求当前点云数据在XZ平面上投影的最小包围矩形并存储,由于点云数据的最小包围矩形与点云数据的轮廓多边形polygenList的最小包围矩形相同,而polygenList点数少得多,所以对polygenList求最小包围矩形;BlO:计算云团地面最低高度和云团平均高度,对点云数据中每个点Vi求其落在地面矩形网格中的哪个格,获得此格的高度hi,求所有hi的最小值minH,将minH保存到点云数据中;Bll:执行轮廓平滑操作,首先,进行轻度平滑;然后,标记两级角点,非常尖锐的角点标记为coreCornerPoint, coreCornerPoint之外的普通角点标记为cornerPoint ;第三,进行初次保护性平滑,对于coreCornerPoint, cornerPoint和非角点三类点给予不同的权重,对coreCornerPoint给予非常大的权重,使其在平滑过程中基本保持不动,对cornerPoint给予中等权重,使其在平滑过程中只有较小的移动,对于非角点给予非常小的权重,使其在平滑过程中有较大移动;然后,重新标记两级角点;然后,再次进行保护性平滑;最后,删除非角点再重生非角点;B12:执行建立顶面操作,首先,对处理后的云数据生成矩形网格,每一个网格称作一个cell,每一个cell的中心点V的高度值等于落入此格的所有点的高度值的平均值;然后,将四角顶点和中心点都落在cloud polygenList外部的cell标记为empty = true,将四角顶点和中心点都落在cloud.polygenList内部的cell标记为empty = false,将四角顶点和中心点都落在cloud.polygenList内部也有落在cloud.polygenList外部的cell标记为needcut ;然后,调整各边界点的高度,各cell的八个边界点cell, vup、cell, vdn、cell, vlt、cell, vrt、cell, vlup、cell, vldn、cell, vrup、cell, vrdn 的高度的计算方法为:cell, vup = (upcell.v+cell.v)/2 ;cell, vdn = (dncell.v+cell.v)/2 ;cell, vlt = (ltcell.vdn+cell.v)/2 ;cell, vrt = (cell, v+rtcell.v)/2 ;cell, vlup = (ltcell.vup+cell.vup+upcell.vlt+cell.vlt)/4 ;cell, vldn = (ltcell.vdn+cell.vdn+cell.vlt+dncell.vlt)/4 ;cell, vrup = (cell, vup+rtcell.vup+upcell.vrt+cell.vrt)/4 ;cell, vrdn = (cell, vdn+dncell.vdn+cell.vrt+dncell.vrt)/4 ;然后,计算每个cell 的法向量 norml、norm2、norm2、norm4、norm5,其中 norml、norm2> norm2、norm4为一个矩形被分为四个cell后对应的法向量,norm5为平均法向量;如果一个 cell 的 norm
, norm [I], norm [2], norm [3]差别较大,说明此 cell 是一个角点cell,差别可用各norm[i]与avrgnorm夹角正弦的均方根来度量,即D =sqrt ((1/4)* Σ I cross (norm[i], avrgnorm) Γ2),如果 D 大于一定阈值,则认为是角点cell ;如果一个cell的周围八个格的avrgnorm与cell, avrgnorm夹角正弦的均方根大于一定阈值,则认为是粗糙 角点;对各cell的中心点V进行加权平均平滑,重新调整各格边界点高度,重新计算各格法向量(norml、norm2、norm3、norm4及avrgnorm);将每个needcut的cell都分解为两个三角形polygen,然后存到cell.polygenList中;B13:执行生成墙面壁操作,将cloud.polygenList用作上轮廓多边形,再用另一个域cloud.polygenList_dn作为下轮廓多边形,对上轮廓多边形polygenList,只须调整其中各顶点V的Y值,使其与(v[X],v[Z])处的屋顶cell高度相同,对下轮廓多边形polygenList_dn,首先通过拷贝polygenList得到polygenList_dn,然后再对polygenList_dn 中各点 V 的 Y 值进行调整,得到了 polygenList 和 polygenList_dn 后,将对应点连成四边形;B14:执行生成纹理映射操作,控制与分析平台发出指令,获取存储器的航拍正射影像image,对于顶面纹理,如果点云区域与航拍正射影像区域正好匹配,则点V的纹理坐标u的计算公式:u
= (V [X] -xmin) / (xmax-xmin);u[I] = (V[Z]—zmin)/(zmax-zmin);其中xmin, xmax, zmin, zmax为点云范围;对于侧面纹理,找出墙壁图片对侧面进行纹理映射;C:对数据分析平台进行有效整理并快速浏览,具体步骤如下:COl:执行生成顶面多级多细节层次(Levels of Detail,以下约定为L0D)的操作,本方法共生成二级L0D,第一级LOD为建顶面直接行到的顶面网格,在第二级LOD中,格子尺寸是第一级LOD的四倍,但边缘处的碎片多边形与第一级LOD中相同,因此在边缘碎片多边形与内部网格之间由于分辨率不同会产生裂缝,需要修补;C02:构建一颗四叉树,对整个场景区域建立一棵四叉树,将所有建筑分装到四叉树的叶子节点中去。在后面渲染场景的时候,判断哪些叶子节点是可见(与视截体相交)的,只渲染这些叶子节点中的建筑,为了防止将同一个建筑渲染多遍,设置一个drawed标记,在准备绘制某个建筑前先判断drawed标记是否为true,若为true则说明已画过,跳过;若为false,则说明未画过,绘制此建筑并置其drawed标记为true ;C03:构建地形四叉树,随机生成一个曲面,并显示。有益效果本发明为一种基于分层轮廓的LIDAR数据城市快速重建方法,针对国内机载LIDAR数据普遍精度低、噪声大、点云密度低的问题,本发明中的点云沉降操作、主云团部件一致性操作和使用局部与主方向相结合的轮廓规则化等处理流程可有效避免传统方法在处理低质量数据时产生的多种问题。本发明在数据精度低的情况下仍然得到令人可以接受的结果,同时本方法可快速处理大规模数据,具有很高的实用性。


图1为系统各平台结构示意图;图2为本发明方法的流程图;图3具体方法实施地点的测区划分图;图4目标测量地区采集到的LIDAR点云数据示意图;图5建立顶面后的效果示意图;图6最终结果示意具体实施例方式具体实施方式
以一次本方法在吉林省长春市吉林大学上空实施过程为例。由图2所示的方法实施流程分为三部分,图3为测试时具体测区划分图。A部分,采集测量区域的测量数据,包括初始化平台上的设备,发出测量指令。首先,获得该测量区域的四个坐标位置,初始化初始化激光LIDAR系统、高清数码相机、GPS差分模块;然后,当飞行平台进入测量区域上空的预定航线后,控制与分析平台发出开始测量指令,激光LIDAR系统、高清数码相机、GPS模块开始测量,将获取到的数据存储到存储器中,图4为采集到的目标测量地区LIDAR点云数据,颜色随着高度的增加而加深;然后,当飞行平台测量完毕飞离测量区域上空预定航线,控制与分析平台发出终止指令,停止激光LIDAR系统、高清数码相机、GPS模块、INS模块的工作。B部分,控制与分析平台读取存储器中的点云数据、高清航拍数据、GPS数据等,首先,进行点云去噪等一系列预处理工作,包括:去墙壁点操作、标记阶跃点的操作、分离地面点操作、点云分割操作、去植被点操作,以去除低质量数据中的大量噪声点、错误点;其次,对点云数据进行冗余性增强操作并初步生成城市的基本轮廓,包括:点云沉降操作、提取轮廓操作、计算最小包围矩形、计算云团地面高度和平均高度、执行轮廓平滑操作;最后,进行建顶面操作、生成墙壁操作与纹理映射操作。C部分,建立二级LOD以及构建四叉树实现对已经生成的地面模型的有效管理与快速显示。
权利要求
1.关于分层轮廓的LIDAR数据城市快速重建方法所用设备由一个数据采集平台、一个飞行平台、一个控制与分析平台、一个结果管理与显示平台、一个数据存储装置组成,数据采集平台采用ALS50-1I机载激光LIDAR系统、徕卡RCD105-60型高分辨率数码相机和GPS定位模块,控制与分析平台和结果管理与显示平台采用普通PC机,数据存储装置采用PC机的硬盘;其特征在于,实现步骤如下: A:当飞行那个平台进入目标飞行轨迹,控制与分析平台发出指令,飞行平台开始获取当前飞行平台所在位置的差分GPS数据与机载POS数据,同时,控制与分析平台控制数据采集平台上的激光LIDAR系统、高清数码相机工作获取地表LIDAR点云数据与高清航拍正射影像,并将上述两种数据存储到存储器中,具体步骤如下: AOl:开始,控制与分析平台发出初始化指令,初始化激光LIDAR系统、高清数码相机、GPS模块,获取测试区域坐标; A02:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出起始获取数据指令,开始获取激光LIDAR数据并存储到存储器,开始获取高清航拍影像并存储到存储器,估计GPS差分数据并存储到存储器,获取机载POS数据并存储到存储器; A03:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出结束获取数据指令,停止激光LIDAR系统、高清数码相机、GPS模块的工作,结束存储操作; B:控制与分析平台对采集平台存储的数据进行分析,最后将分析结果保存到结果管理与显示平台,具体步骤如下: BOl:执行从存储设备读取LIDAR系统点云数据的操作,读入点云数据PointS_Cloud,数据中Z表高度,读取时转化为Y表高度; B02:执行去墙壁点操作,迭代判断非地面云团的所有点V,通过索引网格获得与V距离不超过r的所有点(V本身除外)保存至nearList,求nearList中所有点最大高度hmax和最小高度hmin,将hmax和hmin相减得到的值dh作为判断其它点是否为墙壁点的阈值,如果一个点值大于hmax或者该点与地面的高度差大于dh,则认为该点为一个墙壁点,将该点去除; B03:执行标记阶跃点的操作,对于所有剩余的点,计算其半径为r的邻域内各点的最大高度差,如果差值大于设定阈值,则认为此点为阶跃点,将其标记为阶跃点cloud, jump ;B04:执行分离地面点操作,将测量区域划分成尺寸为L*L的方格,在每个方格范围中取最低点作为地面种子点,以种子点周围非阶跃点作为连通条件进行区域生长,得到连通分支branch,将branch保存到branchList,接下来对地面云团建立矩形网并进行平滑得到数字地形模型(Digital Terrain Model,简称DTM),非地面云团留待后续步骤处理; B05:执行点云分割操作,非地面云团进行区域生长,生长的条件为非地面云团中的两个任一点v’l和<2连通且满足<1[幻1’2[幻)~2+&卜’1[幻1’2[幻)~2+卜’1[2]1’2[Ζ]Γ2 <= (Γ2,k为放大倍数,d为连通距离阈值,k和d在方法的初始化过程中设定;B06:执行去植被点操作,迭代判断所有云团中的标记阶跃点,统计以某一阶跃点cloud, jump为圆心r为半径的圆内阶跃点的百分比rate,如果rate大于rate_threshold,则继续扩大r,直到扩大r达到r_max为止;如果在扩大的过程中rate小于rate_threshold,则认为该圆内的区域不是植被圆,圆内的点不是植被点,否则,圆内的所有阶跃点被标记为植被点;B07:执行点云沉降操作,计算各云团内的点平均高度avrgH,将各云团按avrgH由大到小排序,判断是否存在拥有较大avrgH的云团的平面映射投影与拥有较小avrgH的云团的平面映射投影发生联通的情况,如果存在联通的情况,则将重合区域的较高avrgH的云团的值,加入到较低云团中去,更新矩形区域; B08:执行提取轮廓操作,点云进行Delaunay三角剖分,得到三角网patch,删除patch中含有过长边的三角形,递归遍历三角网探寻轮廓边,得到轮廓边集,对轮廓边进行连接得到轮廓多边形,将各轮廓多边形中各顶点Y值置为O; B09:计算最小包围矩形,求当前点云数据在XZ平面上投影的最小包围矩形并存储,由于点云数据的最小包围矩形与点云数据的轮廓多边形polygenList的最小包围矩形相同,而polygenList点数少得多,所以对polygenList求最小包围矩形; BlO:计算云团地面最 低高度和云团平均高度,对点云数据中每个点vi求其落在地面矩形网格中的哪个格,获得此格的高度hi,求所有hi的最小值minH,将minH保存到点云数据中; Bll:执行轮廓平滑操作,首先,进行轻度平滑;然后,标记两级角点,非常尖锐的角点标记为coreCornerPoint, coreCornerPoint之外的普通角点标记为cornerPoint ;第三,进行初次保护性平滑,对于coreCornerPoint, cornerPoint和非角点三类点给予不同的权重,对coreCornerPoint给予非常大的权重,使其在平滑过程中基本保持不动,对cornerPoint给予中等权重,使其在平滑过程中只有较小的移动,对于非角点给予非常小的权重,使其在平滑过程中有较大移动;然后,重新标记两级角点;然后,再次进行保护性平滑;最后,删除非角点再重生非角点; B12:执行建立顶面操作,首先,对处理后的云数据生成矩形网格,每一个网格称作一个cell,每一个cell的中心点V的高度值等于落入此格的所有点的高度值的平均值;然后,将四角顶点和中心点都落在cloud polygenList外部的cell标记为empty = true,将四角顶点和中心点都落在cloud.polygenList内部的cell标记为empty = false,将四角顶点和中心点都落在cloud.polygenList内部也有落在cloud.polygenList外部的cell标记为needcut ;然后,调整各边界点的高度,各cell的八个边界点cell.vup、cell.vdn、cell.vlt、cell, vrt、cell, vlup、cell, vldn、cell, vrup、cell, vrdn 的高度的计算方法为:cell, vup = (upcell.v+cell.v)/2 ;cell, vdn = (dncell.v+cell.v)/2 ;cell, vlt = (ltcell.vdn+cell.v)/2 ;cell, vrt = (cell, v+rtcell.v)/2 ;cell, vlup = (ltcell.vup+cell.vup+upcell.vlt+cell.vlt)/4 ;cell, vldn = (ltcell.vdn+cell.vdn+cell.vlt+dncell.vlt)/4 ;cell, vrup = (cell, vup+rtcell.vup+upcell.vrt+cell.vrt)/4 ;cell.vrdn = (cell, vdn+dncell.vdn+cell.vrt+dncell.vrt)/4 ; 然后,计算每个 cell 的法向量 norml、norm2、norm2、norm4、norm5,其中 norml、norm2> norm2、norm4为一个矩形被分为四个cell后对应的法向量,norm5为平均法向量;如果一个 cell 的 norm
, norm [I], norm [2], norm [3]差别较大,说明此 cell 是一个角点cell,差别可用各norm[i]与avrgnorm夹角正弦的均方根来度量,即D =sqrt ((1/4) * Σ I cross (norm[i], avrgnorm) "2),如果 D 大于一定阈值,则认为是角点cell ;如果一个cell的周围八个格的avrgnorm与cell, avrgnorm夹角正弦的均方根大于一定阈值,则认为是粗糙角点;对各cell的中心点V进行加权平均平滑,重新调整各格边界点高度,重新计算各格法向量(norml、norm2、norm3、norm4及avrgnorm);将每个needcut的cell都分解为两个三角形polygen,然后存到cell.polygenList中; B13:执行生成墙面壁操作,将cloud.polygenList用作上轮廓多边形,再用另一个域cloud.polygenList_dn作为下轮廓多边形,对上轮廓多边形polygenList,只须调整其中各顶点V的Y值,使其与(v[X],v[Z])处的屋顶cell高度相同,对下轮廓多边形polygenList_dn,首先通过拷贝polygenList得到polygenList_dn,然后再对polygenList_dn 中各点 V 的 Y 值进行调整,得到了 polygenList 和 polygenList_dn 后,将对应点连成四边形; B14:执行生成纹理映射操作,控制与分析平台发出指令,获取存储器的航拍正射影像image,对于顶面纹理,如果点云区域与航拍正射影像区域正好匹配,则点V的纹理坐标u的计算公式:u[O] = (V[X]-xmin)/(xmax-xmin);u[I] = (V[Z]-zmin)/(zmax-zmin); 其中xmin, xmax, zmin, zmax为点云范围;对于侧面纹理,找出墙壁图片对侧面进行纹理映射; C:对数据分析平台进行有效整理并快速浏览,具体步骤如下: COl:执行生成顶面多级多细节层次(Levels of Detail,以下约定为LOD)的操作,本方法共生成二级L0D,第一级LOD为建顶面直接行到的顶面网格,在第二级LOD中,格子尺寸是第一级LOD的四倍,但边缘处的 碎片多边形与第一级LOD中相同,因此在边缘碎片多边形与内部网格之间由于分辨率不同会产生裂缝,需要修补; C02:构建一颗四叉树,对整个场景区域建立一棵四叉树,将所有建筑分装到四叉树的叶子节点中去。在后面渲染场景的时候,判断哪些叶子节点是可见(与视截体相交)的,只渲染这些叶子节点中的建筑,为了防止将同一个建筑渲染多遍,设置一个drawed标记,在准备绘制某个建筑前先判断drawed标记是否为true,若为true则说明已画过,跳过;若为false,则说明未画过,绘制此建筑并置其drawed标记为true ; C03:构建地形四叉树,随机生成一个曲面,并显示。
全文摘要
本发明涉及一种基于分层轮廓的LIDAR数据城市快速重建方法;本方法根据国内机载LIDAR数据自身的特点设计,在数据存在点云密度低、点云缺失、点云噪声大、无回波、非正射、航拍图像与点云不匹配的情况下,仍然可以得到高效的效果;本方法可以广泛处理我国目前机载LIDAR数据,采集部分的LIDAR数据可以通过机载三维激光LIDAR获得,采集部分的航拍正射影像可以通过机载高分辨率数码相机获得,处理平台与显示部分可以通过普通PC机完成功能;本方法在数据量大、数据不准确的情况下仍可以快速处理并获得令人接受的效果,应用前景广泛。
文档编号G06T17/00GK103093497SQ20131000607
公开日2013年5月8日 申请日期2013年1月9日 优先权日2013年1月9日
发明者李慧盈, 傅博, 李文辉, 张振花 申请人:吉林大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1