?

基于改進SSD和ISESAM融合的無人機弱小目標檢測方法*

2023-12-11 12:10張銀環薛靜云王寧寧韓澤佳
艦船電子工程 2023年9期
關鍵詞:精度函數特征

張銀環 薛靜云 王寧寧 韓澤佳

(1.渭南職業技術學院建筑工程學院 渭南 714000)(2.西安工業大學機電工程學院 西安 710021)

1 引言

目標檢測在人臉識別、門禁考勤、過閘乘車等方面具有重要的應用價值,被國內外學者和研究人員密切關注[1]。目標檢測實質是找到一種將圖像轉換為特征空間的方法,即特征提取方法[2]。常見目標檢測方法分兩類:一類是通過傳統機器學習算法提??;另一類是通過深度神經網絡方法提取。在計算機視覺領域,利用卷積神經網絡在目標檢測領域取得了巨大的成就[3]。

基于深度學習的無人機目標檢測算法分兩類:基于R-CNN 系列的二階段目標檢測架構和基于回歸的單階段目標檢測架構[4]。2014年,Grishick等[5]提出區域CNN 算法,通過使用選擇性搜索(Selective Search,SS)的R-CNN 消除了對幾個區域的選擇,在PASCAL VOC-2007 數據集上的準確率達到67%。盡管R-CNN 方法提升了檢測精度,但在無人機圖像輸入CNN 網絡之前,需將候選框區域中的無人機圖像轉換為固定大小,造成圖像部分特征丟失。2015年,Grishick[6]提出Faster R-CNN,使用區域建議RPN 網絡替代了選擇搜索算法,在PASCAL VOC2007 數據集上的準確率提升到70%。2018年Joseph Redmon[7]提出YOLOV3 算法,在TITAN GPU 上運行檢測速度能超過40fps,而一般視頻播放速度為26fps,因此可實現實時檢測,但在PASCAL VOC-2007 準確率僅為63.4%,檢測精度偏低。由于減少anchor的產生直接輸出檢測結果,造成檢測精度不高,特別是對于一些低空無人機小目標。2016年Liu 等[8]提出SSD 算法,檢測精度與Faster R-CNN相近或者更高,能對低空無人機視頻實現實時檢測。2022年,Jia等[9]提出輕量SSD算法對弱小目標進行檢測,能夠在壓縮參數的同時,保證算法檢測速度和檢測精度,可有效實現對弱小目標的檢測。然而該模型將注意力集中于較低特征層,忽略上下文的語義信息,從而對圖像中部分重疊目標的檢測效果有一定影響。2022年,文獻[10]提出改進的YOLO 模型,在檢測精度上有較大提升,然而針對弱小目標的檢測,由于缺乏理論指導,檢測精度仍有較大的提升空間。綜之,現有方法存在較少模型參數與較高檢測精度之間的矛盾,弱小目標及在遮擋環境下檢測精度不高的問題。

針對以上問題,本文提出一種改進的SSD和ISESAM融合算法,以較低的計算成本換取更高的檢測精度。采用輕量化MobileNetV3網絡模型作為主干取代SSD 算法中的VGG 網絡,以降低算法復雜性。同時突出了一個新的時空注意力(Improved Squeeze Excitation and Spatial Attention Module,ISESAM)模塊代替MobileNetV3中SE 模塊,從時空方面提高檢測精度。最后通過實驗驗證本文提出改進SSD算法先進性。

2 改進SSD目標檢測網絡模塊

改進SSD 算法由改進的MobileNetV3與額外功能層組成。研究發現低空飛行的無人機屬于小目標,在檢測過程中存在背景相似及飛行模糊的問題,采用輕量級MobileNetV3 網絡模型作為主干取代了SSD 算法中的VGG 網絡,如圖1中紅色標記部分,以降低算法復雜性。針對檢測精度不高的問題,本文提出了一個新的時空注意力(Improved Squeeze Excitation and Spatial Attention Module,ISESAM)模塊。采用通道和空間注意力機制,可以精確檢測弱小目標。同時改進SSD 算法中的激活函數解決神經元“失活”的問題,從而能夠在低層網絡中更有效地提取圖像特征。

圖1 改進SSD算法框架

3 改進SSD目標檢測模塊

ISESAM 模塊是改進的SSD 目標檢測模算法核心,它是由ISE 和SAM 兩模塊組成,如圖2所示。為避免參數爆增而導致計算消耗過負荷問題,并能充分提取圖像空間特征,分別提出ISE 和SAM 模塊。ISESAM模塊為通道和空間包含重要信息的像素賦予較大權重,旨在提高目標檢測精度。

圖2 ISESAM模塊結構

3.1 ISESAM模塊

MobileNetV3 網絡模型中的SE[11]模塊僅學習了通道間特征相關性,忽略了特征空間相關性。研究表明,使用空間注意力模塊可以在空間上持續檢測,提升小目標檢測準確率。這種方法有效的主要原因是特征圖的每個元素對應原圖的一個區域,對輸出特征圖的每個位置賦予不同的權重相當于對原圖的不同區域賦予不同的影響因子。因此,本文提出改進時空注意力模塊ISESAM 代替Mobile-NetV3 網絡模型中的SE 模塊。ISESAM 由和組成,其中,ISE 借鑒SE-block 設計思想[13~14]并對其進行改進,可為重要行為特征在通道方面賦予較大權重,檢測關鍵特征。SAM是從空間維度關注檢測重要特征的模塊,ISESAM模塊結構如圖2所示。

Wang[12]通過實驗證明attention block 中保持channel 數不變的重要性,證明了避免降維和適當的跨通道交互對于通道注意學習的重要性。同時為了避免SE 模塊中存在神經元“失活”的問題,本文對SE 模塊進行優化,提出改進的注意力網絡結構(improved SE block,ISE block)。

3.2 ISE-block設計

ISE-block 結構,如圖3所示,包括一個全局平局池化層(Global Average Pooling,GAP),2個1*1的自適應卷積層adaptive conv,一個池化層Leaky Relu,一個標準化BN 層和一個Sigmoid 激活層,共六層。其中:1)GAP 層丟棄dropout 可解決全連接層容易導致模型過擬合問題。其思想是將最后一層多層感知機(Muti Layer Perceptron,MLP)輸出的每一張feature map相加求平均,如下式:

圖3 SE and ISE-block對比

其中,i,j 表示每張feature map 像素點的坐標,H,W代表圖像的寬、高,uc為局部描述符的集合,共c個,Zc為視頻中第c幀圖像像素均值的權重。因此輸出的每張feature map 都形成1*1*C 向量輸入至softmax 中進行分類。2)標準化(Batch Normalization,BN)層數據分布在神經網絡訓練階段會產生重要影響。使用Sigmoid 激活函數,輸入接近于5時已經處在激勵函數的飽和階段,而上層的Leaky Relu 輸出值y'多半超過5 這一范圍,因此,在Sigmoid 激活函數之前應添加BN 層。將3)ISE 模塊產生的特征圖H×W×C 輸入到SAM 模塊,設置跨通道數最佳為k=5,對輸入的特征圖使用空間特征關聯操作,進一步提取圖像空間特征[11]。最后通過Sigmoid 激活函數輸出,為通道上包含重要信息的特征賦予較大權重,從而提高目標檢測精度。

3.3 改進激活函數

MobileNetV3 在它的深層網絡中采用了新設計的Hard-Swish激活函數,但在其淺層網絡中ReLU6激活函數,當在x <0 時,ReLU6 激活函數不僅失去活性,而且可能導致梯度消失,使網絡無法訓練,對圖像特征提取不準確。在非線性激活函數中Sigmoid函數公式如式(2)所示,Tanh函數公式如式(3)所示,ELU 函數公式如式(4)所示,Leaky-ReLU[15]函數公式如式(5)所示。

幾個激活函數公式的曲線圖像,如圖4所示,從圖中可以看出Leaky-ReLU 具有所有ReLU 的優點,并且不存在神經元“失活”問題。

圖4 不同激活函數曲線

本文將Leaky-ReLU 激活函數思想與ReLU6激活函數思想結合,形成了一個新的公式Leaky-ReLU6,如下式:

由式(6)可得,組合激活函數分為三個部分,當x<0 時,函數值為αx,其中參數α是一個非常小的值,可以在模型訓練過程中手動調整,找出模型效果最優的參數值,并在后續的測試過程中繼續;當0 <x<6 時,函數為線性增長,當函數值上升到6時,就保持在6 不再上升,改進的Leaky-ReLU6 激活函數的圖像,如圖5所示。

圖5 Leaky-ReLU6激活函數圖像

3.4 改進后SSD模型

改進后SSD 模型詳細構造見表1,表中Input代表輸入層網絡中圖片大??;poera 代表對特征層進行的block 操作;瓶頸層Bneck 代表bottleneck layers;擴張因子為Exp;#out 表示為特征層的通道數;√表示添加了ISESAM。NL 為非線性激活函數Non-Linearity,其中HS、L-RE 分別代表Mobile-NetV3中的H-Swish和Leaky-ReLU6激活函數。

表1 改進的SSD模型具體參數

4 實驗與分析

4.1 數據庫

本文所建立的無人機目標檢測數據庫是根據檢測過程中可能出現的不同飛行情況進行構建。本數據庫既包括訓練無人機的正樣本,也包括關于鳥類和大型客機的負樣本,由于沒有公開的無人機數據庫,本文獲取的檢測數據庫主要是通過在公開數據集PASCAL VOC 和COCO 數據集中的無人機、鳥類和大型客機樣本以及自行拍攝樣本構建。

4.2 實驗環境配置

實驗訓練以及測試顯卡為Nvidia GeForce RTX1660,處理器為Intel(R)Core(TM)i5 10400F,實驗操作系統為Ubuntu20.04,程序運行環境為Python3.7,計算框架版本為Cuda11.0,深度神經網絡加速庫為Cudnn8.0,深度學習框架為Pytorch1.6,訓練中的部分超參數設置,見表2。

表2 訓練超參數設置

4.3 實驗結果及分析

將SSD-MobileNetV3 算法和本文算法均采用8進程數訓練,初始學習率為0.0001,每隔5 步降低一次學習率,在經過256 輪的迭代后訓練模型學習率穩定在0,同時訓練損失達到最小,網絡達到擬合狀態。訓練損失和學習率對比,如圖6所示。

圖6 訓練損失和學習率對比圖

其中圖6(a)為SSD 算法經過迭代后的訓練損失Loss 和學習率lr,圖6(b)為本文算法使用Leaky-ReLU6 損失函數后的訓練損失Loss 和學習率lr。通過對比發現本文算法在改進損失函數后,訓練的損失能更快的降到最低,同時損失也更趨向于平穩。訓練結果所產生的P-R 對比曲線,如圖7所示,曲線縱坐標為精度Precision,橫坐標為召回Recall,平均精度為P-R 曲線的下面積,其中圖7(a)中為SSD 算法產生的P-R 曲線圖,圖7(b)是本文算法產生的P-R曲線圖。

圖7 P-R曲線對比圖

通過圖7 可得,改進后的SSD 算法比原SSD 算法目標檢測平均精度提高了4%。通過加載訓練數據集產生的權重文件對SSD 算法和本文算法進行對比檢測實驗。如圖8所示,其中圖8(a)為SSD 算法對無人機小目標檢測結果,圖8(b)為本文算法對無人機小目標檢測結果。

圖8 SSD算法與本文算法檢測結果對比

通過對無人機目標飛行過程中遇到的復雜背景問題檢測實驗對比如圖8所示,易得在遇到相似背景圖(a)和圖(b)左圖所示時,SSD 算法與本文檢測算法的檢測準確率分別65%和95%。針對簡單的單一背景,兩種算法的檢測精度分別為72%和98%,如圖(a)、(b)中間圖像。在最右側圖中,均為光照昏暗條件下,兩種算法的檢測為分別為58%和81%,說明光線對檢測結果存在較大影響。經過檢測精度對比結果可得,SSD 算法存在誤檢以及檢測精度不高的問題,而改進后的SSD算法對無人機目標飛行過程中遇到的背景相似及光照不足等問題具有更好的檢測結果。

為進一步證明本文算法的先進性,將本文算法與經典Faster-Rcnn、Yolov3、SSD、SSD-Mobile-NetV3 算法對比,在本文構建的無人機數據集進行訓練和測試,評價指標包括檢測精確度、檢測速度以及模型大小三個方面,實驗對比結果,見表3。

表3 與其他算法的實驗結果對比

由表3 可得盡管Faster-Rcnn 和Yolov3 檢測算法精確度不低,但是算法模型都較大,不適合在微型邊緣計算平臺上進行部署,同時Faster-Rcnn 檢測算法檢測速度只有9fps,達不到實時的檢測要求,不符合本文對無人機實施目標檢測的要求。SSD-MobileNetV3 模型參數量最少為17M,但是它的檢測精確度不如本文算法。本文通過對SSDMobileNetV3 進行改進,在檢測速度以及模型大小不損失太多的情況下,有效地提高了對無人機目標的檢測精確度。相對于原SSD算法,雖然在檢測精確度相差不大,但是在檢測速度上提高了5.26%,同時模型大小減少到20M,更適合在微型邊緣計算平臺上執行,具有實踐意義。

5 結語

本文提出一種改進的SSD 算法用于低空無人機小目標檢測。針對標準的SSD 目標檢測算法參數量較大、對設備計算能力需求較高等特點,在保證一定的檢測精度的情況下,以SSD-MobileNetV3網絡作為特征提取模塊,對SSD算法進行輕量化優化。同時對低空無人機目標檢測過程中出現的小目標、飛行遮擋以及背景相似問題,提出ISESAM模塊和改進激活函數對SSD-MobileNetV3 算法進行改進,形成本文提出改進SSD算法。通過在大型數據集上實驗,可得本文算法提高了低空無人機小目標的檢測效果,同時也更適合在微型邊緣計算平臺上進行部署。然而小樣本的目標檢測尚未深入討論,今后將繼續研究,進一步提高算法的魯棒性。

猜你喜歡
精度函數特征
二次函數
第3講 “函數”復習精講
二次函數
函數備考精講
如何表達“特征”
不忠誠的四個特征
基于DSPIC33F微處理器的采集精度的提高
抓住特征巧觀察
GPS/GLONASS/BDS組合PPP精度分析
改進的Goldschmidt雙精度浮點除法器
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合