文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.035
中文引用格式: 文武,喬龍輝,,何鵬. 基于自適應(yīng)差分進化極限學(xué)習(xí)機的車牌識別算法[J].電子技術(shù)應(yīng)用,,2017,43(1):133-136,,140.
英文引用格式: Wen Wu,Qiao Longhui,,He Peng. License plate recognition based on self-adaptive evolutionary extreme learning machine[J].Application of Electronic Technique,,2017,43(1):133-136,,140.
0 引言
作為智能交通系統(tǒng)的重要組成部分,,車牌識別系統(tǒng)常用來監(jiān)視交通狀況、監(jiān)督車輛行為,,還可以用于停車場出入管理,。雖然過去十年車牌識別技術(shù)取得了很大的成就,并在很多實際場合中得以應(yīng)用,,但從復(fù)雜場景的圖像中識別車牌仍然是一個艱巨的任務(wù)[1],。
車牌識別一般由三部分組成:車牌定位、字符分割和字符識別,。車牌定位有兩種主要的實現(xiàn)方法:一種是基于車牌區(qū)域顏色信息的,,根據(jù)車牌區(qū)域特定的顏色信息組合來定位車牌[2];另一種是基于邊緣或紋理信息的,,根據(jù)車牌區(qū)域邊緣信息較其他區(qū)域清晰來檢測車牌[3],。第一種方法對光照條件和照相機設(shè)置敏感,第二種方法當(dāng)車牌褪色嚴重時,,會由于檢測不到邊緣而導(dǎo)致定位失敗,。投影法[4]、連通域法[5]和模板匹配法[6]是實現(xiàn)字符分割的主要方式,。投影法要求字符字跡完整且沒有噪音干擾,,易受光照影響。連通域法對車牌的傾斜不敏感,,但不能用來處理字符斷裂和字符粘連,。常用的字符識別方法有:神經(jīng)網(wǎng)絡(luò)(BPNN和CNN)、SVM和模板匹配法,。傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)和SVM用于字符識別時有較高的正確率,,但如果參數(shù)選擇不合適會出現(xiàn)學(xué)習(xí)速度慢、過擬合和局部最優(yōu)等缺陷[7],。模板匹配法簡單實用,,但在字符出現(xiàn)形變、粘連等問題時會導(dǎo)致模板匹配法識別率降低[8],。
相較于其他常用車牌識別算法,,本文所用方法在以下幾點做出了改進:(1)綜合利用顏色定位和邊緣檢測的優(yōu)點,,克服了單一用其中一類方法的缺陷;(2)對垂直投影法做改進,,先粗分割,,再精確分割,有效解決了字符的粘連,、斷裂等問題,;(3)用SaE-ELM來訓(xùn)練模型,縮短了訓(xùn)練時間,,提升了字符識別率,。
1 車牌定位
本文將車牌的面積、紋理,、顏色,、長寬比等多重特征結(jié)合起來,提出一種車牌定位的改進算法,,具體執(zhí)行步驟如下所示:
(1)輸入彩色車牌圖像,,如圖1(a),預(yù)處理(高斯模糊和灰度化)后得到灰度圖,,然后用Sobel算子得到車牌圖像的垂直邊緣(由于車頭排氣孔,、車標等的影響,檢測水平邊緣會影響最后的連接結(jié)果),,接著用大津法對邊緣檢測圖進行二值化并做形態(tài)學(xué)閉運算,。此時可以獲得很多車牌候選區(qū),如圖1(b)所示,。
(2)將輸入的彩色圖轉(zhuǎn)成HSV圖像,,若當(dāng)前像素的H、S,、V分量分別滿足表1所示藍色對應(yīng)的H,、S、V分量,,則灰度值置為255,。同理若滿足黃色各分量,灰度值置為200,;滿足白色各分量,,灰度值置為150;滿足黑色各分量,,灰度值置為100;其他為0,。構(gòu)造出的五級灰度圖如圖1(c)所示,。依次取每級灰度圖,,分別做二值化和閉運算操作。以藍色分量為例,,255為閾值,,將灰度值不為255的全部置0,可得藍色分量候選區(qū),,如圖1(d)所示,,其他分量的處理過程依此類推。
(3)將圖1(b)與圖1(d)做“與”運算可得圖1(e),,候選區(qū)數(shù)量大大減少,,然后借助與車牌的面積、長寬比等特征可以篩去部分偽車牌,,最后由SVM分類器對每個候選車牌做分類判斷操作即可得到真正的車牌,,如圖1(f)所示。對于一般場景下的車牌,,經(jīng)過上述3步即可定位到車牌區(qū)域,。但對于某些特殊的場景,步驟(1)或步驟(2)可能存在不同程度的失效,,導(dǎo)致最后的定位效果不佳,。這里的解決辦法是用SVM對候選車牌進行判斷,若SVM判斷結(jié)果大于1,,則定位結(jié)束,。否則,用顏色定位或邊緣檢測進行再次定位,。
閉運算操作時,,車牌可能會錯分成兩個區(qū)域。這是因為車牌中的第2或第3個位置存在某些垂直邊緣不明顯的字符(比如“E”,、“1”等),,解決辦法是對車牌區(qū)域進行擴展,然后對擴展區(qū)域再進行一次邊緣檢測,。對于低照度圖像,,使用Sobel算子可能會出現(xiàn)邊緣提取不清楚或缺失嚴重的問題,可以改用Scharr算子來提取邊緣,。完整的定位流程圖如圖2所示,。本文所用定位方法綜合多種因素,具有較好的魯棒性,。
2 字符分割
2.1 初步分割
傳統(tǒng)投影法對字符進行切分時,,需要字符字跡完整且沒有噪聲干擾,此時二值圖像的垂直投影曲線會有清晰的波峰波谷,,可以根據(jù)波峰波谷的跳變位置來確定字符分割點,。由于受到噪聲,、光照等影響,車牌垂直投影的波峰和波谷往往不明顯,,圖3所示為噪聲嚴重車牌以及它的垂直投影曲線,。
經(jīng)分析,字符的投影曲線多數(shù)為單峰,,少數(shù)為雙峰和三峰,,如:H、M和斷裂字符為雙峰,,川為三峰,。利用該特征來對垂直投影法進行改進的步驟如下:
(1)水平掃描車牌二值圖像,根據(jù)字符區(qū)域跳變次數(shù)不小于14的經(jīng)驗去除上下邊框和鉚釘,。求得字符高度charHeight,,單個字符寬度charWidth=2charHeight。
(2)列掃描車牌二值圖像,,統(tǒng)計每一列白色像素點個數(shù),。設(shè)置投影閾值threshValue,完成垂直投影,,并將投影結(jié)果保存在arrayTotal數(shù)組中,。
(3)創(chuàng)建字符類Character和動態(tài)鏈表listCharacter,字符起點橫坐標記為start,,中心點centerPoint,,終點end。掃描arrayTotal數(shù)組,,當(dāng)arrayTotal[start]>0&&arrayTotal[end]=0,,記當(dāng)前字符寬度width[m]=end-start。依次執(zhí)行以下步驟:①若2charWidth<width[m]<3charWidth,,則為2個字符粘連,,取其投影中點進行分割;若3charWidth<width[m]<4charWidth,,則為3個字符粘連,,根據(jù)charWidth確定分割的位置。②若width[m]+width[m+1]<charWidth,,同時滿足兩字符間距差小于(12/45)charWidth,,則判定字符發(fā)生斷裂,需對字符做合并操作,。③若width[m]<0.5charWidth<width[m+1],,寬度width[m]內(nèi)投影值大于0.8charHeight的像素個數(shù)為num。當(dāng)num小于預(yù)先設(shè)定閾值,則當(dāng)前字符被判定為噪聲點,,否則就被判定為數(shù)字“1”,。
(4)重復(fù)步驟(3),將字符寫入鏈表listCharacter,。直至遍歷邊界最右端且listCharacter中字符個數(shù)不小于7為止。
2.2 精確分割
上述步驟完成了車牌字符的初步分割,,解決了字符的斷裂和粘連問題,。但仍然存在車牌左右邊框的干擾,使得車牌的左右邊界并非車牌字符起始和結(jié)束位置,。因此還需根據(jù)先驗知識對字符坐標值進行修正,,從而完成精確分割,具體流程如下:
(1)統(tǒng)計listCharacter中字符個數(shù)N及對應(yīng)寬度Wi,,求出寬度的均值Wa與標準差Ws,。
若Wi不滿足|Wi-Wa|<Ws,則將其從listCharacter中剔除,,對其余字符求Wa和Ws,,循環(huán)直至所有Wi都符合|Wi-Wa|<Ws,則此時Wa為字符的統(tǒng)計標準寬度,。
(2)選定優(yōu)先分割字符Cmin(與Wa差異最小的字符),。根據(jù)標準車牌字符寬度及間距等先驗信息(單字符寬45 mm,高90 mm,,間隔符寬10 mm,,第二和第三字符間隔34 mm,其余字符間隔均為12 mm),,計算出Wa與標準寬度的比值p(如式(3)所示),。根據(jù)這一比值計算出Cmin的centerPoint在表2所處的坐標范圍,從而確定Cmin在車牌字符排列中的序號,。
(3)以Cmin的centerPoint為基準點,,Wa為尺度,根據(jù)表2計算出所有字符的開始和結(jié)束坐標,,然后將所有坐標信息重新寫入listCharacter,,字符的精確分割即可通過這些坐標值來完成。分割效果如表3所示,。
3 字符識別
3.1 SaE-ELM
極限學(xué)習(xí)機是Huang Guangbin[9]提出的一種新的基于單隱層前饋神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)方法,。該方法只需訓(xùn)練前設(shè)置好隱層節(jié)點數(shù)目,執(zhí)行過程中隨機產(chǎn)生輸入權(quán)值與隱層偏差(無需通過迭代反復(fù)刷新調(diào)整),,最終把復(fù)雜的問題轉(zhuǎn)化成求矩陣的Moore-Penrose廣義逆,。由于隨機產(chǎn)生網(wǎng)絡(luò)的輸入權(quán)值和隱層的偏置向量參數(shù),所以不能保證訓(xùn)練出的ELM模型能夠達到最優(yōu)。
本文采用基于SaE-ELM的方法來識別車牌字符,。該方法利用自適應(yīng)差分進化算法優(yōu)化ELM網(wǎng)絡(luò)的輸入權(quán)值與隱層偏差,,初始化后循環(huán)“突變→交叉→選擇”來生成最優(yōu)參數(shù)。接著通過測試設(shè)置最優(yōu)隱層節(jié)點數(shù)目,,選擇適當(dāng)?shù)募詈瘮?shù)計算出隱層輸出,,并用最小二乘法計算出輸出權(quán)值。實驗驗證表明,,該方法不僅保留了ELM算法訓(xùn)練的快速性,,而且具有更好的泛化能力和準確性,避免了ELM模型的隨機性,。假設(shè)訓(xùn)練集S包含了N個任意不同的樣本,,S={(xj,tj)|xj∈Rn,,tj∈Rm,,j=1,2,,…,,N},具有L個隱層單元的SaE-ELM算法執(zhí)行步驟如下:
(1)首先初始化原始種群,,原始種群是包含了所有輸入權(quán)值與隱藏層偏差的NP組向量,,每組向量作為一個個體向量,如式(4)所示,。
其中,,wi和bi是隨機賦值的,wi是輸入權(quán)值,,bi是隱層偏差(i=1,,2,…,,L),。L是隱層節(jié)點數(shù),G是進化代數(shù),,k=1,,2,…,,NP,,NP表示種群大小,這里NP=10,。
(2)然后通過式(5)計算出隱層輸出矩陣Hk,,G,,輸出權(quán)值矩陣?茁k,G則可以通過式(6)得到,。
(3)接著通過變異操作獲取變異個體向量vk,,G,變異過程中有4種變異策略可以選擇,,如表4所示,。通過Pl,G可以實現(xiàn)變異策略的自適應(yīng)選擇,,Pl,,G是概率參數(shù),表示在第G代變異操作中使用策略“l(fā)”的概率,。
變異因子F用于控制步長,服從N(0.6,,0.3)的正態(tài)分布,,K在0~1區(qū)間隨機取值,r1~r5是1~NP內(nèi)互不相等的隨機整數(shù),。概率參數(shù)Pl,,G的更新規(guī)則可參考文獻[10],變異操作完成后,,將變異向量與θk,,G進行交叉操作可得試驗向量
交叉操作通過式(9)完成。
其中,,jrand是[1,,L]隨機正整數(shù),randj是0~1之間隨機數(shù),,交叉概率CR服從N(0.3,,0.1)的正態(tài)分布。重復(fù)突變,、交叉與選擇,,直至最大迭代次數(shù)得到最優(yōu)θk,G,,通過式(6)計算出輸出權(quán)值β,,即可獲得模型。
3.2 字符識別
首先將字符尺寸統(tǒng)一為20×40,,然后用方向梯度直方圖來提取字符特征(單元10×10,,塊大小20×20,塊步長5×5,,每個單元對應(yīng)的向量是9維),,則可得180維的輸入特征向量。接著用SaE-ELM訓(xùn)練3個字符分類器。漢字分類器用來識別第一個字符,,采用400個隱層節(jié)點和31個輸出節(jié)點,。字母分類器用來識別第二個字符,采用300個隱藏層節(jié)點和24個輸出節(jié)點,。字母數(shù)字分類器則用來識別剩下的5個字符,,采用300個隱層節(jié)點和34個輸出節(jié)點。在2.50 GHz CPU,、2 GB內(nèi)存,、vs2013編程的主機上進行測試,用4 000個字符(1 435個中文字符,,1 000個數(shù)字,,1 565個英文字符)來訓(xùn)練,訓(xùn)練時間為144 s(訓(xùn)練用時最長的時間),。取500個字符做測試,,這里是分開測試,漢字分類器識別率為96.5%,,字母數(shù)字分類器的識別率為97.5%,,字母分類器識別率為98.0%。從表5可知(以字母為例),,在識別率與BP神經(jīng)網(wǎng)絡(luò)和SVM區(qū)別不大的情況下,,基于SaE-ELM的車牌字符識別大大縮短了訓(xùn)練時間,且提高了字符識別的速度,。本文算法可應(yīng)用于實際復(fù)雜場景,,測試效果如圖4所示。
4 結(jié)束語
經(jīng)過大量測試,,上述方法可以有效地識別各種復(fù)雜場景中的車牌,。但所提出的方法前提是要把彩色圖轉(zhuǎn)為灰度圖,未來可考慮直接對彩色圖直接進行處理,,終端完成圖像的采集工作,,然后通過云平臺,把相對復(fù)雜的圖像計算部分分到多個服務(wù)器上同時進行處理,。還可以考慮將深度學(xué)習(xí)用于模型的訓(xùn)練,,提高中文字符和相似字符的識別準確率。車牌識別技術(shù)的發(fā)展為其今后在車輛跟蹤,、交通監(jiān)控,、停車場出入管理等領(lǐng)域的應(yīng)用打下了良好的基礎(chǔ)。
參考文獻
[1] TIAN B.Hierarchical and networked vehicle surveillance in its:A survey[J].IEEE Trans.Intell.Transp.Syst.,,2015,,16(2):557-580.
[2] SHI X,,ZHAO W,SHEN Y.Automatic license plate recognition system based on color image processing[J].Lecture Notes in Computer Science,,2005,3483(4):1159-1168.
[3] ZHENG D,,ZHAO Y,WANG J.An efficient method of license plate location[J].Pattern Recog.Lett.,,2005,,26(15):2431-2438.
[4] 張學(xué)海.車牌字符分割方法研究與實現(xiàn)[D].成都:西南交通大學(xué),2010.
[5] 甘玲,,林小晶.基于連通域提取的車牌字符分割算法[J].計算機仿真,,2011,28(4):336-339.
[6] 穆麗娟,,籍焱.基于新模板的算法在車牌字符分割中的應(yīng)用[J].計算機工程與應(yīng)用,,2012,48(19):191-196.
[7] HONG T,,GOPALAKRISHNAM A K.License plate extraction and recognition of a Thai vehicle based on MSER and BPNN[C].Knowledge and Smart Technology(KST),,2015 7th International Conference on,Chonburi,,2015:48-53.
[8] NEJATI M,MAJIDI A,,JALALAT M.License plate recognition based on edge histogram analysis and classifier ensemble[C].2015 Signal Processing and Intelligent Systems Conference(SPIS),,Tehran,2015:48-52.
[9] HUANG G B,,WANG D H,,LAN Y.Extreme learning machines:a survey[J].International Journal of Machine Learning and Cybernetics,2011,,2(2):107-122.
[10] CAO J,,LIN Z,HUANG G B.Self-adaptive evolutionary extreme learning machine[J].Neural Process.Lett.,,2012,,36(3):285-305.
作者信息:
文 武1,2,,喬龍輝1,,何 鵬1
(1.重慶郵電大學(xué),重慶400065,;2.重慶信科設(shè)計有限公司,,重慶400065)