劉暢,朱衛綱
(航天工程大學,北京 101416)
我國是海洋大國,具有遼闊的海域與豐富的海洋資源,及時準確地掌握船只目標的位置分布,對管理海洋交通、維護海洋權益等方面都具有重要意義。星載合成孔徑雷達(synthetic aperture radar,SAR)是一種主動式微波成像雷達,具有全天時、全天候工作的能力,在軍事偵察、海洋管理、地形勘測等眾多領域都有廣泛的應用。如何利用SAR圖像快速準確地檢測海洋船舶目標也成為了備受關注的研究課題。恒虛警率(constant false alarm rate,CFAR)算法[1]是檢測SAR圖像船舶目標的傳統算法,通過建立海雜波的統計模型并確定虛警概率與閾值進行檢測。但是由于SAR圖像往往具有復雜的海雜波分布,難以用單一的統計模型來描述,因此CFAR算法的魯棒性較差。
近年來,隨著計算機技術與深度學習方法的迅速發展,基于卷積神經網絡(convolutional neural network,CNN)的目標檢測算法在精度與速度上取得了重大突破,開啟了基于CNN的目標檢測的熱潮,并陸續出現了R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]、R-FCN[5]、YOLO[6-7]、SSD[8]、RetinaNet[9]、EfficientDet[10]等眾多檢測算法。由于CNN的檢測算法在光學圖像目標檢測中取得了卓越的效果,研究人員開始將CNN目標檢測算法應用到SAR遙感圖像的目標檢測當中。然而SAR圖像與光學圖像相比,在包含信息、分辨率、成像機制方面都有較大區別。SAR圖像數據通常為單通道復數據,分辨率較低,且存在較多的斑點噪聲,其成像幾何為斜距投影,容易產生疊掩、透視收縮、多路徑假目標等幾何畸變,因此相比于光學圖像檢測難度更大。
目前的檢測算法主要解決多尺度檢測問題與復雜場景下的虛警問題。對于多尺度檢測問題,主要的解決方法是對不同尺度的特征進行融合,文獻[11-13]在網絡中引入特征金字塔(feature pyramid networks)結構融合不同尺度的特征,Jiao等[14]使用密集連接的方式進行多尺度融合。其他的多尺度融合結構還有PANet[15]、NAS-FPN[16]等。對于復雜場景下的檢測問題,Kang等[17]提出結合上下文信息的方法,利用目標周圍的背景信息提高檢測結果,An等[18]采用傾斜的矩形框標記目標,能夠更準確地標記復雜環境下分布密集的目標。
本文為了提高多尺度檢測的能力,使用可訓練的權重對不同尺度的特征圖進行加權融合;為了減少在復雜環境下的虛警,利用提取的特征指導錨框的生成,減少了負樣本錨框的數量,進而降低了虛警概率。本文使用三個SAR圖像船舶目標公開數據集對網絡進行訓練與測試。分析結果表明,此算法相比其他檢測方法具有更好的檢測效果。
一般來說,特征提取網絡的層數越深,能夠提取的信息越多,特征也越豐富,但是隨著網絡的加深,容易產生梯度爆炸和梯度消失的問題。通過正則化初始化以及中間加入正則化層可以一定程度上解決這一問題,但也僅僅可以訓練幾十層的網絡,如果訓練更深的網絡將產生退化問題,隨著網絡層數的增加,在訓練集上的準確率將會趨于飽和甚至下降[19]。深度殘差網絡是一種特殊的卷積神經網絡結構,通過在淺層網絡的基礎上疊加恒等映射層,構成殘差塊,可以有效地避免深度增加而導致的退化問題。ResNet101是一種深度殘差網絡,網絡共包含33個殘差塊,每一個殘差塊包含3個卷積層,具有較強的特征提取能力。如圖1所示,本文在ResNet101網絡的基礎上增加了Conv6和Conv7 2層卷積層,以進一步提取語義信息,最后將Conv3到Conv7層的特征圖作為提取網絡的輸出,以便進一步進行特征融合。

圖1 特征提取網絡與殘差結構
由于海洋船舶的實際尺寸差異較大,SAR在不同工作模式下的分辨率也各不相同,因此檢測網絡需要滿足多尺度檢測的需求。
多尺度特征融合旨在聚合不同分辨率的特征,增強多尺度檢測的能力。圖2是幾種不同的多尺度特征融合結構對比。

圖2 不同的多尺度融合網絡結構
圖2(a)的FPN結構[20]以自上而下的方式將高層特征上采樣與低層特征直接相加。這種方法存在的問題是:自頂向下的方式只傳遞了高層的語義特征,而對于低層定位信息沒有傳遞;另一方面,將不同尺度的特征按照相同的比重直接相加,會造成低層特征的位置信息損失。
圖2(b)的PANet(path aggregation network)結構在FPN的基礎上增加了自下而上的路徑,縮短了低層定位信息與頂層特征之間的信息路徑。
圖2(c)是NAS-FPN結構,使用神經架構搜索找出不規則特征的網絡拓撲,使用強化學習訓練控制器在給定的搜索空間中選擇最佳的模型結構。
圖2(d)是全連接融合的方式,這種方式雖然檢測效果較好,但是極大地增加了網絡的復雜度,由于過多地增加了訓練參數,計算速度較慢。
為了在提高特征融合網絡性能的同時盡可能地降低網絡的復雜度,本文利用一種簡單高效的加權雙向特征金字塔網絡BiFPN。如圖3所示,BiFPN網絡在PANet的基礎上移除單輸入節點,簡化模型結構,并添加了橫向捷徑,是一種簡單高效的特征融合結構。通過在模型中引入可學習的權重對輸入特征加權融合,以學習不同輸入特征的重要性,分配不同尺度特征的信息比重。

圖3 本文的特征融合網絡結構
本文使用快速正則化方法對節點的輸入特征圖進行加權,各特征融合節點的加權公式如式(1)所示。
(1)
式中:ωi≥0;ε是為了計算穩定性而設置的極小值,本文取值為1×10-4。
以圖3中的Conv4層為例。
(2)
(3)
在基于CNN的目標檢測中,錨框(anchor box)通常是根據檢測任務的需求人為設計的一組框,用來作為分類與邊框回歸的基準。這種人為設定錨框的方式主要存在兩點問題。一是檢測效率太低。對于一張圖像,往往需要生成幾千個錨框,而圖像中的正樣本往往很少,過多的負樣本錨框則會導致檢測速度較慢。二是不合理的先驗假設。生成錨框時,往往會依據先驗知識人為設定錨框的寬高,而對于SAR圖像船舶目標來說,目標的真實尺寸通常不固定且有較大差異,SAR在不同成像模式下的距離向和方位向分辨率也各不相同,因此人工設定錨框難以適應圖像樣本的尺寸分布。
基于上述兩點問題,本文利用融合后的特征去指導錨框中心以及寬高的生成,這樣可以大大減少負樣本錨框的產生,且能夠適應極端尺寸的目標。
本文在BiFPN的每一層輸出特征圖后都嵌入了GA-RPN(guided anchoring-RPN)結構[21]用于預測錨框,具體結構如圖4所示。

圖4 GA-RPN網絡結構
GA-RPN可以分為兩個子模塊,分別是錨框生成模塊和特征調整模塊。
在錨框生成模塊中,從兩個分支分別預測特征圖上每個像素所對應的圖像感受野是目標的置信度,以及對應的寬和高(用2通道的特征圖來表示)。當目標置信度大于特定的閾值時,則保留對應位置的寬高作為預測的錨框。顯然,這種產生錨框的方式相比于滑窗的方法能夠減少大量的負樣本。
特征調整模塊借鑒了可變形卷積(deformable convolution)[22]的思想,使用錨框生成模塊產生的2通道寬高特征圖預測可變形卷積的偏移量,然后利用預測的偏移量對原特征圖進行3×3的可變形卷積,通過對特征圖的修正,使之與生成的錨框精確匹配。
Bi-FPN的每一層特征分別經過GA模塊后,產生不同尺度的錨框與修正后的特征圖,并分別進行邊界框回歸與分類。
以其中一層特征圖為例,分類與回歸網絡的結構如圖5所示,其中W、H表示寬、高。

圖5 分類與回歸網絡結構
由于檢測網絡與GA-RPN聯合訓練,損失函數中添加了生成錨框的損失函數,聯合訓練損失函數如式(4)所示。
L=λ1Lloc+λ2Lshape+Lcls+Lreg
(4)
式中:Lloc是錨框定位損失函數;Lshape為錨框形狀損失函數;Lcls為檢測分類損失函數,本文采用focal loss衡量分類損失;Lreg為檢測的邊框回歸損失函數,本文采用CIoU衡量邊框回歸損失;λ1和λ2為平衡項,本文λ1=1,λ2=0.1。
對于錨框定位損失函數Lloc,將目標真實邊界框G=(xg,yg,Wg,Hg)映射到特征圖的尺度,特征圖上的邊界框為G′=(x′g,y′g,W′g,H′g)。對于中心落在G′中心區域的錨框,將其記為正樣本;對于中心落在G′區域外的錨框,將其記為負樣本;對其余中心落在G′區域邊緣的錨框進行忽略。最后,利用focal loss損失函數訓練錨框定位分支。
對于錨框形狀損失函數Lshape,將錨框與真實邊界框ground truth進行匹配,計算最大化IoU,作為衡量錨框形狀預測效果的標準。其計算方法如式(5)所示。
(5)
式中:w和h表示預測的寬度和高度;wg和hg表示標簽中真實框的寬度和高度;L1(·)表示平滑L1損失。
基于上述的網絡設計,本文通過實驗比較了各項改進優化對檢測準確率的提升效果。
本文使用的訓練圖像來自于表1中的三個SAR船舶目標數據集。

表1 本文使用的訓練數據集
將數據集SSDD和SAR-Ship-Dataset中80%的樣本作為本文實驗的訓練集與驗證集,剩余20%的樣本與數據集AIRSAR-Ship-2.0作為測試集。

圖6 實驗所用的數據集樣本
由于數據集SAR-Ship-Dataset中的切片尺寸過小,為了在尺寸上與數據集SSDD保持基本的一致,在訓練過程中,隨機抽取四張數據集中256像素×256像素的圖像進行拼接,拼接后的圖像尺寸為512像素×512像素。在使數據集尺寸基本一致的同時,這種方法可以提高訓練效率,并且能夠使目標在圖像中的位置更具有隨機性。
實驗在Windows10系統下,基于深度學習框架pytorch-1.6.0進行,并使用CUDA-10.1與CUDNN-7.6.5加速訓練。計算機CPU為Intel Core i9-9820X,GPU為NVIDIA Titan V,顯存大小為12 GB。
訓練過程中,使用ResNet-101在ImageNet上的預訓練模型對ResNet參數進行初始化,使網絡能夠較快地收斂,縮短訓練時間。使用Adam作為訓練的優化器,初始學習率設置為0.000 1,若訓練三個epoch之后網絡性能無法提升,則自動將學習率衰減為原來的一半。
本文采用的算法衡量指標為精確率(precision)、召回率(recall)、F1值與mAP。若將得分閾值設為0.5,將區分正負樣本的IoU閾值設為0.5,用TP表示正確預測的正樣本數量、FP表示負樣本被錯誤預測為正樣本的數量、FN表示未檢測出的正樣本數量,則精確率如式(6)所示。
(6)
召回率如式(7)所示。
(7)
為了綜合上述兩種指標對檢測結果進行評價,使用F1值作為檢測的綜合評價指標,其計算方法如式(8)所示。
(8)
對于mAP的計算,本文對網絡的所有預測結果計算P-R曲線,以便更好地觀察曲線的變化趨勢,評價網絡的檢測效果。同時,以0.5為預測得分的閾值,僅對高于閾值的最終檢測結果計算mAP,反映算法最終的檢測效果。
為了檢驗本文提出的加權BiFPN特征融合網絡的有效性,以RetinaNet檢測算法為基礎,以ResNet-101結構為特征提取網絡,分別使用FPN、PANet以及加權BiFPN結構作為特征融合網絡,在本文數據集中進行測試。實驗結果如表2所示。本文方法在保持精確率基本不變的情況下,能夠顯著地提高檢測召回率,相比于FPN結構召回率提高了4%。

表2 特征融合網絡檢測效果對比 %
通過比較BiFPN+預設密集錨框的方法與BiFPN+GA-RPN方法的實驗結果,檢驗本文特征指導錨框生成方法的有效性。實驗結果如表3所示。可以看出,本文方法相比于預設密集錨框的方法能夠明顯提高檢測精確率,即降低了虛警率,同時檢測的召回率也有一定限度的提高。圖7是部分實驗結果,其中第一行圖像為傳統預設密集錨框方法的檢測結果,第二行為本文方法的實驗結果,對比來看,在復雜場景下,本文方法產生的虛警更少。

表3 兩種錨框生成方法效果對比 %

注:藍色框表示漏檢目標;黃色框表示虛警。圖7 不同錨框生成方法的結構對比
綜合使用加權BiFPN結構與GA-RPN結構構建本文提出的算法。實驗對比Faster R-CNN、SSD、YOLOv4以及本文算法在本文數據集上的檢測效果,通過精確率、召回率、F1值以及mAP評估各檢測算法的性能,如表4所示。最后,測試集在不同算法上的檢測結果繪制P-R曲線,如圖8所示。可以看出,本文算法的曲線下方面積最大,效果最好。圖9是不同算法的檢測圖像對比,其中左側第一列是對密集分布的小目標的檢測結果。可以看出,本文方法擁有更低的漏檢率。后三列是在復雜場景下的檢測結果,可以看出,YOLOv4、SSD這類單階段算法虛警率較高,且邊框回歸不準確,而本文采用的GA-RPN結構能夠排除較多的負樣本錨框,在港口等復雜場景下能夠有效地排除干擾。

表4 本文算法與其他檢測算法對比

圖8 不同算法的P-R曲線對比

圖9 不同算法的檢測結果對比
傳統的多尺度特征融合結構沒有考慮融合比重以及底層位置信息流動的問題,本文針對這兩點不足,利用基于加權融合的BiFPN結構作為特征融合網絡。針對傳統CNN檢測方法預設密集分布的錨框從而影響檢測效果的問題,本文使用提取的特征來指導錨框的生成,減少了較多的負樣本錨框,在提高效率的同時具有更低的虛警率。目前的訓練與檢測實驗都是在SAR圖像切片上完成,擁有較好的檢測效果,而對于一景完整的SAR圖像,往往需要先對圖像進行裁剪,之后逐一檢測再拼接,這樣的方法容易將目標裁剪到不同的圖像上引起檢測困難。因此,在未來的工作中,在進一步優化網絡結構的同時應考慮對于整幅SAR圖像的檢測方法,以滿足SAR圖像目標的實際需求。