王道累,杜文斌,劉易騰,張?zhí)煊睿瑢O嘉珺,李明山
(上海電力大學(xué)能源與機械工程學(xué)院,上海 200090)
隨著遙感技術(shù)的快速發(fā)展,高分辨率光學(xué)遙感圖像以其觀察面積大、范圍廣、不受國界和地理條件限制等特點而受到國內(nèi)外學(xué)者的廣泛關(guān)注。在森林防護、交通監(jiān)測、電力檢修、資源勘探、城建規(guī)劃等領(lǐng)域,遙感圖像檢測發(fā)揮著十分重要的作用,例如,通過檢測車輛目標(biāo)來進行交通秩序管理,通過檢測建筑房屋等目標(biāo)來為城市規(guī)劃提供依據(jù),通過檢測受災(zāi)房屋、道路、橋梁等目標(biāo)來評估受災(zāi)情況等[1]。傳統(tǒng)的遙感圖像檢測方法主要利用人工設(shè)計特征的方式提取特征信息然后訓(xùn)練分類器,通過滑動窗口獲取圖像區(qū)域,由分類器輸出預(yù)測結(jié)果[2]。這種檢測方法不僅消耗較多資源,檢測速度與準(zhǔn)確性往往也無法達到要求。
近年來,隨著計算機硬件與人工智能技術(shù)的不斷發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法因其適用性強、檢測效率高等優(yōu)點而得到廣泛應(yīng)用。基于深度學(xué)習(xí)的目標(biāo)檢測算法主要分為兩類:第一類為雙階段目標(biāo)檢測算法,以Faster R-CNN[3]、Mask R-CNN[4]等為代表;第二類為單階段目標(biāo)檢測算法,以SSD[5]、YOLO[6]、YOLO9000[7]、YOLOv3[8]等為代表。目前,深度學(xué)習(xí)在遙感圖像檢測應(yīng)用[9]中主要存在以下問題:遙感圖像分辨率較高,被檢目標(biāo)信息少,背景噪聲影響較大,使得一般的目標(biāo)檢測算法無法準(zhǔn)確提取原始圖像的特征信息,造成分類和定位困難;遙感圖像中的目標(biāo)普遍小而密集,尺寸較小的目標(biāo)在網(wǎng)絡(luò)學(xué)習(xí)過程中極易被忽略,導(dǎo)致網(wǎng)絡(luò)對小目標(biāo)的學(xué)習(xí)不足,降低了檢測的準(zhǔn)確率。
為解決上述問題,本文對YOLOv3 算法進行改進,建立一種基于密集連接與特征增強的目標(biāo)檢測模型。該模型使用改進的密集連接網(wǎng)絡(luò)作為主干網(wǎng)絡(luò),同時基于Inception[10]與RFB(Receptive Field Block)[11]擴大卷積感受野,并引入特征增強模塊和新型特征金字塔結(jié)構(gòu),從而增強淺層特征圖語義并改善模型對小目標(biāo)的檢測性能。
YOLOv3 是REDMON 等在2018 年提出的一種單階段目標(biāo)檢測算法,是目前應(yīng)用最廣泛的目標(biāo)檢測算法之一[8]。YOLOv3 的檢測框架如圖1 所示,其主要包括2 個部分:第一部分為基礎(chǔ)網(wǎng)絡(luò),采用DarkNet53,網(wǎng)絡(luò)包含5 個殘差塊(ResBlock),每個殘差塊由多個殘差結(jié)構(gòu)(Residual Structure)組成;第二部分為借鑒FPN(Feature Pyramid Networks)[12]設(shè)置的特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),其通過卷積和上采樣產(chǎn)生3 個具有豐富語義信息的特征圖,大小分別為13×13、26×26、52×52。在訓(xùn)練階段,網(wǎng)絡(luò)將圖像劃分為N×N個網(wǎng)格單元,每個網(wǎng)格單元輸出預(yù)測框的信息以及分類置信度從而完成檢測。
圖1 原始YOLOv3 框架Fig.1 Original YOLOv3 framework
現(xiàn)有一些研究人員將YOLOv3 應(yīng)用于遙感圖像檢測領(lǐng)域。李昕等[13]將空間變換網(wǎng)絡(luò)(SpatialTransformer Networks,STN)融入YOLOv3 算法中,以提升遙感圖像中油罐的檢測精度。鄭海生等[14]通過替換主干結(jié)構(gòu)和激活函數(shù)將YOLOv3 的參數(shù)量縮小為原始的1/15,實現(xiàn)了輕量級的遙感圖像檢測。沈豐毅[15]在原始YOLOv3 算法中引入壓縮激勵結(jié)構(gòu),通過權(quán)重差異提升模型對遙感圖像特征的敏感度。上述研究通過不同方法改進YOLOv3 模型,使其具有更好的表現(xiàn),但是都未能很好地解決遙感圖像中特征提取困難以及目標(biāo)尺度小的問題,這是由于YOLOv3 對小尺度目標(biāo)的檢測主要依賴位于淺層的特征圖,淺層特征圖的分辨率較高,空間位置信息豐富,但由于其處于網(wǎng)絡(luò)的淺層位置,沒有經(jīng)過足夠的處理,因此語義信息較少,特征表達能力不足。此外,YOLOv3 的主干網(wǎng)絡(luò)DarkNet53 在遙感圖像中無法取得較好的表現(xiàn),特征提取能力不足,導(dǎo)致檢測效果較差。
1.2.1 主干網(wǎng)絡(luò)改進
本文依據(jù)DenseNet121[16]提出一種新型的密集連接主干網(wǎng)絡(luò),網(wǎng)絡(luò)由閥桿模塊(Stem Block)和4 個密集連接塊(Dense Block)組成。閥桿模塊借鑒Inception v4 和DSOD(Deeply Supervised Object Detectors)[17]的思想,結(jié)構(gòu)如圖2 所示,該模塊可以有效提升特征表達能力,同時不會增加過多的計算成本,與DenseNet121 中的原始設(shè)計(首先是大小為7、步長為2 的卷積層,然后是大小為3、步長為2 的最大池化層)相比,多分支的處理可以大幅減少輸入圖像在下采樣過程中的信息損失。
圖2 閥桿模塊結(jié)構(gòu)Fig.2 Stem block structure
密集連接塊的基本組成為密集連接結(jié)構(gòu)(Dense Structure),其最顯著的特點是跨通道的特征連接方式,通過每一層與前面所有層建立連接,使誤差信號快速傳播到較淺層,加強整個網(wǎng)絡(luò)對特征信息的傳播,在提升特征提取能力的同時大幅降低網(wǎng)絡(luò)參數(shù)量。密集連接塊的計算可表示為:其中:xl表示第l層的輸出;Hl(·)表示非線性操作組合,包括BN 層、ReLU 和卷積層;δ[·]表示Concatenation 特征融合操作。
網(wǎng)絡(luò)的輸入大小為448×448 像素,在訓(xùn)練階段,輸入圖像首先經(jīng)過閥桿模塊處理,通過大尺度卷積與多分支處理以緩解圖像下采樣時尺度變化所帶來的損失,之后經(jīng)過密集連接塊得到4 個不同尺度的特征圖,其下采樣倍數(shù)分別為4、8、16、32。圖3所示為DarkNet、原始DenseNet 與本文改進主干網(wǎng)絡(luò)的結(jié)構(gòu)對比,其中,原始DarkNet53 輸入大小為416×416 像素,使用下采樣倍數(shù)為8、16、32 的特征圖預(yù)測,原始DenseNet121 作為主干網(wǎng)絡(luò),輸入大小為224×224 像素,使用下采樣倍數(shù)為8、16、32 的特征圖預(yù)測,改進的密集連接網(wǎng)絡(luò)輸入大小為448×448 像素,使用下采樣倍數(shù)為4、8、16、32 的特征圖預(yù)測。從圖3 可以看出,相較原始的DenseNet121,本文改進的主干網(wǎng)絡(luò)的輸入分辨率與預(yù)測特征圖分辨率更高,并通過閥桿模塊緩解了原始網(wǎng)絡(luò)輸入時信息損失過大的問題。同時,本文采用4 種預(yù)測尺度,最大尺度為112×112,最小尺度為14×14,在保證小目標(biāo)檢測精度的同時提升了對大尺度目標(biāo)的檢測效果。
圖3 3 種網(wǎng)絡(luò)的結(jié)構(gòu)對比Fig.3 Structure comparison of three networks
1.2.2 特征增強模塊
在本文主干網(wǎng)絡(luò)中,由于預(yù)測所用的特征圖分辨率較大,淺層特征圖沒有經(jīng)過充分處理可能會導(dǎo)致特征中的語義信息不足,因此,本文提出一種特征增強模塊,針對淺層特征圖語義信息少、感受野不足的問題,使用多分支處理和空洞卷積來提高淺層特征圖的語義信息,從而改善網(wǎng)絡(luò)對小尺度目標(biāo)的適應(yīng)能力。本文模型結(jié)構(gòu)如圖4 所示,提取出下采樣倍數(shù)分別為4、8、16、32 的特征圖用于預(yù)測,對淺層特征圖(下采樣倍數(shù)為4 和8)進行特征增強處理,對深層特征圖(下采樣倍數(shù)為16 和32)使用SPP(Spatial Pyramid Pooling)[18]進行處理,SPP 結(jié)構(gòu)如圖5 所示。
圖4 改進的YOLOv3 框架Fig.4 Improved YOLOv3 framework
圖5 SPP 結(jié)構(gòu)Fig.5 SPP structure
特征增強模塊借鑒RFB 感受野原理,通過增加網(wǎng)絡(luò)的寬度與感受野來提高模型的特征提取能力,增加特征圖的語義信息,其結(jié)構(gòu)如圖6 所示,共有4 條支路,其中1 條支路為殘差網(wǎng)絡(luò)結(jié)構(gòu)中的殘差支路(Shortcut Connection),只進行1×1 的卷積操作,另外3 條支路由1×1 與3×3 的卷積級聯(lián)而成,并在3×3的卷積后加入不同膨脹率的空洞卷積層。多個3×3的卷積級聯(lián)在擴大感受野的同時也減少了參數(shù)量,使網(wǎng)絡(luò)的訓(xùn)練與推理速度更快,網(wǎng)絡(luò)中的每個卷積層后都加入了BN 層,旨在通過數(shù)據(jù)的歸一化處理來加快模型收斂。
圖6 特征增強模塊結(jié)構(gòu)Fig.6 Structure of feature enhancement module
特征增強模塊的計算可表示為:
其中:Xj表示輸入特征圖;P表示由1×1 卷積層、BN 層和ReLU 層組成的非線性操作組合;Hi表示進行i次由3×3 卷積層、BN 層和ReLU 層組成的非線性操作組合;Qi表示i次卷積操作后的特征圖;Ri表示空洞卷積,i=1,2,3 時空洞卷積的膨脹率分別為1,3,5;Zj表示融合后的新特征圖。
經(jīng)過特征增強模塊的處理,網(wǎng)絡(luò)對小目標(biāo)的敏感度更高,在復(fù)雜背景下依然可以準(zhǔn)確提取小目標(biāo)的特征信息,從而提升網(wǎng)絡(luò)的檢測精度。
1.2.3 特征金字塔結(jié)構(gòu)
本文使用重復(fù)的自淺而深(Double Bottom-up path)的特征金字塔結(jié)構(gòu),如圖4 所示,使用經(jīng)特征增強模塊和SPP 處理的特征圖作為特征金字塔結(jié)構(gòu)的輸入,輸入的特征圖被分為2 個分支:一支在進行下采樣與卷積操作后與下一層特征圖相累加;另一支同樣進行下采樣操作并與累加后的特征相結(jié)合,使網(wǎng)絡(luò)中的信息由淺層向深層傳輸。通常在網(wǎng)絡(luò)訓(xùn)練過程中,目標(biāo)的像素不斷減小,若小目標(biāo)的信息在主干網(wǎng)絡(luò)的最后一層已經(jīng)消失,則在上采樣操作后無法恢復(fù)小目標(biāo)的信息,在淺層特征與深層特征相結(jié)合時便會出現(xiàn)混淆,降低了網(wǎng)絡(luò)的檢測精度。通過本文的特征金字塔結(jié)構(gòu)處理,網(wǎng)絡(luò)不會因上采樣操作而丟失小目標(biāo)信息,避免了網(wǎng)絡(luò)因小目標(biāo)信息丟失所造成的精度損失。
本文實驗平臺設(shè)置:使用Ubuntu16.04 操作系統(tǒng),NVIDIA Tesla T4(16 GB 顯存),Python 編程語言,深度學(xué)習(xí)框架為Tensorflow。
本文實驗所用數(shù)據(jù)來自RSOD 和NWPU NHR-10[19]數(shù)據(jù)集,針對原始圖像進行篩選,剔除質(zhì)量較差的圖片,并核驗標(biāo)注信息,對錯標(biāo)、漏標(biāo)的樣本進行重新標(biāo)注,最終得到包括不同場景的圖片共計1 620 張,檢測目標(biāo)包括飛機、船舶、儲油罐、棒球場、網(wǎng)球場、籃球場、田徑場、海港、橋梁和車輛,圖片分辨率為(600~1 000)×(600~1 000)像素。
圖7 所示為本文數(shù)據(jù)集中目標(biāo)真實框的尺寸分布情況,目標(biāo)真實框總共11 296 個,主要集中于小尺度范圍,絕大多數(shù)目標(biāo)分布在100×100 像素點以內(nèi),其中,16×16 像素大小的目標(biāo)占比為41.79%,低于32×32 像素的目標(biāo)占比達到約92%。
圖7 目標(biāo)尺度分布Fig.7 Target scale distribution
數(shù)據(jù)增強采用隨機裁剪、隨機旋轉(zhuǎn)、縮放等操作,初始學(xué)習(xí)率設(shè)置為0.01,采用隨機梯度下降法對總損失函數(shù)進行優(yōu)化訓(xùn)練,訓(xùn)練批次設(shè)置為4。
本文使用的評價指標(biāo)為平均準(zhǔn)確率(mAP)。通過衡量預(yù)測標(biāo)簽框與真實標(biāo)簽框的交并比(IOU)得到每個類別的精確度(Precision,P)和召回率(Recall,R),由精確度和召回率所繪制的曲線面積即為準(zhǔn)確率均值(AP),多個類別的AP 平均值即為平均準(zhǔn)確率,其計算可表示為:
利用所整理的數(shù)據(jù)集對本文算法性能進行驗證,將其與原始YOLOv3 算法、SSD 算法、EfficientDet 算法[20]、CenterNet 算法[21]、YOLOv4 算法[22]、Faster R-CNN 算法得到的結(jié)果進行客觀比較,結(jié)果如表1 所示,其中,mAPlarge、mAPmedium、mAPsmall分別代表大目標(biāo)、中目標(biāo)、小目標(biāo)的平均準(zhǔn)確率。從表1 可以看出,本文改進YOLOv3 算法的平均準(zhǔn)確率高于其他算法,達到74.56%,相比原始YOLOv3 算法提高了9.45 個百分點,尤其在小尺度目標(biāo)檢測上,比原始算法提高了11.03 個百分點,并且參數(shù)量也低于原始YOLOv3 算法。與YOLOv4 算法相比,本文算法的大目標(biāo)檢測精度與其相差0.69 個百分點,但在中、小目標(biāo)的檢測精度上均高于YOLOv4 算法,與雙階段目標(biāo)檢測算法Faster R-CNN 相比,本文算法也取得了更優(yōu)的檢測效果。
表1 對比實驗結(jié)果Table 1 Results of comparative experiment
圖8 所示為2 種算法的檢測效果對比,第1 行為原始YOLOv3 算法的檢測結(jié)果,第2 行為本文算法的檢測結(jié)果。第1 列、第2 列背景為機場與港口,是典型的遙感圖像場景,從中可以看出,原始YOLOv3 算法在這種具有復(fù)雜背景的圖片下存在漏檢現(xiàn)象,部分目標(biāo)如飛機、油罐等無法檢出,而本文算法漏檢現(xiàn)象則大幅減少;第3 列、第4 列為道路背景圖片,待檢目標(biāo)的尺寸較小,原始YOLOv3 算法無法有效檢出目標(biāo)車輛,而本文算法在高分辨率下對小目標(biāo)仍有較好的檢測效果;第5 列~第7 列為森林、海域背景圖片,可以明顯看出,當(dāng)待檢目標(biāo)距離較近時,原始YOLOv3 算法會出現(xiàn)漏檢現(xiàn)象,而本文算法的檢測效果得到有效提升。
圖8 2 種算法的檢測效果對比Fig.8 Comparison of detection effects of two algorithms
本節(jié)通過消融實驗以探究各部分改進對模型的性能影響。
第1 組對比實驗分析替換主干網(wǎng)絡(luò)對模型精度的影響,本次實驗設(shè)置3 組模型進行對比,分別為原始 YOLOv3 模型,對比模型 1(使用原始DenseNet121 的YOLOv3 模型)以及對比模型2(使用本文主干網(wǎng)絡(luò)的YOLOv3 模型),3 組實驗分別使用不同的主干網(wǎng)絡(luò),其他參數(shù)相同,實驗結(jié)果如表2所示。從表2 可以看出,使用原始DenseNet121 作為主干網(wǎng)絡(luò)時mAP 的提升并不明顯,這是由于較低的分辨率輸入以及原始DenseNet121 在下采樣時損失過多特征信息所導(dǎo)致,而使用本文改進的主干網(wǎng)絡(luò)時,mAP 提高了6.76 個百分點,在大、中目標(biāo)上的檢測精度均高于原始模型,且在小目標(biāo)上的檢測精度提升最為顯著。由于遙感圖像中的目標(biāo)尺度集中分布在小尺寸范圍內(nèi),因此本文所提主干網(wǎng)絡(luò)更適用于遙感圖像檢測。
表2 主干網(wǎng)絡(luò)消融實驗結(jié)果Table 2 Experimental results of backbone network ablation %
第2 組對比實驗分析特征增強模塊與特征金字塔結(jié)構(gòu)對模型的影響,設(shè)置4 組模型進行對比,實驗結(jié)果如表3 所示。從表3 可以看出,使用特征增強模塊的模型mAP 提升顯著,而單獨使用改進特征金字塔結(jié)構(gòu)時則效果不明顯,這是由于原始YOLOv3 模型中特征未經(jīng)強化處理,語義信息過少,使改進后的特征金字塔效果較差,而當(dāng)2 項改進共同使用時,檢測精度達到最高。
表3 特征增強模塊與特征金字塔消融實驗結(jié)果Table 3 Experimental results of feature enhancement module and feature pyramid ablation
本文針對遙感圖像背景干擾大、目標(biāo)尺度小等問題,提出一種基于改進YOLOv3 的遙感圖像目標(biāo)檢測算法。將密集連接網(wǎng)絡(luò)與YOLOv3 相結(jié)合,通過由多分支結(jié)構(gòu)與空洞卷積所組成的特征增強模塊來加強特征的語義信息,使用新型的特征金字塔結(jié)構(gòu)減少對小目標(biāo)的檢測精度損失。在遙感圖像數(shù)據(jù)集上的實驗結(jié)果驗證了該算法在目標(biāo)檢測任務(wù)中的有效性,尤其在小目標(biāo)檢測上優(yōu)勢明顯。后續(xù)將結(jié)合本文算法進一步探究密集連接網(wǎng)絡(luò)與感受野原理對遙感圖像檢測的影響,以實現(xiàn)更高的檢測精度。