沈言善,王阿川
(東北林業(yè)大學(xué) 信息與計(jì)算機(jī)工程學(xué)院,黑龍江 哈爾濱 150000)
如何將遙感圖像中的地物信息快速準(zhǔn)確地進(jìn)行分割是當(dāng)前的研究熱點(diǎn)之一[1]。傳統(tǒng)的分割方法與地物的一系列特征有關(guān),針對(duì)不同地物的特征,采用的方法也不同。針對(duì)森林植被分類,李亮等[2]提出了一種綜合光譜、紋理、結(jié)構(gòu)特征的高分辨率遙感影像變化檢測(cè)方法。針對(duì)道路分類有最近鄰[3]、隸屬度函數(shù)[4]等方法。上述傳統(tǒng)方法只能針對(duì)某種地物特性采用相對(duì)應(yīng)的方法,分割的地物種類單一。而高分辨率遙感圖像通常包含道路、建筑、水源、植物等具有豐富細(xì)節(jié)信息的地物目標(biāo)。針對(duì)遙感圖像中多種信息特征,傳統(tǒng)的分割方法很難同時(shí)有效地進(jìn)行多目標(biāo)分割。近年來(lái),計(jì)算機(jī)視覺(jué)技術(shù)發(fā)展迅速,語(yǔ)義分割作為研究熱點(diǎn)之一,在衛(wèi)星遙感圖像和醫(yī)學(xué)影像等領(lǐng)域都有著廣泛的應(yīng)用前景。Long 等[5]第一個(gè)提出了用于語(yǔ)義分割的全卷積神經(jīng)網(wǎng)絡(luò)(FCN),開啟了全卷積網(wǎng)絡(luò)用于圖像語(yǔ)義分割的新篇章。其他優(yōu)秀的語(yǔ)義分割網(wǎng)絡(luò)結(jié)構(gòu)還包括U-net[6]、SegNet[7]、MobileNetV2[8]、PSPNet[9]等。但是在遙感圖像中,受目標(biāo)類別分布不均衡等因素的影響,常用的語(yǔ)義分割方法針對(duì)高分辨率遙感圖像的多類別分割問(wèn)題并不能達(dá)到有效目的。
為了解決以上問(wèn)題,本文借鑒了U-net模型結(jié)構(gòu),設(shè)計(jì)并提出了一種改進(jìn)的全卷積神經(jīng)網(wǎng)絡(luò)模型用于高分辨率遙感圖像的地物分類任務(wù)。通過(guò)使用擴(kuò)張卷積作為卷積層之間的級(jí)聯(lián)方式在不增加網(wǎng)絡(luò)參數(shù)的情況下增大感受野,降低訓(xùn)練與預(yù)測(cè)時(shí)的計(jì)算量,提高了模型運(yùn)行的效率。針對(duì)樣本類別不均衡帶來(lái)的模型偏好問(wèn)題,采用加權(quán)交叉熵作為模型的損失函數(shù)提高了模型的泛化能力。實(shí)驗(yàn)結(jié)果表明,本文模型總體的分割效果優(yōu)于U-Net和SegNet模型,證明了該模型在遙感圖像地物分類中的有效性。
全卷積神經(jīng)網(wǎng)絡(luò)(FCN)的提出是在2016年,相比較于CNN和VGG等卷積全連接的網(wǎng)絡(luò)結(jié)構(gòu),F(xiàn)CN將卷積層替代全連接層來(lái)處理語(yǔ)義分割問(wèn)題。全卷積神經(jīng)網(wǎng)絡(luò)主要有3個(gè)特點(diǎn):一是采用全卷積的方式對(duì)輸入圖像進(jìn)行特征提取和下采樣;二是使用雙線性插值的方法進(jìn)行特征圖的上采樣;三是使用跳躍連接進(jìn)行對(duì)應(yīng)層的特征融合。早期基于深度學(xué)習(xí)的圖像分割以FCN為核心,旨在重點(diǎn)解決如何更好地從卷積下采樣中恢復(fù)丟掉的信息損失。U-Net是一個(gè)結(jié)構(gòu)對(duì)稱的U型全卷積神經(jīng)網(wǎng)絡(luò),它和FCN都是基于Encoder-Decoder[10]結(jié)構(gòu)。Encoder負(fù)責(zé)特征提取,由卷積操作和下采樣操作組成,在這里采用的卷積結(jié)構(gòu)統(tǒng)一為 3×3 的卷積核,padding 為 0,striding 為 1。Decoder負(fù)責(zé)樣本還原,由反卷積操作和上采樣操作組成。反卷積的卷積核也為3×3,上采樣采用雙線性插值法。Skip Connection將U-Net中的底層特征中的位置信息和深層特征中的語(yǔ)義信息相融合,實(shí)現(xiàn)端到端的像素級(jí)分類。
本文采用的數(shù)據(jù)集為2015年南方某地區(qū)的高分辨率衛(wèi)星遙感影像,共包含5幅大尺寸的原始圖像和5幅標(biāo)簽圖。該數(shù)據(jù)集的標(biāo)簽圖共標(biāo)記了5種類別的地物目標(biāo)。為了更好地觀察標(biāo)注情況,我們將人工標(biāo)記圖片可視化如下:紫色表示其他、藍(lán)色表示植被、綠色表示道路、黃色表示建筑、紅色表示水體。圖1(a)和(b)分別是公開數(shù)據(jù)集樣本和可視化的標(biāo)記圖。表1是本文所用數(shù)據(jù)集的樣本分布統(tǒng)計(jì)情況。將數(shù)據(jù)集用4∶1的比例分開,分別用作實(shí)驗(yàn)的訓(xùn)練集和測(cè)試集。由于原始數(shù)據(jù)集中遙感圖像尺寸從4 000×4 000到8 000×8 000不等,直接作為網(wǎng)絡(luò)的輸入圖像會(huì)導(dǎo)致內(nèi)存溢出而無(wú)法訓(xùn)練,因此使用OpenCV對(duì)其做了相應(yīng)的數(shù)據(jù)增強(qiáng)處理。具體地,將用于模型訓(xùn)練的每幅標(biāo)簽圖的4個(gè)地物類別分別截取成僅包含植被、道路、建筑、水體的4幅子圖。把訓(xùn)練集中每幅原始圖像和標(biāo)簽子圖隨機(jī)切割成256×256大小的圖像塊,然后對(duì)圖像塊做了旋轉(zhuǎn)操作、色彩調(diào)整[11]、以及增加噪聲操作(Gaussian noise,salt-and-pepper noise)。通過(guò)上述處理,新的訓(xùn)練集包含10萬(wàn)幅256×256大小的子圖像。
(a) 原始圖像(a) Original image
表1 數(shù)據(jù)集樣本分布統(tǒng)計(jì)Tab.1 Dataset sample distribution statistics
針對(duì)遙感圖像的語(yǔ)義分割是一種端到端的像素級(jí)分類任務(wù),圖像分割的精確度一定程度上取決于上下文的信息。傳統(tǒng)的卷積計(jì)算通過(guò)增大卷積核的尺寸來(lái)獲得更多的感受野,但這樣會(huì)使網(wǎng)絡(luò)的參數(shù)增多,消耗更多的硬件資源。擴(kuò)張卷積[12](Dilated Convolution)是一種不同于傳統(tǒng)卷積的卷積方式,能夠?qū)斎雸D像采用具有更大感受野的濾波器提取特征,并且不會(huì)增加網(wǎng)絡(luò)的參數(shù)。如圖2所示,紅點(diǎn)表示兩種相同尺寸不同卷積方式的卷積核,藍(lán)色的區(qū)域表示感受野大小。圖2(a)中擴(kuò)張率為1,感受野大小為3,與傳統(tǒng)卷積計(jì)算的感受野一樣;圖2(b)中擴(kuò)張率為2,感受野大小為7。若采用傳統(tǒng)卷積,則需尺寸為7×7的卷積核才能獲得同樣的感受野。對(duì)比圖2(a)和(b)可知,相較于傳統(tǒng)卷積,擴(kuò)張卷積在不增加卷積核尺寸的同時(shí)能獲得更大的感受野。圖3(a)為2個(gè)標(biāo)準(zhǔn)3×3卷積層級(jí)聯(lián)所組成的卷積序列。圖3(b)為將兩層級(jí)聯(lián)的卷積層設(shè)置擴(kuò)張率為1和2的擴(kuò)張卷積序列。對(duì)比圖3(a)和(b)可以看出,在使用擴(kuò)張率為1和2的擴(kuò)張卷積級(jí)聯(lián)形成卷積序列中,高層神經(jīng)元在輸入層能具備更大感受野。通過(guò)圖3(a)的方法將模型中的卷積模塊變?yōu)閿U(kuò)張卷積模塊,能夠在增大高層神經(jīng)元在輸入層上感受野的同時(shí)保證了神經(jīng)元的語(yǔ)義信息連續(xù)性。
圖2 擴(kuò)張卷積示意圖Fig.2 Schematic diagram of dilated convolution
(a) 標(biāo)準(zhǔn)卷積級(jí)聯(lián)(a) Standard convolution cascade
激活函數(shù)是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的重要部分,其中經(jīng)典U-Net 網(wǎng)絡(luò)中采用RELU[13]函數(shù)作為激活函數(shù),其定義如式(1)所示:
f(x)=max (0,x),
(1)
其函數(shù)變化曲線如圖4所示。RELU實(shí)際上是一個(gè)分段函數(shù),當(dāng)輸入為正值時(shí)輸出不變,但在輸入為負(fù)值時(shí),RELU是硬飽和的,在反向傳播的中梯度始終為0,權(quán)重參數(shù)無(wú)法更新,會(huì)導(dǎo)致神經(jīng)元死亡。為解決輸入為負(fù)值時(shí)神經(jīng)元失活問(wèn)題,將RELU函數(shù)的前半部分從0變?yōu)橐粋€(gè)指數(shù)函數(shù),得到了指數(shù)線性單元[14](ELU)。其定義如式(2)所示:
圖4 RELU和ELU的函數(shù)圖Fig.4 Function diagram of RELU and ELU
(2)
對(duì)于ELU的導(dǎo)數(shù)來(lái)說(shuō),如果輸入為負(fù)值,輸出不為常數(shù)0,就可以避開死亡RELU問(wèn)題,同時(shí)還保持了一定的稀疏性,可以有效緩解梯度消失問(wèn)題。
損失函數(shù)是遙感圖像語(yǔ)義分割任務(wù)中重要的組成部分,常用的分類損失均可用作語(yǔ)義分割的損失函數(shù)。其中經(jīng)典U-Net網(wǎng)絡(luò)模型使用的二分類交叉熵作為損失函數(shù),其定義如式(3)所示:
Loss=-[yij·lgpij+(1-yij)·
lg (1-pij)],
(3)
pij是像素i被模型預(yù)測(cè)為j類的概率,yij是樣本實(shí)際標(biāo)簽,如果像素點(diǎn)i屬于j類,取值為1,否則取值為0。
本文數(shù)據(jù)集目標(biāo)地物類別有4類(不包括“其他”類),在表1中樣本數(shù)量較少的道路和水體分別占6.5%和6.6%,而建筑和植被則占到了24.8%和32.6%。使用具有類別不均衡問(wèn)題的數(shù)據(jù)作為訓(xùn)練集,網(wǎng)絡(luò)在訓(xùn)練過(guò)程中擬合過(guò)的各地物類別的像素?cái)?shù)量不同,影響了其對(duì)不同類別像素分割的準(zhǔn)確率。在圖片分類問(wèn)題中,往往通過(guò)數(shù)據(jù)增強(qiáng)的方式使不同類別圖片在數(shù)量上實(shí)現(xiàn)均衡。但遙感圖像地物分類不同于圖片分類任務(wù),一幅遙感圖像中的標(biāo)簽信息并非單個(gè)類別值,而是一幅二維平面上的類別分布圖。在實(shí)驗(yàn)中發(fā)現(xiàn),僅是通過(guò)數(shù)據(jù)增強(qiáng)的方法增加小類別圖片的數(shù)量對(duì)模型的分割精度沒(méi)有相應(yīng)提高,因此對(duì)遙感圖像的類別不均衡問(wèn)題應(yīng)該考慮通過(guò)在損失函數(shù)中添加權(quán)重項(xiàng)進(jìn)行類別均衡。通過(guò)為小類別像素賦予更大的權(quán)重值,為大類別賦予較小的權(quán)重值,可縮小在模型訓(xùn)練中不同地物類別像素計(jì)算損失函數(shù)平均值的差距。
本網(wǎng)絡(luò)采用根據(jù)樣本不同地物類別比例作為權(quán)重項(xiàng)的加權(quán)交叉熵作為模型的損失函數(shù),其定義如式(4)所示:
Loss=-[wijyijlgpij+(1-yij)lg (1-pij)],
(4)
pij是像素i被模型預(yù)測(cè)為j類的概率。yij是樣本實(shí)際標(biāo)簽,如果像素點(diǎn)i屬于j類,取值為1,否則取值為0。wij是權(quán)重系數(shù),n為樣本總像素?cái)?shù),nij為像素點(diǎn)i屬于j類的像素?cái)?shù)。
本文所改進(jìn)的DL-Unet網(wǎng)絡(luò)模型結(jié)構(gòu)如圖5所示。該網(wǎng)絡(luò)包含9個(gè)卷積級(jí)聯(lián)結(jié)構(gòu),每一個(gè)卷積級(jí)聯(lián)設(shè)置為圖3所示的擴(kuò)張率為1和2擴(kuò)張卷積序列,在卷積運(yùn)算后加入BN層[15]。在網(wǎng)絡(luò)的編碼器部分,每個(gè)卷積層的卷積核尺寸為3×3,過(guò)濾器(Filter)深度為64。每?jī)蓚€(gè)卷積級(jí)聯(lián)之間有一個(gè)窗口大小為2×2、步長(zhǎng)為2的最大池化層(Maxpooling)。網(wǎng)絡(luò)的解碼器結(jié)構(gòu)與編碼器結(jié)構(gòu)完全對(duì)稱,卷積層的卷積核大小和過(guò)濾器深度與編碼器部分相同。每?jī)蓚€(gè)卷積級(jí)聯(lián)之間有一個(gè)窗口大小為2×2、步長(zhǎng)為2的上采樣層(Upsampling)。編碼器和解碼器部分相對(duì)應(yīng)的卷積層采用跳躍連接的方式融合特征信息。
圖5 DL-Unet模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 DL-Unet model network structure
遙感圖像地物分類是一種圖像分割問(wèn)題,其本質(zhì)上是一種圖像像素分類。對(duì)分類后的遙感圖像,可以使用像素準(zhǔn)確率(Pixel Accuracy,PA)、平均像素準(zhǔn)確率(Mean Pixel Accuracy,MPA)與平均交并比(Mean Intersection over Union,MIoU)等[16]常見的分類評(píng)價(jià)指標(biāo)來(lái)評(píng)估模型好壞。評(píng)價(jià)每個(gè)像素的預(yù)測(cè)輸出結(jié)果,即該像素分類結(jié)果取真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)4種結(jié)果中的一種,然后根據(jù)這4個(gè)指標(biāo)計(jì)算,為了便于解釋,假設(shè)k+1表示類別數(shù)量(其中包含一個(gè)空類或背景),pij表示假正例的像素?cái)?shù)量,pji表示假負(fù)例的像素?cái)?shù)量,pii表示真正例的像素?cái)?shù)量。PA表示預(yù)測(cè)正確的像素占總像素的比例,定義如式(5)所示:
(5)
k+1表示類別數(shù)量(其中包含一個(gè)空類或背景)。
MPA表示分別計(jì)算每個(gè)類別分類正確的像素?cái)?shù)占所有預(yù)測(cè)為該類別像素比例的平均值,定義如式(6)所示:
(6)
k+1表示類別數(shù)量(其中包含一個(gè)空類或背景)。
MIoU的定義為:將標(biāo)簽圖像和預(yù)測(cè)圖像看成是兩個(gè)集合,計(jì)算兩個(gè)集合的交集和并集的比值,將所有類別計(jì)算得出的比值取平均。定義如式(7)所示:
(7)
k+1表示類別數(shù)量(其中包含一個(gè)空類或背景)。
實(shí)際為每一類地物目標(biāo)訓(xùn)練了一個(gè)二分類模型,共得到植被、道路、建筑、水體的分割模型。在上述的實(shí)驗(yàn)環(huán)境下對(duì)圖5所示的網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練。實(shí)驗(yàn)將數(shù)據(jù)集按5∶1比例進(jìn)行劃分,即75 000張圖像作為訓(xùn)練集,25 000張圖像作為驗(yàn)證集。模型訓(xùn)練采用批處理方式,每一個(gè)batch輸入16張圖片,完成一個(gè)epoch需要6 250個(gè)batch,設(shè)定模型完成30次epoch。模型基于keras 框架使用GPU 進(jìn)行訓(xùn)練,優(yōu)化器設(shè)置為Adam(Adaptive moment estimation),評(píng)價(jià)指標(biāo)為準(zhǔn)確率(Accuracy),使用加權(quán)的交叉熵?fù)p失函數(shù)。在模型訓(xùn)練的過(guò)程中設(shè)定監(jiān)視對(duì)象為val_acc,當(dāng)val_acc 最大時(shí)自動(dòng)保存最優(yōu)權(quán)值,保存在最優(yōu)權(quán)重下的模型。訓(xùn)練過(guò)程中的學(xué)習(xí)率設(shè)置為0.001。如圖6所示 ,隨著迭代次數(shù)的增加,訓(xùn)練集和驗(yàn)證集的準(zhǔn)確率與損失變化趨于平緩,表明模型達(dá)到了最優(yōu)。
圖6 訓(xùn)練過(guò)程Fig.6 Training process
將訓(xùn)練好的各類模型分別對(duì)測(cè)試圖像進(jìn)行植被、道路、建筑和水體的預(yù)測(cè),共得到4幅預(yù)測(cè)好的子圖。由于測(cè)試圖像尺寸較大,需要將其分割為256×256 大小的多張圖片進(jìn)行預(yù)測(cè),然后根據(jù)其位置再進(jìn)行拼接成一幅完整的預(yù)測(cè)圖。在合并4幅分割好的各類別子圖時(shí),使用相對(duì)多數(shù)投票的策略,即判定該像素的類別為4幅子圖中出現(xiàn)次數(shù)最多的類別。如果某一像素點(diǎn)類別判定出現(xiàn)次數(shù)相同的情況時(shí),則按照植被>道路>建筑>水體的優(yōu)先級(jí)來(lái)確定該像素點(diǎn)的類別。遙感圖像地物分割的流程如圖7所示。
圖7 遙感圖像地物分割流程圖 Fig.7 Remote sensing image feature segmentation flowchart
將預(yù)測(cè)出的結(jié)果寫入灰度圖中,像素值介于0~4 之間,為了便于觀察,將每個(gè)像素值可視化為不同的顏色,如表2所示。
表2 數(shù)據(jù)可視化轉(zhuǎn)換表Tab.2 Data visualization conversion table
在上述實(shí)驗(yàn)條件下分別使用了經(jīng)典的語(yǔ)義分割網(wǎng)絡(luò)FCN-8s、DeconvNet、SegNet、U-Net和本文提出的方法進(jìn)行訓(xùn)練和預(yù)測(cè),各方法分割完成并可視化的結(jié)果如圖8所示。
圖8 測(cè)試圖片分割結(jié)果Fig.8 Test image segmentation results
不同分割模型的各個(gè)地物類別的像素準(zhǔn)確率(PA)如表3所示,各個(gè)模型在測(cè)試集上的平均像素準(zhǔn)確率(MPA)和均交并比(MIoU)如表4所示。
從預(yù)測(cè)圖和表3可以看出,本文的分割方法相較于多分類U-Net網(wǎng)絡(luò)對(duì)于植被的像素準(zhǔn)確率提高了3.30%,道路的像素準(zhǔn)確率提高了5.40%,建筑的像素準(zhǔn)確率提高了5.22%,水體的像素準(zhǔn)確率提高了6.42%。從表4可以看出,本文的分割方法相較于U-Net網(wǎng)絡(luò)在測(cè)試集上的平均像素準(zhǔn)確率和均交并比分別提高了5.94%和9.45%。
表3 各個(gè)地物類別的像素準(zhǔn)確率Tab.3 Pixel accuracy of each feature category
表4 不同模型的測(cè)試結(jié)果Tab.4 Test results of different models
在使用上述的數(shù)據(jù)集外,我們新增加了2020 CCF BDCI 遙感影像地塊分割比賽的部分?jǐn)?shù)據(jù)集來(lái)進(jìn)行實(shí)驗(yàn)。該數(shù)據(jù)集包含20 000張分辨率為2 m/pixel、尺寸大小為256×256的原始圖和20 000張包含建筑、耕地、林地、水體、道路、草地、其他、未標(biāo)注區(qū)域這8個(gè)類別語(yǔ)義標(biāo)簽的標(biāo)簽圖。為了更好地符合本文網(wǎng)絡(luò)的輸入,將耕地、草地、林地歸為植被類別,將未標(biāo)注區(qū)域歸為其他類。
按3.2節(jié)所提的實(shí)驗(yàn)條件分別使用了經(jīng)典的語(yǔ)義分割網(wǎng)絡(luò)FCN-8s、DeconvNet、SegNet、U-Net和本文提出的方法進(jìn)行訓(xùn)練和預(yù)測(cè),各個(gè)模型在測(cè)試集上的平均像素準(zhǔn)確率(MPA)和均交并比(MIoU)如表5所示。
表5 在CCF BDCI數(shù)據(jù)集上的不同模型的測(cè)試結(jié)果Tab.5 Test results of different models on CCF BDCI database
從表4和表5可以看出本文方法在兩個(gè)不同的遙感圖像數(shù)據(jù)集上的平均像素準(zhǔn)確率和均交并比優(yōu)于U-Net和其他3種語(yǔ)義分割網(wǎng)絡(luò)。
本文提出了一種基于U-Net網(wǎng)絡(luò)改進(jìn)的全卷積神經(jīng)網(wǎng)絡(luò)分割方法,對(duì)遙感圖像實(shí)現(xiàn)了像素級(jí)別的分類。在保留了U-Net優(yōu)點(diǎn)的同時(shí),采用擴(kuò)張卷積級(jí)聯(lián)方式能考慮更多圖像上下文信息并且不會(huì)增加網(wǎng)絡(luò)的計(jì)算量。同時(shí)為了克服樣本不均衡帶來(lái)的模型選擇偏好問(wèn)題,本文采用了根據(jù)數(shù)據(jù)集地物類別比例來(lái)設(shè)置權(quán)重項(xiàng)的加權(quán)交叉熵作為模型的損失函數(shù)。對(duì)每一個(gè)地物類別都分別訓(xùn)練了一個(gè)二分類模型,然后采取相對(duì)多數(shù)投票策略并設(shè)置地物類別優(yōu)先級(jí)的方法有效提升了預(yù)測(cè)圖在各個(gè)地物類別的像素準(zhǔn)確率(PA)。該模型的預(yù)測(cè)結(jié)果在平均像素準(zhǔn)確率(MPA)和均交并比(MIoU)上相較于經(jīng)典U-Net和SegNet有一定提升。實(shí)驗(yàn)結(jié)果表明,本文所提出的方法能夠較精確地分割地物目標(biāo),達(dá)到比較好的效果。
但因硬件設(shè)備計(jì)算能力有限,模型的batchsize參數(shù)并不能設(shè)置得比較大,這影響了邊緣分割的精細(xì)度。后續(xù)的研究將探索如何在進(jìn)一步減少模型的參數(shù)情況下增加模型邊緣分割的精度。