浙江大学学报(工学版), 2024, 58(6): 1121-1132 doi: 10.3785/j.issn.1008-973X.2024.06.003

计算机技术

基于边界点估计与稀疏卷积神经网络的三维点云语义分割

杨军,, 张琛

1. 兰州交通大学 电子与信息工程学院,甘肃 兰州 730070

2. 兰州交通大学 测绘与地理信息学院,甘肃 兰州 730070

Semantic segmentation of 3D point cloud based on boundary point estimation and sparse convolution neural network

YANG Jun,, ZHANG Chen

1. School of Electronic and Information Engineering, Lanzhou Jiaotong University, Lanzhou 730070, China

2. Faculty of Geomatics, Lanzhou Jiaotong University, Lanzhou 730070, China

收稿日期: 2023-05-20  

基金资助: 国家自然科学基金资助项目(42261067);兰州市人才创新创业资助项目(2020-RC-22);甘肃省教育厅优秀研究生“创新之星”资助项目(2022CXZX-613).

Received: 2023-05-20  

Fund supported: 国家自然科学基金资助项目(42261067);兰州市人才创新创业资助项目(2020-RC-22);甘肃省教育厅优秀研究生“创新之星”资助项目(2022CXZX-613).

作者简介 About authors

杨军(1973—),男,教授,博导,从事三维模型的空间分析、模式识别和遥感大数据智能解译研究.orcid.org/0000-0001-6403-3408.E-mail:yangj@mail.lzjtu.cn , E-mail:yangj@mail.lzjtu.cn

摘要

针对大规模点云具有稀疏性,传统点云方法提取上下文语义特征不够丰富,并且语义分割结果存在物体边界模糊的问题,提出基于边界点估计与稀疏卷积神经网络的三维点云语义分割算法,主要包括体素分支与点分支. 对于体素分支,将原始点云进行体素化后经过稀疏卷积得到上下文语义特征;进行解体素化得到每个点的初始语义标签;将初始语义标签输入到边界点估计模块中得到可能的边界点. 对于点分支,使用改进的动态图卷积模块提取点云局部几何特征;依次经过空间注意力模块与通道注意力模块增强局部特征;将点分支得到的局部几何特征与体素分支得到的上下文特征融合,增强点云特征的丰富性. 本算法在S3DIS数据集和SemanticKITTI数据集上的语义分割精度分别达到69.5%和62.7%. 实验结果表明,本研究算法能够提取到更丰富的点云特征,可以对物体的边界区域进行准确分割,具有较好的三维点云语义分割能力.

关键词: 点云数据 ; 语义分割 ; 注意力机制 ; 稀疏卷积 ; 体素化

Abstract

The large-scale point clouds are sparse, the traditional point cloud methods are insufficient in extracting rich contextual semantic features, and the semantic segmentation results have the problem of fuzzy object boundaries. A 3D point cloud semantic segmentation algorithm based on boundary point estimation and sparse convolution neural network was proposed, mainly including the voxel branch and the point branch. For the voxel branch, the original point cloud was voxelized, and then the contextual semantic features were obtained by sparse convolution. The initial semantic label of each point was obtained by voxelization. Finally, it was input into the boundary point estimation module to get the possible boundary points. For the point branch, the improved dynamic graph convolution module was first used to extract the local geometric features of the point cloud. Then, the local features were enhanced through the spatial attention module and the channel attention module in turn. Finally, the local geometric features obtained from the point branch and the contextual features obtained from the voxel branch were fused to enhance the richness of point cloud features. The semantic segmentation accuracy values of this algorithm on the S3DIS dataset and SemanticKITTI dataset were 69.5% and 62.7%, respectively. Experimental results show that the proposed algorithm can extract richer features of point clouds, accurately segment object boundary regions, and has good semantic segmentation ability for 3D point clouds.

Keywords: point cloud data ; semantic segmentation ; attention mechanism ; sparse convolution ; voxelization

PDF (1828KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

杨军, 张琛. 基于边界点估计与稀疏卷积神经网络的三维点云语义分割. 浙江大学学报(工学版)[J], 2024, 58(6): 1121-1132 doi:10.3785/j.issn.1008-973X.2024.06.003

YANG Jun, ZHANG Chen. Semantic segmentation of 3D point cloud based on boundary point estimation and sparse convolution neural network. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(6): 1121-1132 doi:10.3785/j.issn.1008-973X.2024.06.003

近年来,随着三维点云采集设备的不断普及与发展,点云数据的获取变得越来越方便,而三维点云语义分割作为目标检测[1]、三维重建[2]、场景理解[3]等计算机视觉领域的关键技术,更是受到众多国内外研究人员的关注,这也成为三维视觉研究领域的重要课题之一. 与二维图像不同,点云数据具有稀疏、不规则以及无序等性质,使得采用传统方法处理和分析点云十分困难[4]. 因此,利用深度学习技术来实现点云的语义分割受到了广泛关注. 然而,从无序的点云中有效地学习特征是一个巨大的挑战. 为了克服点云无序性对特征学习的影响,早期的研究大多集中于将三维点云数据转换为规则的结构表示,例如多视图表示和体素化方法. 基于多视图的方法通过从多个视角将3D形状投影为多个2D视图,然后通过卷积神经网络(convolutional neural networks, CNN)提取每个视图的特征,并通过池化聚合得到最终的语义分割结果. 然而,由于投影视图之间的不连续性,这种方法可能会导致部分特征的丢失. 基于体素的方法将点云转化为规则的体素网格,并使用3D卷积神经网络(3D convolutional neural networks, 3DCNN)进行处理. 然而,体素化会导致计算成本和内存消耗的显著增加. 在体素化过程中,网格越小,点云表示越精细,内存需求就越大. 因此,近年来研究者开始关注以原始点云作为输入的端到端的学习方法. PointNet[5]创新性地以原始点云为输入,采用多层感知机(multilayer perceptron, MLP)来学习每个点特征,并使用最大池化(max pooling)函数聚合所有点,提取全局特征. 然而,该方法在特征提取过程中未能考虑局部邻域信息. 于是Qi等[6]在PointNet基础上引入了分组采样,将新方法命名为PointNet++. 该方法首先对输入点云进行最远点采样(farthest point sampling, FPS),并使用k-近邻(k-nearest neighbor, KNN)算法寻找邻域点进行区域划分,然后在局部区域内应用PointNet进行特征学习与提取. 虽然该网络考虑到了对点云局部特征的提取,但在实验过程中发现,其对于点云边缘部分的分割效果并不理想.

针对上述问题,提出基于边界点估计与稀疏卷积神经网络的架构. 主要创新点和贡献如下: 1)针对体素方法由于分辨率低导致信息丢失的问题,引入稀疏卷积,在卷积运算时跳过不包含信息的区域,从而减少不必要的内存消耗,并提供比普通体积卷积高得多的分辨率,从而更好地提取全局上下文特征,并与点分支的局部几何特征结合,丰富点云特征. 2)针对语义分割结果中物体边界点分割模糊的问题,提出边界点估计(boundary point estimation, BPE)模块估算哪些点属于边界点. 在聚合局部特征时,通过使用BPE模块估计的边界点有区分地聚集特征,避免属于不同类别的局部特征相互污染,从而提高三维点云语义分割的准确性.

1. 相关研究工作

目前,基于深度学习的三维点云语义分割方法主要分为4大类:基于投影的方法、基于体素的方法、基于点云的方法和多模态融合的方法.

1.1. 基于投影的方法

基于投影的方法通常将三维点云转换为鸟瞰图或前视图等二维图像,借鉴已有的图像分割技术进行处理;然后,通过重投影技术将处理结果转换回点云格式,从而获得点云的预测标签. Lawin等[7]通过多视角投影,将3D点云转为2D图像,利用CNN进行处理. 采用多视角融合方法,提高了分割精度和计算效率,但仍存在视角选择复杂、信息丢失和投影畸变等问题. SnapNet[8]提出将3D点云数据投影到多个2D视图,再利用2D深度分割网络处理特征的思路. 其主要创新是通过2D-3D联合优化,将2D分割结果回投影到3D点云中,以提升语义标注的准确性和效率. 采用现有2D分割技术可以大幅提高计算效率和精度,但视角选择和投影误差可能影响模型训练结果. SnapNet-R[9]在SnapNet[8]的基础上,改善输入图像组合的空间结构匹配差异,直接对RGB-D图像进行处理,实现了图像与点云的密集对应,提升了网络模型的分割精度. SalsaNext[10]提出高效的LiDAR点云语义分割方法,该方法引入了基于图卷积网络(graph convolutional networks, GCN)的注意力机制和不确定性估计,提升模型在处理复杂环境中的鲁棒性和准确性;并且提出了像素混合层(pixel-shuffle layer),提高了分割结果的空间分辨率,但在极端稀疏或高度复杂的点云数据上性能有所下降. 尽管基于投影的方法有会丢失信息的问题,但由于2D语义分割技术的成熟,这些方法仍被广泛使用.

1.2. 基于体素的方法

体素化方法通过将点云转化为体素表示,使复杂的点云结构可以被标准3D卷积神经网络有效地分割和解析,从而有效提高点云处理效率和精度. 3D U-Net[11]提出适用于3D数据的U型网络结构,其使用全三维卷积网络(Fully-3D CNN)对体素进行特征学习,为每个体素赋予语义标签,但其性能受限于体素分辨率与边界处点云划分的不确定性. Wang等[12]提出基于八叉树的卷积神经网络(octree-based convolutional neural networks, O-CNN),用于3D形状分析. 该方法利用八叉树高效地表示、处理稀疏的3D数据,实现了多分辨率层次上的卷积操作. 相比于3D U-Net,O-CNN大幅降低了计算、存储成本. 但八叉树构建过程复杂,并且在处理极度不规则的点云数据时仍面临挑战. 为了捕获体素内稀疏分布的点,Meng等[13]提出结合体素变分自编码器(Voxel VAE)和组卷积(group convolutions)的方法VV-Net. 该方法先利用变分自编码器进行体素表示学习,然后通过组卷积提高了网络的计算效率和特征提取能力. VV-Net具备高效的特征学习能力,能减少计算复杂度和提高分割精度. Le等[14]提出将点云和体素网格相结合的深度网络方法(PointGrid). PointGrid将点云数据嵌入到体素网格中,利用卷积神经网络学习点云的精细结构和体素的空间信息. 该方法有效整合了点云和体素的优势,能提供更精细的3D形状表示. 上述方法在体素化之后仍使用常规的三维卷积,不可避免地带来高计算量和内存消耗的问题.

1.3. 基于点云的方法

基于点云的方法直接对不规则点云进行处理. Wang等[15]提出动态图卷积神经网络(dynamic graph CNN, DGCNN),将点云数据表示为动态图结构,通过自适应地构建和更新图,使网络能够有效地捕捉点云的局部和全局特征. 这有效解决了不同大小和密度的点云数据处理问题,能提供高度灵活性和可扩展性,并且对几何变换具有鲁棒性,但该方法需要额外的计算资源用于动态图构建和更新. Kang等[16]采用金字塔结构的注意力机制,以多尺度方式捕捉点云的局部、全局特征,并结合图嵌入模块进行特征聚合和表示学习. 该方法使用金字塔注意力模块,能够高效地处理多尺度信息,并提高特征表达能力和分割精度. 为此,党吉圣等[17]提出多特征融合的三维模型识别与分割方法,解决了忽略高级全局单点特征和低级局部几何特征关系的问题. 该方法通过增加卷积核宽度和网络深度构建全局单点网络;同时,利用注意力融合层学习全局单点特征与局部几何特征之间的隐含关系,实现充分挖掘细粒度几何特征的目的. 虽然该方法提高了识别和分割效果,但模型复杂度较高,在处理大规模数据时可能存在瓶颈. 为了解决大规模点云采样的问题,Hu等[18]提出高效的语义分割方法(RandLA-Net),该方法采用随机点采样策略和轻量级的局部特征聚合模块,通过逐层减少点云密度并保留重要特征,提高处理大规模点云的效率和精度.

1.4. 多模态融合的方法

一些学者结合以上2种或几种方法提出多模态融合的网络对点云进行语义分割. Liu等[19]将基于点的方法和基于体素的方法相结合,提出点体素卷积模块,在低分辨率体素中执行三维卷积来捕获点云的上下文特征,同时使用简单的MLP来提取逐点特征,最后将这2种特征结合起来,使网络具有较小的内存占用和良好的数据局部性、规律性等优点,但低分辨率的体素难免会导致丢失一些小物体信息. Zhang等[20]提出深度融合网络架构(FusionNet),包括一个独特的基于体素的“mini-PointNet”点云表示模块和一个用于大规模3D语义分割的新特征聚合模块. 通过聚合邻域体素和对应点之间的特征,减少了邻域搜索的时间消耗,对于大规模点云分割结果有所提升. Liong等[21]设计了一种融合方法,通过分别计算范围视图(range view, RV)和鸟瞰视图(bird’s eye view, BEV)2个不同视图输出的单独点标签,并使用PointNet网络来优化2个分支产生的不确定预测结果. Xu等[22]分别提取深度图、点、体素的特征,并将3个分支得到的差异性特征通过哈希映射进行自适应交互融合,并将融合后的结果输入到编码器-解码器结构进行语义标签预测,显著提高了分割精度.

综上所述,目前大多数基于深度学习的方法都局限于通过一种数据表示形式进行点云语义分割,而采用多模态融合的语义分割方法也由于内存占用问题并未取得较好的效果,并且对于语义分割中物体边界点模糊的问题目前还没有一个较好的解决办法. 因此,如何更好地融合不同方法进行点云语义分割,并处理分割结果中存在的模糊边界是三维点云语义分割研究的一个亟待解决的问题.

2. 基于稀疏卷积的U-Net特征提取网络与边界点估计模块

本研究构建的基于边界点估计与稀疏卷积神经网络的三维点云语义分割网络架构主要由体素分支和点分支2部分组成,网络结构如图1所示. 体素分支主要包括:体素化(Voxelize)、稀疏卷积(Sparse Convolution)和解体素化(Devoxelize). 点分支主要包括:边界点估计(boundary point estimation, BPE)模块、改进的边缘卷积(EdgeConv++)模块、空间注意力机制(spatial attention mechanism, SAM)模块和通道注意力机制(channel attention mechanism, CAM)模块. 首先将原始点云进行体素化,将体素化后的点云数据输入到U-Net[23]特征提取网络中经过稀疏卷积得到场景的语义信息,然后进行解体素化得到每个点的语义信息,再将每个点的语义标签输入到BPE模块中得到预测的边界点. 在通过EdgeConv++模块提取局部邻域特征时,如果中心点的邻域点中包含边界点,那么将舍弃掉相应的邻域点特征,从而避免属于不同类别的局部特征相互污染,然后依次经过SAM和CAM模块对得到的局部特征进行增强,最后将点分支得到的局部特征与体素分支得到的上下文特征相融合,产生最终的三维点云语义分割结果.

图 1

图 1   基于边界点估计与稀疏卷积神经网络的三维点云语义分割网络架构

Fig.1   Architecture of 3D point cloud semantic segmentation network based on boundary point estimation and sparse convolution neural network


2.1. 体素化与解体素化

体素化的主要目的是将无序的点云数据转为有序的数据结构,以方便后续将其输入到U-Net网络中提取特征. 给定含有N个点的原始点云${p} = \left\{ {p_i}={\left({x_i},{y_i},{z_i}\right),i = 1, \cdots ,N} \right\}$作为输入,将所有点特征平均到对应的体素网格中:

$ {V_{u,v,w,c}} = \frac{1}{M}\sum\nolimits_{i = 1}^M {{h_{\left( {u,v,w} \right)}}} \left( {\left\lfloor {\frac{{{x_i}}}{r}} \right\rfloor ,\left\lfloor {\frac{{{y_i}}}{r}} \right\rfloor ,\left\lfloor {\frac{{{z_i}}}{r}} \right\rfloor } \right){f_{i,c}} , $

$ {h_{\left( X \right)}}Y = \left\{ {\begin{array}{*{20}{c}} {1,}&{Y \in X}; \\ {0,}&{Y \notin X}. \end{array}} \right. $

式中:Vu,v,w,c表示坐标为(u,v,w)的体素网格的第c个特征;M为原始点云p中落入坐标为(u,v,w)的体素网格中的点的个数;h(X)Y用来判断输入点是否属于体素网格;X表示当前体素网格的坐标,Y表示将点pi体素化后所对应的体素网格中的坐标,YX表示h(X)Y的赋值条件,是指坐标YX的体素网格中,反之坐标Y不在X的体素网格中;$\left\lfloor . \right\rfloor $表示向下取整;r表示体素分辨率;fi,c表示第i个点的第c个通道的特征.

后续须将点特征与体素特征相融合,须将体素转换回点云数据. 以往通常用最近邻插值法,直接将网格特征分配给所有网格中的点,但这种方法会使同一体素网格中的点始终共享相同的特征值. 因此,本研究采用三线性插值法,通过体素点数据(u, v, w, c)计算该点与其周围8个体素中心的距离,以这些距离作为权重对体素特征进行加权求和,最后经过归一化处理得到点云数据{pi, fi,c}. 采用这种三线性插值的反体素化方法可以保留空间信息的连续性,并且增强特征的独特性.

2.2. 稀疏卷积与U-Net特征提取网络

由于点云数据的稀疏性,将点云体素化会产生大量空体素,采用常规的三维卷积直接进行特征学习容易浪费大量硬件资源,而降低体素分辨率又会导致丢失部分小物体的细节信息. 受文献[24]的启发,本研究引入稀疏卷积替代常规三维卷积用来提取体素特征,从而在使用高分辨率体素进行卷积运算时减少不必要的内存消耗. 稀疏卷积本质上还是卷积操作,但具体的计算过程与普通卷积有较大的不同. 在稀疏卷积神经网络中,只有当卷积核的中心对应的点为非空时,才进行卷积运算,这样便保证了进行步长为1的稀疏卷积在运算时不会使非空白点数增加.

使用U-Net经典网络框架作为体素化点云的特征提取网络,如图2所示,采用编码器-解码器结构. 对于每个编码层,首先使用稀疏卷积(SparseConv)代替常规卷积进行编码和下采样,经过2个残差单元(Residual block),避免梯度消失或网络训练过拟合等问题,然后迭代3次上述操作扩大感受野,提取包含更大范围的上下文特征. 解码层使用稀疏反卷积(SparseDeConv)进行上采样,以恢复体素化点云的原始大小,并将解码后的特征与相应的编码特征进行级联融合,进一步细化融合后的特征.

图 2

图 2   基于稀疏卷积的U-Net模型结构

Fig.2   Structure of U-Net based on sparse convolution


2.3. BPE模块

边界信息在二维图像分割中起着重要的作用,而在三维点云分割中通常会被忽略,使得在边界上提取的特征通常是模糊的,因为它们混合了边界两侧属于不同类别的点的特征. 随着网络的深入,如果其他点包含了边界点的特征,边界上的这些模糊特征必然会逐层传播到更多的其他点,因此不同对象的信息会跨越边界传播,导致最终的语义分割轮廓不好. 为了解决这一问题,提出边界点估计模块来预测点云中的边界点,其结构如图3所示,首先使用KNN算法构造局部邻域,找出点云中N个点的k个最近邻点,然后通过对比每个点与其k个邻域点的标签相同的个数来判断该点是否属于边界点. 具体做法如下.

图 3

图 3   边界点估计模块结构示意图

Fig.3   Structure of boundary point estimation module


每一个点pi是否位于边界上是由它的局部邻域决定的. 也就是说,给定pi的相邻点的数量是固定的,如果与pi不属于同一类别的点的个数多于一个预定义的比例t(实验中取0.4),则pi是边界上的点,${g_{{p_i}}}$=0;否则pi不是边界点,${g_{{p_i}}}$=1. 具体计算公式如下.

$ {s_j} = \left\{ {\begin{array}{*{20}{l}} {1,\;\;\;\;{l_{{p_i}}} \ne {l_{{p_j}}}} ,& {p_j} \in N\left( {{p_i}} \right);\\ {0,\;\;\;\;{l_{{p_i}}} = {l_{{p_j}}}} ,& {p_j} \in N\left( {{p_i}} \right).\end{array}} \right. $

$ {g_{{p_i}}} = \left\{ {\begin{array}{*{20}{c}} {0,}&{\dfrac{1}{k}\displaystyle\sum\limits_{j = 1}^k {{s_j}} \gt t}; \\ {1,}&{\text{其他}} .\end{array}} \right. $

式中:sj=1表示点pi与其邻域点pj的标签不相同,sj=0表示其标签相同;${l_{{p_i}}}$表示通过体素分支的U-Net特征提取网络得到的点pi的初始标签,${l_{{p_j}}}$pi的邻域点pj的初始标签;N(pi)为pi的邻域点集合;k为点pi的邻域点个数.

通过将本研究提出的BPE模块与文献[25]中的EdgeConv++模块、SAM模块和CAM模块相结合进行局部特征提取. 在聚合局部特征时,只允许在每个对象区域内共享信息,防止特征跨边界传播. 局部特征可以提供更多的细节信息,但混合不同类别的局部特征肯定会破坏这些细节信息,为此,本研究采取的具体做法如下.

将BPE模块得到的边界信息作为掩码,在局部特征聚合过程中为不同的邻域点分配不同的权重. 当pi的邻域点pj为边界点时,${g_{{p_j}}}$=0,则会自动丢弃掉该邻域点的特征,防止来自不同类别点的特征之间相互污染;反之${g_{{p_j}}}$=1. 点pi的局部特征聚合计算如下:

$ {F_{{\mathrm{en}}}} = {\mathrm{MLP}}\;\left( {{g_{{p_j}}} {F_{{p_j}}}} \right);\;\;{p_j} \in N\left( {{p_i}} \right) . $

式中:$ {F_{{p_j}}} $表示相邻点pj的特征,${g_{{p_j}}}$作为掩码为$ {F_{{p_j}}} $分配权重,MLP为多层感知机.

3. 实验结果与分析

3.1. 评估指标及参数设置

为了评估所构建的基于边界点估计与稀疏卷积神经网络的三维点云语义分割模型的有效性,选用流行的大规模室内场景数据集S3DIS[26]和大规模室外场景数据集SemanticKITTI[27]进行实验. 评估指标采用总体准确率(overall accuracy, OA)和平均交并比(mean intersection-over-union, mIoU).

$ {\mathrm{OA}} = \frac{{{\mathrm{TP}}+{\mathrm{TN}}}}{{{\mathrm{TP}}+{\mathrm{TN}}+{\mathrm{FP}}+{\mathrm{FN}}}} , $

$ {\mathrm{mIoU}} = \frac{1}{c}\sum\nolimits_{i = 1}^c {\frac{{{\mathrm{TP}}}}{{{\mathrm{FN}}+{\mathrm{FP}}+{\mathrm{TP}}}}} . $

式中:TP表示被预测为正类的正样本,TN表示被预测为负类的负样本,FP表示被预测为正类的负样本,FN表示被预测为负类的正样本,c为数据集中的类别数.

实验环境配置如下:硬件为Intel Core i9-10900 K CPU@3.70 GHz和NVIDIA RTX3090 GPU(24 GB),软件为Linux Ubuntu 18.04和深度学习框架PyTorch1.11.0. 实验采用动量因子为0.99的基于动量的随机梯度下降(stochastic gradient descent, SGD)优化算法,使用Adam算法更新SGD的步长.

3.2. 室内场景语义分割

S3DIS数据集是从3个不同建筑物的6个区域所包含的271个房间中采样生成的RGB-D点云数据. 将房间内的点云数据划分为1 m×1 m的块,然后再对每个块预测其中每个点的语义标签. 每个点由一个9维向量表示,向量元素分别为:XYZRGBX'Y'Z'. XYZ表示位置坐标,RG、B表示颜色信息,X'Y'Z'为标准化后的每个块相对于所在房间的位置坐标(取值为0~1.0).

为了验证所提算法的有效性,与一些经典算法在S3DIS数据集上进行分割对比实验,结果如表1所示. 表中,IoU为各类别分割精度. 可以看出,本研究算法获得了69.5%的mIoU和90.8%的OA,并在13个类别中的7个类别上获得了最佳分割结果. 与目前基于点的最优方法AGConv[37]相比,本研究算法的mIoU和OA这2个分割精度评价指标均较高,主要由于AGConv提出的自适应核重点关注不同语义部分的点之间的不同关系,并未考虑融合不同表示形式的点云特征. PPCNN++[34]提出基于投影的点卷积(projection-based point convolution, PPConv),融合了点方法与投影方法,虽然避免了体素方法造成的内存消耗问题,但投影方法由于需要降维应用了二维卷积运算,难免会丢失信息,而本研究通过引入稀疏卷积解决了传统体素方法计算复杂的问题,较该方法在mIoU上提高了5.5%. 与常规的6折交叉验证方法不同,本研究将S3DIS数据集的Area 5区域单独作为测试区域,而将Area 1~Area 4和Area 6区域用于训练. Area 5和其他区域中的房间有所不同,包含的物体存在差异,所以对网络模型的要求更高. 本研究算法通过融合基于体素分支的上下文信息与基于点分支的局部特征得到更具鉴别力的特征,同时所提出的边界点估计模块,将体素分支得到的初始点语义标签作为输入预测出可能的边界点,从而在聚合局部特征时避免不同特征之间的相互污染,进一步提高了点云语义分割的精度.

表 1   不同方法在S3DIS数据集上的分割精度对比(以Area 5作为测试)

Tab.1  Comparison of segmentation accuracy of different methods on S3DIS dataset (Area 5 as a test)

方法OA/%mIoU/%IoU/%
ceilingfloorwallbeamcolumnwindowdoortablechairsofabookcaseboardclutter
PointNet [5]79.341.188.897.369.80.13.946.310.859.052.65.940.326.433.2
TangentConv [28]82.552.690.597.774.00.020.739.031.377.569.457.338.548.839.8
PointCNN [29]85.957.392.398.279.40.017.622.862.174.480.631.766.762.156.7
SPG [30]86.458.089.496.978.10.042.848.961.684.775.469.852.62.152.2
PointWeb [31]87.060.392.098.579.40.021.159.734.876.388.346.969.364.952.5
HPEIN [32]87.261.991.598.281.40.023.365.340.075.587.758.567.865.649.4
RandLA-Net [18]87.262.491.195.680.20.024.762.347.776.283.760.271.165.753.8
GACNet [33]87.862.892.398.381.90.020.359.140.878.585.861.770.774.752.8
PPCNN++ [34]64.094.098.583.70.018.666.161.779.488.049.570.166.456.1
BAAF-Net [35]88.965.492.997.982.30.023.165.564.978.587.561.470.768.757.2
KPConv [36]67.192.897.382.40.023.958.069.081.591.075.475.366.758.9
AGConv [37]90.067.993.998.482.20.023.959.171.391.581.275.574.972.158.6
本研究方法90.869.594.499.287.20.027.262.272.891.885.879.066.774.462.9

新窗口打开| 下载CSV


为了定性分析语义分割结果,对Area 5的测试结果进行了可视化,如图4所示. 图中,红色椭圆标注的区域为重点关注区域. 可以看出,本研究算法能够充分提取不同室内场景的点云特征,并准确地确定物体的边界范围,在某些场景下得到的分割结果已经较接近真实标签.

图 4

图 4   S3DIS数据集分割结果的可视化

Fig.4   Visualization of segmentation results of S3DIS dataset


3.3. 室外场景语义分割

SemanticKITTI数据集包含德国卡尔斯鲁厄附近的市内交通、居民区、高速公路场景和乡村道路场景,是目前最大的汽车激光雷达点云数据集. 该数据集由22个点云序列组成,00~07、09~10序列作为训练集,08序列作为验证集并生成可视化结果,一共包含23201帧3D点云场景;11~21序列作为测试集,一共包含20351帧3D点云场景. 训练集中每点都有自己的标签,人为进行了语义标注,共有19种类别标签. 如表2所示为本研究方法在SemanticKITTI数据集上与目前主流方法的场景语义分割定量结果的对比. 可以看出,本研究算法的mIoU为62.7%,超过了同为点云与体素融合的方法FusionNet[20],并且在其中7个类别上取得了最好的分割结果. FusionNet只考虑将点云与体素的方法相结合,忽略了对边界信息的处理,而本研究提出了边界点估计模块用来预测可能的边界点,并在局部特征提取中对邻域点的特征进行有选择的聚合. TORNADONet算法[44]融合了2种基于投影的方法进行语义分割,然而在投影过程中,点云原有的拓扑结构不可避免地会丢失或改变,导致基于投影的方法无法完整地对几何信息进行建模. 而本研究算法通过对点云进行体素化并使用稀疏卷积,解决了点云稀疏分布的问题,也能通过体素分支提取到感受野更大的上下文特征.

表 2   不同方法在SemanticKITTI数据集上的分割精度对比

Tab.2  Comparison of segmentation accuracy of different methods on SemanticKITTI dataset

方法mIoU/%IoU/%
roadside-
walk
par-
king
other-groundbuil-
ding
cartruckbicy-
cle
motor-
cycle
other-vehiclevegeta-
tion
trunkterrainper-
son
bicy-
clist
motor-
cyclist
fencepoletraffic-sign
PointNet [5]14.661.635.715.81.441.446.30.11.30.30.831.04.617.60.20.20.012.92.43.7
SPG [30]17.445.028.51.60.664.349.30.10.20.20.848.927.224.60.32.70.120.815.90.8
PointNet++ [6]20.172.041.818.75.662.353.70.91.90.20.246.513.830.00.91.00.016.96.08.9
TangentConv [28]40.983.963.933.415.483.490.815.22.716.512.179.549.358.123.028.48.149.035.828.5
SpSequenceNet [38]43.190.173.957.627.191.288.529.224.00.022.784.066.065.76.30.00.067.750.848.7
HPGCNN [39]50.589.573.658.834.691.293.121.06.517.623.384.465.970.032.130.014.765.545.541.5
RangeNet++ [40]52.291.875.265.027.887.491.425.725.734.423.080.555.164.638.338.84.858.647.955.9
RandLA-Net [18]53.990.773.760.320.486.994.240.126.025.838.981.461.366.849.248.27.256.349.247.7
PolarNet [41]54.390.874.461.721.790.093.822.940.330.128.584.065.567.843.240.25.661.351.857.5
3D-MiniNet [42]55.891.674.564.225.489.490.528.542.342.129.482.860.866.747.844.114.560.848.056.6
SAFFGCNN [43]56.689.973.963.535.191.595.038.333.235.128.784.467.169.545.343.57.366.154.353.7
KPConv [36]58.888.872.761.331.690.596.033.430.242.531.684.869.269.161.561.611.864.256.448.4
BAAF-Net [35]59.990.974.462.223.689.895.448.731.835.546.782.763.467.949.555.753.060.853.752.0
TORNADONet [44]61.190.875.365.327.589.693.143.153.044.439.484.164.369.661.656.720.262.955.064.2
FusionNet [20]61.391.877.168.830.892.595.341.847.537.734.584.569.868.559.556.811.969.460.066.5
本研究方法62.792.778.571.631.591.495.540.946.148.042.285.268.470.263.954.323.868.656.762.8

新窗口打开| 下载CSV


图5所示为本研究算法在SemanticKITTI数据集上的分割可视化结果. 图中,红色椭圆标注的区域为重点关注区域. 可以看出,即使在处理稀疏性较大的大规模室外点云数据时,本研究算法仍然能够产生较好的分割效果,原因在于体素分支能够使用稀疏卷积避免内存消耗并提取到更大感受野的上下文特征,增强了点云特征的丰富性,从而提高语义分割结果精度.

图 5

图 5   SemanticKITTI数据集分割结果的可视化

Fig.5   Visualization of segmentation results of SemanticKITTI dataset


3.4. 消融实验

3.4.1. 边界点估计模块

为了进一步说明提出的边界点估计模块的有效性,在S3DIS数据集上对该模块进行消融实验,结果如表34所示. 其中,表3为S3DIS数据集上10组不同t下的mIoU对比,t=[0.1, 1.0],每组间隔取0.1. 可以看出,当0.3$\leqslant $t$\leqslant $0.5时,网络模型得到一个较高的分割精度;当t<0.3时,由于很容易会将邻域点误判为边界点,网络较难提取到有效的邻域点特征;当t>0.5时,网络只能识别出较为明显的边界点,对于一些特征相似的物体的边界点识别效果并不好. 因此,对于[0.3, 0.5]取0.02为间隔,继续进行9组对比实验,如表4所示. 可以看出,当t=0.4时,网络的分割精度达到最高. 其中,t=1.0表示在所构建网络的基础上移除了边界点估计模块,通过对t=0.4与t取其余结果进行对比,验证了边界点估计模块的有效性. 原因在于边界点估计模块能够根据体素分支生成的初始分割结果预测边界点,在聚合局部特征时边界点特征会被自动丢弃,而如果直接将体素特征与点特征相融合,则会造成属于不同对象的类别之间的局部信息相互污染,导致最终的语义分割轮廓模糊.

表 3   边界点估计模块有效性验证(t间隔为0.1)

Tab.3  Effectiveness verification of boundary point estimation module with t interval of 0.1

tmIoU/% tmIoU/%
0.164.50.668.2
0.265.90.768.0
0.367.40.867.9
0.469.50.967.7
0.568.61.067.6

新窗口打开| 下载CSV


表 4   边界点估计模块的有效性验证(t间隔为0.02)

Tab.4  Effectiveness verification of boundary point estimation module with t interval of 0.02

tmIoU/% tmIoU/%
0.3267.40.4269.2
0.3467.90.4469.1
0.3668.20.4668.9
0.3868.80.4868.8
0.4069.5

新窗口打开| 下载CSV


3.4.2. 体素分辨率r

体素分辨率r会直接影响体素分支提取到的上下文特征的优劣. 分辨率太低会使网络无法提取到一些小物体的细节信息,而分辨率太高又会导致感受野变小,从而提取到的有用的上下文信息较少. 由表5可以看出,随着体素分辨率r的增加,网络的分割性能表现出逐渐改善的趋势,直到体素分辨率达到4 cm时,分割性能mIoU达到最高,69.5%. r>4 cm,mIoU开始逐渐下降,表明过高的体素分辨率虽然减少了体素化过程中的信息丢失,但同时导致空体素网格变多,使体素分支学习到较多的冗余特征,影响了分割结果的准确性.因此本研究实验中的参数设置为r=4 cm.

表 5   不同体素分辨率对分割结果的影响

Tab.5  Influence of different voxel resolutions on segmentation results

r/cmmIoU/% r/cmmIoU/%
168.3569.3
268.8669.2
369.1768.6
469.5868.1

新窗口打开| 下载CSV


3.4.3. 单个分支实验对比

为了进一步说明结合基于点与体素分支方法的有效性,在S3DIS数据集上针对2个分支分别进行消融实验. 在只使用点分支时,虽然能提取到细粒度局部几何特征,但由于无法估计边界点,对于物体的边界部分分割结果较差,其对应的mIOU为66.0%;当只使用体素分支时,通过设置较高的体素分辨率,得到的mIOU为67.3%,该结果虽然优于基于点的方法,但容易产生大量体素并学习到冗余特征. 将2个分支学习到的特征相结合并预测出可能存在的边界点,对于最终分割结果有较大提升,mIOU达到69.5%.

图6所示为本研究算法在S3DIS数据集上的消融实验可视化结果. 图中,红色椭圆标注的区域为重点关注区域. 可以看出,当只使用点分支时网络模型对于物体的边界轮廓分割模糊,而当只使用体素分支时网络模型无法提取到一些细粒度特征,只有将点分支与体素分支相结合的网络模型(即本研究所提网络模型),能够充分结合局部几何特征与全局上下文特征,得到的分割结果更接近物体的真实标签.

图 6

图 6   S3DIS数据集消融实验分割结果的可视化

Fig.6   Visualization of segmentation results of ablation experiments on S3DIS dataset


4. 结 语

本研究提出基于边界点估计与稀疏卷积神经网络的三维点云语义分割网络,主要包括体素分支与点分支. 在2个点云数据集S3DIS和SemanticKITTI上的分割实验结果表明,所提网络模型能够提取到更丰富的点云特征,可以准确区分场景中物体的边界区域,分割精度超过目前主流的基于点和混合表示的语义分割方法.

本研究算法仍存在一定的不足,由于扫描设备的限制,距离雷达中心较远的点云数据相对稀疏,难以提取到有效的语义信息,导致分割结果的误差相对较大. 考虑到雷达数据是一个时间序列,如何利用历史扫描信息提高语义分割效果是未来的研究方向之一. 此外,随着多模态融合的方法迅速发展,网络模型也趋向复杂,如何在保持精度的同时加快网络训练时间也是后续工作须研究的重点.

参考文献

SHI S, GUO C, JIANG L, et al. PV-RCNN: point-voxel feature set abstraction for 3D object detection [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 10526−10535.

[本文引用: 1]

CHABRA R, LENSSEN J, ILG E, et al. Deep local shapes: learning local SDF priors for detailed 3D reconstruction [C]// Proceedings of the European Conference on Computer Vision . Glasgow: Springer, 2020: 608−625.

[本文引用: 1]

HU W, ZHAO H, JIANG L, et al. Bidirectional projection network for cross dimension scene understanding [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . [s. l.]: IEEE, 2021: 14373−14382.

[本文引用: 1]

DANG J S, YANG J

LHPHGCNN: lightweight hierarchical parallel heterogeneous group convolutional neural networks for point cloud scene prediction

[J]. IEEE Transactions on Intelligent Transportation Systems, 2022, 23 (10): 18903- 18915

DOI:10.1109/TITS.2022.3167910      [本文引用: 1]

QI C R, SU H, MO K, et al. PointNet: deep learning on point sets for 3D classification and segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Honolulu: IEEE, 2017: 77−85.

[本文引用: 3]

QI C R, YI L, SU H, et al. PointNet++: deep hierarchical feature learning on point sets in a metric space [C]// Advances in Neural Information Processing Systems. Long Beach: MIT Press, 2017: 5099−5108.

[本文引用: 2]

LAWIN F J, DANELLJAN M, TOSTEBERG P, et al. Deep projective 3D semantic segmentation [C]// International Conference on Computer Analysis of Images and Patterns . Ystad: Springer, 2017: 95−107.

[本文引用: 1]

BOULCH A, GUERRY J, SAUX B, et al

SnapNet: 3D point cloud semantic labeling with 2D deep segmentation networks

[J]. Computer and Graphics, 2018, 71: 189- 198

DOI:10.1016/j.cag.2017.11.010      [本文引用: 2]

GUERRY J, BOULCH A, LE S, et al. SnapNet-R: consistent 3D multi-view semantic labeling for robotics [C]// Proceedings of the IEEE International Conference on Computer Vision . Venice: IEEE, 2017: 669−678.

[本文引用: 1]

CORTINHAL T, TZELEPIS G, ERDAL E, et al. SalsaNext: fast, uncertainty-aware semantic segmentation of LiDAR point clouds [C]// International Symposium on Visual Computing . San Diego: Springer, 2020: 207−222.

[本文引用: 1]

ÇICEK O, ABDULKADIR A, LIENKAMP S S, et al. 3D U-Net: learning dense volumetric segmentation from sparse annotation [C]// Medical Image Computing and Computer-Assisted Intervention . Athens: Springer, 2016: 424−432.

[本文引用: 1]

WANG P S, LIU Y, GUO Y X, et al

O-CNN: octree-based convolutional neural networks for 3D shape analysis

[J]. ACM Transactions on Graphics, 2017, 36 (4): 1- 11

[本文引用: 1]

MENG H Y, GAO L, LAI Y K, et al. VV-Net: voxel VAE net with group convolutions for point cloud segmentation [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 8499−8507.

[本文引用: 1]

LE T, DUAN Y. PointGrid: a deep network for 3D shape understanding [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 9204−9214.

[本文引用: 1]

WANG Y, SUN Y, LIU Z, et al

Dynamic graph CNN for learning on point clouds

[J]. ACM Transactions on Graphics, 2018, 38 (5): 146- 158

[本文引用: 1]

KANG Z H, LI N

PyramNet: point cloud pyramid attention network and graph embedding module for classification and segmentation

[J]. Australian Journal of Intelligent Information Processing Systems, 2019, 16 (2): 35- 43

[本文引用: 1]

党吉圣, 杨军

多特征融合的三维模型识别与分割

[J]. 西安电子科技大学学报, 2020, 47 (4): 149- 157

[本文引用: 1]

DANG Jisheng, YANG Jun

3D model recognition and segmentation based on multi-feature fusion

[J]. Journal of Xidian University, 2020, 47 (4): 149- 157

[本文引用: 1]

HU Q Y, YANG B, XIE L H, et al. RandLA-Net: efficient semantic segmentation of large-scale point clouds [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 11105−11114.

[本文引用: 3]

LIU Z J, TANG H T, LIN Y J, et al. Point-voxel CNN for efficient 3D deep learning [C]// Advances in Neural Information Processing Systems . Vancouver: MIT Press, 2019: 963−973.

[本文引用: 1]

ZHANG F H, FANG J, WAH B, et al. Deep fusionnet for point cloud semantic segmentation [C]// Proceedings of the European Conference on Computer Vision . Glasgow: Springer, 2020: 644−663.

[本文引用: 3]

LIONG V E, NGUYEN T N T, Widjaja S, et al. AMVNet: assertion-based multi-view fusion network for LiDAR semantic segmentation [EB/OL]. (2020-12-09) [2023-02-12]. https://doi.org/10.48550/arXiv.2012.04934.

[本文引用: 1]

XU J Y, ZHANG R X, DOU J, et al. RPVNet: a deep and efficient range-point-voxel fusion network for LiDAR point cloud segmentation [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Montreal: IEEE, 2021: 16004−16013.

[本文引用: 1]

RONNEBERGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical image segmentation [C]// Medical Image Computing and Computer-Assisted Intervention . Munich: Springer, 2015: 234−241.

[本文引用: 1]

GRAHAM B, ENGELCKE M, MAATEN L. 3D semantic segmentation with submanifold sparse convolutional networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 9224−9232.

[本文引用: 1]

杨军, 张琛. 融合双注意力机制和动态图卷积神经网络的三维点云语义分割 [EB/OL]. (2023-01-10) [2023-02-12]. https://bhxb.buaa.edu.cn/bhzk/article/doi/10.13700/j.bh.1001-5965.2022.0775.

[本文引用: 1]

ARMENI I, SENER O, ZAMIR A, et al. 3D semantic parsing of large-scale indoor spaces [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Las Vegas: IEEE, 2016: 1534−1543.

[本文引用: 1]

BEHLEY J, GARBADE M, MILIOTO A, et al. SemanticKITTI: a dataset for semantic scene understanding of LiDAR sequences [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 9296−9306.

[本文引用: 1]

TATARCHENKO M, PARK J, KOLTUN V, et al. Tangent convolutions for dense prediction in 3D [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 3887−3896.

[本文引用: 2]

LI Y, BU R, SUN M, et al. PointCNN: convolution on x-transformed points [C]// Advances in Neural Information Processing Systems . Montréal: MIT Press, 2018: 828−838.

[本文引用: 1]

LANDRIEU L, SIMONOVSKY M. Large-scale point cloud semantic segmentation with superpoint graphs [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 4558−4567.

[本文引用: 2]

ZHAO H, JIANG L, FU C W, et al. PointWeb: enhancing local neighborhood features for point cloud processing [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 5565−5573.

[本文引用: 1]

JIANG L, ZHAO H S, LIU S, et al. Hierarchical point-edge interaction network for point cloud semantic segmentation [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 10432−10440.

[本文引用: 1]

WANG L, HUANG Y, HOU Y, et al. Graph attention convolution for point cloud semantic segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 10296−10305.

[本文引用: 1]

AHN P, YANG J, YI E, et al

Projection-based point convolution for efficient point cloud segmentation

[J]. IEEE Access, 2022, 10: 15348- 15358

DOI:10.1109/ACCESS.2022.3144449      [本文引用: 2]

SHI Q, SAEED A, NICK B. Semantic segmentation for real point cloud scenes via bilateral augmentation and adaptive fusion [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . [s. l.]: IEEE, 2021: 1757−1767.

[本文引用: 2]

THOMAS H, QI C R, DESCHAUD J E, et al. KPConv: flexible and deformable convolution for point clouds [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Seoul: IEEE, 2019: 6410−6419.

[本文引用: 2]

WEI M, WEI Z, ZHOU H, et al

AGConv: adaptive graph convolution on 3D point clouds

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2023, 45 (8): 9374- 9392

[本文引用: 2]

SHI H Y, LIN G S, WANG H, et al. SpSequenceNet: semantic segmentation network on 4D point clouds [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 4573–4582.

[本文引用: 1]

DANG J S, YANG J. HPGCNN: hierarchical parallel group convolutional neural networks for point clouds processing [C]// Proceedings of the Asian Conference on Computer Vision . Kyoto: Springer, 2020: 20−37.

[本文引用: 1]

MILIOTO A, VIZZO Ⅰ, BEHLEY J, et al. RangeNet++: fast and accurate LiDAR semantic segmentation [C]// IEEE/RSJ International Conference on Intelligent Robots and Systems . Macau: IEEE, 2019: 4213−4220.

[本文引用: 1]

ZHANG Y, ZHOU Z, DAIID P, et al. PolarNet: an improved grid representation for online LiDAR point clouds semantic segmentation [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 9598−9607.

[本文引用: 1]

ALONSO I, RIAZUELO L, MONTESANO L, et al

3D-MiniNet: learning a 2D representation from point clouds for fast and efficient 3D LiDAR semantic segmentation

[J]. IEEE Robotics and Automation Letters, 2020, 5 (4): 5432- 5439

DOI:10.1109/LRA.2020.3007440      [本文引用: 1]

杨军, 李博赞

基于自注意力特征融合组卷积神经网络的三维点云语义分割

[J]. 光学精密工程, 2022, 30 (7): 840- 853

DOI:10.37188/OPE.20223007.0840      [本文引用: 1]

YANG Jun, LI Bozan

Semantic segmentation of 3D point cloud based on self-attention feature fusion group convolutional neural network

[J]. Optics and Precision Engineering, 2022, 30 (7): 840- 853

DOI:10.37188/OPE.20223007.0840      [本文引用: 1]

GERDZHEV M, RAZANI R, TAGHAVI E, et al. Tornado-net: multi-view total variation semantic segmentation with diamond inception module [C]// IEEE International Conference on Robotics and Automation . Xi'an: IEEE, 2021: 9543−9549.

[本文引用: 2]

/