摘 要:针对目前采用BP神经网络模型进行遥感影像分类时存在的对初始权阈值敏感、易陷入局部极值和收敛速度慢的问题,为了提高BP模型遥感影像分类精度,将粒子群算法引入到BP网络模型参数选择中。首先运用粒子群算法对BP模型权阈值参数进行初始寻优,再用改进BP算法对优化的网络模型权阈值进一步精确优化,随后建立基于粒子群算法的BP网络分类模型,并采用MATLAB语言实现了该算法,将其应用到遥感影像数据分类研究中。仿真结果表明,新模型有效提高了遥感影像分类准确性,为遥感影像分类提出了一种新的方法,具有广泛研究价值。
关键词:遥感;影像分类;BP神经网络;粒子群算法
1 概述
自20世纪70年代以来,遥感技术伴随着地理信息处理技术的飞速发展也得到了快速发展。遥感影像分类技术作为遥感技术中的研究重点,更加得到了相关学者的关注。近年来,人工神经网络作为一种新型的信息处理技术,已被广泛应用于遥感图像分类,其中应用最多最成功的当数BP神经网络[1-3]。但是,BP神经网络由于其初始权阈值的不确定性,使得BP神经网络存在着训练速度慢,易陷入局部极小值的问题。因此,出现了大量对BP神经网络的改进方法。改进方法分为两类,第一类是对BP神经网络算法的改进,如附加动量法、带有动量项自适应学习率法以及Levenberg-Marquard算法等[4-6]。第二类是引入新的智能算法优化BP神经网络权阈值,然后结合改进BP算法改进BP神经网络运行效果,提高BP模型运行效率[7,8]。本文主要研究基于粒子群神经网络(PSO-BP)的遥感影像分类模型,并采用MATLAB语言实现了该模型,实验结果表明,该改进模型不仅具有更好地分类稳定性,同时也具有比BP神经网络模型更高的分类精度。
2 遥感影像分类模型的搭建
2.1 核心思想
遥感影像分类模型搭建的理论基础是粒子群算法与BP神经网络的有效结合,相比遗传算法,粒子群算法保留了种群基础上的全局搜索策略,其采用的速度——位移进化方式操作简单,避免了复杂的选择交叉变异操作。它特有的记忆能力使其可以根据当前追踪的搜索情况,動态调整搜索策略,寻找到最优解。因此,本文在构建基于BP神经网络的遥感影像分类模型的基础上,将粒子群算法引入到BP神经网络模型参数的优化中,首先采用粒子群算法缩小BP模型权阈值的搜索范围,然后再采用改进的BP神经网络算法进行二次搜索,确定权阈值,得到模型最终权阈值,形成最终模型。这样构造的模型既可以避免由于权阈值的随机性造成的神经网络学习的稳定性差、可靠性低与易陷入局部极小的问题,同时又可以提高模型的分类精度。
2.2 基于MATLAB的模型实现步骤
Step1——基本参数设定。取粒子个数N=30。对于搜索空间维度D,输入层indim=3,隐层hiddennum=11,输出层outdim=3,则D=(indim+1)*hiddennum+(hiddennum+1)*outdim=80。本文取每个微粒的加速项权重学习因子c1=c2=2。惯性因子W的取值直接影响粒子局部与全局搜索能力,为保持粒子对种群搜索空间的拓展能力,采用线性递减权值策略,它能使W由wmax随迭代次数线性递减到wmin。
for iter=1:itmax
W(iter)=wmax-((wmax-wmin)/itmax)*iter;
end
式中,itmax=100为最大进化代数,iter为当前进化代数。wmax=0.9为初始惯性权值,wmin=0.4为迭代至最大代数时的惯性权值。
Step2——适应度函数的编写。PSO-BP神经网络模型算法运行的目的是只要算法迭代停止时去噪后图像与原始图像的误差最小,就说明此时的图像去噪效果最好,此时粒子对应位置即为所求最优值。因此本模型的适应度函数代码如下:
function fitness=fitcal(pm,net,indim,hiddennum,outdim,D,Ptrain,Ttrain)
[x,y,z]=size(pm);
for i=1:x
for j=1:hiddennum
x2iw(j,:)=pm(i,((j-1)*indim+1):j*indim,z);
end
for k=1:outdim
x2lw(k,:)=pm(i,(indim*hiddennum+1):(indim*hiddennum+hiddennum),z);
end
x2b=pm(i,((indim+1)*hiddennum+1):D,z);x2b1=x2b(1:hiddennum)';
x2b2=x2b(hiddennum+1:hiddennum+outdim)';
net.IW{1,1}=x2iw;net.LW{2,1}=x2lw;
net.B{1}=x2b1;net.B{2}=x2b2;
error=sim(net,Ptrain)-Ttrain;
fitness(i,1,z)=mse(error);
end
Step3——速度与位置初始化。由于BP模型权阈值参数一般取[-1,1]之间的随机数,因此群体中每个粒子对应的初始位置参数X和速度参数V均取为[-1,1]之间的随机数。主要代码如下:
X=-0.5+1*rand(N,D,1);
V=-0.5+1*rand(N,D,1);
Step4——速度位置更新。利用适应度函数计算个体适应度值,进行局部最优和全局最优位置更新。其主要代码如下:
V(:,:,j+1)=W(j)*V(:,:,j)+c1*rand*(pbest(:,:,j)-X(:,:,j))+c2*rand*(G(:,:,j)-X(:,:,j))+rand*(G(:,:,1)- pbest(:,:,1));
for ni=1:N
for di=1:D
if V(ni,di,j+1)>vmax
V(ni,di,j+1)=vmax;
elseif V(ni,di,j+1)<-vmax
V(ni,di,j+1)=-vmax;
else
V(ni,di,j+1)=V(ni,di,j+1);
end
end
end
X(:,:,j+1)=X(:,:,j)+V(:,:,j+1);
Step5——解码。当算法按照预设参数结束后,将参数解码,并赋给BP神经网络模型。并其主要代码如下:
for t=1:hiddennum
x2iw(t,:)=gbest(1,((t-1)*indim+1):t*indim,j);
end
for r=1:outdim
x2lw(r,:)=gbest(1,(indim*hiddennum+1):(indim*hiddennum+hiddennum),j);
end
x2b=gbest(1,((indim+1)*hiddennum+1):D,j);
x2b1=x2b(1:hiddennum)';
x2b2=x2b(hiddennum+1:hiddennum+outdim)';
net=newff(Pn_train,Tn_train,[hiddennum outdim],{'tansig','purelin'},'trainlm');
net.IW{1,1}=x2iw;net.LW{2,1}=x2lw;
net.b{1}=x2b1;net.b{2}=x2b2;
3 遙感影像分类仿真实验
3.1 实验数据处理
由于采集到的遥感影像数据不是模型可以直接利用的数据类型,所以在将遥感影像数据输入模型之前先将其转换为R,G,B三波段数据,再将三波段数据转换为3行,从而形成输入矩阵。再自行定义目标向量,并将其转换为与输入向量结构相同的向量,构成了神经网络模型的训练样本对。本文采用LANDSAT卫星崇明岛遥感影像图片作为实验数据,图1为实验中用到的图片,图2为转换后计算机中存储的矩阵数据。
3.2 仿真实验
表1给出了基于不同算法的分类结果对比,从表中可以看,由于对BP模型的权阈值进行了2次优化,基于PSO-trainlm BP算法的遥感影像分类模型具有更高的分类精度,且分类模型的稳定性也要好于基本BP模型与改进BP模型,图3给出了某次分类的分类结果图,从分类后的图可以看出,如果有清晰的遥感影响图片及采样点精确的话,可以得到很高的分类精度。
4 结束语
本文主要研究了基于PSO-BP算法的神经网络遥感影像分类模型,并采用MATLAB语言进行了仿真,在研究中发现在进行遥感影像分类时采用梯度下降BP算法的模型存在训练速度慢,对初始权阈值参数敏感且易陷入局部极小值的问题。针对这个问题采用粒子群算法及改进BP算法对权阈值进行两次优化,将优化后的权阈值作为分类模型的最终参数。实验结果表明这种设想是成功的,将粒子群算法引入到基于改进算法的BP遥感影像分类模型后,不仅可以提高分类模型分类精度,同时也可以提高模型运行的稳定性。
参考文献
[1]徐磊,林剑,李艳华.基于BP人工神经网络的遥感影像分类[J].地理空间信息,2012,10(4):83-86.
[2]王睿,韦春桃,马云栋.基于BP神经网络的Landsat影像去云方法[J].桂林理工大学学报,2015,35(3):535-539.
[3]麦格,童新华.基于BP神经网络的石漠化遥感影像分类方法的探讨[J].广西师范学院学报:自然科学版,2013,30(1):70-77.
[4]马丽霞,逄超,陈晓辉.BP神经网络的改进算法及在大坝变形分析与预报中的应用[J].吉林建筑大学学报,2016,33(4).
[5]王军.改进BP网络在沥青路面构造深度预测中的应用[J].厦门理工学院学报,2016,24(3).
[6]蔚治国.基于改进BP神经网络的样本分类方法[J].自动化与仪器仪表,2016(6).
[7]游丹丹,陈福集.基于改进粒子群和BP神经网络的网络舆情预测研究[J].情报杂志,2016,35(8).
[8]田亚鹏,鞠斌山.基于遗传算法改进BP神经网络的页岩气产量递减预测模型[J].中国科技论文,2016(15).
作者简介:王海军(1982-),男,汉族,内蒙古鄂尔多斯市人,鄂尔多斯应用技术学院教师,高级工程师,工学硕士,研究方向:人工智能算法应用。