王盛銘,王 濤*,唐圣金,蘇延召
1. 火箭軍工程大學(xué)作戰(zhàn)保障學(xué)院,陜西 西安 710025 2. 火箭軍工程大學(xué)導(dǎo)彈工程學(xué)院,陜西 西安 710025
高光譜圖像(hyperspectral image, HSI)由空間維和光譜維構(gòu)成,其中光譜維包含幾十到數(shù)百個連續(xù)光譜波段,含有豐富且易于區(qū)分的光譜信息。 因此,相較于其他遙感圖像,高光譜圖像可以更加準確的區(qū)分目標和背景信息,并廣泛應(yīng)用于礦物勘探、水質(zhì)監(jiān)測和軍事偵查等領(lǐng)域[1]。 由于目前待測目標的光譜信息獲取困難且缺少完善實用的光譜信息庫,無需目標先驗光譜信息的異常檢測成為了目標檢測的研究熱點。 異常檢測的目的是檢測出在空間或光譜信息上與背景環(huán)境存在較大差異的異常目標。 通常假設(shè)異常目標出現(xiàn)的概率極小并且在光譜域與鄰域背景光譜存在較大差異。 Reed和Yu最早提出了經(jīng)典的基于廣義似然比檢驗的異常目標檢測算法: RX算法(global reed-xiao detector,GRX)[2]。 隨之產(chǎn)生了一系列改進算法,Kwon等提出引入非線性核函數(shù)的KRX算法(kernel RX,KRX);Alam等提出對全圖進行K均值聚類的SRX算法(segmented RX,SRX);Taitano等提出采用滑動雙窗口進行檢測的LRX算法(local RX, LRX)。 近年來,圖像壓縮感知思想快速發(fā)展,一些基于表示和矩陣分解的方法不斷被提出。 其中,低秩和稀疏矩陣分解(low-rank and sparse matrix decomposition,LSMD)已經(jīng)成功應(yīng)用于高光譜圖像異常檢測。 Xu等提出了基于低秩和稀疏表示的LRASR算法(low-rank and sparse representation anomaly detector,LRASR)[3]。 Zhang等提出了基于低秩稀疏矩陣分解和馬氏距離相結(jié)合的LSMAD算法(low-rank and sparse matrix decomposition-based mahalanobis distance anomaly detector, LSMAD)[4]。 Niu等提出了基于低秩表示和字典學(xué)習(xí)的LRRLD算法(low-rank representation and learned dictionary anomaly detector, LRRLD)[5]。 然而,基于概率統(tǒng)計模型的RX算法及其變體,通常只能保證在簡單的高光譜圖像上具有較高的準確率,并且算法普適性較低;基于低秩和稀疏理論模型的異常檢測效果完全取決于不確定性很強的矩陣分解,檢測準確率在不同數(shù)據(jù)集上差距較大。 因此,隨著深度學(xué)習(xí)在計算機視覺方面的不斷發(fā)展,利用深度學(xué)習(xí)方法進行高光譜圖像異常檢測已成為遙感領(lǐng)域目標檢測的最新發(fā)展趨勢。 2015年,Bati等提出了基于自動編碼器的高光譜異常檢測算法,通過編碼-解碼過程對高光譜圖像背景數(shù)據(jù)進行學(xué)習(xí),并以最小化重構(gòu)誤差進行解碼重構(gòu)[6]。 隨后,Li等提出利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)提取圖像的深度特征進行異常檢測[7];Zhao等提出利用堆疊降噪自編碼器(stacked denoise auto encoder, SAE)進行異常檢測[8];Jiang等提出利用生成對抗網(wǎng)絡(luò)(generative adversarial network, GAN)突出異常目標,抑制背景重構(gòu)圖像進行異常檢測[9];Ma等提出利用深度信念網(wǎng)絡(luò)(deep belief network,DBN)和自動編碼器(auto encoder,AE)的輸入和輸出之間的重構(gòu)誤差進行異常檢測[10]。
上述方法在高光譜圖像特征表示和背景估計方面存在一些不足,對空間-光譜相關(guān)性的信息利用也有所欠缺。 同時這些方法為了滿足模型的需要,通常將由圖像塊組成的訓(xùn)練樣本展平到一維或二維,這嚴重損失了原始高光譜數(shù)據(jù)立方體包含的對異常檢測非常重要的空間-光譜信息。 近年來,在計算機視覺領(lǐng)域中通常利用3D-CNN(3D convolutional neural networks,3D-CNN)對視頻的時間-空間信息進行特征學(xué)習(xí)[11-12]。 根據(jù)這一理論,提出了一種基于3D卷積自編碼網(wǎng)絡(luò)的高光譜圖像異常檢測算法(3D convolutional autoencoder networks anomaly detector,3D-CAEAD)。 首先,采用邊緣擴展方法來填充邊界,以確保圖像的邊緣不會缺失。 然后,在編碼層通過3D卷積、3D池化、3D歸一化等步驟,對空間-光譜信息進行編碼生成高光譜圖像隱含層;再通過3D反卷積、3D反池化等步驟,重構(gòu)所提出的隱含層的輸入。 最后,通過計算原始高光譜圖像待測像元與重構(gòu)的背景圖像之間的馬氏距離進行異常檢測。 通過給定高光譜圖像作為訓(xùn)練數(shù)據(jù),3D-CAE網(wǎng)絡(luò)在訓(xùn)練過程中無需目標先驗信息就可以有效的學(xué)習(xí)高光譜圖像的空間-光譜特征。 這種無監(jiān)督的異常檢測算法對訓(xùn)練樣本稀少且不易獲取的高光譜圖像非常有效,并且對不同復(fù)雜程度的高光譜圖像檢測的自適應(yīng)性強。
3D卷積神經(jīng)網(wǎng)絡(luò)(3D-CNN)將高光譜圖像立方體看做一個整體,可以準確有效的提取高光譜圖像深層空譜結(jié)合的特征,直接生成3D特征立方體。 這在很大程度上改善了以往的基于1D、2D或者2D+1D的特征提取模型,可以更加充分利用高光譜圖像的空譜信息和結(jié)構(gòu)特性。 相對于通常的將空間維和光譜維簡單相加的2D+1D卷積網(wǎng)絡(luò),3D-CNN將其合并為一體,不僅可以利用空間和光譜信息,還考慮了空間-光譜之間的相關(guān)性,并且僅需要更少的參數(shù)和層。
圖1 2D卷積操作(a)和3D卷積操作(b)對比Fig.1 Comparing 2D convolution operation (a) and3D convolution operation (b)
(1)
式(1)中,下標“i”和“j”分別代表卷積層和對應(yīng)卷積層中的卷積核。
圖2 3D卷積Fig.2 3D convolution
3D反卷積也稱為3D轉(zhuǎn)置卷積,是卷積層卷積的逆過程。 通過填充和卷積,將輸入從低維空間映射到高維空間。 在解碼器網(wǎng)絡(luò)中,反卷積層與編碼器網(wǎng)絡(luò)的卷積層具有鏡像結(jié)構(gòu)。 通過堆疊三維反卷積層,可以從編碼特征中重構(gòu)高光譜立方體。
3D歸一化將高光譜圖像數(shù)據(jù)轉(zhuǎn)換為[0, 1]的值,這樣可以使網(wǎng)絡(luò)對不同高光譜圖像的適應(yīng)性更強,同時加快運算速度。
池化層可以大大降低算法模型的參數(shù)量和優(yōu)化工作量,減少卷積層的訓(xùn)練參數(shù)數(shù)量,同時減少卷積層產(chǎn)生的冗余特征。 為了更好的保留高光譜圖像的紋理特征,本工作選擇最大池化。 最大池化是對檢測點鄰域內(nèi)特征點取最大值,可以將數(shù)個3D卷積核應(yīng)用于高光譜圖層中探索不同的深層特征,然后使用池化合并這些特征來保留主要特征。 3D最大池化定義為
(2)
自動編碼器是一種包含輸入層(編碼器)、隱含層和重構(gòu)層(解碼器)的神經(jīng)網(wǎng)絡(luò),通過最小化解碼層的重構(gòu)誤差,以無監(jiān)督的方式從高光譜圖像數(shù)據(jù)中學(xué)習(xí)特征。 編碼層是從輸入數(shù)據(jù)中學(xué)習(xí)圖像的深層特征,生成保留原始高光譜圖像最基本信息的隱含層Z;解碼層則利用從隱含層Z包含的深層特征進行圖像重構(gòu)。 在自動編碼器中,編碼器起到特征提取作用,利用權(quán)重矩陣W和和偏差b將輸入層I映射到隱含層Z
Z=σ(WI+b)
(3)
式(3)中,σ為激活函數(shù),Z的維度比輸入I小。
解碼器利用權(quán)重矩陣W′和偏置b′將隱藏層Z映射到重構(gòu)層I′
I′=σ(W′Z+b′)
(4)
傳統(tǒng)的AE常使用全連接的方式來學(xué)習(xí)數(shù)據(jù)的特征,這種方法不能充分的學(xué)習(xí)到數(shù)據(jù)的內(nèi)在特征,而且對于二維或以上的數(shù)據(jù)這些操作會丟失數(shù)據(jù)的結(jié)構(gòu)信息。 利用3D卷積代替全連接方法可以有效的提取高光譜圖像內(nèi)在特征,保留光譜和空間的特征。 3D卷積自動編碼器(3D convolutional auto-encoder,3D-CAE)是在傳統(tǒng)的AE的基礎(chǔ)上改進的神經(jīng)網(wǎng)絡(luò)模型,將編碼層和解碼層分別建模成深度卷積神經(jīng)網(wǎng)絡(luò),通過卷積的方式對輸入數(shù)據(jù)進行線性變換,同時保持權(quán)重共享。 編碼層由卷積層和最大池化層構(gòu)成,最大池化層負責(zé)空域下采樣;解碼層由反卷積層和上采樣層構(gòu)成。 通過將3D-CNN與AE聯(lián)合,在保證自動編碼網(wǎng)絡(luò)對高光譜圖像數(shù)據(jù)以無監(jiān)督的方式進行訓(xùn)練的同時,加入了3D卷積神經(jīng)網(wǎng)絡(luò)的空間-光譜特性提取能力,使得自動編碼網(wǎng)絡(luò)可以更好的學(xué)習(xí)到高光譜圖像內(nèi)在特征。
選擇均方差(mean squared error,MSE)作為損失函數(shù)。 通過調(diào)節(jié)參數(shù)φ=(W,W′,b,b′)來最小化重構(gòu)誤差函數(shù),其定義為
(5)
然而,選擇歐幾里得范數(shù)(l1orl2)或者均方差作為損失函數(shù)容易使圖像產(chǎn)生模糊[13]。 根據(jù)光譜矢量固有的光譜特性,采用光譜角距離(spectral angle distance, SAD)來約束輸入和重構(gòu)光譜矢量。 定義
(6)
DSAD的值在[0, 1]范圍內(nèi),值越大,輸入與重構(gòu)光譜向量越相似。 綜合考慮高光譜圖像的空間和光譜信息,我們采用DSAD作為損失函數(shù)的一項。 因此,完整的損失函數(shù)為
(7)
通過誤差反向傳播算法(back propagation, BP)不斷的訓(xùn)練調(diào)節(jié)參數(shù)。 最后,利用得到的損失函數(shù)提取最優(yōu)的特征來有效的表示輸入高光譜圖像的隱含層信息。
另外,對于編碼器和解碼器中的激活函數(shù)σ,引入非線性激活函數(shù)Leaky ReLu,這樣可以有效解決梯度消失和過度擬合的問題,幫助建立更深層的網(wǎng)絡(luò)。 同時,彌補ReLu在輸入值為負數(shù)時的不足,計算速度比Sigmoid或TANH等替代方法更快。
(8)
式(8)中,x為輸入,Y為輸出,a是(1,+∞)區(qū)間內(nèi)的固定參數(shù)。
本文提出的3D-CAEAD算法的核心就是重構(gòu)與原始高光譜圖像更相似的背景圖像。 3D-CAE神經(jīng)網(wǎng)絡(luò)通過3D卷積解碼器對3D卷積編碼器不斷訓(xùn)練到最優(yōu)結(jié)果,從而提取高光譜圖像中的空間-光譜深層特征。 因此,可以更好的重構(gòu)背景圖像,使背景圖像盡可能的不包含異常目標信息,對原始高光譜背景圖像產(chǎn)生較低的重構(gòu)誤差。
在高光譜圖像異常檢測任務(wù)中通常利用歐氏距離或者馬氏距離來判斷待測像元與背景圖像之間的差異。 本工作選擇馬氏距離,雖然相較于歐式距離計算稍微復(fù)雜,但是馬氏距離可以獨立于測量尺度并排除變量間相關(guān)性的干擾。 利用3D-CAE重構(gòu)與原始高光譜圖像極為相似的重構(gòu)高光譜背景圖像,并將馬氏距離應(yīng)用到最后的異常檢測步驟,通過馬氏距離計算待測像元與重構(gòu)后的高光譜圖像之間的差異,從而判斷出與背景圖像存在顯著差異的異常目標。
圖3 基于無監(jiān)督的3D-CAE異常檢測框架Fig.3 Unsupervised anomaly detection framework based on 3D-CAE
利用馬氏距離檢測異常目標的算法表達式為
(9)
由于傳感器和外部環(huán)境條件限制,高光譜圖像在采集過程中容易受到噪聲影響。 為了提高檢測的準確率,我們選取在異常檢測領(lǐng)域廣泛應(yīng)用,并且經(jīng)過大氣校正的三組高光譜數(shù)據(jù)集。 根據(jù)Frobrnius范數(shù)對截取的九個高光譜圖像進行簡單的預(yù)處理,剔除吸水區(qū)域、低信噪比和壞波段,僅保留大部分含有較多光譜信息的波段[18]。 利用以下高光譜圖像對所提出的算法進行對比驗證。
表1 數(shù)據(jù)集信息Table 1 Information of datasets
(1)San Diego 數(shù)據(jù)集
從拍攝場景中截取三個100×100和一個120×120的高光譜圖像。 在此機場數(shù)據(jù)集中,飛機被視為異常,機庫,草坪,停機坪等構(gòu)成背景。 圖像中的背景對象(機庫)與異常對象(飛機)具有相似的材質(zhì),可能導(dǎo)致難以從周圍背景中區(qū)分異常。
(2)Los Angeles數(shù)據(jù)集
在這個場景中,截取兩個100×100的高光譜圖像。 其中,不同比例的物體、建筑物的屋頂被視為異常,土壤,草地等構(gòu)成背景。
(3)Pavia數(shù)據(jù)集
截取三個100×100的高光譜圖像,數(shù)據(jù)集中主要涵蓋的背景包括水和沙灘。 異常目標為水面上的艦船或者橋上的車輛。
對比算法中窗口大小(win_in和win_out)和參數(shù)選擇對算法結(jié)果有很大影響。 我們根據(jù)數(shù)據(jù)集為每個算法選擇不同的參數(shù)進行調(diào)優(yōu)。 在SRX算法中,通過K-Means++方法確定簇類K。 在CRD和UNRS算法中,對于較大異常目標選擇窗口大小(9, 27),對于較小異常目標選擇窗口(3,5),調(diào)和參數(shù)λ設(shè)置為0.01。 在LRASR算法中,對于San Diego和Los Angeles數(shù)據(jù)集,λ和β設(shè)置為0.1;對于Pavia數(shù)據(jù)集λ和β分別設(shè)置為1和0.001。
選擇自適應(yīng)矩估計(adaptive moment estimation,Adam)為優(yōu)化器,因為它具有高效的運算效率并且適用于稀疏梯度的情況。 設(shè)置初始學(xué)習(xí)率為0.000 1,學(xué)習(xí)率更新采用自適應(yīng)調(diào)整策略。 網(wǎng)絡(luò)的batch size設(shè)置為32,epoch設(shè)置為100。 在訓(xùn)練時分別將60%, 20%和20%的數(shù)據(jù)隨機分配給訓(xùn)練集、測試集和驗證集。
表2 3D-CAE參數(shù)設(shè)置Table 2 3D-CAE parameter settings
為了檢驗所提出3D-CAEAD算法的優(yōu)越性我們將所提出的算法與其他五種方法進行比較,分別是RX,SRX,CRD,UNRS和LRASR。 同時,以接收器工作曲線ROC和曲線下面積AUC值作為評價異常檢測準確率的主要標準,在9組真實高光譜圖像上進行對比驗證。
三個數(shù)據(jù)集的檢測結(jié)果如圖4,圖5和圖6所示。 與其他方法相比,本方法的結(jié)果與參考圖像最接近。 并且該方法可以檢測具有不同大小和不同結(jié)構(gòu)信息的異常像素,并完全保留異常的全部形狀結(jié)構(gòu)。
通過結(jié)果圖可看出,在背景環(huán)境較為簡單并且異常目標單一時,傳統(tǒng)方法可以表現(xiàn)出較高的準確率。 在目標光譜相近或異常目標較小時,檢測準確率明顯下降。 同時,傳統(tǒng)方法只能在部分場景中保持較高的準確率。 這說明傳統(tǒng)方法的性能較弱,不能充分利用高光譜圖像的信息,特征提取能力不強,無法完整的表現(xiàn)異常目標的形狀結(jié)構(gòu),不能將所有的異常目標檢測出來。 這說明這些算法的魯棒性不高,不能適應(yīng)大多數(shù)場景,只能針對個別數(shù)據(jù)集產(chǎn)生準確的檢測效果。
與傳統(tǒng)方法相比,我們的方法基于深度學(xué)習(xí),具有更強的特征提取能力。 可以學(xué)習(xí)到高光譜圖像更深層的信息,以得到更多具有區(qū)分性的信息,來檢測出圖像中的異常目標。 該方法的判別性重構(gòu)部分可以有效地突出異常目標并抑制背景,本文具有更好的異常檢測效果。 但是,本算法在面對密集或者單一的小異常目標情況時,檢測效果并不理想。 異常檢測結(jié)果相較于其他傳統(tǒng)方法優(yōu)勢不明顯,對個別數(shù)據(jù)集甚至存在一定差距。 原因在于,本算法的核心是利用3D-CAE網(wǎng)絡(luò)對高光譜圖像進行背景重構(gòu)。 當(dāng)異常目標較小并且單一時,受周圍背景像元干擾和卷積核大小的影響,數(shù)據(jù)訓(xùn)練時被當(dāng)作背景數(shù)據(jù)的一部分;異常目標較為密集時,容易被當(dāng)作局部區(qū)域背景圖像進行訓(xùn)練,不能很好的檢測出異常像元與背景圖像之間的差異。
圖4 San Diego數(shù)據(jù)集異常檢測結(jié)果(a): 假彩色圖像;(b): 參考圖;(c): RX;(d): SRX;(e): CRD;(f): UNRS;(g): LRASR;(h): 3D-CAEADFig.4 Results of San Diego datasets anomaly detection(a): False color image; (b): Reference map; (c): RX; (d): SRX; (e): CRD; (f): UNRS; (g): LRASR; (h): 3D-CAEAD
圖5 Los Angeles數(shù)據(jù)集異常檢測結(jié)果(a): 假彩色圖像;(b): 參考圖;(c): RX;(d): SRX;(e): CRD;(f): UNRS;(g): LRASR;(h): 3D-CAEADFig.5 Results of Los Angeles datasets anomaly detection(a): False color image; (b): Reference map; (c): RX; (d): SRX; (e): CRD; (f): UNRS; (g): LRASR; (h): 3D-CAEAD
圖6 Pavia數(shù)據(jù)集異常檢測結(jié)果(a): 假彩色圖像;(b): 參考圖;(c): RX;(d): SRX;(e): CRD;(f): UNRS;(g): LRASR;(h): 3D-CAEADFig.6 Results of Pavia datasets anomaly detection(a): False color image; (b): Reference map; (c): RX; (d): SRX; (e): CRD; (f): UNRS; (g): LRASR; (h): 3D-CAEAD
通過以上三組異常檢測結(jié)果圖可以看出,總體上提出的3D-CAE方法的檢測準確率和魯棒性都比較出色。
圖7 San Diego數(shù)據(jù)集ROC曲線圖Fig.7 ROC curves of San Diego datasets
圖8 Los Angeles數(shù)據(jù)集ROC曲線圖Fig.8 ROC curves of Los Angeles datasets
表3 三組數(shù)據(jù)集的AUC值Table 3 AUC values of three groups of datasets
圖9 Pavia數(shù)據(jù)集ROC曲線圖Fig.9 ROC curves of Pavia datasets
圖7,圖8和圖9和表3分別列出了不同數(shù)據(jù)集使用不同方法得到的ROC曲線和AUC值。 通過對比,可以清晰的看出3D-CAEAD的檢測準確率的穩(wěn)定性遠遠高于其他5種算法,整體上保持著最高的AUC值。 在所有數(shù)據(jù)集上都保持著0.97以上的AUC值,可以適應(yīng)不同的目標與場景,具有較高的可靠性。 原因在于,3D-CAEAD網(wǎng)絡(luò)可以通過3D卷積塊提取高光譜圖像的空間-光譜信息,有效的利用了異常目標與背景在空間和光譜信息上存在的差異,可以更加凸顯出異常目標。 同時,在編碼解碼的過程中,對高光譜圖像中存在的噪聲有一定抑制作用,減少了檢測時受到噪聲的干擾。 這些對檢測空間或者光譜信息與背景相似的小異常目標尤其有效。
高光譜圖像數(shù)據(jù)復(fù)雜、信息量大,不同高光譜圖像特征存在顯著差異。 針對現(xiàn)有的檢測算法在特征提取和對空間-光譜信息有效利用上存在的缺陷,以及算法復(fù)雜、運行時間長等問題,提出一種基于3D卷積自動編碼網(wǎng)絡(luò)的高光譜異常檢測算法。 該方法通過3D卷積可以有效的提取高光譜圖像的空間-光譜信息,實現(xiàn)對高光譜圖像數(shù)據(jù)的充分利用。 同時,自動編碼器可以以無監(jiān)督的方式很好的學(xué)習(xí)數(shù)據(jù)特征,實現(xiàn)背景重構(gòu),從而使異常目標獲得更大的差值。 最后,利用馬氏距離對原始高光譜圖像與重構(gòu)后的背景圖像進行異常檢測。 為了驗證本方法的性能,對三個公開的高光譜數(shù)據(jù)集做了測試。 結(jié)果表明本方法可以有效地適用于不同數(shù)據(jù)集,相比于其他方法提高了異常檢測的準確率。 由于自動編碼網(wǎng)絡(luò)本身存在一定的去噪能力,因此本算法在多數(shù)情況下,無需進行高光譜圖像去噪便可以有效的檢測出圖像中的中小型異常目標,例如: 飛機、艦船等。 但是,受光譜成像儀自身空間分辨率的限制,高光譜圖像會存在混合像元等情況。 因此,本算法在重構(gòu)高光譜圖像背景圖像時,會受到異常點和其他背景像元的干擾,對單一小異常目標或者密集小異常目標的檢測性能優(yōu)勢并不明顯。