作者:宋秀容、全雪贞、张洁、赵闯姓
来源:地理空间信息
编辑:郑欣欣@一点人工一点智能
原文:结合局部与全局特征的点云语义分割卷积网络
00 摘要
点云语义分割在许多与点云相关的应用程序中具有重要作用,特别是对于机载激光点云,精确的注释可大大扩展其在各种应用中的用途。然而,受限于传感器噪声、复杂的对象结构、不完整的点和不均匀的点密度,准确而有效的语义分割仍是一项艰巨的任务。因此,提出了一种结合局部与全局特征的机载激光点云语义分割网络。
首先利用改进的渐进三角化不规则网络致密化滤波算法将点云划分为地面点和非地面点,然后针对非地面点分别提取局部和全局特征,再聚合局部特征和全局特征并获得点标记结果,最后基于图优化模型进行语义标签优化。
为评估该方法性能,在一个大规模机载激光点云数据集中进行测试实验。结果表明,该方法在DALES基准数据集上的总体精度可提高至97.4%,对8个语义类进行分类,mIoU为78.2%。与其他较前沿方法相比,该方法可实现更高的分割精度。
01 引言
三维激光扫描系统作为对地观测系统中数据收集最重要的技术之一,具有快速获取大规模、高精度地面信息的优势,且在各种地理信息产品(城市规划、环境监测和电力线检测等)生产中起着越来越重要的作用。通过机载三维激光扫描系统对城市进行扫描,可直接获取具有坐标和几何属性(如强度)的大规模三维激光点云。从点云中提取各种类型的地理信息首先需对点云进行语义分割。
然而,由于传感器噪声、复杂的对象结构、不完整的点和不均匀的点密度,准确而有效的点云语义分割仍是一项艰巨的任务。
早期的机载激光点云分类问题主要通过机器学习的方法解决。通常点云分类任务是先局部和全局提取代表点特征,再利用学习到的特征表示将每个点分类为预定义的语义类别。这些方法首先计算几何特征,然后通过特定的分类器最大程度地区分各种语义特征,从而实现逐点语义分割;但原始点云的特征计算能力有限,且过于依赖特定的先验信息或规则,独立估计每个点的局部特征并生成标签预测,并未考虑邻域点之间的标签一致性,因此语义分割结果易受噪声和标签不一致的影响。
一些研究试图通过马尔科夫随机场和条件随机场等优化模型整合上下文信息,增强标签平滑度以提高性能;但这些基于机器学习的点云分类方法综合利用手工制作的特征来表征输入点云中的每个点,当应用于大规模野外场景时,它们的泛化性有限。
近年来,深度学习方法在场景分类、目标检测、变化检测、高光谱图像分类等应用中均取得了显著成功。
顺应这一趋势,研究人员一直将注意力转向采样一些深度学习模型解决三维点云语义分割问题。例如,为了利用卷积神经网络(CNN)的强大功能,有些方法将原始点云投影到二维图像中,再利用传统的CNN机载点云分类,通常需要手工制作的特征来增强二维特征图像表示,且由于三维到二维转换过程中的信息丢失,分类性能受到限制。将无序点云体素化为规则三维网格的方法是处理点云以适应深度神经网络的替代方法,如Schmohl S等先将ALS点云体素化,再投入到子流形稀疏卷积网络进行处理。然而,体素化不可避免地导致信息丢失并生成伪影,对三维特征的学习产生负面影响。此外,存储在体素结构中的大量未占用网格将导致高内存需求。
一些研究人员也尝试直接在原始点云上应用卷积算子,并利用深度神经网络学习高级点特征,如Yousefhussien M等提出了一个完全卷积网络,它将输入点云的原始坐标和从相同位置的地理参考图像中提取的3个附加光谱特征作为输入,用于逐点分类;WANG S等开发了多尺度深度神经网络,以实现更强大的特征学习,并进一步提高了点云分类性能。这些方法首先利用共享的MLP网络提取每点特征;然后利用下采样块将每个点的特征聚合到基于集群的特征中;最后利用另一个MLP网络后跟Softmax分类器进行逐点分类。WEN C等提出了一种用于点特征提取的方向约束卷积算子,并设计了一种用于点云分类的多尺度全卷积网络;Arief H A等开发了Atrous XCRF模块来增强原始PointCNN模型,并在机载LiDAR点云分类方面开发了有益性能。
在林业领域,WANG Y J等提出基于KNN搜索的三维点云语义分割方法,改进了现有方法在局部点云特征提取方面的不足,有效提高了语义分割的精度。尽管这些基于点云的方法在机载激光点云分类方面取得了出色效果,但由于点云数据的密度分布不均匀,它们不能充分识别细粒度的局部结构。为了解决该问题,LI X等利用密度感知卷积将每个点的逆密度馈送到另一个MLP网络以进一步增强,并采用上下文编码模块正则化器对全局语义上下文进行正则化。
考虑到点云的固有拓扑信息,这两年研究人员将图卷积神经网络用于无序三维点云分类。图形化模型可自然地表示三维场景,再将图形结构化的数据嵌入新设计的网络中。梁振明等提出了一种多尺度动态图卷积网络,首先利用最远点采样方法采样三维点云数据集的代表点,降低模型计算复杂度;然后利用不同尺度的K最邻近节点聚合方式对图中每一个中心节点的K最邻近节点进行定位;最后利用边卷积操作对中心节点及其邻接节点的局部属性特征进行提取与聚合,实现点云分类。
为了顾及点之间的全局上下文关系,WEN C等提出了一种用于机载激光点云分类的全局局部图注意力卷积神经网络。该网络结合了边缘注意力和密度注意力的局部注意力模块,以及全局注意力模块。局部边缘注意模块根据相邻点的空间位置关系动态地学习卷积权重,卷积核的接受场可以动态适应点云的结构;局部密度关注模块解决了非均匀采样点云数据的密度分布不均匀问题。
为了更好地获取点云的全局上下文信息,通过计算每两个点之间的欧氏距离来实现全局关注模块,并利用MLP网络来学习它们的关注权重。最近,注意力机制变得越来越流行,因为它可提供参数的重要性分数,有助于改善判别特征和抑制干扰。HUANG R等研究了远程空间关系和通道关系的重要性,首先利用局部空间差异注意力卷积模块学习局部几何描述和局部依存关系,然后研究由空间关系感知注意力模块和通道关系感知注意力模块组成的全局关系感知注意力模块,进一步了解二者之间的全局空间和通道方向关系。
02 研究方法
本文方法主要由4个模块构成(图1):①地面点提取,通过改进的渐进三角化不规则网络致密化滤波算法将点云划分为地面点和非地面点;②局部特征提取;③全局特征提取;④标签细化。执行图结构优化算法,通过构造加权间接图并利用图切割解决优化问题来实现初始语义标记结果的空间平滑。
2.1 地面点提取
由于机载激光雷达系统的扫描方式和激光脉冲重复率高,地面点占据了整个场景的很大一部分。大量的地面点不仅扩大了提取非地面目标的搜索区域,而且增加了空间复杂度,降低了处理速度。因此,区分地面点和非地面点是处理原始数据的一个初步但至关重要的步骤。为减少待处理的数据量并考虑大场景中的地形波动,本文采用了一种改进的渐进不规则三角网致密滤波算法。该算法可快速有效地从各种点中去除地面点云场景,特别是结构复杂的区域。地面和地上目标点的分离效果如图2所示。
2.2 基于局部区域的点特征提取
PointNet及其衍生算法难以在复杂城市场景中进行有效的大规模机载点云分类。对于一个网络的训练和推理,分裂和采样的过程是不可避免的。然而,这个过程中可能会产生伪影,小物件被切成小块,但该过程无法提供足够的信息来识别小块。
为了提高网络处理不同尺度对象的能力,本文通过分层数据增强方法来增强PointNet++处理复杂三维数据的能力。分层采样策略为对象完整性和细粒度细节提供了一种权衡解决方案,即首先在训练阶段,对用于训练的整个点云重复实施3轮细分,每轮子点集的尺度不同,子点集以固定的点数呈现,换句话说,每一轮细分将使用不同的尺度来约束子点集的大小,以便将点云细分为具有预定义和固定点数的非重叠子点集,经过3轮细分后,整个场景以不同尺度的子点集呈现,在下采样步骤之后,所有子点集均被馈送到网络中,以确保以一致的方式提供输入,可使训练网络在处理范围广泛的对象时具有更强的泛化能力;然后对用于测试的点云进行相同的细分和下采样处理,训练和测试过程的区别在于,不同尺度的细分点集没有一起输入网络,输入每个尺度中的子点以获得深层特征,再对原始点云中不包含在网络输入中的点进行插值以获得深度特征向量,因此所有不同尺度细分的点均可分配一个包含不同级别上下文信息的深度特征向量;最后可将来自不同尺度的深度特征连接起来,形成一个多尺度的深度特征向量。
2.3 全局信息嵌入
由于每个卷积层只有一个局部感受野,且逐点特征不能编码局部区域之外的信息和对象之间的关系,因此逐点特征仅代表局部几何,不足以探索大型物体的内在结构和物体之间的相互作用。缺乏全局上下文限制了ALS点云中户外场景的逐点预测网络性能。为了获得更好的性能,从全局角度来看,对象级别的空间依赖性应被利用并与局部几何特征相结合。受超点图的启发,本文在由几何同质点组成的段上构建图以捕捉对象之间的关系。通过结合分段特征和逐点特征,网络自适应地编码局部—全局特征,从而在ALS数据集上实现更好的语义预测。
首先,通过无监督算法在训练前基于预定义的几何特征和强度将点云分割成块。与在训练期间根据更新的特征动态聚类点的神经网络不同,该网络采用固定的图结构,且所有段标签都继承自初始分割。这种固定结构的计算效率更高,因为它不会为每次训练迭代在高维特征空间中搜索KNN邻居。然后,根据段标签将获得的逐点特征聚合到节点特征M \in R^{N_s \times C_3} ,其中N_s 为场景中的段数。在一个点云块内,节点特征被计算为所有块中点特征的平均值。对于每个节点\{s_{ij}| j<(N_s-1)\} ,与场景中的所有其他节点构建一个图。中心节点s_i 的特征用m_i \in R^{C_3} 表示,S_{ij} 的特征用m_i \in R^{C_3} 表示,边缘特征用e_{ij}=m_i-m_{ij} 表示。利用边缘条件卷积捕获不同段之间的上下文信息,并通过softmax归一化以获得全局注意力图\mathcal{W} \in R^{N} 。最后,受PointNet++的启发,基于上述融合局部与全局特征的卷积模块,以端到端的方式开发了编码器—解码器,将包含与原始点集相同数量的多层次特征几何送入1×1卷积,以获得每个点的语义标签。
2.4 全局图优化
分类结果缺乏一致性,需要考虑更多的上下文信息来优化结果。本文将点云最优分类标签配置的解决方案形式化为马尔科夫随机场(MRF)的最大后验概
率估计问题,表述为能量函数最小化,即:
其中,E_{data}(L) 为一阶数据项,用于衡量标签与原始数据之间的差异;E_{smooth}(L) 为二阶平滑项,主要描述基于局部上下文信息的局部邻域中标签的不一致;λ为一阶能量项与二阶能量项之间的权重系数。
现有方法不能直接使用特定的数学模型来表达和优化MRF模型问题,因此概率分布问题被转化为能量函数,点云分类的最优解则通过最小化能量函数获得。迭代条件模型、模拟退火等大多方法在解决方案质量方面均取得了相当好的结果,但对于大规模点云,采用较大的K值仍会带来巨大的计算负担,因此本文通过图割算法对能量函数进行最小化。该方法在每次迭代中修改标签,减少迭代次数,以实现高效的能量优化计算。
能量函数的计算主要包括一阶和二阶项。一阶能量函数主要衡量预测值与真值的不一致性。本文以局部最优特征的后验概率估计来表示能量函数,即:
根据邻接关系计算相邻边的权重,再计算二阶能量函数,计算公式为:
为了选择最优λ,即均衡数据项和平滑数据的系数,本文分析了λ对数据集A标记性能的影响。将λ分别设置为0.5、0.75、1.0、1.25、1.5、1.75和2,通过多次测试,初始标记结果随着λ的变化而改善,当λ=1.5时,分类精度达到峰值。较大的λ意味着对使用的类别数量施加更多的成本,但可能会导致标记点云结果过于平滑;而较小的λ意味着对该区域使用的类别数量的惩罚较小,将导致无法有效纠正的错误标签数量较多;将λ设置为1.5可达到平衡,并获得最高的分类精度,从而获得有希望的精细标记结果。初始标签通过\alpha-expansion算法进行调整,主要是将错误的类别合并到大多数周围的类别中,从而减少局部分类的不一致性。
03 实验结果与分析
3.1 实验数据与评价指标
本文通过Dayton Annotated LiDAR Earth Scan(DALES)数据集评估本文方法的性能。DALES数据集是ALS基准数据集,拥有超过5亿个手工标记的点,跨越10km^2 的区域;是最广泛的公开可用ALS数据集,其点数是其他当前可用的带注释的航空点云数据集的400倍以上,分辨率是其他数据集的6倍,平均点密度约为50点/ m^2。在数据集中考虑了地面、植被、汽车、卡车、电力线、电线杆、围栏和建筑物8类对象,共包含40个切片,其中29个用于训练、11个用于测试。每个瓦片覆盖0.5km^2 的区域,约包含1 000万个点。DALES数据集提供了大量专家验证的手工标记点,用于评估新的三维深度学习算法,有助于将当前算法的重点扩展到航空数据。本文采用交集(IoU)、总体精度(OA)和平均IoU(mIoU)3个指标评估本文方法的性能,利用IoU评估每个类别的分类性能,利用OA和mIoU来评估方法在整个测试数据上的性能。
3.2 实验设定
实验硬件环境为两块Nvidia RTX 1080Ti,RAM为16GB。软件环境采用ubuntu16.04下的CUDA10.2 + CUDNN7.6.5 + Python3.6 + Anaconda3.6 + Pytorch1.0。DALES数据集是一个较庞大的数据集,因此本文对其进行了划分,所有数据被细分为20 m×20m的子块,没有重叠。为了满足网络的输入要求,将每个子块的点重新采样为大小为8192的点集。训练期间批处理块的大小为1000,批量大小设置为8,模型的初始学习率为0.02,学习衰减率为0.9,训练迭代次数为500次。
3.3 实验结果
DALES数据集部分点云的语义分割结果如图3所示,其中图3a为原始点云可视化,由每个点的高程着色;图3b为语义分割结果,不同类别以不同颜色点缀,可以看出,本文方法在大规模城市机载点云语义分割方面具有良好的性能,但仍存在一些路边设施识别错误的案例,大多数错误案例是由场景复杂和不完整对象的欠分割引起的。
KPConv、PointNet++、SPG、ShellNet、Po-intCNN和本文方法的分类结果如表1所示,可以看出,KPConv架构在DALES数据集上的OA和mIoU最高,具有更强的表现,本文方法也取得了令人满意的分类结果,排名第二;存在两个大批次的对比度低,被错误分类,原因之一可能是块大小的选择。尽管本文方法倾向于从全局其他点学习远程依赖关系,但连接仅限于块大小的边界框内。对于大规模数据集,小块大小足以正确获取小对象的上下文信息;但对于大对象,小块不足以提供重要的上下文信息。同时,大块大小会增加内存和运行时间。KPConv架构与其他方法(Superpoint Graphs除外)的区别在于其不依赖于在边界框中选择固定数量的点,这可能也是KP-Conv在DALES数据集上表现更好的原因。
注:每个类别的OA、mIoU和IoU中的最高值用粗体标记。
3.4 消融实验
为评估本文方法每个模块的有效性,本文设计了一个消融实验来比较5个模型:①没有全局和局部特征的模型(w/o global,w/o local);②有全局特征模块但没有局部特征模块的模型(w global,w/o lo-cal);③没有全局特征模块但有局部特征模块的模型(w/o global,w local);④结合全局和局部特征模块,但没有后端优化的模型(w global,w local,w/o lr);⑤完整的架构(w global,w local,w lr)。5种模型的分类结果如表2所示,可以发现,每个注意力模块都在一定程度上提高了分类性能。
注:粗体文本表示性能最高的模型。
为验证地面点提取对语义分割结果的影响,本文设计了另一个消融实验,即分别将分离了地面点的点云场景和未分离地面点的点云场景投入到语义分割网络中。实验结果如表3所示,不难发现,预先提取地面点,不仅没有降低整体语义分割精度,反而有效提高了算法的整体运行效率。
04 结语
本文提出了一种直接应用于非结构化三维点云的新型机载激光点云语义分割网络。该网络分别考虑了局部结构特征和全局上下文信息,并通过一组对比实验验证了其有效性。本文方法能根据点云的局部结构动态学习卷积权重,同时考虑点云的不平衡密度分布和所有点之间的空间关系。在DALES数据集上将本文方法与其他较先进的模型进行了比较,结果表明本文提出的模型优于大多数流行的点云分类模型,并在OA和mIoU方面实现了较先进的性能。