崔宗勇 王曉雅 施君南 曹宗杰 楊建宇
(1. 電子科技大學信息與通信工程學院,成都 611731;2. 上海無線電設備研究所,上海 200090)
遙感圖像中艦船檢測可以有效提高艦船運輸效率和減少海上交通事故,同時也是海洋監(jiān)視的重要組成部分. 合成孔徑雷達(synthetic aperture radar,SAR)圖像具有全天時、全天候的有利條件,在軍事及民用艦船檢測中發(fā)揮著重要的作用. 隨著SAR成像技術的發(fā)展,已經(jīng)可以獲取更高分辨率和更大尺寸的SAR圖像[1]. 然而復雜的近海背景和海面雜波、不同尺寸的艦船目標、密集排列的近岸??颗灤龋紩绊懪灤繕说臋z測性能[2-3]. 大場景SAR圖像艦船目標檢測已成為一項重要且具有挑戰(zhàn)性的研究任務.
目前,基于深度學習的目標檢測方法,由于不需要復雜的建模過程且泛化能力強,已經(jīng)成為SAR圖像艦船檢測領域的主流方向[4]. 該方法主要分為兩大類:1)兩段式目標檢測方法,包括基于區(qū)域的卷積神經(jīng)網(wǎng)絡(region-convolutional neural network, R-CNN)等[5];2)一段式目標檢測方法,例如,單發(fā)檢測器(single shot detector,SSD),“你只看一次”(you only look once,YOLO)等[5]. 文獻[6-7]中將兩段式檢測方法Faster R-CNN加以改進,并應用于SAR圖像艦船目標檢測. 文獻[8]提出一種R-CNN,應用上下文信息,將淺層位置特征和深層語義特征相結合,從而提高檢測效果. 文獻[9]采用密集連接的多尺度神經(jīng)網(wǎng)絡解決了多尺度和多場景SAR圖像艦船檢測問題.
上述方法均是基于錨框(anchor box)的檢測方法,由生成的特征圖上的這些錨框滑動提取n個候選矩形框做進一步的分類和回歸. 然而對于大場景SAR圖像中的艦船目標檢測,仍然存在一些問題. 首先大場景SAR圖像中目標所占比例較小,通常情況下大部分區(qū)域為背景區(qū)域,逐像素檢測會產(chǎn)生很多虛警,同時浪費計算資源[10];其次,大場景SAR圖像背景復雜,尤其是港口附近,碼頭和岸上建筑物對艦船目標的檢測干擾十分嚴重;同時,當艦船密集??繒r,不同艦船的錨框候選框重疊區(qū)域很大,在非極大抑制(non maximal suppression, NMS)操作下,部分目標被遺漏,難以實現(xiàn)目標區(qū)分. 這使得現(xiàn)有檢測算法很難有效檢測和定位所有艦船目標,尤其是密集排列艦船目標[11].
針對上述問題,本文提出一種基于CenterNet[12]的SAR圖像艦船目標無錨框(anchor free)檢測方法.在進行海陸快速分割的基礎上,采用CenterNet無錨框檢測器,將目標建模為一個點,并通過關鍵點估計來定位目標的中心點,最后由中心點的信息回歸得到目標邊界框來實現(xiàn)目標檢測. 相較于基于錨框的檢測方法,該方法無需NMS,從而有效避免了基于錨框的檢測方法可能存在的漏檢問題.
基于目標中心點回歸的大場景SAR圖像艦船檢測方法主要包含兩個環(huán)節(jié):一是海陸快速分割,實現(xiàn)陸地區(qū)域的部分篩除,減少內(nèi)陸區(qū)域?qū)ε灤繕藱z測的干擾,同時減少計算資源的浪費;二是基于CenterNet的艦船目標檢測,實現(xiàn)不同環(huán)境下的艦船精確檢測. 檢測方法整體流程如圖1所示.
圖1 大場景艦船檢測方法流程圖Fig. 1 The overall flowchart of the proposed ship detection method in large scene images
大場景SAR圖像尺寸較大(超過一百萬像素),一般不能直接輸入到現(xiàn)有的神經(jīng)網(wǎng)絡中. 同時艦船目標所占比例較小且稀疏分布,更多為背景區(qū)域. 將不含目標的背景區(qū)域送入繁重的檢測器極大增加了神經(jīng)網(wǎng)絡的計算負擔[13].
海陸快速分割,是指將確定不含有艦船目標的遠岸全陸區(qū)域篩除. 若切片中含有部分海域,將其分類為海域,用于后續(xù)的艦船目標檢測. 首先對大量SAR圖像切片(400×400)進行海陸快速分割,圖2展示了不同尺度下選取不同閾值對于檢測精確率(圖2(a))和檢測準確率(圖2(b))的影響. 可以看出,檢測切片邊緣40×40的像素(高度和寬度的10%)以像素值的60%為閾值,可以很好地將海域切片和陸地切片分類,且效率最高.
圖2 不同尺度和閾值條件下的交叉驗證結果Fig. 2 Cross validation results with different scales and thresholds
這種結構具有兩個優(yōu)點:1)目前其他的海陸分類方法都需要數(shù)據(jù)集來進行訓練[14-15],而海陸快速分割步驟可以篩選出非候選區(qū)域,無需訓練和大量計算. 許多區(qū)域中沒有有效的目標,將其切除不需要后續(xù)的特征提取和分類檢測,大大提高了檢測速度和準確性. 2)大而復雜的背景區(qū)域可能會導致更多的虛警,通過海陸快速分割首先將這些虛警過濾掉. 如陸地建筑區(qū)域具有與艦船相似的像素特征,即使海陸粗分類未正確分類,后續(xù)檢測器還會對最終的測試結果進行校正.
首先對切片進行二值化處理(式(1)),并檢測切片邊緣40×40像素.
式中,ui,j為圖像二值化后位置(i,j)處的像素值. 只要Ti=1,切片即被判定為海域切片,否則被判定為陸地切片,且不會輸入到檢測器中.
海陸快速分割結果示例如圖3所示,(a)為純海域切片;(b)為港口區(qū)域,既含有陸地又含有海域;由于港口位置可能有艦船的存在,其被判定為海域;(c)為純陸地切片,由于不含有艦船目標,因此判定為陸地切片,并且不送入后續(xù)的檢測器.
圖3 海陸快速分割示例Fig. 3 Example of fast segmentation of land and sea
本文采用CenterNet來檢測艦船目標. CenterNet將目標建模為一個點,只需為每個目標提取一個中心點,無需進行分組或后處理,可以有效解決密集??康呐灤瑱z測問題[12].
1.2.1 損失函數(shù)
本文目標檢測方法和傳統(tǒng)基于錨框的檢測方法不同,損失函數(shù)分為三個部分:關鍵點估計的損失函數(shù)Lk,下采樣造成偏移的損失函數(shù)Loff和目標尺寸估計的損失函數(shù)Lsize. 總的損失函數(shù)如下:
關鍵點估計的損失函數(shù)Lk為
式中:N是輸入圖像I中關鍵點的數(shù)量;Yxyc=是生成熱圖的高斯核,σp是目標尺度自適應標準偏差;α和β是focal loss的超參數(shù),α=2和β=4.
1.2.2 基于中心點回歸的目標檢測
目前大多數(shù)目標檢測器會列出潛在目標位置,并對每個目標進行分類. 這種類型方法嚴重依賴于計算量大的超參數(shù)(例如錨框和閾值)的設計,同時需要后處理即NMS來獲得最終的檢測結果,但這種后處理很難進行區(qū)分和訓練. CenterNet用邊界框的中心點來表示目標,通過關鍵點估計找到中心點,并利用中心點位置特征來獲取目標的大小信息,無需預先設置錨框,大大減少了網(wǎng)絡參數(shù)和計算量.CenterNet將圖像輸入到全卷積網(wǎng)絡以生成熱圖,然后進行篩選以獲取最終的目標中心點. 峰值處的圖像特征可以預測目標邊界框的長度和寬度. 基于中心點檢測艦船目標的實現(xiàn)原理如圖4所示,其中DLA為全層卷積網(wǎng)絡深層聚合.
圖4 基于中心點檢測艦船目標Fig. 4 Detecting ship targets based on the center point
假設I∈RW×H×3是一寬度為W、高度為H的圖像,將其輸入網(wǎng)絡DLA-34[16]后獲得服從∈[0,1]WR×HR×C分布的關鍵點熱圖,其中R是輸出步長,C是關鍵點類別數(shù)量,且R=4,C=1.=1對應于檢測到的中心點;=0則 表示背景. 如果 (x1,y1,x2,y2)是目標邊界框的位置信息,則其中心點. 從中心點的位置信息可以獲得目標的其他信息,通過預測所有中心點并進行回歸從而獲得目標大小. 中心點的值用作其置信度信息,其位置的回歸用于獲取邊界框的大小. 位置坐標為
針對大場景SAR圖像艦船目標檢測問題,本文采用基于CenterNet網(wǎng)絡結構的方法來實現(xiàn)海陸快速分割及艦船目標精確檢測. 為驗證該方法性能,利用公共數(shù)據(jù)集SAR-ship-Dataset進行實驗,并將該方法與當前SAR圖像艦船目標檢測方法進行比較,以驗證本文所提方法的有效性;最后又對該方法在大場景中的有效性進行驗證.
SAR-ship-Dataset是中國科學院發(fā)布的多源、多模式SAR船舶數(shù)據(jù)集[17]. 它包含102張高分3圖像和108張哨兵1號圖像,在43 819張切片中共包含59 535只艦船. 與之前普遍使用的公開數(shù)據(jù)集SSDD[7]相比,原始SAR圖像的信息更加豐富,具有多種分辨率、多種艦船場景和極化模型,且數(shù)量上遠遠多于SSDD數(shù)據(jù)集的1 160張. 這些信息為基于神經(jīng)網(wǎng)絡的SAR圖像艦船目標檢測提供了更有利的條件.
對于大場景SAR圖像中的艦船目標檢測,應用哨兵1號中一些具有不同極化方法VV和VH的典型切片,大場景SAR圖像的原始像素值分別為12 556×6 652和10 633×7 007.
為評估網(wǎng)絡的檢測性能,按照COCO數(shù)據(jù)集上的評估協(xié)議,將平均精度(average precision, AP)中的Pa,50,Pa,75,Pa,Pa,m和Pa,1用作指標,其中Pa,m表示中等目標的平均精度. 因為僅檢測一種類別艦船,所以所有目標的平均精度MAP=AP,最重要的指標是pa,50.精度(precision)定義為
召回率(recall)定義如下:
式中:nTP是正確檢測到的艦船數(shù)量;nFP是虛警的艦船數(shù)量;nFN是漏檢的艦船數(shù)量.
平均精度MAP定義為
首先將數(shù)據(jù)集按照8:1:1的比例隨機劃分為訓練集、驗證集和測試集. 網(wǎng)絡輸入分辨率為512×512,為所有圖像產(chǎn)生128×128的輸出分辨率. 同時使用隨機翻轉(zhuǎn)、隨機縮放(介于0.6~1.3)、裁切和顏色抖動的操作來增強數(shù)據(jù),Adam操作用于優(yōu)化總體目標.學習速率設置為1.25×10?4,批處理大小設置為16,迭代次數(shù)設為100次. CenterNet檢測網(wǎng)絡的主干使用DLA網(wǎng)絡,其是具有分層跳過連接的圖像分類網(wǎng)絡,使用迭代深度聚合來增加特征圖的分辨率. 該文中同時使用可變形卷積替代上采樣層中的原始卷積,使用ImageNet預訓練初始化DLA-34的下采樣層,而隨機初始化上采樣層. 該文方法可在Intel Core i7-6700HQ CPU和Nvidia Geforce GTX 1080Ti GPU的電腦上利用pytorch 0.4.1,CUDA 9.0和CUDNN 7.1實現(xiàn).
為充分測試本文所提方法在SAR圖像艦船檢測上的性能,本節(jié)實驗將從普通場景和大場景SAR圖像兩個方面加以驗證. 普通場景實驗所用SAR圖像尺寸較小,包含背景較為簡單的海域以及背景比較復雜的港口區(qū)域;大場景實驗所用SAR圖像像素個數(shù)近億,并包含陸地、港口和海面區(qū)域.
2.4.1 普通場景SAR圖像艦船檢測結果與分析
在艦船檢測實驗中,將基于CenterNet的SAR圖像艦船目標檢測方法與現(xiàn)有方法,如Yolov3、SSD、改進Faster R-CNN等進行比較[18],結果如表1所示. 將CenterNet用于SAR圖像艦船目標檢測后的MAP達到92.4%,高于目前最優(yōu)的檢測方法. 圖5所示為Yolov3及CenterNet對真實地物信息檢測結果與真實場景的對比結果. 可以看出,以圖5(a)中的艦船目標為參考,圖5(c)中CenterNet在海面上艦船目標的檢測中有良好的檢測結果,有效減少了虛警和漏檢.
表1 不同方法檢測性能對比與統(tǒng)計Tab. 1 Comparison and statistics of different methods detection performance
圖5 海面艦船目標檢測結果Fig. 5 Ship target detection results in sea area
同樣值得一提的是,隨著網(wǎng)絡結構的深化,具有較少目標像素的小型艦船目標可能會丟失. 原因是CNN方法在卷積過程中需要大量下采樣以減少冗余,并減少計算量. 該文中CenterNet方法只需要進行4次下采樣,更有利于小型艦船目標的檢測. 圖6所示為CenterNet對近岸密集??颗灤繕伺灤瑱z測結果與真實場景的對比結果. 可以看出,CenterNet對于岸邊密集??康呐灤辛己玫臋z測結果. 這是因為CenterNet將目標建模為中心點,回歸得到邊界框,無需NMS.
圖6 近岸密集??颗灤繕薈enterNet檢測結果Fig. 6 CenterNet target detection results of densely docked ships near shore
在公開數(shù)據(jù)集SAR-ship-Dataset上對本文所使用神經(jīng)網(wǎng)絡CenterNet進行驗證,結果如圖7所示. 可以看出,看出本文的神經(jīng)網(wǎng)絡在新的數(shù)據(jù)集上仍有較好的檢測效果,再次驗證了本文方法的有效性.
圖7 數(shù)據(jù)集SAR-ship-Dataset中的CenterNet檢測結果Fig. 7 CenterNet test results in the dataset SAR-ship-Dataset
2.4.2 大場景SAR圖像艦船檢測結果與分析
該文將海陸快速分割和CenterNet神經(jīng)網(wǎng)絡級聯(lián)成一個網(wǎng)絡框架,用于大場景SAR圖像的艦船目標檢測. 利用哨兵1號切片對CenterNet與Yolov3方法在大場景艦船的檢測性能進行比較,結果如表2所示. 表3為海陸快速分類的效果,表中Pre表示是否海陸快速分割. 從表2和表3可以看出,該文所提出的方法對于大場景SAR圖像中的艦船檢測是有效的. 海陸快速分割使得檢測精度提高了約10%,Centernet使得檢測精度提高約4%. 與其他大型模型(例如ResNet-101)相比,DLA-34使得網(wǎng)絡的推理時間更少,且提取的用于檢測的特征更加強大.
表2 CenterNet與Yolov3方法在大場景艦船檢測性能的比較Tab. 2 Comparison of CenterNet and Yolov3 on large scene ship detection performance
表3 海陸快速分割的效果Tab. 3 Effects of partial land and sea segmentation
本文所提方法在沿岸或其他更復雜的場景中也具有很好的性能. 沿海地區(qū)的許多明亮區(qū)域與艦船目標相似,會引起嚴重的虛警問題;其次內(nèi)陸地區(qū)的居民區(qū)也造成了一些干擾. 對于艦船目標,內(nèi)陸地區(qū)的檢測會造成計算資源的浪費. 本文采用海陸快速分割和CenterNet神經(jīng)網(wǎng)絡結合的方法對尺寸為12 556×6 652大場景的陸地區(qū)域和近岸區(qū)域進行檢測,結果如圖8所示,中間部分為實際場景. 上部是應用Yolov3網(wǎng)絡且沒有海陸預分類的檢測結果,可以看出陸地區(qū)域和近岸區(qū)域有許多虛警;下部是海陸快速分割和CenterNet神經(jīng)網(wǎng)絡結合方法的檢測結果,從放大區(qū)域的對比可以看出,陸地上虛警大大減少,近岸區(qū)域的虛警也相應減少. 由于大場景SAR圖像的尺度很大,目標所占比例很小,陸地區(qū)域多,海陸分割是必要的,不僅可以減少計算量,提高檢測速度,還可以有效減少內(nèi)陸地區(qū)的虛警.
圖8 本文方法對12 556×6 652大場景SAR圖像的檢測結果Fig. 8 Detection results in large scene SAR images with size of 12 556×6 652
圖9為尺寸為10 633×7 007大場景SAR圖像應用本文方法對艦船的檢測結果. 從圖中放大的兩個部分可以看出本文所提出的方法在近岸及遠海區(qū)域都有很好的檢測效果.
圖9 本文方法對10 633×7 007大場景SAR圖像的檢測結果Fig. 9 Detection results in large scene SAR images with size of 10 633×7 007
以上實驗結果表明,對于大場景SAR圖像中的艦船檢測,本文方法在檢測性能和檢測效率上均具有優(yōu)勢,在一定程度上解決了大場景SAR圖像艦船目標檢測輸入圖像尺寸過大、計算量大以及虛警多的問題.
為解決大場景SAR圖像中的艦船檢測問題,首先提出了一種海陸快速分割方法,將大場景SAR圖像切片解決了神經(jīng)網(wǎng)絡中輸入尺寸過大,背景區(qū)域較多產(chǎn)生計算資源浪費的問題. 隨后將候選切片輸入CenterNet網(wǎng)絡中進行目標檢測. CenterNet與基于錨框的方法不同之處在于:它通過關鍵點估計來定位目標的中心點,從而可以有效減少在大場景SAR圖像中遺漏艦船目標的情況. 同時CenterNet無需NMS,對近岸區(qū)域密集??康呐灤繕擞泻芎玫臋z測效果.
在SAR-ship-Dataset上的實驗結果表明,該方法在SAR圖像艦船檢測中MAP達到了92.4%,證明該方法比其他現(xiàn)有艦船檢測方法(Faster R-CNN,SSD,YOLO等)具有更好的性能,可以有效減少虛警. 但對于復雜的背景,需要進一步的分析和研究.