祝冰艷,陳志華*,盛斌
(1.華東理工大學信息科學與工程學院,上海 200237;2.上海交通大學電子信息與電氣工程學院, 上海 200240)
隨著遙感圖像采集技術的飛速發展,獲取大量高分辨率的遙感圖像越來越容易,這些高質量的遙感圖像在實際生產生活中有著廣泛的應用,如國防安全、地理測繪、農業檢測等諸多領域,但同時更為復雜的檢測場景也給檢測器帶來了更大的挑戰。相較于傳統圖像,遙感圖像通常由高空航拍獲得,圖像分辨率大、待檢測目標小。此外,遙感圖像中還存在尺度范圍變化大、背景復雜、正負樣本不平衡等問題。
常見的基于卷積神經網絡(CNN)和基于Transformer 的目標檢測網絡各有優劣,其中基于CNN 的網絡在提取底層特征方面有較大的優勢。文獻[1]在RetinaNet 的基礎上對特征融合進行改進,并增加了空間和通道注意力,使用旋轉錨框計算損失,有效提升了遙感小目標的檢測準確率。在文獻[1]的基礎上,文獻[2]引入實例級去噪模塊,實現了更好的特征提取,進一步提高了檢測準確率。文獻[3]將水平感興趣區域轉換為旋轉感興趣區域(RRoI),使用RRoI 池化進一步修正旋轉檢測框的坐標信息,有效提升了模型預測結果的準確率。文獻[4]提出一種名為RoadCapsFPN 的膠囊特征金字塔網絡,可以提取并整合多尺度膠囊特征,以增強遙感道路圖像的分辨率和上下文語義信息。文獻[5]將多尺度特征動態地進行融合,有效解決了遙感圖像中目標尺度變化范圍大和不同檢測類別間相似度高的問題。文獻[6]使用密集連接網絡改進YOLOv3 網絡,提升了遙感圖像的檢測效果。文獻[7]提出一種由粗到細的遙感圖像檢測網絡CoF-Net,分別利用特征適應和樣本分配逐步增強了特征表示和訓練樣本的選擇。
相較于CNN,Transformer 中的自注意力機制不受局部作用的限制,能關注全局信息,從而更好地實現視覺建模,基于Transformer 的DETR[8]等網絡在處理高層不同要素之間語義關聯上更自然及有效。文獻[8]將Transformer 應用于目標檢測領域,但是在小目標上的檢測效果較差。針對遙感圖像的特點,研究者們嘗試對Transformer 進行改進。文獻[9]使用Transformer 代替旋轉錨框精準定位,并使用深度可分離卷積降低了計算復雜度。文獻[10]使用Transformer 編碼器在基于標記的緊湊時空對上下文進行建模,并將學習到的豐富上下文信息標記反饋到像素空間。文獻[11]綜合CNN 和Transformer 中自注意力的優點,更加注重全局和局部信息的聚合,提升了遙感圖像檢測性能。受DETR[8]的影響,文獻[12]提出AO2-DETR 框架,避免了大量預設的錨框和復雜的前/后處理。文獻[13]使用結構化的Transformer 提高特征收集范圍,并設計空間前饋神經網絡解決了Transformer 檢測中局部空間感受野不足的問題。文獻[14]使用預訓練好的CNN 提取特征,并利用Transformer 構建針對遙感圖像的特征金字塔。文獻[15]在特征金字塔中嵌入Transformer 塊以增強特征融合能力。
雖然上述方法在遙感圖像檢測領域都取得了一定的性能提升,但是Transformer 在遙感圖像檢測中的直接應用仍存在很多問題,例如:遙感圖像的分辨率很大,Transformer 中逐像素計算的自注意力機制導致網絡的計算復雜度很大;采集遙感圖像時,拍攝視角高度不同導致目標尺度變化較大;遙感圖像中的背景復雜,在網絡訓練時圖像中可能會包含大量無用的背景信息,導致正負樣本不平衡等。
為了解決上述問題,本文對Swin Transformer[16]進行改進,提出一種基于感知增強Swin Transformer的遙感圖像檢測網絡(PESTN)。該網絡使用局部增強Swin Transformer 作為主干網絡,充分利用其分層設計和移動窗口的優點減小網絡計算量,同時設計空間局部感知塊并插入每個階段以實現高效精確的遙感圖像檢測。此外,設計一種新的Area-IoU 損失函數,引入加權因子以改善對小物體的特征學習,解決正負樣本不平衡問題,提升網絡檢測性能。
構建一種基于感知增強Swin Transformer 的遙感圖像檢測網絡,整體框架如圖1 所示。使用局部增強Swin Transformer 模塊作為特征提取主干網絡,通過特征金字塔細化特征,并設計Area-IoU 損失函數同時解決正負樣本不平衡和不同分支之間的差距問題,實現更精確的遙感圖像檢測。

圖1 基于感知增強Swin Transformer 的遙感圖像檢測網絡框架Fig.1 Framework of remote sensing image detection network based on the perceptually enhanced Swin Transformer
針對傳統Transformer 中逐像素計算的自注意力機制計算量巨大且其中的位置編碼操作無法捕獲圖像中的局部相關性和整體結構信息,文獻[16]在Swin Transformer 中提出分層結構和移位窗口機制,有效減小了計算量并提升了檢測準確率。
Swin Transformer 網絡結構如圖2 所示。首先,將輸入大小為H×W×3 的圖像通過標記分割塊分割成相同大小的小塊送入后續處理。然后,每個小塊共被分為4 個階段,每個階段都包含2 個部分,除了第1 個階段由1 個線性嵌入塊和1 個Swin Transformer 塊構成之外,其余3 個階段均由1 個標記合并塊和1 個Swin Transformer 塊構成,其中,標記合成塊類似于池化操作,但是不會造成信息損失。經過每個階段處理后圖像分辨率變為原先的1/2,通道數變為原先的2 倍。

圖2 Swin Transformer 網絡結構Fig.2 Network structure of the Swin Transformer
Swin Transformer 塊結構如圖3 所示,Swin Transformer 與Transformer 塊結構類似,不同之處在于將原始的多頭自注意力(MSA)換成了窗口多頭自注意力(W-MSA)和移動窗口多頭自注意力(SWMSA)。

圖3 Swin Transformer 塊結構Fig.3 Block structure of the Swin Transformer
考慮到MSA 在全局內逐像素計算的冗余性,W-MSA 僅在一個小窗口內進行Transformer 操作。假設每個窗口包含M×M個小塊,那么兩者的計算復雜度分別如式(1)和式(2)所示,可以看出W-MSA大大減少了計算復雜度。此外,考慮到窗口的設置導致了不同窗口間的信息無法獲取的問題,進一步提出SW-MSA,首先使用移動窗口實現跨窗口的特征提取,然后使用循環移位操作合并窗口進行批處理,并利用掩碼操作消除不相關部分的關聯性,實現高效的檢測性能。
1.2.1 局部增強Swin Transformer 主干網絡
對于背景復雜且存在較多小目標的遙感圖像檢測,Swin Transformer 中仍然沒有很好地對大量空間上下文信息進行編碼。為了解決這個問題,本文改進Swin Transformer 并提出了局部增強Swin Transformer 主干網絡(LEST),以更好地提取遙感圖像特征。局部增強Swin Transformer 主干網絡設計如圖4 所示,該主干網絡共包含4 個階段,每個階段由1 個標記合并塊(第1 個階段為線性嵌入塊)、n個空間局部感知塊和n個Swin Transformer 塊組成,其中n表示對應階段的塊數。在Swin Transformer 中共提供了4 種不同大小的模型[16],考慮到遙感圖像尺寸以及模型計算量問題,僅使用Swin Transformer進行改進,即對應每個階段n的數值分別為2、2、6、2。

圖4 局部增強Swin Transformer 主干網絡結構Fig.4 Structure of local enhanced Swin Transformer backbone
1.2.2 空間局部感知模塊
為了加強網絡對遙感圖像中局部相關性和結構信息的提取能力,融合空洞卷積[17]和殘差連接提出一種空間局部感知塊。將這一模塊插入每一個Swin Transformer 塊之前,并與Swin Transformer 塊一起在每個階段中重復對應的次數。空間局部感知模塊結構如圖5 所示,考慮到Swin Transformer 中的數據輸入格式與傳統卷積神經網絡不同,首先對原始輸入數據格式進行調整。假設原始數據輸入為(B,H×W,C),調整后格式為(B,C,H,W),將這一特征作為殘差連接的一個分支,另一個分支首先進行一次3×3 的空洞卷積,然后送入一個GeLU 函數激活,最后將兩個分支相加,以擴大感受野并提取遙感圖像中更多的空間局部信息。

圖5 空間局部感知模塊結構Fig.5 Structure of spatial local perceptually module
與傳統卷積操作相比,空洞卷積[17]可以在不損失圖像信息的情況下,擴大感受野范圍(普通3×3 的卷積的感受野為3×3,相同內核大小下擴張率為2 的空洞卷積感受野為5×5),從而更好地在不同尺度上對更大范圍的上下文信息進行編碼。
在遙感圖像中的檢測背景復雜,在網絡訓練時可能會提取到圖像中大量無用的背景信息,導致正負樣本不平衡,不利于遙感圖像檢測網絡的性能提升。為了解決這一問題,引入一種Area-IoU 損失函數。將檢測框的參數標記為四參數{x,y,w,h},在計算最終損失函數時表示為改進的IoU-aware 分類損失和區域分配回歸損失的和,具體公式如下:
其中:i?[1,N]表示小批量中錨框的索引;N表示錨框數量;pi表示預測IoU-aware 分類得分(IACS)[18];表示預測框和真實值之間的交并比(IoU);ti和分別表示預測框和真實值的坐標;Lcls表示分類損失,本文提出一種改進的IoU-aware 分類損失;Lreg表示用于回歸4 個參數{x,y,w,h}的區域分配回歸損失。
1.3.1 區域分配回歸損失
針對遙感圖像檢測中嚴重的尺度不平衡問題,使用相同權重的L1 平滑損失函數不利于小物體的特征學習。為此,受文獻[19]的啟發,設計一種新的區域分配回歸損失,具體公式如下:
其中:Lsmooth代表L1 平滑損失函數且代表一個單調遞減的加權因子,即權重隨著檢測目標區域面積的增大而減小。
相較于其他回歸損失方法,該方法增大了小目標的權重,在回歸時更多關注小目標,從而有效地解決了尺度不平衡問題。將?i引入回歸損失函數后,區域分配回歸損失可以定義如下:
1.3.2 改進的IoU-aware 分類損失
近年來,基于IoU-aware 的分類損失設計表現出了重要作用和優越性能,但是現有的多數方法只是將IoU 預測分支作為一個輔助分支來輔助分類。為了消除不同預測分支之間的差距,文獻[20]提出一種可以從稠密檢測候選框中校準預測框置信度的計算方式,將分類目標由真實值替換為預測框與真實值之間的IoU,并設計了一種焦點損失,分類性能得到了明顯提升。參考上述方法,提出一種改進的IoU-aware 分類損失函數,具體公式如下:
其中:pi表示預測IACS 值表示目標得分。對于正樣本為預測邊界框與地面真實值之間的IoU。對于負樣本值取0。相較于其他的分類損失,改進的IoU-aware 分類損失簡單有效地消除了不同分支間的差距,減小了網絡分類的損失。
DOTA 數據集[21]是目前最大的公開可用遙感數據集,包括15 類共2 806 幅來自不同傳感器和平臺的航空圖像,圖像大小從800×800 像素到4 000×4 000 像素不等,包含各種不同尺度、方向和形狀的物體。所有的訓練和驗證圖像都被分割成600×600 像素的塊,并重疊150 像素。實驗平臺如下:操作系統為Ubuntu18.04,深度學習框架為PyTorch1.8.1,訓練GPU 為NVIDIA GeForce RTX 3090。
所提網絡模型在訓練時均使用相同的設置:使用多尺度訓練,訓練時批大小為1,迭代次數為50 個epoch,初始化學習率為0.000 1,采用權重衰減因子為0.05 的AdamW 優化器,并參考文獻[17]中的3x策略(訓練50 個epoch,并在第27 個epoch 后學習率衰減為之前的1/10)進行訓練。
選擇一些常見的深度學習目標檢測指標作為實驗評價標準,包括召回率(Recall)、準確率(Precision)、平均精度均值(mAP)[22]、參數量(Parameter)、浮點運算次數(FLOPs)、運行速度(FPS)、F1 值、馬修斯相關系數(MCC)[23]等。IoU 由混淆矩陣生成。準確率、召回率、假陽性率(FPR)、F1值、MCC的計算公式分別如下:
其中:TTP表示被正確預測為正樣本的數量;FFP表示被錯誤預測為正樣本的數量;TTN表示被正確預測為負樣本的數量;FFN表示被錯誤預測為負樣本的數量。
對于多類別目標檢測任務,分別計算平均精度再對所有類別求平均,就可以得到最終的平均精度均值。此外,為了提升網絡模型的魯棒性,還使用隨機旋轉、水平和垂直翻轉方法進行數據增強。
為驗證PESTN 的有效性,基于DOTA 數據集[21]進行一系列消融實驗,逐步分析每個部分的性能。實驗中的基準模型使用Swin Transformer-Tiny(簡寫為Swin-T)作為主干網絡和L1 平滑損失函數。在此基礎上,構造不同的模型分別來全面評估PESTN 中各部分的有效性。
為了驗證所提LEST 主干網絡的性能,分別將DeiT-S[24]、Swin-T 和LEST 分別作為主干網絡插入Mask R-CNN[25]和Cascade Mask R-CNN 兩個典型的目標檢測網絡框架進行對比實驗。原始DeiT 只產生單一分辨率的特征圖,無法直接應用在上述框架上,為了比較公平性,參照文獻[17]使用卷積層為DeiT 構建層次化的特征圖以實現和ResNet50、Swin-T相同的分層結構。此外,鑒于輸入遙感圖像的尺寸大小,僅使用DeiT-S 進行相關實驗。在上述兩個框架中分別插入DeiT-S 的性能結果如表1 所示,以Cascade Mask R-CNN 框架為例,使用Swin-T 作為主干網絡時mAP 高出3.23%,模型大小相似(86×106與80×106),每秒浮點運算次數(FLOPs)明顯減小(742×109與885×109),檢測速度明顯提高(5.8 幀/s 與3.2 幀/s)。在Mask R-CNN 框架中性能也得到了相應的提升。此外,當在兩個典型的框架上使用改進后的LEST 作為主干網絡時,在FLOPs 沒有顯著增加、檢測速度沒有顯著降低時,網絡性能得到了進一步提升:Mask R-CNN 的平均精度均值提升了4.16 個百分點,Cascade Mask R-CNN 提升了3.41 個百分點。這說明了所提LEST 主干網絡可以在減少FLOPs 的情況下有效提高對遙感圖像中目標的檢測性能。

表1 不同框架上不同主干網絡的性能比較Table 1 Performance comparison of different backbones on different frameworks
使用不同主干網絡的檢測結果可視化如圖6 所示。由圖6(b)可以看出,當使用ResNet101 作為主干網絡時,檢測圖片左下角的船只時置信度較低,并出現了漏檢以及由同一邊緣檢測區域導致的錯檢現象。如圖6(c)所示,使用Swin-T 作為主干網絡時可以準確檢測出船只區域,同時也提高了置信度。如圖6(d)所示,LEST 更多關注對圖像中局部信息的學習,消除了對圖像中部白色非船只物體的誤檢,LEST 可以檢測到更多正確的目標,并進一步提升了置信度。

圖6 使用不同主干網絡的檢測結果可視化Fig.6 Visualization of detection results by using different backbones
不同損失函數在DOTA 數據集[21]的部分小目標檢測類別上的結果如表2 所示。其中,√表示使用該網絡或損失,?表示不使用該網絡或損失。由表2可以看出,當使用區域分配回歸損失Larea時,在小目標類別小車和大車上的檢測準確率分別提高了0.95 和1.51 個百分點,同時平均精度均值也提升了0.53 個百分點;當使用改進IoU-aware 分類損失LIoU時,平均精度均值為77.87%,提升了0.44 個百分點;當同時使用融合后的2 種損失函數時,平均精度均值達到了78.47%,提升了1.04 個百分點。實驗結果表明,Area-IoU 損失函數中的兩部分對遙感小目標的檢測性能都有不同程度的提升。

表2 兩種損失函數在DOTA 數據集上的消融實驗結果Table 2 Ablation experimental results of two loss functions on the DOTA dataset
為了驗證所提PESTN 網絡在遙感圖像上的檢測性能,在大型公開的遙感數據集DOTA[21]上進行實驗,將其與SCRDet[2]、SCRDet++[3]、Mask R-CNN[25]、Faster R-CNN[26]、R3Det[27]、Gliding Vertex[28]、DINO[29]、Mask OBB[30]網絡得到的檢測結果進行比較,實驗結果如表3 所示,其中最優值加粗表示。

表3 DOTA 數據集上不同網絡性能對比Table 3 Performance comparison of different networks on the DOTA dataset
由表3 可以看出:PESTN 的平均精度均值高于其他對比網絡,達到78.47%,檢測速度達到了10.8 幀/s,并且在各檢測類別上表現良好,均達到了最高的平均檢測準確率;相較于經典的目標檢測網絡Faster R-CNN 和Mask R-CNN,PESTN 的mAP 分別提高了11.75 和10.92 個百分點;相較于近期提出優秀的基于Transformer 的遙感圖像檢測網絡DINO[25],PESTN 的平均精度均值提升了2.50 個百分點,檢測速度更快,并且在尺度較小的小車、大車、直升機等目標上檢測效果均有大幅提高;相較于最優對比網絡,在平均精度均值上也提升了1.49 個百分點,并在檢測速度上具有明顯優勢。
DOTA 數據集[21]上部分可視化的檢測結果如圖7所示。由圖7 可以看出,PESTN 可以很好地檢測出遙感圖像中各類不同尺度大小的目標。此外,為了更全面地評估PESTN 模型性能,在圖8 中比較了基準模型Swin-T 和PESTN 在準確率、召回率、F1 值和MCC 指標上的性能,在圖9 中繪制了兩者的ROC 曲線并分別計算曲線下面積(AUC)。可以看出,PESTN 模型在各檢測性能指標上均表現較優。

圖7 DOTA 數據集上的檢測結果Fig.7 Detection results on the DOTA dataset

圖8 Swin-T 和PESTN 各項檢測性能比較Fig.8 Comparison of the detection performance of Swin-T and PESTN

圖9 Swin-T 和PESTN 的ROC 曲線比較Fig.9 Comparison of the ROC curves of Swin-T and PESTN
針對遙感圖像檢測中計算復雜度高、目標尺度小、正負樣本不平衡等問題,本文提出一種基于感知增強Swin Transformer 的遙感圖像檢測網絡。改進Swin Transformer 主干網絡,在保留原始分層設計和移動窗口優點的同時,插入空間局部感知模塊對空間上下文信息進行編碼,提高了主干網絡的局部感知能力,并有效減少了計算復雜度。此外,設計Area-IoU 損失函數,引入加權因子改善對小物體的特征學習,以解決正負樣本不平衡問題,同時引入改進的IoU-aware 分類損失消除不同分支之間的差距。在DOTA 數據集[21]上的各項實驗結果驗證了該網絡的有效性。后續將在確保較高網絡平均精度均值的情況下進一步提升檢測速度,同時探索Swin Transformer 在其他領域的改進和應用。