




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年CPSM題庫全解析試題及答案
- 2025年多芯片組裝模塊(MCM)的測試技術(shù)項(xiàng)目合作計(jì)劃書
- CPSM考試挑戰(zhàn)課程試題及答案
- 透析腎友尿毒癥瘙癢治理2025
- 2024年國際物流師模擬考試試題與答案
- 增強(qiáng)溝通能力的2024年CPMM試題及答案
- 針對CPSM考試難點(diǎn)試題及答案解析
- 假期疫情防控課件教學(xué)
- 理論聯(lián)系實(shí)踐的CPSM考試復(fù)習(xí)試題及答案
- 2024年國際物流師采購策略考題分析試題及答案
- 口腔三基三嚴(yán)試題及答案
- 礦山開工報(bào)告范本
- AS3000-2007電氣安裝布線規(guī)范(中英文)
- 2024年上海市徐匯區(qū)中考英語二模試卷
- 2023年2月26日多?。ㄊ?、區(qū))公務(wù)員考試《公安專業(yè)科目》試題(含解析)
- 2024-2030年中國艾灸行業(yè)規(guī)模分析及投資前景規(guī)劃研究報(bào)告
- 醫(yī)院培訓(xùn)課件:《檢驗(yàn)前質(zhì)量控制-標(biāo)本采集與送檢》
- 四年級下冊英語(人教PEP)高頻考點(diǎn)每日一練
- 煤氣燈效應(yīng)(擺脫精神控制)
- 2024年高考全國甲卷英語試卷(含答案)
- 代理記賬有限公司簡介(5個(gè)范本)
評論
0/150
提交評論