楊旭勃,田金文
(華中科技大學(xué)人工智能與自動化學(xué)院,湖北 武漢 430074)
通過遙感圖像可獲取地面信息,建筑物作為重要地面目標(biāo),及時精確地獲取建筑物信息對于地圖測繪、土地資源利用、國防安全等都有重要的作用。在深度學(xué)習(xí)技術(shù)之前的傳統(tǒng)遙感圖像中,建筑物提取方法主要是基于人工特征,提取結(jié)果嚴(yán)重依賴于人的先驗知識,主要包括利用形狀和光譜等信息實現(xiàn)建筑物的自動提取[1-2]。但由于建筑物結(jié)構(gòu)和紋理的復(fù)雜性,這些方法精度低、缺乏泛化能力,尤其對于小型建筑物目標(biāo)的提取結(jié)果較差。近年來,隨著以CNN為代表的深度學(xué)習(xí)技術(shù)的出現(xiàn),計算機視覺領(lǐng)域有了長足的進(jìn)步。卷積神經(jīng)網(wǎng)絡(luò)的特征提取器和分類器能利用輸入圖像自動地端到端進(jìn)行訓(xùn)練,被證明是可以替代手工構(gòu)造特征的方法,并具有良好的泛化能力,全連接網(wǎng)絡(luò)已應(yīng)用于城市場景分割和醫(yī)學(xué)影像分割等領(lǐng)域[3-4]。
從遙感影像中提取建筑物屬于語義分割問題,衛(wèi)星圖像建筑物數(shù)據(jù)集通常數(shù)量較小但尺寸較大,基于全連接網(wǎng)絡(luò)的語義分割方法將圖像切塊增強之后進(jìn)行訓(xùn)練。文獻(xiàn)[5]和文獻(xiàn)[6]分別將改進(jìn)后的FCN[3]和U-Net[4]用于遙感影像的建筑物提取,但是這些方法的網(wǎng)絡(luò)較深,最后層神經(jīng)元的感受野較大,比較適合城市場景中密集大型建筑物的分割,而對于包含較少和較小建筑物目標(biāo)的自然場景并不適用。在實際應(yīng)用中,小型建筑物目標(biāo)的提取在判斷野外建筑物違建、敵國邊境建筑物新建情況等國土監(jiān)測和國防安全方面有著重要意義。這就要求算法對小目標(biāo)敏感,能夠快速地從頭開始訓(xùn)練,得到輕量化的模型,推理準(zhǔn)確且快速?;谶@種應(yīng)用場景,本文提出一種用于分割提取小數(shù)據(jù)中小型建筑物的基于全卷積網(wǎng)絡(luò)的輕量化分割網(wǎng)絡(luò)ZF-FCN。
卷積網(wǎng)絡(luò)是強大的視覺模型,可以產(chǎn)生特征層次結(jié)構(gòu)。FCN展示了端到端地訓(xùn)練的卷積網(wǎng)絡(luò)本身可以用于語義分割,構(gòu)建了完全卷積網(wǎng)絡(luò),該網(wǎng)絡(luò)接收任意大小的輸入并通過有效的推理和學(xué)習(xí)產(chǎn)生相應(yīng)大小的輸出,并定義了一種“跳過”連接,將來自深層粗糙的語義信息和淺層精細(xì)的局部信息相結(jié)合,從而生成準(zhǔn)確而詳細(xì)的分割圖[3]。
FCN的主要思路是把全連接層改為全卷積層,輸入一幅圖像后直接在輸出端得到每個像素所屬的類別,從而得到一個端到端的方法來實現(xiàn)圖像語義分割。其網(wǎng)絡(luò)有三大重要特征:特征通過跳過連接從不同層融合得到;全卷積層學(xué)習(xí)到的低分辨率語義信息特征圖通過上采樣恢復(fù)到原圖大小,保證了FCN網(wǎng)絡(luò)對任意大小輸入圖像的兼容性;可從分類網(wǎng)絡(luò)進(jìn)行知識遷移,即可用這些網(wǎng)絡(luò)的權(quán)重初始化全卷積網(wǎng)絡(luò)的特征提取層。
文獻(xiàn)[3]提出了3種采用不同“跳過”連接方式分割網(wǎng)絡(luò)——FCN-8 s,F(xiàn)CN-16 s,F(xiàn)CN-32 s,但近年來已有一系列如U-Net等基于全連接思想的分割網(wǎng)絡(luò)被提出[4]。
本文收集得到150張分辨率50 cm、1024×1024像素的RGB衛(wèi)星圖像,并對圖像中的建筑物進(jìn)行了語義標(biāo)注。數(shù)據(jù)集較有代表性:建筑物總數(shù)量少、建筑物總體較小但形狀和大小差異較大。將數(shù)據(jù)按照3∶1∶1的比例劃分為訓(xùn)練集、驗證集和測試集。
檢視訓(xùn)練集如圖1所示。從圖中可以發(fā)現(xiàn)對于本文任務(wù),數(shù)據(jù)集中建筑物目標(biāo)最大不超過32×32,而建筑物目標(biāo)周圍較小的區(qū)塊足以表征建筑物的存在,這一先驗知識可以用于數(shù)據(jù)集擴(kuò)展。文獻(xiàn)[5—6]分別采用了 256×256 及 224×224 的切塊進(jìn)行數(shù)據(jù)擴(kuò)增,這是由于二者中的基礎(chǔ)網(wǎng)絡(luò)FCN和U-Net網(wǎng)絡(luò)較深,感受野較大,不適合更小圖像塊的訓(xùn)練,因此更關(guān)注圖像的語義信息而非局部特征,這對于分割小目標(biāo)建筑物不利。
在訓(xùn)練階段,將圖像區(qū)塊作為訓(xùn)練數(shù)據(jù)進(jìn)行采樣,在測試階段,使用整個圖像作為輸入。這樣的訓(xùn)練策略對FCN結(jié)構(gòu)有特殊要求,尤其是位于頂層的神經(jīng)元的感受野不能太大。如果感受野較小,則會關(guān)注豐富的局域信息而不是全局的語義信息。因此本文選擇感受野較小的ZF網(wǎng)絡(luò)作為參考基礎(chǔ)網(wǎng)絡(luò)[7],僅使用前4層作為特征提取層,在特征提取層的末尾添加得分層,并且將所有卷積層的步長改為1。本文將原始網(wǎng)絡(luò)中的重疊池化更改為非重疊池化,這是因為前者導(dǎo)致后續(xù)層中的感受野更大。另外由于文獻(xiàn)[8]證明LRN的作用并不明顯,為了提高訓(xùn)練速度,需要提高數(shù)據(jù)并行程度,即使用較大的mini-batch,本文選擇Batch Normalization替代LRN[9]。最后,為了保持用于分類的特征圖的分辨率,在得分層之前插入一個上采樣層,通常認(rèn)為轉(zhuǎn)置卷積可以用于直接學(xué)習(xí)上采樣,但文獻(xiàn)[10]證明使用雙線性插值上采樣加3×3不變卷積效果更好[10]。ZF-FCN網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2中卷積和池化過程下方的(a,b,c)分別代表卷積核大小、Padding大小和步長。Pool1和Pool2均為最大池化。Upsample1上采樣到Pool1之后的特征層大小,Upsample2上采樣到輸入圖像大小,二者結(jié)構(gòu)均為將輸入特征層直接放大到目標(biāo)特征層大小的雙線性插值和保證可學(xué)習(xí)性的(3,1,1)不變卷積的結(jié)合。
對于二分類分割網(wǎng)絡(luò),評價指標(biāo)是像素交并比(IoU),二類交叉熵(binary cross entropy,BCE)損失通常是第一選擇。但由于在一個批次里每個像素的權(quán)重相同,優(yōu)化BCE損失并不等價于優(yōu)化IoU,需要考慮樣本不平衡問題。如果直接優(yōu)化IoU則會導(dǎo)致訓(xùn)練過程不穩(wěn)定,因此本文使用BCE損失和另一損失函數(shù)L′(w)的加權(quán)和,這樣既能解決樣本不平衡問題,又能更好地優(yōu)化IoU。該損失函數(shù)為
L(w)=(1-α)BCE(w)-αL′(w)
L′(w)即軟Jaccard損失函數(shù)J
數(shù)據(jù)集包含150張圖像?;谏衔牡南闰炛R,對于從圖1原圖中裁剪的區(qū)塊,可以很容易地判斷區(qū)塊是否包含建筑物區(qū)域及哪個像素屬于每個區(qū)塊中的建筑物??梢酝ㄟ^裁剪原始圖像中的區(qū)塊來擴(kuò)展數(shù)據(jù)集。上文中已經(jīng)提到,數(shù)據(jù)集中建筑物的大小不超過32×32,本文使用64、128、256三種區(qū)塊大小對訓(xùn)練集和驗證集進(jìn)行擴(kuò)增,步長均為區(qū)塊的一半。全連接網(wǎng)絡(luò)可以直接輸入任意大小的圖像,使用小圖像塊訓(xùn)練的模型也可以用以預(yù)測完整圖像,測試結(jié)果在30張測試原圖上得到。
IoU和像素準(zhǔn)確度(pixel accuracy,PA)是圖像分割領(lǐng)域的通用指標(biāo),建筑物提取屬于二類分割問題,定義如下
式中,TP代表正確分類的正樣本數(shù);FP表示被錯誤標(biāo)記為正樣本的負(fù)樣本數(shù);FN表示被錯誤標(biāo)記為負(fù)樣本的正樣本數(shù)。
同時本文使用Kappa系數(shù)對測試成果進(jìn)行評價[13],該指標(biāo)用于評價不平衡類別分類精度。
本文使用動量sgd訓(xùn)練ZF-FCN,訓(xùn)練在單塊GTX1080Ti顯卡上進(jìn)行[14]。對于64、128、256三種不同切塊大小的采樣方式,分別采用2048、512和64張的批量大小,學(xué)習(xí)率分別為1e-3、1e-4、1e-5。使用0.9的動量及5×10-4的權(quán)重衰減,ZF-FCN網(wǎng)絡(luò)采用Xavier初始化[15]。
作為對比,使用FCN和U-Net在64、128,256切塊數(shù)據(jù)集上均進(jìn)行了訓(xùn)練和測試。FCN特征提取層的網(wǎng)絡(luò)權(quán)重來自vgg16網(wǎng)絡(luò)對應(yīng)層[8]。最終結(jié)果表明,F(xiàn)CN-8 s和U-Net在128區(qū)塊上的結(jié)果遠(yuǎn)優(yōu)于另外兩種切塊方式,ZF-FCN網(wǎng)絡(luò)在64和128區(qū)塊上的結(jié)果接近且遠(yuǎn)優(yōu)于256區(qū)塊,如圖3、圖4、表1所示。由于本文對全圖測試,建筑物目標(biāo)占原圖比例較小,不便展示分割細(xì)節(jié),因此只在圖3中展示一張測試圖的全圖對比,在圖4中將各個模型對測試圖原圖預(yù)測結(jié)果包含建筑物部分裁剪出的多個128×128區(qū)塊進(jìn)行對比。結(jié)果顯示,F(xiàn)CN-8 s和U-Net模型的預(yù)測結(jié)果不具備準(zhǔn)確檢出建筑物形態(tài)的能力,而ZF-FCN的效果明顯優(yōu)于FCN-8 s和U-Net,能夠檢出建筑物形態(tài),對于建筑物邊緣細(xì)節(jié)的提取精度也較好。
表1 定量評價指標(biāo)對比 (%)
從表1可以看出,在128和64區(qū)塊上訓(xùn)練得到的ZF-FCN模型在3個評價指標(biāo)上十分接近,而FCN-8 s和U-Net模型較為接近,ZF-FCN在3個指標(biāo)上的結(jié)果都大幅領(lǐng)先FCN-8 s和U-Net。
本文分析了大型分割網(wǎng)絡(luò)對較小的建筑物目標(biāo)分割任務(wù)效果不佳的主要原因:較大的感受野和劇烈的上下采樣過程造成局部特征信息的缺失及樣本不平衡問題,提出了基于全連接思想的輕量化的ZF-FCN網(wǎng)絡(luò),在特征提取的過程中使用較小的感受野獲取更多局部信息,使用較少的最大池化操作避免劇烈的下采樣,并在上采樣的過程中使用雙線性插值和3×3相同卷積的結(jié)合替代轉(zhuǎn)置卷積,既保證上采樣的可學(xué)習(xí)性又避免轉(zhuǎn)置卷積中經(jīng)常出現(xiàn)的格子偽影問題。ZF-FCN網(wǎng)絡(luò)使用Lovász-Softmax損失解決了樣本不平衡問題,使網(wǎng)絡(luò)訓(xùn)練更穩(wěn)定也更好地優(yōu)化了交并比。由于網(wǎng)絡(luò)較為輕量,訓(xùn)練過程中的數(shù)據(jù)并行程度高,訓(xùn)練和預(yù)測速度快,這使網(wǎng)絡(luò)可進(jìn)一步應(yīng)用于機載或星載實時推理。試驗表明ZF-FCN在IoU、pixel accuracy和Kappa系數(shù)3項指標(biāo)上都遠(yuǎn)遠(yuǎn)優(yōu)于FCN-8s和U-Net網(wǎng)絡(luò)。除了小規(guī)模數(shù)據(jù)集的小型建筑物提取,本文方法適用于類似小規(guī)模數(shù)據(jù)集中小型目標(biāo)的分割提取任務(wù)。