一种基于PointNet++网络的无序零件识别方法

文档序号:36424254发布日期:2023-12-20 16:53阅读:35来源:国知局
一种基于

本发明属于三维点云数据处理,尤其涉及一种基于pointnet++神经网络的三维点云分类方法。


背景技术:

1、无序零件的识别技术背景涉及到计算机视觉、机器学习、深度学习和3d点云处理等多个领域。传统方法依赖于手工提取的特征和经典的机器学习分类器,而近年来,深度学习尤其是卷积神经网络和点云专用的神经网络(如pointnet)在这一任务上展现了卓越的性能。这些技术能够处理从3d扫描仪或其他传感器获得的无序、不完整且可能带有噪声的点云数据,通过网络学习直接从数据中提取特征,并进行有效的分类和识别。

2、在关于pointnet++的讨论中,pointnet++被介绍为一种用于3d目标分类的深度学习网络结构。尽管其在任务中取得了显著的成果,但仍然存在过拟合和特征冗余的问题。深度网络结构容易导致过拟合,而随着网络深度的增加,特征表达可能会变得冗余,因此需要进一步的改进和优化,以克服这些问题。


技术实现思路

1、为解决上述背景技术中存在的问题,本发明提出一种基于pointnet++网络的无序零件识别方法,不仅可以提高pointnet++对无序零件的分类性能,还可以提高模型训练的速度。

2、本发明解决上述问题的技术方案是:一种基于pointnet++网络的无序零件识别方法,包括以下步骤:

3、步骤一:进行点云数据预处理,包括缩放,抖动,旋转和归一化等操作;

4、步骤二:将点云输入到集合抽象层,提取局部特征;

5、步骤三:重复步骤二,逐层下采样提取点云特征;

6、步骤四:训练pointnet神经网络,提取点云特征,并且使用带有标签平滑,余弦衰减的损失函数和adamw优化器优化模型;

7、步骤五:将得到的点云特征输入到maxpooling层中;

8、步骤六:采用全连接层实现对点云的分类。

9、在上述的一种基于pointnet++网络的无序零件识别方法中,步骤二具体是:将点云输入到集合抽象层,提取局部特征:

10、(1)采样层:在此层,输入是待分类的三维点云数据,具有n个点,每个点具有(d+c)维特征,其中d表示坐标信息,c表示额外的特征。采样层的任务是通过最远点采样法(fps)来选取n1个中心点,这些中心点将代表局部区域。

11、(2)分组层:在此阶段,每个选取的中心点被用作圆心,半径为r,以寻找其规模内的k个邻点,这些邻点一起构成一个局部区域。此过程将输出n1个中心点,每个中心点的周围具有k个邻点,每个点特征的维度为(d+c)。为了捕获更多丰富的邻域特征,r的半径被扩大一倍,以增加规模内的邻点数量,从而加强点云之间的联系。

12、(3)pointnet层:这一步骤的输入是n1个中心点,每个点周围有k个邻点,每个点的特征维度为(d+c),输出是n1个点,每个点具有c1维卷积后的局部特征。在pointnet层内,点坐标被转化为相对于质心的坐标,然后结合相对坐标和点特征,以捕捉局部区域内点与点之间的关系。

13、(4)集合抽象层sa模块的公式:

14、

15、其中r是reduction层,它从点i的邻居({j:(i,j)∈n})中聚合特征,分别为第lth层的输入坐标,输入特征,以及点i的第j个邻居的特征,hθ表示共享的mlps,它的输入是和相对坐标在特征维度的级联。

16、在上述的一种基于pointnet++网络的无序零件识别方法中,步骤四具体是:训练pointnet神经网络,提取点云特征矩阵:

17、(1)点的mlp操作:每个输入点经历了多层感知器(mlp)操作,其中初始输入维度为3,而输出维度增加到c1,这一操作旨在将每个点的特征映射到更高维度,从原始3维到c1维,这个操作逐一应用于点云中的每个点,形成一个n*c1的特征矩阵;

18、(2)maxpooling操作:maxpooling的目的在于确保pointnet网络的输入点的排列顺序不会影响最终的输出结果,mlp操作后得到的n*c1特征矩阵在maxpooling层经过处理,该层对n*c1矩阵中的每一列执行max操作,生成一个1*c1的特征矩阵,这有助于维护点云特征的不变性,使其不受点的输入排列次序的影响。

19、在上述的一种基于pointnet++网络的无序零件识别方法中,步骤五具体是:得到的点云特征输入到maxpooling层中:将pointnet层中得到的点云特征输入到maxpooling层中,这一过程的主要目的在于对点云数据进行降维和精炼,去除冗余特征,以减小特征维度,同时保留最显著的信息,通过maxpooling操作,实现了对点云的空间不变性,确保无论点的输入排列顺序如何,最终的特征表示都能保持一致;

20、此外,为了进一步提高模型的性能,采用了带有标签平滑和余弦衰减的损失函数,这有助于模型训练时减小过拟合的可能性,并使用adamw优化器来有效地调整模型参数,损失函数公式为:

21、

22、是平滑标签的交叉熵损失:

23、

24、cosine_decay是余弦衰减:

25、

26、其中y表示真实的标签分布,表示模型的预测分布,i表示类别索引,smooth_tgsi是真实标签的类别索引,global_step表示当前的全局步数,cosine_decay_steps表示余弦衰减的总步数。

27、在上述的一种基于pointnet++网络的无序零件识别方法中,步骤六具体是:采用全连接层实现对点云的分类:将最终优化完的点云特征输入全连接层,实现点云的分类,全连接层用于对点云的特征表示进行线性组合和非线性映射,以实现点云的分类,其中每个节点输出表示点云属于各个类别的概率得分,这一步骤是整个流程的最后一环,它通过学习到的特征将点云分配到适当的分类。

28、结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明通过一种基于pointnet++网络的无序零件识别方法,通过扩大sa(集合抽象)层的采样半径,以丰富点云的局部特征信息。引入maxpooling层,有力地提高了点云数据的特征优化和冗余降维处理,从而增强了模型的性能。同时,采用了一系列鲁棒的训练策略,包括标签平滑和余弦衰减的损失函数,以及adamw优化器,这些措施共同使模型更具稳定性,有助于提高点云分类的精确度。综合而言,这一发明方法在无序零件分类任务中具备更强的表现和鲁棒性。



技术特征:

1.一种基于pointnet++网络的无序零件识别方法,其特征在于,所述基于神经网络的三维点云分类方法包括:

2.根据权利要求1所述的一种基于pointnet++网络的无序零件识别方法,其特征在于,步骤二中,所述将点云输入到集合抽象层,提取局部特征:

3.根据权利要求1所述的一种基于pointnet++网络的无序零件识别方法,其特征在于,步骤四中,所述训练pointnet神经网络,提取点云特征矩阵:

4.根据权利要求1所述的一种基于pointnet++网络的无序零件识别方法,其特征在于,步骤五中,所述将得到的点云特征输入到maxpooling层中:将pointnet层中得到的点云特征输入到maxpooling层中,这一过程的主要目的在于对点云数据进行降维和精炼,去除冗余特征,以减小特征维度,同时保留最显著的信息,通过maxpooling操作,实现了对点云的空间不变性,确保无论点的输入排列顺序如何,最终的特征表示都能保持一致;

5.根据权利要求1所述的一种基于pointnet++网络的无序零件识别方法,其特征在于,步骤六中,所述采用全连接层实现对点云的分类:将最终优化完的点云特征输入全连接层,实现点云的分类,全连接层用于对点云的特征表示进行线性组合和非线性映射,以实现点云的分类,其中每个节点输出表示点云属于各个类别的概率得分,这一步骤是整个流程的最后一环,它通过学习到的特征将点云分配到适当的分类。


技术总结
本发明涉及点云数据处理和深度学习领域,针对无序零件分类问题,提出了一种改进的方法。方法的关键步骤包括局部特征提取,通过集合抽象层采用最远点采样策略获取中心点,并在每个中心点周围选取K个邻域点,形成局部区域,以获得更丰富的局部特征。随后,使用PointNet层来捕捉这些局部区域内点与点之间的关系,重复此过程两次以加深特征学习。接着,通过Maxpooling层对无序点云数据和多余特征进行优化,降低了复杂性。最终,采用MLP网络对处理后的特征进行分类,实现点云的分类任务。为了防止模型过拟合,采用AdamW优化器以及标签平滑和余弦衰减的损失函数。总体而言,这一方法显著提高了无序零件分类的准确性和速度。

技术研发人员:许家忠,佟欣
受保护的技术使用者:哈尔滨理工大学
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1