曹 爽,潘锁艳,管海燕
(1. 南京信息工程大学遥感与测绘工程学院,江苏 南京 210044; 2. 南京信息工程大学地理科学学院,江苏 南京 210044)
机载LiDAR技术可以迅速地获取地面目标物体的三维空间坐标信息及激光反射强度信息,但由于硬件条件和数据获取方式的限制,其扫描覆盖范围有限,无法提供目标对象的光谱信息[1]。文献[2]提出将机载激光LiDAR数据与多光谱遥感影像融合,同时结合各种植被指数及光谱特征和纹理特征,从而实现对地物的识别和分类,但是LiDAR数据与影像数据融合使用存在一定的数据配准问题。目前的多光谱LiDAR系统可以在同一时刻获得多个波段下的独立激光点云数据,不仅提供了LiDAR的几何信息,而且提供了多个波段的强度信息。因此,探讨多光谱LiDAR数据的智能解译与目标识别具有重要的应用价值。
国内外已经对LiDAR数据的地物分类方法进行了各种研究,比如决策树法[3]、贝叶斯网络法[4]、支持向量机法[5](SVM)、ISODATA[6]等各种分类方法。但是传统的分类模型容易出现过拟合问题而且分类效果也不理想,文献[7]将多个分类模型组合起来以提高分类精度。
文献[8]在2001年提出了一种全新的集成学习技术—随机森林算法(random forest,RF)。国内外很多学者利用随机森林算法对多种遥感数据进行了地物分类研究。文献[9]利用随机森林对Landsat数据和其他辅助地理数据组合成的多源数据影像进行土地覆盖分类研究。文献[10]也讨论了随机森林在LiDAR数据与多光谱影像融合的地物覆盖研究,并分析了随机森林变量的重要性。文献[11]以Landsat ETM+多光谱影像数据作为研究对象,讨论了随机森林、Boosting、Bagging和CART几种分类方法在精度上的差异,试验结果表明随机森林的分类精度与CART相比有明显的提高,与Boosting和Bagging分类精度相当。大量的理论与试验证明:随机森林算法在各种数据源影像的分类处理问题中均有着优良的表现,分类精度较高。因此,本文提出基于随机森林算法的多光谱LiDAR数据地物分类研究。
本文试验数据是由加拿大Optech公司的多光谱LiDAR系统Optech Titan提供。该系统包括3个波段的激光脉冲通道(分别为:532 nm波段(GREEN)、1064 nm波段(NIR)和1550 nm波段(MIR)),能够提供地面目标物体的激光反射强度信息和高程信息。试验数据包括该系统提供的3个独立的激光点云,每个波段的平均点密度近似为3.6点/m2。本文研究区域是加拿大安大略省惠特彻奇-史托维尔的一个小镇,图1为该区域的Google高空间分辨率遥感影像, 研究区域面积约为1990 m×1603 m,主要有建筑物、草地、树木、道路、水体和裸地6类地物。
首先采用文献[12]中的方法将3个独立点云数据集合并成单一点云数据,其中每个激光点包含这3个波段的地物反射信息。为了提高融合后点云数据的处理效率,按照距离加权平均插值法对离散多光谱LiDAR点云数据进行插值处理[13],将包含3个波段信息和高程信息的多光谱LiDAR点云分别内插为3个单独波段的强度影像、高程影像和多光谱影像,如图2所示。根据每个波段平均点密度3.6点/m2,二维影像的分辨率设置为0.5 m。本文根据内插的二维多光谱影像和高程影像进行地物分类研究。
随机森林算法(random forest,RF)包括大量的决策树、分类树和回归树,既能够应用于分类研究,也能够处理回归分析问题。随机森林算法实现过程如下:①从原始的样本数据集中随机选取n个bootstrap样本作为训练数据,未被抽到的样本集作为测试数据。②建立每一个bootstrap随机样本的决策树模型。在每棵决策树的节点处随机地从总特征中选取mtry个特征(mtry≤n,其中n为特征变量总数)。③每棵决策树都会产生一个预测结果,将所有决策树的预测综合再通过多数投票表决的方法得到最终的分类结果。一般来说,在构建随机森林模型时,2/3的训练数据(称为袋内(in bag)数据)被用于构造决策树,其余1/3的训练数据(称为袋外(out of bag,OOB)数据)用于测试决策树,以便对其分类性能进行评估,称为OOB误差估计。随机森林模型中的每一棵决策树都会产生一个OOB误差,综合所有决策树的预测得到的平均错误分类称为袋外误差。文献[8]通过大量的研究和试验证明了利用袋外误差预测随机森林模型的内部性能时是无偏的,因此不需要再使用单独的测试数据集验证模型的泛化误差。
特征提取就是选择可以参与分类运算的多个特征,它对分类结果的精度和可靠性影响很大。本文使用多光谱LiDAR的强度影像和高程影像作为数据源,提取其光谱特征、纹理特征和植被指数一共39个特征来进行随机森林分类分析。
根据本文研究区域的6类主要地物类型,以与研究区域对应的Google高分辨率遥感影像(如图1所示)作为参照,结合提取的特征,人工直接从融合的多光谱影像上选取一定数量的样本。随机森林算法对训练样本的数量很敏感,为了研究样本数量对分类结果精度的影响,对每个地物类型选取了3组不同数量的训练样本,分别记为sample1(1000个像元)、sample2(500个像元)、sample3(200个像元),每个地物类别的样本数量逐渐减少。
本文利用R语言编程对多光谱LiDAR数据进行随机森林分类。分为3个试验:①为了研究样本大小对分类结果的影响,对所选取的3组样本sample1、sample2、sample3分别进行随机森林分类,根据分类精度分析随机森林分类器的分类性能。②为了选择分类性能最佳的特征,通过后向特征选择消除不重要的特征再重新分类,迭代直到模型误差最小,然后通过分类精度分析随机森林的特征选择性能。以sample1的随机森林分类为例,根据OOB误差计算分类结果的特征贡献度。③为了分析随机森林在多光谱LiDAR数据地物分类中的性能,与支持向量机分类方法进行对比试验。
构建随机森林模型时需要人为地设置两个重要参数的取值:①森林中的树数ntree(number of trees),该值与随机森林模型的收敛性及运行时间成正比,由于随机森林算法计算速度快且不会出现过拟合问题,因此ntree的值应该尽可能的大,但是由于计算机的内存限制,ntree的值通常设置为几百,本文ntree的值设定为100。②决策树中每个节点处使用的特征变量个数为mtry,该值大小与随机森林模型中每棵决策树的强度以及决策树之间的相关系数成正比。经过大量的试验证明,当mtry值设定为总特征数的平方根时分类效果最好,本文共使用39个特征,mtry值应设为6。按以上设置的参数对3组样本数据sample1、sample2、sample3分别进行随机森林地物分类试验,试验结果如图3所示。为了定量地分析随机森林分类精度,以sample1的分类结果为例,分类混淆矩阵见表1。由表1可知,树木类几乎完全被正确分类,分类的精度非常高。而容易与建筑物产生分类混淆的地物类别主要是草地、裸地和道路,容易与草地产生分类混淆的地物类别主要是建筑物和道路,容易与道路产生分类混淆的地物类别主要是水体和建筑物,容易与水体产生分类混淆的地物类别主要是草地和裸地,容易与裸地产生分类混淆的地物类别主要是建筑物和道路。
像元
表2为利用混淆矩阵分别计算sample1、sample2、sample3的随机森林地物分类精度。由表2可知,随着训练样本数量的减少,随机森林分类的精度也随之降低,表明随机森林算法更适用于大样本分类的情况,但是随着训练样本数量的增多,虽然分类精度有所提高,但相应的运行时间也会增加。因此,分类时选择合适的样本大小对分类精度的影响很大,需要根据精度要求和数据特点选取适当的样本数量。
表2 不同训练样本下的随机森林分类精度
分类特征数量与分类结果精度和分类模型的结构复杂度一般成正比。但是,当分类特征数量过多时,不仅使得分类器的结构复杂,难以实现,分类精度也可能不理想。因此,有必要确定分类特征的类型和数量。随机森林算法可以计算特征变量对分类结果包括分类模型和每个样本类别的重要性,还可以根据OOB误差计算特征变量对一般分类模型的影响程度。依据OOB进行误差估计后可知,对分类结果贡献比较大的前6个特征变量分别为高程(Elevation)、532 nm波段(GREEN)均值(mean_GREEN)、高程均值(mean_ele)、1550 nm波段(MIR)均值(mean_MIR)、高程自相关(correlation_ele)和1064 nm波段(NIR)均值(mean_NIR)特征。
为了选择分类性能最佳和不相关的特征以获得较高的分类精度,采用后向特征选择方法[14]通过迭代逐个消除不必要的或部分相关的特征。首先根据OOB误差计算特征重要性并按数值大小从高到低进行特征变量排序,对最不重要的特征变量进行迭代消除。每次迭代,消除后20%的特征变量。然后利用消除后的新特征变量重新进行随机森林分类,根据OOB误差计算新特征变量对分类结果的重要性并进行排序。该迭代过程一直执行到获得最高分类精度的特征集为止。本文一共进行5次迭代, 第1次和第5次迭代的随机森林分类结果如图4所示。表3为利用后向特征选择的随机森林分类结果的总体精度和Kappa系数,由表3可知,随着特征数量的减少,随机森林分类结果的总体精度和Kappa系数均有所提升,直到分类特征数量为16时,分类精度达到最高。但是当特征数量减少到13时,总体精度和Kappa系数开始减小,说明过多地去除特征会使精度下降。经过5次迭代,分类特征数量逐渐从39减少到13,同样根据OOB误差计算13个特征变量对最终分类结果的贡献度可知,对分类地物目标贡献度比较大的几个特征分别为:均值、高程和自相关特征,这与利用后向特征选择之前的特征贡献度排序结果类似。试验表明,本文采用的后向特征选择法比较可靠,即利用后向迭代消除的特征确实是不重要或部分相关冗余特征。
表3 随机森林分类总体精度和Kappa系数
为了进一步证明随机森林分类方法在多光谱LiDAR数据地物分类中的适用性,将它与支持向量机(SVM)分类进行对比试验。利用3组训练样本sample1、sample2、sample3分别进行支持向量机多光谱LiDAR地物分类,分类结果如图5所示。分别计算三组训练样本支持向量机下的分类精度,见表4。比较表4与表2可知,随机森林分类方法相比于支持向量机分类方法,在总体精度和Kappa系数上均有不同程度的提高,只是在某些类别上,随机森林的生产者精度和用户精度不如支持向量机方法。同时也可以看出,当样本数量逐渐减少时,支持向量机分类的精度反而呈上升趋势,这表明支持向量机在小样本分类上具有优势。因此,当样本数量较少时,应该综合多种因素,选择合适的分类方法处理多光谱LiDAR数据,以获得最佳地物分类结果。
类别Sample1Sample2Sample3用户精度/(%)生产者精度/(%)用户精度/(%)生产者精度/(%)用户精度/(%)生产者精度/(%)建筑物82.4377.2976.5871.6070.8085.92树木98.6397.2094.8995.2598.0797.60草地83.0588.4696.6689.0489.5994.74道路93.3285.9171.6881.8570.8382.93水体82.9694.6590.9982.5193.3097.66裸地87.1585.4075.7782.6898.4856.03总体精度/(%)87.8883.8985.32Kappa系数0.85450.80670.8241
本文提出了基于随机森林的多光谱LiDAR地物分类方法,利用加拿大Optech公司的Titan多光谱LiDAR系统提供的数据,将研究区域内的地物分为建筑物、树木、草地、道路、水体和裸地6类。研究发现:①随机森林算法对样本数量很敏感,且随着样本数量的减少分类精度呈下降趋势。这说明随机森林算法适用于大样本分类,但随着样本数量的增加,相应的运行时间会增长,在实际分类工作中,应该根据需要选择适当的训练样本数量。②利用随机森林算法特征贡献度特性,本文采用后向特征消除方法可在一定程度上消除部分冗余和相关性大的特征,从而可以有效地提高分类精度。③通过与支持向量机分类法对比,随机森林对多光谱LiDAR数据地物分类的精度更高,且进一步验证了随机森林方法进行特征选择的有效性。后续工作将进一步研究如何根据研究区域和精度目标选择适当的决策树个数、节点的特征变量数和最小分裂条件等随机森林模型参数,提高随机森林在多光谱LiDAR数据的解译精度和效率。