劉子維,張旭晴,王明常,2,楊國(guó)東,王思琪,3
1.吉林大學(xué) 地球探測(cè)科學(xué)與技術(shù)學(xué)院,長(zhǎng)春 130026;2.自然資源部 城市國(guó)土資源監(jiān)測(cè)與仿真重點(diǎn)實(shí)驗(yàn)室,廣東 深圳 518000;3.中國(guó)地質(zhì)調(diào)查局 西安礦產(chǎn)資源調(diào)查中心, 西安 710100
隨著遙感技術(shù)的迅速發(fā)展,遙感圖像的數(shù)據(jù)量顯著增加,大量遙感圖像所蘊(yùn)含的有價(jià)值的信息也愈加豐富,充分挖掘并利用這些重要信息一直是遙感圖像分析領(lǐng)域的重要研究?jī)?nèi)容[1]。遙感圖像包含著復(fù)雜的非線性特征,光譜信息之間既具有互補(bǔ)性,又存在極大的冗余性,使得遙感數(shù)據(jù)的特征提取困難,圖像分類(lèi)精度難以提升[2]。傳統(tǒng)的遙感圖像場(chǎng)景分類(lèi)方法如貝葉斯模型、極大似然分類(lèi)法和決策樹(shù)分類(lèi)等對(duì)于信息更加豐富、結(jié)構(gòu)更加復(fù)雜的圖像進(jìn)行分類(lèi)時(shí),難以得到理想的分類(lèi)結(jié)果。這些方法本質(zhì)上屬于淺層結(jié)構(gòu)模型,難以有效地表達(dá)復(fù)雜函數(shù)[3]。
深度學(xué)習(xí)在圖像領(lǐng)域得到了廣泛的運(yùn)用,有效地解決了淺層結(jié)構(gòu)模型無(wú)法處理的問(wèn)題[4]。深度學(xué)習(xí)是深度網(wǎng)絡(luò)結(jié)構(gòu),是機(jī)器學(xué)習(xí)的一個(gè)分支,能在有限的訓(xùn)練樣本下獲得較高的分類(lèi)精度。卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)在處理高分辨率遙感圖像中,能夠有效地提取特征信息,使得卷積神經(jīng)網(wǎng)絡(luò)在圖像領(lǐng)域得到廣泛的應(yīng)用[5--6]。Lecun et al.[7]提出CNN的模型LeNet--5模型,用以識(shí)別手寫(xiě)體字符。Krizhevsky et al.[8]提出了8層的AlexNet模型,使用了Relu函數(shù)作為激活函數(shù),增加了lrn層與dropout層,提高了分類(lèi)準(zhǔn)確率。Simonyan et al.[9]提出了16層的VGG--16模型和19層的VGG--19模型,繼承了LeNet和AlexNet的一些框架結(jié)構(gòu),同時(shí)加深網(wǎng)絡(luò)結(jié)構(gòu),分類(lèi)準(zhǔn)確率進(jìn)一步提升。Szegedy et al.[10]提出GooLeNet模型,在增加網(wǎng)絡(luò)深度的同時(shí),增加模型的寬度,構(gòu)建密集的塊結(jié)構(gòu)來(lái)近似最優(yōu)的稀疏結(jié)構(gòu),從而達(dá)到提高性能而又不大量增加計(jì)算量的目的,大大減少了參數(shù)計(jì)算量。
2012年提出的AlexNet[11]網(wǎng)絡(luò)擁有大量參數(shù)和神經(jīng)元,5層卷積層、3層全連接層以及輸出層softmax的1 000個(gè)通道,不僅加大了計(jì)算量,同時(shí)也增加了訓(xùn)練時(shí)間。隨著深度學(xué)習(xí)的發(fā)展,通過(guò)使用不同數(shù)據(jù)處理方法,如Dilated Convolutions、Skip Connection、Residual block、Batch Normalization等對(duì)網(wǎng)絡(luò)模型進(jìn)行優(yōu)化,越來(lái)越多的網(wǎng)絡(luò)模型被提出并應(yīng)用于不同領(lǐng)域[12]。筆者提出一種改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)模型,模型結(jié)構(gòu)基于AlexNet模型的框架,采用小的卷積核和小的步長(zhǎng),減少參數(shù)數(shù)量的同時(shí),可以保留圖像或特征圖的空間尺寸,通過(guò)加入BN層(batch normalization),達(dá)到加快訓(xùn)練速度,一定程度上降低過(guò)擬合的影響、提高網(wǎng)絡(luò)泛化能力的目的。
場(chǎng)景分類(lèi)技術(shù)是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)重要且極具挑戰(zhàn)的關(guān)鍵技術(shù),是用于解決圖片識(shí)別及檢索的問(wèn)題,將場(chǎng)景分類(lèi)技術(shù)與遙感影像結(jié)合起來(lái),有利于推動(dòng)遙感影像分類(lèi)技術(shù)的發(fā)展[13]。
遙感影像場(chǎng)景分類(lèi)是場(chǎng)景分類(lèi)技術(shù)在遙感領(lǐng)域中的一個(gè)延伸,是指對(duì)給定的遙感影像,通過(guò)影像中的主要內(nèi)容來(lái)判斷場(chǎng)景的類(lèi)別,并依據(jù)給定的語(yǔ)義標(biāo)簽來(lái)對(duì)圖像分類(lèi)[14]。從分類(lèi)尺度上,場(chǎng)景分類(lèi)是對(duì)于某一張圖片根據(jù)其主要內(nèi)容將圖像判定為某一場(chǎng)景;而遙感影像分類(lèi)則基于每一個(gè)像元,對(duì)一副遙感影像進(jìn)行多類(lèi)別分類(lèi)。從原理上,場(chǎng)景級(jí)分類(lèi)屬于圖像識(shí)別技術(shù),而像素級(jí)分類(lèi)則屬于圖像語(yǔ)義分割范疇[15]。
卷積層通過(guò)卷積處理提出不同特征,第一層卷積層提取低級(jí)特征,例如邊緣、線條和角落,更高層的卷積層提取更高級(jí)的特征[16]。對(duì)輸入數(shù)據(jù)進(jìn)行卷積處理之后,將結(jié)果傳遞給一個(gè)如ReLu函數(shù)、sigmoid函數(shù)和tanh函數(shù)等非線性函數(shù)即可獲得卷積層的輸出結(jié)果。
池化層池化層緊跟在卷積層之后,池化層起到二次提取特征的作用,降低了各個(gè)特征圖的維度,但可以保持大部分重要的信息。一般的神經(jīng)網(wǎng)絡(luò)都采用卷積--池化--卷積--池化這樣交替模式,通過(guò)池化層壓縮數(shù)據(jù)和參數(shù)的量。常用的池化方法有最大池化、均值池化以及隨機(jī)池化。
全連接層在CNN結(jié)構(gòu)中,經(jīng)多個(gè)卷積層和池化層后,連接著1個(gè)或1個(gè)以上的全連接層。全連接層中的每個(gè)神經(jīng)元與其前一層的所有神經(jīng)元進(jìn)行全連接,卷積層或池化層提取的具有類(lèi)別區(qū)分性的特征信息進(jìn)行整合,為了提升網(wǎng)絡(luò)性能,全連接層選取ReLu函數(shù)作為激活函數(shù),對(duì)每個(gè)神經(jīng)元進(jìn)行處理。最后一層全連接層常常使用softmax函數(shù),起到分類(lèi)的作用[17]。
AlexNet模型由5層卷積層和3層全連接層構(gòu)成,在第1、2、5層卷積層后接有最大池化層,在前兩層卷積層后使用LRN處理(local response normalization),全連接層之間使用dropout層抑制過(guò)擬合現(xiàn)象。
筆者提出一種卷積神經(jīng)網(wǎng)絡(luò)模型,由5個(gè)卷積層和3個(gè)全連接層構(gòu)成。每一個(gè)卷積層都是用ReLu作為激活函數(shù),使用BN層對(duì)數(shù)據(jù)進(jìn)行歸一化,第1、2、3、5個(gè)卷積層后面連接最大池化層(表1)。
表1 模型參數(shù)表Table 1 Model parameters table
對(duì)于一個(gè)卷積層,有n個(gè)大小為k*k*C的卷積核,對(duì)于大小為W*W*C的圖像進(jìn)行卷積處理,步長(zhǎng)為s,補(bǔ)零層數(shù)為p,則卷積后產(chǎn)生的特征圖大小計(jì)算公式為:
(1)
由上述公式可知,若使用較大的卷積核,一方面增加了卷積處理的計(jì)算量,另一方面卷積后產(chǎn)生的特征圖會(huì)丟失大量輸入數(shù)據(jù)所包含的特征信息。
搭建完8層網(wǎng)絡(luò)模型,對(duì)遙感影像數(shù)據(jù)進(jìn)行特征提取,訓(xùn)練并驗(yàn)證模型,具體步驟如下:
(1)構(gòu)建多類(lèi)遙感圖像數(shù)據(jù)集Im=[Im1,Im2,Im3,……,Im21],并制作相應(yīng)的標(biāo)簽值Lα=[Lα1,Lα2,Lα3,……,Lα21],其中Imi(i=1,2,……,21)表示第i類(lèi)遙感圖像的集合,Lαi(i=1,2,……,21)表示第i類(lèi)遙感圖像的標(biāo)簽集合。每一個(gè)Imi和Lαi包括100個(gè)樣本數(shù)據(jù)[18]。
(2)將數(shù)據(jù)集分為訓(xùn)練集Train和測(cè)試集Test兩部分,將數(shù)據(jù)集的80%作為訓(xùn)練樣本,剩余的20%作為測(cè)試樣本,分別從每一個(gè)數(shù)據(jù)集中隨機(jī)挑選80張遙感圖像,構(gòu)建樣本總數(shù)為21×80的訓(xùn)練集,和樣本總數(shù)為21×20的測(cè)試集。
(3)搭建網(wǎng)絡(luò)模型,利用遙感圖像進(jìn)行訓(xùn)練。前向計(jì)算神經(jīng)網(wǎng)絡(luò)的輸出值,對(duì)于第m層卷積層,有計(jì)算公式:
ym=f(BN(wm*ym-1))
(2)
式中:*表示卷積處理;BN( )為BN層歸一化;wm為第m層權(quán)值矩陣;f( )為激活函數(shù)ReLu。
對(duì)于第m層BN層,有計(jì)算公式:
(3)
(4)
式中:E(ym-1)和V(ym-1)為每批輸入數(shù)據(jù)的期望和方差;BNγ,β中的γ,β是學(xué)習(xí)參數(shù)。
對(duì)于第m層池化層,有計(jì)算公式:
ym=max(cm)
(5)
式中:max( )為最大池化處理;cm為第m層卷積層輸出。
對(duì)于第m層全連接層,有計(jì)算公式:
ym=f(wm·ym-1+bm)
(6)
式中:為wm第m層全連接層的權(quán)值矩陣;bm為ym的偏置。
(4)反向計(jì)算卷積神經(jīng)網(wǎng)絡(luò)整體損失函數(shù),本文使用計(jì)算交叉熵作為損失函數(shù),計(jì)算公式為:
(1-yij)·ln(1-outij))
(7)
式中:outij為預(yù)測(cè)值;yij為實(shí)際標(biāo)簽值。
最后使用梯度下降法優(yōu)化損失,使得損失值最小化,并更新網(wǎng)絡(luò)參數(shù)。卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)包括K=(wm,bm),更新參數(shù)計(jì)算公式:
(8)
式中:α為學(xué)習(xí)率;Ki為第i組參數(shù);Ki-1為第i-1組參數(shù)。
(5)保存模型,使用測(cè)試集對(duì)訓(xùn)練好的模型進(jìn)行驗(yàn)證。
圖1 卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算框圖Fig.1 Operation block diagram of convolutional neural network
本文采用Tensorflow 1.4開(kāi)源框架,操作系統(tǒng)是Windows10,處理器為:Intel(R) Core(TM) i5--8300H CPU@2.30 GHz,運(yùn)行內(nèi)存為16 G。
使用美國(guó)土地使用分類(lèi)數(shù)據(jù)集UC Merced Land--Use,一共21類(lèi),分別為耕地、機(jī)場(chǎng)、棒球場(chǎng)、海灘、建筑、叢林、密集住宅、森林、高速公路、高爾夫球場(chǎng)、港口、交叉路口、中等密集住宅區(qū)、汽車(chē)旅館、立交橋、停車(chē)場(chǎng)、河道、公路、稀疏住宅區(qū)、儲(chǔ)油廠和網(wǎng)球場(chǎng),每種類(lèi)型中有100幅256×256×3的場(chǎng)景圖,分辨率為1英尺,每幅場(chǎng)景圖包含多種土地覆蓋類(lèi)型,分類(lèi)難度比一般數(shù)據(jù)集大。
為了驗(yàn)證本文方法的有效性,與AlexNet原結(jié)構(gòu)模型進(jìn)行對(duì)比實(shí)驗(yàn),同時(shí)使用本文模型去掉BN層作為對(duì)比實(shí)驗(yàn),選取數(shù)據(jù)集UC Merced Land--Use,使用mini-batch的訓(xùn)練方式(圖2),隨著訓(xùn)練次數(shù)的增加,改進(jìn)后的模型(NO--BN)收斂速度有一定的提高,增加BN層之后,收斂速度大大提高,震蕩幅度(過(guò)擬合)也低于AlexNet模型。
圖2 三種模型準(zhǔn)確率比較Fig.2 Comparison of accuracy by three models
繪制3種模型的分類(lèi)混淆矩陣,橫軸表示每類(lèi)遙感圖像的預(yù)測(cè)標(biāo)簽值(predicted label),縱軸表示每一類(lèi)遙感影像的實(shí)際標(biāo)簽值(true label),顏色越深,表示分類(lèi)越準(zhǔn)確,對(duì)角線表示每一類(lèi)遙感圖像分類(lèi)正確性。
圖4 NO--BN模型混淆矩陣Fig.4 Confusion matrix in NO--BN model
圖5 AlexNet模型混淆矩陣Fig.5 Confusion matrix in AlexNet model
由圖3—5可見(jiàn), AlexNet模型在第12、19類(lèi)(交叉路口、稀疏住宅區(qū))上分類(lèi)精度較低,分析原因是由于網(wǎng)絡(luò)模型泛化能力不足,無(wú)法有效提取到圖像特征,經(jīng)過(guò)改進(jìn)后的模型,在該類(lèi)別分類(lèi)精度有顯著提高。
圖3 本文模型混淆矩陣Fig.3 Confusion matrix in this paper
計(jì)算3個(gè)評(píng)價(jià)指標(biāo)分類(lèi)準(zhǔn)確率、誤分率和Kappa系數(shù)(表2),本文模型在分類(lèi)準(zhǔn)確率、誤分率以及Kappa系數(shù)都明顯高于原AlexNet模型,在提高精度的同時(shí),也大大加快了模型訓(xùn)練的收斂速度。
表2 評(píng)價(jià)指標(biāo)Table 2 Evaluation indexs
(1)加深網(wǎng)絡(luò)層數(shù)的同時(shí),使用較小的卷積核,減少參數(shù)量,保留圖像或特征圖像的空間尺寸,提高網(wǎng)絡(luò)特征提取能力。
(2)在卷積層之后增加BN層,加快網(wǎng)絡(luò)訓(xùn)練收斂速度,抑制過(guò)擬合的影響,增強(qiáng)網(wǎng)絡(luò)泛化能力。改進(jìn)后的模型在數(shù)據(jù)集UC Merced Land--Use上取得了較好的分類(lèi)結(jié)果,準(zhǔn)確率提升了2.2%。