吳建成,郭榮佐,成嘉偉,張 浩
四川師范大學(xué) 計算機(jī)科學(xué)學(xué)院,成都 610101
遙感技術(shù)在軍用、民用等領(lǐng)域發(fā)揮著重要作用,但如何從遙感圖像中提取大量有價值的信息并充分應(yīng)用于科學(xué)技術(shù)研究,對遙感圖像的相關(guān)任務(wù)提出了新的挑戰(zhàn)。其中,遙感圖像的目標(biāo)檢測任務(wù)是對遙感圖像中的特定目標(biāo)類別進(jìn)行檢測并識別其位置。如何提高檢測性能以獲取更準(zhǔn)確的定位和細(xì)致的分類結(jié)果,是該領(lǐng)域的重點研究內(nèi)容。
近年來,出現(xiàn)了許多優(yōu)秀的目標(biāo)檢測方法,如基于錨框(anchor-based)兩階段的Faster R-CNN、Mask R-CNN、FSOD[1]算法,以及單階段檢測器SSD和YOLO系列等。最近興起的無錨框(anchor-free)檢測器FCOS[2]等和基于Transformer 的Deformable DETR[3]、Swin Transformer[4]等,也在通用圖像識別數(shù)據(jù)集上取得了不錯的效果。同時,針對遙感圖像中小目標(biāo)檢測問題,已經(jīng)有許多研究者提出了各種改進(jìn)方案和專門設(shè)計的模型,如:Jeune等人[5]基于FSOD 算法,提出了一種基于對比性建議編碼的遙感圖像少樣本目標(biāo)檢測方法TiNet,使用對比性學(xué)習(xí)來提高建議特征的判別性;李超等人[6]基于Faster R-CNN 提出了一種基于注意力機(jī)制的特征融合網(wǎng)絡(luò)ABFN,通過尺度注意力模塊和邊緣細(xì)化模塊改善了遙感圖像中小且密集排布目標(biāo)檢測困難的問題;Xu等人[7]通過結(jié)合Transformer 和CNN 的優(yōu)勢,提出了一個基于注意力機(jī)制的少樣本目標(biāo)檢測的框架,并應(yīng)用一種新的多尺度對齊方法來改善小目標(biāo)的檢測效果。不過它們都受制于算法的特性,無法在保持精度的情況下有效提升檢測速度。
近年來,YOLO 系列以其快速、準(zhǔn)確和成熟的工程能力成為目標(biāo)檢測領(lǐng)域的代表性算法。YOLO 系列算法經(jīng)過多次改進(jìn)和優(yōu)化,從YOLOv1 到Y(jié)OLOv6[8-12],不斷提升了網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)、數(shù)據(jù)增強(qiáng)等方面的設(shè)計細(xì)節(jié),并且引入了更多先進(jìn)的模塊和技巧。已有不少算法基于YOLO 進(jìn)行了大量改進(jìn)以實現(xiàn)遙感圖像的快速目標(biāo)檢測,如:Gong等人[13]針對衛(wèi)星圖像中小目標(biāo)和方向變化的問題,引入Swin Transformer作為骨干網(wǎng)絡(luò)來提取多尺度特征,并利用注意力機(jī)制來增強(qiáng)小目標(biāo)和方向敏感性;Wu 等人[14]提出了一種基于YOLOv5 和全卷積神經(jīng)網(wǎng)絡(luò)(FCN)的快速小目標(biāo)檢測系統(tǒng),利用FCN作為輔助網(wǎng)絡(luò)來獲取每個目標(biāo)在圖像中的分布特征,并利用YOLOv5作為主要網(wǎng)絡(luò)來進(jìn)行分類和回歸,在自建數(shù)據(jù)集上取得了良好的效果;李坤亞等人[15]通過在YOLOv5中引入通道-全局注意力機(jī)制(CGAM)和密集上采樣卷積(DUC)模塊的方式,增強(qiáng)對不同尺度目標(biāo)的特征提取能力并加強(qiáng)了低分辨率特征的提取效果。這些算法在遙感圖像的檢測方面都取得了顯著進(jìn)步,但仍在檢測速度和精度的平衡之間存在一些局限性和不足之處。YOLOv7[16]是YOLO 系列的新版本算法,它通過特征精煉、重參數(shù)化和動態(tài)標(biāo)簽分配等技術(shù),減少了參數(shù)量和運算量,提高了檢測速度和準(zhǔn)確度。
YOLOv7 的特性使得它適用于快速目標(biāo)檢測任務(wù),但目前以其為基礎(chǔ)并針對遙感圖像特點做出的改進(jìn)較少,仍需特別設(shè)計以適用于這類圖像。本文基于YOLOv7架構(gòu)進(jìn)行了深度優(yōu)化,重構(gòu)了其特征提取網(wǎng)絡(luò)和特征融合網(wǎng)絡(luò)結(jié)構(gòu),提出了一種注意力特征融合的快速遙感圖像目標(biāo)檢測算法——YOLO-Aff。具體來說,針對遙感圖像中常見的背景信息復(fù)雜、多目標(biāo)且目標(biāo)尺度變化大、目標(biāo)小且密集等問題進(jìn)行了大量優(yōu)化,包括:(1)設(shè)計了一種帶通道注意力的高效層聚合網(wǎng)絡(luò)(ECALAN),用于調(diào)整特征提取網(wǎng)絡(luò)對于不同通道特征圖的重要程度,增強(qiáng)特征提取能力;(2)引入空間深度卷積模塊(SPD-Conv)與模糊池(Blur Pool)的方案替換原網(wǎng)絡(luò)中的最大池和步長為2的卷積,盡可能減少網(wǎng)絡(luò)下采樣帶來的特征損失,保留更多的全局特征;(3)以BiFPN 結(jié)構(gòu)為基礎(chǔ)結(jié)合SimAM 注意力特征融合模塊(CBSA)和SPD 設(shè)計一種新型的特征融合網(wǎng)絡(luò)結(jié)構(gòu),以加強(qiáng)多尺度的特征融合能力和小目標(biāo)的檢測能力;(4)使用Wise-IoU作為邊界框回歸的損失函數(shù)進(jìn)一步提高檢測的準(zhǔn)確性。在NWPU VHR-10 公開數(shù)據(jù)集上的數(shù)據(jù)表明,本文算法對背景復(fù)雜、小目標(biāo)較多的遙感圖像具有良好的檢測效果。
本文采用YOLOv7作為基線網(wǎng)絡(luò),它是目前為止速度和精度兼具優(yōu)勢的一種單階段檢測算法,主要由輸入模塊(Input)、主干網(wǎng)絡(luò)(Backbone)、特征融合網(wǎng)絡(luò)(Neck)和預(yù)測網(wǎng)絡(luò)(Head)四部分組成,如圖1所示。
圖1 YOLOv7網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure of YOLOv7
輸入模塊:該模塊通過對輸入圖像進(jìn)行尺寸統(tǒng)一和多種數(shù)據(jù)增強(qiáng)手段(如Mixup、Mosaic、Affine 等)的應(yīng)用,豐富數(shù)據(jù)集,然后采用自適應(yīng)錨框技術(shù)計算得到初始錨框大小。
主干網(wǎng)絡(luò):該網(wǎng)絡(luò)由基礎(chǔ)卷積模塊(CBS)、高效層聚合網(wǎng)絡(luò)(efficient layer aggregation net,ELAN)模塊和最大池模塊(MP)組成,負(fù)責(zé)對輸入圖像進(jìn)行不同尺度的空間降采樣和特征提取。具體而言,對輸入圖像進(jìn)行連續(xù)的3次下采樣(4倍、8倍、16倍),然后將不同尺度的特征圖進(jìn)行通道調(diào)整后輸入到特征融合網(wǎng)絡(luò)。
特征融合網(wǎng)絡(luò):該網(wǎng)絡(luò)由特征金字塔(FPN)、路徑聚合模塊(PAN)和空間金字塔池化(SPPCSPC)構(gòu)成,負(fù)責(zé)對來自主干網(wǎng)絡(luò)不同特征層和檢測層各尺度的特征進(jìn)行融合,以生成攜帶更豐富信息的特征,用于輸入到預(yù)測網(wǎng)絡(luò)中。特征融合網(wǎng)絡(luò)會將來自主干網(wǎng)絡(luò)的三種不同尺度的特征圖與本網(wǎng)絡(luò)上采樣后的特征圖分別進(jìn)行融合,以同時保留深層網(wǎng)絡(luò)的抽象特征和淺層網(wǎng)絡(luò)的語義信息。
預(yù)測網(wǎng)絡(luò):該網(wǎng)絡(luò)使用可重參數(shù)化的卷積模塊(RepConv)調(diào)整通道,采用CIoU Loss 作為坐標(biāo)損失函數(shù),BCE Loss 作為分類損失和目標(biāo)置信度損失函數(shù)。預(yù)測網(wǎng)絡(luò)通過預(yù)測模塊對特征融合模塊所產(chǎn)生的三種不同尺度的特征圖進(jìn)行目標(biāo)定位,生成相應(yīng)的預(yù)測框,并通過非極大值抑制(NMS)對預(yù)測框進(jìn)行處理,最終得到目標(biāo)所在的位置結(jié)果。
YOLOv7 算法已經(jīng)在自然圖像的目標(biāo)檢測領(lǐng)域取得了較好的表現(xiàn),但目前尚未出現(xiàn)許多基于此算法設(shè)計的針對遙感圖像特點的目標(biāo)檢測算法,未能充分發(fā)揮其速度快、精度高的優(yōu)勢。
由于遙感圖像普遍具有背景復(fù)雜、小目標(biāo)多、特征提取難等問題,原始的YOLOv7網(wǎng)絡(luò)模型在此任務(wù)上不能取得很好的效果,依然存在大量的誤檢、漏檢問題,影響準(zhǔn)確率。針對以上問題,設(shè)計了一款注意力特征融合的快速遙感圖像目標(biāo)檢測算法——YOLO-Aff,整體框架如圖2所示。
圖2 YOLO-Aff網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of YOLO-Aff
輸入遙感圖像的圖片經(jīng)過輸入模塊的數(shù)據(jù)增強(qiáng)后調(diào)整為640×640×3的統(tǒng)一形狀,經(jīng)過多次帶SPD的卷積(SPD-Conv)運算后進(jìn)入由帶通道注意力的高效層聚合網(wǎng)絡(luò)(ECALAN)和模糊池化下采樣模塊(BP)組成的主干網(wǎng)絡(luò),隨即進(jìn)入特征融合網(wǎng)絡(luò)。特征融合網(wǎng)絡(luò)以雙向特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ),設(shè)計了一款無池化的FPN結(jié)構(gòu)。具體而言,由池化金字塔網(wǎng)絡(luò)(SPPCSPC)、ELAN 模塊、SimAM 注意力特征融合模塊(CBSA)、無跨步卷積模塊(SPD-Conv)構(gòu)成,它們所組成的網(wǎng)絡(luò)能夠在減少網(wǎng)絡(luò)參數(shù)量的同時,融合更強(qiáng)的低層語義信息,提升不同尺度下的特征融合能力。隨后進(jìn)入預(yù)測網(wǎng)絡(luò),使用無參卷積模塊調(diào)整通道后輸出80×80×255、40×40×255和20×20×255三種不同尺寸的特征圖,最后使用Wise-IoU作為坐標(biāo)損失函數(shù)進(jìn)一步提升檢測目標(biāo)精度。下面給出本網(wǎng)絡(luò)的偽代碼算法表示。
(1)輸入模塊(Input)
對輸入圖片img 進(jìn)行一系列數(shù)據(jù)增強(qiáng),并resize 成統(tǒng)一的形狀,得到輸入特征input。
(2)主干網(wǎng)絡(luò)(Backbone)
對輸入input 分別利用SPD-stem、ECALAN、BP 模塊提取特征信息,得到不同尺度的特征信息。
(3)特征融合網(wǎng)絡(luò)(Neck)
對主干網(wǎng)絡(luò)得到的特征x使用upsample 上采樣、SPD-Conv 下采樣進(jìn)行尺度變換,利用CBSA、Concat 進(jìn)行特征融合。
(4)預(yù)測網(wǎng)絡(luò)(Head)
使用BCE Loss作為分類損失和目標(biāo)置信度損失函數(shù),使用LWIoU作為邊界框回歸損失函數(shù),得到預(yù)測融合。
在YOLOv7 的原始網(wǎng)絡(luò)中,存在大量的跨步卷積(strided convolution),這是一種常見但有缺陷的設(shè)計,它可能會導(dǎo)致遙感圖像中關(guān)鍵的細(xì)粒度信息的丟失和特征表示學(xué)習(xí)的效率降低。為了有效檢測遙感圖像中的較小目標(biāo),本網(wǎng)絡(luò)中引入了一種無跨步卷積(SPD-Conv)[17]來取代跨步卷積。無跨步卷積由一個空間深度轉(zhuǎn)換層(space-to-depth)和一個非跨步卷積層(non-strided convolution)組成,它可以將圖像像素從二維空間壓縮到一維空間。
比例因子(scale)設(shè)置為2 時,即scale∈{1,2},對于任何寬為S、高為S、通道數(shù)為C1的中間特征圖X(S×S×C1)可產(chǎn)生下列一系列子圖:
根據(jù)式(1)可得到4 個子特征圖f0,0、f0,1、f1,0、f1,1,將得到的特征圖按照通道方向拼接得到輸出特征圖X′(S/sacle,S/sacle,scale2C1),其通道數(shù)是輸入張量通道數(shù)的4倍,即4×C1,完成空間深度的轉(zhuǎn)化。最后為了盡可能地保留所有的判別特征信息,將X′再進(jìn)行一次無跨步卷積,得到最后的特征圖X″(S/sacle,S/sacle,C2),示意如圖3。
圖3 SPD-Conv無跨步卷積Fig.3 Space to depth and non-strided convolution
近年來,注意力機(jī)制在目標(biāo)檢測領(lǐng)域受到了廣泛關(guān)注。有效地添加注意力模塊到檢測網(wǎng)絡(luò)中,可以降低圖像背景復(fù)雜性對檢測網(wǎng)絡(luò)的干擾,使網(wǎng)絡(luò)更加關(guān)注需要檢測的目標(biāo)信息,從而提高檢測性能。YOLOv7作為一款通用目標(biāo)檢測模型,主要應(yīng)用于自然圖像的檢測,未關(guān)注到遙感圖像背景復(fù)雜、目標(biāo)小的特殊性,導(dǎo)致模型在特征提取的過程中無法充分關(guān)注小目標(biāo)區(qū)域,常常出現(xiàn)漏檢和誤檢的情況。為了使模型更加關(guān)注需要檢測的目標(biāo)位置和類別,而不是在冗余的背景信息上浪費計算資源,YOLO-Aff 嘗試根據(jù)注意力模塊的特點將其嵌入到Y(jié)OLOv7的網(wǎng)絡(luò)模塊中,分別在主干網(wǎng)絡(luò)模塊中和特征融合網(wǎng)絡(luò)模塊中引入了高效通道注意力(efficient channel attention,ECA)[18]和簡單無參注意力(SimAM)[19],形成了全新的帶通道注意力的高效層聚合網(wǎng)絡(luò)(ECALAN)和SimAM注意力特征融合模塊(CBSA)。
2.2.1 帶通道注意力的高效層聚合網(wǎng)絡(luò)(ECALAN)
ECA 注意力機(jī)制是一種基于卷積神經(jīng)網(wǎng)絡(luò)的注意力機(jī)制,通過將特征圖與它們自己的卷積結(jié)果進(jìn)行自注意力計算來獲取重要特征。這種注意力機(jī)制利用了特征圖本身的信息來學(xué)習(xí)如何選擇最相關(guān)的特征,從而提高網(wǎng)絡(luò)的性能和魯棒性。與傳統(tǒng)的注意力機(jī)制不同,ECA 注意力機(jī)制不需要任何外部信息,而且計算效率高,能夠適應(yīng)目標(biāo)檢測任務(wù)的實時性。為了在遙感圖像目標(biāo)檢測任務(wù)中更好地聚焦于需要檢測的目標(biāo)位置和類別,而非被冗余的背景信息所干擾,嘗試將YOLOv7的高效聚合層網(wǎng)絡(luò)(ELAN)模塊按照ACMix[20]中注意力特征融合的設(shè)計思想,設(shè)置多條卷積和自注意力模塊的混合路徑,嵌入ECA注意力模塊,結(jié)構(gòu)如圖4所示。
圖4 ECALAN網(wǎng)絡(luò)結(jié)構(gòu)和ECA注意力機(jī)制模塊Fig.4 ECALAN network structure and ECA attention mechanism module
在ECA 模塊中,首先通過對輸入特征圖進(jìn)行一次全局平均池化(GAP),將特征圖X從H×W×C的矩陣轉(zhuǎn)換為1×1×C的通道特征向量,計算得到自適應(yīng)的一維卷積核大小k,接著將其送入此卷積中,通過sigmoid函數(shù)來學(xué)習(xí)通道注意力并得到特征圖每個通道的權(quán)重,最后將變換后的結(jié)果與原始特征圖進(jìn)行逐通道加相乘輸出加權(quán)后的特征圖。
ECA 與ELAN 結(jié)構(gòu)的組合能夠同時享有卷積結(jié)構(gòu)在局部更強(qiáng)的關(guān)注度和自注意力結(jié)構(gòu)自適應(yīng)對不同區(qū)域信息特征的關(guān)注和捕獲,即其既能夠捕捉不同尺度和通道的信息,又能夠充分利用自注意力和卷積的優(yōu)勢,同時保持低計算開銷,從而在不顯著增加網(wǎng)絡(luò)負(fù)擔(dān)的情況下,提升復(fù)雜背景下的遙感圖像目標(biāo)特征的提取能力。
2.2.2 SimAM注意力特征融合模塊(CBSA)
原YOLOv7 結(jié)構(gòu)對于主干網(wǎng)絡(luò)所提取的不同尺度的特征,只是簡單地調(diào)整通道后便輸入特征融合網(wǎng)絡(luò)中,這種做法顯然對網(wǎng)絡(luò)的速度有著一定的幫助,但這卻造成了特征信息不同程度的丟失。同時通過多次實驗發(fā)現(xiàn),此路徑的計算和參數(shù)對網(wǎng)絡(luò)整體性能,特別是模型的推理速度有著較大影響?;趯Σ煌叨忍卣魅诤闲屎托阅艿木C合考慮,在網(wǎng)絡(luò)中設(shè)計了一個SimAM 注意力特征融合模塊,用于在保證網(wǎng)絡(luò)性能的前提下,盡可能地增強(qiáng)有效特征信息的利用。此模塊由卷積層、批歸一化層、SimAM注意力層和ACON-C激活函數(shù)構(gòu)成,如圖5所示。
圖5 SimAM注意力特征融合模塊結(jié)構(gòu)Fig.5 SimAM attention feature fusion module structure
SimAM模塊基于能量函數(shù)評估每個神經(jīng)元的重要性(即能量越低,神經(jīng)元與周圍神經(jīng)元的區(qū)別越大,重要性越高),相比于其他自注意力模塊,SimAM可在不向原始網(wǎng)絡(luò)添加額外參數(shù)的情況下推斷特征圖中的三維注意力權(quán)重,避免了大量參數(shù)的引入。ACON-C是ACON[21]函數(shù)族中的一種簡單情況,是一種被用于改善卷積神經(jīng)網(wǎng)絡(luò)中激活函數(shù)非線性特性的激活函數(shù),它通過引入開關(guān)因子去學(xué)習(xí)非線性(激活)和線性(非激活)之間的參數(shù)切換,自適應(yīng)地學(xué)習(xí)是否激活神經(jīng)元,公式如下:
式中,p1和p2是兩個可學(xué)習(xí)的參數(shù),它們函數(shù)控制著上下界的值,在網(wǎng)絡(luò)中可自適應(yīng)地調(diào)整;σ表示sigmoid激活函數(shù);β是一個平滑因子,用于控制是否激活神經(jīng)元(β為0則不激活)。
SimAM注意力機(jī)制和ACON激活函數(shù)都出于對神經(jīng)元的激活、抑制情況進(jìn)行設(shè)計,在特征信息通過此注意力特征融合模塊后,能夠依據(jù)神經(jīng)元重要性提取關(guān)注信息,抑制背景噪聲等無關(guān)信息,將它們有機(jī)結(jié)合起來可以進(jìn)一步提高卷積神經(jīng)網(wǎng)絡(luò)的性能和魯棒性。具體而言,SimAM 注意力機(jī)制可以幫助網(wǎng)絡(luò)更好地學(xué)習(xí)輸入特征圖的相關(guān)性,提取更加有用的特征信息;而ACON激活函數(shù)則可以提高網(wǎng)絡(luò)的非線性表征能力,增強(qiáng)網(wǎng)絡(luò)對于復(fù)雜數(shù)據(jù)的建模能力。同時,由于兩者都具有輕量級、計算效率高的特點,可以方便地嵌入到Y(jié)OLO-Aff網(wǎng)絡(luò)中,從而提高網(wǎng)絡(luò)的性能和精度。
在YOLOv7的原始主干網(wǎng)絡(luò)中,作者使用最大池下采樣模塊(MP)來對輸入圖片進(jìn)行連續(xù)的三次下采樣。盡管最大池化是一種常用的下采樣手段但卻無法帶來很好的平移不變性,即當(dāng)輸入的圖像有較小的平移時(或許只是一個像素)會很大程度上影響網(wǎng)絡(luò)的輸出,這對網(wǎng)絡(luò)的魯棒性有很大影響,并一定程度上影響了網(wǎng)絡(luò)的高效特征提取。為保持平移不變性,一種常見的方法是在下采樣之前進(jìn)行低通濾波(如先進(jìn)行一次卷積),但是其插入位置至關(guān)重要,位置的不正確反而會導(dǎo)致網(wǎng)絡(luò)的效果下降。
模糊池[22](Blurpool)將最大池化分解為步長為1 的Max 操作和步長為2 的BlurPool 操作,將最大池化和高斯模糊結(jié)合在一起,用于卷積神經(jīng)網(wǎng)絡(luò)中的下采樣操作。相較于傳統(tǒng)的最大池化,BlurPool可以在減小空間分辨率的同時保留更多的信息,有利于網(wǎng)絡(luò)的學(xué)習(xí)和泛化能力的提升,并可以很大程度上緩解平移不變形的丟失。同時,由于模糊池只考慮了局部小區(qū)域的模糊信息,而卷積可以考慮小區(qū)域的所有值的信息,因此與原網(wǎng)絡(luò)結(jié)構(gòu)相似地,結(jié)合卷積和模糊池的優(yōu)勢,設(shè)計了模糊池下采樣模塊(BP),如圖6所示。
圖6 MP和BP模塊結(jié)構(gòu)對比圖Fig.6 Comparison diagram of MP and BP module structure
具體而言,BP 模塊分別使用模糊池和CBS、SPDConv 拼接組成。在YOLO-Aff 主干網(wǎng)絡(luò)的三次下采樣階段分別使用通道數(shù)為256、512和1 024的模糊池下采樣模塊(BP)完成,并為它們配置過濾器為6的模糊半徑和步長為2池化大小來調(diào)整下采樣程度,以達(dá)到最好的結(jié)果。
邊界框回歸(BBR)的損失函數(shù)對于目標(biāo)檢測至關(guān)重要,其良好的定義將為模型帶來顯著的性能提升。當(dāng)下大多數(shù)工作都假設(shè)訓(xùn)練數(shù)據(jù)中的示例是高質(zhì)量的,并側(cè)重于加強(qiáng)BBR 損失的擬合能力,如GIoU[23]使用了由最小封閉框構(gòu)造的懲罰項,DIoU[24]使用了由距離度量構(gòu)造的懲罰項。YOLOv7 原始模型采用CIoU[24]作為BBR損失函數(shù),它是基于DIoU 引入了長寬比度量得到的。CIoU盡管相較于常用的IoU具有更好的表現(xiàn),但在遙感圖像中,可能會由于天氣情況、拍攝角度、圖像尺度、背景復(fù)雜等因素,不可避免包含低質(zhì)量的樣例,如果盲目地在低質(zhì)量樣例上加強(qiáng)BBR,可能會危害網(wǎng)絡(luò)魯棒性。
為解決此問題,YOLO-Aff 引入Tong 等人[25]通過構(gòu)造距離注意,提出的Wise-IoU 損失函數(shù)LWIoUv3,定義如下:
式中,RWIoU用于顯著放大普通質(zhì)量錨框的LIoU,LIoU用于顯著降低高質(zhì)量錨框的RWIoU,當(dāng)錨框與目標(biāo)框完全重合時,它會將焦點放在中心點之間的距離上。Wg和Hg為最小外接框的寬和高,為了防止RWIoU阻礙梯度的收斂,Wg和Hg被從計算圖中分離出來(上標(biāo)*表示這一操作)。表示帶動量m的運行均值,錨框的異常程度β表示為和LIoU的比值。
本文所使用的數(shù)據(jù)集是西北工業(yè)大學(xué)發(fā)布的NWPU VHR-10數(shù)據(jù)集[26]。該數(shù)據(jù)集是一個用于空間物體檢測的10類地理遙感數(shù)據(jù)集,其中包括建筑物、森林、公園、水體等多種不同的背景類別。該數(shù)據(jù)集包含650 張帶有目標(biāo)的圖像和150張背景圖像,共計800張圖像,包含3 896 枚目標(biāo)實例。此數(shù)據(jù)集已經(jīng)過標(biāo)注和驗證,可以方便地用于遙感圖像目標(biāo)檢測算法的訓(xùn)練和測試。如圖7所示,在包含目標(biāo)的650張圖像中的標(biāo)注顯示,該數(shù)據(jù)集中包含大量的小尺寸目標(biāo)(尺寸小于32 px×32 px的目標(biāo)),如飛機(jī)、儲油罐和汽車等,占比高達(dá)44.3%。這些目標(biāo)受到圖像拍攝角度、遮擋和光照等因素的影響,在遙感圖像中大小和形狀各異,對于遙感圖像檢測算法的測試具有參考價值。
圖7 NWPU VHR-10數(shù)據(jù)集實例類別和大小分布統(tǒng)計Fig.7 NWPU VHR-10 dateset instance category and size distribution statistics
本文將數(shù)據(jù)集中帶有目標(biāo)的650張圖像中按照4∶1的比例分配訓(xùn)練集和測試集并調(diào)試YOLOv7 原始數(shù)據(jù)增強(qiáng)算法進(jìn)行實驗,旨在驗證所提出算法的性能,對遙感圖像研究具有一定的參考意義。
本實驗在裝載Ubuntu 系統(tǒng)的Linux 服務(wù)器下基于Pytorch框架進(jìn)行訓(xùn)練開發(fā),具體實驗環(huán)境如表1所示。
表1 實驗環(huán)境配置Table 1 Experimental environment configuration
相同超參數(shù)的情況下進(jìn)行訓(xùn)練、驗證和測試,均從頭開始訓(xùn)練,設(shè)定訓(xùn)練輪次(Epochs)為300,批量大小(Batchsize)為16,圖片輸入尺寸(Img-size)為640×640。實驗采用隨機(jī)梯度下降(SGD)優(yōu)化器,動量(Momentum)和權(quán)重衰減(Weight Decay)均使用網(wǎng)絡(luò)默認(rèn)配置,分別為0.937、0.000 5;前3輪使用0.8的動量進(jìn)行預(yù)熱(Warmup),其余超參數(shù)均采用YOLOv7 默認(rèn)值。使用merge-NMS作為極大值抑制,IoU 閾值為0.5,預(yù)測框置信度(Confidence)設(shè)置為0.001。
遙感圖像目標(biāo)檢測精度由預(yù)測結(jié)果的定位精度和分類精度共同計算得出,為有效驗證模型的性能,本研究選用平均精確度(mAP)、準(zhǔn)確率(Precision,P)、召回率(Recall,R)、每秒傳輸幀數(shù)(FPS)和浮點計算量(FLOPs)、模型體積(Volume)幾項指標(biāo)進(jìn)行評估。其中,P反映的是預(yù)測為正例的樣本中有多少是真正例,R反映的是實際為正例的樣本中有多少被預(yù)測為正例。即:
其中,TP(true positive)表示真正例,即預(yù)測為正例且實際也是正例的樣本數(shù);FP(false positive)表示假正例,即預(yù)測為正例但實際為負(fù)例的樣本數(shù);FN(false negative)表示假負(fù)例,即預(yù)測為負(fù)例但實際為正例的樣本數(shù)。P和R是評估分類模型性能的兩個指標(biāo)。通常情況下,二者是相互矛盾的,提高P 可能會導(dǎo)致R 下降,反之亦然。為了全面評估模型的性能,一般使用所有類別精確度(AP)的平均值mAP來計算。AP的計算公式如下:
其中,m表示正樣本的數(shù)量,P(r)表示當(dāng)檢索到前r個結(jié)果時的P,Δr表示第r個結(jié)果與第r-1 個結(jié)果之間的R差值。通常情況下,P(r)和Δr會被組成為一個關(guān)于R 的函數(shù)P(r),然后使用數(shù)值積分的方式來計算AP并取平均值得到mAP,即:
其中,n為實際類別數(shù)量。
3.4.1 消融實驗
為探究各個改進(jìn)方法對基線目標(biāo)檢測網(wǎng)絡(luò)產(chǎn)生的影響,本文對YOLO-Aff 做了一系列消融實驗,如表2。具體而言,表中以原始YOLOv7 算法為基線網(wǎng)絡(luò),按照YOLO-Aff算法具體改進(jìn)的部分分為7組實驗呈現(xiàn)。本文將改進(jìn)部分分為:改進(jìn)主干網(wǎng)絡(luò)(BP+ECALAN)、改進(jìn)特征融合網(wǎng)絡(luò)(BiFPN+CBSA)、消除跨步卷積(SPD)、改進(jìn)邊界框回歸的損失函數(shù)(Wise-IoU)四部分。
表2 YOLO-Aff消融實驗結(jié)果Table 2 Ablation experiment results of YOLO-Aff
由表2 可知,組別2 相比組別1 改進(jìn)了主干網(wǎng)絡(luò)結(jié)構(gòu),分別在P 和R 上提升了0.9 和5.1 個百分點,mAP 提升1.3個百分點;組別3相比組別1改進(jìn)了特征融合網(wǎng)絡(luò)結(jié)構(gòu),在P 和R 上均有提升,分別是3.1 和2 個百分點,mAP提升1.4個百分點;組別4和組別5分別在組別2和組別3 的基礎(chǔ)上消除了跨步卷積,mAP 分別提升了0.6和0.3 個百分點;組別6 結(jié)合組別4、5,相比原模型分別在P、R、mAP 上有3.6、5.6、2.6 個百分點的提升;組別7加入改進(jìn)邊界框回歸改進(jìn),在組別6的基礎(chǔ)上分別在P、R、mAP 上有0.8、0.2、0.3 個百分點的小幅提升,此時mAP值為96%。
通過上述分析可知,本文改進(jìn)算法在提高P、R、mAP方面均有一定優(yōu)勢,對比基線網(wǎng)絡(luò)分別有4.4、5.8、2.9 個百分點的提升??傮w而言,在主干網(wǎng)絡(luò)中引入ECALAN 和BP 對R 有著大幅的改善作用,而改進(jìn)特征融合網(wǎng)絡(luò)對P和R均有著可觀的提升,SPD在不同位置的引入有著不同效果,在全局引入能夠?qū)λ惴╩AP 帶來小幅提升,Wise-IoU的引入能夠在不增加網(wǎng)絡(luò)計算量和參數(shù)的情況下提升三個指標(biāo),是一種性價比較高的改進(jìn)方案。
3.4.2 對比實驗
由于模型復(fù)雜度的增加,勢必會帶來FPS 的降低和浮點計算量(GFLOPs)、參數(shù)量(Parameters)和體積(Volume)的增加。為驗證本文所提出算法的仍然在目標(biāo)檢測領(lǐng)域具有有效性和競爭力,在相同的環(huán)境配置下選用SSD、Faster RCNN、CenterNet、YOLOv5l、YOLOv7等主流目標(biāo)檢測算法進(jìn)行對比實驗,實驗結(jié)果如表3所示。
表3 YOLO-Aff對比實驗結(jié)果Table 3 Comparison experiment results of YOLO-Aff
YOLO-Aff 在遙感影像數(shù)據(jù)集NWPU VHR-10 上的實驗數(shù)據(jù)表明,其檢測精度全面優(yōu)于主流的目標(biāo)檢測算法。具體而言,相較于兩階段的Faster-RCNN 算法,YOLO-Aff 在GFLOPs 和Volume 僅為其0.57 倍和0.85倍的情況下,分別在mAP、FPS上獲得了1.25倍、3.11倍的提升。與經(jīng)典單階段檢測算法SSD 相比,本算法在Volume相當(dāng)?shù)那闆r下,付出51.2 GFLOPs的額外浮點計算量代價獲得了接近22個百分點的mAP提升和2.27倍的FPS 提升。同時,本文算法在mAP 和FPS 指標(biāo)上均優(yōu)于浮點計算相似的CenterNet、YOLOv5l 算法。由于YOLO-Aff使用了更復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu),所以其在GFLOPs和Volume 上均較基線算法YOLOv7 有少量提升,并在FPS上有少量下降(仍能滿足高速目標(biāo)檢測),但在mAP上明顯優(yōu)于基線YOLOv7算法,并且在對比實驗中達(dá)到領(lǐng)先的速度和精度的平衡。
由表4可知不同算法的多類別檢測結(jié)果,本文算法在遙感影像數(shù)據(jù)集NWPU VHR-10 上的7 類目標(biāo)檢測效果優(yōu)于其他目標(biāo)檢測算法。相比于其他算法而言,YOLO-Aff 對于數(shù)據(jù)集中尺度變化較大的棒球場、籃球場、網(wǎng)球場、運動場等也有著更好的檢測效果,對于小目標(biāo)密集的船只、儲油罐有著更好的檢測效果,對于難以和背景分離的橋梁也有著較好的檢測效果。
3.4.3 其他數(shù)據(jù)集上的實驗
為了驗證本文提出的YOLO-Aff算法在遙感圖像目標(biāo)檢測任務(wù)中具有通用性,選用公開的大規(guī)模遙感圖像數(shù)據(jù)集DOTA v1.0 和遙感圖像艦船數(shù)據(jù)集HRSC-2016從零開始訓(xùn)練并進(jìn)行評估試驗,結(jié)果如表5、表6。由兩表可知,改進(jìn)的YOLO-Aff算法在準(zhǔn)確率、召回率和mAP指標(biāo)上均優(yōu)于YOLOv7基線算法。
表5 在DOTA v1.0數(shù)據(jù)集上的實驗結(jié)果Table 5 Experimental results on DOTA v1.0 dataset 單位:%
表6 在HRSC 2016數(shù)據(jù)集上的實驗結(jié)果Table 6 Experimental results on HRSC 2016 dataset 單位:%
3.4.4 檢測結(jié)果與分析
為了能夠更加直觀地展示YOLO-Aff的檢測效果,對本文算法與基線算法在不同背景下的遙感圖像進(jìn)行檢測,并對其進(jìn)行標(biāo)注和可視化。圖8展示的是密集小目標(biāo)的檢測場景,結(jié)果表明本文算法能夠捕捉更多小目標(biāo)的特征信息,從而有效提升小目標(biāo)的檢測正確率;圖9 展示的是圖像中出現(xiàn)誤檢的情況,對比YOLOv7和YOLO-Aff 算法的熱力圖可知,本文算法極大降低了因樣例不均衡導(dǎo)致的誤檢幾率,對目標(biāo)定位和識別分類有較強(qiáng)的優(yōu)勢。圖10 展示的是圖像中出現(xiàn)漏檢的情況,對比可知本文算法大大降低了在遙感圖像復(fù)雜背景下目標(biāo)識別漏檢的幾率,相比原始網(wǎng)絡(luò)更有優(yōu)勢。
圖8 密集小目標(biāo)場景下可視化對比結(jié)果Fig.8 Visual comparison results in dense small target scene
圖10 復(fù)雜背景下漏檢情況可視化對比結(jié)果Fig.10 Visual comparison results of missed detection in complex background
針對遙感圖像背景復(fù)雜、小目標(biāo)多、特征提取難等問題,提出了一種注意力特征融合的快速遙感圖像目標(biāo)檢測算法——YOLO-Aff。該算法以YOLOv7算法框架為基礎(chǔ),通過引入包括ECA注意力機(jī)制、模糊池技術(shù)來減少主干網(wǎng)絡(luò)下采樣帶來的信息損失,并以BiFPN為基礎(chǔ)基于SPD模塊設(shè)計了無池化的特征提取網(wǎng)絡(luò),結(jié)合注意力模塊CBSA 保留更多來自主干網(wǎng)絡(luò)不同尺度的特征。最后,優(yōu)化邊界框回歸損失函數(shù)為Wise-IoU進(jìn)一步提升網(wǎng)絡(luò)的性能。經(jīng)在遙感數(shù)據(jù)集NWPU VHR-10 上實驗驗證,該算法在FPS 指標(biāo)不顯著下降的情況下,比原有的網(wǎng)絡(luò)模型P、R、mAP值分別提高了4.4、5.8、2.9個百分點,并優(yōu)于目前主流的單階段和雙階段目標(biāo)檢測模型,有效解決了遙感圖像的快速檢測難的問題。同時,由于本文算法網(wǎng)絡(luò)結(jié)構(gòu)較原模型更復(fù)雜,所以帶來浮點運算和參數(shù)量的增長,后期將嘗試對輕量化改進(jìn)方向開展進(jìn)一步的研究。