基于深度学习和边界点对比学习的3D点云语义分割方法
未命名
10-21
阅读:136
评论:0
基于深度学习和边界点对比学习的3d点云语义分割方法
技术领域
1.本发明涉及计算机视觉和点云语义分割技术领域,具体而言,涉及一种基于深度学习和边界点对比学习的3d点云语义分割方法。
背景技术:
2.点云语义分割的任务是将3d点云中的每一个点进行分类。很多有效的深度神经网络算法被提出用于解决点云语义分割问题,按照对点云的表示方式不同,可分为基于点云体素化的分割方法和基于原始点的分割方法。基于点云体素化的分割方法适用于室外大规模场景点云语义分割。而对于室内场景的点云,基于原始点的方法如point transformer、pointnext、则更有影响力,也具有更好的分割效果。但这些算法结构复杂、运算量大;对场景语义分割中边界点关注不足,导致在边界点分割的精度上表现不佳。
3.对比学习是一种机器学习方法,其思想是将正负样本在特征空间对比,使样本跟正样本的特征更接近、与负样本的特征尽量不同。对比学习的方法在点云语义分割中的应用还较少。cbl网络将对比学习引入到点云语义分割中,但其多阶段的对比学习方式存在着运算量较大的问题。
技术实现要素:
4.综合上述分析,本发明提出了一种计算量小、增强边界点分割性能的语义分割方法。
5.本发明采用的技术方案如下:
6.1.基于深度学习和边界点对比学习的3d点云语义分割方法,包括以下步骤:
7.步骤1):以pointmetabase网络为主干网,基于对比学习算法设计边界点对比学习模块,构建增强边界点语义分割性能的网络结构;该点云语义分割网络结构包括依次连接的特征编码模块、特征解码模块和边界点对比学习模块;
8.步骤2):采集或使用室内场景点云作为数据集;
9.步骤3):使用步骤2)获得的数据集训练根据步骤1)构建的语义分割网络获得语义分割模型,使用该模型对待分割的点云数据进行分割。
10.2.1所述的点云语义分割方法,所述步骤1)中的特征编码模块由一个mlp层和pointmetasa模块和pointmetabase模块组成,用于对输入的点云进行下采样和特征提取。
11.pointmetasa模块由一个下采样层、一个分组聚合层、两个卷积层和一个最大池化层组成。
12.原始点云首先经过一个mlp层,被映射到高维空间,得到每个点对应的特征;输入的点云先经过下采样层得到新的点云,由mlp层得到的特征则经过一个卷积核大小为1x1的卷积层得到更高维度的特征;分组聚合层以新点云为中心点,采样邻域点将原始点云划分为多个区域,获取每个邻域点的特征以及邻域点和中心点的距离度量;第二个卷积层对距离度量进行编码得到位置嵌入编码;最后对邻域点特征和位置嵌入编码求和输入到最大池
化层得到每个区域的局部特征。
13.pointmetabase模块由两个卷积层和一个分组聚合层、一个最大池化层组成。首先由一个卷积层对上一个模块输入的特征进行进一步特征提取,然后由分组聚合层获取每个邻域点的特征;对邻域点特征和上一个模块输入的位置嵌入编码求和输入到最大池化层得到每个区域的局部特征;最后将这些局部特征送入一个输入输出特征维度相同的卷积层进行局部特征的更新。
14.3.1所述的点云语义分割方法,所述步骤1)中的特征解码模块采用点特征传播的方式,对点和特征进行上采样。对于上采样阶段β的输入点数p
β
和输出点数p
β-1
,采用特征插值,由p
β
个点的特征得到p
β-1
个点的特征。
[0015][0016][0017]
其中,p是插值的中心点,ωi(p)是特征插值的权重,d(p,pi)
x
是距离度量,k设为3,x设为2,c是特征维度数。
[0018]
4.1所述的点云语义分割方法,所述步骤1)中的边界点对比学习模块,由邻域点采样模块、正负点对生成模块和对比学习infonce损失计算模块组成。边界点对比学习模块对输入的点云的每个点进行邻域点采样,获取每个邻域点的标签和特征,根据邻域点与中心点的标签是否相同生成正负点对,最后根据正负点对的特征计算对比学习的loss。具体步骤如下:
[0019]
步骤1):定义边界点点集其中p为点云集合,ni为pi的邻域点集,li和,lj分别为pi和pj的标签。
[0020]
步骤2):输入p个点到邻域点采样模块,以每个点为中心点,以半径r采样最多k个邻域点,并获取邻域点的特征fj和标签lj;
[0021]
步骤3):将点输入正负点对生成模块,对每个中心点pi,比较中心点的标签li和它的每个邻域点的标签lj是否相同;
[0022]
步骤4):如果中心点标签和所有的邻域点标签都相同或都不同,则把该中心点去掉;
[0023]
步骤5):剩下的中心点即为边界点,将中心点和与其标签相同的邻域点组成正点对,和与其标签不相同的邻域点组成负点对;
[0024]
步骤6):获取正点对的特征和所有点对的特征,送入对比学习损失函数计算:
[0025][0026]
5.1所述的点云语义分割方法,网络总的损失函数为:
[0027]
l=l
crossentropy
+αl1[0028]
α是损失权重。
[0029]
本发明的有益效果
[0030]
本发明采用pointmetabase作为主干网,相比于point transformer、pointnext等其他基于原始点的语义分割网络,可以在计算量更小的情况下达到相当的分割精度;基于对比学习算法设计边界点对比学习模块,获取输入特征中的边界点特征并进行单阶段对比学习,以较小的计算量代价增强了网络对边界点的分割性能;在对比学习模块的邻域采样模块中以半径r采样最多k个邻域点,固定半径r的采样方式使得网络在点云密度发生变化时具有更好的鲁棒性。
附图说明
[0031]
图1为本发明总体步骤流程图
[0032]
图2为本发明网络整体结构图
[0033]
图3为本发明边界点对比学习模块图
具体实施方式
[0034]
下面结合附图和实施例对本发明做进一步说明。所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。
[0035]
如图1的流程图所示,按照公开内容的完整方法实施的实施例如下:
[0036]
步骤1:以pointmetabase网络为主干网,基于对比学习算法设计边界点对比学习模块,构建增强边界点语义分割性能的网络结构;该点云语义分割网络结构包括依次连接的特征编码模块、特征解码模块和边界点对比学习模块。
[0037]
如图2所示,所述的特征编码模块由一个mlp层和pointmetasa模块和pointmetabase模块组成,用于对输入的点云进行下采样和特征提取。
[0038]
pointmetasa模块由一个下采样层、一个分组聚合层、两个卷积层和一个最大池化层组成。
[0039]
原始点云首先经过一个mlp层,被映射到高维空间,得到每个点对应的特征;输入的点云先经过下采样层得到新的点云,由mlp层得到的特征则经过一个卷积核大小为1x1的卷积层得到更高维度的特征;分组聚合层以新点云为中心点,采样邻域点将原始点云划分为多个区域,获取每个邻域点的特征以及邻域点和中心点的距离度量;第二个卷积层对距离度量进行编码得到位置嵌入编码;最后对邻域点特征和位置嵌入编码求和输入到最大池化层得到每个区域的局部特征。
[0040]
pointmetabase模块由两个卷积层和一个分组聚合层、一个最大池化层组成,起到扩展网络规模的作用,增加网络的深度,进一步提取特征,提升网络的特征学习能力。
[0041]
首先由一个卷积层对上一个模块输入的特征进行进一步特征提取,然后由分组聚合层获取每个邻域点的特征;对邻域点特征和上一个模块输入的位置嵌入编码求和输入到最大池化层得到每个区域的局部特征;最后将这些局部特征送入一个输入输出特征维度相同的卷积层进行局部特征的更新。
[0042]
所述特征解码模块采用点特征传播(feature propagat ion)的方式,对点和特征进行上采样。对于上采样阶段β的输入点数p
β
和输出点数p
β-1
,采用特征插值,由p
β
个点的特征得到p
β-1
个点的特征。
[0043][0044][0045]
其中,p是插值的中心点,ωi(p)是特征插值的权重,d(p,pi)
x
是距离度量,k设为3,x设为2,c是特征维度数。
[0046]
如图3所示,边界点对比学习模块,由邻域点采样模块、正负点对生成模块和对比学习infonce损失计算模块组成。边界点对比学习模块对输入的点云的每个点进行邻域点采样,获取每个邻域点的标签和特征,根据邻域点与中心点的标签相同与否生成正负点对,最后根据正负点对的特征计算对比学习的loss。具体步骤如下:
[0047]
1)定义边界点点集其中p为点云集合,ni为pi的邻域点集,li和,lj分别为pi和pj的标签。
[0048]
2)输入p个点到邻域点采样模块,以每个点为中心点,以半径r采样最多k个邻域点,并获取邻域点的特征fj和标签lj;
[0049]
3)将点输入正负点对生成模块,对每个中心点pi,比较中心点的标签li和它的每个邻域点的标签lj是否相同;
[0050]
4)如果中心点标签和所有的邻域点标签都相同或都不同,则把该中心点去掉;
[0051]
5)剩下的中心点即为边界点,将中心点和与其标签相同的邻域点组成正点对,和与其标签不相同的邻域点组成负点对;
[0052]
6)获取正点对的特征和所有点对的特征,送入对比学习损失函数计算:
[0053][0054]
所述的点云语义分割方法,网络总的损失函数为:
[0055]
l=l
crossentropy
+αl1[0056]
α是损失权重。
[0057]
步骤2:采用大型室内场景点云数据集s3dis训练步骤1中的语义分割模型。
[0058]
步骤3:利用训练好的语义分割模型s3dis-area5点云数据进行分割。
技术特征:
1.基于深度学习和边界点对比学习的3d点云语义分割方法,其特征在于,包括以下步骤:步骤1)以pointmetabase网络为主干网,基于对比学习算法设计边界点对比学习模块,构建增强边界点语义分割性能的网络结构;该点云语义分割网络结构包括依次连接的特征编码模块、特征解码模块和边界点对比学习模块;步骤2)采集或使用室内场景点云作为数据集;步骤3)使用步骤2)获得的数据集训练根据步骤1)构建的语义分割网络获得语义分割模型,使用该模型对待分割的点云数据进行分割。2.根据权利要求1所述的点云语义分割方法,其特征在于,所述步骤1)中的特征编码模块由pointmetasa模块和pointmetabase模块组成,用于对输入的点云进行下采样和特征提取。3.根据权利要求1所述的点云语义分割方法,其特征在于,所述步骤1)中的特征解码模块采用点特征传播的方式,对点和特征进行上采样。4.根据权利要求1所述的点云语义分割方法,其特征在于,所述步骤1)中的边界点对比学习模块,由邻域点采样模块、正负点对生成模块和对比学习infonce损失计算模块组成。边界点对比学习模块对输入的点云的每个点进行邻域点采样,获取每个邻域点的标签和特征,根据邻域点与中心点的标签是否相同生成正负点对,最后根据正负点对的特征计算对比学习的loss。具体步骤如下:1)定义边界点点集其中p为点云集合,n
i
为p
i
的邻域点集,l
i
和,l
j
分别为p
i
和p
j
的标签。2)输入p个点到邻域点采样模块,以每个点为中心点,以半径r采样最多k个邻域点,并获取邻域点的特征f
j
和标签l
j
;3)将点输入正负点对生成模块,对每个中心点p
i
,比较中心点的标签l
i
和它的每个邻域点的标签l
j
是否相同;4)如果中心点标签和所有的邻域点标签都相同或都不同,则把该中心点去掉;5)剩下的中心点即为边界点,将中心点和与其标签相同的邻域点组成正点对,和与其标签不相同的邻域点组成负点对;6)获取正点对的特征和所有点对的特征,送入对比学习损失函数计算:5.根据权利要求1所述的点云语义分割方法,其特征在于,网络总的损失函数为:l=l
cross entropy
+αl1α是损失权重。
技术总结
本发明涉及计算机视觉和点云语义分割技术领域,具体而言,涉及一种基于深度学习和边界点对比学习的3D点云语义分割方法。包括:以PointMetaBase网络为主干网,基于对比学习算法设计边界点对比学习模块(Boundary Points Contrasitve learning,BPCL),构建增强边界点语义分割性能的网络结构;该点云语义分割网络结构包括依次连接的特征编码模块、特征解码模块和边界点对比学习模块;采集或使用室内场景点云作为数据集;根据获得的数据集训练构建的语义分割网络获得语义分割模型,使用该模型对待分割的点云数据进行分割。本发明可以提高PointMetaBase对场景边界的分割性能,从而提高对整个场景的分割性能。高对整个场景的分割性能。高对整个场景的分割性能。
技术研发人员:张斌 杨林杰
受保护的技术使用者:桂林电子科技大学
技术研发日:2023.07.26
技术公布日:2023/10/19
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种水下机器人用摄像机的制作方法 下一篇:中方分割方法、装置、设备及介质与流程