張 晨
(廈門軟件職業(yè)技術(shù)學(xué)院,福建 廈門361024)
近年來,隨著汽車工業(yè)的發(fā)展和汽車消費(fèi)需求的激增,全球汽車保有量持續(xù)上升,已遠(yuǎn)超十億。技術(shù)的發(fā)展使公路變得越來越自動化、智能化,車牌識別系統(tǒng)成為智慧城市的重要組成部分,伴隨車牌識別技術(shù)在智能交通系統(tǒng)、高速公路收費(fèi)、交通分析與執(zhí)法、自動車輛停車場等領(lǐng)域的深入應(yīng)用,車牌的識別需求也越來越大。中國的汽車消費(fèi)市場潛力巨大,保有量增速連續(xù)多年居世界第一,國內(nèi)車牌識別需求越來越大。國外的車牌識別技術(shù)起步較早,已有較成熟的系統(tǒng),但國外車牌在尺寸、顏色、字符等特征上與國內(nèi)有所不同,直接將國外的技術(shù)和系統(tǒng)應(yīng)用到國內(nèi)會存在適應(yīng)性的問題。
車牌識別主要依靠計(jì)算機(jī)視覺技術(shù),將汽車牌照從場景中提取出來經(jīng)過一系列處理最后完成字符的識別。車牌識別系統(tǒng)通常由圖像采集、圖像預(yù)處理、車牌定位、字符分割和字符識別五部分組成。字符識別是整個(gè)流程的核心環(huán)節(jié),常?;贠CR 技術(shù)完成,是模式識別的一種,目前比較常見的識別方法是模板匹配法、特征匹配法和人工神經(jīng)網(wǎng)絡(luò)。雖然,目前字符識別的研究和現(xiàn)有的系統(tǒng)所采用的技術(shù)手段不盡相同,但字符識別一直是車牌識別技術(shù)研究的核心內(nèi)容。本文采用的最大似然分類的方法,利用其具有快速、簡單的特點(diǎn)完成對車牌字符識別進(jìn)行研究,作為車牌字符識別方法的一個(gè)參考。
各個(gè)國家和地區(qū)的車牌字符寬度、高度、距離等一般是按照標(biāo)準(zhǔn)確定的,不同地域范圍的字符形態(tài)特征不盡相同。我國普通汽車車牌由七個(gè)字符構(gòu)成,第一位字符為漢字,代表各省、直轄市、自治區(qū)的簡稱;第二位字符為A到Z的大寫英文字母,其中字母O 和I 不使用;第三至第七位字符為大寫英文字母或阿拉伯?dāng)?shù)字的組合。完成車牌圖像采集之后需要經(jīng)過二值化、邊緣檢測和形態(tài)學(xué)處理等一系列圖像預(yù)處理過程,以確保字符能夠準(zhǔn)確無誤的識別出來。
采集技術(shù)決定了車牌圖像的質(zhì)量,在良好的照明條件和合理的拍攝距離及角度下,采集到的圖像應(yīng)具有良好的空間分辨率、合理的銳度和較高的對比度。輸入圖像的質(zhì)量越高,車牌識別的精度期望就越高。當(dāng)車輛進(jìn)入識別區(qū)域,由成像系統(tǒng)通過攝像頭拍攝完成車牌原始圖像的采集工作,再通過圖像采集卡將圖像進(jìn)行模擬圖像到數(shù)字圖像的轉(zhuǎn)換并輸入存儲到計(jì)算機(jī)中。
各種干擾因素會影響車牌圖像采集造成圖像失真,如感光元件靈敏度不一致造成的光電轉(zhuǎn)換異常,模數(shù)轉(zhuǎn)換和傳輸過程產(chǎn)生的噪聲,以及其他環(huán)境干擾因素等等。利用圖像處理技術(shù)可以去除噪聲,提高圖像的細(xì)節(jié)和輪廓邊緣,還原圖像特征。圖像預(yù)處理主要包括三方面的內(nèi)容:高斯濾波降低圖像噪聲使圖像平滑;圖像灰度化增強(qiáng)圖像的效果;圖像二值化將灰度圖像轉(zhuǎn)化為二值圖像。
利用Sobel 算子得到一階水平方向?qū)?shù),推算出車牌的相對位置,再通過otsu 進(jìn)行閾值分割,使用閉操作,使車牌區(qū)域連接成一個(gè)矩形,之后把全圖的輪廓都計(jì)算出來并計(jì)算輪廓的外接矩形,把傾斜角度大于額定閾值的矩形舍棄,把余下的矩形進(jìn)行微小的旋轉(zhuǎn)使其水平,最后完成車牌圖塊的篩選和驗(yàn)證。
按照GA 36-2018《中華人民共和國機(jī)動車號牌》行業(yè)標(biāo)準(zhǔn),國內(nèi)普通汽車車牌布局相對統(tǒng)一,如圖1 所示即寬度為440mm,高度為140mm,字符寬為450mm,高度900mm,寬高比為0.5,第一個(gè)字符左邊距為15mm,第二個(gè)字符與第三個(gè)字符之間的間隙為34mm,其他字符間隙為12mm。把彩色的車牌圖片進(jìn)行灰度化處理,再使用不同的參數(shù)利用大津閾值法進(jìn)行二值化,根據(jù)車牌字符寬度和高度、字符間距、左右邊距等特征得到字符的切割算法公式把圖中的字符矩形區(qū)域逐一截取出來。最后歸一化到統(tǒng)一格式。
圖1 國內(nèi)車牌常見尺寸布局
將分割輸出的字符圖像進(jìn)行二值化,僅保留黑白像素點(diǎn),并歸一化為40x20的尺寸,經(jīng)過處理后的二值點(diǎn)陣圖是一個(gè)二維的位數(shù)組,每個(gè)位點(diǎn)與圖像像素相對應(yīng)。以像素作為取樣單位,通過對每行和列進(jìn)行遍歷掃描,灰度值為1的記作黑色,為0的記作白色,統(tǒng)計(jì)行和列的1值點(diǎn)數(shù)即為該點(diǎn)陣圖的特征值。粗網(wǎng)格特征反映出了字符的整體形狀和像素值分布情況,但容易受到字符傾斜、偏移等情況的影響,因此再結(jié)合梯度數(shù)據(jù)來提取圖像的特征。
采用HOG提取圖像邊緣輪廓特征分布數(shù)據(jù),進(jìn)一步減弱噪聲干擾,獲取輪廓信息。通過計(jì)算和統(tǒng)計(jì)圖像局部區(qū)域的梯度方向直方圖得到特征描述子,構(gòu)成圖像梯度特征:
最后由粗網(wǎng)格特征和梯度特征構(gòu)成整張字符圖像的特征:
最大似然估計(jì)是一種使用概率模型來進(jìn)行參數(shù)估計(jì)的方法。利用已知的樣本結(jié)果,構(gòu)建模型并在此基礎(chǔ)上,反推最有可能產(chǎn)生這個(gè)結(jié)果的模型參數(shù)值。利用最大似然估計(jì)的基本思想:當(dāng)車牌字符圖片樣本為(n 為樣本的容量)時(shí),根據(jù)概率密度函數(shù)構(gòu)建信號似然函數(shù)L(θ),得出θ來使某結(jié)果出現(xiàn)的可能性達(dá)到最大,并求其最大值對應(yīng)的θ。
基于統(tǒng)計(jì)分類器的方法是字符識別中常用的方法,如隱馬爾科夫隨機(jī)模型(HMMs)、SVM等。最大似然法分類基于經(jīng)典統(tǒng)計(jì)模式識別理論,是一種監(jiān)督分類方法。分類判別規(guī)則基于概率,預(yù)先設(shè)置好的m類模型數(shù)據(jù)集,計(jì)算出某個(gè)像元屬于m中某一類的概率,然后再將該像元?jiǎng)澐值礁怕首畲蟮哪且活?。在車牌字符識別中,每個(gè)字符樣本數(shù)據(jù)都是獨(dú)立于其他字符數(shù)據(jù)生成的,所有字符數(shù)據(jù)的總概率為每個(gè)數(shù)據(jù)點(diǎn)的概率的乘積,即邊緣概率的乘積,從高斯分布中生成的單個(gè)目標(biāo)數(shù)據(jù)點(diǎn)的邊緣概率是:
μ 是該類別樣本中所有值的估計(jì)均值,㎡是該類別樣本中所有觀測值的估計(jì)方差。只要得出能夠讓上述表達(dá)式最大化的μ 和m 的值就可以得到該樣本最大概率。此時(shí),標(biāo)準(zhǔn)樣本偏差近似為一組特征似然函數(shù)的總和:
本文仿真平臺主要基于python 和OpenCV 搭建,用到numpy庫和sympy庫。其中OpenCV用于圖像處理和特征識別,numpy 用于特征數(shù)據(jù)的處理和存取,sympy 用于處理最大似然分類。整體識別運(yùn)行過程如圖2 所示。最大似然分類器的運(yùn)行過程:輸入漢字、字母、數(shù)字類別樣本圖片,進(jìn)行預(yù)處理和特征提??;構(gòu)建最大似然函數(shù),得到字符先驗(yàn)概率P;分類識別判斷類別結(jié)果、檢驗(yàn)結(jié)果。
圖2 車牌字符識別整體運(yùn)行過程
實(shí)驗(yàn)收集的字符樣本來源于網(wǎng)上公開數(shù)據(jù)庫、網(wǎng)絡(luò)搜索引擎搜索結(jié)果和虛擬車牌圖片。將所有漢字、數(shù)字、字母字符樣本數(shù)據(jù)集分為訓(xùn)練集和測試集兩部分。樣本數(shù)據(jù)集共分為65 類,其中數(shù)字0-9 共十個(gè)類,字母A-Z 排除O 和I 后共二十四個(gè)類,中文漢字共三十一個(gè)類(“京”,“津”,“冀”,“晉”,“桂”,“滬”,“陜”,“吉”,“魯”,“貴”,“甘”,“鄂”,“遼”,“贛”,“蒙”,“閩”,“寧”,“黑”,“瓊”,“湘”,“蘇”,“皖”,“青”,“浙”,“豫”,“渝”,“粵”,“云”,“新”,“藏”)。OpenCV將每張輸入字符圖片大小歸一化為40x20,并轉(zhuǎn)成灰度點(diǎn)陣圖,提取字符特征并將數(shù)據(jù)處理成.npy的數(shù)據(jù)。
構(gòu)建最大似然函數(shù),計(jì)算各類字符樣本的特征密度函數(shù),從每個(gè)備選樣本估計(jì)特征向量,用于匹配計(jì)算似然性,然后從這些特征中計(jì)算出可能性,得到字符各類別的先驗(yàn)概率P。通過樣本訓(xùn)練生成參數(shù)作為閾值,并進(jìn)一步細(xì)分閾值結(jié)果,每個(gè)結(jié)果定義一個(gè)字符。分類識別,將待檢測目標(biāo)圖像特征輸入進(jìn)行遍歷計(jì)算,最后與閾值比較偏離程度,判斷類別結(jié)果。采用一對多分類,65種樣本類別構(gòu)成分類器,其中漢字分類器31個(gè)、數(shù)字分類器10個(gè)、英文字母分類器24 個(gè)。根據(jù)具體的識別環(huán)境設(shè)定一個(gè)匹配相似度閾值),定義如果比對偏離值小于匹配不成功,即不是同一字符??梢酝ㄟ^改變閾值來獲得多種候選字符格式,同時(shí)閾值變化使系統(tǒng)能夠減少可能因噪聲而導(dǎo)致的錯(cuò)誤判斷。
訓(xùn)練和測試兩個(gè)過程是分開的,按照7:3 的比例將所有正負(fù)樣本圖片塊分為訓(xùn)練集和測試集兩類。分類器存儲各訓(xùn)練類的均值和方差以及字符各類別的先驗(yàn)概率。提取車牌標(biāo)準(zhǔn)模板字符特征值,并構(gòu)建特征向量,待識別車牌字符特征值構(gòu)造特征向量。先把訓(xùn)練好的結(jié)果以xml 文件的形式存儲,如圖3所示,程序在執(zhí)行前需要預(yù)先加載好xml文件,輸入檢測目標(biāo)特征計(jì)算向量與的偏差,并將其與訓(xùn)練階段中描述的模型訓(xùn)練得到的閾值進(jìn)行比較,在閥值范圍內(nèi)最終概率最大的被確定為具有最大似然性的結(jié)果,判定為某個(gè)字符,完成字符識別。針對模型運(yùn)行所有組件和集合時(shí),可以不斷訓(xùn)練直到獲得最佳結(jié)果。
圖3 最大似然分類的國內(nèi)車牌字符識別系統(tǒng)
訓(xùn)練與測試結(jié)果如表1 所示,數(shù)字和字母的識別率在一定程度上受到了字母與字母、字母與數(shù)字之間存在相似字符的情況的影響,不如漢字的識別率高。根據(jù)最大似然分類的特點(diǎn),可加大樣本進(jìn)行訓(xùn)練,以提升識別精度。
表1 訓(xùn)練與測試結(jié)果
字符識別作為車牌識別過程中最重要的環(huán)境,將直接影響到系統(tǒng)的整體效率。利用最大似然分類簡單快速、實(shí)施方便的特點(diǎn),針對國內(nèi)車牌的一些特點(diǎn),提出了一種最大似然分類的國內(nèi)車牌字符識別的方法,以降低字符識別過程的復(fù)雜程度,提升識別效率。實(shí)驗(yàn)仿真結(jié)果表明,該方法對國內(nèi)車牌字符可以有效識別,為國內(nèi)車牌字符識別提供一種參考和借鑒。