本发明属于机载激光雷达数据处理技术领域,更具体地说,涉及一种基于往期dem(数字高程模型)辅助的tin(不规则三角网)滤波改进算法。
背景技术:
传统的渐进加密不规则三角网滤波算法可以概括为四个步骤:1、对lidar点云数据进规则格网划分,格网尺寸一般要不小于测区内建筑物最大直径;2、选择对每个格网分块中的最低点作为地面点的初始种子点,构建初始地形tin模型;3、根据地面点判断准则,逐点判断余下的数据点是否为地面点,若是地面点则添加到tin模型中,并将数据点标记为地面点;4、迭代进行步骤3,直到没有新的数据点满足地面点判断条件或迭代次数达到限值。渐进加密tin滤波的稳定性和滤波效果都比较好,能够适应相对复杂的地形,滤波效果具有较强的鲁棒性,但初始种子点的选取对滤波结果影响较大,在不同的坡度地形条件下需要输入不同的地面点判断参数才能获得较好的效果。
技术实现要素:
发明目的:针对现有技术存在的上述问题,本发明的目的在于提供一种基于往期dem辅助的tin滤波改进算法,实现往期dem辅助下的lidar点云自适应滤波处理。
技术方案:为了解决上述问题,本发明所采用的技术方案如下:
一种基于往期dem辅助的tin滤波改进算法,包括以下步骤:
(1)通过剔除点云噪声对lidar点云数据进行预处理;
(2)将点云数据按dem地形面约束分为非地面点和待分类点,分别加入非地面点集合vnon-ground和待分类点集合vnon-classfication;
(3)利用dem数据的高程信息,从点云数据中选取准确可信的地面点,加入地面点集合vground;
(4)以步骤(3)所得地面点作为地面种子点构建初始地形tin模型,利用dem数据的坡度信息对地面点判断参数进行优化,再在所述初始地形tin模型的基础上对待分类点集合vnon-classfication进行地面点的判别,并加入地面点集合vground;
(5)利用tin模型对步骤(2)所得非地面点进行分析处理,将非地面点集合vnon-ground中的地形凸起变化区域地面点重新分类到地面点,并加入地面点集合vground。
所述步骤(2)具体为:
(2-1)遍历点云数据中的每一个点,若其不是仅一次回波点或多次回波中的末次回波点,则将该点分类为非地面点,加入非地面点集合vnon-ground,否则保留为待分类点,加入待分类点集合vnon-classfication;
(2-2)遍历步骤(2-1)得到的所述待分类点集合vnon-classfication中的每一个点,计算该点与相同平面坐标位置的dem地形面的高程差;
(2-3)设定高差阈值hthreshold,并判断每一个点与dem的高程差值是否超过阈值,若超过阈值,则判断为待定非地面点,加入非地面点集合vnon-ground,否则保留为待分类点,加入待分类点集合vnon-classfication。
优选的,所述高差阈值hthreshold的设定值为2m。
所述步骤(3)具体为:
(3-1)先对lidar点云数据建立规则格网索引,然后在每个格网内选择高程值最小点作为地面种子点加入地面点集合vground;
(3-2)从dem数据中提取出断裂线区域,将落入断裂线区域的格网划分为更小的格网,再分别在每个小格网内选择高程值最小点作为种子点加入地面点集合vground。
优选的,所述格网的尺寸为5~10m。
所述步骤(4)具体为:
(4-1)以步骤(3)所得地面点作为地面种子点构建初始地形tin模型;
(4-2)遍历所述待分类点集合vnon-classfication中的每一个点,按式1计算该点处的相对地面高度阈值td和地形角阈值tθ,并计算该点与tin模型中所在三角形的相对地面高度d和地形角θ,判断是否满足d<td且θ<tθ,若满足条件,则该点标记为地面点,加入地面点集合vground,插入到tin模型中并更新;
所述式1为
其中,a0、a1、b0、b1分别为常数系数;
(4-3)重复步骤(4-2),直至不再有新的点满足条件。
所述步骤(5)具体为:
(5-1)遍历非地面点集合vnon-ground中的每一个点,计算该点与tin模型中所在三角形的相对地面高度d、地形角θ和最近地面点距离l,判断是否同时满足d<td,θ<tθ,l<tl,若满足条件,则该点标记为地面点,加入地面点集合vground,插入到所述初始地形tin模型中并更新;
其中,
式中,
(5-2)重复步骤(5-1),直到不再有新的点满足条件。
优选的,td<高差阈值hthreshold,tl为格网索引尺寸的2倍。
有益效果:相比于现有技术,本申请的基于往期dem辅助的tin滤波改进算法,往期dem通过历史点云数据生成,利用往期dem数据提取地形高程信息和地形梯度信息辅助,改进渐进加密不规则三角网中初始地面种子点选取方法,优化地面点判断参数,并对往期dem数据和现势lidar点云数据之间的地形变化进行检测和处理,适用于不同坡度地形条件的复杂地形,滤波效果好。整个处理过程中充分利用往期dem数据的有用信息,改进滤波过程,实现往期dem辅助下的无参数自适应的lidar点云滤波处理。
附图说明
图1为非地面点剔除示意图;
图2为种子点选取示意图;
图3为传统选取种子点效果示意图;
图4为改进种子点选取方法效果示意图;
图5为tin滤波地面点判断参数示意图;
图6为地形梯度对地面点判断参数影响示意图;
图7为地形变化区域示意图;
图8为基于区域生长的变化区域地面点探测原理示意图。
具体实施方式
下面结合具体实施例对本发明进一步进行描述。
实施例
一种基于往期dem辅助的tin滤波改进算法,包括以下步骤:
步骤1,通过坐标系统一、点云数据组织和点云噪声剔除对lidar点云数据进行预处理;
步骤2,将点云数据按dem地形面约束分为非地面点和待分类点,分别加入非地面点集合vnon-ground和待分类点集合vnon-classfication;非地面点剔除原理如图1所示,具体处理流程包括:
(2-1)遍历点云数据中的每一个点,若其不是仅一次回波点或多次回波中的末次回波点,则将该点分类为非地面点,加入非地面点集合vnon-ground,否则保留为待分类点,加入待分类点集合vnon-classfication;
(2-2)遍历步骤2-1得到的所述待分类点集合vnon-classfication中的每一个点,计算该点与相同平面坐标位置的dem地形面的高程差;
(2-3)设定高差阈值hthreshold,并判断每一个点与dem的高程差值是否超过阈值,若超过阈值,则判断为待定非地面点,加入粗剔除非地面点集合vnon-ground,否则保留为待分类点,加入待分类点集合vnon-classfication。
高差阈值hthreshold的确定是关键,其应当足够小以确保大面积建筑物屋顶点能够被剔除,但同时也应当保证地面点最大限度得到保留。经过对建筑物屋顶点的高程特点、dem与lidar点云真实地面点高差的分析,将高程阈值hthreshold设定为2m。
步骤3,利用dem数据的高程信息,从点云数据中选取准确可信的地面点,加入地面点集合vground;具体为:
(3-1)先对lidar点云数据建立规则格网索引,然后在每个格网内选择高程值最小点作为地面种子点加入地面点集合vground;
格网尺寸应不小于车辆、低矮植被等近地面地物的尺寸,在本实施例中设置为5~10m;
(3-2)从dem数据中提取出断裂线区域,对落入断裂线区域的格网进行分裂,将原来的一个格网划分为4个尺寸为原来一半的小格网,再分别在每个小格网内选择高程值最小的待处理点作为种子点,并标记种子点为地面点,加入地面点集合vground。
初始地面种子点选取是渐进加密不规则三角网算法的关键。选取出初始地面种子点的目的是为了找到可信度最高的地面点,然后以这些准确可信的地面点作为地面种子点构建初始地形tin模型,再在稀疏tin模型的基础上对其余点进行判别,如图2所示。
初始稀疏地形tin模型的质量好坏与初始地面种子点的准确度、数量及选取区域有关。传统的渐进加密tin滤波算法的种子点选取效果如图3所示,通常是先对lidar点云数据建立规则格网索引,然后在每个格网内选择高程值最小点作为地面种子点。
使用传统方法进行种子点选取时格网尺寸选择是算法效果的关键。如果格网尺寸小于建筑物尺寸,则可能出现落入格网内的点只有建筑物点,从而导致选择建筑物点错误地选为种子点,最后出现建筑物被误分为地面点的情况。如果格网尺寸过大,则可能会因为构建的tin模型太粗糙而导致部分地形细节特征丢失。在dem数据的辅助下,可以对初始地面种子点选取的质量进行改善。由于在非地面点粗剔除中已经利用dem数据剔除了包括建筑物点在内的非地面点,因此这里可以采用较小的格网尺寸,不会出现建筑物点被选入地面种子点的情况,并且可以在保证准确度的同时增加初始种子点的数量。此外,利用dem数据提取断裂线区域,并通过增加断裂线区域种子点,保证地形细节特征,可以提高初始地面种子点的质量。改进种子点选取方法后的种子点选取效果如图4所示,从图中可以看出,种子点选取的数量得到了增加,尤其是在地形起伏较大的陡坎附近种子点更密集,能够保留更准确的地形细节。
步骤4,以步骤3所得地面点作为地面种子点构建初始地形tin模型,利用dem数据的坡度信息对地面点判断参数进行优化,再在所述初始地形tin模型的基础上对待分类点集合vnon-classfication进行地面点的判别,并加入地面点集合vground;具体为:
(4-1)以步骤3所得地面点作为地面种子点构建初始地形tin模型;
(4-2)遍历所述待分类点集合vnon-classfication中的每一个点,按式1计算该点处的相对地面高度阈值td和地形角阈值tθ,并计算该点与tin模型中所在三角形的相对地面高度d和地形角θ,判断是否满足d<td且θ<tθ,若满足条件,则该点标记为地面点,加入地面点集合vground,插入到tin模型中并更新;
所述式1为
其中,a0、a1、b0、b1分别为常数系数;
(4-3)重复步骤4-2,直至不再有新的点满足条件。
地面点判断准则合理有效性对tin滤波算法的滤波质量是至关重要的。经典的tin滤波算法中使用两个参数对点进行判断,即相对地面高度和地形角,如图5所示。设待判断的数据点为p0,其平面坐标位置落在△p1p2p3内,则地面点判断参数分别为:
相对地面高度d,即点p0到三角形△p1p2p3的垂直距离;
地形角θ,p0与△p1p2p3三个顶点的夹角中的最大值。
判定激光数据点为地面点的条件为:
在地形条件不同的区域应选用不同的
步骤5,利用tin模型对步骤2所得非地面点进行分析处理,将非地面点集合vnon-ground中的地形凸起变化区域地面点重新分类到地面点,并加入地面点集合vground。基于区域生长的变化区域地面点探测原理示意图如图8所示,具体的算法流程如下:
(5-1)遍历非地面点集合vnon-ground中的每一个点,计算该点与tin模型中所在三角形的相对地面高度d、地形角θ和最近地面点距离l,判断是否同时满足d<td,θ<tθ,l<tl,若满足条件,则该点标记为地面点,加入地面点集合vground,插入到所述初始地形tin模型中并更新;
其中,
式中,
(5-2)重复步骤5-1,直到不再有新的点满足条件。
由于在地形变化区域地形情况已发生了明显变化,往期dem数据不能提供可靠的参考信息。在本实施例中,
非地面点粗剔除过程将所有lidar点云数据分到非地面点集合
地形变化情况可以分为两类:地形凸起和地形凹陷。一个区域发生地形凸起变化后,该区域内激光点会高出往期dem数据的地形面,若凸起比较显著,高程值上升幅度超过了非地面点粗剔除中高差阈值
通过对集合
1、建筑物点一般是分块连续且每一块在其边缘与临近地面点有较大的高程突变;
2、中高植被和其他人工地物一般为离散点状、簇状或线状分布,与临近地面点有显著的高程突变;
3、地形变化区域呈连续曲面片分布,且在其边缘处于临近的地面点高程上一般是连续变化的。
基于以上几个特点,本申请结合区域生长的思想,再次采用tin滤波方法中地面点判断准则,对非地面点集合