?

融合多注意力機制的光學遙感圖像目標檢測方法

2022-02-15 11:52付宏建白宏陽郭宏偉原瑜蔓秦偉偉
光子學報 2022年12期
關鍵詞:注意力卷積精度

付宏建,白宏陽,郭宏偉,原瑜蔓,秦偉偉

(1 南京理工大學 能源與動力工程學院,南京 210094)

(2 火箭軍工程大學 核工程學院,西安 710025)

0 引言

光學遙感圖像目標檢測技術是指利用算法對感興趣的遙感圖像目標自動分類與定位的技術[1],在軍事偵察、精準制導、交通管制、災情預測等領域有著廣泛的應用[2]。從發展歷程看,光學遙感圖像目標檢測技術主要可分為傳統目標檢測算法和基于深度學習的目標檢測算法。傳統目標檢測算法是指基于手工設計的特征描述子來提取候選目標并進行驗證的方法[3],手工設計的特征一般為目標紋理、顏色、邊緣等視覺信息[4]。傳統目標檢測算法主要使用支持向量機(Support Vector Machine,SVM)[5]、Adaboost[6]和K-means[7]等方法作為分類器。

相比傳統目標檢測算法,基于深度學習的目標檢測技術可以自動提取目標特征,特征表達更具魯棒性和泛化性[8]。根據有無候選框生成階段作為區分[9],基于深度學習的目標檢測技術主要分為以R-CNN(Region-CNN)系列(R-CNN[10]、Fast R-CNN[11]、Faster R-CNN[12]、Mask R-CNN[13])為代表的雙階段模型和以YOLO(You Only Look Once)系列(YOLOv2[14]、YOLOv3[15])、SSD 系列(SSD[16]、DSSD[17])為代表的單階段模型?,F階段,在遙感圖像目標檢測領域應用深度學習目標檢測技術可以達到較好的檢測效果,然而,遙感圖像目標檢測仍有幾類難題亟待解決,如目標尺度差異大、目標分布密集、背景復雜等[18]。

針對上述問題,國內外學者在已有深度神經網絡的基礎上做了大量改進。HOU J Y 等[19]在R-CNN 的基礎上利用多分支的感興趣區域池化層(Regions Of Interest Pooling,ROI Pooling),將特征映射成不同尺度,并采用級聯方式檢測,提高了多尺度遙感目標的檢測精度,但對于密集分布的遙感目標檢測效果不理想。LONG H 等[20]融合了傳統方法與深度學習方法,提出一種特征融合的深度神經網絡,有效提高了密集分布目標和多尺度目標的檢測效果,但該網絡流程復雜,不具備工程應用價值。ZHANG Y K 等[21]采用語義分割的方式將各類別目標先進行特征掩膜,再采用像素注意力機制對各類別目標加權計算,提升各類別目標的區分度,有利于復雜背景下的目標識別,但這種采用先驗知識的方法不具備普適性。張永福等[22]基于Faster R-CNN 目標檢測框架,提出了一種融合特征的目標檢測模型,檢測精度得到提升,但模型的每秒傳輸幀數(Frames Per Second,FPS)僅為6.5 左右,無法滿足衛星在軌實時處理的需求。

因此,本文對YOLOv5 檢測網絡做出改進,提出了一種融合多注意力機制的YOLOv5 檢測網絡(Multi Attention-YOLOv5,MA-YOLOv5)。在網絡中添加一種自適應感受野大小的坐標注意力模塊,以加強網絡對多尺度目標特征的提取能力,提升網絡對復雜背景下目標的定位效果,并基于Swin Transformer 自注意力機制模塊改進了YOLOv5 網絡的預測頭,增強了網絡對密集分布目標的識別能力。

1 模型及改進

1.1 YOLOv5 檢測網絡及改進

根據檢測網絡深度與寬度系數的不同,YOLOv5 模型分為YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 四個版本,系數越大,模型越復雜,檢測精度通常越高,但同時也會犧牲檢測速度??紤]到遙感圖像在軌實時處理的需求,需保證檢測網絡具備實時檢測能力,因此選用網絡深度與寬度系數均為1 的YOLOv5l 網絡作為基礎網絡。YOLOv5l 在結構上主要分為主干(Backbone)、頸部(Neck)和檢測器(Prediction)三個部分。Backbone 部分主要采用CSPDarknet 的主干結構進行特征提??;Neck 部分采用FPN(Feature Pyramid Network)+PAN(Path Aggregation Network)的特征金字塔結構進行特征融合;Prediction部分采用CIOU_loss 作為損失函數進行計算。

針對遙感圖像中目標尺度差異大、背景復雜的特點,在YOLOv5l 網絡的Neck 部分添加一種自適應感受野大小的坐標注意力模塊(Adaptive Receptive Field Coordinate Attention,ARFCA),以提升網絡對不同尺度目標特征的提取能力,加強網絡在復雜背景下對目標的定位能力。針對遙感目標分布密集的特點,向YOLOv5 網絡的預測頭中添加滑動窗口變形器(Swin Transformer,STR)自注意力機制模塊,增強網絡捕獲目標環境信息的能力,形成了MA-YOLOv5 網絡。MA-YOLOv5 網絡整體結構如圖1 所示。

圖1 MA-YOLOv5 網絡結構示意圖Fig.1 Schematic diagram of MA-YOLOv5 network structure

1.2 ARFCA 模塊

針對遙感圖像中目標尺度差異大、背景復雜的特點,提出了一種自適應感受野大小的坐標注意力模塊,模塊結構如圖2 所示。該模塊主要分為分離、坐標注意力和選擇三個部分。

圖2 ARFCA 模塊示意圖(3 通道)Fig.2 Schematic diagram of ARFCA module(3 channels)

分離部分引入了不同卷積核大小的卷積作為并行分支進行特征處理,該模塊的分支數可根據數據集的不同進行改變,圖中展示了分支數為3 時的情況(按圖示易推得其他分支數時的情況)。三分支分別采用3×3、5×5 和7×7 的卷積核。為保證模型效率,5×5 和7×7 卷積實際為空洞率大小為2 和4 的3×3 空洞卷積??斩淳矸e可在不增加參數量的情況下增大卷積的感受野。

在坐標注意力部分,首先將不同尺寸卷積輸出的信息相加,得到融合元素U,隨后分別使用(H,1)和(1,W)的空間通道池化核對U元素進行高度和寬度通道方向上的池化,得到維度分別為C×1×W和C×H×1 的特征。對于空間通道池化后的特征來說,第c個通道在高度h上輸出可表示為

第c個通道在寬度w上的輸出可表示為

上述變換完成后,對兩方向特征進行拼接,隨后進行卷積變換,并使用非線性激活函數進行激活,即

式中,[zh,zw]代表拼接處理,F1步驟為卷積變換,δ為非線性激活函數。隨后對f分別進行高度和寬度方向的卷積變換和Sigmoid 函數激活,得到坐標注意力的兩個輸出。公式為

為實現ARFCA 模塊自適應選擇不同感受野大小的卷積所輸出的信息,在坐標注意力的中引入三個softmax 注意力系數a、b、c,第c個通道中ac、bc和cc的計算公式為

式中,ac+bc+cc=1,gh和gw是上一步H和W空間方向上的輸出,A、B、C∈RN×I,分別代表三個通道的softmax 注意力權重,其中N是特征的通道數,Ac、Bc、Cc∈R1×I代表第c個通道A、B、C對應的矩陣,I表示為

式中,r是為控制輸出值而自定義的壓縮比例系數,L=32 是實驗設置的常量。

在選擇部分,將坐標注意力輸出的三個注意力系數a、b、c分別與原特征輸出U3、U5和U7相乘,得到A3、A5、A7三個不同尺度的特征分量,將這三個分量相加,獲得特征輸出。第c個通道上的特征輸出Vc的計算公式為

對比傳統的注意力模塊,ARFCA 模塊通過分離和選擇機制實現了根據輸入目標尺寸大小動態調整模塊感受野大小的效果,從而提升了多尺度特征提取能力。在坐標注意力部分,分別沿兩個方向進行空間特征的聚集,生成一對具有方向感知力的特征圖。在保存一個方向上位置信息的同時捕捉到另一個空間方向的長期依賴關系,有助于網絡更準確地定位感興趣的目標。

1.3 Swin Transformer 模塊

受Swin Transformer 網絡的啟發[23],在YOLOv5 的檢測頭中添加Swin Transformer 模塊,模塊結構如圖3 所示。

圖3 Swin transformer 模塊示意圖Fig.3 Schematic of the Swin transformer module

該模塊包含兩個子層,主要由窗口多頭自注意力層(Window Multi-head Self-Attention,W-MSA)和移位窗口多頭自注意力層(Shifted-Window Multi-head Self-Attention,SW-MSA)組成。由于該結構限制,Swin Transformer 模塊的層數通常為2 的整數倍。窗口多頭自注意力層和移位窗口多頭自注意力層均把自注意力的計算限制在窗口中,相比于傳統Transformer 中的自注意力MSA 模塊,STR 模塊大大降低了計算復雜度,式(7)~(8)展示了MSA 模塊與W-MSA、SW-MSA 模塊計算復雜度的對比,可以看出MSA 模塊計算量與hw(h、w分別表示特征高和寬的數值)呈二次關系,而W-MSA 和SW-MSA 模塊與hw呈線性關系。

式中,Ω表示計算復雜度,M為常量(一般設置為7)。

特征進入STR 模塊首先經過LN(Layer Normalization)層進行歸一化,隨后進入W-MSA 層,在窗口中進行自注意力的計算,之后經過MLP 層得到第一模塊的輸出。自注意力的計算公式為

式中,Attention(Q,K,V)的計算是根據關注程度對Value 乘以相應權重,權重由Q和K計算獲得,計算結果為Value 的加權和;Softmax 函數是一種歸一化指數函數;Q、K、V分別是Query、Key、Value 對應的矩陣,Query、Key 是計算Attention 權重的特征向量,Value 表示輸入特征的向量;d是Q和K的向量維度;B是一個偏置矩陣。

在STR 的第二模塊中運用SW-MSA 層,基于移動窗口的分割方法進行自注意力的計算,隨后經過MLP 層進行全局平均池化,得到最終的預測結果。Swin Transformer 模塊中的LN 層能幫助模型更好地收斂,防止模型過度擬合,W-MSA 和SW-MSA 層中多頭自注意力機制的引入不僅能幫助模型關注當前像素,還能增強模型捕獲當前像素環境信息的能力,從而提升模型對密集分布目標的檢測性能。

2 實驗

2.1 數據集

采用DOTA[24]遙感圖像公開數據集進行實驗,驗證改進網絡的有效性,具體為DOTAv1.5 版本。該版本包含16 個類別,40 萬余個帶有注釋的目標,其中最小注釋目標僅為10 像素左右。具體類別分別為輪船、儲罐、飛機、棒球場、網球場、籃球場、小型車輛、大型車輛、直升機、田徑場、港口、橋梁、環島、足球場、游泳池和集裝箱起重機。數據集的注釋文件分為兩個版本,分別是旋轉目標標注框(Oriented Bounding Box,OBB)和水平目標標注框(Horizontal Bounding Box,HBB),本文采用水平目標標注框作為注釋標簽。數據集中原始圖像分辨率最大達20 000×20 000 左右,為避免大像素圖像輸入網絡時在調整圖片大小步驟造成圖像信息損失,采用分割腳本將大分辨率圖像切割成每張像素大小為600×600 的圖像,便于網絡進行目標檢測。數據集分為訓練集和驗證集兩部分,訓練集共71 254 張圖片,驗證集共7 917 張圖片。

2.2 實驗環境及參數設置

實驗環境如下:操作系統為Ubuntu18.04,內存為16G,CPU使用Intel(R)Core(TM)i7-7700K@4.2GHz,GPU 使用Nvidia GeForce GTX 1080Ti(顯存為11G),深度學習框架采用Pytorch1.10.2 版本。實驗設置訓練最大迭代輪數為12 個輪次,初始學習率為0.005,循環學習率為0.1,學習率動量為0.937,交并比損失系數為0.05,分類損失系數為0.5,有無物體系數為1.0。分別在第8 和第10 個輪次下降學習率。對于SSD和YOLOv5 系列的網絡,采用K-means 聚類方法計算生成遙感圖像目標對應尺度的錨點,計算結果為[11,12],[21,21],[30,44],[47,32],[51,75],[96,56],[106,120],[176,209],[356,365]。

2.3 ARFCA 模塊分支數消融實驗

為驗證ARFCA 模塊分支數的不同對模型所造成的影響,同時確定ARFCA 模塊最佳分支數量,設置了一組消融實驗,以MA-YOLOv5 網絡為基礎,將SKCA 分支數分別設置為1、2、3、4,其他訓練參數設置均保持一致進行實驗。表1 展示了不同分支數對應的平均檢測精度和檢測速度。

表1 ARFCA 不同分支數的檢測精度與檢測速度Table 1 Detection accuracy and speed of ARFCA with different branch numbers

觀察表1 數據可得,在分支數為1、2、3 時,隨著分支數的增加,模型的平均檢測精度(mean Average Precision,mAP)有微弱提升,而當分支數為4 時,模型mAP 值與分支數為3 時相比不再提升。從檢測速度角度看,隨著分支數的增加,模型的FPS 始終呈下降趨勢。因此,為實現模型的最高檢測精度,同時保證模型檢測速度,將ARFCA 模塊分支數確定為3,并進行后續實驗。

2.4 結果與分析

對MA-YOLOv5、添加ARFCA 模塊的YOLOv5、添加STR 模塊的YOLOv5、YOLOv5 原始網絡以及三個以ResNet-50 為骨干網絡的一階段網絡:SSD、RetinaNet 和FCOS,共7 個網絡進行實驗對比,并采用全類平均精度mAP(IOU=0.5∶0.95)、平均精度AP(IOU=0.5)、AP(IOU=0.75),coco 數據集定義的小中大目標對應的mAP:APS(目標面積<322像素)、APM(322<目標面積<962像素)、APL(目標面積>962像素),共6 種指標作為模型精度的評價標準,采用檢測速度FPS 作為模型速度的評價標準。各模型的詳細參數結果如表2 所示。

表2 不同網絡在測試集下的性能Table 2 The performance of different networks on the test set

觀察表2 結果可以看出,在檢測精度方面,MA-YOLOv5 網絡在實驗對比的7 個網絡中最高,mAP 值達到了68.5%,對比原始YOLOv5 網絡,實現了3.6%的精度提升。添加ARFCA 模塊和STR 模塊的YOLOv5網絡在平均檢測精度上分別實現了2.3%和1.4%的精度提升。而SSD、RetinaNet 和FCOS 在檢測精度上的表現均與YOLOv5 系列網絡有一定差距。在檢測速度方面,SSD 網絡表現最佳,達到了77FPS,原始YOLOv5 網絡FPS 達到59,在對比的YOLOv5 系列網絡中表現最好,而YOLOv5 改進后的三個網絡在FPS上略有下降,但仍具有實時檢測的能力。

圖4 展示了MA-YOLOv5 訓練和驗證數據集時對應的定位損失、置信度損失和分類損失曲線的變化情況,其中各圖橫坐標表示模型訓練批次。

圖4 MA-YOLOV5 網絡在訓練與驗證時的損失值Fig.4 The loss value of MA-YOLOV5 network during training and validation

圖5 展示了MA-YOLOv5 網絡在DOTA 數據集上測試時各類別的平均精度mAP(IOU=0.5∶0.95)??梢钥闯?,有6 類目標檢測精度大于0.7,包括尺寸較小的艦船類別和尺寸較大的籃球場、網球場類別,說明本文所提出方法對多尺度遙感目標具有較好檢測性能。

圖5 各類別目標的mAP 值Fig.5 mAP values for each category of targets

3 結論

本文以YOLOv5 算法為基礎,提出了一種融合多注意力機制的光學遙感圖像目標檢測算法。針對遙感圖像中目標尺度差異大、背景復雜的特點,設計了一種自適應感受野大小的坐標注意力(ARFCA)模塊,通過模塊中的分離和選擇機制,根據輸入目標大小,自適應地選擇不同感受野大小的卷積所輸出的信息,從而提升模型對于多尺度遙感目標的特征提取能力。同時,通過ARFCA 模塊中的坐標注意力機制,捕捉一個空間方向的長期依賴關系,并保存另一個空間方向的位置信息,有助于網絡更準確地定位目標。此外,通過在YOLOv5 預測頭中加入Swin Transformer 自注意力機制模塊,增強了模型捕獲目標環境信息的能力,提升模型對密集分布目標的檢測性能。實驗結果證明了MA-YOLOv5 模型中ARFCA 模塊和Swin Transformer模塊對于遙感圖像目標檢測效果提升的有效性,以及模型具有較好的實時性與一定的工程應用價值。

猜你喜歡
注意力卷積精度
讓注意力“飛”回來
熱連軋機組粗軋機精度控制
基于3D-Winograd的快速卷積算法設計及FPGA實現
卷積神經網絡的分析與設計
超高精度計時器——原子鐘
從濾波器理解卷積
分析誤差提精度
基于DSPIC33F微處理器的采集精度的提高
基于傅里葉域卷積表示的目標跟蹤算法
“揚眼”APP:讓注意力“變現”
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合