基于三角网滤波和支持向量机的点云分类算法 下载: 1057次
1 引言
随着激光雷达(LiDAR)技术在遥感测绘领域的广泛应用[1],LiDAR三维点云数据地物分类成为测绘遥感领域热门的研究方向,但点云分类处理还存在许多问题需要解决。点云数据是三维空间内无序排列的点集,点之间没有必然的联系,缺乏分类必要的语义信息。而且城市环境复杂,建筑物、植被、人造物体等交错分布,激光雷达扫描时存在建筑物遮挡、建筑物与周围物体间距过小等问题,易造成点云信息的缺失。综合上述问题,设计分类算法,对大规模城区点云数据进行有效分类是目前研究的热点和难点[2]。
传统的点云滤波分类方法有形态学滤波、不规则三角网(TIN)滤波等方法[3],这些滤波方法利用地形、高程等信息进行点云分类。Kilian等[4]运用窗口滤波作形态学开运算,得到城区的数字高程模型;Axelsson[5]提出基于不规则三角网的加密滤波算法,能够对城市和林区点云进行有效分类;黄作维等[6]在经典滤波算法的基础上提出一种基于多尺度虚拟格网的改进算法,可获取精细地面点。这些滤波分类方法虽然能取得较好的分类效果,但是需要根据应用场景人工设置大量参数和条件。算法对不同场景的自适应程度不高,参数或条件选择不当会造成分类错误。随着机器学习的发展,近年来研究者开始将机器学习方法应用于点云数据分类。陈向宇等[7]结合多种树木特征,利用支持向量机(SVM)实现对不同树种的分类;Anguelov等[8]采用马尔可夫随机场模型对点云数据进行多元分类;肖杨等[9]利用分层聚类方法完成树木点云的提取;Lodha等[10]采用扩展支持向量机分类点云数据。
机器学习方法有效降低了点云分类算法的复杂度,提高了分类算法的自学习性,但是有效选取目标特征和提高LiDAR点云分类精度等问题仍需进一步研究。针对以上问题,本文基于改进后的渐进加密三角网(IPTD)和最邻近支持向量机(NN-SVM),提出一种城区点云数据分类算法。该算法用IPTD滤波选出地面点,依据地面点进行点云归一化并剔除地面点,提取地物点特征进行有效性评估,筛选出合适特征用于地物点分类。构建SVM分类器对地物点进行粗分类和细分类,得到分类结果,并与其他分类算法进行对比分析。
2 渐进加密三角网滤波及点云归一化
城区地理环境复杂,地形变化会使地面点之间的高程值存在差异,造成点云误分类,因此优先提取点云的地面点,根据地面点对点云数据进行归一化处理,消除地形起伏对点云数据高程值的影响。
2.1 IPTD滤波算法
传统加密三角网滤波算法存在将低矮物体误分类为地面的问题,影响地面点滤波精度。采用IPTD滤波算法可以解决这一问题。在传统算法基础上用小尺寸格网划分点云数据,加强了对点云中细节的处理;传统算法中每次迭代需重新计算数据派生阈值,本研究只在TIN加密到很小时重新派生阈值,提高了整体地形获取的效率。算法流程图如
IPTD滤波算法具体步骤如下:1) 选取格网尺寸。在城区点云数据中,量取最大建筑物的尺寸
迭代角度
2.2 依据地面点归一化
为了消除城区地形起伏引起的误分类问题,依据滤波得到的地面点对点云数据进行归一化处理[13],去除地形起伏对地物点高程值产生的影响,归一化点云数据单纯表示地表物体高程特征。归一化的具体方法为:1) 遍历点云数据,找出地物点。2) 将每个地物点的高程值
式中:
3 地物点分类
3.1 NN-SVM介绍及算法流程
支持向量机是一种有监督学习的二元分类方法,分类关键在于将非线性的学习样本映射到高维空间,通过统计学习训练一个最优超平面
式中:
选用NN-SVM作为分类器,采用粗细双层的分类策略进行地物点分类的算法流程如
3.2 点云粗分类
3.2.1 点云特征选择
机器学习分类器的分类效果依赖于训练特征的优劣,好的特征组合能够提高分类精度,而无效特征则会造成分类精度下降。因此通过对各种特征进行有效性评估,从中选取一个特征子集训练分类模型,以达到较好的分类效果。实验中选取6种常用点云特征,用
式中:
特征向量选择完成后,由于不同点云特征的数值大小和测量范围差别较大,因此要对选取的特征进行去差异处理,消除不同特征之间的相对差别,避免小数值特征的作用被忽略,使各类特征在SVM分类中的作用最大化。特征去差异的表达式为
式中:
3.2.2 基于“一对一”策略的SVM多元分类
使用“一对一”分类方法[18],对样本数据中各种类别两两构建一个二分类器,用这一组二分类器处理待分类点云数据,所有分类结果进行逐点投票,票数最多的结果作为最终分类结果。“一对一”方法一共需要构建
考虑到径向基核函数(RBF)在某些参数设定条件下与Sigmoid核、线性核等核函数性能相近,适用于多种分类问题,而且RBF 核与其他核相比具有参数少、复杂度低的优点。因此,选择RBF 核作为SVM分类器内核进行分类模型的训练。RBF 核函数表达式为
式中:
3.3 点云细分类
由于建筑物与植被分布过密、相互遮挡等因素,建筑物和植被相邻处的点云数据会产生误分类情况,比如,表面相对平整的植被点通常会被误分类为建筑物点。提取点云特征时,相邻物体间过渡区域的部分特征会产生偏差,比如房屋边缘处回波率会小于房顶处,而与植被回波率相似,这也会导致点云数据的误分类。
考虑到地物边界的误分类问题,采用多尺度特征融合的方法提升分类精度,通过多尺度的维度特征组合体现同类样本在不同尺度下维度特征的变化[20],各类地物之间多尺度维度特征的明显差别能够增强地物的可分性,用多尺度维度特征训练分类器并对相邻建筑物与植被边界进行进一步的细分类,提高分类精度。
点云细分类流程如下:
1) 选取若干建筑物和植被的点云样本,删除样本中的异类点。
2) 选取样本中任意一点为圆心,尺度
式中:
3)依据多尺度维度特征训练二分类器,找到最佳尺度组合,并对边界处局部点云数据进行细分类,将点云数据分为建筑物和植被。
4 实验与分析
4.1 实验数据和地面点滤波
本文使用国际摄影测量与遥感学会提供的Vaihingen城区数据集测试分类算法有效性,为了让实验具有普适性,数据集包含各种地物场景,点云的平均点距为0.66 m,分类算法将点云数据分为地面、建筑物、植被和人造物体4类。选取面积为19125 m2的点云数据(包含47656个离散点)作为测试集,测试集中点云类别已经过人工标记,作为测试点云分类精度的依据。
根据测试数据集具体地形分布设置IPTD滤波参数,进行多次实验并选择分类精度最高的参数组合。测试集地形相对平坦,非地面物体绝大部分垂直于地面分布,最大地形坡度设置为85°;人工测量测试集的建筑物尺寸,最大建筑物尺寸设置为66 m;迭代距离
图 5. 地面点分类结果。(a)平房区域;(b)楼房区域
Fig. 5. Classification results of ground points. (a) Bungalow area; (b) building area
图 6. 点云高程分布。(a)原始点云;(b)归一化点云
Fig. 6. Elevation distributions of point clouds. (a) Original point clouds; (b) normalized point clouds
4.2 特征选择
在进行分类器训练之前,从训练样本中提取点云特征,并对所选特征的有效性进行评估。实验中利用LIBSVM软件包中的
4.3 地物点分类和精度评价
完成地面点滤波和特征选择后,对地物点进行分类。粗分类过程选取6个样本集训练NN-SVM分类器,样本集的平均离散点个数为7131,每个样本集都包含建筑物、人造地形和植被3类。本文使用LIBSVM工具训练分类器,利用LIBSVM自带的交叉验证模块选择最优核参数
图 8. 边界区域分类结果比较。(a)平房粗分类结果;(b)楼房粗分类结果;(c)平房细分类结果;(d)楼房细分类结果
Fig. 8. Comparison of boundary classification results. (a) Rough classification result of bungalow area; (b) rough classification result of building area;(c) fine classification result of bungalow area; (d) fine classification result of building area
为了检测点云数据的分类效果,采用单类精度和总体精度两个指标进行评估,测试整体和单类物体的分类精度,计算公式为
式中:
为了对特征选取的有效性和双层分类结果进行评估,实验利用选择后的4种特征和所有特征分别进行地物点粗分类,同时对未依据地面点归一化地物点云数据也提取了所有特征并进行粗分类,测量3种情况下的分类精度,如
表 1. 不同特征组合的分类精度
Table 1. Classification accuracy of different feature combinations%
|
表 2. 边界区域分类精度
Table 2. Classification accuracy of boundary region%
|
为验证算法的整体分类效果,将本文算法整体分类结果与和传统SVM分类器和NN-SVM分类器的分类结果进行比较,结果如
表 3. 不同算法的分类精度
Table 3. Classification accuracy of different algorithms
|
图 9. 不同算法分类结果。(a)人工分类结果;(b)传统SVM分类结果;(c) NN-SVM分类结果;(d)本文算法分类结果
Fig. 9. Classification results of different algorithms. (a) Artificial classification results; (b) classification results of traditional SVM; (c) classification results of NN-SVM; (d) classification results of proposed algorithm
5 结论
提出了一种基于渐进三角网和NN-SVM的点云分类算法,应用于城区点云数据的分类,并对算法流程和相应技术理论进行了详细描述,通过实验验证算法的有效性。研究表明,IPTD滤波有效提高了地面点的分类精度,并且点云数据归一化处理消除了地形对于地物点分类的影响,提高了下一步的地物点分类精度。通过特征有效性评估筛选点云特征,在保证分类精度的前提下剔除无效特征,降低特征向量维度。通过双层分类提高地物点的分类精度,特别是通过植被和建筑物边界处的密集分布区域得到有效分类。本文算法仅利用点云特征,没有加入光谱、纹理等特征,而且仍然需要人工提取特征,在后续工作中可以深入研究特征的自动提取,考虑与深度学习等新技术结合,进一步提高特征提取和分类算法的自动化程度和分类精度。
[1] 吴军, 刘荣, 郭宁, 等. SVM加权学习下的机载LiDAR数据多元分类研究[J]. 武汉大学学报(信息科学版), 2013, 38(1): 1-6.
Wu J, Liu R, Guo N, et al. Aerial LiDAR data classification using weighted support vector machines[J]. Geomatics and Information Science of Wuhan University, 2013, 38(1): 1-6.
[2] Axelsson P. Processing of laser scanner data—algorithms and applications[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 1999, 54(2/3): 138-147.
[3] Sithole G, Vosselman G. Experimental comparison of filter algorithms for bare-Earth extraction from airborne laser scanning point clouds[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2004, 59(1/2): 85-101.
[4] Kilian J, Haala N, Englich M. Capture and evaluation of airborne laser scanner data[J]. International Archives of Photogrammetry and Remote Sensing, 1996, 31: 383-388.
[5] Axelsson P. DEM generation from laser scanner data using adaptive TIN models[J]. International Archives of Photogrammetry and Remote Sensing, 2000, 33(4): 110-117.
[6] 黄作维, 刘峰, 胡光伟. 基于多尺度虚拟格网的LiDAR点云数据滤波改进方法[J]. 光学学报, 2017, 37(8): 0828004.
[7] 陈向宇, 云挺, 薛联凤, 等. 基于激光雷达点云数据的树种分类研究[J]. 激光与光电子学进展, 2019, 56(12): 122801.
[8] AnguelovD, TaskarB, ChatalbashevV, et al. Discriminative learning of Markov random fields for segmentation of 3D scan data[C]∥2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05), June 20-25, 2005, San Diego, CA, USA. New York: IEEE, 2005: 8624033.
[9] 肖杨, 胡少兴, 肖深, 等. 从三维激光点云中快速统计树木信息的方法[J]. 中国激光, 2018, 45(5): 0510007.
[10] Lodha SK, Kreps EJ, Helmbold DP, et al. Aerial LiDAR data classification using support vector machines (SVM)[C]∥Third International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT'06), June 14-16, 2006, Chapel Hill, NC, USA. New York: IEEE, 2006: 10285115.
[11] 何曼芸, 程英蕾, 聂玉泽, 等. 综合不规则三角网和区域生长的建筑物提取方法[J]. 空军工程大学学报(自然科学版), 2017, 18(3): 54-59.
He M Y, Cheng Y L, Nie Y Z, et al. A building extraction method on comprehensive delaunay TIN models and region growing[J]. Journal of Air Force Engineering University(Natural Science Edition), 2017, 18(3): 54-59.
[12] Zhao X Q, Guo Q H, Su Y J, et al. Improved progressive TIN densification filtering algorithm for airborne LiDAR data in forested areas[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2016, 117: 79-91.
[13] 刘颖, 董理, 高国峰. 机载激光雷达数据的地物分类方法及处理方式[J]. 测绘与空间地理信息, 2015, 38(12): 108-110.
Liu Y, Dong L, Gao G F. The machine carries the ground of laser radar data thing classification method and treatment[J]. Geomatics & Spatial Information Technology, 2015, 38(12): 108-110.
[14] Boser BE, Guyon IM, Vapnik VN. A training algorithm for optimal margin classifiers[C]∥Proceedings of the Fifth Annual Workshop on Computational Learning Theory - COLT '92, July 27-29, 1992, Pittsburgh, Pennsylvania, USA. New York: ACM, 1992: 144- 152.
[15] 李红莲, 王春花, 袁保宗. 一种改进的支持向量机NN-SVM[J]. 计算机学报, 2003, 26(8): 1015-1020.
Li H L, Wang C H, Yuan B Z. An improved SVM: NN-SVM[J]. Chinese Journal of Computers, 2003, 26(8): 1015-1020.
[16] WangX, Luo YP, JiangT, et al. A new classification method for LIDAR data based on unbalanced support vector machine[C]∥2011 International Symposium on Image and Data Fusion, August 9-11, 2011, Tengchong, Yunnan, China. New York: IEEE, 2011: 12318534.
[17] 范士俊, 张爱武, 胡少兴, 等. 基于随机森林的机载激光全波形点云数据分类方法[J]. 中国激光, 2013, 40(9): 0914001.
[18] AbdelhamidD, Chaouki BM, Abdelmalik TA. A new approach to multi-class SVM learning based on OC-SVM for huge databases[M] ∥Abd Manaf A, Zeki A, Zamani M, et al. Informatics engineering and information science. Communications in computer and information science. Berlin, Heidelberg: Springer, 2011, 252: 677- 690.
[19] BigdeliB, SamadzadeganF. Classification of LiDAR data based on multi-class SVM[C]∥The 2010 Canadian Geomatics Conference and Symposium of Commission I, ISPRS Convergence in Geomatics - Shaping Canada's Competitive Landscape, June 15-18, 2010, Calgary, Alberta, Canada. USA: NASA, 2010.
[20] Lague D, Brodu N, Leroux J. Accurate 3D comparison of complex topography with terrestrial laser scanner: application to the Rangitikei canyon (N-Z)[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2013, 82: 10-26.
[21] 岳冲, 刘昌军, 王晓芳. 基于多尺度维度特征和SVM的高陡边坡点云数据分类算法研究[J]. 武汉大学学报(信息科学版), 2016, 41(7): 882-888.
Yue C, Liu C J, Wang X F. Classification algorithm for laser point clouds of high-steep slopes based on multi-scale dimensionality features and SVM[J]. Geomatics and Information Science of Wuhan University, 2016, 41(7): 882-888.
[22] 谢娟英. 基于SVM的特征选择方法研究[D]. 西安: 西安电子科技大学, 2012: 15- 31.
Xie JY. SVM based feature selection algorithms for classification[D]. Xi'an:Xidian University, 2012: 15- 31.
[23] Hsu CW, Chang CC, Lin CJ. A practical guide to support vector classification[R]. [S.l.: s.n.], 2003: 1- 28.
Article Outline
释小松, 程英蕾, 赵中阳, 秦先祥. 基于三角网滤波和支持向量机的点云分类算法[J]. 激光与光电子学进展, 2019, 56(16): 161002. Xiaosong Shi, Yinglei Cheng, Zhongyang Zhao, Xianxiang Qin. Point Cloud Classification Algorithm Based on IPTD and SVM[J]. Laser & Optoelectronics Progress, 2019, 56(16): 161002.