基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)_第1頁
基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)_第2頁
基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)_第3頁
基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)_第4頁
基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

、宋體、1.5倍行距.

1引言............................................................................................................................1

1.1項(xiàng)目背景......................................................................................................1

1.2開發(fā)環(huán)境與工具..........................................................................................1

1.2.1YOLOv5算法簡介..................................................................................1

1.2.2PyQT5.....................................................................................................1

1.2.3Opencv-python簡介............................................................................2

1.2.4百度智能云API接口...........................................................................2

2需求分析....................................................................................................................2

2.1可行性需求分析..........................................................................................2

2.2數(shù)據(jù)集采集功能分析..................................................................................3

2.3關(guān)鍵技術(shù)分析..............................................................................................3

2.3.1數(shù)據(jù)采集技術(shù).......................................................................................3

2.3.2數(shù)據(jù)集可視化技術(shù)...............................................................................4

2.3.3YOLOv5目標(biāo)檢測算法..........................................................................4

2.3.4Web框架技術(shù)(Flask/Django)........................................................6

3數(shù)據(jù)采集....................................................................................................................6

3.1數(shù)據(jù)集需求分析..........................................................................................6

3.2數(shù)據(jù)集獲取分析..........................................................................................7

3.3編程實(shí)現(xiàn)......................................................................................................7

4數(shù)據(jù)集處理................................................................................................................8

4.1數(shù)據(jù)預(yù)處理..................................................................................................9

4.2數(shù)據(jù)增強(qiáng)......................................................................................................9

4.3切分訓(xùn)練集和測試集................................................................................10

5模型構(gòu)建及評估分析..............................................................................................11

5.1模型構(gòu)建....................................................................................................11

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu).....................................................................................11

5.1.2創(chuàng)建模型.............................................................................................12

5.2模型編譯....................................................................................................12

5.2.1優(yōu)化器設(shè)置.........................................................................................13

5.2.2損失函數(shù)設(shè)置.....................................................................................13

5.3模型訓(xùn)練與調(diào)優(yōu)........................................................................................15

5.3.1模型訓(xùn)練設(shè)置.....................................................................................15

5.3.2學(xué)習(xí)率調(diào)優(yōu).........................................................................................15

5.3.3batch_size設(shè)置................................................................................16

5.4模型部署....................................................................................................16

5.4.1系統(tǒng)前端設(shè)計(jì).....................................................................................16

5.4.2系統(tǒng)后端部署.....................................................................................17

5.4.3設(shè)計(jì)效果展示及分析.........................................................................18

6小結(jié)..........................................................................................................................19

參考資料.........................................................................................................................21

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于YOLOv5深度學(xué)習(xí)模型的車牌識別系統(tǒng)設(shè)計(jì)加

1引言

二十年前,紙質(zhì)信封成為了人們遠(yuǎn)距離的溝通方式,現(xiàn)如今只需要一鍵便

可聯(lián)系世界。自改革開放以來,中國的經(jīng)濟(jì)得到了日益發(fā)展,互聯(lián)網(wǎng)也走進(jìn)了

中國的大門??萍嫉牟粩噙M(jìn)步,互聯(lián)網(wǎng)的蓬勃發(fā)展,生活隨處可見。

1.1項(xiàng)目背景

隨著科技的不斷發(fā)展,人們生活水平質(zhì)量的提高,機(jī)動車輛的數(shù)量日益增

加,汽車出行已經(jīng)成為我們生活中的普遍現(xiàn)象。然而,這所引發(fā)出來的問題也

愈來愈嚴(yán)重。交通堵塞、私家車亂停放、闖紅燈、超速等各種違章的問題也接

踵而來。面對龐大的車輛,執(zhí)法人員難以人工管理,這個(gè)時(shí)候則需要一個(gè)完美

的車牌識別系統(tǒng)進(jìn)行依法懲治。

我的畢業(yè)設(shè)計(jì)就是針對根據(jù)攝像頭抓拍到的車輛圖片進(jìn)行車牌號碼識別出

來并可視化,將識別出來的車牌號碼存入數(shù)據(jù)到文件或者表格當(dāng)中,以便以后

可以查看違規(guī)的車牌號。

1.2開發(fā)環(huán)境與工具

1.2.1YOLOv5算法簡介

YOLOv5是一種單階段目標(biāo)檢測算法在YOLOv4的基礎(chǔ)上添加了一些新的改

進(jìn)思路,使其速度與精度得到了極大的性能提升。主要的改進(jìn)思路如下所示:

輸入端:在模型訓(xùn)練階段,提出了一些改進(jìn)思路,主要包括Mosaic數(shù)據(jù)增

強(qiáng)、自適應(yīng)錨框計(jì)算、自適應(yīng)圖片縮放;基準(zhǔn)網(wǎng)絡(luò):融合其它檢測算法中的一

些新思路,主要包括:Focus結(jié)構(gòu)與CSP結(jié)構(gòu);Neck網(wǎng)絡(luò):目標(biāo)檢測網(wǎng)絡(luò)在

BackBone與最后的Head輸出層之間往往會插入一些層,Yolov5中添加了

FPN+PAN結(jié)構(gòu);Head輸出層:輸出層的錨框機(jī)制與YOLOv4相同,主要改進(jìn)的是

訓(xùn)練時(shí)的損失函數(shù)GIOU_Loss,以及預(yù)測框篩選的DIOU_nms。

1.2.2PyQT5

PyQt是Qt框架的Python語言實(shí)現(xiàn),由RiverbankComputing開發(fā),是最

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

強(qiáng)大的GUI庫之一。PyQt提供了一個(gè)設(shè)計(jì)良好的窗口控件集合,每一個(gè)PyQt控

件都對應(yīng)一個(gè)Qt控件,因此PyQt的API接口與Qt的API接口很接近,但PyQt

不再使用QMake系統(tǒng)和Q_OBJECT宏。

1.2.3Opencv-python簡介

OpenCV是一個(gè)基于Apache2.0許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺和機(jī)

器學(xué)習(xí)軟件庫,可以運(yùn)行在Linux、Windows、Android和MacOS操作系統(tǒng)上。

它輕量級而且高效——由一系列C函數(shù)和少量C++類構(gòu)成,同時(shí)提供了Python、

Ruby、MATLAB等語言的接口,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算

法。

1.2.4百度智能云API接口

百度智能云于2015年正式對外開放運(yùn)營,以“云智一體”為核心賦能千行

百業(yè),致力于為企業(yè)和開發(fā)者提供全球領(lǐng)先的人工智能、大數(shù)據(jù)和云計(jì)算服務(wù)

及易用的開發(fā)工具。憑借先進(jìn)的技術(shù)和豐富的解決方案,全面賦能各行業(yè),加

速產(chǎn)業(yè)智能化。

2需求分析

2.1可行性需求分析

1.技術(shù)可行性

Python編程語言通俗易懂、是一種動態(tài)的面對對象的腳本語言。Python有

大量的第三方庫,此項(xiàng)目用到Opencv和PyQt5,可以更加直觀的可視化給用戶,

讓用戶有更好的體驗(yàn)感。百度云是一家為企業(yè)和開發(fā)者提供全球領(lǐng)先的人工智

能、大數(shù)據(jù)和云計(jì)算的開發(fā)工具的公司,有著全面的API技術(shù)支持。

2.項(xiàng)目可行性

處理違章車輛一直是社會的焦點(diǎn)與熱點(diǎn),對于大量違章車輛的情況下,人

工處理是一個(gè)很困難的事情,如何高效率的解決違章車輛也就變得尤為重要。

本項(xiàng)目就是對于攝像頭抓取到的照片進(jìn)行車牌識別,利用已有的照片進(jìn)行識別

車牌號,將車輛的車牌號可視化到界面,查出該車牌的歸屬地及所屬類別(黃牌、

綠牌、藍(lán)牌),根據(jù)需求是否保存掃描出的數(shù)據(jù)。

此項(xiàng)目的數(shù)據(jù)集來源于自己生活中通關(guān)攝像頭拍照而得,通過多次驗(yàn)證本

項(xiàng)目可以運(yùn)用到合適的實(shí)際生活場所中。

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.2數(shù)據(jù)集采集功能分析

此次項(xiàng)目的數(shù)據(jù)集收集了約30W+的檢測數(shù)據(jù)集(含藍(lán)牌綠牌),加上在生

活中拍到的一些車牌照片,用于識別車牌信息所用。主要的數(shù)據(jù)源自于CCPD車

牌數(shù)據(jù)集,關(guān)于車牌數(shù)據(jù)集的說明,請參考超鏈

接:/detectRecog/CCPD。

CCPD(ChineseCityParkingDataset)是中國城市車牌數(shù)據(jù)集,共分為兩類:

CCPD2019和CCPP2020,前者為藍(lán)色車牌,而后者為新能源綠色車牌。

CCPD2019數(shù)據(jù)集包含將近30萬張圖片、圖片尺寸為720*1160*3,共包含8

種類型圖片,每種類型、數(shù)量說明如下表:

類型圖片數(shù)量說明

ccpd_base199998正常車牌

ccpd_challenge10006比較有挑戰(zhàn)的車牌

ccpd_db20001光纖較暗或較亮的車牌

ccpd_fn19999距離攝像頭很近或者很遠(yuǎn)的車牌

ccpd_np3036沒上牌的新車

ccpd_rotate9998水平傾斜20-50度,垂直傾斜10-40度

ccpd_till10000水平傾斜15-45度,垂直傾斜15-45度

ccpd_weather9999雨天、雪天或大霧的車牌

總共283037張車牌圖

CCPD2019車牌數(shù)據(jù)集拍攝的車牌照片的環(huán)境復(fù)雜多變,包括了傾斜的、模

糊、雨天、雪天等多個(gè)場景的數(shù)據(jù),并且大部分圖片有且僅含有一個(gè)車牌;由于

采集人員主要在安徽省城市的停車場進(jìn)行采集,導(dǎo)致大部分?jǐn)?shù)據(jù)都是含有【皖】

的牌圖片,而其他省份的車牌比較少,而一些特殊車牌的數(shù)據(jù)幾乎沒有。

2.3關(guān)鍵技術(shù)分析

2.3.1數(shù)據(jù)采集技術(shù)

從上方鏈接下載數(shù)據(jù)集后,打開PyCharm安裝labelme,打開數(shù)據(jù)集路徑(注

意路徑名中不能含有中文路徑名)。

將CCPD車牌數(shù)據(jù)集標(biāo)注一小部分,標(biāo)注形式為將圖片盡可能小誤差的給車

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

牌信息標(biāo)注,標(biāo)注車牌四個(gè)角點(diǎn),車牌水平和垂直角度以及車牌號碼等信息,

并以圖片文件名的方式進(jìn)行命名。

2.3.2數(shù)據(jù)集可視化技術(shù)

Python可視化函數(shù)如圖2-1顯示:

圖2-1可視化函數(shù)

2.3.3YOLOv5目標(biāo)檢測算法

YOLOv5目標(biāo)檢測算法的整體框圖。對于一個(gè)目標(biāo)檢測算法而言,我們通常

可以將其劃分為4個(gè)通用的模塊,具體包括:輸入端、基準(zhǔn)網(wǎng)絡(luò)、Neck網(wǎng)絡(luò)與Head

輸出端,對應(yīng)于上圖中的4個(gè)紅色模塊。YOLOv5算法具有4個(gè)版本,具體包括:

YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x四種,本文重點(diǎn)講解YOLOv5s,其它的

版本都在該版本的基礎(chǔ)上對網(wǎng)絡(luò)進(jìn)行加深與加寬。

輸入端-輸入端表示輸入的圖片。該網(wǎng)絡(luò)的輸入圖像大小為608*608,該階

段通常包含一個(gè)圖像預(yù)處理階段,即將輸入圖像縮放到網(wǎng)絡(luò)的輸入大小,并進(jìn)

行歸一化等操作。在網(wǎng)絡(luò)訓(xùn)練階段,YOLOv5使用Mosaic數(shù)據(jù)增強(qiáng)操作提升模型

的訓(xùn)練速度和網(wǎng)絡(luò)的精度;并提出了一種自適應(yīng)錨框計(jì)算與自適應(yīng)圖片縮放方

法。

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基準(zhǔn)網(wǎng)絡(luò)-基準(zhǔn)網(wǎng)絡(luò)通常是一些性能優(yōu)異的分類器種的網(wǎng)絡(luò),該模塊用來提

取一些通用的特征表示。YOLOv5中不僅使用了CSPDarknet53結(jié)構(gòu),而且使用了

Focus結(jié)構(gòu)作為基準(zhǔn)網(wǎng)絡(luò)。

圖2-2YOLOV5模型結(jié)構(gòu)

Neck網(wǎng)絡(luò)-Neck網(wǎng)絡(luò)通常位于基準(zhǔn)網(wǎng)絡(luò)和頭網(wǎng)絡(luò)的中間位置,利用它可以

進(jìn)一步提升特征的多樣性及魯棒性。雖然YOLOv5同樣用到了SPP模塊、FPN+PAN

模塊,但是實(shí)現(xiàn)的細(xì)節(jié)有些不同。

圖2-3SPP模塊

Head輸出端-Head用來完成目標(biāo)檢測結(jié)果的輸出。針對不同的檢測算法,

輸出端的分支個(gè)數(shù)不盡相同,通常包含一個(gè)分類分支和一個(gè)回歸分支。YOLOv4

利用GIOU_Loss來代替SmoothL1Loss函數(shù),從而進(jìn)一步提升算法的檢測精度。

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

2.3.4W

eb

術(shù)

Fl

as

k/

Dj

圖2-4YOLOv5模塊a

n

go)

可視化技術(shù)起源于圖形學(xué)、計(jì)算機(jī)圖形學(xué)、科學(xué)可視化、人工智能以及用

戶界面等領(lǐng)域,也是當(dāng)前計(jì)算機(jī)科學(xué)的一個(gè)重要研究方向,它利用計(jì)算機(jī)對抽

象信息進(jìn)行直觀的表示,以利于快速檢索信息和怎強(qiáng)認(rèn)知能力。

數(shù)據(jù)可視化是項(xiàng)目中十分重要的一環(huán),主要通過計(jì)算機(jī)圖形圖像技術(shù)手段

展現(xiàn)出數(shù)據(jù)的基本特征或者隱含規(guī)律,它將復(fù)雜的數(shù)據(jù)轉(zhuǎn)化為更容易的方式傳

遞給受眾,并給人意想不到的洞察力,所以建立數(shù)據(jù)可視化確實(shí)可以使分析的

數(shù)據(jù)任務(wù)更清晰、更容易理解,特別是對于大規(guī)模的數(shù)據(jù)集。

3數(shù)據(jù)采集

3.1數(shù)據(jù)集需求分析

CCPD車牌數(shù)據(jù)集是屬于一個(gè)免費(fèi)開源的數(shù)據(jù)集,且數(shù)據(jù)集總量達(dá)到35W

左右,能夠很好的作為訓(xùn)練模型的參數(shù),也可用于車牌檢測識別模型算法開發(fā)。

其中類型分為藍(lán)色車牌和綠色車牌,藍(lán)色車牌約34萬張,綠色車牌約1萬張。

種類豐富,應(yīng)用場景多變,包括各類場景以及天氣等特殊情況,利于模型訓(xùn)練

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

的多變性和學(xué)習(xí)性。

3.2數(shù)據(jù)集獲取分析

打開瀏覽器,在搜索欄中輸入:/detectRecog/CCPD。

數(shù)據(jù)集說明如下:

CCPD2019:官方原始數(shù)據(jù),主要是藍(lán)牌數(shù)據(jù),約34W。

CCPD2020:官方原始數(shù)據(jù),主要是新能源綠牌數(shù)據(jù),約1萬。

CCPD2019-voc:將數(shù)據(jù)集CCPD2019轉(zhuǎn)換為VOC數(shù)據(jù)格式(數(shù)據(jù)在

Annotations,JPEGImages文件夾),可以直接用于目標(biāo)檢測模型訓(xùn)練。

CCPD2020-voc:將數(shù)據(jù)集CCPD2020轉(zhuǎn)換為VOC數(shù)據(jù)格式(數(shù)據(jù)在

Annotations,JPEGImages文件夾),可以直接用于目標(biāo)檢測模型訓(xùn)練。

為了方便后續(xù)訓(xùn)練車牌識別模型,數(shù)據(jù)集提供已經(jīng)剪裁好的車牌圖片,并

放在plates文件夾中。

圖3-1數(shù)據(jù)集展示

3.3編程實(shí)現(xiàn)

導(dǎo)入依賴包文件,在PyCharm中terminal中下載所需庫。所需要的庫如圖

所示。

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-2導(dǎo)入所需庫依賴包

4數(shù)據(jù)集處理

數(shù)據(jù)集處理是指發(fā)現(xiàn)不恰當(dāng)?shù)臄?shù)據(jù)集,并改正數(shù)據(jù)中可能識別錯(cuò)誤的圖片,

還包括檢查數(shù)據(jù)一致性,處理無效值和缺失值等。其中數(shù)據(jù)集包括三種處理方

法:離散值的處理、屬性歸一化、分割數(shù)據(jù)集。其中后兩種使用的頻率較高,

尤其是分割數(shù)據(jù)集,在深度學(xué)習(xí)當(dāng)中使用的頻度最高。

1.離散值的處理:因?yàn)殡x散值的差值是沒有實(shí)際意義的。比如如果用0,1,2

代表紅黃藍(lán),1-0的差值代表黃-紅,是沒有意義的。因此,我們往往會把擁有d

個(gè)取值的離散值變?yōu)閐個(gè)取值為0,1的離散值或者將其映射為多維向量。

2.屬性歸一化:歸一化的目標(biāo)是把各位屬性的取值范圍放縮到差不多的區(qū)

間,例如[-0.5,0.5]。這里我們使用一種很常見的操作方法:減掉均值,然后

除以原取值范圍。

做歸一化至少有以下3個(gè)理由:

1過大或過小的數(shù)值范圍會導(dǎo)致計(jì)算時(shí)的浮點(diǎn)上溢或下溢。

2不同的數(shù)值范圍會導(dǎo)致不同屬性對模型的重要性不同(至少在訓(xùn)練的初

始階段如此),而這個(gè)隱含的假設(shè)常常是不合理的。這會對優(yōu)化的過程造成困

難,使訓(xùn)練時(shí)間大大的加長。

3很多的機(jī)器學(xué)習(xí)技巧/模型(例如L1,L2正則項(xiàng),向量空間模型-Vector

SpaceModel)都基于這樣的假設(shè):所有的屬性取值都差不多是以0為均值且取

值范圍相近的。

3.分割數(shù)據(jù)集一般把數(shù)據(jù)集分為兩部分,一部分為訓(xùn)練集,用于訓(xùn)練數(shù)據(jù),

一部分為測試集,用于測試訓(xùn)練的數(shù)據(jù),測試集不應(yīng)過多或過少,數(shù)據(jù)較少時(shí)

訓(xùn)練集:測試集可以為8:2,較多時(shí)比例可以達(dá)到9:1。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

4.1數(shù)據(jù)預(yù)處理

圖4-1高斯處理

圖4-2數(shù)據(jù)預(yù)處理

4.2數(shù)據(jù)增強(qiáng)

數(shù)據(jù)增強(qiáng)也叫數(shù)據(jù)擴(kuò)增,意思是在不實(shí)質(zhì)性的增加數(shù)據(jù)的情況下,讓有限

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

的數(shù)據(jù)產(chǎn)生等價(jià)于更多數(shù)據(jù)的價(jià)值。

比如,對原始數(shù)據(jù)進(jìn)行一系列的隨機(jī)裁剪、旋轉(zhuǎn)操作得來。

每張圖對于網(wǎng)絡(luò)來說都是不同的輸入,加上原圖就將數(shù)據(jù)擴(kuò)充到原來的10

倍。假如我們輸入網(wǎng)絡(luò)的圖片的分辨率大小是256*256,若采用隨機(jī)裁剪成

224*224的方式,那么一張圖最多可以產(chǎn)生32*32張不同的圖,數(shù)據(jù)量擴(kuò)充將近

1000倍。雖然許多的圖片相似度太高,且實(shí)際的效果并不等價(jià),但僅僅是這樣

的簡單的操作,效果已經(jīng)非凡了。如果再輔助其他的數(shù)據(jù)增強(qiáng)方法,將會獲得

更好的多樣性,這就是數(shù)據(jù)增強(qiáng)的本質(zhì)。

其中,數(shù)據(jù)增強(qiáng)的分類可以分為有監(jiān)督的數(shù)據(jù)增強(qiáng)和無監(jiān)督的數(shù)據(jù)增強(qiáng)方

法。另外,有監(jiān)督的數(shù)據(jù)增強(qiáng)又可以分為單樣本數(shù)據(jù)增強(qiáng)和多樣本的數(shù)據(jù)增強(qiáng)

方法。而無監(jiān)督的數(shù)據(jù)增強(qiáng)分為生成新的數(shù)據(jù)和學(xué)習(xí)增強(qiáng)策略兩個(gè)方向。

4.3切分訓(xùn)練集和測試集

為了更好的使得模型訓(xùn)練,我們需要將獲取的數(shù)據(jù)集進(jìn)行切分成訓(xùn)練集與

測試集。

訓(xùn)練集:訓(xùn)練集是機(jī)器學(xué)習(xí)模型用于訓(xùn)練和學(xué)習(xí)的數(shù)據(jù)集。通常情況下,

訓(xùn)練集是原始數(shù)據(jù)集的一部分,用于訓(xùn)練模型的參數(shù),模型通過訓(xùn)練集來學(xué)習(xí)

數(shù)據(jù)的特征,并產(chǎn)生一個(gè)模型,以便在預(yù)測中使用。

測試集:測試集是用于評估模型最終性能的數(shù)據(jù)集。它通常是從原始數(shù)據(jù)

集中劃分出來的,與訓(xùn)練集和驗(yàn)證集互不重疊。測試集的作用是評估模型在未

見過的數(shù)據(jù)上的性能,并判斷模型是否足夠準(zhǔn)確和魯棒性。

一般情況下,我們習(xí)慣將訓(xùn)練集劃分為80%,測試集劃分20%,并且訓(xùn)練集

和測試集需要遵循如下的要點(diǎn):

只有訓(xùn)練集才可以用在模型的訓(xùn)練過程中,測試集必須在模型完成

之后才被用來評估模型優(yōu)劣的依據(jù)。

訓(xùn)練集中樣本數(shù)量必須夠多,一般至少要大于總樣本數(shù)的一半。

兩組子集必須從完整集合中均勻取樣。

其中最后一點(diǎn)特別重要,均勻取樣的目的是希望減少訓(xùn)練集/測試集與完整

集合之間的偏差(bias),但卻也不易做到。一般的作法是隨機(jī)取樣,當(dāng)樣本

數(shù)量足夠時(shí),便可達(dá)到均勻取樣的效果,然而隨機(jī)也正是此作法的盲點(diǎn),也是

經(jīng)常是可以在數(shù)據(jù)上做手腳的地方。舉例來說,當(dāng)辨識率不理想時(shí),便重新取

樣一組訓(xùn)練集/測試集,直到測試集的識別率滿意為止,但嚴(yán)格來說這樣便算是

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

作弊了。

圖4-3劃分?jǐn)?shù)據(jù)集

5模型構(gòu)建及評估分析

5.1模型構(gòu)建

5.1.1模型網(wǎng)絡(luò)結(jié)構(gòu)

圖5-1模型結(jié)構(gòu)

訓(xùn)練Pipeline采用YOLOv5:/ultralytics/yolov5,原

始官方代碼訓(xùn)練需要轉(zhuǎn)換為YOLO的格式,不支持VOC的數(shù)據(jù)格式。為了適配VOC

數(shù)據(jù),本人新增了LoadVOCImagesAndLables用于解析VOC數(shù)據(jù)集,以便正常訓(xùn)

練。另外,為了方便測試,還增加了demo.py文件,可支持對圖片,視頻和攝

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

像頭的測試。

導(dǎo)入相關(guān)庫,創(chuàng)建模型,如圖5-2。

圖5-2導(dǎo)入相關(guān)庫

5.1.2創(chuàng)建模型

項(xiàng)目實(shí)現(xiàn)了三個(gè)車牌識別模型:CRNN,LPRNet和PlateNet,其計(jì)算量和參

數(shù)量如下:

CRNN:最經(jīng)典的OCR模型了,采用CNN+RNN的網(wǎng)絡(luò)結(jié)構(gòu),提出CTC-Loss對

齊算法解決不定長序列對齊問題;原始碼元是用于文字識別的,稍微改成車牌

數(shù)據(jù)集,即可用于車牌識別。

LPRNet:相比經(jīng)典的CRNN模型,LPRnet沒有采用RNN結(jié)構(gòu);是專門設(shè)計(jì)用

于車牌識別的輕量級的模型,整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)高度輕量化,參數(shù)量僅有0.48。

PlateNet:LPRNet網(wǎng)絡(luò)結(jié)構(gòu)中存在MaxPool3d等算子,在端上部署時(shí),會存

在OP不支持等問題,PlateNet模型去除MaxPool3d,改成使用MaxPool2d,保

證模型可端上部署成功。

圖5-3數(shù)據(jù)展示頁面

5.2模型編譯

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.2.1優(yōu)化器設(shè)置

圖5-4yaml文件

準(zhǔn)備好數(shù)據(jù),下一步是修改配置文件config_crnn.yaml的路徑:

1.修改train_data和test_data為你自己的數(shù)據(jù)路徑。

2.其他參數(shù)保存默認(rèn)即可。

修改參數(shù)代碼如圖5-4.

5.2.2損失函數(shù)設(shè)置

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-5數(shù)據(jù)展示頁面

從圖5-5中可以看出大部分的車牌數(shù)據(jù)源自于安徽省,而其他省份的(如寧,

藏等省份)的車牌比較少,而一些特殊的車牌數(shù)據(jù)是幾乎沒有。導(dǎo)致數(shù)據(jù)長尾問

題。

數(shù)據(jù)長尾問題:是指數(shù)據(jù)集拍攝的照片環(huán)境復(fù)雜多變,包括了傾斜、模糊、

雨天雪天等多個(gè)場景的數(shù)據(jù),但大部分圖片有且僅含有一個(gè)車牌。【前文已經(jīng)

提到CCPD數(shù)據(jù)集的采集人員來自安徽省,所以數(shù)據(jù)集多數(shù)為安徽省的車牌照】

因此我們需要進(jìn)行樣本均衡操作,實(shí)現(xiàn)該操作有兩種方式:

1.手動增加一些比較稀少的數(shù)據(jù)集,如西藏等省份、警用車牌、武警

車牌的圖片。使得數(shù)據(jù)豐富多樣,更好的訓(xùn)練模型,提高模型的泛

化能力,提高模型的準(zhǔn)確率。

2.實(shí)現(xiàn)Re-Sampling機(jī)制,本項(xiàng)目使用此機(jī)制,配置文件將resample

設(shè)置True即可。

Re-Sample說明:又稱作重采樣,重新采樣數(shù)據(jù)集以在訓(xùn)練期間重新平衡類

分布,比如對多數(shù)類進(jìn)行欠采樣,或?qū)ι贁?shù)類進(jìn)行過采用。

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.3模型訓(xùn)練與調(diào)優(yōu)

5.3.1模型訓(xùn)練設(shè)置

圖5-6運(yùn)行代碼(部分截圖)

整套訓(xùn)練代碼非常簡單操作,項(xiàng)目源碼已經(jīng)給出CRNN、LPRNet的配置文件;

只需要修改好配置文件的數(shù)據(jù)路徑,即可以開始訓(xùn)練了。代碼如圖5-6.

5.3.2學(xué)習(xí)率調(diào)優(yōu)

圖5-7lr設(shè)置

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

可以看到模型設(shè)置為0.001時(shí),準(zhǔn)確率已經(jīng)達(dá)到了0.957,后續(xù)已經(jīng)達(dá)到了

0.98。因此,此時(shí)學(xué)習(xí)率已經(jīng)達(dá)到了較不錯(cuò)的理想程度。也可以將學(xué)習(xí)率上下

微調(diào)值。運(yùn)行結(jié)果如圖5-7。

5.3.3batch_size設(shè)置

圖5-8數(shù)據(jù)展示頁面

訓(xùn)練模型時(shí),設(shè)置2個(gè)epochs,并每次以64一組batch_size作為一批數(shù)

據(jù)傳給模型訓(xùn)練。后續(xù)可以加載更多的batch_size來調(diào)優(yōu)模型,避免錯(cuò)過最優(yōu)

模型,然后在最優(yōu)的模型情況下微微調(diào)參數(shù)。運(yùn)行結(jié)果可以參考運(yùn)行結(jié)果圖

5-7。Acc值已經(jīng)達(dá)到0.97,當(dāng)然也可以調(diào)下lr值來確保模型的是否達(dá)到最優(yōu)。

5.4模型部署

5.4.1系統(tǒng)前端設(shè)計(jì)

圖5-9可視化窗口

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

由于在PyCharm運(yùn)行中的可視化效果沒有很好的展示出來,因此,我自己

采用的PyQt5的界面自定義了一個(gè)可視化窗口。當(dāng)然,如果不想重新寫窗口界

面也可以采用Tensorflow自帶的Tensorboard或者matplotlib庫來一一展示

圖片,為了可以更好的展示數(shù)據(jù),并且讓數(shù)據(jù)得到可觀的體現(xiàn)。另外寫了一個(gè)

項(xiàng)目,該項(xiàng)目調(diào)用了百度云API接口,百度云接口已經(jīng)將模型已經(jīng)具體實(shí)現(xiàn)。

只需要將識別出來的結(jié)果可視化到PyQT5即可。

PyQT5功能強(qiáng)大,能夠自定義窗口,有強(qiáng)大的用戶交互功能,PyQT5能夠?qū)?/p>

用戶自定義窗口自動生成代碼,支持瀏覽器的網(wǎng)頁功能、支持CSS大部分功能。

顏色相比較tkinter多樣化,美觀且直觀。這也是選擇用PyQT5作為可視化界

面的原因之一。

5.4.2系統(tǒng)后端部署

圖5-10后端部署代碼(部分)

將讀入的數(shù)據(jù)(車牌圖片)進(jìn)行一系列的操作,通過調(diào)用API接口得到識

別圖片之后的結(jié)果。將識別出來的文字信息顯示到指定的位置中,其中包括圖

片的名稱、識別的時(shí)間、車牌號碼、車牌顏色與歸屬地。分別為:

圖片名稱:需要識別的圖片,也就是我們導(dǎo)入的數(shù)據(jù)集車牌圖片。

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

識別時(shí)間:程序調(diào)用API接口并識別圖片的具體時(shí)間。

車牌號碼:識別出來的車牌照片,通常是包括是指的某個(gè)省份某個(gè)

城市加上后面跟五位字母或數(shù)字。

車牌類型:是指的車牌顏色,一般情況是藍(lán)色車牌和綠色車牌,也

有少量的黃色車牌照片。并將識別出來的顏色作為背景色顯示到窗

口中。

車牌信息:除了幾個(gè)特定的直轄市,一般是指的某省某市。具體的

哪個(gè)市是由當(dāng)省的字母決定,相關(guān)的參數(shù)已經(jīng)另外提取到Json文

件當(dāng)中。

將抓拍到的車牌位置放置到界面指定的位置,這其中涉及到圖像分割的操

作。代碼如圖5-10(部分)。代碼截圖過長,因此選取特定有針對性的代碼塊。

5.4.3設(shè)計(jì)效果展示及分析

圖5-11可視化界面

圖5-12保存數(shù)據(jù)

18

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論