王 鑫, 汪國強
(黑龍江大學 電子工程學院, 哈爾濱 150080)
高光譜圖像(Hyperspectral image, HSI)通過大而窄的電磁波波段獲取感興趣目標的信息。與-RGB圖像相比,這些波段能夠提供更加豐富的光譜和圖像信息,可以更好地描述目標的光譜特征,提高檢測和識別能力。因此,它被廣泛應用于各種研究領域,如海洋勘探、軍事目標探測、林業(yè)、醫(yī)學影像處理和生產質量檢驗等[1]。這些波段為相關圖像處理提供了更多的信息,但也帶來了一些障礙,根據高光譜成像特征,相鄰光譜波段之間存在較高的相關性。高維HSI數據處理不僅增加了時間復雜度和空間復雜度,而且會出現維數休斯現象,導致分類性能的惡化[2]。同時,高光譜數據的高維性使得數據的傳輸、存儲和處理面臨著一系列困難。因此,降維技術成為HSI分析中一個備受關注的問題。
降維技術通常可以分為特征提取和特征選擇(波段選擇)兩類。特征提取是根據一定的準則將高維空間數據映射到低維空間,提取新的特征子集來表示原始的高光譜數據。典型的方法有主成分分析(Principal component analysis, PCA)[3]、線性判別分析(Linear discriminant analysis, LDA)和獨立成分分析(Independent component analysis, ICA)。但通過空間變換,會改變原始高光譜數據的物理意義,丟失一些關鍵信息。而特征選擇也稱為波段選擇,是從原始光譜波段集合中選擇波段子集,可以最大化數據分析的性能。波段選擇方法可能只需要一個選定的光譜波段子集來進行后續(xù)數據分析。與特征提取方法相比,波段選擇能夠更好地保存物理信息,對原始數據具有更好的解釋和表達能力。
根據標記樣本是否被利用,波段選擇可以分為監(jiān)督、半監(jiān)督和無監(jiān)督方法。監(jiān)督和半監(jiān)督方法在很大程度上依賴于監(jiān)督信息來識別相關波段。這些方法由于標簽信息允許評估類的可分離性,最終只選擇具有強識別性信息的波段。顯然,這些方法更加以分類為導向,有利于取得更好的分類性能。然而,由于HSI數據總是難以標記,這兩種方法在應用中并不十分實用。無監(jiān)督方法只需要通過一些評價準則函數從高光譜波段中選擇一個子集,不需要使用標記樣本。常用的判定標準有方差、信噪比、熵、k階統(tǒng)計量和歐氏距離等[4]?;谠摬呗?,現有的無監(jiān)督波段選擇方法主要可以分為基于排序、搜索、聚類、稀疏、嵌入學習和混合模式的方法。這些波段選擇方法雖然都能取得令人滿意的分類結果,但在分類過程中存在兩個固有的缺點。一方面,大部分只考慮波段之間的相關性,忽略了所選取波段的信息量,并不符合波段選擇的原則[5]。另一方面,對于某一波段,在一定范圍內與相鄰波段的相關性較強,與更遠波段的相關性較低。因此,可以得出不同波長范圍的不連續(xù)波段不能分組成簇進行波段選擇的結論。
大數據分析的一個可行方案是將大數據集拆分為多個較小的數據集,使用合適的算法或模型依次對每個小數據集進行處理。這些場景要求波段選擇模型能夠處理來自不同時間的不完整波段的動態(tài)數據,捕捉這些數據之間的某種一致性[6]。針對以上問題,可將高光譜圖像立方體劃分為若干子立方體,并在子立方體中選擇信息波段。本文采用了一種自適應子空間劃分策略來劃分立方體,通過自表示學習逐一處理子立方體,采用記憶向量來處理缺失波段,可指導后續(xù)的波段選擇。
首先,采用自適應子空間策略對高光譜圖像立方體進行劃分,基本思想是有序地處理高光譜波段,然后自適應地將具有相似光譜特征的波段劃分為一個子立方體。再采用自表示學習算法去處理子立方體,在處理完所有子立方體以后,采用記憶向量q進行波段選擇。
考慮到相鄰波段的相關性高于非相鄰波段,采用自適應子空間劃分策略對高光譜圖像進行立方體分割,可以使用聚類算法來實現空間劃分。但是,如果直接采用聚類算法,會導致更大的時間復雜度。為了更快地分割高光譜圖像立方體,該方法采用了粗精細策略,主要有兩個步驟:
(1) 粗子空間劃分
設X∈RW×H×L表示高光譜像立方體,其中L為總的波段數,W和H分別為每個波段的寬度和高度。波段選擇的目的之一是減少計算時間。因此,為了更快地實現聚類算法,將高光譜圖像立方體按照選擇的波段數等寬分成有限的子立方體,每個子立方Pi的帶數定義為:
(1)
式中K為所波段的數目。這種方法是一個初始劃分,可以得到子立方體Pi∈RW×H×X。
(2) 細子空間劃分
為了準確表示每個子立方體Pi的光譜波段,提出了一種細子空間劃分方法來獲得新的子立方體。其中,每個空間波段的矩陣被拉伸成一維向量:
X=[x1,x2,…,xL]
(2)
式中xi∈RW×H×1,xi是第i個波段的拉伸向量。
根據拉伸的波段向量,利用歐幾里得距離構造第i個波段和第j個波段之間的相似矩陣為:
(3)
在聚類算法中,常利用類內和類間距離來分析問題。具體來說,通過最大化類間距離與類內距離之比來獲得最終的聚類結果。對于已分割的高光譜圖像立方體,利用這一思想對該立方體進行了精確的分割。由于兩個相距很遠的子立方體之間的相關性很小,故只考慮兩個相鄰子立方體Pi和Pi+1之間的關系。因此,給出目標函數的一般形式為:
(4)
式中:Dinter和Dintra分別為類間距離和類內距離;t為劃分點。
在類間距離的計算中,選擇最大距離作為衡量兩個類間關系的標準,它被定義為:
Dinter=max|Dij|
(5)
式中1≤i Dintra=U1+U2 (6) 式中: (7) (8) 由上述方程得到第一個精確劃分點,而不是原來的劃分點。因此,利用之前的劃分點,以同樣的方式更新初始點t,得到最終的分割點,如圖1所示。示例將高光譜圖像立方體(8個波段)劃分為4個子立方體。在虛線內,深色區(qū)域表示僅考慮這些相鄰的波段來更新當前的分割點。這種劃分方法可以使得到的子立方體之間的相關性降低,有效地避免選擇冗余波段,符合波段選擇原則。 圖1 自適應子空間劃分原理示意圖 由于冗余波段的自表示性質,對于給定的樣本矩陣X,SRL將每個波段表示為其他波段(包括自己)的線性組合,建模如下: XT=XTW+E (9) 式中:變量W∈Rb×b和E∈Rn×b分別表示系數矩陣和殘差矩陣;b表示樣本總的波段數;n表示總的樣本數。矩陣E的第i行表示訓練樣本Xi的重構誤差。為了避免在模型(9)中獲得平凡解(即W=I和E=0),必須對W進行正則化。因此,SRL的正式定義為: (10) 在式(10)中,第一項是一個損失函數,如最小二乘或平方損失函數,以最小化重構誤差。第二項是一個正則化項,是為了避免平凡解和指導波段的選擇,低秩約束和行稀疏約束是兩種常見的正則化項。通過交叉驗證確定的正參數τ用于實現第一項和第二項之間的平衡。 波段選擇可以使用損失函數和正則項的各種組合來實現。與平方損失函數相比,最小平方損失函數對異常值具有魯棒性。此外,當增加主要波段之間關系的低秩約束時,有必要進行額外的聚類,這增加了計算復雜性,并使相應的波段選擇模型陷入困境。因此,具有由最小二乘損失函數和行稀疏約束組成的自動波段選擇的魯棒自表示模型為: (11) ‖W‖2,1理論上可以使矩陣W的某些行的值變?yōu)榱恪!琖i‖2=0表示在重建過程中第i個波段被舍棄了。相反,‖Wi‖2的值越大,意味著選擇第i個波段的可能性就越大。因此,‖Wi‖2可以被認為是第i波段的分數。在求解變量W之后,自表示模型選擇得分較高的波段。式(11)可以用收斂的迭代加權算法來求解[7]。 1.2.1 記憶向量 基于這樣的一個假設,即波段的重要性是連續(xù)的,如果一個波段是重要的,那么它在不同時間的樣本矩陣中也是同等重要的。為了方便起見,假設記憶向量q在一次處理樣本之前記錄了大量的歷史波段。因此,使用一個記憶向量q∈Rb來記錄所有波段的分數。元素的值越大,選擇相應波段的概率越大。當一個樣本矩陣Xt∈Rbt×nt在t時刻具有不完全波段時,首先,從對應于Xt的可用波段的記憶向量q中得到子向量qt∈Rbt。然后,利用行稀疏約束的SRL來獲得Xt對應的系數矩陣Wt。隨后,使用矩陣Wt來更新記憶向量q中Xt的可用波段的分數。當在時間t+1的樣本矩陣Xt+1可用時,重復以上過程。最后,所有可用的樣本矩陣掃描一次后,用q向量進行波段選擇。 基于上述波段重要性連續(xù)的假設,使用一種正則化項來利用歷史信息優(yōu)化矩陣Wt為: (12) (13) 式中:τ1和τ2是正參數,用來保持第一項和第二項之間的平衡;Vt是取決于重構誤差的權重向量;r是用于調整權重分布的參數。 采用矩陣Wt行的l2范數來更新向量q中對應于Xt可用波段的元素的值。這樣,在記憶向量中記錄了樣本矩陣Xt所反映的波段的分數。當t+1時刻的樣本矩陣Xt+1可用時,重用更新后的記憶向量的式(13)。根據q的元素以降序對所有波段進行排序,選擇排名靠前的波段。 為驗證本文方法的可行性與有效性,與基于可擴展單程自表示學習高光譜波段選擇(SOP-SRL)[8]、基于自適應子空間劃分策略的高光譜波段選擇(ASPS)[9]和基于多字典稀疏表示的高光譜圖像無監(jiān)督波段選擇(Multi-dictionary sparse representation,MDSR)[10]進行了對比。 實驗環(huán)境為第十代智能英特爾六核處理器,主頻2.60 Hz,內存16 GB,開發(fā)環(huán)境為Matlab R 2016 a。實驗數據為薩利納斯山谷(Salinas valley)、帕維亞大學(Pavia university)和印第安農場(Indian pines)三個公開的高光譜遙感影像數據集。三組數據所對應的地物類型及數目如表1所示。 (1) 薩利納斯山谷數據。該數據共有512×217個像素,以3.7 m的空間分辨率拍攝于美國加利福尼亞的薩利納斯山谷。顯示了不同種類的植被,對應于16類地物。原始數據包含224個波段,但是由于大氣吸收或噪聲污染,刪除了20個波段,剩余204個波段。 (2) 帕維亞大學數據。該數據的波長范圍為0.43~0.86 μm,空間分辨率為1.3 m,共有610×340個像素點,共包含9類地物。該數據集共包含115個波段,刪除了12個噪聲波段,最后剩余103個波段。 (3) 印第安農場數據。此高光譜數據是在1992年,采用AVIRIS傳感器拍攝的印第安納州西北部農業(yè)區(qū)影像,像素大小為145×145,共220個波段,包括16類地物類別。去除吸水嚴重和低信噪比的20個波段,最后剩余200個波段。 表1 三個數據集地物類別及數目表 采用K近鄰(K-nearest neighbor,KNN)、(Support vector machine)SVM分類進行實驗。KNN是機器學習中最簡單的分類器,它根據K個相似訓練數據的類別確定樣本類別。通過交叉驗證來選取最優(yōu)的K值,因此,最終選定K值為5。SVM分類器采用RBF核。另外,考慮到分類器是被監(jiān)督的,因此,從每個類別中隨機抽取10%的樣本作為訓練集,其余90%的樣品用于測試集。為了減少隨機選取10%樣本的影響,算法運行10次以獲得平均結果。因為所選取波段的數目未知,所以本次實驗在5~30個波段內進行試驗,以此驗證波段數對分類精度的影響。對于分類的結果采用總體準確率(Overall accuracy, OA)、平均準確率(Average accuracy, AA)和Kappa系數作為高光譜圖像分類評價指標。OA和Kappa值越大,說明圖像分類效果越好,AA是評價小類別分類結果好壞的常用指標。 首先,對薩利納斯山谷數據和帕維亞大學數據進行了子空間劃分,于每個子空間內各選擇一個波段,獲得相關性較低的波段組合,假如選擇5個子空間,那么他們分別為(1~38)、(39~62)、(63~104)、(105~202)和(203~204)。從這5個子空間中按照前面方法各取出一個相關性低且信息量大的波段進行組合,然后送入到分類器中進行分類。不同波段數在三個數據集上的分類性能指標如圖2所示,為了更好地對數據進行分類,對比了KNN和SVM分類性能。在每個數據集上選擇波段的編號如表2~表4所示,可以看出,不同波段數對分類結果性能的影響,本文提出的方法在OA、AA和Kappa上面取得了比較滿意的結果。當選擇的波段數較小時,算法的精度不穩(wěn)定,當超過20個波段時,算法的精度已趨于穩(wěn)定。由圖可知,SVM分類器的性能是遠遠優(yōu)于KNN分類器的。相同條件下,SVM分類器的OA、AA和Kappa三個評價指標比KNN分類器更好。在Salinas valley數據上,最大相差的數值分別為2.81、2.24和3.45。在Pavia University數據集上,三個指標最大相差數值分別為5.89、6.51和8.18。在Indian pines數據集上,三個數值為12.19、18.05和14.2。由此可知,用SVM進行高光譜圖像分類會比KNN具有更好的準確率。 表2 Salinas valley數據集選擇的波段編號 表3 Pavia University數據集選擇的波段編號 表4 Indian pines數據集選擇的波段編號 為了更好地驗證本方法的有效性與優(yōu)越性,采用KNN和SVM作為分類器,并與MDSR、SOP-SRL和ASPS三種最新的算法進行實驗對比,實驗結果如圖3、圖4和圖5所示。由圖3可知,對于Salinas valley數據集,本算法在KNN分類器上OA系數一直高于其他算法。通過選擇的不同的波段數,本算法在波段數很少的情況下就表現出了優(yōu)秀的分類性能。本算法在選擇5個波段的情況下,在Salinas valley和Pavia University數據集上的OA分別為88.02%和83.96%,此時的指標已經超過了MDSR、SOP-SRL和ASPS。但是隨著波段數的不斷增加,當波段增加到15個時性能不再出現明顯的增長,這可能和子立方體包含的波段數越來越少導致當前波段無法得到更有利的信息進行判斷和更新,說明了本方法在低維情況下更有效。在SVM分類器上,本算法在15個波段以前一直處于優(yōu)勢,隨著波段數的不斷增加,準確率也在持續(xù)上升。雖然后期的準確率不如SOP-SRL算法,但是此曲線相對平緩,并未出現較大的波段,此時本算法趨于穩(wěn)定。由圖4可知,對于Pavia University數據集,無論是在KNN分類器還是SVM分類器上,本算法的OA表現一直是高于其他算法的,這一點更加說明了本算法的優(yōu)越性。與SOP-SRL和MDSR算法相比,本算法穩(wěn)定性更好。對于Indian pines數據集,當波段數較少時,本算法在KNN分類器上的表現比其他算法好。而在SVM分類器上,ASPS和SOP-SRL具有更好的分類性能。MDSR算法分類的準確率明顯不如其他幾種算法,且該算法的穩(wěn)定性也不如其他幾種算法好。綜上所述,本算法的綜合表現是優(yōu)于其他算法的,具有更好的穩(wěn)健性,即使是在小樣本的情況下也能有很好的表現。 圖3 Salinas valley分類結果圖:(a) KNN;(b) SVM 圖4 Pavia University分類結果圖:(a) KNN;(b) SVM 圖5 Indian pines分類結果圖:(a) KNN;(b) SVM 為了驗證本算法的有效性與優(yōu)越性,以15波段為例,分別對三個數據集的地物進行分類,分類結果如表5、表6、圖6和圖7所示。由表5可以看到,本算法的OA指數在Salinas valley和Pavia University數據集上都高于其他算法,相比于MDSR算法,分別提高了4.05%和5.09%。在Indian pines數據集上,本算法Kappa指標比MDSR高出9.29%。對于Salinas valley和Pavia University數據集,與SOP-SRL和ASPS算法相比,本文的AA和Kappa兩個指標都存在一定優(yōu)勢。而對于SVM分類器的分類結果,如表6所示,在Salinas valley和Pavia University數據集上,本文算法相比于其他幾種算法的OA 、AA和Kappa三個評價指標都是明顯處于優(yōu)勢的,盡管在Indian pines數據集上的表現不是那么樂觀,但是它相比于MDSR算法,優(yōu)勢依然很明顯,這也充分說明了本算法的優(yōu)越性。由圖6和圖7可以看出,本算法在Salinas valley和Pavia University數據集上分類的效果也明顯好于其他算法,很少出現錯分和漏分的現象,這與表格中的數據正好吻合。但是在Indian pines數據集上,本算法與其他對比分類的結果都不太理想,原因可能在于Indian pines數據所包含的地物種類繁多,且提供的樣本數少。 表5 三個數據集上不同方法的分類結果(KNN) 表6 三個數據集上不同方法的分類結果(SVM) 提出了一種基于子空間劃分和自我表示學習的高光譜波段選擇方法,最大限度地利用類間距離與類內距離之比,將高光譜圖像立方體分割為多個子立方體。采用自表示學習算法處理子立方體,采用記憶向量q進行波段選擇,具有記憶功能的向量可以反映歷史數據中的波段質量,以保持不同時間的數據之間的一致性,并指導后續(xù)的波段選擇。通過在三個公開數據集上進行實驗室對比分析,所提方法在OA、AA和Kappa三個指標上都具有很好的表現,從而驗證了所提出的波段選擇方法的可行性與有效性。1.2 自我表示學習
2 實驗與分析
2.1 實驗環(huán)境和數據
2.2 實驗設置
2.3 實驗結果分析
3 結 論