張 馳, 王 朝, 盛 輝
衛(wèi)星視頻艦船目標檢測方法
張 馳1, 王 朝2, 盛 輝1
(1. 中國石油大學(華東)海洋與空間信息學院, 山東 青島 266580; 2. 青島市勘察測繪研究院, 山東 青島 266000)
艦船目標檢測是進行海上目標監(jiān)管, 保障海上權益的重要手段。本文在SSD(single shot multibox detector)算法的基礎上, 利用殘差網(wǎng)絡(ResNet, residual network)作為骨干網(wǎng)絡構建SSD模型, 將改進后的SSD算法應用于衛(wèi)星視頻艦船目標檢測, 該算法采用殘差連接替換原本的級聯(lián)方式, 加強前后特征之間的聯(lián)系, 減少模型參數(shù), 在保證檢測精度的同時提高檢測速度。在本文構建的數(shù)據(jù)集上進行實驗, 結(jié)果表明, 改進后的SSD算法在測試集上的均值平均精度(mAP, mean average precision)為93%, 比原始SSD算法提高了5.31%, 充分證明了該方法對于提升SSD模型性能的有效性。使用“吉林一號”視頻03星圖像進行驗證, 結(jié)果表明, 該算法能夠較準確地檢測到艦船目標, 可為海上復雜環(huán)境條件下的艦船實時檢測提供參考。
衛(wèi)星視頻; 目標檢測; 艦船; 深度學習
海面是重要的經(jīng)濟區(qū)域, 在軍事和民用領域具有顯著的地位。艦船是海上交通運輸以及裝備的主要載體, 對其進行快速和精確的檢測在沿海監(jiān)管和防御等領域具有重要意義[1]。視頻衛(wèi)星作為一種新型的對地觀測衛(wèi)星, 與傳統(tǒng)遙感衛(wèi)星相比, 其最大的特點是可以對某一區(qū)域進行“凝視”觀測, 以“視頻錄像”的方式實時獲取動態(tài)信息, 并實時傳輸至用戶, 特別適于監(jiān)視動態(tài)目標, 分析目標位置變化特性[2]。
傳統(tǒng)視頻目標檢測方法主要有幀間差分法、背景建模法、光流法等。Kopsiaftis等[3]針對Skysat-1衛(wèi)星視頻, 利用背景差分法將當前幀與背景模板進行計算得到待檢測目標, 檢測完整度為80%, 精度為80%, 但是難以適應海量數(shù)據(jù)。張過等[4]利用“吉林一號”衛(wèi)星視頻數(shù)據(jù), 在經(jīng)典算法隨機鄰域和區(qū)域匹配法的基礎上, 結(jié)合光流法的運動矢量輔助并加以精化處理取得較好的效果, 但是光流法計算量較大, 很難應用到遙感衛(wèi)星視頻目標的實時檢測中。
隨著目標檢測在計算機視覺領域的發(fā)展, 各類硬件水平不斷提高, 基于深度學習的目標檢測方法逐漸成為主流, 主要算法有Faster RCNN[5], YOLO[6](you only look once)和SSD[7](single shot multibox detector)等。近年來, 將深度學習類目標檢測算法用于遙感視頻衛(wèi)星的研究也越來越多, 例如, 張作省等[8]結(jié)合遙感影像特點對YOLOv2網(wǎng)絡結(jié)構進行改進, 首次將深度卷積神經(jīng)網(wǎng)絡應用于凝視視頻衛(wèi)星目標檢測, 填補了光學視頻衛(wèi)星成像領域目標檢測方案的技術空白; 劉貴陽等[9]使用改進的YOLO模型和內(nèi)容一致性檢測模型, 利用視頻數(shù)據(jù)中相鄰幀之間內(nèi)容的相似性降低精確檢測的次數(shù), 在保證檢測精度的前提下, 提高了視頻數(shù)據(jù)的檢測效率。將深度學習用于視頻衛(wèi)星目標檢測主要面臨兩個問題: 一是需要大量的待檢測目標樣本, 二是計算量大導致其檢測速度可能無法滿足實時性的要求。
本文結(jié)合視頻衛(wèi)星數(shù)據(jù)的特點, 將目前在傳統(tǒng)圖像目標檢測中性能較為優(yōu)異的SSD算法用于衛(wèi)星視頻艦船目標檢測, 并進行改進, 在本文構建的艦船數(shù)據(jù)集上進行實驗并分析實驗結(jié)果, 最后利用“吉林一號”衛(wèi)星視頻數(shù)據(jù)進行驗證。結(jié)果表明, 改進后的SSD算法在保證準確度的同時, 提高了艦船目標檢測效率。
1.1.1 模型結(jié)構
SSD算法模型結(jié)構如圖1所示, 輸入圖像大小為300×300, 采用VGG16[10]作為基礎網(wǎng)絡, 保留了VGG16的卷積層部分用于特征提取, 并將VGG16的兩個全連接層轉(zhuǎn)換為了普通的卷積層(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所示, 對于每一個預測特征層采用不同個數(shù)的3×3大小的卷積核計算類別得分和邊界框回歸參數(shù), 分別對應圖2中的conf和loc, 其中, Δ(c,c,,)表示邊界框的中心坐標、寬和高的變換量, (1,2,…,c)表示各類別得分。
圖1 SSD模型結(jié)構
圖2 多尺度檢測原理
1.1.3 先驗框
SSD算法參照Faster RCNN中的錨框機制, 在不同特征圖的不同單元設置了尺度和長寬比不同的的先驗框, 預測的邊界框是以這些先驗框為基準的, 在一定程度上減少訓練難度。一般情況下, 每個單元會設置多個先驗框, 其尺度和長寬比存在差異, 如圖2所示, 以每一個特征圖的而每一個單元作為中心, 使用了四種不同的先驗框, 圖片中貓和狗分別采用最適合它們形狀的先驗框來進行訓練。假設對于特征圖的每個位置預測個邊界框, 對于每一個邊界框, 預測個類別得分, 以及相對先驗框中心坐標的4個偏移量值, 則共需要(+4)×個分類器, 在×的特征圖上面將會產(chǎn)生(+4)×××個預測值。每個特征層的尺度通過下面的公式計算得到:
其中,min表示最底層的尺度, 其值為0.2;max表示最高層的尺度, 其值為0.9;表示特征層數(shù)。
先驗框的設置使用5種橫縱比, 分別為1, 2, 3, 1/2, 1/3, 另外, 當橫縱比為1時, 先驗框大小的計算公式為:
每個特征層先驗框的尺度和比例設置如表1所示。利用不同尺度和比例的先驗框, 可以基本覆蓋各種形狀大小的圖像, 具有很好的適應性和選擇性。
表1 先驗框大小設置
1.1.4 損失函數(shù)
SSD算法的損失函數(shù)包含兩個部分, 一個是類別損失, 一個是定位損失。整個損失函數(shù)計算公式為:
其中,是匹配到的正樣本數(shù)量,是類別置信度預測值,是先驗框?qū)倪吔缈蝾A測值,是先驗框的位置參數(shù),代表網(wǎng)絡的預測值。
類別損失計算公式為:
定位損失計算公式為:
SSD算法是將VGG16作為骨干網(wǎng)絡, 并在其基礎上修改并增加一系列卷積塊構成的, VGG16是一種深層的卷積神經(jīng)網(wǎng)絡, 由13個卷積層和3個全連接層疊加而成, 它使用較小的卷積核代替較大的卷積核來減少參數(shù)量的同時通過增加網(wǎng)絡的深度和寬度來提升性能。原始SSD模型的設計主要是針對自然場景中的目標檢測任務, 其在紋理信息豐富的數(shù)據(jù)集中可以提高計算效率, 但是對于經(jīng)過壓縮的衛(wèi)星視頻數(shù)據(jù)來說這會丟失大量目標的重要特征。
ResNet[11]是一種殘差網(wǎng)絡, 基本結(jié)構如圖3所示, 其采用殘差連接替換原本的級聯(lián)方式, 增加前后特征層的聯(lián)系, 采用批歸一化的方式并將激活函數(shù)設置為ReLU(rectified linear unit), 在增加網(wǎng)絡深度的同時減少模型的參數(shù)量, 避免了因梯度爆炸或梯度消失帶來的性能下降。
圖3 ResNet基本結(jié)構
本文將原始SSD模型的骨干網(wǎng)絡替換為ResNet, 構建ResNet-SSD模型, 完整結(jié)構如圖4所示, 與原始SSD模型類似, ResNet-SSD以ResNet50(ResNet中最具代表性的版本)作為特征提取網(wǎng)絡, 保留了ResNet50模型的前4個卷積層(圖4中的Conv1、Conv2_x、Conv3_x、Conv4_x)作為骨干網(wǎng)絡, 同時為了使輸入圖像經(jīng)過Conv4_x后得到的預測特征層1尺度不變, 我們將Conv4_x中的第一個殘差結(jié)構中的步距全部修改為1(圖4中虛線指示部分), 增強對小目標特征信息的提取, 并且去掉ResNet50卷積層后續(xù)的全連接層, 增加額外的卷積層作為預測特征層, 得到不同尺度的特征圖。本文ResNet-SSD模型雖然增加了網(wǎng)絡深度, 但是由于使用了殘差結(jié)構來減少參數(shù)量, 模型精度提升的同時速度也有所提高。
實驗在Intel Xeon(R) CPU E5-2699、64 G內(nèi)存、Windows10系統(tǒng)下搭建的Pytorch環(huán)境下進行, 顯卡為Geforce GTX1080TI, 實驗環(huán)境配置參數(shù)如表2所示。
目前, 大部分用于目標檢測的公開數(shù)據(jù)集主要是針對自然圖像, 遙感圖像數(shù)據(jù)集較少, 其中包含的艦船數(shù)量更少, 因此, 我們收集了來自不同衛(wèi)星的高分辨率光學遙感圖像, 將其裁剪為500×500大小的圖像, 構建艦船數(shù)據(jù)集, 其中包括1 963張圖像, 共2 287個艦船目標。為了提高模型訓練精度, 我們采用鏡像、隨機旋轉(zhuǎn)、隨機對比度變換等方法對數(shù)據(jù)集進行增強, 將數(shù)據(jù)集擴充為19 630張圖像, 使用LableImg軟件進行標注, 得到完整的艦船檢測數(shù)據(jù)集。在實驗中, 我們將數(shù)據(jù)集分為訓練集、驗證集和測試集, 三者比例為8︰1︰1。艦船樣本如圖5所示。
圖4 ResNet-SSD模型結(jié)構
表2 實驗環(huán)境配置參數(shù)
圖5 艦船樣本
本文衛(wèi)星視頻數(shù)據(jù)采用“吉林一號”衛(wèi)星視頻數(shù)據(jù), 由視頻03星獲取, 分辨率為0.92 m, 時間為30 s, 共300幀, 視頻中每幀圖像大小為4 096×3 072, 將每一幀圖像分割為500×500大小。
由于SSD模型中先驗框參數(shù)的設置對檢測精度會產(chǎn)生一定的影響, 本文統(tǒng)計了所構建數(shù)據(jù)集中艦船大小分布情況, 如圖6, 可以看出本文數(shù)據(jù)集中, 艦船面積大多在102ppi和902ppi之間, 因此原始SSD的參數(shù)大小并不適用于本文數(shù)據(jù)集, 根據(jù)本文數(shù)據(jù)集特點, 進行多組實驗, 最終取min為0.02,max為0.4, 計算得到各特征層先驗框參數(shù)設置如表3所示。
表3 先驗框大小修改
圖6 艦船大小分布直方圖
為驗證改進后SSD算法的有效性, 本文在原始SSD模型的基礎上, 利用ResNet50作為骨干網(wǎng)絡構建SSD模型, 在本文構建的數(shù)據(jù)集上采用SGD (stochastic gradient descent)優(yōu)化器對模型進行訓練, 初始學習率設為0.001, 采用動態(tài)學習率調(diào)整機制, 隨著迭代次數(shù)增加, 學習率逐漸衰減直到模型收斂, 迭代最大次數(shù)設置為100 000。利用訓練得到的最終模型在測試集上進行測試, 并使用均值平均精度(mAP, mean average precision)評估模型性能, 得到結(jié)果如表4所示。
表4 不同模型測試結(jié)果
由表4可以看出, 改進后的SSD算法mAP值為93%, 相比原始SSD算法提高了5.31%, 并且運行時間加快了7 s。這表明特征提取對于整體模型精度的影響較大, 本文使用的ResNet50特征提取網(wǎng)絡由于使用跨層連接傳遞的方式將卷積處理后的特征與輸入特征進行合并, 減少參數(shù)量的同時充分利用了各層特征信息, 將底層網(wǎng)絡訓練的更加充分, 使其網(wǎng)絡深度增加, 精度也得到提高, 證明了殘差網(wǎng)絡的優(yōu)異性能。
為測試改進后的SSD算法對衛(wèi)星視頻中艦船目標的檢測能力, 利用“吉林一號”衛(wèi)星視頻數(shù)據(jù)進行實際艦船檢測, 本文算法檢測結(jié)果如圖7所示, 圖中綠色矩形框為檢測出的艦船目標。為了綜合評價算法的檢測性能, 同時考慮虛警率和檢測率, 本文利用艦船檢測品質(zhì)因數(shù)OM對檢測結(jié)果進行定量分析:
其中,N為艦船目標的正確檢測數(shù)目,N為虛警目標數(shù)目,N為實際的艦船目標數(shù)目, 由上式知,OM越大則檢測性能越好。
由表5可知, 改進前后的SSD算法漏檢目標數(shù)目分別為15和10, 正確檢測目標數(shù)目分別為21和26, 說明對于大部分艦船目標, SSD算法都能夠準確地檢測出來, 而漏檢目標大部分為難分樣本, 可以通過擴充數(shù)據(jù)集來減少漏檢目標。改進前后的SSD算法虛警目標數(shù)目分別為5和1, 說明殘差網(wǎng)絡能夠很好的避免因梯度爆炸或梯度消失帶來的性能下降。綜合來看, 改進后的SSD算法OM為0.703, 比原始SSD算法提高了0.191, 說明本文算法不僅能夠很好地應用于衛(wèi)星視頻艦船目標檢測, 并且檢測效果比原始SSD算法更好。
表5 不同模型檢測結(jié)果
圖7 本文算法艦船檢測結(jié)果
針對傳統(tǒng)視頻目標檢測算法計算量大, 難以適應海量數(shù)據(jù)的問題, 本文將在傳統(tǒng)圖像目標檢測中性能優(yōu)異的SSD算法用于衛(wèi)星視頻艦船目標檢測, 并在原始SSD模型基礎上進行改進, 在本文構建的數(shù)據(jù)集上進行測試, 并利用“吉林一號”衛(wèi)星視頻數(shù)據(jù)進行驗證, 主要結(jié)論如下。
1) 通過分析本文數(shù)據(jù)集中艦船目標大小分布, 進行多組實驗確定最佳先驗框的大小, 一定程度上提高了SSD算法對小目標的檢測能力。
2) 為提高SSD算法對艦船目標的檢測能力, 本文將殘差網(wǎng)絡與SSD算法相結(jié)合, 利用ResNet作為骨干網(wǎng)絡構建SSD模型, 采用殘差連接替代原本的級聯(lián)方式, 在減少參數(shù)量的同時將深層特征與淺層特征結(jié)合, 相比原始的SSD算法, 在測試集上mAP提高了5.31%, 速度上也有一定的提升。
3) 為驗證改進后的SSD算法對衛(wèi)星視頻中艦船目標的檢測能力, 利用“吉林一號”衛(wèi)星視頻數(shù)據(jù)進行艦船目標檢測實驗, 分析檢測過程中的漏檢和誤檢目標, 得到艦船檢測品質(zhì)因數(shù)為0.703, 總體檢測效果較好, 證明了改進后的SSD算法在衛(wèi)星視頻艦船目標檢測中的有效性。但該算法對于訓練過程要求較高, 并且需要大量的數(shù)據(jù)集, 后續(xù)還應進一步擴充數(shù)據(jù)集并對算法進行改進。
[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] 孫志遠, 張劉, 金光, 等. 視頻小衛(wèi)星凝視姿態(tài)跟蹤的仿真與實驗[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] 張過. 衛(wèi)星視頻處理與應用進展[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] 張作省, 朱瑞飛. 凝視視頻衛(wèi)星目標檢測算法[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] 劉貴陽, 李盛陽, 邵雨陽. 衛(wèi)星視頻中目標的快速檢測算法研究[J]. 計算機系統(tǒng)應用, 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
國家重點研發(fā)計劃項目(2017YFC1405600)
[National Key R & D Plan, No. 2017YFC1405600]
張馳(1997—), 男, 山東濟寧人, 碩士研究生, 主要從事目標檢測研究, E-mail: 535474915@qq.com
(本文編輯: 叢培秀, 譚雪靜)