劉樹東,任慧娟,張眾維
(天津城建大學(xué) 計(jì)算機(jī)與信息工程學(xué)院,天津 300384)
遙感圖像能進(jìn)行多視角、大規(guī)模的監(jiān)測,在軍事調(diào)查、城市規(guī)劃、自然災(zāi)害評(píng)估與災(zāi)后救援等領(lǐng)域有著重要的應(yīng)用價(jià)值[1]。但遙感圖像分辨率高、背景復(fù)雜,圖像中目標(biāo)尺度變化大、長寬比變化極端等特點(diǎn),均為遙感目標(biāo)檢測帶來了挑戰(zhàn)。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,姚群力等[2]提出基于多尺度卷積神經(jīng)網(wǎng)絡(luò)的遙感目標(biāo)檢測框架,通過引入膨脹瓶頸結(jié)構(gòu),構(gòu)造深度特征金字塔,增強(qiáng)對(duì)多尺度目標(biāo)特征的表征能力;李竺強(qiáng)等[3]提出一種針對(duì)機(jī)場目標(biāo)的檢測網(wǎng)絡(luò),在特征提取階段利用深度殘差塊卷積神經(jīng)網(wǎng)絡(luò)對(duì)特征圖進(jìn)行提取;Xu等[4]在YOLOv3中引入密集連接網(wǎng)絡(luò)來增強(qiáng)特征提取的能力;楊志鋼等[5]提出了多重特征金字塔網(wǎng)絡(luò),通過添加跨層連接來提高特征的傳播和重用率。上述算法在一定程度上提高了對(duì)多尺度目標(biāo)的檢測能力,但是對(duì)于長寬比變化極端的目標(biāo)檢測性能較低。一般來說,淺層特征感受野小,適合檢測小目標(biāo),而長寬比較大的目標(biāo)則需要更大的感受野。為此,本文引入了基于膨脹編碼的多尺度特征融合模塊以增大感受野,提高對(duì)長寬比變化極端目標(biāo)的檢測性能。
近年來,注意力機(jī)制因?yàn)榇蚱屏司矸e神經(jīng)網(wǎng)絡(luò)短距離建模的局限性而備受關(guān)注。Hua等[6]提出了一種強(qiáng)化目標(biāo)的自注意預(yù)篩選全卷積網(wǎng)絡(luò),引入自注意力模塊并通過結(jié)合卷積長短期記憶網(wǎng)絡(luò)構(gòu)建深度特征金字塔來優(yōu)化注意力特征圖;Ran等[7]提出了多尺度上下文和增強(qiáng)通道注意模型,增強(qiáng)特征圖像通道注意力并將上下文信息與多尺度檢測方法融合,以提高卷積神經(jīng)網(wǎng)絡(luò)的表征能力;Liu等[8]提出了一種中心-邊界雙重注意模塊,利用雙重注意機(jī)制提取目標(biāo)的中心和邊界區(qū)域的注意特征。由于注意力機(jī)制可以獲得長距離建模的優(yōu)勢,能夠在全局范圍內(nèi)根據(jù)賦予的權(quán)重來快速、準(zhǔn)確地關(guān)注到權(quán)重較大的目標(biāo)區(qū)域,達(dá)到提升網(wǎng)絡(luò)性能和效率的目的。因此,為了解決遙感圖像中極大目標(biāo)檢測困難的問題,本文算法采用注意力機(jī)制,通過建模捕獲長距離依賴性和自適應(yīng)性,提高檢測準(zhǔn)確率。針對(duì)上述問題,本文提出了一種基于多尺度特征融合和全局-局部注意力的遙感圖像目標(biāo)檢測模型,主要工作如下。
1)設(shè)計(jì)多尺度特征融合模塊(multiscale feature fusion,MSFF),通過堆疊不同膨脹率的殘差空洞卷積塊,生成具有多個(gè)感受野的輸出特征,強(qiáng)化感受野的多尺度性,增強(qiáng)對(duì)深層特征信息的提取;添加殘差連接,保留淺層信息以提取小目標(biāo)特征,二者結(jié)合有利于提取多尺度目標(biāo)特征,保證小目標(biāo)檢測的同時(shí)提升對(duì)長寬比變化極端目標(biāo)檢測的性能。
2)采用全局-局部注意力模塊(global-local attention,GLA),將大卷積核分解為空間卷積和通道卷積,分別捕獲空間和通道維度的長期依賴性和適應(yīng)性,實(shí)現(xiàn)動(dòng)態(tài)地提取豐富的全局上下文信息;利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)短距離建模的空間局部性和平移不變性來提取局部上下文信息。結(jié)合以上兩部分,能夠在近乎不增加參數(shù)量的同時(shí)提高全局和局部信息的建模能力,提高對(duì)大尺寸目標(biāo)的檢測精度。
3)通過消融實(shí)驗(yàn)驗(yàn)證了本文算法的有效性,在航空遙感DOTA數(shù)據(jù)集上與當(dāng)前主流算法進(jìn)行了客觀對(duì)比,并與YOLOv5m模型檢測結(jié)果進(jìn)行了主觀對(duì)比,均證實(shí)了本文算法的優(yōu)越性。
YOLOv5對(duì)中、小目標(biāo)具有較高的檢測準(zhǔn)確率,然而,遙感圖像中還存在著大量尺寸相對(duì)較大且長寬比變化極端的目標(biāo)。因此,為了在保證小目標(biāo)檢測性能的基礎(chǔ)上提升對(duì)其他類型目標(biāo)的檢測精度,同時(shí)對(duì)比了YOLOv5在s、m、l和x模型上的性能,綜合考慮設(shè)備能力和效率、精度之間的平衡,本文選擇以YOLOv5m中6.0版本模型為基礎(chǔ)進(jìn)行改進(jìn)。改進(jìn)后的整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,主要由特征提取模塊、特征融合模塊和檢測頭構(gòu)成,具體改進(jìn)如紅框所標(biāo)注。
圖1 基于多尺度特征融合和全局-局部注意力的遙感圖像目標(biāo)檢測網(wǎng)絡(luò)結(jié)構(gòu)
特征提取模塊即主干網(wǎng)絡(luò)部分,該模型將原有Focus模塊替換為6×6大小的卷積,使得模型更加高效。然后經(jīng)過Conv模塊和C3模塊交替連接,實(shí)現(xiàn)網(wǎng)絡(luò)的加深和下采樣操作。其中Conv模塊包括一般的卷積操作(conv)、批量歸一化操作(batch normalization,BN)和SiLU激活函數(shù)。C3模塊輸入輸出通道數(shù)相同,其中,n為目標(biāo)種類數(shù),主干網(wǎng)絡(luò)中的Bottleneck默認(rèn)shortcut為True,頸部結(jié)構(gòu)中沒有shortcut。利用SPPF替換了原始版本中的SPP模塊以減少模型的計(jì)算量。
特征融合模塊即頸部結(jié)構(gòu),是特征提取模塊的輸出特征圖通過自下而上和自上而下的操作,再與中間層特征進(jìn)行融合來構(gòu)成的。為進(jìn)一步提高模型對(duì)多尺度目標(biāo)的檢測性能和對(duì)全局信息的提取能力,本文在C3_1(與head1相連的C3模塊)后添加全局-局部注意力模塊,將與head3檢測頭連接的C3_3模塊替換為多尺度特征融合模塊。
1)多尺度特征融合模塊。為解決遙感圖像中部分目標(biāo)尺寸大及長寬比變化極端的問題,本文提出了一種基于膨脹編碼塊(dilated encode block,DEB)[9]的多尺度特征融合模塊,其結(jié)構(gòu)如圖2所示。
圖2 多尺度特征融合模塊
該模塊上分支的輸入特征x通過Conv1中的1×1卷積降維后連接DEB模塊來提取多尺度特征。下分支的x經(jīng)過Conv2形成了一個(gè)殘差連接,充分保留了原始的特征信息,且其中的1×1卷積能降低通道維度和計(jì)算復(fù)雜度,減少參數(shù)量。Concat充分融合上述特征,并利用Conv3得到相同的輸入輸出通道。多尺度特征融合模塊MSFF(x)表示為式(1)。
MSFF(x)=Conv3(Concat(Conv2(x),DEB(Conv1(x))))
(1)
式中:x表示輸入特征;MSFF(x)表示提取多尺度特征操作。每個(gè)卷積塊(Convi,i=1,2,3)都包含卷積層、批量歸一化層和激活層。其中,卷積層中卷積核大小為1×1,步長為1,填充為0。
膨脹編碼塊包含兩個(gè)主要的組件:投影層和膨脹殘差組,其結(jié)構(gòu)如圖3所示。
圖3 膨脹編碼塊結(jié)構(gòu)圖
膨脹編碼塊DEB(x)可以表示為式(2)。
DEB(x)=DRG(Projector(x))
(2)
式中:x表示輸入特征;DRG(·)表示提取的不同感受野特征的融合操作;Projector(·)表示提取上下文信息操作。
投影層結(jié)構(gòu)如圖4所示。輸入特征x首先通過Conv4中1×1的卷積降低通道維度,然后通過Conv5中3×3的卷積進(jìn)行局部特征提取和細(xì)化,使得語義信息更明顯,最后增加殘差連接,將細(xì)化后的特征與原始特征進(jìn)行相加,得到更加豐富的特征信息。每個(gè)卷積塊中的卷積層后都有一個(gè)BN層,目的是加快網(wǎng)絡(luò)訓(xùn)練和收斂的速度。投影層Projector(x)可以表示為式(3)。
圖4 投影層結(jié)構(gòu)圖
Projector(x)=Conv5(Conv4(x))+x
(3)
式中:x表示輸入特征;Conv4(·)表示提取降低通道維度后的特征操作;Conv5(·)表示細(xì)化語義信息操作。
膨脹殘差組結(jié)構(gòu)如圖5所示,4個(gè)不同膨脹率的膨脹殘差塊(dilated residual block,DRB)通過堆疊的方式獲得不同大小的感受野以提取多尺度特征。單個(gè)膨脹殘差塊的結(jié)構(gòu)如圖6所示,3個(gè)卷積塊中卷積核大小分別為1×1,3×3和1×1,且所有卷積層后都有1個(gè)BN層和1個(gè)ReLU層。其中第一個(gè)1×1卷積可以降低通道維度,3×3膨脹卷積可擴(kuò)大感受野,盡量保證長寬比大的目標(biāo)特征。最后,利用1×1卷積恢復(fù)通道維度。此外,殘差連接也保證了小尺度目標(biāo)的特征。膨脹殘差組DRG(x)表示為式(4)。
圖5 膨脹殘差組結(jié)構(gòu)圖
圖6 膨脹殘差塊結(jié)構(gòu)圖
DRG(x)=DRB4(DRB3(DRB2(DRB1(x))))
(4)
式中:x表示輸入特征;DRG(·)表示提取具有多個(gè)感受野的特征操作;DRBi(x),i=1,2,3,4是4個(gè)不同膨脹率的膨脹殘差塊,可以表示為式(5)。
DRBi(x)=Conv8(Conv7i(Conv6(x)))+x,
i=1,2,3,4
(5)
式中:Conv7i(·)表示第i個(gè)膨脹殘差塊中的膨脹卷積操作,其膨脹卷積的卷積核ki的大小可表示為式(6)。
(6)
式中:i表示膨脹殘差塊的位置;ri表示第i個(gè)殘差塊中膨脹卷積的膨脹率。
2)全局-局部注意力模塊。在卷積神經(jīng)網(wǎng)絡(luò)中,卷積核的大小限制了網(wǎng)絡(luò)提取深層特征的能力,自注意力機(jī)制[10]可以通過長距離建模實(shí)現(xiàn)空間維度的長期依賴性和適應(yīng)性,但卻忽略了通道維度的適應(yīng)性。為了解決這些問題,本文引入了全局-局部注意力模塊,充分利用了自注意力具有適應(yīng)性和長期依賴性的優(yōu)點(diǎn)和卷積獲取局部上下文信息的特點(diǎn)。
全局-局部注意力模塊結(jié)構(gòu)如圖7所示[11]。其中每個(gè)卷積層的卷積核大小為1×1,步長為1。全局-局部注意力模塊可以表示為式(7)。
圖7 全局-局部注意力模塊
GLA(x)=BN(Conv(LKA(GeLU(Conv(x)))))+x
(7)
式中:x表示輸入特征;GLA(x)表示該模塊提取的到的融合特征;GeLU(·)表示激活函數(shù);LKA(·)表示大核注意力模塊(large kernel attention,LKA);BN(·)表示進(jìn)行批量歸一化。
圖8 LKA模塊
(8)
式中:x∈RC×H×W表示輸入特征;DW-Conv類似CNN中的卷積,用來提取局部上下文信息,因此又稱為空間局部卷積;DW-D-Conv為加入膨脹率的DW-Conv,稱為空間遠(yuǎn)程卷積,能夠通過擴(kuò)大感受野來建立內(nèi)部空間特征信息間的長期依賴關(guān)系,提取全局上下文信息;Conv1×1又叫通道卷積,能在通道維度建立長期依賴性并提取特征信息,加強(qiáng)在通道維度上的適應(yīng)性,使得適應(yīng)性和長期依賴性相關(guān);Attention∈RC×H×W表示生成的注意圖,圖中的值表示每個(gè)特征的重要性,?表示按像素相乘。
為了驗(yàn)證多尺度特征融合模塊和全局-局部注意力的有效性,在Ubuntu系統(tǒng)上基于DOTA數(shù)據(jù)集進(jìn)行消融實(shí)驗(yàn),將結(jié)果上傳DOTA官方網(wǎng)站后,根據(jù)官方反饋的mAP評(píng)價(jià)指標(biāo)的客觀數(shù)據(jù)來分析網(wǎng)絡(luò)的性能。
1)數(shù)據(jù)集。DOTA-v1.0是2017年由武漢大學(xué)公開發(fā)布的用于遙感圖像目標(biāo)檢測的大型數(shù)據(jù)集。該數(shù)據(jù)集共有2 806張圖像,其中訓(xùn)練集、驗(yàn)證集和測試集的占比分別為1/2、1/6和1/3。DOTA數(shù)據(jù)集包含15個(gè)常見類別:飛機(jī)、棒球場、橋梁、田徑場、小型車輛、大型車輛、船舶、網(wǎng)球場、籃球場、儲(chǔ)罐、足球場、環(huán)島、港口、游泳池和直升機(jī)。
為了更有效地進(jìn)行訓(xùn)練,將DOTA數(shù)據(jù)集裁剪并調(diào)整成尺寸為1 024像素×1 024像素的子圖像,重疊部分為200像素,分別獲得15 749和5 297張子圖像用于訓(xùn)練和驗(yàn)證和測試,并通過拼接各子圖像的檢測結(jié)果得到最終完整的檢測結(jié)果。
綜上所述,與現(xiàn)有的遙感圖像公開數(shù)據(jù)集相比,DOTA-v1.0數(shù)據(jù)集的數(shù)據(jù)量較為龐大,足夠完成訓(xùn)練和測試任務(wù),且該數(shù)據(jù)集中包含15類不同大小、不同形狀的目標(biāo),也有諸如飛機(jī)或直升機(jī)、小型汽車或大型汽車等容易混淆的目標(biāo),在提高檢測難度的同時(shí)更有利于驗(yàn)證算法的有效性。后續(xù)實(shí)驗(yàn)均在該數(shù)據(jù)集上進(jìn)行訓(xùn)練、驗(yàn)證和測試,并將測試結(jié)果上傳到DOTA官網(wǎng),得到每一類目標(biāo)的AP值和3種COCO類型的評(píng)價(jià)指標(biāo)。
2)實(shí)驗(yàn)設(shè)置。模型訓(xùn)練時(shí)的硬件平臺(tái)CPU為Intel(R) Core(TM) i7-7700 CPU @ 3.60 GHz,內(nèi)存為16 GB,GPU為NVIDIA GeForce GTX 1 080,8 GB。軟件平臺(tái)為Ubuntu18.04操作系統(tǒng)、Pytorch深度學(xué)習(xí)框架和Python編程語言。
本文采用平均精度(average precision,AP)和均值平均精度(mean average precision,mAP)對(duì)實(shí)驗(yàn)進(jìn)行評(píng)估。
1)消融實(shí)驗(yàn)。為了驗(yàn)證本文所提MSFF模塊和GLA模塊對(duì)長寬比變化極端目標(biāo)和大尺寸目標(biāo)的檢測性能的提升,進(jìn)行消融實(shí)驗(yàn)。具體指標(biāo)如表1所示。
表1 本文消融實(shí)驗(yàn)在DOTA測試集上的定量比較
由表1可知,第一,與改進(jìn)前的YOLOv5m模型相比,添加MSFF后的新模型中,橋梁、船舶和港口的AP值分別提高了6.91%、4.12%和4.34%,充分說明了MSFF模塊對(duì)長寬比變化極端類目標(biāo)的有效性。除此之外,部分小目標(biāo)如大型車輛、儲(chǔ)罐等和大目標(biāo)如環(huán)島等目標(biāo)的AP值均有小幅度的提升,也說明了該模塊能夠有效提高多尺度目標(biāo)檢測的性能。第二,與改進(jìn)前的YOLOv5m模型相比,添加GLA后的新模型中,田徑場、足球場和環(huán)島的AP值分別提高了0.83%、0.72%和2.68%,充分驗(yàn)證了GLA模塊對(duì)大尺寸目標(biāo)的有效性。此外,部分其他目標(biāo)如棒球場、橋梁、直升飛機(jī)等不同目標(biāo)的AP值也均有不等的提升,也充分說明了GLA通過長距離建模有效獲取全局上下文信息,對(duì)大多類目標(biāo)均能夠有較好的檢測效果。第三,僅添加MSFF的模型和僅添加GLA的模型比初始模型的mAP50分別提升了1.03%和1.17%,這表明所加模塊在該模型中起到加強(qiáng)作用。此外,mAP75、mAP50:95均有一定提升,充分證明這兩個(gè)模塊的有效性。同時(shí)添加2個(gè)模塊的模型(即本文算法)比前面3個(gè)模型的mAP50分別提升了1.66%、0.63%和0.49%,表明這兩個(gè)模塊之間不存在排斥作用,相互兼容性較強(qiáng),可以聯(lián)合使用以提高模型的性能。
綜上所述,消融實(shí)驗(yàn)充分驗(yàn)證了本文提出的遙感圖像目標(biāo)檢測算法中多尺度特征融合模塊和全局-局部注意力模塊的實(shí)際有效性。
除了客觀的評(píng)價(jià)指標(biāo)外,模型的參數(shù)量和計(jì)算量也是分析模型性能的重要指標(biāo)。消融實(shí)驗(yàn)中模型的性能指標(biāo)如表2所示。
表2 DOTA數(shù)據(jù)集上不同模型的性能比較
從表2可以看出,首先,本文模型與YOLOv5m相比,mAP值提高了1.77%,參數(shù)量增加了2 M,計(jì)算量增加了7 B,這是由于模型越大,網(wǎng)絡(luò)越復(fù)雜,但復(fù)雜度增幅較小。其次,添加GLA的模型較原模型的參數(shù)量和計(jì)算量相差不大,但mAP50增長了1.17%,充分驗(yàn)證了GLA在達(dá)到較好檢測效果的同時(shí)并沒有造成繁重的計(jì)算開銷和參數(shù)。
2)對(duì)比實(shí)驗(yàn)結(jié)果分析。為了驗(yàn)證本文算法的有效性和優(yōu)越性,將其與目前主流的RRPN[12]、P-RSDet[13]、R3Det[14]、SCRDet++[15]、PolarDet[16]、S2A-Net[17]、OPLD[18]等遙感圖像目標(biāo)檢測算法進(jìn)行定量比較。實(shí)驗(yàn)選擇mAP50(以下簡稱mAP)作為評(píng)估指標(biāo),mAP值越高表示檢測效果越好。定量對(duì)比結(jié)果如表3所示。
表3 本文算法與其他算法在DOTA測試集上的定量比較
由表3可知,當(dāng)前主流算法中S2A-Net和OPLD的mAP較高,達(dá)到76%以上,而本文算法的mAP值比上述算法分別高出0.94%和0.62%,整體檢測性能最優(yōu)。從單個(gè)類別的AP值來看,首先,YOLOv5m自身對(duì)小目標(biāo)的檢測性能較高,而本文改進(jìn)后的算法在近乎不影響小目標(biāo)檢測性能的基礎(chǔ)上,對(duì)大尺寸目標(biāo)(如田徑場、足球場、環(huán)島等)和長寬比變化極端的目標(biāo)(如橋梁、船艦、港口等)的AP值分別提高了2%~4%和4%~6%,整體的mAP值提高了1.66%,充分證明了本文所提算法對(duì)大尺寸目標(biāo)和長寬比變化極端目標(biāo)的有效性。其次,針對(duì)長寬比變化極端的目標(biāo)(如橋梁、港口等)和大尺寸目標(biāo)(如田徑場、足球場、環(huán)島等),PolarDet、S2A-Net和OPLD算法更具有優(yōu)勢,與之相比,本文對(duì)相應(yīng)目標(biāo)的檢測性能略有差距,但仍優(yōu)于多數(shù)方法,同時(shí)上述算法在小目標(biāo)(如大小車輛、船艦、籃球場、儲(chǔ)罐、游泳池等)上的檢測性能表現(xiàn)不足,且總的mAP次于本文算法??梢钥闯?本文算法對(duì)于多種尺度類型的目標(biāo)檢測的整體效果更佳。
3)實(shí)驗(yàn)可視化結(jié)果分析。為了進(jìn)一步證明本文算法對(duì)YOLOv5算法的提升,在DOTA測試集結(jié)果中選取7張典型圖片,包括8個(gè)場景及多個(gè)不同類型的目標(biāo)。對(duì)YOLOv5m與本文算法的檢測結(jié)果進(jìn)行主觀評(píng)價(jià),如圖9所示。
圖9 YOLOv5與本文算法在DOTA數(shù)據(jù)集上的可視化結(jié)果對(duì)比圖
圖9(a)~圖9(c)分別展示了船舶、港口和橋梁等長寬比變化極端的目標(biāo)的檢測結(jié)果;圖9(d)~圖9(f)分別展示了環(huán)島、田徑場和足球場等大尺寸目標(biāo)的檢測結(jié)果;圖9(d)、圖9(h)分別展示了車輛、儲(chǔ)罐等小目標(biāo)的檢測結(jié)果。從圖中可以看出,本文算法較好地改善了YOLOv5m對(duì)以上類別目標(biāo)的漏檢情況,且對(duì)相同目標(biāo)的檢測精度也更高(如圖9(c)中的橋梁),從視覺效果上充分驗(yàn)證了本文所提算法的有效性。
針對(duì)遙感圖像中部分目標(biāo)尺寸大且長寬比變化極端等問題,本文提出了一種基于多尺度特征融合和全局-局部注意力改進(jìn)的YOLOv5算法,用于遙感圖像目標(biāo)檢測。利用多尺度特征融合模塊可以獲得多個(gè)不同感受野的輸出,有效地提取和融合網(wǎng)絡(luò)中不同尺度的特征信息;采用全局-局部注意力機(jī)制,在建立長期依賴關(guān)系的同時(shí),保證了空間維度和通道維度的適應(yīng)性,使得網(wǎng)絡(luò)在多方面共同關(guān)注感興趣目標(biāo)區(qū)域,抑制無用信息,加強(qiáng)了網(wǎng)絡(luò)在全局范圍內(nèi)對(duì)特征的提取。本文所提算法提高了遙感圖像目標(biāo)檢測的性能,在與當(dāng)前主流算法對(duì)比中取得了最優(yōu)的總體評(píng)價(jià)指標(biāo),既保留了YOLOv5網(wǎng)絡(luò)在小目標(biāo)檢測方面的優(yōu)勢,又提高了大目標(biāo)以及長寬比大的目標(biāo)的檢測性能。本文算法可應(yīng)用到航空建筑物檢測、車輛檢測等相關(guān)領(lǐng)域,為智能檢測、城市規(guī)劃等領(lǐng)域提供理論和技術(shù)支持。