摘 要:【目的】針對當下的車牌識別系統(tǒng)在復雜場景條件下的車牌識別能力相對較弱這一問題,提出了一種基于YOLOv7和LPRNet改進的車牌識別算法?!痉椒ā渴紫?,在YOLOv7頭部網(wǎng)絡中加入全局注意力模板(GAM),以加強對車牌區(qū)域的關注,從而改善車牌的準確定位。其次,利用四點透視變換法對畸形車牌圖像進行校正處理,以提供規(guī)范化和穩(wěn)定的輸入,有助于后續(xù)車牌識別的有效進行。最后,采用LPRNet模型對處理后的車牌圖像進行端到端的識別,從而完成對車牌信息的提取和識別。【結果】在CCPD數(shù)據(jù)集上進行的實驗表明,車牌檢測精度可達到99%,車牌識別精度可達到99.19%?!窘Y論】研究結果表明,盡管面臨復雜場景的挑戰(zhàn),但該車牌識別算法在車牌檢測和識別方面仍然保持卓越的效果。
關鍵詞:車牌識別;YOLOv7;注意力機制;透視變換;LPRNet
中圖分類號:TP391 文獻標志碼:A 文章編號:1003-5168(2024)18-0024-05
DOI:10.19968/j.cnki.hnkj.1003-5168.2024.18.005
Research on Dynamic License Plate Recognition Algorithm Based on Deep Learning
LI Hangxing RUAN Shifeng WANG Wentong ZHANG Guohao
(Anyang Institute of Technology,Anyang 455000, China)
Abstract: [Purposes] In response to the relatively weak license plate recognition capability of current license plate recognition systems under complex scene conditions, an improved recognition algorithm for license plates in complex scenes based on YOLOv7 and LPRNet is proposed. [Methods] First, a global attention template (GAM) is introduced into the YOLOv7 head network to enhance attention to the license plate area, thereby improving the accurate positioning of license plates. Secondly, the four-point perspective transformation method is employed to correct deformed license plate images, providing normalized and stable inputs for effective subsequent license plate recognition. Finally, the LPRNet model is applied to achieve end-to-end recognition of the processed license plate images, completing the extraction and identification of license plate information. [Findings] Experiments conducted on the CCPD dataset demonstrate a license plate detection accuracy of 99% and a license plate recognition accuracy of 99.19%. [Conclusions] Research results indicate that, despite facing challenges in complex scenes, the proposed license plate recognition algorithm still maintains excellent performance in license plate detection and recognition.
Keywords:license plate recognition; YOLOv7; attention mechanism; perspective transformation; LPRNet
0 引言
隨著城市交通的快速發(fā)展,車牌識別系統(tǒng)在交通管理的各個領域得到了廣泛應用,國內(nèi)的車牌識別技術也越來越成熟[1]。傳統(tǒng)的車牌定位方法容易受到光照和背景顏色的干擾,導致對傾斜或傾角較大的車牌圖像定位精度較低。近年來,以深度學習為基礎的車牌定位算法成為主流,如YOLO系列、SSD、Faster-RCNN等算法。對于字符分割,傳統(tǒng)方法是基于投影、連通性和輪廓等算法。這些算法對噪聲、低分辨率、模糊或變形等情況比較敏感。在字符識別階段,通常使用光學字符識別(OCR)方法,如模板匹配算法[2]、支持向量機(SVM)[3]、人工神經(jīng)網(wǎng)絡(ANN)[4]等。近年來,一些研究人員提出了基于卷積神經(jīng)網(wǎng)絡(CNNs)的端到端解決方案,將完整的車牌圖像作為輸入,直接生成字符序列的輸出,減少了字符分割階段的錯誤傳播,提高識別的準確性。
為了解決傳統(tǒng)的車牌識別系統(tǒng)在復雜場景下的識別能力較弱,如傾斜畸變車牌、對抗樣本、惡劣天氣和光照條件等情況[5],提高算法在復雜場景下的識別速度和精度,本研究提出了一種基于YOLOv7[6]和LPRNet[7]改進的車牌識別算法。
1 YOLOv7基本網(wǎng)絡結構
目標檢測算法YOLOv7是由Chien-Yao Wang和Alexey Bochkovskiy等人開發(fā)的一種新的實時檢測器。YOLOv7網(wǎng)絡結構如圖1所示,由三個部分組成:輸入端(Input)、特征提取網(wǎng)絡(Backbone)、頭部網(wǎng)絡(Head)。與YOLOv5不同的是,YOLOv7將Neck層與Head層合稱為Head層,實際上的功能是一樣的。Backbone結構如圖1(a)所示,包括CBS模塊、ELAN模塊和MP-1模塊。其中CBS模塊由Conv、BN和SiLU激活函數(shù)組成;ELAN模塊由VoVNet和CSPNet組成,通過計算塊中的堆棧結構,優(yōu)化整個網(wǎng)絡的梯度長度,旨在解決進行模型縮放時,深度模型的收斂性會逐漸惡化的問題;MP-1模塊由CBS和MaxPool組成。MaxPool提取小局部區(qū)域的最大值信息,CBS提取小局部區(qū)域的所有值信息,從而提高網(wǎng)絡的特征提取能力。Head網(wǎng)絡結構如圖1(b)所示,使用特征金字塔網(wǎng)絡(FPN)架構來構建,和之前的YOLOV4,YOLOV5一樣。Head網(wǎng)絡結構包括CBS模塊、由SPP模塊和FCSPC模塊組成的SPPCSPC結構、擴展高效層聚合網(wǎng)絡(ELAN-H)和MP-2模塊,預測網(wǎng)絡則使用了RepConv結構,即分別通過三個REP和conv層輸出三個不同size大小的未經(jīng)處理的預測結果。其中SPPCSPC結構是通過對輸入的特征圖進行多尺度的空間金字塔池化和卷積操作,提高模型的感受野和特征表達能力;ELAN-H模塊是基于ELAN模塊的多個特征層的融合,進一步增強了特征提取Z034IFK/kTlpE4a5HlbsAbjvW3/+oazEL/bHVxd9x08=;MP-2模塊與MP-1的結構相似,僅增加了一個輸入端的數(shù)據(jù);Rep結構受到RepVGG的啟發(fā),使用一種特殊的殘差網(wǎng)絡代替?zhèn)鹘y(tǒng)的殘差塊,來實現(xiàn)高效的特征提取和模型訓練。
2 基于YOLOv7的車牌定位算法
2.1 全局注意力機制GAM
全局注意力機制(GAM)[8]采用序貫的通道—空間注意力機制,并重新設計了CBAM子模塊,可以獲取跨維度的信息以提高性能。其結構如圖2所示。
給定輸入特征映射[F1∈RC?H?W],則中間狀態(tài)[F2]和輸出狀態(tài)[F3]的定義見式(1)和式(2)。
[F2=MC(F1)?F1] (1)
[F3=MS(F2)?F2] (2)
式中:[Mc ]和[ Ms ]分別表示通道注意力和空間注意力特征圖譜;?表示按元素進行乘法操作。
2.2 引入注意力機制
鑒于車輛牌照尺寸較小,YOLOv7在識別小尺寸物體方面的能力有限,無法滿足實際應用的需求。通過添加注意力機制來提升YOLOv7的性能,使其在小尺寸物體識別方面的表現(xiàn)更加優(yōu)秀。
本研究使用一種在減少信息彌散的情況下也能放大全局維度交互特征的全局注意力機制(GAM),將YOLOv7的頭部網(wǎng)絡的MP-2模塊替換為MP-PLUS模塊,如圖3(a)所示。并對YOLOv7的頭部網(wǎng)絡的ELAN模塊進行替換,替換成C3模塊[9],如圖3(b)所示,以減少模型的計算量,加快計算時間。C3模塊是由多個連續(xù)的卷積層組成的串聯(lián)結構,每個卷積層之間都使用了殘差連接機制,以減少信息的丟失及梯度消失的問題。并且C3模塊還采用了一些特殊的卷積操作,如1×1卷積、3×3卷積和SPP,以提高特征提取能力。
2.3 透視變換
透視變換是一種常見的技術,可以用于糾正車牌圖像的畸變,實現(xiàn)車牌畸變圖像的校正。透視變換通過調(diào)整圖像中的像素位置,使得圖像中的車牌呈現(xiàn)出正交投影的效果,即保持車牌的線段平行且長度不變。通過透視變換,我們可以使畸變圖像中的車牌呈現(xiàn)出更加真實和準確的形狀。透視投影是一種利用幾何原理來實現(xiàn)投影變換的技術[10]。通用的變換見式(3)。
[x',y',w'=u, v, wa11a12a13a21a22a23a31a32a33] (3)
式中:[u],[v]是原始圖像的某點坐標;[w]是一個輔助參數(shù),確保變換是齊次的; [x',y',w']為變換后的矩陣。
經(jīng)透視變換后得到的對應圖像坐標為([x],[y]),其中 [x=x'/w'], [y=y'/w'。]由式(3)推導后可以得到式(4)和式(5)。
[x=x'w'=a11u+a21v+a31a13u+a23v+a33] (4)
[y=y'w'=a12u+a22v+a32a13u+a23v+a33] (5)
式中: [(x,y)]是正視圖的像素坐標;[(u,v)]是畸變圖像的像素坐標;[aij(i, j=1, 2, 3)]是透視變換的參數(shù)[11]。
根據(jù)透視變換矩陣,可以完成車牌圖像的矯正。根據(jù)透視變換,圖4(a)區(qū)域中的車牌可以變換為圖4(b),矯正后的圖像可以為下一步的字符識別提供輸入數(shù)據(jù)。
3 基于LPRNet的車牌識別算法
LPRNet是由Intel團隊提出的一種車牌識別算法,采用了輕量化卷積神經(jīng)網(wǎng)絡,并使用CTC Loss作為損失函數(shù),在中文車牌識別上能夠達到95%的準確率。該算法使用了STN網(wǎng)絡和主干網(wǎng)絡。STN網(wǎng)絡用于對輸入圖像進行變換,以最佳方式提供車牌識別的輸入。經(jīng)過STN處理后的圖像以RGB格式輸入主干網(wǎng)絡,主干網(wǎng)絡則使用卷積神經(jīng)網(wǎng)絡(CNN)來提取圖像特征。為了結合上下文信息,模型使用卷積核來代替循環(huán)神經(jīng)網(wǎng)絡(RNN)。主干網(wǎng)絡的輸出是一個字符概率序列,其長度取決于輸入圖像的寬度。由于網(wǎng)絡輸出編碼與車牌字符長度不相等,為了進行端到端的訓練,LPRNet使用了免分割的CTC損失函數(shù)。CTC損失函數(shù)常用于處理輸入、輸出序列中未對齊且長度可變的情況,可以將每個時間步的概率轉換為輸出序列的概率。為了進一步提高性能,LPRNet中的預解碼器引入了全局上下文嵌入。全局上下文嵌入通過全連接層計算得到,并在主干網(wǎng)絡輸出后進行調(diào)整。額外的1×1卷積層用于將特征映射的深度調(diào)整為字符類別的數(shù)量。
4 實驗與評估
4.1 實驗環(huán)境與數(shù)據(jù)
實驗平臺為Ubuntu18.04,NVIDA Ge Force RTX3060,Python 3.7,PyTorch1.10.2。為了驗證算法的性能,該實驗選擇中科大團隊建立的中國城市停車數(shù)據(jù)集(CCPD)作為實驗數(shù)據(jù)集,該數(shù)據(jù)集合包含了通用車牌圖片(涵蓋距離、角度、光線、陰雨天氣等干擾因素)。
4.2 實驗結果分析
4.2.1 車牌定位算法驗證。訓練時采用了YOLOv7預訓練權重來訓練自己的網(wǎng)絡。Batch size設置為16,epoch設置為100。不同的車牌檢測算法的性能對比見表1。
由表1可知,相較于YOLOv7模型,使用Ours模型的準確率提高了2%,達到了99.7%,與其他模型相比,準確率有顯著的提升。盡管Ours模型的FPS沒有太大的提升,但相較于其他模型,該模型更適合在復雜的環(huán)境下進行車牌檢測。
4.2.2 車牌識別模型驗證。訓練時輸入的車牌圖片為94×24的彩色圖像。使用Adam優(yōu)化器進行模型訓練,Batch size設置為128,訓練100個epoch,初始學習率設置為0.001。不同的車牌識別算法的性能對比見表2。
表2 車牌識別算法的性能比對
由表2可知,無論是矯正前還是矯正后,LPRNet模型識別車牌的精度都是最高的,特別是在車牌經(jīng)過矯正之后,精度更是達到了99.19%。而且在識別速度方面,LPRNet模型的識別速度遠超其他模型的識別速度。通過觀察對比上述不同模型的實驗數(shù)據(jù),該模型在實際應用上更優(yōu)越。
5 結論
本研究提出了一種基于改進的YOLOv7和LPRNet的車牌識別算法,旨在解決復雜場景下車牌識別性能差的問題。在車牌識別部分,對現(xiàn)有的YOLOv7網(wǎng)絡結構進行優(yōu)化,引入GAM注意力機制以提高對小目標的檢測精度。并且將YOLOv7的頭部網(wǎng)絡結構的ELAN模塊整體替換成了C3模塊以減少模型的計算量,加快計算時間。同時,使用透視變換算法對異常車牌圖像進行定位和校正。在車牌識別部分,利用LPRNet實現(xiàn)無分割的車牌識別,從而實現(xiàn)字符識別。實驗結果表明,與目前車牌識別中先進的方法相比,該方法在CCPD數(shù)據(jù)集上取得了很好的識別效果,車牌檢測精度達到99%,車牌識別精度達到99.19%。
參考文獻:
[1]趙偉,張南楠.深度學習在復雜環(huán)境下車牌定位算法中的應用[J].現(xiàn)代電子技術,2019,42(17):38-42,48.
[2]王敏,黃心漢,魏武,等.一種模板匹配和神經(jīng)網(wǎng)絡的車牌字符識別方法[J].華中科技大學學報:自然科學版, 2001, 29(3):48-50.
[3]趙鉦.基于支持向量機的車牌識別技術的研究[D].西安:西安電子科技大學,2008.
[4]林乾畢.基于SVM與ANN神經(jīng)網(wǎng)絡的車牌識別系統(tǒng)[J].軟件,2019,40(8):105-107.
[5]鄔軍,鄧月明,何鑫等.復雜背景下的移動目標檢測算法[J].現(xiàn)代電子技術,2022,45(19):59-65.
[6]WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 7464-7475.
[7]ZHERZDEV S, GRUZDEV A. Lprnet: License plate recognition via deep neural networks[J]. ArXiv,2018.
[8]LIU Y, SHAO Z, HOFFMANN N .Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions[J]. ArXiv,2021.
[9]王穎,李鋒.基于改進透視變換的結構光圖像校正[J].計算機與數(shù)字工程, 2019, 47(5):1240-1243, 1248.
[10]陳忠輝,唐曉穎,林志權,等.畸變圖像自適應校正及質(zhì)量增強算法研究與實現(xiàn)[J].計算機應用, 2020, 40(S1):180-184.
[11]XU Z, YANG W, MENG A, et al. Towards end-to-end license plate detection and recognition: A large dataset and baseline[C]//Proceedings of the European conference on computer vision (ECCV). 2018: 255-271.
收稿日期:2023-11-28
基金項目:安陽工學院科研培育基金項目“多幀監(jiān)督的相關濾波無人機目標跟蹤關鍵技術研究”(YPY2021010);全國大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目“基于深度學習的動態(tài)車牌識別算法研究”(202311330024)。
作者簡介:李航行(2004—),男,本科生,研究方向:計算機視覺、模式識別等領域;阮士峰(1989—),男,碩士,講師,研究方向:計算機視覺、模式識別等領域;王文童(2002—),男,本科生,研究方向:計算機視覺、模式識別等領域;張國豪(2003—)男,本科生,研究方向:計算機視覺、模式識別等領域。