聶子一,張璞
(1.河北地質(zhì)大學(xué)信息工程學(xué)院,河北石家莊,050031;2.河北政法職業(yè)學(xué)院,河北石家莊,050067)
遙感圖像是通過(guò)航拍得到的圖像,隨著我國(guó)航天技術(shù)的不斷發(fā)展,遙感圖像的分辨率越來(lái)越高,在國(guó)土資源管理、環(huán)境監(jiān)測(cè)、氣象、軍事等不同領(lǐng)域具有越來(lái)越重要的價(jià)值?;谏疃壬窠?jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法參數(shù)較多,體積較大,計(jì)算速度慢,且由于遙感圖像中物體具有排列密集、物體尺度變化大并且物體背景復(fù)雜的特點(diǎn),使得遙感圖像中的目標(biāo)難以被準(zhǔn)確的檢測(cè),如何根據(jù)遙感圖像快速檢測(cè)目標(biāo)便成為一項(xiàng)艱難的挑戰(zhàn)。
為解決上述問(wèn)題,本文提出將輕量化網(wǎng)絡(luò)模型與YOLOv3 算法相結(jié)合的G-YOLOv3 遙感圖像目標(biāo)檢測(cè)算法,該算法使用嵌套殘差塊,在不改變本征特征圖大小的情況下,通過(guò)線性操作提取本征特征圖更深層次的特征,且在殘差塊中添加了注意力機(jī)制,加強(qiáng)了網(wǎng)絡(luò)的特征提取能力。
當(dāng)前基于CNN 網(wǎng)絡(luò)模型的目標(biāo)檢測(cè)算法分為兩類,基于候選區(qū)域的目標(biāo)檢測(cè)算法和基于回歸的目標(biāo)檢測(cè)算法,基于候選區(qū)域的目標(biāo)檢測(cè)算法也被稱為兩階段(two-stage)算法,兩階段檢測(cè)算法即是將目標(biāo)檢測(cè)分為兩個(gè)階段處理,第一階段為輸入圖像挑選出目標(biāo)候選區(qū)域,第二階段利用分類器對(duì)候選區(qū)域目標(biāo)進(jìn)行分類識(shí)別;R-CNN 是經(jīng)典的兩階段目標(biāo)檢測(cè)模型,在R-CNN 之后相繼提出基于CNN的Fast R-CNN、Fater R-CNN 等?;诨貧w的目標(biāo)檢測(cè)算法被稱為單階段(one-stage)檢測(cè)算法,直接預(yù)測(cè)出物體所屬類別以及目標(biāo)所在位置,經(jīng)過(guò)單次檢測(cè)可直接得到最終的檢測(cè)結(jié)果。典型的單階段檢測(cè)算法有YOLO 系列算法、SSD 等[1]。單階段的檢測(cè)速度要比兩階段的檢測(cè)速度快,并且在檢測(cè)精確率這一方面,單階段檢測(cè)算法也在逐漸提高,但是檢測(cè)精確率變高會(huì)導(dǎo)致檢測(cè)速度變慢,如何實(shí)現(xiàn)檢測(cè)速度與檢測(cè)精確率的平衡、將目標(biāo)檢測(cè)算法在移動(dòng)終端或者嵌入式設(shè)備中應(yīng)用是需要解決的一個(gè)問(wèn)題。文獻(xiàn)[1]使用CenterNet 模型做目標(biāo)檢測(cè),將殘差模塊的標(biāo)準(zhǔn)卷積替換成深度可分離卷積[2],降低了網(wǎng)絡(luò)的計(jì)算量,減少冗余。文獻(xiàn)[3]基于原始的S 型網(wǎng)絡(luò),設(shè)計(jì)融入淺層特征融合模塊,加強(qiáng)了對(duì)圖像的特征提取。文獻(xiàn)[4]基于VGG 網(wǎng)絡(luò),提出將FCN[5]模型與DBSCAN 密度聚類算法[6]相結(jié)合的DC-DNN 模型,提高了對(duì)遙感圖像飛機(jī)的目標(biāo)檢測(cè)效果且具有較好的泛化能力。上述文獻(xiàn)中所提出的方法均存在網(wǎng)絡(luò)復(fù)雜、計(jì)算量大且特征圖冗余的問(wèn)題,為解決此問(wèn)題,本文在保持網(wǎng)絡(luò)檢測(cè)精度的條件下,借鑒輕量級(jí)神經(jīng)網(wǎng)絡(luò)模型[7],提出一種檢測(cè)速度快,復(fù)雜度低的遙感圖像目標(biāo)檢測(cè)算法G-YOLOv3 算法。
YOLOv3[8]算法的主干網(wǎng)絡(luò)Darknet-53 使用了大量的1×1 卷積和3×3 卷積,導(dǎo)致網(wǎng)絡(luò)過(guò)于復(fù)雜,計(jì)算和檢測(cè)速度也會(huì)變慢。G-YOLOv3 算法提出改變網(wǎng)絡(luò)結(jié)構(gòu)中的卷積方式,利用一系列低成本的線性運(yùn)算,使用更少的參數(shù)生成更多的特征圖。經(jīng)過(guò)實(shí)驗(yàn)結(jié)果得知,G-YOLOv3 算法的參數(shù)量是原YOLOv3 算法參數(shù)量的三分之二,檢測(cè)效果也比原算法的檢測(cè)效果好。
G-YOLOv3 算法框架如圖1 所示,該算法使用嵌套殘差塊,在不改變本征特征圖大小的情況下,通過(guò)線性操作提取本征特征圖更深層次的特征,且在殘差塊中添加了注意力機(jī)制,加強(qiáng)了網(wǎng)絡(luò)的特征提取能力。
圖1 G-YOLOv3 算法模型框架
GM 操作將卷積過(guò)程分為兩步,首先GM 采用正常的卷積計(jì)算,得到通道數(shù)較少的特征圖,然后利用線性操作,對(duì)特征圖進(jìn)行線性操作得到更多的相似特征圖,最后將不同的特征圖連接(Concat)在一起,組合成為新的輸出。嵌套殘差塊的詳細(xì)信息如圖2 所示。
圖2 嵌套殘差塊詳解
G-YOLOv3 算法中共涉及4 種不同的殘差塊,CGM-S模塊與GM-S-Conv 模塊殘差塊中添加了SE 注意力機(jī)制,抑制了圖像中無(wú)關(guān)的特征信息,從而提升網(wǎng)絡(luò)的特征表示性能;GM-Conv 模塊和GM-S-Conv 模塊將淺層特征信息與深層特征信息融合,減少因跨模塊而丟失的圖像特征。嵌套殘差模塊融合了多層次的圖像信息,有效的減少了網(wǎng)絡(luò)在訓(xùn)練過(guò)程中梯度消失的問(wèn)題,在保持計(jì)算量較小的情況下,加強(qiáng)了網(wǎng)絡(luò)對(duì)遙感圖像中較小目標(biāo)的特征提取能力。
本文使用NWPU VHR-10 數(shù)據(jù)集,是一個(gè)用于檢測(cè)空間物體的10 級(jí)地理遙感數(shù)據(jù)集,目標(biāo)種類有10 種,將800張圖片按照4:1的比例劃分為訓(xùn)練集和測(cè)試集。本實(shí)驗(yàn)使用的是臺(tái)式計(jì)算機(jī),配置為Intel(R) Core(TM) i7-9700K,32 GB 內(nèi)存,64 位的Windows 10 系統(tǒng);開(kāi)發(fā)環(huán)境為Pytorch 1.6,python3.7。實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)為精確率(P)、召回率(R)、平均檢測(cè)精度(mAP)和F1 分?jǐn)?shù)。
實(shí)驗(yàn)是在YOLOv3 算法上進(jìn)行改進(jìn)的,通過(guò)修改主干網(wǎng)絡(luò)和使用k-means 算法對(duì)遙感圖像進(jìn)行聚類分析改變候選框,更加符合數(shù)據(jù)集目標(biāo)分布的特點(diǎn)。表1 是YOLOv3 算法和G-YOLOv3 算法對(duì)數(shù)據(jù)集中不同類別的實(shí)驗(yàn)對(duì)比數(shù)據(jù)。
表1 各類別的P、R對(duì)比
由表1 可以看出,改進(jìn)后的算法在一些尺度較小的類別中,例如飛機(jī)(airplane)、汽車(vehicle)、小船(ship)中的精確度和召回率都比原算法的精度有所提高,且檢測(cè)效果也比較好。對(duì)于尺寸較大的類別,例如籃球場(chǎng)(basketball court)、地面軌道場(chǎng)(ground track filed)的精確度和召回率的提升都不是很明顯。整體來(lái)看,改進(jìn)后的算法檢測(cè)小目標(biāo)的效果要比原算法的檢測(cè)效果要好,例如棒球場(chǎng)(baseball diamond)的召回率和橋(bridge)的精確度提高了,證明改進(jìn)后的算法比原來(lái)的算法效果有明顯的提升。
經(jīng)過(guò)對(duì)原算法和改進(jìn)后的G-YOLOv3 算法進(jìn)行訓(xùn)練與測(cè)試,隨機(jī)選取了部分遙感圖像目標(biāo)檢測(cè)進(jìn)行分析,實(shí)驗(yàn)結(jié)果如圖3 所示。
圖3 檢測(cè)目標(biāo)圖片效果對(duì)比圖
從檢測(cè)的結(jié)果中可以看出,G-YOLOv3 算法要比YOLOv3 算法更能夠精確的檢測(cè)出小目標(biāo),如羽毛球場(chǎng)(樣例1,2),在場(chǎng)景較為復(fù)雜的背景圖像中,G-YOLOv3 算法識(shí)別目標(biāo)分布較為密集圖片,如海港(樣例3,4)的效果要比YOLOv3 算法的識(shí)別效果要好。使用原YOLOv3 算法和改進(jìn)后的算法G-YOLOv3 算法做對(duì)比試驗(yàn),實(shí)現(xiàn)結(jié)果如表2所示。
由圖3 和表2 可以看出,改進(jìn)后的G-YOLOv3 算法在mAP 提升檢測(cè)2.7%的同時(shí),圖片檢測(cè)的平均時(shí)間減少了近二分之一,且G-YOLOv3 算法的參數(shù)量也比原來(lái)的參數(shù)量少了三分之一。改進(jìn)后的算法檢測(cè)精度和檢測(cè)效果都超過(guò)了原來(lái)的算法,證明改進(jìn)后的網(wǎng)絡(luò)在遙感圖像上的檢測(cè)效果具有較好的準(zhǔn)確性。
表2 實(shí)驗(yàn)結(jié)果對(duì)比
本文將輕量級(jí)神經(jīng)網(wǎng)絡(luò)的模型應(yīng)用到Y(jié)OLOv3 算法中檢測(cè)遙感圖像,并且針對(duì)數(shù)據(jù)集中目標(biāo)大小的不同,提出了改進(jìn)候選框的大小適應(yīng)當(dāng)前數(shù)據(jù),加強(qiáng)了對(duì)密集型目標(biāo)和小目標(biāo)的檢測(cè)能力,同時(shí)也減少了網(wǎng)絡(luò)所需要的參數(shù),提高了精確度和召回率,證明了改進(jìn)的算法具有一定的合理性。接下來(lái)將繼續(xù)研究如何改變現(xiàn)有的算法,繼續(xù)將模型輕量化。