一种圆弧槽中不完整圆弧面点云拟合方法
- 国知局
- 2024-08-05 11:41:51
本发明属于点云处理,具体涉及一种圆弧槽中不完整圆弧面点云拟合方法。
背景技术:
1、随着光学三维测量技术的发展和推广应用,工业现场能够快速、高精度获取工业场景零件的复杂特征的三维轮廓数据。而对点云进行高精度拟合,提取其几何要素成为公差分析、质量检测和虚拟装配等后端点云分析的核心技术。工业现场零件的圆弧特征并不都是单独且容易测量,特别是微小复杂特征的零件,受测量方法和自身遮挡的限制无法获取到完整的圆弧面数据,或者获取到的点云数据圆弧角较小。同时,对于非完整圆弧点云或者小角度圆弧点云的几何要素提取中,受点云噪声和角度影响,传统的最小二乘拟合将造成轴线不稳定和偏移,并带来圆柱半径拟合值的放大,严重影响了评价的准确性,故对于圆弧槽中的圆弧面高精度拟合是一大难题。
2、当前对于圆弧面点云的拟合方法,多是采用类似传统圆柱拟合方法,先确定圆弧面的轴线方向,将圆弧面投影到二维平面上,再利用基于遗传算法的曲线拟合技术、随机采样一致性算法、最小二乘法等计算其各参数结果。也有利用随机采样一致性算法直接用圆柱标准方程对圆弧面进行拟合。以上这些方法都较依赖于给定的初始轴线方向向量,如果初始轴线方向向量误差较大,会导致最终结果误差也大,甚至结果完全错误。同时,这些方法本身也存在计算复杂,精度不足的问题。面对微小圆弧槽中的圆弧原始数据不完整、圆弧角小等难题时,拟合结果会严重偏离理论值,甚至轴线方向向量错误。
技术实现思路
1、针对圆弧面轴线方向向量初值获取难度大、最优轴线方向向量计算慢的问题,本发明提出一种圆弧槽中不完整圆弧面点云拟合方法。所提算法不需要给定圆弧面的初始轴线方向向量,根据原始圆弧面点云数据所有点的法向量即可计算出较理想的轴线方向向量初值。在已有初值的基础上,基于多方向迭代步长搜索方法,可以快速找到圆弧面的最优轴线方向向量,再根据轴线方向向量投影所有点到平面并拟合圆,即可获取圆弧面的轴线位置和半径。
2、为了实现上述目的,本发明采用如下技术方案:
3、一种圆弧槽中不完整圆弧面点云拟合方法,包括以下步骤:
4、1)获取原始圆弧面点云数据,对点云数据建立空间三维平衡kdtree数据结构;
5、2)利用空间三维平衡kdtree数据结构查找每个点的k个最临近点,基于k个最临近点利用svd分解法计算每个点的法向量,k表示点云的总点数;通过所有点云坐标计算点云质心,利用点云质心转换每个点的法向量指向圆弧内侧;
6、3)计算所有法向量的均值向量,然后计算所有法向量与均值向量的夹角,获取夹角的最大值,以最大值的1/3作为阈值,将夹角小于阈值的点云删除;
7、4)通过欧式聚类方法,将剩余点云分为左右两部分,并分别计算左右两部分点云法向量的均值向量,利用两个均值向量叉乘获取圆柱的轴线方向向量
8、5)沿着轴线方向向量将所有原始圆弧面点云数据投影到过点云任意一点的二维平面上,利用最小二乘方法拟合圆,获得圆心和圆半径,计算所有投影点到圆心点的距离与半径差值的标准差s,作为判断最优轴线方向的参考值;
9、6)以当前轴线方向向量为基准,获取在其东、西、南、北、西北、西南、东北、东南且夹角为t的8个方向向量分别以这8个方向向量为轴线方向,执行步骤5),获得8个方向向量对应的8个标准差s1、s2、s3、s4、s5、s6、s7、s8;
10、7)找出s1、s2、s3、s4、s5、s6、s7、s8中最小的smin及其对应的方向向量将smin与s进行比较,如果smin小于s,则令等于否则,令等于与的均值向量及t等于t/2;
11、8)以为新的轴线向量,重复执行步骤5)至步骤7),不低于500次,以最后一次的方向向量为最终轴线方向,沿着最终轴线方向,将所有原始圆弧面点云数据投影到过点云任意一点的二维平面上,利用最小二乘方法拟合圆,获得圆心点p的坐标(x,y,z)和圆半径r。
12、本发明进一步的改进在于,步骤1)的具体实现方法如下:
13、步骤1.1:利用接触式测量或者非接触光学测量获取圆弧槽侧壁三维点云,或导入已测量好的圆弧槽中圆弧面数据;
14、步骤1.2:对获取到的待处理圆弧面数据,建立空间三维平衡kdtree数据结构进行保存。
15、本发明进一步的改进在于,步骤2)的具体实现方法如下:
16、步骤2.1:利用空间三维平衡kdtree数据结构快速查找每个点的k个最临近点,利用svd分解法计算k个最临近点的3个特征向量和特征值,最小特征值对应的特征向量即为各点的法向量;
17、步骤2.2:求取所有点的质心点p,利用p点到每个点的方向向量与该点当前法向量的夹角,转换每个点的法向量指向圆弧内侧,具体计算表达式如下
18、
19、
20、其中,表示第i个点所计算的法向量,表示第i个点指向质心点p的方向向量,li表示与的点积。
21、本发明进一步的改进在于,步骤3)的具体实现方法如下:
22、计算所有点的法向量的均值向量,然后计算所有法向量与均值向量的夹角值θ,获取夹角的最大值θmax,以最大值θmax的1/3作为阈值,如果所测圆弧面角度大于180度,可以最大值θmax的1/4作为阈值,将夹角值小于阈值的点云删除。
23、本发明进一步的改进在于,步骤4)的具体实现方法如下:
24、步骤4.1:通过欧式聚类方法,将当前剩余点云分为左右两部分,各为已知法向量的圆弧面;
25、步骤4.2:分别计算两部分所有点法向量的均值向量,利用两个均值向量叉乘获取圆柱的轴线方向向量
26、本发明进一步的改进在于,步骤5)的具体实现方法如下:
27、步骤5.1:沿着轴线方向向量将所有原始圆弧面点云数据投影到过点云任意一点的二维平面上,利用最小二乘方法拟合圆,获得圆心和圆半径;
28、步骤5.2:计算所有投影点到圆心点的距离与半径差值的标准差s,作为判断最优轴线方向的参考值。
29、本发明进一步的改进在于,步骤6)的具体实现方法如下:
30、步骤6.1:以当前轴线方向向量为基准,获取在其东、西、南、北、西北、西南、东北、东南且夹角为t的8个方向向量
31、步骤6.2:分别以这8个方向向量为轴线方向,执行步骤5),获得8个方向向量对应的8个标准差s1、s2、s3、s4、s5、s6、s7、s8。
32、本发明进一步的改进在于,步骤7)的具体实现方法如下:
33、找出8个方向对应的标准差s1、s2、s3、s4、s5、s6、s7、s8中最小的smin及其对应的方向向量将smin与s进行比较,如果smin小于s,则令等于否则,令等于与的均值向量及t等于t/2。
34、本发明进一步的改进在于,步骤8)的具体实现方法如下:
35、以为新的轴线向量,重复执行步骤5)、步骤6)、步骤7),不低于500次,以最后一次的方向向量为最终轴线方向,沿着最终轴线方向,将所有原始圆弧面点云数据投影到过点云任意一点的二维平面上,利用最小二乘方法拟合圆,获得圆心点p的坐标(x,y,z)和圆半径r。
36、本发明至少具有如下有益的技术效果:
37、本发明提供的一种圆弧槽中不完整圆弧面点云拟合方法,该方法能够在无初始轴线方向向量的情况下,自行计算较好初始轴向方向向量和快速搜索计算最优轴线方向向量和结果。该方法首先计算每个点的法向量并转换其指向圆弧内侧。然后以所有法向量与其均值向量夹角最大值的1/3作为阈值将点云分为左右两部分,并以其均值向量叉乘获取圆弧面的初始轴线方向沿着该方向投影并计算所有投影点到圆心点距离与半径差值的标准差s。再以当前轴线方向为基准获取8等分且夹角为t的8个方向向量,并计算每个方向向量投影下的8个标准差。找出最小方差smin及其对应的方向向量将smin与s进行比较,如果smin小于s,则令v等于否则,令v等于v与的均值向量及t等于t/2。然后再以为新的初始轴线向量,重复寻找最优轴线方向不低于500次,以最后一次的方向向量为最终轴线方向,沿着该方向投影计算圆心点的坐标(x,y,z)和圆半径r。
本文地址:https://www.jishuxx.com/zhuanli/20240802/258870.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表