999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

結合輕量級特征提取網絡的艦船目標檢測算法

2023-12-11 07:11:38李登峰葉文韜
計算機工程與應用 2023年23期
關鍵詞:特征提取特征檢測

李登峰,高 明,葉文韜

西安工業大學 光電工程學院,西安 710021

隨著我國海洋貿易的快速發展,船舶的數量和種類不斷增加,海面船舶交通日益繁榮,這對海上船舶的識別能力提出了更高的要求[1]。海面環境相較于自然環境更加復雜,經常受到風、海浪、霧、光照等噪聲的干擾,這些噪聲對遠處的弱小目標影響較大,易產生虛警和漏檢現象,檢測效果差。傳統目標檢測算法一般采用特征加分類器的方式,對于復雜多變、噪聲多的海洋環境魯棒性差,且耗時長,易造成檢測窗口冗余,不適用于目前的艦船檢測[2]。

基于深度學習的目標檢測,使用損失函數前向傳播學習目標的特征,再通過反向傳播更新學習到的特征信息,可以更好地挖掘出數據之間的關聯,適合復雜環境下的海面目標檢測[3]。目前,目標檢測算法不僅在檢測的精度上屢創新高,還在模型的結構上發生了很大變化。通常分為兩類:單階段(one-stage)檢測模型和兩階段(twostage)檢測模型[4-5]。單階段模型一般包括:YOLO(you only look once)系列[6]及SSD(single shot multibox detector)[7]等。單階段目標檢測通過回歸的方法獲得目標信息,輸入圖片經過單次處理,就能得到目標的坐標信息和分類信息。隨著YOLOv2到YOLOv5[8-11]接踵而出,YOLO系列算法的檢測速度和精度都得到相應的提高。兩階段模型檢測精度高但是模型結構復雜,導致參數量和計算量大,模型檢測速度慢。經典的兩階段檢測模型有:R-CNN[12]、Fast R-CNN[13]、Faster R-CNN[14]等。其中,Girshick 提出了兩階段中最經典的Faster R-CNN模型,該模型的速度得到提升,但是遠沒有達到YOLO系列的檢測速度。2021年7月,Ge等[15]提出的新型目標檢測模型YOLOX,其檢測的精度與速度超越了以往YOLO系列模型。隨著檢測模型的發展,檢測精度不斷提高,模型結構更加復雜,模型的計算量和參數量加大,但是要將其應用在工程實踐中還需考慮部署平臺的設備承受能力。多數部署平臺沒有強大的計算性能和充足的存儲空間,無法部署這些復雜的檢測模型。因此平衡模型的大小和檢測精度成為目前主要面臨的問題。王子鵬等[16]引入輕量級特征提取網絡MobileNetv3代替YOLOv3的主干網絡達到減少模型計算量的目的。張劍飛等[17]添加注意力機制和Transformer模塊強化模型的特征提取能力,引入通道混合技術提高模型的檢測精度。譚顯東等[18]針對艦船目標檢測框特點對損失函數進行曲線優化,提高了模型精度,但是模型權重比較大。陳科峻等[19]采用剪枝方法對模型進行壓縮,降低了模型的參數量和計算量,但是模型檢測精度僅為77.3%。這些網絡在輕量化的同時犧牲了精度,或者在保持高精度的同時放棄了輕量化,不能真正做到目標檢測的輕量化和高精度并存。

針對以上問題,本文從檢測的精度和模型大小的角度出發,在YOLOX網絡的基礎上提出改進。設計輕量級的特征提取網絡Ghost_ECA,將輕量級的通道注意力機制ECA 串聯到輕量級的特征提取網絡Ghostbottleneck中,用12個桶形排列的Ghost_ECA替代原YOLOX網絡中特征提取部分,壓縮了模型的大小。網絡優化器更改為Adam優化器,引入了Focal loss損失函數,提高了模型的檢測精度。

1 YOLOX基本原理

YOLOX提出了4種不同深度、寬度的模型,由淺至深分別為:YOLOX_s、YOLOX_m、YOLOX_l、YOLOX_x。此外還提出了兩種輕量型的模型:YOLOX_tiny 和YOLOX_nano,但是這兩種輕量型的模型犧牲了高精度,所以本文以YOLOX_s 為基線模型,對模型做出改進。YOLOX的結構圖如圖1所示。

圖1 YOLOX整體結構圖Fig.1 YOLOX structure diagram

YOLOX主要由三部分組成:骨干部分(Backbone)、頸部部分(Neck)、檢測頭(Head)部分。骨干部分提取輸入圖像特征,將提取到的特征傳入網絡的頸部部分做特征融合,融合后的特征圖輸入檢測頭部分,提取檢測結果。Focus 結構如圖2(a)所示,通過切片操作對特征點信息進行隔點采樣,將特征點信息堆疊到通道上,相當于將一張高分辨率圖片切片成多張低分辨率圖片,等同于對特征圖像做了下采樣,但保證圖片信息不丟失。BaseConv 是YOLOX 網絡中的基本卷積,它包括Conv、BN、SiLu,如圖2(b)所示。卷積操作在網絡中主要負責特征提取,是模型最重要的操作之一。BN 讓每層的輸出和下層的輸入數據分布盡量保持一致,模型在訓練的時候更加穩定。激活函數為網絡提供了非線性變化的能力,實現深度模型中層次化逐級抽象特征的能力。CSPLayer 結構如圖2(c)所示,在殘差模塊堆疊的同時構建了大的殘差邊,經過少量處理直接連接到最后,主要負責網絡的特征提取。空間金字塔池化層(spatial pyramid pooling,SPP)主要解決了輸入圖片大小不統一的問題,通過三種不同的池化操作融合多重感受野,結構如圖2(d)所示。

圖2 骨干部分結構圖Fig.2 Structure diagram of backbone

2 YOLOX改進模型

2.1 YOLOX網絡改進

本文設計了輕量級的特征提取網絡Ghost_ECA,融合Ghostbottleneck和ECA注意力機制,Ghost_ECA模型結構如圖3所示。Ghostbottleneck是輕量級特征提取模塊,可以降低模型的計算量和參數量。ECA是輕量級注意力機制,將ECA注意力機制串聯在Ghostbottleneck的兩個Ghost module 之間,只增加極少的參數量,提高模型的檢測精度。Ghost_ECA 模型在保持模型較高檢測性能的同時降低模型的計算量和參數量。圖3(a)是步長為1 時Ghost_ECA 的結構圖,圖3(b)是步長為2 時Ghost_ECA的結構圖。

圖3 Ghost_ECA模型結構Fig.3 Structure of Ghost_ECA model

本文以YOLOX_s 為基線模型,改進了模型的特征提取部分,優化器和損失函數。改進的YOLOX網絡結構圖如圖4 所示。使用12 個Ghost_ECA 模塊代替YOLOX模型中特征提取部分,這12個Ghost_ECA模塊以桶形的方式排列,即dark2 中包含2 個Ghost_ECA 模塊、dark3中包含3個Ghost_ECA模塊、dark4中包含4個Ghost_ECA 模塊、dark5 中包含3個Ghost_ECA 模塊。這種排列方式使得模型保持較高的準確率,且減少了網絡的計算量和參數量。取消了SPP層,因為SPP在模型中主要的作用是增大感受野,從而加強網絡的特征提取能力,而Ghost_ECA模塊已經提高了網絡的特征提取能力,使得SPP對模型的影響力減弱,且SPP參數量較大,增大了模型在磁盤中所需的空間大小。更換模型的優化器,將YOLOX 原優化器SGD 換為Adam。Adam 較SGD添加了一階動量和二階動量,使得損失函數更加接近全局最小值,且本文數據集較小,訓練輪數也設置較小,因此選用Adam優化器更適合本文。引入損失函數Focal loss,緩解數據集樣本不平衡問題,通過使用兩個參數因子,控制易分類樣本的權重,并調節易分類樣本損失降低的速率。

圖4 改進的YOLOX模型結構Fig.4 Improved YOLOX model structure

2.2 輕量級目標檢測模塊

Ghost 模塊是一個主要為輕量級檢測模型設計的即插即用的模塊[20],由兩個Ghost module 組成,Ghost module 結構如圖5 所示。輸入圖像通過卷積生成的特征圖部分是相似的,但是這些相似的特征圖有利于模型全面理解輸入圖像。Ghost模塊提出不是所有的特征圖都要通過卷積獲得,可以使用較低成本的方式去生成這些相似特征,這里低成本指使用深度可分離卷積獲得相似特征。輸入圖像的尺寸為H×W×C(高×寬×通道數),卷積核尺寸為k,輸出圖像尺寸為H′×W′×C′ 。Ghost卷積通過一個普通的卷積,獲得通道數為m的特征層,再通過對已經生成的特征層使用深度可分離卷積,線性內核的尺寸為d,生成n個相似的特征,填充到已生成特征層中,獲得最終輸出特征層。這樣不僅減少了計算參數,還降低了模型體積,檢測速度也得到了提升。

普通卷積和Ghost卷積的參數量分別為:

普通卷積和Ghost卷積參數量比值為:

普通卷積核Ghost卷積的計算量分別為:

普通卷積和Ghost卷積計算量比值為:

通過分析發現,普通卷積與Ghost 卷積的參數量和計算量之比均為C′/m,Ghost卷積通過普通卷積生成的特征圖通道數m的減少,Ghost卷積的參數量和計算量相較于普通卷積更少。

2.3 輕量級通道注意力機制

ECA模塊是一種輕量級的注意力機制,它通過增加少量參數提高網絡的特征提取能力[21]。ECA結構如圖6所示。ECA模塊是一種不降維的跨通道交互模塊,不降維有利于學習網絡的特征,跨信道交互可以降低模型復雜度的同時提高檢測精度。通過不降維和跨通道交互,提高模型在目標特征上的注意力降低模型復雜度,最終提高模型檢測的精度。H、W代表輸入圖像的高和寬,C代表通道數,K代表跨通道交互的鄰居數也代表1×1 卷積的卷積核數,K與通道維數C成正比。利用非線性函數,給定通道維數C,K值就可以自適應地來確定。C和K的非線性函數表達式如下:

表1 參數對比實驗Table 1 Parameter comparison experiment單位:%

圖6 ECA結構圖Fig.6 Structure of ECA

|t|odd代表距離t最近的奇數,γ和b是系數分別為2 和1。本文模型在特征提取部分的通道數C值分別為32、64、128、256,通過公式計算可得,本文模型的K值分別為3、3、4、4。通過自適應的方式確定K值,有利于節省計算資源。

ECA 模塊先通過不降維的全局平均池化策略學習網絡的特征,對每個通道及其K個相鄰通道進行1×1卷積來獲得跨通道交互信息,然后再通過一個1×1卷積后和平均池化前的圖像進行相加。

2.4 損失函數

Focal loss損失函數是在標準交叉熵損失基礎上改進得到的,最初用于圖像領域解決數據不平衡造成的模型性能問題[22]。在YOLO檢測算法中,通常一張圖會產生104個可能候選框,但只有極少數的候選框真正包含被檢測物體,這種正負樣本不均衡會導致模型學習的大部分是簡單負樣本,訓練不充分,訓練效果變差。Focal loss 損失函數根據模型的置信度信息動態調整損失來解決類別不平衡的問題,當預測正確的置信度信息增加時,損失的權重逐漸衰減,通過調整權重信息,讓模型訓練時更加關注難分類的樣本。公式可以表示為:

公式(8)為交叉熵損失函數,y′代表預測的結果是某一類的概率,y代表標簽,在二分類任務中對應0 和1,也就是對應分類正確和分類錯誤。公式(9)為本文使用的Focal loss 損失函數,在權重上添加γ可調節因子,且γ >0,用于調節易分類樣本損失降低的速度,本文模型的γ因子設置為2。添加α權重因子,用于平衡正負樣本本身的比例不均,本文模型的α因子設置為0.25。γ和α的值沿用文獻[22]中的實驗結果,當γ為2、α為0.25時,效果最好。

3 實驗

3.1 數據集構建

選用SMD 數據集(singapore-maritime-dataset)新加坡海事數據集,包括共40 個可見光下在岸上拍攝的海面艦船視頻,視頻長度為3 s 到30 s 不等。由于模型訓練使用的是圖片格式,將40 個視頻每15 幀提取一張圖片,一共截取了1 240 張不同的海面艦船圖片。將訓練集和測試集按照7∶3的比例劃分,其中訓練集868張、測試集372 張。使用MAKE SENSE 在線標注軟件,對數據集以VOC格式進行標注,共有8 877個標注樣本。該數據集的檢測目標可以分為8 類,包括:Ferry、Buoy、Ship、Speed Boat、Boat、Kayak、Sail Boat、Other。

3.2 評價指標

AP(average precision)計算某一類別P-R曲線下的面積。mAP(mean average precision)也就是計算所有類別P-R 曲線下面積的平均值。P 為模型檢測的準確率,R 為模型檢測的召回率。P-R 曲線就是以準確率為y軸,召回率為x軸繪制的曲線。公式如下:

TP是預測為正,實際也為正,預測正確的樣本數量;FN是預測為負,實際為正,是預測錯誤的樣本數量;FP是預測為正,實際為負,預測錯誤的樣本數量;TN是預測為負,實際為負的樣本數量,是預測正確的樣本數量。

參數量是模型中參數的總和,跟模型在磁盤中所需的空間大小直接相關。計算量是模型所需的計算次數,反映了模型對硬件計算單元的要求。FPS(frames per second)是每秒傳輸的幀數,體現模型處理圖片的速度,其檢驗結果受硬件影響。本文選擇mAP、參數量(Params)、計算量(GFLOPs)、FPS來評估算法的性能。

3.3 實驗結果與分析

本文實驗使用Ubuntu-18.04 操作系統,IDE 是PyCharm,開發語言是Python 3.8.10,深度學習框架為Pytorch 1.8.0,CUDA 版本為10.2。硬件中CPU 和GPU分別是Intel Xeon 和NVIDIA 2080Ti。設置輸入圖片和驗證圖片大小均為640×640,數據增強中mosaic的范圍是0.1到1,最后15個epoch不做mosaic數據增強。訓練輪數設置為80輪,batch_size為12,動量為0.9。

針對Focal loss中的參數γ和α的取值進行對比實驗,參數γ用于調節易分類樣本損失降低的速度,參數α用于平衡正負樣本的比例不均,實驗結果如表1 所示。從表1 中可以看出,當γ為2、α為0.25 時,本文模型檢測精度最高。

為驗證本文模型的性能,在相同的實驗條件下,利用自制艦船數據集進行訓練和驗證對比。YOLOX_s和本文算法每類的AP 值,如表2 所示。本文模型在小目標皮劃艇(Kayak)的檢測效果略低于YOLOX_s,在浮標(Buoy)、輪渡(Ferry)上的檢測效果高于YOLOX_s,其他目標檢測效果相差不大,在mAP@0.5 上本文模型略高于YOLOX_s,達0.28個百分點,因此本文模型在檢測精度上保持較高水平。

表2 每類AP值的實驗數據Table 2 Experimental data of AP values of each type 單位:%

YOLOX_s 和改進后的模型檢測結果如圖7 所示,矩形框框出的物體代表模型能檢測到的物體。圖7(a)YOLOX_s 模型檢測到5 個目標,在海天分界線處有兩個小目標漏檢,圖7(c)改進YOLOX模型可以全部檢測到。圖7(b)YOLOX_s 模型檢測到7 個目標,在圖片的邊界處漏檢了一個不完整目標,圖7(d)改進YOLOX模型可以全部檢測到。可以看出在遠處的弱小目標或圖像邊界處的不完整目標,YOLOX_s模型檢測效果不佳,本文模型均可檢測到。

圖7 YOLOX_s和改進YOLOX實驗結果對比。Fig.7 Comparison of experimental results between YOLOX_s and improved YOLOX

在訓練參數相同的情況下,對本文模型進行縱向對比實驗。選擇兩個不同深度和寬度的模型,s和m進行驗證。YOLOX_s 模型的深度為0.33,寬度為0.5;YOLOX_m模型的深度為0.67,寬度為0.75,結果如表3所示。通過驗證發現,在相同的實驗條件下,s模型中改進后的模型比原模型的mAP高出0.28%,檢測精度相比原模型有少量提高,參數量和計算量上相比原模型分別降低36.57%和27.54%;m模型中改進后的模型比原模型的mAP 高出0.21 個百分點,參數量和計算量上相比原模型分別降低40.70%和35.88%。

表3 模型改進后性能指標對比Table 3 Comparison of performance indexes after model improvement

為客觀驗證改進模型的性能,利用自制艦船數據集,選取Faster-RCNN、SSD、CenterNet、Efficientdet、DETR、YOLOV3、YOLOX_s、YOLOX_tiny 共八個主流的目標檢測模型,在相同的實驗設備下進行對比實驗。通過對比八個主流檢測模型的mAP@0.5、Params、GFLOPs、FPS 共4 個檢驗指標,客觀分析本文算法的優劣性,如表4所示。

表4 主流目標檢測模型實驗數據Table 4 Experimental data of mainstream target detection model

Efficientdet模型是對比模型中最輕量的,但是檢測精度僅有31.3%。CenterNet 模型的檢測速度是對比模型中最快的,可達每秒71.51幀,但是檢測精度和模型大小均表現較差。YOLOX_tiny 模型的計算量和參數量略小于本文模型,但是精度低于本文模型5.8個百分點。在相同實驗條件下,綜合mAP@0.5、Params、GFLOPs、FPS共4個檢測指標,本文算法的檢測精度最高,計算量和參數量較低,檢測速度較高。

為進一步驗證改進部分Ghost_ECA 和排列方式對模型的有效性,以YOLOX_s模型為基線模型設計實驗,結果如表5所示。

表5 改進部分Ghost_ECA的實驗對比Table 5 Improved ghost_ Experimental comparison of ECA

YOLOX_s 模型的特征提取部分是CSPLayer 模塊,CSPLayer在骨干部分的結構為:dark2中使用了1個CSPLayer、dark3 中使用了3 個CSPLayer、dark4 中使用了3個CSPLayer、dark5中使用了1個CSPLayer。將特征提取網絡換成本文設計的Ghost_ECA,采用YOLOX_s骨干部分的排列方式,也就是1、3、3、1 的排列方式,模型精度降低了5.27 個百分點。換用本文的排列方式2、3、4、3,增加少量計算量和參數量,提高模型精度2.48個百分點。證明了本文的排列方式對模型的有效性。使用12 個桶形排列的Ghostbottleneck 模塊可以減少模型的計算量和參數量,與基線模型相比,計算量減少27.57%,參數量減少36.57%。與此同時模型精度也降低了3個百分點左右,更換Ghostbottleneck為Ghost_ECA模塊,融合了輕量級的注意力機制,提高了模型精度0.26個百分點,證明了Ghost_ECA模塊對模型的有效性。

為驗證各個改進部分對模型的有效性,評估改進部分不同組合方式對算法的影響,設計消融實驗,實驗結果如表6 所示。Ghost_ECA 模塊主要降低模型的計算量和參數量,但是模型的精度受到了影響;Adam優化器大幅提高模型的精度至原YOLOX_s 水平,彌補了Ghost_ECA 為降低計算量和參數量造成的精度損失;Focal loss在此基礎上,不增加計算量和參數量,小范圍提高模型的精度。Ghost_ECA、優化器、Focal loss三個部分共同作用,使改進后的模型輕量化的同時保持檢測精度不變,易于部署在算力不足的小型設備上。

表6 消融實驗數據Table 6 Ablation experimental data

4 結束語

為了解決海面艦船檢測需同時具備輕量化和高精度的問題,本文提出了一種基于改進YOLOX的艦船檢測模型。以YOLOX_s為基線模型,對骨干網絡、優化器和損失函數進行改進,設計輕量級的特征提取網絡Ghost_ECA并以桶形的排列方式排列,替換模型的優化器為Adam,引入Focal loss 損失函數。通過對比發現,改進后的YOLOX 模型mAP 達89.86%,與基線模型的結果相比較精度提高了0.28個百分點,模型的計算量和參數量分別降低27.54%、36.57%。本文模型提高檢測精度的同時降低了參數量和計算量,平衡了模型的大小和模型檢測精度,有益于模型部署在算力不足和存儲空間小的移動設備端。

猜你喜歡
特征提取特征檢測
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
如何表達“特征”
基于Gazebo仿真環境的ORB特征提取與比對的研究
電子制作(2019年15期)2019-08-27 01:12:00
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
一種基于LBP 特征提取和稀疏表示的肝病識別算法
小波變換在PCB缺陷檢測中的應用
基于MED和循環域解調的多故障特征提取
主站蜘蛛池模板: 女人18毛片久久| 欧美日韩一区二区三区四区在线观看| 国产精品网拍在线| 国产另类视频| 欧美在线综合视频| 亚洲色中色| 国产va在线观看| 国内精品视频区在线2021| 久久大香香蕉国产免费网站| 欧美视频在线观看第一页| 97精品国产高清久久久久蜜芽| 欧美在线伊人| 国产欧美亚洲精品第3页在线| 国产杨幂丝袜av在线播放| 亚洲av色吊丝无码| 精品人妻系列无码专区久久| 无码啪啪精品天堂浪潮av| 国产福利微拍精品一区二区| 午夜视频www| 91青青在线视频| 国产在线视频福利资源站| 宅男噜噜噜66国产在线观看| 国产情侣一区二区三区| 成年av福利永久免费观看| 9啪在线视频| 国产欧美日韩在线一区| 免费不卡视频| 亚洲国产精品一区二区第一页免| 不卡午夜视频| 亚洲乱强伦| 国产高清自拍视频| 中国一级特黄视频| 91小视频在线| 亚洲人成影院午夜网站| 97久久超碰极品视觉盛宴| 欧美精品伊人久久| 福利一区三区| 色香蕉网站| 67194成是人免费无码| 国产伦精品一区二区三区视频优播| 97影院午夜在线观看视频| 另类专区亚洲| 毛片网站免费在线观看| 精品国产三级在线观看| 无码国内精品人妻少妇蜜桃视频| 亚洲精品久综合蜜| 视频一本大道香蕉久在线播放| 91精品专区国产盗摄| 国产后式a一视频| 欧美.成人.综合在线| 五月激情婷婷综合| 国产中文一区a级毛片视频| 成人在线不卡| 免费国产不卡午夜福在线观看| 国产欧美亚洲精品第3页在线| 91精品人妻一区二区| 在线一级毛片| 亚洲日韩第九十九页| 久久黄色影院| 久久熟女AV| 99re经典视频在线| 亚洲永久视频| 国产精品成人第一区| 久久综合伊人77777| 亚洲视频无码| 国产成人无码播放| 亚洲精品国产成人7777| 亚洲Av综合日韩精品久久久| 国产亚洲精品91| 亚洲天堂啪啪| 久久精品亚洲中文字幕乱码| 亚洲一区二区三区在线视频| 国产a网站| 青草视频久久| 亚洲综合片| 国产精品不卡永久免费| 国产成人精品午夜视频'| 亚洲中文在线视频| 精品久久国产综合精麻豆| 国产成人亚洲无码淙合青草| 亚洲免费三区| 免费一级毛片在线播放傲雪网|