鄭尚坡 陳德富 邱寶象 張龍
摘? 要: 把在PC端上訓練好的YOLOv5s與YOLOv5-Lite目標檢測模型分別部署在搭載Linux系統的樹莓派4B平臺上,并在此平臺上搭建深度學習環境,構建道路行人檢測系統。對這兩個模型進行分析對比,實驗結果表明,在識別準確率相差0.1%的情況下,YOLOv5-Lite模型相對于原YOLOv5s模型,網絡參數量下降了78.26%,模型計算量下降了77.91%,模型內存大小下降了75.52%,檢測速度提高了91.67%。綜上,本文提出的基于樹莓派和輕量化YOLOv5-Lite目標檢測網絡模型的行人檢測系統兼顧了識別準確、適用性好、小型化、成本低等綜合性能優勢。
關鍵詞: 行人識別; 樹莓派; YOLOv5-Lite; 目標檢測; 模型部署
中圖分類號:TP391.4? ? ? ? ? 文獻標識碼:A? ? ?文章編號:1006-8228(2023)09-116-04
Design of pedestrian detection system based on Raspberry Pi and YOLOv5-Lite model
Zheng Shangpo1, Chen Defu1, Qiu Baoxiang2, Zhang Long2
(1. College of Information Engineering, Zhejiang University of Technology, Hangzhou, Zhejiang 310023, China; 2. Wanxiang Qianchao Co., Ltd)
Abstract: The YOLOv5s and YOLOv5-Lite target detection models trained on PC are deployed on the Raspberry Pi 4B platform equipped with Linux system respectively, and a deep learning environment is built on this platform to construct a road pedestrian detection system. The two algorithms are analyzed and compared. The experimental results show that in the case of 0.1% difference in recognition accuracy, the YOLOv5-Lite model has a 78.26% decrease in network parameters, a 77.91% decrease in model computation, a 75.52% decrease in model memory size, and a 91.67% improvement in detection speed. It takes into account the comprehensive performance advantages of accurate identification, good applicability, miniaturization and low cost.
Key words: pedestrian recognition; Raspberry Pi; YOLOv5-Lite; target detection; model deployment
0 引言
行人檢測系統可以為智能駕駛車輛后續路徑規劃、決策、控制提供必要的感知信息[1]。研究行人檢測系統對于實現車輛的智能駕駛具有重要意義。本次實驗設計的搭載在樹莓派上的基于輕量化YOLOv5-Lite模型的行人檢測系統,可以有效地完成對行人檢測的工作,具有高精度、低成本、體積小、低功耗等特點,并且該模型復雜度低,易于在樹莓派上進行部署應用。
1 系統方案
行人檢測系統工作原理:首先分別在PC端和樹莓派上搭建模型訓練測試的環境,并構建行人識別數據集,然后由計算機遠程連接上樹莓派,將在PC端訓練好的YOLOv5-Lite模型與YOLOv5s模型分別移植到樹莓派上進行測試,由樹莓派讀取行人的測試圖像,并傳輸到樹莓派上進行圖像處理、識別,在PC端顯示檢測的效果。系統集成流程如圖1所示。
行人檢測系統主要由硬件環境和軟件環境兩部分組成,硬件環境主要由樹莓派4B主板、SD卡、散熱風扇、讀卡器、支架、保護外殼等構成。軟件環境中主要搭建了Python3.7.2環境,使用pip指令安裝了Numpy(1.21.5),Opencv(4.5.5),Torch(1.8.0),Torchvision(0.9.0)等庫,完成了在樹莓派上深度學習環境的配置。
2 Yolo v5-Lite算法原理及其改進
2.1 YOLOv5算法簡介
相對于R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]等two-stage的目標檢測算法,該兩階段算法在檢測速度上難以滿足實際的需求,隨后Redmin[5]等人提出了one-stage的目標檢測算法YOLO,極大提高了目標檢測速度。本次實驗選擇YOLOv5s[6]網絡模型作為基礎進行改進。如圖2為YOLOv5s的網絡結構。
YOLOv5s網絡模型可分為四個部分。第一部分為輸入端,負責Mosaic數據增強,自適應Anchor計算,自適應縮放圖片。第二部分為Backbone,有Focus結構、C3結構、SPP結構。其中Focus結構主要是通過slice操作來對輸入圖片進行裁剪,切片過程如圖3所示,結構如圖4所示。C3結構分為C3 1_X與C3 2_X兩種,SPP模塊由池化模塊、卷積模塊和Concat模塊組成,該部分主要負責目標特征的提取。第三部分為Neck網絡,采用了FPN+PAN結構,由于FPN只傳遞了高層強語義特征信息而未傳遞定位信息[7],所以PAN在FPN的基礎上引入自底向上路徑以增強結構傳達強定位特征,更好地提取融合特征。第四部分為輸出端,采用CIoU Loss[8]作為Bounding Box回歸的損失,采用BCE Loss作為分類損失和置信度損失。
2.2 YOLOv5-Lite網絡模型結構
YOLOv5-Lite網絡[9]在原來的YOLOv5s基礎上做了以下改進:①摘除了Focus層和四次slice操作;②選擇ShuffleNetV2替代C3作為骨干網提取特征,加入了Shuffle Channel,并摘除ShuffleNetV2的1024卷積和5×5池化操作,在原基礎上減少了C3層的多次使用,從而減少了緩存空間的占用,加快了運行速度;③其次對YOLOv5 head進行了通道剪枝。
以上方法使得YOLOv5-Lite網絡與在YOLOv5版本中模型最小的YOLOv5s相比更輕,Flops更小,模型內存占用更低,參數更少,檢測速度更快,因此,該輕量化模型更容易部署在嵌入式設備上。本此實驗所用的YOLOv5-Lite-s模型結構如圖5所示。
3 實驗設置與結果分析
3.1 計算機實驗運行環境
本文計算機使用的顯卡型號為NVIDIA GEFORCE RTX 3070(8G顯存)、CPU為Intel(R) Core(TM) i9-12900H,2.50 GHz,Python版本為3.9、基于Pytorch(版本1.10.1)深度學習框架、計算機訓練模型環境使用軟件PyCharm 、GPU加速工具為CUDA 11.3。
3.2 數據集
本文使用的數據集來源于PASCAL VOC 2007[10],本次實驗通過從PASCAL VOC 2007篩選出其中只含有行人類別的圖片,按照8:2的比例將數據集劃分為訓練集和測試集,共計訓練集3299張,測試集893張。
3.3 模型訓練與移植
本文訓練所用的初始權重分別為yolov5s.pt和v5lite-s.pt,其中Batch_size設為128,迭代周期epochs設為200,置信度閾值0.45,iou閾值為0.5,模型訓練時在初始三個epochs選擇較小的學習率數值0.001進行Warm up預熱學習,增加模型在訓練階段的穩定性。本文訓練過程中的超參數設置如表1所示。通過訓練模型,分別得到了兩個最好的權重文件。
然后將在PC端訓練好的模型文件.pt格式轉換為.onnx格式,使用MobaXterm_Personal軟件移植至樹莓派中,在樹莓派上執行測試文件,即測試這兩種模型對行人的檢測效果。
3.4 評估指標
為評估兩種模型的檢測效果,本文使用參數量、模型占用內存、檢測速度以及識別精確度(Prepision)作為評價指標。
3.5 實驗結果與檢測效果
通過對訓練好的兩種模型進行測試,表2為在樹莓派上測試所得的網絡對比結果。
實驗結果表明,YOLOv5-Lite網絡與原YOLOv5s網絡相比,其識別精確度和YOLOv5s數值非常相近,網絡參數量下降了78.26%,GFLOPs下降了77.91%,模型內存大小下降了75.52%,檢測速度提高了91.67%。因此YOLOv5-Lite綜合性能優勢明顯,成功滿足了實驗需求。樹莓派通過讀取測試數據集圖像,最終實現的檢測效果圖如圖6所示。
4 結論
本文提出了一種基于改進 YOLOv5-Lite 輕量級的行人檢測算法,通過將訓練好的網絡模型YOLOv5s與YOLOv5-Lite分別部署在樹莓派平臺上,成功搭建了一個樹莓派嵌入式行人檢測系統,最后在樹莓派上讀取測試圖像來對這兩種模型進行測試與性能對比分析,基于輕量化的YOLOv5-Lite網絡模型的行人檢測系統優勢更加明顯,滿足實驗需求,適用于資源受限的環境下,具有檢測精度高、體積小、成本低、推理速度快等綜合性能優勢,對智能駕駛領域中的行人檢測算法具有極高的參考與使用價值。
參考文獻(References):
[1] 方卓琳.基于YOLOv3的道路交通環境行人檢測技術研究[D].
廣東:華南理工大學,2019.
[2] TAO X,ZHANG D P, WANG Z H, et al.Detection of power
line insulator defects using aerial images analyzed with convolutional neural networks[J].IEEE Transactions on Systems, Man, and Cybernetics:Systems,2020,50(4):1486-1498.
[3] Girshick R.Fast R-CNN[C]//Proceedings of 2015 IEEE
International Conference on Computer Vision.Santiago:IEEE,2015:1440-1448.
[4] REN S,HE K,GIRSHICKR.et a1.Faster R-CNN:towards
real time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(6):1137-1149.
[5] REDMIN J, DIVVALAS, GIRSHICK R, et al. You only look
once: unified,realtime object detection[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition,2016:779-788.
[6] Glenn Jocher.YOLOv5:The Leader in Realime Object
Detection[EB/OL].[2023-03].https://github.com/uhralytics/yolov5.
[7] 劉羽璇,趙玉良.基于YOLOv5-Lite的小型無人機識別方法[J].
自動化應用,2022(7):71-74.
[8] ZHENG Zhaohui,WANG Ping,LIU Wei,et al.Distance-IoU
loss:faster and better learning for bounding box regressionI[EB/OL].[2020-06-10].https://arxiv.org/pdf/1911.08287.pdf.
[9] Ppogg.YOLOv5-Lite:Lighter,faster and easier to deploy
[EB/OL].[2023-03].https://github.com/ppogg/YOLOv5-Lite.
[10] Everingham M,Van Gool L,Williams CK I,et al.Intro-
duction to PASCAL VOC 2007 //Proceedings of the Workshopon PASCAL Visual Object Classes Challenge. Rio de Janeiro,Brazil,2007.