趙亮 馬旺葉 楊雯彥 曹媛媛
【摘 要】本文提出了一種基于Mask R-CNN實現(xiàn)船舶檢測的方法,通過在網(wǎng)絡(luò)訓(xùn)練過程中隨機(jī)采樣目標(biāo)像素到背景中的其他位置,改善了目標(biāo)與背景不平衡的問題。對比分析基礎(chǔ)模型與本文方案,檢測與分割的精度都有了顯著的提升。
【關(guān)鍵詞】Mask R-CNN;船舶;檢測;分割
中圖分類號:O436 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2019)30-0024-002
DOI:10.19694/j.cnki.issn2095-2457.2019.30.011
Satellite Image Ship Detection Based On Mask R-CNN
ZHAO Liang MA Wang-ye YANG Wen-yan CAO Yuan-yuan
(School of Geomatics and Marine Information
【Abstract】In this paper, a method based on Mask R-CNN was proposed to realize ship detection. By randomly sampling the target pixels to other positions in the background during network training, the imbalance between the target and the background was improved. By comparing and analyzing the basic model and the scheme in this paper, the accuracy of detection and segmentation has been significantly improved.
【Key words】Mask R-CNN; Ship; Detection; Segmentation
0 引言
海運承擔(dān)著國際貿(mào)易進(jìn)出口的重要任務(wù),根據(jù)衛(wèi)星影像獲得船舶的位置與大小具有重要的軍事與商業(yè)作用。衛(wèi)星影像船舶檢測主要有以下兩個難點:(1)樣本不均衡的問題,通常數(shù)據(jù)集中的船舶數(shù)量與像素占比較少,樣本不均衡使得檢測模型更關(guān)注較大的目標(biāo),忽略較小的船舶,容易造成漏檢與誤檢。(2)由于目標(biāo)覆蓋的區(qū)域較小,造成船舶的位置缺少多樣性,模型在驗證通用性時變得困難。
當(dāng)前深度學(xué)習(xí)檢測算法利用圖像的多層特征優(yōu)化對小目標(biāo)檢測的精度,主要有:Tsung-Yi Lin等[1]提出的圖像金字塔網(wǎng)絡(luò)(FPN),通過對訓(xùn)練圖片上采樣出多尺度的圖像金字塔,增強小目標(biāo)的細(xì)粒度特征,優(yōu)化定位和識別效果。第二種方法為逐層預(yù)測,即對卷積神經(jīng)網(wǎng)絡(luò)抽取的每層特征圖輸出進(jìn)行一次預(yù)測,綜合考量得出結(jié)果[2]。以上兩種方法對于硬件算力有極高的要求,且不是專門針對船舶檢測而設(shè)計的,模型的魯棒性較差。
本文提出的方法,在模型訓(xùn)練過程中將船舶目標(biāo)特征圖隨機(jī)采樣復(fù)制到同批次中的其他圖像背景中,改善不平衡問題的同時,模型需要的計算量也沒有增加。實驗證明,即使像素占比非常小的船舶,檢測與分割的精度也得到了有效的提升。
1 算法模型
本文方法基于Mask R-CNN目標(biāo)檢測框架修改而來,Mask R-CNN是在Faster R-CNN的基礎(chǔ)上增強了一個平行的small FCN(全卷積網(wǎng)絡(luò))分支,以獲得目標(biāo)的輪廓定位,從而實現(xiàn)準(zhǔn)確的分割。因此基于本文方法,可以同時獲得船舶目標(biāo)檢測與實例分割結(jié)果。
圖1 small FCN結(jié)構(gòu)圖
為了適應(yīng)船舶檢測的需要,本文對模型做了針對性的改進(jìn)。首先,預(yù)處理數(shù)據(jù),采用傳統(tǒng)的語義分割模型,獲得海水與船舶的大致邊界信息并傳入訓(xùn)練網(wǎng)絡(luò);其次對船舶標(biāo)注圖像聚類分析獲取船舶大小的分布數(shù)據(jù),確定了檢測過程不同大小檢測框的數(shù)量;然后在網(wǎng)絡(luò)訓(xùn)練過程中,上采樣船舶特征矩陣,對抗網(wǎng)絡(luò)(GAN)生成船舶的相似特征圖,最后基于邊界信息復(fù)制到同批次訓(xùn)練數(shù)據(jù)的背景中,確保不會產(chǎn)生船舶重疊。
本文方法同樣考慮到不同的IoU(交并比)閾值對于樣本的選取產(chǎn)生的影響,使用了漸進(jìn)IOU的方法,在特征金字塔的每一層添加多個檢測頭,逐漸提高IOU的閾值,確保不會漏掉可能的船舶目標(biāo)。
2 實驗結(jié)果與分析
實驗數(shù)據(jù)選自Kaggle提供的28G衛(wèi)星遙感船舶影像數(shù)據(jù),共5000張,按照4:1的比例劃分為訓(xùn)練集于測試集,在Google Clob平臺上利用Tensnorflow 深度學(xué)習(xí)框架實現(xiàn),訓(xùn)練了25批次后,網(wǎng)絡(luò)的損失趨于穩(wěn)定,部分檢測結(jié)果如下圖所示:
圖2 檢測與分割成果
為了測試本文方法的精度,從原始數(shù)據(jù)中重新隨機(jī)抽取了200個目標(biāo)測試數(shù)據(jù)。分別基于未改進(jìn)的MaskR-CNN(文獻(xiàn)[1]方法)與本文方法進(jìn)行測試。目標(biāo)檢測常用準(zhǔn)確率(P)、召回率(R)評價模型的精度,計算公式為:
P=TP/(TP+FP)
R=TP/(TP+FN)=TP/P
其中,TP:被正確地劃分為船舶的實例個數(shù);FP:被錯誤地劃分為船舶的個數(shù);FN:被錯誤地劃分為海水背景的個數(shù)。同時計算分割結(jié)果與原始標(biāo)注的像素相交面積比,得到分割的精度AP。
計算結(jié)果如表1所示。
從表1中可以看出,改進(jìn)后的模型與文獻(xiàn)[1]方法相比,準(zhǔn)確率提升了約7%,同時召回率也提升了5%,由于原始的樣本標(biāo)注精度不夠,對于檢測的效果提升不大,僅有3%。總體上看,基于本文方法可以有效的提升船舶檢測與分割的精度,且模型無需額外的計算開銷。
表1 檢測與分割精度表
3 結(jié)論
本文基于船舶檢測過程中目標(biāo)與背景的不均衡提出了一種改進(jìn)的Mask R-CNN檢測算法,分析了改進(jìn)前后獲得的檢測與分割精度,在沒有增加訓(xùn)練樣本與重新標(biāo)注的情況下檢測精度有了顯著提高。由于時間和硬件條件,本文只分析了少量樣本下的檢測情況,接下來將會增加訓(xùn)練數(shù)據(jù)研究本文的改進(jìn)方法對于其他檢測框架的精度提升。
【參考文獻(xiàn)】
[1]He Kaiming,Gkioxari Georgia,Dollar Piotr,Girshick Ross. Mask R-C·NN[J].IEEE transactions on pattern analysis and machine int1elligence,2018.
[2]羅巍,陳曙東,龔立晨.基于深度學(xué)習(xí)的無人機(jī)遙感影像船舶檢測方法[J].船舶物資與市場,2019(04):25-28.