当前位置: 首页 > 专利查询>济南大学专利>正文

一种基于粒子群算法的B样条曲线拟合方法及系统技术方案

技术编号:22165060 阅读:26 留言:0更新日期:2019-09-21 09:48
本发明专利技术提供一种基于粒子群算法的B样条曲线拟合方法及系统,二者均能够:采集目标物体的轮廓图像;依据所采集的轮廓图像,获取目标物体的轮廓数据点;基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点;依据所得到的节点矢量和优化后的控制点,构建拟合的B样条曲线。本发明专利技术用于提高B样条曲线拟合的准确性与可靠性。

A B-Spline Curve Fitting Method and System Based on Particle Swarm Optimization

【技术实现步骤摘要】
一种基于粒子群算法的B样条曲线拟合方法及系统
本专利技术涉及计算机辅助设计领域,具体涉及一种基于粒子群算法的B样条曲线拟合方法及系统。
技术介绍
在工业领域中,物理原型通常建在带有塑料和其他材料的车间中,这通常会造成大量浪费,并且很难再次修改。逆向工程(又称逆向技术),是一种能够解决上述技术问题的方式,其能够将基于产品实物,反向得到产品对应的数字模型,数字模型比物理模型或产品实物更便于地进行修改与分,可见一定程度上能够满足上述需求。B样条曲线拟合,因其灵活性与可控性,已成为逆向工程中常用的一种数据点拟合方式。而且,为使得到的B样条曲线是最优的,科研领域对B样条曲线进行了深入研究,比如最近,研究人员将他们的注意力转向了元启发式技术,这些技术已被广泛应用于解决传统优化算法难以解决的困难优化问题。关于节点矢量的问题可以被视为多变量多模态非线性优化问题,并且可以通过优化算法来解决。Yoshimoto等人提出了一种方法,通过将节点位置的候选者作为基因并使用遗传算法解决问题,将原始的连续非线性优化问题转换为离散的组合优化问题。Sarfraz将这项工作从开曲线扩展到闭曲线,并把字体和符号作为案例进行研究。然而,遗传算法有两个主要缺点:缺乏局部搜索能力和早熟收敛。因此,这种近似方法很难找到全局最优值。为了避免遗传算法的缺陷,Ulker提出了一种不同的方法,把遗传算法替换成人工免疫算法,通过将节点位置的候选者作为抗体以解决该优化问题。上述这类方法都是基于将原始的连续优化问题转换为离散的组合优化问题。然而,这种转换过程会引入很大的离散误差,这使得它们对于真实数据集的拟合结果不准确且不可靠。为此,本专利技术提供一种基于粒子群算法的B样条曲线拟合方法及系统,用于解决上述技术问题。
技术实现思路
针对现有技术的上述不足,本专利技术提供一种基于粒子群算法的B样条曲线拟合方法及系统,用于提高B样条曲线拟合的准确性与可靠性。第一方面,本专利技术提供一种基于粒子群算法的B样条曲线拟合方法,包括步骤:S1、采集目标物体的轮廓图像;S2、依据所采集的轮廓图像,获取目标物体的轮廓数据点;S3、基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;S4、构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点;S5、依据所得到的节点矢量和优化后的控制点,构建拟合的B样条曲线。进一步地,在步骤S2中,依据所采集的轮廓图像,获取目标物体的轮廓数据点,包括:步骤S21、按照自上到下、自左到右的顺序,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并将该边界点记为轮廓数据点d1;步骤S22、依序在轮廓数据点d1的右、右下、下、左下四个方向,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点d2;步骤S23、沿顺时针方向在轮廓数据点d2的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点d3;步骤S24、判断当前获取到的最新的轮廓数据点是否与轮廓数据点d1重合:是,则搜索过程结束,并输出所搜索到的各轮廓数据点;否,则继续执行步骤S25;步骤S25、沿顺时针方向,继续在当前获取到的最新的轮廓数据点的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点di,i为当前搜索到的第i个轮廓数据点;之后转而继续执行步骤S24。进一步地,在步骤S3中,基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量,包括:步骤S31、对步骤S2中获取的轮廓数据点进行采样,得到一组采样数据点;步骤S32、依据步骤S31中得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量。进一步地,在步骤S31中,对步骤S2中获取的轮廓数据点进行采样,得到一组采样数据点,包括:步骤S311、计算步骤S2中所获取的每个轮廓数据点的曲率;步骤S312、依据步骤S311中计算出的各曲率,对步骤S2中所获取的轮廓数据点进行筛选,筛选出曲率的绝对值大于预先设定的曲率阈值的轮廓数据点,记为候选优势点;步骤S313、计算各候选优势点的弯曲度,并确定各候选优势点对应的支撑区间;步骤S314、计算各候选优势点的评价曲率,对各候选优势点进行下述①和②两方面的过滤,得到过滤后的候选优势点,记为优势点:①删除评价曲率小于ε的候选优势点;②对于各相邻的两个候选优势点:若评价曲率均大于ε,则删除评价曲率最小的候选优势点;若评价曲率均等于ε,则删除支撑区间最小的候选优势点;其中ε为预先设定的评价曲率阈值;步骤S315、分别计算各相邻优势点之间的间距,对于间距超过预先给定的采样间距阈值的相邻优势点,增设其中点为优势点,直至任意两个相邻优势点之间的间距均小于所述的采样间距阈值;步骤S316、采集步骤S314中得到的各优势点以及步骤S315中增设的各优势点,即得到所有的采样数据点。进一步地,在步骤S32中,依据步骤S31中得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量,包括步骤:步骤S321、采用积累弦长参数化方法,对步骤S31中得到的各采样数据点进行参数化,得到各采样数据点的参数值;步骤S322、基于所得到的各采样数据点的参数值,采用代数平均值法得到所述的节点矢量;步骤S323、基于所得到的节点矢量及各采样数据点的参数值,采用最小二乘法计算并得到B样条曲线的初始控制点。进一步地,在步骤S4中,构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点,包括:步骤S41、记P={pi(xi,yi)|i=0,1,…,n}为步骤S3中得到的所有的初始控制点形成的点集,构造初始控制点的坐标的初始种群POP={POP1,POP2,…,POPN},N为初始种群中个体的数量,每一个个体POPi均由在向量v=(x0,x1,…,xn,y0,y1,…,yn)的每一项分别加上区间[-1,1]上的任意随机数值后得到,pi为步骤S3中得到的第i+1个初始控制点,(xi,yi)为初始控制点pi的坐标,向量v=(x0,x1,…,xn,y0,y1,…,yn)由上述点集P中所有的初始控制点的坐标形成;步骤S42、对于初始种群中的每一个个体POPi,设置其初始速度的每个分量为区间[-5,5]上的随机数;步骤S43、初始化个体最优解:设置种群中每一个个体对应的个体最优解为初始种群中当前个体的当前值,计算每个个体的个体最优解的适应度;步骤S44、初始化全局最优解:将步骤S43计算所得的个体的适应度最小的个体,设置为全局最优解gbest,并计算该全局最优解gbest的适应度;步骤S45、计算种群中每个个体的适应度,分别将每个个体的适应度与对应个体的个体最优解的适应度进行比较,若当前个体的适应度小于当前个体的个体最优解的适应度,则更新当前个体的个体最优解、并更新该当前个体的个体最优解为当前个体的当前值,否则不更新该当前个体的个体最优解;之后继续执行步骤S45’;步骤S45’、获取初始种群当前的种群最优解、以及计算该获取的种群最优解的适应度,并将当前获取的种群最优解的适应度与当前的全局最优解gbest的适应度进行比较,若本文档来自技高网
...

【技术保护点】
1.一种基于粒子群算法的B样条曲线拟合方法,其特征在于,包括步骤:S1、采集目标物体的轮廓图像;S2、依据所采集的轮廓图像,获取目标物体的轮廓数据点;S3、基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;S4、构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点;S5、依据所得到的节点矢量和优化后的控制点,构建拟合的B样条曲线。

【技术特征摘要】
1.一种基于粒子群算法的B样条曲线拟合方法,其特征在于,包括步骤:S1、采集目标物体的轮廓图像;S2、依据所采集的轮廓图像,获取目标物体的轮廓数据点;S3、基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;S4、构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点;S5、依据所得到的节点矢量和优化后的控制点,构建拟合的B样条曲线。2.根据权利要求1所述的基于粒子群算法的B样条曲线拟合方法,其特征在于,在步骤S2中,依据所采集的轮廓图像,获取目标物体的轮廓数据点,包括:步骤S21、按照自上到下、自左到右的顺序,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并将该边界点记为轮廓数据点d1;步骤S22、依序在轮廓数据点d1的右、右下、下、左下四个方向,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点d2;步骤S23、沿顺时针方向在轮廓数据点d2的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点d3;步骤S24、判断当前获取到的最新的轮廓数据点是否与轮廓数据点d1重合:是,则搜索过程结束,并输出所搜索到的各轮廓数据点;否,则继续执行步骤S25;步骤S25、沿顺时针方向,继续在当前获取到的最新的轮廓数据点的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,并记为轮廓数据点di,i为当前搜索到的第i个轮廓数据点;之后转而继续执行步骤S24。3.根据权利要求1所述的基于粒子群算法的B样条曲线拟合方法,其特征在于,进一步地,在步骤S3中,基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量,包括:步骤S31、对步骤S2中获取的轮廓数据点进行采样,得到一组采样数据点;步骤S32、依据步骤S31中得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量。4.根据权利要求3所述的基于粒子群算法的B样条曲线拟合方法,其特征在于,在步骤S31中,对步骤S2中获取的轮廓数据点进行采样,得到一组采样数据点,包括:步骤S311、计算步骤S2中所获取的每个轮廓数据点的曲率;步骤S312、依据步骤S311中计算出的各曲率,对步骤S2中所获取的轮廓数据点进行筛选,筛选出曲率的绝对值大于预先设定的曲率阈值的轮廓数据点,记为候选优势点;步骤S313、计算各候选优势点的弯曲度,并确定各候选优势点对应的支撑区间;步骤S314、计算各候选优势点的评价曲率,对各候选优势点进行下述①和②两方面的过滤,得到过滤后的候选优势点,记为优势点:①删除评价曲率小于ε的候选优势点;②对于各相邻的两个候选优势点:若评价曲率均大于ε,则删除评价曲率最小的候选优势点;若评价曲率均等于ε,则删除支撑区间最小的候选优势点;其中ε为预先设定的评价曲率阈值;步骤S315、分别计算各相邻优势点之间的间距,对于间距超过预先给定的采样间距阈值的相邻优势点,增设其中点为优势点,直至任意两个相邻优势点之间的间距均小于所述的采样间距阈值;步骤S316、采集步骤S314中得到的各优势点以及步骤S315中增设的各优势点,即得到所有的采样数据点。5.根据权利要求3所述的基于粒子群算法的B样条曲线拟合方法,其特征在于,在步骤S32中,依据步骤S31中得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量,包括步骤:步骤S321、采用积累弦长参数化方法,对步骤S31中得到的各采样数据点进行参数化,得到各采样数据点的参数值;步骤S322、基于所得到的各采样数据点的参数值,采用代数平均值法得到所述的节点矢量;步骤S323、基于所得到的节点矢量及各采样数据点的参数值,采用最小二乘法计算并得到B样条曲线的初始控制点。6.根据权利要求1所述的基于粒子群算法的B样条曲线拟合方法,其特征在于,在步骤S4中,构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点,包括:步骤S41、记P={pi(xi,yi)|i=0,1,...,n}为步骤S3中得到的所有的初始控制点形成的点集,构造初始控制点的坐标的初始种群POP={POP1,POP2,...,POFN},N为初始种群中个体的数量,每一个个体POPi均由在向量v=(x0,x1,...,xn,y0,y1,...,yn)的每一项分别加上区间[-1,1]上的任意随机数值后得到,pi为步骤S3中得到的第i+1个初始控制点,(xi,yi)为初始控制点pi的坐标,向量v=(x0,x1,...,xn,y0,y1,...,yn)由上述点集P中所有的初始控制点的坐标形成;步骤S42、对于初始种群中的每一个个体POPi,设置其初始速度的每个分量为区间[-5,5]上的随机数;步骤S43、初始化个体最优解:设置种群中每一个个体对应的个体最优解为初始种群中当前个体的当前值,计算每个个体的个体最优解的适应度;步骤S44、初始化全局最优解:将步骤S43计算所得的个体的适应度最小的个体,设置为全局最优解gbest,并计算该全局最优解gbest的适应度;步骤S45、计算种群中每个个体的适应度,分别将每个个体的适应度与对应个体的个体最优解的适应度进行比较,若当前个体的适应度小于当前个体的个体最优解的适应度,则更新当前个体的个体最优解、并更新该当前个体的个体最优解为当前个体的当前值,否则不更新该当前个体的个体最优解;之后继续执行步骤S45’;步骤S45’、获取初始种群当前的种群最优解、以及计算该获取的种群最优解的适应度,并将当前获取的种群最优解的适应度与当前的全局最优解gbest的适应度进行比较,若当前的种群最优解的适应度小于当前的全局最优解gbest的适应度,则更新当前的全局最优解gbest、并更新该当前的全局最优解gbest为该当前的种群最优解,否则不更新当前的全局最优解gbest;步骤S46、更新种群中每个个体的速度和位置;步骤S47、判断是否达到预先设定的最大迭代次数:是,则输出当前最新的全局最优解,并继续执行步骤S48;否,则转而继续执行步骤S45;步骤S48、将步骤S47输出的全局最优解调整为对应的二维坐标集合P′={p′i(x′i,y′i)|i=0,1,...,n},继而得到各优化后的控制点,其中,p′i为初始控制点pi对应的优化后的控制点,p′i(x′i,y′i)为优化后的控制点p′i的二维坐标。7.一种基于粒子群算法的B样条曲线拟合系统,其特征在于,包括:轮廓图像采集单元,用于采集目标物体的轮廓图像;数据点获取单元,用于依据轮廓图像采集单元采集的轮廓图像,获取目标物体的轮廓...

【专利技术属性】
技术研发人员:赵秀阳陈思聪
申请(专利权)人:济南大学
类型:发明
国别省市:山东,37

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

1