APP下载

GA-PSO优化BP神经网络的遥感影像分类方法

2020-07-31薛明韦波杨禄李景文姜建武

遥感信息 2020年3期
关键词:适应度遗传算法种群

薛明,韦波,杨禄,李景文,姜建武

(1.桂林理工大学 广西空间信息与测绘重点实验室,广西 桂林 541004;2.桂林理工大学 测绘地理信息学院,广西 桂林 541004)

0 引言

在改善遥感影像分类效果的研究中,BP神经网络算法被越来越广泛地运用到不同类型影像的分类中[1],但与此同时,BP神经网络也存在着容易陷入局部极值、收敛速度慢等缺点[2]。因此,在使用BP神经网络进行遥感影像分类的研究过程中,提出了大量改进BP神经网络的方法。这些改进的方法可以分为2类:第一类是对BP神经网络自身的网络结构或超参数进行改进;第二类则是采用其他方法,如数学统计、模糊数学、智能寻优算法等,结合BP神经网络,用于影像分类以达到改善影像的分类效果、提高网络执行效率的目的[3]。

在第一类方法中,王崇倡[4]在BP算法中采用添加动量自适应学习速率的方法加快了BP神经网络的训练速度。可华明[5]采用量化共轭梯度的方法,对BP神经网络的标准最速梯度下降法进行改进,网络的收敛速度得到了提高,并将其应用到了Landsat-7 ETM+影像数据的高原山地地区土地覆盖分类。这些方法对BP神经网络自身的网络结构或超参数进行了改进,虽然能加快神经网络的训练速度,但仍存在BP网络易陷入局部极值的问题。

在第二类方法中,Benediktsson等[6]提出了将统计方法和神经网络模型2种方法融合的多源遥感影像分类方法。Atkinson等[7]使用人工神经网络对多源数据进行分类时,采用模糊数学的方法改进了神经网络模型。骆成凤[8]使用遗传算法(genetic algorithm,GA)优化BP神经网络(GA-BP),使用GA在神经网络所有权阈值解空间中,迭代搜索出全局最优的值,然后通过使用梯度下降算法搜索局部最优权值。童小华等[9]提出了变长实数编码的遗传算法,将其运用到BP神经网络权阈值的优化中,有效提高了遗传算法的全局搜索能力。这些方法在一定程度上加强了BP神经网络的全局搜索能力,提高了分类精度,但如何更好避免BP神经网络易陷入局部极值和网络处理时间过长等问题,依然是这类方法需要解决的问题。

基于以上分析,且考虑到遗传算法是一种自适应的全局寻优算法[10],而粒子群算法(particle swarm optimization,PSO)是一种具有较快收敛速度的算法[11],本文提出了一种遗传算法结合粒子群算法对BP神经网络进行优化(GA-PSO-BP)的遥感影像分类方法,并应用于Landsat-8和GF-2遥感影像分类,同时将分类结果与最大似然法(maximum likelihood method,ML)、支持向量机(support vector machine,SVM)、传统BP、GA优化BP(GA-BP)、PSO优化BP(PSO-BP)和AlexNet卷积神经网络分类结果相比较,以验证提出方法的可行性和有效性。

1 数据介绍

Landsat-8卫星于2013年2月11日由NASA成功发射。Landsat计划有着40年的辉煌历史,Landsat-8卫星的发射也为Landsat计划注入了新鲜血液[12]。本次实验使用的Landsat-8遥感影像数据,空间分辨率为30 m,其中,由432波段合成的真彩色图像,较接近地物真实色彩,色调灰暗,图像平淡,如图1所示。为了能够取得更好的遥感影像分类效果,选取543波段进行组合得到标准假彩色图像。假彩色图像地物之间的色彩差异更加明显,有利于对林地、湖泊和河流等地物进行识别与分类。因此,将543波段组合而成的标准假彩色图像作为实验的准备数据,该数据图像如图2所示。

图1 真彩色影像(432波段)

图2 标准假彩色影像(543波段)

GF-2卫星是我国自主研发的民用光学遥感卫星,于2014年8月19日发射,搭载的全色相机分辨率为1 m,多光谱相机分辨率为4 m。GF-2卫星于2015年3月6日正式投入使用,主要面向用户有自然资源部、住房和城乡建设部、交通运输部和国家林业局等部门,它的成功运作使我国的卫星综合观测技能达到了国际先进水平。本次选取GF-2遥感影像作为实验数据,其空间分辨率为4 m,影像数据如图3所示。

图3 GF-2遥感影像

2 GA-PSO-BP神经网络

2.1 BP神经网络

BP神经网络是一种网络层数在3层或3层以上的前馈神经网络。误差反向传播算法是BP神经网络的支持算法,通常叫作BP算法。BP算法主要体现了梯度下降的思想,运用随机梯度下降技术,使网络的实际输出值和正确输出值的误差达到最小。

BP神经网络算法由2个部分组成,分别为输入数据的正向传播部分和误差的反向传播部分。正向传播为输入的数据按照输入到输出方向传输,并计算输出值与正确值之间的误差;而反向传播部分则依据正向传播得到的误差,从输出到输入的方向调整网络的权阈值[13]。在BP神经网络的输入层和输出层之间,可以设置一层或者一层以上的隐藏层。这些隐藏层虽然不能直接与外界联系,但它们的属性信息的变化能影响整个神经网络的输出结果,每一层隐藏层的节点数可以有若干个。最简单的结构为3层BP神经网络,常用来解决较为简单的分类问题,如图4所示。

图4 3层BP神经网络结构

2.2 遗传算法

遗传算法是一种具有全局搜索能力的迭代优化算法,它主要从生物界的物种进化法则得到启发,是一种效仿了生物圈“物竞天择,适者生存”的智能算法[14]。遗传算法将所要解决问题的解空间参数,转码为生物遗传学上的染色体,通过迭代的方法将染色体进行选择、遗传、交叉和变异操作,通过适应度函数评价新种群中染色体的好坏,最终进化筛选出最优染色体。在得到最优染色体后,通过对其进行解码操作,恢复为问题解空间的参数形式,进而对问题进行求解。

2.3 粒子群算法

PSO优化算法首先是初始化随机产生一群基于所要求解具体问题的解空间范围内的粒子。每个粒子对应着可行解空间的一组解,通常使用适应度值、位置和速度来表示粒子的属性特征[15]。

在每一次粒子群的迭代更新中,粒子的速度和位置通过式(1)、式(2)进行更新[16]。

Vi d(k+1)=ωVi d(k)+c1r1(Pi d(k)-Xi d(k))+
c2r2(Pg d(k)-Xi d(k))

(1)

Xi d(k+1)=Xi d(k)+Vi d(k+1)

(2)

式中:ω表示惯性权重用常数;i=[1,n],d=[1,D],其中,n和D为整数,n为粒子的数量,D为粒子的搜素维度;Vid(k)表示当前粒子的运动速度;k为当前迭代次数;Pid为第i个粒子迄今为止搜索到的最优位置;Pgd为整个粒子群搜索到的最优位置;Xid(k)表示当前粒子的运动位置;c1与c2表示加速度因子,通常是取正值的常数;r1与r2为大小在0到1之间的随机常数。由于粒子具有盲目搜索性,通常会设定区间[-Xmax,Xmax]和[-Vmax,Vmax]分别限制粒子运动的位置和速度。算法的具体流程如图5所示。

图5 粒子群算法基本流程图

2.4 GA-PSO-BP神经网络实现

遗传算法的优点主要体现在它的全局优化性,这种算法具有较强的全局搜索能力。然而,遗传算法在进行迭代过程时,一旦种群的信息进行了更新,上一代的信息就会丢失[17],在种群迭代更新中并不会将个体的信息进行保存。粒子群算法相对遗传算法,其算法结构更为简单,它能加快网络参数的收敛速度,并且在每一次迭代过程中保存个体极值和群体极值,具有记录每一代新粒子信息的特性,但粒子群优化算法的缺点是易陷入局部最优解。本文将以上2种智能寻优算法相结合,使2种算法实现优势互补。以粒子群算法为主,遗传算法为辅,在粒子群算法对所要解决问题的解空间进行迭代寻优的同时,将粒子群中的粒子个体转化为遗传算法的染色体,并将遗传算法的迭代遗传操作复制、交叉和变异引入到种群里所有染色体的寻优过程中,所得到的GA-PSO-BP算法同时具备了遗传算法的全局收敛和粒子群算法收敛速度快的优点。GA-PSO-BP算法流程如图6所示。

图6 GA-PSO-BP算法基本流程图

具体实现步骤如下。

1)对种群进行初始化。用pop表示种群,即所有待求解的样本集合,sizepop为种群规模,种群pop中的每个粒子包含了BP神经网络所要优化的全部参数集合,GA-PSO-BP算法进行寻优过程中的初始化参数就是神经网络的权阈值参数,maxgen为该算法迭代的最大次数。

2)使用粒子群算法对种群pop进行初始寻优,更新粒子的位置和速度。将BP神经网络算法输出的训练样本仿真误差范数作为GA-PSO-BP算法中粒子好坏的评价,训练样本仿真误差的范数与粒子的适应度值成反比。

3)在每一代种群的粒子更新后,根据适应度由大到小将它们平均分成3份,分别用SelCh1、SelCh2和SelCh3表示,对3份子种群引入遗传算法的遗传操作。由于适应度大小排列为SelCh1>SelCh2>SelCh3,因此对子种群SelCh1直接执行复制操作;子种群SelCh2的粒子随机两两配对执行交叉操作,交叉概率为px;适应度最小的子种群SelCh3执行变异操作,变异概率为pm。

4)重新计算经遗传算法操作后得到的新粒子的适应度大小,对个体和群体的极值进行更新。

5)迭代循环上述步骤2)~步骤4),当适应度函数满足神经网络事先设置的收敛精度δ或迭代次数达到GA-PSO-BP算法的maxgen,停止迭代。

将通过GA-PSO-BP算法迭代寻优得到的最优权阈值参数直接赋给BP神经网络,作为初始权阈值参数对网络进行训练,把遥感影像数据直接输入到BP神经网络进行仿真测试,就能输出网络仿真预测结果。

3 分类实验

采用提出的GA-PSO-BP遥感影像分类方法对图2和图3的遥感影像进行分类。同时,为了比较结果,还进行了最大似然法、支持向量机、传统BP、GA-BP、PSO-BP、AlexNet卷积神经网络的影像分类实验。

3.1 网络训练参数设置

本文所采用的BP神经网络拓扑结构为3-13-3,主要是因为对于一般的模式识别问题,3层网络就可以很好地解决问题。神经网络包含了3个输入节点,主要取决于彩色遥感影像的红(R)、绿(G)、蓝(B)3个颜色通道,包含1个隐藏层和3个输出节点,隐藏层包括13个神经元节点,主要是根据配凑法和先验公式确定。采用弹性梯度下降算法trainrp作为BP神经网络的全局训练函数;S型正切函数tansig和S型对数函数logsig分别作为隐藏层神经元和输出层至隐藏层的传递函数;epochs表示网络的最大训练次数,设置为1 000;网络训练的精度目标goal设置为0.001;设置梯度下降法的学习率lr=0.1。

3.2 分类结果

在MATLAB中读入待分类的遥感影像数据,对彩色影像进行降维处理,并将灰度值进行归一化处理。将数据输入传统BP、GA-BP、PSO-BP、AlexNet卷积神经网络和GA-PSO-BP中进行训练预测,同时使用最大似然法和支持向量机对相同的影像数据进行分类,进而得到本文方法与对比方法的影像分类图(图7、图8)。

图7 7种方法的Landsat-8影像分类图

图8 7种方法的GF-2影像分类图

3.3 精度评估

为验证影像分类的精度,以及对以上7种分类方法的2种遥感影像分类结果进行比较,采用混淆矩阵(confusion matrix)对分类结果进行定量分析。依据真实遥感影像通过目视解译的方法提取验证样本,并建立混淆矩阵。混淆矩阵的计算在ArcGIS平台上完成。首先,在原始的Landsat-8标准假彩色影像边界范围内生成500个随机点,并对影像上的每个随机点进行赋值。实验中Landsat-8遥感影像地物共分为6个类,其生成随机点的数量比值为94(河流)∶192(林地)∶44(湖泊)∶75(房屋)∶32(道路)∶63(未利用地)。然后,确定检验样本点对应的分类结果的栅格像元值,并建立用于计算分类精度的混淆矩阵。表1为采用GA-PSO-BP分类建立的Landsat-8影像混淆矩阵。最后,采用相同的计算方法对GF-2遥感影像的分类结果建立混淆矩阵(表2)。

表1 Landsat-8影像GA-PSO-BP分类误差矩阵

表2 GF-2影像GA-PSO-BP分类误差矩阵

在Landsat-8和GF-2遥感影像分类实验中,使用7种不同的方法对相同原始影像数据进行分类,得到了7种不同的分类误差矩阵。因此,由不同的分类误差矩阵可以进一步计算出各种分类方法的地物单一类别分类精度、总体分类精度(overall classification accuracy,OA)以及Kappa系数,并利用单一类别分类精度、总体分类精度和Kappa系数来衡量遥感影像的整体分类效果,以此作为7种分类方法分类效果的评价指标。Landsat-8和GF-2影像分类得到的7种分类方法的分类精度评估对比,见表3和表4。

表3 Landsat-8影像7种分类方法精度评估对比表

表4 GF-2影像7种分类方法精度评估对比表

从表3 Landsat-8影像分类精度对比表可看出,在单一类别分类精度上,由于道路与房屋容易混淆,所以7种分类方法在道路分类中精度偏低,其他地物分类精度从最大似然法(ML)到GA-PSO-BP分类方法均有提高,且GA-PSO-BP分类与AlexNet卷积神经网络相近。在总体分类效果上,7种分类方法的总体分类精度都在81%以上,而Kappa系数也由最大似然法的0.767 8上升到GA-PSO-BP方法的0.860 9。从表4 GF-2影像分类精度对比表可看出,无论在单一类别分类精度、总体分类精度还是Kappa系数上,GA-PSO-BP方法相比于除AlexNet卷积神经网络分类方法外的其他对比方法均有提升,与AlexNet卷积神经网络分类接近。由此说明,使用GA-PSO-BP方法进行中、高分辨率遥感影像分类,相比于ML、SVM、传统BP、GA-BP和PSO-BP分类,能够在一定程度上提高分类精度,改善分类效果,而与AlexNet卷积神经网络的分类效果较为接近,说明BP神经网络经GA-PSO算法优化后,能够使遥感影像分类的精度得到有效的提高。

4 结束语

遗传算法具有较强的全局搜索能力,而粒子群算法能加快网络参数的收敛速度,通过将GA算法与PSO算法相结合,将经过GA-PSO算法迭代寻优得到的初始权阈值直接赋给BP神经网络,能够使BP神经网络易陷入局部极值的问题得到有效克服,同时网络的训练速率也能得到提升。中、高分辨率遥感影像分类实验表明,本文提出的GA-PSO-BP遥感影像分类方法的总体分类精度和Kappa系数均优于最大似然法、支持向量机、传统BP、GA-BP和PSO-BP分类方法,且与AlexNet卷积神经网络较为接近,但GA-PSO-BP更简便,更易于操作。

虽然本文提出的方法在实验中取得了较好的分类效果,但粒子群算法的适应度函数选取、粒子群规模和加速度因子等基础参数的确定,在很大程度上影响GA-PSO算法优化BP神经网络的分类性能。而目前没有形成确切的依据来确定这部分控制参数,下一步将重点研究参数的设置方法,以发挥智能寻优算法的最大作用。

猜你喜欢

适应度遗传算法种群
改进的自适应复制、交叉和突变遗传算法
山西省发现刺五加种群分布
基于双种群CSO算法重构的含DG配网故障恢复
中华蜂种群急剧萎缩的生态人类学探讨
一种基于改进适应度的多机器人协作策略
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于空调导风板成型工艺的Kriging模型适应度研究
软件发布规划的遗传算法实现与解释
基于改进的遗传算法的模糊聚类算法
基于改进多岛遗传算法的动力总成悬置系统优化设计