專利名稱:基于粗網(wǎng)格特征提取和bp神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種車牌字符識別技術(shù)。
背景技術(shù):
隨著車牌自動識別(License Plate Recognition,LPR)系統(tǒng)在道路收費管理系統(tǒng)、交通監(jiān)控、停車場管理、車牌驗證、車流統(tǒng)計等場合得到越來越廣泛的應(yīng)用,如何實現(xiàn)更準確高效的車牌識別成了當前研究的一大熱點。車牌字符識別作為車牌自動識別系統(tǒng)中的關(guān)鍵步驟,識別效果的優(yōu)劣直接影響到整個識別系統(tǒng)的性能。
對于已獲取的車牌圖像,通常的識別包括車牌字符分割和車牌字符識別這兩個關(guān)鍵步驟。
車牌字符分割就是將車牌區(qū)域分割成單個的字符區(qū)域,以利于下一步的字符識別。由于字符塊在豎直方向上的投影必然在字符間或字符內(nèi)的間隙處取得局部最小值,故多采用垂直投影法實現(xiàn)。國外如Yuntao等對車牌識別系統(tǒng)中二值化過程中引入馬爾科夫場的某些特性進行研究,然后利用投影進行切分;韓國的Eun Ryung Lee等利用號牌顏色進行定位和切分。國內(nèi)如中國科技大學(xué)的陳鍛生等提出的利用快速連通區(qū)域形狀分析的方法來實現(xiàn)車牌字符切分;云南昆明理工大學(xué)潘小露等提出了一種利用投影的車牌定位切分方法;復(fù)旦大學(xué)盧達等人提出了一種基于骨架法形態(tài)分析的粘連字符圖像切分方法,對車牌圖像中有粘連問題圖像將會十分有效。還有其它的一些方法,如Ohya J.等先對灰度圖像局部二值化,通過對相鄰區(qū)域的灰度梯度的判斷實現(xiàn)字符分割;黃可為等利用視覺神經(jīng)生理學(xué)和認知學(xué)實驗結(jié)果,歸納出一種仿生目標搜索策略——BOSS(Bionic Object Exploring Strategy)策略,將其運行到車牌字符分割中。
車牌字符識別技術(shù)是一門綜合技術(shù)。我國的車牌中不僅有英文字母和阿拉伯數(shù)字,還包含筆劃繁雜的漢字,導(dǎo)致其識別難度比僅對字母、數(shù)字的識別大得多。對于車牌字符識別,目前最常用的方法是基于模板匹配的方法和基于神經(jīng)網(wǎng)絡(luò)的方法兩大類。模板匹配法如魏武等將模板在字符區(qū)左右滑動,找到最好的匹配位置,采用重合度和差別函數(shù)來度量匹配程度;陳斌等提出了松弛模板匹配的方法,對每一類根據(jù)不同的閾值二值化生成3個模板,綜合比較實現(xiàn)識別;神經(jīng)網(wǎng)絡(luò)方法如T.W.Tindall等,通過多層神經(jīng)網(wǎng)絡(luò)對輸入字符圖像樣本進行訓(xùn)練,產(chǎn)生分類器模型用于字符識別;其他方法如沈會良等利用小波變換提取字符的結(jié)構(gòu)特征,用于數(shù)字和字母的識別;馮國進等提出了一種基于模糊方法的快速字符二級動態(tài)識別方法;黃志斌等將支持向量機的方法應(yīng)用到車牌字符識別。
目前已有的車牌字符識別方法實際效果并不理想,主要存在以下問題(1)、在字符分割階段,采集的車牌圖像由于各種原因存在質(zhì)量低、噪聲大、字符粘連、斷裂等各種情況,傳統(tǒng)的車牌分割技術(shù)無法適用;(2)、傳統(tǒng)的字符識別算法對字符圖像質(zhì)量較敏感,魯棒性不高。實際應(yīng)用中采集的車牌字符存在光線干擾、污損等許多客觀因素的干擾,導(dǎo)致字符識別效果不理想;(3)、由于漢字的特殊性和復(fù)雜性,傳統(tǒng)的識別方法對于漢字的識別存在識別效率低下、正確率較低的不足。
發(fā)明內(nèi)容
為了克服已有車牌字符識別方法中存在的字符分割算法受車牌圖像質(zhì)量影響較大、識別算法對低質(zhì)量字符圖像識別效果差、對漢字識別效果不佳的不足,本發(fā)明提供一種分割效果不受車牌圖像質(zhì)量影響、對漢字的識別效果好的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是 一種基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,該方法包括以下步驟 1)對采集的車牌圖像進行預(yù)處理包括對車牌圖像的灰度化與二值化、傾斜校正、車牌圖像背景色統(tǒng)一、車牌邊框及鉚釘?shù)娜コ?、消除車牌噪聲、反旋轉(zhuǎn)去除毛刺,取得最小車牌區(qū)域,并對最小車牌區(qū)域進行數(shù)學(xué)形態(tài)學(xué)的膨脹或腐蝕運算; 2)對經(jīng)過預(yù)處理的車牌圖像進行基于豎直投影及直方圖的方法對車牌字符進行粗分割,在車牌字符間隙區(qū)域可取得白色像素投影的局部最小值作為粗分割的依據(jù),若粗分割得到的字符塊寬度超過寬度閾值,運用滴水算法進行二次精確分割,通過尋找字符的閉合邊緣輪廓,并沿著縫隙進行裁剪,并以最左上角和最右下角的邊緣點為基準將字符圖像進行矩形化拓展; 3)對分割出來的目標字符圖像進行篩選,去除垂直邊框、鉚釘、分隔符等非字符圖像; 4)根據(jù)水平和垂直兩個方向字符像素的分布進行字符圖像的歸一化,計算文字的質(zhì)心 GI和GJ 其中,c(i,j)為1表示該像素為白像素(即字符像素),為0時表示該像素點為背景,下面計算水平和垂直方向的散度σI和σJ 按比例將字符線性放大或縮小成規(guī)定散度的點陣,將字符圖像統(tǒng)一為32×16像素大小,字符區(qū)域背景為黑色,字符前景為白色; 5)將歸一化后的字符點陣的每個像素點作為一個網(wǎng)格; 6)設(shè)計BP神經(jīng)網(wǎng)絡(luò)進行字符識別BP神經(jīng)網(wǎng)絡(luò)包含漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò),對不同類型字符進行分類,確定輸入輸出神經(jīng)元個數(shù)、隱含層個數(shù)、隱含層中神經(jīng)元數(shù)目、激活函數(shù)、學(xué)習速率; 7)構(gòu)造樣本庫進行訓(xùn)練,對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,并根據(jù)實際識別效果對訓(xùn)練樣本進行調(diào)整,直到神經(jīng)網(wǎng)絡(luò)的識別率達到應(yīng)用要求,實現(xiàn)車牌字符的準確識別。
作為優(yōu)選的一種方案所述的步驟1)中,對采集的車牌圖像進行預(yù)處理,具體步驟如下 (1.1)定位截取的色車牌圖片,將彩色車牌圖像轉(zhuǎn)換為灰度圖像,再對其進行二值化處理,RGB圖像灰度化的計算方法為 Gray=0.229R+0.587G+0.114B(5) 設(shè)g(x,y)為原灰度圖像,b(x,y)為二值化后圖像,則二值化過程為 其中,經(jīng)驗閾值t的計算方法 t=Gmax-(Gmax-Gmin)/3 (7) Gmax和Gmin分別是最高、最低灰度值; (1.2)采用Radon變換對傾斜的車牌圖像進行調(diào)整和校正,曲線f(x,y)的Radon變換是一個平行于y軸的線積分 式中 由θ以及x可定一條直線,確定出θ值之后,對圖像進行旋轉(zhuǎn)|90-θ|°處理; (1.3)通過統(tǒng)計圖像車牌主區(qū)域中黑白象素的個數(shù)來進行圖像類別的確認對車牌的二值圖像進行白像素數(shù)量統(tǒng)計,若白色像素所占比例超過50%,則認為此圖片的背景色為白色,對其進行反色變換;如果白色像素所占比例不足50%,則說明該車牌的二值圖像為黑底白字,保持不變; (1.4)采用基于黑白顏色跳變特征的方法消除對車牌圖像存在的上下邊框及鉚釘?shù)母蓴_,依次考慮以下規(guī)則 (1.4.1)黑白跳變小于某閾值的行即被視為背景; (1.4.2)連續(xù)白線長度大于某閾值,則該白線被認為是背景; (1.4.3)單行白色點總數(shù)大于某閾值,則該行被認為是背景; (1.4.4)在車牌高度的上面1/2處向上搜索第一條全為黑的線,則認為該黑線以上為背景;在下面1/2處向下搜索第一條全為黑的線,則認為該黑線以下為背景; (1.5)采用基于連通域的方法消除車牌圖像中的細小噪聲對于任一白色像素,均求出它的最大連通域,再通過設(shè)置高度閾值、面積閾值方式來去除不符合閾值的噪聲部分; (1.6)如果步驟(1.2)的旋轉(zhuǎn)操作及后續(xù)的處理使得字符歪曲且邊緣出現(xiàn)“毛刺”現(xiàn)象,對圖像進行反旋轉(zhuǎn)操作將校正字符并消除毛刺,旋轉(zhuǎn)角度為-|90-θ|°; (1.7)取得最小車牌區(qū)域的方法是依次從上向下,從下向上,從左向右,從右向左搜索第一條不為全黑的直線,則這4條直線包圍的范圍是最小車牌區(qū)域; (1.8)運用數(shù)學(xué)形態(tài)學(xué)對車牌圖像進行膨脹或腐蝕操作,自定義結(jié)構(gòu)元素對象,實現(xiàn)平滑字符邊緣、填補細小漏洞、均衡車牌字符的粗細程度。
作為優(yōu)選的另一種方案所述的步驟2)中對經(jīng)過預(yù)處理的車牌圖像結(jié)合豎直投影及滴水算法的方法對車牌字符進行分割,并進行矩形化拓展,具體步驟如下 (2.1)對經(jīng)過預(yù)處理的車牌圖像進行豎直投影,縱向掃描每一列白色像素的個數(shù),在兩個字符之間的字符間隙投影取得局部最小值,并將其作為字符的分割點進行字符粗分割; (2.2)設(shè)置單個車牌字符的寬度閾值為車牌總寬度的1/7,若粗分割結(jié)果中有單個字符寬度大于此閾值,則認為存在字符粘連,需要進行二次精確分割;采用各向同性的Isotropic Sobel算子對粘連字符進行閉合輪廓邊緣提取,Sobel算子又分為兩種檢測水平邊緣的以及檢測垂直邊緣的 (2.3)運用滴水算法進行字符二次分割,即沿著字符之間的邊緣輪廓曲線進行分割,以最左上角和最右下角的邊緣像素點作為定位點進行裁剪,并對裁剪的字符圖像進行矩形化拓展,背景采用黑色區(qū)域填充。
進一步,所述的步驟3)中對切割出來的目標字符圖像進行篩選,去除垂直邊框及鉚釘、分隔符干擾,具體步驟如下 (3.1)設(shè)置寬度的閾值為車牌總寬度的1/7×30%,最左側(cè)字符寬度若小于該閾值,則認為是左邊框,設(shè)為背景色; (3.2)通過對切割出的“目標字符圖片”的色彩特征進行判斷,去除殘留分隔符和鉚釘?shù)母蓴_若目標字符圖片上下1/3都是空白,只有中間1/3不是空白,則認為是分隔符干擾;若中間1/3是空白,上面1/3或者下面1/3不是空白,則認為是鉚釘干擾; (3.3)若目標字符圖片數(shù)量仍然超過7個,則最后一個認為是右邊框干擾予以去除。
作為優(yōu)選的再一種方案所述的步驟6)中結(jié)合實際車牌的特點設(shè)計BP神經(jīng)網(wǎng)絡(luò),具體步驟如下 (6.1)分別設(shè)計四個神經(jīng)網(wǎng)絡(luò)漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò); (6.2)對歸一化為32×16點陣大小的字符,以每個像素點為一個網(wǎng)格,則輸入層神經(jīng)元個數(shù)為512;輸出層神經(jīng)元個數(shù)即為待識別的類別數(shù)目M,輸出層每個神經(jīng)元代表一個目標種類;針對不同字符分成4個子網(wǎng)絡(luò),各網(wǎng)絡(luò)輸出神經(jīng)元個數(shù)分別為漢字網(wǎng)絡(luò)51個;字母網(wǎng)絡(luò)25個;字母數(shù)字網(wǎng)絡(luò)34個;數(shù)字網(wǎng)絡(luò)10個; (6.3)采用具有一個隱藏層的三層BP神經(jīng)網(wǎng)絡(luò),確定隱含層神經(jīng)元個數(shù)計算公式如下 其中,New_num代表隱層神經(jīng)元個數(shù),in_num代表輸入層神經(jīng)元個數(shù),out_num代表輸出層神經(jīng)元個數(shù)。
(6.4)在神經(jīng)網(wǎng)絡(luò)的隱含層和輸出層,激活函數(shù)選用Sigmoid函數(shù),形式如下
logistic函數(shù)屬于S型函數(shù),其中vj(n)是神經(jīng)元j的誘導(dǎo)局部域,且根據(jù)非線性,
的范圍在
之內(nèi),通過調(diào)整a,b,c的值來改變函數(shù)飽和區(qū),從而調(diào)整輸出; 在a,b,c均取1時,訓(xùn)練和識別都有較好的效果,此時激活函數(shù)表達式為
形同 (6.5)設(shè)置一個初始權(quán)值的范圍,初始權(quán)值是(-1,1)之間的隨機數(shù),選取權(quán)值的量級為
,其中s1為第一層神經(jīng)元的個數(shù); (6.6)采用變化的自適應(yīng)學(xué)習速率保證BP神經(jīng)網(wǎng)絡(luò)能夠穩(wěn)定并快速地收斂,采用變化的自適應(yīng)學(xué)習速率的調(diào)整公式是
其中,η(k)表示學(xué)習速率,SSE(k)表示訓(xùn)練的誤差。
作為優(yōu)選的再另一種方案所述的步驟7)中,構(gòu)造樣本庫進行BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,具體步驟如下 (7.1)BP網(wǎng)絡(luò)的訓(xùn)練過程為 (7.1.1)根據(jù)不同的訓(xùn)練樣本集合,確定初始化網(wǎng)絡(luò)參數(shù)最大迭代次數(shù)、學(xué)習率、動量因子、激活函數(shù)、訓(xùn)練精度、訓(xùn)練準則; (7.1.2)選擇并打開字符訓(xùn)練樣本庫,裝載樣本特征訓(xùn)練集; (7.1.3)確定網(wǎng)絡(luò)結(jié)構(gòu),輸入各層的網(wǎng)絡(luò)節(jié)點; (7.1.4)按改進的BP算法訓(xùn)練網(wǎng)絡(luò); (7.1.5)將訓(xùn)練成功的網(wǎng)絡(luò)權(quán)值以文件形式保存; (7.2)對已訓(xùn)練完成的網(wǎng)絡(luò)進行識別樣本的測試,若某一類字符的識別率較差,則選擇能代表大多數(shù)該類樣本共性的訓(xùn)練樣本; (7.3)構(gòu)建漢字樣本庫時,對結(jié)構(gòu)復(fù)雜、筆劃緊密的字符增加典型筆劃粘連、典型偏移字符點陣作為訓(xùn)練樣本。
進一步,所述的步驟(1.5)中,連通域的求解采用迷宮法,即任選車牌圖像中的某一個白色像素,向該像素相鄰的8個方向搜索,若為某方向上為白色像素,則標記,并進行計數(shù),直到該白色連通域內(nèi)任意一個白色像素都被標記一次,此時白色像素數(shù)量的計數(shù)結(jié)果就是所述連通域的面積。
本發(fā)明的有益效果主要表現(xiàn)在1、經(jīng)過預(yù)處理的車牌圖像較好地消除了噪聲的干擾;2、結(jié)合豎直投影和滴水算法的字符分割方法,魯棒性好,能夠較好地解決字符粘連、斷裂等問題,分割效果好;3、結(jié)合我國車牌的實際情況,針對漢字的特殊性,為質(zhì)量低下的漢字圖像建立多個訓(xùn)練樣本,提高了神經(jīng)網(wǎng)絡(luò)識別漢字的穩(wěn)健性和識別正確率;4、BP神經(jīng)網(wǎng)絡(luò)設(shè)計科學(xué)合理,整體流程實現(xiàn)了實時性與準確性的平衡。
圖1是彩色車牌圖像統(tǒng)一為黑底白字二值車牌圖。其中圖1(a)為原車牌圖像,圖1(b)為灰度化圖像,圖1(c)為二值化圖像,圖1(d)為傾斜校正圖像,圖1(e)為背景色統(tǒng)一后的圖像。
圖2是背景統(tǒng)一的車牌圖像取得最小車牌區(qū)域的過程。其中圖2(a)為背景色統(tǒng)一的車牌圖像,圖2(b)為去除水平邊框干擾,圖2(c)為去除細小噪聲,圖2(d)為反旋轉(zhuǎn)圖像,圖2(e)為最小車牌區(qū)域圖像,圖2(f)為數(shù)學(xué)形態(tài)學(xué)膨脹或腐蝕效果圖。
圖3是車牌字符切割及歸一化。
圖4是字符粗網(wǎng)格特征提取過程示意圖。其中圖4(a)是字符歸一化過程,圖4(b)是提取字符粗網(wǎng)格特征示意圖,圖4(c)是分為8×4網(wǎng)格之的白色像素特征數(shù)字統(tǒng)計圖。
圖5是相似字符“0”和“D”的粗網(wǎng)格特征比較。
圖6是BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計圖。
圖7是神經(jīng)網(wǎng)絡(luò)訓(xùn)練樣本及識別樣本的對比圖。
圖8是BP神經(jīng)網(wǎng)絡(luò)車牌字符識別系統(tǒng)的實現(xiàn)過程框圖。
具體實施例方式 下面結(jié)合附圖對本發(fā)明作進一步描述。
參照圖1~圖8,一種基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,該方法包括以下步驟 1)對采集的車牌圖像進行預(yù)處理,包括車牌圖像的灰度化與二值化、傾斜校正、車牌圖像背景色統(tǒng)一、車牌邊框及鉚釘?shù)娜コ⑾嚺圃肼?、反旋轉(zhuǎn)去除毛刺、取得最小車牌區(qū)域,并對最小車牌區(qū)域進行數(shù)學(xué)形態(tài)學(xué)的膨脹或腐蝕運算; 對采集的車牌圖像進行預(yù)處理,具體步驟如下 (1.1)定位截取的車牌圖片是彩色的,為了減少數(shù)據(jù)的處理量,簡化后續(xù)工作的難度,提高系統(tǒng)實時性,將彩色車牌圖像轉(zhuǎn)換為灰度圖像,再對其進行二值化處理。RGB圖像灰度化的計算方法為 Gray=0.229R+0.587G+0.114B(5) 設(shè)g(x,y)為原灰度圖像,b(x,y)為二值化后圖像,則二值化過程為 其中,通過大量實驗得出經(jīng)驗閾值t的計算方法 t=Gmax-(Gmax-Gmin)/3(7) Gmax和Gmin分別是最高、最低灰度值; (1.2)采用Radon變換對傾斜的車牌圖像進行調(diào)整和校正,曲線f(x,y)的Radon變換是一個平行于y軸的線積分 式中 由θ以及x可確定一條直線,確定出θ值之后,對圖像進行旋轉(zhuǎn)|90-θ|°處理,實現(xiàn)傾斜校正的目的; (1.3)車牌不同的色彩使得二值化處理后可能會呈現(xiàn)出白底黑字和黑底白字兩種情況,可以通過統(tǒng)計圖像車牌主區(qū)域中黑白象素的個數(shù)來進行圖像類別的確認。對車牌的二值圖像進行白像素數(shù)量統(tǒng)計,若白色像素所占比例超過50%,則認為此圖片的背景色為白色,對其進行反色變換;如果白色像素所占比例不足50%,則說明該車牌的二值圖像為黑底白字,保持不變,即把所有牌照都統(tǒng)一成了黑底白字的二值圖像; (1.4)采用基于黑白顏色跳變特征的方法消除對車牌圖像存在的上下邊框及鉚釘?shù)母蓴_,依次考慮以下規(guī)則 (1.4.1)黑白跳變小于某閾值的行即被視為背景; (1.4.2)連續(xù)白線長度大于某閾值,則該白線被認為是背景; (1.4.3)單行白色點總數(shù)大于某閾值,則該行被認為是背景; (1.4.4)在車牌高度的上面1/2處向上搜索第一條全為黑的線,則認為該黑線以上為背景;在下面1/2處向下搜索第一條全為黑的線,則認為該黑線以下為背景; (1.5)采用基于連通域的方法消除車牌圖像中的細小噪聲,對于任一白色像素,均求出它的最大連通域,再通過設(shè)置高度閾值、面積閾值等方式來去除不符合閾值的噪聲部分。連通域的求解御用迷宮法,即任選車牌圖像中的某一個白色像素,向該像素相鄰的8個方向搜索,若為某方向上為白色像素,則標記,并進行計數(shù),直到該白色連通域內(nèi)任意一個白色像素都被標記一次,此時白色像素數(shù)量的計數(shù)結(jié)果就是我們要的連通域的面積; (1.6)步驟(1.2)的旋轉(zhuǎn)操作及后續(xù)的處理,使得字符邊緣出現(xiàn)“毛刺”現(xiàn)象,且原本較正的字符圖像變歪了,因此需要對圖像進行反旋轉(zhuǎn)操作將校正字符并消除毛刺,旋轉(zhuǎn)角度為-|90-θ|°; (1.7)取得最小車牌區(qū)域的基本思路是依次從上向下,從下向上,從左向右,從右向左搜索第一條不為全黑的直線,則這4條直線包圍的范圍是我們需要的最小車牌區(qū)域; (1.8)運用數(shù)學(xué)形態(tài)學(xué)對車牌圖像進行膨脹或腐蝕操作,自定義結(jié)構(gòu)元素對象,實現(xiàn)平滑字符邊緣、填補細小漏洞、均衡車牌字符的粗細程度。
2)對經(jīng)過預(yù)處理的車牌圖像進行基于豎直投影及直方圖的方法對車牌字符進行粗分割,在車牌字符間隙區(qū)域可取得白色像素投影的局部最小值作為粗分割的依據(jù)。若粗分割得到的字符塊寬度超過車牌寬度的1/7,則運用滴水算法進行二次精確分割,通過尋找字符的閉合邊緣輪廓,并沿著縫隙進行裁剪,并以最左上角和最右下角的邊緣點為基準將字符圖像進行矩形化拓展; 所述的步驟2)中對經(jīng)過預(yù)處理的車牌圖像結(jié)合豎直投影及滴水算法的方法對車牌字符進行分割,并進行矩形化拓展,具體步驟如下 (2.1)對經(jīng)過預(yù)處理的車牌圖像進行豎直投影,實質(zhì)就是縱向掃描每一列白色像素的個數(shù),在兩個字符之間的白色像素相對于有效字符區(qū)域而言是比較少的,因此字符間隙投影附近能取得局部最小值,并將其作為字符的分割點進行字符粗分割; (2.2)設(shè)置單個車牌字符的寬度閾值為車牌總寬度的1/7,若粗分割結(jié)果中有單個字符寬度大于此閾值,則認為存在字符粘連,需要進行二次精確分割。采用各向同性的Isotropic Sobel算子對粘連字符進行閉合輪廓邊緣提取,Sobel算子又分為兩種 檢測水平邊緣的以及檢測垂直邊緣的 (2.3)運用滴水算法進行字符二次分割,即沿著字符之間的邊緣輪廓曲線進行分割。沿著邊緣進行裁剪后的字符圖像可能是不規(guī)則的,我們就以最左上角和最右下角的邊緣像素點作為定位點進行裁剪,并對裁剪的字符圖像進行矩形化拓展,背景采用黑色區(qū)域填充。
3)對分割出來的目標字符圖像進行篩選,對第一個目標字符圖像設(shè)置字符寬度閾值(車牌總寬度的1/7×30%),若小于該閾值,則認為是左側(cè)邊框予以去除;若切割出的“目標字符圖片”上下1/3都是空白,只有中間1/3不是空白,則認為是分隔符干擾;若中間1/3是空白,上面1/3或者下面1/3不是空白,則認為是鉚釘干擾;若最終目標字符圖像超過7個,則最后一個認為是右邊框干擾予以去除; 所述的步驟3)中對切割出來的目標字符圖像進行篩選,去除垂直邊框及鉚釘、分隔符干擾,具體步驟如下 (3.1)左邊框一般情況下與車牌的首字符間存在一定的距離,由于我國車牌的第一個字符通常是漢字,漢字的寬度相對較大,而左邊框的寬度比較小。設(shè)置寬度的閾值為車牌總寬度的1/7×30%,最左側(cè)字符寬度若小于該閾值,則認為是左邊框,設(shè)為背景色; (3.2)通過對切割出的“目標字符圖片”的色彩特征進行判斷,去除殘留分隔符和鉚釘?shù)母蓴_若目標字符圖片上下1/3都是空白,只有中間1/3不是空白,則認為是分隔符干擾;若中間1/3是空白,上面1/3或者下面1/3不是空白,則認為是鉚釘干擾; (3.3)經(jīng)過上述步驟之后,若目標字符圖片數(shù)量仍然超過7個,則重點檢查最后一位是否是右邊框殘留。
4)根據(jù)水平和垂直兩個方向字符像素的分布進行字符圖像的歸一化。計算文字的質(zhì)心GI和GJ 其中,c(i,j)為1表示該像素為白像素(即字符像素),為0時表示該像素點為背景。下面計算水平和垂直方向的散度σI和σJ 按比例將字符線性放大或縮小成規(guī)定散度的點陣,將字符圖像統(tǒng)一為32×16像素大小,字符區(qū)域背景為黑色,字符前景為白色; 5)歸一化后的二值字符圖像實質(zhì)上已經(jīng)成了規(guī)格一致,且僅有數(shù)值“0”和“1”的矩陣。本發(fā)明提出改進型粗網(wǎng)格特征,即將歸一化后的字符點陣的每個像素點作為一個網(wǎng)格,這樣每個字符對應(yīng)的32×16像素的矩陣圖一共提供了512個原始特征值; 6)結(jié)合車牌的實際特點,設(shè)計BP神經(jīng)網(wǎng)絡(luò),包含漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò)來實現(xiàn)對不同類型字符的分類功能,確定輸入輸出神經(jīng)元個數(shù)、隱含層個數(shù)、隱含層中神經(jīng)元數(shù)目、激活函數(shù)、學(xué)習速率等; 所述的步驟6)中結(jié)合實際車牌的特點設(shè)計BP神經(jīng)網(wǎng)絡(luò),具體步驟如下 (6.1)標準車牌共有7位字符,其中第一個是省份漢字,第二個是字母,第三、四個字符可能是字母或數(shù)字,第五到最后一位都是數(shù)字,因此在車牌字符識別系統(tǒng)中,分別設(shè)計四個神經(jīng)網(wǎng)絡(luò)漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò)實現(xiàn)對字符的分類。
對于牌照字符的第二、三位,如果初級分類網(wǎng)絡(luò)判斷為“8”和“B”、“Q”、“0”和“D”或者“4”和“A”、“C”和“G”這樣的字符,由于它們的粗網(wǎng)格特征比較相似,在初級網(wǎng)絡(luò)中可能做出了錯誤的分類,所以將此類字符輸入到下一級神經(jīng)網(wǎng)絡(luò)細分類器中,對其再進行一次細分類; (6.2)對歸一化為32×16點陣大小的字符,以每個像素點為一個網(wǎng)格,則輸入層神經(jīng)元個數(shù)為512;輸出層神經(jīng)元個數(shù)即為待識別的類別數(shù)目M,輸出層每個神經(jīng)元代表一個目標種類。在本發(fā)明中,我們針對不同字符分成4個子網(wǎng)絡(luò),各網(wǎng)絡(luò)輸出神經(jīng)元個數(shù)分別為漢字網(wǎng)絡(luò)51個;字母網(wǎng)絡(luò)25個;字母數(shù)字網(wǎng)絡(luò)34個;數(shù)字網(wǎng)絡(luò)10個; (6.3)本發(fā)明采用具有一個隱藏層的三層BP神經(jīng)網(wǎng)絡(luò),根據(jù)以往經(jīng)驗及大量實驗的結(jié)果,確定隱含層神經(jīng)元個數(shù)計算公式如下 其中,New_num代表隱層神經(jīng)元個數(shù),in_num代表輸入層神經(jīng)元個數(shù),out_num代表輸出層神經(jīng)元個數(shù)。
(6.4)在神經(jīng)網(wǎng)絡(luò)的隱含層和輸出層,激活函數(shù)一般選用Sigmoid函數(shù),形式如同
的logistic函數(shù),屬于S型函數(shù)。其中vj(n)是神經(jīng)元j的誘導(dǎo)局部域,且根據(jù)非線性,
的范圍在
之內(nèi),通過調(diào)整a,b,c的值來改變函數(shù)飽和區(qū),從而調(diào)整輸出。
經(jīng)過實驗對比,在a,b,c均取1時,訓(xùn)練和識別都有較好的效果。此時激活函數(shù)表達式為
形同 (6.5)為了使神經(jīng)網(wǎng)絡(luò)能夠快速和均衡地學(xué)習,設(shè)置一個初始權(quán)值的范圍,通常是(-1,1)之間的隨機數(shù),根據(jù)前人的經(jīng)驗,選取權(quán)值的量級為
,其中s1為第一層神經(jīng)元的個數(shù); (6.6)采用變化的自適應(yīng)學(xué)習速率保證BP神經(jīng)網(wǎng)絡(luò)能夠穩(wěn)定并快速地收斂,采用變化的自適應(yīng)學(xué)習速率的調(diào)整公式是
其中,η(k)表示學(xué)習速率,SSE(k)表示訓(xùn)練的誤差。
7)構(gòu)造樣本庫進行訓(xùn)練,對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,并根據(jù)實際識別效果對訓(xùn)練樣本進行調(diào)整,直到神經(jīng)網(wǎng)絡(luò)的識別率達到應(yīng)用要求,實現(xiàn)車牌字符的準確識別;所述的步驟7)中,構(gòu)造樣本庫進行BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,具體步驟如下 (7.1)BP網(wǎng)絡(luò)的訓(xùn)練過程為 (7.1.1)根據(jù)不同的訓(xùn)練樣本集合,確定初始化網(wǎng)絡(luò)參數(shù)最大迭代次數(shù)、學(xué)習率、動量因子、激活函數(shù)、訓(xùn)練精度、訓(xùn)練準則; (7.1.2)選擇并打開字符訓(xùn)練樣本庫,裝載樣本特征訓(xùn)練集; (7.1.3)確定網(wǎng)絡(luò)結(jié)構(gòu),輸入各層的網(wǎng)絡(luò)節(jié)點; (7.1.4)按改進的BP算法訓(xùn)練網(wǎng)絡(luò); (7.1.5)將訓(xùn)練成功的網(wǎng)絡(luò)權(quán)值以文件形式保存; (7.2)對已訓(xùn)練完成的網(wǎng)絡(luò)進行識別樣本的測試,若某一類字符的識別率較差,則應(yīng)該選擇能代表大多數(shù)該類樣本共性的訓(xùn)練樣本,保證神經(jīng)網(wǎng)絡(luò)對該類字符進行了正確的學(xué)習; (7.3)構(gòu)建漢字樣本庫時,本發(fā)明為筆劃較多的漢字針對漢字筆劃粘連、字符偏移現(xiàn)象,為結(jié)構(gòu)復(fù)雜、筆劃緊密的字符適當增加典型筆劃粘連、典型偏移字符點陣作為訓(xùn)練樣本,提高漢字網(wǎng)絡(luò)的穩(wěn)健性能和識別率。
在實際應(yīng)用中,直接從視頻圖像中截取出來的車牌圖像都是彩色的。盡管彩色圖像可以提供更多的信息,如圖1(a)所示,黃底黑字的車牌顏色代表這是一輛大型車輛。但是同時,彩色圖像對后續(xù)的處理也同樣帶來了更多的困難和更高的要求。另一方面,由于視頻往往受到拍攝環(huán)境、角度等因素的影響,存在各種各樣的干擾。為了對車牌字符進行有效的識別,有必要對車牌圖像進行一定的處理。
對車牌圖像的處理首先是灰度化和二值化?;叶然男Ч鐖D1(b)所示;對于灰度化的車牌圖象,對其進行二值化處理,使車牌圖像變成僅有“0”和“1”的矩陣,因此二值化圖像在圖像處理過程中較灰度圖像更具有優(yōu)勢。二值化的關(guān)鍵在于選擇合適的閾值,大于閾值的灰度像素置為1,否則置為0,二值化的效果如圖1(c)所示。
車牌都是矩形的,外圍鑲有金屬邊框,但是在視頻中往往因為拍攝角度等原因使得車牌圖像有一定的傾斜,如圖1(c)所示。而且車牌圖像呈現(xiàn)的往往不是矩形,甚至只是一個四邊形,因此需要對車牌圖像進行傾斜校正。運用Radon變換,通過確定取得局部最大值時的角度θ值,對圖像進行旋轉(zhuǎn)|90-θ|°處理,實現(xiàn)傾斜校正的目的,如圖1(d)所示。
在此前的二值化過程中,由于我國車牌顏色搭配多樣,二值化出現(xiàn)了黑底白字與白底黑字兩種結(jié)果,因此需要對二值化結(jié)果進行背景色的統(tǒng)一,統(tǒng)一為黑色背景,白色字符。介于車牌區(qū)域內(nèi)字符所占的面積應(yīng)小于背景所占面積,因此只需判斷二值化圖像中黑白像素所占比例即可分辨字符及背景,通過反色等操作,實現(xiàn)背景色的統(tǒng)一,如圖1(e)所示。
對于經(jīng)過上述處理的車牌圖像來說,存在的主要干擾來自于邊框、鉚釘及其他細小噪聲。分析二值化車牌圖像,最顯著的特征就是字符區(qū)域內(nèi)黑白顏色跳變信息,而水平邊框則不存在這樣的特點。同時在水平邊框區(qū)域存在大量連續(xù)的白色像素,且總的白色像素也往往大于字符區(qū)域,因此可以根據(jù)以上特征將水平邊框去除。邊框去除的效果如圖2(b)所示,在某些情況下,鉚釘能夠隨著水平邊框一同被去除。
由于前期處理及圖像本身質(zhì)量原因,車牌圖像存在著一些細小的噪聲,它們共同的特點就是小面積小,或者高度小。對于這些噪聲,運用基于連通域的方法進行消除,其基本方法如下對于任何的白色像素,均求出它的最大連通域,再通過設(shè)置高度閾值、面積閾值等方式來去除。圖2(c)為去除細小噪聲的效果圖,最明顯的就是車牌間隔符被除去,某些情況下殘留的垂直邊框也會被去除。
此時車牌圖像存在的干擾已相對較少了,但是先前的旋轉(zhuǎn)操作雖然使車牌整體校正了,但圖像出現(xiàn)“毛刺”現(xiàn)象,同時車牌字符本身卻變歪了,因此對其進行相同角度的反旋轉(zhuǎn),如圖2(d)所示,字符校正后更有利于后續(xù)的分割操作。圖2(e)是取得最小車牌區(qū)域的示意圖,關(guān)鍵在于上下左右四個方向進行掃描,直到掃描到第一條不全黑的線。圖2(f)是進行數(shù)學(xué)形態(tài)學(xué)的膨脹或腐蝕的效果圖,主要目的在于使各個字符粗細均勻,便于后續(xù)的特征提取及識別工作。
圖3是車牌字符切割及字符圖像歸一化的效果圖。在切割過程中,本發(fā)明結(jié)合豎直投影和滴水算法來進行。在車牌質(zhì)量較好的情況下,采用豎直投影的方法即可取得較好的字符分割效果。但在實際應(yīng)用中,由于存在殘留邊框及鉚釘干擾、字符粘連等,豎直投影切割往往不能滿足要求,需要運用滴水算法進行二次精細分割。滴水算法主要針對部分粗切割出的字符寬度大于車牌寬度的1/7,此時很有可能出現(xiàn)了字符粘連等情況。通過檢測字符圖像的封閉邊緣,沿著字符邊緣進行更精確的分割。
本發(fā)明采用基于質(zhì)心的位置歸一化方法,將字符圖像歸一化為32×16像素的點陣,以每一個像素點最為一個網(wǎng)格,提取字符的原始特征,如圖4(b)所示,并分為8×4網(wǎng)格后,得到白色像素特征統(tǒng)計圖,如圖4(c)所示。圖5中分別是數(shù)字“0”和字母“D”的字符點陣。仔細觀察,數(shù)字“0”和字母“D”的細微區(qū)別主要在于左上角和左下角,因此提取其相應(yīng)點陣的左上角和左下角部分的網(wǎng)格特征,并運用該特征對兩者進行細分類。
車牌以及車牌字符的實際特點是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計的基礎(chǔ)。針對應(yīng)用于車牌字符識別的BP網(wǎng)絡(luò)分類器,必須結(jié)合具體情況設(shè)計,并在試驗中不斷改進,才能訓(xùn)練出泛化性能好的模式分類器。我國的標準車牌共有7位字符,其中第一個是省份漢字,第二個是字母,第三、四個字符可能是字母或數(shù)字,第五到第七位都是數(shù)字,因此在車牌字符識別系統(tǒng)中,分別設(shè)計四個神經(jīng)網(wǎng)絡(luò)漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò)實現(xiàn)對字符的分類。同時,由于車牌上的字符都是標準的印刷體,部分字符存在著相似性,如“8”和“B”、“Q”、“0”和“D”或者“4”和“A”、“C”和“G”這樣的字符。因此對于此類相似度較高的字符,需要特別設(shè)計數(shù)字、字母的二級細分類器進行再次分類,二級BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
在按照實際情況設(shè)置了神經(jīng)網(wǎng)絡(luò)的輸入輸出神經(jīng)元個數(shù)、隱含層個數(shù)、隱含層中神經(jīng)元數(shù)目、激活函數(shù)、學(xué)習速率等參數(shù)后,需要建立樣本庫,對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練。合理的訓(xùn)練樣本選取,對網(wǎng)絡(luò)的分類和泛化能力有很大的影響。由于實際得到車牌字符的質(zhì)量較低,如果為了追求網(wǎng)絡(luò)識別某個較不規(guī)范字符而將之作為訓(xùn)練樣本,則會導(dǎo)致網(wǎng)絡(luò)學(xué)會了該不規(guī)范字符,但對該類較規(guī)范字符的識別率卻下降了。如圖7所示的例子里,圖7(a)為字母“A”標準訓(xùn)練樣本,而實際采集得到的車牌字母“A”大多存在一定程度的傾斜,如圖7(b)所示,因此在用圖7(a)作為訓(xùn)練樣本時,字母“A”的識別效果不佳。由此,應(yīng)該從車牌字符識別樣本中選擇一個大致規(guī)范的樣本,如圖7(b)來代替原來的訓(xùn)練樣本。
另一方面,由于我國漢字的特殊性,有些省份漢字如浙、湘、鄂、贛等,字體復(fù)雜,筆劃較多,粘連的現(xiàn)象嚴重,給網(wǎng)絡(luò)訓(xùn)練和識別帶來困難。本發(fā)明為筆劃較多的漢字同時建立2~3個訓(xùn)練樣本標準樣本、典型粘連樣本和典型偏移樣本,這樣可以極大提高筆劃粘連和偏移的字符的識別正確率。因此BP網(wǎng)絡(luò)訓(xùn)練樣本的收集必須是全面的,且每一個訓(xùn)練樣本都應(yīng)該能如實反映每一類待識別模式的特征。
建立合理的訓(xùn)練樣本庫的目的在于使神經(jīng)網(wǎng)絡(luò)能夠?qū)ψ址M行準確高效的識別。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程基本步驟為首先定義一個BP網(wǎng)絡(luò)結(jié)構(gòu)->初始化一個隨機數(shù)種子->創(chuàng)建BP網(wǎng)絡(luò)->將輸入模式傳遞給創(chuàng)建的BP網(wǎng)絡(luò)->將標準訓(xùn)練樣本保存到文件中以矩陣形式存儲->定義目標向量,教師信號中1表示目標種類,0表示非目標種類->設(shè)置訓(xùn)練參數(shù),串行方式進行訓(xùn)練->訓(xùn)練失敗,退出;成功,則保存權(quán)值->釋放內(nèi)存。
經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)可以直接用于字符識別,識別過程基本步驟為定義BP網(wǎng)絡(luò)結(jié)構(gòu)、初始化隨機數(shù)種子、創(chuàng)建BP網(wǎng)絡(luò)結(jié)構(gòu)(與訓(xùn)練過程相同)->將待識別字符的輸入模式傳遞給創(chuàng)建的BP網(wǎng)絡(luò),將所有待識別字符樣本以矩陣形式保存在文件夾中->將訓(xùn)練完成后保存的權(quán)值矩陣讀入相應(yīng)的BP網(wǎng)絡(luò)結(jié)構(gòu)的權(quán)值矩陣中->調(diào)用前向函數(shù)進行前向計算->判斷輸入的待識別樣本的類別,并輸出結(jié)果。值得注意的是,當經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)對于某一類字符的識別率特別低時,應(yīng)將訓(xùn)練樣本與待識別樣本進行仔細比較,及時調(diào)整訓(xùn)練樣本,重新對網(wǎng)絡(luò)進行訓(xùn)練。
本發(fā)明通過合理地對車牌圖像進行一系列處理,取得字符的粗網(wǎng)格特征;在設(shè)計BP神經(jīng)網(wǎng)絡(luò)時,結(jié)合實際對易混淆的相似字符設(shè)計了二級分類器;構(gòu)建樣本庫時,在標準樣本的基礎(chǔ)上,為結(jié)構(gòu)復(fù)雜、筆劃緊密的漢字字符適當增加典型筆劃粘連樣本和典型偏移樣本。實驗結(jié)果證明,本發(fā)明可以有效提高車牌字符識別系統(tǒng)的抗干擾能力、容錯能力和識別率。
權(quán)利要求
1、一種基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于該方法包括以下步驟
1)對采集的車牌圖像進行預(yù)處理包括對車牌圖像的灰度化與二值化、傾斜校正、車牌圖像背景色統(tǒng)一、車牌邊框及鉚釘?shù)娜コ?、消除車牌噪聲、反旋轉(zhuǎn)去除毛刺,取得最小車牌區(qū)域,并對最小車牌區(qū)域進行數(shù)學(xué)形態(tài)學(xué)的膨脹或腐蝕運算;
2)對經(jīng)過預(yù)處理的車牌圖像進行基于豎直投影及直方圖的方法對車牌字符進行粗分割,在車牌字符間隙區(qū)域可取得白色像素投影的局部最小值作為粗分割的依據(jù),若粗分割得到的字符塊寬度超過寬度閾值,運用滴水算法進行二次精確分割,通過尋找字符的閉合邊緣輪廓,并沿著縫隙進行裁剪,并以最左上角和最右下角的邊緣點為基準將字符圖像進行矩形化拓展;
3)對分割出來的目標字符圖像進行篩選,去除垂直邊框、鉚釘、分隔符非字符圖像;
4)根據(jù)水平和垂直兩個方向字符像素的分布進行字符圖像的歸一化,計算文字的質(zhì)心GI和GJ
其中,c(i,j)為1表示該像素為白像素(即字符像素),為0時表示該像素點為背景,下面計算水平和垂直方向的散度σI和σJ
按比例將字符線性放大或縮小成規(guī)定散度的點陣,將字符圖像統(tǒng)一為32×16像素大小,字符區(qū)域背景為黑色,字符前景為白色;
5)將歸一化后的字符點陣的每個像素點作為一個網(wǎng)格;
6)設(shè)計BP神經(jīng)網(wǎng)絡(luò)進行字符識別BP神經(jīng)網(wǎng)絡(luò)包含漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò),對不同類型字符進行分類,確定輸入輸出神經(jīng)元個數(shù)、隱含層個數(shù)、隱含層中神經(jīng)元數(shù)目、激活函數(shù)、學(xué)習速率;
7)構(gòu)造樣本庫進行訓(xùn)練,對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,并根據(jù)實際識別效果對訓(xùn)練樣本進行調(diào)整,直到神經(jīng)網(wǎng)絡(luò)的識別率達到應(yīng)用要求,實現(xiàn)車牌字符的準確識別。
2、如權(quán)利要求1所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟1)中,對采集的車牌圖像進行預(yù)處理,具體步驟如下
(1.1)定位截取的色車牌圖片,將彩色車牌圖像轉(zhuǎn)換為灰度圖像,再對其進行二值化處理,RGB圖像灰度化的計算方法為
Gray=0.229R+0.587G+0.114B(5)
設(shè)g(x,y)為原灰度圖像,b(x,y)為二值化后圖像,則二值化過程為
其中,經(jīng)驗閾值t的計算方法
t=Gmax-(Gmax-Gmin)/3(7)
Gmax和Gmin分別是最高、最低灰度值;
(1.2)采用Radon變換對傾斜的車牌圖像進行調(diào)整和校正,曲線f(x,y)的Radon變換是一個平行于y軸的線積分
式中
由θ以及x可定一條直線,確定出θ值之后,對圖像進行旋轉(zhuǎn)|90-θ|°處理;
(1.3)通過統(tǒng)計圖像車牌主區(qū)域中黑白象素的個數(shù)來進行圖像類別的確認對車牌的二值圖像進行白像素數(shù)量統(tǒng)計,若白色像素所占比例超過50%,則認為此圖片的背景色為白色,對其進行反色變換;如果白色像素所占比例不足50%,則說明該車牌的二值圖像為黑底白字,保持不變;
(1.4)采用基于黑白顏色跳變特征的方法消除對車牌圖像存在的上下邊框及鉚釘?shù)母蓴_,依次考慮以下規(guī)則
(1.4.1)黑白跳變小于某閾值的行即被視為背景;
(1.4.2)連續(xù)白線長度大于某閾值,則該白線被認為是背景;
(1.4.3)單行白色點總數(shù)大于某閾值,則該行被認為是背景;
(1.4.4)在車牌高度的上面1/2處向上搜索第一條全為黑的線,則認為該黑線以上為背景;在下面1/2處向下搜索第一條全為黑的線,則認為該黑線以下為背景;
(1.5)采用基于連通域的方法消除車牌圖像中的細小噪聲對于任一白色像素,均求出它的最大連通域,再通過設(shè)置高度閾值、面積閾值方式來去除不符合閾值的噪聲部分;
(1.6)如果步驟(1.2)的旋轉(zhuǎn)操作及后續(xù)的處理使得字符歪曲且邊緣出現(xiàn)“毛刺”現(xiàn)象,對圖像進行反旋轉(zhuǎn)操作將校正字符并消除毛刺,旋轉(zhuǎn)角度為-|90-θ|°;
(1.7)取得最小車牌區(qū)域的方法是依次從上向下,從下向上,從左向右,從右向左搜索第一條不為全黑的直線,則這4條直線包圍的范圍是最小車牌區(qū)域;
(1.8)運用數(shù)學(xué)形態(tài)學(xué)對車牌圖像進行膨脹或腐蝕操作,自定義結(jié)構(gòu)元素對象,實現(xiàn)平滑字符邊緣、填補細小漏洞、均衡車牌字符的粗細程度。
3、如權(quán)利要求1或2所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟2)中對經(jīng)過預(yù)處理的車牌圖像結(jié)合豎直投影及滴水算法的方法對車牌字符進行分割,并進行矩形化拓展,具體步驟如下
(2.1)對經(jīng)過預(yù)處理的車牌圖像進行豎直投影,縱向掃描每一列白色像素的個數(shù),在兩個字符之間的字符間隙投影取得局部最小值,并將其作為字符的分割點進行字符粗分割;
(2.2)設(shè)置單個車牌字符的寬度閾值為車牌總寬度的1/7,若粗分割結(jié)果中有單個字符寬度大于此閾值,則認為存在字符粘連,需要進行二次精確分割;采用各向同性的IsotropicSobel算子對粘連字符進行閉合輪廓邊緣提取,Sobel算子又分為兩種
檢測水平邊緣的以及檢測垂直邊緣的
(2.3)運用滴水算法進行字符二次分割,即沿著字符之間的邊緣輪廓曲線進行分割,以最左上角和最右下角的邊緣像素點作為定位點進行裁剪,并對裁剪的字符圖像進行矩形化拓展,背景采用黑色區(qū)域填充。
4、如權(quán)利要求3所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟3)中對切割出來的目標字符圖像進行篩選,去除垂直邊框及鉚釘、分隔符干擾,具體步驟如下
(3.1)設(shè)置寬度的閾值為車牌總寬度的1/7×30%,最左側(cè)字符寬度若小于該閾值,則認為是左邊框,設(shè)為背景色;
(3.2)通過對切割出的“目標字符圖片”的色彩特征進行判斷,去除殘留分隔符和鉚釘?shù)母蓴_若目標字符圖片上下1/3都是空白,只有中間1/3不是空白,則認為是分隔符干擾;若中間1/3是空白,上面1/3或者下面1/3不是空白,則認為是鉚釘干擾;
(3.3)若目標字符圖片數(shù)量仍然超過7個,則最后一個認為是右邊框干擾予以去除。
5、如權(quán)利要求4所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟6)中結(jié)合實際車牌的特點設(shè)計BP神經(jīng)網(wǎng)絡(luò),具體步驟如下
(6.1)分別設(shè)計四個神經(jīng)網(wǎng)絡(luò)漢字網(wǎng)絡(luò)、字母網(wǎng)絡(luò)、字母數(shù)字網(wǎng)絡(luò)和數(shù)字網(wǎng)絡(luò);
(6.2)對歸一化為32×16點陣大小的字符,以每個像素點為一個網(wǎng)格,則輸入層神經(jīng)元個數(shù)為512;輸出層神經(jīng)元個數(shù)即為待識別的類別數(shù)目M,輸出層每個神經(jīng)元代表一個目標種類;針對不同字符分成4個子網(wǎng)絡(luò),各網(wǎng)絡(luò)輸出神經(jīng)元個數(shù)分別為漢字網(wǎng)絡(luò)51個;字母網(wǎng)絡(luò)25個;字母數(shù)字網(wǎng)絡(luò)34個;數(shù)字網(wǎng)絡(luò)10個;
(6.3)采用具有一個隱藏層的三層BP神經(jīng)網(wǎng)絡(luò),確定隱含層神經(jīng)元個數(shù)計算公式如下
其中,Mew_num代表隱層神經(jīng)元個數(shù),in_num代表輸入層神經(jīng)元個數(shù),out_num代表輸出層神經(jīng)元個數(shù)。
(6.4)在神經(jīng)網(wǎng)絡(luò)的隱含層和輸出層,激活函數(shù)選用Sigmoid函數(shù),形式如下
logistic函數(shù)屬于S型函數(shù),其中vj(n)是神經(jīng)元j的誘導(dǎo)局部域,且根據(jù)非線性,
的范圍在
之內(nèi),通過調(diào)整a,b,c的值來改變函數(shù)飽和區(qū),從而調(diào)整輸出;
在a,b,c均取1時,訓(xùn)練和識別都有較好的效果,此時激活函數(shù)表達式為
形同
(6.5)設(shè)置一個初始權(quán)值的范圍,初始權(quán)值是(-1,1)之間的隨機數(shù),選取權(quán)值的量級為
其中s1為第一層神經(jīng)元的個數(shù);
(6.6)采用變化的自適應(yīng)學(xué)習速率保證BP神經(jīng)網(wǎng)絡(luò)能夠穩(wěn)定并快速地收斂,采用變化的自適應(yīng)學(xué)習速率的調(diào)整公式是
其中,η(k)表示學(xué)習速率,SSE(k)表示訓(xùn)練的誤差。
6、如權(quán)利要求5所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟7)中,構(gòu)造樣本庫進行BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,具體步驟如下
(7.1)BP網(wǎng)絡(luò)的訓(xùn)練過程為
(7.1.1)根據(jù)不同的訓(xùn)練樣本集合,確定初始化網(wǎng)絡(luò)參數(shù)最大迭代次數(shù)、學(xué)習率、動量因子、激活函數(shù)、訓(xùn)練精度、訓(xùn)練準則;
(7.1.2)選擇并打開字符訓(xùn)練樣本庫,裝載樣本特征訓(xùn)練集;
(7.1.3)確定網(wǎng)絡(luò)結(jié)構(gòu),輸入各層的網(wǎng)絡(luò)節(jié)點;
(7.1.4)按改進的BP算法訓(xùn)練網(wǎng)絡(luò);
(7.1.5)將訓(xùn)練成功的網(wǎng)絡(luò)權(quán)值以文件形式保存;
(7.2)對已訓(xùn)練完成的網(wǎng)絡(luò)進行識別樣本的測試,若某一類字符的識別率較差,則選擇能代表大多數(shù)該類樣本共性的訓(xùn)練樣本;
(7.3)構(gòu)建漢字樣本庫時,對結(jié)構(gòu)復(fù)雜、筆劃緊密的字符增加典型筆劃粘連、典型偏移字符點陣作為訓(xùn)練樣本。
7、如權(quán)利要求2所述的基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,其特征在于所述的步驟(1.5)中,連通域的求解采用迷宮法,即任選車牌圖像中的某一個白色像素,向該像素相鄰的8個方向搜索,若為某方向上為白色像素,則標記,并進行計數(shù),直到該白色連通域內(nèi)任意一個白色像素都被標記一次,此時白色像素數(shù)量的計數(shù)結(jié)果就是所述連通域的面積。
全文摘要
一種基于粗網(wǎng)格特征提取和BP神經(jīng)網(wǎng)絡(luò)的車牌字符識別方法,包括以下步驟1)、對車牌圖像進行預(yù)處理,消除各種干擾,得到最小車牌區(qū)域;2)、結(jié)合豎直投影和滴水算法進行車牌字符分割;3)、對分割結(jié)果進行篩選,去除垂直邊框、分隔符、鉚釘?shù)鹊母蓴_;4)、根據(jù)質(zhì)心位置進行字符歸一化;5)、將歸一化后的字符點陣的每個像素點作為一個網(wǎng)格,提取字符的原始特征;6)、結(jié)合車牌實際,設(shè)計具有二級分類器的BP神經(jīng)網(wǎng)絡(luò);7)、合理構(gòu)造訓(xùn)練樣本庫,對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,按照識別效果調(diào)整訓(xùn)練樣本,實現(xiàn)網(wǎng)絡(luò)準確識別。本發(fā)明有效消除噪聲干擾、字符分割快速準確、對漢字的識別穩(wěn)定高效、整個識別過程實現(xiàn)了實時性與準確性的平衡。
文檔編號G06N3/00GK101408933SQ200810062050
公開日2009年4月15日 申請日期2008年5月21日 優(yōu)先權(quán)日2008年5月21日
發(fā)明者朱信忠, 趙建民, 徐慧英, 胡承懿 申請人:浙江師范大學(xué)