一种改进的渐进形态学滤波算法及应用

2023-03-09 07:06诸葛淑敏朱洁琼
北京测绘 2023年8期
关键词:形态学插值高程

徐 建 诸葛淑敏 朱洁琼

(浙江省测绘科学技术研究院,浙江 杭州 310001)

0 引言

机载激光雷达(light detection and ranging,LiDAR)技术能够在短时间内获取海量地表点云数据,可对高精度三维地形信息进行准确还原,目前已广泛应用于城市三维建模、地面特征与土地提取覆盖、高精度数字高程模型(digital elevation model,DEM)生产等领域[1-3]。机载激光LiDAR技术获取地表点云数据主要由非地面点以及地面点组成,点云数据得以广泛应用的前提是对地面点与非地面点进行分类,又称之为点云滤波。目前点云滤波算法多是基于地面点与非地面点的高程差,主要有移动曲面拟合滤波算法、基于地形坡度的滤波算法以及数学形态学滤波算法等[4-5]。移动曲面拟合滤波算法由张小红等人[6]提出,该算法主要是通过二次曲面对点云表面进行过滤;文献[7]提出的基于地形坡度的滤波算法通过对于相邻点高差与设置高差阈值实现点云属性的判断;文献[8]提出的数学形态学滤波算法通过对固定窗口内点云的开运算,根据高差变化实现点云属性的判断。经典的数学形态学滤波算法是基于固定窗口,该算法能够实现固定大小地物的分类,为了提升该算法精度,在经典数学形态学滤波算法的基础上,文献[9]通过改变窗口大小并设置高差阈值进行算法改进,提出了渐进形态学滤波算法。但是该算法假设地形坡度是连续的,对于复杂地形的点云滤波效果不佳,文献[10]在渐进形态学滤波算法的基础上,将算法从一维扩展至二维,较原有算法提升了地形的适应性,但是需要设置大量参数。

针对现有渐进形态学滤波算法对于地形复杂区域滤波时细节特征保留不完整、误差较大等问题,本文引入薄板样条插值(thin plate spline,TPS)算法,建立组合滤波算法,通过TPS对不同大小窗口进行处理,对膨胀运算后的地形起伏度以及开运算后的高程差进行计算,将地形起伏度与高程差作差,通过对比差值与设置阈值大小实现点云滤波。为检验本文提出算法的有效性与优越性,使用两组不同地形条件的机载LiDAR点云数据进行实验,并与其他滤波算法的滤波结果进行对比。

1 滤波原理

1.1 渐进形态学滤波

数学形态学滤波算法由Lindenberger于1993年首次提出,目前主要用于密集匹配点云与点云滤波,数学形态学滤波算法的原理是:非地面点在经过形态学计算以后,高程会产生较大变化,设置高差阈值,将高差大于高差阈值的点划分为非地面点,实现地面点、非地面点的分离,该算法滤波结果受滤波窗口的影响较大。数学形态学滤波包括4种运算,分别为腐蚀运算、膨胀运算、开运算、闭运算,其中膨胀运算与腐蚀运算是两个相反的过程,膨胀运算是计算窗口范围内最大高程值,腐蚀运算是计算窗口范围内最小高程值,完成膨胀运算与腐蚀运算后,将两个基础算子组合成开运算与闭运算。窗口大小设置的研究成为数学形态学滤波算法改进的研究方向,如文献[9]借助一个不断改变窗口大小的开算子,通过逐格网进行非地形点滤除获取地面点,该方法中阈值的设置与窗口大小相对应,当窗口大小大于最大建筑物尺寸时停止迭代。但是该方法使用于连续坡度区域,在复杂城市区域的地形特征滤波效果较差。

本文考虑优化改进经典的渐进式形态,首先根据不同地物在高程上的突变,使用TPS对不同窗口大小的最低点进行插值处理,得到近地表面DEM,其次计算DEM地形坡度并对其进行膨胀运算,最后计算点的高程与地形起伏度差值并与阈值对比得到最终滤波结果。

1.2 薄板样条插值

薄板样条插值是一种具有高鲁棒性的数据插值方法,该插值算法是通过分布不规则的控制点构建光滑表面,能够满足最小曲率面要求[11-12]。弯曲能量的表达式为

(1)

式中,S(x,y)为TPS近似表面函数,表示为

(2)

式中,n为控制点数量;wi为控制点权重;a0、a1、a2是趋势函数系数;R为核函数,表示为

R(r)=r2logr

(3)

式中,r为两点的欧式距离;S(x,y)若要能够进行二次积分需满足条件

(4)

式中,(xi,yi)为控制点坐标;根据式(4)得到线性方程

(5)

(6)

相比其他插值算法,TPS插值算法能够更好地反映出地形高程变化,具有连续性、光滑性特征。此外,TPS插值算法具有更好的地形适应性,对控制点分布的要求低,无论是简单地形,还是复杂地形均有较好的插值效果。

1.3 组合算法流程

结合多级形态学滤波算法与薄板样条插值算法的优势,建立一种新的组合滤波算法,使用薄板样条插值算法对不同滤波窗口在不同层级上进行插值处理,对插值后的结果进行膨胀运算并减去原始拟合面,得到地形起伏度,从而实现滤波精度的有效提升,地形起伏度的计算公式为[13]

σDEM=δDEM-ODEM

(7)

式中,σDEM为地形起伏度;δDEM为原始ODEM膨胀运算结果。窗口尺寸的设置原则为从上到下依次减小,直至与最大建筑物尺寸近乎相等,本文提出的组合滤波算法技术路线如图1所示。

图1 本文组合滤波算法技术流程

本文提出的组合滤波算法的具体实施步骤为:

1)点云去噪。噪声点主要为高程异常点,根据高程可将噪声点分为高位噪声点与低位噪声点,主要通过两个步骤进行点云去噪,首先设置数量阈值,计算点云阈值距离内的点云数量,剔除低于数量阈值噪声点,其次进行人工校正[14-15]。

2)建立格网。对点云数据进行格网划分,其中索引行号为i,索引列号为j,格网内高程最低值为该格网高程值。

3)形态学开运算。在当前窗口尺寸下对栅格化点云数据进行形态学开运算,记开运算前后的高差为H1。

4)地形起伏度计算。将栅格内高程最小点指定给该栅格,使用TPS对所有高程最小点进行插值,对插值后得到的拟合参考面进行形态学膨胀运算,将地形起伏度记为H2。

5)滤波判断。获取地形起伏度后,计算不同层级的地形坡度,同时计算处高差阈值DH,以增强在实际地形中的适应性。计算H2与H1的差值,对比差值与DH大小,如果大于DH,将初始点视为地物点并删剔除;如果小于DH,将初始点视为地物点并重复进行上述步骤,直至窗口大小小于最小窗口尺寸。不同层级地形坡度公式为[16]

(8)

式中,FX、FY分别为水平、垂直梯度;nc为坡度变化常量;C为栅格尺寸;z为对应参考高程值。

2 实验数据与精度评价指标

2.1 实验数据

选取两处具有不同地形特征的机载LiDAR点云数据进行实验,如图2所示,其中实验区域1位于城市建筑物居民区,区域内建筑物较为密集,地形起伏较小,地形地物有建筑物、道路、陡坎、植被等,共含激光点1 135 868个;区域2位于城市城市郊区,区域内建筑物较为稀疏,地形起伏较大,同样有建筑物、道路、陡坎、植被等地物,共含激光点746 982个。

(a)区域1

2.2 精度评价指标

使用国际摄影测量与遥感学会(International Society for Photogrammetry and Remote Sensing,ISPRS)在2003年提出的交叉表格形式对点云滤波结果进行量化,如表1所示。

表1 交叉表格

表1中,a为正确分类的地面点个数;b为错误分类的非地面点个数;c为错误分类的地面点个数;d为正确分类的非地面点个数[17]。

将Ⅰ类误差、Ⅱ类误差以及总误差作为衡量点云滤波效果的评价指标[18-20]

式中,n为激光点总数;e为真实地面点个数;f为真实非地面点个数。同时可通过Kappa系数[21]对滤波结果与参考数据的一致性进行表征

(12)

式中,h为分类为非地面点个数;g为分类为地面点的个数。

3 实验结果分析

使用点云库PCL结合C++语言实现本文机载LiDAR点云滤波算法,处理时设置好相关参数,将点云滤波结果与参考数据对比,实验区域1点云滤波结果与参考数据如图3所示,实验区域2点云滤波结果与参考数据如图4所示。

(a)滤波结果

(a)滤波结果

由图3、图4可知,本文提出机载点云滤波算法能够有效滤除建筑物、植被等非地面点,但是相较于参考数据,本文算法没有将非地面点完整滤除干净,存在将少量非地面点分类为地面点,地面点分类为非地面点的情况。

为对比得出本文提出算法的高效性与优越性,使用经典形态学滤波算法与经典不规则三角网滤波算法进行相同实验[22],并对比不同滤波算法实验结果。使用Ⅰ类误差、Ⅱ类误差以及总误差定量评价不同算法滤波结果,精度统计结果如表2所示。

表2 不同点云滤波方法滤波结果精度统计

由表2可知,3种算法点云滤波结果的Ⅱ类误差要小于Ⅰ类误差,由于Ⅰ类误差表示将地面点分类为非地面点的误差,多发生于斜坡点云中,更易将该类点云误分为非地面点。同时可以看到,无论是对于实验区域1还是实验区域2,本文提出滤波算法滤波结果Ⅰ类误差、Ⅱ类误差以及总误差均不同程度减少,在实验区域1,本文算法滤波结果较形态学滤波算法滤波结果的Ⅰ类误差、Ⅱ类误差以及总误差分别减少了10.19%、7.98%、9.51%,较不规则TIN滤波算法滤波结果的Ⅰ类误差、Ⅱ类误差以及总误差分别减少了9.35%、7.41%、7.36%;在实验区域2,本文算法滤波结果较形态学滤波算法滤波结果的Ⅰ类误差、Ⅱ类误差以及总误差分别减少了7.44%、6.40%、6.85%,较不规则TIN滤波算法滤波结果的Ⅰ类误差、Ⅱ类误差以及总误差分别减少了6.31%、5.77%、6.19%。同时可以看到实验区域1的地物更多,环境更为复杂,本文滤波算法仍然具有较好的滤波效果,本文算法对于实验区域1的误差改善效果要优于实验区域2,表明本文滤波算法受地形因素影响小。综上所述,无论是在建筑物复杂区域还是地形复杂区域,本文算法均能够有效改进Ⅰ类误差、Ⅱ类误差以及总误差,提升点云滤波精度,具有较高的地形适应度,通过本文算法能够为获取与实际地形贴合度更高的DEM做数据准备。

4 结束语

点云滤波是激光LiDAR点云数据处理过程中的关键步骤,一直以来成为点云数据处理领域的研究热点,作为一种常用的激光LiDAR点云滤波算法,渐进形态学滤波算法已经逐渐无法满足日益提升的点云数据处理要求,基于此,本文在渐进形态学滤波算法的基础上进行算法改进,提出一种基于TPS插值的渐进形态学滤波算法。该改进算法在形态学算法优势的基础上,结合TPS多级插值曲面拟合算法,使用TPS在渐进形态学滤波算法不同尺寸的窗口下进行处理,由上至下进行迭代直至窗口尺寸小于预设尺寸。使用两组不同地形条件的机载LiDAR点云数据进行滤波实验,结果表明较经典形态学滤波算法与经典不规则三角网滤波算法,本文算法能够有效降低Ⅰ类误差、Ⅱ类误差以及总误差,具有良好的可靠性与地形适用性。下一步将重点研究算法效率的提升以及参数设置的自适应性,进一步降低点云滤波的误差。

猜你喜欢
形态学插值高程
8848.86m珠峰新高程
基于Sinc插值与相关谱的纵横波速度比扫描方法
GPS控制网的高程异常拟合与应用
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
医学微观形态学在教学改革中的应用分析
SDCORS高程代替等级水准测量的研究
回归支持向量机在区域高程异常拟合中的应用
Blackman-Harris窗的插值FFT谐波分析与应用
数学形态学滤波器在转子失衡识别中的应用