姜浩風(fēng),張 順,梅少輝
(西北工業(yè)大學(xué)電子信息學(xué)院,陜西 西安 710072)
艦船是水上交通運輸?shù)闹匾d具,對水面艦船的監(jiān)測與管理是各國海事部門的一項重要工作。合成孔徑雷達(Synthetic Aperture Radar,SAR)技術(shù)是一種主動式微波遙感探測技術(shù),它利用脈沖壓縮和合成孔徑同時提高雷達距離向和方位向的分辨率,從而獲得全天候、全天時、大面積、高分辨率SAR 圖像。SAR圖像自動目標(biāo)識別(Automatic Target Recognition,ATR)技術(shù)旨在自動從SAR 圖像中判斷出有無目標(biāo)信息,提高SAR 圖像的解讀效率與準(zhǔn)確度。SAR 系統(tǒng)可安裝于飛機、衛(wèi)星等平臺,并且可全天候、全天時觀察地面和海洋表面,因此SAR 圖像ATR 技術(shù)對海洋監(jiān)測領(lǐng)域的水面艦船檢測與識別具有重要價值。
近年來,SAR 圖像ATR 技術(shù)已經(jīng)在全世界得到深入研究,并形成了固定的三級流程:檢測、鑒別和分類。檢測模塊主要基于檢測算法獲取包含SAR 圖像目標(biāo)的切片,鑒別模塊對于目標(biāo)切片剔除虛警值,分類模塊選取最佳決策機制判斷類別。
傳統(tǒng)的SAR 圖像艦船檢測算法為基于統(tǒng)計建模的恒虛警率(Constant False Alarm Rate,CFAR)算法,包括雙參數(shù)CFAR 算法、基于分布的CFAR 算法,以及最佳熵自動門限法、多極化方法等。此類方法均需要對原始圖像進行預(yù)處理,如雜波過濾、海陸分割,在檢測過程中也需要根據(jù)先驗知識對部分虛警目標(biāo)進行過濾。目前,隨著人工智能領(lǐng)域的快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)可以實現(xiàn)對圖像高層特征的主動提取,避免了人工選取特征的復(fù)雜工作,具有良好的分類準(zhǔn)確度和魯棒性,為SAR 圖像目標(biāo)檢測提供了新的途徑。
在自然圖像的分類識別任務(wù)上,研究人員提出了一些非常典型的深度學(xué)習(xí)網(wǎng)絡(luò)模型,例如AlexNet、VGG、Googlenet、ResNet、DenseNet、Inception、MobileNet、SqueezeNet等。目前成熟的目標(biāo)檢測模型大多基于這一系列網(wǎng)絡(luò)架構(gòu),例如twostage 的R-CNN、Fast R-CNN、Faster R-CNN檢測算法與one-stage 的YOLO系列檢測算法。對于SAR 圖像的艦船檢測,深度學(xué)習(xí)在檢測速度與檢測精度上都優(yōu)于傳統(tǒng)的檢測方法,YOLOv3相比其他目標(biāo)檢測模型,在保證準(zhǔn)確率的同時進一步提高了檢測效率。本文在YOLOv3 網(wǎng)絡(luò)的基礎(chǔ)上,用稠密網(wǎng)絡(luò)模塊代替用于提取中小尺度特征的殘差網(wǎng)絡(luò)模塊,改進網(wǎng)絡(luò)對于較小尺度SAR 艦船目標(biāo)的檢測性能,使用綜合交并比(GIoU)度量損失代替交并比(IoU)邊界框回歸損失,提升邊界框的檢測精度。
YOLOv3 網(wǎng)絡(luò)是一種單階段目標(biāo)檢測網(wǎng)絡(luò),與兩階段目標(biāo)檢測網(wǎng)絡(luò)相比,單階段目標(biāo)檢測網(wǎng)絡(luò)具有更快的檢測速度。YOLOv3 網(wǎng)絡(luò)采用Darknet 53作為主干網(wǎng)絡(luò)以提取輸入圖像的特征,同時結(jié)合了多種優(yōu)秀的方法如多尺度檢測、殘差網(wǎng)絡(luò)等,進一步提升了網(wǎng)絡(luò)性能。YOLOv3 首先將輸入圖像調(diào)整至416×416 的大小,再將其分割成×的網(wǎng)格,網(wǎng)格中每個單元格負責(zé)檢測中心點落在該單元格中的目標(biāo)。每個單元格會檢測3 個不同尺度的邊界框并預(yù)測其置信度。預(yù)測量包括、、、與置信度,其中、為邊界框中心坐標(biāo)在和方向的相對偏移量,和為邊界框的寬和高,置信度通過閾值對預(yù)測結(jié)果進行取舍,表示邊界框中預(yù)測目標(biāo)類別的準(zhǔn)確性。
密集連接網(wǎng)絡(luò)(DenseNet)由HUANG 等于2016 年提出,該網(wǎng)絡(luò)并未參考ResNet 的思想,通過殘差級聯(lián)實現(xiàn)增加網(wǎng)絡(luò)層數(shù),從而提升網(wǎng)絡(luò)性能;也未參考Inception 的思想,通過擴展網(wǎng)絡(luò)寬度提升網(wǎng)絡(luò)性能,而是著眼于特征方面,將特征在多個通道上以不同的方式進行連接實現(xiàn)特征重組,從而保證其特征信息的全面性,提高特征復(fù)用率。
通過對特征的重組利用不僅在一定程度上減輕了梯度彌散問題,而且在減少了參數(shù)數(shù)量的同時加強了特征的有效傳遞。對于一個層的網(wǎng)絡(luò)結(jié)構(gòu),DenseNet 網(wǎng)絡(luò)將0 層至(-1)層的輸出進行非線性變換:式中:H(·)為非線性變換函數(shù);[,,…,x]為將0 層~(-1)層輸出的特征進行拼接;x為第層的變換結(jié)果。
DenseNet 以這種稠密連接的方式最大化地使用特征信息。因此本文采用DenseNet 網(wǎng)絡(luò)中的稠密模塊來加強網(wǎng)絡(luò)對于特征的提取。
ResNet 網(wǎng)絡(luò)與DenseNet 網(wǎng)絡(luò)都是應(yīng)用于分類任務(wù)中,兩者的框架結(jié)構(gòu)極為相似,其網(wǎng)絡(luò)都是由若干個單元模塊堆疊而成,且單元模塊都是由激活函數(shù)層、卷積層與批歸一化層組成。因此,在原有結(jié)構(gòu)的基礎(chǔ)上,將殘差模塊(Residual Block,Res Block)替代為稠密模塊(Dense Block),并改變其連接方式即可完成替代工作,如圖1 所示。其中Conv2D 代表卷積模塊,Contact 代表全連接模塊,Upsampling 代表上采樣模塊。將YOLOv3 網(wǎng)絡(luò)中對尺度26×26 和52×52 進行預(yù)測輸入的兩組殘差模塊替換為自定義的密集連接模塊,構(gòu)建出一個帶有密集型連接模塊的特征提取網(wǎng)絡(luò),使尺度26×26和52×52 在進行預(yù)測之前能夠接收密集連接塊輸出的多層卷積特征,增強特征的傳遞并促進特征復(fù)用和融合,進一步提升檢測效果。
圖1 YOLOv3 結(jié)構(gòu)圖及稠密塊位置Fig.1 Diagram of the YOLOv3 architecture and the dense block position
稠密模塊中通道維數(shù)的變化過程如圖2 所示,在第1 組Dense Block中共有8 個Dense Block Unit,分別代替對應(yīng)位置的Residual Block Unit。Dense Block 的輸入為52×52×256 的特征圖,為了減少計算負擔(dān),在后7 個Dense Block Unit 中的輸入前分別執(zhí)行1×1 的卷積操作實現(xiàn)降維,即每次增加的通道數(shù)為128:
圖2 稠密模塊維度變化Fig.2 Dimension change of the dense block
式中:H(·) 為BN+ReLU+Conv(1×1)+BN+ReLU+Conv(3×3)的組合函數(shù)表達,即附加Bottleneck layer 的Dense Block 的非線性組合函數(shù);,,…,X為每次線性組合操作后的結(jié)果。輸入特征圖經(jīng)8 組非線性函數(shù)組合獲取到52×52×1 280 特征圖,隨后,將其與特征交互部分中上采樣獲取的52×52×128 特征圖進行拼接操作,得到52×52×1 408 的特征圖,以此作為輸出應(yīng)用于檢測小尺度的目標(biāo)。
第2 組Dense Block 的輸入通道數(shù)為512,通道變化做出相同的降維預(yù)處理,即每次增加的通道數(shù)為256,經(jīng)過8 組Dense Block Unit 后輸出26×26×2 560 的特征圖,并將其與特征交互部分經(jīng)上采樣獲取的26×26×256 特圖執(zhí)行拼接操作,經(jīng)通道合并后輸出26×26×2 816 特征圖用于中型尺度目標(biāo)檢測。改進之后的模型YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。
圖3 改進后的模型結(jié)構(gòu)Fig.3 Structure of the improved model
隨著輸出特征圖數(shù)量和尺度的變化,先驗框的尺寸也需要進行相應(yīng)調(diào)整。YOLOv3 延續(xù)了YOLOv2的方法,采用-means聚類得到先驗框的尺寸,為每種下采樣尺度設(shè)定3 種先驗框,共聚類出9 種尺寸的先驗框:(10×13)、(16×30)、(33×23)、(30×61)、(62×45)、(59×119)、(116×90)、(156×198)、(373×326)。
在檢測中,不同大小的目標(biāo)分配不同尺度的先驗框,最小的13×13 特征圖具有最大的感受野,應(yīng)用較大的先驗框(116×90)、(156×198)、(373×326),適合檢測較大的目標(biāo)。中等的26×26 特征圖具有中等感受野,應(yīng)用中等的先驗框(30×61)、(62×45)、(59×119),適合檢測中等大小的目標(biāo)。較大的52×52 特征圖具有較小的感受野,應(yīng)用較小的先驗框(10×13)、(16×30)、(33×23),適合檢測較小的目標(biāo)。不同尺度下的特征圖與先驗框如圖4所示。
圖4 不同尺度下的特征圖與先驗框Fig.4 Characteristic diagrams and a priori frames at different scales
在目標(biāo)檢測的過程中,如果目標(biāo)中心落在某網(wǎng)格中,即由該網(wǎng)格負責(zé)預(yù)測。YOLOv3 的輸出結(jié)果通過預(yù)測不同網(wǎng)格的錨點所對應(yīng)的偏移量完成檢測目標(biāo)預(yù)測框的回歸,如圖5 所示。
圖5 邊框預(yù)測Fig.5 Frame prediction
圖中:c、c為負責(zé)預(yù)測網(wǎng)格的左上角坐標(biāo);t、t為被測目標(biāo)中心相對網(wǎng)格左上坐標(biāo)的偏移量;、為預(yù)設(shè)的先驗框映射到特征圖中的寬和高;b、b為最終得到的邊框中心坐標(biāo);、為其相對特征圖的寬與高。(·)sigmoid 函數(shù)將,壓縮到[0,1]區(qū)間內(nèi),確保目標(biāo)中心處于執(zhí)行預(yù)測的網(wǎng)格單元中,防止偏移過多;、為尺度縮放的參數(shù),經(jīng)過指數(shù)運算還原后參與、的運算。
YOLOv3 模型使用IoU 即交并比作為衡量檢測定位性能的主要指標(biāo),IoU 計算公式如下:
式中:、分別為預(yù)測框與真實框的位置信息。
損失函數(shù)定義為
IoU 作為指標(biāo)存在2 個問題:1)若兩框沒有相交,即=0,此時IoU 無法反映預(yù)測框與真實框之間的距離,同時損失函數(shù)無法進行梯度的反向傳播,故無法通過梯度下降的方式進行訓(xùn)練。2)IoU僅能量化地表示兩框之間的重合度大小,無法表示兩框的空間位置關(guān)系。
針對以上2 個問題,HAMID 等提出了 使用GIoU 作為新的指標(biāo),計算公式如下:
式中:為包含與的最小同類形狀,其損失函數(shù)為
GIoU 繼承了IoU 的尺度不變性,同時相較與IoU 僅關(guān)注重合區(qū)域,GIoU 還關(guān)注了非重合區(qū)域,可以更好地反映預(yù)測框與真實框的重合程度。
本實驗采用中國科學(xué)院空天信息研究院數(shù)字地球重點實驗室研究員王超團隊公開的SAR 圖像船舶檢測數(shù)據(jù)集。該數(shù)據(jù)集包括多源、多模式SAR 圖像,以我國國產(chǎn)高分三號SAR 數(shù)據(jù)和Sentinel-1 SAR 數(shù)據(jù)為主數(shù)據(jù)源,數(shù)據(jù)及其標(biāo)注格式適用于目標(biāo)檢測任務(wù)。目前,該深度學(xué)習(xí)樣本庫包含43 819船舶切片及其標(biāo)注信息,數(shù)據(jù)集樣例如圖6所示。
圖6 SAR 艦船數(shù)據(jù)集樣例Fig.6 Examples of the SAR ship dataset
本實驗的訓(xùn)練環(huán)境為:Ubuntu16.04 系統(tǒng),python3.7,pytorch1.7.1 框架,cuda10.1,cudnn8.0,GPU為GTX1080Ti。
本實驗采用監(jiān)督學(xué)習(xí)的方式,通過損失函數(shù)計算網(wǎng)絡(luò)輸出值與期望值之間的誤差,通過誤差反向傳播調(diào)節(jié)網(wǎng)絡(luò)內(nèi)部的各項參數(shù)來減小誤差,使網(wǎng)絡(luò)逐漸收斂。在訓(xùn)練過程中選擇SGD 優(yōu)化器,權(quán)重衰減(Weight Decay)設(shè)置為0.000 5,沖量(Momentum)設(shè)置為0.9,學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練50 000 批次后,損失函數(shù)趨近于0,表明模型收斂,對訓(xùn)練數(shù)據(jù)的擬合程度較好。損失函數(shù)曲線如圖7 所示。
圖7 網(wǎng)絡(luò)訓(xùn)練損失曲線Fig.7 Network training loss curve
本實驗采用的評價指標(biāo)為主流的類平均準(zhǔn)確率(Mean Average Precision,mAP)與每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS)。mAP 是所有檢測目標(biāo)類別的平均值(Average Precision,AP),衡量模型在各類別上識別效果的平均水平。FPS 用于衡量模型的檢測速率。本實驗采用Faster R-CNN 與原版YOLOv3 作為對比算法,實驗中訓(xùn)練樣本與驗證樣本的比例為9∶1,測試結(jié)果見表1。
表1 測試結(jié)果對比Tab.1 Comparison of the test results
由表1 可知,改進后的YOLOv3 框架的檢測性能在準(zhǔn)確率上優(yōu)于Faster R-CNN 與原版YOLOv3,相較原版YOLOv3 模型,改進后模型的mAP 提高了1.4%,在檢測速度上與原版YOLOv3 一致,這是因為改進的方法并未對YOLOv3 做模型結(jié)構(gòu)與參數(shù)量上的簡化。改進后的YOLOv3 采用稠密模塊替換殘差模塊來提高對小目標(biāo)的檢測精度。由于海面目標(biāo)多為小型艦船,因此改進后的YOLOv3 比原版具有更高的檢測精度,檢測結(jié)果圖像如圖8 所示。
圖8 SAR 艦船檢測結(jié)果Fig.8 Results of the SAR ship detection
本實驗針對SAR 圖像自動目標(biāo)識別問題展開了研究,設(shè)計了一種基于改進YOLOv3 架構(gòu)的SAR艦船檢測模型。該模型通過將網(wǎng)絡(luò)中部分殘差模塊替換為稠密連接模塊,改進了網(wǎng)絡(luò)對于小尺寸目標(biāo)的檢測性能,通過用GIoU 取代IoU 提高預(yù)測框的檢索準(zhǔn)確度。
實驗結(jié)果表明,改進后的YOLOv3 框架基于其對小目標(biāo)檢測的優(yōu)秀性能,在SAR 艦船檢測的任務(wù)上取得了較好的結(jié)果。