孫福臨,李振軒,粱允泉,董苗苗,葛廣英
(1. 山東省光通信科學與技術重點實驗室,聊城 252059;2. 聊城大學物理科學與信息工程學院,聊城 252059;3. 聊城大學計算機學院,聊城 252059)
這些年來,隨著社會經濟的不斷發展,汽車的保有量不斷攀升,燃油價格走高,機動車出行越發不便,越來越多的人選擇了電動車這一出行方式。正是因為許多人在駕駛電動車出行時缺乏安全意識,有關部門于2022 年出臺了新的交通法規,對電動車駕駛人員的行為做出了嚴格限制,其中明確規定電動車嚴禁違規載人。目前來說,僅僅依靠交警很難完成對于電動車違規載人行為的查處,并且缺乏相關的能輔助交警檢測的電子系統或設備。因此,結合計算機視覺以及深度學習技術來構建一套可以判別電動車違規載人的系統很有必要。
21 世紀,伴隨著深度學習技術突飛猛進的發展,立足于深度學習的目標檢測算法也迎來了長足發展,主要包含了以YOLO、SSD[1]、Efficientnet[2]系列算法為代表的單階段檢測方法和以R?CNN[3]、Faster R?CNN[4]、Mask R?CNN[5]等算法為代表的兩階段檢測方法這兩大類目標檢測算法。其中兩階段檢測的網絡依賴于算法提前產生的目標候選框,而單階段檢測方法則不需預先生成目標候選框。
自2015 年YOLOv1[6]被提出以來,YOLO 系列算法得到了廣泛發展,YOLOv1算法利用回歸的思想,使用一階網絡直接完成了分類與位置定位兩個任務。YOLOv2[7]在此基礎上加入了Batch Normalization,High Resolution Classifier,Anchor Boxes 等方法,成功地提升了網絡收斂速度和網絡定位的精準度。2018 年YOLOv1 的作者提出了YOLOv3[8],它是前作的改進,最大的改進特點包括使用了殘差模型Darknet?53來提升主干網絡的深度,以及為了實現多尺度檢測采用了FPN 架構。YOLOv4[9]在原來的YOLO 目標檢測架構的基礎上,采用了很多優化策略,在數據處理、主干網絡、網絡訓練、激活函數、損失函數等方面都有不同程度的優化,有效增強了網絡的學習能力,降低了成本。YOLOv5則是于2020年通過Ultralytics 提出,該網絡一經問世便廣受好評。與YOLOv4 相比,YOLOv5 不僅目標檢測的準確率不相上下,而且其強大的推理能力、快速的訓練過程,以及輕量級的模型大小使其非常適合于前端部署和快速目標檢測,這項優點使得YOLOv5廣受青睞。
綜上所述,正是由于YOLOv5 在推理速度和準確率方面都十分優秀,而針對于電動車違規載人檢測的輕量級算法部署在模型推理速度和準確率方面均有較高的需求,因此本文在YOLOv5的基礎上,進一步針對其網絡結構進行不斷優化,通過更換輕量級主干網絡Mobile?netv3、增加高效的注意力機制ECA?Net、更換輕量級的頸部網絡Slim?Neck、空間金字塔池化結構SPPFCSPC 等方法以達到盡可能減少參數量和計算成本的目的,進而實現提高FPS 和檢測精度的目標,最終通過篩選模型的準確率和推理速度等指標來確定和驗證所提出模型的優越性,并將其部署在前端嵌入式設備Jetson nano上進行實時檢測。
自從2020 年Ultralytics 發布YOLOv5 以來,該算法經過了多次更迭和改進,目前最新的YOLOv5?6.2 共有五種不同參數量的版本(N,S,M,L,X),他們的不同之處在于控制其網絡的寬度和深度的參數不同,如果想要完成邊緣計算的模型部署,首選模型最小且參數量最少的YOLOv5n部署實驗,其結構如圖1所示。

圖1 YOLOv5結構
YOLOv5n 的整個結構由四部分組成:①由各種卷積網絡組成的主干網絡Backnbone;②用于預測目標框和目標類別的檢測頭Head;③介于Backbone 和Head 之間的Neck 結構;④用于輸出檢測結果的預測層。
YOLOv5n算法的工作原理:
(1)輸入端采用了自適應圖片縮放、自適應錨框計算、Mosaic 數據增強對數據集進行操作以提高目標檢測的精確度。
(2)主干網絡刪除了Focus 結構來壓縮網絡提高速度,使用CSP1_X 殘差結構對圖像特征進行提取,使用相較于SPP[10]結構而言速度更快的SPPF結構進行特征提取,提高感受野。
(3)Neck 網絡使用了FPN[11]+PAN[12]結構并結合CSP2_X 結構來融合圖像特征,得到預測的特征圖。
(4)輸出端使用了DIOU_Loss 損失函數,在IOU_Loss 和GIOU_Loss 的基礎上,改進了邊界框中心點距離的信息。
隨著深度學習的不斷發展,深度學習模型的網絡深度持續增加,雖然很大程度上提升了精度,卻也使得模型對計算資源的要求越來越高,運行速度變慢[13]。因此本文想要尋求一種以YOLOv5為基礎的輕量化網絡模型,作為適用于邊緣設備的解決方案。
在YOLOv5n 的主干網絡中,主要由Conv 模塊和使用了CSP 架構(cross stage partial network)的C3 模塊組成,它們的主要工作就是提取輸入圖片的有效特征信息。在實驗中發現,YOLOv5的作者設計的通過調節網絡寬度系數和深度系數的方式來減少網絡參數實現模型輕量化的方法,會導致訓練出的模型的目標檢測準確度降低,同時誤檢率和漏檢率升高。因此,本文尋求一種可以在減少網絡參數量的同時提高特征提取能力的方法來實現輕量化,故此引入Mo?bilenetv3 網絡結構對YOLOv5n 的主干網絡所使用的Conv模塊和C3模塊進行替換,達到同時縮減模型參數量和提升檢測準確率的目的。
2.1.1 Mobilenetv3工作原理
Mobilenetv1[14]是由Google 團隊于2017 年提出的專注于移動端或者嵌入式設備的輕量級CNN 網絡。使用深度卷積(depthwise convolu?tion,DW)在準確率小幅降低的前提下大大減少模型參數與運算量。緊接著,2018 年Google 團隊又提出了Mobilenetv2[15],基于前作增加了兩個新的改進點,使用倒殘差結構(inverted residu?als)來增加網絡深度,減少DW 卷積所造成的特征信息損失;在結構的最后一層采用線性層(linear bottlenecks)取代了ReLU 激活函數,降低對低維特征的信息損失。
2019 年提出的Mobilenetv3[16]網絡在結合前作的基礎上重新設計了耗時層,加快了推理速度,引入了輕量級注意力機制SE?Net(squeeze?and?excitation networks)并且重新設計了激活函數(hard?sigmoid)。
深度可分離卷積(depthwise separable convo?lution,DSC)包含了深度卷積(depthwise convolu?tion,DW)以及逐點卷積(pointwise convolution,PW)兩個部分,圖2展示了其卷積過程。相較于傳統卷積而言,DSC 卷積的參數量和計算量都大幅減少,對比如下:

圖2 深度卷積示意圖
其中:W1代表了DSC 卷積的計算量;W2代表了傳統卷積的計算量。Mobilenetv3 網絡中卷積核尺寸多數為5*5。所以DSC卷積的計算成本僅為傳統卷積的1/25。
如圖3 所示,在Mobilenetv3 的倒殘差結構中先使用1*1卷積擴張通道數,在高維度中使用DW 卷積,最后使用1*1 卷積縮減通道數。這樣做的目的在于通過第一次的升維操作將Tensor維度拉高,低緯度Tensor 計算速度快,但是無法提取足夠多的特征信息,因此將通道數目擴張,而針對高維Tensor 使用傳統卷積計算量太大,因此使用DW 卷積既可以有效完成特征提取又可以減少運算量,隨后再使用1*1卷積來壓縮數據重新讓網絡變小,實現輕量化計算。正因如此,Mobilenetv3 可以用于構建輕量化網絡[17],從而適配于邊緣計算。

圖3 殘差結構與倒殘差結構示意圖
2.1.2 Mobilenetv3激活函數改進
之前在Mobilenetv2 都是使用ReLU6 激活函數。現在比較常用的是swish 激活函數,即swish=x×σ(x)。使用swish 激活函數確實能提高網絡的準確率,但是它存在一些問題。首先就是其計算和求導時間復雜,僅僅是進行σ(x)計算和求導就比較困難了。其次就是對量化過程非常不友好,特別是對于移動端的設備,為了加速一般都會進行量化操作。為此,作者提出了一個叫做h?swish的激活函數。
h?swish激活函數與h?sigmoid有些相似之處:
從圖4 可以看到swish 激活函數的曲線和h?swish 激活函數的曲線非常相似。Mobilenetv3 的作者在原論文中提到,經過將swish激活函數替換為h?swish,sigmoid 激活函數替換為h?sigmoid 激活函數,對網絡的推理速度是有幫助的,并且對量化過程也很友好。

圖4 激活函數對比
常用的注意力機制一般分為通道注意力機制和空間注意力機制兩種,在Mobilenetv3中添加了輕量級注意力機制SE?Net(squeeze?and?excitation networks)[18],屬 于 通道注意 力 機制。如 圖5 所示,在輸入SE 注意力機制之前,特征圖的每個通道的重要程度都是一樣的,通過SE?Net之后,不同顏色代表不同的權重,使每個特征通道的重要性變得不一樣,使神經網絡重點關注某些權重值大的通道。

圖5 SE注意力機制
SE注意力機制的實現步驟如下:
(1)Squeeze:通過全局平均池化,將每個通道的二維特征(H*W)壓縮為1個實數,將特征圖從[h,w,c]轉變為[1,1,c]。
(2)excitation:給每個特征通道生成一個權重值,論文中通過兩個全連接層構建通道間的相關性,輸出的權重值數目和輸入特征圖的通道數相同。特征圖張量保持不變。
(3)Scale:將前面得到的歸一化權重加權到每個通道的特征上。Mobilenetv3 論文中使用的是乘法,每個通道分別乘以權重系數。
SE?Net 的核心思想是通過全連接網絡根據loss損失來自動學習特征權重,而不是直接根據特征通道的數值分配來判斷,使有效的特征通道的權重增大。然而SE?Net注意力機制不可避免地增加了一些參數和計算量,SE?Net中的降維會給通道注意力機制帶來副作用,并且捕獲所有通道之間的依存關系效率不高,而且是不必要的。因此,本文使用SE?Net的改進版ECA?Net[19]注意力機制對其進行替換。
ECA 注意力機制模塊直接在全局平均池化層之后使用1*1卷積層,去除了全連接層。該模塊避免了維度縮減,并有效捕獲了跨通道交互。并且ECA?Net 只涉及少數參數就能達到很好的效果[20]。
ECA?Net 通過一維卷積layers.Conv1D 來完成跨通道間的信息交互,卷積核的大小通過一個函數來自適應變化,使得通道數較大的層可以更多地進行跨通道交互。
自適應函數為
其中:γ= 2,b= 1。
ECA?Net注意力機制如圖6所示。

圖6 ECA注意力機制
ECA注意力機制的實現過程如下:
(1)將輸入特征圖經過全局平均池化,特征圖從[h,w,c]的矩陣變成[1,1,c]的向量。
(2)根據特征圖的通道數計算得到自適應的一維卷積核大小kernel_size。
(3)將kernel_size 用于一維卷積中,得到對于特征圖的每個通道的權重。
(4)將歸一化權重和原輸入特征圖逐通道相乘,生成加權后的特征圖。
2022 年6 月,重慶交通大學和不列顛哥倫比亞大學共同提出了新的卷積模塊GSConv[21],闡述了目前的卷積機制的優劣,PW 卷積的精度高但是計算成本高,DSC 卷積可以有效緩解高計算成本[22],但是其缺點也十分明顯,其輸入圖像的通道信息在計算過程中是分離的,這會導致精度出現下降。在此基礎上提出了GSConv結構,通過GSConv 引入了Slim?Neck 方法,在減少計算成本的同時維持精度,更好地維護了模型準確性與速度的平衡。其結構如圖7 所示。首先使用卷積核尺寸為1*1 的PW 卷積運算壓縮通道數,得到特征圖f1,再經過DW 卷積得到特征圖f2,將二者拼接得到f3,而后通過shuffle 操作將PW 卷積生成的信息滲透到DW 卷積生成的信息當中,得到最終的特征圖f4,這樣做既能減少計算成本又可以最大限度降低DW 卷積對模型精度造成的影響,使最終的卷積結果接近于PW卷積。

圖7 GSConv結構
為了加快模型的運算速度,特征圖會在Backbone 中經歷如下的過程:空間信息會逐步向通道傳輸,特征圖的寬度和高度被不斷壓縮而通道數逐漸增多,這會導致語義信息的丟失。PW 卷積最大程度地留存了通道之間的隱藏鏈接,而DSC 卷積則完全切斷了這些隱形鏈接,由于GSConv結合了PW 卷積和DSC卷積的特點,所以盡可能多地保留了這種隱形鏈接,但是如果在Backbone 和Neck 中都是用該結構的話,會使網絡模型層不斷加深,這會大大增加推理計算所耗費的時間,而特征圖在傳輸到Neck 時,已經變得較為細長,不再需要進行變換,冗余信息少且不需要壓縮,因此在Neck 部分使用GSConv 效果最好。值得一提的是,原論文中認為在使用Slim?Neck 的基礎上使用注意力機制和空間金字塔池化結構的效果會更好,因此本文也針對這兩處做了改進[23]。
使用輕量級卷積網絡GSConv 代替PW 卷積構建GSbottleneck,其結構如圖8(a)所示。相較于原先的bottleneckCSP,其運算量只有60%~70%,兩者的學習能力旗鼓相當。在此基礎上,我們使用一次性聚合方法來構建跨級部分網絡(GSCSP)模 塊VoV?GSCSP,結 構 見 圖8(b)。VoV?GSCSP 在保持了精準度的基礎上,降低了網絡結構的復雜性和計算成本。與YOLOv5原先的C3模塊相比,其FLOPS降低了大約15.7%。
本文在此基礎上使用GSConv替換原Conv結構,使用VoV?GSCSP 結構替換C3 結構,構建Slim?Neck結構,如圖9所示。

圖9 Slim?Neck結構
空間金字塔結構(SPP)最早由何凱明提出,旨在解決輸入圖像的尺寸問題,該結構包含三個顯著優點,一是可以忽略輸入尺寸并產生固定長度的輸出;二是使用多尺度空間容器進行Maxpool;三是可以在不同尺度上提取特征圖的特征信息,有效提高了識別準確率。在YO?LOv5?6.0 中其作者提出了SPPF 結構,相較于SPP 模塊而言,SPPF 模塊使用了多個小尺寸的池化核,通過級聯的方式來替代大尺寸的池化核,經過實驗證明,該方法可以在保留原有的融合不同尺寸的特征圖的功能下,加快推理速度,可以節省大約51.6%的推理時間。
YOLOv7 在SPP 的基礎上提出了一種名為SPPCSPC 的金字塔池化結構,其結構如圖10(a)所示。該結構與原SPP 結構相比,輸入端要先通過一個卷積核尺寸為1*1的卷積壓縮通道數得到特征圖f1,然后再通過兩個卷積核尺寸為3*3和1*1 的卷積得到特征圖f2,然后通過SPP 結構,得到特征圖f3,再將f3通過兩個卷積核尺寸為3*3 和1*1 的卷積得到f4,與輸入端經過一個1*1 卷積后得到的f5進行Concat 操作,得到的結構再通過一個1*1卷積得出最終結果。

圖10 SPPCSPC和SPPFCSPC結構
本文所使用的SPPFCSPC[24]結構由博主迪菲赫爾曼于他自己的博客提出,其結構如圖10(b)所示。該結構立足于SPPF 對SPP 結構的改進方法,將YOLOv7 所提出之SPPCSPC 結構中最大值池化的部分修改為類似于SPPF 的多個小尺寸卷積核級聯的方式,本文經過實驗可以證實,在參數量沒有改變的情況下推理時間縮減為SPPCSPC的72.7%。
綜上所述,根據以上的改進策略完成網絡模型的搭建。如圖11 所示,輸入的電動車違規載人檢測圖像首先經過Backbone 的Mobile?netv3?ECA 模塊,通過其中的DWconv 卷積完成特征提取,然后經過ECA?Net 注意力機制完成通道維度的信息融合,特征信息被送入空間金字塔池化結構SPPFCSPC,在不同尺度進行特征提取,而后送入頸部網絡,通過輕量化的Slim-Neck 結構,不同大小的特征層之間會再進行特征的進一步處理,最終將特征信息送入頭部網絡進行目標的檢測。

圖11 YOLOv5?Mobilenetv3?ECA結構
因為目前尚未出現統一且公開的電動車違規載人的數據集,因此本文所使用的實驗數據均通過網絡爬蟲和使用攝像頭在不同道路對行駛的電動車進行拍攝獲取,所獲取的數據包括了不同的角度、不同的明暗色調、不同的道路場景和車輛稠密程度。總共有圖片12951張,其中涵蓋了電動車駕駛的各種尺寸的目標,使用LabelImg軟件,將檢測對象分成兩類:overload、safe。根據分類對待檢測對象進行標注。對于模糊的物體和遠離攝像頭的物體則不進行標注。
將數據集打亂后隨機進行挑選和分類,最終選取了11291張圖片作為訓練集,驗證集和測試集各830張圖片,將數據集送入網絡進行訓練。
本次實驗的實驗平臺基于Windows10 操作系統搭建,Intel(R)Xeon(R)Silver 4210R CPU@2.40GHz型號的CPU 共有兩個。GPU 顯存為8GB的Quadro RTX 4000 系列,使用PyTorch 深度學習框架,編程語言為Python3.8,網絡模型使用YOLOv5n,將改進之后訓練完成的網絡模型結合攝像頭和邊緣設備組成電動車違規載人檢測系統,系統界面如圖12所示。

圖12 系統展示界面
本文選用精確率(precision,P)、召回率(re?call,R)、平均精確度(mean average precision,mAP)、參數(parameters,Par)、浮點運算數(giga floating?point operations per second,GFLOPs)、幀速(frames per second,FPS)這六個指標作為改進后網絡模型的評價標準,其中幀速指標使用CPU 對圖片進行推理而測定,目的是檢驗在低算力的邊緣設備上改進模型的推理速度和計算能力。
本文將YOLOv5n 作為電動車違規載人檢測的baseline,以此為基礎增加各類改進策略進行消融實驗,來驗證不同改進策略在使用本文的數據集進行訓練所生成的模型的檢測性能的優化效果。為了驗證本文針對YOLOv5n 所使用的兩種優化策略,在保持相同的硬件配置、數據集和超參數的情況下,加入Mobilenetv3 模塊、ECA 注意力機制、Slim?Neck 結構和SPPFCSPC模塊,通過實驗來驗證改進策略的有效性,其結果見表1和表3。

表1 YOLOv5n消融實驗

表3 實驗結果
通過結果分析可知,與YOLOv5n 相比,引入Mobilenetv3 后,參數量減少為原先的42%,FPS 提升了24%。繼續引入ECA?Net 注意力機制后,其參數量下降為原始YOLOv5n 的18%,檢測速度相較于YOLOv5n也提升至原先的1.66倍,在mAP@0.5 這個指標上與YOLOv5n 基本持平。而通過對比Changed(1)和Changed(2)算法可以看出,Mobilenetv3?ECA 結構的算法在mAP@0.5上提升了1.1%,在參數量上縮減了57%,并且FPS 提升了0.33%。由此可以證明在低算力平臺下,Mobilenetv3 結構可以有效降低參數量,節約推理時間,而引入ECA?Net 注意力機制來替換Mobilenetv3 中原有的SE?Net 注意力機制可以進一步降低網絡參數量,并且提高了網絡的特征提取能力,提升了網絡中不同尺度之間特征融合的能力,彌補了單純使用輕量化網絡降低網絡參數而導致的網絡損失部分特征提取能力不足,以及檢測精度下降的缺點。通過比較Changed(2)算法和Changed(3)算法可以看出,mAP@0.5 和FPS 均有所上升,這是由于引入了輕量化的頸部結構Slim?Neck,減少了頸部網絡的參數量從而加快了推理速度。通過比對本文算法和Changed(3)算法可知,在mAP@0.5 指標上提升了1.5%,這是因為在Slim?Neck 結構前加入了空間金字塔池化結構SPPFCSPC,通過SPPFCSPC 結構在不同尺度上完成特征提取的特征圖在送入Slim?Neck 后由于其冗余信息少的特點可以取得更好的結果。
圖13 展示了兩車重合場景、樹木遮擋場景、人物重合場景下,消融實驗的檢測結果對比,可以看出消融實驗組檢測結果的準確率要低于本文算法,并且會出現錯檢和漏檢的現象,而本文所提出的算法在以下場景均有較好的檢測效果。

圖13 消融實驗對比示例
為了驗證本文所提到的改進模型在邊緣設備上的推理能力,我們將模型部署在邊緣設備上進行實驗。
3.4.1 邊緣設備簡介
本文的邊緣設備使用NVIDIA 公司于2019年發布的Jetson Nano 開發套件,Jetson Nano 使用 了ARM 系 列 的4 核64 位CPU 和NVIDIA 公 司的128 核集成GPU,最高可提供472 GFLOPS 的計算性能,擁有4 GB 容量的LPDDR4 存儲器,具有高功效、低功耗的特點。
該產品使用了基于Ubuntu18.04 的Jet?Pack4.4.1 鏡像系統,擁有流暢的圖形操作界面,支持NVIDIA CUDA Toolkit 10.0,以及cuDNN 7.3 和TensorRT 等庫,也支持主流的深度學習框架如TensorFlow,PyTorch 等,同時還安裝了計算機視覺的框架,如OpenCV 和ROS。完全兼容這些框架的Jetson Nano(見圖14),非常適合作為承載AI 推理測試和實時目標檢測的輕量化邊緣計算設備,設備的具體配置如表2所示。

圖14 NVIDIA Jetson Nano
3.4.2 部署實驗
表3展示了在Jetson Nano設備上部署模型進行推理得到的性能指標對比結果。
通過表3 的實驗結果可以發現,YOLOv5s在YOLO Parsing time、Inference time、FPS 這些指標上都要遠低于YOLOv5n,其中YOLOv5n 的FPS 提升了72.6%。這是因為不管是參數量還是網絡深度,YOLOv5n 都要遠小于YOLOv5s,因此推理速度較快;通過對比YOLOv5n 和Changed(1)可以看出,在YOLOv5n 的基礎上使用Mobilenetv3 結構替換backbone 中原有的卷積模塊后可以發現,新的網絡模型參數量大幅度減少伴隨著mAP@0.5 也有降低,這是由網絡參數量下降使得網絡的特征提取和融合能力下降導致的。在Changed(2)算法中,其FPS 相較于YOLOv5n提升了72.9%,然而YOLO Parsing time卻并未有明顯提升,這是因為雖然使用了輕量化網絡Mobilenetv3 降低了網絡參數量,卻導致了網絡層數大幅增加,使得推理過程中對于YOLO 層的解析速度提升并不明顯。針對Changed(1)的兩個缺陷,在Changed(2)算法中使用ECA?Net 注意力機制替換SE-Net 注意力機制,一方面增強網絡的特征提取能力;另一方面減小網絡深度,減少YOLO 層的解析時間。Changed(2)相較于YOLOv5n 而言,其mAP@0.5基本持平且FPS 也提升了72.9%,并且得益于網絡深度的減少,YOLO Parsing time 也降低了8.3%,取得了良好的推理速度。通過對比Changed(2)算法和Changed(3)算法的結果可以看出,增加了Slim?Neck 結構后其參數量降低了30%,FPS 增長了5.8%,Inference time 下降了13.9%,進一步加快了推理速度,驗證了輕量化頸部網絡Slim?Neck 的有效性。通過觀察本文算法的數據可以看出,在Changed(3)算法的基礎上引入SPPFCSPC 模塊后,mAP@0.5 增長了1.5%,驗證了SPPFCSPC 結構可以有效增強網絡的特征提取能力,提高檢測的精度。可以看出在Slim?Neck 的基礎上引入SPPFCSPC 結構后,本文算法與Changed(2)算法相比,在參數量(Parameters)超過Changed(2)算法的情況下,GFLOPs 卻小于Changed(2)算法,在map@0.5 取得1.9%的增長后FPS基本持平,可以驗證Slim-Neck 與SPPFCSPC 結合后在網絡推理速度和檢測精度二者之間取得了良好的平衡性。本文算法在取得較高的檢測精度的同時維持了較高的檢測速度,其檢測速度可以滿足實時目標檢測和前端部署的需求。
本文選取了100組數據進行推理實驗,將每組數據的推理時間做比對,其結果如圖15所示。相較于其他消融實驗的算法,本文算法的推理速度較快且推理過程最為穩定,其推理時間浮動集中在59 ms 到64 ms 之間,通過對比可以驗證本文所提出的算法具有良好的推理速度和不錯的穩定性。

圖15 100組數據推理時間折線圖
綜上,本文基于YOLOv5目標檢測算法,通過加入Moblienetv3 輕量化網絡、ECA-Net 注意力機制、Slim?Neck 結構和SPPFCSPC 空間金字塔池化結構的方式對YOLOv5進行改進,來實現電動車違規載人的檢測效果,將改進后的算法和NVIDIA 的邊緣設備Jetson Nano 相結合,通過邊緣計算的方式測試了改進算法的檢測效果,并且比較了不同的網絡模型在Jetson Nano 上的推理速度和檢測精度。根據實驗結果分析,可以在邊緣設備Jetson Nano上運行YOLOv5目標檢測算法,且本文所提出的算法比YOLOv5n 的檢測速度更快,模型參數量較少。為交警提供了一種在復雜交通環境下查處電動車違規載人的解決方案,為了更好地幫助解決復雜交通環境下的各類實時檢測問題,后續工作也將基于邊緣設備Jetson Nano展開。