System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() NURBS样条曲线拟合方法、装置、计算机设备和存储介质制造方法及图纸_技高网

NURBS样条曲线拟合方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:40556551 阅读:8 留言:0更新日期:2024-03-05 19:17
本申请涉及一种NURBS样条曲线拟合方法、装置、计算机设备、存储介质和程序产品。该方法可以自动地获得满足拟合优度要求的拟合曲线。相比于现有的凸优化拟合、深度学习拟合等技术,该方法是解析的,对于相同的输入点,输出结果不会改变;该方法是高效的,不需要进行预训练或计算梯度信息等复杂数据;该方法是鲁棒的,可以保证曲线与拟合点之间的均方差最小,拟合曲线是局部最优的。

【技术实现步骤摘要】

本申请涉及数据处理,特别是涉及一种nurbs样条曲线拟合方法、装置、计算机设备、存储介质和程序产品。


技术介绍

1、曲线拟合指用解析函数表达式近似表示任意曲线的技术,属于三维重建技术中的一类,在工业场景中有着广泛的应用。如点云的边缘提取过程中,可以通过拟合技术将边缘曲线进行参数化;在轨迹跟踪中,拟合技术可以用于合理地提供前馈信号等。现有的曲线拟合技术根据函数形式的分类主要分为多项式拟合、指数拟合、样条曲线拟合等;根据使用的方法分类主要分为最小二乘拟合、凸优化拟合、支持向量机拟合、k近邻(k-nearestneighbors,knn)拟合、深度学习拟合等。

2、样条曲线拟合方法根据使用的样条曲线类型可以分为贝塞尔曲线拟合、b样条曲线拟合、以及非均匀有理b样条曲线(non-uniform rational b-splines,nurbs)拟合。这些样条曲线的不同主要体现在同阶数下的自由度、控制点的影响范围和多项式阶数。贝塞尔曲线常用于矢量绘图软件,而b样条曲线和nurbs曲线更常用于描述精确度要求更高的cad软件,也更常见于学术界。

3、现有的曲线拟合技术中最小二乘拟合常用于拟合直线、对数函数等基本函数;基于优化和机器学习的拟合技术通常可以获得不错的拟合效果,但是需要多次迭代、训练以及需要计算复杂的梯度信息等。

4、因此,现有的样条曲线拟合的方法存在效率低的问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种高效的nurbs样条曲线拟合方法、装置、计算机设备、存储介质和程序产品。

2、第一方面,本申请提供了一种nurbs样条曲线拟合方法,所述方法包括:

3、获取待拟合点;

4、根据所述待拟合点中邻近拟合点之间的距离,计算当前阶数下所述邻近拟合点的曲线弦长;

5、根据所述曲线弦长计算各拟合点的参数值;

6、通过最小二乘法对预设控制点条件进行求解,得到控制点,所述预设控制点条件包括基于所述拟合点的参数值对控制点的约束;

7、基于所述控制点拟合的样条曲线上的特定点与所述拟合点的距离差,计算当前阶数下的样条曲线的拟合优度;

8、当所述拟合优度低于期望值时,输出所述控制点以及对应的样条曲线。

9、在其中一个实施例中,所述方法还包括:当当前阶数下的拟合优度大于期望值时,增加曲线阶数,并返回执行根据所述待拟合点中邻近拟合点之间的距离,计算当前阶数下所述邻近拟合点的曲线弦长的步骤及其之后的步骤,直至所述拟合优度低于期望值或曲线阶数达到最大值时,根据当前曲线阶数的控制点坐标进行拟合,得到样条曲线。

10、在其中一个实施例中,所述根据所述曲线弦长计算各拟合点的参数值,包括:

11、根据相邻两个拟合点之间的曲线弦长占所有弦长之和的比例,得到各拟合点的弦长比例,

12、根据各拟合点的弦长比例,计算各拟合点的参数值。

13、在其中一个实施例中,所述预设控制点条件包括:

14、

15、其中,u为控制参数;nj,k(u)为第j个基函数对应u处的值,k为曲线阶数,ui为第个i拟合点的参数值,pi为第i个拟合点的坐标。

16、在其中一个实施例中,所述拟合优度的计算公式为:

17、

18、其中,d表示控制点的坐标,pi为第i个拟合点,表示样条曲线上的第i个点。

19、在其中一个实施例中,所述方法还包括:

20、获取并分割所述样条曲线的原参数序列;

21、在根据曲线参数判定分割后的参数序列符合要求后,对分割后的参数序列的每个分割点进行遍历,得到采样点。

22、在其中一个实施例中,所述根据曲线参数判定分割后的参数序列是否符合要求的方式,包括:

23、计算所述参数序列的每个分割节点对应的曲线参数之和;所述曲线参数为随参数增大而单调变化的物理量;

24、若分割前后的曲线参数之和的变化量小于第一阈值,则遍历分割后的参数序列的每个分割节点;

25、若所述分割节点对应的累计曲线参数之和大于第二阈值,则将所述分割节点作为采样点。

26、第二方面,本申请还提供了一种nurbs样条曲线拟合装置,所述装置包括:

27、拟合点获取模块,用于获取待拟合点;

28、弦长计算模块,用于根据所述待拟合点中邻近拟合点之间的距离,计算当前阶数下所述邻近拟合点的曲线弦长;

29、参数计算模块,用于根据所述曲线弦长计算各拟合点的参数值;

30、拟合模块,用于通过最小二乘法对预设控制点条件进行求解,得到控制点坐标,所述预设控制点条件包括基于所述拟合点的参数值对控制点的约束;

31、拟合优度计算模块,用于基于所述拟合点与所述控制点对应的样条曲线的对应点的距离差,计算当前阶数下的样条曲线的拟合优度;

32、输出模块,用于当所述拟合优度低于期望值时,输出所述控制点坐标以及对应的样条曲线。

33、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的nurbs样条曲线拟合方法的步骤。

34、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的nurbs样条曲线拟合方法的步骤。

35、第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的nurbs样条曲线拟合方法的步骤。

36、上述的nurbs样条曲线拟合方法、装置、计算机设备、存储介质和计算机机程序产品,通过获取待拟合点;根据所述待拟合点中邻近拟合点之间的距离,计算当前阶数下所述邻近拟合点的曲线弦长;根据所述曲线弦长计算各拟合点的参数值;通过最小二乘法对预设控制点条件进行求解,得到控制点,所述预设控制点条件包括基于所述拟合点的参数值对控制点的约束;基于所述控制点拟合的样条曲线上的特定点与所述拟合点的距离差,计算当前阶数下的样条曲线的拟合优度;当所述拟合优度低于期望值时,输出所述控制点以及对应的样条曲线。该方法可以自动地获得满足拟合优度要求的拟合曲线。相比于现有的凸优化拟合、深度学习拟合等技术,该方法是解析的,对于相同的输入点,输出结果不会改变;该方法是高效的,不需要进行预训练或计算梯度信息等复杂数据;该方法是鲁棒的,可以保证曲线与拟合点之间的均方差最小,拟合曲线是局部最优的。

本文档来自技高网...

【技术保护点】

1.一种NURBS样条曲线拟合方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述曲线弦长计算各拟合点的参数值,包括:

4.根据权利要求1所述的方法,其特征在于,所述预设控制点条件包括:

5.根据权利要求1所述的方法,其特征在于,所述拟合优度的计算公式为:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述在根据曲线参数判定分割后的参数序列符合要求后,对分割后的参数序列的每个分割点进行遍历,得到采样点,包括:

8.一种NURBS样条曲线拟合装置,其特征在于,所述装置包括:

9.一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时权利要求1至7任一项所述的方法。

10.一种计算机可读存储介质,所述计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的方法。

...

【技术特征摘要】

1.一种nurbs样条曲线拟合方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述根据所述曲线弦长计算各拟合点的参数值,包括:

4.根据权利要求1所述的方法,其特征在于,所述预设控制点条件包括:

5.根据权利要求1所述的方法,其特征在于,所述拟合优度的计算公式为:

6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特...

【专利技术属性】
技术研发人员:邱蜀伟邓文平
申请(专利权)人:湖南视比特机器人有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1