韓浦霞
(天津商務(wù)職業(yè)學(xué)院 天津市 300350)
隨著近幾年人工智能技術(shù)的發(fā)展與普及,機(jī)器學(xué)習(xí)算法越來越多的被應(yīng)用于車牌識別開發(fā)技術(shù)中,且識別率較高。車牌識別技術(shù)作為提升國家智慧建設(shè)中的一部分,是智能交通管理中的重要一環(huán)。有效識別車牌不僅僅可用于安防排查,也有益于提升人們的生活質(zhì)量,為推動社會智能化貢獻(xiàn)了卓著的力量。
國內(nèi)車牌識別技術(shù)比較成熟,常見的車牌均為藍(lán)底白字,此種車牌規(guī)律性強(qiáng),排版統(tǒng)一,便于識別。國內(nèi)車牌分為大陸版本和港澳臺版本,大陸版本的車牌結(jié)構(gòu)規(guī)則單一,字符間距、字符個(gè)數(shù)、字符位置固定,因此識別較為容易。港澳的車牌類型則比較多樣,常見為英式車牌格式,單牌車牌居多,但也有雙牌車牌,且兩個(gè)車牌位置相對靠近,為車牌識別時(shí)的車牌定位工作增加了難度。中國臺灣車牌常見為英文和數(shù)字的組合,與國外的普通車牌類型接近,如圖三所示,其車牌識別方法可參考國外的成熟算法。國內(nèi)目前的商用車牌識別的場景一般是處于相對固定的角度,以及相對穩(wěn)定的環(huán)境下進(jìn)行拍攝識別的,因此攝像頭拍照的清晰度以及光照強(qiáng)度均滿足識別要求,常見的是社區(qū)商用車牌識別系統(tǒng)、交通道路車牌識別系統(tǒng)等。中國大陸車牌與港澳臺車牌樣例如圖1所示。
圖1:內(nèi)地與港澳臺車牌圖片
我國積極推動新能源汽車的普及,因此越來越多的綠牌出現(xiàn)在我們的視野里。新能源車牌又細(xì)分為小型新能源汽車車牌和大型新能源汽車號牌,這兩種在配色上稍有不同,前者為綠色漸變底色,黑字車牌,后者為黃綠拼色,黑字車牌。車牌底色的多樣化,也為識別算法的準(zhǔn)確性增加了難度。
我國車牌系統(tǒng)特有的漢字特點(diǎn)也是有別于國外的車牌系統(tǒng)的,需要創(chuàng)建合適的訓(xùn)練模型來識別車牌上的漢字。由于整套漢字識別與數(shù)字字母的識別不同,需要創(chuàng)建兩套獨(dú)立的訓(xùn)練字符模型,以免互相混合訓(xùn)練影響識別的精確度。
國內(nèi)成熟的商用車牌識別算法,多借鑒國外優(yōu)秀的研究技術(shù),但由于國內(nèi)外車牌編碼的區(qū)別,又開發(fā)出我國特有的識別模式。在常規(guī)環(huán)境場景下,車牌的識別率往往能達(dá)到95%以上,對于污損車牌或者環(huán)境較為復(fù)雜的車牌識別率則有所降低。
國外車牌識別技術(shù)研究較早,有比較成熟的字符識別算法,但是對于車牌識別領(lǐng)域卻存在很多難點(diǎn)。相較于國內(nèi)車牌而言,海外車牌存在編碼結(jié)構(gòu)不規(guī)則的情況,例如字符間距、字符個(gè)數(shù)、字符間距位置等不固定,這就無法應(yīng)用國內(nèi)這種結(jié)構(gòu)化車牌算法的模型進(jìn)行套用,而需要開發(fā)動態(tài)字符間距的模型。
泰國車牌識別的難點(diǎn)在于泰文的識別部分。泰國車牌編碼格式為數(shù)字與泰文的組合,數(shù)字部分識別可以參考成熟的識別算法,但是泰文部分則需要利用深度學(xué)習(xí)框架,獲取泰文的詳細(xì)特征。許多泰文存在相似性,并且出現(xiàn)在泰國車牌上的輔音泰文有37種,這些結(jié)構(gòu)相似且種類繁多的特點(diǎn)為字符識別帶來了很大的困難。如圖2所示的泰國車牌的泰文種類表,從圖2中可以看到,如果用這些泰文圖片進(jìn)行模型訓(xùn)練的話,高度相似的泰文則存在很大識別難度,因此泰文的識別率會有所下降。
圖2:泰國車牌上的泰文種類
澳大利亞車牌的特點(diǎn)比較鮮明,車牌編碼規(guī)則多且極具個(gè)性化。常見的普通車牌是由6位字符組成的,包括3位字母與3位數(shù)字,一般都是連在一起,前后順序根據(jù)各個(gè)州而有多差別,當(dāng)然也有“4+2”的編碼格式,或者5位字符的車牌。除了單層字符組合的車牌之外,也有雙層字符的車牌組合。2019年澳大利亞出現(xiàn)的車牌新規(guī)中表明,可在車牌背景處添加emoji圖片,實(shí)行個(gè)性化定制。這一舉措無疑又增加了車牌字符分割的難度,很容易將emoji圖片作為合法字符進(jìn)行分割并識別,或者進(jìn)行車牌背景二值化時(shí)無法將emoji圖片去除,以上均會導(dǎo)致車牌識別準(zhǔn)確率下降。
日本車牌識別的難點(diǎn)在于車牌字符內(nèi)容過多,且分為上下雙層。日本的車牌號碼由四部分組成,從上到下,從左到右依次為地名、分類號碼、平假名和車牌號碼。識別過程中,首先需要確定車牌的上下層,并對上下層字符分別進(jìn)行分割和識別,最終將結(jié)果組合在一起,形成最終的識別結(jié)果。那么正確確定上下層的位次,并正確識別多種類的數(shù)字與日文字符就十分關(guān)鍵。
美國車牌識別的難點(diǎn)則在于不同州之間車牌背景具有很大的差異性。美國車牌屬于極具個(gè)性化的車牌之一,每個(gè)州的車牌設(shè)計(jì)添加了獨(dú)有的圖案作為背景,各個(gè)州之間車牌的使用規(guī)則也不盡相同。例如伊利諾亞州的車牌,為紀(jì)念亞伯拉罕?林肯,在背景處添加了林肯的畫像。緬因州則是將其州鳥作為車牌的背景圖。猶他州將美國最著名地標(biāo)之一的“玲瓏拱門”作為其車牌背景。多種多樣的背景圖案,為扣取字符、去除背景時(shí)增添難度。多樣性的背景圖案使得車牌圖像進(jìn)行二值化操作后出現(xiàn)混淆字符的情況。海外車牌圖片樣例如圖3所示。
圖3:海外車牌圖片樣例
國外車牌識別系統(tǒng)采用高度模塊化的集成設(shè)計(jì),將整個(gè)車牌識別的流程中的各個(gè)環(huán)節(jié)作為相對獨(dú)立的模塊。本文的海外車牌識別系統(tǒng)將整個(gè)框架分為八大模塊,分別為車牌定位模塊、字符獲取模塊、字符識別與融合模塊、獲取字符鏈模塊、圖像矯正模塊、字符鏈灰度投影模塊、模型匹配模塊、字符訓(xùn)練模塊。各個(gè)模塊之間相互獨(dú)立且緊密聯(lián)系,算法框架流程圖如圖4所示。
圖4:算法框架流程圖
車牌定位模塊主要是將所有可能車牌的區(qū)域找出,依據(jù)車牌圖片的顏色特征、紋理特征和梯度信息進(jìn)行框選。顏色特征主要是通過強(qiáng)烈的色差對比性進(jìn)行分割。字體顏色與背景顏色往往存在較大色差,且國外車牌背景多較為復(fù)雜,因此不采用彩色圖像進(jìn)行定位,而是通過對車牌圖片進(jìn)行灰度轉(zhuǎn)換,將深色底與淺色字進(jìn)行區(qū)分。紋理特征一般是依據(jù)車牌內(nèi)固定的字符規(guī)則,形成較為特殊的紋理性,利用車輛圖片的掃描線,其灰度值會有規(guī)律性跳變。梯度信息是根據(jù)車牌規(guī)則的矩形形狀或因拍照角度問題導(dǎo)致的類四邊形形狀提取的,寬高比一般會設(shè)定基準(zhǔn)范圍,標(biāo)準(zhǔn)車牌的寬高比是3.14,那么選擇可能為車牌的圖形比例則在該值附近。將三個(gè)特征綜合考慮,分別匹配不同的權(quán)重,獲取不同置信度的可能車牌,將置信度低于0.5的可能車牌過濾,保留高置信度車牌,并將其排序,后續(xù)按照可能車牌的置信度由高到低進(jìn)行識別。
車牌定位后,需要將框選的車牌進(jìn)行字符分割,基本的分割思想為將框選車牌圖片進(jìn)行二值化操作,設(shè)置5個(gè)能量及局部灰度閾值,依據(jù)國家不同而選擇不同。本研究是采用基于邊緣輪廓的字符分割方法,車牌圖像二值化后,通過邊緣檢測進(jìn)行字符框選,實(shí)現(xiàn)各個(gè)字符的分割。同時(shí)應(yīng)對因拍攝角度或者車牌自身問題導(dǎo)致的圖片變形問題,增加垂直投影。由于可能將非正常字符誤判而進(jìn)行框選,通過字符的寬高比進(jìn)行限制,例如某些車輛圖片前端具有柵格,可能會進(jìn)行誤判,但是框選出的字符極窄,這類字符則可依據(jù)寬高比進(jìn)行限制?;蛘哕嚺谱址嬖谡尺B,導(dǎo)致框選時(shí)將兩個(gè)字符誤判為1個(gè),此時(shí)字符呈現(xiàn)寬扁狀,也可依據(jù)標(biāo)準(zhǔn)字符寬高比進(jìn)行限制。實(shí)驗(yàn)結(jié)果如圖5所示。
圖5:灰度圖與能量圖二值化字符分割結(jié)果
字符識別依據(jù)實(shí)驗(yàn)訓(xùn)練的字符模型進(jìn)行識別,通過深度學(xué)習(xí)框架,對大量的字符進(jìn)行模型訓(xùn)練,不同訓(xùn)練字符分為不同的單字符模型,例如泰國車牌的字符訓(xùn)練模型包括47種字符,根據(jù)字符在各個(gè)單字符模型中的識別置信度進(jìn)行判斷,選取最大置信度的所屬字符模型,將該模型標(biāo)簽認(rèn)定為該字符的識別結(jié)果。相近字符的識別結(jié)果容易混淆,出現(xiàn)誤判,解決此情況的最優(yōu)方法即增大訓(xùn)練樣本,優(yōu)化訓(xùn)練模型,如果后續(xù)仍出現(xiàn)字符誤判,則可根據(jù)車牌規(guī)則進(jìn)行強(qiáng)轉(zhuǎn)。
字符融合是依據(jù)字符塊的位置、字符塊面積以及字符識別置信度進(jìn)行的。位置相近且高置信度識別結(jié)果的字符塊,可將其融合為一個(gè)字符塊,如圖6所示。字符融合可以盡可能的減少字符塊冗余,去除非車牌區(qū)域的字符塊,降低后續(xù)識別成本。
圖6:字符塊融合
針對海外車牌經(jīng)常存在上下層字符的情況,需要確定所獲取的字符塊是否為同一鏈條上。本研究將處于某個(gè)斜率范圍內(nèi)的一組字符塊進(jìn)行判斷,選取斜率絕對值最低的4組。正確選取字符塊鏈條,可以進(jìn)一步計(jì)算出圖片的傾斜角度,并為后續(xù)的圖形矯正提供依據(jù)。如圖7所示,為雙層牌尋找到的兩條字符鏈,并確定出底層主鏈。
圖7:字符鏈結(jié)果運(yùn)行圖
實(shí)際環(huán)境下拍攝的車牌圖像并不能保證絕對水平,由于車牌自身污損情況或者拍攝角度不佳,常常會導(dǎo)致車牌圖像存在偏轉(zhuǎn)。依據(jù)字符鏈模塊的結(jié)果,可以對其進(jìn)行矯正。主字符鏈的傾斜斜率可以作為矯正的主要參考,計(jì)算當(dāng)前字符鏈的最佳上下邊緣,去掉最大值與最小值,計(jì)算其平均值,矯正后及時(shí)更新原字符塊的位置信息,避免矯正前后字符塊差異較大。矯正時(shí)分別進(jìn)行水平方向與豎直方向的矯正。完成矯正之后,可以再次對低置信度的字符塊進(jìn)行識別。車牌圖形矯正結(jié)果如圖8所示。
圖8:車牌矯正結(jié)果
實(shí)現(xiàn)車牌圖像字符塊分割時(shí),可能會出現(xiàn)正確字符未正常分割的情況,此時(shí)則依賴字符鏈灰度投影進(jìn)行二次分割。本研究使用的灰度投影方法是從最初始的字符塊開始,從左向右依次查找其它可能字符塊,查找完成后將最左值與最右值保存下來,并且記錄字符塊個(gè)數(shù)。然后進(jìn)行灰度投影,并統(tǒng)計(jì)字符塊的梯度平均值。同時(shí)計(jì)算字符塊的上升點(diǎn)與下降點(diǎn),尋找最佳位置。然后再利用間隙進(jìn)行填補(bǔ),如果發(fā)現(xiàn)間隙較大,則插入新的字符塊。將每條字符鏈如此投影一次,補(bǔ)全字符鏈缺少的字符塊信息。字符鏈灰度投影結(jié)果如圖9所示。
圖9:字符鏈灰度投影
模型匹配模塊是整個(gè)車牌識別項(xiàng)目較為復(fù)雜的模塊之一,需要依據(jù)車牌編碼進(jìn)行模型設(shè)置。首先車牌編碼可以按照單雙層進(jìn)行分類,雙層車牌則按照單層車牌的識別方法逐行識別,最終將兩個(gè)識別結(jié)果進(jìn)行結(jié)合。由此可見,無論單層車牌還是雙層車牌,均可按照單層的模型進(jìn)行匹配。本研究進(jìn)行模型設(shè)置時(shí),依據(jù)車牌字符之間的間距設(shè)置不同的動態(tài)模型,例如“2+3”模型,即為共5個(gè)字符,分為兩個(gè)部分,一部分為2字符,另一部分為3字符,兩部分之間的間距較大,但字符之間的間距滿足動態(tài)變化。該模塊程序執(zhí)行的偽代碼如圖10所示。
圖10:模型匹配模塊偽代碼
模型匹配時(shí),選擇起始匹配字符塊,對應(yīng)到預(yù)設(shè)模型的位置,計(jì)算下個(gè)字符塊節(jié)點(diǎn)的匹配,最終實(shí)現(xiàn)將所有字符塊匹配到模型里,獲取當(dāng)前字符鏈對所有預(yù)設(shè)模型的匹配結(jié)果,然后依據(jù)結(jié)果置信度,選擇出最優(yōu)的幾個(gè)匹配結(jié)果。
當(dāng)模型匹配后存在多個(gè)匹配結(jié)果時(shí),需進(jìn)行模型評價(jià)。對獲取到的多個(gè)匹配結(jié)果進(jìn)行置信度評價(jià),通過winnertake-all競爭方法,獲得每個(gè)預(yù)設(shè)模型的最佳匹配結(jié)果。單鏈模型匹配結(jié)果圖如圖11所示。
圖11:單鏈模型匹配結(jié)果圖
由于Gabor變化在圖像局部頻率和方向上具有很大優(yōu)勢,因此本研究對訓(xùn)練集圖片進(jìn)行Gabor變換,提取字符塊的Gabor特征,再利用ANN算法實(shí)現(xiàn)字符模型訓(xùn)練。模型的優(yōu)劣性很大程度上依賴訓(xùn)練集的圖像品質(zhì)與數(shù)量,數(shù)量越多,模型訓(xùn)練將越準(zhǔn)確。本研究對4026幅實(shí)際環(huán)境中車牌的泰文字符塊圖片進(jìn)行訓(xùn)練,模型識別正確率為94.75%。
海外車牌識別算法框架所解決的主要受體是復(fù)雜情況下的車牌識別問題,這對于我國國內(nèi)的車牌識別也有很大幫助。國內(nèi)經(jīng)常出現(xiàn)污損車牌的情況,這類車牌在識別過程中容易效果不佳。常見有車牌字符模糊、車牌背景噪點(diǎn)、車牌彎折等情況。
針對此種車牌污損,主要可充分借鑒該海外車牌識別框架中的字符識別與融合模塊以及模型匹配模塊。首先需將同一字符進(jìn)行多次分割,提取該字符塊的較高置信度的切割塊,融入字符訓(xùn)練模型,增強(qiáng)該字符的識別冗余度。同時(shí)結(jié)合預(yù)設(shè)模型的基本結(jié)構(gòu),可以進(jìn)行后期的識別干預(yù)。例如預(yù)設(shè)模型該位為數(shù)字,即可排除將該位識別為字母的情況,也可依據(jù)模型規(guī)則,將字符識別結(jié)果進(jìn)行強(qiáng)轉(zhuǎn)。
針對車牌背景噪點(diǎn)較多的情況,可以充分結(jié)合該海外車牌識別框架中的車牌定位模塊。通常情況下,車牌噪點(diǎn)與車牌背景顏色或者紋理差異較大,那么此時(shí)依據(jù)灰度信息或者紋理信息可以提取出正常車牌字符以及噪點(diǎn)圖像,但是噪點(diǎn)圖像的寬高比或者寬度和高度數(shù)值往往與正常車牌字符差異較大,因此可通過字符寬高信息加以限制,過濾無效噪點(diǎn)。同時(shí)也可參考切割的字符塊的置信度,因噪點(diǎn)字符塊并未加入模型進(jìn)行訓(xùn)練,那么一般識別的字符置信度較低,可直接排除。如果該噪點(diǎn)為車牌的常見噪點(diǎn),例如車牌的螺絲連接處,可將該噪點(diǎn)圖片進(jìn)行分割提取,加入字符訓(xùn)練模型,將該字符訓(xùn)練結(jié)果設(shè)置為無效字符,那么再遇到此類噪點(diǎn),便可通過字符識別結(jié)果將其排除,真正實(shí)現(xiàn)多重過濾。
車牌若本身存在彎折,則可能會導(dǎo)致車牌字符拍攝不全或者拍攝車牌彎曲。如果出現(xiàn)車牌拍攝不全的情況,則無法通過算法框架進(jìn)行優(yōu)化。如果拍攝的車牌出現(xiàn)彎曲,則可結(jié)合該海外車牌識別框架中的圖像矯正模塊以及字符鏈灰度投影模塊。圖像矯正模塊可以充分考慮水平方向與豎直方向的彎曲程度,進(jìn)行初步矯正。字符鏈灰度投影模塊則可進(jìn)一步根據(jù)字符鏈的傾斜方向進(jìn)行矯正。雙重矯正可以有效將拍攝到的彎曲車牌轉(zhuǎn)為正向車牌再進(jìn)行識別。
海外車牌識別框架不僅僅可以提高海外復(fù)雜車牌的識別率,對于我國國內(nèi)的污損車牌識別效果也有很大優(yōu)化,可有效地提升我國污損車牌的識別效率,積極促進(jìn)我國進(jìn)一步構(gòu)建智慧化交通系統(tǒng)。
海外車牌識別相較于國內(nèi)車牌識別存在許多困難,車牌規(guī)則多樣,車牌背景多變,設(shè)計(jì)出魯棒性強(qiáng)的海外車牌識別框架就顯得十分重要。將整個(gè)框架細(xì)分為八個(gè)模塊,不同國家可依據(jù)不同的匹配模型進(jìn)行細(xì)微調(diào)整。針對雙層車牌可先將其按照單層車牌對待,后依據(jù)預(yù)設(shè)模型進(jìn)行字符鏈外擴(kuò),增加上層字符識別。海外車牌識別系統(tǒng)的實(shí)現(xiàn),進(jìn)一步提升了復(fù)雜場景下車牌識別的效果,促進(jìn)車輛管理的效率。同時(shí)也可提升我國國內(nèi)污損車牌的識別效果,加速國內(nèi)智能交通系統(tǒng)的建設(shè)。