基于PointNet的图卷积与KNN搜索的点云零件级分割方法

文档序号:29218972发布日期:2022-03-12 12:16阅读:127来源:国知局
基于PointNet的图卷积与KNN搜索的点云零件级分割方法
基于pointnet的图卷积与knn搜索的点云零件级分割方法
技术领域
1.本发明属于点云物体分割技术领域,具体涉及基于pointnet的图卷积与knn搜索的点云零件级分割方法。


背景技术:

2.三维形状的分析与理解一直是计算机图形学的重要研究内容。近年来,深度传感器和三维激光扫描仪的普及推动了三维点云处理方法的快速发展。三维点云物体的零件级分割作为3d场景理解和分析的基础,已成为导航定位、医学影像分析、模式识别等领域的研究重点,具有重要的研究价值和广阔的应用前景。
3.点云零件级分割是把点云分为若干个具有详细语义类别的区域。基本的点云包含6维特征,分别为xyz坐标和rgb颜色信息。伴随着大规模数据集的出现、计算机硬件成本的降低以及gpu并行计算能力的提高,深度学习在点云分割领域逐渐占据了绝对主导地位,以pointnet网络为先驱的深度学习已被更多学者研究及使用,该网络模型十分简单,针对点云数据的特点,可以直接对原始点云数据操作,同时使用maxpooling作为对称函数来处理点云的无序性,采用两个t-net网络对模型进行旋转不变性处理。
4.pointnet网络主要是在局部尺度上独立处理点,保持了排列不变性,但没有考虑到近邻点的交互关系,因此会缺失节点间几何关系的局部特征。基于此,本发明对pointnet网络做了优化,提出的基于pointnet的图卷积与knn搜索的零件级分割方法,更高效地聚合了点云的邻域特征。


技术实现要素:

5.本发明的目的是提供基于pointnet的图卷积与knn搜索的点云零件级分割方法,解决了pointnet网络由于仅提取单独点的特征而带来的语义分割精度不高的问题。
6.本发明所采用的技术方案是,基于pointnet的图卷积与knn搜索的点云零件级分割方法,具体按照如下步骤实施:
7.步骤1,点云空间对齐:输入点云数据,使用t-net微型网络预测仿射变换矩阵,利用该矩阵对输入的点云数据进行坐标对齐;
8.步骤2,局部特征提取:为了捕获局部特征,通过将步骤1中的每个点视为顶点,选取距离最近的k个点来构建k最近邻域图,并在连接相邻点对的边缘上应用边卷积得到每两两点对之间的边特征信息,然后通过多层感知机网络mlp操作提取局部特征矩阵信息;
9.步骤3,动态更新局部邻域图:根据嵌入的顺序计算更新mlp每层的k近邻图,提取更新后的局部特征矩阵信息;
10.步骤4,点云特征变换:设计新t-net微型网络,将更新后的局部特征矩阵信息输入新t-net网络进行坐标对齐,保证特征点的旋转不变性;
11.步骤5,局部特征和全局特征融合:对已对齐更新后的局部特征矩阵信息进行maxpolling最大池化操作,该操作聚合得到的全局特征信息再通过多个mlp处理得到每个
物体的类别分数,从而实现三维物体的零件级分割。
12.本发明的特点还在于,
13.步骤1具体为:
14.步骤1.1,输入三维物体的点云数据p={p1,p2,

,pi,

,pn},其中pi表示第i个点的位置信息,n为该物体的点个数即point_num,n=2048,批处理batch_size大小为4,一次训练时期epoch大小为200;
15.步骤1.2,为了使模型对输入具有排列不变性,使用对称函数聚合每个点的信息,得到仿射矩阵a:
16.f({p1,

,pn})≈g(h(p1),

,h(pn)),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
17.式(1)中,h表示多层感知机网络,g表示最大池化函数,f表示捕获的点云集合的特征信息;
18.步骤1.3,输入的点云数据与仿射矩阵a相乘后,再通过多个mlp处理,实现输入点云的坐标对齐。
19.步骤2具体为:
20.步骤2.1,采用欧几里德距离作为度量标准来选择k个最近邻点k=20;
21.步骤2.2,对步骤1对齐后得到的点云数据的每个点pi及其k个最近邻点qj,j=1,2,

,k构建k近邻域图,其中rf表示f维输入点云矩阵。
22.步骤2.3,k近邻域图结构为g=(v,e),其中v={pi|i=1,

,n}表示顶点集合,e={ei=(e
i1
,e
i2
,

,e
ij
,
…eik
)|i=1,2,

,n}表示顶点之间的边集合,e
ij
表示点pi与k个近邻点的有向边;
23.步骤2.4,对步骤2.3更新后得到的k近邻域图通过mlp卷积处理后,得到三维点云物体的局部特征矩阵信息。
24.步骤3具体如下:
25.步骤3.1,mlp包含两个卷积层,一个批处理归一化层和一个激活层,其中两个卷积层的卷积核大小从左到右为64,64,mlp网络各层的输出点云数据为l表示mlp网络的第l层;
26.步骤3.2,根据mlp网络各层的输出点云数据,mlp各层均得到一个不同的输出k近邻域图g
l
=(v
l
,e
l
),g
l
表示第l层输出的k近邻域图,v
l
表示g
l
对应的顶点集合,e
l
表示g
l
对应的顶点之间的边集合;
27.步骤3.3,根据各层输出的k近邻域图获取每一层的局部特征矩阵信息。
28.设计的新t-net网络为在常规t-net网络框架的softmax训练损失中增加一个如公式(3)所示的正则化项,将特征变换矩阵限制为接近于正交矩阵;
[0029][0030]
式(3)中,a为t-net网络预测的仿射矩阵,保证了正交变换不会丢失输入信息,i为单位矩阵,f表示点云维度。
[0031]
步骤5具体如下:
[0032]
步骤5.1,将已对齐更新后的局部特征矩阵信息作为输入,经过3个spatial_transform模块进行卷积操作处理,分别得到三个局部特征信息net1,net2,net3;
[0033]
步骤5.2,分别将3个spatial_transform模块对应的三个局部特征:net1,net2,net3拼接起来,输出为out;
[0034]
步骤5.3,输出的out数据进行maxpolling最大池化操作,得到当前层的全局特征;
[0035]
步骤5.4,将当前层全局特征与数据集中输入点云的标签信息进行拼接,得到整个网络的全局特征global_feature;
[0036]
步骤5.5,将全局特征global_feature与net1,net2,net3进行拼接;
[0037]
步骤5.6,对步骤5.5拼接后的数据进行mlp多层感知机处理,得到所有物体的类别得分情况,实现三维物体的零件级分割。
[0038]
本发明的有益效果是:
[0039]
本发明基于pointnet的图卷积与knn搜索的点云零件级分割方法,首先,通过一个微型网络t-net(input_transform)保证点云旋转不变性;然后,计算每两两点对之间的欧氏距离,选取距离最近的k个点,以点pi为中心点构造k近邻域图来提取局部特征,在后续的模型训练中,对每一层动态更新k邻域图,得到局部特征信息;接下来,通过一个t-net(feature_transform)微型网络对齐不同点云局部特征数据;最后,将输出的多层局部特征与全局特征进行拼接,再通过多个mlp(多层感知机)操作,得到三维点云物体的零件级分割结果,本发明能够提高三维点云物体的零件级分割精度。
附图说明
[0040]
图1是基于pointnet的图卷积与knn搜索的点云零件级分割方法的网络体系结构图;
[0041]
图2是基于pointnet的图卷积与knn搜索的点云零件级分割方法改进的图卷积与knn搜索的边特征(edge_feature)提取网络图;
[0042]
图3为shapenetcore数据集中三维物体零件级分割的结果;
[0043]
图4(a)为shapenetcore数据集训练过程中的损失曲线图
[0044]
图4(b)为shapenetcore数据集训练过程中的准确率曲线图。
具体实施方式
[0045]
下面结合具体实施方式对本发明进行详细说明。
[0046]
实施例
[0047]
本实施例提供基于pointnet的图卷积与knn搜索的点云零件级分割方法,如图1所示,具体按照如下步骤实施:
[0048]
步骤1,点云空间对齐:输入点云数据,使用t-net微型网络预测仿射变换矩阵,利用该矩阵对输入的点云数据进行坐标对齐;
[0049]
步骤1.1,输入三维物体的点云数据p={p1,p2,

,pi,

,pn},其中pi表示第i个点的位置信息,n为该物体的点个数即point_num,n=2048,批处理batch_size大小为4,一次训练时期epoch大小为200;
[0050]
步骤1.2,为了使模型对输入具有排列不变性,使用对称函数聚合每个点的信息,得到仿射矩阵a:
[0051]
f({p1,

,pn})≈g(h(p1),

,h(pn)),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0052]
式(1)中,h表示多层感知机网络,g表示最大池化函数,f表示捕获的点云集合的特征信息;
[0053]
步骤1.3,输入的点云数据与仿射矩阵a相乘后,再通过多个mlp处理,实现输入点云的坐标对齐。
[0054]
步骤2,局部特征提取:为了捕获局部特征,通过将步骤1中的每个点视为顶点,选取距离最近的k个点来构建k最近邻域图,并在连接相邻点对的边缘上应用边卷积得到每两两点对之间的边特征信息,然后通过多层感知机网络mlp操作提取局部特征矩阵信息;
[0055]
步骤2.1,采用欧几里德距离作为度量标准来选择k个最近邻点k=20;
[0056]
步骤2.2,对步骤1对齐后得到的点云数据的每个点pi及其k个最近邻点qj,j=1,2,

,k构建k近邻域图,其中rf表示f维输入点云矩阵。
[0057]
步骤2.3,k近邻域图结构为g=(v,e),其中v={pi|i=1,

,n}表示顶点集合,e={ei=(e
i1
,e
i2
,

,e
ij
,
…eik
)|i=1,2,

,n}表示顶点之间的边集合,e
ij
表示点pi与k个近邻点的有向边;
[0058]
步骤2.4,对步骤2.3更新后得到的k近邻域图通过mlp卷积处理后,得到三维点云物体的局部特征矩阵信息。
[0059]
步骤3,动态更新局部邻域图:根据嵌入的顺序计算更新mlp每层的k近邻图,提取更新后的局部特征矩阵信息;
[0060]
步骤3.1,mlp包含两个卷积层,一个批处理归一化层和一个激活层,其中两个卷积层的卷积核大小从左到右为64,64,mlp网络各层的输出点云数据为l表示mlp网络的第l层;
[0061]
步骤3.2,根据mlp网络各层的输出点云数据,mlp各层均得到一个不同的输出k近邻域图g
l
=(v
l
,e
l
),g
l
表示第l层输出的k近邻域图,v
l
表示g
l
对应的顶点集合,e
l
表示g
l
对应的顶点之间的边集合;
[0062]
步骤3.3,根据各层输出的k近邻域图获取每一层的局部特征矩阵信息。
[0063]
步骤4,点云特征变换:设计新t-net微型网络,将更新后的局部特征矩阵信息输入新t-net网络进行坐标对齐,保证特征点的旋转不变性;
[0064]
设计的新t-net网络为在常规t-net网络框架的softmax训练损失中增加一个如公式(3)所示的正则化项,将特征变换矩阵限制为接近于正交矩阵;
[0065][0066]
式(3)中,a为t-net网络预测的仿射矩阵,保证了正交变换不会丢失输入信息,i为单位矩阵,f表示点云维度。
[0067]
步骤5,局部特征和全局特征融合:对已对齐更新后的局部特征矩阵信息进行maxpolling最大池化操作,该操作聚合得到的全局特征信息再通过多个mlp处理得到每个物体的类别分数,从而实现三维物体的零件级分割。
[0068]
步骤5.1,将已对齐更新后的局部特征矩阵信息作为输入,经过3个spatial_transform模块进行卷积操作处理,分别得到三个局部特征信息net1,net2,net3,spatial_transform模块如图2所示,其中spatial_transform模块由一个边卷积模块和多个mlp多层感知机模块组成;
[0069]
步骤5.2,分别将3个spatial_transform模块对应的三个局部特征:net1,net2,net3拼接起来,输出为out;
[0070]
步骤5.3,输出的out数据进行maxpolling最大池化操作,得到当前层的全局特征;
[0071]
步骤5.4,将当前层全局特征与数据集中输入点云的标签信息进行拼接,得到整个网络的全局特征global_feature;
[0072]
步骤5.5,将全局特征global_feature与net1,net2,net3进行拼接;
[0073]
步骤5.6,对步骤5.5拼接后的数据进行mlp多层感知机处理,得到所有物体的类别得分情况,如图3所示,实现三维物体的零件级分割。
[0074]
本发明在训练过程中,使用了交叉熵损失函数来学习参数,使模型达到收敛状态,减少模型预测值的误差。如图4所示,图4(a)表示训练过程中的损失曲线,图4(b)表示准确率曲线,随着epoch的增大训练集准确率升高,loss平稳下降,这说明本发明的学习模型对训练集有很好的适应性。
[0075]
通过上述方式可知,由于点云本质上缺乏拓扑信息,而图卷积神经网络可以直接在图结构上运行且能够依靠图中节点之间的信息传递来捕获图中依赖关系,针对pointnet框架中的局部特征提取的局限性,本发明利用图卷积神经网络提取中心点的特征和中心点与其k近邻域点的边向量来获取点云的局部特征,更有效地改进了pointnet网络无法提取局部结构的问题。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1