關(guān)世杰,劉繼豪,姜月秋
(沈陽理工大學(xué), 沈陽 110159)
隨著遙感技術(shù)的快速發(fā)展,遙感圖像的分辨率越來越高,含有豐富地表信息的遙感圖像在農(nóng)業(yè)生產(chǎn)、環(huán)境監(jiān)測、城市規(guī)劃、氣象預(yù)測、應(yīng)急減災(zāi)、軍事安全等領(lǐng)域得到了廣泛的應(yīng)用[1-4]。作為圖像分割[5]中的一個分支,語義分割越來越多地應(yīng)用在遙感圖像的處理上。對遙感圖像進行語義分割就是對圖像中的每一個像素進行分類標注,從而將圖像上的地物和物品等提取出來,為圖像的進一步識別、量測以及分析等打好基礎(chǔ)。語義分割的方法有許多種,在早期以傳統(tǒng)語義分割方法為主,包括基于閾值的圖像分割技術(shù)、基于邊緣的圖像分割技術(shù)、基于區(qū)域的圖像分割技術(shù)以及基于特定理論的圖像分割技術(shù)[6],這類方法的參數(shù)需要人工調(diào)整,比較耗費時間和人力并且精確度不高,在大數(shù)據(jù)集和復(fù)雜圖像環(huán)境場景下已經(jīng)較少使用了。近幾年來,深度學(xué)習(xí)[7]獲得了飛速的發(fā)展,神經(jīng)網(wǎng)絡(luò)的表征能力不斷提高,基于深度學(xué)習(xí)的語義分割方法成為了主流[8]。2015年,Jonathan Long等[9]提出全卷積網(wǎng)絡(luò)(fully convolutional networks,FCN),它將傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的全連接層替換為卷積層,使用上采樣將圖像恢復(fù)到原尺寸大小進行像素級的分割,第一次將端到端的卷積網(wǎng)絡(luò)引入到語義分割任務(wù)中。在FCN的基礎(chǔ)上,2015年Olaf Ronneberger等[10]提出了U-Net網(wǎng)絡(luò),采用了對稱的編解碼結(jié)構(gòu)結(jié)合特征融合,在小數(shù)據(jù)集上也有良好的表現(xiàn)。隨后在2016年,Badrinarayanan等[11]提出了SegNet網(wǎng)絡(luò)[11],該網(wǎng)絡(luò)基于編碼-解碼結(jié)構(gòu),在上采樣中使用最大池化索引,在分割任務(wù)中有不錯的效果。
這些經(jīng)典語義分割網(wǎng)絡(luò)應(yīng)用在遙感圖像的語義分割中時,由于遙感圖像上目標尺度大小不一,邊緣細節(jié)復(fù)雜,包含較多的語義信息的特點[12],在小目標以及邊緣細節(jié)上的分割精度不夠理想。針對這些問題,對SegNet網(wǎng)絡(luò)進行了改進,引入ELU激活函數(shù)和金字塔池化模塊[13],選擇性丟棄池化等來提升模型在遙感圖像上分割的準確性。
為了提升在遙感圖像上的分割精度,在SegNet的基礎(chǔ)上設(shè)計了EP-SegNet網(wǎng)絡(luò)。經(jīng)典的SegNet網(wǎng)絡(luò)基于對稱的編碼-解碼結(jié)構(gòu),編碼器分為5個卷積組,每組由same卷積、批歸一化、ReLU激活和最大池化操作組成,在池化時記錄最大值的索引。解碼器與編碼器對稱,由上采樣和卷積操作組成,在上采樣時利用編碼時的最大池化索引,逐步將圖像恢復(fù)到原尺寸大小,最后連接softmax層預(yù)測每個像素所屬類別。SegNet網(wǎng)絡(luò)結(jié)構(gòu)如圖 1所示。
圖1 SegNet網(wǎng)絡(luò)結(jié)構(gòu)
SegNet使用的激活函數(shù)ReLU是神經(jīng)網(wǎng)絡(luò)中最常用的激活函數(shù),具有形式簡單,計算復(fù)雜度低,可以增大稀疏性,能夠避免梯度消失等優(yōu)點,但會出現(xiàn)神經(jīng)元死亡的問題,而且 ReLU 函數(shù)的輸出是非零中心化的,給后一層的神經(jīng)網(wǎng)絡(luò)引入偏置偏移,會影響梯度下降的效率。針對這些問題,EP-SegNet使用ELU作為激活函數(shù)。ELU激活函數(shù)不會導(dǎo)致神經(jīng)元死亡,可以避免梯度消失和梯度爆炸,而且ELU可以輸出負值,使輸出的平均值接近 0,從而使均值向零加速學(xué)習(xí)。這樣進一步增強了網(wǎng)絡(luò)的穩(wěn)定性和收斂速度,減少了訓(xùn)練時間。為了降低空間信息的損耗,EP-SegNet去掉了SegNet編碼器最后一層池化,增強模型對細節(jié)的感受能力,改善對小尺寸目標的分割效果。針對去掉池化層后參數(shù)量的上升,EP-SegNet在編碼器和解碼器連接處構(gòu)建了Bottleneck層,減少了參數(shù)量并拓展了網(wǎng)絡(luò)深度。為了進一步適應(yīng)遙感圖像多尺度特點,提升對全局信息的感知,EP-SegNet在deeplab v3[14]的啟發(fā)下引入了金字塔池化模塊。
EP-SegNet的網(wǎng)絡(luò)結(jié)構(gòu)如圖 2所示。編碼器分為5個卷積組,共有13個3×3卷積核,4個步長為2的2×2最大池化層,解碼器與編碼器對稱,同樣分為5個卷積組,包含13個3×3卷積核,4個上采樣層。在編碼器和解碼器之間構(gòu)建1×1卷積層和金字塔池化模塊。
圖2 EP-SegNet網(wǎng)絡(luò)結(jié)構(gòu)
EP-SegNet的編碼器沿用了SegNet的卷積組結(jié)構(gòu),在卷積時使用same卷積以使卷積后的圖像長寬大小不變,在進行最大池化操作時記錄最大值的索引,以便解碼器進行上采樣時將最大值還原到原位置,以此補充丟失的空間語義信息。卷積后的特征圖經(jīng)過ELU激活函數(shù)來使特征非線性化。ELU激活函數(shù)的表達式為:
式中,α為需要指定的常數(shù)。當x的值小于0時,ELU的輸出值不為0,因此不會出現(xiàn)神經(jīng)元死亡的情況,也可以避免梯度消失和爆炸,同時減少偏置偏移的影響,由此加快了模型的收斂。
解碼器和編碼器的結(jié)構(gòu)是對稱的,由上采樣和卷積組成,上采樣過程中利用了最大池化索引。在編碼器和解碼器之間構(gòu)建了Bottleneck層,使用1×1的卷積核來對編碼器圖像的細節(jié)特征進行進一步提取,同時減少因去除編碼器最后一層池化導(dǎo)致的參數(shù)量上升。使用Bottleneck層前后輸出的參數(shù)量用公式表示為:
式中:X和X′分別表示編碼器輸出的參數(shù)量和加入Bottleneck層后的參數(shù)量;Fli表示第i層卷積核大小;Fci表示第i層卷積核個數(shù);li表示第i層神經(jīng)元;ci表示第i個卷積核;h表示輸入特征圖的深度;F表示1×1卷積核的個數(shù),因通常F 除了Bottleneck,模型還構(gòu)建了金字塔池化模塊,可將編碼器輸出的圖像作為輸入,經(jīng)過不同尺度的最大池化操作后分別對得到的不同尺寸的特征圖進行卷積和上采樣,最后將連接圖像和解碼器輸出的圖像再做連接,通過對不同區(qū)域上下文信息進行聚合來提高模型對全局信息的感知,進而提升對遙感圖像的識別精度。其結(jié)構(gòu)如圖3所示。 圖3 PPM網(wǎng)絡(luò)結(jié)構(gòu) PPM對特征圖像做1×1、2×2、4×4以及8×8的最大池化操作,然后用深度為128的卷積核對結(jié)果進行卷積,激活函數(shù)為ELU,最后使用雙線性插值方法對特征圖像進行上采樣,并對數(shù)據(jù)進行恢復(fù)。 在編碼器的后面連接的是Sotmax分類器,根據(jù)輸入特征圖像預(yù)測出每個像素所屬類別。 在Tensorflow+Keras的框架下進行模型程序化,實驗的硬件環(huán)境及軟件配置如表1所示。 表1 硬件環(huán)境及軟件配置 實驗的數(shù)據(jù)集來自于“CCF大數(shù)據(jù)與計算智能大賽”[15]的公開數(shù)據(jù)集2015年中國南方農(nóng)村無人機遙感影像。數(shù)據(jù)集共分為5類,分別為水體、植被、道路、建筑及其他。通過對原始圖像進行256×256像素大小的隨機切割并進行旋轉(zhuǎn)、翻轉(zhuǎn)、縮放等操作對數(shù)據(jù)集進行增強,將數(shù)據(jù)集的大小擴充為50 000張圖片。訓(xùn)練集和驗證集按照4∶1的比例進行劃分,即訓(xùn)練集40 000張,驗證集10 000張。數(shù)據(jù)集樣本如圖4所示。圖像由原大尺寸高分辨率圖像以256×256大小隨機切割后進行增強而得,圖中植被、道路、建筑、水體等景物清晰可見。 圖4 遙感圖像數(shù)據(jù)集示例 圖5 各模型的Accuracy/Loss曲線圖 對模型進行訓(xùn)練的優(yōu)化器使用了Adam,epoch設(shè)置為30次,初始學(xué)習(xí)率設(shè)置為0.01,Batch Size設(shè)置為16。 在所設(shè)置的參數(shù)條件下將模型在數(shù)據(jù)集上進行了訓(xùn)練,實驗中將原始SegNet作為對比在相同的遙感數(shù)據(jù)集下進行訓(xùn)練。實驗采用常用的準確率(Accuracy),精確率(Precision)和召回率(Recall)作為實驗結(jié)果的評價指標。 精確率反映了在所有被預(yù)測為正的樣本中實際為正的樣本概率。它的表達式為: 式中:TP代表預(yù)測值是真且真實值是真的像素點;FP代表預(yù)測值是真而真實值是假的像素點。顯然p越大表示類別預(yù)測正確的像素點在樣本中所占的比重越大,分割的結(jié)果越準確。 召回率反映了在所有預(yù)測為正的樣本中真正為正的占總體實際為正的樣本的比例。它的表達式為: 式中:FN代表預(yù)測值是假而真實值是真的像素點。顯然r越大代表預(yù)測的正確率越高。 2.3.1各網(wǎng)絡(luò)模型Accuarcy-Loss結(jié)果分析 通過統(tǒng)計訓(xùn)練過程中輸出的評價指標繪制了EP-SegNet和原始SegNet的訓(xùn)練日志表來反映2種模型在遙感圖像上訓(xùn)練的表現(xiàn)情況。日志表的具體內(nèi)容如表2所示。其中acc代表訓(xùn)練準確率,acc_val代表驗證準確率,loss代表訓(xùn)練損失值,loss_val代表驗證損失值。從表2中可以看出在每輪訓(xùn)練迭代中,EP-SegNet在訓(xùn)練集和驗證集上的accuarcy及l(fā)oss指標總體上要優(yōu)于SegNet,且準確率的提升和損失值的下降速度更快。在經(jīng)過了30輪迭代后,EP-SegNet的訓(xùn)練集accuracy達到97.48%,比SegNet高出3.31%,驗證集accuracy達到93.68%,高出SegNet2.36%,訓(xùn)練集loss下降到0.06,比SegNet低0.03,驗證集loss下降到0.19,比SegNet低0.03。 表2 訓(xùn)練日志 作為對比,實驗中引入了同樣基于編碼-解碼結(jié)構(gòu)的常用語義分割網(wǎng)絡(luò)UNet,統(tǒng)計實驗數(shù)據(jù)繪制的EP-SegNet,UNet和SegNet的Accuracy-Loss曲線圖如圖 5所示。從圖中可以直觀地看出,雖然UNet的曲線平滑而穩(wěn)定,但在迭代中其性能提升較為緩慢且收斂后的準確率和損失值表現(xiàn)不如其他2種模型。SegNet的性能提升較快且收斂效果與UNet相比有了較大的提升,但其驗證集Accuracy-Loss曲線在收斂前震蕩較大,不夠穩(wěn)定。與SegNet相比,EP-SegNet曲線整體較為平滑,收斂速度稍快于SegNet。正是由于添加了Bottleneck層,減少了模型的參數(shù)量,使得模型在保證精確率的同時加快了計算速度降低了內(nèi)存占用,同時模型使用的激活函數(shù)ELU能夠避免神經(jīng)元死亡,在負特征值的輸出不為0,這就減小了偏置偏移的影響,使得特征的均值更加接近0,提升了擬合速度,從而加快了模型收斂,提升了模型穩(wěn)定性。金字塔模塊和去池化層可以提升模型提取全局信息的能力,減少了細節(jié)損失,從而提高了EP-SegNet分割結(jié)果的準確性。 為了更加全面的評價模型的表現(xiàn),實驗對比了UNet、SegNet和EP-SegNet模型在精確度和召回率指標在每個類別的表現(xiàn)情況,如表3所示。表中U代表UNet模型,S代表SegNet模型,EP代表EP-SegNet模型。由表可以看出EP-SegNet在各類別分割中的表現(xiàn)最優(yōu)。 表3 各模型性能對比(%) 網(wǎng)絡(luò)模型EP-SegNet和SegNet以及UNet在遙感圖像上的分割結(jié)果可視化后如圖6所示。其中,圖6(a)為原始遙感圖像,圖6(b)為標簽圖像,圖6(c)為UNet分割結(jié)果,圖6(d)為SegNet分割結(jié)果,圖6(e)為EP-SegNet分割結(jié)果。圖中用紅色框線框出了幾個有代表性的區(qū)域來進行分析說明。從分割結(jié)果圖中可以看出UNet存在較多的誤分、漏分現(xiàn)象,對小目標分割結(jié)果不夠理想,比如圖6(c)中最右側(cè)框線區(qū)域里,UNet未能識別道路類型而將其歸為其他,同樣地在最下側(cè)框線區(qū)域里,對于小目標的道路UNet也將其歸為了其他類型,同時對邊緣分割效果也不佳,如圖中最左側(cè)框線區(qū)域里對矩形其他類型區(qū)域的分割。EP-SegNet的分割結(jié)果與SegNet相比有比較明顯的提升,對邊緣細節(jié)和小目標的分割得到了改善,能夠更好地適應(yīng)多尺度目標分割,比如中間框線區(qū)域里對類型為其他的矩形區(qū)域的分割,EP-SegNet的分割結(jié)果接近標準的矩形,邊緣平整光滑,而SegNet的分割結(jié)果的邊緣細節(jié)不夠理想,平滑性較差,在最右側(cè)框線區(qū)域里對湖泊的分割結(jié)果也是如此,EP-SegNet分割的準確性也得到了提升,如在最右側(cè)框線區(qū)域里和最上側(cè)框線區(qū)域里,SegNet分別將其他類型的區(qū)域錯分為了植被類型和道路類型??梢娊鹱炙鼗亩喑叨忍卣魈崛『腿诤弦约皩Τ鼗瘜拥倪x擇性丟棄使得EP-SegNet對全局特征和細節(jié)特征的提取能力得到增強,提升了分割精度。 圖6 各網(wǎng)絡(luò)模型分割結(jié)果 通過對SegNet模型進行改進,提出了EP-SegNet來對遙感圖像進行語義分割。該模型通過添加Bottleneck層,選擇性丟棄池化層,使用ELU激活函數(shù),引入金字塔池化模塊,提升了對全局特征的提取能力,增強了對細節(jié)信息的感知能力,提高了模型的穩(wěn)定性,加快了收斂速度,在遙感圖像的語義分割中有更良好的表現(xiàn)。其更加精確的分割結(jié)果為遙感圖像在各領(lǐng)域的應(yīng)用提供了良好的基礎(chǔ)。2 實驗
2.1 實驗數(shù)據(jù)集
2.2 參數(shù)設(shè)置
2.3 實驗結(jié)果及分析
2.3.2 各網(wǎng)絡(luò)模型分割結(jié)果展示
3 結(jié)論