2.2.1 滤波算法
(1)多尺度曲率滤波算法(MCC)。MCC定义一个包含所有点x,y,z坐标的向量Z(s),x和y为平面坐标,z为点云高程。利用薄板样条插值法Z(s)得到连续栅格表面。在栅格表面传递一个3×3的格网定义一个新的向量X(s),其z为3×3栅格的平均高程; 比较Z(s)中各点的高程与X(s)高程和曲率容差t之和的大小,当Z(s)<X(s)+t时,为地面点云。然后Z(s)重新定义为未分类的点进行不断迭代,直到所有的点都低于阈值。MCC结果主要受点云间距和曲率容差阈值影响[21]。
(2)扩展窗口高程阈值算法(ETEW)。ETEW根据相邻地面点的高程差和地面点与非地面点高程差的差异进行点云分类,通过对比预设半径内点的高程差与预先设置的阈值,剔除非地面点[22]。首先将点云数据细分成方形单元,保留单元内最低高程的点; 其次计算单元中高程最低点和其他点的高程差,高程差小于阈值时视为地面点,大于阈值则为非地面点。随着单元格和阈值的增大,重复此过程,直到不再剔除非地面点。ETEW分类的效果和单元格大小、坡度因子、迭代次数有密切关系[22]。
(3)适应三角网滤波算法(ATIN)。ATIN以点到三角形不规则网络(TIN)表面的距离为主要约束条件,进行滤波计算。首先将整体区域划分成小的单元格网,每个单元格只保留高程最低的点(种子点)构建初始稀疏的TIN; 然后计算每个点到最近三角形表面的距离以及点到三角形顶点的直线与三角形表面的夹角。当距离和角度都小于预先设定的阈值时,则将该点归类为地面点; 后续迭代中使用这些基本点来构造新的TIN,计算其余点到表面的距离和角度,并与阈值进行比较,直到未分类的点都不可添加到地面点集时,迭代终止[18]。该算法分类结果和单元格的选取、初始三角网的大小关系最密切。
(4)渐进形态学滤波算法(PM)。数学形态学滤波算法基于集合理论从图像中提取特征,采用腐蚀和膨胀两个基础算子组成“开”运算对LiDAR点云数据分类。Zhang等[16]在此基础上开发了PM,其核心原理是逐渐增大窗口尺寸及对应的高差阈值,在保留地面数据的同时,去除不同尺寸的非地面目标的测量值。首先将矩形格网覆盖在点云数据集上,每个单元格网包含一个测量点,其为单元格内的最低高程点。单元格中测量点的高程构成一个初始近似曲面; 然后进行“开”运算,获得次生曲面,将第i次的曲面与第(i-1)次的曲面之间高程差值和阈值进行比较,判断单元格网中的点是否为非地面点[23]。单元格和起始窗口大小对PM结果影响较大。
(5)基于坡度的滤波算法(SBF)。SBF通过坡度差来分离地面点和非地面点。算法原理是将一个矩形网格覆盖在点云数据集上,每个激光点分配到一个单元网格,如果同一单元格中有多个点下落,则选择高程最低的点作为数组元素; LiDAR点在给定半径范围内,该点与任意其他点之间斜率的最大值小于预先设定的阈值时,被划分为地面点[15]。单元格大小、搜索半径、最大坡度对该算法影响较大。
2.2.2 精度评估
(1)参考数据获取。通过对比参考点云数据与不同算法的分类结果,确定滤波精度。参考数据可通过纯人工滤波、GNSS/全站仪测量、自动+手动滤波等方法获取[22]。纯人工滤波是作业人员根据对研究区的先验知识,通过手动分类实现地面点与非地面点的区分,分类精度受作业人员知识、经验等影响较大。GNSS/全站仪测量所得地面点数据密度较低,且野外工作量大,不易实现。“自动+手动”方法可兼顾点云精度和工作量,已被广泛用于获取参考点云数据[18]。因此,本研究选用“自动+手动”方式,在Terrasolid 2016软件中处理得到参考点云。首先,通过Terrasolid 2016内置滤波算法剔除杂点和噪声点,初步分离地面点和非地面点。然后,结合无人机LiDAR获取的董庄沟高分辨率照片,开展目视判读,修正植被覆盖度、地形陡峭等敏感区域的分类结果,获取高精度的点云分类数据。
(2)精度评价。点云分类精度评价采用国际摄影测量与遥感学会推荐的方法。该方法计算3类误差,分别为Ⅰ类误差、Ⅱ类误差和总误差[17]。其中Ⅰ类误差表示地面点云错分为非地面点云的比例,Ⅱ类误差表示非地面点云错分为地面点的比例,总误差代表总体点云错分比例。
Ⅰ类误差=b/(a+b)(1)
Ⅱ类误差=c/(c+d)(2)
总误差=(b+c)/(a+b+c+d)(3)
式中:a为正确分类的地面点数量; b为地面点误分为非地面点的数量; c为非地面点误分为地面点的数量; d为正确分类非地面点的数量。
2.2.3 滤波算法参数确定
高精度的地形获取需要完整的地面点云,以便有效监测微地形变化。Ⅰ类误差导致的地面点云缺失难以在后续数据处理中消除,是地形信息准确表达的主要难点,而Ⅱ类误差(非地面点云误分为地面点云)则相对容易去除[17]。因此,本文滤波中,在尽可能保证地形信息完整的同时,降低各类误差,各参数初始取值为允许范围的下限,以固定步长逐步增加参数取值,直至参数取值上限,对比不同参数取值下的滤波误差,获取参数的最优取值(表2)。