鄭尚坡 陳德富 邱寶象 張龍
摘? 要: 把在PC端上訓(xùn)練好的YOLOv5s與YOLOv5-Lite目標(biāo)檢測模型分別部署在搭載Linux系統(tǒng)的樹莓派4B平臺上,并在此平臺上搭建深度學(xué)習(xí)環(huán)境,構(gòu)建道路行人檢測系統(tǒng)。對這兩個模型進(jìn)行分析對比,實(shí)驗(yàn)結(jié)果表明,在識別準(zhǔn)確率相差0.1%的情況下,YOLOv5-Lite模型相對于原YOLOv5s模型,網(wǎng)絡(luò)參數(shù)量下降了78.26%,模型計(jì)算量下降了77.91%,模型內(nèi)存大小下降了75.52%,檢測速度提高了91.67%。綜上,本文提出的基于樹莓派和輕量化YOLOv5-Lite目標(biāo)檢測網(wǎng)絡(luò)模型的行人檢測系統(tǒng)兼顧了識別準(zhǔn)確、適用性好、小型化、成本低等綜合性能優(yōu)勢。
關(guān)鍵詞: 行人識別; 樹莓派; YOLOv5-Lite; 目標(biāo)檢測; 模型部署
中圖分類號:TP391.4? ? ? ? ? 文獻(xiàn)標(biāo)識碼: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 引言
行人檢測系統(tǒng)可以為智能駕駛車輛后續(xù)路徑規(guī)劃、決策、控制提供必要的感知信息[1]。研究行人檢測系統(tǒng)對于實(shí)現(xiàn)車輛的智能駕駛具有重要意義。本次實(shí)驗(yàn)設(shè)計(jì)的搭載在樹莓派上的基于輕量化YOLOv5-Lite模型的行人檢測系統(tǒng),可以有效地完成對行人檢測的工作,具有高精度、低成本、體積小、低功耗等特點(diǎn),并且該模型復(fù)雜度低,易于在樹莓派上進(jìn)行部署應(yīng)用。
1 系統(tǒng)方案
行人檢測系統(tǒng)工作原理:首先分別在PC端和樹莓派上搭建模型訓(xùn)練測試的環(huán)境,并構(gòu)建行人識別數(shù)據(jù)集,然后由計(jì)算機(jī)遠(yuǎn)程連接上樹莓派,將在PC端訓(xùn)練好的YOLOv5-Lite模型與YOLOv5s模型分別移植到樹莓派上進(jìn)行測試,由樹莓派讀取行人的測試圖像,并傳輸?shù)綐漭缮线M(jìn)行圖像處理、識別,在PC端顯示檢測的效果。系統(tǒng)集成流程如圖1所示。
行人檢測系統(tǒng)主要由硬件環(huán)境和軟件環(huán)境兩部分組成,硬件環(huán)境主要由樹莓派4B主板、SD卡、散熱風(fēng)扇、讀卡器、支架、保護(hù)外殼等構(gòu)成。軟件環(huán)境中主要搭建了Python3.7.2環(huán)境,使用pip指令安裝了Numpy(1.21.5),Opencv(4.5.5),Torch(1.8.0),Torchvision(0.9.0)等庫,完成了在樹莓派上深度學(xué)習(xí)環(huán)境的配置。
2 Yolo v5-Lite算法原理及其改進(jìn)
2.1 YOLOv5算法簡介
相對于R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]等two-stage的目標(biāo)檢測算法,該兩階段算法在檢測速度上難以滿足實(shí)際的需求,隨后Redmin[5]等人提出了one-stage的目標(biāo)檢測算法YOLO,極大提高了目標(biāo)檢測速度。本次實(shí)驗(yàn)選擇YOLOv5s[6]網(wǎng)絡(luò)模型作為基礎(chǔ)進(jìn)行改進(jìn)。如圖2為YOLOv5s的網(wǎng)絡(luò)結(jié)構(gòu)。
YOLOv5s網(wǎng)絡(luò)模型可分為四個部分。第一部分為輸入端,負(fù)責(zé)Mosaic數(shù)據(jù)增強(qiáng),自適應(yīng)Anchor計(jì)算,自適應(yīng)縮放圖片。第二部分為Backbone,有Focus結(jié)構(gòu)、C3結(jié)構(gòu)、SPP結(jié)構(gòu)。其中Focus結(jié)構(gòu)主要是通過slice操作來對輸入圖片進(jìn)行裁剪,切片過程如圖3所示,結(jié)構(gòu)如圖4所示。C3結(jié)構(gòu)分為C3 1_X與C3 2_X兩種,SPP模塊由池化模塊、卷積模塊和Concat模塊組成,該部分主要負(fù)責(zé)目標(biāo)特征的提取。第三部分為Neck網(wǎng)絡(luò),采用了FPN+PAN結(jié)構(gòu),由于FPN只傳遞了高層強(qiáng)語義特征信息而未傳遞定位信息[7],所以PAN在FPN的基礎(chǔ)上引入自底向上路徑以增強(qiáng)結(jié)構(gòu)傳達(dá)強(qiáng)定位特征,更好地提取融合特征。第四部分為輸出端,采用CIoU Loss[8]作為Bounding Box回歸的損失,采用BCE Loss作為分類損失和置信度損失。
2.2 YOLOv5-Lite網(wǎng)絡(luò)模型結(jié)構(gòu)
YOLOv5-Lite網(wǎng)絡(luò)[9]在原來的YOLOv5s基礎(chǔ)上做了以下改進(jìn):①摘除了Focus層和四次slice操作;②選擇ShuffleNetV2替代C3作為骨干網(wǎng)提取特征,加入了Shuffle Channel,并摘除ShuffleNetV2的1024卷積和5×5池化操作,在原基礎(chǔ)上減少了C3層的多次使用,從而減少了緩存空間的占用,加快了運(yùn)行速度;③其次對YOLOv5 head進(jìn)行了通道剪枝。
以上方法使得YOLOv5-Lite網(wǎng)絡(luò)與在YOLOv5版本中模型最小的YOLOv5s相比更輕,F(xiàn)lops更小,模型內(nèi)存占用更低,參數(shù)更少,檢測速度更快,因此,該輕量化模型更容易部署在嵌入式設(shè)備上。本此實(shí)驗(yàn)所用的YOLOv5-Lite-s模型結(jié)構(gòu)如圖5所示。
3 實(shí)驗(yàn)設(shè)置與結(jié)果分析
3.1 計(jì)算機(jī)實(shí)驗(yàn)運(yùn)行環(huán)境
本文計(jì)算機(jī)使用的顯卡型號為NVIDIA GEFORCE RTX 3070(8G顯存)、CPU為Intel(R) Core(TM) i9-12900H,2.50 GHz,Python版本為3.9、基于Pytorch(版本1.10.1)深度學(xué)習(xí)框架、計(jì)算機(jī)訓(xùn)練模型環(huán)境使用軟件PyCharm 、GPU加速工具為CUDA 11.3。
3.2 數(shù)據(jù)集
本文使用的數(shù)據(jù)集來源于PASCAL VOC 2007[10],本次實(shí)驗(yàn)通過從PASCAL VOC 2007篩選出其中只含有行人類別的圖片,按照8:2的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測試集,共計(jì)訓(xùn)練集3299張,測試集893張。
3.3 模型訓(xùn)練與移植
本文訓(xùn)練所用的初始權(quán)重分別為yolov5s.pt和v5lite-s.pt,其中Batch_size設(shè)為128,迭代周期epochs設(shè)為200,置信度閾值0.45,iou閾值為0.5,模型訓(xùn)練時在初始三個epochs選擇較小的學(xué)習(xí)率數(shù)值0.001進(jìn)行Warm up預(yù)熱學(xué)習(xí),增加模型在訓(xùn)練階段的穩(wěn)定性。本文訓(xùn)練過程中的超參數(shù)設(shè)置如表1所示。通過訓(xùn)練模型,分別得到了兩個最好的權(quán)重文件。
然后將在PC端訓(xùn)練好的模型文件.pt格式轉(zhuǎn)換為.onnx格式,使用MobaXterm_Personal軟件移植至樹莓派中,在樹莓派上執(zhí)行測試文件,即測試這兩種模型對行人的檢測效果。
3.4 評估指標(biāo)
為評估兩種模型的檢測效果,本文使用參數(shù)量、模型占用內(nèi)存、檢測速度以及識別精確度(Prepision)作為評價指標(biāo)。
3.5 實(shí)驗(yàn)結(jié)果與檢測效果
通過對訓(xùn)練好的兩種模型進(jìn)行測試,表2為在樹莓派上測試所得的網(wǎng)絡(luò)對比結(jié)果。
實(shí)驗(yàn)結(jié)果表明,YOLOv5-Lite網(wǎng)絡(luò)與原YOLOv5s網(wǎng)絡(luò)相比,其識別精確度和YOLOv5s數(shù)值非常相近,網(wǎng)絡(luò)參數(shù)量下降了78.26%,GFLOPs下降了77.91%,模型內(nèi)存大小下降了75.52%,檢測速度提高了91.67%。因此YOLOv5-Lite綜合性能優(yōu)勢明顯,成功滿足了實(shí)驗(yàn)需求。樹莓派通過讀取測試數(shù)據(jù)集圖像,最終實(shí)現(xiàn)的檢測效果圖如圖6所示。
4 結(jié)論
本文提出了一種基于改進(jìn) YOLOv5-Lite 輕量級的行人檢測算法,通過將訓(xùn)練好的網(wǎng)絡(luò)模型YOLOv5s與YOLOv5-Lite分別部署在樹莓派平臺上,成功搭建了一個樹莓派嵌入式行人檢測系統(tǒng),最后在樹莓派上讀取測試圖像來對這兩種模型進(jìn)行測試與性能對比分析,基于輕量化的YOLOv5-Lite網(wǎng)絡(luò)模型的行人檢測系統(tǒng)優(yōu)勢更加明顯,滿足實(shí)驗(yàn)需求,適用于資源受限的環(huán)境下,具有檢測精度高、體積小、成本低、推理速度快等綜合性能優(yōu)勢,對智能駕駛領(lǐng)域中的行人檢測算法具有極高的參考與使用價值。
參考文獻(xiàn)(References):
[1] 方卓琳.基于YOLOv3的道路交通環(huán)境行人檢測技術(shù)研究[D].
廣東:華南理工大學(xué),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ī)識別方法[J].
自動化應(yīng)用,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.