張 上, 李夢思, 陳永麟, 張 卓
(1.水電工程智能視覺監測湖北省重點實驗室,湖北 宜昌 443000; 2.湖北省建筑質量檢測裝備工程技術研究中心,湖北 宜昌 443000; 3.三峽大學計算機與信息學院,湖北 宜昌 443000)
從20世紀80年代至今,合成孔徑雷達(SAR)[1]系統及信號處理技術越發成熟,SAR數據的應用范圍愈加廣泛。艦船圖像檢測的應用發展前景于軍事領域而言,對特定類型船舶采取精準定位措施有助于防御布局,提升海防安全預警的能力;于民生領域而言,對非法入境者、走私販及非法打撈漁船等船只監控檢測,利于維護船舶安全管理體系的穩定。當前艦船目標信息獲取方式[2]分別為輻射噪聲信號、雷達回波、衛星遙感、合成孔徑雷達、紅外圖像等幾個來源。其中,合成孔徑雷達成像以其不受多種復雜環境因素影響,可全天候、任意時段、多角度地完成檢測監控任務的優點,成為當前艦船圖像檢測主要數據來源。
目前,國內外研究者在SAR圖像艦船目標檢測與分類方向推進了大量創新研究工作,建立了較為成熟的SAR圖像艦船目標監視系統[3]。如何快速、準確地滿足當前需求,從海量遙感數據中智能識別檢測出艦船目標是當前研究方向的熱點。
基于深度學習的目標檢測技術被廣泛應用于SAR艦船目標檢測。目標檢測至今已有近20年的研究歷史,從最初的R-CNN[4]到之后提出的Fast R-CNN[5]、Mask R-CNN[6]、Faster R-CNN[7]、YOLO[8-10]系列及SSD[11]等,這種神經網絡學習特征方式在復雜場景下依舊保持良好的性能,滿足工業類應用大部分功能需求。在目標檢測發展過程中,根據算法處理方式可劃分為兩類。第一類雙階段(Two-Stage)目標檢測算法以R-CNN、Fast R-CNN、Mask R-CNN等為代表。2014年雙階段算法被提出,因其算法嚴重耗時,很難真正被應用于實際場景。為了從根本上解決算法效率低下問題,第二類單階段(One-Stage)目標檢測算法被提出。這類算法采用回歸的方式對物體分類及候選區域預測,相較于雙階段算法,速度提高數倍。YOLO算法的提出使得深度學習目標檢測算法有單、雙階段之分,成為最早具有實際應用價值的算法,相較于雙階段算法更適用于工業場景應用。
不少學者對上述兩個類型算法在艦船檢測上采取針對性優化。蘇娟等[12]在SSD目標檢測算法的基礎上,做出了遷移學習、淺層特征增強和數據增廣3個方面的改進,解決了SAR艦船小目標的漏檢和誤報的問題;賀翥禎等[13]提出一種YOLOv5算法引入坐標注意力機制,提高網絡的特征提取能力同時保證了模型的輕量化,加入了雙向特征金字塔結構,解決了訓練時收斂速度慢的問題;嚴滿春等[14]提出基于單次多盒檢測器的一種特征增強小目標檢測算法,解決了復雜環境下小目標特征提取弱的問題;LI等[15]提出一種改進YOLOv4模型引入解耦合頭和通道注意力機制,解決原模型的遷移應用性能不高的問題;ZHANG等[16]提出一種基于多任務學習的目標檢測器(MTL-Det)以區分SAR圖像中的船舶,解決了SAR圖像中較強的散斑噪聲降低淺層的特征獲取能力差的問題;HU等[17]提出一種將EfficientNet和YOLO骨干網絡結合的模型,解決了終端部署方案可行性的問題。
YOLOv7提出一種高效層聚合網絡 (Efficient Layer Aggregation Network,ELAN),其設計目的是為解決執行模型縮放時深層模型收斂性會加劇惡化的問題,并解決使用過多過渡使整個網絡的最短梯度急速變長的問題。應用梯度路徑設計的ELAN網絡結構如圖1所示,圖中,ELAN網絡結構由多個CBS構成。

圖1 ELAN網絡結構Fig.1 ELAN network structure
ELAN-W與ELAN之間結構非常相似,不同點就在于其中一條分支選取6個輸出相加。ELAN-W網絡結構如圖2所示。

圖2 ELAN-W網絡結構Fig.2 ELAN-W network structure
由于YOLOv7網絡層數多且參數量大,加之高分辨率SAR成像特點,在檢測中速度和精度提升空間很大。為使檢測效果更佳,本文設計了STSD-YOLO,如圖3所示。

圖3 STSD-YOLO系統架構Fig.3 STSD-YOLO system architecture
改進算法調節特征提取網絡,改變多尺度感受野權重。引入輕量型注意力機制Shuffle Attention[18],在空間域與通道域注意力機制基礎上,融合特征分組與通道置換,降低了計算復雜度。同時,引入卷積層變體DSConv[19],將原始浮點卷積核參數量化,再通過分布偏移還原原始參數,實現減少內存、加快運算速度。最后使用NWD(Normalized Wasserstein Distance)[20]新度量,通過對應的高斯分布計算2D高斯分布建模的邊界框之間的相似性。
設計網絡結構的過程中常常需要考慮平衡網絡規模和目標檢測精度使之達到局部最優。本文提出了一種基于改進YOLOv7的SAR近岸區域密集船只高精度檢測方法,既達成了模型輕量化也提高了檢測精度,有效地解決SAR近岸情形下算法模型準確率低、虛警率高等問題。為實現高質量檢測,本文做出如下改進:
1) 改進網絡結構,設計新輕量化網絡模型STSD-YOLO,調整感受野,變化多尺度融合關系,加大淺層網絡提取的特征在融合時的權重;
2) Shuffle Attention采用隨機單元,有效結合空間域和通道域兩個注意力機制;
3) 引入高效的卷積算子DSConv使用量化技術壓縮神經網絡,減少儲存網絡占用率;
4) 使用NWD緩解基于錨點的檢測器對微小物體檢測性能不佳的情況,通過高斯分布計算相似性;
5) 在高分辨率SAR數據集HRSID[21]上檢驗改進算法的性能。
根據SAR成像的特質,SAR圖像在檢測過程中目標常常具有目視效果不佳、存在相干斑噪聲、信噪比較低的問題。為此重新設計模型。
YOLOv7原模型檢測層包含的3種特征圖尺寸分別為20×20、40×40、80×80(單位為像素),對應識別大小不同目標。本模型根據實際SAR圖像中的檢測目標的特點及需要,刪除最深處20×20尺寸圖像時,感受野與待檢測目標大小之間的關系更匹配。
改進網絡的方案從減小深度考慮,去除網絡深層大量復雜且低效的模塊,考慮適量減小原模型網絡深度,提高圖像淺層特征權重。改進YOLOv7中網絡的核心信息特征提取器,對特征提取網絡CSPDarkNet進行重構,如表1所示。

表1 重構CSPDarkNet結構
重構CSPDarkNet結構優勢如下:
1) 增強卷積網絡的學習能力,增加特征提取網絡提取出的細節特征的占比,很大程度減少網絡層數;
2) 加速網絡推理速度,移除計算瓶頸,模型整體復雜度、模型體積、計算量、推理時間大幅下降,模型運行效率提高;
3) 降低算法空間復雜度,改進后網絡參數量減少,體積減小。
由表1可知,改良的網絡模型提高了淺層語義信息的權重,降低過度地下采樣而造成丟失特征信息的情況。改良后特征融合網絡結構如圖4所示。

圖4 特征融合網絡結構Fig.4 Structure of feature fusion network
在多尺度檢測環境下,為實現對目標的精確定位,基于錨框的目標檢測模型在訓練時常常會預設多組先驗框。YOLOv7的自定義錨定框采用K-Means聚類算法,訓練數據集自動計算合適的錨定框。
使用K-Means聚類得到k個錨框。使用遺傳算法對錨框w、h值進行變異,使用錨框適應度評估變異后效果,效果好就賦值給錨框,效果變差就跳過,默認變異1000次。通過實驗發現,經過聚類得到的錨框加快模型收斂速度、簡化計算復雜度。原始算法經過改進,特征圖輸出由三尺度變為二尺度,因每個特征圖對應3種錨框,所以錨框由默認的9種錨框變為6種。改進錨框參數如表2所示。

表2 錨框分配
本文算法引入高效的注意力機制Shuffle Attention可以解決訓練速度過慢的問題。Shuffle Attention結構中采用Shuffle單元融合空間和通道注意力機制如圖5所示。

圖5 Shuffle Attention結構Fig.5 Shuffle Attention structure
圖5中,特征抓取部分,首先輸入特征圖X∈RC×H×W按通道維度分組為多個子特征Xk,表示為X=[X1,X2,…,Xg],Xk∈RC|G×H×W。
模塊首先沿通道維度劃分子特征Xk,表示為Xk1,Xk2∈RC|2G×H×W,如圖5中Split部分。上分支使用通道注意力,挖掘通道間的依賴,下分支抓取特征間的空間依賴。通道注意力采用GAP+Scale+Sigmoid的單層變換,即
(1)
(2)
其中:Fgp(·)表示全局平均池化;W1,b1均為變換參數,W1∈RC|2G×1×1,b1∈RC|2G×1×1;σ(·)表示Sigmoid激活函數。
空間注意力分支先對輸入特征圖進行歸一化處理,然后通過變換增強輸入,最后,將兩個注意力相融,即
(3)
(4)
此時的輸出特征圖和輸入尺寸相同。
圖5中,Aggregation部分,聚合所有子特征,同時采用“通道混洗”算子保證各子特征之間信息交互。
圖6為輸入特征加入Shuffle Attention模塊后熱力圖的仿真結果。

圖6 加入Shuffle Attention模塊后的熱力圖繪制結果Fig.6 Heat map drawing results after adding Shuffle Attention module
由圖6可明顯看出,加入Shuffle Attention模塊后感興趣的區域更集中。
本文算法引入DSConv模型加到主干網絡ELAN-W中,得到ELAN-DS結構如圖7所示。

圖7 ELAN-DS網絡結構Fig.7 Structure of the ELAN-DS network
量化是一種提高卷積神經網絡運行速度和縮減內存的流行方法,本文引用一種分布偏移卷積(DSConv)。DSConv是一種靈敏的量化卷積算子,用成本低得多的整數運算代替單精度運算,同時保證卷積內核權重及輸出的概率分布。
DSConv將原始卷積核拆為兩個部分:一部分僅有整數值張量,不能訓練,并依據預訓練網絡中浮點的權重分布計算;另一部分由分布偏移器張量組成,其中一個分布偏移器移動所有內核的分布,另一個移動所有通道,目的是改變VQK的分布以試圖模仿原始卷積核的分布。分布偏移部分的權重可以被訓練,使網絡適應新的任務如圖8所示。

圖8 DSConv框架Fig.8 DSConv framework
圖8中,KDS(k,k) 代表內核分布移位器,k代表內核的寬度和高度,KDS(BLK,k,k) 代表模仿原始卷積內核的內核分布偏移器,BLK 為塊大小的超參數,VQK(BLK,k,k) 代表可變量化內核,RES(BLK,k,k) 代表result,它和原始卷積張量一樣大,Original(1,chi,k,k) 代表原始卷積張量,chi是當前層中的通道,·Φ代表Channel Distribution Shifter (CDS),它移動每個通道中的分布。
在預訓練網絡時,將權重張量濾波器按深度劃分為長度為B的塊,所有的塊共享一個浮點值,然后對所有塊量化處理,每個張量節約的內存表示為
p=b/32+[Ci/B]/Ci
(5)
式中:Ci為通道數;b為所選的超參數設置。
微小物體在圖像中僅占極少的像素點,由于缺乏微小物體外觀信息,最先進檢測器亦無法產生令人滿意的結果。原因在于基于交并比(IoU)的指標對微小物體的偏差極度敏感,且用在基于錨點的檢測器中檢測性能會大大降低。為緩解該情況,先將邊框建模為2D高斯分布,然后提出一種稱為NWD的新度量,以通過對應的高斯分布計算它們的相似性。NWD度量很輕易地嵌入到任何基于錨的檢測器的分配、非極大值抑制和損失函數中,以取代原始常用IoU度量。
對于2D高斯分布建模,邊界框中心像素權重最高,像素重要度從中心到邊界遞減。水平邊界框R=(cx,cy,w,h),其中,(cx,cy)為框的中心坐標,w和h分別為寬度和高度。內接橢圓方程為
(6)
式中:(μx,μy)為橢圓的圓心坐標;σx,σy是沿x和y軸的半軸長度,μx=cx,μy=cy,σx=w/2,σy=h/2。2D高斯分布的概率密度函數表示為

(7)
式中,x,μ,Σ分別表示高斯分布坐標、均值向量及協方差矩陣。當滿足
(x-μ)TΣ-1(x-μ)=1
(8)
時,水平邊界框R=(cx,cy,w,h)可以建模為二維高斯分布N(μ,Σ),即
(9)
計算分布式距離使用來自最優傳輸理論的Wasserstein距離。對兩個高斯分布μ1=N(m1,Σ1)和μ2=N(m2,Σ2),二階Wasserstein距離定義為
(10)
此外,對于從邊界框A=(cxa,cya,wa,ha)和B=(cxb,cyb,wb,hb)建模的高斯分布Na和Nb等式可簡化為
(11)

(12)
式中,C為依據AI-TOD數據集上試驗得到的最佳參數。
STSD-YOLO算法結構見圖9,改進后的STSD-YOLO網絡結構由改進Backbone主干網絡、改進特征提取網絡、Shuffle Attention模塊、ELAN-DS等組成。

圖9 STSD-YOLO算法結構與原始YOLOv7算法結構Fig.9 Structure of the STSD-YOLO algorithm and structure of the oroginal YOLOv7 algorithm
本文采用公開高分辨率SAR數據集HRSID驗證本文提出的改進算法效果。數據集HRSID包含剪裁的高分辨率SAR圖像共5604幅及艦船實例16951個,檢測時被分為占比65%的訓練集和35%的測試集。數據集構建格式為MS COCO。HRSID根據基于CNN的探測器設計,構建時排除了以往SAR艦船數據集的不足。
為了對目標檢測訓練結果定量分析,研究者設置了很多評價指標,每一種指標都是為了反映檢測算法各類方面的不同性能。精度方面主要參考平均準確率均值(mAP)、平均準確率(AP)、準確率(P)、召回率(R)等。速度方面主要參考的指標有每秒浮點運算次數(FLOPs)、每秒處理圖像幀數(FPS)等。上述評價指標中含有4個基礎指標,分別為TN、TP、FP、FN。TN為模型預測為假、實際也為非真的樣本,模型預測為正確;TP為模型預測為真、實際為真的樣本,模型預測為正確;FP為模型預測為真、實際為非真的樣本,模型預測為錯誤;FN為模型預測為真、實際為非真的樣本,模型預測為錯誤。
消融實驗在HRSID數據集上進行。為驗證模型各項改進的有效性,以YOLOv7作為基準算法,觀測各模塊在改進后的實際效果。用P、R、mAP、模型體積、模型參數量、模型計算量(GFLOPs)作為模塊的評價指標。具體消融實驗如表3所示。

表3 消融實驗
由表3實驗數據可得,單添加網絡重構可大幅縮減GFLOPs、參數量及模型體積。添加Shuffle Attention可很好地提升模型檢測精度,加入DSConv后,精度有一定提升且計算量有明顯降低,引入NWD后,網絡模型的精度、召回率均有大幅的提升。經實驗證明,STSD-YOLO對比原模型體積減小62.55%,參數量減少68.54%,GFLOPs下降了24.26%。在HRSID數據集上mAP由原來的86.57%上升到95.15%,漲幅為9.9%。各項評價指標均顯示出模型在各方面都具有實質性的優化。
為對改進算法做進一步驗證,在HRSID數據集上做對比實驗,將本文改進算法與其他主流算法對比,驗證過程中每個檢測算法實驗環境相同。
本文選取目標檢測的經典算法做對照,YOLOv5、YOLOv6、YOLOv7、YOLOv8、SSD與本文算法對比見表4。

表4 算法對比
由表4可以直觀看出,本文算法的檢測精度明顯高于其他主流算法,綜合衡量本文改進STSD-YOLO算法最優。
為更加直觀地對比檢測算法的效果,以實際圖為基準,對比原始算法和改進算法的實際檢測情況,見圖10。

圖10 原始圖、YOLOv7及STSD-YOLO效果圖Fig.10 Original figures,YOLOv7 and STSD-YOLO renderings
圖10(a)大部分為近岸復雜背景的情景圖,圖10(b)為原始算法YOLOv7在真實近岸復雜背景下的檢測效果,圖10(c)為本文改進后檢測算法在真實情景下的表現。在檢測精度方面,實驗結果展示了改進模型在該數據集上的mAP和其他評價指標,可以看出改進后的算法在艦船檢測任務上表現出了更高的檢測精度,即使在復雜的海洋環境的情況下也能有效定位艦船目標。在多尺度方面針對SAR圖像中的艦船多尺度問題,使用錨點框大小調整來適應不同尺寸的目標,實驗證明這些策略可以改善小目標和大目標的檢測率,由圖10可以看出對于個別更小的船只檢測效果更好。
本文針對SAR類數據集小目標像素占比小、物體輪廓不清、復雜環境下SAR艦船目標檢測虛警、漏警問題嚴重、特征信息缺乏的問題[22],提出基于改進YOLOv7的SAR圖像艦船目標檢測(STSD-YOLO)算法。提出重構CSPDarkNet結構以獲取更豐富淺層網絡的位置信息和邊緣信息。引入注意力機制Shuffle Attention,降低計算復雜度,增強提取特征的能力。使用卷積層的變體DSConv,實現精度提升并減小計算量。采用NWD新度量,替換常用IoU度量。在HRSID數據集上實驗結果表明,相較于原算法YOLOv7,在艦船檢測任務中,mAP提升9.9%,體積減小62.55%。因此,STSD-YOLO算法符合在SAR類圖像中檢測艦船目標的各項要求。