一种面向复杂曲面构件的三维孔类定位方法

文档序号:35827979发布日期:2023-10-22 13:56阅读:49来源:国知局
一种面向复杂曲面构件的三维孔类定位方法

本发明属于三维视觉识别,特别是涉及一种面向复杂曲面构件的三维孔类定位方法。


背景技术:

1、三维圆孔特征识别是一种重要的视觉处理技术,它在工业制造、逆向工程、检测和分析等领域中发挥着重要作用。例如在加工制造过程中,准确地检测和识别圆孔能帮助机器人或设备确定自身位置和方向,还可用于加工过程中的质量控制等;在逆向工程中可以快速而准确地获取被逆向分析的产品或部件的几何信息,包括圆孔的大小、位置、形状等等,提高逆向分析结果的准确性和可靠性;在检测分析方面,三维圆孔识别技术可以帮助自动化系统识别、定位和测量圆孔,以检测圆孔的尺寸、形状、位置等参数是否符合规范和标准,从而提高产品的质量和安全性。此外,圆孔识别还可以在制造过程中进行圆孔的实时监测,如果圆孔出现了偏差或异常,自动化系统可以及时调整加工参数,以纠正问题并避免不良后果,以保证加工质量和生产效率提高产品和系统的可靠性和性能。总之,研究点云圆孔特征识别算法对于发展机器视觉和图像处理领域具有重大的理论意义和实践意义。该研究不仅可以提高圆孔识别的精确度和效率,还可以为自动化视觉系统的研发和应用提供更广泛的思路和方法。

2、目前三维圆孔定位方法有基于几何特征的方法和基于机器学习的方法。基于几何特征方法需要大量人工参与设置参数,灵活性差,同时测量误差较大;基于机器学习的方法需要大量的计算资源和时间,同时训练模型的过程较为繁琐,实时性差。因此,亟需一种新的三维圆孔定位方法来解决上述问题。


技术实现思路

1、针对以上技术问题,本发明提供一种面向复杂曲面构件的三维孔类定位方法。

2、本发明解决其技术问题采用的技术方案是:

3、一种面向复杂曲面构件的三维孔类定位方法,方法包括以下步骤:

4、s100:获取点云数据,通过基于邻域夹角比较的方法识别点云数据中的轮廓,得到点云边界轮廓;

5、s200:对点云边界轮廓进行八叉树处理和搜索实现连通域划分,得到全部边界点云的聚类结果;聚类结果为多个圆孔轮廓;

6、s300:判断每个圆孔轮廓是否满足预设条件,若当前圆孔轮廓满足预设条件,则选择基于超定方程求解的方法拟合当前圆孔轮廓的三维圆孔,若当前圆孔轮廓不满足预设条件,则选择基于ransac法拟合当前圆孔轮廓的三维圆孔,得到参数定位信息,完成所有圆孔轮廓的定位。

7、优选地,s100包括:

8、s110:获取点云数据,对点云数据中的当前点进行邻域搜索得到投影点集,并计算最大夹角;

9、s120:判断最大夹角是否大于预设的夹角阈值;若是,则当前点为边界点并保存;若否,则该点不是边界点,进入点云数据的下一点,返回s110,直至遍历点云数据中的所有点。

10、优选地,s110包括:

11、s111:定义输入的点云,假设当前点为,选取表面邻域点集,对进行最小二乘平面拟合,拟合所得平面法向为的法线,其中,1≤i≤n,1≤j,k≤n;

12、s112:将n向的切平面投影,得到投影点集,经过投影后的位置不变;

13、s113:将投影点集以为中心,按照顺时针或逆时针的顺序,与连接形成一系列夹角,其中;

14、s114:找到中的最大夹角;

15、s120包括:当大于设置的角度阈值时,判定其为边界点;否则不是边界点,进入点云数据的下一点,返回s111,直至遍历点云数据中的所有点,得到边界点云。

16、优选地,s111中邻域点集n的选取方法具体为:

17、计算所有点云的平均距离;

18、在0.4π~0.8π之间选择角度阈值;

19、根据所有点云的平均距离和角度阈值得到轮廓提取最佳搜索半径:

20、,其中,为常数,r为待识别圆孔的半径;

21、以最佳搜索半径为圆内的所有点云选取为邻域点集n。

22、优选地,s200包括:

23、s210:对点云边界轮廓进行八叉树处理,通过knn搜索将八叉树每个分块的中心点聚类;

24、s220:通过八叉树的体素搜索方式得到全部边界点云的聚类结果,其中,聚类结果为多个圆孔轮廓。

25、优选地,s210具体为:

26、s211将边界点云做八叉树处理,并将八叉树内部所有分块的中心点提取出来,重新组合成新的点云数据;

27、s212:从点云数据b选取一种子点,假设当前点为,对进行knn搜索找到k个搜索点,并获取到搜索点与当前点的距离值,其中,1≤j≤n,1≤i≤k;

28、s213:设定距离阈值对d进行判定,当时,即可认定搜索点与当前点标签一致,标记;若,则认为搜索点与当前点标签不一致,跳过该点;其中,1≤i≤k;

29、s214:对点云数据b中未实现标记的点云重复s212和s213步骤,实现八叉树结构标签连通域聚类,得到带h个标签的点云,其中,...,,其中,1 < y < z < n,同时计算每个标签的点云数目是否在设定的聚类区间[min,max]内,如果不在,删除该标签,其中,min为聚类区间中点云数据的最小值,max为聚类区间中点云数据的最大值;

30、s220具体为:遍历t中每个标签聚类,定义中的每个点为新的起始点,搜索方法采用八叉树的体素搜索方式,搜索八叉树内部除中心点外的其余点,并对搜索后的点打上中心点相同的标签,最终输出h个聚类,,... ,,其中,1≤x≤h,1 < s < g < m。

31、优选地,预设条件包括:

32、当前圆孔轮廓中的点云数据噪音数量在预设噪音数量范围内、当前圆孔轮廓中的离群点数量在预设离群点数量范围内以及当前圆孔轮廓的圆孔半径在预设的半径范围内。

33、优选地,s300中选择基于ransac法拟合当前圆孔轮廓的三维圆孔,包括:

34、s310:对某一聚类点云,遍历所有点云,计算每个点与其最近的c个邻近点之间的平均距离;计算所有平均距离的均值与标准差,设定距离阈值,是比例系数;遍历点云,剔除平均距离大于的点,得到滤波后的点云数据集;

35、s320:从点云数据集中随机选取三个点并假设为内点子集x;根据内点子集x估计圆的参数模型,得到圆心坐标、半径和法向量;

36、s330:遍历除内点子集x以外的点云数据集中的所有数据,若数据点代入圆的参数模型后,得到的结果与内点子集x的估计结果误差在一定阈值内,则将当前数据点标记为内点,否则为外点;

37、s340:所有内点组成集合f,若f中内点的个数满足给定的内点个数阈值b,则用f中的所有内点重新估计模型参数,结束算法。

38、优选地,s340还包括:

39、若f中内点个数少于阈值e,则重新选择三个点,重复s320和s330,其中e小于b;

40、经过预设迭代次数阈值迭代后,选择一个内点数量最多的m集,用m集中所有内点估计模型参数,结束算法。

41、优选地,s300中选择基于超定方程求解的方法拟合当前圆孔轮廓的三维圆孔,包括:

42、s350:对某一聚类点云,根据提取的个三维坐标数据,通过最小二乘法求解平面法向量;其中,;

43、s360:由于圆弧上任意两点连线的中垂线必经过圆心,因此通过求解线性方程组可计算出圆心坐标:

44、;

45、其中,,,....,,,...,;

46、s370:遍历点云数据,计算每个点到圆心的距离,得到的平均距离作为圆的半径,计算式为:,其中圆心坐标,最终得到定位信息,g为所述聚类点云内的点云数据总数。

47、上述一种面向复杂曲面构件的三维孔类定位方法,可适用于多种场景下的圆孔定位,鲁棒性强,有效提高定位的精度。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1