魏松杰, 蔣鵬飛, 袁秋壯, 劉梅林
(1.南京理工大學 計算機科學與工程學院, 南京 210094; 2.上海衛星工程研究所, 上海 200240)
我國是一個海岸線長、海洋面積廣、海洋資源富饒的大國,周邊國家非法入侵管轄海域從事非法捕撈、監聽等活動,使我國面臨著海洋安全和領土權益受到威脅等問題。因此,對海上目標進行檢測和識別具有十分重要的現實意義。星載合成孔徑雷達(SAR)由于其不受氣候、觀測時段的影響,能全天時、全天候、高分辨率、大幅面對地觀測,已經在海洋監測和海上交通監測中發揮著越來越重要的作用[1]。
傳統的SAR艦船檢測方法如恒虛警率(constant false alarm rate,CFAR)[2]檢測算法,主要利用手工設計的特征來檢測海陸分割后的艦船目標,但是這種方法的缺陷是對近海目標的識別性能較差,難以排除冰山、小島等虛警。此外,SAR圖像中存在散斑噪聲和運動模糊,導致艦船間差異較大,這也讓傳統的SAR艦船檢測方法提取有效的特征變得困難。
近年來,隨著深度學習的快速發展,深度卷積神經網絡(convolutional neural networks, CNN)在圖像分類[3]、目標檢測[4]、語義分割[5]等諸多計算機視覺任務中取得了巨大成功。許多專家和學者開始利用深度神經網絡來完成計算機視覺任務中的目標檢測問題。Girshick等人將目標檢測問題轉化為分類問題,相繼提出了R-CNN[6]和fast R-CNN[7]目標檢測方法。由于fast R-CNN候選區域的提取仍然是在CPU上進行的,速度較慢,Ren等[8]提出了faster R-CNN方法,引入了區域建議網絡(region proposal network, RPN)取代傳統的區域提取方法,借助CNN來完成候選區域的提取,并且將RPN和fast R-CNN共享全圖卷積特征,大大提高了模型的檢測效率。
當涉及對同一類不同尺寸的目標進行區分時,現有基于深度神經網絡的分類模型無法達到良好的分類效果。SAR圖像成像距離較遠,圖像中艦船目標視覺特性較弱、尺寸較小,一般在幾個到幾十像素之間,屬于典型的弱小目標,不能用現有的目標檢測模型直接進行檢測,因為用于特征提取的卷積神經網絡是一種層級網絡,隨著層數的加深,提取出的目標特征圖會變得越來越抽象化,可供利用的有效信息非常有限。
針對上述問題,本文首先從歐空局官網下載了世界多個港口的Sentinel-1 SAR圖像,并建立了SAR艦船目標數據集。然后設計并預訓練了一個用于SAR圖像艦船小目標識別的CNN分類模型,通過使用較小尺寸的卷積核和較少的網絡層數,對輸入的小目標圖像進行一系列的卷積和池化操作,實現對目標有效的特征提取。最后針對現有faster R-CNN在檢測小目標精度下降的問題,利用設計的分類模型對現有faster R-CNN進行了改進,并將特征金字塔網絡FPN融合進faster R-CNN以實現對小目標特征的有效提取。實驗結果表明,本文提出的改進faster R-CNN模型在SAR圖像艦船小目標具有較好的檢測和分類效果。
由于卷積神經網絡必須使用大規模標記好的訓練樣本對網絡進行訓練,而本文所采集的數據集規模還是太小,不足以使網絡很好收斂。為了能在訓練樣本較少的情況下訓練得到一個能有效提取目標特征、分類效果好的CNN模型,本文借助“遷移學習”[9]方法,先用與待檢測的艦船目標相近的MSTAR數據集[10]訓練得到CNN分類模型,再用該模型的參數對目標檢測網絡中特征提取層的參數進行初始化,以加速網絡的收斂。
本文設計的SAR艦船CNN分類模型如圖1所示,輸入圖像大小為n×n×1,網絡結構包含卷積層3個,max pooling層2個,全連接層2個,最終輸出c類預測結果。其中卷積層參數和池化層如表1所示。第一層全連接層包含512個神經元,第二層全連接層包含n(類別數)個神經元,均不使用激活函數。最終利用softmax分類器得到類別概率。

圖1 SAR艦船CNN分類模型

表1 SAR艦船CNN分類模型卷積層參數
為實現對SAR圖像中艦船這類弱小目標進行快速、準確地檢測,本文基于faster R-CNN設計了一個改進的目標檢測模型。圖2是本文設計的目標檢測模型的網絡結構,該模型由一個基于全卷積的區域建議網絡(region proposal network, RPN)和一個基于區域的目標檢測網絡fast R-CNN兩部分組成。其中,區域建議網絡主要用來高效地生成不同尺度和長寬比的候選區域,目標檢測網絡對區域建議網絡提取的這些候選區域進行分類和位置的回歸,最終通過非極大值抑制算法(non-maximum suppression, NMS)篩選出一個置信度最高的候選框作為檢測結果。該模型使用本文設計的CNN分類模型的前3層卷積層作為區域建議網絡和目標檢測網絡的共享特征提取層,其中,共享特征提取層融合了FPN網絡結構,用于提取多尺度特征,提高小目標識別準確率。

圖2 SAR艦船小目標檢測模型架構
2.2.1 RPN網絡
RPN網絡機制是在共享特征提取層的最后一個卷積層后添加了滑動窗口操作、映射卷積層以及分類和回歸2個全連接層。首先用一個n×n的小網絡在共享特征提取層產生的特征圖上進行滑動操作,然后將特征圖上每個滑動窗口對應的區域通過映射卷積層映射成一個特征向量,該特征向量經過分類層和回歸層分別輸出每個滑動窗口的類別得分和回歸后的位置坐標信息,最終對候選區域進行NMS操作后輸出得分靠前的前N個區域作為目標檢測網絡的輸入。
本文在設計時,采用的滑動窗口大小為3×3,雖然尺寸不大,但是能夠感知到很大范圍的感受野。由于共享特征提取層最后一層卷積輸出的特征圖為256個,因此,每個滑動窗口區域通過映射卷積層映射到一個256維特征向量。為每個滑窗區域的中心點生成k個不同尺寸和邊長的anchor,這樣做的目的是保證候選區域質量的同時也能保證其數量。將得到的256維特征向量輸入到位置回歸層reg layer和分類層cls layer,分別用于回歸滑窗區域產生位置信息和區域是前景和背景的得分,由于每個滑窗產生k個候選區域 ,因此回歸層產生4k個位置信息(x,y,w,h)和2k個得分(前景和背景)。
為適應艦船這類小目標,本文經過多次實驗最終采用3種最佳尺度(64×64,128×128,256×256),3種最佳長寬比(1∶1,1∶2,2∶1)來生成9種anchor,以適應不同大小、不同長寬比的目標。
2.2.2 目標檢測網絡
目標檢測網絡主要用來對RPN網絡提取出的候選區域進行分類識別和位置精修,并輸出最符合要求的候選區域位置信息和類別。目標檢測網絡的結構如圖2虛線框部分所示,在共享特征提取層后加入RoI(region of interest)池化層,將RPN網絡生成的候選區域在卷積特征圖上的映射區域統一到相同大小,然后接一個全連接層得到RoI特征向量,最后輸入到2個并行的層-分類層和回歸層,得到分類結果和每類目標的位置信息。
2.2.3 FPN特征提取
為了解決多尺度檢測的問題,文獻[11]引入了特征金字塔網絡(feature pyramid networks, FPN),將FPN作為多尺度目標特征提取器,融合進faster R-CNN中,實現了對多尺度目標尤其是小目標的有效檢測。因此,本文首次將FPN與faster R-CNN融合的算法應用到SAR圖像艦船小目標檢測中,以提高對艦船小目標的檢測準確率。
如圖3所示,FPN是為了自然地利用CNN層級特征的金字塔形式,同時生成在所有尺度上都具有強語義信息的特征金字塔。所以FPN的結構設計了top-down結構和橫向連接,以此融合具有高分辨率的淺層layer和具有豐富語義信息的深層layer。這樣就實現了從單尺度的單張輸入圖像,快速構建在所有尺度上都具有強語義信息的特征金字塔,同時不產生明顯的代價。

圖3 FPN網絡結構
2.2.4 損失函數設置
由于RPN網絡和目標檢測網絡都有位置回歸和分類兩部分,因此本文設計的目標檢測模型訓練采用多任務學習的方式,總損失等于目標檢測網絡損失(Lc)和RPN網絡損失(Lp)兩部分之和。目標檢測網絡損失函數的計算形式和RPN網絡一致,唯一區別是候選窗口的個數不同,故在此不再贅述。

(1)

(2)

(3)

為驗證本文提出的基于深度學習神經網絡的目標檢測模型針對SAR圖像水面小目標自動檢測的準確性和可行性,在深度學習開源庫Caffe環境中實現深度卷積神經網絡目標檢測模型。實驗的工作站采用64位Ubuntu 16.04操作系統,處理器為Intel Xeon(R) CPU,型號為E5-1620 v2 @ 3.70 GHz,內存大小為16 GB,獨立顯卡型號為Nvidia Quadro K2200/4GB。
目前還未有大規模完善的SAR圖像艦船目標標準數據集可供使用,這對面向SAR艦船目標檢測的深度神經網絡模型訓練帶來了較大的困難。為了保證實驗順利進行,本文自行收集并建立了SAR圖像艦船目標數據集。本文所采集的數據集為歐空局(European Space Agency,ESA)官網提供的Sentinel-1對地觀測衛星所拍攝的世界知名港口的SAR衛星圖像,數據集共包含21張原始SAR圖像,成像模式為寬幅干涉模式(IW),距離分辨率為5 m,每張圖像尺寸為26 019×16 706。
由于原始圖像尺寸過大,目標檢測網絡無法處理分,因此,本文從每張原始SAR圖像中截取若干張尺寸為1 022×761的子圖像作為訓練數據,并通過翻轉、平移等方式對圖像數據進行擴充,最終得到2 400張質量較好的子圖像,每張子圖像包含約1~20個艦船目標不等,共11 248個艦船目標。對其中2 000個艦船目標樣本像素數進行統計表明,每個目標的尺寸在40像素到260像素之間,并使用圖像標注軟件LabelImg對這些子圖像中目標的坐標和類別進行了標記。訓練圖像中包含了尺寸不一的船只,還包含島嶼、港口等干擾因素。
3.3.1 訓練設置
為了驗證提出的小目標檢測模型對SAR艦船目標檢測的性能,本文進行了2組實驗,第一組是不對艦船目標按尺寸分類情況下的目標檢測實驗,第二組是區分大船和小船類等不同類型的情況下的目標檢測實驗。其中,對艦船目標像素分布的統計表明,約70%的艦船目標像素小于80,在實際場景中艦船的尺寸約為125 m×15 m,因此,本文將小于80像素的目標劃分為小船類,大于80像素的目標劃分為大船類。
本文對數據集的劃分方式為將70%的圖像劃分為訓練集,共1 680張圖像,7 647個艦船目標,剩下的30%的圖像劃分為測試集,共720張圖像,3 601個艦船目標。
目標檢測模型訓練采用端到端的方式,權值更新方式采用自適應學習率的Adam方法,網絡中共享特征提取層的參數利用訓練好的CNN分類模型中的特征提取層參數來初始化,訓練模型的初始學習率為0.001,為了使網絡逐步收斂,每隔1萬次迭代將學習率衰減10倍,訓練迭代次數為4萬次。
3.3.2 不分類情況下的實驗結果與分析
1) SAR艦船目標檢測模型上檢測結果分析
為分析本文算法的檢測效率和檢測性能,分別選取經典的雙參數CFAR檢測算法、基于局部K分布的CFAR檢測算法和原始faster R-CNN算法(ZF-Net網絡)做比較。本文采用劃分好的測試集對訓練得到的SAR艦船目標檢測模型進行性能評估,。測試集共有720張圖像數據,共包括3 601個艦船目標。對這些SAR圖像艦船目標的檢測結果統計如表2所示。

表2 測試集艦船目標檢測結果
由表2可知,作為對比實驗的3個檢測算法雖然正確檢測到的艦船目標個數較多,精確率較高,但是漏檢目標要明顯多于本文提出的算法,而本文提出的改進faster R-CNN模型共正確檢測到3 302個艦船目標,有299個目標未被檢測到,召回率達到91.7%,檢測效果良好,無論是精確率還是召回率均比原始faster R-CNN模型要高,說明本文提出的改進faster R-CNN模型對于艦船這類弱小目標具有良好的檢測效果。此外,作為對比的雙參數CFAR和局部K-CFAR對單張圖片的檢測時間高達20~30 s左右,而本文提出的模型對單張圖片的檢測時間僅為0.16 s,檢測速度較傳統的目標檢測算法有了大幅度提升。
2) SAR艦船目標檢測模型泛化能力評估
為了驗證提出的目標檢測模型的泛化能力,本文從歐空局官網又下載了另外一個港口的Sentinel SAR圖像,并截取了2張子圖像進行了測試,測試結果如圖4所示。由圖4左圖可知,該圖共5個目標,共檢測出3個,另外2個未檢測出的原因是一個目標過小,一個是艦船拖尾痕跡嚴重,導致模型無法判斷;圖4右圖共7個目標,共檢測出6個,另外一個未檢測出的原因是目標過小。因此我們可以推測,當目標過小或者目標質量不高均有可能導致無法檢測。

圖4 SAR艦船目標檢測模型測試圖像(不分類)
3.3.3 分大船小船類情況下的實驗結果分析
1) SAR艦船目標檢測模型上檢測結果分析
本組實驗仍使用上一個實驗的數據集,不同之處是對數據集進行了重新標注,把SAR圖像數據中的艦船目標分成了大船和小船2類。經統計,數據集中共11 248個艦船目標,標注的大船為4 156個,小船為2 192個。其測試集中共3 601個艦船目標,大船為1 405個,小船為2 196個。對SAR艦船目標檢測模型了新訓練,改進得到的faster R-CNN模型和原始模型(ZF-Net網絡)在測試集上的檢測結果如表3所示。

表3 測試集大小船目標檢測結果
對艦船目標分類之后訓練得到的改進faster R-CNN模型能正確檢測并分類出1 405個大船中目標的1 288個,檢測率為91.7%,能正確檢測并分類出2 196個小船目標中的2 036個,準確率為92.7%,總體平均檢測準確率為92.2%,對于分類的艦船小目標檢測效果明顯比原始faster R-CNN模型要好。
2) SAR艦船目標檢測模型泛化能力評估
對分類之后訓練得到的模型也同樣進行了泛化能力評估。首先從未在數據集出現的其他港口的SAR圖像中截取4張子圖像進行了測試,測試結果如圖5所示,框上方標注MC的代表誤分類的目標,標注了FN的代表漏檢目標,標注了FP的代表誤檢目標,其余框中的代表模型正確檢測到的目標。4張測試圖像共包含29個艦船目標(13大16小),模型共正確檢測并分類識別出27個目標。右上圖像中漏檢了1個小船目標,經分析是因為尺寸過小模型無法識別,左下圖誤將大船目標分類為小船,是因為該目標尺寸介于大船和小船之間,右下誤將小島檢測為小船目標,因小島和小船特征輪廓較為相似??梢钥闯觯疚脑O計的目標檢測模型在分類情況下基本能準確地檢測并識別出不同尺寸的船只,具有較強的泛化能力。

圖5 SAR艦船目標檢測模型測試圖像(分大小船)
本文針對SAR圖像艦船目標尺度較小、干擾因素較多、現有目標檢測模型無法直接檢測等問題,提出了一種改進的基于faster R-CNN的SAR圖像艦船小目標檢測模型?;谏疃葘W習技術設計并訓練了專門用于識別艦船這類弱小目標的CNN模型,并將訓練好的CNN模型對目標檢測模型進行參數初始化,最終得到訓練后的目標檢測模型。仿真實驗結果表明,本文提出的改進的faster R-CNN目標檢測模型對于艦船這類弱小目標具有較強的檢測識別性能,所設計的SAR艦船小目標分類模型能正確識別并提取出不同尺寸船只的特征,具有較好的變尺度識別能力,同時能抵抗住島嶼、港口能諸多干擾因素并正確檢測到艦船目標,在工程應用上具有一定的參考價值。