1. 引言
机载单通道激光雷达能够快速获取大规模和高精度的地球表面信息,并形成三维点云数据,在地物分类、地形测绘、城市规划、环境监测等许多领域中得到了广泛的应用 [1] [2] 。基于三维高度信息和单波段红外强度信息,点云分类目前已成为遥感、摄影测量和计算机视觉领域的重要研究方向 [3] [4] [5] 。然而,机载单通道激光雷达获取的点云数据缺乏丰富的光谱信息,在细粒度点云分类(例如,草、裸土和道路)中的结果并不理想,通常只能粗略地分为几个类别(例如,建筑物、树木和地面)。因此,激光雷达数据通常与光学图像数据相结合,以更好地实现点云数据的分类 [6] [7] [8] [9] [10] 。尽管激光雷达数据与图像数据的融合提高了点云分类的精度,但研究过程中存在的一些问题(例如,几何配准、目标遮挡等),仍然未得到有效的解决。
多光谱激光雷达系统除了获取三维空间数据外,同时还收集了不同波段强度的信息,在不进行数据融合的情况下提供了更全面、一致的光谱信息,为目标提供多属性特征。目前的研究表明,多光谱点云数据在更细的尺度上可实现更好的地物分类结果 [11] 。近年来,多光谱点云数据被越来越多地应用于分类研究中,根据数据的处理类型,这些研究主要可以分为两大类:1) 基于二维多光谱特征图像的方法,2) 基于三维多光谱点云的方法。基于二维多光谱特征图像的方法是分别栅格化Titan多光谱激光雷达点云数据的光谱信息和高度信息,并在图像上对土地利用类型进行分类。该分类方法将三维数据转换为二维数据,降低了数据处理的复杂性,适用于大面积土地覆盖分类工作。至今,在该情况下学者们已进行了大量的研究工作,可以获得90%以上的分类准确率 [12] - [18] 。然而,点云栅格化为图像的过程中会造成空间信息和光谱信息的丢失,一些物体(例如,植被覆盖下的地面、电线杆、围栏等)的转换出现错误,从而导致分类的不完整,甚至出现不正确的分类结果。此外,已有研究指出,基于点的分类效果优于基于图像的分类效果 [19] [20] 。因此,本研究将基于多光谱LiDAR点云进行三维点云场景的分类研究。
为了充分利用多光谱激光雷达的空间光谱信息,需要合理有效地进行特征提取。目前,对于多光谱激光雷达数据的基于点的分类研究较少 [21] - [27] 。在多光谱激光雷达点云数据上,Wichmann等人 [21] 开创了基于三维多光谱点云的方法,他们重点研究了特定目标的光谱特征,探索了多光谱LiDAR点云在地物分类中的潜力。此外,一些多光谱点云分类研究表明,基于三维多光谱激光雷达点云的方法优于基于二维多光谱特征图像的方法,OA在 [22] 中提高了10%,在 [19] 中提高了3.8%。袁鹏飞等人 [23] 结合多光谱LiDAR点云数据中的光谱信息高度信息,提取了基于强度、密度和平坦度等统计特征,并采用随机森林分类器实现了点云中道路面点云和非道路面点云的有效提取。景庄伟等人 [24] 基于多光LiDAR点云数据的多通道和多次散射回波的典型特性,生成了感兴趣的热力图,根据热力图特征值和nDSM辅助数据对感兴趣地物进行了分类。再采用CNN模型学习结果与面向对象影像分析OBIA分类方法相结合对分类结果进行精化。Wang等人 [18] 提出了一种基于张量表示的三维地物测绘分类模型,该模型利用多光谱点及其邻域点将每个点表示为二阶张量,并引入TMDE算法获取低维空间和光谱特征用于后续分类,表明空间邻域信息在分类中具有关键作用。上述研究仅使用MS-LiDAR直接提供的高度和强度特征,简单的指数特征(例如,植被指数和水指数)和几何特征(例如,线性和平面度)等低级特征对点云进行分类。近期的研究已经从主要的光谱强度特征转向开发更深层的特征挖掘,依据提取的深层特征信息学习推理出原始点云中点的标签,从而实现高效的分类。Li等人 [25] 使用GGM (Graph Geometric Moments)卷积显式地编码点集的局部几何结构,提出了一种可在多光谱LiDAR点云中高效分类出建筑物的网络架构。Briechle等人 [26] 利用PointNet++深度神经网络,结合基于无人机的激光雷达数据和多光谱图像,对多树种和直立枯树进行了分类。Shi等人 [27] 采用邻域点选取的方法提取了多尺度的空域–光谱邻域特征,并对这些特征进行了级联,得到了多光谱LiDAR数据的多尺度邻域空域–光谱特征。由此可见,特征的提取和选择在点云分类中起着重要的作用,但是目前缺少简单的方法来预先确定最佳特征数和最合适的特征,以确保鲁棒的点云分类精度。因此,为了进一步提高点云分类精度,本文将探索直接在三维多光谱激光雷达点云上进行点云分类的深度学习方法。
基于深度学习的方法通常在规则结构化的数据(例如,图像)上进行处理 [28] [29] [30] [31] [32] 。本文中,我们提出了一个改进的PointNet++架构,该架构将SE-Block (Squeeze and Excitation) [33] 集成至PointNet++中,通过显式地建模通道之间的相互依赖关系来重新校准通道方面的特征响应,能够充分顾及地物空间几何结构复杂性及地物光谱反映差异性,得到更为稳健的地物特征表达效果。另外,本文在改进的网络架构基础上利用修正后的焦点损失函数解决了多光谱LiDAR点云数据中类别不均匀分布的问题。本文从2015年Optech Titan采集的多光谱LiDAR数据中选择了14个代表性的区域,并手动进行标注,构建了托伯莫里港口数据集。本文将提出的改进的PointNet++网络架构在托伯莫里港口数据集上进行了评估,同时设计了对比实验,研究多光谱LiDAR数据的可行性和所提出网络架构在点云分类任务中的优越性。
2. 研究方法
2.1. 研究区域及数据集
本文研究区域是位于加拿大安大略省北布鲁斯半岛市里的一个小镇——托伯莫里,该城镇中心区域的经纬度为(45.24˚N, 81.68˚W)。托伯莫里平均高程约为186 m,地势较为平坦。图1为本文数据集的研究区域,该区域主要包括森林区域、水域、居民区和商业区。通过谷歌地图以及目视检查数据集发现,该研究区主要由大量的树木、开阔的草地、山形屋顶建筑、沥青道路、混凝土码头、水体和一些电力线组成,为点云分类研究提供了足够多样的类别。本文使用的数据集由Optech公司生产的Titan多光谱LiDAR传感器于2015年4月采集得到。飞机在高于地面457 m的高度飞行,速度为259公里/小时。Titan传感器的扫描角度为±20˚,该系统以625 kHz的脉冲重复频率和40˚的扫描角(FOV)运行,通过三个通道获取LiDAR点云数据,平均点密度约为58 pts/m2。表1中详细介绍了数据收集参数。Titan多光谱LiDAR传感器包含了1550 nm (C1)、1064 nm (C2)和532 nm (C3)三个通道,每个通道分别代表中红外(通道1)、近红外(通道2)和可见光(通道3)波段。该数据集共采集了10条航带数据,覆盖范围大约25平方公里。

Table 1. Specifications of the Titan multispectral LiDAR system
表1. Titan多光谱LiDAR系统的规格

Figure 1. Study area of the Tobermory Port dataset
图1. 托伯莫里港口数据集的研究区域
2.2. 数据预处理
为了构建可供深度神经网络架构输入的数据集,需要进行两步数据预处理操作(即数据融合和数据注释),如图2所示,数据融合旨在合并532 nm、1024 nm和1550 nm波长进入一个单点云,其中每个点都包含坐标信息和三个波长强度值信息:
。数据注释旨在将多光谱点云数据分类为六个类别(例如,道路、草地、树木、水体、建筑物、电力线),并获得可用于深度学习模型训练的点云数据集。

Figure 2. Preprocessing process of multispectral LiDAR data
图2. 多光谱LiDAR数据的预处理过程
2.2.1. 数据融合
Titan多光谱LiDAR数据由三个独立的点云组成,对应532 nm、1024 nm和1550 nm三个激光波波长,为了充分利用三个波段的反射特性并提高点云的点密度,首先将三个独立的点云合并为一个单一的高密度多光谱点云,每个点包含其自身的强度和其他两个指定的其他波段的强度。由于三个通道采集的激光束偏离最低点方向(+3.5˚、0˚、+7˚)各不相同,导致不同通道采集到同一目标物体的点可能不会完全重合在同一个位置。因此,本研究采用三维空间连接技术解决不完全重合的问题,在三个点云中,每个单波段点云依次作为参考,通过最近邻搜索算法对参考点云的每个点进行处理,从而在另外两个波段的点云中找到其邻域点,然后通过双线性插值方法从另外两个波段的邻域点上获得强度值,接着将合并后的点云中重复的点进行移除,最后得到的多光谱LiDAR点云数据包含坐标信息和三个波长强度值信息:
。
2.2.2. 数据标注
经过数据融合后,得到了可用的多光谱LiDAR数据,我们从融合后的多光谱LiDAR点云数据集中选择了14个代表性的测试区域,其中包括六个类别(即道路、草地、树木、水体、建筑物、电力线)。14个区域约由1017万个点组成。作为一种有监督的方法,我们必须在将每个选定的训练和测试区域输入网络模型之前手动标记它们。本研究通过CloudCompare软件,手动逐点标记六个类别。每个选定区域保存在单独的文件中,其中每个点包含七个属性:坐标(
)、三个波长(
)和类别标签。
2.3. 深度神经网络
2.3.1. 训练样本生成
受RandLA-Net [34] 的启发,我们提出了一种结合最远点采样和k最近邻点(FPS-KNN)的样本生成方法,该方法可有效保持场景的完整性,保证原始场景中的每一个点都被标记,从而生成符合神经网络输入需求的训练样本和测试样本。FPS-KNN生成的样本既满足标准卷积神经网络的输入数据形式要求,又能获得场景的全覆盖。图3显示了FPS-KNN方法的数据处理工作流程。我们将输入的数据定义为点集
,其中x、y、z为坐标值,f为特征向量,如颜色、强度值等。对于给定场景,我们复制一个相同的点集
作为评估点集。首先将点集
归一化至(−1, 1)之间的值,得到一个新的点集,这里定义为点集
;然后从
中任选一点作为种子点a,在
中寻找其k个最近邻点,k值的设置根据样本点的个数来确定(例如:如果每个样本包含4096个点,则k的值配置为4096),并从点集中将当前种子点a和其k个邻近点复制一份,种子点及其k个邻近点保存为一个样本,并从评估点集中删除;接着根据最远点采样原则,在点集
中计算每个点与种子点a的距离,选择最远点a1作为下一个种子点;然后计算点集中其它点与已选种子点a、a1的距离,其中最远距离的点a2作为下一个样本的种子点;最后整合输出样本,检查是否覆盖整个场景,若完全覆盖,则整合所有输出样本,若没有完全覆盖,则继续重复上述种子点选取操作。这样可以从给定场景中获得大量固定点数的样本,这些样本可以直接输入标准深度神经网络中。同时,我们可以确保场景中的每个点都包含在一些样本中,这意味着场景的完全覆盖。我们还注意到一些样本不可避免地重叠。对于重叠部分内的点,我们选择预测最多的标签作为其最终预测标签。

Figure 3. Flow chart of sample generation method based on FPS-KNN
图3. 基于FPS-KNN样本生成方法的流程图
2.3.2. 通道注意力机制(SE-Block)
SE-Block结构的核心主要是利用压缩和激励操作对神经网络中卷积特征通道之间的关系进行建模,并调整通道的权重,从而提高网络产生的特征表示的质量。图4为SE-Block的示意图,其中
为输入数据,
为输出数据,
为输入数据的尺寸(
表示为宽度,
表示为高度,
表示为通道数),
为输出数据的尺寸,
为传统的卷积结构,
表示压缩过程,
表示激励过程。首先进行一个简单的卷积操作
,将输入数据X映射至特征图U中,然后对特征图U进行压缩操作
,其目的是进行空间维度的压缩,通过在特征图上执行全局平均池化操作来获取当前特征图的全局压缩特征向量,将每个维度的通道信息变为一个具有全局感受野的实数,最终得到的输出维度与输入特征通道数相同;其次是激励操作
,该操作类似于循环网络中的门机制,通过两个全连接层和激活函数为压缩过程中输出1 × 1 × C分配每个通道的权重;最后通过通道级乘法操作
对各通道按权重估值进行调整,调整后的通道
进入下一层网络。

Figure 4. Schematic diagram of SE-Block model
图4. SE-Block模型示意图
2.3.3. 修正后的焦点损失函数
多光谱LiDAR点云数据中的类别分布不均匀,数据量较小的类别训练效率较低,这种情况下很难提供有用的学习信号,反而会淹没训练过程,导致模型退化。为了避免过采样和欠采样,常用的方法是在小类别数据中增加采样率,从而提高性能。另一种方法是重置权重,使算法密切关注小类别。焦点损失函数(focal loss function)旨在解决类别不均衡问题。它是一个动态缩放的交叉熵损失,通过一个动态缩放因子,可以动态降低训练过程中易区分样本的权重,从而将重心快速聚焦在那些难区分的样本,目前已广泛应用于图像特征识别,很少应用于三维点云处理。焦点损失函数由交叉熵函数修正,写成:
(1)
其中,
是交叉熵函数,
是平衡正负值重要性的类别权重系数。虽然
可以平衡正负值的重要性,但它不能区分简单是容易还是困难,因此,我们这里选择使用调节因子
。其中,
为聚焦参数,
为模块的估计概率。该策略旨在鼓励模型关注少数类别中的点。
焦点损失函数中,
参数设置如下:
(2)
焦点损失函数中的类别权重系数
为固定值,可以作为超参数处理,也可以用逆向类别频率 [35] 来设置。然而,多光谱LiDAR点云数据中的类别分布很不均匀,对权重因子进行训练并采用逆向类别频率方法的模块受权重大的少数类别的影响较大。同时,超参数方法在很多情况下无法识别。
因此,我们在此基础上进行了修改,该方法根据每个类别中的数量进行计算以获得
。每个类别的权重系数是通过对最大值的反百分比的指数函数来计算的,以增加少数类别的值。tanh函数用于对权重进行归一化:
(3)
其中,
(4)
其中,N表示类别总数,
表示每个类别的百分比,
是归一化后的权重,
表示第t个类别的权重。修改后的焦点损失函数中的表达式如下所示:
(5)
2.3.4. 改进的PointNet++
本研究的模型基于PointNet ++架构 [29] ,添加了通道注意力机制模块SE-Block,并以端到端的方式开发PointNet++ (见图5)以进行多光谱LiDAR点云分类。包含坐标(
)以及三个波段(
)的N个多光谱LiDAR点被直接输入至我们的改进的PointNet++网络架构中,该架构主要由集成抽象模型(set abstraction module)和特征传播模块(feature propagation module)组成。图5内容具体展示了其中一个集成抽象模块。具体而言,集成抽象模块以
的矩阵作为输入并输出具有N1个子采样点的
矩阵,其中包含C1个维度的特征向量,这些向量包含了局部的上下文信息。如图5所示,集合抽象模块由一个采样层(sampling layer)、一个分组层(grouping layer)和一个通道特征注意力层(channel feature attention layer)组成。首先,采样层通过迭代FPS算法选择N1个点作为局部区域的质心。具体而言,将输入的点数定义为
,通过FPS选择一个点的子集
,使得
是相对于其余点而言,距集合
最远的点(以公制距离为单位)。随后,分组层中通过球查询算法(ball query algorithm)搜索N1个质心周围的“相邻”点来构造相应的局部区域。对于每个质心,通过球查询算法,可以在给定半径的球体范围内找到所有的相邻点,如果相邻点的数量大于K,则从该点集中随机选择K个点以构建局部区域。实施采样层和分组层之后,多光谱LiDAR点云数据已下采样至N1个点集中,每个点集包含K个点及其C个属性。输出的一组点集大小为
。随后,我们通过通道特征注意力模块将这些局部区域编码为具有不同重要性的特征向量。对于每一个点,我们通过多层感知器(Multi-Layer Perceptrons, MLPs)提取其特征,随后通过SE-Block强调其重要通道而抑制不重要的通道。具体而言,在SE-Block过程中(图2中红色部分),首先使用最大池化层来压缩N1点云的每个通道,然后使用两个MLP层和sigmoid函数来计算各通道的权重值,范围为0到1,权值越高,通道越重要。最后,激发具有较高权重值的重要通道。为避免权重值接近0时缺少特征的情况,使用短链接对通道特征注意力层的起始数据和最终数据进行特征连接,但是,由于连接的特征尺寸之间存在差异,因此执行卷积操作以匹配短链接连接过程中的尺寸。随后该模型又重复了一遍上述操作以进行多层特征提取,最终获得的数据大小为
。为了将学习到的特征从采样点传播到原始点,我们通过特征传播模块内的反距离

Figure 5. Flow chart of the improved PointNet++ network architecture
图5. 改进的PointNet++网络架构的流程图
加权插值法进行插值,然后使用跳跃链接将插值后的特征和上述采样层前的点特征进行级联。接下来将级联特征输入至类似于MLP的Unit PointNet模块中,并应用一些共享的完全连接层和ReLU层来更新每个点的特征向量。重复上述过程,直到将特征传播到原始点集为止,以获得每个点的最终语义标签。
3. 实验与分析
3.1. 参数设置
本研究中涉及的采样点个数(N)、Batch size、learning rate、decay rate、max epoch以及optimizer等参数分别设置为4096、8、0.001、10−4、200以及Adam。
托伯莫里港口数据集中一共划分了14个有效区域(area_1-area_14),其中area_1- area_10作为训练样本,area_11- area_14作为测试和验证样本。
3.2. 整体性能
我们选取托伯莫里港口数据集中的area_14作为测试区域并进行分类结果可视化展示。图6显示了改进的PointNet++模型在托伯莫里港口数据集area_14上的分类测试结果与真实标注地物的对比图,在两幅图中分别框出了分类结果差异较大的三个区域并将细节提取在图7中。如图6分类结果所示,与真实地物标注数据相比,大多数类别(草地、水体、树木和建筑)都被正确分类。虽然水体类和草地类发生了部分混淆,但可视化结果较为可观。从图7中可以看出,(d)和(f)这两个区域中,部分的道路被错误地分类成草地类,导致这一现象的原因可能是训练样本预处理中的分块过程破坏了道路的整体结构和连续性,网络难以有效地学习到地物完整的几何结构。此外,从(b)区域不难发现,一些树木点被错误分类为电力线点,以及一些包围在树木点中的建筑物被分类为树木,这可能是由于两个类别之间的混合和缺乏明显的界线造成的。
为了进一步评估本文网络架构的分类能力,我们计算了分类混淆矩阵,如表2所示,本文的网络架构在道路、建筑物、草地、水体、树木、电力线这六个类别中均获得了高于70%的OA。特别是树木和水体的分类精度更高,分别为97.55%和96.10%。尽管研究区域包含很少的电力线点,但本文使用修正后的焦点损失函数,动态降低训练过程中易区分样本的权重,将重心快速聚焦在那些难区分的样本,从而更有效地识别了数据中的电力线点。

Figure 6. Comparison chart of land cover classification test results of the improved PointNet++ network architecture on area_14 of the Tobermory Port dataset: Left-hand picture is the real marked ground object in the test area; Right-hand picture is the test visualization results of the improved PointNet++
图6. 改进的PointNet++模型在托伯莫里港口数据集area_14区域上的地物分类测试结果对比图:左图为测试区域的真实标注地物,右图为改进的PointNet++的测试可视化结果

Figure 7. (a), (c) and (e) are the actual labeled feature details of area_14; (b), (d) and (f) are the detailed classification results of the improved PointNet++ model
图7. (a)、(c)和(e)为area_14的真实标签地物细节图;(b)、(d)和(f)为改进的PointNet++模型的细节分类结果图
表2中列出了PointNet ++模型分类结果的混淆矩阵。从表2和表3的结果对比发现,改进的PointNet++模型在道路点(占所有点的2.06%)的分类结果上提升了20%,在建筑物点(占所有点的2.10%)的分类结果上提升了20%,在电力线点(占所有点的0.42%)的分类结果上提升了14%。

Table 2. Confusion matrix of the improved PointNet++ model classification results
表2. 改进的PointNet ++模型分类结果的混淆矩阵

Table 3. Confusion matrix of the PointNet++ model classification results
表3. PointNet ++模型分类结果的混淆矩阵
3.3. 比较实验
为了公平地评估本文改进的PointNet++网络架构的鲁棒性和有效性,本文将其与其他具有代表性的深度神经网络模型进行了比较,包括PointNet [28] 、PointNet++ [29] 、DGCNN [30] 、GACNet [31] 和RSCNN [32] 。尽管这些模型在点云分类和语义分割方面取得了优异的性能,但它们尚未在包含复杂城市地理特征的大规模多光谱LiDAR点云上进行测试。因此,本文复现了上述五个网络模型,并在托伯莫里港口数据集上进行了分类实验。实验过程中的基础参数设置一致,本文改进的PointNet++模型与其他五个网络模型的定量比较结果如表4所示。

Table 4. Comparison of land-cover classification results of the improved PointNet++ model with other five models (PointNet, DGCNN, RSCNN, GACNet and Our Model) in the Tobermory Port dataset
表4. 改进的PointNet ++模型与其他五个模型(PointNet、DGCNN、RSCNN、GACNet、Our Model)在Tobermory港口数据集的地物分类结果比较
如表4所示,我们改进的PointNet++模型达到了OA (95.21%)、mIoU (62.59%)和F1-score (73.58%)的最佳精度,而DGCNN在Kappa系数上取得了较好的结果。与PointNet ++相比,我们模型的性能有了显著提高,OA提高了1%以上,F1-score提升了2%,尤其是mIoU值提高至62.59%。
4. 结论
多光谱LiDAR点云数据提供了几何信息和多波段信息,有助于识别不同的地物。在本研究中,探讨了深度学习分类方法在多光谱LiDAR点云数据中的应用,在托伯莫里港口数据集上通过结合最远点采样和k最近邻点(FPS-KNN)的样本生成方法获得了可训练样本;接着将通道注意力机制模块Squeeze and Excitation Bock (SE-Block)嵌入至PointNet++模型中,从而强调重要通道并抑制不利于预测的无用通道,提高了特征的显著性;最后,使用改进的焦点损失函数来处理多光谱LiDAR点云数据上不均匀类别分布的问题。实验表明,本文提出的网络架构获得的总体准确度(OA)、mIoU、F1-score和Kappa系数分别为95.21%、62.59%、73.58%和0.918。此外,与目前已有的五个深度学习模型的比较实验证实,我们提出的方法在多光谱LiDAR数据的地物分类中表现出更鲁棒、更准确的性能。