基于解混预处理的高光谱目标检测方法*

2019-01-14 03:38郭宝峰卢会敏程康平
火力与指挥控制 2018年12期
关键词:光谱阈值粒子

左 权,王 刚,郭宝峰,卢会敏,程康平

(1.杭州电子科技大学信息与控制研究所,杭州 310018;2.南京长江电子信息产业集团有限公司信号处理研究所,南京 340010)

0 引言

高光谱目标探测技术是高光谱遥感技术应用的一个重要方向,已广泛应用于军用和民用领域。一幅高光谱图像有3个维度,其中包括两个空间维度和一个光谱维度。在高光谱图像中,每一个像元有着连续的数以百计的光谱波段,这些波段的宽度往往10 nm左右,高光谱图像中相同波段的像元组成了二维图像,因此,高光谱图像具备了“图谱合一”这一特性[1-2]。

在过去的几十年中,数种高光谱目标探测算法被提出。其中包括光谱夹角填图(SAM)[3]、约束能量最小算法(CEM)[4]、自适应一致估计(ACE)[5]等。SAM算法在目标探测中是最常见的一种目标探测算法,其利用对比目标光谱和影像中像元的相似度来判断影像中的像元是否为目标。SAM算法有着原理简单、探测速度快等优点。CEM算法源于数字信号处理领域中的线性约束最小方差波束形成器,是一种有限长单位冲激响应滤波器,在仅知道目标光谱的情况下,CEM算法可以有效地对目标进行探测。

以上介绍的经典目标探测算法有一个共同点,在进行目标探测的过程中,仅利用目标光谱这一先验信息,没有充分利用高光谱图像中隐藏的端元信息。Chang在文献[3]中首次提出利用NCLS(Nonnegative Constrained Least Squares)算法来进行目标探测,文献验证了利用解混进行目标探测的可行性,并得出在目标能被当作端元提取时,利用解混目标探测算法的探测效果优于传统的目标探测算法。

本文在文献[3]的基础上提出了一种新的利用解混的目标探测算法,改进的NCLS算法(I-NCLS),解决了文献[3]中如果目标不能当作端元,提取探测效果差这一问题,并利用粒子群算法优化了丰度反演的阈值。模拟的高光谱数据和真实的高光谱数据的实验结果验证了改进算法的有效性。

1 端元提取算法

端元提取算法即提取高光谱影像中的所有端元,I-NCLS算法中采用N-FINDR作为端元提取算法。N-FINDR算法是基于凸面几何的方法寻找影像中的纯像元集[6]。根据凸面几何理论可知,高光谱图像的端元位于图像中所有点构成的凸面单形体的顶点,以端元为顶点的单形体比以其他任何像元为顶点的单形体的体积都要大。算法由一组从降维后数据中随机选取的初始端元开始,在高光谱数据内不断进行单形体体积的“膨胀”。对于每一个端元依次用各个像元将其替代并计算单形体的体积,如果体积增大,则用该像元取代相应端元。重复以上步骤直至没有任何替代能够使单形体的体积增加为止。具体算法如下:

1)对于高光谱数据X∈Rl×n,首先利用端元数目估计算法估算图像中的端元数p。其中l为光谱的波段数,n为图像中的像元总数;

2)使用数据降维方法如PCA变换将高光谱数据降为p-1维;

2 丰度反演算法

最小二乘法是最常用丰度反演算法,按求解过程中加入限制条件的不同可分为无约束最小二乘分解(UCLS)、非负约束的最小二乘分解(NCLS)、和为1约束的最小二乘分解(SCLS)和全约束的最小二乘分解(FCLS)[7]。

实际情况中某一端元在混合像元中所占的百分比不可能为负数,因此,在最小二乘中加入非负约束是十分必要的。非负约束的最小二乘问题用公式描述如下:

其中,优化条件LES为最小二乘残差。M为端元集,c代表像元r对应端元集的丰度,p为端元个数。拉格朗日乘子法无法应用于约束条件为不等式的问题,为了解决非负约束问题可引入一个p维的正值列向量,利用向量y可以得到式(2)的拉格朗日形式:

令c=y并令J对于c的导数为0,可得:

由式(4)可以得到两个迭代方程:

根据式(5)和式(6)可以求得优化解cNCLS和拉格朗日乘子向量。

3 基于解混的目标探测算法

3.1 粒子群算法

粒子群算法 PSO(Particle Swarm Optimization)是由Eberhart和Kennedy于1995年提出的一种新的进化式全局优化技术[8-9],其来源于对鸟群捕食行为的研究。粒子群算法中每个粒子代表N维搜索空间中的一点,被视为优化问题的潜在解。粒子i在t时刻的位置为,速度为。粒子在每次迭代中根据自身历史最优位置和粒子群中全局最优位置所确定的速度更新方向来动态调整速度,如式(7):

式中,右边第2项为“认知部分”,量化粒子对自己历史经验的吸收。右边第3项是“社会部分”,衡量整个粒子群对该粒子的影响[10]。惯性权值ω用来控制之前速度对当前速度的影响,c1和c2是加速度系数,是均匀抽取的随机数,对算法引入不确定性因素。粒子利用更新后的速度和历史位置来实现位置的更新,最优位置由目标函数控制。每个粒子利用群体与自身的经验知识不断拉近当前位置与群体最好位置之间的距离,以此迭代的方式进行直至求得目标函数的全局最优解。

3.2 算法的步骤与实现

I-NCLS算法首先利用端元提取算法提取出影像中的端元,并用已知的目标光谱和端元集进行比对,利用比较目标光谱和各端元的光谱夹角距离找出端元集合中的目标端元。希望目标端元存在于提取出的端元集,但在实际中目标像元存在不能作为端元被提取这种情况。在这种情况下利用比较目标光谱和各端元的光谱夹角距离将找不出目标端元。这时需要将高光谱投影到影像主成分的正交空间以抑制背景信息,此后再进行端元提取,直到提取到的端元与已知目标光谱匹配。在找到目标端元后,利用像元解混算法求取目标端元的丰度图,利用粒子群算法对丰度图阈值的选取进行优化,得到丰度图的最佳分割阈值,经过阈值分割后的丰度图可作为目标探测的结果图。该算法的具体步骤和算法流程如图1所示。

步骤1提取高光谱影像的端元集

为了提取到合适的端元集,采用N-FINDR算法对高光谱影像进行端元提取。用虚拟维度算法对影像进行端元个数估计,通常采用的端元个数将比估计出的个数大,这是为了防遗漏背景端元。

图1 算法流程图

步骤2目标与端元集进行匹配

用光谱夹角作为度量工具来计算目标光谱与端元集中端元的相似度。如果目标端元没有被提取到,这时将高光谱影像投影到影像主成分的正交子空间,用来抑制影像中的背景信息,然后再进行端元提取,直到目标光谱能和提取出的端元集成功匹配。

步骤3丰度反演

利用NCLS算法对目标端元进行分度反演,得到目标端元在影像各像元中的丰度。

步骤4阈值分割

在得到目标端元的丰度图后,不能认为凡是丰度大于0的像元即为目标像元,这样将会造成较多的虚警像元。改进算法在处理阈值问题时引入了粒子群算法。通过利用粒子群优化阈值,可以求得最佳探测效果时的分割阈值。具体操作如下:从高光谱图像中标记处肉眼可见的目标像元,利用粒子群算法对这些像元进行训练。以ROC曲线与坐标轴围成的最大面积作为粒子群算法的优化标准,经过粒子群算法的优化可以求取出一个最佳分割阈值。

4 实验结果与分析

4.1 模拟数据实验

模拟数据采用向真实高光谱图像中添加目标光谱的方法。实验所用数据拍摄于1995年10月的Urban数据,图像大小为307×307,包含210个波段,谱分辨率为10 nm。其第60波段的灰度图如下页图2(a)所示。在实验中,截取该高光谱图像的一部分作为背景图像并向该图像中嵌入不同比例的目标像元。添加位置如图2(b),混合方式为线性叠加。分别以 SAD,CEM,NCLS,I-NCLS算法对上述影像进行探测,其探测结果图如图3所示。ROC曲线[11]如图4所示。

图2 模拟高光谱图像数据

实验中,将I-NCLS算法和传统的SAD算法、CEM算法、NCLS算法的效果进行对比。在实验中,最大端元数p设为4。利用粒子群算法求出新算法丰度反演的阈值为0.123。对比算法的探测结果阈值设为0.20。图3是对模拟影像数据利用改进后算法和CEM算法、SAM算法和NCLS算法进行目标探测后得到的结果图像。

现对模拟数据进行分析,从图3可以看出,在目标完全占据背景像元时,本次实验所用到的探测算法都能将目标像元探测出来,但是随着目标占据背景像元比例的减少,SAM算法和CEM算法很难再将目标像元探测出来,尤其是目标占背景像元的比例降到40%以下时,SAM算法不再能将目标探测出来。而利用解混的I-NCLS算法和NCLS算法因为其能计算出目标占据背景像元的丰度比例,因而能将目标探测出来。I-NCLS算法优化了丰度图的阈值,这使得其探测效果优于NCLS的探测效果。这说明在成功提取目标端元后,利用丰度反演算法得到的探测结果更接近真实的目标地物分布。在利用粒子群算法对丰度反演算法的阈值进行优化后,优化后的探测效果优于人为设定阈值的探测效果。

图3 目标探测输出结果图

图4 仿真实验各探测算法ROC曲线图,虚警率经过log处理

4.2 真实数据实验

真实数据实验采用AVIRIS的Indian Pine数据进行算法验证,该数据为1992年拍摄印第安纳州西北的测试点影像。该影像对目标识别算法要求较高,这是因为各个像素之间光谱分辨率差异较小。该影像尺寸大小为145×145像素,包含16种植被。该地区的单帧高光谱影像如图5(a)所示。本文的实验中,选择编号为16的石塔作为被探测的目标。目标真实地物图如图5(b)。

图5 真实高光谱图像数据

实验中,将I-NCLS算法和传统的SAD算法、CEM算法、NCLS算法的效果进行对比。在实验中,最大端元数p设为16,由于利用端元提取算法没能准确地提取出目标端元,在新算法中,将高光谱图像投影到前3个主成分构成的正交空间中,在对高光谱图像进行投影后,再进行端元提取。利用粒子群算法求出新算法丰度反演的阈值为0.183。对比算法的探测结果阈值设为0.20。下页图6是对模拟影像数据利用改进后算法和CEM算法、SAM算法和NCLS算法进行目标探测后得到的结果图像。

由图6和图7可知,I-NCLS算法的目标探测结果优于CEM和SAM算法,NCLS算法的探测效果最差。由于目标光谱来自于高光谱影像,与其背景差异较小,在进行目标探测时易混淆为背景信息,或背景像元被误认为是目标像元。当影像中包含多种地物时,在对影像进行端元提取时,不能保证将目标端元提取出来,这也就导致了本实验中利用NCLS进行目标探测是探测效果最差。由于高光谱图像前几个特征向量建立的向量空间包含了图像的大部分信息量,可以表征图像上大概率的背景地物,将原始数据投影到它的正交空间,就可以抑制大概率的地物信息,从而突出小概率目标,因此,可以通过抑制大概率的地物信息来提取小概率的目标端元信息。当影像中目标地物占据较大的影像时,利用约束背景能量而凸显目标的CEM算法的探测效果将会变得很差,在I-NCLS算法中,不论目标占据影像的大小,在成功提取目标端元的前提下,其都能保持良好的探测性能。

图6 目标探测输出结果图

图7 仿真实验各探测算法ROC曲线图,虚警率经过log处理

为了考查算法的运算速度,在实验中统计了4种算法的运行时间,如表1所示。可以看到,SAM算法和CEM算法探测耗时较少,利用解混的目标探测算法因为需要进行端元提取和丰度反演操作,故其算法耗时较长。在离线情况下,这种由提高检测率和降低虚警率带来的处理时间增加是可以接受的。

表1 4种算法速度比较结果

5 结论

本文基于高光谱像元解混算法提出了一种新的目标探测算法,算法包含2个部分:目标端元的提取、对目标像元进行丰度反演。新算法利用投影优化了端元提取算法,利用粒子群算法优化了丰度反演算法的阈值。实验证明在直接成功提取目标端元后,I-NCLS算法和NCLS算法优于SAM和CEM算法;在不能直接提取目标端元的情况下,I-NCLS算法能成功提取到目标端元,其探测效果优于SAM与CEM算法,这种探测优势在目标占据较大影像部分时将变得更加明显。

猜你喜欢
光谱阈值粒子
基于三维Saab变换的高光谱图像压缩方法
基于3D-CNN的高光谱遥感图像分类算法
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
改进小波阈值对热泵电机振动信号的去噪研究
一种用于抗体快速分离的嗜硫纳米粒子的制备及表征
问:超对称是什么?
苦味酸与牛血清蛋白相互作用的光谱研究