基于XGBoost的机载激光雷达与高光谱影像结合的特征选择算法 下载: 1288次
1 引言
高光谱遥感又称成像光谱遥感,可同时获取目标区域的一维光谱信息和二维几何空间信息[1],具有图谱合一的特点与优势,能够精确描述地物的光谱和纹理特性[2]。机载激光雷达(LiDAR)是一种主动式的对地观测技术,能够实时获取地形表面的三维空间信息[2-4]。上述两种类型数据提取出的特征在水平和垂直位置上的精度、信息都有其各自的优缺点[5]。传统的基于单一类型数据特征的分类研究往往只能表现出研究对象的部分特性,具有相当的局限性[6]。高光谱数据可以提供更多水平空间上的信息,如更丰富的光谱和纹理信息,但在垂直方向上则无法提供更多信息。而LiDAR数据对于描述三维空间信息更有优势,但激光点的密度对精确分类有一定程度的影响。将上述两种数据的特征进行联合,不同种类的特征信息之间可以相互补充,因此表达出的语义信息会更加丰富。同时,上述两类特征之间所具有的相关性也在一定程度上有助于提升地物分类结果的准确率。
但从另一方面看,多种不同数据的特征联合必然会导致特征集维数大幅增加,而如何有效地从高维特征数据集中提取或选择出最佳的特征子集用于后续的地物分类,得到最佳的分类结果,也是众多研究领域的重点。特征选择是一个不断搜索并择优的过程,是从一组特征集中挑选出一部分最有效的特征以降低特征空间维数,并在一定程度上提高分类精度的过程[7]。在实际应用中,通常采用启发式搜索算法在运算效率与特征子集的质量之间寻找一个较好的平衡点,即近似最优解[8]。合适的特征选择方法不仅可以简化模型,缩短样本的训练时间,还可以通过降低过拟合增强学习模型的泛化性能,有助于提高分类结果的准确率。
XGBoost是Chen等[9]于2015年提出的一种基于梯度Boosting的集成学习算法,该算法可自动利用中央处理器(CPU)多线程进行并行计算,是近年来新兴的高效算法。XGBoost不但可以用于分类,还可以通过统计得到特征变量的重要性及排序。此外,虽然该算法便于对各个特征的重要性进行分析,但却不利于进行准确的特征选择。
序列后向选择(SBS)算法[8]是指从特征全集开始,每次从特征集中剔除一个特征,使得剔除该特征后的评价函数值达到最优。该算法在特征数量不是非常大的情况下具有较高的分类准确率[10],但其却无法考虑特征之间的相关性,对于相关性较高的特征不能一并剔除,从而导致存在冗余的排序步骤。而且,该算法属于贪心算法,容易陷入局部最优值。
皮尔逊相关系数(PCC)可用于计算两个连续型变量之间的相关性,是反映两变量相关关系方向和密切程度的指标。由于特征计算值在一定的区间范围内可以认为是连续的[11],因此本文选取皮尔逊相关系数来衡量各个特征之间的相关程度,从而对特征选择步骤起到一定程度的简化作用。
本文首先针对完全匹配的LiDAR点云和高光谱影像构造并提取了46种特征,然后设计了一种基于XGBoost特征重要性排序并结合皮尔逊相关系数的特征选择(XGB-PCCS)算法,该算法综合考虑了特征向量相关关系的方向及密切程度,从而对特征进行选择;此外,设计了XGBoost与序列后向选择相结合的多模态特征选择(XGB-SBS)算法与之对比;最后采用真实数据对本文设计的两种算法进行了验证和分析,并从选择时长、选择出的特征子集构造以及后续分类精度三方面对上述两种算法进行对比和评估。
2 特征提取
2.1 LiDAR数据特征的提取
LiDAR数据特征可分为两部分。一部分是来自LiDAR点云的自身特征,称作直接特征,如高程、回波及强度信息等,通常可以从点云数据中直接读取(如*.las 格式),提取过程相对简单[3];另一部分是LiDAR数据的衍生特征,需要对点云数据进行局部统计,从而提取出相应的几何特征。
2.1.1 直接特征
直接特征包括高程
2.1.2 衍生特征
点云的几何特征可以通过对某一个点的三维邻域内的所有点进行统计分析得到。本课题组采用球体邻域对LiDAR点云进行统计计算,分别提取得到高程相关、投影相关、面相关及协方差相关4种衍生特征[11]。其中:高程相关特征包括邻域高程差
上述各特征的提取方法可参考文献[ 11]。
2.2 高光谱影像特征的提取
2.2.1 光谱特征
1) 直接光谱特征
主成分分析(PCA)是一种较为常用且有效的降维方法。PCA变换是一种线性变换,通过对光谱数据进行矩阵变换尽量保留原有数据的信息,变换后得到的主成分分量之间彼此不相关,且随着主成分编号的递增,各分量所包含的信息量递减[13-14]。
本课题组对实验数据集中的高光谱影像进行PCA变换后得到的前10个波段的信息量为99.97%,故仅选取前10个波段作为提取到的直接光谱特征进行后续特征的选择。
2) 间接光谱特征
单波段遥感影像局部邻域内像素值的统计信息,如均值和方差,也可以作为光谱特征加入到特征向量中参与分类研究[3]。为避免重复提取相似特征,本课题组只对PCA变换后获取到的首个波段进行邻域均值和方差的计算,邻域窗口的大小选择为3×3,分别记为
由于本课题组选用的数据集中的植被类型较为单一,且植被总面积仅占整个数据集的12%,故未提取高光谱影像的植被指数特征。
2.2.2 纹理特征
纹理是灰度分布在空间位置上反复出现而形成的,因而在图像空间中相隔某一距离的两个像素之间会存在一定的灰度关系,即为图像中灰度的空间相关特性[15]。灰度共生矩阵(GLCM)就是一种常用的纹理分析方法,是图像中两个像素点灰度级联合分布的统计形式[16],反映了图像灰度关于方向、领域、变化幅度的综合信息,能够较好地反映纹理灰度级之间的相关性规律。
本课题组选用大小为3×3的窗口,沿0°、45°、90°及135°这4个方向角以1 pixel位移距离进行统计,仅实现灰度共生矩阵角二阶矩
3 特征选择
特征选择是一个不断搜索并择优的过程,是从一组特征集中挑选出一部分最有效的特征以降低特征空间维数,并在一定程度上提高分类精度的过程[7]。在实际应用中,通常采用启发式搜索算法,在运算效率与特征子集的质量之间寻找一个较好的平衡点,即为近似最优解[8]。
特征选择的目的有三:便于构建用时更短、消耗更低的预测分类模型;能够使模型具有更好的理解性和解译性;提高分类预测的准确性。
下面依次介绍XGBoost算法、XGB-SBS算法和XGB-PCCS算法。
3.1 XGBoost算法的原理及其特征重要性量度
Boosting算法是数据挖掘领域中比较流行且有效的集成学习算法,通过将各个弱分类器加权叠加形成强分类器来有效降低误差,得到精确度更高、更准确的分类结果[20]。Gradient Boosting算法是在Boosting算法的基础上改进而来的,其思想是不断地降低残差,使先前模型中的残差在梯度方向上进一步降低,从而得到新的模型[20]。XGBoost则是在Gradient Boosting算法的基础上进行改进后的算法,是由Chen等[9]于2015年提出的,全称为eXtreme Gradient Boosting。XGBoost算法对损失函数进行的是二阶泰勒展开,在目标函数中加入了树模型复杂度作为正则项,在训练过程中借鉴随机森林的思想,即每次迭代过程中对样本进行抽样,采用部分样本的部分特征去训练的方法,并充分利用了多核CPU并行计算的优势,大幅提高了模型的运算速度和预测分类精度[21-22]。
此外,XGBoost算法可以统计出每个特征变量的重要性,并据此得到特征的重要性排序。排序结果便于对特征的重要性进行分析,但并不利于准确地进行特征选择。当前较为常见的做法是在重要性排序之后人为选定前
XGBoost算法中的特征重要性计算标准如下:weight指该特征用来切割树结点的次数;gain指该特征被用来切割树结点时所产生的平均增益;cover指该特征在树结构内被应用的平均覆盖率。本实验中所应用到的重要性排序均选用weight作为重要性得分的计算标准。
3.2 XGB-SBS算法
序列后向选择算法是指从特征全集开始,每次从特征集中剔除一个特征,使剔除该特征后的评价函数值达到最优。该算法属于贪心算法,容易陷入局部最优值。
本课题组设计的XGB-SBS算法首先利用XGBoost算法中特征变量的重要性量度对特征进行重要性排序,采用序列后向搜索算法[8]依次从当前特征集中剔除该轮迭代中重要性得分最低(即排序最靠后)的特征,剩余的保留特征重新进行新一轮的预测和排序,记录每轮迭代过程中的预测分类准确率,并将其作为评价函数值,用于确定预测分类准确率最高的保留特征子集,即为最终特征选择的结果。具体算法流程如
为保证模型训练的可靠性和稳定性,每轮迭代中对训练集进行10次随机抽取。每次抽取出训练集的70%用于训练模型及特征集重要性排序,并保证每次抽取出的样本类别比例与整个训练集中样本类别的比例相同,训练集中剩余的30%用于求取当前次随机抽取的分类精度。将分类精度最高轮次的重要性排序中最末位的特征作为下一轮待剔除的特征,并将10次抽取得到的10个分类精度的平均值作为当前轮次保留特征集下的预测分类精度,用以找出预测分类精度最高的轮次,从而确定XGB-SBS算法下的最佳特征子集。
该算法的核心是根据重要性排序将全部特征逐一剔除,可通过迭代更为准确地得到各个特征的重要性排序,同时可以准确地得到测试分类精度最大的保留特征集。但该算法的缺陷在于无法考虑特征之间的相关性,对于相关性较高的特征不能一并剔除,从而导致存在冗余的排序步骤,因而当数据量较大时,该方法的运行选择时间可能会比较长。
3.3 XGB-PCCS算法
两个连续型变量之间的相关性通常可用皮尔逊相关系数进行计算,它是反映两变量相关关系的方向和密切程度的指标。由于特征计算值在一定区间范围内可以认为是连续的[11],故本课题组选用皮尔逊相关系数来衡量各个特征之间的相关程度。故可将与每轮重要性排序最末位特征的相关系数绝对值较大且排位靠后的特征视为同等不重要特征,在下一轮训练和预测中一并剔除,从而对特征选择步骤起到一定程度的简化。
基于上述XGB-SBS算法提出如下改进:在每轮确定即将剔除的特征之后,计算该剔除特征与当前保留特征集中其他特征的皮尔逊相关系数,将所有相关系数的绝对值的均值作为阈值,绝对值大于阈值且在该轮重要性排序中位于后50%的特征,在下一轮中也一并剔除。XGB-PCCS算法流程如
改进后的算法通过计算与每次重要性排序最末位特征的皮尔逊相关系数,将与其相关程度较高的特征一并剔除。改进后的算法与常用的人为选定重要性排序前
4 实验结果及分析
4.1 研究区域及实验数据集
本研究选用的数据集grss_dfc_2018含机载LiDAR数据、高光谱影像以及地表真实分类,如
图 3. 研究区域图。 (a) LiDAR衍生DSM;(b)高光谱影像; (c)地表真实分类
Fig. 3. Map of research area. (a) LiDAR derived digital surface model; (b) hyperspectral image; (c) surface truth classification
机载LiDAR传感器的飞行高度为500 m (相对地面高度),扫描条带宽度为445 m,重叠率为50%,行距为225 m,点云数据的平均密度为32 point/m2。搭载的OpTeTi TIN MW运行了3个不同波长的激光通道,本课题组仅选用了通道1的数据,即基于1550 nm的激光得到的点云数据。
高光谱搭载传感器飞行高度为2100 m(相对地面高度),条带宽度为1500 m,平均飞行速度为65 m/s。该高光谱数据包含48个波段,光谱范围为38~1050 nm,空间分辨率为1 m。
首先对本课题组选用的研究数据集进行特征提取,其中LiDAR数据特征有25种,高光谱影像特征有21种,共计46种特征。另外,该数据集共包含20个类别,从数据集提供的各类样本中随机抽取30%作为训练集,剩余的70%用于精度评价,样本分类及各类别样本点的数量详见
4.2 XGB-SBS算法选择的结果
XGB-SBS算法选择出的特征数量与训练集分类精度之间的关系如
表 1. 训练集与测试集中的样本类别及样本数量
Table 1. Class name and number of samples in training and test sets
|
本次实验最佳的保留特征数为33,训练集的预测精度为89.16%,保留特征见
表 2. 不同特征选择算法下的最佳特征
Table 2. Optimal features at different feature selection algorithms
|
表 3. 基于XGB-SBS算法求最佳特征子集时的特征剔除次序
Table 3. Order of feature deletion for finding optimal feature subset based on XGB-SBS algorithm
|
4.3 XGB-PCCS算法选择的结果
XGB-PCCS算法选择下的特征数量与训练集分类精度之间的关系如
图 4. 不同选择算法保留的总体分类精度与特征集维数的关系
Fig. 4. Relationship between overall classification accuracy and number of feature set dimension retained by different selection algorithms
本次实验中最佳的保留特征数为25,训练集预测精度为89.01%,保留特征见
表 4. 基于XGB-PCCS算法求最佳特征子集时的特征剔除次序
Table 4. Order of feature deletion for finding optimal feature subset based on XGB-PCCS algorithm
|
首轮特征重要性排序中归一化灰度矢量对比度特征
图 5. FGLDV_Con与其余45种特征的皮尔逊相关系数的绝对值
Fig. 5. Absolute values of Pearson correlation coefficients between FGLDV_Con and other 45 kinds of features
从最佳特征子集的结果来看,
4.4 分类精度评价
选用XGBoost分类器分别对原始46种特征、XGB-SBS选择的33种特征子集、XGB-PCCS选择的25种特征子集应用相同的参数进行分类预测。选用的评判预测分类精度的指标为总体分类精度OA和Kappa系数。本次实验使用的是轻便型笔记本计算机(型号:华硕S56C;CPU:Intel Core i5 3317U,主频1.7 GHz;内存4 GB)
两种特征选择算法的运行选择时间及分类预测精度见
表 5. 两种特征选择算法的运行选择时间及分类预测精度
Table 5. Running time consumption and predicted classification accuracy of two feature selection algorithms
|
由
另一方面,XGB-PCCS算法通过计算与每次重要性排序最末位特征的皮尔逊相关系数并将与其相关程度较高的特征一并剔除的方法,减少了运行分类器建立模型及进行重要性量度和排序的次数,在数据量较大的情况下可明显缩短特征选择的时间。
4.5 面向地物分类的多模态特征构造
5 结论
针对完全匹配的LiDAR点云及高光谱影像两种不同类型的数据共构造并提取了46种特征,然后设计了XGBoost与序列后向选择相结合的多模态特征选择算法XGB-SBS,并在该算法的基础上结合皮尔逊相关系数设计了一种新的特征选择算法XGB-PCCS。
XGB-SBS算法选择出的特征子集由原始的46个下降至33个,得到的分类结果总体分类精度为95.63%,Kappa系数为0.943。该算法可以通过迭代得到更准确的特征重要性排序,同时可以确定原始46个特征中可以使测试分类精度达到最大的保留特征集。但该算法的缺点在于没有考虑特征之间的相关性,对于相关性较高的特征不能一并剔除,从而导致存在冗余的排序步骤,当数据量较大时,该算法的运行时间可能会比较长。
XGB-PCCS算法在综合考虑了特征向量相关关系的方向及密切程度后对特征做出选择。选择出的特征子集的大小由原始的46个缩减至25个,得到的总体分类精度为95.55%,Kappa系数为0.942。该算法的人为干预程度较低,运行时间较短,可以更加有效地缩减特征数量,但筛选出的特征子集对于后续分类精度的提升意义不大。
虽然本研究采用的两种特征选择算法选取的特征子集对分类准确率的提升都不显著,但保留的特征数量都有一定程度的缩减,都达到了在保证分类结果准确率的基础上有效削减特征维数的目的。两种算法相比较而言,XGB-PCCS算法保留的特征集相对更为精简,运行时间更短。
在后续的研究中可以考虑特征尺度对面向地物分类的多模态特征构造的影响,以及特征维数大幅增加后两种算法的选择结果对分类精度的影响是否更明显。
[1] 张兵. 高光谱图像处理与信息提取前沿[J]. 遥感学报, 2016, 20(5): 1062-1090.
[2] 朱江涛, 黄睿, . 基于. Adaboost 的高光谱与 LiDAR 数据特征选择与分类[J]. 遥感信息, 2014, 29(6): 68-72.
[3] 董保根. 机载LiDAR点云与遥感影像融合的地物分类技术研究[D]. 郑州: 解放军信息工程大学, 2013.
Dong BG. Research on classification technologies of land cover by fusing airborne LiDAR point clouds and remote sensing imagery[D]. Zhengzhou: PLA Information Engineering University, 2013.
[4] 潘锁艳, 管海燕. 机载多光谱LiDAR数据的地物分类方法[J]. 测绘学报, 2018, 47(2): 198-207.
[5] 程效军, 程小龙, 胡敏捷, 等. 融合航空影像和LIDAR点云的建筑物探测及轮廓提取[J]. 中国激光, 2016, 43(5): 0514002.
[6] 张庆春, 佟国峰, 李勇, 等. 基于多特征融合和软投票的遥感图像河流检测[J]. 光学学报, 2018, 38(6): 0628002.
[7] 姚旭, 王晓丹, 张玉玺, 等. 特征选择方法综述[J]. 控制与决策, 2012, 27(2): 161-166, 192.
Yao X, Wang X D, Zhang Y X, et al. Summary of feature selection algorithms[J]. Control and Decision, 2012, 27(2): 161-166, 192.
[8] 姚登举, 杨静, 詹晓娟. 基于随机森林的特征选择算法[J]. 吉林大学学报(工学版), 2014, 44(1): 137-141.
[9] CHENT, GUESTRINC. Xgboost: a scalable tree boosting system[C]. Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2016 : 785- 794.
[10] 刘明, 李忠任, 张海涛, 等. 基于二分搜索结合修剪随机森林的特征选择算法在近红外光谱分类中的应用[J]. 激光与光电子学进展, 2017, 54(10): 103001.
[11] 张爱武, 肖涛, 段乙好. 一种机载LiDAR点云分类的自适应特征选择方法[J]. 激光与光电子学进展, 2016, 53(8): 082802.
[12] 梁小伟. 机载LIDAR数据特征选择与精确分类技术研究[D]. 太原: 中北大学, 2015.
Liang XW. Research on feature selection and precise classification technique from LIDAR data[D]. Taiyuan: North University of China, 2015.
[13] 叶珍, 何明一. PCA与移动窗小波变换的高光谱决策融合分类[J]. 中国图象图形学报, 2015, 20(1): 132-139.
[14] 臧卓, 林辉, 杨敏华. ICA与PCA在高光谱数据降维分类中的对比研究[J]. 中南林业科技大学学报, 2011, 31(11): 18-22.
[15] 李静, 杨玉倩, 沈伟, 等. 基于灰度共生矩阵的织物纹理研究[J]. 现代纺织技术, 2013, 21(3): 12-16.
[16] 田艳琴, 郭平, 卢汉清. 基于灰度共生矩阵的多波段遥感图像纹理特征的提取[J]. 计算机科学, 2004, 31(12): 162-163, 195.
[17] 任国贞, 江涛. 基于灰度共生矩阵的纹理提取方法研究[J]. 计算机应用与软件, 2014, 31(11): 190-192, 325.
[20] 蒋晋文, 刘伟光. XGBoost算法在制造业质量预测中的应用[J]. 智能计算机与应用, 2017, 7(6): 58-60.
[21] 杨灿. 基于XGBoost的遥感图像中道路网络的提取[J]. 微型机与应用, 2017, 36(24): 28-31.
[22] 李叶紫, 王振友, 周怡璐, 等. 基于贝叶斯最优化的Xgboost算法的改进及应用[J]. 广东工业大学学报, 2018, 35(1): 23-28.
Article Outline
张爱武, 董喆, 康孝岩. 基于XGBoost的机载激光雷达与高光谱影像结合的特征选择算法[J]. 中国激光, 2019, 46(4): 0404003. Aiwu Zhang, Zhe Dong, Xiaoyan Kang. Feature Selection Algorithms of Airborne LiDAR Combined with Hyperspectral Images Based on XGBoost[J]. Chinese Journal of Lasers, 2019, 46(4): 0404003.