CN112836425A - 一种基于粒子群优化算法的圆柱体拟合方法及装置 - Google Patents
一种基于粒子群优化算法的圆柱体拟合方法及装置 Download PDFInfo
- Publication number
- CN112836425A CN112836425A CN202110035206.8A CN202110035206A CN112836425A CN 112836425 A CN112836425 A CN 112836425A CN 202110035206 A CN202110035206 A CN 202110035206A CN 112836425 A CN112836425 A CN 112836425A
- Authority
- CN
- China
- Prior art keywords
- particle
- fitness value
- position information
- determining
- particle swarm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000002245 particle Substances 0.000 title claims abstract description 352
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 37
- 238000005457 optimization Methods 0.000 title claims abstract description 21
- 230000008569 process Effects 0.000 claims abstract description 69
- 230000003247 decreasing effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 3
- 238000012804 iterative process Methods 0.000 claims 1
- 230000007423 decrease Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于粒子群优化算法的圆柱体拟合方法及装置。该拟合方法包括:基于至少一个粒子的初始位置信息,确定至少一个粒子所属粒子群的第一全局适应度值,进而基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重,得到粒子群中每个粒子的当前位置信息,并基于当前位置信息,确定每次迭代过程中的粒子群的第二全局适应度值。若迭代次数满足第一阈值条件,和/或第二全局适应度值满足第二阈值条件,将第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。本发明的拟合方法收敛速度快,结果精度高,实现方便,能够有效解决圆柱体的拟合问题。
Description
技术领域
本发明涉及工程测量技术领域,尤其涉及一种基于粒子群优化算法的圆柱体拟合方法及装置。
背景技术
在工程测量中,经常涉及到圆柱体的拟合问题,例如支柱的半径测量和垂直度检测、管道变形监测与姿态测量、隧道变形安全监测等。
最小二乘算法是解决圆柱体拟合问题的常用方法,然而,圆柱体方程是非线性的,最小二乘算法的实现复杂,同时拟合结果受初值选取影响很大。除此之外,有研究利用主成分分析法和线性最小二乘法求解圆柱体模型参数,但是这种方法过程繁琐且计算量巨大;或者,基于智能算法的圆柱体拟合方法研究,利用遗传算法拟合得到圆柱体的模型参数,但遗传算法容易早熟收敛。
发明内容
本发明实施例期望提供一种基于粒子群优化算法的圆柱体拟合方法及装置。
本发明的技术方案是这样实现的:
本发明实施例第一方面提供一种基于粒子群优化算法的圆柱体拟合方法,所述方法包括:基于至少一个粒子的初始位置信息,确定所述至少一个粒子所属粒子群的第一全局适应度值;所述第一全局适应度值为所述粒子群中适应度值最大的粒子对应的第一适应度值;
基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的所述粒子群中每个粒子的当前位置信息;
基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值;
若所述迭代次数满足第一阈值条件,和/或所述第二全局适应度值满足第二阈值条件,将所述第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。
可选地,所述确定所述至少一个粒子所属粒子群的第一全局适应度值,包括:
获取所述粒子群中每个粒子的初始位置信息;
基于所述每个粒子的初始位置信息,确定所述每个粒子的第一适应度值;
将数值最大的所述第一适应度值确定为所述粒子群的第一全局适应度值。
可选地,所述预设方式包括:所述惯性权重随迭代次数呈线性递减,或所述惯性权重随迭代次数呈指数形式递减。
可选地,所述基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重之后,所述方法还包括:
在每次迭代过程中,基于调整后的惯性权重,更新所述粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
可选地,所述基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值,包括:
基于所述粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息;
基于所述每个粒子的当前位置信息,确定所述每个粒子的第二适应度值;
将数值最大的所述第二适应度值确定为所述粒子群的第二全局适应度值。
本发明实施例第二方面提供一种基于粒子群优化算法的圆柱体拟合装置,所述装置包括第一确定模块,第二确定模块,第三确定模块和第四确定模块,其中:
所述第一确定模块,用于基于至少一个粒子的初始位置信息,确定所述至少一个粒子所属粒子群的第一全局适应度值;所述第一全局适应度值为所述粒子群中适应度值最大的粒子对应的第一适应度值;
所述第二确定模块,用于基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的所述粒子群中每个粒子的当前位置信息;
所述第三确定模块,用于基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值;
所述第四确定模块,用于若所述迭代次数满足第一阈值条件,和/或所述第二全局适应度值满足第二阈值条件,将所述第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。
可选地,所述第一确定模块具体用于:
获取所述粒子群中每个粒子的初始位置信息;
基于所述每个粒子的初始位置信息,确定所述每个粒子的第一适应度值;
将数值最大的所述第一适应度值确定为所述粒子群的第一全局适应度值。
可选地,所述预设方式包括:所述惯性权重随迭代次数呈线性递减,或所述惯性权重随迭代次数呈指数形式递减。
可选地,所述装置还包括更新模块,所述更新模块用于:
在每次迭代过程中,基于调整后的惯性权重,更新所述粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
可选地,所述第三确定模块具体用于:
基于所述粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息;
基于所述每个粒子的当前位置信息,确定所述每个粒子的第二适应度值;
将数值最大的所述第二适应度值确定为所述粒子群的第二全局适应度值。
本发明实施例第三方面提供一种电子设备,所述设备包括存储器和处理器,其中,所述存储器中存储有指令;
所述处理器用于运行所述存储器中存储的指令,所述指令被处理器运行时,实现上述第一方面所述的任一项所述方法的步骤。
本发明实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面的任一项所述方法的步骤。
本发明实施例提供的一种基于粒子群优化算法的圆柱体拟合方法及装置。该拟合方法基于至少一个粒子的初始位置信息,确定至少一个粒子所属粒子群的第一全局适应度值,进而基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重,得到粒子群中每个粒子的当前位置信息,并基于当前位置信息,确定每次迭代过程中的粒子群的第二全局适应度值。若迭代次数满足第一阈值条件,和/或第二全局适应度值满足第二阈值条件,将第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。本发明的拟合方法收敛速度快,结果精度高,实现方便,能够有效解决圆柱体的拟合问题,进而通过拟合结果判断粒子采集对象的姿态角度是否正常以及该对象是否出现变形等情况。
附图说明
图1为本发明实施例提供的一种基于粒子群优化算法的圆柱体拟合方法的流程示意图;
图2为本发明实施例提供的圆柱体模型示意图;
图3为本发明实施例提供的一种基于粒子群优化算法的圆柱体拟合装置的结构示意图;
图4为本发明实施例提供的隧道环片点云数据示意图;
图5为本发明实施例提供的全局最优适应度值变化曲线图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,在工程测量中,经常涉及到圆柱体的拟合问题,例如支柱的半径测量和垂直度检测、管道变形监测与姿态测量、隧道变形安全监测等。然而,现有的拟合方法要么过程繁琐、计算量巨大,要么容易早熟收敛,拟合精度不够。基于此,提出本发明以下各实施例。
请参阅图1,图1为本发明实施例提供的一种基于粒子群优化算法的圆柱体拟合方法的流程示意图,本发明实施例提供的方法包括:
S101,基于至少一个粒子的初始位置信息,确定至少一个粒子所属粒子群的第一全局适应度值。
S102,基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的粒子群中每个粒子的当前位置信息。
S103,基于粒子群中每个粒子的当前位置信息,确定每次迭代过程中的粒子群的第二全局适应度值。
S104,若迭代次数满足第一阈值条件,和/或第二全局适应度值满足第二阈值条件,将第二全局适应度值对应的粒子的位置信息确定为粒子群的全局最优位置信息。
需要说明的是,本发明是基于粒子群优化算法实现对圆柱体的拟合。粒子群相当于多组圆柱体参数的集合,每一个粒子相当于一组圆柱体参数,而每一组圆柱体参数由7个参数组成,具体可以通过圆柱体的中轴线方向向量(3个参数)、圆柱体的半径(1个参数)和中轴线上的某一点的坐标(3个参数)进行表示。实际测量过程中,可以针对某管道或支柱的外观进行三维点云数据的采集,从而确定圆柱体表面上多个点的位置信息,进而反映圆柱体在空间中的位置,姿态和大小。
在三维空间中,圆柱面是到中心轴线距离为某一常数的点集合,如图2所示。圆柱体包含7个参数:圆柱体的中轴线方向向量s(a,b,c)、该中轴线上的某一点的坐标p0(x0,y0,z0)、圆柱体的半径r,基于这7个参数,可以标识圆柱面上任一点的位置。
根据圆柱体的定义,圆柱体方程可以表示为
约束方向向量s为单位向量,即a2+b2+c2=1,因此圆柱面的方程可以简化为
空间中一点pj=(xj,yj,zj),其误差方程表示如下:
因此,拟合的目标函数为:
其中N为拟合点的个数。
定义粒子群优化算法中,粒子在本实施例中表示为圆柱体的7个参数的组合,粒子的适应度值用-F表示,即适应度值越大,拟合误差越小,拟合效果就越好。相应的,全局适应度值为当前迭代过程中整个粒子群中数值最大的适应度值。通过多次迭代,可以使得全局适应度值趋于最大。
在本实施例中,预先确定初始粒子群的位置信息,结合圆柱体点云数据的范围信息,随机化至少一个粒子,初始化每个粒子中表征其的位置信息的7个参数值,确定每个粒子的适应度值,进而将适应度值最大的粒子对应的第一适应度值确定为整个粒子群的第一全局适应度值。
在一个实施例中,基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重,并基于调整后的惯性权重确定每次迭代过程中的粒子群中每个粒子的当前位置信息。
其中,惯性权重,表征粒子上次速度对当前速度的影响程度。在全局搜索过程中,前期需要粒子具有较高的探索能力,以快速探索到全局最优位置附近,而后期需要粒子具有较高的局部搜索能力,以加快收敛速度,因此惯性权重需要随着搜索进程进行调整。具体地,在前期,惯性权重较大,并随着探索进程逐渐减小。由此,前期可以快速探索到全局最优位置附近,而后期可以加快收敛,从而节省工作量和探索时间。
在本实施例中,粒子的速度与粒子的位置满足函数映射关系,通过前一次的粒子速度信息和位置信息,可以得到当前粒子的位置信息。每次迭代后,通过调整惯性权重,从而对粒子的速度信息进行更新,并确定迭代后的第二全局适应度值。通过预先设置与迭代次数相关的第一阈值条件和与第二全局适应度值相关的第二阈值条件,这样,若迭代次数满足第一阈值条件,或第二全局适应度值满足第二阈值条件,或者二者同时满足对应的阈值条件,则将第二全局适应度值对应的粒子的位置信息确定为粒子群的全局最优位置信息,并通过前述提及的7个参数进行表征。
本实施例通过调整每次迭代过程中、粒子群中每个粒子的惯性权重,使得在前期,惯性权重较大,并随着探索进程逐渐减小,确保了前期可以快速探索到全局最优位置附近,而后期可以加快收敛,实现方便,节省了工作量和探索时间,并且避免陷入局部最优,拟合结果精度高,能够有效解决圆柱体的拟合问题,进而通过拟合结果判断圆柱体对象的姿态角度是否正常以及该对象是否出现变形等情况。
在一些可选实施例中,对于步骤S101,确定至少一个粒子所属粒子群的第一全局适应度值包括:
获取粒子群中每个粒子的初始位置信息;
基于每个粒子的初始位置信息,确定每个粒子的第一适应度值;
将数值最大的第一适应度值确定为粒子群的第一全局适应度值。
在一个实施例中,粒子群中每个粒子的初始位置信息可以通过空间坐标进行描述。具体地,对初始时刻的粒子群进行标识,粒子i的位置可以表示为Oi=(xi,yi,zi,ri,ai,bi,ci),其中i∈[1,n],n为粒子群中粒子总数。算法迭代次数限制为kmax,第k∈[1,kmax]次迭代时粒子的位置为其中,粒子的每一维度的值均在给定值域范围内,具体地:
其中,xmin和xmax、ymin和ymax、zmin和zmax、rmin和rmax、amin和amax、bmin和bmax、cmin和cmax分别为圆柱体7个模型参数的值域范围上下限。通常xmin和xmax、ymin和ymax、zmin和zmax的取值可以为点云数据的空间范围。
将所有粒子的位置坐标代如上述公式(2)中,结合公式(3)和(4),即可得出每个粒子的第一适应度值,即相对于圆柱面的误差值,误差越小,说明拟合效果越好,由此将数值最大的第一适应度值确定为粒子群的第一全局适应度值。
在一些可选实施例中,预设方式包括:惯性权重随迭代次数呈线性递减,或惯性权重随迭代次数呈指数形式递减。
惯性权重影响粒子的速度,而粒子的速度影响调整后的粒子的位置。在前期,需要从一个较大的范围中确定出全局最优位置所在的一个小区域,即将全局最优位置所在的范围进行缩小,且需要锁定的范围较大,粒子的位置变化量也较大,因此,前期需要设置的惯性权重较大;而后期,在一个小区域中继续探索,需要锁定的范围较小,粒子的位置变化量也较小,因此,后期需要设置的惯性权重较小。
在一个示例中,惯性权重随迭代次数呈线性递减。迭代次数越大,惯性权重越小。具体地,第k次迭代过程中的惯性权重可以表示为:
其中,wmin和wmax分别为最小和最大的惯性权重值,wmax为第一阈值条件限制的最大迭代次数。
在另一个示例中,惯性权重随迭代次数呈指数形式递减。其中,指数函数的底数可以根据经验或实际情况进行选取,指数由迭代次数确定。
在一些可选实施例中,对于步骤S102,基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重之后,包括:
在每次迭代过程中,基于调整后的惯性权重,更新粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
其中,为粒子i在第k-1次迭代过程中的运动速度,为粒子i在截至第k次迭代过程中的最优位置信息,为粒子i在截至第k-1次迭代过程中的最优位置信息,gbest为粒子群的全局最优位置信息,λ1,λ2为常数,可以根据经验或实验确定,γ1∈[0,1]、γ2∈[0,1]为两个随机数,增加搜索随机性,wk第k次迭代过程中的惯性权重。
需要说明的是,上述最优位置信息为最大适应度值对应的位置信息,可以通过圆柱体的7个参数表示。且在同一迭代过程中,粒子i的最优位置信息可能是粒子群的全局最优位置信息,也可能不是粒子群的全局最优位置信息,这取决于粒子i的当前位置信息对应的适应度值是否为粒子群中所有粒子中最大的,如果是,则粒子i的当前位置信息(也即最优位置信息)为此次迭代过程中粒子群的全局最优位置信息。
具体地,基于上述实施例,可以得出每次迭代过程中粒子群的全局适应度值,而在当前实施例中,基于当前迭代次数的惯性权重,粒子当前的位置信息,粒子在上一次迭代过程中的位置信息以及粒子在上一迭代过程中的速度信息,对粒子的速度信息进行更新,得到当前速度信息。
需要说明的是,如果粒子的最大速度值过大,粒子可能错过最优位置,即适应度值最大的位置,而如果最大速度值过小,粒子探索范围小,可能陷入局部最优。因此需要对粒子的速度进行限制。示例性的,设置粒子速度的限制系数为10%-20%,即每个维度的最大速度为每维变化范围的10%-20%。
在一个实施例中,对于步骤S103,基于粒子群中每个粒子对应的当前速度信息确定各粒子对应的当前位置信息,具体包括:
基于粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息;
基于每个粒子的当前位置信息,确定每个粒子的第二适应度值;
将数值最大的第二适应度值确定为粒子群的第二全局适应度值。
在本实施例中,在当前粒子群的全局适应度值大于上一次迭代过程中的适应度值时,说明当前的粒子群的位置拟合误差更小,即拟合效果更好,因此,基于粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息,具体地,在一个实施例中,粒子i在第k次迭代过程中的当前位置信息可以表示为:
在确定各粒子对应的当前位置信息后,基于上述公式(3)和公式(4),即可确定每个粒子的第二适应度值,从中挑选出数值最大的第二适应度值,作为粒子群的第二全局适应度值。
基于前述实施例,请参阅图3,图3为本发明实施例提供的一种基于粒子群优化算法的圆柱体拟合装置的结构示意图。该拟合装置包括第一确定模块201,第二确定模块202,第三确定模块203和第四确定模块204,其中:
第一确定模块201,用于基于至少一个粒子的初始位置信息,确定至少一个粒子所属粒子群的第一全局适应度值;第一全局适应度值为粒子群中适应度值最大的粒子对应的第一适应度值;
第二确定模块202,用于基于迭代次数,按照预设方式调整每次迭代过程中、粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的粒子群中每个粒子的当前位置信息;
第三确定模块203,用于基于粒子群中每个粒子的当前位置信息,确定每次迭代过程中的粒子群的第二全局适应度值;
第四确定模块204,用于若迭代次数满足第一阈值条件,和/或第二全局适应度值满足第二阈值条件,将第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。
基于前述实施例所述,预先确定初始粒子群的位置信息,结合圆柱体点云数据的范围信息,随机化至少一个粒子,初始化每个粒子中表征其位置信息的7个参数值,确定每个粒子的适应度值,进而将适应度值最大的粒子对应的第一适应度值确定为整个粒子群的第一全局适应度值。
其中,惯性权重,表征粒子上次速度对当前速度的影响程度。在全局搜索过程中,前期需要粒子具有较高的探索能力,以快速探索到全局最优位置附近,而后期需要粒子具有较高的局部搜索能力,以加快收敛速度,因此惯性权重需要随着搜索进程进行调整。具体地,在前期,惯性权重较大,并随着探索进程逐渐减小。由此,前期可以快速探索到全局最优位置附近,而后期可以加快收敛,从而节省工作量和探索时间。
在本实施例中,粒子的速度与粒子的位置满足函数映射关系,通过前一次的粒子速度信息和位置信息,可以得到当前粒子的位置信息。每次迭代后,通过调整惯性权重,从而对粒子的速度信息进行更新,并确定迭代后的第二全局适应度值。通过预先设置与迭代次数相关的第一阈值条件和与第二全局适应度值相关的第二阈值条件,这样,若迭代次数满足第一阈值条件,或第二全局适应度值满足第二阈值条件,或者二者同时满足对应的阈值条件,则将第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息,并通过前述提及的7个参数进行表征。
本实施例通过调整每次迭代过程中、粒子群中每个粒子的惯性权重,使得在前期,惯性权重较大,并随着探索进程逐渐减小,确保了前期可以快速探索到全局最优位置附近,而后期可以加快收敛,实现方便,节省了工作量和探索时间,并且避免陷入局部最优,拟合结果精度高,能够有效解决圆柱体的拟合问题。
在一些可选实施例中,第一确定模块201具体用于:
获取粒子群中每个粒子的初始位置信息;
基于每个粒子的初始位置信息,确定每个粒子的第一适应度值;
将数值最大的第一适应度值确定为粒子群的第一全局适应度值。
具体示例参照前述实施例,将所有粒子的位置坐标代相应公式,确定每个粒子的第一适应度值,即相对于圆柱面的误差值。第一适应度值越大,误差越小,说明拟合效果越好,由此将数值最大的第一适应度值确定为粒子群的第一全局适应度值
在一些可选实施例中,预设方式包括:惯性权重随迭代次数呈线性递减,或惯性权重随迭代次数呈指数形式递减。
惯性权重影响粒子的速度,而粒子的速度影响调整后的粒子的位置。在前期,需要从一个较大的范围中确定出全局最优位置所在的一个小区域,即将全局最优位置所在的范围进行缩小,且需要锁定的范围较大,粒子的位置变化量也较大,因此,前期需要设置的惯性权重较大;而后期,在一个小区域中继续探索,需要锁定的范围较小,粒子的位置变化量也较小,因此,后期需要设置的惯性权重较小。
在一个示例中,惯性权重随迭代次数呈线性递减。迭代次数越大,惯性权重越小。
在另一个示例中,惯性权重随迭代次数呈指数形式递减。其中,指数函数的底数可以根据经验或实际情况进行选取,指数由迭代次数确定。
在一些可选实施例中,该拟合装置还包括更新模块,更新模块用于:
在每次迭代过程中,基于调整后的惯性权重,更新粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
基于上述实施例,可以得出每次迭代过程中粒子群的全局适应度值,而在当前实施例中,基于当前迭代次数的惯性权重,粒子当前的位置信息,粒子在上一次迭代过程中的位置信息以及粒子在上一迭代过程中的速度信息,对粒子的速度信息进行更新,得到当前速度信息。
需要说明的是,如果粒子的最大速度值过大,粒子可能错过最优位置,即在本次迭代过程中适应度值最大的位置,而如果最大速度值过小,粒子探索范围小,可能陷入局部最优。因此需要对粒子的速度进行限制。示例性的,每个维度的最大速度为每维变化范围的10%-20%。
在一个实施例中,第三确定模块203具体用于:
基于粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息;
基于每个粒子的当前位置信息,确定每个粒子的第二适应度值;
将数值最大的第二适应度值确定为粒子群的第二全局适应度值。
在本实施例中,在当前粒子群的全局适应度值大于上一次迭代过程中的适应度值时,说明当前的粒子群的位置拟合误差更小,即拟合效果更好,因此,基于粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息,
在确定各粒子对应的当前位置信息后,基于相应公式,即可确定每个粒子的第二适应度值,从中挑选出数值最大的第二适应度值,作为粒子群的第二全局适应度值。
下面结合一个具体的示例对本发明实施例的任务调度方法和信息处理方法进行说明。
如图4所示,利用徕卡P40三维激光扫描仪采集武汉地铁5号线某区间隧道的点云数据,该点云数据是经过重采样、去噪后从中截取得到某一环片上的点云,该环片点云有约35000个点、点间距3cm,环片长度1.6m,隧道设计直径为5.5m。
基于相关应用软件,如Visual Studio 2015,采用C#编程语言分别实现本发明算法和最小二乘拟合算法的拟合过程。在本发明算法中,粒子群规模n=50,学习因子λ1=2、λ2=2,惯性权重wmin=0.4、wmax=0.9,粒子速度限制系数β=0.2,最大迭代次数kmax=100。圆柱体模型参数拟合结果如表1所示。对于圆柱体中轴线上点p0(x0,y0,z0)的坐标,本发明算法与最小二乘算法选取位置不同,为了方便比较,将最小二乘算法拟合的p0沿中轴线平移到z0=10.4119。
表1
模型参数 | 本发明算法 | 最小二乘法 |
x<sub>0</sub>(m) | 529806.7613 | 529806.7608 |
y<sub>0</sub>(m) | 383858.9744 | 383858.9748 |
z<sub>0</sub>(m) | 10.4119 | 10.4119 |
r(m) | 2.7498 | 2.7501 |
a | 0.6157 | 0.6159 |
b | 0.7880 | 0.7878 |
c | 0.0017 | 0.0018 |
从上表中可以看出,x0和y0值与本发明算法拟合结果的差值分别为0.5mm(毫米)和0.4mm;二种算法拟合得到的圆柱体半径值分别为2.7498m和2.7501m,差值为0.3mm,差值很小。本发明算法拟合的中轴线与最小二乘算法拟合的中轴线夹角为0.01°,差值也非常小。因此,本发明提出的基于粒子群优化算法的拟合结果虽然为近似解,但收敛后的结果能够满足实际工程测量的精度要求。
由于粒子群算法有随机搜索过程,算法每次收敛迭代次数不同,进行10次重复实验,平均收敛迭代次数为74.6,选择其中一次典型的实验过程,其全局最优适应度值变化曲线如图5所示。从图5中可以看出,由于算法在粒子群初始化阶段都是随机位置,因此初始适应度值很小,在前20次迭代过程中,全局最优适应度值迅速增大,说明算法收敛速度快。经过大约40次迭代后,粒子已经探索到全局最优位置附近,后续迭代进行局部搜索优化不断提高全局最优解的精度。由此可见,本发明提出的基于粒子群优化算法的圆柱体拟合方法收敛速度快,结果精度高,能够有效解决圆柱体的拟合问题。
本发明还提供了一种电子设备,如图6所示,该电子设备包括存储器和处理器,其中,存储器中存储有指令;处理器用于运行存储器中存储的指令,指令被处理器运行时,可以实现上述应用于圆柱体拟合方法的步骤。
可选地,该电子设备中的各个组件可通过总线系统耦合在一起。可以理解,总线系统用于实现这些组件之间的连接通信。总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
可选地,存储器可以由任何类型的易失性或非易失性存储设备、或者它们的组合来实现。
可选地,处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过软件形式的指令完成,还可以通过硬件的集成逻辑电路完成。上述的处理器可以是通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,可以完成上述拟合方法中的任一步骤。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和存储介质,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络模块上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理模块中,也可以是各模块分别单独作为一个模块,也可以两个或两个以上模块集成在一个模块中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种基于粒子群优化算法的圆柱体拟合方法,其特征在于,所述方法包括:
基于至少一个粒子的初始位置信息,确定所述至少一个粒子所属粒子群的第一全局适应度值;所述第一全局适应度值为所述粒子群中适应度值最大的粒子对应的第一适应度值;
基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的所述粒子群中每个粒子的当前位置信息;
基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值;
若所述迭代次数满足第一阈值条件,和/或所述第二全局适应度值满足第二阈值条件,将所述第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。
2.根据权利要求1所述的方法,其特征在于,所述确定所述至少一个粒子所属粒子群的第一全局适应度值,包括:
获取所述粒子群中每个粒子的初始位置信息;
基于所述每个粒子的初始位置信息,确定所述每个粒子的第一适应度值;
将数值最大的所述第一适应度值确定为所述粒子群的第一全局适应度值。
3.根据权利要求1所述的方法,其特征在于,所述预设方式包括:所述惯性权重随迭代次数呈线性递减,或所述惯性权重随迭代次数呈指数形式递减。
4.根据权利要求1所述的方法,其特征在于,所述基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重之后,所述方法还包括:
在每次迭代过程中,基于调整后的惯性权重,更新所述粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
5.根据权利要求4所述的方法,其特征在于,所述基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值,包括:
基于所述粒子群中每个粒子在上一迭代过程中对应的速度信息和位置信息,确定各粒子对应的当前位置信息;
基于所述每个粒子的当前位置信息,确定所述每个粒子的第二适应度值;
将数值最大的所述第二适应度值确定为所述粒子群的第二全局适应度值。
6.一种基于粒子群优化算法的圆柱体拟合装置,其特征在于,所述装置包括第一确定模块,第二确定模块,第三确定模块和第四确定模块,其中:
所述第一确定模块,用于基于至少一个粒子的初始位置信息,确定所述至少一个粒子所属粒子群的第一全局适应度值;所述第一全局适应度值为所述粒子群中适应度值最大的粒子对应的第一适应度值;
所述第二确定模块,用于基于迭代次数,按照预设方式调整每次迭代过程中、所述粒子群中每个粒子的惯性权重,基于调整后的惯性权重确定每次迭代过程中的所述粒子群中每个粒子的当前位置信息;
所述第三确定模块,用于基于所述粒子群中每个粒子的当前位置信息,确定每次迭代过程中的所述粒子群的第二全局适应度值;
所述第四确定模块,用于若所述迭代次数满足第一阈值条件,和/或所述第二全局适应度值满足第二阈值条件,将所述第二全局适应度值对应的粒子的位置信息确定为所述粒子群的全局最优位置信息。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块具体用于:
获取所述粒子群中每个粒子的初始位置信息;
基于所述每个粒子的初始位置信息,确定所述每个粒子的第一适应度值;
将数值最大的所述第一适应度值确定为所述粒子群的第一全局适应度值。
8.根据权利要求6所述的装置,其特征在于,所述预设方式包括:所述惯性权重随迭代次数呈线性递减,或所述惯性权重随迭代次数呈指数形式递减。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括更新模块,所述更新模块用于:
在每次迭代过程中,基于调整后的惯性权重,更新所述粒子群中每个粒子的速度信息,得到每个粒子对应的当前速度信息。
10.根据权利要求6所述的装置,其特征在于,所述第三确定模块具体用于:
基于所述粒子群中每个粒子在上一迭代过程中对应的初始速度信息和初始位置信息,确定各粒子对应的当前位置信息;
基于所述每个粒子的当前位置信息,确定所述每个粒子的第二适应度值;
将数值最大的所述第二适应度值确定为所述粒子群的第二全局适应度值。
11.一种电子设备,其特征在于,所述设备包括存储器和处理器,其中,所述存储器中存储有指令;
所述处理器用于运行所述存储器中存储的指令,所述指令被处理器运行时,实现权利要求1至5任一项所述方法的步骤。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1至5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110035206.8A CN112836425A (zh) | 2021-01-12 | 2021-01-12 | 一种基于粒子群优化算法的圆柱体拟合方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110035206.8A CN112836425A (zh) | 2021-01-12 | 2021-01-12 | 一种基于粒子群优化算法的圆柱体拟合方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112836425A true CN112836425A (zh) | 2021-05-25 |
Family
ID=75929698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110035206.8A Pending CN112836425A (zh) | 2021-01-12 | 2021-01-12 | 一种基于粒子群优化算法的圆柱体拟合方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112836425A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867411A (zh) * | 2021-11-18 | 2021-12-31 | 深圳大学 | 一种无人机集群定位方法、装置及计算机设备 |
CN117092206A (zh) * | 2023-08-09 | 2023-11-21 | 国网四川省电力公司电力科学研究院 | 电缆铅封区域的缺陷检测方法、计算机设备及存储介质 |
-
2021
- 2021-01-12 CN CN202110035206.8A patent/CN112836425A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867411A (zh) * | 2021-11-18 | 2021-12-31 | 深圳大学 | 一种无人机集群定位方法、装置及计算机设备 |
CN117092206A (zh) * | 2023-08-09 | 2023-11-21 | 国网四川省电力公司电力科学研究院 | 电缆铅封区域的缺陷检测方法、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210166418A1 (en) | Object posture estimation method and apparatus | |
CN110493333B (zh) | 一种目标位置点的确定方法、装置、设备及存储介质 | |
Gálvez et al. | A new iterative mutually coupled hybrid GA–PSO approach for curve fitting in manufacturing | |
US20130076619A1 (en) | Methods and Apparatus for Freeform Deformation of 3-D Models | |
CN112836425A (zh) | 一种基于粒子群优化算法的圆柱体拟合方法及装置 | |
CN110850807B (zh) | 一种奇异点规避方法、装置、设备及介质 | |
CN109947118B (zh) | 一种使用gpu加速的代价地图快速更新方法 | |
CN112000115B (zh) | 一种自主式水下机器人的路径规划方法及相关设备 | |
CN111278517B (zh) | 用户输入设备中控制机构的校准偏置 | |
CN113251919A (zh) | 一种基于坐标变换的圆柱体点云数据拟合方法及装置 | |
CN110348460A (zh) | 一种基于角度的目标检测训练方法、目标检测方法及装置 | |
CN112987724A (zh) | 路径优化方法、装置、机器人及存储介质 | |
US11619929B2 (en) | Automatic operation control method and system | |
CN109906472A (zh) | 用于三维四边形占优面网格中的单元质量改进的系统和方法 | |
CN110909908A (zh) | 一种用于物品拣选时长预测的方法和装置 | |
CN116304227A (zh) | 一种零件加工工艺复用方法、系统及电子设备 | |
CN116229116A (zh) | 一种基于相似零件的工艺复用加工方法、系统及电子设备 | |
KR101870542B1 (ko) | 모션 인식 방법 및 장치 | |
US20210124566A1 (en) | Branch objects for dependent optimization problems | |
CN105243207B (zh) | 一种基于粒子群算法的单频点上的天线布局优化 | |
WO2024041508A1 (zh) | 红外触控状态数据采集方法、装置、计算机设备以及介质 | |
CN113587931B (zh) | 一种路径规划方法、装置、设备及存储介质 | |
CN111325854A (zh) | 形状模型修正装置及形状模型修正方法以及存储介质 | |
CN114851185B (zh) | 机械臂摆位优化方法、装置、计算机设备和存储介质 | |
CN115761122B (zh) | 三维辅助尺的实现方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210525 |
|
RJ01 | Rejection of invention patent application after publication |