王 峰,唐志瑞,鄒俊逸,王海波,邢廣興
(1.武漢科技大學(xué) 汽車與交通工程學(xué)院,武漢 430081;2.寧夏警官職業(yè)學(xué)院 信息管理學(xué)院,銀川 750001;3.長安福特汽車有限公司,重慶 400023)
車輛牌照作為車輛的重要身份標(biāo)識,是智能交通系統(tǒng)中的信息來源和處理對象[1]。車牌識別系統(tǒng)應(yīng)用大量的圖像識別等手段實現(xiàn)對車牌的精確定位和車牌號的識別[2]。目前,車牌識別系統(tǒng)已在眾多領(lǐng)域得到廣泛應(yīng)用[3]。
當(dāng)前,車牌識別技術(shù)主要有2類。一類使用傳統(tǒng)的圖像處理技術(shù),另一類使用深度學(xué)習(xí)方法[4],而深度學(xué)習(xí)方法因高效和精準(zhǔn)的優(yōu)勢被廣泛運用。史建偉等[5]采用BGRU優(yōu)化車牌識別網(wǎng)絡(luò)模型,并結(jié)合改進(jìn)的YOLOv3網(wǎng)絡(luò)定位車牌。該方法具有良好的魯棒性。馬巧梅等[6]在YOLOv3的基礎(chǔ)上進(jìn)行改進(jìn),將多尺度特征融合Inception-SE(squezze-and-excitation,SE)模塊,提高了檢測速度和精度。李祥鵬等[7]采用速度較快的R-CNN算法定位車牌,利用K-means算法選擇最佳的車牌區(qū)域大小,利用改進(jìn)的AlexNet模型實現(xiàn)高精度的車牌識別,避免了在車牌字符分割時由于不能準(zhǔn)確分割車牌字符而影響車牌字符識別的問題。
一般來說,車牌識別系統(tǒng)分為預(yù)處理、二值化、車牌定位、字符分割和識別幾個過程,而定位技術(shù)是整個系統(tǒng)的關(guān)鍵技術(shù)之一[8]。經(jīng)典的目標(biāo)檢測方法主要包括單階段和多階段方法[9],本文中將車牌識別分為2個模塊,第1個模塊是使用單階段目標(biāo)檢測算法YOLOv5s從輸入的圖片中提取車牌,在此基礎(chǔ)上第2個模塊使用端到端車牌識別算法LPRNet識別車牌中的內(nèi)容。在車牌識別訓(xùn)練中,使用了大量不同環(huán)境、不同場景下的車牌圖像,并將2個模塊結(jié)合設(shè)計了YOLOv5s-LPRNet模型。在YOLOv5s算法修改的基礎(chǔ)上進(jìn)行基于高斯過程的神經(jīng)架構(gòu)搜索調(diào)整,修改 LPRNet算法的超參數(shù)后,模型更加適合復(fù)雜環(huán)境和在移動嵌入式設(shè)備上運行更為高效的要求,進(jìn)一步提高了模型性能和泛化能力。
NAS是一種自動設(shè)計神經(jīng)網(wǎng)絡(luò)的技術(shù),可以根據(jù)樣本集自動設(shè)計出高性能的網(wǎng)絡(luò)結(jié)構(gòu),能有效降低神經(jīng)網(wǎng)絡(luò)使用和實現(xiàn)的成本[10]。
GP-NAS是百度自研的AutoDL算法,首次將NAS技術(shù)應(yīng)用于圖像超分領(lǐng)域。該算法將計算機(jī)視覺模型實現(xiàn)為基于表達(dá)程度的結(jié)構(gòu),這種結(jié)構(gòu)可以在給定任務(wù)上獲得準(zhǔn)確性更高、計算復(fù)雜度更低的模型。算法從貝葉斯角度來建模NAS,使用貝葉斯自動調(diào)整深度神經(jīng)網(wǎng)絡(luò),并為不同的搜索空間設(shè)計定制化的高斯過程均值函數(shù)和核函數(shù)。通過互信息最大化采樣算法,有效采樣模型結(jié)構(gòu)。根據(jù)采樣網(wǎng)絡(luò)的性能,逐步更新貝葉斯的后驗分布,最終可以預(yù)測出滿足特定延時約束的最優(yōu)模型結(jié)構(gòu)[11]。
高斯過程是一個非參數(shù)框架,對在定義域上的函數(shù)使用非線性回歸技術(shù)進(jìn)行推理。GP-NAS算法中高斯進(jìn)程方法可以通過觀察來預(yù)測未觀察到的數(shù)據(jù),GP可以完全通過其均值和協(xié)方差(核)函數(shù)來表達(dá)[11]。假設(shè)不同網(wǎng)絡(luò)架構(gòu)的性能是聯(lián)合高斯分布的,表達(dá)式為
?st?n,ut=nst,?t∈T
(1)
協(xié)方差矩陣表達(dá)式為
si∈st,?i∈{1,2,…,|st|},?st?n,
ut=nst,uj∈ut,?j∈{1,2,…,|s|}
(2)
?st?n,ut=nst,?t∈T
(3)
為了實現(xiàn)最小化采樣時間,通過信息論的角度來優(yōu)化采樣策略?;バ畔⒂糜诤饬?個分布之間的相互依賴關(guān)系[11]。在時間為t時,采樣的網(wǎng)絡(luò)架構(gòu)xt(st)和未采樣的架構(gòu)xt(st) 形成2個分布。嘗試通過最大化它們的互信息來使M(xt(st),xt(ut))逼近xt(st)。通過這種方式,可為每個采樣選擇一個具有高信息增益的神經(jīng)架構(gòu)。M(xt(st),xt(ut))表達(dá)式為
?st?n,ut=nst,?t∈T
(4)
式中:|Kt(ut,ut)|和|Kt(ut|st)|表示Kt(ut,ut)和Kt(ut|st)行列式。更詳細(xì)的算法解釋參考文獻(xiàn)[11]。
綜上,GP-NAS可用于優(yōu)化超參數(shù)和自動搜索最佳網(wǎng)絡(luò)架構(gòu),如學(xué)習(xí)速率、權(quán)重衰減、動量、層數(shù)、過濾器大小和池化層等。使用GP-NAS算法改進(jìn)YOLOv5s網(wǎng)絡(luò)能有效減少搜索空間,并在有限的預(yù)算下縮短搜索時間;能有效地找到全局最優(yōu)的神經(jīng)網(wǎng)絡(luò)拓?fù)?提高模型性能。因此,采用GP-NAS算法用于優(yōu)化YOLOv5s網(wǎng)絡(luò)中的每個神經(jīng)網(wǎng)絡(luò)層的參數(shù)。GP-NAS算法的主要操作分為以下幾個步驟:
步驟1隨機(jī)選擇神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)作為初始樣本,并通過預(yù)訓(xùn)練模型評估其性能。
步驟2使用初始樣本訓(xùn)練高斯過程模型,建立性能和網(wǎng)絡(luò)結(jié)構(gòu)之間的關(guān)系。
步驟3采樣新的網(wǎng)絡(luò)結(jié)構(gòu),并使用高斯過程模型預(yù)測其性能,挑選適合的候選結(jié)構(gòu)集合。
步驟4在訓(xùn)練數(shù)據(jù)上訓(xùn)練候選結(jié)構(gòu),并再次評估其性能。將這些新結(jié)構(gòu)加入原始樣本集,更新GP模型。
步驟5當(dāng)使用高斯過程模型預(yù)測性能滿足預(yù)設(shè)結(jié)束條件時,停止搜索過程,更新模型。
該算法與YOLOv5s結(jié)合應(yīng)用時,因為各類超參數(shù)的設(shè)置問題,每次得到的模型不一定是更優(yōu)的模型,所以需要多次運行和驗證,以獲取更優(yōu)的神經(jīng)網(wǎng)絡(luò)模型。
YOLOv5是單階段目標(biāo)檢測算法,網(wǎng)絡(luò)結(jié)構(gòu)分為輸入端、Backbone、Neck、輸出端4個部分[12],其主要特點是使用更高效的網(wǎng)絡(luò)設(shè)計和變形卷積模塊,更準(zhǔn)確地檢測目標(biāo),同時具有更高的推理速度[13]。本文中結(jié)合GP-NAS算法改進(jìn)YOLOv5s神經(jīng)網(wǎng)絡(luò)模型,增加注意力機(jī)制并進(jìn)行輕量化改進(jìn)。
YOLOv5s的主干特征提取網(wǎng)絡(luò)采用C3,具有較大參數(shù)量,速度慢,難以滿足實時檢測的低延遲和嵌入式設(shè)備的低內(nèi)存要求[14]。故將YOLOv5s主干特征提取網(wǎng)絡(luò)替換為更輕量的ShufflenetV2網(wǎng)絡(luò),以實現(xiàn)模型的輕量化、延遲低、在移動和嵌入式設(shè)備上運行高效等要求。圖1為ShufflenetV2結(jié)構(gòu)圖。
圖1 ShufflenetV2結(jié)構(gòu)
如圖1所示,當(dāng)Stride為1時,采用左邊的模塊,由于殘差邊沒有卷積,因此寬高不變,主要用于加深網(wǎng)絡(luò)層數(shù);當(dāng)Stride為2時,采用右邊的模塊,由于殘差邊有卷積,因此寬高可變,主要用于壓縮特征層的寬高進(jìn)行下采樣。
在對模型進(jìn)行輕量化改進(jìn)后,為使識別效果更好,能在各類復(fù)雜環(huán)境下仍然保證優(yōu)秀的車牌特征提取,本文中增加了SE注意力機(jī)制和空間金字塔池化SPPF模塊。SE注意力機(jī)制可以讓本文模型更加關(guān)注信息量最大的通道特征,抑制那些不重要的通道特征。因此使用SE模塊可以讓本文模型更加關(guān)注不同環(huán)境圖像中的關(guān)鍵特征提取。SPPF模塊最重要的功能是擴(kuò)大感受野。圖2為SE模塊,圖3為SPPF模塊。
圖2 SE模塊示意圖
圖3 SPPF模塊示意圖
如圖2、圖3所示,SE模塊首先對卷積得到的特征圖進(jìn)行Squeeze操作,得到通道級的全局特征;然后對全局特征進(jìn)行Excitation操作,學(xué)習(xí)各個通道間的關(guān)系,得到不同通道的權(quán)重;最后乘以原來的特征圖得到最終特征。SPPF使用不同大小的卷積核輸入不同大小的特征圖進(jìn)行最大池化,然后將不同結(jié)果與沒有池化操作的數(shù)據(jù)拼接,使輸出的特征向量維數(shù)相同。
基于以上神經(jīng)網(wǎng)絡(luò)的輕量化改進(jìn),并增添SE注意力機(jī)制和SPPF模塊后,本文中模型可以適應(yīng)大部分復(fù)雜環(huán)境下的車牌識別。在此基礎(chǔ)上結(jié)合GP-NAS網(wǎng)絡(luò)架構(gòu)搜索算法進(jìn)行模型網(wǎng)絡(luò)結(jié)構(gòu)的搜索和優(yōu)化,從而避免手動試驗大量的數(shù)據(jù),減少研究和實現(xiàn)模型的時間成本,發(fā)現(xiàn)更好和更易于計算的網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步提高模型性能與泛化能力,降低模型的計算復(fù)雜度。
首先,使用GP-NAS算法的優(yōu)勢在于其可以根據(jù)不同需求自動搜索網(wǎng)絡(luò)結(jié)構(gòu),并將得到的結(jié)果作為最終網(wǎng)絡(luò)架構(gòu)進(jìn)行訓(xùn)練。借助GP-NAS算法優(yōu)化YOLOv5s模型后,得到更適合車牌定位的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),實現(xiàn)算法性能的提升,有效減少模型的計算量,提升預(yù)測的準(zhǔn)確率。
GP-NAS算法使用可微雙層優(yōu)化方法來優(yōu)化搜索空間。該方法使用候選模型的初始樣本,采用遺傳算法從初始樣本中選擇最佳模型?;谶z傳算法的結(jié)果不斷更新模型參數(shù),并使用高斯過程模型對更新的模型預(yù)測性能,挑選適合的候選結(jié)構(gòu)集合。修改YOLOv5s模型時,主要是通過改變其層次和層數(shù)來實現(xiàn)。
多次使用GP-NAS技術(shù)后,得到最終的神經(jīng)網(wǎng)絡(luò)模型。最終模型中優(yōu)化了卷積層和池化層的結(jié)構(gòu),將YOLOv5s原本的3×3、1步長卷積核修改為GP-NAS算法搜索到的不同卷積核大小,并修改了stride和dilation等參數(shù)的組合。池化層也同樣根據(jù)GP-NAS算法的搜索結(jié)果進(jìn)行了優(yōu)化,使網(wǎng)絡(luò)的感受野更大,對于不同大小的目標(biāo)有更好的適應(yīng)性。圖4為多次修改后得到的YOLOv5s的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖4 YOLOv5s神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
如圖4所示。YOLOv5s的神經(jīng)網(wǎng)絡(luò)層數(shù)從原來的黑色修改為現(xiàn)在的紅色網(wǎng)絡(luò)層數(shù)。這里采用了ShuffleNetV2輕量化結(jié)構(gòu),配合SE模塊和SPPF模塊來提取特征,并結(jié)合GP-NAS算法修改神經(jīng)網(wǎng)絡(luò)層參數(shù),使模型在目標(biāo)檢測任務(wù)中具有更好的性能和泛化能力。
頭部網(wǎng)絡(luò)主要用于目標(biāo)識別和定位,通過對主干網(wǎng)絡(luò)提取的特征進(jìn)行預(yù)測得到輸出結(jié)果。這里采用FPN結(jié)構(gòu),通過上采樣將高級特征圖與低級特征圖融合實現(xiàn)增強(qiáng)的語義特征。同時,模型中使用Conv和 DWConvblock 2種卷積層,以及Concat和ADD結(jié)合的操作,在保證模型高效的同時降低模型的計算復(fù)雜度。
整個網(wǎng)絡(luò)結(jié)構(gòu)包含了不同層,采用豐富的模塊和連接方法增強(qiáng)檢測能力和性能。ShuffleNetV2 模塊縮減了模型尺寸,增強(qiáng)了檢測速度;SE模塊和SPPF模塊提高了模型特征提取能力;GP-NAS算法修改了神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),將每層的卷積核大小和stride、dilation等參數(shù)的組合進(jìn)行對應(yīng)修改。如圖4可知,模型中的C3和Conv 2種卷積層被更換為DWConv輕量級卷積層,模型的參數(shù)量和復(fù)雜度整體上降低了一半,但模型性能和泛化能力有顯著提升。頭部網(wǎng)絡(luò)使用FPN結(jié)構(gòu)進(jìn)行目標(biāo)識別和定位,最終網(wǎng)絡(luò)輸出預(yù)測的邊界框及相應(yīng)的目標(biāo)類別。
LPRNet是一種高效的神經(jīng)網(wǎng)絡(luò),它只需要0.34 GFLops就可以進(jìn)行一次前向傳播。該算法沒有對字符進(jìn)行預(yù)分割,是輕量級神經(jīng)網(wǎng)絡(luò)組成的一個端到端的車牌識別算法,用于嵌入式系統(tǒng)中檢測中文復(fù)雜的車牌信息時仍然具有良好的性能。該算法在輸入端采用STN網(wǎng)絡(luò)對輸入圖像進(jìn)行處理,可以變換圖像來獲得良好的車牌識別輸入圖像[15]。
LPRNet的骨干網(wǎng)絡(luò)接收原始的RGB圖像,并計算大量函數(shù)的空間分布,將原始圖像傳入CNN中作為輸入項,并提取圖像特征[15]。寬卷積使用本地字符的上下文結(jié)構(gòu)替換RNN神經(jīng)網(wǎng)絡(luò),子網(wǎng)絡(luò)的輸出可以被視為一個帶有概率的序列,代表對應(yīng)字符的可能性,其長度等于輸入圖像的長度。但由于解碼器輸出與目標(biāo)序列長度不對應(yīng),故引入CTC損失函數(shù)實現(xiàn)無需分段的端到端訓(xùn)練。
為進(jìn)一步提高性能,該算法在預(yù)解碼器中間特征映射中加入全局上下文嵌入。通過一個全連接層在骨干網(wǎng)絡(luò)輸出上進(jìn)行計算并調(diào)整到所需大小與主干輸出連接。表1為LPRNet神經(jīng)網(wǎng)絡(luò)模型參數(shù)。
表1 LPRNet神經(jīng)網(wǎng)絡(luò)模型參數(shù)
在LPRNet原模型的基礎(chǔ)上進(jìn)行超參數(shù)調(diào)整。原模型使用Adam優(yōu)化器,該優(yōu)化器可能導(dǎo)致學(xué)習(xí)率不收斂或錯過全局最優(yōu)解,故選擇使用SGD優(yōu)化器。SGD優(yōu)化器雖然速度不及Adam優(yōu)化器,但可以對模型進(jìn)行精準(zhǔn)調(diào)參,獲得更好的結(jié)果。
Batch-size參數(shù)修改為64,initial learning rate參數(shù)修改為0.000 8。較高的學(xué)習(xí)率可能導(dǎo)致算法在更新權(quán)重時更具激進(jìn)性,但可能過快跳過最小點或造成權(quán)重不斷震蕩,不收斂。雖然較低的學(xué)習(xí)率權(quán)重更新較慢,會花費較長時間收斂,但可以使優(yōu)化器更穩(wěn)定地找到最小值,適度降低初始學(xué)習(xí)率。
梯度噪音尺度修改為0.008,因為噪音尺度較小時,梯度噪聲對模型訓(xùn)練的影響相對較小,可能會導(dǎo)致模型過擬合;噪音尺度較大時,梯度噪聲的干擾更強(qiáng),有可能使模型跳出局部最優(yōu)解,提高模型的泛化能力。但是,如果噪音尺度過大,可能會導(dǎo)致訓(xùn)練不穩(wěn)定并影響收斂速度,故應(yīng)適度增大梯度噪音。
車牌檢測與識別數(shù)據(jù)集來源于標(biāo)注好的中國城市停車數(shù)據(jù)集(CCPD)。CCPD共包含超過25萬張圖片,每種圖片大小720×1 160×3,選取部分 CCPD數(shù)據(jù)集作為本設(shè)計中的車牌檢測與識別的數(shù)據(jù)集,共211 772張圖片。對數(shù)據(jù)集按照 7∶1∶2劃分后,訓(xùn)練集含有145 767張圖像,驗證集含有21 000張圖像,測試集含有45 005張圖像。
為了有效評估模型的魯棒性和車牌識別的準(zhǔn)確性,使用精度(Precision)、召回率(Recall)和平均精度 (mean average precision,mAP)來評價車牌定位的識別性能[16]。指標(biāo) Precision 評價對車牌定位的預(yù)測是否準(zhǔn)確,反映了分類器確定的正樣本中真實正樣本所占的比例。定義為
(5)
Recall 是對車牌定位是否全部發(fā)現(xiàn)的評價,反映了正確判定的正樣本在總正樣本中所占的比例。定義為
(6)
式(5)和式(6)中TP表示正確地被劃分為正樣本的個數(shù),FP表示錯誤地被劃分為正樣本的個數(shù),FN表示錯誤地被劃分為負(fù)樣本的個數(shù);TN表示正確地被劃分為負(fù)樣本的個數(shù)。
平均精度mAP(mean average precision)在目標(biāo)決策中是衡量檢測精度的指標(biāo),定義為
(7)
式中:AP為平均精度,通過PR(precision recall)曲線積分計算每種類別的AP值,然后對所有類別的AP值求平均即為mAP。
實驗環(huán)境基于ubuntu 20.04操作系統(tǒng),CPU型號為Intel(R) Xeon(R) Platinum 8358P,內(nèi)存80 G,GPU型號為RTX A5000(顯存24 GB),使用Python 3.9.13,深度學(xué)習(xí)框架為PyTorch 1.11.0,并安裝cuda11.3、cudnn 8.0.5實現(xiàn)訓(xùn)練加速。
YOLOv5s訓(xùn)練階段的實驗參數(shù)設(shè)置:使用SGD優(yōu)化器對損失函數(shù)進(jìn)行優(yōu)化,初始學(xué)習(xí)率為0.01,在對學(xué)習(xí)率進(jìn)行更新過程中采用余弦退火算法,直至最終學(xué)習(xí)率衰減至0.001為止;權(quán)重衰減系數(shù)為0.000 5;前3個epoch進(jìn)行warm-up,初始化動量參數(shù)為0.8,批次大小為8,訓(xùn)練500個epoch。
LPRNet訓(xùn)練階段的實驗參數(shù)設(shè)置:使用SGD損失函數(shù)進(jìn)行優(yōu)化,設(shè)置初始學(xué)習(xí)率為0.000 8,批次大小為64,梯度噪音尺度為0.008,訓(xùn)練300個epoch。
設(shè)計2類實驗,第一類為對比試驗,驗證本文中所提模型的整體有效性;第二類為消融實驗,驗證本文中所提模型各個模塊的有效性。
為了驗證改進(jìn)YOLOv5s-LPRNet模型的有效性,選擇與YOLOv4-LPRNet、YOLOv5s-LPRNet、YOLOv5m-LPRNet、YOLOv5l-LPRNet、StNet-LPRNet、ResNet和WPOD共8個檢測模型在CCPD數(shù)據(jù)集上進(jìn)行對比,結(jié)果如表2所示。
表2 對比試驗結(jié)果
由表2數(shù)據(jù)所知,隨著YOLO系列算法的版本迭代,YOLOv5算法的評價指標(biāo)整體優(yōu)于YOLOv4算法3%以上。YOLOv5系列算法會根據(jù)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的大小和復(fù)雜性的增加,評價指標(biāo)有較為明顯的提升。例如,YOLOv5m-LPRNet模型的精準(zhǔn)率相比YOLOv5s-LPRNet提高了1.52%,mAP指標(biāo)提高了0.33%。同時,YOLOv5l-LPRNet模型的精確率相比YOLOv5m-LPRNet提高了1.65%,mAP提高了0.43%,但隨著模型復(fù)雜度的提高,FPS會有不同程度的下降。YOLOv5l-LPRNet相較于YOLOv5m-LPRNet下降2張,YOLOv5m-LPRNet相較于YOLOv5s-LPRNet下降4張。文獻(xiàn)[17]中的模型StNet-LPRNet指標(biāo)明顯高于YOLOv4-LPRNet算法,但與YOLOv5s-LPRNet模型相差不多,其在精確率方面僅相差0.35%,mAP只低于YOLOv5s-LPRNet模型0.01%。文獻(xiàn)[18]中的模型ResNet各指標(biāo)明顯高于YOLO系列算法,在精確率和mAP方面分別高出了YOLOv5l-LPRNet模型0.94%、1.72%。文獻(xiàn)[19]中的模型WPOD在精確率方面優(yōu)于大部分模型,因為其模型較為龐大復(fù)雜,故對于一些復(fù)雜環(huán)境下的車牌識別有優(yōu)異表現(xiàn),但也造成其識別速度是對比模型中最慢的。
綜上,本文中設(shè)計的模型評價指標(biāo)對比上述模型有顯著提升,相比較YOLOv5s-LPRNet、YOLOv5m-LPRNet和YOLOv5l-LPRNet,本文中模型的精準(zhǔn)率提升了5.57%、4.05%、2.40%;mAP提升了4.72%、4.39%、3.96%;FPS提升了15、19、21。相比較文獻(xiàn)[17-19]中的模型,本文模型的精準(zhǔn)率提升了5.22%、1.46%、3.76%;mAP提升了4.73%、2.24%、4.96%;FPS提升了14、20、53;整體評價指標(biāo)是上述所有模型的最高值,分別為精確率98.81%,召回率97.13%,mAP值98.23%,FPS值56。
通過對比上述7個模型與本文中模型可知,在本文中的車牌識別模型中,SE注意力機(jī)制和SPPF模塊的組合對圖像中的關(guān)鍵特征提取能力有顯著提升,相比于其他模型,本文中模型可以更好地關(guān)注不同環(huán)境圖像下的車牌位置,提高模型識別精確率。
ShufflenetV2模塊對模型進(jìn)行了緊湊型模型設(shè)計,縮減了模型尺寸,提高了模型的識別速度。相比其他模型,本文中模型尺寸更小、速度更快,降低了存儲和部署的成本,在移動和嵌入式設(shè)備上運行時更為高效。
GP-NAS算法可以更好地搜索優(yōu)秀的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),減少人員研究和驗證時間,同時提高了本文中模型的性能。相比于其他模型,本文中模型在修改網(wǎng)絡(luò)結(jié)構(gòu)時縮減了大量研究時間和資源,并提升了模型的精確率和泛化能力。以上改進(jìn)部分對模型的性能有明顯提升,并表現(xiàn)出了良好的適應(yīng)性和魯棒性。
為驗證模型中對LPRNet算法的超參數(shù)修改,增加ShufflenetV2模塊、SE模塊、SPPF模塊與GP-NAS算法的有效性,對YOLOv5s-LPRNet算法在CCPD數(shù)據(jù)集進(jìn)行消融實驗。消融實驗結(jié)果如表3所示。
表3 消融實驗結(jié)果
由表3數(shù)據(jù)可知,在原有的模型上修改LPRNet超參數(shù)組合后,模型的評價指標(biāo)精確率提升了0.88%,mAP提升了0.30%,證明修改后的LPRNet超參數(shù)組合可以提升模型的車牌檢測能力。
在YOLOv5s網(wǎng)絡(luò)模型中進(jìn)行ShufflenetV2輕量化結(jié)構(gòu)設(shè)計后,模型大小縮減到1.12 MB,明顯縮減了模型尺寸,證明ShufflenetV2模塊在不降低評價指標(biāo)的同時能大幅縮減模型尺寸。
在YOLOv5s+ShufflenetV2+SE+SPPF引入SE注意力機(jī)制,使用SPPF模塊擴(kuò)大感受野后,提高了模型在圖像中的關(guān)鍵特征提取能力,使精確率提升了1.86%,mAP提升了1.68%,性能的提升證明SE模塊和SPPF模型的有效性。
本文中模型通過使用GP-NAS算法來修改YOLOv5s+ShufflenetV2+SE+SPPF模型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)后,模型的精準(zhǔn)率提升了2.79%,mAP提升了2.77%,模型尺寸縮小了0.24 MB,證明 GP-NAS算法能用于發(fā)現(xiàn)比現(xiàn)有網(wǎng)絡(luò)更好、更易于計算的網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)勢,以及提高模型性能和泛化能力的有效性。圖5為模型結(jié)果。
圖5 模型結(jié)果
圖5中展示了4個不同角度、不同光線的檢測結(jié)果。圖5(a)展示了從車輛右前方較近距離進(jìn)行拍攝識別;圖5(b)展示了從車輛左前方較遠(yuǎn)距離進(jìn)行拍攝識別;圖5(c)展示了從車輛右后方且曝光率較高情況下進(jìn)行拍攝識別;圖5(d)展示了車輛在灰暗情況下進(jìn)行拍攝識別。從實際的車牌識別結(jié)果來看,本文中改進(jìn)模型對于不同傾斜、灰暗、曝光、距離條件下的車牌均有較好的識別結(jié)果。
使用GP-NAS算法改進(jìn)車牌識別模型,通過自動搜索并優(yōu)化模型架構(gòu),使算法在保持較低計算復(fù)雜度的同時能夠在車牌檢測和識別方面達(dá)到較高的準(zhǔn)確率。在YOLOv5s算法的基礎(chǔ)上進(jìn)行3個方面的改進(jìn),修改LPRNet超參數(shù)組合。改進(jìn)的YOLOv5s和LPRNet結(jié)合,設(shè)計了YOLOv5s-LPRNet模型的車牌識別模型。在CCPD數(shù)據(jù)集上驗證改進(jìn)后模型的有效性,改進(jìn)后的模型識別更準(zhǔn)確,泛化能力更強(qiáng),運算速度更快,尺寸更小。該模型的識別準(zhǔn)確率、召回率和mAP值都有較大提升,分別為98.81%、97.13%、98.23%,識別速度達(dá)到每秒56張圖片。
下一步將進(jìn)一步改進(jìn)模型,考慮實現(xiàn)多種類車牌識別,不僅限于藍(lán)牌和綠牌;優(yōu)化GP-NAS與YOLOv5結(jié)合的算法,降低結(jié)合算法的冗余,提升模型的檢測精度和搜索速度。