主权项 |
一种基于量子粒子群算法的高光谱图像波段选择方法,包括如下步骤:(1)将输入图像中的每一个像素点用一个特征向量表示,图像中的每一个像素点作为一个样本点,将所有含类别标签的样本点组成训练集T;(2)假设总波段个数为N<sub>b</sub>,将波段选择问题看作一个在二进制N<sub>b</sub>维空间的离散组合优化问题,采用量子粒子群算法在二进制N<sub>b</sub>维空间中搜索得到最优波段:(2a)初始化当前迭代次数为t=1,设种群大小为M,种群中的每个粒子对应波段选择问题的一个候选解,对于种群中的每个粒子i=1,2,....M,初始化粒子的信息:(2a1)在(‑x<sub>max</sub>,x<sub>max</sub>)范围内随机初始化每个粒子位置向量X<sub>i</sub>(t),向量的维数为N<sub>b</sub>,其中x<sub>max</sub>代表粒子在连续域的取值范围,取x<sub>max</sub>=10;(2a2)由种群内每个粒子的位置向量X<sub>i</sub>(t),计算得到该粒子的初始的编码向量C<sub>i</sub>;(2a3)由每个粒子的编码向量C<sub>i</sub>,计算得到该粒子的初始的适应度值F(i);(2a4)初始化种群中每个粒子的局部最优位置向量pbest<sub>i</sub>=X<sub>i</sub>(t),局部最优编码向量pbest_code<sub>i</sub>=C<sub>i</sub>,和局部最优适应度值F(pbest<sub>i</sub>)=F(i);(2a5)选择粒子种群中适应度值最高的粒子<img file="FDA0001019614340000011.GIF" wi="730" he="86" />初始化粒子种群的全局最优位置向量gbest为第j个粒子的位置向量X<sub>j</sub>(t),即gbest=X<sub>j</sub>(t),全局最优编码向量gbest_code为第j个粒子的编码向量C<sub>j</sub>,即gbest_code=C<sub>j</sub>,全局最优适应度值F(gbest)为第j个粒子的适应度值F(j),即F(gbest)=F(j);(2b)设定最大迭代次数为T<sub>max</sub>,取T<sub>max</sub>=300,利用粒子的当前位置向量X<sub>i</sub>(t)、局部最优位置向量pbest<sub>i</sub>和种群的全局最优位置向量gbest,根据波函数原理采用蒙特卡罗方法对种群中的每个粒子进行更新,得到每个粒子更新后的位置向量:X<sub>i</sub>(t+1),i=1,2,...,M;(2c)由种群内每个粒子更新后的位置向量X<sub>i</sub>(t+1),更新该粒子的编码向量C<sub>i</sub>;(2d)由更新后的每个粒子的编码向量C<sub>i</sub>',计算该粒子的适应度值F(i);(2e)由每个粒子的适应度值F(i),更新粒子的局部最优位置向量pbest<sub>i</sub>、局部最优编码向量pbest_code<sub>i</sub>、局部最优适应度值F(pbest<sub>i</sub>)、全局最优位置向量gbest、全局最优编码向量gbest_code、全局最优适应度值F(gbest);(2f)判断当前迭代次数t是否达到设定的最大迭代次数T<sub>max</sub>,输出最优波段:如果当前迭代次数t等于最大迭代次数T<sub>max</sub>,则终止迭代并根据全局最优编码向量gbest_code确定最优的波段,该gbest_code是一个代表着最优波段的二进制串,其每一维对应一个波段,1代表波段被选中,0代表波段被舍去;输出gbest_code中取值为1的维数所对应的波段,即为波段选择输出的最优波段;如果当前迭代次数t不等于最大迭代次数T<sub>max</sub>,则令t=t+1,返回到步骤(2b)。 |