基于量子粒子群算法的高光谱图像波段选择方法

文档序号:6535880阅读:302来源:国知局
基于量子粒子群算法的高光谱图像波段选择方法
【专利摘要】本发明公开了一种基于量子粒子群算法的高光谱图像的波段选择方法,主要解决现有技术的搜索能力低及分类精度不高的问题。其实现步骤是:1)输入高光谱灰度图像,由含标签的样本组成训练集;2)初始化粒子的位置向量、编码向量、适应度值、局部最优信息及种群的全局最优信息;3)更新粒子的位置向量和编码向量;4)由更新后的编码向量计算粒子的适应度值;5)更新粒子的局部最优信息和种群的全局最优信息;6)判断是否终止迭代,如果满足终止条件则输出全局最优信息对应的最优波段,否则返回到步骤3)。本发明提高了波段选择的有效性,在保证分类精度的前提下能自适应的选出尽可能少的最优波段,可用于高光谱图像的分类前的预处理。
【专利说明】基于量子粒子群算法的高光谱图像波段选择方法
【技术领域】
[0001]本发明属于图像处理领域,特别涉及一种高光谱图像的波段选择方法。该方法可用于高光谱图像分类前从高光谱图像的多个波段中,自适应地选择出具有较高分类精度和较少波段的波段子集。
【背景技术】
[0002]随着高光谱遥感成像技术的发展,高光谱图像在农业、地质、沿海和内陆水域环境、大气研究、全球环境研究等领域得到了广泛应用。高光谱成像仪可以在多波段、窄间距下获得几乎连续的地物波谱图像,使得高光谱图像具有了相比传统的遥感图像更高空间分辨率和光谱分辨率,同时包含了丰富的空间、辐射和光谱等地物分类信息。但是高光谱图像的处理仍然存在许多的困难。成百乃至上千的波段带来了数据量大、“维数灾难”、信息冗余、存在噪声波段的问题,给高光谱图像的存储、传输和处理带来了巨大的困难。因此,如何有效的降低高光谱图像的维数成为了高光谱图像分析的一个重要方向。
[0003]常用的降维方法主要有两大类:波段提取和波段选择。波段提取通过线性或非线性的方法将高维波段空间映射到低维波段空间,从而达到降维的目的。常用方法如主成分分析、独立分量分析、判别分析等。波段选择即从原始的波段集合中选择一个符合要求的波段子集。相对于波段提取的方法,波段选择不改变原始的光谱数据,保留了原始波段下的物理含义以及地物的光谱特性。所以,从物理意义上讲,波段选择更适合高光谱图像的降维。
[0004]通常,波段选择由搜索策略和评价函数两部分组成。搜索策略用来产生波段子集,评价函数用过评价波段子集的好坏。按照评价函数的不同,波段选择方法分为滤波式和封装式两种。滤波式一般采用JM距离、信息熵、互信息等作为评价标准,由于算法的复杂度小,这种方法具有很高的效率,但其忽略了所选波段子集对于分类效果的影响。封装式通常直接采用学习算法的性能作为波段子集的评价标准,将波段选择和学习算法很好的结合到一起。常用到的分类器如支持向量机SVM分类器等。这种方法虽然计算复杂度比较高,但却可以获得更高的分类精度。
[0005]波段选择的搜索算法可分为三类:全局最优搜索、启发式搜索和随机搜索。全局最优搜索算法如穷举搜索法和分支定界法,这类搜索方法虽然可以搜索到最优的波段组合,但是由于波段个数过多带来的庞大的计算量很少被采用。启发式搜索策略包括序列前向搜索、序列后向搜索、增I减r法以及浮动序列搜索等算法。这类方法虽然可以搜索到不错的子集,但是这类的方法往往不同考虑到所有的波段子集,理论上不能到达最优解。常见的随机搜索策略如遗传算法、粒子群算法以及量子粒子群算法等。这类方法比较普遍,一般情况下效果要好于启发式搜索策略。
[0006]通常,基于随机搜索策略的波段选择问题可以描述为一个二进制离散组合优化问题。假设高光谱图像原始波段个数为Nb,图像的波段空间B = (BpB:,.,B )可以用一个二进制离散空间表示,空间中每一维代表一个波段,且只能取值“O”或“1”,“ I”表示该维对应的波段被选中,“O”表示该维对应的波段被滤除。空间的每一个点都可以对应一个波段子集,因此可以把波段选择的问题看作一个在波段空间中搜索得到满足条件的最优解的离散优化问题。通过结合不同的随机搜索算法在波段空间中根据一定的准则选择出代表最优波段子集的最优点。
[0007]现有波段选择的随机搜索策略有遗传算法、粒子群算法等。遗传算法分为编码,交叉、变异、选择,适应度计算这几步,这种方法使用比较普遍,但是计算时间较长,选出来的波段组合还不能达到全局最优。粒子群优化算法PSO分为粒子表示、种群更新、适应度使计算这几步,PSO算法具有操作简单、运算复杂度低、参数少等特点,因而在高光谱图像波段选择方面受到了广泛的关注和研究。但是PSO算法仍然存在许多不足,比如理论上不能保证收敛到全局最优解、易陷入局部最优等。对于高光谱图像,成百上千波段组成的波段空间相当复杂,搜索算法很容易陷入局部最优解,所以高光谱图像的波段选择中的搜索策略还需要进一步的改进。

【发明内容】

[0008]本发明的目的在于结合量子粒子群算法QPSO的强大搜索能力与SVM分类器的性能,提出一种基于量子粒子群算法和SVM分类器的封装式高光谱图像波段选择方法,以在保证分类精度的前提下,提高波段选择的性能,获得全局最优的波段子集。
[0009]为实现上述目的,本发明的技术方案包括步骤如下:
[0010](1)将输入图像中的每一个像素点用一个特征向量表示,图像中的每一个像素点作为一个样本点,将所有含类别标签的样本点组成训练集T ;
[0011](2)假设总波段个数为Nb,将波段选择问题看作一个在二进制Nb维空间的离散组合优化问题,采用量子粒子群算法在二进制Nb维空间中搜索得到最优波段:
[0012](2a)初始化当前迭代次数为t = 1,设种群大小为M,种群中的每个粒子对应波段选择问题的一个候选解,对于种群中的每个粒子i = 1,2,....M,初始化粒子的信息:
[0013](2al)在(-x_,XnJ范围内随机初始化每个粒子位置向量Xi⑴,向量的维数为Nb,其中Xmax代表粒子在连续域的取值范围,取Xmax = 10 ;
[0014](2a2)由种群内每个粒子的位置向量Xi (t),计算得到该粒子的初始的编码向量Ci;
[0015](2a3)由每个粒子的编码向量Ci,计算得到该粒子的初始的适应度值F(i);
[0016](2a4)初始化种群中每个粒子的局部最优位置向量Pbesti = XiU)、局部最优编码向量Pbesi^codei = Ci,局部最优适应度值F(Pbesti) = F(i);
[0017](2a5)选择粒子种群中适应度值最高的粒子)=arS max(F(Q)),/=,
初始化粒子种群的全局最优位置向量gbest为第j个粒子的位置向量Xj(t),即gbest =Xj(t),全局最优编码向量gbest_code为第j个粒子的编码向量C」,即gbest_code = C」,全局最优适应度值F (gbest)为第j个粒子的适应度值F (j),即F (gbest) = F (j);
[0018](2b)设定最大迭代次数为Tmax,取Tmax = 300,利用粒子的当前位置向量Xi⑴、局部最优位置向量Pbesti和种群的全局最优位置向量gbest,根据波函数原理采用蒙特卡罗方法对种群中的每个粒子i = 1,2,...,M进行更新,得到每个粒子更新后的位置向量,Xi (t+1);
[0019](2c)由种群内每个粒子更新后的位置向量Xi(t+1),更新该粒子的编码向量(;;[0020](2d)由更新后的每个粒子的编码向量Ci',计算该粒子的适应度值F(i);
[0021](2e)由每个粒子的适应度值F(i),更新粒子的局部最优位置向量pbestp局部最优编码向量pbesi^codep局部最优适应度值F(Pbesti)、全局最优位置向量gbest、全局最优编码向量gbest_code、全局最优适应度值F(gbest);
[0022](2f)判断当前迭代次数t是否达到设定的最大迭代次数Tmax,输出最优波段:
[0023]如果当前迭代次数t等于最大迭代次数Tmax,则终止迭代并根据全局最优编码向量gbest_code确定最优的波段,该gbest_code是一个代表着最优波段的二进制串,其每一维对应一个波段,I代表波段被选中,O代表波段被舍去;输出gbest_code中取值为I的维数所对应的波段,即为波段选择输出的最优波段;
[0024]如果当前迭代次数t不等于最大迭代次数Tmax,则令t = t+Ι,返回到步骤(2b)。
[0025]本发明与现有技术相比具有如下优点:
[0026]1.本发明使用量子粒子群算法进行波段选择的搜索,相比于现有其他波段选择的搜索算法具有更强的搜索能力,大大的提高了波段选择的性能,可以选出最优的波段。
[0027]2.本发明实现了自适应的波段选择。现有的大多数波段选择方法需要预先指定所选波段的个数,而本发明不需要预先指定所选波段的个数,可以自适应的选择出最优的波段。
[0028]3.本发明将SVM分类器与所选波段个数的组合作为波段的评价准则,使得该发明在进行波段选择时,可以 在保证分类性能的前提下,选择出尽可能少的波段。
【专利附图】

【附图说明】
[0029]图1是本发明的实现流程图;
[0030]图2是现有的Indiana Pine高光谱图像;
[0031]图3是现有的Pavia University高光谱图像;
[0032]图4是用本发明与现有PSO-KNN方法对图2最优波段的整幅图像分类结果图;
[0033]图5是用本发明与现有PSO-KNN方法对图3最优波段的整幅图像分类结果图。
【具体实施方式】
[0034]本发明的技术核心是将含有Nb个波段的高光谱图像的波段选择问题看作一个在二进制Nb维空间的离散组合优化问题,采用量子粒子群算法在二进制Nb维空间中搜索得到最优波段。
[0035]参照图1,本发明的实施步骤如下:
[0036]步骤1:输入图像,组成训练集T
[0037]输入一幅含有Nb个波段的高光谱灰度图像,该图像中的每一个像素点就是一个样本点,将输入图像中的每一个像素点用一个特征向量表示,将像素点在每一个波段的灰度值作为该像素点的一个特征,所有的特征组成该像素点的特征向量,所有含类别标签的样本点组成训练集T ;
[0038]步骤2:初始化粒子信息
[0039](2a)初始化当前迭代次数为t = 1,设种群大小为M,种群中的每个粒子对应波段选择问题的一个候选解;[0040](2b)在(_xmax, xmax)范围内随机初始化每个粒子的位置向量Xi (t), i =1,2,....M,位置向量的维数为Nb,其中Xmax代表粒子在连续域的取值范围,取Xmax = 10 ;
[0041](2c)由种群内每个粒子的位置向量Xi (t),计算得到该粒子的初始的编码向量Ci,步骤如下:
[0042](2cl)利用下式产生一个(0,I)之间的值S(Xid):
[0043]S(Xk!) = /(\+e x ,{!>),
[0044]其中,Xid (t)是第i个粒子的位置向量Xi (t)的第d维,d = 1,2,...,Nb,Nb为总波段的个数,e为自然对数的底数;
[0045](2c2)在(0,I)间产生一个随机数randO,确定第i个粒子的编码向量Ci的第d维的值 Cid:如果 randO < S(Xid),则 Cid=I,否则 Cid=O ;
[0046](2c3)将计算得到的各维编码向量值,…,进行组合,得到粒子的编码向量 '.Ci — {C;1, C12 , CidCitfb};
[0047](2d)由每个粒子的编码向量Ci,计算得到该粒子的初始的适应度值F(i),步骤如下:
[0048](2dl)计算粒子的编码向量Ci对应的选中波段分类性能A(Ci):
[0049]在编码向量Ci中,每一维对应一个波段,I代表波段被选中,O代表波段被舍去,令训练集T在编码向量Ci对应选中波段下的数据为T',利用SVM分类器计算T'进行五倍交叉验证后的平均分类精度,并将其值作为粒子的编码向量Ci对应的选中波段分类性能A (Ci),其中,SVM分类器中的核函数采用的高斯核函数,SVM分类器的惩罚系数取100,高斯核函数的参数Y取I ;
[0050](2d2)根据每个粒子的对应选中波段在SVM分类器下的分类性能A (Ci),按下式计算该粒子的适应度值F (i):
[0051 ]
【权利要求】
1.一种基于量子粒子群算法的高光谱图像波段选择方法,包括如下步骤: (1)将输入图像中的每一个像素点用一个特征向量表示,图像中的每一个像素点作为一个样本点,将所有含类别标签的样本点组成训练集T ; (2)假设总波段个数为Nb,将波段选择问题看作一个在二进制Nb维空间的离散组合优化问题,采用量子粒子群算法在二进制Nb维空间中搜索得到最优波段: (2a)初始化当前迭代次数为t = 1,设种群大小为M,种群中的每个粒子对应波段选择问题的一个候选解,对于种群中的每个粒子i = 1,2,....M,初始化粒子的信息: (2al)在(-xmax,Xmax)范围内随机初始化每个粒子位置向量Xi(t),向量的维数为Nb,其中Xmax代表粒子在连续域的取值范围,取Xmax = 10 ; (2a2)由种群内每个粒子的位置向量Xi⑴,计算得到该粒子的初始的编码向量Ci ; (2a3)由每个粒子的编码向量Ci,计算得到该粒子的初始的适应度值F(i); (2a4)初始化种群中每个粒子的局部最优位置向量Pbesti = Xi (t),局部最优编码向量pbest_codei = Ci,和局部最优适应度值 F(Pbesti) = F(i); (2a5)选择粒子种群中适应度值最高的粒子./= ar§ max(F(<:;)),z=l,25...,M,初始化粒子种群的全局最优位置向量gbest为第j个粒子的位置向量Xj(t),即gbest = Xj(t),全局最优编码向量gbest_code为第j个粒子的编码向量C」,即gbest_code = C」,全局最优适应度值F(gbest)为第j个粒子的适应度值F(j),即F(gbest) = F(j); (2b)设定最大迭代次数为Tmax,取Tmax = 300,利用粒子的当前位置向量Xi (t)、局部最优位置向量Pbesti和种群的全局最优位置向量gbest,根据波函数原理采用蒙特卡罗方法对种群中的每个粒子进行更新`,得到每个粒子更新后的位置向量,Xi(t+1),i =I, 2,..., M ;` (2c)由种群内每个粒子更新后的位置向量Xi (t+1),更新该粒子的编码向量Ci ; (2d)由更新后的每个粒子的编码向量Ci',计算该粒子的适应度值F(i); (2e)由每个粒子的适应度值F(i),更新粒子的局部最优位置向量pbestp局部最优编码向量pbesi^codep局部最优适应度值F(Pbesti)、全局最优位置向量gbest、全局最优编码向量gbest_code、全局最优适应度值F(gbest); (2f)判断当前迭代次数t是否达到设定的最大迭代次数Tmax,输出最优波段: 如果当前迭代次数t等于最大迭代次数Tmax,则终止迭代并根据全局最优编码向量gbest_code确定最优的波段,该gbest_code是一个代表着最优波段的二进制串,其每一维对应一个波段,I代表波段被选中,O代表波段被舍去;输出gbeSt_COde中取值为I的维数所对应的波段,即为波段选择输出的最优波段; 如果当前迭代次数t不等于最大迭代次数Tmax,则令t = t+Ι,返回到步骤(2b)。
2.根据权利要求1所述的基于量子粒子群算法的高光谱图像波段选择方法,其中步骤(I)所述的将输入图像中的每一个像素点用一个特征向量表示,是指用像素点在每一个波段的灰度值作为该像素点的一个特征,所有的特征组成一个特征向量。
3.根据权利要求1所述的基于量子粒子群算法的高光谱图像波段选择方法,其中步骤(2a2)所述的由每个粒子的位置向量Xi(t),计算得到该粒子的编码向量Ci,按如下步骤进行:首先,利用下式产生一个(O,I)之间的值S(Xid):
S
4.根据权利要求1所述的基于量子粒子群算法的高光谱图像波段选择方法,其中步骤(2a3)所述的由每个粒子的编码向量Ci计算得到该粒子的适应度值F(i),按如下步骤计算: 首先,计算粒子的编码向量Ci对应的选中波段分类性能A(Ci): 在编码向量Ci中,每一维对应一个波段,I代表波段被选中,O代表波段被舍去,令训练集T在编码向量Ci对应选中波段下的数据为T',利用SVM分类器计算T'进行五倍交叉验证后的平均分类精度,并将其值作为粒子的编码向量Ci对应的选中波段分类性能A(Ci),其中,SVM分类器中的核函数采用的高斯核函数,SVM分类器的惩罚系数取100,高斯核函数的参数Y取I ; 其次,根据每个粒子的对应选中波段在SVM分类器下的分类性能A(Ci),按下式计算该粒子的适应度值F (i):

5.根据权利要求1所述的基于量子粒子群算法的高光谱图像波段选择方法,其中步骤(2b)所述的由粒子的当前位置向量Xi (t)、局部最优位置向量Pbesti和种群的全局最优位置向量gbest,根据波函数原理采用蒙特卡罗方法对种群中的每个粒子进行更新,得到每个粒子更新后的位置向量,Xi (t+1),i = 1,2,...,M,按如下步骤进行: (2bl)根据所有粒子的局部最优位置向量Pbesti,使用下式计算粒子种群的平均位置向量m(t):
6.根据权利要求1所述的基于量子粒子群算法的高光谱图像波段选择方法,其中步骤(2e)所述的由每个粒子的适应度值F(i)更新粒子的局部最优位置向量pbestp局部最优编码向量pbesi^codep局部最优适应度值F(Pbesti)、全局最优位置向量gbest、全局最优编码向量gbest_code、全局最优适应度值F(gbest),按如下步骤进行: 对于种群中的每个粒子i = 1,2,...,M,如果F(i) > F(Pbesti),则更新粒子的局部最优位置向量为Pbesti = Xi (t),更新粒子的局部最优编码向量为PbesLcodei = Ci,更新粒子的局部最优适应度值为F( Pbesti) =F(i);如果F(i) > F(gbest),则更新全局最优位置向量为gbest = Xi (t)、更新全局最优编码向量为gbest_code = Ci,更新全部最优适应度值为 F (gbest) = F(i) ο
【文档编号】G06N3/00GK103714354SQ201410019896
【公开日】2014年4月9日 申请日期:2014年1月16日 优先权日:2014年1月16日
【发明者】张向荣, 焦李成, 袁永福, 李阳阳, 侯彪, 吴家骥, 马文萍, 马晶晶, 李玉芳 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1