朱文和
摘 要:目前,車(chē)牌識(shí)別發(fā)揮在眾多應(yīng)用程序和許多技術(shù)已經(jīng)提出。但是,他們中的大多數(shù)可以?xún)H適用于單行車(chē)牌。在實(shí)際應(yīng)用程序方案,也有現(xiàn)有的許多多行車(chē)牌。傳統(tǒng)方法需要對(duì)雙行車(chē)牌的原始輸入圖像。這是一個(gè)非常復(fù)雜場(chǎng)景中的難題。為了解決這個(gè)問(wèn)題,我們建議一個(gè)端到端的神經(jīng)網(wǎng)絡(luò)為兩個(gè)單行和雙行車(chē)牌識(shí)別。是的原始輸入車(chē)牌圖像的分段。我們查看這些整個(gè)圖像作為一個(gè)單位在要素映射后直接深度卷積神經(jīng)網(wǎng)絡(luò)。大量的實(shí)驗(yàn)表明我們的方法是有效的。
關(guān)鍵詞:深度學(xué)習(xí) 卷積神經(jīng)網(wǎng)絡(luò) 車(chē)牌識(shí)別
Dual-line License Plate Recognition System based on Convolutional Neural Network
Zhu Wenhe
Abstract:Currently, license plate recognition plays a role in numerous applications and many technologies have been proposed. However, most of them can only be applied to single-line license plates. In the actual application program, there are also many existing multi-line license plates. The traditional method requires the original input image of the double-row license plate. This is a difficult problem in an extraordinarily complex scenario. To solve this problem, we propose an end-to-end neural network to recognize two single-line and double-line license plates, that is, the segmentation of the original input license plate image. We view these entire images as a unit and directly deep convolutional neural network after feature mapping. Many experiments show that our method is effective.
Key words:deep learning, convolutional neural network, license plate recognition
1 引言
隨著深度學(xué)習(xí)和人工智能技術(shù)的發(fā)展,車(chē)牌識(shí)別技術(shù)也發(fā)展迅猛。自動(dòng)車(chē)牌識(shí)別在眾多應(yīng)用中起重要作用,如無(wú)人值守的停車(chē)場(chǎng)、自動(dòng)收費(fèi)等。由于車(chē)輛的不同屬性和功能,法律和不同國(guó)家的法規(guī)對(duì)車(chē)牌管理。
目前大多數(shù)車(chē)牌識(shí)別方法只關(guān)注單行車(chē)牌識(shí)別任務(wù)[1][2],通過(guò)分割并得到字符,然后對(duì)字符進(jìn)行分類(lèi),或通過(guò)端到端神經(jīng)網(wǎng)絡(luò)。這些方法可以在單行車(chē)牌上有很好的效果。但是,只有少數(shù)方法會(huì)考慮雙行車(chē)牌。這些方法需要分段輸入雙行車(chē)牌。具體來(lái)說(shuō),他們需要分割車(chē)牌的每個(gè)字符并正確識(shí)別。每個(gè)字符分割和識(shí)別精度會(huì)影響最終結(jié)果。
本文的主要貢獻(xiàn)是提出一種新型神經(jīng)網(wǎng)絡(luò)模型,其網(wǎng)絡(luò)架構(gòu)專(zhuān)為識(shí)別雙行車(chē)牌而設(shè)計(jì)的。我們把每個(gè)整個(gè)圖像輸入到深度卷積神經(jīng)網(wǎng)絡(luò)得到特征圖。然后,對(duì)獲取的特征圖進(jìn)行重新組織。對(duì)于所有單行和雙行車(chē)牌,每個(gè)特征圖都表示為序列樣要素的地圖。雙向長(zhǎng)期短期記憶[3]用于獲取要素貼圖以計(jì)算序列標(biāo)簽。由組裝這些序列標(biāo)簽信息,我們可以得到最終車(chē)牌識(shí)別結(jié)果。建議的神經(jīng)網(wǎng)絡(luò)可以應(yīng)用到許多車(chē)牌基于識(shí)別的系統(tǒng),因?yàn)樗梢耘嘤?xùn)和測(cè)試非常方便。廣泛的實(shí)驗(yàn)結(jié)果證明我們提出的方法取得了顯著成就與當(dāng)前最先進(jìn)的方法相比,改進(jìn)。
2 算法設(shè)計(jì)與實(shí)現(xiàn)
2.1 算法設(shè)計(jì)
(1)特征提取
我們使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖片進(jìn)行特征提取。我們?cè)O(shè)計(jì)網(wǎng)絡(luò)結(jié)構(gòu)的目標(biāo)是,輸出的特征映射是一個(gè)高度為2的矩陣。這就為后續(xù)進(jìn)一步特征重組,做好了鋪墊。
(2)特征重組
根據(jù)雙行車(chē)牌的特點(diǎn),我們提出將特征映射上下分開(kāi),然后重新水平組合。這就符合雙行車(chē)牌的特征分布。
(3)序列標(biāo)簽預(yù)測(cè)
在卷積神經(jīng)網(wǎng)絡(luò)后要建立深度雙向遞歸神經(jīng)網(wǎng)絡(luò),作為循環(huán)層。循環(huán)層有能力從左到右處理特征映射。通過(guò)結(jié)合上下文信息,當(dāng)前幀的處理與先前的記憶、遺忘結(jié)果結(jié)合,當(dāng)前信息被處理以進(jìn)行預(yù)測(cè),并且結(jié)果傳遞到下一幀進(jìn)行記憶門(mén)和忘記門(mén)處理。在我們的任務(wù)中,字符序列識(shí)別具有從左到右的時(shí)序特征。對(duì)于雙行車(chē)牌,整個(gè)特征映射識(shí)別通過(guò)數(shù)據(jù)重組也具有時(shí)序特征。
單向RNN的問(wèn)題是當(dāng)時(shí)刻t被分類(lèi)時(shí),只有可以使用t之前的信息,但是有時(shí)也可能需要使用未來(lái)時(shí)間的信息。雙向RNN模型試圖解決這個(gè)問(wèn)題。雙向RNN在任何時(shí)候都保持兩個(gè)隱藏層。一個(gè)隱藏層用于傳輸從左到右的信息和另一個(gè)隱藏層則傳輸從右到左的信息。許多文章和實(shí)驗(yàn)表明,雙向循環(huán)網(wǎng)絡(luò)在語(yǔ)音等領(lǐng)域有更好的表現(xiàn)。因此,我們使用雙向LSTM網(wǎng)絡(luò)預(yù)測(cè)卷積神經(jīng)網(wǎng)絡(luò)后的時(shí)序。
2.2 算法實(shí)現(xiàn)
本文提出一種雙行車(chē)牌識(shí)別方法,在本文中,直接將待識(shí)別車(chē)牌圖片的車(chē)牌特征作為一個(gè)整體進(jìn)行輸入,無(wú)需對(duì)車(chē)牌的每個(gè)字符進(jìn)行分割、識(shí)別,相比于傳統(tǒng)方法對(duì)字符進(jìn)行單獨(dú)識(shí)別,可節(jié)約工作量,提高工作效率。同時(shí),相比于傳統(tǒng)的識(shí)別方法需對(duì)每個(gè)字符都單獨(dú)識(shí)別,一個(gè)字符錯(cuò)誤會(huì)導(dǎo)致整個(gè)車(chē)牌識(shí)別錯(cuò)誤,使得車(chē)牌識(shí)別率不高,而本文將整個(gè)車(chē)牌放入網(wǎng)絡(luò)一起訓(xùn)練,精度較高,可提高識(shí)別結(jié)果的精度。
本文的雙行車(chē)牌識(shí)別方法可以是由服務(wù)器實(shí)現(xiàn)的。具體包括:
(1)獲取待識(shí)別車(chē)牌圖片,采用預(yù)設(shè)特征提取模型對(duì)所述待識(shí)別車(chē)牌圖片進(jìn)行特征提取,得到車(chē)牌特征矩陣。
在本文中,先獲取待識(shí)別車(chē)牌圖片,然后將待識(shí)別車(chē)牌圖片輸入至預(yù)設(shè)特征提取模型中,可得到車(chē)牌特征矩陣。其中,預(yù)設(shè)特征提取模型的類(lèi)型可選為卷積神經(jīng)網(wǎng)絡(luò)模型,該卷積神經(jīng)網(wǎng)絡(luò)模型包括1個(gè)輸入層(Input),7個(gè)卷積層(Conv)和4個(gè)池化層(Pool),各層結(jié)構(gòu)的維度和配置參數(shù)如下表1,其中,維度分別表示通道數(shù)x高x寬,配置參數(shù)中的K、S、P分別表示卷積核大小、步長(zhǎng)和padding的數(shù)目。其中,輸入層用于接收待識(shí)別車(chē)牌圖片,卷積層用于根據(jù)卷積核提取待識(shí)別車(chē)牌圖片的圖像特征矩陣;池化層用于提取出每個(gè)圖像特征矩陣中最能代表圖像局部特征的圖像特征值。
在經(jīng)過(guò)特征提取之后,所得到的車(chē)牌特征矩陣的維度為512x2x12,即為一個(gè)高度為2的矩陣。
(2)按預(yù)設(shè)規(guī)則對(duì)所述車(chē)牌特征矩陣進(jìn)行特征重組,得到目標(biāo)車(chē)牌特征;
在得到車(chē)牌特征矩陣之后,按預(yù)設(shè)規(guī)則對(duì)該車(chē)牌特征矩陣進(jìn)行特征重組,得到目標(biāo)車(chē)牌特征。具體的,根據(jù)雙行車(chē)牌的特點(diǎn),可將特征矩陣進(jìn)行上下對(duì)半拆分,然后重新水平組合,重組后的矩陣維度為512x1x24,即重組得到高度為1的矩陣。
(3)將所述目標(biāo)車(chē)牌特征輸入至預(yù)設(shè)深度雙向遞歸神經(jīng)網(wǎng)絡(luò)中,得到車(chē)牌識(shí)別結(jié)果。
在得到目標(biāo)車(chē)牌特征之后,將目標(biāo)車(chē)牌特征輸入至預(yù)設(shè)深度雙向遞歸神經(jīng)網(wǎng)絡(luò)中,得到車(chē)牌識(shí)別結(jié)果。其中,預(yù)設(shè)深度雙向遞歸神經(jīng)網(wǎng)絡(luò)可選地為雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,Bi-LSTM)??梢岳斫?,現(xiàn)有的Bi-LSTM有能力從左到右處理特征信息,通過(guò)上下文信息,當(dāng)前幀的處理結(jié)果與之前記憶和忘記結(jié)果融合,從而能夠進(jìn)行預(yù)測(cè),并且能夠?qū)⒔Y(jié)構(gòu)傳遞給后續(xù)的幀。而本文中的字符序列識(shí)別具有從左到右的時(shí)序特征,而雙行車(chē)牌在重新組合后也是一個(gè)字符序列,因此可以采用雙向遞歸神經(jīng)網(wǎng)絡(luò)進(jìn)行車(chē)牌字符識(shí)別。
需要說(shuō)明的是,單向的遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的問(wèn)題在于只可以使用t時(shí)刻之前的信息,但是有時(shí)可能還需要使用將來(lái)的信息。而雙向RNN模型可以解決這個(gè)問(wèn)題。雙向RNN在任何時(shí)候都保持兩個(gè)隱藏層,一個(gè)隱藏層用于傳輸從左到右的信息,并使用另一個(gè)隱藏層對(duì)于從右到左的傳播信息進(jìn)行記錄。因此,相比于采用單向的遞歸神經(jīng)網(wǎng)絡(luò),本算法可以提高識(shí)別結(jié)果的準(zhǔn)確性。
(4)通過(guò)CTC對(duì)車(chē)牌識(shí)別結(jié)果進(jìn)行處理,得到最終的車(chē)牌信息。
最后,通過(guò)CTC對(duì)車(chē)牌識(shí)別結(jié)果進(jìn)行處理,以進(jìn)行字符對(duì)齊操作,得到最終的車(chē)牌信息其中,CTC(Connectionist Temporal Classifier,聯(lián)接時(shí)間分類(lèi)器)[5],主要用于解決輸入特征與輸出標(biāo)簽的對(duì)齊問(wèn)題。
進(jìn)一步地,在對(duì)待識(shí)別圖像進(jìn)行特征提取之前,還可以先對(duì)待識(shí)別車(chē)牌圖片進(jìn)行預(yù)處理,其中,預(yù)處理包括但不限于灰度處理、裁剪處理等,以使得處理后的待識(shí)別車(chē)牌圖片符合模型圖片的輸入要求。
3 實(shí)驗(yàn)
為了驗(yàn)證模型的有效性,我們測(cè)試了其公共數(shù)據(jù)集的性能。我們?cè)u(píng)估我們的方法SYSU-ITS[6]數(shù)據(jù)集。它包括總共1402圖像、958 個(gè)單行車(chē)牌圖像和84張雙行車(chē)牌圖像。每個(gè)圖像都包含只有一個(gè)車(chē)牌,每個(gè)車(chē)牌字符成像清晰,無(wú)粘附,輕好,均勻,車(chē)牌圖像垂直傾斜角度和水平傾斜角度很小(可忽略)。
本文提出的算法在SYSU-ITS公開(kāi)數(shù)據(jù)集實(shí)驗(yàn)結(jié)果取得了很好的成績(jī)。單行車(chē)牌的識(shí)別精度為98.7%,雙行車(chē)牌的識(shí)別精度為96.4%。均超過(guò)了其他四種方法,如圖1所示。
4 結(jié)論
本文提出一種端到端的雙行車(chē)牌識(shí)別神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)結(jié)果表面本文提出的方法的有效性。
參考文獻(xiàn):
[1]Chang S L, Chen L S, Chung Y C, et al. Automatic license plate recognition[J]. IEEE transactions on intelligent transportation systems,2004,5(1):42-53.
[2]Gou C,Wang K,Yao Y,et al. Vehicle license plate recognition based on extremal regions and restricted Boltzmann machines[J]. IEEE Transactions on Intelligent Transportation Systems,2016,17(4):1096-1107.
[3]Messina R, Louradour J. Segmentation-free handwritten Chinese text recognition with LSTM-RNN[C]//Document Analysis and Recognition(ICDAR),2015 13th International Conference on. IEEE,2015: 171-175.
[4]Schuster M,Paliwal K K. Bidirectional recurrent neural networks[J].IEEE Transactions on Signal Processing,1997,45(11):2673-2681.
[5]Graves A,Gomez F. Connectionist temporal classification:labelling unsegmented sequence data with recurrent neural networks[C]//International Conference on Machine Learning. ACM,2006:369-376.
[6]http://www.openits.cn/openData4/569.jhtml.