文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.035
中文引用格式: 文武,,喬龍輝,何鵬. 基于自適應差分進化極限學習機的車牌識別算法[J].電子技術應用,,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)督車輛行為,,還可以用于停車場出入管理。雖然過去十年車牌識別技術取得了很大的成就,,并在很多實際場合中得以應用,,但從復雜場景的圖像中識別車牌仍然是一個艱巨的任務[1]。
車牌識別一般由三部分組成:車牌定位,、字符分割和字符識別,。車牌定位有兩種主要的實現(xiàn)方法:一種是基于車牌區(qū)域顏色信息的,根據(jù)車牌區(qū)域特定的顏色信息組合來定位車牌[2],;另一種是基于邊緣或紋理信息的,根據(jù)車牌區(qū)域邊緣信息較其他區(qū)域清晰來檢測車牌[3],。第一種方法對光照條件和照相機設置敏感,,第二種方法當車牌褪色嚴重時,會由于檢測不到邊緣而導致定位失敗,。投影法[4],、連通域法[5]和模板匹配法[6]是實現(xiàn)字符分割的主要方式。投影法要求字符字跡完整且沒有噪音干擾,,易受光照影響,。連通域法對車牌的傾斜不敏感,但不能用來處理字符斷裂和字符粘連,。常用的字符識別方法有:神經(jīng)網(wǎng)絡(BPNN和CNN),、SVM和模板匹配法。傳統(tǒng)的神經(jīng)網(wǎng)絡和SVM用于字符識別時有較高的正確率,,但如果參數(shù)選擇不合適會出現(xiàn)學習速度慢,、過擬合和局部最優(yōu)等缺陷[7]。模板匹配法簡單實用,,但在字符出現(xiàn)形變,、粘連等問題時會導致模板匹配法識別率降低[8]。
相較于其他常用車牌識別算法,,本文所用方法在以下幾點做出了改進:(1)綜合利用顏色定位和邊緣檢測的優(yōu)點,,克服了單一用其中一類方法的缺陷;(2)對垂直投影法做改進,,先粗分割,,再精確分割,有效解決了字符的粘連,、斷裂等問題,;(3)用SaE-ELM來訓練模型,,縮短了訓練時間,提升了字符識別率,。
1 車牌定位
本文將車牌的面積,、紋理、顏色,、長寬比等多重特征結合起來,,提出一種車牌定位的改進算法,具體執(zhí)行步驟如下所示:
(1)輸入彩色車牌圖像,,如圖1(a),,預處理(高斯模糊和灰度化)后得到灰度圖,然后用Sobel算子得到車牌圖像的垂直邊緣(由于車頭排氣孔,、車標等的影響,,檢測水平邊緣會影響最后的連接結果),接著用大津法對邊緣檢測圖進行二值化并做形態(tài)學閉運算,。此時可以獲得很多車牌候選區(qū),,如圖1(b)所示。
(2)將輸入的彩色圖轉成HSV圖像,,若當前像素的H,、S、V分量分別滿足表1所示藍色對應的H,、S,、V分量,則灰度值置為255,。同理若滿足黃色各分量,,灰度值置為200;滿足白色各分量,,灰度值置為150,;滿足黑色各分量,灰度值置為100,;其他為0,。構造出的五級灰度圖如圖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)可能存在不同程度的失效,,導致最后的定位效果不佳。這里的解決辦法是用SVM對候選車牌進行判斷,,若SVM判斷結果大于1,,則定位結束。否則,,用顏色定位或邊緣檢測進行再次定位,。
閉運算操作時,車牌可能會錯分成兩個區(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ù),。設置投影閾值threshValue,,完成垂直投影,并將投影結果保存在arrayTotal數(shù)組中,。
(3)創(chuàng)建字符類Character和動態(tài)鏈表listCharacter,,字符起點橫坐標記為start,中心點centerPoint,,終點end,。掃描arrayTotal數(shù)組,當arrayTotal[start]>0&&arrayTotal[end]=0,,記當前字符寬度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,。當num小于預先設定閾值,則當前字符被判定為噪聲點,,否則就被判定為數(shù)字“1”,。
(4)重復步驟(3),將字符寫入鏈表listCharacter,。直至遍歷邊界最右端且listCharacter中字符個數(shù)不小于7為止,。
2.2 精確分割
上述步驟完成了車牌字符的初步分割,,解決了字符的斷裂和粘連問題。但仍然存在車牌左右邊框的干擾,,使得車牌的左右邊界并非車牌字符起始和結束位置,。因此還需根據(jù)先驗知識對字符坐標值進行修正,從而完成精確分割,,具體流程如下:
(1)統(tǒng)計listCharacter中字符個數(shù)N及對應寬度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計算出所有字符的開始和結束坐標,,然后將所有坐標信息重新寫入listCharacter,字符的精確分割即可通過這些坐標值來完成,。分割效果如表3所示。
3 字符識別
3.1 SaE-ELM
極限學習機是Huang Guangbin[9]提出的一種新的基于單隱層前饋神經(jīng)網(wǎng)絡的學習方法,。該方法只需訓練前設置好隱層節(jié)點數(shù)目,,執(zhí)行過程中隨機產(chǎn)生輸入權值與隱層偏差(無需通過迭代反復刷新調(diào)整),最終把復雜的問題轉化成求矩陣的Moore-Penrose廣義逆,。由于隨機產(chǎn)生網(wǎng)絡的輸入權值和隱層的偏置向量參數(shù),,所以不能保證訓練出的ELM模型能夠達到最優(yōu)。
本文采用基于SaE-ELM的方法來識別車牌字符,。該方法利用自適應差分進化算法優(yōu)化ELM網(wǎng)絡的輸入權值與隱層偏差,,初始化后循環(huán)“突變→交叉→選擇”來生成最優(yōu)參數(shù)。接著通過測試設置最優(yōu)隱層節(jié)點數(shù)目,,選擇適當?shù)募詈瘮?shù)計算出隱層輸出,,并用最小二乘法計算出輸出權值。實驗驗證表明,該方法不僅保留了ELM算法訓練的快速性,,而且具有更好的泛化能力和準確性,,避免了ELM模型的隨機性。假設訓練集S包含了N個任意不同的樣本,,S={(xj,,tj)|xj∈Rn,tj∈Rm,,j=1,,2,…,,N},,具有L個隱層單元的SaE-ELM算法執(zhí)行步驟如下:
(1)首先初始化原始種群,原始種群是包含了所有輸入權值與隱藏層偏差的NP組向量,,每組向量作為一個個體向量,,如式(4)所示。
其中,,wi和bi是隨機賦值的,,wi是輸入權值,bi是隱層偏差(i=1,,2,,…,L),。L是隱層節(jié)點數(shù),,G是進化代數(shù),k=1,,2,,…,NP,,NP表示種群大小,,這里NP=10。
(2)然后通過式(5)計算出隱層輸出矩陣Hk,,G,,輸出權值矩陣?茁k,G則可以通過式(6)得到,。
(3)接著通過變異操作獲取變異個體向量vk,,G,變異過程中有4種變異策略可以選擇,,如表4所示,。通過Pl,,G可以實現(xiàn)變異策略的自適應選擇,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)分布,。重復突變,、交叉與選擇,直至最大迭代次數(shù)得到最優(yōu)θk,,G,,通過式(6)計算出輸出權值β,即可獲得模型,。
3.2 字符識別
首先將字符尺寸統(tǒng)一為20×40,,然后用方向梯度直方圖來提取字符特征(單元10×10,塊大小20×20,,塊步長5×5,,每個單元對應的向量是9維),則可得180維的輸入特征向量,。接著用SaE-ELM訓練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個英文字符)來訓練,,訓練時間為144 s(訓練用時最長的時間)。取500個字符做測試,,這里是分開測試,,漢字分類器識別率為96.5%,字母數(shù)字分類器的識別率為97.5%,,字母分類器識別率為98.0%,。從表5可知(以字母為例),在識別率與BP神經(jīng)網(wǎng)絡和SVM區(qū)別不大的情況下,,基于SaE-ELM的車牌字符識別大大縮短了訓練時間,,且提高了字符識別的速度。本文算法可應用于實際復雜場景,,測試效果如圖4所示,。
4 結束語
經(jīng)過大量測試,上述方法可以有效地識別各種復雜場景中的車牌,。但所提出的方法前提是要把彩色圖轉為灰度圖,,未來可考慮直接對彩色圖直接進行處理,終端完成圖像的采集工作,,然后通過云平臺,,把相對復雜的圖像計算部分分到多個服務器上同時進行處理。還可以考慮將深度學習用于模型的訓練,,提高中文字符和相似字符的識別準確率,。車牌識別技術的發(fā)展為其今后在車輛跟蹤、交通監(jiān)控,、停車場出入管理等領域的應用打下了良好的基礎,。
參考文獻
[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] 張學海.車牌字符分割方法研究與實現(xiàn)[D].成都:西南交通大學,,2010.
[5] 甘玲,林小晶.基于連通域提取的車牌字符分割算法[J].計算機仿真,,2011,,28(4):336-339.
[6] 穆麗娟,籍焱.基于新模板的算法在車牌字符分割中的應用[J].計算機工程與應用,,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.重慶郵電大學,,重慶400065,;2.重慶信科設計有限公司,重慶400065)