摘 要:隨著遙感技術(shù)的發(fā)展,遙感圖像檢測技術(shù)被廣泛應(yīng)用于軍事、農(nóng)業(yè)、交通及城市規(guī)劃等多個領(lǐng)域中,針對遙感圖像分辨率高、背景復(fù)雜和目標(biāo)尺度小等特點,本文提出一種改進的 YOLOv3 算法以提升對遙感圖像的檢測效果。在原始算法的基礎(chǔ)上,使用改進的密集連接網(wǎng)絡(luò)替換原有的 DarkNet53 作為基礎(chǔ)網(wǎng)絡(luò),并在淺層特征圖中加入特征增強模塊,豐富特征圖的感受野,強化網(wǎng)絡(luò)對淺層特征信息的提取,使網(wǎng)絡(luò)對遙感圖像中小目標(biāo)的檢測精度和魯棒性均有所提升。在本文整理的遙感數(shù)據(jù)集上進行多組對比實驗,實驗結(jié)果表示本文提出的算法相比于原始的 YOLOv3 算法,平均準(zhǔn)確率提高了 9.45%,且在檢測小尺度目標(biāo)的準(zhǔn)確性上提升顯著,比原始算法提高了 11.03%,模型參數(shù)量相比于原始算法也進行了縮減。
王道累; 杜文斌; 劉易騰; 張?zhí)煊? 孫嘉珺; 李明山, 計算機工程 發(fā)表時間:2021-07-29
關(guān)鍵詞:目標(biāo)檢測;深度學(xué)習(xí);遙感圖像;特征增強;密集連接
隨著遙感技術(shù)的飛速發(fā)展,高分辨率光學(xué)遙感圖像以其觀察面積大、范圍廣、不受國界和地理條件限制等特點受到國內(nèi)外廣泛重視。在森林防護、交通監(jiān)測、電力檢修、資源勘探、城建規(guī)劃等方面遙感圖像檢測占據(jù)著十分重要的位置,例如通過檢測車輛目標(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]中主要有以下問題:1)遙感圖像的分辨率較高,被檢目標(biāo)信息少,背景噪聲影響較大,使得一般的目標(biāo)檢測算法無法準(zhǔn)確提取原始圖像中的特征信息,造成分類和定位困難;2)遙感圖像中的目標(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)的檢測性能。
1 基于密集連接與特征增強的檢測算法
1.1 YOLOv3 算法
YOLOv3 是 Redmon 等人在 2018 年提出的一種單階段目標(biāo)檢測算法,是目前應(yīng)用最廣泛的目標(biāo)檢測算法之一。YOLOv3 的檢測框架如圖 1 所示,主要包括兩個部分,第一部分為基礎(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)生三個具有豐富語義信息的特征圖,大小分別為 13?13,26?26, 52?52。在訓(xùn)練階段,網(wǎng)絡(luò)將圖像分別劃分為 N?N 個網(wǎng)格單元,每個網(wǎng)格單元輸出預(yù)測框的信息以及分類置信度以完成檢測。
現(xiàn)有一些研究將 YOLOv3 應(yīng)用在遙感圖像檢測領(lǐng)域,如李昕等[13]將空間變換網(wǎng)絡(luò)(Spatial Transformer Networks,STN)融入 YOLOv3 算法中,以提升遙感圖像中油罐的檢測精度;鄭海生等[14]通過替換主干結(jié)構(gòu)和激活函數(shù)將 YOLOv3 的參數(shù)量縮小為原始的十五分之一,實現(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 改進 YOLOv3 算法
本文針對 YOLOv3 算法在遙感圖像檢測上的缺陷,提出一種基于密集連接與特征增強的目標(biāo)檢測方法。
1.2.1 主干網(wǎng)絡(luò)改進
本文依據(jù) DenseNet121[16]提出一種新型的密集連接主干網(wǎng)絡(luò),網(wǎng)絡(luò)由閥桿模塊(Stem Block)和四個密集連接塊(Dense Block)組成。閥桿模塊借鑒 Inception v4 和 DSOD(Deeply Supervised Object Detectors)[17]的思想,結(jié)構(gòu)如圖 2,該模塊可以有效提升特征表達能力,而不會增加過多的計算成本,與 DenseNet121 中的原始設(shè)計(大小為 7,步長為 2 的卷積層,之后是大小為 3,步長為 2 的最大池化層)相比,多分支的處理可以大幅減少輸入圖像在下采樣過程中的信息損失。
密集連接塊的基本組成為密集連接結(jié)構(gòu)(Dense Structure),如圖 4 中所示,其最顯著的特點是跨通道的特征連接方式,通過每一層與前面所有層建立連接,使誤差信號快速傳播到較淺層,加強整個網(wǎng)絡(luò)對特征信息的傳播,在提升特征提取能力的同時大幅減低網(wǎng)絡(luò)參數(shù)量,其計算可表示為: ( [ , ,..., ]) x x x x l 0 1 l -1 ? Hl ?(1)其中 l x 表示第 層的輸出, () Hl ?表示非線性操作組合,包括 BN 層、ReLu 和卷積層,? [] 表示 Concatenation 特征融合操作。
網(wǎng)絡(luò)的輸入大小為 448?448,在訓(xùn)練階段輸入圖像首先經(jīng)過閥桿模塊處理,通過大尺度卷積與多分支處理以緩解圖像下采樣時尺度變化所帶來的損失,之后經(jīng)過密集連接塊得到四個不同尺度的特征圖,其下采樣倍數(shù)分別為 4,8,16,32。圖 3 為 DarkNet、原始 DenseNet 與本文改進主干網(wǎng)絡(luò)的結(jié)構(gòu)對比圖,相較于原始的 DenseNet121,本文改進的主干網(wǎng)絡(luò)的輸入分辨率與預(yù)測特征圖分辨率更高,并通過閥桿模塊緩解了原始網(wǎng)絡(luò)輸入時信息損失過大的問題。同時本文采用四種預(yù)測尺度,最大的尺度為 112?112,最小的尺度為 14?14,在保持小目標(biāo)檢測精度的同時提升對大尺度目標(biāo)的檢測效果。
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)如圖 6。
特征增強模塊借鑒 RFB 感受野原理,通過增加網(wǎng)絡(luò)的寬度與感受野,提高模型的特征提取能力,增加特征圖的語義信息,其結(jié)構(gòu)如圖 5,共有四條支路,其中一條支路為殘差網(wǎng)絡(luò)結(jié)構(gòu)中的殘差支路(Shortcut Connection),只進行 1?1 的卷積操作,另外三條支路由 1?1 與 3?3 的卷積級聯(lián)而成,并在 3?3 的卷積后加入不同膨脹率的空洞卷積層。多個 3?3 的卷積級聯(lián)既保證了擴大感受野的同時也減少了參數(shù)量,使網(wǎng)絡(luò)的訓(xùn)練與推理速度更快,網(wǎng)絡(luò)中的每個卷積層后都加入了 BN(Batch Normalization)層,旨在通過數(shù)據(jù)的歸一化處理來加快模型的收斂。特征增強模塊的計算可表示為: Q X i j ? ? H P i i [ ( )], 1,2,3 (2)W Q i i ? Ri (3) [ , , ] ( ) Z W W W X j 1 2 3 j ? ? ?i P (4)式中, X j 表示輸入的特征圖, P 表示由 1?1 的卷積層、BN 層和 ReLu 層組成的非線性操作組合, Hi 表示進行 次由 3?3 的卷積層、BN 層和 ReLu 層組成的非線性操作組合, Qi 表示 i 次卷積操作后的特征圖, Ri 表示空洞卷積, i ? 1, 2,3 時空洞卷積的膨脹率分別為 1,3,5 , [] ? i 表示 Concatenation 特征融合操作, Z j 表示融合后的新特征圖。
經(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)的輸入,輸入的特征圖被分為兩個分支,其中一支在進行下采樣與卷積操作后與下一層的特征圖相累加,另一支同樣進行下采樣操作與累加后的特征相結(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)信息丟失所造成的精度損失。
2 實驗結(jié)果與分析
2.1 實驗平臺
本文實驗平臺:使用的操作系統(tǒng): Ubuntu16.04 操作系統(tǒng);使用的 NVIDIA Tesla T4(16G 顯存);使用的編程語言: python;使用的深度學(xué)習(xí)框架:Tensorflow。
2.2 數(shù)據(jù)集制作
本 文 實 驗 所 用 數(shù) 據(jù) 來 自 RSOD 和 NWPU NHR-10[19]數(shù)據(jù)集,針對原始圖像進行篩選,剔除了質(zhì)量較差的圖片,并對標(biāo)注信息進行核驗,對錯標(biāo)、漏標(biāo)的樣本進行重新標(biāo)注,最終得到包括不同場景下的圖片共計 1620 張,檢測目標(biāo)包括飛機、船舶、儲油罐、棒球場、網(wǎng)球場、籃球場、田徑場、海港、橋梁和車輛 ,圖片分辨率為 600~1000?600~1000。
圖7為本文數(shù)據(jù)集中目標(biāo)真實框的尺寸分布圖,目標(biāo)真實框總計共 11296 個,并主要集中于小尺度范圍內(nèi),絕大多數(shù)目標(biāo)分布在 100?100 像素點以內(nèi),其中 16?16 像素大小的目標(biāo)占比為 41.79%,低于 32?32 像素的目標(biāo)占比約達到總目標(biāo)數(shù)的 92%。
2.3 模型訓(xùn)練及評價指標(biāo)
數(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)和召回率(Recall),由精確度和召回率所繪制的曲線面積即為準(zhǔn)確率均值(AP),多個類別的 AP 平均值即為平均準(zhǔn)確率,其計算可表示為: n 1 0 ( ) mAP i p r dr n ???(5)
2.4 對比實驗結(jié)果分析
利用整理的數(shù)據(jù)集對本文提出的算法性能進行驗證,將使用本文算法、原始 YOLOv3 算法、SSD 算法、EfficientDet 算法[20]、CenterNet 算法[21]、YOLOv4 算法[22] 以及 Faster R-CNN 算法得到的結(jié)果進行客觀比較,訓(xùn)練方案與 2.3 節(jié)相同,結(jié)果如表 1 所示,本文提出的改進 YOLOv3 算法的平均準(zhǔn)確率高于其他算法,達到了 74.56%,相比于原始的 YOLOv3 算法提高了 9.45%,尤其在小尺度目標(biāo)檢測上,比原始算法提高了 11.03% , 并 且 參數(shù) 量 也 低于原始的 YOLOv3 算法。與 YOLOv4 相比,本文算法在大目標(biāo)的檢測精度上與其相差 0.69%,但 在 中 、 小 目 標(biāo) 的 檢 測 精 度 上 均高于 YOLOv4 算法,與雙階段算法 Faster R-CNN 相比,本文算法也取得了更優(yōu)秀的檢測效果。
圖 8 為檢測效果對比圖,左側(cè)為原始 YOLOv3 算法的檢測結(jié)果,右側(cè)為本文算法的檢測結(jié)果。圖 8(a)和(b)背景為機場與港口,是典型的遙感圖像場景,從圖像中可以看出,原始 YOLOv3 算法在這種具有復(fù)雜背景的圖片下存在漏檢現(xiàn)象,部分目標(biāo)如飛機、油罐等無法檢出,而本文算法漏檢現(xiàn)象則大幅減少;圖 8(c)和(d)為道路背景圖片,待檢目標(biāo)的尺寸較小,原始 YOLOv3 算法無法有效檢出目標(biāo)車輛,而本文算法在高分辨率下對小目標(biāo)仍有較好的檢測效果;圖 8(e)、(f)和(g)為森林、海域背景圖片,可以明顯看出當(dāng)待檢目標(biāo)距離較近時,原始 YOLOv3 算法便會出現(xiàn)漏檢現(xiàn)象,相比之下,本文算法的檢測效果得到了有效的提升。
2.5 消融實驗結(jié)果分析
本節(jié)通過消融實驗以探究各部分改進對模型的影響。
第一組對照試驗分析替換主干網(wǎng)絡(luò)對算法精度的影響,本組實驗設(shè)置了三組模型進行對照,分別為原始 YOLOv3 模型,對比一(使用原始 DenseNet121 的 YOLOv3 模型)以及對比二(使用本文主干網(wǎng)絡(luò)的 YOLOv3 模型),三組實驗分別使用不同的主干網(wǎng)絡(luò),其他參數(shù)相同,實驗結(jié)果如表 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ò)更適用于遙感圖像檢測。
第二組對照試驗分析特征增強模塊與特征金字塔對算法的影響,設(shè)置四組模型進行對照實驗,分別為原始 YOLOv3 算法和對比實驗(分別使用特征增強模塊和改進特征金字塔的 YOLOv3 算法)。
從表3中可以看出使用特征增強模塊的算法 mAP 提升顯著,而單獨使用改進特征金字塔結(jié)構(gòu)時則效果不明顯,這是由于原始YOLOv3 算法中特征未經(jīng)強化處理語義信息過少,使改進后的特征金字塔效果較差。而當(dāng)兩項改進共同使用時,檢測精度達到最高。
3 結(jié)論
本文針對遙感圖像背景干擾大和目標(biāo)尺度小等問題,提出一種基于改進 YOLOv3 的遙感圖像目標(biāo)檢測算法。將密集連接網(wǎng)絡(luò)與 YOLOv3 結(jié)合,并通過多分支結(jié)構(gòu)與空洞卷積所組成的特征增強模塊加強特征的語義信息,使用新型的特征金字塔減少對小目標(biāo)檢測的精度損失。在遙感圖像數(shù)據(jù)集上的實驗結(jié)果表明本文算法相比于其他算法檢測效果有了顯著的提升,并主要表現(xiàn)在小目標(biāo)檢測上。接下來將結(jié)合本文算法進一步探究密集連接網(wǎng)絡(luò)與感受野原理對遙感圖像檢測的影響,以達到更高的檢測精度。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >