李青彥,彭進業,2
(1.西北工業大學電子信息學院,西安 710072;2.西北大學信息科學與技術學院,西安 710127)
隨著衛星遙感探測技術的發展,越來越多高分辨率空間遙感圖像需要進行識別分類。探索建立準確、高效的針對大規模圖像分類算法成為了近幾年圖像分類領域的研究熱點。空間遙感圖像分類要求根據圖像的內容進行語義標注,用于區分如:城市、森林、機場等不同自然場景。高分辨率空間遙感圖像存在圖像像素高,圖像特征提取復雜,圖像顯著特征不明顯等特點。同時,遙感圖像像素普遍較高,特征表達維度較高,運算難度大。為克服實際應用中的種種不足,人們已做了大量的研究工作。在參考前人成果的基礎上,在此提出一種主成分降維圖像分類算法,以多尺度詞典的空間金字塔匹配核作為SVM 的核函數,并使用PCA 方法進行降維。算法在遙感圖像集 UMLU(UC Merced Land Use Dataset)上進行了驗證,和已有的部分算法進行了對比,結果表明算法具有良好的可行性,有效提高了圖像分類精度。
文獻[1-3]將 BoW(Bag of words)、SPM(Spatial pyramid matching)及其衍生的圖像分類算法運用在了空間遙感圖像集上,取得了很好的結果。文獻[3]較早將SPM 方法引入遙感圖像分類領域。文獻[1]提出了一種圖像特征無監督表達學習方法來獲得圖像的多尺度特征,使用SPM 方法進行聚類,并用SVM進行圖像分類。文獻[2,4]分別提出了一種多尺度局部二值模式算子(MS-LBP,Multi-scale Local Binary Patterns descriptor) 和完全二值模式算子(CLBP,Completed Binary Patterns descriptor)進行圖像特征提取,然后使用極限學習機(ELM,Extreme Learning Machine)進行圖像分類。
為有效提高算法性能,對圖像特征降維同樣非常重要。文獻[5]重點討論了AIB 和DITC 兩種降維方法在圖像分類中的應用,證明DITC 方法在不降低分類精度的同時能夠降低特征維度,運算性能比AIB 更加高效。文獻[6]使用DITC 方法對SPM 圖像特征降維,獲得了很好的分類效果。文獻[7]提出了一種PCA-SIFT 方法,將主成分分析(PCA,Principle Component Analysis)的概念引入到圖像處理領域。文獻[8]提出了一種SPM-PCA 算法,利用主成分分析方法對SPM 圖像特征進行降維,獲得了成功。
在圖像分類中,關鍵一步是選擇合適的分類算法,將提取出來的圖像特征分類。眾多分類算法中,支持向量機[9](SVM,Support vector machine)是運用最廣泛的方法之一。使用SVM 進行圖像分類最關鍵是核函數的選擇。所提算法的核心,即是利用多尺度詞典的空間金字塔匹配核作為SVM 的核函數。
算法過程可簡單描述為如下四個步驟:
第一步,建立大小為M,2×M,...,N×M 的多尺度圖像詞典;
第二步,基于不同的圖像詞典,利用空間金字塔方法進行特征提取,獲得圖像在不同詞典尺度的特征表達:SPM(1),SPM(2),...,SPM(N);
第三步,求取圖像之間的多詞典空間金字塔匹配核函數MPMK,然后利用主成分分析進行圖像特征降維,這一步是本算法的核心;
第四步,利用SVM 進行分類計算。
K.Grauman 在2005年提出了金字塔匹配核函數[10](PMK,Pyramid match kernel),并將其應用在圖像分類領域。假設在d 維空間中,X 和Y 分別代表兩個向量集,金字塔匹配核可以用來表示這兩個向量之間的近似度。金字塔匹配對特征空間進行網格分割,分割密度逐層增加,并針對不同的分割密度賦予不同的權重值。在任一種分割密度條件下,如果兩個特征點落到了同個一格子,那么就說這兩個點是相匹配的,并為較高密度的分割賦予較高的權值。例如,構造級別分別為0~L-1 的L 個網格密度,那么在l 級別層上,每一維上被劃分成個格子,該層共計個單元格(cell),每層單元格個數L 層單元格個數總數可表示為下式:

具體到圖像處理中,每幅圖像均按照橫向或縱向2 個維度進行分割,即d 取值為2。用表示X 和Y 的統計直方圖,那么分別代表在l 層X 類和Y 類落入第i 個網格單元格的特征點數量。則在第l 層的匹配函數可以用直方圖內插函數表示,其表達式如下:

也就是說,上式以X 和Y 類落在l 層第i 個單元格的數量的最小值來表示其在l 層的匹配程度。很明顯,第l 層中的所有匹配點包含了l+1 層中找到的匹配點,所以,當計算l 層新發現的匹配點數量時,要用來表示。因為在較低層中,面積更大的單元格里包含更多的不同特征,所以l 層的權重設置為該值和該層網格的分割密度成正比,即分割密度越大,單元格越小,權重越高。
把每層匹配點數量乘以相應權重然后求和,就得到金字塔匹配核PMK,如下式:

多詞典空間金字塔核即MPMK(Multi-scale PMK)。設初始詞典尺度為M,其余詞典尺度均為M 的整數倍,即得到詞典空間為 M、2×M、…、N×M,分別用 M1,M2,…,MN表示。設有圖像集X,其基于詞典M 的SPM 特征表示為SPM(X1,M),則圖像X1基于不同詞典獲得的特征可以表示為SPM(X1,n),n∈N。


很明顯,當詞典尺度N=3 時,圖像維度擴充為原來的6 倍。當詞典尺度M1=200,金字塔層級L=3時,使用了MPMK 核函數的圖像維度從4200 維擴充到了6×4200=25200 維。圖像特征維度大幅度增加要消耗大量的運算資源,需要更多的計算時間,為此,采用PCA 方法對圖像特征進行降維。
為保證圖像特征維數相同,以圖像集子類為單位進行兩次PCA 降維操作。第一次PCA 操作目的在于比較貢獻率大于閾值的所有圖像的主成分維數,尋找不同圖像集子類在空間金字塔為l 尺度下的最大維Nl,在保證所有圖像的顯著特征都能得到保留的情況下,使得算法所獲得的圖像特征維數保持統一,即為第二次PCA 操作是為求取維數的圖像轉化特征Ci。在試驗中,當貢獻率thresh 取值為100%時,算法即還原成了原始方法。將此法應用到MPMK 核函數中,算法過程如下:
算法1: MPMK 算法過程
Input:圖像集I,空間金字塔尺度L,視覺單詞數量M,詞典分辨率N
Output: MPMK 圖像特征表示C
For each image Iido
%提取圖像i 的DenseSIFT 描述子
Xi=denseSIFT(Ii)
End for
%獲得由M 個視覺單詞組成的視覺詞典
B=kmeans(X,M)
For each image Iido
%用PMK-SPM 方法對圖像進行向量量化,獲取圖像特征表示
Hi=PMK-SPM(Xi,B,L,N)% Hi為矩陣
End for
For each image set I=[1,j]do
For n=[1,N-1]
%對圖像子類所有分辨率詞典進行貢獻率為thresh 的PCA 操作
Hj(n)=PCA(n)([H1(n),H2(n),...,Hj(n)],thresh)
End for
P(n,j)=size(Hj(n))
End for
Pn=Max(P(n,j))
For each image Iido
For n∈[1,N-1]do %最小分辨率詞典(n=0)不進行降維
Hi'(n)=PCA'(n)(Hi(n),Pn)%對所有圖像提取其前Pn維主成分
End for
End for
Ci=
實驗在高分辨率數據集UC Merced Land Use dataset(UCML)上進行,它由21 種陸地常用的類組成,包括:農田、機場、棒球場、沙灘、樓房、灌木叢、密集住宅、森林、中密度住宅、高爾夫球場、船塢、交叉路口、高速公路、房車基地、立交橋、停車場、河流、機場跑道、稀疏住宅、儲存罐和網球場。每個圖像類包含100 幅圖像,圖像大小為256×256 像素。這個圖像集所有圖像均是真實的陸地場景圖像。每一類的樣本圖像如圖1所示。實驗從每一個子類中隨機選取80 幅圖像用于訓練,剩下的用于測試。

圖1 UCML 數據集
實驗固定詞典初始尺寸M 為200,N 選取{1,2,3,4,5},PCA 閾值選取{97%,98%,99%,100%}。每次實驗進行10 次之后,取其平均值作為實驗結果。所得到的分類精度和PCA 閾值關系如圖2。

圖2 圖像分類精度與PCA 閾值關系
實驗中可以看出,隨著詞典尺度N 的增加,實驗精度逐漸上升。N=4 時,獲得最好分類精度;N=5時分類精度出現下降趨勢。隨著PCA 閾值的增加,分類精度呈現先升后降,當閾值為98%時,圖像的冗余特征得到了充分消除,獲得了最好的分類效果。
以UCML 作為實驗集,將本算法與BoW、SPM、CLBP、PMK-SPM 算法分類效果進行比較。各算法分類精度見表1。

表1 各算法在UCML 數據集上的分類效果
針對大規模圖像分類存在的特征維數高的特點,所提出的這種基于空間金字塔的多尺度圖像詞典的特征降維算法MPMK,將采用不同尺度詞典的圖像空間金字塔特征融合起來,通過兩次主成分分析方法實現降維,對MPMK 中的重要參數也進行了驗證。實驗證明,在大規模遙感圖像集UCML 進行驗證時,當初始詞典大小為200,詞典尺度為4,PCA閾值為98%時,算法獲得了最佳性能。通過與其他算法比較,該算法獲得了很好的分類結果。