一种基于少量训练数据的三维点云分类方法

文档序号:33195570发布日期:2023-02-04 11:36阅读:74来源:国知局
一种基于少量训练数据的三维点云分类方法

1.本发明涉及特征信息识别技术领域,具体涉及一种基于少量训练数据的三维点云分类方法。


背景技术:

2.随着三维点云技术的推广和普及,利用图像识别技术结合三维点云技术来对目标对象进行精准分类的技术也逐渐得到广泛应用,特别是对于一些场景限制非常大的对象,例如工业设备方面的识别分类,因为人工采集设备信息再进行精准分类非常困难,因此也就导致目前三维点云分类技术在工业方面的应用率较低。
3.另一方面,三维点云的分类也存在许多缺陷,例如需要大量的训练数据来作为分类样本支撑,才能确保分类结果的准确性,目前基于传统机器学习和深度学习的模型需要大量的数据进行模型的训练,但是实际应用中往往无法获得大量的数据样本,尤其是在工业方面,不仅设备难以移动,同时设备的体积都太大,难以采集设备的全貌信息;除此之外,现有的一些三维点云分类方法没有考虑到融合全局特征进行样本训练,导致模型提取的点云信息特征不够全面,从而导致分类结果不够准确。


技术实现要素:

4.本发明意在提供一种基于少量训练数据的三维点云分类方法,以提高对工业设备类三维点云分类结果的准确性。
5.为达到上述目的,本发明采用如下技术方案:一种基于少量训练数据的三维点云分类方法,包括以下步骤:
6.步骤s1,建立目标点的三维点云模型,并随机获取多个三维点云样本数据,采用siamese网络深度学习模型进行模型训练;
7.步骤s2,改进pointnet++网络,利用卷积神经网络的思想进行层次化的特征学习,并添加两点间距离进行全局特征提取;
8.步骤s3,将改进pointnet++网络作为siamese网络的共享网络,建立三维点云分类模型;
9.步骤s4,采集目标点内所有的三维点云数据,并利用三维点云分类模型对得到的三维点云数据进行分类。
10.本方案的原理及优点是:实际应用时,通过采集少量的数据后利用siamese深度学习模型进行模型训练,该模型通过学习样本间特征的相似和不相似,衡量两个输入的相似程度,从而实现在少量样本数据的前提下进行准确的分类;另一方面,本方案中采用改进后的pointnet++网络,将点云坐标到原点坐标的欧式距离作为点云数据全局特征,通过融合pointnet++网络提取的局部特征共同作为点云数据分类的依据,提升了分类准确率。相比于现有技术,本方案的优点在于,在有限样本情况下,与其他点云分类算法相比,该方法有效整合局部特征和全局特征,并结合siamese网络的优势,从而进一步提高了在有限点云数
据情况下的分类准确率,能够实现少量训练完成对模型的准确训练,再结合改进的pointnet++网络,来对三维点云数据进行精准分类,不仅能够极大程度减少数据量的计算,同时也能够有效保证分类结果的准确性。
11.优选的,作为一种改进,步骤s1中,进行模型训练时,通过学习样本数据之间特征的相似性和不相似性,衡量两个输入样本数据之间的相似程度。
12.有益效果:siamese网络采用两个不同的输入,通过两个具有相同架构、参数和权重的相似子网络,且这两个子网络互为镜像,因此对于任何子网架构、参数和权重的任何更改也适用于其他子网,极大程度提高了训练模型的适用性和准确性。
13.优选的,作为一种改进,步骤s2中,所述进行层次化的特征学习时,构建由采样层、分组层和特征提取层组成的局部分层模块。
14.有益效果:通过此种设置,能够利用多种层级之间的协同配合,快速完成多级别的特征学习,从而在保证模型训练有效性的基础上,极大程度上提高了模型训练的效率。
15.优选的,作为一种改进,采样层通过最远点采样的方法从原始点中选择局部领域质心;所述分组层通过球查询方法将质心周围点进行分组;所述特征提取层通过pointnet网络进行局部特征提取,再通过相连接的分层模块完成多级别的特征学习。
16.有益效果:通过在采样时选择局部领域质心,能够快速且准确地采集到最理想的目标点,再通过球查询的方法对采集到的点进行分组,不仅能够提高分组的效率同时也能够保证分组结果的准确性,最后再进行特征提取,能够快速完成多级别的特征学习,使模型的训练进度更高效。
17.优选的,作为一种改进,添加两点间距离进行全局特征提取包括以下步骤:首先将原始点云数据在x轴方向上进行升序排列,然后设定步长后均匀地选取若干个点,并通过欧式距离公式计算每个点到原点之间的距离,将距离特征添加到pointnet++网络上。
18.有益效果:通过此种设置,能够将点云坐标到原点坐标的欧式距离作为点云数据全局特征,再通过融合pointnet++网络提取的局部特征共同作为点云数据分类的依据,有效提升了对三维点云分类的准确率。
19.优选的,作为一种改进,步长设定为8,且点的数量选取128个。
20.有益效果:通过此种设置,不仅能够有效保证训练数据的精简,从而提高模型的训练效果,同时也能够保障训练后的模型对于三维点云进行分类的准确性。
21.优选的,作为一种改进,三维点云分类模型的输入是一对相同或者不同的样本数据,且最终输出是两个样本数据的相似程度。
22.有益效果:通过此种设置,不管输入的数据是相同还是不同,都能够通过模型判断出两个样本的相似程度,从而为后续三维点云的分类提供最直接可靠的依据,便于对目标点进行分类识别。
23.优选的,作为一种改进,步骤s4中,利用三维点云分类模型对得到的三维点云数据进行分类时,根据模型输出的样本数据的相似程度进行目标点内所有三维点云数据的分类。
24.有益效果:通过此种设置,能够根据三维点云间的相似程度关联到被识别物体本身上的相似程度,从而便于进行物体间的识别分类。
25.优选的,作为一种改进,采用siamese网络深度学习模型进行模型训练时,使用迭
代最远点采样的算法从给定的输入点中选择一个子集,然后从子集中找到距离其他点最远的点。
26.有益效果:通过此种设置,能够利用迭代最远点采样的算法来选择、定位数据,并能够从定位的数据中找到距离最优点,从而快速完成对模型的训练。
27.优选的,作为一种改进,步骤s4中,利用三维点云分类模型对得到的三维点云数据进行分类后,将分类后的三维点云数据与实际对象进行逐一匹配,并将匹配结果上传至云端服务器中
28.有益效果:通过此种设置,能够在目标点内所有的三维点云数据分类识别后,根据不同实际对象的特性以及三维点云数据的属性进行匹配,从而从三维点云分类快速准确转换成对实际对象的分类,最后将分类的结果上传至云端进行存储,不仅保障了存储安全性,而且方便调用查看。
附图说明
29.图1为本发明一种基于少量训练数据的三维点云分类方法实施例一的流程示意图。
30.图2为本发明一种基于少量训练数据的三维点云分类方法实施例一siamese网络的示意图。
31.图3为本发明一种基于少量训练数据的三维点云分类方法实施例一特征提取的示意图。
32.图4为本发明一种基于少量训练数据的三维点云分类方法实施例一三维点云分类模型的示意图。
33.图5为本发明一种基于少量训练数据的三维点云分类方法实施例一机床种类的示意图。
34.图6为本发明一种基于少量训练数据的三维点云分类方法实施例一点云增强的示意图。
35.图7为本发明一种基于少量训练数据的三维点云分类方法实施例一实验结果的对比示意图。
具体实施方式
36.下面通过具体实施方式进一步详细说明:
37.实施例一:
38.本实施例基本如附图1所示:一种基于少量训练数据的三维点云分类方法,包括以下步骤:
39.步骤s1,建立目标点的三维点云模型,并随机获取多个三维点云样本数据,采用siamese网络深度学习模型进行模型训练;
40.步骤s2,改进pointnet++网络,利用卷积神经网络的思想进行层次化的特征学习,并添加两点间距离进行全局特征提取;
41.步骤s3,将改进pointnet++网络作为siamese网络的共享网络,建立三维点云分类模型;
42.步骤s4,采集目标点内所有的三维点云数据,并利用三维点云分类模型对得到的三维点云数据进行分类。
43.具体的,步骤s1中,进行模型训练时,通过学习样本数据之间特征的相似性和不相似性,衡量两个输入样本数据之间的相似程度,从而能够实现在少量样本数据下的准确分类。
44.如附图2所示,siamese网络,也即暹罗网络一般由两个对称的神经网络组成,它们共享权值和结构,并在最后通过能量函数将两个网络连接在一起,暹罗网络的目的是判断两个输入值是相似还是不相似,本方案中采用siamese网络,能够最大程度上保证从少量的样本数据中学习到数据特征,从而便于后续的三维点云数据特征识别、分类。
45.另一方面,选取两个对称的神经网络组成暹罗网络,并且其共享权值和结构,在最后通过能量函数将两个网络连接在一起,用来判断开始输入的两个变量值是否相似,进而便于后续的三维点云分类,在样本数据的训练过程中,对于样本的处理先达到理想值状态,否则后续还需要对样本数据进行二次处理,进而提高数据处理的准确性,也精简后续的流程。
46.为了解决pointnet网络不能提取局部上下文特征的缺点,本方案中对网络进行改进得到pointnet++网络,pointnet++借鉴类似于卷积神经网络的思想进行层次化的特征学习。首先构建由采样层、分组层、特征提取层构成的局部分层模块,其中,采样层通过最远点采样的方法从原始点中选择局部领域质心,分组层通过球查询方法将质心周围点进行分组,特征提取层通过pointnet网络进行局部特征提取,从而通过相连接的分层模块完成多级别的特征学习。
47.如附图3所示,为了更好地捕获点云数据全局特征提取,本方案在pointnet++网络的基础上,将点云坐标到原点坐标的欧式距离作为点云数据全局特征,通过融合pointnet++网络提取的局部特征共同作为点云数据分类的依据。首先将原始点云数据在x轴方向上进行升序排列,然后以8为步长均匀地选取128个点,通过欧式距离公式计算每个点到原点之间的距离,将距离特征添加到pointnet++网络上进行模型的训练。
48.具体的,距离公式如下:
[0049][0050]
其中,(x1,x2,

,xn),(y1,y2,
…yn
)为点的坐标。
[0051]
同时,利用对比损失函数进行网络的训练,对比损失函数为:
[0052][0053]
其中,d=||a
n-bn||2表示两个样本特征的欧式距离,y为两个样本是否匹配的标签,margin为设定的阈值,本实施例中margin设为2.0。
[0054]
另一方面,采用自适应矩估计优化器,并且设置初始学习率为0.005。
[0055]mt
=β1m
t-1
+(1-β1)g
t
[0056]vt
=β2v
t-1
+(1-β2)(g
t
)2,
[0057][0058]
其中,β1是一阶矩衰减系数,β2是二阶矩衰减系数,l是损失函数,η是学习率,g
t
为损失函数对θ
t
求偏导,m
t
为t时刻梯度在动量形式下的一阶矩估计,v
t
为t时刻梯度在动量形式下的二阶矩估计,为偏差纠正后的一阶矩估计,为偏差纠正后的二阶矩估计。
[0059]
为进一步提高在有限样本数据情况下的点云分类准确率,本方案中在原始pointnet++网络的基础上,通过添加两点间距离进行全局特征提取,并将改进pointnet++网络作为siamese网络的共享网络,建立小样本学习模型,得到本方案最终的三维点云分类模型,从而能够保证在有限的样本数据的情况下,完成三维点云分类任务。
[0060]
具体的,如附图4所示,三维点云分类模型的输入是一对相同或者不同的样本数据,且最终输出是两个样本数据的相似程度,从而能够通过比对不同对象之间的差别,通过对三维点云的分类完成对对应对象的识别分类。
[0061]
具体的,模型在数据训练过程中,使用迭代最远点采样的算法从给定的输入点中选择一个子集,然后从子集中找到距离其他点最远的点;同时,在使用迭代最远点采样时,优先选择数据样点的局部领域质心。
[0062]
模型训练完成后,对模型进行测试,构建one-shot k-way和n-shot k-way测试测试模式。具体的,在one-shot k-way测试模式中,给定一个要分类的测试样本和每类有一个样本参考的支持集s,共包含k类参考分类样本(y1…
yk),
[0063]
s={(x1,y1),

,(xk,yk)}
[0064]
然后根据支持集中成对输入孪生模型中输出最相似的样本结果作为对测试样本分类结果:
[0065]
然后,在n-shot k-way测试模式中,给定每类有n个样本参考的支持集s,(s1,

,sn),然后要确定测试样本跟哪个支持集类最相似来确定其类别,具体如下式所示:通过使用n次one-shot k-way测试来模拟n-shot k-way测试。
[0066]
例如five-shot k-way,即将one-shot k-way测试重复五次来模拟完成其测试,最后得到五个测试相似向量(p1、p2、p3、p4、p5),并累积计算同一参考类别的概率,找出最大累积概率值来确定其最相似类别,作为测试样本的分类结果。
[0067]
具体的,步骤s4中,利用三维点云分类模型对得到的三维点云数据进行分类时,根据模型输出的样本数据的相似程度进行目标点内所有三维点云数据的分类。通过训练后的模型能够快速且准确识别输入样本间的相似程度,从而能够完成对不同三维点云数据的相似程度识别区分,进而后续根据三维点云的区别性,来区分其对应的对象的特性,进行完成对实体物的识别、分类。
[0068]
如附图5所示,本实施例中,选取的目标点为生产车间,需要进行识别、分类的对象是车间内常见的10类机床,分别为刀具磨床、插齿机、弓据磨床、立式转床、平衡吊、普通车
床、砂轮机、数显铣床、铣床、牛头刨床。
[0069]
由于每台机床的大小、形状都不同,所以获得的每台机床的点云数据分布相当不均匀,因此,必须对机床点云数据进行重采样以满足网络的需求。在点云中,重采样是指对现有点云以一定的采样规则进行部分点的删除和增加,已达到某种点云数量要求,从而保证在点云整体几何特征不变的情况下,改变点云的密度,使点云数量符合网络要求。
[0070]
点云重采样包括上采样和下采样,其中最常见的下采样方式有三种:体素下采样、均匀下采样和随机下采样。考虑到避免破坏点云分布规则性和密度均匀性,并且保证下采样过程中信息损失最小,本实施例中采用体素下采样对原始点云进行采样,体素是将三维空间划分成一个个小的立体网格,体素下采样是把落在每个体素中的点用一个点来表示,一般取体素中所有点坐标的平均值。通过该方法可以获得固定的点云数量,进而降低运算的复杂度。在本文数据集中,将每类机床的点云数量统一降采样为5000。
[0071]
完成采集后,考虑到采集到的原始点云数据量太少,对以数据驱动的深度学习来说可能造成无法训练或者训练效果差等问题,目前可通过旋转、翻转、缩放、平移、添加噪声等数据增强方法达到从现有数据中扩充数据的目的。
[0072]
如附图6所示,本实施例中选择绕重力轴z轴旋转和垂直于z轴方向平移的点云增强方法,分别对10类机床进行了数据扩充,将每类机床数据扩充到了240个,其中通过旋转得到100个,通过随机平移得到140个数据,最终得到一个平衡的机床点云数据集,其中每类点云样本中190个数据用来作为训练集,50个数据用来作为测试集。图中,a为原始机床点云,b为旋转和平移机床点云。
[0073]
为了加快模型收敛速度和消除数据间单位和尺度差异带来的影响,需要对数据进行标准化操作,本实施例中采用max-min normalization方法对数据进行标准化处理:
[0074][0075]
其中,x
*
表示归一化后的数据,x是原始数据,min(x),max(x)分别表示原始数据中的最小值和最大值。
[0076]
模型训练、验证完成后,针对本方案的模型进行具体的实验对比,设计基于原始pointnet++模型、基于原始pointnet++的小样本模型和本方案中的基于改进pointnet++网络的小样本模型共三种模型在有限样本情况下进行了对比实验验证,每类分别随机选择40、70、100、130、160、190个训练样本,进行了一系列对比实验。
[0077]
如附图7所示,当每类样本数为40和70时,基于改进pointnet++的小样本模型准确率分别为69.4%和77.0%,比基于原始pointnet++模型高出了近10个百分点;基于原始pointnet++的小样本模型准确率分别为63.8%和73.9%,比原始pointnet++模型准确率也有所提高。证明了小样本模型的在有限数据量情况下的有效性,这得益于siamese孪生网络是一种相似性度量方法,其在样本量较少的情况下,能有效提取样本特征。
[0078]
另一方面,随着样本数的增多,三种模型的准确率都呈现上升的趋势。当每类样本数大于100时也即样本数充足时,三种模型准确率差异不大,因此,本方案中的三维点云分类模型在有限的数据集上具有更好的性能,从而对于无法获取到足够训练样本的场景更具优势。
[0079]
在训练样本为190时,本方案的模型在机床设备数据集上对所有类别的识别准确
率和pointnet++的对比如表1所示,
[0080]
表1:类别识别准确率对比表
[0081]
对象pointnet++三维点云分类模型刀具磨床0.880.84插齿机0.820.84弓据磨床0.740.70立式转床0.900.96平衡吊0.920.98普通车床0.920.94砂轮机0.880.96数显铣床0.900.88铣床0.840.84牛头刨床0.860.80
[0082]
因此,本方案中的模型对平衡吊、立式转床、普通车床、砂轮机的识别准确率都有所提升,说明本方案中通过添加距离作为全局特征可以更好地采集到具有明显轮廓特征的机床信息,提高了模型的识别能力。
[0083]
本实施例的具体实施过程如下:
[0084]
第一步,建立生产车间的三维点云模型,然后随机获取车间内多个设备的三维点云样本数据,并采用siamese网络深度学习模型进行模型训练,通过学习样本数据之间特征的相似性和不相似性,衡量两个输入样本数据之间的相似程度,从而能够实现在少量样本数据下的准确分类。
[0085]
第二步,改进pointnet++网络,构建由采样层、分组层、特征提取层构成的局部分层模块,其中,采样层通过最远点采样的方法从原始点中选择局部领域质心,分组层通过球查询方法将质心周围点进行分组,特征提取层通过pointnet网络进行局部特征提取,从而通过相连接的分层模块完成多级别的特征学习。
[0086]
第三步,将点云坐标到原点坐标的欧式距离作为点云数据全局特征,通过融合pointnet++网络提取的局部特征共同作为点云数据分类的依据,将原始点云数据在x轴方向上进行升序排列,然后以8为步长均匀地选取128个点,通过欧式距离公式计算每个点到原点之间的距离,将距离特征添加到pointnet++网络上进行模型的训练。
[0087]
第四步,将改进pointnet++网络作为siamese网络的共享网络,建立小样本学习模型,得到最终的三维点云分类模型,然后采集车间内所有设备的三维点云数据,并利用三维点云分类模型比对三维点云数据间的相似程度,进行所有三维点云数据的识别分类,进而完成车间内所有设备的分类。
[0088]
随着三维点云技术的推广和普及,利用图像识别技术结合三维点云技术来对目标对象进行精准分类的技术也逐渐得到广泛应用,特别是对于一些场景限制非常大的对象,例如工业设备方面的识别分类,因为人工采集设备信息再进行精准分类非常困难,因此也就导致目前三维点云分类技术在工业方面的应用率较低。
[0089]
在针对工业方面,特别是大型工厂内的设备间的分类,由于设备的体积较大,且设备种类繁多,因此常规对于这些设备的分类方法无法快速完成,只能依靠人工一件件地排
查分类,不仅过程繁琐而且效率非常低,而利用三维点云的分类方法,能够实现快速准确的分类,从开始阶段利用模型训练样本数据,不仅能够极大程度精简样本,同时能够比对样本之间的差异,进而用来衡量输入的相似程度,例如两个外形差不多的设备,从最开始输入时就比对其差别点,采样时通过最远点采样的方法从原始点中选择局部领域质心,再由分组层通过球查询的方法将质心周围点进行分组,从而使采集到的样本点已经具备一定的统一规则,便于后续的三维点云分类。
[0090]
本方案通过采用siamese深度学习模型进行模型训练,该模型通过学习样本间特征的相似性和不相似性,衡量两个输入的相似程度,实现在少量样本下,对工业类分类对象三维点云的准确分类;另一方面,通过改进pointnet++网络,将点云坐标到原点坐标的欧式距离作为点云数据特征,通过融合pointnet++网络提取的局部特征共同作为点云数据分类的依据,有效整合了局部特征和全局特征,并结合siamese网络的优势,从而进一步提高了在有限点云数据情况下的分类准确率。经过测试,通过本方案,在少量样本的情况下,三维点云分类的准确率能够达到92.18%。
[0091]
实施例二:
[0092]
本实施例基本与实施例一相同,区别在于:步骤s4中,利用三维点云分类模型对得到的三维点云数据进行分类后,将分类后的三维点云数据与实际对象进行逐一匹配,并将匹配结果上传至云端服务器中。
[0093]
具体的,本实施例中采用的云端服务器为阿里云服务器。
[0094]
本实施例的具体实施过程与实施例一相同,区别在于:
[0095]
第四步,将改进pointnet++网络作为siamese网络的共享网络,建立小样本学习模型,得到最终的三维点云分类模型,然后采集车间内所有设备的三维点云数据,并利用三维点云分类模型比对三维点云数据间的相似程度,进行所有三维点云数据的识别分类,进而完成车间内所有设备的分类;完成分类后,将三维点云数据与实际设备进行逐一匹配,并将匹配结果上传至阿里云服务器中。
[0096]
通过此种设置,能够将三维点云与实际的车间设备进行关系映射匹配,并上传至阿里云服务器中进行存储,不仅保障了存储安全性,而且方便调用查看,而随着识别、分类的数据量的不断增多,会逐渐形成大数据,从而便于为后续类似对象的三维点云分类识别提供参考依据。
[0097]
实施例三:
[0098]
本实施例基本与实施例一相同,区别在于:在模型训练过程中,构建三维点云条件随机场分类器。具体的,针对分类对象个体的三维点云进行分类,综合考虑其个体特性、邻域特性和局部特性,利用独立点、连接边和分隔片段,设计条件随机场的点模型、边模型和高阶团模型,完成三维点云条件随机场分类器的构建。
[0099]
本实施例的具体实施过程与实施例一相同,区别在于:
[0100]
第一步,建立生产车间的三维点云模型,然后随机获取车间内多个设备的三维点云样本数据,并采用siamese网络深度学习模型进行模型训练,通过学习样本数据之间特征的相似性和不相似性,衡量两个输入样本数据之间的相似程度,从而能够实现在少量样本数据下的准确分类;同时,针对分类对象个体的三维点云进行分类,综合考虑其个体特性、邻域特性和局部特性,利用独立点、连接边和分隔片段,设计条件随机场的点模型、边模型
和高阶团模型,完成三维点云条件随机场分类器的构建。
[0101]
通过此种设置,能够利用构建的三维点云条件随机场分类器,提高后续对三维点云的识别分类效率和准确率,进而提高对车间内所有设备的分类准确率。
[0102]
以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本技术给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本技术的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本技术要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1