張 馳, 王 朝, 盛 輝
衛星視頻艦船目標檢測方法
張 馳1, 王 朝2, 盛 輝1
(1. 中國石油大學(華東)海洋與空間信息學院, 山東 青島 266580; 2. 青島市勘察測繪研究院, 山東 青島 266000)
艦船目標檢測是進行海上目標監管, 保障海上權益的重要手段。本文在SSD(single shot multibox detector)算法的基礎上, 利用殘差網絡(ResNet, residual network)作為骨干網絡構建SSD模型, 將改進后的SSD算法應用于衛星視頻艦船目標檢測, 該算法采用殘差連接替換原本的級聯方式, 加強前后特征之間的聯系, 減少模型參數, 在保證檢測精度的同時提高檢測速度。在本文構建的數據集上進行實驗, 結果表明, 改進后的SSD算法在測試集上的均值平均精度(mAP, mean average precision)為93%, 比原始SSD算法提高了5.31%, 充分證明了該方法對于提升SSD模型性能的有效性。使用“吉林一號”視頻03星圖像進行驗證, 結果表明, 該算法能夠較準確地檢測到艦船目標, 可為海上復雜環境條件下的艦船實時檢測提供參考。
衛星視頻; 目標檢測; 艦船; 深度學習
海面是重要的經濟區域, 在軍事和民用領域具有顯著的地位。艦船是海上交通運輸以及裝備的主要載體, 對其進行快速和精確的檢測在沿海監管和防御等領域具有重要意義[1]。視頻衛星作為一種新型的對地觀測衛星, 與傳統遙感衛星相比, 其最大的特點是可以對某一區域進行“凝視”觀測, 以“視頻錄像”的方式實時獲取動態信息, 并實時傳輸至用戶, 特別適于監視動態目標, 分析目標位置變化特性[2]。
傳統視頻目標檢測方法主要有幀間差分法、背景建模法、光流法等。Kopsiaftis等[3]針對Skysat-1衛星視頻, 利用背景差分法將當前幀與背景模板進行計算得到待檢測目標, 檢測完整度為80%, 精度為80%, 但是難以適應海量數據。張過等[4]利用“吉林一號”衛星視頻數據, 在經典算法隨機鄰域和區域匹配法的基礎上, 結合光流法的運動矢量輔助并加以精化處理取得較好的效果, 但是光流法計算量較大, 很難應用到遙感衛星視頻目標的實時檢測中。
隨著目標檢測在計算機視覺領域的發展, 各類硬件水平不斷提高, 基于深度學習的目標檢測方法逐漸成為主流, 主要算法有Faster RCNN[5], YOLO[6](you only look once)和SSD[7](single shot multibox detector)等。近年來, 將深度學習類目標檢測算法用于遙感視頻衛星的研究也越來越多, 例如, 張作省等[8]結合遙感影像特點對YOLOv2網絡結構進行改進, 首次將深度卷積神經網絡應用于凝視視頻衛星目標檢測, 填補了光學視頻衛星成像領域目標檢測方案的技術空白; 劉貴陽等[9]使用改進的YOLO模型和內容一致性檢測模型, 利用視頻數據中相鄰幀之間內容的相似性降低精確檢測的次數, 在保證檢測精度的前提下, 提高了視頻數據的檢測效率。將深度學習用于視頻衛星目標檢測主要面臨兩個問題: 一是需要大量的待檢測目標樣本, 二是計算量大導致其檢測速度可能無法滿足實時性的要求。
本文結合視頻衛星數據的特點, 將目前在傳統圖像目標檢測中性能較為優異的SSD算法用于衛星視頻艦船目標檢測, 并進行改進, 在本文構建的艦船數據集上進行實驗并分析實驗結果, 最后利用“吉林一號”衛星視頻數據進行驗證。結果表明, 改進后的SSD算法在保證準確度的同時, 提高了艦船目標檢測效率。
1.1.1 模型結構
SSD算法模型結構如圖1所示, 輸入圖像大小為300×300, 采用VGG16[10]作為基礎網絡, 保留了VGG16的卷積層部分用于特征提取, 并將VGG16的兩個全連接層轉換為了普通的卷積層(Conv6和Conv7), 之后又加了多個卷積層(Conv8_1, Conv8_2, Conv9_1, Conv9_2, Conv10_1, Conv10_2), 最后用一個全局池化層來變成1′1的輸出(Conv11_2)。
1.1.2 多尺度特征圖
SSD算法采用多尺度特征圖進行檢測, 選取Conv4_3, Conv_7, Conv8_2, Conv9_2, Conv10_2, Conv11_2這些大小不同的卷積塊作為預測特征層, 進行多尺度目標檢測。較淺的特征層由于感受野較小, 主要用于檢測小目標; 而較深的特征層感受野較大, 主要用于檢測大目標。如圖2所示, 對于每一個預測特征層采用不同個數的3×3大小的卷積核計算類別得分和邊界框回歸參數, 分別對應圖2中的conf和loc, 其中, Δ(c,c,,)表示邊界框的中心坐標、寬和高的變換量, (1,2,…,c)表示各類別得分。

圖1 SSD模型結構

圖2 多尺度檢測原理
1.1.3 先驗框
SSD算法參照Faster RCNN中的錨框機制, 在不同特征圖的不同單元設置了尺度和長寬比不同的的先驗框, 預測的邊界框是以這些先驗框為基準的, 在一定程度上減少訓練難度。一般情況下, 每個單元會設置多個先驗框, 其尺度和長寬比存在差異, 如圖2所示, 以每一個特征圖的而每一個單元作為中心, 使用了四種不同的先驗框, 圖片中貓和狗分別采用最適合它們形狀的先驗框來進行訓練。假設對于特征圖的每個位置預測個邊界框, 對于每一個邊界框, 預測個類別得分, 以及相對先驗框中心坐標的4個偏移量值, 則共需要(+4)×個分類器, 在×的特征圖上面將會產生(+4)×××個預測值。每個特征層的尺度通過下面的公式計算得到:

其中,min表示最底層的尺度, 其值為0.2;max表示最高層的尺度, 其值為0.9;表示特征層數。
先驗框的設置使用5種橫縱比, 分別為1, 2, 3, 1/2, 1/3, 另外, 當橫縱比為1時, 先驗框大小的計算公式為:

每個特征層先驗框的尺度和比例設置如表1所示。利用不同尺度和比例的先驗框, 可以基本覆蓋各種形狀大小的圖像, 具有很好的適應性和選擇性。

表1 先驗框大小設置
1.1.4 損失函數
SSD算法的損失函數包含兩個部分, 一個是類別損失, 一個是定位損失。整個損失函數計算公式為:

其中,是匹配到的正樣本數量,是類別置信度預測值,是先驗框對應的邊界框預測值,是先驗框的位置參數,代表網絡的預測值。
類別損失計算公式為:

定位損失計算公式為:





SSD算法是將VGG16作為骨干網絡, 并在其基礎上修改并增加一系列卷積塊構成的, VGG16是一種深層的卷積神經網絡, 由13個卷積層和3個全連接層疊加而成, 它使用較小的卷積核代替較大的卷積核來減少參數量的同時通過增加網絡的深度和寬度來提升性能。原始SSD模型的設計主要是針對自然場景中的目標檢測任務, 其在紋理信息豐富的數據集中可以提高計算效率, 但是對于經過壓縮的衛星視頻數據來說這會丟失大量目標的重要特征。
ResNet[11]是一種殘差網絡, 基本結構如圖3所示, 其采用殘差連接替換原本的級聯方式, 增加前后特征層的聯系, 采用批歸一化的方式并將激活函數設置為ReLU(rectified linear unit), 在增加網絡深度的同時減少模型的參數量, 避免了因梯度爆炸或梯度消失帶來的性能下降。

圖3 ResNet基本結構
本文將原始SSD模型的骨干網絡替換為ResNet, 構建ResNet-SSD模型, 完整結構如圖4所示, 與原始SSD模型類似, ResNet-SSD以ResNet50(ResNet中最具代表性的版本)作為特征提取網絡, 保留了ResNet50模型的前4個卷積層(圖4中的Conv1、Conv2_x、Conv3_x、Conv4_x)作為骨干網絡, 同時為了使輸入圖像經過Conv4_x后得到的預測特征層1尺度不變, 我們將Conv4_x中的第一個殘差結構中的步距全部修改為1(圖4中虛線指示部分), 增強對小目標特征信息的提取, 并且去掉ResNet50卷積層后續的全連接層, 增加額外的卷積層作為預測特征層, 得到不同尺度的特征圖。本文ResNet-SSD模型雖然增加了網絡深度, 但是由于使用了殘差結構來減少參數量, 模型精度提升的同時速度也有所提高。
實驗在Intel Xeon(R) CPU E5-2699、64 G內存、Windows10系統下搭建的Pytorch環境下進行, 顯卡為Geforce GTX1080TI, 實驗環境配置參數如表2所示。
目前, 大部分用于目標檢測的公開數據集主要是針對自然圖像, 遙感圖像數據集較少, 其中包含的艦船數量更少, 因此, 我們收集了來自不同衛星的高分辨率光學遙感圖像, 將其裁剪為500×500大小的圖像, 構建艦船數據集, 其中包括1 963張圖像, 共2 287個艦船目標。為了提高模型訓練精度, 我們采用鏡像、隨機旋轉、隨機對比度變換等方法對數據集進行增強, 將數據集擴充為19 630張圖像, 使用LableImg軟件進行標注, 得到完整的艦船檢測數據集。在實驗中, 我們將數據集分為訓練集、驗證集和測試集, 三者比例為8︰1︰1。艦船樣本如圖5所示。

圖4 ResNet-SSD模型結構

表2 實驗環境配置參數

圖5 艦船樣本
本文衛星視頻數據采用“吉林一號”衛星視頻數據, 由視頻03星獲取, 分辨率為0.92 m, 時間為30 s, 共300幀, 視頻中每幀圖像大小為4 096×3 072, 將每一幀圖像分割為500×500大小。
由于SSD模型中先驗框參數的設置對檢測精度會產生一定的影響, 本文統計了所構建數據集中艦船大小分布情況, 如圖6, 可以看出本文數據集中, 艦船面積大多在102ppi和902ppi之間, 因此原始SSD的參數大小并不適用于本文數據集, 根據本文數據集特點, 進行多組實驗, 最終取min為0.02,max為0.4, 計算得到各特征層先驗框參數設置如表3所示。

表3 先驗框大小修改

圖6 艦船大小分布直方圖
為驗證改進后SSD算法的有效性, 本文在原始SSD模型的基礎上, 利用ResNet50作為骨干網絡構建SSD模型, 在本文構建的數據集上采用SGD (stochastic gradient descent)優化器對模型進行訓練, 初始學習率設為0.001, 采用動態學習率調整機制, 隨著迭代次數增加, 學習率逐漸衰減直到模型收斂, 迭代最大次數設置為100 000。利用訓練得到的最終模型在測試集上進行測試, 并使用均值平均精度(mAP, mean average precision)評估模型性能, 得到結果如表4所示。

表4 不同模型測試結果
由表4可以看出, 改進后的SSD算法mAP值為93%, 相比原始SSD算法提高了5.31%, 并且運行時間加快了7 s。這表明特征提取對于整體模型精度的影響較大, 本文使用的ResNet50特征提取網絡由于使用跨層連接傳遞的方式將卷積處理后的特征與輸入特征進行合并, 減少參數量的同時充分利用了各層特征信息, 將底層網絡訓練的更加充分, 使其網絡深度增加, 精度也得到提高, 證明了殘差網絡的優異性能。
為測試改進后的SSD算法對衛星視頻中艦船目標的檢測能力, 利用“吉林一號”衛星視頻數據進行實際艦船檢測, 本文算法檢測結果如圖7所示, 圖中綠色矩形框為檢測出的艦船目標。為了綜合評價算法的檢測性能, 同時考慮虛警率和檢測率, 本文利用艦船檢測品質因數OM對檢測結果進行定量分析:

其中,N為艦船目標的正確檢測數目,N為虛警目標數目,N為實際的艦船目標數目, 由上式知,OM越大則檢測性能越好。
由表5可知, 改進前后的SSD算法漏檢目標數目分別為15和10, 正確檢測目標數目分別為21和26, 說明對于大部分艦船目標, SSD算法都能夠準確地檢測出來, 而漏檢目標大部分為難分樣本, 可以通過擴充數據集來減少漏檢目標。改進前后的SSD算法虛警目標數目分別為5和1, 說明殘差網絡能夠很好的避免因梯度爆炸或梯度消失帶來的性能下降。綜合來看, 改進后的SSD算法OM為0.703, 比原始SSD算法提高了0.191, 說明本文算法不僅能夠很好地應用于衛星視頻艦船目標檢測, 并且檢測效果比原始SSD算法更好。

表5 不同模型檢測結果

圖7 本文算法艦船檢測結果
針對傳統視頻目標檢測算法計算量大, 難以適應海量數據的問題, 本文將在傳統圖像目標檢測中性能優異的SSD算法用于衛星視頻艦船目標檢測, 并在原始SSD模型基礎上進行改進, 在本文構建的數據集上進行測試, 并利用“吉林一號”衛星視頻數據進行驗證, 主要結論如下。
1) 通過分析本文數據集中艦船目標大小分布, 進行多組實驗確定最佳先驗框的大小, 一定程度上提高了SSD算法對小目標的檢測能力。
2) 為提高SSD算法對艦船目標的檢測能力, 本文將殘差網絡與SSD算法相結合, 利用ResNet作為骨干網絡構建SSD模型, 采用殘差連接替代原本的級聯方式, 在減少參數量的同時將深層特征與淺層特征結合, 相比原始的SSD算法, 在測試集上mAP提高了5.31%, 速度上也有一定的提升。
3) 為驗證改進后的SSD算法對衛星視頻中艦船目標的檢測能力, 利用“吉林一號”衛星視頻數據進行艦船目標檢測實驗, 分析檢測過程中的漏檢和誤檢目標, 得到艦船檢測品質因數為0.703, 總體檢測效果較好, 證明了改進后的SSD算法在衛星視頻艦船目標檢測中的有效性。但該算法對于訓練過程要求較高, 并且需要大量的數據集, 后續還應進一步擴充數據集并對算法進行改進。
[1] 唐沐恩, 林挺強, 文貢堅. 遙感圖像中艦船檢測方法綜述[J]. 計算機應用研究, 2011, 28(1): 29-36.
TANG Muen, LIN Tingqiang, WEN Gongjian. Survey of ship detection methods in remote sensing images[J]. Research on Computer Application, 2011, 28(1): 29-36.
[2] 孫志遠, 張劉, 金光, 等. 視頻小衛星凝視姿態跟蹤的仿真與實驗[J]. 光學精密工程, 2011, 19(11): 2715- 2723.
SUN Zhiyuan, ZHANG Liu, JIN Guang, et al. Simulation and experiment of gaze attitude tracking for video small satellite[J]. Optical Precision Engineering, 2011, 19(11): 2715-2723.
[3] KOPSIAFTIS G, KARANTZALOS K. Vehicle detection and traffic density monitoring from very high resolution satellite video data[C]//Proceedings of the 2015 IEEE International Geoscience and Remote Sensing Symposium. Milan: IEEE, 2015, 1881-1884.
[4] 張過. 衛星視頻處理與應用進展[J]. 應用科學學報, 2016, 34(4): 361-370.
ZHANG Guo. Progress of satellite video processing and Application[J]. Journal of Applied Science, 2016, 34(4): 361-370.
[5] REN S, HE K, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[6] REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2015). Washington: IEEE Computer Society, 2016: 779-788.
[7] LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector[C]//Proceedings of the European Conference on Computer Vision. Berlin, Germany: Springer, 2016: 21-37.
[8] 張作省, 朱瑞飛. 凝視視頻衛星目標檢測算法[J]. 航天返回與遙感, 2018, 39(6): 102-111.
ZHANG Zuoxing, ZHU Ruifei. Satellite target detection algorithm based on staring video[J]. Space Return and Remote Sensing, 2018, 39(6): 102-111.
[9] 劉貴陽, 李盛陽, 邵雨陽. 衛星視頻中目標的快速檢測算法研究[J]. 計算機系統應用, 2018, 27(11): 155-160.
LIU Guiyang, LI Shengyang, SHAO Yuyang. Research on fast target detection algorithm in satellite video[J]. Application of Computer System, 2018, 27(11): 155- 160.
[10] SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014: 1409-1556.
[11] HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//Procee--dings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, NV, USA: IEEE Computer Society, 2016: 770-778.
Research on ship target detection based on satellite video
ZHANG Chi1, WANG Zhao2, SHENG Hui1
(1. College of ocean and space information, China University of Petroleum (East China), Qingdao 266580, China; 2. Qingdao Geotechnical Investigation and Surveying Research Institute, Qingdao 266000, China)
Ship target detection is an important means to supervise and control maritime targets and protect maritime rights and interests. In this paper, based on SSD (single shot multibox detector) algorithm, using ResNet as the backbone network to build SSD model, the improved SSD algorithm is applied to satellite video ship target detection. The algorithm uses residual connection to replace the original cascade mode, strengthens the connection between the front and rear features, reduces model parameters, and improves the detection speed while ensuring the detection accuracy. The experimental results show that the map of the improved SSD algorithm on the test set is 93%, which is 5.31% higher than the original SSD algorithm, which fully proves the effectiveness of this method for improving the performance of SSD model. The results show that the algorithm can detect the ship target more accurately, which has a certain theoretical significance for real-time ship detection in complex marine environment.
satellite video; target detection; ship; deep learning
Nov. 8, 2020
TP79
A
1000-3096(2021)05-0009-07
10.11759/hykx20201108006
2020-11-08;
2021-01-20
國家重點研發計劃項目(2017YFC1405600)
[National Key R & D Plan, No. 2017YFC1405600]
張馳(1997—), 男, 山東濟寧人, 碩士研究生, 主要從事目標檢測研究, E-mail: 535474915@qq.com
(本文編輯: 叢培秀, 譚雪靜)