楊洪臣 黨 京 蔡能斌 王華鵬 翟金良
(1 中國刑事警察學(xué)院聲像資料檢驗(yàn)技術(shù)系 遼寧 沈陽 110035;2 上海市現(xiàn)場物證重點(diǎn)實(shí)驗(yàn)室 上海 200083)
隨著信息技術(shù)的不斷發(fā)展、監(jiān)控?cái)z像頭硬件布局的逐步完善及公安圖像云計(jì)算技術(shù)的進(jìn)一步應(yīng)用,視頻監(jiān)控所獲取到的時(shí)空軌跡信息在案件偵破工作中發(fā)揮著越來越重要的作用,如何高效的利用城市監(jiān)控卡口網(wǎng)絡(luò)維護(hù)城市安全成為公安機(jī)關(guān)十分關(guān)注的問題[1]。通過道路攝像頭及交通卡口的視頻內(nèi)容快速識別,追蹤嫌疑車輛可以提高偵查效率,因此如何保證車牌識別的高速性和準(zhǔn)確性成為了其中的研究熱點(diǎn)。當(dāng)前車牌識別系統(tǒng)常用的字符識別方法有模板匹配、支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)等等,每種方法都有各自的優(yōu)勢及存在的局限性。模板匹配對字符傾斜變形、背景復(fù)雜和存在污損情況的車牌識別精度不足。支持向量機(jī)對車牌傾斜、大小、顏色甚至照明條件影響具有較強(qiáng)的魯棒性,但經(jīng)常因?yàn)橹С窒蛄考^大,使得識別時(shí)間較長[2]。借助車牌顏色特征的字符識別方法存在對光照亮度的敏感性。神經(jīng)網(wǎng)絡(luò)法因其具備良好的學(xué)習(xí)能力、容錯(cuò)能力和強(qiáng)大的分類能力,引起了越來越多人的注意,但由于收斂性和收斂速度的矛盾,使其無法滿足實(shí)際工作中對于車輛識別系統(tǒng)精準(zhǔn)性和實(shí)時(shí)性的需求。為此,本文將從特征數(shù)據(jù)降維及神經(jīng)網(wǎng)絡(luò)參數(shù)調(diào)整等字符識別改進(jìn)的層面,對BP神經(jīng)網(wǎng)絡(luò)車牌識別方法的優(yōu)化進(jìn)行探討。
本質(zhì)上來說,所有的車牌識別系統(tǒng)都有著一個(gè)相同的流程,分為車牌圖像獲取、圖像預(yù)處理、車牌定位、車牌字符分割及車牌字符識別5個(gè)步驟。車牌識別方法具體流程如圖1所示。
2.1.1 車牌圖像的預(yù)處理
車牌圖像的預(yù)處理主要包括圖像灰度化、圖像邊緣檢測、圖像二值化及濾波去噪等步驟。
圖1 車牌識別的完整過程
現(xiàn)實(shí)生活中,車牌圖像多是通過設(shè)置于停車場和天橋等地的攝像頭和卡口拍攝獲取的,得到的多為彩色圖像,基于識別系統(tǒng)的運(yùn)行條件,為降低圖像原始數(shù)據(jù)量,減少后續(xù)處理圖像時(shí)的計(jì)算工作,要求對獲取的原始圖像進(jìn)行灰度化處理。一般將灰度范圍量化在(0,255)之間,可以使圖像的對比度和分辨率加強(qiáng),使圖像呈現(xiàn)出來的效果更加清晰[3]。
圖像邊緣是原始圖像中灰度急劇變化的區(qū)域邊界,邊緣檢測通過檢測圖像中不同區(qū)域的邊緣來達(dá)成分割圖像的目的,是圖像分析和理解的第一步。常用的邊緣檢測算子有Roberts、Sobel、Canny和LOG算子等。由于Sobel算子對于灰度漸變和噪聲較多圖像的處理效果較為理想,使得圖像中部分噪聲濾除的同時(shí)達(dá)到削弱背景區(qū)域的目的,可以提供精準(zhǔn)度較高的圖像邊緣信息,故本文系統(tǒng)使用Sobel算子進(jìn)行檢測。
二值化的目的是通過調(diào)整閾值,將車牌字符信息與背景信息劃分開,提取有效信息。隨后利用均值濾波將多余噪聲去除。二值化和降噪這兩步的質(zhì)量將對后期圖像中定位牌照位置和分割處理字符的效果有著直接影響。
2.1.2 車牌定位
車牌定位的主要目標(biāo)在于將圖像帶有字符的牌照部分,從有干擾背景的圖像部分中有效分離,常用方法為形態(tài)學(xué)定位法。對二值化后的圖像進(jìn)行開運(yùn)算、閉運(yùn)算和移除小對象等步驟來突出車牌的連通區(qū)域,根據(jù)牌照的矩形寬度和高度分離出正確的車牌區(qū)域。依據(jù)坐標(biāo)記錄牌照區(qū)域在原圖中的位置,即可在原圖中得到定位的車牌部分圖像。
2.1.3 字符分割
字符分割是將定位后得到的帶有字符的車牌圖像分割為單字字符圖像的步驟。完成車牌區(qū)域的定位后,經(jīng)過圖像水平和垂直方向的矯正和圖像預(yù)處理,將車牌圖像分割為單字字符圖像。此步驟最為常用的方法為垂直投影法。字符垂直方向上投影的局部最小值處,勢必處于牌照單字字符的兩側(cè)或者單字字符之中,此外這個(gè)位置也必然滿足車牌的字符書寫格式、字符、尺寸限制等其他制式規(guī)格條件。使用垂直投影法對復(fù)雜環(huán)境下的汽車圖像中字符圖像分割有著較為良好的效果。通過上述步驟得到的車牌字符可能大小各異,為使車牌識別的準(zhǔn)確率提高,需要再對分割處理后的字符尺寸進(jìn)行大小歸一整定。
字符識別主要由特征提取和分類器這兩部分組成。由于Gabor濾波提取的特征對顏色變化具有較強(qiáng)的魯棒性,而BP神經(jīng)網(wǎng)絡(luò)具有良好的學(xué)習(xí)機(jī)制、快速的分類方式和較強(qiáng)的容錯(cuò)能力,在面對較為復(fù)雜情況的干擾時(shí),有著較高的識別速度和準(zhǔn)確性。
2.2.1 Gabor濾波器提取特征
Gabor變換是一種短時(shí)傅里葉變換方法,其實(shí)質(zhì)是在傅里葉變換中加入一個(gè)窗函數(shù),通過窗函數(shù)來實(shí)現(xiàn)信號的時(shí)頻分析。當(dāng)使用高斯函數(shù)作為窗函數(shù)時(shí),短時(shí)傅里葉變換稱為Gabor變換[4]。將Gabor小波擴(kuò)展到2維,可得到Gabor 濾波器(圖像實(shí)際上就是一種2維信號):
可以分為實(shí)部與虛部的形式:
其中
式(1)為Gabor濾波器的公式化定義,可將其分為式(2)和式(3)的實(shí)部與虛部形式,其中λ為正弦函數(shù)波長;θ為Gabor核函數(shù)的方向;ψ為相位偏移;σ是高斯函數(shù)的標(biāo)準(zhǔn)差;γ是空間的寬高比。
相較于其他不同方法,Gabor小波變換有其突出優(yōu)勢:①這一方法處理的數(shù)據(jù)規(guī)模小,能夠滿足實(shí)時(shí)系統(tǒng)研究需求。②小波變換對光照變化不敏感如圖2~3所示,解決了淺層網(wǎng)絡(luò)和基于顏色特征識別方法對光線敏感的問題。③對于圖像變形和旋轉(zhuǎn)有一定容忍度,歐氏距離下的識別過程,特征模式與待測特征不必嚴(yán)格的對應(yīng),有益于系統(tǒng)整體魯棒性的提高。上述特點(diǎn)使得Gabor濾波應(yīng)用于車牌特征提取有著得天獨(dú)厚的優(yōu)勢。
2.2.2 BP網(wǎng)絡(luò)模型及其局限
圖2 亮度較高條件下的“京”幅值及相位譜
圖3 亮度較低條件下的“京”幅值及相位譜
BP人工神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),由輸入層、隱含層、輸出層3部分組成如圖4所示[5],是基于梯度下降算法的反向傳播神經(jīng)網(wǎng)絡(luò),目標(biāo)函數(shù)是誤差的平方,在參數(shù)眾多,結(jié)構(gòu)復(fù)雜的函數(shù)關(guān)系下,通過精細(xì)化誤差來逼近函數(shù)關(guān)系,有簡單、易行、計(jì)算量小、并行性強(qiáng)等優(yōu)點(diǎn),是具有很強(qiáng)的非線性映射能力和柔性的網(wǎng)絡(luò)結(jié)構(gòu)。由于BP算法采用非線性規(guī)劃中的最速下降方法[6],按誤差函數(shù)的負(fù)梯度方向修改權(quán)值,因而通常存在以下局限:
(1)學(xué)習(xí)效率低,收斂速度慢。
(2)訓(xùn)練過程易陷入局部極值,需多次訓(xùn)練。
(3)網(wǎng)絡(luò)層數(shù)、神經(jīng)元個(gè)數(shù)的選擇沒有相應(yīng)的理論指導(dǎo)。
圖4 全連接形式的的神經(jīng)網(wǎng)絡(luò)
受限于圖像獲取時(shí)拍照設(shè)備的成像質(zhì)量,為了滿足系統(tǒng)實(shí)時(shí)性和準(zhǔn)確性的需求,除了優(yōu)化網(wǎng)絡(luò)輸入的數(shù)據(jù)質(zhì)量,在防止過擬合和增強(qiáng)系統(tǒng)穩(wěn)定性的同時(shí),對網(wǎng)絡(luò)參數(shù)的優(yōu)化顯得尤為重要。目前對BP神經(jīng)網(wǎng)絡(luò)的優(yōu)化主要從兩個(gè)層面進(jìn)行:①加快網(wǎng)絡(luò)收斂速度。②防止陷入局部極小值。
車牌識別的不同步驟功能各異,均與最終所得結(jié)果及整個(gè)系統(tǒng)的效率有直接關(guān)系。本文主要對字符識別部分進(jìn)行優(yōu)化,優(yōu)化后的字符識別流程如圖5所示。
圖5 本文字符識別流程圖
為了保證實(shí)驗(yàn)過程的流暢性及實(shí)驗(yàn)結(jié)果的準(zhǔn)確性,本實(shí)驗(yàn)在Intel i7-5500 CPU,8G內(nèi)存,64位Microsoft Windows 7操作系統(tǒng)的計(jì)算機(jī)上運(yùn)行,使用Matlab 2018a作為實(shí)驗(yàn)的仿真平臺。實(shí)驗(yàn)所用樣本均為生活中的真實(shí)車牌圖像。
為簡化實(shí)驗(yàn)條件,訓(xùn)練樣本為部分經(jīng)過預(yù)處理、定位及分割處理所得到的車牌單字字符圖像:10個(gè)數(shù)字,24個(gè)字母和5個(gè)漢字(川、京、蘇、陜和湘)??偣?9類字符,每類字符選取50張PNG格式的灰度字符圖像,共1950張。測試樣本為圖像條件較惡劣情況下的川、京、蘇、陜和湘字開頭的車牌圖像共300 張。
3.2.1 主成分分析法(PCA)對特征降維
由于Gabor變換中的小波基函數(shù)往往不正交,所以大量信息線性相關(guān),Gabor變換處理所得到的信息是冗余的,需要對數(shù)據(jù)進(jìn)行降維,簡化了提取數(shù)據(jù)的同時(shí)也節(jié)省了計(jì)算資源,為之后縮短網(wǎng)絡(luò)的訓(xùn)練時(shí)間做準(zhǔn)備。選用PCA進(jìn)行降維的優(yōu)點(diǎn)是,它是完全無參數(shù)限制的,避免了因?yàn)榻?jīng)驗(yàn)性的參數(shù)設(shè)置而得不到預(yù)期效果的問題。
3.2.2 附加動(dòng)量項(xiàng)
附加動(dòng)量項(xiàng)是一種加快梯度下降法收斂的優(yōu)化方法,使網(wǎng)絡(luò)在修正其權(quán)值時(shí),不僅考慮誤差在梯度上的作用,還考慮在誤差曲面上變化趨勢的影響,減少學(xué)習(xí)過程中產(chǎn)生的震蕩,加快網(wǎng)絡(luò)收斂速度,降低對于誤差曲面局部細(xì)節(jié)的敏感性[7]。核心思想為:在梯度下降搜索過程中,若當(dāng)前時(shí)刻梯度下降方向與上一時(shí)刻梯度下降的方向相同,則加快搜索速度,反之則減速。
標(biāo)準(zhǔn)BP算法的權(quán)值變化量:
添加動(dòng)量項(xiàng)之后,基于梯度下降的權(quán)值變化量為:
由式(4),式(5)可以得到改進(jìn)后的公式:
其中,Δω(t)為第t次迭代的權(quán)值變化量,η是學(xué)習(xí)率,g(t)為第t次迭代所計(jì)算出的負(fù)梯度,ω(t)為權(quán)值向量。μ為動(dòng)量因子,取值范圍在0-1之間,式(7)為其數(shù)學(xué)表達(dá)式:
3.2.3 自適應(yīng)學(xué)習(xí)率
學(xué)習(xí)率通常會被設(shè)定為一個(gè)固定的常數(shù),針對特定問題,通常很難選取到合適的學(xué)習(xí)率。學(xué)習(xí)率過大可能出現(xiàn)超調(diào)現(xiàn)象,使得函數(shù)無法收斂,學(xué)習(xí)率過小,則會對收斂速度造成影響,造成了收斂速度和收斂性的矛盾。為此,本文采用自適應(yīng)學(xué)習(xí)率,如式(8)所示:
采用該優(yōu)化后的算法可以獲得較優(yōu)的學(xué)習(xí)率,確保網(wǎng)絡(luò)得到相對較快收斂速度的同時(shí),部分防止出現(xiàn)局部極小值的情況,促進(jìn)系統(tǒng)的穩(wěn)定性,使得系統(tǒng)識別效率進(jìn)一步提高。
3.2.4 從激活函數(shù)角度優(yōu)化網(wǎng)絡(luò)性能
通常BP神經(jīng)網(wǎng)絡(luò)采用Sigmoid函數(shù)作為其神經(jīng)元激活函數(shù),輸出為0到1之間的連續(xù)量,通過S型函數(shù)可以實(shí)現(xiàn)從輸入到輸出任意的非線性映射[8]。相對于sigmoid函數(shù)和,使用tanh函數(shù)的輸出區(qū)間是在(-1,1)之間,而且整個(gè)函數(shù)是以0為對稱中心的,由于它的輸出均值是0,使得tanh相較于sigmoid函數(shù)權(quán)重更新效率更高,以此提高了網(wǎng)絡(luò)的收斂速度,減少迭代次數(shù)。由于采用PCA對數(shù)據(jù)進(jìn)行降維,降維后數(shù)據(jù)的特點(diǎn)使得tanh函數(shù)比目前較為流行的relu函數(shù)對網(wǎng)絡(luò)學(xué)習(xí)的效率更高。
3.2.5 初始權(quán)重的選擇
與輸入和輸出的道理相同,過大的初始權(quán)重將會在偏置方向上偏置激活函數(shù),使激活函數(shù)飽和,從而降低網(wǎng)絡(luò)更好學(xué)習(xí)權(quán)重的能力,因此應(yīng)該避免大的初始權(quán)重值。假設(shè)某個(gè)節(jié)點(diǎn)的傳入鏈接增多,則會有越多的信號被疊加在一起,因此如果鏈接更多,那么減小權(quán)重取值的范圍就會從一定的層面防止了激活函數(shù)的飽和。本文將遵循數(shù)學(xué)家總結(jié)得到的經(jīng)驗(yàn)規(guī)則:初始權(quán)重在一個(gè)節(jié)點(diǎn)傳入鏈接數(shù)量平方根倒數(shù)的大致范圍內(nèi)隨機(jī)采樣。
3.2.6 網(wǎng)絡(luò)層數(shù)和隱藏層節(jié)點(diǎn)個(gè)數(shù)的確定
網(wǎng)絡(luò)構(gòu)建過程中,隱藏層和節(jié)點(diǎn)數(shù)量選取并無明確的理論指導(dǎo)。在隱藏層和隱藏層節(jié)點(diǎn)足量的情況下可以逼近任意函數(shù)的非線性關(guān)系,雖然能保證訓(xùn)練精度但也會需要更多的計(jì)算時(shí)間。
根據(jù)已有理論證明:只有一個(gè)隱含層的3層BP網(wǎng)絡(luò)就能夠精確地實(shí)現(xiàn)非線性函數(shù)的逼近。為使得計(jì)算工作減少,確保運(yùn)行速度更快,所以本文系統(tǒng)采用3層網(wǎng)絡(luò)。
隱藏層節(jié)點(diǎn)數(shù)量對于網(wǎng)絡(luò)性能有著嚴(yán)重的影響效果。隱藏節(jié)點(diǎn)太少,那么映射容量也會隨之變少,導(dǎo)致訓(xùn)練精度不足。隱藏節(jié)點(diǎn)個(gè)數(shù)太多,雖然網(wǎng)絡(luò)學(xué)習(xí)能力強(qiáng),但網(wǎng)絡(luò)所需學(xué)習(xí)時(shí)間也將增多,同時(shí)也是過擬合現(xiàn)象的潛在成因。為了在減少訓(xùn)練時(shí)間的同時(shí),防止過擬合現(xiàn)象的發(fā)生,本文將依據(jù)經(jīng)驗(yàn)公式(9)確定隱藏層節(jié)點(diǎn)個(gè)數(shù)H,其中m為輸入層節(jié)點(diǎn)個(gè)數(shù),n為輸出層節(jié)點(diǎn)個(gè)數(shù)。最終選定隱藏層節(jié)點(diǎn)為7個(gè)。
實(shí)驗(yàn)結(jié)果如表所示。在圖像條件較為惡劣的情況下,優(yōu)化后BP算法的車牌識別率相較于模板匹配法和優(yōu)化前BP算法有了較為顯著的提高,并且由實(shí)驗(yàn)過程可以看出本算法使得系統(tǒng)魯棒性增強(qiáng)的同時(shí),識別速度和識別精度也有了較為顯著的提升。本文算法效果如圖6~7所示。
表 各種識別算法識別率
圖6 車牌號為蘇*MB936絡(luò)
圖7 車牌號為**B5178
本文提出的優(yōu)化算法運(yùn)用Gabor濾波對字符進(jìn)行特征提取并降維,較好地解決了光照條件變化大及歐氏距離內(nèi)圖像的變形和旋轉(zhuǎn)對于識別系統(tǒng)的影響。通過添加動(dòng)量項(xiàng)及使用自適應(yīng)學(xué)習(xí)率等方法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,較好的解決了系統(tǒng)收斂速度和收斂性的矛盾。經(jīng)過實(shí)驗(yàn),算法使得系統(tǒng)能在圖像條件較差的情況下對部分車牌文字、字母及數(shù)字進(jìn)行識別,相對于其他識別算法,從識別精度、識別速度及魯棒性有了較好的提升,說明了該算法的有效性,對于其他未涉及的復(fù)雜情況的識別效果有待進(jìn)行考證。