摘要
针对点云语义分割中,传统的图神经网络算法存在监督精度要求高、节点标签传递只能单向、未考虑全局信息等缺陷,本文提出一种基于双向注意力机制的点云语义分割方法.首先,将点云超分割为超点并建立超点图,从而将点云分类问题引入超点图网络框架中.然后,利用双向注意力模块,交替关注超点,根据邻接超点的权重更新超点特征,实现信息的双向传递.与以往的图池化方法不同,本文同时引入最大池化和平均池化,并将池化特征结合.最后,使用公开数据集Semantic3D进行训练和实验.结果表明,本文提出的方法可以有效地对标注误差进行纠正,同时耦合局部特征和长程信息,数据集的平均交互比(mIoU)和总体准确度(oAcc)分别为75.4%和95.1%,相比现有方法体现出更完善的标签传递机制和更高的分类精度.
Abstract
To address the deficiencies of traditional graph neural network methods in point cloud semantic segmentation,such as high requirements for supervision accuracy,one-way only node label propagation,and neglect of global information,this paper proposes a point cloud semantic segmentation method based on bidirectional attention mechanism.Firstly,the point cloud is over-segmented into superpoints and a superpoint graph is constructed,thus introducing the point cloud classification problem into the superpoint graph network framework.Subsequently,the two-way attention module is utilized to alternately focus on superpoints and update their features according to the weights of neighboring superpoints,enabling the two-way information propagation.Unlike previous graph pooling methods,this study applies both maximum pooling and average pooling,and combines their pooled features.Finally,the public dataset Semantic 3D is used for training and experiments.The results show that the proposed method can effectively correct labelling errors while coupling local features with long-range information,and the mean Intersection over Union (mIoU) and overall Accuracy (oAcc) of the dataset are 75.4% and 95.1%,respectively,exhibiting a better label delivery mechanism and higher classification accuracy compared with existing methods.
0 引言
随着激光雷达扫描技术的持续发展,点云成为表征城市地物的一种重要数据.然而,三维点云具有非结构性、数据点无序、稀疏性等特点,自动有效地进行点云语义分割仍然是一项极具挑战性的任务[1-4].近年来,图神经网络快速发展,且因其具有端对端学习、擅长推理、可解释性强、具备语义可视化能力等优点,使其在计算机视觉、自然语言处理和生物医疗等领域应用广泛.学者们将点云引入图结构,依靠图神经网络优秀的推理能力,对点云特征进行提取与更新,从而实现点云分类.
基于图结构的点云,主要分为两大类别:1)直接将原始点云引入图结构.该类方法最经典的是Wang等[5]于2019年提出的动态图卷积神经网络(Dynamic Graph Convolutional Neural Network,DGCNN).DGCNN将点云表示为图结构,并利用边缘卷积捕获中心点与相邻点之间的局部关系,有效地从点云中提取局部特征.但该方法使用固定卷积核提取所有尺度的特征,导致提取到的特征差异性较弱.为了增强特征差异,Zhai等[6]于2020年提出一种多尺度的图卷积网络架构,使用不同尺度的图卷积核分别提取多尺度特征,再将提取到的特征聚合,提高了模型的鲁棒性;Zhang等[7]于2021年将每层动态图的输出连接起来,有效地解决了梯度消失问题;2022年,Graph-PBN[8]使用PointNet与图卷积并行计算,分别提取局部特征和语义特征,再将二者结合,提高了分类精度.2)将点云预分割为超点,引入超点图结构.该类方法可以对点云进行稀疏化表示,极大地提升了训练速度.最为经典的是Landrieu等[9]提出的SPG模型,它将点云分类工作简化为超点分割、超点嵌入和上下文分割三个问题,实现了对点云标签的预测.该类方法的后续改进,主要针对点云预分割时特征描述子的设计[10-12].2021年,Chen等[13]提出HAPGN,利用邻域点之间的差异计算不同的权重,同时利用分层图池模块学习全局特征.
目前基于图结构的点云分类面临两个挑战:1)伪标签传递通常为单向,在初始伪标签错误的情况下,容易造成累积误差;2)使用最大池化函数获取全局信息,导致信息丢失过多,全局信息表示不足.针对上述问题,本文提出了基于图注意力机制的双向标签传递模块,交替关注超点并计算邻接超点的权重,实时更新超点特征并纠正错误标签;同时,引入最大池化和平均池化结合的图池化方法,提取不同尺度下的全局特征和长程信息,并与局部特征有效结合,提高语义分割精度.
1 总体网络框架
网络总体设计如图1所示.网络的输入为原始点云,通过点云超分割将原始点云分割为超点,并通过超点间的邻接关系构建超边,进而形成超点图,从而将点云分类问题纳入图神经网络中.
将OSM(Open Street Map)建筑物标签数据与超点图配准,对超点图中的建筑物超点进行标注.主体结构类似于PointNet[14],主要分为编码-解码两个阶段.编码阶段共有四层,上一层的输出作为下一层的输入,每一层均依次通过双向注意力模块和图池化模块.其中:双向注意力(Two-Way Attention,TWA)模块的作用是实现权重计算和特征更新;图池化(Graph Pooling,GP)模块的作用是降采样并提取全局特征,通过不同尺度的降采样产生不同尺度的超点图,并提取不同尺度下超点图的全局信息和长程关系.解码阶段也有四层,每层都利用插值将降采样后的超点图逐层恢复到原始尺度.本文利用映射关系,将编码阶段提取到的不同尺度的全局特征逐层插入到同尺度的超点图中,并与超点的局部特征结合.
最后将更新后的超点特征输入分类器,实现超点类别的确定.对于点云类别的确定,本文将超点内部的点云类别与超点保持一致.

图1总体网络框架
Fig.1Overall network framework
2 方法
2.1 超点图构建及特征嵌入
1)超点图构建
以Landrieu等[9]提出的方法为基础,手工设计点云特征描述子,采用点云超分割方法将具有同质特征描述子的点云分割成超点,再利用原始点云之间的邻接关系构建超点之间的邻接关系即超边,进而构建超点图.超点图是点云的几何表示,具体定义为G=(V,E),V表示由几何特征相似的点分割而成的超点,超边E表示邻接超点之间的空间连接关系[15].分割操作可以看作Potts分割函数的优化结果:
(1)
其中:fseg∈R4为激光雷达点云表征特征,由点云邻域定义的协方差奇异值分解计算得到;(i,j)∈E表示第i个点云与第j个点云相邻;优化结果g*是具有重复分量的张量,相同张量的连通区域为超点;λ为超参数,是一个用于权衡分割数量与分割形状的调整参数.
超边的形成主要利用原始点云之间的邻接关系.如果两个点云邻接,则包含这两个点云的超点也视为存在邻接关系,如式(2)所示:
(2)
其中:是超点之间的边集合;V和U表示超点;表示所有超点对所在的集合;i、j分别表示超点V、U中的任一点云;表示狄洛尼三角网中所有边的集合.
2)特征嵌入
在超点图中,每个超点包含的点云数量和特征各有区别,需要将超点内点云的数量和特征进行统一提取作为超点特征.文献[16]提出超点特征提取需要将超点内的原始点云进行降采样以提高提取速度.因此,综合考虑训练速度和分割精度,本文选择将点云降采样到128个点,再利用PointNet提取超点内所有点云的特征作为超点特征.同样,超边也需要嵌入特征,以便在后续的标签传递阶段为邻接超点确定不同的权重.超边的特征嵌入同样利用PointNet,为超边嵌入13维特征描述子.如表1所示,超边特征描述子重点描述了两个超点之间的空间、几何特征差异,这也是后续计算权重的基础.
表1超边特征描述子
Table1Hyperegde feature descriptors used in this study

2.2 双向注意力模块
借鉴文献[17]的研究,在超点图的基础上,将超点图与OSM中的建筑物标签配准,即:在相同坐标系下,将与OSM建筑物面矢量数据重叠的超点标注为“建筑物超点”.标注后,全部超点被分为两个集合:被标注的超点集合S和未被标注的超点集合U.后续利用图神经网络传递标签,更新两个超点集合的特征[17].在标签传递阶段引入双向注意力模块(图2).首先将注意力集中在标注超点上,利用特征差分计算与其邻接的未标注超点的权重,并利用上述权重更新标注超点的特征;紧接着将注意力集中在未标注超点上,利用上一步生成的标注超点的新特征,同样利用特征差分计算其对未标注超点的权重,并利用权重更新未标注超点的特征.
双向注意力模块的具体操作为:首先将注意力集中在标注超点上,利用标注超点S与未标注超点U之间的特征差(即2.1提到的超边特征),计算非标注超点对标注超点的权重,如式(3)所示:
(3)
其中:fi表示标注超点特征();hj表示未标注超点的特征();E(fi,hj)表示嵌入的超边特征;φ表示多层感知机.之后利用式(3)得到的权重,计算标注超点集的新特征F′(f′1,f′2,f′3,···,f′i),如式(4)所示:
(4)
其中:Hj表示未标注超点的特征集合;表示未标注超点对标注超点的权重集合(α(i,j)∈A(S,U));⊙表示逐元素相乘.
得到标注超点的新特征后,将注意力集中到未标注超点.需要注意的是,该轮计算特征差时,需要用更新过的标注超点特征.计算标注超点的新特征对未标注超点的权重:
(5)

图2双向注意力模块
Fig.2Two-way attention module
其中:hj表示未标注超点的特征();f′i表示更新后的标注超点特征();ψ表示多层感知机;表示特征差.利用式(5)得到的标注超点权重,计算未标注超点的新特征H′(h′1,h′2,h′3,···,h′j),如式(6)所示:
(6)
其中:F′i表示标注超点的特征集合;B(U,S)表示标注超点对未标注超点的权重集合(β(j,i)∈B(U,S));⊙表示逐元素相乘.
引入双向注意力模块后,交替关注标注超点和未标注超点并完成超点特征更新.该模块可以减少因标注错误而造成的累计误差,同时图结构自身的特性也会将标注超点和未标注超点之间的长程信息考虑进去,从而使两类超点的特征差异更加明显.
2.3 图池化模块
双向注意力模块的特征更新更多依靠提取到的局部特征[18],这往往会忽略全局信息.因此,本文引入图池化模块以增强节点对于全局信息的反馈[11].该模块是以图金字塔实现的,如图3所示.在图金字塔的每个尺度上,应用双向注意力模块进行局部特征学习,再使用图池化操作降低每个特征通道中超点的分辨率并学习全局特征.在插值阶段,将学习到的特征逐层映射回原先尺度的超点中.本文采用最大池化和平均池化合并的池化方法.在插值映射方法上,相同尺度的特征采用Skip Connection[19]进行连接.图池化操作中第I层和第I+1层的特征映射如式(7)所示:
(7)
其中:Max表示最大池化;Avg表示平均池化;MLP表示多层感知机;表示特征相加.

图3图池化流程
Fig.3Flow of graph pooling
3 实验
3.1 数据集及训练参数设置
Semantic3D数据集是点云语义分割领域中具有代表性的大型室外数据集,由地面激光扫描仪获取的稠密点云组成,涵盖了真实三维空间中160 m×240 m×30 m的场景,包含超40亿个带有标记的三维点.该数据集包括8个语义类别,分别是人造地形、自然地形、高植被、矮植被、建筑物、汽车、硬景观以及扫描伪影,其中,扫描伪影是指在激光雷达扫描过程中的一些物体虚影,并无实际意义.
模型训练过程中,该数据集每次训练2个batch,每个batch的大小设置为1 024个超点,初始学习率为0.01,衰减率为0.7,训练次数epoch设置为500,优化器为Adam.
3.2 实验结果
本文使用两个指标来判断语义分割精度:1)总体准确度(overall Accuracy,oAcc),即所有预测正确的数量占总体数量的比例;2)平均交并比(mean Intersection over Union,mIoU),先计算每个类别中预测正确的点数占对应类别总点数的比例,即预测值正确部分和真实值的比值,再计算所有类的平均值.
为了从多个方面衡量本文算法的性能,本文选择了性能较好的4个网络进行对比:1)超点图基线网络SPG[9],该模型首次提出将点云超分割为超点,将点云分类问题引入超点图;2)SPG+OSM[17],该模型首次将OSM标签数据引入超点图中,为超点图的标签传递引入先验知识;3)图卷积模型DGCNN[5],该模型首次将点云引入图卷积网络,但是和超点图不同的是,该模型是直接在原始点云上利用图卷积网络进行分类,不需要形成超点图这一预处理步骤;4)RFCR[20],该模型是近期发表的、具有较高精度的端到端模型.通过将本文算法与超点领域、图卷积领域和端到端领域的代表性模型进行对比,对本文算法的点云语义分割性能进行全面的评估.
由表2可以看出,在mIoU指标上,本文算法为75.4%,相比于基线网络SPG、SPG+OSM和DGCNN网络分别提高2.2、1.7和0.8个百分点.本文算法的mloU低于RFCR网络模型,这是因为扫描伪影、低矮植被这些类别往往形状不规则、特征变化显著,图结构无法有效挖掘它们之间的特征差异,使得不同类别的点云被分割为同一超点,导致最终分类精度降低.在oAcc指标上,本文算法为95.1%,相比SPG、SPG+OSM、DGCNN和RFCR分别提高1.5、1.0、2.2和0.8个百分点,表明该网络具有较高的点云语义分割精度.
表2不同算法精度对比
Table2Accuracy comparison between different algorithms

不同模型在数据集各类语义类别的IoU值如表3所示.由表3可知:本文算法在人造地形、自然地形、高植被、硬景观和建筑5种类别的精度均有提升,特别是硬景观、建筑这类面积较大、形状规则的地物.同时可以看出,大部分网络模型对于低矮植被、汽车、扫描伪影等类别的识别精度偏低,这是因为这些类别地物结构复杂且特征区分并不明显[21-23],即使同一物体也会被分为不同的超点,继而影响后续的特征提取与更新.
表3不同算法在不同类别的IoU值对比
Table3Comparison of IoU between algorithms in different categories

特别要说明的是,在基线网络中添加OSM标签后,建筑物识别精度仅提升1.3个百分点,这是因为OSM标签的加入虽然可以提升屋顶形状较为复杂或者屋顶附属物多的房屋类别的识别精度,但是也需要承担因为OSM标签配准不精确所带来的误差,如图4a所示,同一个屋顶被分类为两块.本文算法对房屋的识别精度相比基线网络提高了2.2个百分点,如图4b所示,屋顶被正确分类,这源自双向注意力模块优秀的全局特征更新功能,可以减少OSM标签配准的误差.

图4SPG+OSM与本文算法分类结果对比
Fig.4Comparison of classification results from SPG+OSM and our method
3.3 消融实验
本文进行了4组对照实验,探究提出的两个模块对语义分割精度的影响.由表4可知:相比传统标签传递算法,单独添加双向注意力模块的总精度提高1.1个百分点,表明添加双向注意力模块可以实现超点特征的全局更新,避免标注错误导致的累计误差;单独添加图池化模块,精度提升不大,这是因为超点的拓扑结构本身代表了一定的全局结构信息,而单独添加图池化模块只是引入了长程信息,对全局特征更新的帮助并不显著;在添加双向注意力模块的同时引入图池化模块,分类精度相比传统标签传递算法增加1.5个百分点,表明两个模块相辅相成,兼顾了局部特征、全局特征,进一步提高了分类精度.
表4各模块有效性
Table4Effect of different modules on semantic segmentation accuracy

4 结论
本文提出了一种弱监督点云语义分割网络.将点云超分割为多个超点,并构建超点图来探索原始点云语义关系和拓扑关系.针对传统图神经网络中标签只能单向传递的问题,引入双向注意力模块来实时更新全局超点的语义特征,减少了因标签标注错误产生的累计误差;同时引入图池化模块,通过不同尺度超点图之间的池化和映射关系,增强超点图中的全局特征和长程信息,进一步提升了超点之间的语义关系.实验结果表明,相比于基线网络,本文算法的总体精度和平均交并比分别提高1.5、2.2个百分点;相比于传统的OSM标签传递算法,本文算法的总体精度和平均交并比分别提高1.0、1.7个百分点.本文提出的算法具有更加先进的标签传递机制和更高的语义分割精度.图神经网络存在计算复杂、训练时间长等缺陷,后续需要对图结构简化和优化问题做进一步研究.