一种改进的高光谱图像CEM目标检测算法
An Improved CEM Target Detection Algorithm for Hyperspectral Images
DOI: 10.12677/APP.2019.92007, PDF, HTML, XML, 下载: 807  浏览: 3,390 
作者: 付铜铜*, 付小宁:西安电子科技大学,陕西 西安
关键词: 高光谱图像光谱重排CEM算法目标检测 Hyperspectral Image Spectral Rearrangement CEM Algorithm Target Detection
摘要: 约束能量最小化(Constrained Energy Minimization, CEM)目标检测算法广泛应用于高光谱目标检测中。本文在分析CEM算法的推导过程后,发现图像像元的选择,可以改善自相关系数,因此提出一种改进的CEM目标检测算法。该方法首先对高光谱数据集进行光谱重排、一阶微分,增加目标与背景的差异性;计算目标光谱与数据集中光谱点的相似度,求取CEM算法的自相关矩阵时去除与目标相似度高的像元,减少自相关矩阵对目标的抑制。为进一步抑制背景,增加算法的普适性,加入对数算子。最后对合成高光谱数据和真实高光谱数据进行试验,结果表明,与传统算法相比,提出的算法可以对伪装目标进行有效识别,而且对小目标和大面积目标检测都具有适用性。
Abstract: Target detection algorithm based on constrained energy minimization (CEM) is widely used in hyperspectral target detection. An improved CEM target detection algorithm is proposed. In this method, spectral reordering and first order derivation of hyperspectral data sets are firstly used to increase the difference between target and background. The similarity between target spectral and spectral points of data set is calculated, and the pixels with high similarity are removed when the autocorrelation matrix of CEM algorithm is obtained with the suppression of target by autocorrelation matrix reduced. To further suppress the background, a logarithmic operator is added. Finally, experiments on synthetic hyperspectral data and real hyperspectral data show that the proposed algorithm can recognize camouflaged targets effectively, and is applicable to small targets and large area targets detection.
文章引用:付铜铜, 付小宁. 一种改进的高光谱图像CEM目标检测算法[J]. 应用物理, 2019, 9(2): 63-70. https://doi.org/10.12677/APP.2019.92007

1. 引言

高光谱遥感技术获得物质连续的光谱曲线,具有“光谱合一”的特点 [1] ,被列为遥感技术在20世纪三个最显著的进展之一 [2] [3] 。高光谱技术广泛应用于目标检测。根据先验经验是否可知,目标检测方法可分为有监督检测和无监督检测。无监督目标检测中经典算法为RX算法。文献 [4] 在RX中加入核函数提出一种非线性的异常目标检测算法:KRX (Kernel RX, KRX)算法。有监督目标检测中经典算法为CEM算法和自适应余弦一致性估计(Adaptive cosine Consistency Estimation, ACE)算法。文献 [5] 提出一种加权ACE算法。文献 [6] 提出一种基于双时间段检测的CEM算法。本文通过研究CEM算法,通过改善自相关矩阵及加入对数算子,提出一种不仅适用于大面积目标而且适用于小目标的改进的CEM (Modified Constrained Energy Minimization, MCEM)算法。

2. CEM算法

1993年Halsayi [7] 提出了CEM算法。它使用一个有限的脉冲响应(Finite impulse response, FIR)来限制目标光谱,同时保证滤波器的输出能量最小。对于一个高光谱数据集 S = [ r 1 , r 2 , r 3 , , r N ] ,每个像元的光谱矢量为 r i = [ r i 1 , r i 2 , r i 3 , , r i L ] T ,其中N为高光谱数据集中像元总数目,L为波段数。我们的目的是设计一个线性滤波器 w = [ w 1 , w 2 , w 3 , , w L ] T ,它保证目标光谱的输出为1,同时限制背景输出最小。

{ min w 1 N ( i = 1 N y i 2 ) = min w w T R w d T w = 1 (1)

其中 d = [ d 1 , d 2 , d 3 , , d L ] T 表示目标先验光谱矢量, y i = w T r i 表示每个像元通过滤波器后的输出, R = ( i = 1 N r i r i T ) / N 。该最小值问题的解决方法即CEM算子:

D C E M = R 1 d d T R 1 d (2)

3. 改进的CEM算法

分析CEM算子可知,影响检测结果的量只有两个:目标先验光谱适量 d 和自相关矩阵 R ,当给定 d 后,自相关矩阵 R 的准确度直接影响算法的精确度。研究CEM算子的推导过程的两个约束条件可知, R 是为了限制背景的输出,它由背景像元光谱求出。然而CEM算子在计算 R 时把目标也计入其中,从而导致算子对目标的抑制。如果把疑似目标剥离 R 的计算,那么我们就能得到更加精确有效的检测结果。在确定疑似目标过程中,往往会把非目标当做目标,算子对这些像元就会有一定的增强。为了抑制这些像元,我们加入对数算子,对背景进行进一步抑制。至此,本文提出一种改进后的CEM算法:MCEM算法。步骤如下:

1) 光谱重排可以增加变化趋势相似的光谱曲线的差异性 [8] 。对给定目标光谱d进行单调递增(递减)进行排序,数据集中所有像元按照d的排序方式进行重新排序。目标光谱重排后变为 d * = [ d k 1 , d k 2 , d k 3 , , d k L ] T ,其它像元重排后变为 r i * = [ r i k 1 , r i k 2 , r i k 3 , , r i k L ] T

2) 一阶微分可以反应光谱曲线的斜率及斜率变化情况,从而增强光谱曲线在坡度上的差异性 [9] 。一阶微分对大气效应也有一定的抑制作用。目标光谱和像元光谱一阶微分计算公式如(4) (5)所示。

d L 1 = [ d k 2 d k 1 , d k 3 d k 2 , d k 4 d k 3 , , d k L d k L 1 ] T (4)

r i L 1 = [ r i k 2 r i k 1 , r i k 3 r i k 2 , r i k 4 r i k 3 , , r i k L r i k L 1 ] T (5)

3) 计算一阶微分处理后的目标光谱与各个像元光谱的相似度。此处使用余弦值度量光谱之间的相似性。目标与第i个像元之间余弦值计算公式如(6)所示。

s i m i , d = ( d L 1 ) T r i L 1 d L 1 r i L 1 (6)

4) 对计算后的相似度值进行由大到小排序,设置阈值th。在计算自相关矩阵 R = ( i = 1 N r i r i T ) / N 时,相似度值最大为 s i m max ,相似度在 [ s i m max t h , s i m max ] 之间的像元点不计入计算之内。当 s i m max s i m i , d 大于 t h 时,分界相似度值 T H = s i m i , d 。从而求得改进后的自相关矩阵 R *

5) 只有当目标在数据集中的量较大时,修正后的自相关矩阵 R * 才能更好地对背景进行抑制,当目标在数据集中只占由少量像元,甚至仅有一个像元时,修正后的自相关矩阵 R * R 几乎没有差别,对背景没有显著抑制作用,结果与CEM算法没有什么差别。为进一步抑制背景,我们引入对数算子 log T H s i m i , d

此时改进的CEM算法MCEM算法如公式(7)所示:

D MCEM = log T H s i m i , d R * 1 d d T R * 1 d (7)

根据上述算法步骤,算法流程图如图1所示。

4. 试验及结果分析

将提出的MCEM算法与CEM算法、ACE算法和RX算法进行比较,来验证提出算法的优越性。实验中所用高光谱数据来自美国RIT (Rochester Institute of Technology, RIT)大学的高光谱目标检测项目。高光谱图像大小为280 *800,包含126个波段,光谱范围为400~2500 nm。高光谱图像全景如图2所示。

4.1. 成高光谱试验

截取图2中右下角200 *200区域的绿色森林区作为背景,如图3所示。数据集中存在一白色色汽车标准光谱。白色汽车如图4所示。我们选取几处绿色区域的光谱求取平均值,作为绿色背景光谱。我们把背景光谱和汽车标准光谱按一定的比例线性混合,并加入噪声作为伪装目标。伪装目标光谱合成公式如下:

t = ( c a r + n * b a c ) / ( n + 1 ) + s a (8)

car为汽车的标准光谱,bac为背景光谱,sa为噪声,通常为高斯白噪声。此处我们取n = 6。目标植入坐标分别为(50, 50)、(50, 100)、(50, 150)、(100, 50)、(100, 100)、(100, 150)、(150, 50)、(150, 100)、(150, 150)。背景光谱、汽车标准光谱和伪装目标光谱如图5所示。

Figure 1. Flow chart of MCEM algorithm

图1. MCEM算法流程图

Figure 2. Hyperspectral panorama

图2. 高光谱全景图

Figure 3. Green area

图3. 绿色区域

Figure 4. White car

图4. 白色汽车

Figure 5. Target and background normalized spectra

图5. 目标、背景归一化后光谱

分别使用RX算法、ACE算法、CEM算法和MCEM算法对目标进行检测。检测结果如图6所示。从图6中我们可以看到,因为伪装目标光谱与背景光谱相似度极高,达到了0.99,以至于RX算法完全不能识别出目标;而ACE算法优于RX算法,但目标埋没于背景中,对于目标检测的作用不大。CEM算法对背景有着较好的抑制能力,目标光谱的输出结果均高于背景值,但是因为自相关矩阵的计算中涉及到目标光谱,因此目标也受到了抑制,而有些背景反而得到增强,一些背景的输出值甚至超过了0.2。提出的CEM算法对背景有很好的抑制效果,同时增强了目标。

(1) RX (2) ACE (3) CEM (4) MCEM

Figure 6. Test results of four algorithms

图6. 四种算法的检测结果

相比接受器操作特性(Receiver Operating Characteristic, ROC)曲线来说,ROC曲线下面积(Area Under roc Curve, AUC)值能更好地衡量算法的性能。AUC值越大,表示算法检测效率越高。AUC值可以更好地定性显示算法检测能力大小。为更好地定量分析算法的优劣性,我们使用AUC值和算法运行时间来评判算法的优劣性。

表1图6对应算法检测结果的AUC值和算法运行时间。算法的AUC值与图6检测结果一致,四种算法的检测效果由好到坏依次为:MCEM算法、CEM算法、ACE算法和RX算法。MCEM算法结果明显优于CEM算法,虽然MCEM算法需要更多时间,但MCEM算法能有效地抑制背景,消耗一定的时间从而提高检测精度是有意义的。

Table 1. Comparisons of algorithmic performance

表1. 算法性能对比图

4.2. 真实高光谱试验

图2中,我们截取含有目标的区域,如图7所示。目标为一黄色织物,如图8所示。

Figure 7. The target area

图7. 目标所在区域图

Figure 8. The yellow fabric target

图8. 黄色织物目标

为验证算法的有效性,分别使用ACE、CEM、未加对数算子的MCEM和MCEM算法对图像进行目标检测。目标检测结果如图9所示。

图9可以看出,ACE算法可以对背景进行有效地抑制,但是目标附近的像元也被极大地增强,因此ACE算法识别出的目标点比实际的目标点面积大。CEM算法可以有效地识别目标,并有效地限制背景输出,但是有些背景像元点输出明显高于周围像元输出。而未加对数算子的MCEM算法检测结果与CEM算法检测结果,几乎一模一样。说明不增加对数算子的MCEM算法对单个目标的识别效果与CEM算法相比,没有得到有效地改善。而MCEM算法检测结果对CEM中的突出点也有较好地抑制。与传统算法相比,MCEM算法对单个目标的检测也有不错的性能。在该实验中,各算法的AUC值和运行时间如表2所示。

Figure 9. Target detection results of algorithms

图9. 各算法目标检测结果图

Table 2. Comparisons of algorithmic performance

表2. 算法性能对比图

表2可知,CEM算法运行时间少于ACE算法,而CEM算法AUC值大于ACE算法的AUC值,可看出在该实验中,CEM算法优于ACE算法。未加对数算子的MCEM算法AUC值与CEM算法AUC值相同,但其运行时间明显高于CEM算法,故未加对数算子的MCEM算法对小目标的识别效果比CEM算法差。MCEM算法的运行时间大于CEM算法运行时间,但MCEM算法AUC值高于CEM算法的AUC值,即MCEM算法消耗更多的时间来保证算法的检出率,同时降低算法的虚警率,这对我们来说是可以接受的。

5. 结论

本文通过光谱重排、一阶微分增大光谱的差异性,寻找疑似目标,从而改善自相关矩阵,并通过加入对数算子抑制背景,极大提高了目标检测准确性,同时也保证了算法对大面积目标和小目标检测的实用性。但该算法还有一定的局限性:一、该算法需要以目标光谱为基准对数据进行重排,因此对目标光谱的要求较高,然而目标光谱有时很难得到。二、该算法通过光谱重排、一阶微分增大相似光谱的差异性,当通过上述步骤后,还是无法降低目标光谱和背景光谱的相似度时,该算法效果不明显。

参考文献

[1] 张良培, 杜博, 张乐飞. 高光谱遥感影像处理[M]. 北京: 科学出版社, 2014.
[2] Goetz, A.F.H., Vane, G., Solo-mon, J.E., et al. (1985) Imaging Spectrometry for Earth Remote Sensing. Science, 228, 1147-1153.
https://doi.org/10.1126/science.228.4704.1147
[3] Bioucas-Dias, J.M., Plaza, A., Camps-Valls, G., et al. (2013) Hyperspectral Remote Sensing Data Analysis and Future Challenges. IEEE Geoscience and Remote Sensing Magazine, 1, 6-36.
https://doi.org/10.1109/MGRS.2013.2244672
[4] Kwon, H., Nasrabadi, N.M. and Kernel, R. (2005) X-Algorithm: A Nonlinear Anomaly Detector for Hyperspectral Imagery. IEEE Transactions on Geoscience and Remote Sensing, 43, 388-397.
https://doi.org/10.1109/TGRS.2004.841487
[5] 耿修瑞, 赵永超. 高光谱遥感图像小目标探测的基本原理[J]. 中国科学: 地球科学, 2007, 37(8): 1081.
[6] Wang, Y., Huang, S., Liu, D., et al. (2017) A Target Detection Method for Hyperspectral Imagery Based on Two-Time Detection. Journal of the Indian Society of Remote Sensing, 45, 239-246.
https://doi.org/10.1007/s12524-016-0593-2
[7] Harsanyi, J.C. (1993) Detection and Classification of Subpixel Spectral Signatures in Hyperspectralimage Sequences. Ph.D. Thesis, University of Maryland.
[8] 耿修瑞. 高光谱遥感图像目标探测与分类技术研究[D]: [博士学位论文]. 北京: 中国科学院研究生院(遥感应用研究所), 2005.
[9] 刘恂, 华文深, 杨佳. 面向高光谱探测的伪装效果评价方法[J]. 红外与激光工程, 2014, 43(10): 3228-3232.