劉松林,李新濤,鞏丹超,郭 麗
1.西安測(cè)繪研究所,陜西 西安,710054;
2.地理信息工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,陜西 西安,710054;
3.測(cè)繪信息技術(shù)總站,陜西 西安,710054
遙感圖像分類是對(duì)圖像中每個(gè)像素劃分類別的過(guò)程,它在地理信息數(shù)據(jù)庫(kù)更新、城市規(guī)劃、災(zāi)情檢測(cè)等方面具有重要的研究意義[1]。隨著遙感技術(shù)的不斷進(jìn)步,可以獲得的遙感圖像種類越來(lái)越多,地物的光譜和紋理等特征也越來(lái)越豐富。圖像中大量細(xì)節(jié)的出現(xiàn)和地物光譜特征的復(fù)雜化,導(dǎo)致了傳統(tǒng)統(tǒng)計(jì)分類方法的準(zhǔn)確率降低。
基于此,研究者將機(jī)器學(xué)習(xí)算法如神經(jīng)網(wǎng)絡(luò)(neural network,NN)、支持向量機(jī)(support vector machine,SVM)等[2]應(yīng)用于圖像分類,并且在分類過(guò)程中加入光譜或紋理等特征。然而SVM和NN均為淺層學(xué)習(xí)算法,難以有效地表達(dá)復(fù)雜函數(shù)[2],所以隨著訓(xùn)練集數(shù)量和多樣性的增加,淺層模型逐漸無(wú)法適應(yīng)。而由多層非線性映射層組成的深度學(xué)習(xí)網(wǎng)絡(luò)擁有強(qiáng)大的函數(shù)表達(dá)能力,在圖像和場(chǎng)景分類等應(yīng)用中具有很好的效果[3-8]。
深度學(xué)習(xí)可以看作是神經(jīng)網(wǎng)絡(luò)的發(fā)展,它模擬大腦的學(xué)習(xí)過(guò)程,通過(guò)對(duì)輸入數(shù)據(jù)從低層到高層漸進(jìn)地進(jìn)行特征提取,最終形成適合分類處理的特征。2006年,Hinton等采用深度網(wǎng)絡(luò)模型實(shí)現(xiàn)了數(shù)據(jù)的降維和分類[3],并指出深層的網(wǎng)絡(luò)結(jié)構(gòu)可以學(xué)習(xí)到數(shù)據(jù)更為本質(zhì)的特征,分類性能更強(qiáng)。當(dāng)前,主要的深度學(xué)習(xí)網(wǎng)絡(luò)有深度置信網(wǎng)絡(luò)(deep belief network,DBN)和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)等。文獻(xiàn)[4]將SAR圖像相關(guān)矩陣的對(duì)角線元素作為DBN的輸入,進(jìn)行SAR圖像分類,取得了優(yōu)于SVM的分類效果。文獻(xiàn)[5]首先提取圖像的空間和光譜特征,并將其首尾相接形成空譜聯(lián)合特征,然后采用DBN對(duì)該聯(lián)合特征進(jìn)行協(xié)同解譯,獲得了很好的解譯效果,尤其是對(duì)于道路和樓房?jī)深惖匚镉忻黠@的改善。文獻(xiàn)[6]綜合利用圖像的光譜和紋理特征,有效提高了基于DBN的高分辨率遙感圖像的分類精度。針對(duì)由于數(shù)據(jù)量小而導(dǎo)致的遙感圖像場(chǎng)景分類精度不足的問(wèn)題,文獻(xiàn)[7]融合輪廓波變換和CNN,設(shè)計(jì)了一種基于多尺度CNN的分類方法,提高了遙感圖像場(chǎng)景分類結(jié)果。文獻(xiàn)[8]首先使用PCA Saliency檢測(cè)圖像中的顯著性區(qū)域,然后利用CNN和SVM實(shí)現(xiàn)了高分辨率遙感圖像的場(chǎng)景分類。
受上述文獻(xiàn)啟發(fā),本文通過(guò)在圖像中提取局部二值模式(local binary pattern,LBP)紋理特征[9,10],設(shè)計(jì)了一種利用深度置信網(wǎng)絡(luò)(DBN)的多光譜遙感圖像分類方法。
深度置信網(wǎng)絡(luò)由一層或多層無(wú)監(jiān)督的受限波爾茲曼機(jī)(restricted Boltzmann machine,RBM)和一層有監(jiān)督的反向傳播(back propagation,BP)神經(jīng)網(wǎng)絡(luò)組成,其結(jié)構(gòu)如圖1所示。DBN的訓(xùn)練過(guò)程包括“預(yù)訓(xùn)練”和“微調(diào)”兩個(gè)過(guò)程?!邦A(yù)訓(xùn)練”通過(guò)無(wú)標(biāo)簽樣本來(lái)進(jìn)行,是一種無(wú)監(jiān)督方式,采用貪婪算法逐層進(jìn)行優(yōu)化,每層RBM的參數(shù)單獨(dú)進(jìn)行調(diào)整,前一層RBM訓(xùn)練完成后,將其輸出作為下一層RBM的輸入。預(yù)訓(xùn)練完畢后,采用有監(jiān)督學(xué)習(xí)方式對(duì)最后一層的BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并將網(wǎng)絡(luò)預(yù)測(cè)輸出與實(shí)際真值標(biāo)簽的誤差逐層反向傳播,對(duì)整個(gè)DBN網(wǎng)絡(luò)的權(quán)值進(jìn)行“微調(diào)”。這時(shí)可以將DBN看作是一個(gè)普通的神經(jīng)網(wǎng)絡(luò),但與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同的是各層的權(quán)重是通過(guò)預(yù)訓(xùn)練得到,而并非隨機(jī)初始化。這使得DBN能夠克服傳統(tǒng)神經(jīng)網(wǎng)絡(luò)因權(quán)值參數(shù)隨機(jī)初始化而引起的局部最優(yōu)解和訓(xùn)練時(shí)間過(guò)長(zhǎng)的缺點(diǎn)[6]。
圖1 DBN結(jié)構(gòu)示意圖
RBM本質(zhì)上是一種描述對(duì)象概率分布的生成式隨機(jī)神經(jīng)網(wǎng)絡(luò)模型,可以用來(lái)學(xué)習(xí)輸入數(shù)據(jù)的一個(gè)概率分布。如圖2所示,它包含m個(gè)可見(jiàn)層節(jié)點(diǎn)vi和n個(gè)隱藏層節(jié)點(diǎn)hj,其中W表示兩層之間的連接權(quán)值。可見(jiàn)節(jié)點(diǎn)一般對(duì)應(yīng)于觀測(cè)數(shù)據(jù),隱含節(jié)點(diǎn)可視為特征提取器??梢?jiàn)層節(jié)點(diǎn)與隱含層節(jié)點(diǎn)之間為全連接,而各層內(nèi)節(jié)點(diǎn)之間沒(méi)有連接。
圖2 RBM結(jié)構(gòu)示意圖
對(duì)于一組(v,h),RBM的能量定義為:
其中,Z(θ)為歸一化項(xiàng)。在實(shí)際應(yīng)用中,我們關(guān)注的是關(guān)于觀測(cè)值的分布,即似然函數(shù)p(vθ),它是聯(lián)合概率的邊緣分布。
由于RBM的各層內(nèi)節(jié)點(diǎn)之間沒(méi)有連接,當(dāng)可見(jiàn)層節(jié)點(diǎn)的狀態(tài)確定時(shí),隱含層各節(jié)點(diǎn)的激活狀態(tài)是彼此獨(dú)立的[4]。以第j個(gè)隱含層節(jié)點(diǎn)為例,其激活概率如下式所示:
其中,σ(x)為sigmoid函數(shù)。同理,當(dāng)隱含層節(jié)點(diǎn)的狀態(tài)確定時(shí),可見(jiàn)層節(jié)點(diǎn)i的激活概率為:
RBM采用迭代的方式進(jìn)行訓(xùn)練,目的在于學(xué)習(xí)出參數(shù)θ,以擬合給定的數(shù)據(jù)。通過(guò)在訓(xùn)練數(shù)據(jù)集上求取對(duì)數(shù)似然函數(shù)的極大值可以得到參數(shù)θ,即:
其中,T為訓(xùn)練集中的樣本數(shù)量。
根據(jù)對(duì)比散度(contrastive divergence,CD)算法的思想[11],各參數(shù)的更新規(guī)則為:
其中,ε為預(yù)訓(xùn)練過(guò)程的學(xué)習(xí)率;〈·〉data為訓(xùn)練數(shù)據(jù)集所定義的分布之上的數(shù)學(xué)期望;〈·〉recon為重構(gòu)后的模型所定義的分布上的期望。
紋理是指圖像灰度局部不規(guī)則、宏觀有規(guī)律的特性,其在空間上存在緩慢或者周期性的變化。局部二值模式(LBP)是一種典型的局部紋理特征描述符,它的計(jì)算效率比較高,且具有旋轉(zhuǎn)和灰度不變性[12],已經(jīng)被廣泛應(yīng)用于地物分類和語(yǔ)義分割等遙感圖像處理領(lǐng)域。
原始LBP算子是在3×3鄰域內(nèi)計(jì)算的,以鄰域中心像素值作為基準(zhǔn),將鄰域內(nèi)8個(gè)像素值與閾值進(jìn)行對(duì)比,大于基準(zhǔn)標(biāo)記為1,小于基準(zhǔn)則標(biāo)記為0,從而形成8位二進(jìn)制數(shù)。將該二進(jìn)制數(shù)轉(zhuǎn)化成十進(jìn)制,即為中心點(diǎn)位置的LBP特征值。特征值計(jì)算公式如下:
其中,gray(x,y)為中心像素灰度值;p為鄰域像素序號(hào);P為鄰域點(diǎn)總數(shù);s(·)為符號(hào)函數(shù)。
僅使用3×3鄰域內(nèi)像素進(jìn)行對(duì)比,無(wú)法獲得更大尺度上圖像的特征信息。文獻(xiàn)[9]對(duì)原始LBP算子進(jìn)行了改進(jìn),提出了圓形鄰域內(nèi)的LBP特征計(jì)算方法,如圖3所示。設(shè)置不同的半徑R,則能夠獲得不同尺度上的LBP特征值。盡管在大尺度上能夠得到更多的信息,但采樣點(diǎn)的增加使得二進(jìn)制數(shù)的長(zhǎng)度相應(yīng)增加,當(dāng)采樣點(diǎn)為16時(shí),維數(shù)達(dá)到216位,實(shí)用性不強(qiáng)。
圖3 LBP圓形模式示意圖
LBP算子的鄰域選擇、采樣點(diǎn)數(shù)量和特征值計(jì)算起始位置都影響著特征向量值。為了避免特征值的不穩(wěn)定,文獻(xiàn)[10]提出選擇多種模式中數(shù)值最小的作為當(dāng)前特征值,這種選擇模式稱為L(zhǎng)BP旋轉(zhuǎn)不變模式,其原理如圖4所示,本文采用的旋轉(zhuǎn)不變模式。
圖4 LBP旋轉(zhuǎn)不變模式示意圖
本文算法的處理流程如圖5所示。多光譜圖像包括紅(R)、綠(G)、藍(lán)(B)和近紅外(Nir)4個(gè)波段數(shù)據(jù),對(duì)于一幅圖像上每一個(gè)待分類的像素,假設(shè)用來(lái)計(jì)算紋理特征的鄰域窗口大小取為win×win,同時(shí)假定利用該鄰域提取的LBP特征維數(shù)為d。于是可以將在4個(gè)波段數(shù)據(jù)中提取的LBP特征組合為一個(gè)一維向量,維度為d×4。最后將組合后的LBP特征進(jìn)行歸一化,就可以輸入DBN模型進(jìn)行模型訓(xùn)練和像素分類。
圖5 基于DBN的分類方法流程圖
在使用樣本數(shù)據(jù)訓(xùn)練時(shí),將訓(xùn)練數(shù)據(jù)的歸一化LBP特征向量輸入到第1層RBM的可見(jiàn)層,接下來(lái),數(shù)據(jù)流被依次映射到各個(gè)隱含層中,這是一種逐層訓(xùn)練的方法。此外,DBN常采用批訓(xùn)練(batch 1earning)的處理方式,即每次在訓(xùn)練集中隨機(jī)采樣一定數(shù)量的樣本作為一個(gè)批次進(jìn)行DBN訓(xùn)練,每個(gè)批次完成后更新權(quán)值。
訓(xùn)練完成后即可進(jìn)行圖像像素類別預(yù)測(cè),此時(shí),圖像中每個(gè)像素點(diǎn)可以用同樣的方法得到同樣維度的LBP特征向量,然后再通過(guò)網(wǎng)絡(luò)的前向傳播計(jì)算即可得到預(yù)測(cè)的類別。
為了驗(yàn)證算法的有效性,本文使用天繪一號(hào)衛(wèi)星多光譜圖像數(shù)據(jù)進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)是在Intel E5 2.4 GHz CPU,16GB RAM的工作站上采用Matlab R2015a編程實(shí)現(xiàn)的。
實(shí)驗(yàn)數(shù)據(jù)為截取的某區(qū)域天繪一號(hào)衛(wèi)星多光譜圖像,尺寸為416×384,包含紅、綠、藍(lán)和近紅外四個(gè)波段,圖像的空間分辨率為10m,如圖6所示。該區(qū)域地物類型主要包括居民區(qū)、田地、水域和道路等,其中田地根據(jù)農(nóng)作物覆蓋不同細(xì)分為兩類,因此,對(duì)于該實(shí)驗(yàn)數(shù)據(jù),地物分類總數(shù)為五類。五類地物總共標(biāo)記了24163個(gè)像素點(diǎn),選取其中的20%作為訓(xùn)練集,剩余像素作為測(cè)試集,訓(xùn)練集像素總數(shù)占圖像總像素?cái)?shù)的3.03%。實(shí)驗(yàn)中,計(jì)算LBP特征的鄰域窗口win=4,每個(gè)波段的LBP特征維數(shù)d=36,于是最終得到的歸一化特征向量維數(shù)為36×4=144。
圖6 某區(qū)域天繪一號(hào)衛(wèi)星多光譜圖像
在遙感圖像分類精度評(píng)價(jià)中,常利用混淆矩陣(也稱為誤差矩陣),它能夠反映算法分類結(jié)果與真值的誤差信息,是計(jì)算算法總體精度和Kappa系數(shù)等指標(biāo)的基礎(chǔ)[4]。假定M代表混淆矩陣,其元素mij表示屬于類別j但被錯(cuò)分到類別i的像素總數(shù),因此,該矩陣對(duì)角線的元素值越大,分類精度越高??傮w精度(overall accuracy,OA)的計(jì)算方法是,使用正確分類的像素?cái)?shù)總和除以總的像素?cái)?shù)。Kappa系數(shù)主要反映了分類結(jié)果與真值之間的吻合程度,它通過(guò)矩陣M的所有元素計(jì)算得到,系數(shù)值越高,算法分類精度越高,具體計(jì)算公式如下:
其中,c表示地物分類總數(shù);N表示測(cè)試樣本總數(shù);mi+和m+i分別表示矩陣M的第i行的總和及第i列的總和。
DBN的基本參數(shù)設(shè)置如下:預(yù)訓(xùn)練階段和微調(diào)階段的學(xué)習(xí)率分別為0.1和2,最小batch大小分別為80和40,epochs分別為2000和3500,權(quán)重的初始值是來(lái)自于正態(tài)分布的隨機(jī)數(shù),偏置的初始值是0。接下來(lái),本文首先通過(guò)實(shí)驗(yàn)方法確定隱含層節(jié)點(diǎn)數(shù)。DBN的輸入、輸出層節(jié)點(diǎn)數(shù)分別為144和5,隱含層節(jié)點(diǎn)數(shù)在{50,75,100,125,150,175,200,225,250,275,300}內(nèi)取值,計(jì)算不同取值下對(duì)應(yīng)的網(wǎng)絡(luò)重構(gòu)誤差,如圖7所示,當(dāng)隱含層節(jié)點(diǎn)數(shù)取175時(shí),重構(gòu)誤差最小,從而確定該參數(shù)值為175。RBM的層數(shù)同樣可以采用實(shí)驗(yàn)確定,假定各隱含層節(jié)點(diǎn)數(shù)相同,令層數(shù)從1變化至4,通過(guò)計(jì)算測(cè)試集的分類錯(cuò)誤率可以得到最優(yōu)RBM層數(shù)為1。
圖7 不同隱含層節(jié)點(diǎn)數(shù)的重構(gòu)誤差
實(shí)驗(yàn)一:將本文算法與SVM和NN兩種方法進(jìn)行對(duì)比實(shí)驗(yàn),其中SVM和NN算法的最小batch大小、epochs等參數(shù)與本文算法保持一致,SVM的核函數(shù)采用徑向基函數(shù),NN采用傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò),它與DBN的區(qū)別在于沒(méi)有RBM的預(yù)訓(xùn)練過(guò)程。
表1 不同算法分類結(jié)果比較
三種算法的定量實(shí)驗(yàn)結(jié)果見(jiàn)表1,分類結(jié)果如圖8所示。從表1中可以看出,與NN方法相比,DBN在各地物類別及總體的分類精度上都有一定提升,原因在于DBN通過(guò)RBM的訓(xùn)練過(guò)程為NN提供了更為準(zhǔn)確的初始權(quán)值,而在NN中,這些初始值均為隨機(jī)數(shù)。因此,DBN充分利用了有監(jiān)督學(xué)習(xí)(NN)和無(wú)監(jiān)督學(xué)習(xí)(RBM)的優(yōu)點(diǎn),有效地挖掘出了多光譜圖像的內(nèi)在特征。與SVM方法相比,DBN方法在田地1、水域和道路幾個(gè)類別上分類精度有較大幅度提高,雖然在田地2和居民地兩個(gè)類別上分類精度略有下降,但DBN方法的OA和Kappa系數(shù)都優(yōu)于SVM方法。
圖8 分類結(jié)果示意圖
下面進(jìn)行實(shí)驗(yàn)二的測(cè)試。原始多光譜圖像如圖10(a)所示,尺寸為401×401,該區(qū)域地物類型主要包括居民區(qū)、田地1、田地2和道路。四類地物總共標(biāo)記了32841個(gè)像素點(diǎn),選取其中的20%作為訓(xùn)練集,剩余像素作為測(cè)試集,訓(xùn)練集像素總數(shù)占圖像總像素?cái)?shù)的4.08%。在該組實(shí)驗(yàn)中,DBN的基本參數(shù)設(shè)置如下:預(yù)訓(xùn)練階段和微調(diào)階段的學(xué)習(xí)率分別為0.1和2,最小batch大小均為6,epochs分別為2000和4000,RBM層數(shù)同樣為1,權(quán)重的初始值是來(lái)自于正態(tài)分布的隨機(jī)數(shù),偏置的初始值是0。采用同樣的方法確定隱含層節(jié)點(diǎn)數(shù)為150,此時(shí)重構(gòu)誤差為0.0183,如圖9所示。實(shí)驗(yàn)結(jié)果在表2和圖10(c)~(d)中給出。從表2中可以看出,本文算法在OA和Kappa系數(shù)上均優(yōu)于NN和SVM算法。
圖9 實(shí)驗(yàn)二不同隱含層節(jié)點(diǎn)數(shù)的重構(gòu)誤差
表2 實(shí)驗(yàn)二不同算法分類結(jié)果比較
本文以實(shí)現(xiàn)多光譜遙感圖像典型地物分類為牽引,通過(guò)分析網(wǎng)絡(luò)模型和圖像紋理特征,提出了一種利用DBN與LBP特征的分類算法。首先,提取多光譜圖像各波段的LBP紋理特征,并將其組合、歸一化,形成DBN輸入特征向量;然后,使用訓(xùn)練數(shù)據(jù)集對(duì)DBN網(wǎng)絡(luò)進(jìn)行訓(xùn)練;最后,利用訓(xùn)練好的DBN網(wǎng)絡(luò)完成圖像分類。實(shí)驗(yàn)表明,本文算法能夠取得優(yōu)于NN和SVM等傳統(tǒng)算法的效果。同時(shí)也可以看出,DBN只是在NN的基礎(chǔ)上增加了利用RBM的預(yù)訓(xùn)練過(guò)程,整體分類精度還有待于進(jìn)一步提升。接下來(lái),我們將對(duì)性能更加優(yōu)異的卷積神經(jīng)網(wǎng)絡(luò)做進(jìn)一步研究。
[1]史文中,朱長(zhǎng)青,王昱.從遙感影像提取道路特征的方法綜述與展望[J].測(cè)繪學(xué)報(bào),2001,30(3):257-262.
[2]周志華.機(jī)器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2016.
[3]Hinton G,Osindero S,The Y.A Fast Learning Algorithm for Deep Belief Nets[J].Neural Computation,2006,18(7):1527-1554.
[4]呂啟,竇勇,牛新等.基于DBN模型的遙感圖像分類[J].計(jì)算機(jī)研究與發(fā)展,2014,51(9):1911-1918.
[5]李彤.多譜遙感影像特征提取及協(xié)同解譯研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2014.
[6]劉大偉,韓玲,韓曉勇.基于深度學(xué)習(xí)的高分辨率遙感影像分類研究[J].光學(xué)學(xué)報(bào),2016,36(4):0428001.
[7]許夙暉,慕曉冬,趙鵬等.利用多尺度特征與深度網(wǎng)絡(luò)對(duì)遙感影像進(jìn)行場(chǎng)景分類[J].測(cè)繪學(xué)報(bào),2016,45(7):834-840.
[8]何小飛,鄒崢嶸,陶超等.聯(lián)合顯著性和多層卷積神經(jīng)網(wǎng)絡(luò)的高分影像場(chǎng)景分類[J].測(cè)繪學(xué)報(bào),2016,45(9):1073-1080.
[9]Ojala T,Pietikainen M,Harwood D.Performance Evaluation of Texture Measures with Classification Based on Kullback Discrimination of Distributions[C].International Conference on Pattern Recognition,IEEE,1994.
[10]Maenpaa T,Pietikainen M,Viertola J.Separating Color and Pattern Information for Color Texture Discrimination[C].16thInternational Conference on Pattern Recognition IEEE,2002.
[11]Hinton G.Training Products of Experts by Minimizing Contrastive Divergence[J].Neural Computation,2002,14(8):1771-1800.
[12]曹云剛,王志盼,慎利等.像元與對(duì)象特征融合的高分辨率遙感影像道路中心線提取[J].測(cè)繪學(xué)報(bào),2016,45(10):1231-1240.