?

基于改進YOLOv5s的輕量化車輛目標檢測算法

2023-12-26 12:47舒騰輝
黑龍江大學工程學報 2023年4期
關鍵詞:輕量化卷積深度

舒騰輝,叢 屾

(黑龍江大學 機電工程學院,哈爾濱 150080)

0 引 言

近年來,基于深度學習的人工智能技術取得了重大突破,深度學習在各領域都有著良好表現[1-2]。自動駕駛在智能交通領域變得越來越受到關注。在自動駕駛領域中,主要的檢測對象是行駛在道路中的車輛,為了使自動駕駛在車輛目標檢測任務中有些良好的表現,針對車輛的識別和歸納顯得尤為重要[3]。

目前深度學習目標檢測的方法主要分為one-stage、two-stage和anchor free的檢測方法,針對two-stage檢測算法中預設anchor情況,冗余框較多的問題,提出了anchor free,以達到實時高精度。而one-stage檢測算法中的YOLO(You Only Look Once)[4-8]系列算法結合了anchor free,因此在車輛檢測任務中,主要使用one-stage檢測算法,相較于two-stage檢測算法,檢測速度更快,更適合對高速運行的車輛進行目標檢測。其中,YOLOv1-v3主要的網絡結構包括:負責特征提取的Backbone層、負責特征融合的Neck層,以及負責分類結果預測并輸出的Head層。YOLOv3算法在Neck部分借鑒了特征金字塔的思想,引入了自底向上的FPN結構,在3個不同的尺寸上分別進行預測[9]。YOLOv4和YOLOv5算法在YOLOv3的基礎上引入了自頂向下的PAN結構,即FPN+PAN相結合的形式,擴大了感受野,能夠獲得feature map的語義特征和位置信息。

在使用 YOLO 算法對車輛檢測時,由于YOLO 模型的內存較大,對YOLO算法的輕量化是當前的研究方向。Howard A G等[10]提出了滿足移動設備要求的高效模型MobileNets,采用深度可分離卷積構建輕量級網絡,將卷積過程分解為深度卷積、逐點卷積兩部分,實現通道內卷積和通道間卷積的分離,達到了減少模型參數量的目的;Liu W J等[11]利用深度可分離卷積設計了一種反殘差模塊,有效減少了模型計算量和存儲量?;魫矍宓萚12]提出了改進的YOLOv3算法對車輛目標進行實時檢測,其參數量比原有的減少了67%,提升了性能和效率。通過將深度可分離卷積引入YOLOv4-tiny的CSP架構。黃凱文等[13]成功地將網絡的參數量降低了52%,從而顯著改善了網絡的反應能力。王銀等[14]為了提升小目標車輛的檢測性能,同樣基于YOLOv4模型,在PAN結構中引入深度可分離卷積,同樣也將參數量減少了42%,提升了網絡響應速度。由此可見,輕量化網絡結構MobileNet在減少模型參數有良好的表現,因此引入了MobileNet系列的v3版本,提出了一種將YOLOv5s算法與MobileNetv3-Large輕量級網絡相結合的改進算法,提升其檢測速度并降低網絡的參數量。

1 輕量化網絡MobileNet

Google從2017到2019年相繼推出了輕量化網絡MobileNet系列,MobileNetv1[10]提出了深度可分離卷積,MobileNetv2[15]在這基礎上新增加了瓶頸殘差模塊,MobileNetv3[16]的網絡架構將深度可分離卷積[17]和線性瓶頸技術有機地結合在一起,以提升其效率和可靠性,SE[18](Squeeze and Excitation)注意力模塊以及h-swish函數的應用,提升了系統的運行效率。因此,本文采用MobileNetv3替換YOLOv5s的骨干網絡,以此減少參數量。

MobileNet系列算法通過改變傳統的卷積模型為深度可分離卷積模型,使其能夠更有效地處理復雜的問題,從而降低計算量和參數量,并且加快運行速度。深度可分離卷積由深度卷積和1×1的逐點卷積兩部分組成。通過使用濾波器和線性組合技術,可大幅度降低參數的復雜度,節省計算成本。

MobileNetv3網絡結構是該系列中最先進的算法,特點是模型尺寸小、參數量少,且精確度較高,能夠滿足多種復雜的分類、檢測、圖像分割等需求,并能夠在多種計算能力水平上得到良好的運行效果。作為基礎模塊的Bneck結構,采用1×1的卷積技術,可有效地提高維度,從而更好地利用高維空間中獲取的特征信息來進行深入研究;采用深度可分離卷積技術,并將SE模塊融入其中,以實現對各種通道的權重的有效調節,提高系統的性能和效率;采用1×1的卷積算法,可有效地減少維度,而當步長設定為1時,可對輸出和輸入進行殘差處理。Bneck結構見圖1。

圖1 MobileNetv3的Bneck結構Fig.1 Bneck structure of MobileNetv3

2 改進的YOLOv5s車輛檢測算法

YOLOv5s[6]基于回歸的One-Stage目標檢測算法。采用MobileNetv3-Large網絡取代YOLOv5s網絡中的骨干網絡CSPDarkNet53,以改善模型的性能,而其余部分則與原有模型保持一致,其結構見圖2。

圖2 YOLOv5s-M3網絡結構Fig.2 Network structure of YOLOv5s-M3

由圖2可見,YOLOv5s-M3在經過MobileNetv3之后,獲得的特征矩陣96×13×13先是通過1×1卷積,得到48×13×13的特征矩陣,再輸入到空間金字塔層(Spatial Pooling Layer,SPP)模塊,通過在3個并列的最大池化處中進行下采樣,由于每個步長均為1,因此得到的結果為48×13×13;然后,將結果與輸入該模塊的特征矩陣在深度上相加,得到182×13×13的特征矩陣;最后,使用96×96的卷積核進行卷積,使特征矩陣恢復為96×13×13。在頸部使用空間金字塔結構,特征金字塔[19](Feature Pyramid Network,FPN)自上向下傳達強語義(High-Level)特征,路徑聚合網絡[20](Path Aggregation Network,PAN)則自下向上傳達強位移(Low-Level)特征,兩者聯合,提高了特征信息提取能力。

YOLOv5s中含有3種損失函數,分別影響分類(cls_loss)、定位(box_loss)、置信度(obj_loss)。其中分類和置信度的損失函數采用的是BCE Blur With Logits Loss,為一種二元交叉熵損失函數;定位的損失函數采用的是CIOU[21]。

(1)

(2)

(3)

(4)

式中:b和bgt分別為預測框和真實框的中心點;ρ為計算兩個中心點之間的歐氏距離;c為用來描述一個可容納真實框和預測框的最小閉合區域,用來描述兩個框之間的距離。v為衡量真實框和預測框相對比例的一致性;α為權重系數,不僅包含了面積交并比IOU,還包含了更多的考慮因素,這些因素構成了αv。

CIOU可準確地反映出物體的長寬比,但精確性取決于物體的位置和置信度,因此,如果忽略了這些因素,可能導致檢測出現偏差。因此,采用EIOU[22]損失函數,EIOU是在CIOU基礎上的改進,增加了長度與寬度的損失,以彌補CIOU的不足。表達式為

(5)

3 實驗分析

3.1 實驗數據集

實驗數據集的選擇:UA-DETRAC[23]數據集是取景于北京和天津的道路過街天橋。其中訓練集約82 085張圖片,測試集約56 167張圖片,該數據集可用于多目標檢測和多目標跟蹤算法開發。實驗所選取其中6 000張圖片組成一個新的數據集UA-DETRAC-P,并將其按照6∶2∶2的比例將其劃分為訓練集、驗證集和測試集。

3.2 實驗環境與參數

實驗在Windows 10系統中進行,選用型號為NIVIDA GeForce RTX3060的圖形處理器(Graphics Processing Unit,GPU),加速環境為 CUDA 11.3,CUDNN8.2.1。在模型實驗參數的中,設置迭代次數為200次,學習率為0.001,batch size為4。

3.3 評價指標

在實驗過程中與不同算法的性能進行比較,主要評價指標是從平均精準率均值(Mean Average Precision,mAP)和檢測速度(Frames Per Second,FPS)進行對比。在目標檢測過程中,T和F表示分類是否正確,P和N分別表示正樣本和負樣本,TP(True Positives)表示正樣本被正確識別,TN(True Negatives)表示負樣本被正確識別,FP(False Positives)表示誤測的負樣本,FN(False Negatives)表示漏測的正樣本。AP(Average Precision)為平均精度,即PR曲線上各精度值的平均值,表達式為

(6)

對于每個類別,按照上述方法計算AP值,并取所有待映射類別AP值的平均值:

(7)

精確率和召準率分別為

(8)

(9)

3.4 結果與分析

通過采用UA-DETRAC-P數據集對模型進行訓練,并且針對改進步驟進行消融實驗,通過對比參數量、mAP值和FPS來證實算法改進的有效性。通過采用優化骨干網絡、調整損失函數以及將兩種技術有機地結合,并對其采用消融實驗進行驗證分析,結果見表1。

表1 不同改進方法對算法性能的提升

由表1可見,針對骨干網絡進行MobileNetv3的輕量化優化,模型的檢測速度從30幀/s提升到了33幀/s,對損失函數的優化之后,mAP值從83.27%提升到了83.35%,且檢測速度從30幀/s提升到了33幀/s,將兩種優化結合在一起后的YOLOv5s-M3相較于YOLOv5s,其檢測速度從30幀/s提升到了37幀/s,且參數量從7.33 M減少到了6.41 M,實驗證明本文的改進方法有一定的提升效果,檢測可視化結果見圖3。

圖3 YOLOv5s-M3檢測結果圖Fig.3 Detection result graph of YOLOv5s-M3

將YOLOv5-M3算法與其他輕量化算法進行比較,結果見表2。

表2 不同算法的AP、mAP對比

由表1和表2可見,提出的YOLOv5-M3算法相較于YOLOv5s算法來說,mAP值雖然有0.34%的降低,但是參數量減少了0.92 M,檢測速度增加了7幀/s。并且YOLOv5-M3算法相比于輕量化算法YOLOv5-lite在測試集中的訓練結果來說,提出的改進方法有著較好的檢測精度。

4 結 論

針對車輛檢測算法對于小目標檢測較困難的問題,基于YOLOv5算法,通過使用MobileNetv3網絡結構替換原有的骨干網絡結構,使用EIOU函數改善損失函數,降低模型的復雜度,減少模型的參數量,提升模型的檢測速度,并經過實驗驗證,優化后的YOLOv5s-M3算法的mAP值較其他輕量化算法更加出色,并且具備更強的魯棒性。

猜你喜歡
輕量化卷積深度
汽車輕量化集成制造專題主編
基于3D-Winograd的快速卷積算法設計及FPGA實現
深度理解一元一次方程
從濾波器理解卷積
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
深度觀察
深度觀察
深度觀察
基于傅里葉域卷積表示的目標跟蹤算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合