劉 霖,肖嘉榮,王曉蓓,張德生,喻忠軍,3
(1. 電子科技大學信息與通信工程學院 成都 611731;2. 中國科學院空天信息創新研究院 北京 海淀區 100094;3. 中國科學院大學電子電氣與通信工程學院 北京 懷柔區 100049)
合成孔徑雷達(synthetic aperture radar, SAR)具有全天時、全天候對地觀測能力,針對廣闊的海洋區域可以大范圍地獲取海面SAR 圖像,有效探測海面船只,對我國海洋事業起著至關重要的作用。但是SAR 圖像在視覺上是灰度圖像,目標紋理特征不明顯,導致基于SAR 圖像的目標信息提取困難。同時,由于SAR 相干成像的特點,近岸區域中存在的各類金屬建筑會產生與船只特征相近的強散射點,僅靠人工進行目標檢測難度很高,效率較低,容易產生誤檢現象,且船只目標具有不定朝向、密集排列特點,易產生漏檢現象,因此近岸區域下的SAR 圖像船只檢測是一個具有挑戰性的問題。
傳統的SAR 圖像船只目標檢測方法多采用恒虛警率法,其依賴于人工建模,通過設計海雜波模型提取船只特征,無法有效區分船只與島嶼、近岸建筑等虛警目標,因此在背景復雜的近岸情形下效果不佳[1]。隨著深度學習技術的不斷發展,其在SAR 圖像目標檢測方面的應用具有良好的發展前景,目前基于深度學習方法進行SAR 船只檢測大體分為兩個技術路線,前者對以YOLO[2]和SSD[3]為代表的單階段目標檢測算法進行適應性改進,以實現實時高效船只檢測。如文獻[4]針對船只在近岸場景下方向多變問題,對YOLOv3 算法進行改進,結合水平框和旋轉框的預測結果實現船只目標方位角估計,提升了YOLOv3 算法在復雜場景下的船只檢測效果。文獻[5]針對單階段目標檢測算法在復雜場景下船只檢測性能不佳問題,在YOLOv3上引入了通道注意力機制,通過加強各網絡層通道間的特征融合,提高模型在近岸場景下的檢測性能。后者以Faster R-CNN[6]為代表的雙階段目標檢測算法進行適應性改進,以實現高精度船只目標檢測,如文獻[7]通過多尺度特征融合與特征通道校準方法,提高Faster-RCNN 算法在復雜場景下的船只目標檢測性能。
單階段目標檢測算法由于缺少了雙階段算法的精細處理,在面對SAR 圖像中尺度大小不一、視覺特征不明顯的船只目標時表現不佳。另外,單階段目標檢測算法YOLOv3 作為Anchor Based 算法雖然在一定程度上緩解了雙階段目標檢測算法,如在Faster R-CNN 中選擇性搜索帶來的候選框計算量爆炸的問題,但其每個網格中不同尺寸錨框的生成依賴于人工參數設置,目標的定位精度嚴重依賴于手動調參。同時為兼顧目標檢測實時處理平臺資源功耗受限等情形,需要避免主流算法模型參數量大、網絡推理耗時長的問題。
針對以上問題,本文提出了一種基于改進YOLOX 的SAR 近岸區域密集船只高精度檢測方法,有效地解決SAR 近岸情形下算法模型準確率低、虛警率高且參數冗余問題,主要創新點如下:
1) 改進坐標注意力機制,進一步提升對空間域信息的學習,并引入至特征提取網絡,提升網絡對船只目標信息的聚焦,實現目標信息的有效提取;
2) 采用旋轉目標框進行目標檢測,增加角度分類頭學習目標的角度信息,并通過將旋轉目標框轉化為二維高斯分布的方法,計算預測分布與目標分布的KL 散度作為旋轉框損失值訓練網絡,提升網絡在近岸區域下的檢測精度;
3) 基于YOLOX 的Anchor Free 機制,結合上述兩點設計,有效減少由于角度分類頭導致的冗余候選框激增問題,避免冗余框帶來的無效計算。
當前最新提出的YOLO 系列算法中效果最優的單階段目標檢測算法YOLOX[8],其大致分為3 個組成部分:主干網絡、特征聚合網絡與檢測頭。主干網絡采用CSPDarknet 來對圖像進行特征提取,其主要組成部分CBS 由卷積(convolution)、批量歸一化(batch-normalization, BN)和激活函數(silu)組成,YOLOX 在主干網絡前通過采用Focus模塊將輸入的高分辨率圖像拆分成多個低分辨率的特征圖,以減少傳統下采樣操作產生的信息損失,而在主干網絡提取特征后通過空間金字塔池化層(spatial pyramid pooling, SPP)來提取不同尺寸的空間特征信息,提升模型對不同尺寸目標的魯棒性。此外,主干網絡中的CSPLayer 通過其殘差結構可以將特征圖的梯度變化集成到了最后的輸出中,減少網絡參數與運算量,并同樣用于特征聚合網絡PAFPN 中以加強網絡特征聚合能力,是目標特征提取的關鍵網絡。
而YOLOX 檢測頭采用Decoupled Head 對提取的特征進行解耦,使回歸與分類任務分成兩部分,cls 特征圖負責學習目標的類別信息,reg 與obj 特征圖則負責學習目標的位置及存在信息,以有效提高網絡的檢測精度,實現高精度的船只目標檢測。最后在預測端將不同尺度的特征向量進行融合,通過SimOTA 方法對融合的特征向量進行正樣本篩選匹配,得到與真實樣本近似的預測候選框,以消除先前YOLO 系列檢測算法中對先驗Anchor 設置的依賴,減少冗余候選框造成的無意義計算資源消耗,其網絡結構如圖1 所示。

圖1 網絡結構示意圖
CSPDarknet 主干網絡的設計能夠有效提取船只目標的細節信息,但設有對細節信息做出有效聚焦,忽略了能有效提升網絡檢測性能的目標空間結構信息與內部通道信息。因此引入注意力模塊對原有網絡結構進行改進,目前主流注意力機制模塊有SE[9]、CBAM[10]、CA[11]等,其中模塊CA 作為通道域的最新進展,對輸入的特征圖沿水平坐標與垂直坐標方向進行平均池化以對每個通道進行編碼,此步驟相較于SE 通道注意力模塊而言對不同方向的空間信息進行了篩選,以嵌入到通道信息中,實現了空間信息的引入。進一步地,坐標注意力機制采用1*1 卷積進行通道信息學習,該步驟結合了ECANet 注意力機制[12]的思想,采用1*1 卷積替代了原SE 通道注意力模塊中的全連接層,以提升注意力模塊的運行效率與精度,但該模塊對空間域信息特征的利用仍不夠全面。因此,本文結合BAM 注意力模塊[13]的構造思想,將坐標注意力模塊加以改進并引入到特征提取網絡中,學習目標空間結構信息與通道信息,引導神經網絡更有效地提取目標特征,提高網絡對SAR 圖像船只目標的特征表達能力,實現近岸船只目標信息的有效提取,改進后的坐標注意力模塊如圖2 所示。

圖2 改進坐標注意力機制模塊示意圖
改進后的坐標注意力模塊BCA 通過結合空間域信息學習模塊分支對輸入維度為C×H×W的特征圖m進行空間域與通道域的特征聚焦,原坐標注意力機制作為通道分支沿水平坐標與垂直坐標方向進行尺寸為(H,1)和(1,W)的平均池化,對每個通道進行編碼,得到兩個一維向量,當高度為h時,向量第c個通道的輸出如式(1)所示;當寬度為w時,第c個通道的輸出如式(2)所示。

兩個一維向量沿著空間維度進行特征聚合壓縮通道,而后級聯生成兩個特征圖nh和nw,用大小為1 的卷積核進行卷積,如式(3)所示,生成水平方向與垂直方向的空間信息特征圖t;再沿空間維度將特征圖t分成兩個單張量th和tw,利用兩個大小為1 的卷積對張量進行卷積,如式(4)和式(5)所示,得到與輸入特征圖同樣的通道數;最后將經過激活函數運算后的值作為通道域注意力權重,與輸入特征圖相乘,得到權值調整后的特征圖S如式(6)所示,實現對特征圖通道域信息的加強。

式中,δ 為卷積運算;σ 為sigmoid 激活函數運算。
空間分支則通過引入1×1 卷積將輸入維度為C×H×W的 特 征 圖m進 行 通 道 擠 壓,變 化 為1×H×W的空間特征圖,再將經過激活函數運算后的值作為空間域注意力權重,與輸入特征圖進行相乘得到權值調整后的特征圖Q,實現對特征圖空間域信息的加強。最終將通道分支輸出的加強特征圖S與空間分支輸出的加強特征圖Q進行相加,得到空間信息與通道信息融合的最終特征圖。
改進前后的特征提取網絡AttCSPLayer 如圖3所示,在原始CSPLayer 網絡初步卷積提取產生的特征圖后,將改進坐標注意力機制作用于輸出的特征圖中,根據通道域信息與空間域信息調整特征圖的權重,再進行各層級特征融合提取。

圖3 特征提取網絡示意圖
基于水平框的船只檢測在近岸情形下表現不佳,且無法提供船只的方位角信息,不利于近岸船只調度任務進行。為此本文采用旋轉目標框進行目標檢測,增加角度分類頭學習目標的角度信息,使檢測頭能同時輸出船只目標位置與方位角估計信息,改進后的旋轉檢測頭如圖4 所示。

圖4 增加角度分類頭的旋轉檢測頭示意圖
圖4 中旋轉檢測頭的reg 特征圖為目標的位置信息,其輸出為(x,y,w,h),θ 特征圖為目標的角度信息,其輸出為目標在0°~180°之間的概率,取最大概率的角度作為預測角度值,構成預測旋轉目標框(x,y,w,h, θ),通過式(7)將旋轉目標框(x,y,w,h, θ)轉化為二維高斯分布(μ, Σ),以計算目標真實分布與模型預測分布之間的KL 散度[14]作為損失值進行反向傳播優化,其中KL 散度計算公式如式(8)所示,特別地,設目標角度值為0,計算位置信息的損失梯度,可得式(9)。

式中,Dkl為兩分布間的KL 散度距離;Np代表模型預測旋轉框轉化的二維高斯分布;Nt代表真實數據旋轉框轉化的二維高斯分布;Tr 為求矩陣的跡。目標旋轉框轉化為二維高斯分布的示意圖如圖5 所示,通過式(7)將旋轉目標框轉化為二維高斯分布,每個目標框轉化的高斯分布受目標的長寬與角度影響,大小形狀不盡相同。由式(9)可知其梯度權重受1/w2和1/h2影響,使得模型可根據目標的尺度來動態調整權重,當目標尺度較小或縱橫比較大時,模型通過反向傳播學習損失,會增大相應方向的梯度,便于有效地進行位置偏移的優化,提高船只目標中心位置的定位精度。

圖5 旋轉框轉化二維高斯分布示意圖
引入改進坐標注意力機制與旋轉目標框后的算法結構如圖6 所示,在原有YOLOX 網絡結構基礎上,采用改進坐標注意力機制改進特征提取網絡結構,提高網絡對船只目標信息的聚焦;增加角度分類頭學習目標的角度信息。在訓練階段讀取數據集的目標旋轉框信息(x,y,w,h, θ)并將其轉化為二維高斯分布(μ, Σ),而后與旋轉檢測頭輸出的特征向量進行特征匹配,得到與目標分布相近的預測分布信息,通過計算預測分布與目標分布的KL 散度作為旋轉框損失值訓練網絡,使網絡模型根據目標的尺度與角度來動態調整位置偏移權重,提升網絡在近岸區域下對船只目標位置的定位精度,實現高精度的船只目標檢測。

圖6 改進后的YOLOX 算法結構示意圖
本文使用公開的offical-ssdd 數據集[15],該數據集對近岸船只目標與遠海船只目標進行了劃分,并提供了經過二次校驗后的船只目標精確標注,數據集樣本采用C 波段的Radarsat-2、Sentinel-1衛星以及X 波段的TerrraSAR-X 衛星的SAR 圖像的裁剪得到數據,共包含1 160 張圖像、2 587 只船舶目標,其中928 張圖像、2 041 只船舶作為訓練集,232 張圖像、546 只船舶作為測試集,平均每張圖像有2.23 個船只,包含5×4 像素的小目標船只到384×251 像素的大目標船只,涉及了大片遠海區域和近岸區域目標,測試集共172 只近岸區域船舶目標,374 只遠海區域船舶目標,背景多樣。
實驗采用Pytorch 深度學習框架,基于CUDA11.4 和cuDNN8.2.4 加速訓練,基于TensorRT部署推理,YOLOX 根據不同的網絡深度與寬度,由淺到深可以分為YOLOXnano、YOLOXtiny、YOLOXs 和YOLOXm 等多個模型,本文采用最輕量的模型YOLOXnano 進行實驗,在此基礎上進行改進并與其原始網絡對比,最后再跟其他一些改進方法進行測試對比。輸入到模型的圖像大小設為416×416,batch size 大小為128,訓練優化器采用Adam 優化器更新網絡參數,其中學習率(learning rate)和權值衰減(weight decay)參數設為0.001 和0.000 5,旋 轉 目 標 框 損 失 函 數 采 用KLD_Loss,損失權重為5,目標角度損失采用CSL_Loss[16],損失權重為0.1,置信度損失采用BCE_Loss,損失權重為1;計算機具體配置為Intel? Xeon? E52640,2.40 GHz,顯卡為2*P5000[Pascal Quadro],顯存2×16 GB;部署平臺選用嵌入式平臺(NVIDIA Jetson AGX Xavier),顯存32 GB;算法的訓練和測試均在GPU 加速下完成。
深度學習需要足夠的訓練樣本作為支撐,相較于光學圖像,SAR 圖像數據難以大量獲取,為了充分利用有限的訓練數據,加強模型泛化能力,抑制過擬合現象[17],本文通過隨機縮放、隨機旋轉、mosaic 拼接、mixup 變化等方法對訓練數據進行進行實時數據增強,效果如圖7 所示。

圖7 實時數據增強示意圖
本文采用平均精度(average precision, AP)作為SAR 圖像船只檢測模型性能的評價指標,計算式為:

式中,TP 為模型正確檢測的船只目標數量;FP 為誤檢船只目標數量;FN 為漏檢船只目標數量;精確率P表示正確檢測的船只目標數量在全部檢測結果中的比率;召回率R表示正確檢測的船只目標數量占所有船只目標真實數量的比率。以P為縱軸,R為橫軸,繪制出PR曲線,曲線與橫坐標圍成的面積為AP 值,Ap50 為交并比閾值設為0.5 時的AP 值。
利用本文算法在offical-ssdd 數據集上進行檢測,對采用不同改進方案的YOLOX 檢測算法結果進行對比,以檢測精度Ap50 作為算法檢測精度性能指標,實驗結果如表1 所示。表中YOLOX 為原始網絡不加任何改進的檢測結果;CA_YOLOX 為引入了坐標注意力機制到特征提取網絡中進行改進的YOLOX 算法;BCA_YOLOX 為引入了改進后坐標注意力機制到特征提取網絡中進行改進的YOLOX 算法;R_YOLOX 為引入了旋轉框方法到檢測頭中進行改進的YOLOX 算法;本文方法則是結合了改進坐標注意力機制與旋轉框的YOLOX 算法。從表1 可以看出,引入坐標注意力機制后算法模型的精確率有所提升,召回率差異減少,誤檢嚴重問題得到改善,引入改進坐標注意力機制后算法模型的精確率進一步提升。引入旋轉框后算法模型在近岸區域的精確率有所提升,召回率基本保持一致,能更有效地定位出目標的正確位置。通過結合改進坐標注意力機制與旋轉框方法,本文方法在近岸區域的檢測精度高于其他算法,擁有更好的檢測性能,在offical-ssdd 數據集近岸區域檢測的Ap50值相較于YOLOX 算法提升了18.77%,引入注意力機制與旋轉框方法都提高了近岸區域下船只目標的檢測平均精度,同時引入改進坐標注意力機制與旋轉框這兩種改進方法后,網絡的檢測性能最好。

表1 SAR 船只檢測結果評價指標
為驗證本文所提檢測網絡的性能,在offical-ssdd數據集上完成本文方法與YOLOv3[18]、YOLOv5[19]和Faster R-CNN 算法的對比實驗,結果如表2 所示。從表中可以看出,本文方法相較除YOLOX 以外的其他算法,模型計算參數最少,總體測試檢測精度最優,網絡推理延時最低,且能獲取船只目標方位角信息,滿足實時處理需求。

表2 不同算法檢測性能對比
本文實驗檢測結果如圖8 所示。對于緊密排列的鄰岸大目標,傳統YOLOX 算法會出現漏檢現象,或如圖8b 所示只輸出一個大的目標框,而本文算法則能有效地檢測并區分鄰近排列的船只,如圖8c 所示。


圖8 鄰岸大目標檢測對比示意圖
對于在港口中停靠的船只(圖9a),采用傳統YOLOX 算法進行檢測時,出現了誤檢與漏檢現象,將陸地建筑誤檢為船只目標,對港口停靠緊密的船只則只輸出一個較大的目標框,無法有效區分排列緊密的船只目標,如圖9b 所示。而本文方法則有效檢測并區分各船只目標,沒有錯檢現象,如圖9c 所示。

圖9 港口大目標檢測對比示意圖
從圖10 可以看出,傳統YOLOX 算法采用水平框檢測,船只越大水平框引入的背景信息越多,模型對大船只目標的關注度不夠,導致輸出預測框置信度較低。本文算法預測框置信度明顯提升,且預測框可以更精確地涵蓋目標區域,輸出更精確的目標位置信息,檢測更為準確。


圖10 河道大目標檢測對比示意圖
對于近岸小目標,傳統YOLOX 算法會出現漏檢現象,如圖11 所示,難以檢測出停靠在岸邊的小目標船只。而本文方法則能對近岸小目標進行有效檢測,但由于近岸場景下,近岸建筑產生的強散射點與臨近的船只特征相近,在特征提取的過程中引入背景干擾信息過多,導致近岸區域小目標的檢測置信度較低,僅在50%~60%之間。


圖11 近岸小目標檢測對比示意圖
在海島周圍區域,從圖12 可以看出,傳統YOLOX 算法將島嶼誤檢為船只目標,而本文方法則是將海面雜波散射點誤檢為船只目標。這是由于本文方法采用旋轉框檢測,對異于周圍海面背景下的雜波散射點更為敏感,導致誤檢現象。而傳統YOLOX 采用水平框檢測,在周圍背景干擾下對海面雜波散射點的關注度降低,其對船只目標輸出的預測框置信度也較低,在檢測閾值設為0.5 的情況下不會將雜波散射點視為船只目標,但會將區域亮度信息較為明顯的島嶼錯檢為船只目標。

圖12 鄰島小目標檢測對比示意圖
從圖13 也可以看出,本文方法對異于周圍海面背景下的散射信息更為敏感,將海面雜波散射點誤檢為船只目標,而傳統YOLOX 算法對海面散射信息的關注度較低,因此未產生誤檢現象。在近海區域,本文方法預測框置信度較傳統YOLOX 算法有明顯提升。

圖13 近海小目標檢測對比示意圖
本文方法在遠海場景不同海況情形下檢測效果如圖14 所示,可以看到,對于不同海況情形下的遠海場景目標,本文方法依舊可有效進行檢測。綜上所述,對于SAR 船只目標檢測任務,本文方法在近岸和遠海場景下都能取得良好的效果,能夠在復雜背景下識別船只目標,并且能更好地處理多尺度問題,得到更加精準的檢測框。

圖14 遠海船只目標檢測結果示意圖
本文提出了基于改進坐標注意力機制與旋轉目標框的單階段檢測網絡方法。在構建特征提取網絡時加入改進坐標注意力機制準確提取感興趣區域,同時選用旋轉目標框獲得船只方位角信息,提高檢測精度。經offical-ssdd 數據集實驗驗證,改進的YOLOX 檢測算法的檢測精度在近岸情形下較YOLOX模型提升了18.77%,與主流YOLOv5 檢測算法相比,本文模型計算參數量減少了84.2%,推理耗時縮減至1/3,總體檢測精度提升了4.1%,滿足實時處理需求,驗證了本方法的有效性。本文方法雖較基于水平框檢測方法能得到更精準的目標框,但對SAR 圖像近岸場景中的大船只目標中心定位仍有待進一步提升。后續仍需進一步擴充數據集,優化網絡結構,減小網絡對近岸船只的定位偏移量。