崔穎,王鈴秀,李文山
1.哈爾濱工程大學 信息與通信工程學院,黑龍江 哈爾濱 150001
2.先進船舶通信與信息技術工業和信息化部重點實驗室,黑龍江 哈爾濱 150001
對于高光譜分類來說,獲取標記樣本是非常困難的,主動學習的提出緩解了這一問題。近年來,主動學習在聲音事件檢測[1]、視覺情感分析[2]、醫學圖像標注[3]和故障診斷[4]等領域得到廣泛應用。1992年,基于投票機制的委員會方法(Queryby-Committee,QBC)一經提出就得到了人們極大關注[5],該算法根據成員的投票結果選擇樣本。之后,基于委員會的查詢方法被不斷改進。熵作為信息量的衡量標準走進了人們的視野。文獻[6]將信息熵用于硬件木馬檢測。Li等[7]提出了一種基于信息熵和博弈論的混合遺傳算法,該算法克服傳統遺傳算法容易陷入局部最優的缺點,獲得更好的性能。Liu等[8]提出了新的指數熵函數作為圖像紋理平滑的指標。李衡等[9]將信息熵引入樁基信號特征提取與識別算法中,得到了較好的識別效果。在主動學習方面人們利用熵來度量樣本的不確定性。熵值裝袋算法(entropy queryby-bagging algorithm,EQB)[10]的優勢在于其結果與分類器的種類無關,可以使用任何種類的分類器。Copa等[11]指出熵值存在多值偏置問題,即選擇樣本時會傾向于選擇同一種類的樣本,這會使得分類器不能泛化,導致分類結果的不理想。針對這一問題,李寵等[12]提出了平均熵值裝袋查詢算法(aEQB),該算法利用待分類數據的種類數來懲罰熵值,使其可以得到較好的分類效果。Copa等[11]提出了歸一化熵值裝袋查詢算法(nEQB),通過預測類別數的對數項對熵值進行歸一化處理,改善了熵值的多值偏置問題。但是對于多分類問題,基于熵值的不確定度查詢算法的效果可能并不理想。陳榮等[13]研究發現,樣本的不確定性不能由熵值完全決定,會出現熵值小的樣本比熵值大的樣本的不確定度還要高的情況。
通過對上述方法的分析,本文提出二次樣本篩選的高光譜圖像分類算法。首先,采用超像素分割選擇區域邊緣的不確定性較高的樣本。然后,利用信息熵在不確定度較高的樣本中進行二次選擇,挑選出更有價值的樣本。
Demir等[14]通過實驗表明,在選取樣本的過程中,選取樣本越多,熵值裝袋算法的性能越好。這表明基于熵值裝袋算法只能確定樣本信息量的大致分割范圍,而不能按照信息量大小對樣本進行準確的排列。為了使得熵值裝袋算法能夠更好地選取不確定度高的樣本,本文提出在未標記樣本集中進行一輪樣本篩選,選取出未標記樣本集中不確定度較高的樣本,再利用主動學習策略在不確定度較高的樣本中進行二次樣本篩選。本算法在分類模型的訓練過程中僅利用了較少的標記樣本和未標記樣本中不確定度較高的部分樣本。相較于傳統的主動學習算法使用樣本少。圖1為樣本二次篩選算法的結構框圖。

圖1 樣本二次篩選算法的框圖
本文通過改進的SLIC算法[15]進行區域樣本選取。
每個超像素內的像素視作同類地物,這樣位于超像素邊緣位置的像素也就是位于多類之間的像素。這樣像素的特征并不鮮明,在分類時容易誤判,具有較高的不確定度,利用價值很高。改進的SLIC算法在初始化網格時采用六邊形網格而不是傳統的正方形網格。這樣做的好處是:可以更大程度地利用周圍的空間信息,從而更好地減少邊界像素的距離失真。同時該算法利用光譜信息和空間信息計算像素到聚類中心的距離,最大限度地利用圖像信息。六角形網格如圖2所示。

圖2 初始化超像素模型
圖2中,ω為六邊形的寬度,h為六邊形的高度,相鄰六邊形的水平距離用horiz表示(公式中用whoriz表示),垂直距離為vert(公式中用hvert表示)。在搜索過程中,在2ω×2ω大小的窗中搜索與中心像素相似的像素,六邊形中心的計算可以用矩陣乘法進行簡單的表示

式中:超像素的中心像素的坐標為(mi,ni);irow為超像素的行索引;icolumn為列索引。
為了充分利用圖像中的空間信息,本算法將光譜距離和空間距離進行加權求和,用得到的距離作為像素到聚類中心的距離。本算法中,用歐氏距離來衡量每一像素到聚類中心的空間距離,計算公式如下

式中:光譜距離dx為光譜角距離(spectral angle distance,SAD);空間距離dmn為歐氏距離;Dj為每一像素xj與聚類中心Ci的距離;因為空間距離dmn的變化較為明顯,所以用六邊形的寬度ω對其進行歸一化處理;ωS為衡量空間相似度和光譜相似度之間的權重,ωS越大,空間相似度就越重要,超像素越緊密,其大小、形狀也更加規范,衡量相似度時,光譜相似度比空間相似度更為重要,因此在實驗中將ωS設置為0.3。參數ω用來控制超像素的平均面積進而調整其數量P,只要可以得到高光譜圖像的尺寸及超像素的尺寸ω,P就可以通過將超像素的最大行索引和最大列索引相乘得到。
圖3給出了改進的SLIC算法的分割結果,其中圖3(a)圖代表Pavia大學數據集的分割結果,圖3(b)圖代表肯尼迪太空中心(Kennedy Space Center,KSC)數據集的分割結果。

圖3 改進的SLIC算法的分割結果
由圖3可知,在平滑的中心區域超像素的形狀呈現較為規則的六邊形,在邊界處超像素的形狀規則性較差,由于ω設定為7,所以超像素的面積較小,個數較多,每個超像素的面積也更為平均,分割效果更好。
在區域劃分之后,將整幅較大的高光譜圖像分割為許多較小的超像素,并且為每1個超像素中的像素貼上偽標簽(假設同屬于1個超像素內的樣本為一類,它們的偽標簽相同)。本算法利用滑窗機制來實現第1輪樣本篩選。在滑動窗口的過程中,若窗口內的像素分屬幾個類別(即類別數大于1),則將窗口內的全部樣本選擇出來,在本文中這樣的樣本定義為邊界樣本。如圖4所示。

圖4 滑窗示意
圖4中的數字表示每1個樣本的偽標簽,滑動窗口的大小為2×2。圖中虛線框中的樣本即為邊界樣本(圖4中僅畫出窗口在第1行和第2行滑動時的效果圖)。在窗口滑動的過程中,若判定窗口內的樣本為邊界樣本,則將整個窗口內的樣本的偽標簽全部置為0。在滑窗結束后,所有偽標簽為0的樣本都被視為邊界樣本。
信息是一個很抽象的東西,最初人們并不能用一個具體的指標去衡量信息的多少。直到1948年,信息熵的提出使得人們可以具象的描述信息量。之后信息熵這一概念被廣泛地應用于各個領域。信息熵作為衡量樣本不確定度的指標被引入主動學習,產生了熵值裝袋算法。
本文通過熵值裝袋算法來進行第2次的樣本篩選。接下來介紹3種熵值裝袋算法。
1)EQB算法
通常情況下,樣本的不確定性與熵值成正比。因此EQB算法將熵作為衡量不確定度的指標。式(5)中xi表示未標記樣本,H(xi)是xi的信息熵

在多分類問題中,分類器將樣本分為更少的類,表明樣本的信息量較少。分類器將樣本分為更多的類,表明樣本的信息量更豐富。EQB由式(6)定義

式中U為未標記樣本集。
2)nEQB算法
nEQB算法可以有效地改善多值偏置問題,該方法使用1個包含預測類別數的對數項來懲罰多值問題,nEQB由式(7)定義

3)aEQB算法
aEQB算法通過加入1個待分類數據集中的種類的數量來懲罰多值屬性,aEQB由式(8)定義

本文使用PaviaU、PaviaC和Salinas數據集進行實驗。PaviaU數據集共有9種地物,全部參與實驗,其中訓練集占23%,共有270個標記樣本;在PaviaC數據集中選擇除去第1類地物和第8類地物以外的樣本進行實驗,其中訓練集占58%,在訓練集中每類選擇5個樣本作為有標記樣本,共計35個。在Salinas數據集中選擇樣本數量較多的8類地物參與實驗,其中訓練集占57%,訓練集中共有240個有標記樣本。每次實驗會迭代100次,共重復10次,取平均值得出實驗結果。
表1和圖5是PaviaU數據集的實驗結果。

表1 PaviaU數據集實驗結束時的各種精度對比

圖5 PaviaU數據集的仿真結果
在OA方面,改進算法與EQB算法相比提高最多為1.45%;與nEQB算法相比提升最少為0.04%;與aEQB算法相比提升0.57%。在所有的6種算法中樣本篩選分類方法(aEQB)的OA最高為93.61%。從Kappa系數來看,EQB算法的Kappa系數最低為0.893 9,樣本篩選分類方法(aEQB)的Kappa系數最高為0.915 2。
表2和圖6是PaviaC數據集上的仿真結果。對于OA來說,所有算法在實驗結束時的OA都達到91%以上,改進算法與EQB算法相比提高1.81%;與aEQB算法相比提高0.09%;與nEQB算法相比沒有提升。在AA方面,EQB算法的AA最低為91.32%,nEQB算法和改進算法的AA相同且最高為94.76%。

表2 PaviaC數據集實驗結束時的各種精度對比

圖6 PaviaC數據集的仿真結果
表3和圖7是Salinas數據集上的仿真結果。在OA方面,改進算法與EQB算法相比提高最多為0.16%;與nEQB算法相比提升最少為0.02%。在所有的6種算法中樣本篩選分類方法(EQB)的OA最高為91.06%。從AA來看,aEQB算法的AA最低為94.10%,樣本篩選分類方法(nEQB)的Kappa系數最高為0.893 6。

圖7 Salinas數據集的仿真結果

表3 Salinas數據集實驗結束時的各種精度對比
本文對于熵值裝袋算法中熵值不能完全決定樣本的不確定度的問題,提出樣本的二次篩選策略。第1次篩選,利用SLIC算法將高光譜圖像進行區域分割,提取不確定度較高的樣本;第2次篩選,利用熵值裝袋算法對不確定度較高的無標簽樣本進一步篩選,選擇信息量豐富的樣本進行人工標注。在訓練分類器的過程中,本算法僅利用了有標簽樣本和未標記樣本中位于區域邊緣的不確定度較高的部分樣本。相對于傳統的主動學習策略,本算法使用的樣本數量相比之下少很多。實驗表明,在PaviaU數據集上改進算法相比于基礎算法在各種精度上均有提高。在PaviaC數據集上改進算法相比于EQB算法、aEQB算法在各種精度上均有提高,與nEQB算法相比并無提高。在未來的工作中,在一次樣本篩選時,可以采用其他的圖像分割算法進行實驗,對于不確定度高的樣本采取不同策略結合,討論圖像分割算法和不同熵值計算對分類結果的影響。