馮永亮,申少格
(西安文理學(xué)院信息工程學(xué)院,陜西西安710065)
隨著航空航天遙感技術(shù)的飛速發(fā)展,面對具有“三多”(多傳感器、多平臺、多角度)和“三高”(高空間分辨率、高光譜分辨率、高時(shí)相分辨率)的海量遙感影像數(shù)據(jù),如何通過變化檢測技術(shù)解決4W(When、Where、What object、What change)問題顯得尤為迫切[1]。國內(nèi)外學(xué)者陸續(xù)從不同的應(yīng)用角度提出了各種各樣的變化檢測方法,并已廣泛應(yīng)用于土地利用、植被覆蓋、森林變化、災(zāi)害檢測等領(lǐng)域。但是,目前尚沒有一種方法能夠適合所有的應(yīng)用問題。文中針對多光譜遙感影像在低維空間非線性可分這一問題,提出了一種基于KPCA 和Kmeans++的變化檢測方法,求取兩個(gè)時(shí)相影像差值的絕對值后,通過KPCA 將低維空間數(shù)據(jù)轉(zhuǎn)為高維特征向量,進(jìn)而生成差異圖像,接著經(jīng)過Kmeans++聚類,生成變化結(jié)果圖像。
變化檢測是通過觀察不同時(shí)相的地物或現(xiàn)象識別其狀態(tài)變化的過程[2]。變化檢測過程主要分為4 個(gè)階段:預(yù)處理階段、變化檢測階段、閾值分割階段以及精度評價(jià)階段[3]。首先針對選取的數(shù)據(jù)進(jìn)行數(shù)據(jù)配準(zhǔn)和輻射校正等預(yù)處理工作,然后根據(jù)特征差異生成變化信息,接著生成具有語義特征的變化結(jié)果,最后評價(jià)變化檢測的精度。國內(nèi)外學(xué)者已經(jīng)從數(shù)據(jù)時(shí)相、分析粒度、先驗(yàn)信息、空間維度、時(shí)間尺度等不同的角度對變化檢測方法進(jìn)行了分類[4],其中,變化檢測根據(jù)分析粒度可分為像素級、特征級以及對象級3 種方式。PCA 主成分分析法就是一種基于像素級的變化檢測方法。根據(jù)數(shù)據(jù)處理過程的本質(zhì),變換檢測又分為有監(jiān)督和無監(jiān)督兩類,前者需要提供適合分類的訓(xùn)練集,后者則將兩幅圖像直接進(jìn)行對比,不需要提供額外的信息。而Kmeans 算法屬于無監(jiān)督聚類。
常用的遙感影像變化檢測的方法包括差異主成分分析法、主成分差異分析法、多波段主成分分析法等。差異主成分分析法先將原始影像相減,取差值的絕對值,處理得到一個(gè)差值影像,過濾掉差值影像中的背景部分,再對差值影像進(jìn)行主成分分析,得到變化結(jié)果中的第一個(gè)分量集中了兩個(gè)時(shí)相影像的主要差異信息,最后進(jìn)行閾值分割,得到變化圖斑[5];主成分差異分析法是先分別對不同時(shí)相的原始影像進(jìn)行主成分變換,然后對兩幅主成分變換后的圖像取差求絕對值,作為變化信息圖像。這種變換方式利用原始影像中的前幾個(gè)分量對應(yīng)的差值分量來作波段組合,進(jìn)而反映不同時(shí)相的變化情況;多波段主成分分析法是將原始影像的各波段組合成一個(gè)兩倍于原影像波段數(shù)的新影像,再對新影像進(jìn)行主成分變換[6]。該文采用的是差異主成分分析法。
PCA(Principal Componet Analysis)[7]即主成分分析法,利用較少的主要指標(biāo)作為代表,這些主要指標(biāo)彼此無關(guān),同時(shí)盡可能多地表示原有指標(biāo)的有用信息。作為多維正交變換,PCA 常被用于多光譜遙感影像處理。假設(shè)向量X=(x1,x2,…,xn)T表示原多光譜影像的像元矢量,n為波段數(shù),將原影像X乘以線性變換矩陣A,產(chǎn)生新的影像Y=(y1,y2,…,yn)T,即Y=AX。變換矩陣A是多光譜影像X的協(xié)方差矩陣的特征向量的轉(zhuǎn)置矩陣[8]。變化前原影像X各波段之間具有很強(qiáng)的相關(guān)性,經(jīng)過PCA 變換后,新影像Y的各分量yi之間具有最小的相關(guān)性。PCA 有效降低了數(shù)據(jù)集的維數(shù)[9],但它對存儲空間和計(jì)算復(fù)雜度有較高的要求。對于n維空間,PCA 需形成n×n的矩陣,同時(shí),PCA 只能處理線性數(shù)據(jù)降維,忽略了高于二階的相互關(guān)系,提取的結(jié)果往往不是最優(yōu)的。
數(shù)據(jù)在低維度空間不是線性可分的,但是在高維度空間可以變成線性可分?;谶@一特征,人們引入了核主成分分析法KPCA(Kernel PCA)。KPCA是PCA 的一種擴(kuò)展算法,利用非線性函數(shù)將輸入空間映射到高維特征空間,并進(jìn)行相關(guān)的數(shù)據(jù)處理。KPCA 的核心是將特征空間的內(nèi)積運(yùn)算轉(zhuǎn)換為原始空間的核函數(shù)計(jì)算[10]。作為一種常用的核方法,KPCA 將原始數(shù)據(jù)通過核函數(shù)(Kernel)映射到高維度空間,再利用PCA 算法進(jìn)行降維[11]。KPCA 采用了比較復(fù)雜的非線性映射,提高了非線性數(shù)據(jù)的處理效率,KPCA 方法的原理如圖1所示。

圖1 KPCA方法的原理
KPCA 不僅適合解決線性問題,而且能提供比PCA 更多的特征數(shù)目,可以最大限度地提取特征信息。因此,KPCA可以用于高光譜遙感影像降維處理[11]。KPCA 的推導(dǎo)過程如下:
1)輸入空間的M個(gè)樣本xk(k=1,2,…,M),xk∈RN,使,其協(xié)方差矩陣為:

2)利用映射函數(shù)?將輸入空間的樣本點(diǎn)轉(zhuǎn)換為特征空間樣本點(diǎn):


3)求解下列方程的特征值和特征向量:

4)進(jìn)而求出:

5)特征向量ν可以由?(xi)(i=1,2,…,M)線性表示為:

6)由式(3)~(5)得:


7)定義M×M矩陣K:

8)式(7)簡化為:

9)顯然滿足Mλα=Kα,必須滿足式(8)。
10)求解Mλα=Kα,即可獲得要求的特征值和特征向量。
Kmeans++是Kmeans 的一種改進(jìn)。Kmeans 是一種經(jīng)典的基于劃分的聚類算法,其目標(biāo)是將對象集劃分為若干個(gè)簇,使得簇內(nèi)對象間的相似度較高,而簇間對象的相似度較低。Kmeans 首先隨機(jī)選取k個(gè)初始聚類中心,接著分別計(jì)算所有點(diǎn)到這k個(gè)點(diǎn)的距離,依據(jù)距離大小將所有數(shù)據(jù)點(diǎn)分配到離中心點(diǎn)較近的簇中,再重新計(jì)算各簇的聚類中心點(diǎn),根據(jù)聚類準(zhǔn)則函數(shù),采用迭代的方法不斷重復(fù)以上過程,直到聚類中心不再變化或者是聚類準(zhǔn)則函數(shù)收斂為止[12]。Kmeans 聚類運(yùn)算簡單高效,耗費(fèi)資源少,且具有良好的可伸縮性,但該算法采用隨機(jī)的方式選取k個(gè)初始聚類中心,不同的初始聚類中心會(huì)產(chǎn)生不同的聚類結(jié)果[13]。2007年,David Arthur 提出了Kmeans++[14],該方法并不是隨機(jī)地給出若干個(gè)初始聚類中心,而是先隨機(jī)選取一個(gè)點(diǎn)作為第一個(gè)初始聚類中心,然后計(jì)算所有點(diǎn)到該聚類中心的距離,接著依據(jù)“聚類中心相互之間距離越遠(yuǎn)越好”的樸素原則[15],選取新的聚類中心,不斷重復(fù),直到選出k個(gè)聚類中心,最后將這些聚類中心作為初始聚類中心來運(yùn)行Kmeans。Kmeans++算法的過程如下:
Step1:隨機(jī)挑選某個(gè)樣本點(diǎn)作為第一個(gè)初始聚類中心c1,即C=c1;
Step2:分別計(jì)算每一個(gè)樣本點(diǎn)x到其最近聚類中心的距離D(x);
Step4:重復(fù)Step2 和Step3,直到選出了k個(gè)初始聚類中心;
Step5:利用選好的k個(gè)初始聚類中心來運(yùn)行Kmeans 算法。
Kmeans++對Kmeans 算法隨機(jī)選取初始聚類中心進(jìn)行了改進(jìn),通過計(jì)算與距離占比相關(guān)的概率逐一選取新的初始聚類中心,直到最后選取k個(gè)初始聚類中心[16]。實(shí)踐證明,該算法改進(jìn)了聚類效果。
該文采用KPCA 和Kmeans++的方法對遙感影像進(jìn)行變化檢測。首先對兩幅不同時(shí)相的遙感影像進(jìn)行預(yù)處理,求兩幅影像的差值,并取絕對值,接著利用KPCA 提取特征向量形成變化差異圖[17],最后利用Kmeans++聚類算法對差異圖進(jìn)行分析,得到最終的變化圖像。KPCA 和Kmeans++算法的流程如圖2所示。

圖2 KPCA和Kmeans++算法流程圖
考慮不同數(shù)據(jù)源及傳感器對變化信息的影響,該文選取2008年和2018年的Landsat8 影像作為研究對象,空間分辨率為10 m,截取其中300×300 像元,如圖3所示。首先以2008年影像為基準(zhǔn),對2018年影像進(jìn)行大氣校正、幾何校正,并進(jìn)行圖像配準(zhǔn);然后取兩幅影像差值的絕對值,獲取差異圖像;接著利用KPCA 方法提取特征向量[18],取得特征向量差異圖像;最后利用Kmeans++進(jìn)行聚類,獲得變化/非變化語義圖像,并輸出變化的結(jié)果圖像,如圖4所示,其中白色為變化的部分,而黑色表示未變化。以目視解譯的變化結(jié)果作為參考對象,計(jì)算出混淆矩陣和檢測精度,總體精度較高,其值為93.5%,Kappa 系數(shù)為0.62,變化檢測結(jié)果和實(shí)際結(jié)果基本一致,并且精度較高。

圖3 不同時(shí)相的源圖像

圖4 變化檢測的結(jié)果圖像
文中提出了一種新的遙感影像變化檢測方式,通過KPCA 將低維空間數(shù)據(jù)映射為高維特征向量,再通過Kmeans++聚類生成檢測結(jié)果。該方法主要研究的是影像間像元數(shù)值的變化,下一步重點(diǎn)研究特征屬性的變化。