楊雪峰, 葉 茂, 毛東雷
(新疆師范大學地理科學與旅游學院,烏魯木齊 830054)
遙感技術是獲取大范圍土地覆被狀況信息的主要手段。由于遙感數據中包含了有關地表物體的空間、光譜和結構等多方面信息,加之在自然界復雜環境下地表物體相互影響,如何有效地從遙感數據中發現和提取關于地表物體的相關信息,長期以來一直是該領域的研究熱點[1]。在區分地表覆被類型時,如何合理選用分類器以取得較好的分類效果顯得非常重要。
在眾多的分類方法中,按照是否需要樣本數據,可分為監督分類和非監督分類; 根據是否需要考慮數據分布,又可分為參數分類和非參數分類。參數分類器主要有ISODATA、最大似然分類(maximum likehood classification,MLC)、平行六面體和最小距離分類法等,這類分類器當數據分布符合假設條件時能取得較好的分類效果; 但當具體情況與假設不同時,或者數據量較少時,分類結果往往不好。非參數分類器主要包括神經網絡、決策樹(decision tree,DT)和支持向量機(support vector machine,SVM)等,這類分類器由于不對數據分布做出過多假設要求,因此一般情況下能取得比參數分類器更好的分類效果[2-4]?;谏鲜鰞烖c,這些分類器在遙感數據分類領域已得到廣泛應用[5-6]。
群智算法作為一種較新的非參數分類方法,其主要思想是通過模仿自然界的螞蟻、魚群和蜂群等自然生物的覓食行為,通過個體間協作和競爭等行為實現復雜問題的優化求解。其中典型的蟻群優化(ant colony optimization,ACO)和粒子群優化(particle swarm optimization,PSO)算法得到了較廣泛的應用[7-8]。人工蜂群(artificial bee colony,ABC)算法繼承了群智算法的基本思想,通過模仿自然界蜜蜂尋找食物的自然過程來解決優化問題,自Tereshko[9]和Karaboga等[10]提出ABC算法以來,該方法已在最優化研究領域得到了廣泛應用。但ABC算法用于數據分類的研究則相對較少,?elik等[11]較早地提出了使用ABC算法進行數據分類研究,通過對加州大學歐文分校(University of California,Irvin,UCI)機器學習數據集[12]進行處理,并與C4.5法和PSO法進行比較,結果表明ABC法優于PSO法,但低于C4.5法。Shukran等[13]使用標準ABC法和優化后的ABC法與5種常用算法對6種UCI數據集進行分類,其中ABC法在分類結果中占優勢。在使用遙感數據進行分類的研究中,Jayanth等[14]采用LISS-IV多光譜數據對門格洛爾海岸的6種土地覆被類型進行分類,認為ABC算法分類精度比MLC高5%,比SVM高3%; 曹敏等[15]采用ALOS多光譜影像對長江口北岸進行土地覆被分類,ABC算法分類精度比See5高約3%。就目前研究來看,ABC算法在數據分類和數據挖掘領域的研究還較少,尚存在較多的不確定性,例如在對不同數據的適用性、不同參數設置的影響、各種優化設定的影響等方面還存在很多未知數,還需要通過更多的研究來推動ABC算法在數據分類和數據挖掘領域的應用。鑒于上述情況,本文應用JAVA語言實現ABC分類算法,對塔里木河中下游多角度遙感影像數據進行分類研究; 測試實際分類效果,與MLC,DT和SVM分類法進行比較; 并對使用ABC分類算法中發現的規則進行分析。
ABC算法模仿自然界蜂群的覓食行為,用蜜源表示問題可能的解,用適宜度表示蜜源的質量。問題求解過程: 首先,通過雇傭蜂在解空間中隨機尋找蜜源; 隨后,觀察蜂在尋得較高適宜度蜜源的雇傭蜂附近進行下一步搜尋; 如果觀察蜂在限定次數內未能發現更高質量的蜜源,則轉變為偵察蜂,再次在解空間中隨機尋找; 重復這一過程,直至達到預定的迭代次數,結束搜尋過程。
算法具體流程如圖1所示。

圖1 ABC算法流程Fig.1 Flowchart of ABC algorithm
1.2.1 蜂群初始化
首先,從搜索空間中隨機產生N個蜜源,其中每個蜜源代表可能的一組解。實驗中使用的多角度數據集由12個波段的反射率數據組成,再分成上、下閾值,共24組數據,所以數據的維數D為24,每組解都由24組反射率參數組成。為了讓隨機產生的蜜源更具代表性,減少搜索時間,每一類土地覆被類型在初始化時,都遍歷訓練集中該類的所有樣本,獲取每一波段反射率值中的最大值(Max)、最小值(Min)作為搜索空間的上、下邊界,以達到縮小搜索空間的目的。對不同蜜源采用不同的初始化策略。前N/2個蜜源的24維參數賦值方式為
Xi,j=Rand()·(Maxj-Minj)+Minj,
i∈{1,…,N/2},j∈{1,…,12} ,
(1)
式中:Xi,j為參數值;Rand()為隨機數函數;i為蜜源;j為波段數。
然后,獲取波段反射率值的均值(Mean),對前N/2的蜜源做數據鏡像處理,生成后N/2的蜜源數據的解,以提高解的多樣性。后N/2個蜜源的24維參數賦值方式為
i∈{N/2,…,N},j∈{1,…,12}。
(2)
1.2.2 蜂群進化
在雇傭蜂階段,雇傭蜂在隨機產生的蜜源附近尋找新蜜源; 并通過比較兩者的適宜度值,保留較好的蜜源并更新蜜源。在觀察蜂階段,觀察蜂以貪婪算法選中蜜源后,也在其附近尋找新蜜源,同樣經比較兩者的適宜度后,保留更優蜜源并更新蜜源。
1)適宜度函數。采用適宜度函數計算適宜度值。常用的適宜度函數有
Precision=TP/(TP+FP),
(3)
Accuracy= (TP+TN)/(TP+TN+FP+FN),
(4)

(5)
式中:Precision為精度;Accuracy為準確度;Sensitivity為靈敏性;Specificity為特異性;TP為符合規則且與規則預測類型相同的樣本數;FP為符合規則但與規則預測類型不同的樣本數;TN為不符合規則且與規則預測類型不相同的樣本數;FP為不符合規則但與規則預測類型相同的樣本數。
考慮到本次評價的是最大分類精度,因此本文采用Precision作為適宜度函數。
2)更新蜜源方法。雇傭蜂和觀察蜂更新蜜源的方式采用了異步變化學習因子[16],其計算公式為
Vi,j=Xi,j+C1·Rand()·(bpi-Xi,j)+C2·Rand()·(bg-Xi,j) ,
i∈{1,…,N},j∈{1,…,12}
(6)
式中:Vi,j為更新后的值;Xi,j為更新前的值;bpi為第i個蜜蜂找到的最優蜜源;bg為所有蜜蜂找到的最優蜜源[16];C1和C2為更新步長,即
(7)
(8)
其中C1和C2的取值范圍為[Cmin,Cmax] ,這里分別取值為0.5和2.5;t為當前迭代次數;tmax為最大迭代次數。
3)蜜源選擇。在雇傭蜂更新蜜源之后,觀察蜂通過計算概率P來決定選擇哪一個蜜源,即
(9)
式中:N為蜜源數量;fiti為第i個蜜源的適宜度值,i∈{1,...,N}。
4)剪枝。剪枝的目的是逐一檢查已發現規則中的每個屬性,找出并去除無關的屬性,以改善規則的泛化誤差,進一步提高分類精度。具體采用的方式是逐一移走各個屬性,若最后精度提高,則去除該屬性,否則保留。
1.2.3 蜂群淘汰
如果某只觀察蜂連續n次未能找到更好的蜜源,則當前觀察蜂變為偵察蜂,并隨機產生一個新的蜜源代替淘汰的蜜源。
在土地覆被分類中,對不同地類可以通過該地類在遙感影像各波段的波段值來區分。以上邏輯通過規則形式表示為: 若X1Low 基于ABC算法的分類過程(即規則發現過程)如圖2所示。 圖2 基于ABC算法的數據分類流程Fig.2 Flowchart of data classification based on ABC 本文實驗使用的遙感數據來自EOS TERRA衛星上搭載的多角度成像光譜儀(multi-angle imaging spectroradiometer,MISR)。該傳感器提供了9個角度的觀測信息,分別是4個前向觀測角: AF(26.1°),BF(45.6°),CF(60.0°),DF(70.5°); 4個后向觀測角: AA(26.1°),BA(45.6°),CA(60.0°),DA(70.5°)以及1個天底角AN(0.0°)。每個角度的傳感器都有4個波段: 藍光波段(446 ± 21 nm),綠光波段(558 ± 15 nm),紅光波段(672 ± 11 nm)和近紅外波段(866 ± 20 nm)[17]。對同一個地點,可同時得到4個波段、9個角度的36個觀測值,所有觀測波段的空間分辨率分別為275 m和1.1 km這2種(表1)。 表1 全球模式下MISR各角度影像波段空間分辨率Tab.1 Spatial resolution of various angle image bands of MISR at globe mode (m) 多角度觀測的優勢在于充分利用地表物體在不同太陽光入射和觀測角條件下形成的二向反射特性,從而更深入地發現地物反射和地物結構之間的聯系。使用多角度數據集進行土地覆被分類要優于傳統垂直觀測數據的分類結果[18]。本文實驗使用的多角度數據集覆蓋塔里木河中下游地區,該地區屬于暖溫帶極干旱氣候區,自然植被覆蓋度很低,植被光譜容易受到土壤背景的影響,因此大大影響了分類效果。數據集由4 367個采樣點的光譜信息和土地覆被類型數據組成,其中光譜數據包括MISR影像中所有空間分辨率為275 m的9個角度的紅光波段和天底角AN的藍光、綠光、近紅外波段共12個波段的地表反射率數據。土地覆被類型主要有灌木、林地、未利用地、草地、耕地和水體6類(表2)。 表2 土地覆被類型Tab.2 Types of land cover 本文實驗使用的ABC算法基于JAVA軟件實現,其主要參數有: 蜂群規模、迭代次數、最少重復尋找次數、最少規則覆蓋度和最小樣本覆蓋度,根據前人研究的經驗[19],分別設置為200,200,5,0.05和5~15。本文實驗使用的衛星遙感數據的所有波段值均是由原始DN值經輻射定標和大氣校正后轉換得到的地表反射率值,數值范圍在[0,1]之間,即ABC算法是在解空間[0,1]內尋找不同土地覆被類型在各個波段中的地表反射率的上、下閾值。另外,與ABC算法進行對比的分類算法分別為: ①ENVI[20]軟件實現的MLC; ②Weka[21]軟件實現的J48決策樹(J48是C4.5算法的一個版本); ③LibSVM[22]軟件實現的SVM分類。 在分類過程中,首先隨機選取數據集中2/3的數據作為訓練集,剩余的1/3作為測試集; 然后使用ABC法先對訓練集進行規則發現,再使用規則集對測試集數據進行分類; 對其他幾種分類法,分別使用訓練集進行訓練,完成參數選擇和調整后,對測試集數據進行分類; 最后分別計算混淆矩陣、總體精度和Kappa系數。 2.3.1 分類精度 4種分類算法的分類結果混淆矩陣見表3—6。 表3 MLC法分類結果混淆矩陣Tab.3 Confusion matrix of MLC classification result 表4 C4.5法分類結果混淆矩陣Tab.4 Confusion matrix of C4.5 classification result 表5 ABC算法分類結果混淆矩陣Tab.5 Confusion matrix of ABC classification result 表6 SVM分類結果混淆矩陣Tab.6 Confusion matrix of SVM classification result 分類結果為: MLC總體精度為0.689 3,Kappa系數為0.585 7; C4.5總體精度為0.701 1,Kappa系數為0.573 9; ABC總體精度為0.713 6,Kappa系數為0.586 1; SVM總體精度為0.771 2,Kappa系數為0.675 1。4種分類算法的分類結果按總體分類精度的大小順序排列為: SVM >ABC >C4.5 >MLC。實驗結果表明,ABC算法的分類精度與C4.5法相當,兩者都優于MLC法,但都與SVM有較大差距。比較單個土地覆被類型分類的用戶精度,ABC算法只有水體的分類精度比SVM略高,草地的分類精度則是所有分類法中最低的??傮w而言,在所有地類的分類精度上,ABC與C4.5算法的結果最為接近。說明ABC算法是一種較好的遙感影像分類方法,能夠提供有效的分類結果。 2.3.2 分類規則 ABC分類算法的一個顯著特點是可以生成分類規則,部分規則舉例如下: IF AN_NIR >= 0.372 704 AND AA_RED <= 0.306 317 THEN 5 IF AF_RED <= 0.109 989 THEN 3 IF AA_RED >= 0.375 172 THEN 4 IF AF_RED >= 0.211 149 AND DF_RED >= 0.247 13 AND AN_NIR >= 0.343 532 AND AF_RED <=0.269 535 THEN 6 IF DF_RED >= 0.295 815 AND AN_BLUE >= 0.142 819 AND AN_NIR >= 0.316 694 AND AF_RED <= 0.283 237 THEN 1 IF DF_RED >= 0.278 379 AND AN_NIR >= 0.340 475 AND AA_RED <= 0.326 734 AND AN_RED <= 0.294 902 THEN 2 規則中類別1─6分別代表灌木、林地、水體、未利用地、耕地和草地。 分類規則的顯著特點是便于理解,不像神經網絡等算法為黑箱操作。通過對規則的分析,便于發現隱藏在數據中的規律,從而進一步理解分類過程。 為了更好地理解MISR多角度數據集分類規則中包含的信息,對分類規則中涉及的所有屬性按頻數統計并做歸一化處理后,生成規則屬性頻數分布曲線(圖3)。 圖3 ABC算法規則屬性頻數分布曲線Fig.3 Frequency distribution curves of ABC rule’s attributes 從圖3可以看出,綠色植被類型(灌木、林地、耕地和草地)分類規則中都大量使用了近紅外波段,所有類型都較多使用了AA后向觀測數據,而AN觀測角度下的紅光、藍光和綠光波段數據則使用得都較少。這說明對這6類土地覆被類型分類的關鍵因素主要是近紅外波段和AA后向觀測,而除天底角AN近紅外波段數據外,其他天底角觀測數據對區分不同類型幫助不大。另外,灌木、林地和未利用地類型的分類規則中較多使用了CA,CF和DA,DF; 說明C和D這2個觀測角利于區分灌木、林地和未利用地這3種空間結構相對復雜的類型。 1)人工蜂群(ABC)算法雖然實現方法相對簡單,沒有復雜的計算公式; 但是通過蜂群個體間的協作,可以完成對復雜數據分類規則的發現。通過使用JAVA語言實現的基于ABC算法的分類軟件對MISR影像的分類實驗,證明使用ABC算法能夠完成對多角度遙感影像的分類任務,且能夠提供較好的分類結果。 2)通過與MLC,C4.5和SVM算法分類精度的比較可以看出,ABC算法的分類精度和Kappa系數與C4.5法相當,高于MLC,但低于SVM。ABC分類算法與其他幾種算法的比較結果證明,ABC算法可以有效用于遙感數據的規則挖掘和分類。 3)通過對ABC算法分類規則屬性頻數的分析,發現了規則中包含的規律性問題。據此可以解釋不同土地覆被類型在多角度遙感觀測下具有的不同反射特性。 與前人的實驗結果比較,本文的分類結果的影響因素一方面可能與使用的多角度數據集本身特征有關,另一方面可能與ABC算法參數設置和程序優化方式有關,因此還需要繼續進行更多方面的比較,才能更進一步了解ABC算法的特性。此外,ABC算法的執行效率與決策樹等算法相比差別很大,這些都是未來研究要解決的問題。 志謝: NASA Langley研究中心大氣科學數據中心提供了MISR 數據,在此表示感謝。
2 實驗與分析
2.1 多角度遙感數據及其處理


2.2 分類實驗
2.3 結果分析





3 結論