欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019106119568
申请人: 济南大学
专利类型:发明专利
专利状态:已下证
专利领域: 控制;调节
更新日期:2024-08-16
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于粒子群算法的B样条曲线拟合方法,其特征在于,包括步骤:S1、采集目标物体的轮廓图像;

S2、依据所采集的轮廓图像,获取目标物体的轮廓数据点;

S3、基于所获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;

S4、构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点;

S5、依据所得到的节点矢量和优化后的控制点,构建拟合的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的适应度进行比较,若当前的种群最优解的适应度小于当前的全局最优解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的二维坐标。

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.一种基于粒子群算法的B样条曲线拟合系统,其特征在于,包括:

轮廓图像采集单元,用于采集目标物体的轮廓图像;

数据点获取单元,用于依据轮廓图像采集单元采集的轮廓图像,获取目标物体的轮廓数据点;

初始控制点和节点矢量获取单元,用于基于数据点获取单元获取的轮廓数据点,计算并得到B样条曲线的初始控制点和节点矢量;

控制点优化单元,用于通过构造初始控制点的坐标的初始种群,利用粒子群算法对初始控制点和节点矢量获取单元获取到的初始控制点进行优化,得到优化后的控制点;

B样条曲线拟合单元,与所述的控制点优化单元以及初始控制点和节点矢量获取单元分别相连,用于依据所得到的节点矢量和优化后的控制点,构建拟合的B样条曲线;

所述的控制点优化单元,其构造初始控制点的坐标的初始种群,并利用粒子群算法对初始控制点进行优化,得到优化后的控制点,具体实现方法包括:步骤S41、记P={pi(xi,yi)|i=0,1,…,n}为初始控制点和节点矢量获取单元得到的所有的初始控制点形成的点集,构造初始控制点的坐标的初始种群POP={POP1,POP2,…,POPN},N为初始种群中个体的数量,每一个个体POPi均由在向量v=(x0,x1,…,xn,y0,y1,…,yn)的每一项分别加上区间[-1,1]上的任意随机数值后得到,pi为初始控制点和节点矢量计算模块中得到的第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.根据权利要求6所述的基于粒子群算法的B样条曲线拟合系统,其特征在于,所述的数据点获取单元,包括:第一数据点获取模块,与所述的轮廓图像采集单元相连,用于按照自上到下、自左到右的顺序,对轮廓图像采集单元采集的轮廓图像进行搜索,获取搜索到的第一个边界点,并将该边界点记为轮廓数据点d1;

第二数据点获取模块,与所述的第一数据点获取模块相连,用于依序在轮廓数据点d1的右、右下、下、左下四个方向,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,记为轮廓数据点d2;

第三数据点获取模块,与所述的第二数据点获取模块相连,用于沿顺时针方向在轮廓数据点d2的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,记为轮廓数据点d3;

第四数据点获取模块,用于在当前获取到的最新的轮廓数据点的右、右下、下、左下、左、左上、上、右上各方向上,对所述的轮廓图像进行搜索,获取搜索到的第一个边界点,记为轮廓数据点di,i为当前搜索到的第i个轮廓数据点;

判断模块,与所述的第三数据点获取模块、第四数据点获取模块分别相连,用于判断当前获取到的最新的轮廓数据点是否与轮廓数据点d1重合,并且:在判断结果为是时,用于控制数据点搜索过程结束,并控制输出所搜索到的各轮廓数据点;在判断结果为否时,用于调用第四数据点获取模块继续获取下一个轮廓数据点。

8.根据权利要求6所述的基于粒子群算法的B样条曲线拟合系统,其特征在于,进一步地,初始控制点和节点矢量获取单元包括:数据点采样模块,用于对数据点获取单元获取的轮廓数据点进行采样,得到一组采样数据点;

初始控制点和节点矢量计算模块,用于依据数据点采样模块得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量;

其中,数据点采样模块对数据点获取单元获取的轮廓数据点进行采样,得到一组采样数据点,包括:步骤S311、计算数据点获取单元获取的每个轮廓数据点的曲率;

步骤S312、依据步骤S311中计算出的各曲率,对数据点获取单元获取的轮廓数据点进行筛选,筛选出曲率的绝对值大于预先设定的曲率阈值的轮廓数据点,记为候选优势点;

步骤S313、计算各候选优势点的弯曲度,并确定各候选优势点对应的支撑区间;

步骤S314、计算各候选优势点的评价曲率,对各候选优势点进行下述①和②两方面的过滤,获取过滤后的候选优势点,并记为优势点:①删除评价曲率小于ε的候选优势点;

②对于各相邻的候选优势点:若评价曲率均大于ε,则删除评价曲率最小的候选优势点;若评价曲率均等于ε,则删除支撑区间最小的候选优势点;

其中ε为预先设定的评价曲率阈值;

步骤S315、分别计算各相邻优势点之间的间距,对于间距超过预先给定的采样间距阈值的相邻优势点,增设其中点为优势点,直至任意两个相邻优势点之间的间距小于所述的采样间距阈值;

步骤S316、采集步骤S314中得到的各优势点以及步骤S315中增设的各优势点,即采样得到的所有的采样数据点;

所述的初始控制点和节点矢量计算模块,依据数据点采样模块得到的采样数据点,计算并得到B样条曲线的初始控制点和节点矢量,实现方法包括步骤:步骤S321、采用积累弦长参数化方法,对数据点采样模块得到的各采样数据点进行参数化,得到各采样数据点的参数值;

步骤S322、基于所得到的各采样数据点的参数值,采用代数平均值法得到所述的节点矢量;

步骤S323、基于所得到的节点矢量及各采样数据点的参数值,采用最小二乘法计算并得到B样条曲线的初始控制点。