基于粒子群算法的激光雷达波形数据分解的方法 |
|||||||
申请号 | CN201510010012.7 | 申请日 | 2015-01-08 | 公开(公告)号 | CN104614718A | 公开(公告)日 | 2015-05-13 |
申请人 | 南京大学; | 发明人 | 王元庆; 戴璨; 徐帆; | ||||
摘要 | 本 发明 提供了一种基于粒子群 算法 与Levenberg-Marquardt Algorithm(LM算法)相结合的三维激光回波分解算法,包括平滑去噪、峰值检测、 波形 分解与拟合。利用设定 阈值 以及峰值检测确定平滑去噪后 信噪比 良好的波形个数,通过粒子群算法获取单个波形的强度参数大概值和宽度参数大概值,将其作为LM算法的初值以提高分解 精度 ,减少初值带来的误差影响。 | ||||||
权利要求 | 1.基于粒子群算法的激光雷达波形数据分解的方法,其特征在于:具体步骤如下: |
||||||
说明书全文 | 基于粒子群算法的激光雷达波形数据分解的方法技术领域背景技术[0002] 激光回波波形中蕴含着大量激光光斑内部地表信息,通过对回波波形的分析可以对地表目标的细特征进行提取。因此,寻找一个有效并且准确的回波分解算法是一个值得研究的课题。 [0003] 背景噪声会导致波形幅度的随机变化,过多的毛刺可能会导致检测到误点,因此平滑滤波对于参数拟合有着较大的影响。然而,一些滤波算法会导致幅值上的失真以及过度平滑使得细节丢失或是丢失峰值点等结果,因此需要比较并选择其中较好的算法。 [0004] 现有的算法中,LM算法的精度依赖于初值,若是初值偏差较大那么就很难得到精确的拟合效果。以往的算法中,往往通过过零拐点的检测来确定脉宽参数,而实际激光模型并非标准的高斯模型,并不对称,因此在波形叠加脉宽展宽的情况下以此方法获得的回波参数作为初值并不精确。 [0005] 综上所述,目前的激光回波分解算法在参数较多以及叠加展宽的情况下效果并不理想,因此效果较好的vondrak平滑算法对于回波分解更加适合,而通过改进粒子群算法获取其参数值作为LM算法的初值是优化其结果的一种方法。 [0006] 粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为PSO,是近年来发展起来的一种新的进化算法(Evolutionary Algorithm-EA)。PSO算法属于进化算法的一种,和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它没有遗传算法的“交叉”(Crossover)和“变异”(Mutation)操作,它通过追随当前搜索到的最优值来寻找全局最优。这种算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。粒子群算法是一种并行算法。 [0007] PSO初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。 [0008] LM算法,全称为Levenberg-Marquard算法,它可用于解决非线性最小二乘问题,多用于曲线拟合等场合。 发明内容[0009] 本发明的目的是基于三维激光成像系统,开发一套完整的激光回波数据分解的方法,在参数较多以及叠加展宽的情况下,采用效果较好的vondrak平滑算法,并通过改进粒子群算法获取其参数值作为LM算法的初值优化其结果。 [0010] 本发明的技术方案是:基于粒子群算法的激光雷达波形数据分解的方法,具体步骤如下: [0011] (1)获取激光雷达全波形回波数据; [0012] (2)对波形进行去噪处理; [0013] (3)对波形进行平滑处理; [0015] (5)运用改进粒子群算法进行迭代,获取单个波形参数的大致值; [0016] (6)将步骤(5)中获得的参数大致值作为LM迭代算法的初值,通过最小二乘法获取最终的波形参数;拟合效果按照拟合度公式计算,所述拟合度公式如下: [0017] [0018] 其中:obsi为待拟合的目标波形,即经过(1)-(3)步处理后的实际波形数据,yi为拟合结果,N为实际回波采样点数,当R值越接近于1时拟合度越高。 [0019] 进一步的,步骤(2)中采用小波算法对波形进行去噪处理。 [0020] 进一步的,步骤(5)运用改进粒子群算法进行迭代,获取单个波形参数的大致值;具体流程如下: [0021] a、确定参数、随机初始化粒子群体的位置和速度,记录个体极值以及群体极值; [0022] b、计算每个粒子的适应值; [0023] c、比较每个粒子适应值与个体极值,如果较优,则更新该粒子个体极值; [0024] d、比较每个粒子适应值与群体极值,如果较优,则更新该粒子群群体极值; [0025] e、更新每个粒子的位置和飞行速度; [0026] f、设定迭代次数,达到则停止计算; [0027] 所述参数为单个波形的延时、强度以及脉宽参数,所述适应值由函数计算,其中obsi为待拟合的目标波形,即经过(1)-(3)步处理后的实际波形数据,yi为当前参数粒子所重构成的波形,N为实际回波采样点数,当R值越接近于1时效果越好; [0028] 对于参数粒子的更新为: [0029] [0030] [0031] 所述个体极值指粒子本身找到的最优解,即式中的 所述群体极值是指全局找到的最优解,即式中的 为参数粒子, 为飞行速度,ω为惯性因子,c1与c2为加速常数。 [0032] 进一步的,步骤(3)中采用vondrak算法对波形进行平滑处理,具体流程如下: [0033] 对于测量的波形数据序列(xi,yi),xi为采样时间,yi是数据采样值, 是平滑后的2 值, 表示 的三阶导数,Pi是测量值得权,F为逼近度,S为平滑度,1/λ 成为平滑系数; vondrak平滑方法所用的平滑函数是以多项式形式来表示的,具体做法是对相邻的四组数据 用一个三次的拉格朗日多项式来表示,每四个 平滑值就构成一个拉格朗日多项式,用该式表示中间的两个平滑值,vondrak平滑方法的基本方程组为: [0034] (i=1,2,…,n) [0035] 共有n个方程,其中: [0036] A-3i=ai-3di-3;A-2i=ai-2ci-2+bi-3di-3;A-1i=ai-1bi-1+bi-2ci-2+ci-3di-3; [0037] A1i=aibi+bi-1ci-1+ci-2di-22 [0038] A2i=a ici+bi-1di-1;A3i=a idi;ε = 1/λ ;Bi= εP i;Ai= 0 (j+i ≤ 0 或j+i≥n+1) [0039] 其中: [0040] [0041] [0042] 解算该线性方程组即能获得平滑后数据。 [0043] 进一步的,步骤(4)中通过获得一段背景噪声的均值及方差,去除峰值检测带来的噪点。 [0044] 本发明的有益效果是:在参数较多以及叠加展宽的情况下,采用效果较好的vondrak平滑算法,并通过改进粒子群算法获取其参数值作为LM算法的初值优化其结果。传统拟合所使用的LM算法,初值设定不同,最终拟合得到的精度也不一样,随机设置几组初值,最终平均拟合度不足0.98,而通过本发明,利用粒子群算法获得值作为初值,最终拟合度可达0.989。 附图说明 [0045] 下面结合附图和实例对本发明作进一步说明。 [0046] 图1是本发明的技术流程图; [0047] 图2是激光雷达全波形回波数据; [0048] 图3是经过小波去噪后的波形数据; [0049] 图4是对去噪后的波形作vondrak平滑后的结果,方框内为放大部分的波形,表面细节上的损失; [0050] 图5是对去噪后的波形作五点三次平滑后的结果,方框内为放大部分的波形,与vondrak相对比; [0051] 图6是峰值检测结果,方框内为选取的背景噪声,根据背景噪声水平设定阈值大小; [0052] 图7是分解最终结果。 具体实施方式[0053] 下面结合附图对本发明的技术实施方案进行详细说明。 [0054] 如图1所示,基于粒子群算法的激光雷达波形数据分解的方法,具体步骤如下: [0055] (1)依据实际所用激光系统,选择所对应的函数,获取激光雷达实际回波全波形数据,如图2所示,横坐标为波形数据的采样间隔(单位:ns),纵坐标为幅度值。 [0056] (2)通过小波算法对波形数据的噪声进行处理。信号在飞行过程和反射过程中由于大气和系统噪声等多因素会产生波形噪声,利用小波去噪对波形数据进行处理,经滤波处理后的波形数据中噪声得到了明显的抑制,结果如图3所示。 [0057] (3)对于去噪后的波形,仍然存在很多的毛刺现象,这对于波形数据的分解是有着严重的影响的。而简单的平滑会导致波形数据的丢失或是平滑效果不理想,因此需要选取一个相对效果更好的平滑算法。本发明通过vondrak算法平滑,提高信噪比;该方法首先在天文学中得到应用,目的是用于减小天文观测仪器和环境因素引入的误差对天文观测数据的影响。Vondrak数据平滑方法不仅适用于等间距和等精度的测量数据,同时也可用于对不等间距和不等精度数据的平滑处理,因此应用范围较广。 [0058] vondrak算法平滑具体步骤如下:其基本假设为 [0059] Q=F+λ2S=最小 [0060] 其中 [0061] [0062] 对于测量的波形数据序列(xi,yi),xi为采样时间,yi是数据采样值, 是平滑后的值, 表示 的三阶导数,Pi是测量值得权,F为逼近度,S为平滑度,1/λ2成为平滑系数。vondrak平滑方法所用的平滑函数是以多项式形式来表示的,具体做法是对相邻的四组数据 用一个三次的拉格朗日多项式来表示,每四个平滑值就构成一个拉格朗日多项式,用该式表示中间的两个平滑值。 [0063] vondrak平滑方法的基本方程组(以矩阵形式表示)为: [0064] (i=1,2,…,n) [0065] 共有n个方程,其中: [0066] A-3i=ai-3di-3;A-2i=ai-2ci-2+bi-3di-3;A-1i=ai-1bi-1+bi-2ci-2+ci-3di-3; [0067] A1i=aibi+bi-1ci-1+ci-2di-2 [0068] A2i=aici+bi-1di-1;A3i=aidi;ε=1/λ2;Bi=εPi;Ai=0(j+i≤0或j+i≥n+1)[0069] 其中 [0070] [0071] [0072] 解算该线性方程组即能获得平滑后数据,本发明中选取ε=1/λ2为450。经过vondrak平滑后的结果如图4所示,而通过以往的五点三次平滑的结果如图5所示,对比可以看出,平滑后既能有效滤除毛刺,同时又能很好的保证信号的完整性。 [0073] (4)通过峰值检测检测出峰值点,根据背景噪声水平设定峰值点阈值,去除因噪声产生的多余的峰值点;对于峰值,搜索一阶导数=0,然而由于噪声的影响,搜索的点必然会比实际的多的多,因此需要根据背景噪声的强度来设定一个阈值水平,以此来去除噪点。如图6所示,通过获得一段背景噪声的均值及方差,去除峰值检测带来的噪点。 [0074] (5)通过改进粒子群算法获取单个波形的各项参数的大致值,并将其作为进一步拟合的初值; [0075] 非线性拟合是波形分解的核心,然而由于LM即Levenberg-Marquardt算法的精度对于初值的依赖较高,而实际激光波形并非对称的高斯模型,因此若是通过拐点检测来获取半宽参数会对结果产生一定的误差。粒子群优化(PSO)算法源自于对鸟群或者鱼群捕食行为的模拟,具有较强的全局搜索能力,其流程如下: [0076] a.确定参数、随机初始化粒子群体的位置和速度,记录个体极值以及群体极值。 [0077] b.计算每个粒子的适应值 [0078] c.比较每个粒子适应值与个体极值,如果较优,则更新该粒子个体极值[0079] d.比较每个粒子适应值与群体极值,如果较优,则更新该粒子群群体极值[0080] e.更新每个粒子的位置和飞行速度 [0081] f.设定迭代次数,达到则停止计算 [0082] 本发明中,参数为单个波形的延时、强度以及脉宽参数,适应值由函数计算,其中obsi为待拟合的目标波形,即经过(1)-(3)步处理后的实际波形数据,yi为当前参数粒子所重构成的波形,N为实际回波采样点数,当R值越接近于1时效果越好。对于参数粒子的更新为: [0083] [0084] [0085] 个体极值指粒子本身找到的最优解,即式中的 群体极值是指全局找到的最优解,即式中的 为参数粒子, 为飞行速度,最大值设定为0.5,最小值设定为-0.5。惯性因子w经比较取0.729时收敛性较好,c1与c2为加速常数,本文中取1.454,迭代次数设置为10000。 [0086] (6)将经过粒子群算法得到的最优值作为LM算法的初值,设定循环次数,拟合效果按照拟合度公式 计算,其中obsi为待拟合的目标波形,即经过(1)-(3)步处理后的实际波形数据,yi为拟合结果,N为实际回波采样点数,当R值越接近于 1时拟合度越高,效果越好。经过分解,最终得到分解结果。最终结果如图7所示。对于分解的每一个子波,其延时是对应像素点的高程信息,其幅度是对应像素点的强度信息。 [0087] 传统拟合所使用的LM算法,初值设定不同,最终拟合得到的精度也不一样,随机设置几组初值,最终平均拟合度不足0.98,而通过本发明,利用粒子群算法获得值作为初值,最终拟合度可达0.989。 |