[发明专利]基于分层轮廓的LIDAR数据城市快速重建方法无效
申请号: | 201310006074.1 | 申请日: | 2013-01-09 |
公开(公告)号: | CN103093497A | 公开(公告)日: | 2013-05-08 |
发明(设计)人: | 李慧盈;傅博;李文辉;张振花 | 申请(专利权)人: | 吉林大学 |
主分类号: | G06T17/00 | 分类号: | G06T17/00;G06T15/04;G01S17/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 130012 吉林省*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 分层 轮廓 lidar 数据 城市 快速 重建 方法 | ||
1.基于分层轮廓的LIDAR数据城市快速重建方法所用设备由一个数据采集平台、一个飞行平台、一个控制与分析平台、一个结果管理与显示平台、一个数据存储装置组成,数据采集平台采用ALS50-II机载激光LIDAR系统、徕卡RCD105-60型高分辨率数码相机和GPS定位模块,控制与分析平台和结果管理与显示平台采用普通PC机,数据存储装置采用PC机的硬盘;其特征在于,实现步骤如下:
A:当飞行那个平台进入目标飞行轨迹,控制与分析平台发出指令,飞行平台开始获取当前飞行平台所在位置的差分GPS数据与机载POS数据,同时,控制与分析平台控制数据采集平台上的激光LIDAR系统、高清数码相机工作获取地表LIDAR点云数据与高清航拍正射影像,并将上述两种数据存储到存储器中,具体步骤如下:
A01:开始,控制与分析平台发出初始化指令,初始化激光LIDAR系统、高清数码相机、GPS模块,获取测试区域坐标;
A02:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出起始获取数据指令,开始获取激光LIDAR数据并存储到存储器,开始获取高清航拍影像并存储到存储器,估计GPS差分数据并存储到存储器,获取机载POS数据并存储到存储器;
A03:控制与分析平台对激光LIDAR系统、高清数码相机、GPS模块发出结束获取数据指令,停止激光LIDAR系统、高清数码相机、GPS模块的工作,结束存储操作;
B:控制与分析平台对采集平台存储的数据进行分析,最后将分析结果保存到结果管理与显示平台,具体步骤如下:
B01:执行从存储设备读取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’1和v’2连通且满足v’1[X]-v’2[X])^2+(k(v’1[Y]-v’2[Y])^2+(v’1[Z]-v’2[Z])^2<=d^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值置为0;
B09:计算最小包围矩形,求当前点云数据在XZ平面上投影的最小包围矩形并存储,由于点云数据的最小包围矩形与点云数据的轮廓多边形polygenList的最小包围矩形相同,而polygenList点数少得多,所以对polygenList求最小包围矩形;
B10:计算云团地面最低高度和云团平均高度,对点云数据中每个点vi求其落在地面矩形网格中的哪个格,获得此格的高度hi,求所有hi的最小值minH,将minH保存到点云数据中;
B11:执行轮廓平滑操作,首先,进行轻度平滑;然后,标记两级角点,非常尖锐的角点标记为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的法向量norm1、norm2、norm2、norm4、norm5,其中norm1、norm2、norm2、norm4为一个矩形被分为四个cell后对应的法向量,norm5为平均法向量;如果一个cell的norm[0],norm[1],norm[2],norm[3]差别较大,说明此cell是一个角点cell,差别可用各norm[i]与avrgnorm夹角正弦的均方根来度量,即D=sqrt((1/4)*∑|cross(norm[i],avrgnorm)|^2),如果D大于一定阈值,则认为是角点cell;如果一个cell的周围八个格的avrgnorm与cell.avrgnorm夹角正弦的均方根大于一定阈值,则认为是粗糙角点;对各cell的中心点v进行加权平均平滑,重新调整各格边界点高度,重新计算各格法向量(norm1、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[0]=(v[X]-xmin)/(xmax-xmin);
u[1]=(v[Z]-zmin)/(zmax-zmin);
其中xmin,xmax,zmin,zmax为点云范围;对于侧面纹理,找出墙壁图片对侧面进行纹理映射;
C:对数据分析平台进行有效整理并快速浏览,具体步骤如下:
C01:执行生成顶面多级多细节层次(Levels of Detail,以下约定为LOD)的操作,本方法共生成二级LOD,第一级LOD为建顶面直接行到的顶面网格,在第二级LOD中,格子尺寸是第一级LOD的四倍,但边缘处的碎片多边形与第一级LOD中相同,因此在边缘碎片多边形与内部网格之间由于分辨率不同会产生裂缝,需要修补;
C02:构建一颗四叉树,对整个场景区域建立一棵四叉树,将所有建筑分装到四叉树的叶子节点中去。在后面渲染场景的时候,判断哪些叶子节点是可见(与视截体相交)的,只渲染这些叶子节点中的建筑,为了防止将同一个建筑渲染多遍,设置一个drawed标记,在准备绘制某个建筑前先判断drawed标记是否为true,若为true则说明已画过,跳过;若为false,则说明未画过,绘制此建筑并置其drawed标记为true;
C03:构建地形四叉树,随机生成一个曲面,并显示。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于吉林大学,未经吉林大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310006074.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:四辊轧机开坯机导卫底座机构
- 下一篇:一种带通风系统的实验柜