王強輝,華文深*,黃富瑜,嚴 陽,2,張 炎,索文凱,3
(1.中國人民解放軍陸軍工程大學 石家莊校區(qū) 電子與光學工程系, 石家莊 050003;2.中國人民解放軍31681部隊, 天水 741000; 3.中國人民解放軍68129部隊, 蘭州 730000)
高光譜圖像(hyperspectral image,HSI)是一種包含空間和光譜信息的的3維圖像。近年來,國內外研究人員通過不懈努力,在光譜解混[1]、圖像分類[2]、目標檢測[3]等方面取得了大量的研究成果。高光譜圖像光譜分辨率極高,光譜信息近似連續(xù),利用光譜信息進行目標檢測具有廣泛的應用。根據(jù)是否提前掌握目標光譜的先驗信息,目標檢測分為光譜匹配檢測和異常檢測[4]。由于光譜庫的構造較為困難,不需要先驗信息的異常檢測成為研究的熱點[5]。
異常檢測是指在目標先驗信息未知情況下,通過獲取圖像中的光譜和空間信息將存在的異常像元檢測出來。RX算法[6-7]是一種由REED和YU提出的經典異常檢測算法,其假設背景服從多元高斯分布,而異常像元偏離這種分布,通過計算待測像元與背景的馬氏距離實現(xiàn)異常檢測。由于該算法背景的獲取源于整幅圖像,不可避免地將異常像元混入背景中,造成檢測精度較低、虛警率較高。DU等人[8]分析了背景不確定性對異常目標檢測的影響。SMETEK等人[9]指出僅僅0.5%的數(shù)據(jù)污染就會造成背景協(xié)方差失真,嚴重影響RX算法的檢測精度。為了更為準確地獲取背景數(shù)據(jù)、提高檢測效果,ZHAO等人[10]提出了基于密度背景純化的異常檢測(density background refinement anomaly detection,DBRAD)算法,通過構造超球體將異常像元從背景中篩選出來,得到純化后的背景進行RX檢測。參考文獻[11]中提出一種核加權RX(kernel RX,KRX)算法, 根據(jù)背景像元到質心的歐氏距離來賦予背景像元權值,從而削減異常信息在協(xié)方差矩陣中的影響,取得了較好的檢測效果。DU等人[12]提出了基于隨機選擇的異常檢測(random selection anomaly detection,RSAD)方法,隨機選擇像元構建初始背景,根據(jù)檢測結果降低初始背景中異常信息所占比例,提高了檢測精度。TAITANO等人提出了局部RX(local RX,LRX)算法[13],該算法通過建立滑動雙窗口模型,使背景的提取更為準確,提高了檢測精度[14]。ZHAO等人[15]從投影、加權等角度出發(fā)加強了目標和背景的差異性,提高了檢測精度。MEI等人[16]先對高光譜數(shù)據(jù)進行中值濾波,而后進行檢測,提高了檢測性能。
精確地獲取背景信息在異常檢測過程中尤為重要,LRX算法利用雙窗口模型使背景信息的獲取更為科學,但是異常信息的分布具有隨機性和復雜性,仍不可避免地混入背景像元中,影響檢測精度。為此本文中提出了一種基于光譜角背景純化的異常檢測(spectral angle background purification anomaly detection,SABPAD)算法,根據(jù)光譜角距離純化LRX算法中內外窗口間的背景信息,降低了虛警率,提高了檢測精度。
LRX算法是一種基于滑動雙窗口模型建立背景統(tǒng)計模型的異常檢測算法,能夠有效地提高檢測精度,是高光譜異常目標檢測算法中常用的方法,滑動雙窗口模型如圖1所示。
從圖1可以看出,滑動雙窗口模型包括內外窗兩個同心窗口,被檢測像元為中心像元,內外窗口之間的像元假定全為背景像元,且服從局部多維高斯分布,內外窗均表示直徑為奇數(shù)大小的正方形,外窗口的尺寸大于內窗口的尺寸。另外,內外窗口尺寸大小的選擇與異常目標的大小也息息相關,同時對檢測結果也有很大的影響,如果內外窗口尺寸的設置使背景模型中包含大量異常目標像元則會很大程度上影響檢測的精度,由于異常目標的尺寸一般都大于1個像元,為避免異常目標腐蝕背景模型,內窗口的尺寸一般大于1個像元,并使其盡可能地包含整個異常目標?;诨瑒与p窗口模型對圖像中的像元逐個進行檢測,則可得到檢測結果。
Fig.1 Sliding double window model
LRX算法的具體實現(xiàn)過程如下:定義高光譜圖像矩陣為X∈RD×N,其中D為光譜維數(shù),N為總像元數(shù),其列向量可表示像元的光譜向量,被檢測xi的像元的光譜向量可表示為:
xi=[xi1,xi2,xi3,…,xiD]
(1)
根據(jù)廣義似然比檢測原理,建立LRX算法的二元假設,其表達式為:
(2)
式中,n為背景像元的光譜信息,a為信號豐度,s為目標像元的光譜信息。當a=0時,即假設H0成立,被檢測像元為背景像元;當a>0時,即假設H1成立,被檢測像元為目標像元。根據(jù)廣義似然比檢測(generalized likelihood ratio test,GLRT)得到LRX算法的判別式為:
LRX(xi)=
(3)
式中,η為判別閾值,設置值的大小與虛警率和信噪比相關;μ代表背景光譜向量的均值;K為背景的協(xié)方差矩陣。μ和K的表達式為:
(4)
(5)
不同物質的光譜曲線不同,因此可以通過物質間光譜曲線的相似度來判定物質歸屬。光譜角制圖法(spectral angle mapping,SAM)[17]是一種經典的衡量光譜特征差異性的算法,也稱光譜角距離法。該算法通過計算像元光譜間的光譜夾角來表示其相似程度,光譜夾角越大,說明其差別越大,反之則越小。光譜角表示如下:
(6)
式中,〈x·y〉為兩個向量的內積,‖·‖為向量的范數(shù)。
利用LRX算法進行異常檢測時,將內外窗口之間的像元視為背景像元。內外窗口的選擇對檢測結果有較大的影響,一個合適的內外窗口尺寸對檢測結果尤為重要。內窗半徑通常為目標尺寸,外窗半徑通常為兩異常目標的距離,盡可能避免內外窗口之間的背景像元中混入異常像元。但是由于異常目標分布的隨機性與不確定性,背景像元中不可避免地混入少量異常像元,對檢測精度有較大地影響,為了降低背景像元中的異常成分,本文中提出了基于光譜角背景純化的異常檢測算法,具體實現(xiàn)過程如下:(1)選擇合適的內外窗口尺寸建立雙窗口模型,提取出內外窗口間的像元作為初始背景像元;(2)求出初始背景像元的均值光譜作為參考像元光譜;(3)計算所有初始背景像元與參考像元光譜的光譜角距離,提取出光譜角距離較大的像元,純化初始背景像元;(4)將純化后的初始背景像元作為背景,運用LRX算法進行異常檢測。
為驗證本算法的有效性和可靠性,本文中采用兩組機載可見光/紅外光成像光譜儀(airborne visible infrared imaging spectrometer,AVIRIS)真實高光譜數(shù)據(jù)進行仿真實驗。仿真環(huán)境:CPU處理器為Intel Core i7-7700HQ,主頻為2.80GHz,內存為8.00GB,軟件為MATLAB R2017a。
數(shù)據(jù)1選取的是AVIRIS傳感器拍攝的美國SanDiege海軍機場的部分數(shù)據(jù),波長范圍為0.37μm~2.51μm,去除低信噪比和水蒸氣吸收比較嚴重的波段,保留波段為189個??臻g分辨率為3.5m,截取的區(qū)域大小為100pixel×100pixel,存在38個異常目標。數(shù)據(jù)2選取的是AVIRIS傳感器拍攝的美國洛杉磯機場的數(shù)據(jù),波長范圍為0.37μm~2.51μm,去除低信噪比和水蒸氣吸收比較嚴重的波段,保留波段為205個??臻g分辨率為7.1m,截取的區(qū)域大小為100pixel×100pixel,存在2個異常目標。圖2和圖3分別為兩組數(shù)據(jù)的目標分布圖。
Fig.2 Target distribution map of data 1
Fig.3 Target distribution map of data 2
為驗證本算法的可靠性與適用性,分別采用RX算法、LRX算法與SABPAD算法對兩組數(shù)據(jù)進行仿真實驗。圖4為3種算法對數(shù)據(jù)1的檢測結果及對應的3維圖像。圖5為3種算法對數(shù)據(jù)2的檢測結果及對應的3維圖像。
從以上兩組數(shù)據(jù)的檢測結果可以看出,3種算法都能識別出大部分異常目標,但RX算法檢測出的異常目標大部分為背景,虛警率較高,LRX算法較大程度上降低了虛警率,檢測結果與RX算法相比有較大的提升。SABPAD算法與LRX算法相比檢測結果有所提升,降低了虛警率,提高了檢測精度。
圖4和圖5中從定性的角度分析了檢測結果,下面從定量的角度進行分析。算法檢測到的異常目標數(shù)、目標像元數(shù)和虛警數(shù)是衡量算法性能的3個重要指標。對于數(shù)據(jù)1,設檢測到的總的像元數(shù)為400, RX算法能檢測到38個異常目標中的10個,檢測到的目標像元數(shù)為25個,虛警數(shù)為375個。LRX算法能檢測到32個異常目標,目標像元數(shù)為163個,虛警數(shù)為237個。SABPAD算法能檢測到36個異常目標,目標像元數(shù)為188個,虛警數(shù)為212個。對于數(shù)據(jù)2,設檢測到的總的像元數(shù)為100,RX算法能檢測到2個異常目標,檢測到的目標像元數(shù)為4個,虛警數(shù)為96個。LRX算法能檢測到2個異常目標,目標像元數(shù)為6個,虛警數(shù)為94。SABPAD算法能檢測到2個異常目標,目標像元數(shù)為7個,虛警數(shù)為93個。檢測結果如表1所示。
Fig.4 Detection results of data 1 by the three algorithms and the corresponding 3-D image
Fig.5 Detection results of data 2 by the three algorithms for and the corresponding 3-D image
Table 1 Quantitative comparison of two groups of data detection results
通過表1不難發(fā)現(xiàn):當目標數(shù)較多時,RX算法和LRX算法容易造成目標漏檢,而SABPAD算法幾乎可以將所有異常目標都檢測出來。并且SABPAD算法虛警率更低,檢測精度更高。采用接收機工作特性(receiver operating characteristic,ROC)曲線和曲線下面積(area under the curve,AUC)值衡量檢測結果。ROC曲線反映了檢測率隨虛警率的變化關系,橫坐標表示虛警率,縱坐標表示檢測率,向左上方彎曲越多,則AUC值越大,算法檢測結果越好,精度越高。ROC曲線越直,AUC值越小,算法檢測結果越差,精度越低。圖6為3種算法在兩組數(shù)據(jù)上的ROC曲線圖。3種算法AUC值和運行時間如表2所示。
Fig.6 ROC curve of two sets of data
Table 2 AUC values and running time of three anomaly detection algorithms
根據(jù)ROC曲線圖和AUC值可以發(fā)現(xiàn):SABPAD算法在兩組數(shù)據(jù)的檢測性能優(yōu)于其它兩種算法,具有更好的適用性。從ROC曲線圖可以看出,SABPAD算法在虛警率較低的情況下仍然具有很好的檢測性能,背景抑制能力較強。與RX算法相比,LRX算法通過使用雙窗口模型選擇背景模型時,盡可能減少了異常像元的干擾,得到更精確的檢測結果,但受限于窗口尺寸及異常像元分布隨機性的影響,內外窗口間的背景像元仍不可避免地混入了異常像元。SABPAD算法在LRX算法的基礎上對背景像元的選擇進行了優(yōu)化,將背景像元中異常程度較大的像元剔除,進一步確保了背景像元中不包含異常像元,提高了檢測精度,與LRX算法相比,該算法在兩組數(shù)據(jù)檢測結果中的AUC值分別提高了0.0317和0.0053。SABPAD算法取得了很好的效果。
針對利用LRX算法進行異常檢測時雙窗口選擇的背景像元不可避免地混入異常像元的問題,本文中提出了基于光譜角純化的異常檢測算法,根據(jù)背景像元光譜與背景均值光譜的光譜角距離的大小純化背景像元,即將光譜角距離較大的像元從背景像元中剔除,優(yōu)化了背景像元,降低了混入異常像元的概率。與其它算法相比,具有更好的檢測性能。實驗表明,該算法能有效地提高檢測精度,降低虛警率。