崔麗群,曹華維
(遼寧工程技術大學軟件學院,遼寧 葫蘆島 125105)
隨著空間遙感技術的快速發展,獲取的遙感圖像的質量也越來越高。遙感圖像通過高空拍攝獲得,其中包含了豐富的地面信息,在低分辨率轉向高分辨率的過程中,所提供的地面信息細節豐富,這使遙感圖像在空中偵查、城市規劃、自然災害檢測等領域的應用越來越廣泛。因此,對遙感圖像的研究及應用成為研究熱點[1-2]。目前,學者們已提出了很多對自然場景下的圖像進行目標檢測的算法:一類是以YOLO[3]、YOLOv2[4]、YOLOv3[5]、YOLOv4[6]等算法為代表的單階段目標檢測算法,這類算法通過在特征圖上直接預測目標的位置和類別,一次性完成目標檢測任務,因此具有較快的檢測速度,但在目標定位和邊界框精度上相對較弱,檢測精度偏低;另一類是兩階段目標檢測算法,如快速的基于區域的卷積神經網絡(Fast R-CNN)[7]、更快速的基于區域的卷積神經網絡(Faster R-CNN)[8]等算法,兩階段算法相對于單階段算法更加準確,對小目標檢測效果更好,但是缺點是速度相對較慢。與自然場景下的圖像相比,遙感圖像在拍攝角度、物體分布、成像范圍等方面具有獨特的特點,例如:遙感圖像多為高空取景,容易受到天氣、光照等背景信息的干擾;在同一場景下,目標間尺度差異較大;目標排列具有任意性。這些都是影響遙感圖像目標檢測的難點。
學者們針對遙感圖像的目標檢測進行了相關研究。宋忠浩等[9]提出一種基于加權策略的遙感圖像目標檢測算法,該算法利用多尺度特征提高了對遙感圖像的檢測精度,但沒有考慮遙感目標角度多樣性的特點。LUO等[10]在原有批歸一化模塊的基礎上,增加居中和縮放校準,從而增強YOLOv5算法的特征提取能力,提高對遙感圖像中飛機目標檢測的精度,但是在復雜的天氣情況下難以實現精準的檢測效果。WANG等[11]將淺層特征映射引入YOLOX的特征融合部分,提高了模型的檢測精度,但也導致模型推理速度下降。王浩桐等[12]在單次多盒檢測(SSD)算法的基礎上針對飛機圖像小尺度且密集的特點,重新設計了錨框尺度大小、比例,并且額外增加了一個包含兩種尺度的特征層,但是研究類別相對單一,無法推廣到多類別遙感圖像的研究中。王道累等[13]針對遙感目標尺度的問題,使用改進的密集連接網絡作為特征提取網絡,以提升對中小目標的檢測精度,但對大尺度目標的檢測精度不高。DING等[14]提出了一種稱為感興趣區域(RoI)Transformer的架構,其貢獻在于使用旋轉位置敏感的RoI Align來提取區域的特征,用于遙感目標的定位和分類,可以有效地檢測目標,但存在效率低下的問題。YANG等[15]提出一種用于旋轉檢測的算法,該算法將檢測任務劃為兩個分支,主要用于生成目標的邊界框回歸信息,提高了小目標的檢測精度,但在邊界處會出現損失值暴增的問題。
學者們針對遙感圖像數據集中目標尺度差異較大的問題進行了研究。LIN等[16]提出的特征金字塔網絡(FPN)通過融合多尺度特征以提高多尺度目標檢測性能。然而,FPN不能將低層的位置信息反饋到高層語義特征中,而且特征也只能在鄰近層間相互傳遞,導致了特征融合的不平衡。LIU等[17]提出路徑聚合網絡(PANet),在FPN的基礎上引入一條自底向上的路徑增強結構,充分融合低層特征。TAN等[18]提出雙向特征金字塔網絡(BiFPN),引入上下文信息和基于PANet的權重信息來平衡不同尺度的特征,獲取了更豐富的語義信息。然而,遙感圖像不同目標間尺度差異過大,現有的特征融合方式難以滿足實際檢測需求。針對上述問題,本文基于YOLOv5提出一種遙感圖像目標檢測算法。設計聯合注意力的多尺度特征增強網絡,融入更多的低層特征并構建特征聚焦模塊捕捉關鍵信息,使特征圖包含豐富準確的語義信息和細節信息。利用感受野模塊對融合后的特征圖進行更新,減少特征信息損失。增加旋轉角度,并使用圓形平滑標簽優化邊界回歸,解決了遙感目標方向任意的問題。
YOLOv5目標檢測算法主要由輸入端、骨干網絡、特征融合、預測層4個部分組成。首先,在輸入端輸入一個RGB圖像,特征尺寸是640×640×3,其中,圖像尺寸為640×640像素,通道數為3。同時,使用馬賽克(Mosaic)等數據增強方法豐富圖像、簡化模型。骨干網絡是CSPDarkNet53,旨在從圖像中提取特征,主要由卷積塊Conv、C3、快速空間金字塔池化(SPPF)等模塊組成,其中,C3模塊借鑒跨階段局部網絡[19]的思想,由卷積塊和瓶頸結構Bottleneck組成,實現不同層次的特征融合。SPPF通過不同池化核的池化層進行特征提取。特征融合部分使用基于PANet的特征金字塔把融合后的特征傳入預測層,分別以80×80像素、40×40像素、20×20像素為輸出尺度,實現3種不同尺度目標的位置預測。
特征融合旨在聚合骨干網絡中不同階段輸出的多尺度特征,以增強輸出特征的表達能力,提高模型的性能。
YOLOv5算法特征融合采用PANet結構,如圖1所示(彩色效果見《計算機工程》官網HTML版,下同),將上采樣后的高層特征與細節信息豐富的低層特征進行融合,使用高分辨的低層特征檢測小尺度目標,低分辨率的高層特征檢測大尺度目標。然而,YOLOv5算法結構只考慮同一層級的特征,高層信息和低層信息不能有效融合,并且遙感圖像背景信息復雜,在YOLOv5算法的特征融合過程中,會受到噪聲信息的干擾。

圖1 YOLOv5算法特征融合網絡Fig.1 Feature fusion network of YOLOv5 algorithm
針對以上問題,本文提出一種聯合注意力的多尺度特征增強網絡,如圖2所示,該結構繼承了PANet的自底向上和自頂向下的聚合路徑,并增加了更多的低層特征,同時在融合過程中使用特征聚焦模塊加強特征聚合,引導模型識別和選擇更關鍵的特征信息。

圖2 聯合注意力的多尺度特征增強網絡Fig.2 Joint multiscale feature-enhanced network with attention
聯合注意力的多尺度特征增強網絡的流程為:1)將從骨干網絡輸出的P3、P4、P5這3種尺度的特征圖輸入特征融合部分,由于3種尺度的特征圖尺寸是不同的,為了便于特征融合,首先使用1×1卷積調整P5特征圖的通道數,并使用3×3卷積提取P4特征圖中的目標信息,將兩次變換后的特征圖進行拼接,通過特征聚焦模塊生成特征圖1;2)特征圖1進行2倍上采樣(UpSample)后,和P4特征圖、經過3×3卷積處理的P3特征圖拼接,通過特征聚焦模塊生成特征圖2;3)特征圖2再進行一次上采樣操作與P3特征圖拼接,通過特征聚焦模塊生成特征圖3,用于檢測小目標;4)將特征圖3和特征圖2拼接并通過特征聚焦模塊處理,生成特征圖4,用于檢測中等目標;5)特征圖4經過同樣的操作與特征圖1、2進行拼接,通過特征聚焦模塊生成特征圖5,用于檢測大目標。

圖3 感受野模塊結構Fig.3 Structure of receptive field block

圖4 引入旋轉角度的檢測框Fig.4 Detection box with introduced rotation angle

圖5 圓形平滑標簽Fig.5 Circular smooth label
在圖2中的特征聚焦模塊是由1×1卷積、3×3卷積和輕量級通道注意力(ECA)[20]按照殘差連接的方式設計的增強模塊,旨在獲取通道信息以增強網絡的特征表達能力,抑制遙感圖像中的背景信息。1×1卷積對特征圖進行降維操作,ECA機制則采用局部跨通道交互對特征進行組合以增強特征表達,使用全局平均池化(GAP)得到每一個通道的權重值,之后使用包含k個參數的一維卷積捕獲局部跨通道的交互信息,并通過激活函數Sigmoid對權重值進行歸一化處理,使模型捕捉到關鍵的通道特征。3×3卷積的目的是從低層特征中二次提取有用的細節特征,經過該模塊的處理,模型可以獲得包含準確的語義信息和細節位置信息的特征圖,提高目標任務的準確性。
隨著網絡結構的加深,遙感圖像中的目標在經過多次卷積操作后可能會丟失大量的關鍵特征信息,導致目標在高級特征圖中難以被檢測和識別。使用感受野模塊對融合后的特征圖進行更新,擴大特征圖感受野,減少特征信息的損失[21]。
RFB由多分支卷積層和空洞卷積層組成。多分支卷積層采用不同大小的卷積核,模擬不同尺寸的感受野,從而捕捉不同尺度下的圖像特征??斩淳矸e層使用不同空洞率(r)的空洞卷積獲取多尺度上下文信息,在不增加額外參數的情況下獲得不同尺寸的感受野,從而更有效地利用特征信息。
感受野模塊結構如圖3所示,該結構包括4條支路,F1、F2、F3由1×1卷積、3×3卷積、不同空洞率的3×3空洞卷積組成,F4表示殘差連接,旨在保留更多的原始特征信息。計算過程如下:

(1)

(2)

(3)
O=σ(f1×1(Concat(F1,F2,F3))+F4)
(4)

在遙感圖像中,目標密集分布且方向各異,使用水平檢測框檢測遙感圖像會帶來很多無用的信息,使定位不準確。對目標增加旋轉角度,實現對任意方向下目標的準確定位,檢測框格式定義為[x,y,w,h,θ],其中,(x,y)表示檢測框的中心點坐標,w和h分別表示檢測框的寬和高,θ表示目標的旋轉角度。增加旋轉角度后的檢測框如圖4所示。
然而,在遙感圖像中,長寬比較大的目標對于旋轉角度的變化非常敏感,在周期變化的邊界處會出現損失值突增的情況,增加網絡學習難度,影響檢測精度。因此,通過圓形平滑標簽[22]方法,采用分類的形式將角度分為固定的類別,如圖5所示,對角度進行離散化處理,將1°分為1類,共180類,這使得-90°和89°這2個度數相鄰,避免角度周期性問題。窗口函數能計算預測標簽和真實標簽之間的角度距離,在有限范圍內越靠近真實值,損失越小。
圓形平滑標簽的表達式如式(5)和式(6)所示:

(5)

(6)
其中:g(x)為高斯窗口函數;r1是窗口函數半徑;a、u、δ均為常數項。
所提算法網絡結構如圖6所示。將圖像輸入骨干網絡,經過Conv和C3等模塊的處理,得到P3、P4和P5 3種尺度的特征圖,將3種特征輸入特征融合部分進行高低層信息交換,并利用特征聚焦模塊捕捉關鍵通道特征。使用RFB擴大特征圖3、4、5的感受野,減少特征信息的丟失。最終在預測層中輸出小、中、大3種尺度的目標。

圖6 所提算法網絡結構Fig.6 Network structure of the proposed algorithm
使用公開的用于航拍圖像目標檢測的大規模數據集(DOTA)[23]。該數據集包含2 806張高分辨率圖片和188 282個實例,涵蓋15個不同的類別,包括小型車輛(SV)、大型車輛(LV)、飛機(PL)、儲油罐(ST)、輪船(SH)、港口(HA)、操場跑道(GTF)、足球場(SBF)、網球場(TC)、游泳池(SP)、棒球場(BD)、環路(RA)、籃球場(BC)、橋梁(BR)和直升機(HC),圖片分辨率為800×800像素到4 000×4 000像素。由于數據集尺寸較大,難以直接輸入網絡進行訓練,因此采用圖像切割的方式對數據集進行預處理。將原始圖像按照間隔為200像素、子圖像尺寸為1 024像素的方式進行裁剪,得到多個分辨率為1 024×1 024像素的子圖像,共分割得到21 046張圖片。隨機劃分15 749張圖片作為訓練集,5 297張圖片作為測試集。
實驗使用的操作系統是Windows 10,GPU是NVIDIA GeForce RTX 3080,深度學習框架為PyTorch 1.9.0,設置300個epoch,初始學習率為0.01,在初始訓練前進行3個epoch的Warm-up訓練,動量因子和權重衰減分別是0.937和0.000 5。
使用平均精度均值(mAP)作為模型評價指標,通過計算多個類別的平均精度(AP)可以得到mAP。每個類別根據準確率(P)和召回率(R)繪制一條P-R曲線,通過計算曲線下的面積獲得該類的AP值,具體計算如式(7)~式(10)所示。mAP@0.5代表檢測結果與真實標注框的交并比(IoU)為0.5時的平均精度均值,mAP@0.5∶ 0.95代表檢測結果與真實標注框的IoU為0.5~0.95(步長為0.05)時的平均精度均值。

(7)

(8)

(9)

(10)
其中:NTP代表IoU大于等于設定閾值的檢測框數目,即被正確檢測的目標數量;NFP表示被錯誤檢測的目標數量;NFN表示未被檢測出的目標數量;P表示被檢出目標中真實樣本所占的比例,反映檢出結果的準確性;R為召回率,表示所有真實目標中被正確檢測的樣本比例。
2.3.1 特征融合消融實驗
研究不同特征融合結構對模型性能的影響,包括PANet(基準網絡)、BiFPN和本文設計的聯合注意力的多尺度特征增強網絡。由表1可以看出(其中最優指標值用加粗字體標示),PANet的mAP@0.5和mAP@0.5∶ 0.95最低,聯合注意力的多尺度特征增強網絡結構性能最好。

表1 不同特征融合結構對比Table 1 Comparison of different feature fusion structures %
2.3.2 窗口函數半徑消融實驗
所提算法使用高斯窗口函數,其中窗口函數半徑r的不同會直接影響檢測性能。當窗口函數半徑設置過小,高斯窗口函數變成脈沖函數,無法學習到角度信息;當窗口函數半徑設置過大,角度預測偏差會變大。共設置4組不同半徑的消融實驗,選取半徑為0、2、4、6進行實驗。實驗結果如表2所示,當窗口函數半徑設置為2,模型的檢測精度達到最高。

表2 窗口函數半徑的消融實驗Table 2 Ablation experiment of window function radius
2.3.3 模塊消融實驗
為了檢驗所提算法的有效性,在DOTA數據集上進行模塊消融實驗,驗證聯合注意力的多尺度特征增強網絡、圓形平滑標簽和感受野模塊對算法性能的影響。設置5組消融實驗,實驗結果如表3所示,其中,“√”表示模型使用該模塊,“×”表示模型未使用該模塊。

表3 所提算法在DOTA數據集上的消融實驗Table 3 Ablation experiment of proposed algorithm on the DOTA dataset %
由表3可以得知:第1組實驗為YOLOv5算法,將其作為基準模型與后續實驗進行對比,mAP@0.5為70.7%,mAP@0.5∶ 0.95為46.1%;第2組實驗僅使用聯合注意力的多尺度特征增強網絡,mAP@0.5提升了2.3個百分點,mAP@0.5∶ 0.95提升了1.0個百分點,可見該結構通過融入更多低層特征,并且利用特征聚焦模塊模型捕捉關鍵信息,有效提升了檢測精度;第3組實驗是對目標增加旋轉角度后使用圓形平滑標簽優化邊界回歸,使模型對目標定位更準確,mAP@0.5提升了4.4個百分點,mAP@0.5∶ 0.95提升了0.3個百分點;第4組實驗同時引入圓形平滑標簽和聯合注意力的多尺度特征增強網絡,mAP@0.5提升了6.1個百分點,mAP@0.5∶ 0.95提升了1.1個百分點;第5組實驗在第4組實驗的基礎上再引入感受野模塊,將算法的mAP@0.5提升至78.0%,mAP@0.5∶ 0.95提升至49.4%。由數據分析可知,所提算法可以有效提高對遙感圖像的檢測精度,并且每個模塊都在遙感圖像目標檢測算法中起著重要的作用。
為了對所提算法進行評估,將原YOLOv5算法和所提算法在DOTA數據集上進行訓練,訓練結果分別如表4所示。由表4可以看出:所提算法的mAP@0.5值從70.7%提高到78.0%,整體精度提升了7.3個百分點;對于密集排列目標,所提算法與YOLOv5算法相比精度有較大提升,小型車輛AP值從51.8%提高到82.8%,提升了31.0個百分點,大型車輛AP值從84.5%提高到89.5%,提升了5.0個百分點,輪船AP值從89.8%提高到96.0%,提升了6.2個百分點;對于操場跑道、足球場、棒球場等大尺度目標,所提算法精度與YOLOv5算法相比也有一定程度的提高。這說明所提算法對不同尺度下的遙感目標均有較強的適用性,驗證了所提算法的有效性。

表4 YOLOv5和所提算法訓練結果Table 4 Training results of YOLOv5 and the proposed algorithm %
此外,將所提算法分別與YOLOv3[5]、RoI Transfomer[14]、面向細小、雜亂和旋轉的物體穩健檢測(SCRDet)[15]、用于檢測任意方位場景文本的旋轉區域CNN(R2CNN)[24]、YOLOv7-tiny[25]和掩碼定向包圍盒(Mask OBB)[26]等主流算法進行對比,實驗結果如表5所示。由表5可以看出,基于Faster R-CNN提出的R2CNN算法的mAP@0.5值為60.6%,算法需要使用區域選取網絡(RPN)生成大量水平框,水平框間大量重疊的問題導致該算法對多類別的遙感圖像整體檢測精度不高;YOLOv3的mAP@0.5值達到64.6%,對大目標類別檢測精度較高,但受到錨框重疊問題的影響,整體檢測精度不高;RoI Transfomer的mAP@0.5值為68.1%,相比前兩種算法的mAP@0.5值有較大提高,但該算法存在效率低下和空間信息丟失的問題;YOLOv7-tiny的mAP@0.5值為71.5%,作為先進的單階段檢測算法速度較快,但整體檢測精度明顯低于所提算法;SCRDet針對雜亂小目標效果較好,mAP@0.5值為72.6%,檢測精度較高,但是存在邊界突變問題;Mask OBB的mAP@0.5值是75.3%,但對密集目標檢測精度不夠。從實驗結果來看,所提算法在所有算法中檢測精度為最高,并且對飛機、橋梁、小型車輛、大型車輛、輪船等密集目標的檢測精度提升顯著,進一步說明了所提算法對遙感圖像的檢測有效性。

表5 不同算法在DOTA數據集上的對比實驗Table 5 Comparison experiments of different algorithms on the DOTA dataset %
在DOTA數據集上對所提算法進行測試,并把測試結果進行可視化展示,如圖7所示。根據檢測效果對比可以看出:YOLOv5算法忽略了遙感目標存在方向性的問題,在采用水平檢測框檢測目標時出現檢測框重疊的情況;所提算法對目標引入旋轉角度,使用圓形平滑標簽優化邊界回歸,檢測框與待檢測目標更加貼合。同時,在背景復雜且尺度差異大的場景下,YOLOv5算法存在一定的漏檢、誤檢情況,如在圖7(a)的第2張圖片中沒有檢測出左上角的游泳池和左下角的小型車輛、又將圖7(a)的第3張圖片中地面目標錯誤的識別成港口。在同樣的檢測條件下,所提算法通過使用聯合注意力的多尺度特征增強網絡及引入感受野模塊,幫助模型提取關鍵信息,有效識別出上述目標,并顯著地提高了對遙感目標的檢測精度。上述分析均表明了所提算法在遙感檢測中的有效性。

圖7 YOLOv5與所提算法檢測效果可視化對比Fig.7 Visual comparison of detection effect between YOLOv5 and the proposed algorithm
本文對目前遙感圖像存在的問題進行分析,針對背景復雜、目標間尺度差異大、目標方向任意等特點導致檢測精度低下的問題,提出一種基于改進YOLOv5的遙感圖像目標檢測算法。在特征融合部分提出一種聯合注意力的多尺度特征增強網絡,融入更多的低層特征以豐富特征圖細節信息。在融合過程中構建特征聚焦模塊,幫助模型獲得關鍵通道特征。利用感受野模塊更新融合后的特征圖,減少特征信息的損失。最后,引入旋轉角度,并利用圓形平滑標簽對角度離散化,把回歸問題轉化成分類問題,實現對任意目標的精準定位。在DOTA數據集上的實驗結果表明,所提算法較YOLOv5算法檢測精度有明顯提升,對遙感圖像具有良好的檢測效果。雖然所提算法在檢測精度上有較大的提升,但也增加了大量模型參數,推理速度有所下降,在未來工作中將對算法模型進行輕量化處理,兼顧推理速度和檢測精度,以達到更好的實際應用效果。