鄭尚坡 陳德富 邱寶象 張龍
摘? 要: 把在PC端上訓(xùn)練好的YOLOv5s與YOLOv5-Lite目標(biāo)檢測(cè)模型分別部署在搭載Linux系統(tǒng)的樹莓派4B平臺(tái)上,并在此平臺(tái)上搭建深度學(xué)習(xí)環(huán)境,構(gòu)建道路行人檢測(cè)系統(tǒng)。對(duì)這兩個(gè)模型進(jìn)行分析對(duì)比,實(shí)驗(yàn)結(jié)果表明,在識(shí)別準(zhǔn)確率相差0.1%的情況下,YOLOv5-Lite模型相對(duì)于原YOLOv5s模型,網(wǎng)絡(luò)參數(shù)量下降了78.26%,模型計(jì)算量下降了77.91%,模型內(nèi)存大小下降了75.52%,檢測(cè)速度提高了91.67%。綜上,本文提出的基于樹莓派和輕量化YOLOv5-Lite目標(biāo)檢測(cè)網(wǎng)絡(luò)模型的行人檢測(cè)系統(tǒng)兼顧了識(shí)別準(zhǔn)確、適用性好、小型化、成本低等綜合性能優(yōu)勢(shì)。
關(guān)鍵詞: 行人識(shí)別; 樹莓派; YOLOv5-Lite; 目標(biāo)檢測(cè); 模型部署
中圖分類號(hào):TP391.4? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ?文章編號(hào):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 引言
行人檢測(cè)系統(tǒng)可以為智能駕駛車輛后續(xù)路徑規(guī)劃、決策、控制提供必要的感知信息[1]。研究行人檢測(cè)系統(tǒng)對(duì)于實(shí)現(xiàn)車輛的智能駕駛具有重要意義。本次實(shí)驗(yàn)設(shè)計(jì)的搭載在樹莓派上的基于輕量化YOLOv5-Lite模型的行人檢測(cè)系統(tǒng),可以有效地完成對(duì)行人檢測(cè)的工作,具有高精度、低成本、體積小、低功耗等特點(diǎn),并且該模型復(fù)雜度低,易于在樹莓派上進(jìn)行部署應(yīng)用。
1 系統(tǒng)方案
行人檢測(cè)系統(tǒng)工作原理:首先分別在PC端和樹莓派上搭建模型訓(xùn)練測(cè)試的環(huán)境,并構(gòu)建行人識(shí)別數(shù)據(jù)集,然后由計(jì)算機(jī)遠(yuǎn)程連接上樹莓派,將在PC端訓(xùn)練好的YOLOv5-Lite模型與YOLOv5s模型分別移植到樹莓派上進(jìn)行測(cè)試,由樹莓派讀取行人的測(cè)試圖像,并傳輸?shù)綐漭缮线M(jìn)行圖像處理、識(shí)別,在PC端顯示檢測(cè)的效果。系統(tǒng)集成流程如圖1所示。
行人檢測(cè)系統(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)等庫(kù),完成了在樹莓派上深度學(xué)習(xí)環(huán)境的配置。
2 Yolo v5-Lite算法原理及其改進(jìn)
2.1 YOLOv5算法簡(jiǎn)介
相對(duì)于R-CNN[2]、Fast R-CNN[3]、Faster R-CNN[4]等two-stage的目標(biāo)檢測(cè)算法,該兩階段算法在檢測(cè)速度上難以滿足實(shí)際的需求,隨后Redmin[5]等人提出了one-stage的目標(biāo)檢測(cè)算法YOLO,極大提高了目標(biāo)檢測(cè)速度。本次實(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ò)模型可分為四個(gè)部分。第一部分為輸入端,負(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操作來(lái)對(duì)輸入圖片進(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)語(yǔ)義特征信息而未傳遞定位信息[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]在原來(lái)的YOLOv5s基礎(chǔ)上做了以下改進(jìn):①摘除了Focus層和四次slice操作;②選擇ShuffleNetV2替代C3作為骨干網(wǎng)提取特征,加入了Shuffle Channel,并摘除ShuffleNetV2的1024卷積和5×5池化操作,在原基礎(chǔ)上減少了C3層的多次使用,從而減少了緩存空間的占用,加快了運(yùn)行速度;③其次對(duì)YOLOv5 head進(jìn)行了通道剪枝。
以上方法使得YOLOv5-Lite網(wǎng)絡(luò)與在YOLOv5版本中模型最小的YOLOv5s相比更輕,F(xiàn)lops更小,模型內(nèi)存占用更低,參數(shù)更少,檢測(cè)速度更快,因此,該輕量化模型更容易部署在嵌入式設(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ī)使用的顯卡型號(hào)為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ù)集來(lái)源于PASCAL VOC 2007[10],本次實(shí)驗(yàn)通過從PASCAL VOC 2007篩選出其中只含有行人類別的圖片,按照8:2的比例將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,共計(jì)訓(xùn)練集3299張,測(cè)試集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)練時(shí)在初始三個(gè)epochs選擇較小的學(xué)習(xí)率數(shù)值0.001進(jìn)行Warm up預(yù)熱學(xué)習(xí),增加模型在訓(xùn)練階段的穩(wěn)定性。本文訓(xùn)練過程中的超參數(shù)設(shè)置如表1所示。通過訓(xùn)練模型,分別得到了兩個(gè)最好的權(quán)重文件。
然后將在PC端訓(xùn)練好的模型文件.pt格式轉(zhuǎn)換為.onnx格式,使用MobaXterm_Personal軟件移植至樹莓派中,在樹莓派上執(zhí)行測(cè)試文件,即測(cè)試這兩種模型對(duì)行人的檢測(cè)效果。
3.4 評(píng)估指標(biāo)
為評(píng)估兩種模型的檢測(cè)效果,本文使用參數(shù)量、模型占用內(nèi)存、檢測(cè)速度以及識(shí)別精確度(Prepision)作為評(píng)價(jià)指標(biāo)。
3.5 實(shí)驗(yàn)結(jié)果與檢測(cè)效果
通過對(duì)訓(xùn)練好的兩種模型進(jìn)行測(cè)試,表2為在樹莓派上測(cè)試所得的網(wǎng)絡(luò)對(duì)比結(jié)果。
實(shí)驗(yàn)結(jié)果表明,YOLOv5-Lite網(wǎng)絡(luò)與原YOLOv5s網(wǎng)絡(luò)相比,其識(shí)別精確度和YOLOv5s數(shù)值非常相近,網(wǎng)絡(luò)參數(shù)量下降了78.26%,GFLOPs下降了77.91%,模型內(nèi)存大小下降了75.52%,檢測(cè)速度提高了91.67%。因此YOLOv5-Lite綜合性能優(yōu)勢(shì)明顯,成功滿足了實(shí)驗(yàn)需求。樹莓派通過讀取測(cè)試數(shù)據(jù)集圖像,最終實(shí)現(xiàn)的檢測(cè)效果圖如圖6所示。
4 結(jié)論
本文提出了一種基于改進(jìn) YOLOv5-Lite 輕量級(jí)的行人檢測(cè)算法,通過將訓(xùn)練好的網(wǎng)絡(luò)模型YOLOv5s與YOLOv5-Lite分別部署在樹莓派平臺(tái)上,成功搭建了一個(gè)樹莓派嵌入式行人檢測(cè)系統(tǒng),最后在樹莓派上讀取測(cè)試圖像來(lái)對(duì)這兩種模型進(jìn)行測(cè)試與性能對(duì)比分析,基于輕量化的YOLOv5-Lite網(wǎng)絡(luò)模型的行人檢測(cè)系統(tǒng)優(yōu)勢(shì)更加明顯,滿足實(shí)驗(yàn)需求,適用于資源受限的環(huán)境下,具有檢測(cè)精度高、體積小、成本低、推理速度快等綜合性能優(yōu)勢(shì),對(duì)智能駕駛領(lǐng)域中的行人檢測(cè)算法具有極高的參考與使用價(jià)值。
參考文獻(xiàn)(References):
[1] 方卓琳.基于YOLOv3的道路交通環(huán)境行人檢測(cè)技術(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的小型無(wú)人機(jī)識(shí)別方法[J].
自動(dòng)化應(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.