陳國軍 尹 沖 滕一諾 王雯璇
(中國石油大學(xué)(華東)計算機科學(xué)與技術(shù)學(xué)院 青島 266580)
無人機圖像是遙感圖像的一種,近年來無人機因便攜性強、成本較低、成像效果好等優(yōu)點,成為高分辨率遙感數(shù)據(jù)采集的重要手段,在資源調(diào)查、監(jiān)測與分類等方面得到廣泛研究和應(yīng)用[1]。傳統(tǒng)算法會受到淺層特征學(xué)習(xí)的泛化和復(fù)雜函數(shù)的表示等方面的制約。深度學(xué)習(xí)從大量的數(shù)據(jù)中抽取層次特征,能夠反映底層到高層的特征映射關(guān)系。
卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,為圖像分割和分類提供新的思路。Long[2]等提出的FCN 將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到分割任務(wù)上。Ronneberger[3]等提出的U-Net用于醫(yī)學(xué)圖像分割,結(jié)構(gòu)簡單,樣本較少,訓(xùn)練速度快。Chen 等提出多個版本的DeepLab。DeepLabv1[4]使用不同采樣率的空洞卷積獲取更多的上下文信息,DeepLabv2 提出空洞空間金字塔池化方法(ASPP),DeepLabv3[5]在ASPP中增加1*1卷積和全局平均池化。
隨著大規(guī)模、真實世界數(shù)據(jù)集的迅速增加,長尾問題越來越普遍(少數(shù)類占了大部分數(shù)據(jù),而大多數(shù)類的代表性不足)[6]。類別重平衡大致劃分為兩大類,重采樣和重賦值[7~9]。這些方法通過樣本重采樣(數(shù)據(jù)增強,擴充少樣本),對損失重新賦權(quán)重調(diào)整網(wǎng)絡(luò)的訓(xùn)練,使得樣本分布與測試中的樣本分布接近。重平衡策略能促進分類學(xué)習(xí),在存在長尾問題的數(shù)據(jù)集中獲得識別準確率的提升[10~11]。
本文針對分割精度較低和數(shù)據(jù)長尾問題,并結(jié)合地物圖像特點在語義分割模型DeepLabv3 采取以下改進,將主干網(wǎng)絡(luò)ResNet101替換為ResNet152并添加預(yù)訓(xùn)練模型,調(diào)整ASPP的擴張率,采用類別平衡損失函數(shù)來解決數(shù)據(jù)集的長尾數(shù)據(jù)分布問題。應(yīng)用在包含多種地貌類型的高分辨率無人機地物圖像數(shù)據(jù)集上。通過訓(xùn)練得到有效的分割模型,并進行實驗以驗證其效果。
語義分割任務(wù)是將圖像中的每一個像素按照圖像中表達的語義的不同來進行分組和分類。本文采用的DeepLabv3 網(wǎng)絡(luò)作為基于FCN 的改良網(wǎng)絡(luò)模型在MS COCO、PASCAL VOC2012[12]等大型通用數(shù)據(jù)集上都取得了較好分割結(jié)果。DeepLabv3首先探索將空洞卷積級聯(lián)布局的結(jié)構(gòu),將ResNet[13]的部分結(jié)構(gòu)更改成空洞卷積,根據(jù)設(shè)定的值維持分辨率。具體的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 DeepLabv3網(wǎng)絡(luò)結(jié)構(gòu)
DeepLabv3 網(wǎng)絡(luò)中使用空洞卷積,可以讓卷積層在不降低空間維度和不增加參數(shù)量的情況下擴大卷積核的感受野[14],同時捕捉多尺度的上下文信息。
為取得更好的分割效果,針對數(shù)據(jù)集中存在的長尾問題和無人機地物圖像地貌區(qū)域間尺寸變化幅度小的特點,在Deeplabv3模型上做出以下改進:1)將原始主干網(wǎng)絡(luò)ResNet101 替換為ResNet152 并添加預(yù)訓(xùn)練模型。2)調(diào)整擴張卷積空間金字塔池化模塊的擴張率。3)采用類別平衡損失函數(shù)來解決數(shù)據(jù)集的長尾數(shù)據(jù)分布問題。
在傳統(tǒng)的深度學(xué)習(xí)網(wǎng)絡(luò)中,網(wǎng)絡(luò)深度的遞增,會造成網(wǎng)絡(luò)梯度性消失,甚至?xí)?dǎo)致梯度爆炸。在反向傳播期間,當誤差函數(shù)為迭代中的當前權(quán)重的求偏導(dǎo)數(shù)時,通過n 層網(wǎng)絡(luò)會導(dǎo)致小數(shù)乘n 變成零(消失),大數(shù)乘n變得特別大(爆炸)。
為解決消失/爆炸梯度的問題,ResNet[15]添加跳躍/短連接在幾個權(quán)重層之后將輸入x 加到輸出上,輸出H(x)=F(x)+x,如圖2所示。而權(quán)重層學(xué)習(xí)了一種殘差映射:F(x)=H(x)-x(反向傳播)即使權(quán)重層有梯度消失現(xiàn)象,仍然將x 轉(zhuǎn)移回較早的層。ResNet 引入了跳躍連接以適應(yīng)從前一層到下一層的輸入,無需修改輸入來實現(xiàn)更深的網(wǎng)絡(luò)。
圖2 ResNet的構(gòu)建模塊
針對地物圖像分割精度較低和ResNet 網(wǎng)絡(luò)的特點,增加網(wǎng)絡(luò)深度可以讓網(wǎng)絡(luò)獲得更多的抽象特征和語義信息。本文將主干網(wǎng)絡(luò)ResNet101 分別替換為淺層的ResNet50 和深層的ResNet152 網(wǎng)絡(luò)進行對比實驗,ResNet50 相當于ResNet101 的基礎(chǔ)上減少了第三層的卷積塊,而ResNet152 在ResNet101的基礎(chǔ)上加厚了第三層和第四層的卷積塊,如圖3 所示。通過多次實驗,ResNet50 的實驗結(jié)果相對ReNet101 較差,而ResNet152 相對ResNet101 的效果更好,于是本文使用ResNet152替換主干網(wǎng)絡(luò)后為進一步提高模型的性能,加快訓(xùn)練的速度,在訓(xùn)練網(wǎng)絡(luò)前加載ResNet152 預(yù)訓(xùn)練模型作為初始化,使模型更快地收斂。
圖3 ResNet50、ResNet101和ResNet152的對比
原始模型編碼器中,ASPP 模塊結(jié)構(gòu)由3 個擴張卷積和1 個全局池化連接組成,用以捕獲不同尺寸的目標。但是本文數(shù)據(jù)集中地物圖像經(jīng)過分割后,地貌區(qū)域間變化幅度小。原始模型中ASPP 模塊的擴張率組合為{6,12,18},大擴張率容易損失每個像素點和周圍像素點的關(guān)聯(lián)性,應(yīng)用在像素級分割任務(wù)上會造成分割精度降低。本文對原始的ASPP 模塊進行調(diào)整,通過多次實驗,最后{1,2,4}的擴張率組合效果最好。如圖4 所示,采用小的擴張率組合,來提高模型在地物圖像上的分割效果。
圖4 改進后ASPP結(jié)構(gòu)
數(shù)據(jù)集中各類地貌數(shù)據(jù)量占比明顯不同,會導(dǎo)致占比較少的地貌數(shù)據(jù)分類分割效果較差。為有效解決長尾數(shù)據(jù)分布問題,Yin Cui[16]提出了類別平衡損失函數(shù)的概念。類別平衡損失函數(shù)是對不同類別有效樣本數(shù)的加權(quán)策略從而重新計算平衡損失,獲得類別平衡損失因子,并將類別平衡因子應(yīng)用到損失函數(shù)中(Focal Loss[17],Softmax,Sigmoid等)。本文將原始模型的損失函數(shù)替換為類別平衡損失函數(shù)。
類別平衡損失函數(shù)用來處理數(shù)據(jù)不平衡的問題,方法是引入一個加權(quán)平衡因子αi,這個因子和有效樣本數(shù)成反比。假設(shè)有效樣本數(shù)為En,其中n表示樣本的總數(shù),已采樣n-1 個樣例,當采樣第n個樣例時,已采樣的數(shù)據(jù)量為En-1,那么新采樣數(shù)據(jù)有(N 為類別不同的數(shù)量)概率和之前的樣例重疊,經(jīng)過第n次采樣后,期望為
式(2)表明樣例的有效數(shù)據(jù)量是總數(shù)n 的指數(shù)函數(shù),超參數(shù)β∈[0,1) 控 制En隨著n 的 增長速度。并通過En的漸進性質(zhì)可以發(fā)現(xiàn):當N 很大時,有效數(shù)據(jù)量的大小等于樣本數(shù)n,這表明沒有數(shù)據(jù)重疊。當N=1時,則表明所有的數(shù)據(jù)都只有一個原型,其他數(shù)據(jù)都是從該原型經(jīng)過數(shù)據(jù)增強得到的。
輸入樣本X 標簽為γ∈{1,2,…,C},C 代表類…別,總pC數(shù)]T,。p假i∈[設(shè)0,模1]。型定得義到損的失概函率數(shù)分為布ε(ΡΡ,γ=)[,p假1,p設(shè)2,類別i的樣例數(shù)為ni,根據(jù)式(2)可知類別i有為保證總損失和之前一致,需要對權(quán)重因子歸一化,得到。為方便用示歸一化的權(quán)重因子,類別平衡損失可以表示為
訓(xùn)練集中類別為γ的數(shù)量。Focal Loss 通過添加一個調(diào)整因子γ和平衡因子α來減少易分類樣本的損失,關(guān)注比較難分類的樣例。假設(shè):
根據(jù)式(4),F(xiàn)ocal Loss的損失為
根據(jù)式(2)、(5),采用類平衡因子后對應(yīng)的損失為
實驗數(shù)據(jù)來源于山西省某高速公路及周邊地貌場景,通過無人機設(shè)備拍攝,得到尺寸大小為6000× 4000 的高分辨率圖像。如圖5 所示。為提升模型的訓(xùn)練速度,降低運算量,將圖像尺寸裁剪大小為513×513,裁剪后圖像共1430 幅。根據(jù)地貌特征進行劃分,使用labelme 標注工具進行標注,按照10∶1 的比例隨機劃分為訓(xùn)練集和測試集,最終訓(xùn)練集圖像1300 幅,測試集130 幅,數(shù)據(jù)集中存在8 個有效類別(田地、道路、建筑、公路、林地、濕地、荒地、水域)。標注后數(shù)據(jù)所占像素分布極不平衡,田地的覆蓋面積遠超過其他7類。
圖5 原始圖像
實驗在CentOS Linux release 7.4.1708環(huán)境下進行,基于Pytorch 開源深度學(xué)習(xí)框架并使用NVIDIA Tesla P100-PCIE 顯卡加速。模型訓(xùn)練階段采用動量為0.9 的隨機梯度下降算法進行優(yōu)化,權(quán)重衰減為0.0001,學(xué)習(xí)率為0.0003。
為客觀評價模型在無人機地物圖像上的分類與分割精度,使用平均交并比MIoU作為評價指標。平均交并比是語義分割模型的標準度量指標,定義如式(7)所示:
Pii為像素點i被預(yù)測為i的數(shù)量,Pij為像素點i被預(yù)測為j的數(shù)量,C為數(shù)據(jù)集不同類型數(shù)量。每一類別真實值像素集合和預(yù)測值像素集合的交集和并集的結(jié)果為交并比,所有類別的交并比的均值為平均交并比,該指標能夠反映模型在不同利用類型的地貌區(qū)域上分割的準確性和完整性。
不同模型在測試集上的結(jié)果如表1 所示。模型1,2 為采用相同參數(shù)訓(xùn)練的FCN 和U-Net 模型。模型3 為原始DeepLabv3 模型,模型5 是添加預(yù)訓(xùn)練模塊,模型4,6替換主干網(wǎng)絡(luò),模型7,8分別采用不同的擴張率進行對比,實驗結(jié)果表明ASPP為{1,2,4}的效果最佳,模型9,10,11 是類別平衡損失因子結(jié)合不同損失函數(shù)后的效果對比,使用類別均衡損失函數(shù)分割效果有明顯上升,MIoU達到70.8%。
表1 不同模型的實驗結(jié)果
圖6是在原始模型DeepLabv3基礎(chǔ)上添加其他模塊的對比結(jié)果。隨著迭代次數(shù)的增加原始模型收斂速度較慢,分割效果差;添加預(yù)訓(xùn)練、修改主干網(wǎng)絡(luò)、調(diào)整ASPP模塊后的效果都會略有提升;采用類別平衡損失函數(shù)后效果有明顯提升。本文最終模型為上述方法的結(jié)合。
圖6 消融實驗對比結(jié)果
本文利用多個模型在包含130 幅圖像的測試集上進行訓(xùn)練測試,部分結(jié)果如圖7 所示。經(jīng)過對比效果所示,使用Focal Loss 的類別平衡損失函數(shù)在地物圖像上分割和分類精度最高。盡管新模型取得了不錯的效果,但是實驗中仍會存在一些低質(zhì)量的分割結(jié)果,當原始圖像大范圍的變形或者出現(xiàn)遮擋現(xiàn)象時,模型分割結(jié)果會受到嚴重干擾。
圖7 不同模型的分割效果圖
針對地物圖像分割方法精度低、工程量大和制作數(shù)據(jù)集時普遍存在的長尾問題,本文提出了一種改進的無人機高分辨率地物圖像的語義分割方法。針對不同地貌類型區(qū)域進行分割,并提高分割精度。
該方法以DeepLabv3 為主要模型,針對無人機地物圖像的特點,將原始主干網(wǎng)絡(luò)ResNet101 替換為ResNet152 并添加預(yù)訓(xùn)練模型;采用ASPP 較小的擴張率組合;將交叉熵損失函數(shù)替換為類別平衡損失函數(shù)。最后在本文數(shù)據(jù)集上訓(xùn)練并通過測試集的分割效果來證明方法的有效性。實驗結(jié)果表明,該方法在測試集上平均交并比達到70.8%。但仍存在一些問題,首先訓(xùn)練模型的時效性還有待提升,其次當原始圖像發(fā)生大范圍的變形或者出現(xiàn)遮擋現(xiàn)象時,模型分割結(jié)果會受到干擾。針對這個問題需要進一步研究和實驗驗證。