一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于子空间的高光谱图像波段选择方法与流程

2022-04-30 17:18:18 来源:中国专利 TAG:


1.本发明属于图像处理技术领域,特别涉及一种将最大椭球体积波段选择算法(maximum ellipsoid volume,mev)与序贯前向算法(sequential forward selection,sfs)结合起来进行高光谱波段选择,并利用矩阵子空间及迭代思想来降低计算复杂度的波段选择方法。


背景技术:

2.高光谱图像数据是利用在一定电磁波波长范围内,通过多个不同波长光谱反射带获取的图像数据集,且在每个像元处可以提取一条完整的光谱曲线,其光谱分辨路可达纳米数量级,因此具有丰富的细节信息。而高光谱图像数据处理存在着很多问题,分别从以下三个方面进行分析。首先,高光谱图像的数据量是普通图像的几百倍,而有些处理算法的计算复杂度是随数据大小呈指数增长。其次,由于高光谱图像的光谱分辨率极高,使得其数据量极大并且相邻波段间的相关性极高。最后,根据休斯现象(hughes phenomenon)的描述,在利用机器学习算法进行分类时,在固定数量的训练样本中,分类器的分类精度会随着所使用数据的维度上升而先上升再下降,也称为“维度灾难”。因此,降维技术对高光谱的数据处理显得尤为重要。
3.高光谱图像的降维方法一般分为两类,一类是基于特征提取的方法,例如主成分分析方法((principal component analysis,pca)、独立成分分析(independent component analysis,ica),线性判别分析(linear discriminative analysis,lda)以及近年来出现的基于深度学习的算法。这类降维方法的基础思想是通过映射的方法将原始特征映射到新的特征空间中,因此可有效的提取高光谱图像的重要信息,并且达到降维的目的。但这类方法破坏了原始的物理信息,即经过映射得到的新特征不能很好的反映原始图像的光谱信息,没有实际物理意义。另外一种降维方法是基于特征选择的,又称波段选择方法,即从原始的特征集中选择一个最优的特征子集来表征原始数据。这类方法主要有最大方差主成分分析(maximum variance principal component analysis,mvpca),基于体积梯度的快速波段选择(volume-gradient based band selection,vgbs),基于线性预测的波段选择(linear prediction based band selection,lpbs),基于信息散度的波段选择(information divergence based band selection,idbs),以及经典的最佳指数法(optimal index factor,oif)。这类算法可以有效的保留原始数据的物理意义,同时也更有利于图像的储存和传输工作。
4.传统波段选择方法最大椭球体积波段选择算法(maximum ellipsoid volume,mev),主要思想是选择的波段子集既具有较低的相关性,又具有较高的信息量。由于在高光谱图像的特征空间中方差等于波段协方差矩阵的特征值,那么波段子集搜索时应该以协方差矩阵的特征值的组合为评价指标。mev采用以特征值的乘积作为评判标准,其合理性在于使得波段子集在保证有足够大方差的情况下,降低了波段子集的相关性。但mev算法在拥有几百个波段的高光谱图像数据中时计算复杂度非常高,几乎不可能完成。


技术实现要素:

5.本发明的目的是提供一种基于子空间的高光谱图像波段选择方法,其基于子空间优化的高光谱图像波段选择算法(subspace based band selection,ssbs),利用矩阵子空间来简化协方差矩阵计算的基于最大椭球体积的序贯前向搜索(sequential forward selection-maximum ellipsoid volume,sfs-mev)进行波段选择,克服了传统mev方法计算复杂度高的不足。
6.本发明采用的技术方案为:
7.一种基于子空间的高光谱图像波段选择方法,将最大椭球体积波段选择方法与序贯前向方法结合起来进行波段选择。
8.一种基于子空间的高光谱图像波段选择方法,包括以下步骤:
9.(1)获取原数据x=[x1,x2,......,x
l
],其中xi代表第i个波段对应的光谱图像,一共有l个波段,波段选择数目为n;
[0010]
(2)对x中的每个波段去均值,设置待选择波段集c=x,目标波段子集
[0011]
(3)对于c中的第i个波段,计算将其加入s后所得s的矩阵协方差行列式det(s
t
s),1≤i≤l-k,k为目标波段子集s中的波段数目;对于c中所有l-k个波段,选取对应det(s
t
s)最大的波段作为最优波段,将最优波段加入s中,并将其从c中删除;循环此步骤,循环条件为k《n;
[0012]
(4)步骤(3)循环结束后,输出最终的目标波段子集s,完成波段选择。
[0013]
进一步的,步骤(3)中,矩阵协方差行列式det(s
t
s)的计算方式为:
[0014]
循环初始,对所有波段计算协方差,生成索引矩阵maxc;
[0015]
循环过程中,通过索引maxc重构任意波段子集的协方差矩阵;具体方式为:
[0016]
根据矩阵行列式计算理论,得到其中,每次循环都是在上一次循环的基础上增加一个波段,第k 1次循环中,计算行列式det(b
k 1
)时,det(bk)已知,即为上次循环的结果,则第k 1次循环只需计算对于矩阵逆由矩阵求逆理论得:
[0017]
其中,
[0018]
在新一轮的循环中,通过上式求出此轮循环对应的逆,从而降低计算复杂度。
[0019]
本发明的有益效果是:
[0020]
1、本发明提出了一种基于子空间的高光谱图像波段选择方法(以下简称ssbs),其将mev与sfs结合起来进行波段选择,同时利用矩阵子空间的特点以及迭代思想,避免了重复计算矩阵的协方差、行列式以及逆。
[0021]
2、本发明有效降低了计算复杂度,缩短计算时间。并且,对于分类任务,ssbs可以用更少的处理时间获取较高的分类任务精度,是一种有效而快速的波段选择方法。
附图说明
[0022]
图1为本发明实施例方法的流程图。
[0023]
图2为本发明方法与现有技术的计算复杂度随总波段数理论变化趋势图。
[0024]
图3为本发明方法与现有技术的计算复杂度降低倍数随总波段数理论变化趋势图。
[0025]
图4为本发明方法与现有技术的计算复杂度随目标波段数理论变化趋势图。
[0026]
图5为本发明方法与现有技术的计算复杂度降低倍数随目标波段数理论变化趋势图。
[0027]
图6为本发明方法与现有技术的实际耗时随目标波段数变化趋势图。
[0028]
图7为本发明方法与现有技术的实际耗时加速倍数随目标波段数变化趋势图。
[0029]
图8为本发明方法与现有技术的分类精度随目标波段数变化趋势图。
[0030]
图9为本发明方法与现有技术的最佳分类精度及其波段处理时间综合柱状图。
具体实施方式
[0031]
下面结合附图对本发明做更详细的描述。
[0032]
一种基于子空间的高光谱图像波段选择方法,该方法通过将最大椭球体积波段选择算法与序贯前向算法结合起来进行波段选择方法,同时利用矩阵子空间的特点以及迭代思想来大幅度降低运算过程中矩阵协方差以及求逆的运算复杂度,缩短计算时间。
[0033]
如图1所示,该方法的步骤如下:
[0034]
1.输入:原数据x=[x1,x2,......,x
l
],其中xi代表第i个波段对应的光谱图像,一共有l个波段,波段选择数目为n。
[0035]
2.初始化参数:对x中的每个波段去均值,待选择波段集c=x,目标波段子集
[0036]
3.对于c中的第i个波段,计算将其加入s后所得s的矩阵协方差行列式det(s
t
s),1≤i≤l-k,k为目标波段子集s中的波段数目;对于c中所有l-k个波段,选取对应det(s
t
s)最大的波段作为最优波段,将最优波段加入s中,并将其从c中删除;循环此步骤,循环条件为k《n;
[0037]
4.输出:步骤(3)循环结束后,输出最终的目标波段子集s,完成波段选择。
[0038]
该方法中,步骤3需要多次计算det(s
t
s)。为此,可利用ssbs算法通过矩阵子空间来降低算法的复杂度,主要的优化方式如下:
[0039]
a.优化计算协方差矩阵s
ts[0040]
在循环开始时,对所有波段计算一次协方差矩阵,即将每两个波段的协方差求出来存在协方差矩阵中,称之为maxc。在迭代的时候通过索引maxc就可以重构任意波段子集的协方差矩阵。由于矩阵索引的计算复杂度为o(1),所以可以有效降低计算复杂度。以一个三波段数据为例:
[0041][0042]
计算其对应的maxc:
[0043][0044]
b.优化计算协方差矩阵行列式det(s
t
s)
[0045]
根据矩阵行列式理论可知:
[0046][0047]
其中,sk=[x1,x2,.......xk],],s
k 1
=[x1,x2,......xk,x
k 1
]。
[0048]
ssbs算法中的每次循环迭代都是在上一次迭代的基础上增加一个波段,在第k 1次迭代中,每次计算行列式时,det(bk)为上次迭代的结果,只需计算ak和dk可以直接从步骤a中计算出的索引矩阵maxc中取出。但直接计算k阶矩阵逆的计算复杂度为o(k3),会存在较大计算量。
[0049]
c.优化计算
[0050]
根据矩阵求逆理论可知:
[0051][0052]
其中:
[0053]
对于新一轮的循环,ak和dk可以直接从步骤a中计算出的索引矩阵maxc中取出,代入以上公式,即可求出其对应的逆,而不需要用计算复杂度为o(k3)的方法求逆。
[0054]
本方法将mev与sfs结合起来进行波段选择,同时利用矩阵子空间的特点以及迭代思想,避免了重复计算矩阵的协方差,行列式以及逆。其计算复杂度分析如下:
[0055]
以浮点数计算作为评价标准,即算法的乘法次数。假设总波段数为l,像元数为n,目标波段数为n。ssbs算法首先计算协方差矩阵,计算协方差矩阵可以用2l^3的计算量完成。每一步计算都会计算超椭球的高,其计算量为2(k-1)2,每轮迭代完成后计算协方差矩阵的逆,计算量为3k(k-1),所以总的计算复杂度为
[0056]
可见,该方法有效降低了计算复杂度,缩短计算时间。
[0057]
以下为一个更具体的例子:
[0058]
采用matlab实现上述方法,伪代码如下所示:
[0059]
1.输入:原数据x=[x1,x2,......,x
l
],其中xi代表第i个波段对应的光谱图像,一共有l个波段,波段选择数目为n。
[0060]
2.初始化参数:对x中的每个波段去均值,待选择波段集c=x,目标波段子集对所有波段计算一次协方差矩阵maxc=x
t
x。
[0061]
3.从c中选择一个最优波段加入s,并且将其从c中删除。目标波段子集中波段数目为k,具体步骤为:
[0062]
while k<n
[0063]
for i=1:l-k
[0064]
a.将c中ith波段加入到s中
[0065]
b.计算ith对应s的det(s
t
s)
[0066]
end
[0067]
选择使det(s
t
s)最大的波段,并加入s并将其从c中删除
[0068]
k=k 1
[0069]
4.输出:s
[0070]
上述det(s
t
s)简化计算的matlab风格伪代码为:
[0071]
1.初始化参数:以及
[0072]
2.for k=1:i-1
[0073]
a.
[0074]
b.
[0075]
end
[0076]
其中,ak和dk以直接从步骤a中计的索引矩阵maxc中取出,以直接从步骤a中计的索引矩阵maxc中取出,
[0077]
为了说明本方法的有效性,可进行如下实验论证:
[0078]
1.仿真条件:
[0079]
在中央处理器intel(r)core(tm)i5-5200cpu 2.20ghz、内存4g、windows 10操作系统上,运用matlab软件进行的仿真。
[0080]
2.仿真内容:
[0081]
通过将ssbs与vgbs、lpbs做对比,比较其各个算法的理论计算复杂度,实际耗时以及ssbs加速情况。然后通过aviris获取的indian pines数据测试上述几种算法实际耗时的分类精度,以及最佳分类精度波段子集的选择时间。
[0082]
首先,测试三种算法的计算复杂度与各变量之间的关系,并对每种情况下的三种算法进行对比。图2所示为计算复杂度随总波段数增加理论变化趋势,设置目标波段数为20,纵坐标为各算法的计算复杂度理论值,横坐标为波段总数。由图2可看出,三种方法的计算复杂度均随着波段总数的增加而增长。同时,ssbs的计算复杂度要远低于其他两种方法。图3所示为计算复杂度随总波段数变化降低倍数,设置目标波段数为20。相同的总波段下,其纵轴数值越高,则表明ssbs的计算复杂度比其他对应的方法越低。图4所示为计算复杂度随目标波段数增加理论变化趋势分析,设置总波段数为185,纵坐标为各算法的计算复杂度理论值,横坐标为目标波段数。由图4可看出,ssbs的计算复杂度要远低于其他两种方法。ssbs可以有效的降低计算复杂度,且随着总波段数目增加和目标波段数目增加计算复杂度逐渐上升。图5所示为计算复杂度降低倍数随目标波段数理论变化趋势图,设置总波段数为185。相同的目标波段下,其纵轴数值越高,则表明ssbs的计算复杂度比其他对应的方法越低。
[0083]
其次,通过将三种算法分别在indian pines数据上运行,测试每种算法波段选择的实际消耗时间与各变量之间的关系。在处理前手动去除了indian pines数据的噪声波段,去除的波段序号为(1-3,103-112,148-165,217-220),最终进行实验分析的波段数目为185。
[0084]
图6所示为实际耗时随目标波段数的变化趋势。纵坐标为各算法的实际耗时,横坐标为目标波段数。由图6可看出,ssbs的实际耗时远低于其他两种方法。图7所示为ssbs算法对比其它两种算法的实际耗时随目标波段数变化加速倍数,实验条件同图6。其纵轴数值越高,则表明ssbs的实际耗时比其他对应的方法越短。由图7可见,ssbs算法有效的将计算时间压缩了一个数量级,加速倍数明显。
[0085]
接下来测试每种算法对indian pines数据波段选择后的分类精度与目标波段数的关系。这里采用svm分类器,选择径向基函数为核函数,且训练数据为75%,验证数据25%,多分类策略为一对一投票法,评价标准为多分类的分类精度。由图8可知,ssbs在目标波段数目较少时(n=10)就可以达到很高的分类精度,而vgbs则需要在n=30时才可以达到最佳分类精度,说明ssbs在最初几次的迭代中就可以将最有利于数据分类的波段加入到目标子集中。图9所示为最佳分类精度及其波段处理时间的综合柱状图。由图9可知,为了达到最佳分类精度,ssbs算法相较于其它两个算法有明显的速度优势,可以加速一个数量级,且三个算法中,最佳分类精度为vgbs的79.22%,而ssbs算法的分类精度也达到了78.96%,只降低了0.26%的分类精度,但是将速度提升十几倍。
[0086]
总之,本发明提出了基于子空间的高光谱图像波段选择方法,能够对高光谱图像进行特征波段提取,消除冗余波段,并通过使用优化算法,降低计算复杂度,缩短计算时间。对于分类任务,应用本发明方法可以提高分类精度;对于反演任务,应用本发明方法可以高效建立反演模型,提高反演模型精度。同时,本方法实现简单,具有计算高效的特点。
[0087]
需要说明的是,本发明不受上述实施例的限制,上述实施例和说明书中描述的知识说明本发明的原理,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等修饰或改变,仍应由本发明的权利要求所涵盖。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献