首页 理论教育 改进的PSO算法优化方案

改进的PSO算法优化方案

时间:2023-06-23 理论教育 版权反馈
【摘要】:下面对PSO算法进行改进:将粒子Vi所经历的最好位置设定为Pi,记Pi=(Pi1,Pi2,…本节将法向量叉积代数和最小作为适应度函数对PSO算法进行改进,并将改进后的PSO算法用于岩体点云数据的精确配准,以此搜索最佳配准变换参数,流程如图3-2所示,描述如下:图3-2配准算法流程图确定粒子的个数,维数以及参数空间的范围。

改进的PSO算法优化方案

数据配准的关键是计算出两站数据之间的转换参数(包括平移参数、旋转参数和缩放参数),对于整体配准而言,在给定了配准准则的前提下,需要一个稳健可靠的搜索算法进行最优参数的搜索。

下面对PSO算法进行改进:

将粒子Vi所经历的最好位置设定为Pi,记Pi=(Pi1,Pi2,…,Pin)。根据式(3-3),设f(Pi(t))为法向量叉积代数和最小化的适应度函数,则粒子i的当前最好位置由式(3-4)确定:

由于已将配准准则定义为两站数据的法向量叉积代数和最小的问题。因此其适应度函数的值越小,配准对应的位置就越好。具体而言:

当适应度函数f(Pi(t))在当前位置的值大于等于上一位置的值时,表明上一位置的法向量叉积代数和较小,则上一位置为最佳位置;

当适应度函数f(Pi(t))在当前位置的值小于上一位置的值时,表明当前位置的法向量叉积代数和较小,则当前位置为最佳位置。

设群体中的粒子数为S,即重叠区域内的全部点云数据为S,所有粒子所经历过的最好位置为Pg(t),称为全局最好位置,则根据配准准则和适应度函数的定义可知,最符合适应度函数的整体最优位置Pg(t)可由式(3-5)表示:

此时,式(3-1)可变为式(3-6):

式中,j表示粒子的第j维;i表示粒子序号;t表示进化过程中的第t代;c1、c2加速度常数,c1是调节粒子飞向自身最好位置的步长,c2是调节粒子飞向全局最好位置的步长,通常在0~2间取值;r1 ∈U(0,1)、r2∈U(0,1)为两个相互独立的随机函数;Pij(t)是第i个粒子搜索到的局部最优位置;Pgi(t)是整个粒子群迄今为止搜索到的最优位置。通过不断更新粒子的位置,即可找到法向量叉积代数和最小时的粒子位置。

本节将法向量叉积代数和最小作为适应度函数对PSO算法进行改进,并将改进后的PSO算法用于岩体点云数据的精确配准,以此搜索最佳配准变换参数,流程如图3-2所示,描述如下:(www.xing528.com)

图3-2 配准算法流程图

(1)确定粒子的个数,维数以及参数空间的范围。

(2)在搜索空间内随机产生粒子群的初始位置和速度,初始化每个粒子的局部最优位置Pij(t)以及全局最优位置Pgi(t)。

(3)根据式(3-3)对于每一个粒子,计算其适应度函数,如果当前最好位置优于历史最优值,则更新历史最优值Pij(t),依次计算并更新全局最优值Pgi(t)。

(4)根据式(3-6)更新粒子的位置和速度。

(5)判断是否满足终止条件,若满足则输出全局最优解Pgi(t),否则转到步骤(3)继续进行迭代。

(6)利用Pgi(t),即最优变换参数对点云数据进行计算,得到最终的配准点云。

其中,搜索算法迭代终止条件是最大跌代次数和本次搜索结果与上一次搜索结果的差值,当迭代次数超过最大迭代次数,或者本次搜索结果与上一次搜索结果的差值小于阈值时就结束迭代,这两个迭代条件与点云数据的密度、精度以及搜索步长有关,不同条件下的阈值不尽相同。

在配准过程中,首先根据初始位置设置平移、旋转、缩放参数的搜索范围和搜索步长,然后进行搜索,当搜索停止时,用最后的搜索参数对点云数据进行坐标转换。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈