?

改進YOLOv3-SPP的SAR圖像艦船目標檢測

2024-01-05 11:10黃強王鈺寧劉曉霞胡云冰
遙感信息 2023年5期
關鍵詞:艦船尺度像素

黃強,王鈺寧,劉曉霞,胡云冰

(1.吉利學院 智能科技學院,成都 641423;2.四川水利職業技術學院 信息工程學院,四川 崇州 611231;3.廈門大學 信息學院,福建 廈門 361005)

0 引言

遙感技術在近些年得到深入發展,對于沿海國家來說,借助遙感圖像實現艦船檢測已經成為重要的任務。合成孔徑雷達(synthetic aperture radar,SAR)是一種高分辨率成像雷達,作為主動微波成像傳感器,與光學遙感相比,SAR數據成像過程受環境因素影響較少,例如天氣、光線和云層,適應性很強,它能在全天候、全天時的情況下進行工作[1]。隨著機載和星載SAR的快速發展,SAR已廣泛應用于民用和軍用領域[2]。合成孔徑雷達圖像中的艦船目標檢測已經成為世界各國的研究熱點,在民用和軍事上具有重要意義,例如民用領域中的海洋監測和軍事領域中的精確制導武器等。

在初始階段,大多采用傳統的半自動化方法進行SAR圖像艦船目標檢測研究。國內外的研究者在傳統方法上進行了大量研究,提出了恒虛警率(constant false-alarm rate,CFAR)算法,并以此為基礎,設計了基于K分布的CFAR方法,還有研究者提出了模板匹配和小波變換等方法來檢測艦船目標。然而這些傳統方法存在建模過程復雜、依賴度高、泛化效果不佳和檢測精度低、檢測時間較長等問題。

近年來隨著深度學習技術在不同領域的快速發展,卷積神經網絡(convolutional neural networks,CNN)憑借其強大的自動特征提取和表達能力,在計算機視覺領域取得了顯著的成功。與傳統的恒虛警率算法相比,基于深度學習的艦船檢測算法不需要復雜的建模過程,這推動SAR圖像艦船檢測從半自動進入了全自動,在未來對于雷達智能感知來說意義重大。因此引起了學者們相當大的研究興趣[3-4]。目前已有很多學者在這方面進行了研究。

李健偉等[5]提出基于改進Faster R-CNN的模型,檢測精度達到了78.8%。蘇娟等[6]提出了基于SSD思想改進型的模型,精度可達88.1%。Jiao等[7]提出基于Faster R-CNN框架的緊密連接的多尺度神經網絡,該方法利用密集連接的網絡作為其主干來檢測艦船目標。Kang等[8]提出了一個基于區域的CNN,將上下文信息和淺層定位特征與深層語義特征結合起來,以提高艦船目標定位的準確性。顧佼佼等[9]重新設計Faster R-CNN中錨框的大小和個數,來解決重復進行目標檢測的問題。張佳欣等[10]從網絡訓練策略角度出發,提出了一種改進YOLOv3的SAR圖像艦船目標檢測方法,來提升對不同艦船目標的適應性。張曉玲等[11]借助YOLO網絡建立了深度可分離卷積網絡(depthwise separable convolution),并將空間注意力機制和通道相結合來提升檢測精度。

相比于二階段檢測算法,YOLOv3規模更小,實時性更佳,易于在移動端部署。同時與YOLOv4/YOLOv5算法相比,YOLOv3算法與它們在核心思想上基本相同,但參數量更少,運算速度更快。YOLOv3-SPP兼顧了速度和精度,具有訓練效率高的特點,對檢測多尺度目標具有優勢,能適應復雜場景,同時檢測性能較YOLOv3更好,能達到一個更好的檢測效果。但YOLOv3-SPP仍然不足以處理尺度差異大、小目標居多的SAR圖像。針對以上分析,于是選擇在YOLOv3-SPP基礎上進行改進。首先在主干特征提取網絡Darknet-53中的第二次下采樣層中輸出一個104×104的尺度預測,并將13×13、26×26、52×51、104×104這4個尺度進行一個緊密連接。然后結合SAR艦船數據特點,用K-median++算法重新聚類生成合適的anchor值。最后對改進前后的方法在SAR圖像艦船數據集AIR-SARShip-1.0和SSDD上進行對比實驗。

1 YOLOv3-SPP算法

基于卷積神經網絡的目標檢測領域主要分為兩類。一類是基于候選區域的檢測方法,也稱兩階段方法;另一類是基于回歸思想的一階段方法。兩階段方法具有較高的精度,但計算成本較大、實時性不佳。相反,一階段方法具有訓練快速、簡單的特點,在速度上具有絕對優勢。

YOLOv3作為典型的一階段目標檢測模型,其網絡結構中主要包含兩部分內容,一部分是主干網絡Darknet-53,用于提取輸入數據的特征,并輸出13×13、26×26、52×52這3個預測特征圖;另一部分是對提取到的特征進行分類與預測回歸的檢測網絡(feature pyramid network,FPN)[14],對3個尺度進行一個特征融合,增強各特征的語義表示。FPN通過Anchor機制在輸出的3個特征圖上分配9個尺度的先驗框,用于優化網絡。模型輸出的3個尺度的特征圖張量會按照尺度被劃分成多個柵格,并最終通過置信度閾值和非極大值抑制(NMS)算法對網絡輸出進行濾波,得到最終檢測結果。

在YOLOv3中第一個檢測頭前的第5、第6層卷積之間添加一個SPP[15]模塊(空間金字塔池化結構)就構成了YOLOv3-SPP。這能將局部特征和全局特征在特征圖級別上加以融合,提升最終特征圖的表達能力,從而提高檢測識別效果??臻g金字塔池化模塊如圖1所示,由4個并行分支組成,3個最大池化層和一個跳躍連接,這樣可以將一張圖片的多方面特征進行提取。YOLOv3-SPP整體結構如圖2所示。

圖1 空間金字塔池化模塊圖

2 改進YOLOv3-SPP檢測算法

YOLOv3-SPP的網絡結構以及由傳統聚類算法生成的錨框并不適合用來檢測SAR圖像艦船目標。因此本文對模型的結構進行改進并使用新的聚類算法(K-median++)來重新生成適合于艦船特征的anchor值,來共同提升模型的檢測性能。

2.1 改進YOLOv3-SPP網絡模型

在YOLOv3-SPP的主干特征提取網絡Darknet-53中,通過不斷的卷積下采樣來擴大感受野,最終輸出3個尺度的特征圖。通過特征金子塔網絡結構(feature pyramid network,FPN)將這3個尺度進行特征融合,特征金字塔網絡如圖3所示。

而在深度卷積神經網絡中,低層卷積層的特征圖含有豐富的空間信息,但是語義信息較少,高層的特征圖含有較多的語義信息但是空間信息較少,而且尺度較小的目標在通過多層卷積之后,特征圖中的空間信息丟失嚴重,這樣不利于對小尺度目標的檢測。

(1)燃氣輪機屬于旋轉葉輪式流體機械,通過壓氣機將空氣逐級增壓,送到燃燒室與噴入的燃氣混合燃燒生成高溫高壓的氣體,并在透平中膨脹做功,帶動發電機轉子高速旋轉,其發電效率約20~38%。采用燃氣-蒸汽聯合循環,將燃氣輪機的煙氣引入余熱鍋爐,產生蒸汽帶動汽輪機后,發電效率可提高到約50%。燃氣輪機的余熱形式為煙氣,煙氣溫度400~650℃。余熱利用可考慮回收煙氣用來制冷,煙氣也可以進余熱鍋爐產生蒸汽再供熱或制冷。

合成孔徑雷達一般安裝在星載或機載平臺上,由于遠距離成像導致SAR圖像中存在大量小目標或者點目標,點目標包含很少的特征信息。YOLOv3-SPP標準輸入圖像分辨率為416像素×416像素,尺度為13×13、26×26、52×52的特征層的下采樣步長分別為32、16、8。那么理論上能檢測到的艦船目標最小分辨率為8像素×8像素。然而以SSDD[16]數據集為例,當網絡輸入尺寸統一設為416時,會有5.4%的目標存在漏檢風險[17]。為了充分利用淺層特征中包含的小目標信息,增加網絡對小目標的敏感度,因此在YOLOv3-SPP的FPN模塊中增加104×104的尺度來提升對小目標的檢測性能,并最終形成4個尺度的目標預測網絡。

同時有效整合語義信息和空間信息對于多尺度目標檢測至關重要。傳統的特征金字塔(FPN)雖然能很好地兼顧底層特征圖和高層特征圖,并能很好地勝任自然圖像中的圖像分割與目標檢測等任務,但由于SAR圖像是微波遙感圖像,信息量更少,加之在圖像中艦船尺度變化更大,為了進一步提高對多尺度目標檢測能力,設計了一個緊密連接的特征金子塔網絡,用于融合不同層次特征來增強每個尺度的語義信息。13×13的尺度不僅和26×26的尺度進行融合,也分別與52×52、104×104的尺度進行融合。26×26的尺度不僅和52×52的尺度進行融合,也同時和104×104的尺度進行融合。綜上所述,改進前后的FPN模塊如圖4、圖5所示。

圖5 改進后FPN模塊

2.2 K-median++聚類anchor

對于目標檢測任務,如果直接通過網絡模型預測目標邊界框的尺寸,會對梯度的穩定性造成影響[18],那么就引入了anchor機制。anchor最早是在Faster R-CNN中提出的。anchor (錨框)[19]是從原有訓練數據集中的所有真實框中根據一定方法(一般常用的是無監督聚類K-means[20])統計出來的出現可能性比較高的形狀和尺寸。在檢測模型進行訓練時,就可以將之前統計出來的數據當作先驗引入到模型中,相當于對檢測的對象加了一個范圍約束,這樣就可以避免盲猜,檢測過程就變為了求anchor與真實框的偏移,從而加速檢測模型快速收斂,提升檢測效果。anchor框如圖6所示。

圖6 anchor框

在原始的YOLOv3-SPP模型中,使用的anchor的值是根據VOC數據得來,VOC數據集是目標檢測領域中通用標準化數據集。VOC數據集中大目標有bus、bicycle,小目標有bird、cat。原始anchor分布如表1所示。YOLOv3-SPP模型中會提取出3個尺度特征,每個尺度上都有3個anchor,那么就有9組anchor值。13×13預測大目標,26×26預測中等目標,52×52預測小目標。

表1 anchor參數分布

而對于特定的數據集,尤其是SAR數據來說,之前的部分anchor設置就不太合理,因為在成像視角上,常規數據集是水平拍攝的光學圖像,而SAR圖像是從上到下,邊框的形狀會受到目標姿態的影響。SAR圖像數據集的邊框尺寸分布與通用數據集存在較大差異。本文將SAR圖像艦船數據集SARShip、SSDD目標尺寸進行可視化,可視化分布如圖7、圖8所示,橫坐標為寬,縱坐標為高。從圖中可見大部分艦船目標的尺度集中在0.2×0.2,且聚集緊密,說明SAR艦船數據集中以小目標為主,另外存在少數離群點。

圖7 SARShip數據集可視化

因此對于SAR數據,需重新生成合適的anchor值,使anchor值設定能符合每個檢測層的特點。在原始YOLOv3中使用的是K-means聚類算法進行錨框聚類,在K-means算法中需要不斷地更換聚類中心,通過平均值來重新計算每個簇群的中心。當數據呈現出緊密聚集且存在明顯離散點的特點時,使用平均值確定聚類中心會讓處于離散點簇的中心不穩定,很容易受噪聲點的影響。另外,在K-means算法中,需要人為進行初始聚類中心的選擇,聚類效果很容易受到初始聚類中心的影響。K-means++[21]是對K-means聚類算法的改進,能解決初始聚類中心選擇對聚類結果的影響[22]。K-median算法是在K-means的基礎上,將聚類中心值的選擇由均值變成了中位數,這能很好避免離散點對聚類結果的影響。因此可以采用融合了二者優點的K-median++進行錨框的設定。K-median++聚類步驟如下。

K-median++算法重新設定錨框(anchor)步驟1:從所有樣本目標框中隨機選取一個當作初始聚類中心。步驟2:求出每一個樣本與當前已經存在的聚類中心的最短距離,設為D,并計算此樣本被選為下一個聚類中心的概率,設為式(1)。p=D(x)2∑x∈XD(x)2(1)步驟3:采用輪盤法得出下一個聚類中心,然后重新計算每一個樣本目標框與已有聚類中心的距離。由于存在多個聚類中心,所以會存在多個距離,選取最小的距離,同時更新概率p(x)。步驟4:重復步驟2和步驟3,得出需要的k個初始anchor。步驟5:計算每一個樣本和已經選出的k個初始an-chor之間的距離,將該樣本點歸到距離最小的類中。步驟6:更新聚類中心。用該類中樣本的中位數代替均值作為新的聚類中心。步驟7:重復步驟5和步驟6,直到所有的anchor值不再改變。

在傳統的K-means算法中,兩個樣本之間的距離用的是歐式距離,這會造成大的邊界框比小的邊界框產生更多損失誤差。為此采用YOLO作者提出的新的距離公式,如式(2)所示。

d(box,centroid)=1-IoU(box,centroid)

(2)

式中:box為各anchor box;centroid是當前簇群的聚類中心;IoU(box,centroid)為anchor和當前聚類中心的交并比。IoU的計算如式(3)所示。

(3)

對數據集進行預處理之后,用K-means和K-median++進行聚類實驗,并用meanIoU進行評價。對比結果如圖9所示。

圖9 聚類實驗對比

從圖中可以看出,隨著迭代次數增加,K-median++的meanIoU總是高于K-means的meanIoU,說明在此種場景下,K-median++優于K-means,更適合進行錨框聚類,能獲得更合理的anchor參數。

3 實驗及結果分析

為了驗證本文提出方法的有效性,將改進前后的YOLOv3-SPP算法進行對比實驗,用P(準確率)、R(召回率)、mAP(平均檢測精度)、FPS(每秒檢測圖片數)進行評價。

3.1 實驗數據及實驗平臺

本文使用的合成孔徑雷達圖像艦船數據集是AIR-SARShip-1.0和SSDD。AIR-SARShip-1.0(高分辨SAR艦船)包含31景大圖,按照PASCAL VOC的格式對數據集進行標注,標注信息經過相關專業人員核準,數據集版權歸中國科學院空天信息創新研究院所有。場景中包含的類型有島礁、不同級別海況的海面、港口等,背景涵蓋近岸和遠海等多種場景。按照2∶1的比例將該數據集劃分為訓練集和測試集。SSDD數據集由海軍航空大學公開,其分辨率的范圍在1~15 m之間,包含不同尺度、海況、傳感器類型等條件下的艦船SAR圖像,總共有1 160張圖片和2 456個艦船目標。每張圖片平均有2.12只船。按照4∶1比例將該數據集劃分為訓練集和測試集。將對應的.xml標注文件轉換為相應的.txt標注文件。

本研究的硬件實驗平臺是CPU Intel(R) Xeon(R) Silver 4110 CPU @ 2.10 GHz,GPU GeForce GTX 2080Ti 11 G顯卡。軟件平臺是Ubuntu 16.04,Pytorch 1.8.1,CUDA11.1。

3.2 模型訓練及評價指標

分別訓練YOLOv3-SPP和改進后YOLOv3-SPP。在訓練之前,需要根據K-median++算法重新聚類anchor。由于FPN改進前輸出的是3個尺度,每個尺度有3個不同的anchor,需要生成9個anchor值。FPN改進后輸出的是4個尺度,需要生成12個anchor值。將生成的anchor加入到配置文件中。輸入圖像尺寸統一設為416像素×416像素。在訓練過程中,每個batch設為16,最大迭代次數epoch設為100。訓練的優化器采用SGD,momentum設為0.9,初始學習率為0.002 3。訓練過程中學習率動態改變,在進行總epoch的70%時,進行以0.1的學習率衰減,在進行總epoch的90%時,進行以0.01的學習率衰減。在模型測試時,IoU設為0.5,conf設為0.001。用單張圖片進行測試。

3.3 實驗結果及分析

1)改進YOLOv3-SPP對比實驗。對YOLOv3-SPP進行K-median++聚類,將模型命名為(YOLOv3-SPP-A);將改進FPN結構后的模型命名為(YOLOv3-SPP-B);以及進行上述兩方面改進后的模型命名為(YOLOv3-SPP-C)。然后分別在AIR-SARShip-1.0數據集和SSDD數據集上進行訓練和測試,做了4組實驗。第1組為原始YOLOv3-SPP模型的實驗情況,第2組為K-median++聚類后模型的實驗情況,第3組是改進FPN結構后模型的實驗情況,第4組是所提模型的實驗情況。逐步改進的實驗結果如表2、表3所示。

表2 模型在AIR-SARShip上結果比較

表3 模型在SSDD上結果比較

從實驗結果表2和表3中可以看出,改進后的YOLOv3-SPP在AIR-SARShip、SSDD數據集上的檢測效果均比原始模型有所提高。其中YOLOv3-SPP-A的mAP分別提升了1.3%、1.4%,表明通過K-median++算法進行anchor聚類,由于克服了離群點和初始聚類中心對檢測結果的影響,相比原始的K-means聚類,降低了漏檢率,提升了模型的檢測能力。同時因為模型網絡結構沒有改變,FPS沒有發生變化。YOLOv3-SPP-B的mAP分別提升了1.6%、2.4%,表明大尺度的預測能更好地利用淺層特征的位置信息來提升對小目標的檢測性能,對不同深度的特征進行融合提升了對不同尺度目標的檢測能力。同時由于模型從原來的3個尺度變為了4個尺度,模型結構發生了改變,導致計算量增加,FPS會有所下降。融合了兩種改進的YOLOv3-SPP-C的mAP分別提升了3.2%、4.4%,效果在4種模型中最好,雖然檢測速度FPS有所下降,但仍然能滿足較高的實時性。

2)不同圖片尺寸的改進YOLOv3-SPP實驗。為了驗證算法改進的有效性,將輸入的SAR圖像的尺寸分別設為416像素×416像素、512像素×512像素、1 024像素×1 024像素,將原模型YOLOv3-SPP與改進后的模型(YOLOv3-SPP-C)進行實驗對比。測試數據集包含232張圖片,涵蓋有500個艦船目標,實驗結果如表4所示。

表4 不同圖片尺寸的檢測效果

從表4中數據可以看出,在圖像輸入尺寸為416像素×416像素、512像素×512像素、1 024像素×1 024像素時,改進后的模型與原模型相比,mAP分別提高了0.032、0.026、0.024。由于輸入圖片尺寸增大,檢測速度FPS有所降低,但在416像素×416像素和512像素×512像素時,依然能滿足較高的檢測實時性。

3)改進算法與其他算法對比。為了進一步驗證改進算法的有效性,將輸入圖片的尺寸統一設為416像素×416像素,在AIR-SARShip-1.0數據集上對改進后的算法與DCENN[23]、Faster-RCNN[24]、SSD[25]、YOLOv3、CenterNet等經典檢測算法進行對比實驗,另外引入了YOLO的最新系列(YOLOv4、YOLOv5、YOLOX)進行對照,實驗結果如表5所示。

表5 不同算法檢測結果對比

從表5可以看出,在檢測精度上,本文提出方法的精度達到了0.905,超過了上述其他檢測方法,在檢測速度上低于YOLO系列。與YOLO系列中的最新YOLOv4、YOLOv5、YOLOX相比,本文提出的方法雖然在檢測速度上不如他們,但檢測的精度更高。實驗結果表明,本文提出的方法在較好的實時性的情況下具有更好的檢測效果。

4) SAR圖像艦船檢測結果。圖10展示了本文改進后的模型分別在AIR-SARShip-1.0數據集中的3種場景下的部分檢測結果。左邊(紅色)是真實目標艦船存在的情況,中間(黃色)是YOLOv3-SPP的檢測結果,右邊(藍色)是改進模型的檢測結果。圖10(a)展示了復雜近岸目標的檢測情況,圖10(b)展示了遠海不同尺寸目標的檢測情況,圖10(c)展示了遠海小目標的檢測情況??梢钥闯?在檢測近岸目標時,受到復雜背景的干擾,原模型存在漏檢的情況,而改進后的模型正確檢測出了停在岸邊的艦船目標;在檢測遠海不同尺寸的目標時,原模型忽略了一些較小目標,而改進后的模型能很好地檢測出不同尺度目標;在檢測遠海小目標時,原模型漏檢了目標艦船,而改進后的模型對小目標具有很好的檢測效果。

圖10 改進方法在AIR-SARShip數據集上檢測情況

4 結束語

針對SAR圖像艦船目標尺度差異大、小目標偏多的問題,本文提出了改進的YOLOv3-SPP的檢測算法,在保證較高的實時性的情況下,提升了對SAR圖像艦船目標的檢測精度,與其他算法相比證明了該算法的有效性。這為SAR數據場景下的實時艦船目標檢測提供了新的解決思路,為機載SAR或星載SAR的快速目標檢測奠定了理論基礎。但同時,本文的算法在檢測近岸復雜背景下的艦船目標時,依然存在虛警率較高的問題,說明對近岸目標的檢測還存在一定的提升空間。另外,該算法在體積大小上略顯冗余,在實時性上還有提升價值。為方便模型在未來實際場景中的部署,下一步工作將模型規模與檢測精度相統一,探討如何在保證精度不丟失情況下對模型進行輕量化。

猜你喜歡
艦船尺度像素
趙運哲作品
艦船通信中的噪聲消除研究
像素前線之“幻影”2000
艦船測風傳感器安裝位置數值仿真
財產的五大尺度和五重應對
“像素”仙人掌
宇宙的尺度
高像素不是全部
艦船腐蝕預防與控制系統工程
9
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合