劉 浪,劉國棟,劉 佳
(重慶交通大學 土木工程學院,重慶 400074)
隨著我國經(jīng)濟穩(wěn)步快速發(fā)展,綜合國力日益增強,海運貿易量日益增長,同時也給海運交通帶來了諸多問題,例如船只誤撞率上升、遇險船只搜救耗時長、海上船只管理困難等。因此,急需對海運船只進行準確定位與監(jiān)測??梢姽膺b感圖像覆蓋面積比較廣,而船只作為小目標物體,且不同用途的船只種類之間也存在較大的差異,船只場景也是多樣性,所以,研究高效、快速而準確的可見光遙感船只目標檢測算法對當代的社會發(fā)展具有重要意義。隨著深度學習技術盛行,基于深度卷積神經(jīng)網(wǎng)絡的目標檢測算法被提出[1-2],其方法可被歸為:
1)基于先驗區(qū)域的兩階段(Two Stage)目標檢測算法,包 括Faster R-CNN[3]、Mask R-CNN[4]、Cascade RCNN[5]和Sparse R-CNN[6]等相關算法;
2)基于回歸的一階段(One Stage)目標檢測算法,包括SSD[7]、YOLO[8-11]、EfficientDet[12]等。
Two Stage較One Stage具有較高的準確性,但推理速度較慢?;谏疃葘W習的目標檢測算法被廣泛應用于實際船只檢測中。文獻[13]將CNN與奇異值分解進行結合對船舶進行檢測。文獻[14]提出一種新的艦船目標檢測結構,即深度森林集成結構來識別艦船目標。文獻[15]對Faster R-CNN進行改進,針對多尺度艦船目標的精確定位與檢測,構建了一個選擇性過濾層。以上文獻方法在船舶檢測任務上取得了顯著的改進,大大提高檢測系統(tǒng)的精度。不過沒有很好地解決圖像中的復雜背景對檢測造成的漏檢、錯檢等問題。針對此問題,本文提出一種借鑒細粒度思想改進EfficientDet卷積神經(jīng)網(wǎng)絡的可見光船只檢測算法E-EfficientDet。
EfficientDet是基于Anchor的One Stage目標檢測算法:
1)將圖像輸入到主干特征提取網(wǎng)絡(BackBone Net)進行特征提取;
2)將獲取到的高語義特征信息輸入到特征金字塔網(wǎng)絡BiFPN,融合不同層之間的特征信息;
3)對融合后的特征信息進行分類與回歸,定位出目標框及其類別。
為了進一步提高模型檢測性能,本文對其針對性改進,改進后的網(wǎng)絡框架如圖1所示。為了設計出更符合船只目標檢測中使用的基準錨框Anchors,利用Kmeans++聚類算法對數(shù)據(jù)集中船只目標的長寬信息進行聚類分析,以便得到最佳的Anchors。為了針對性對船只目標的特征信息進行提取,主干網(wǎng)絡采用改進的EfficientNet-B0、EfficientV2網(wǎng)絡并行作為E-EfficientDet算法的骨干網(wǎng)絡,分別對輸入圖像進行下采樣特征提取,獲取5種不同尺度的特征圖。針對可見光遙感船只多尺度以及小目標難以檢測的問題,使用改進的BiFPN對5種不同尺度的特征圖進行增強特征融合,反復地對深、淺層的特征信息進行循環(huán)提取,充分融合不同層之間的語義特征信息。為了解決骨干網(wǎng)絡對輸入圖片進行特征提取下采樣的過程中導致的信息丟失問題,增大圖像的感受野,引入SPP-Net結構,分別使用大小為13×13,9×9,5×5和1×1的池化核進行最大池化處理,分離出更加顯著的上下文特征;然后將特征信息傳入到分類網(wǎng)絡與回歸網(wǎng)絡,實現(xiàn)對船只目標的檢測。
為了更快、更精確地定位出目標框的位置,本文針對船只目標存在的多尺度問題,利用K-Means++聚類算法對船只數(shù)據(jù)集的長寬信息進行聚類分析,設計出更適合船只目標的Anchors的長寬比例(0.6,1.0,1.8,2.4),其算法步驟為:
1)初始化一個聚類中心;
2)度量樣本與最近聚類中心的距離,下一個聚類中心的選定與其值大小成正相關,使用輪盤法選取下一個聚類中心;
3)重復步驟2),選出k個聚類中心;
4)初始點選定后,每個樣本劃分到最近聚類中心;
5)計算每一簇的均值,作為新的聚類中心,重復步驟4),直至滿足條件為止。
針對遙感圖像中的復雜背景,尤其相似物對船只目標檢測的干擾,本文選取近年來表現(xiàn)優(yōu)異的EfficientNet-B0網(wǎng)絡及EfficientNetV2網(wǎng)絡并行作為主干特征提取網(wǎng)絡來獲取遙感圖像中船只目標的特征信息。
1.2.1 EfficientNet-B0網(wǎng)絡
EfficientNet是一個可以平衡縮放網(wǎng)絡輸入圖像分辨率、網(wǎng)絡寬度和網(wǎng)絡深度的模型。本文以EfficientNet-B0為主干特征提取網(wǎng)絡的一個分支,其核心組成部分主要為多個MBConv(Mobile inverted Bottlenneck Conv)移動翻轉瓶頸卷積模塊。圖2為MBConv模塊結構圖。
1.2.2 EfficientNetV2網(wǎng)絡
本文主干網(wǎng)絡的另一個分支是EfficientNetV2網(wǎng)絡,它是EfficientNet網(wǎng)絡的變種,與EfficientNet-B0網(wǎng)絡結構相似,只是將其部分MBConv模塊替換成Fused-MBConv模塊。圖3為Fused-MBConv模塊結構。
Fused-MBConv模塊與MBConv模塊的主要區(qū)別在于前者將升維卷積和Depthwise Conv替換成一個普通的Conv3×3,同時在模型結構中更多地使用卷積核大小為3×3的卷積。EfficinetNetV2網(wǎng)絡參數(shù)量更小,網(wǎng)絡運行的速度更快。
1.2.3 ECA模塊
為了在表現(xiàn)優(yōu)異的主干網(wǎng)絡上進一步優(yōu)化其特征提取能力,基于視覺中的注意力思想,在主干網(wǎng)絡中構建注意力模塊,讓模型更專注于學習圖像中有效區(qū)域的信息,從而提高模型的魯棒性。本文將MBConv、Fused-MBConv模塊中的SENet模塊替換成表現(xiàn)優(yōu)異的ECANet模塊,其結構如圖4所示,ECANet模塊相較于SENet其優(yōu)勢主要表現(xiàn)在如下兩方面:
1)更少的參數(shù)量減輕了目標檢測網(wǎng)絡的負擔,加快了運行速度;
2)為了提高特征圖通道之間的依賴性,ECANet未采用SENet模塊中的降維處理,而是讓模型在通道維度上關注更有用的通道特征信息,抑制相對不重要的通道特征信息。
對于骨干網(wǎng)絡獲取到不同層之間的特征圖,各有其特點:分辨率較高、語義特征較低的信息集中在淺層特征圖,適合小目標檢測;低分辨率、高語義信息集中在高特征圖,適合大目標檢測。針對可見光遙感影像中船只目標存在多尺度以及小目標難以檢測的問題,對雙向特征金字塔網(wǎng)絡(Bi-directional Feature Pyramid Network,BiFPN)進行改進,引入3個特征融合分支,如圖5中粗箭頭所示,達到淺層特征圖與深層特征圖特征的充分融合。
為了解決并用EfficientNet-B0、EfficientNetV2作為骨干網(wǎng)絡對輸入圖片進行下采樣時,導致信息丟失的問題,在二者信息融合的特征層引入SPP-Net結構,分別進行4種(13×13、9×9、5×5、1×1)最大池化操作,以得到顯著的上下文特征,提高多尺度預測的準確性。SPPNet結構如圖6所示。
本文的可見光遙感影像數(shù)據(jù)來源于HRSC 2016年的船只檢測數(shù)據(jù)集,共包含1 070張圖像及對應的XML文件,為了滿足模型的訓練,對數(shù)據(jù)集進行增強。本文使用Imgaug庫對原始圖像進行旋轉、縮放、添加噪聲等數(shù)據(jù)增強操作,同時對圖像對應的XML文件進行相應的改變。數(shù)據(jù)增強見圖7。增強后的數(shù)據(jù)集共包含6 272張圖像,將數(shù)據(jù)按照8∶2比例分配,5 017張圖像作為訓練集,1 255張圖像作為測試數(shù)據(jù)集。
本文通過平均精度均值(mean Average Precision,mAP),即各個類別AP(Average Precision)的平均來評價算法的性能,在計算mAP之前首先需要計算查準率P(Precision)和召回率R(Recall)。其算法公式如下所示:
式中:TP為與真實標注框的IoU大于所設閾值的檢測框;FP為與真實標注框的IoU小于所設閾值的檢測框;FN為沒有被檢測出的實標注框。
平均精度AP指某一類別目標PR曲線下的面積,AP值越高,表明檢測器對該類的檢測性能越好。
本文實驗硬件平臺和參數(shù)如下:Ubuntu系統(tǒng),32 GB內存,RTX2080Ti顯卡,使用深度學習框架為Pytorch 1.6,代碼運行環(huán)境為Python 3.6,迭代步數(shù)為15,學習率(Learning Rate)為0.005,動量(Momentum)為0.9,學習率衰減系數(shù)為0.000 5。
3.2.1 實驗1
為了驗證本文算法的有效性,選取EfficientDet-D0作為基礎網(wǎng)絡進行消融實驗,其實驗結果如表1所示。
表1 各模塊之間的消融實驗結果
從表1分析可知,本文提出的算法在漏檢測率(AR)上比基礎網(wǎng)絡提高了5.84%,檢測精度(AP)提高了8.72%,同時比各模塊單獨作用于基礎網(wǎng)絡上的效果都要好,雖然本文算法在檢測時間上表現(xiàn)出0.06 s,但AP值可高達90.81%,表明了本文算法的有效性。
3.2.2 實驗2
為了進一步驗證本文算法的有效性,選取最具代表性的Faster R-CNN、SSD、YOLOv3-SPP算法進行對比實驗,所有模型均采用預訓練模型的遷移學習進行訓練,實驗結果如表2所示。
表2 不同算法之間的對比實驗
從表2分析可知,本文算法檢測時間雖然比Faster R-CNN的檢測時間僅快0.01 s,但檢測精度上卻高出10.57%;與SSD、YOLOv3相比,本文在檢測時間上是二者的2倍和3倍,但在漏檢率和檢測精度上比二者分別高出6.91%,3.79%,8.62%,5.24%,從而進一步驗證了本文算法的有效性。為了驗證本文算法的檢測性能,選取3組示例圖進行對比:示例1為復雜背景圖;示例2為多尺度圖;示例3為密集排列圖,其檢測結果如圖8所示。
圖8中左側為優(yōu)化前的方法的檢測結果,右側為本文方法的檢測結果。從3組檢測結果分析得出,本文算法無論是在復雜背景、多尺度以及密集排列場景下的艦船目標檢測,其檢測效果都比優(yōu)化前算法有較高的提升,從而驗證了本文算法在實際應用中的有效性。
本文針對可見光遙感船只影像錯檢、漏檢問題,提出一種基于細粒度思想的卷積神經(jīng)網(wǎng)絡遙感船只檢測算法E-EfficientDet。K-means++聚類設計出的Anchor對船只目標更具有針對性,提高了模型的定位精度、檢測速度;雙主干特征提取網(wǎng)絡降低了相似物對船只目標的檢測干擾;改進的BiFPN網(wǎng)絡進一步增強特征融合,提高了多尺度及小目標預測;SPP網(wǎng)絡模塊增大了圖像感受野,很好地解決主干特征提取網(wǎng)絡存在的信息丟失問題。實驗結果表明,本文提出的E-EfficientDet算法對可見光遙感船只進行檢測,AP達到90.81%,推理時間為每張0.06 s,滿足可見光遙感船只高效、準確檢測的需求。