曲海成 高健康 劉萬軍 王曉娜
(遼寧工程技術大學軟件學院 葫蘆島 125105)
海面艦船目標的檢測在海運管制、漁業(yè)管理和軍事監(jiān)控等領域有著重要的現(xiàn)實意義[1]。不同于紅外、光學等被動式成像傳感器,合成孔徑雷達(Synthetic Aperture Radar, SAR)利用主動式微波遙感技術,可在全天時、全天候條件下獲取高分辨率遙感圖像[2],因此,利用SAR技術實現(xiàn)對艦船目標檢測是SAR圖像解譯領域的研究熱點。由于SAR圖像中小尺寸艦船居多,且在海陸交接近海岸區(qū)域,受背景雜波、相鄰區(qū)域類似目標散射的影響,艦船的目標提取和檢測仍然存在很大的困難。
經(jīng)典的SAR圖像目標檢測方法多采用恒虛警率(Constant False Alarm Rate, CFAR)及其衍生算法[3],預先對海雜波分布建立統(tǒng)計模型,利用艦船本身與海洋背景之間的特征差異進行檢測。CFAR檢測算法高度依賴人工設計滑窗,算法泛化能力弱,海雜波分布模型建立過程復雜,使得其針對復雜場景的SAR圖像目標檢測效果不理想。近年來,基于卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)的目標檢測方法開始應用于SAR圖像目標檢測領域。該類方法利用標注的數(shù)據(jù)集訓練網(wǎng)絡,提取深度的艦船特征,不受SAR圖像場景的限制,檢測模型具有準確率高、魯棒性強的特點。海軍航空大學的Li等人[4]構建了國內(nèi)首個公開SAR艦船數(shù)據(jù)集(SAR Ship Detection Dataset, SSDD),并采用多層特征融合、遷移學習的方式優(yōu)化Faster RCNN[5]檢測方法,在該數(shù)據(jù)集上取得了78.8%的平均精度。Jiao等人[6]提出了基于稠密連接網(wǎng)絡的多尺度檢測算法,將不同層次的特征自上至下密集連接,使高層語義信息融合進每個低層特征中,艦船檢測性能得到明顯提升。胡昌華等人[7]基于YOLOv3檢測框架,利用改進的特征金字塔網(wǎng)絡(Feature Pyramid Networks, FPN)[8],提高了小尺寸艦船的檢測效果。Cui等人[9]提出了將注意力機制嵌入至FPN中,同時使用密集連接的方式,在復雜場景下取得了不錯的檢測效果。
相比于傳統(tǒng)方法,基于CNN的檢測方法在性能上的確有很大的提升。但是,以上CNN算法都是基于錨框(anchor-based)的檢測方法,其網(wǎng)絡參數(shù)和錨框的比例是針對目標密集的可見光圖像而設定的,而SAR圖像中艦船目標分布稀疏,錨框機制生成大量非目標的檢測框,造成內(nèi)存的占用和計算量的增加,從而制約檢測速度。因此,本文嘗試將無錨框(anchor-free)算法用于 SAR圖像艦船檢測。將無錨框算法直接應用于SAR圖像中,依然存在兩個問題:(1) 受SAR成像原理的影響,圖像中艦船尺寸各異,目標存在漏檢問題;(2) 背景復雜的SAR圖中,近岸區(qū)域的艦船被沿岸建筑干擾,造成檢測框無法包含完整的目標。
針對這些問題,本文提出了上下文信息融合(context fusion)與分支交互(interacting branch)的SAR圖艦船無錨框檢測算法,命名為CI-Net。提出的上下文信息融合模塊,采用自底向上的模式,利用高層語義信息引導低層特征融合,對融合后的特征做上下文信息提取,得到信息豐富的待檢測特征層。采用自注意力模塊建立相互作用的分支結構,利用強調(diào)目標位置的分類分支指導回歸分支優(yōu)化檢測框,輸出定位精準的檢測結果。
針對自然場景的目標檢測,研究者常用基于錨框的檢測模型,不管是單階段的SSD[10]、YOLO系列[11],還是雙階段的Faster R-CNN等算法,都取得了不錯的檢測性能,是當前主流的檢測模型。但SAR圖像中的艦船目標分布稀疏,錨框的設計會引入無艦船的背景框,導致正負訓練樣本的不均衡問題[12];其次大量無用的錨框浪費內(nèi)存資源和計算時間,對檢測速度造成影響。相對而言,無錨框的檢測算法更適用于SAR圖像檢測,例如CenterNet[13],F(xiàn)COS[14]等算法,根據(jù)目標特征形狀、關鍵點生成稀疏的檢測框,擺脫了錨框機制的制約,使得網(wǎng)絡參數(shù)大幅減少,檢測速度是很可觀的。無錨框的檢測模型如圖1所示。
圖1 無錨框的檢測模型
以FCOS算法為例,無錨框的檢測算法分為3階段:首先是特征提取階段,選用合適的主干網(wǎng)絡提取圖像中的目標特征,獲取到多尺度特征圖。第2階段,以逐像素點預測的方式,對目標框中的所有像素點進行邊界框標定,直接在特征圖中回歸預測目標的位置。在最后的檢測頭階段,分別輸出分類分支、回歸分支、中心點分支3個分支,中心點的值表示當前像素點偏離真值框中心的程度,中心點值越大,代表當前像素點越接近目標正中心。利用中心分支可以優(yōu)化分類和回歸分支,保留高質(zhì)量的檢測框作為最終的結果。考慮到SAR圖像艦船分布稀疏的特點,以及檢測模型的實時性要求,本文選擇將無錨框的檢測算法應用于SAR圖像的艦船檢測。
將FCOS無錨框的檢測算法直接用于SAR圖像艦船檢測,仍然存在一些問題:首先,該算法針對的是多類別目標檢測,對語義信息的依賴程度高,所以FCOS在特征金字塔中添加了更深層的網(wǎng)絡,獲取語義信息豐富的深度特征,深度特征層是由網(wǎng)絡連續(xù)降采樣獲得的,其分辨率低,目標的空間信息缺少,然而SAR圖像中小尺度艦船居多,存在小目標漏檢現(xiàn)象。其次,SAR圖像中的目標是后向電磁波輻射成像,在近海岸區(qū)域,艦船目標同岸上建筑會表現(xiàn)出相似的輻射特性,算法很難對背景和目標進行判別,造成這些區(qū)域檢測框的定位不準確。因此,本文在FCOS算法模型的基礎上,提出了上下文信息融合與分支交互的無錨框檢測算法CINet,檢測模型框架如圖2所示。
圖2 CI-Net檢測模型框架
CI-Net檢測模型包括特征提取階段、上下文融合模塊以及多任務檢測頭。首先將SAR圖像輸入主干網(wǎng)絡ResNet_101中進行特征提取,特征層{C3,C4, C5}分別獲取的是 ResNet_101中Conv3_x,Conv4_x, Conv5_x的最后一層特征。然后將{C3,C4, C5}在特征金字塔網(wǎng)絡中進行高低層特征融合,得到{P3, P4, P5, P6}4個融合特征層,融合特征層通道數(shù)均為256。不過融合后的高層特征仍存在分辨率低、空間信息丟失的問題,并不利于SAR圖像中的艦船檢測。模型設計了上下文融合模塊,采用自底向上的方式,將底層特征與高層上采樣后的特征融合,得到一層與P3層分辨率一致、包含空間信息與語義信息的融合特征,并將其送入檢測頭中實現(xiàn)最后的檢測。在檢測頭階段,保留了FCOS算法原有的4次卷積,得到共享的待檢測特征,輸出分類(classification)、回歸(regression)、交并比(Intersection Over Union,IOU)3個分支,分類分支可以指引回歸分支對目標框進行修正,經(jīng)過自注意力機制之后微調(diào)檢測模型,輸出最好的檢測結果。
CNN被用來提取圖像的特征信息,低層特征有較高的分辨率,空間細節(jié)信息豐富卻缺少語義信息,語義信息的缺少導致目標漏檢。FPN基于特征融合的思想,采用自頂向下的方式,將高層語義信息融入較低的層級中,實現(xiàn)低層特征語義信息的填充。然而經(jīng)過FPN特征融合之后的特征層表現(xiàn)出不平衡狀態(tài),高層特征仍然缺少空間信息[15],針對二分類的SAR圖像艦船檢測任務,本文提出了上下文融合模塊,將語義信息和空間信息融合,再經(jīng)過上下文信息提取,豐富特征層的信息表達。上下文融合模塊如圖3所示。
圖3 上下文融合模塊
首先采用自底向上的方式,從底層P3開始,將P3層與P4層進行特征融合,融合的特征經(jīng)過全局平均池化(Global Average Pooling,GAP)和Sigmoid運算后得到第1個注意力圖,它包含更高一層的語義信息,可以指導低層特征著重關注目標特征部分。以此類推,每兩層之間進行層級融合,利用得到注意力圖指導低層網(wǎng)絡重建特征,同時保持特征圖分辨率與P3層的大小一致,高分辨率層包含更多空間信息,有利于小尺寸目標的檢測。該模塊中的卷積特征以及融合后的特征通道數(shù)沿用了FPN的設計,均保持256通道數(shù)不變。層級融合是對每個像素點(x,y) 進行的操作,定義為
上下文信息描述了目標位置和其周圍區(qū)域的共性關系,在背景復雜的SAR圖像中,目標周圍區(qū)域可以提供有用的上下文信息,有利于檢測特征表達不明顯的目標。本文方法在層級融合之后,添加上下文提取網(wǎng)絡GCNet[16],將提取到的上下文信息進一步與其余層進行融合。GCNet是Non-local網(wǎng)絡[17]和SENet[18]的結合,通過全局注意力在目標區(qū)域建模,能輕量、高效地獲取空間上下文信息,可以應用于多層特征提取網(wǎng)絡中。GCNet包含上下文模塊(context module)和轉換模塊(transform module),如圖4所示。
圖4 GCNet結構
在上下文模塊中,C×H×W的特征經(jīng)過1×1卷積后,被重塑為HW×1×1,通過Softmax層可以獲得全局注意力圖,反映了每個位置的
由于SAR圖像中的復雜背景淹沒目標,造成目標區(qū)域的特征表達不明顯,進而影響檢測框的精準定位,因此,需要采用多任務檢測提高模型檢測框的精確度。本文提出分支交互(interacting branch)的多任務檢測,彌補檢測框定位準確性的不足。
圖2的檢測模型中,檢測階段輸出3個分支:分類分支是檢測框的類別置信度,回歸分支預測檢測框相對于真值框的偏移量,交并比分支預測的是檢測框和真值框之間的交并比。相比于FCOS的centerness分支,IOU分支使高質(zhì)量檢測框的類別置信度得到提升,只有類別置信度高,才可能回歸出高質(zhì)量檢測框??梢姺种еg是有關聯(lián)的,而FCOS的檢測階段卻是獨立檢測3個分支,勢必會降低三者之間的依賴性。因此,本文提出分支交互模塊,使用自注意力機制,使3個檢測分支互相作用,利用它們之間的關聯(lián)性優(yōu)化輸出的檢測框。具體的做法是:將分類分支和回歸分支的特征結合,利用自注意力模塊[19]重新排列結合后的特征,并將特征融入IOU分支,建立一個相互作用的分支結構。自注意力模塊獲取特征圖之間的聯(lián)系,可以選擇適用于各分支的特征,自注意力模塊如圖5所示。
圖5中自注意力模塊通過3個卷積核為1的不同卷積,將特征映射到f(x),g(x)和h(x)3個轉換特征中,然后將f(x)與g(x)進行乘積運算,利用Softmax函數(shù)對結果進行歸一化,得到相關系數(shù)矩陣,將矩陣同h(x)相乘再加上原始輸入的特征,輸出的特征是所有特征的加權平均值。自注意力模塊可表示為
圖5 自注意力模塊
其中,M為Softmax函數(shù)得到的相關系數(shù)矩陣,x表示輸入特征,o為最終輸出特征,相關系數(shù)矩陣M與h(x)相乘得到注意力特征,使用比例系數(shù)η平衡原始特征和注意力特征,η由網(wǎng)絡自主學習得到,不受人為因素干擾。
本文方法使用多任務損失訓練網(wǎng)絡模型,利用特征圖上的所有位置計算損失。為了平衡單階段目標檢測中的正負樣本,采用focal loss優(yōu)化分類損失,損失函數(shù)定義為
本文的實驗數(shù)據(jù)選擇SSDD數(shù)據(jù)集1),它是國內(nèi)首個公開的SAR圖像艦船檢測數(shù)據(jù)集,共有1160張SAR圖像,本文按照7:2:1的比例將數(shù)據(jù)集劃分為訓練集、驗證集和測試集。本文還使用SARShip-Dataset數(shù)據(jù)集2),驗證CI-Net方法的泛化能力,該數(shù)據(jù)集包括102景GF-3號SAR圖像與108景Sentinel-1 SAR圖像,共有43819張艦船分割圖[21]。兩種數(shù)據(jù)集中衛(wèi)星傳感器來源、空間分辨率、極化方式、輸入圖像大小、圖像場景等情況見表1。
表1 艦船數(shù)據(jù)集的基本信息
SSDD數(shù)據(jù)集來源于RadarSat-2, TerraSAR-X,Sentinel-1 3個衛(wèi)星傳感器,空間分辨率為1~15 m,代表SAR圖中每個像素對應實際地面大小為1 m×1 m至15 m×15 m不等。SAR-Ship Dataset數(shù)據(jù)集來源于GF-3, Sentinel-1衛(wèi)星,空間分辨率跨度相對較小。極化方式是指衛(wèi)星發(fā)射和接收無線電波的方式[22],兩種數(shù)據(jù)集均為水平極化(HH)、垂直極化(VV)與交叉極化(VH, HV)方式。此外,兩種數(shù)據(jù)集的圖像大小、場景均有所區(qū)別。
本文的所有實驗是在 Ubuntu16.04系統(tǒng)、GPU為NVIDIA GeForce GTX 1080Ti和內(nèi)存為11 GB 的計算機上進行,基于TensorFlow框架編寫程序。為加快模型收斂,使用ResNet_101的預訓練參數(shù)對網(wǎng)絡進行初始化。檢測框架初始學習率設為0.001,每40k次迭代,學習率衰減為當前的1/10,訓練過程中使用TensorBoard監(jiān)測訓練過程,經(jīng)過80k迭代后,網(wǎng)絡完全收斂,得到最優(yōu)的檢測模型。
為了評定不同檢測框架的檢測效果,選用PR曲線、平均精度(Average Precision, AP)、F1分數(shù)作為評估指標,三者均由準確率(Precision, P)和召回率(Recall, R)構成,精確率和召回率的計算采用Kang等人[23]的定義方式,即在交并比(Intersection Over Union, IOU)閾值為0.5,分類閾值為0.4時計算得出。這些指標越高,表明模型的檢測性能越佳。
本文選用FCOS算法作為基礎網(wǎng)絡,從準確率、召回率、平均精度、F1值、檢測速度等方面對CI-Net檢測模型進行定量化評價,其中檢測速度采用fps衡量,fps表示每秒內(nèi)算法可以處理的圖像幀數(shù)。模型實驗結果見表2。
從表2可以看出,F(xiàn)COS的平均精度為86.27%,F(xiàn)1值為88.54%,fps是23,盡管它將多層特征送入檢測階段,但是提取到的特征效果并不好,導致目標漏檢現(xiàn)象嚴重。本文方法的上下文融合模塊,將多層特征以一定的方式融合,召回率提高到92.23%,平均精度達到90.69%,其次由于只檢測一層信息豐富的特征,檢測速度更是提升至29,所以該模塊不僅使得檢測精度提高,檢測速度也有很大提升。將分支交互模塊單獨加至FCOS中,分支之間的相互作用使艦船目標被準確檢測,準確率達到了93.41%。最后,本文提出的CI-Net的方法,結合了上下文融合模塊和分支交互模塊,檢測性能取得最好的效果,平均精度為92.56%,F(xiàn)1值為93.14%,兩個評價指標均是最優(yōu)值,并且檢測速度依然很快,fps達到28。
表2 模型實驗結果
本文選用小目標數(shù)量居多和近海岸區(qū)域的SAR圖像,比較不同模塊的檢測效果,檢測結果對比如圖6所示。
圖6(a)為真值圖,圖6(b)為FCOS算法的檢測效果,可以看出FCOS算法針對海面小目標艦船,檢測效果不是很好,部分目標被漏檢,受近海岸區(qū)域建筑物、島嶼的影響,非艦船目標被誤檢為艦船,對岸邊復雜場景下的艦船定位不精準。圖6(c)為僅使用上下文融合模塊的檢測結果,圖6(d)為僅使用分支交互模塊的檢測結果,相比于FCOS算法,單獨使用這兩者,均可使檢測效果有一定的提升。圖6(e)為本文提出的CI-Net方法的檢測效果,該方法準確地完成對海面小尺寸艦船的檢測,艦船漏檢現(xiàn)象得到改善。其次,上下文信息的融合與分支之間的交互作用使算法更易區(qū)分目標與非目標,在港口、島嶼等復雜場景中,算法依然有很好的檢測效果。
圖6 檢測結果對比圖
為了直觀地理解上下文融合模塊對特征的增強效果,本文利用 Tensorboard 工具將訓練好的CI-Net模型中不同層的特征以及融合后的特征進行可視化,為方便對比各層特征,將每層特征圖調(diào)整至輸入圖像大小如圖7 所示。
在特征提取網(wǎng)絡中,低層網(wǎng)絡的感受野較小,空間位置信息表達能力強,但是缺乏語義信息,很難判別待檢測框所屬類別;深層網(wǎng)絡的感受野比較大,語義信息表征能力強,可是特征圖的分辨率低,缺乏空間細節(jié)特征。從圖7也可以看出,P3和P4層可以提取到艦船的空間位置信息,P5層空間信息減少,P6層甚至提取不到目標信息,可見高層特征并不利于小尺寸艦船的檢測,本文提出的上下文融合模塊,以自底向上的方式,將低層特征的空間信息與高層特征融合,重建特征至P3層分辨率大小,融合后的特征目標位置更加明顯。其次,針對大的艦船目標,高層特征語義信息表達能力強,可以判別待檢測框是否為艦船。因此,語義信息和空間信息的融合,確保了充足的目標信息用于后續(xù)的檢測,減少了艦船目標的漏檢現(xiàn)象。
圖7 上下文融合模塊特征可視化
為了驗證本文方法的有效性和實用性,將CINet與Faster R-CNN, RetinaNet以及DCMSNN方法作比較,不同方法在SSDD數(shù)據(jù)集上的檢測性能對比結果見表3。
表3中的Faster R-CNN是經(jīng)典的雙階段有錨框檢測算法,與CI-Net比較,并未有較好的檢測結果。RetinaNet是單階段算法,檢測速度快于Faster R-CNN,但其還是基于錨框的檢測,速度和精度都遜色于CI-Net。DCMSNN算法采用密集連接金字塔網(wǎng)絡,實現(xiàn)了特征的重用,檢測性能是三者中最好的,但是它無法快速地檢測艦船,不能滿足實時性要求。綜上所述,與其他方法相比,本文提出的CI-Net可以高精度高速度地檢測艦船。
表3 不同方法在SSDD數(shù)據(jù)集上檢測性能對比
為進一步地驗證本文所提方法的魯棒性和泛化能力,本文還將CI-Net與其他3種檢測方法在SARShip-Dataset數(shù)據(jù)集上進行了實驗,實驗結果見表4。
表4 不同方法在SAR-Ship-Dataset上檢測性能對比
從表4可以看出,在不同的SAR艦船數(shù)據(jù)集上,本文提出的CI-Net仍有較好的檢測效果,平均精度達到88.32%;與同為單階段檢測算法的RetinaNet相比,CI-Net檢測速度依然保持領先,fps為34。
P-R 曲線平衡了準確率(Precision)和召回率(Recall)的關系,曲線越靠近坐標(1,1)的位置,表示模型檢測準確率高且漏檢現(xiàn)象少。4種檢測方法在兩個數(shù)數(shù)據(jù)集上的P-R曲線如圖8所示。從圖中可以看出,在同一準確率下,本文方法的召回率基本是最高的,在同一召回率下,準確率也是最高的,相比于其他方法,本文方法的整體表現(xiàn)較優(yōu)異。
圖8 不同方法的P-R曲線圖
本文提出了上下文信息融合和分支交互的SAR圖像艦船無錨框檢測算法—CI-Net。首先,CINet算法摒棄了與錨框有關的復雜計算,使得算法的檢測速度有了很大的提升,其次模型可以自主訓練,不存在人為設置超參數(shù)的干擾。所以,無錨框的方式更適合SAR圖艦船數(shù)據(jù)集。為了提高算法的檢測精度,本文提出了上下文融合模塊與分支交互模塊,將提取到上下文信息的多層特征融合,使待檢測特征兼具語義信息和空間信息;分類分支指引回歸分支,優(yōu)化定位檢測框,利用IOU分支提高檢測框的質(zhì)量,極大地提高了模型的檢測性能。在公開的SAR艦船數(shù)據(jù)集上的實驗結果表明,本文算法在艦船檢測的速度和精度方面表現(xiàn)優(yōu)異,驗證了本文方法的有效性和實時性。