APP下载

基于对比边界学习的超面片Transformer点云分割网络

2023-09-25章益民

计算机时代 2023年9期
关键词:边界点面片邻域

章益民

摘  要: 为了高效地实现大规模室内点云场景语义分割,针对边界点云的特征信息难以区分、场景点云规模过于庞大而导致其难以直接进行分割网络的有效训练等问题,以超面片为数据表征,结合超面片Transformer模块(SPT)和对比边界学习模块(CBL),提出一种基于对比边界学习的超面片Transformer点云分割网络。针对数据集S3DIS进行训练,实验结果表明,该网络在分割精度上比Dgcnn网络高3.9%,在训练速度方面比SPGraph网络快近100倍,针对大规模室内点云场景分割效果尤为突出。

关键词: 点云; 语义分割; 自注意力; 超面片Transformer; 对比边界学习

中图分类号:TP391.41          文献标识码:A     文章编号:1006-8228(2023)09-75-06

Contrastive boundary learning based Transformer network for point cloud segmentation

Zhang Yimin

(School of Computer Science and Technology, Zhejiang Sci-Tech University, Hangzhou, Zhejiang 310018, China)

Abstract: For the issue of semantic segmentation for large-scale indoor point clouds scenes, it is difficult to distinguish the feature information of boundary point clouds and it is challenging to train deep neural networks efficiently due to the vast amount of point clouds data. Taking scene super-patch as data representation, combining the super-patch Transformer (SPT) module and the contrastive boundary learning (CBL) module, a contrastive boundary learning based Transformer network is proposed. The network is trained on public datasets S3DIS. The experimental results show that the overall accuracy of the network is 3.9% higher than the Dgcnn network, and the network training speed is nearly 100 times faster than the SPGraph network. The segmentation effect is outstanding in large-scale indoor point cloud scenes.

Key words: point clouds; semantic segmentation; self-attention; super-patch Transformer; contrastive boundary learning

0 引言

點云语义分割对于3D环境理解至关重要,在机器人感知[1]、室内导航[2]、增强现实[3]等领域已受到广泛关注。为了实现大规模室内点云场景语义分割,一方面,考虑到点云边界信息的精确细分对于整体分割性能影响非常大。错误的语义分割不利于建筑工程师更好地理解建筑物的几何结构。另一方面,场景点云过于规模庞大导致其难以直接进行分割网络的有效训练。因此,不同物体边界点/非边界点的有效区分以及如何构建一个高效的语义分割模型是一个亟待解决的问题。

近些年,随着大规模室内场景扫描数据集的出现[4],针对点云处理的PointNet网络[5]被提出,使得直接将点云数据作为神经网络的输入成为可能。随后的PointNet++网络[6]使用多层级降采样结构以扩大采样点之间的感受野。Wang等[7]提出了基于动态边缘卷积EdgeConv模块的Dgcnn网络以有效学习邻域点的关系。Landrieu等[8]提出了一种基于PointNet和图卷积的点云分割网络SPGraph。Guo等[9]提出了一种新的基于Transformer的点云学习框架PCT,通过偏移注意力可以更好地学习点云的上下文特征信息。实际上,室内场景中建筑结构和家具物体都具有超面片形状,因此采用结合Transformer结构的场景超面片为数据表征,既可以提升模型学习能力,又能解决硬件资源不足问题。

考虑到清晰的边界信息对整体网络分割性能至关重要,Tang等人[10]提出了一个新颖的对比边界学习(CBL)框架,通过学习对比场景边界上的点特征,来改善点云全局特征。实验证明对比边界模块CBL能有效地改善边界分割性能。因此,为了更好地优化网络边界的性能,本文引入对比边界学习模块Contrastive Boundary Learning[10]以解决语义分割中边界模糊问题。

本文主要贡献在于:①提出一种适合场景超面片特征提取的Transformer模块(Super-Patch Transformer),该模块可以有效学习场景超面片之间的特征相似度并从几何语义角度提升场景分割的有效性;②在Transformer框架中引入对比边界学习策略,有效地提升了场景物体边界点云与非边界点云之间的分割性能;③基于CBL模块和SPT模块的超面片网络适合于大规模点云场景的语义分割。

1 本文方法

为了实现大规模室内场景语义分割,本文提出了基于对比边界学习的超面片Transformer分割框架。具体如图1所示。

该网络首先以大规模室内场景点云数据作为输入,利用动态区域增长算法提取室内场景中几何特征一致的点云作为场景超面片;其次在神经网络编码器中借助多尺度结构,有效聚合相邻场景超面片的特征信息,同时通过子场景边界检测模块学习下采样场景的边界标签;然后借助基于多头自注意力机制的超面片Transformer模块(SPT),学习场景超面片全局特征以及超面片之间的特征相似度;最后在神经网络解码器中通过线性插值上采样操作,给每个超面片分配语义标签,其中上采样过程在边界超面片标签信息指导下,定义了边界超面片与非边界超面片样本对,结合对比边界学习CBL模块中的对比学习损失函数增强边界超面片之间的区分度,最终实现大规模室内场景语义分割。

1.1 场景超面片Transformer模块

本文采用场景超面片作为场景点云的一种数据表征,可以解决神经网络难以直接训练大规模室内场景点云的问题。由于场景超面片比离散场景点云通常具有更强的几何模型表达能力,为了更好地提取全局特征信息,該模块采用了Transformer结构[11]。场景超面片Transformer模块可以将输入的场景超面片几何特征映射到更高维的语义隐空间中,从而能够在高维隐空间中有效学习场景超面片之间的相似度。借助Transformer结构学习超面片之间的上下文关系能高效地实现场景的语义分割。

1.1.1 场景超面片的生成和特征描述

观察发现,室内场景中的人造物体通常是由具有高度结构化的超面片构建而成。受到Mattausch等[12]人工作的启发,本文通过聚类方法提取场景超面片。其中区域增长策略的核心思想是:首先将曲率最大的采样点[s]作为种子采样点,然后根据种子采样点选择出超面片[Πi]外的最近邻采样点[p]。假如最近邻采样点[p]满足以下条件:

[np⋅ns>t1] ⑴

[(p-s)⋅ns<t2] ⑵

[(p-q)⋅nq<t3] ⑶

[#(Πi)<t4] ⑷

则将最近邻采样点[p]添加到超面片[Πi]中,直到超面片中采样点数达到阈值上限[t4]则选择另外一个种子采样点重复上述操作,直至遍历完场景中所有点云数据为止。其中,[q]表示依次添加至超面片[Πi]中的最后一个采样点,[n]分别表示相应采样点的法向量,[#]表示点集中采样点数目。

为了有效描述场景超面片特征信息,本文首先通过PCA方法[13]获取超面片高度、面积、长宽比等;最后利用超面片边界框的质心代表超面片质心。同时,场景超面片特征还可以包括PCA法线、颜色、面积填充比等特征信息。具体描述如表1所示,包含丰富特征信息的超面片将有助于神经网络更好地学习场景超面片之间的语义关系。

1.1.2 超面片Transformer结构

为了在高维语义隐空间中有效地学习场景超面片之间的相似度,本文堆叠了四个偏移注意力模块构造出超面片Transformer模块(SPT)用于学习超面片的几何特征。如图2所示,给定输入的场景超面片数据[Πi∈RNi×(3+di)],其由[Ni]个包含[di]维特征信息和三维的质心坐标的场景超面片组成。借助四个自注意力层得到输出特征[Fo∈RNo×do],其中[de=da=do/4],公式如下:

[F1=AT1(Fe)] ⑸

[Fi=ATiFi-1, i=2,3,4] ⑹

[Fo=concat(F1,F2,F3,F4)⋅Wo] ⑺

其中,[ATi]代表第[i]层的注意力层,[Wo]代表线性层权重。

自注意力机制的核心思想是首先通过对输入数据做线形变换得到查询矩阵和键值矩阵以及值矩阵,接着通过矩阵点乘运算与归一化操作计算输入数据之间的相关性得到注意力矩阵。

如式⑻所示,自注意力层输出向量[Fsa]是值向量[V]与相应的注意力矩阵权重[A]的加权和。如式⑼所示,为了加强输出特征与输入特征之间的关联性,将经过线性变换的自注意力特征[Fsa]与输入特征[Fi]进行相加得到最终的输出特征:

[Fsa=A⋅V] ⑻

[Fo=SAFi=Relu(BNMLPFsa)+Fi] ⑼

如图3所示,本文采用PCT网络[9]中偏移注意力代替自注意力方式加强点云在Transformer中的性能。偏移注意力层通过矩阵减法计算自注意力输出特征与输入特征之间的偏移量,算式如下:

[Fo=OAFi=Relu(BNMLPFi-Fsa)+Fi] ⑽

偏移注意力采用softmax函数和归一化函数实现,具体公式如下:

[(αo)i,j=softmax(αoi,j)=exp ((αo)i,j)∑exp ((αo)k,j)]  ⑾

[(α)i,j=(αo)i,jk(αo)k,j] ⑿

采用偏移注意力模块具有以下几点明显的优势。①可以有效地获取到输入特征与自注意特征的差异;②支持并行计算的能力,将更多的算力运用到注意力高的特征中,提高了模型的解释性。

1.2 对比边界学习模块

为了改善边界分割性能,本文采用将边界信息嵌入到对比学习中。首先在下采样过程中采用子场景边界检测模块学习边界超面片语义标签,然后在各个阶段的超面片语义标签指导下,结合对比边界学习模块(CBL)[10]的损失函数进行模型的优化调整,最后实现边界超面片与非边界点超面片的良好区分,进而改善边界细分质量。

1.2.1 对比边界学习模块

为了确定真实场景和预测场景中边界超面片。如式⒀,在真实场景中,假如超面片[Πi]符合其邻域内存在三个不同语义类别的超面片[Πj],本文将其定义为边界超面片[Bl];相似地,在预测场景中,倘若一个超面片[Πi]邻域内存在不同语义类别的超面片[Πj],本文将其则定义为边界预测超面片[Bp]。

[Bl={Πi∈Π| ∃Πj∈Ni,lj≠li}] ⒀

[Bp={Πi∈Π| ∃Πj∈Ni,pj≠pp}] ⒁

其中,[Ni]代表以超面片[Πi]为中心的邻域超面片。[lj]代表邻域超面片的真实标签,而[pj]代表邻域超面片的预测标签。

为了更好地区分边界超面片与非边界超面片,本文采用InfoNCE loss[14]损失函数进行学习。其核心思想是通过计算超面片之间特征距离表示边界超面片与非边界超面片之间的差异性,实现语义类别相同的邻域超面片相互靠近,而语义类别不同的邻域超面片严格区分。如下面公式所得:

[LCBL=-1|Bl|Πi∈BllogΠj∈Ni⋀lj=liexp (-d(fi,fj)/τ)Πk∈Niexp (-d(fi,fk)/τ)] ⒂

其中,[fi]代表超面片[Πi]的面片特征,[d]是距离函数,[τ]是对比学习中的温度系数。本文将与中心超面片[Πi]的语义标签相同的邻域超面片[Πj]定义为正样本,而与[Πi]语义标签不同的邻域超面片[Πj]则定义为负样本。根据对比边界学习损失函数,计算损失以增强场景边界超面片之间的特征区分度。这极大地改善了边界区域分割效果。

1.2.2 子场景边界检测模块

针对点云降采样过程中使用最远点采样FPS[15]算法会导致下采样超面片的语义标签难以确认的问题。本文采用在多尺度结构中嵌入子场景边界检测模块以确认每一个降采样阶段的真实的边界超面片语义标签。该模块的主要思路是针对第[n]个下采样阶段第[i]个超面片[Πni],其中上标表示阶段。首先通过Knn[16]算法为其在[n-1]下采样阶段中获取邻域超面片[Nn-1(Πni)] (如图1中的黑色虚线圆);接着通过平均池化函数AVG,聚合邻域超面片的标签信息;最后通过迭代方式确定不同子采样阶段的真实语义标签。具体如下:

[lni=AVG({ln-1j|Πn-1j∈Nn-1(Πni)})] ⒃

本文采用argmax[lni]来评估公式13中的边界点。在子场景边界检测模块的帮助下,将下采样超面片[Πni]的特征以及标签信息作为等式15对比边界优化的输入参数。将对比边界学习CBL模块应用到每个阶段中,计算最终的损失为下列公式所示:

[L=Lcross-entropy+λnLnCBL] ⒄

其中,[Lcross-entropy]是交叉熵损失函数,而[LnCBL]是第[n]阶段中的CBL损失。[λ]是损失权重,用于表征不同层产生损失的重要性。

2 实验结果与分析

2.1 数据集

本文采用数据集S3DIS[4]中Area2与Area5分别作为测试集来验证网络框架的性能。该数据集中包含六个大规模的室内区域,共含272个房间,每个房间都包含真实语义标注的3D点云,共13种语义类别。其中Area2中包含千万规模级别的大剧院场景,每个剧院场景中具有较多重复结构的建筑元素。

2.2 本文网络的分割效果

本文网络高效地实现了大规模场景语义分割效果。如图4给出Area2中剧院场景的语义分割效果。点云分割结果既保持场景的完整结构,又能保持不同物体形状的边界较清晰(详见椭圆处),如墙与地板、门与墙、墙与天花板之间的分割效果。尤其对于大量重復结构的椅子和墙以及天花板分割效果最佳。从走廊场景效果图中可以看出,绝大部分建筑元素均能被精确分割并能保证其结构信息的完整性。尤其对墙元素,在受到柱子和梁强干扰的情况下仍然能有效地分割出来,表现出网络强干扰性。同时(如图5),对于会议室、办公室、大厅等小规模点云场景点云场景,本文网络表现出较强的边界区分能力,分割效果呈现比较明显的边界轮廓。实验表明,本文网络具有较强的鲁棒性。

2.3 与不同点云分割方法的比较

为了突出本文网络的高效性和边界区分性能,本文采用相同数据集和相同硬件环境分别采用不同网络进行场景语义分割效果的验证实验。

2.3.1 定性分析

图5分别给出了在S3DIS数据集中Area5的不同方法的分割效果。其中黑色椭圆代表利用不同网络具有语义分割差异的场景区域。实验结果表明,Dgcnn网络对于椅子,门框类别分割效果较差。而PointNet++网络[6]存在边界模糊现象,并且难以识别门、杂物以及书架。

对比PointNet++网络,本文网络的边界区分能力和保结构性更好,比如在办公室场景中椅子与桌子的相交处边界划分清晰、椅子划分不会受到桌子的影响。在会议室场景中墙和黑板以及墙和门的边界划分更鲜明。这体现出对比边界学习(CBL)模块可以增强边界超面片与非边界超面片的区分度。对比Dgcnn网络,本文网络对于黑板、墙、书架以及杂物的分割效果均优于Dgcnn网络,从会议室场景中可以看出,本文网络对黑板和门的边界分割能力更强,并且墙和地板黑板之间不存在模糊边界现象。体现超面片Transformer(SPT)模块在高层语义空间中捕捉了超面片局部特征和全局特征从而拥有较强的学习能力。对比边界学习(CBL)模块通过损失函数优化调整网络模型,增强网络模型边界区分能力。综上所述,本文网络的分割效果优于Dgcnn网络,略优于PointNet++网络。

2.3.2 定量比较

如表2中各项指标统计所示。与PointNet网络和Dgcnn网络[7]相比,由于梁类别特征不够明显分割效果较差,本文网络中其余类别的各项指标均有较明显优势;与PointCNN点云分割网络[17]相比,本文网络对天花板、地板、墙、黑板、书架等场景类别的分割交并比高于PointCNN网络,可以看出上述类别在边界性能的表现都比较出众,这说明对比边界学习CBL模块在网络训练中起着重要作用。综上所述,SPT模块因为充分考虑到不同场景超面片的几何特征之间的相似度,从而提升了模型的学习能力。另一方面,CBL模块既可以解决边界模糊问题,也可以提升整体模型的精度。从表3的网络训练速度指标看,本文以场景超面片作为表征语义分割网络训练效率比SPGraph网络接近快100倍。本文方法在保证场景高效分割的前提下,其能有效保持场景点云的结构信息并增强模型对边界点云的区分能力。

2.3.3 場景分割效率比较

如表3所示,PointNet网络与PointNet++网络以及Dgcnn网络的训练时间分别为105min、557min和175min;然而SPGraph网络因结合了图卷积和PointNet网络,其训练时间为2471min。相反地,本文网络的训练时间仅需25min,均快于上述网络。相比于SPGraph网络,本文网络达到了近100倍的运行效率优势。究其原因在于本文网络采用超面片作为场景数据表征,由于场景超面片数量远小于场景点云数目,采用场景超面片作为神经网络输入可以大大加快分割网络的训练时间和运行速度。

3 结束语

针对大规模室内点云场景的语义分割问题,本文提出了基于对比边界学习的超面片Transformer分割网络。其中基于多头注意力机制的SPT模块在高层语义空间中学习超面片之间的特征相似度,对比边界学习模块CBL借助子场景边界检测策略增强跨边界点云之间的区分能力。实验证明,该网络可以准确地、高效地分割大规模室内点云场景。

然而针对复杂场景,由于面片的几何特征比较相似,难以明显地区分开。同时只考虑边界点难以满足现实情况,需要对边界内点云做进一步的探索,通过学习边界点与其内部点云之间的上下文关系,可以实现更高效地场景语义分割。

参考文献(References):

[1] Rusu R B, Marton Z C, Blodow N, et al. Towards 3D point

cloud based object maps for household environments[J]. Robotics and Autonomous Systems,2008,56(11):927-941.

[2] Zhu Y, Mottaghi R, Kolve E, et al. Target-driven visual

navigation in indoor scenes using deep reinforcement learning[C]//Proceedings of IEEE International Conference on Robotics and Automation (ICRA),2017:3357-3364.

[3] Wirth F, Quehl J, Ota J, et al. Pointatme: efficient 3d point

cloud labeling in virtual reality[C]//Proceedings of IEEE Intelligent Vehicles Symposium,2019:1693-1698.

[4] Armeni I, Sener O, Zamir A R, et al. 3d semantic parsing

of large-scale indoor spaces[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition,2016:1534-1543.

[5] 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/CVFConference on Computer Vision and Pattern Recognition,2017:652-660.

[6] Qi C R, Yi L, Su H, et al. Pointnet++: Deep hierarchical

feature learning on point sets in a metric space[J]. Advances in Neural Information Processing Systems,2017:30.

[7] Wang Y, Sun Y, Liu Z, et al. Dynamic graph cnn for

learning on point clouds[J]. ACM Transactions on Graphics,2019,38(5):1-12.

[8] Landrieu L, Simonovsky M. Large-scale point cloud

semantic segmentation with superpoint graphs[C]//Proceedings of the IEEE/CVFConference on Computer Vision and Pattern Recognition,2018:4558-4567.

[9] Guo M H, Cai J X, Liu Z N, et al. PCT: Point cloud

transformer[J]. Computational Visual Media,2021,7(2): 187-199.

[10] Tang L, Zhan Y, Chen Z, et al. Contrastive boundary

learning for point cloud segmentation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition,2022:8489-8499.

[11] Vaswani A, Shazeer N, Parmar N, et al. Attention is all

you need[J]. Advances in Neural Information Processing Systems,2017:30.

[12] O. Mattausch, D. Panozzo, C. Mura, O. Sorkine-

Hornung, and R. Pajarola. Object detection and classification from large-scale cluttered indoor scans. Computer Graphics Forum,2014,33(2):11-21.

[13] Maćkiewicz A, Ratajczak W. Principal components

analysis[J]. Computers & Geosciences,1993,19(3):303-342.

[14] Oord A, Li Y, Vinyals O. Representation learning with

contrastive predictive coding[J]. arXiv preprint arXiv:1807.03748,2018.

[15] Moenning C, Dodgson N A. Fast marching farthest point

sampling for implicit surfaces and point clouds[J]. Computer Laboratory Technical Report,2003,565:1-12.

[16] Guo G, Wang H, Bell D, et al. KNN model-based

approach in classification[J]. Lecture Notes in Computer Science,2003:986-996.

[17] Li Y, Bu R, Sun M, et al. Pointcnn: Convolution on x-

transformed points[J]. Advances in neural information processing systems,2018,31.

[18] Tchapmi L, Choy C, Armeni I, et al. Segcloud: Semantic

segmentation of 3d point clouds[C] //Proceedings of IEEE International Conference on 3D vision,2017:537-547.

猜你喜欢

边界点面片邻域
道路空间特征与测量距离相结合的LiDAR道路边界点提取算法
层次化点云边界快速精确提取方法研究
稀疏图平方图的染色数上界
初次来压期间不同顶板对工作面片帮影响研究
基于邻域竞赛的多目标优化算法
关于-型邻域空间
甜面片里的人生
基于三角面片包围模型的数字矿山技术研究
青海尕面片
一种去除挂网图像锯齿的方法及装置