1. 引言
高光谱数据量庞大、计算复杂 [1] [2] ,数据降维不仅能提高算法的实时性,且能解决维度灾难问题 [3] ,提高目标检测的检出率 [4] ,是一种有效的高光谱处理手段。目前常用的数据降维方法有两种:特征提取法 [5] 和波段选择法 [6] 。特征提取法按照一定的准则,把原数据变换、投影到另一个特征空间中,大部分信息集中在变换后空间的低维度,但是在该变换中高光谱数据已经丢失了原有的物理意义 [7] 。波段选择法则按照一定的原则,选取最优的便于后续目标检测和物质分类的波段组合 [8] 。经典数据降维算法有自动子空间划分、最佳指数法、波段指数法,自适应波段选择法(adaptive band selection) [9] 等。本文基于信息熵和巴氏系数,在OIF和ASP算法基础上提出BSEF和BERF算法。
2. 基本算法
2.1. 自动子空间划分(Automatic Subspace Partition, ASP)
准确来说,ASP并不是一种数据降维方法,而是一种波段分块的辅助手段。高光谱数据中波段越接近,波段之间相关性越强,反之,波段间相关性越弱,根据波段的这一性质,可以对高光谱波段进行区块划分。设一高光谱数据集S大小为
,r为行数,c为列数,n为波段数。列向量bi表示第i波段
的图像数据,则S可写成
。则第i和第j波段间的相关系数可由下式得到:
(1)
根据上式可得到一个
的相关系数矩阵R:
(2)
根据相邻波段之间相关性的强弱,设定阈值,可以对高光谱波段进行自动子空间划分。相邻波段相关性为:
(3)
2.2. 最佳指数法(Optimum Index Factor, OIF)
1982年,Chaces等提出了最佳指数法。该方法完全遵守波段选择的原则,平衡信息量和相关性,原理简单,容易理解。OIF算法如公式(4)所示:
(4)
其中,Ii为第i个波段的标准差,如公式(5)所示;Ri,j表示两光谱波段之间的相关系数,如公式(6)所示。p值为降维后波段数,在实际的应用中,p值一般为3~5,在该论文中我们取p = 3。
(5)
(6)
公式(5)中,r表示高光谱数据行数,c表示列数;
表示第i个波段的反射率,
表示第i个波段的反射率均值,计算公式如(7)所示。
(7)
2.3. 信息熵
香农把熵的概念引入信息论提出信息熵,才第一次可以用数学语言定量分析信息的多少。信息熵的计算公式如下:
(8)
(9)
i代表某个事件,p(i)代表事件i出现的概率。其中,对数的底一般为2或10,在该论文中,我们以10为底。信息熵是为表示信息量的多少而产生的,相较于特征值更具有说服力,且信息熵已形成一个完整的体系,便于算法的进一步完善、改进。
2.4. 巴氏系数
巴氏系数常用来测量两离散数据概率分布,也可用来计算两组数据之间的相关性。巴氏系数公式如(10)所示:
(10)
(11)
(12)
两个数组被分成相同的n块,p(i)和q(i)分别表示在两个数组中第i块数据中数据个数占总数据量的概率。分成的数据块不重叠,且包含数据中所有数据。
3. BSEF算法
3.1. BSEF算法的提出
基于波段选择的高光谱数据降维基于两个重要准则:1) 选择波段的信息量大;2) 所选波段之间相关性弱。最佳指数法综合考虑上述两个原则,既能选出信息量大的波段,同时避免波段之间信息量的重复性,综合了基于信息量和基于相关性波段选择方法的优势;但是,OIF算法使用穷举法,计算量大,不符合实时性的要求。因此为了得到一种有效的实时性波段选择方法,本文在OIF算法的基础上引入信息熵和巴氏系数,提出了一种基于子空间和信息熵因子(Based on Subspace and Entropy Factor, BSEF)的方法,BSEF算法波段选择步骤如下:
第(1)步:高光谱影像波段子空间划分;使用ASP方法对原始数据进行波段子空间划分,将具有相似光谱特征的波段归到同一子空间。
第(2)步:计算各个波段的信息熵并求出ASP各个波段区间内最优波段;对光谱进行归一化处理,使折射率在[0-1]之间,然后把[0-1]分成m等分,例如10等份,从0开始,依次为[0-0.1], [0.1-0.2], …[0.9-1],计算各个波段在10等分区间内像元的个数,从而计算出各个区间出现的概率,根据信息熵公式,求出各个波段的信息熵。并在各个ASP区间内找出信息熵最大的波段。
第(3)步:求出最优波段之间的相似性。根据公式(13)计算步骤(2)中所选波段之间的相关性。
(13)
第(4)步:利用改进后的最佳波段指数OIF选取最佳的3个波段。改进的OIF算法如下:
(14)
H(i)代表选取波段的信息熵,p代表选取波段的个数。在实际的数据降维中,一般选取3-5个波段,在本文中,我们选取3个波段。与OIF降维方法相比,对波段块中信息量最大的波段进行组合,大大降低了组合的可能性,从而降低了数据降维时间。算法流程图如图1所示。
3.2. 试验及结果分析
美国圣迭戈海军机场的高光谱图像数据是标准的AVIRIS数据,该高光谱数据大小为
,波长从370 nm延伸至2510 nm,空间分辨率达20 m,光谱分辨率达10 nm。美国圣迭戈海军机场彩色图像如图2所示。
我们感兴趣的3个飞机A1、A2、A3在图2的白框中,故截取图2所示的白框中部分做为实验数据。截取部分图像数据大小为
。其中存在被损坏波段,损坏波段为:107-113,153-166,224,实验时要剔除上述波段,修正后数据大小为
。截取部分图像和3个飞机所在位置如图3所示。
Figure 1. Flow chart of BSEF algorithm
图1. BSEF算法流程图
Figure 3. Area image containing the target
图3. 包含目标的区域图像
对于图3所示图像,使用不同降维方法进行数据降维:基于信息熵的波段选择、基于特征值的波段选择、OIF算法、PCA变换和BSEF算法。分别记录选取波段和运行时间。因为PCA变换改变了数据原有物理意义,故只给出运行时间。波段间相关性依次为第一波段和第二波段、第一波段和第三波段、第二波段和第三波段之间的相关系数。不同降维方法的相关信息如表1所示。
Table 1. Selection results of different band selection methods
表1. 不同波段选择方法选择结果
基于信息熵和基于方差的波段选择方法是基于信息量的波段选择方法,分别使用方差和信息熵来衡量信息量的多少。因为只考虑信息量的多少,并不考虑波段之间的相关性,故选择出的波段相近,分别为[148, 149, 150]、[117, 119, 120],波段之间相关性太强,出现信息冗余。OIF算法选择出的波段中,第16和181波段、第17和181波段之间相关性非常低,但是穷举法计算量太大,耗时太长,大大超过其它算法的运行时间。在本文中,数据降维的目的之一是提高算法的实时性,故OIF算法不再出现在后续的讨论中。本文提出的BSEF算法选出波段之间的相关性较弱,且运行时间相比其它算法可以接受。
波段选择的目的是为了目标检测,降维不仅要提高算法的实时性,还要保证算法的检测效果。排除OIF算法,使用其余四种降维方法的结果进行异常目标检测,并与直接RX检测做对比。此处,设阈值为0.25,对检测结果进行阈值分割。五种方法的检测结果如图4所示。
分析上图检测结果,BSEF-RX的检测结果对机场有很好的抑制作用,RX算法和PCA-RX对机场也有一定的抑制作用,基于信息熵和方差的波段选择方法选出的波段不仅不能有效抑制机场背景,反而弱化了飞机目标,尤其是图4(a)的检测结果,目标A2和A3完全隐藏在背景中;图4(b)的检测结果对机场轮廓线有很强的增强作用,目标飞机只有主体部分得到增强,飞机翅膀被抑制不可见;图4(c)对飞机有增强作用,但出现三个异常斑块和少量异常点;图4(d)对飞机目标A3有很好的检测作用,其它算法均不能检测出完整的机体,这是该算法的优异之处,但目标A3的右翅膀不能被检出,相比于图4(c),图4(d)中没有异常点,但是多了一个斑块;图4(e)对目标A2有最好的检出效果,对于A1,则丢失两个翅膀,A3检出效果只弱于图4(d),从图中可以看出,该算法对背景有很的抑制效果。总体来说BSEF-RX的检出率最高、虚警率最低。
为定性、定量分析上述5种算法,根据图5检测结果画出ROC曲线,并计算AUC值。ROC曲线如图5所示,AUC值如表2所示。
AUC值表示ROC曲线下的面积,AUC值越大,表示算法检测效率越高。表2中不同算法AUC值与图4检测结果、图5中ROC曲线一致;四种算法的检测效果由好到坏依次为:BSEF-RX算法、PCA-RX算法、RX算法、XinxiShang-RX算法和FangCha-RX算法。
Figure 5. ROC curves of different algorithms
图5. 不同算法检测结果ROC曲线
Table 2. Performance parameters of different algorithms
表2. 不同算法性能参数
根据不同算法的检测结果可知,BSEF算法选择的波段组合可以有效提高算法实时性,可降低运行时间至直接RX检测的1/4,同时提高算法的检出率,降低虚警率。
4. BERF算法
4.1. BERF算法的提出
上面提出的BSEF的算法,在异常目标检测中证明了其价值,需要注意的是,可以进行异常目标检测的高光谱图像中的背景都比较单一,背景与目标的光谱差距较大,3~5个光谱可以提取重要的信息;但是在有监督目标检测中,3~5个光谱并不能很好地提取给定目标的特征波段,因此BSEF算法在有监督目标检测中的结果有时是不可靠的。
为了适用于有监督目标检测,我们提出另一种基于信息熵和相关系数因子的数据降维方法(Based Entropy and Relevance Factor, BERF)。该方法在BSEF方法的基础上改善而成。因为BSEF方法是基于OIF算法,因此BSEF方法可以选择的波段数有限,为了突破BSEF方法对波段数的限制我们放弃OIF模型。
在波段块划分的过程中,会出现光谱波段分隔波段点,这些波段点之间的相关系数比较低,可看作基于相关性的波段选择结果;在每个波段块之间选出信息熵最大的波段,这些波段既保证相对丰裕的信息量,又保证了波段之间的弱相关性,可看作基于信息量大小的波段选择结果;把上述两个步骤选取的结果合并起来,即为最终波段选择结果。
BERF算法的步骤如下:
波段分隔点。计算相邻波段之间的相关系数,得到一条曲线,找到曲线中的极小值点,记录下对应的波段,此即为波段分隔点。
计算各个波段的信息熵。对于每个波段,光谱数据值划分成8等分:[0-0.125]、[0.125-0.250]、[0.250-0.375]、[0.375-0.500]、[0.500-0.625]、[0.625-0.750]、[0.750-0.875]、[0.875-1.000],分别计算各个波段在每个区间内的概率。根据信息熵公式,求出各个波段的信息熵。
寻找波段块中信息量最大的波段。在每相邻两个波段分隔点之间找到信息熵最大的波段。注意,两个波段分隔点不计入比较。
把步骤(1)、(3)选择的波段汇集在一起,由小到大排列,即为最终波段选择的结果,注意,此处需要加入第一波段和最后的波段。
根据上述步骤,可得如图6所示流程图。
Figure 6. Flow chart of BERF algorithm
图6. BERF算法流程图
4.2. BERF降维实验
实验中所用高光谱数据来自美国RIT (Rochester Institute of Technology, RIT)大学的高光谱目标检测项目。高光谱图像数据大小为
,波长范围为453~2496 nm。高光谱图像全景如图7所示。
其中存在感兴趣目标的区域如图8(a)所示,目标图像如图8(b)所示。目标为一红色纺织品。
(a) 感兴趣区域 (b) 目标图像
Figure 8. Image: Targetand region of interest
图8. 目标和感兴趣区域图像
分别使用ACE算法、CEM算法、BSEF-CEM算法和BERF-CEM对目标进行检测,检测结果如图9所示。
由图9(c)可知,BSEF算法只提取3个波段,不能很好地提取完整的特征波段,不但不能检测出目标,反而把背景误认为目标;图9(a)表明ACE算法对背景的抑制效果最好,但是对目标四周的背景增强效果太大,导致检测出的目标像元多于实际目标像元;图9(b)表明CEM对背景有较好的抑制效果,检测效果最好;图9(d)表明经BERF选择的波段可以较好地检测出目标,但是仔细看三维结果图可知,检测结果对背景的抑制效果弱于ACE算法和CEM算法,在图像边缘处输出值较高;需要注意的是图9(d)中目标旁边的异常点受到抑制,其输出值明显小于ACE和CEM算法的输出值。对于上述算法,计算AUC值和算法运行时间,定量分析算法的优劣性。AUC值及运行时间如表3所示。
Table 3. Performance value of different algorithms
表3. 不同算法性能值
由表3中的AUC值一项可知,除了BSEF降维后的CEM算法效果不佳外,其余三种算法检测效果由好到差依次为:CEM算法、经BERF降维后的CEM算法、ACE算法,但是三种算法的检测效果基本没有差异;至于运行时间,ACE算法耗时最长,BSEF降维后的CEM算法用时最短,但因其检测效果太差,仅仅降低运行时间无意义;经BERF降维后的CEM算法的运行时间约为直接CEM算法的三分之一。实验证明,本文提出的BERF算法可以有效提取特征波段,降低有监督目标检测时间至直接检测运行时间的三分之一。
5. 结论
由于高光谱图像波段多、数据量大、冗余量大,给目标检测及其它后续操作带来了不便。本文提出的方法利用ASP方法,实现了子空间的自动划分,然后利用信息熵在每个子空间内选择信息量最大的波段,使用巴氏系数评估波段之间的相关性,在波段间相似性小的基础上对波段进行组合选择,最终提出BSEF算法提高无监督目标检测的效率;在BSEF基础上,提出BERF算法用于提高有监督目标检测效率。BSEF可降低算法运行时间至原来的四分之一,BERF可降低算法运行时间至原来的三分之一,这两种方法在高光谱遥感图像波段选择及目标快速检测方面具有研究意义和应用价值。