基于网格分块与移动最小二乘的点云数据全自动滤波方法

文档序号:6366639阅读:1183来源:国知局
专利名称:基于网格分块与移动最小二乘的点云数据全自动滤波方法
技术领域
本发明属于海量点云数据处理领域,特别是涉及了基于网格分块与移动最小ニ乘的全自动滤波方法。
背景技术
由于激光能在短时间能获得地物三维坐标信息,并且数据量极大,如何快速从海量激光点云数据中提取有用的信息是目前研究的热点和难点,激光点云数据的滤波处理就显得尤为重要。国内外许多文献都对点云滤波进行了讨论和研究,并且提出了许多滤波算法,包括基于数学形态学的滤波算法,基于坡度的滤波算法,基于TIN的渐进加密算法和基于数据分割的滤波算法等等,也取得了ー些研究成果,其中还存在一些问题尚未解決,比如点云滤波算法的效率低以及精度不能满足要求。Vosselman等使用Delaunay三角网组织数据,并利用灰度级形态学中的腐蚀运算根据坡度去除非地面点。该算法首先使用训练样区确定滤波函数,然后根据每个激光点与周围点的距离和滤波函数判断该点是否为地面点。该算法的缺点是要找到合适的训练样区以获取滤波函数,用来处理其他各种情况是比较困难的。Roggero和Sithole分别对Vosselman的方法进行了改进,通过构造ー些新的复杂的滤波函数来改进算法的适应性。与Vosselman的方法不同,Zhang提出一种渐进式形态学滤波的方法。该方法首先将原始激光点云数据插值为规则格网,再使用设定的初始结构元素进行形态学开运算,并计算每点经过开运算后的高度值与原先高度值的差,如果该高度差大于一定的阈值,就为非地面点。逐渐增大结构元素的尺寸和相应的阈值,反复进行上面的运算去除非地面点,直到结构元素的尺寸大于最大的建筑物。这样反复进行开运算不仅需要很大的计算量,而且容易误删除地面点。虽然可以对开运算前后的高度差设定阈值来判断是否为地面点,但此阈值的设定也是ー个难点。不管是机载Lidar数据还是地面Lidar数据大部分是基于激光点云中高程突变信息进行滤波,假定点云中高程低的点为地面点,高程较高的点为非地面点,由于系统误差存在,这种情况未必是对的。ー些算法还将离散的观测值内插成格网,内插后数据与原始数据之间存在误差,处理得到的结果与实际情况也存在误差,造成精度损失。目前滤波算法需要大量的人工干预,属于半自动或者人工操作,耗时耗力。半自动算法一般是基于对高程值的统计分析,这些都是目前滤波算法中的ー些待解决的问题。另外ー些滤波算法适用范围有限,比如ー些针对机载Lidar数据,ー些只能用于地面Lidar数据滤波,还有ー些只适合地形起伏变化小的地方。从上述问题可以看出提出一种简单、快速、适用范围广、效率高的点云滤波算法是非常必要的。由于激光点云数据量大,并且点云数据的不规则,散乱,复杂等性质决定了点云数据处理工作的复杂困难。

发明内容
针对激光点云数据的特点,本文提出了ー种基于网格分块与移动最小ニ乘的点云数据全自动滤波方法。本发明提供的技术方案是ー种基于网格分块与移动最小ニ乘的点云数据全自动滤波方法,包括以下步骤步骤1,对激光点云数据进行分块处理,得到多个初始网格;步骤2,判断各初始网格内激光点云数据密度是否大于预设的密度阈值,对激光点云数据密度大于预设的密度阈值的网格进行抽稀处理;所述抽稀处理的方法为,根据激光 点云数据的密度大小进ー步分割初始网格,保留每个分割后网格内高程较低的激光点云数据;步骤3,基于所有分割后网格内保留的激光点云数据,用移动最小二乗法拟合数字高程模型,并以数字高程模型作为參考面;步骤4,求取所有分割后网格内每个激光点分别到步骤3所得參考面的距离,将距离大于距离阈值的激光点进行删除,剰余的激光点云数据保留;步骤5,对保留的激光点云数据,返回执行步骤I 步骤4,每次执行步骤I时,分块处理的初始网格尺寸小于上一次,每次执行步骤4吋,距离阈值小于上一次;直至所有分割后网格内激光点到參考面的距离小于或等于当前的距离阈值时停止。而且,步骤I对激光点云数据进行分块处理后,采用四叉树方法对所得各初始网格建立相应的索引。而且,所述四叉树方法为经典四叉树方法或动态四叉树方法。而且,步骤3采用精简移动最小二乗法拟合数字高程模型,包括以下分步骤,步骤3. 1,对于每个分割后网格,找出步骤2所保留的激光点云数据中的每个最低点周围的K个邻近点,并判断最低点与周围K个邻近点分别的高差,如果最近点与最近邻近点的高差大于最近邻近点与其他K-I个邻近点之间最小距离N倍,则认为最近点不是地面点,反之则认为是地面点;步骤3. 2,通过将所有分割后网格内地面点的坐标值作为已知量,代入以下形函数公式拟合DEM,ゎ 崎点S其中,W(X-Xi)为权重函数,Pi (x)为点集X和权函数Wi所构成集合的正交函数集,点集X由坐标点Xi构成,i = 1,2, ... η。本发明提出了先将点云数据进行网格分块,保证点云数据的原始性,减少单次数据处理量,然后对分块数据建立空间索引,可以快速对点云进行管理与应用,提高点云数据处理的效率。最后针对每块点云数据进行基于移动最小二乗法点云滤波处理,得到每个分块内的点云滤波結果,然后将这些分块滤波数据合并,根据设定阈值对整个数据进行检查,得到最终滤波結果。因此,本发明技术方案能够实现无人工干预的全自动点云数据滤波处理,并且精度、效率都比较高。


图I是本发明实施例的点云滤波处理流程图。 图2是本发明实施例的点云分块示意图。
图3是本发明实施例的动态四叉树空间索引示意图。图4是本发明实施例的原始的激光点云数据示意图。图5是本发明实施例的地表的激光点云数据示意图。
具体实施例方式本发明技术方案可由本领域技术人员采用计算机软件技术实现自动运行流程。以下结合附图和实施例详细说明本发明技术方案。參见图1,本发明实施例实现过程包括以下步骤步骤1,对激光点云数据进行分块处理,得到多个初始网格,如图2所示。分块目的为了降低数据复杂度,减小每次数据处理的运算量。
实施例利用内存映射技术,读取海量的激光点云数据,判断海量点云数据范围,然后进行分块。由于wind0ws32的限制,进程的虚拟内存不能达到4GB只有3. 7G左右,由于点云数据量比较大,使内映射技术能够突破这个限制,可以用来打开超过4GB的文件。基于网格的点云数据分块技术,分块的大小直接影响到数据处理层次及深度,相应地影响算法的效率。分块越小,分割越细,效率就越低,其合并的区域相对增大,数据的压缩比就越高;反之,效率就越高,而压缩比相对降低。一般情况下,分块大小受到仪器的最小采样间距的限制,低于此间距的划分就显得毫无意义。此外,不同距离上的仪器采样间距是不一样的,被测目标一般都分布在一定的纵深距离内。为数据处理的方便,建议数据处理以过最大纵深距离点且与仪器的视场中心轴垂直的平面作为投影面,将所有采样点投影到该平面,然后对所有采样点基于该平面进行等格网分割。最小格网大小的选择应是最小采样间距的整数倍,具体数值的确定取决于被测对象的复杂度、仪器的最小采样间距以及期望的数据压缩比。为便于数据管理以及提高数据处理效率,实施例采用动态四叉树方法对各网格建立相应的索引。对所有存在点的网格与点云之间建立索引关系后,在后续步骤对点云进行处理和过滤时,只需要考虑存在点的网格即可。具体实施时,也可采用其他索引方法,例如经典四叉树方法。为了高效的管理和存储分块网格及网格内的激光点云数据,需要对所有存在点的网格与点云之间建立索引关系,在对点云进行处理和过滤时,只需要考虑存在点的网格即可。四叉树结构的生成和维护相对比较简单,且当空间数据对象分布比较均匀时,基于四叉树的空间索引可以获得比较高的空间数据插入和查询效率,因此四叉树是空间数据库中常用的索引之一。由于激光点云的分布不均匀和边界形状极其不规则,为了克服常规四叉树空间索引结构中的问题,本发明实施例采用已有的空间动态四叉树的方法对分块网格建立索引关系。为了便于实施參考起见,进一步提供了详细说明其算法要点为,在开始建立四叉树时,不需要事先确定工作区域的范围,只须把要插入空间数据库的第I个空间对象的MBR(minimum bounding rectangle)最小外包矩形,中心作为四叉树的顶点,随着数据处理工作的进行,对作业空间进行分解。为便于实施參考起见,提供具体算法如下(I)根据第I个插入的空间对象,确定四叉树空间的中心点,如图3所示点A ;点A的4个叶子节点的某ー个方向是开放的,即叶子节点中没有其它子节点或者子节点个数小于四个,是不饱和的;(2)计算空间对象的MBR;(3)搜索出所有包含该空间对象的叶子节点,參见图3 ;(4)判断这些叶子节点所包含的空间对象数是否超出阈值,如果节点中的对象数超出阈值,则分2种情况进行处理I)如果是开放边界的节点,则要首先计算该节点内的包含所有空间对象的MBR,然后把该节点分解成4个新的叶子节点;2)否则,如果该节点是非开放节点,则直接把该节点分成4个新的叶子节点;(5)重新计算新生成叶子节点中所包含的空间对象;(6)对新生成叶子节点中所包含的空间对象重复⑴ (5),直到处理完所有激光点云数据。经过以上流程,图3中得到的四叉树结构为A为根节点,B⑶E为A的叶子节点,FGHI为B的叶子节点,JKLM为E的叶子节点,NOPQ为K的叶子节点,除了 BEK其它叶子节点均为开放的叶子节点。步骤2,判断各初始网格内激光点云数据密度是否大于密度阈值,对激光点云数据密度大于密度阈值的网格进行抽稀处理。由于点云数据不规则散乱,即使进行了分块处理仍然不能保证每个块内的点云数据分布均匀,仍然会出现某些块呢的点云数据量过大,可以对各网格内激光点云数据密度比较大的数据进行抽稀处理,如果分块后点云数据密度较小,则这ー步可以省略棹。预设的密度阈值为固定值。根据不同的地形情况,阈值的取值也不同,例如山地阈值可以取大些,而平地的阈值可以设置小一点建议抽稀方法为,根据激光点云数据的密度大小进ー步分割初始网格,保留每个分割后所得的网格内高程较低的激光点云数据。设某个分割后网格内激光点云数据的最低高差为XI,只保留高程在[XI,X2]之间的激光点云数据。X2 > XI,X2和Xl之间的差值可以预先设定。步骤3,对所有分割后网格内激光点云数据用移动最小二乗法拟合数字高程模型(DEM),并以数字高程模型作为參考面。实施例找到网格内地面点后,则用移动最小二乗法拟合DEM,并以此DEM数据作为參考面。对于每个分割后网格,找出步骤2所保留的激光点云数据中的每个最低点周围的K个邻近点,并判断最低点与周围K个邻近点分别的高差,如果最近点与最近邻近点的高差大于最近邻近点与其他K-I个邻近点之间最小距离N倍,则认为最近点不是地面点,反之则认为是地面点。具体实施吋,K和N可以根据具体情况设置。本发明提出采用移动最小二乗法,提供ー种较高次数的多项式逼近方式对散乱点云进行曲面拟合,并且要求拟合函数在各个节点处的误差的平方和最小,能够保证比较高的精度。用该算法拟合的曲面比较平滑,与实际曲面相近似。但是移动最小ニ乘算法比较复杂,运算效率不高,如果点云数据量比较大,则处理比较困难,因此需要对该方法进行精筒,在保证精度前提下提高运算效率。实施例设计的精简移动最小二乗法采用带权的正交函数作为基函数,在求解系数矩阵的时候就可以只考虑对角线的元素,不用求逆矩阵,減少了运算量提高运算效率,同时也提高了精度,适合于数据量比较大的点云数据拟合。为了便于实施參考起见,本发明进一歩提供了实施例的步骤4详细说明最小ニ乘拟合函数
其中α j(x)为第i项待求系数(i = 1,2, . . . η),是坐标X函数,Pi(X)为第i项基函数(i = 1,2,... η),它是ー个k阶完备的多项式,η是基函数的项数。ρτ(Χ)为η个基
ηη
函数之和,P1(X) = Z^(X); a (X)为η个待求系数之和,α(Χ) = Σ%(χ)。坐标点Xi, i = 1, 2, . . . η,构成点集X。待求系数α , (x)通过有权重的最小ニ乘拟合得到J = YjWiX-Xi )[/(x) - /(Xi )]2
i=\
ηη= Σ w(x - Xi )[2] P1 (x, )at (χ) - /(χ; )]2 (2)
i=\ i=\其中w (X-Xi)为第i项权重函数。J表示待求系数Cii(X)的拟合結果、f(Xi)是拟合函数在坐标点Xi处的函数值。式⑵可写为J = (P a -f)T W (χ) (P a -f) (3)式中,P为基函数矩阵,f为函数值矩阵,W(X)为权重函数矩阵,α为待求系数Cii(X)构成的行矩阵fT = [f (X1) f (X2). . . f (xn) ] (4)
Pl(Xl) Pl(Xl) L Pnix1) P Pt] P2t] O "(M}⑶
_Pl{Xn) Pl (Xn) L Ρη{Χη)_
W(X-X1) O L OW(x)= ° バパ)L ° (6)
w MMO M
OO L w(x-x”)待求系数α (χ)通过求取目前函数J的极值获取,见式(J) dJ— = Α(χ)α(χ) - B(x)f = O (7)
ηΑ(χ) = YjWix-X1 )p(xt )ρτ (X1)
i=lB (χ) = [w (X-X1) p (X1), w (χ-χ2) p (X2),…,w (χ-χη) ρ (χη)]式中W(X-Xi)代表权重函数,Pi (χ)为第i项基函数,A (χ)为η项权函数与对应基函数乘积之和,B(X)为η项权函数与对应基函数乘积的行矩阵。而这时如果对于点集χ和权函数Wi构成的集合{wj (i = 1,2, ... η)若存在ー组函数 Pi (X) (i = 1,2, ... η)满足
权利要求
1.ー种基于网格分块与移动最小ニ乘的点云数据全自动滤波方法,其特征在于,包括以下步骤 步骤1,对激光点云数据进行分块处理,得到多个初始网格; 步骤2,判断各初始网格内激光点云数据密度是否大于预设的密度阈值,对激光点云数据密度大于预设的密度阈值的网格进行抽稀处理;所述抽稀处理的方法为,根据激光点云数据的密度大小进ー步分割初始网格,保留每个分割后网格内高程较低的激光点云数据; 步骤3,基于所有分割后网格内保留的激光点云数据,用移动最小二乗法拟合数字高程模型,并以数字高程模型作为參考面; 步骤4,求取所有分割后网格内每个激光点分别到步骤3所得參考面的距离,将距离大于距离阈值的激光点进行删除,剰余的激光点云数据保留; 步骤5,对保留的激光点云数据,返回执行步骤I 步骤4,每次执行步骤I时,分块处理的初始网格尺寸小于上一次,每次执行步骤4吋,距离阈值小于上一次;直至所有分割后网格内激光点到參考面的距离小于或等于当前的距离阈值时停止。
2.如权利要求I所述基于网格分块与移动最小ニ乘的点云数据全自动滤波方法,其特征在于步骤I对激光点云数据进行分块处理后,采用四叉树方法对所得各初始网格建立相应的索引。
3.如权利要求2所述基于网格分块与移动最小ニ乘的点云数据全自动滤波方法,其特征在于所述四叉树方法为经典四叉树方法或动态四叉树方法。
4.如权利要求I或2或3所述基于网格分块与移动最小ニ乘的点云数据全自动滤波方法,其特征在于步骤3采用精简移动最小二乗法拟合数字高程模型,包括以下分步骤, 步骤3. 1,对于每个分割后网格,找出步骤2所保留的激光点云数据中的每个最低点周围的K个邻近点,并判断最低点与周围K个邻近点分别的高差,如果最近点与最近邻近点的高差大于最近邻近点与其他K-I个邻近点之间最小距离N倍,则认为最近点不是地面点,反之则认为是地面点; 步骤3. 2,通过将所有分割后网格内地面点的坐标值作为已知量,代入以下形函数公式拟合DEM,
全文摘要
一种基于网格分块与移动最小二乘的点云数据全自动滤波方法对激光点云数据进行分块处理,得到多个网格;采用动态四叉树方法对各网格建立相应的索引;判断各网格内激光点云数据密度是否大于密度阈值,对激光点云数据密度大于密度阈值的网格进行抽稀处理;对所有网格内激光点云数据用移动最小二乘法拟合数字高程模型,并以数字高程模型作为参考面;求取所有网格内每个激光点分别到参考面的距离,将距离大于距离阈值的激光点进行删除,剩余的激光点云数据保留;对保留的激光点云数据,返回执行直至所有网格内激光点到参考面的距离小于或等于当前的距离阈值时停止。
文档编号G06F19/00GK102663237SQ20121007506
公开日2012年9月12日 申请日期2012年3月21日 优先权日2012年3月21日
发明者万幼川, 李健, 高贤君 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1