車思文, 汪宇玲,2
(1.東華理工大學信息工程學院,南昌 330000; 2.新南威爾士大學計算機科學與工程學院,悉尼 2052)
光學遙感圖像艦船目標檢測技術被廣泛應用于軍用和民用領域,涉及船只搜救、海運交通監控、漁業管理和海關緝私等任務。特別是在軍事領域,利用計算機從航空或衛星圖像中自動識別目標,提高了軍事情報的判讀效率和準確性。光學遙感圖像的目標檢測作為航空和衛星圖像分析領域的挑戰性問題,近年來備受關注。光學遙感圖像的傳感器和拍攝角度相較于普通光學圖像有較大的差異性。艦船目標通常較小、圖像信噪比相對較低、目標方向和尺寸多變、目標密集排列出現、背景區域占據大部分圖像等因素都增加了檢測的難度。
傳統艦船目標檢測方法依賴手工設計特征,通過提取視覺信息(如顏色、紋理、邊緣等)進行目標分類,這些方法存在諸多局限,如計算復雜度高、特征表達能力弱、魯棒性差、難以適應多變環境等,因此,無法滿足實際應用需求。相較于傳統的目標檢測方法,基于深度學習的艦船目標檢測方法具備更強的非線性擬合能力,能夠更好地適應艦船目標檢測的真實復雜場景。這類方法可以根據檢測思想分為兩階段檢測和一階段檢測。兩階段檢測模型包括Faster R-CNN[1]、Cascade R-CNN[2]和Mask R-CNN[3]等,這些模型首先生成候選區域,然后對這些區域進行分類識別,具有較高的檢測精度,但速度較慢,難以滿足艦船目標檢測應用中對實時性的要求。與之相比,以YOLO[4]、SSD[5]和RetinaNet[6]為代表的一階段檢測算法無需區域候選階段,直接對目標的位置和類別進行回歸,檢測速度更快,適合實時性較高的檢測需求。為了提升模型的檢測性能,研究者們提出了不同的改進方法,如增加K均值維度聚類[7]、構建多核SVM模型[8]、采用Transformer模型[9]等。周秦漢等[10]提出一種基于多尺度特征增強卷積神經網絡,用于密集小目標檢測任務;馬梁等[11]提出一種自適應特征加權融合結構,用于提高圖像特征表達的準確性。WANG等[12]提出的YOLOv7采用高效聚合網絡(Efficient Layer Aggregation Networks, ELAN)、重參數化卷積等技術,相比YOLOv5在相同的計算資源條件下精度更高,檢測速度更快。盡管深度學習算法實現了遙感圖像中的實時目標檢測,但仍存在對艦船目標檢測不敏感、檢測精度較低的問題。
因此,本文設計了一種基于多維注意力機制動態卷積的光學遙感圖像艦船目標檢測改進算法,在YOLOv7模型的基礎上,通過對YOLOv7模型改進來提高艦船目標檢測效果。在特征金字塔部分,設計融合多維注意力動態卷積的高效聚合網絡結構,利用多維注意力機制來學習內核空間所有4個維度的注意力,以增強模型捕獲豐富的上下文信息并提高特征提取能力。同時,設計多層次超大卷積核層,在特征提取網絡中自適應調節感受野大小,豐富全局特征描述,利用重參數化充分融合語義信息和區域形狀特征,進而提高艦船目標的檢測精度。
YOLOv7網絡模型由輸入端、特征提取網絡、特征融合網絡及輸出端4個部分構成。輸入端圖像經過裁剪、縮放等預處理操作使像素統一;特征提取網絡由CBS卷積塊、ELAN層以及MPConv層構成;特征融合網絡使用特征金字塔PAFPN網絡架構,充分融合不同層次特征信息實現多尺度學習;輸出端使用IDetect檢測頭,根據融合后特征值歸類大、中、小圖像,最終輸出被認定為目標的邊界框及其對應的類別。
本文以YOLOv7為基準設計網絡模型。首先,設計融合多維注意力機制動態卷積的特征金字塔網絡,該模塊沿卷積核空間的所有4個維度計算4種類型的注意力分布,根據輸入特征動態加權卷積核,使卷積操作依賴于輸入。另外,經過特征提取網絡之后,輸出的特征結果對應的感受野小,而輸入圖片的尺寸為640×640(單位為像素),即特征層的感受野不能完全覆蓋原圖,語義信息和特征信息不豐富,造成艦船目標的漏檢率較高。因此,需對特征提取網絡輸出的結果進行感受野擴充,以豐富上下文信息,提升目標檢測的召回率以及精確率。借鑒深度可分離卷積和大卷積核思想,設計多層次超大卷積核層,超大卷積核可以覆蓋更大的輸入區域,能夠捕捉到更全局的上下文信息,幫助模型理解目標的整體形狀和結構,改善目標的定位和識別。
改進的網絡結構如圖1所示,其中,CBS為卷積+批量歸一化+SiLU激活函數,MP1和MP2為池化操作,RepLKNet為多層次超大卷積核層模塊,SPPCSPC為空間金字塔池化模塊,ODConv為多維注意力機制動態卷積模塊,Upsample為上采樣,c為通道數,(1,1)(3,1)(3,2)分別為1、3、3的卷積核和1、1、2的步長。在ELAN-H層融合多維注意力機制動態卷積模塊,增強了特征融合網絡捕獲數據中重要特征的能力,突出目標所在區域,使得模型在訓練期間能夠更注重目標區域的學習,從而提高了模型的準確性。同時,設計結合多層次超大卷積核層的特征提取網絡來自適應調整特征層的感受野。

圖1 改進后的YOLOv7網絡結構Fig.1 Improved YOLOv7 network structure
遙感艦船圖像中復雜干擾因素較多,采用單一的卷積操作只能保留圖像的部分特征,捕捉多維度信息的準確性較差,同時也難以適應數據中的局部變化,而艦船目標的多尺度特征較為突出,細節信息的丟失會造成艦船目標的檢測精度偏低。因此,利用多維注意力機制對卷積核的4個維度學習細節特征,從而提取到不同維度的特征信息顯得尤為重要。
傳統的動態卷積只考慮單一維度的注意力機制,忽略了其他維度的注意力,而多維注意力機制動態卷積[13]是通過并行策略沿輸入通道、輸出通道、空間以及內核4個維度乘以不同的注意力,對于不同的輸入數據,經過卷積操作后在4個維度上具有不同的權重分配。動態卷積中采用了多個卷積核,通過充分學習多尺度的艦船圖像特征進而提升模型對艦船目標的檢測能力。
對于輸入特征圖x,其輸出特征y定義為
y=(αw1·αf1·αc1·αs1·W1+…+αwn·αfn·αcn·αsn·Wn)·x
(1)
式中,αwi∈R、αsi∈Rk×k、αci∈Rcin和αfi∈Rcout分別表示沿卷積核Wi的卷積核數、空間、輸入和輸出4個維度的注意力權重。
多維注意力機制動態卷積模塊的結構如圖2所示,其中,αsi、αci、αfi和αwi是用多頭注意力模塊計算得出的。

圖2 多維注意力機制動態卷積模塊Fig.2 Multi-dimensional attention mechanism dynamic convolution module
由圖2可知,具體流程是先通過全局平均池化(GAP)操作,將輸入的特征圖x壓縮成長度為輸入通道數cin的特征向量,接著,特征向量經過全連接層(FC)后映射到低維空間,最后通過ReLU 激活函數進行非線性激活操作,并將結果代入4個頭部分支。每個頭部分支都有一個全連接層,其輸出大小分別為k×k、cin×1、cout×1和n×1,通過Sigmoid函數分別生成歸一化注意力權重,并共享給所有的卷積內核。
針對遙感艦船圖像中存在的提取特征信息不足問題,設計在YOLOv7的ELAN-H部分融合多維注意力機制動態卷積模塊。由于其特殊的多維注意力機制,在進行特征融合操作時能充分融合多尺度信息,輸出的特征圖包含更多有效特征,從而達到提升檢測艦船目標精度的目的。
在艦船目標檢測任務中,隨著網絡層數的不斷加深,輸出特征經過多次卷積下采樣操作,語義信息表征能力增強,但容易出現空間幾何特征信息丟失的情況。解決深層網絡引起的淺層信息丟失問題,增強空間幾何特征提取能力,才能有效提升艦船小目標檢測精度。針對艦船目標的特點設計多層次超大卷積核層[14],加入多個不同大小的超大卷積核來處理不同尺度的目標,同時利用結構重參數化思想,大卷積核并聯小卷積核再進行重參數化,幫助模型實現擴增有效感受野(ERF)的同時降低計算量。相比直接加深網絡,采用大卷積核的設計能得到更大的有效感受野和更高的形狀偏差。ERF算式為
(2)


圖3 多層次超大卷積核層模塊Fig.3 Multi-level super large convolution kernel layer module
多層次超大卷積核層模塊包括以下3個部分:1) Stem部分作為初始層,其由通道數c1、步長為2的3×3卷積、3×3深度可分離卷積(DW)、1×1卷積和步長為2的3×3 DW卷積組成,該層目的是提取低維信息并將圖像尺寸進行壓縮;2) Stage層是模塊核心部分,設計4個不同的Stage層,其由n個RepLK Block和卷積前向網絡ConvFFN模塊堆疊而成,RepLK Block由批量歸一化(BN)、1×1卷積、k×kDW卷積以及殘差連接組成,ConvFFN由BN層、1×1卷積、GELU激活函數、1×1卷積以及殘差連接組成;3) Transition層插入在不同的Stage層之間,由通道數c2、1×1卷積和步長為2的3×3 DW卷積組成。
高層網絡輸出特征分辨率低,語義信息表征能力強,但缺乏幾何細節信息,與小卷積核相比,大卷積核具有更大的ERF和更多的幾何細節信息。網絡中的特征圖在經過特征提取后的分辨率較低,在低分辨率的特征映射上加入超大卷積核層可以減少計算量和內存成本。因此,在特征融合網絡前加入多層次超大卷積核層,可以提高模型對多特征的表征能力,使模型更有效關注目標的幾何形狀特征,同時,超大卷積核可以捕捉到更多的上下文信息,有助于理解艦船目標所在的背景環境,提高目標檢測的準確性。
HRSC2016[15]數據集是用于艦船目標檢測的高分辨率遙感艦船數據集,其中包含海上艦船和近岸艦船兩個場景的圖像,共有1061幅有效標注的圖像,劃分的訓練集、驗證集和測試集分別為436幅、181幅和444幅。實驗中,在保持長寬比的前提下將圖像尺寸調整為1024×1024(單位為像素)。
DOTA[16]數據集是用于遙感圖像領域目標檢測的數據集,其中包含2806幅航空圖像,圖像分辨率為 4000×4000(單位為像素),共有188282個帶有目標標注的實例,其中涵蓋了飛機、艦船、儲油罐等15種類型的目標。本文主要針對艦船圖像目標檢測任務,因此只提取了DOTA數據集中艦船的圖像。由于數據集的原始圖像過大,直接輸入到模型中不利于模型訓練,因此在圖像預處理階段,利用滑動窗口將圖像大小裁剪為1024×1024(單位為像素),裁剪后劃分2000幅作為訓練集,500幅作為驗證集,800幅作為測試集。
為驗證改進算法效果,選擇在HRSC2016數據集上進行訓練和測試,為評估改進后算法模型的泛化能力,選擇在DOTA數據集上進行驗證。
本文實驗均是在Ubuntu 22.04.2操作系統下進 行,CPU是Intel?Xeon?CPU @ 2.00 GHz,GPU是NVIDIATesla T4,內存是 16 GiB。所有深度學習模型均在Pytorch框架下構建,Python版本為3.10.12,CUDA版本為12.0。
本文運用遷移學習,將COCO預訓練模型的權重作為初始化參數,訓練輪次設置為100,batch size設置為10,訓練過程中圖像的輸入尺寸大小為640×640(單位為像素),采用Adam優化器,初始學習率為0.01,使用余弦函數來降低學習率,權重衰減系數為0.0005。本文所有實驗均在相同的實驗環境配置和參數設置下進行,表中的加粗字體表示最優結果。
實驗采取平均精度均值(mAP)作為算法性能的評價指標,表示為ImAP,平均精度(AP)表示以精確率P為縱坐標,召回率R為橫坐標得到的P-R曲線下的面積大小,表示為IAP,精確率P表示為被正確識別為艦船的樣本在所有預測結果中正確預測為艦船樣本的比例,召回率R表示被正確識別到的艦船樣本數與所有艦船樣本的比例。此外,漏檢率(MR)和誤檢率(FPR)也是常用的評價指標,主要用于評估模型在艦船目標檢測任務中的檢測誤差,具體定義為
(3)
(4)
(5)
(6)
(7)
(8)
其中:TP表示正確識別為艦船的樣本數;TN表示正確識別為非艦船的樣本數;FP表示錯誤識別為艦船的樣本數;FN表示艦船被錯誤識別為非艦船的樣本數;N表示為艦船樣本的種類數。本文主要采用IoU閾值設置為0.5來評估算法性能。
本文提出了在特征融合網絡中設計融合多維注意力機制動態卷積的高效聚合結構以及在特征提取部分設計多層次超大卷積核層的改進算法。為探究設計的兩個模塊對原網絡模型的影響,在HRSC2016和DOTA數據集上進行了多組消融實驗,得到的實驗結果對比如表1所示。

表1 消融實驗結果對比
從表1可以看出,YOLOv7基線算法在HRSC2016和DOTA數據集上的mAP分別為91.4%和88.2%。當僅添加多維注意力機制動態卷積模塊和僅添加多層次超大卷積核層模塊時,檢測精度都所有提升,當同時添加多維注意力機制動態卷積模塊和多層次超大卷積核層模塊,檢測精度達到最優,這表明兩種算法并不沖突。最終改進后的算法在HRSC2016 和DOTA數據集上的mAP分別達到93.4%和90.1%。
為了驗證本文提出算法的有效性,將其與一些現有相關研究工作進行對比,表2為本文算法與先進算法在HRSC2016數據集上的實驗結果對比。

表2 本文算法與先進算法在HRSC2016數據集上的實驗結果對比
由表2可知,與其他算法相比,本文算法取得更好的結果。其他算法僅關注淺層特征信息,忽略了多維特征信息的重要性,而本文設計的多維注意力機制動態卷積模塊和多層次超大卷積核層模塊,提高了網絡捕獲更多有效特征的能力。
表3所示為本文提出的算法與不同目標檢測算法在HRSC2016數據集上的比較結果。

表3 不同目標檢測算法在 HRSC2016數據集上的比較
由表3可知,本文所提算法mAP達到93.4%,與其他目標檢測算法相比分別提高了11.3、9.1、8.5、2.8和2個百分點,漏檢率、誤檢率也有所降低。
不同目標檢測算法在HRSC2016數據集上可視化效果見圖4。

圖4 不同目標檢測算法在HRSC2016數據集上的可視化效果Fig.4 Visualization of different target detection algorithms on the HRSC2016 dataset
由圖4可知,在大小目標混合的光學遙感艦船圖像中,本文算法相比YOLOv5s和YOLOv7算法可以更準確地檢測出小型艦船,沒有出現漏檢誤檢的情況。
為進一步驗證改進算法的泛化能力,將本文算法與不同目標檢測算法在DOTA數據集上進行比較,如表4所示。

表4 不同目標檢測算法在DOTA數據集上的比較
由表4可知,本文提出的改進YOLOv7算法相較其他算法,取得了更高的檢測精度,mAP達到了90.1%,漏檢率和誤檢率也取得最優的結果,同時也表明了本文算法具有較好的泛化能力。
不同目標檢測算法在DOTA數據集上可視化效果如圖 5 所示。
由圖5可知,YOLOv5s和YOLOv7算法誤將海浪標記為艦船目標,且這兩種算法對小艦船目標的識別率較低。相比之下,本文所提算法可以更準確地檢測出艦船目標,有效解決了因復雜背景信息干擾導致的檢測精度低的問題。

圖5 不同目標檢測算法在DOTA數據集上可視化效果Fig.5 Visualization of different target detection algorithms on the DOTA dataset
本文提出一種基于多維注意力機制動態卷積的改進光學遙感圖像艦船目標檢測算法。為了獲得更豐富的遙感艦船圖像特征信息,設計了多維注意力機制動態卷積模塊,使特征圖包含更多有效特征。針對遙感艦船目標存在的漏檢誤檢問題,設計了多層次超大卷積核層模塊,得到更大的有效感受野和更高的形狀偏向,能學習多標簽艦船目標之間的潛在相關特征。
基于多維注意力機制動態卷積的改進光學遙感圖像艦船目標檢測算法在HRSC2016和DOTA兩個公共數據集上的mAP分別達到了93.4%和 90.1%,與現有主流先進算法相比,取得了更優的檢測精度,特別提高了艦船小目標識別能力,為遙感艦船圖像的小目標檢測任務提供了良好的解決方案。