国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于邊緣設(shè)備和改進(jìn)YOLOv5算法的車牌號(hào)碼識(shí)別

2022-11-25 04:38梁允泉董苗苗齊振嶺劉羿漩葛廣英孫群
現(xiàn)代計(jì)算機(jī) 2022年17期
關(guān)鍵詞:樹(shù)莓車牌邊緣

梁允泉,董苗苗,齊振嶺,2,劉羿漩,2,葛廣英,孫群

(1.聊城大學(xué)物理科學(xué)與信息工程學(xué)院,聊城 252059;2.山東省光通信科學(xué)與技術(shù)重點(diǎn)實(shí)驗(yàn)室,聊城 252059;3.聊城大學(xué)計(jì)算機(jī)學(xué)院,聊城 252059;4.聊城大學(xué)機(jī)械與汽車工程學(xué)院,聊城 252059)

0 引言

發(fā)展智慧城市是中國(guó)促進(jìn)城市高度信息化、網(wǎng)絡(luò)化的重大舉措。智慧交通作為智慧城市的關(guān)鍵項(xiàng)目之一,以物聯(lián)網(wǎng)、云計(jì)算、移動(dòng)互聯(lián)網(wǎng)等新一代信息技術(shù)作為技術(shù)支撐,建立與完善道路監(jiān)控體系和信息網(wǎng)絡(luò)系統(tǒng)。其中,通過(guò)監(jiān)控對(duì)行駛中的車輛進(jìn)行實(shí)時(shí)的車牌信息檢測(cè)是智慧交通中的一個(gè)重要分支。

對(duì)于車牌號(hào)碼的檢測(cè),常用的圖像處理和字符分割等方式屬于傳統(tǒng)的檢測(cè)方式,例如劉艷華[1]設(shè)計(jì)了基于MATLAB的車牌檢測(cè)系統(tǒng),通過(guò)對(duì)車牌圖像進(jìn)行灰度圖轉(zhuǎn)換、灰度變換、中值濾波去噪、邊緣檢測(cè)等對(duì)車牌信息進(jìn)行定位和字符分割的方式,實(shí)現(xiàn)對(duì)車牌號(hào)碼的檢測(cè)。聶文都等[2]設(shè)計(jì)了一種基于OpenCV與SVM的車牌識(shí)別方法,用Canny算子獲取圖像邊緣輪廓信息,基于SURF算法對(duì)車牌進(jìn)行特征提取,并結(jié)合HSV顏色空間來(lái)定位車牌位置;基于垂直投影方法來(lái)提取車牌字符特征,再利用SVM算法實(shí)現(xiàn)對(duì)車牌字符的識(shí)別,該方法主要利用計(jì)算機(jī)視覺(jué)庫(kù)OpenCV實(shí)現(xiàn),利用OpenCV封裝的SURF算法和SVM算法實(shí)現(xiàn)車牌識(shí)別。以上兩種方式比較簡(jiǎn)單,可以識(shí)別大多數(shù)車牌信息,但誤差較大,識(shí)別精度易受圖像質(zhì)量好壞的影響。

在移動(dòng)設(shè)備計(jì)算和物聯(lián)網(wǎng)快速發(fā)展的帶動(dòng)下,將深度學(xué)習(xí)模型部署到邊緣設(shè)備中成為發(fā)展的新趨勢(shì)。以微型化的設(shè)備推理實(shí)時(shí)數(shù)據(jù),對(duì)獲取的數(shù)據(jù)做簡(jiǎn)化處理后上傳至云端計(jì)算,不僅減少了數(shù)據(jù)量的傳輸,而且緩解了云服務(wù)器的計(jì)算壓力。李向榮等[3]提出一種基于YOLOv3車牌識(shí)別的優(yōu)化算法,構(gòu)建了新的車牌數(shù)據(jù)集并對(duì)數(shù)據(jù)集中的車牌和字符進(jìn)行標(biāo)注,優(yōu)化的YOLOv3算法在構(gòu)建的車牌數(shù)據(jù)集上取得了較好的識(shí)別精度。李世偉[4]利用遷移學(xué)習(xí)的方式,將YOLOv5算法應(yīng)用在車牌識(shí)別檢測(cè)中。以上兩種方式對(duì)車牌號(hào)碼識(shí)別的效果雖然相對(duì)于傳統(tǒng)方式有了很大提升,但面對(duì)復(fù)雜的路況和密集的車輛,對(duì)硬件設(shè)備算力也提出了較高的要求,同時(shí),以云計(jì)算為核心的集中式處理模式也無(wú)法高效地處理邊緣設(shè)備產(chǎn)生的大量數(shù)據(jù)。

因此,本文基于YOLOv5算法,設(shè)計(jì)改進(jìn)了一種輕量化的網(wǎng)絡(luò)結(jié)構(gòu),與Intel Movidius NCS2[5]和樹(shù)莓派4B邊緣設(shè)備相結(jié)合,用邊緣設(shè)備加速推理YOLOv5算法模型,在保持對(duì)車牌檢測(cè)有較高準(zhǔn)確率的同時(shí)還可以提高推理速度。

1 YOLOv5算法及其改進(jìn)

根據(jù)網(wǎng)絡(luò)深度的不同,YOLOv5目標(biāo)檢測(cè)算法可分為5n,5s,5x,5m,5l五種,本文以YOLOv5n為基礎(chǔ)實(shí)現(xiàn)對(duì)車牌號(hào)碼的識(shí)別,其網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。YOLOv5發(fā)布的6.1版本中,輸入端不僅使用了Mosic數(shù)據(jù)增強(qiáng)方式而且還添加了可選項(xiàng)Albumentations[6]的數(shù)據(jù)增強(qiáng)方式,Albumentations主要通過(guò)在YOLOv5中定義圖像隨機(jī)內(nèi)核的大小對(duì)輸入圖像進(jìn)行模糊、灰度轉(zhuǎn)換、隨機(jī)亮度和圖像壓縮,從而實(shí)現(xiàn)在已有的數(shù)據(jù)中創(chuàng)建新的訓(xùn)練樣本,來(lái)提高模型的訓(xùn)練質(zhì)量。在YOLOv5的主干網(wǎng)絡(luò)中,為提高YOLOv5的兼容性,用于切片操作的Focus結(jié)構(gòu)被的卷積層Conv模塊替換掉,兩者在理論上是等價(jià)的,但對(duì)GPU設(shè)備而言,6×6大小的卷積層比Focus更加高效。在v6.1版本中,空間金字塔池化SPP結(jié)構(gòu)被改為SPPF結(jié)構(gòu),此結(jié)構(gòu)與SPP基本相同,唯一不同的是將并行池化方式改為串行三個(gè)5×5大小的池化層,這種池化方式使得提取的特征效果更好。

為了能更好地在邊緣設(shè)備中使用YOLOv5算法,需要降低該算法的計(jì)算量,提高對(duì)車牌的檢測(cè)效果,同時(shí)實(shí)現(xiàn)加速推理。因此對(duì)YOLOv5算法做了如下改進(jìn):

首先,行駛車輛中的車牌號(hào)碼屬于小目標(biāo)信息,真實(shí)的場(chǎng)景環(huán)境復(fù)雜,為了能夠提高YOLOv5算法對(duì)車牌號(hào)碼小目標(biāo)的檢測(cè)能力,在YOLOv5的網(wǎng)絡(luò)中加入SE[7-8]注意力機(jī)制。SE注意力機(jī)制易于實(shí)現(xiàn),可以很容易地加入到Y(jié)OLOv5的網(wǎng)絡(luò)模型[9]中,雖然會(huì)增加一點(diǎn)計(jì)算量,但是加入之后的檢測(cè)效果比原來(lái)的算法好。

其次,將原有的卷積層[10]更換為深度可分離卷積。在計(jì)算資源受到限制的硬件設(shè)備端,原有的卷積層計(jì)算量大,影響實(shí)際的運(yùn)行速度[11]。深度可分離卷積和原有的卷積層結(jié)構(gòu)類似,可以用來(lái)提取圖像的特征,但其網(wǎng)絡(luò)的參數(shù)量和運(yùn)算成本都要遠(yuǎn)遠(yuǎn)低于原有的卷積層。

最后,將YOLOv5中設(shè)定好的先驗(yàn)框[12]用K-means算法重新獲?。?3]。

綜上所述,改進(jìn)后的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。

2 系統(tǒng)設(shè)計(jì)

2.1 樹(shù)莓派4B

如圖3所示,本文所采用的硬件設(shè)備為樹(shù)莓派4B[14],它是一款基于RAM架構(gòu)的微型電腦主板[15],其擁有基本時(shí)鐘頻率1.5 GHz的BroadcomBCM2711(Cortex-A72)四核處理器。相比樹(shù)莓派3B+而言,BroadcomBCM2837(Cortex-A53)處理器的性能提升約1.8倍,且單個(gè)周期指令吞吐能力提升30%以上,這使得樹(shù)莓派4B比樹(shù)莓派3B+整體性能提升近一倍,達(dá)到參與邊緣計(jì)算的能力。樹(shù)莓派4B的內(nèi)存升級(jí)為DDR4,以此來(lái)支持更高的帶寬和頻率。樹(shù)莓派4B以SD卡作為硬盤,可以寫入Raspberry Pi OS、Ubuntu、Windows 10 IoT操作系統(tǒng),其對(duì)外有4個(gè)USB接口、1個(gè)以太網(wǎng)接口和兩個(gè)Mini HDMI接口,最高可以60 fps的刷新速度支持雙顯示屏。相比樹(shù)莓派3B+的擴(kuò)展模塊,樹(shù)莓派4B擁有2.4/5.0雙頻無(wú)線與藍(lán)牙5.0/BLE,各種模塊之間的相互結(jié)合使得樹(shù)莓派成為一種體積小、功能全且應(yīng)用廣泛的電腦。

2.2 Movidius NCS2

邊緣設(shè)備采用英特爾第二代神經(jīng)計(jì)算棒(Neural Compute Stick 2)NCS2,如圖3所示,其造型和U盤相似,它可以兼容Ubuntu、CentOS和Windows 10操作系統(tǒng)[16],通過(guò)USB 3.0 Type-A接口接入樹(shù)莓派4B設(shè)備,旨在為低功耗設(shè)備提供加速推理的功能。第一代神經(jīng)計(jì)算棒基于Intel Myriad 2 VPU視覺(jué)處理器[17],與第一代神經(jīng)計(jì)算棒相比,第二代神經(jīng)計(jì)算棒采用了最新的Intel Movidius Myriad X VPU視覺(jué)處理器[18],該視覺(jué)處理器有專用的神經(jīng)網(wǎng)絡(luò)硬件加速器,可以在極低的功耗下執(zhí)行推理運(yùn)算。

第二代神經(jīng)計(jì)算棒采用OpenVINO工具套件,OpenVINO是Intel推出開(kāi)放視覺(jué)推理和神經(jīng)網(wǎng)絡(luò)優(yōu)化的開(kāi)發(fā)套件,它可以為不同的網(wǎng)絡(luò)模型提供轉(zhuǎn)換功能。本文通過(guò)修改模型轉(zhuǎn)換代碼,舍棄模型中影響推理性能的卷積網(wǎng)絡(luò),設(shè)置模型優(yōu)化器轉(zhuǎn)換參數(shù)[19],指定輸出層,使其能在Intel各類AI設(shè)備之間實(shí)現(xiàn)加速推理。依靠Open-VINO開(kāi)發(fā)工具可在樹(shù)莓派4B中搭建邊緣設(shè)備深度學(xué)習(xí)環(huán)境,使用Intel Movidius NCS2對(duì)模型進(jìn)行加速推理。

2.3 圖像采集

在圖像采集方面,如圖4所示,樹(shù)莓派支持USB接口和CSI(CMOS圖像傳感器)兩種類型接口攝像頭,在選用接口前,首先對(duì)兩種類型的攝像頭進(jìn)行性能測(cè)試。使用OpenCV啟動(dòng)攝像頭,查看兩種類型攝像頭的CPU占用率,以及使用OpenVINO深度學(xué)習(xí)環(huán)境自帶樣例實(shí)時(shí)推理,來(lái)測(cè)試攝像頭的幀率、速度,最終對(duì)比結(jié)果見(jiàn)表1。

表1 兩種類型接口攝像頭性能對(duì)比

從表1中可以看出,在CPU的占用率方面,USB類型的攝像頭比CSI攝像頭高一倍,但在速度、幀率、啟動(dòng)速度上比CSI攝像頭表現(xiàn)更出色。因此,本文對(duì)車牌號(hào)碼的檢測(cè)采用USB類型的接口攝像頭作為前端圖像采集。

2.4 整體設(shè)計(jì)

將改進(jìn)后的YOLOv5算法部署到樹(shù)莓派4B硬件設(shè)備中,對(duì)道路中行駛車輛的車牌號(hào)碼進(jìn)行實(shí)時(shí)檢測(cè),加入邊緣設(shè)備Intel Movidius NCS2進(jìn)行加速推理,采用遠(yuǎn)程連接的方式將實(shí)時(shí)的檢測(cè)畫面?zhèn)鬏斨练?wù)器端,同時(shí)將獲取的行駛車輛的車牌信息發(fā)送至云端,在云端做進(jìn)一步推理。整體流程設(shè)計(jì)如圖5所示。

如圖6所示,邊緣設(shè)備由樹(shù)莓派4B、Intel Movidius NCS2和USB攝像頭組成。在樹(shù)莓派4B中搭建OpenVINO深度學(xué)習(xí)環(huán)境,將樹(shù)莓派4B與邊緣設(shè)備Intel Movidius NCS2進(jìn)行互聯(lián)通信,可以在前端加速推理YOLOv5深度學(xué)習(xí)模型,實(shí)現(xiàn)對(duì)車牌號(hào)碼的檢測(cè)與識(shí)別。并利用百度云開(kāi)放的API端口,將檢測(cè)到的車牌信息發(fā)送至百度網(wǎng)盤保存,云計(jì)算平臺(tái)根據(jù)百度網(wǎng)盤中的數(shù)據(jù)做進(jìn)一步處理,分析邊緣設(shè)備遺漏的車輛信息。服務(wù)器主要用于訓(xùn)練、優(yōu)化、轉(zhuǎn)換YOLOv5模型,遠(yuǎn)程連接到服務(wù)器端實(shí)時(shí)觀察車牌的識(shí)別效果。

3 實(shí)驗(yàn)推理流程

3.1 實(shí)驗(yàn)環(huán)境

前端使用OpenVINO Raspi 2020.3.321版本工具包在樹(shù)莓派4B上部署深度學(xué)習(xí)環(huán)境,設(shè)置樹(shù)莓派USB規(guī)則與神經(jīng)計(jì)算棒連接,利用Python3.7編寫推理程序,搭建百度云開(kāi)放API的Python環(huán)境,將推理所得數(shù)據(jù)上傳至百度網(wǎng)盤保存。服務(wù)器端使用的GPU型號(hào)為NVIDIA Quadro RTX 4000 8 G,訓(xùn)練YOLOv5算法模型的深度學(xué)習(xí)環(huán)境為PyTorch1.81+CUDA10.2,并利用openvino_2020.3.194工具包將訓(xùn)練好的模型轉(zhuǎn)換為IR格式文件。

3.2 實(shí)驗(yàn)數(shù)據(jù)集

為保證訓(xùn)練模型的高準(zhǔn)確性,如圖7所示,本文采集了質(zhì)量較高的車牌圖片,同時(shí)使用OpenCV對(duì)數(shù)據(jù)集進(jìn)行擴(kuò)充,使車牌數(shù)據(jù)集中的圖片具有各類場(chǎng)景、不同角度和明暗變化的特點(diǎn)。與傳統(tǒng)的車牌號(hào)碼檢測(cè)不相同的是,此次訓(xùn)練所用的數(shù)據(jù)集中添加了新能源車牌、電動(dòng)車車牌、摩托車車牌以及載重汽車車牌的樣本。數(shù)據(jù)集的車牌圖片共計(jì)1693張,類別中包含全國(guó)(除香港特別行政區(qū)、澳門特別行政區(qū)以及臺(tái)灣省)31個(gè)省份車牌大類,以及除O、I外的24個(gè)英文字母和0至9阿拉伯?dāng)?shù)字,共記65個(gè)類別標(biāo)簽。最后使用Labelimg工具對(duì)數(shù)據(jù)集中的圖片進(jìn)行手工標(biāo)注,并生成XML文件保存。

3.3 實(shí)驗(yàn)結(jié)果分析

本文的實(shí)驗(yàn)參數(shù)設(shè)定如下:輸入圖片大小為640×640,batch-size設(shè) 置 為16,epochs為1500。將訓(xùn)練所得模型轉(zhuǎn)換成ONNX格式文件,再利用OpenVINO模型優(yōu)化器將ONNX文件轉(zhuǎn)換至IR格式文件,編寫Python程序?qū)崿F(xiàn)推理功能,在樹(shù)莓派上加入神經(jīng)計(jì)算棒對(duì)模型進(jìn)行加速推理,推理結(jié)果保存為文本格式,并上傳至百度云盤保存。

本文將改進(jìn)的YOLOv5與未改進(jìn)的算法做對(duì)比,對(duì)比結(jié)果如表2所示。

從表2的結(jié)果可以看出,YOLOv5n的平均推理速度和YOLO層的解析速度均快于YOLOv5s,推理速度提升了38.60%,這是因?yàn)閅OLOv5n的網(wǎng)絡(luò)深度較淺,以神經(jīng)計(jì)算棒的算力來(lái)推理模型的三個(gè)輸出層速度較快;在YOLOv5中加入CBAM注意力機(jī)制后,推理速度相較于YOLOv5n降低了6.29%,相較于YOLOv5s提升了34.74%;本文改進(jìn)的算法相較于YOLOv5n推理速度提升了13.41%,YOLO層解析速度也快于YOLOv5n模型。選擇100組推理時(shí)間作對(duì)比,對(duì)比結(jié)果如圖8所示,改進(jìn)的算法推理過(guò)程相比較另外三種YOLO模型更加穩(wěn)定,上下浮動(dòng)集中在5 ms與10 ms之間,側(cè)面驗(yàn)證了改進(jìn)后的算法在推理速度和穩(wěn)定性方面表現(xiàn)較好。

表2 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)發(fā)現(xiàn)輸入圖像的清晰度、亮度與周圍環(huán)境復(fù)雜程度會(huì)對(duì)推理結(jié)果產(chǎn)生影響,而且輸出層的推理速度也與每幀圖片上同時(shí)存在的車牌號(hào)數(shù)量有關(guān)。改進(jìn)后算法在邊緣設(shè)備中的實(shí)時(shí)推理效果如圖9所示。

4 結(jié)語(yǔ)

綜上所述,本文基于邊緣設(shè)備Movidius NCS2與低功耗、低算力的樹(shù)莓派4B相結(jié)合的方式,通過(guò)改進(jìn)的YOLOv5算法實(shí)現(xiàn)車牌號(hào)碼的識(shí)別,同時(shí)比較了邊緣設(shè)備神經(jīng)計(jì)算棒在樹(shù)莓派上使用不同網(wǎng)絡(luò)模型的效果和推理速度。從實(shí)驗(yàn)的結(jié)果來(lái)看,在樹(shù)莓派上利用神經(jīng)計(jì)算棒提高計(jì)算性能是可行的,并且改進(jìn)的YOLOv5算法相比較YOLOv5n網(wǎng)絡(luò)模型,參數(shù)更少、算力要求更低,在邊緣設(shè)備中推理速度更快。本研究為智慧交通建設(shè)中遇到的微型化與實(shí)時(shí)性問(wèn)題提供了一個(gè)解決方案。為了滿足更復(fù)雜的交通環(huán)境下的需要,下一步工作也將繼續(xù)在多條神經(jīng)計(jì)算棒共同推理方面做出努力。

猜你喜歡
樹(shù)莓車牌邊緣
車牌顏色里的秘密
基于樹(shù)莓派的騎行智能頭盔設(shè)計(jì)
第一張車牌
一種側(cè)向插裝型車牌架
一張圖看懂邊緣計(jì)算
黃金水果紅樹(shù)莓
e絡(luò)盟率先推出第三代樹(shù)莓派
年度睡姿大盤點(diǎn)(下)
“他的車牌是……”
在邊緣尋找自我
专栏| 浠水县| 潮安县| 洪江市| 壶关县| 阿瓦提县| 上饶县| 隆安县| 通州区| 固始县| 荣昌县| 昭觉县| 韶关市| 垫江县| 拜城县| 瑞丽市| 赤壁市| 泰兴市| 滦平县| 府谷县| 桃江县| 滕州市| 乐清市| 德格县| 伊金霍洛旗| 高碑店市| 大英县| 弋阳县| 安康市| 图木舒克市| 日土县| 馆陶县| 古田县| 东兰县| 榆林市| 余庆县| 威信县| 陇南市| 区。| 太和县| 天津市|