1. 程式人生 > 實用技巧 >多路徑識別演算法

多路徑識別演算法

隨著各省市高速公路的不斷建設,基本上建成了大小規模不等的聯網收費系統,在聯網收費系統建設中,都面臨了一個共同的問題——車輛行駛路徑的識別。路徑識別不僅僅涉及對每一通行車輛如何計算通行費,同時還要考慮將收入的通行費拆分給哪個收費單位的問題,通行費的拆分直接關係到各條高速公路的合法利益,是聯網收費的關鍵。所以說解決多路徑識別問題在完善高速公路聯網收費系統中起著至關重要的作用。

本文介紹了多路徑識別的多種演算法,並著重分析了識別演算法中的汽車牌照識別,根據車牌影象特點,對車牌識別演算法關鍵環節包括數字影象預處理,車牌定位,車牌字元識別等三部分一一進行了分析研究。

本文采用直方圖變換、邊緣檢測、二值化等方法對車牌影象進行了預處理。對車牌定位採用了一種基於灰度影象求取卷積能量極值區域的車牌定位方法。採用模板匹配法對車牌字元進行識別。並採用了MATLAB來完成演算法的設計與實現。研究結果表明車牌識別率較高,適應性較強,實時性比較好。

隨著高速公路路網規模的不斷擴大,聯網收費區域內的環狀路結構變得更加複雜,僅河北省一片區(京津以南高速公路)聯網收費區域內的已有路、在建路和未建路共有約20個最小封閉環路,如果在每個不同業主的路段設收費站,投資巨大,也會影響高速公路的效率,同時,傳統的收費車道所採用的人工輸入車牌號碼後3位數字的方式時效性差,巨大的工作量直接影響高速公路的通行能力和服務水平。因此,高速公路上兩點之間車輛行駛的多路徑識別問題成為聯網收費及網路費用清分模式中迫切需要解決的問題。

多路徑識別主要解決高速公路通行費的合理收取以及通行費的準確拆分問題。同時由於高速公路中大型車輛倒卡、逃費現象十分猖獗,通常表現為利用目前機電系統存在的功能不完善漏洞,實現相同貨車套牌倒卡具體表現為滿載長途與空載短途同號牌車輛倒卡,即通過減少里程,逃避超載處罰力度。為高速公路正常收取車輛通行費造成的及大的損失,同時也帶來了不良的社會影響。所以多路徑識別在實現識別車輛的實際行駛路徑從而進行收費拆分,同時也要解決倒卡、逃費問題。綜上所述,多路徑識別就需要解決以下三個問題:

(1)高速公路通行費的合理收取。

(2)通行費的準確拆分。

(3)倒卡、逃費問題。

3.1 多路徑識別方法的分類

目前,在高速公路路徑識別的主要技術方法有:標識站法、車牌照識別法、最短路徑法。從基本思路看,多路徑識別技術可以分為精確識別和概率識別兩類。

3.1.1精確識別

精確識別的原理是識別出路網中每一車輛的實際行駛路徑,避免路網中出現行駛路徑的歧義,從而解決路網中多路徑問題。標識站法、車牌照識別法都屬於精確識別的範疇。

要做到對車輛行駛路徑的精確識別通常由兩種方法:通過土建設施的手段,確保任意車輛從一個收費站(點)到另一收費站(點)間只能有唯一的行駛路徑;通過標識方法採集車輛行駛路徑資訊,確認車輛行駛路徑。第二種方法只需在產生歧義的路段設立標識站,獲取車輛行駛的標識資訊,就可以根據出口資訊、入口資訊、標識資訊,識別出任意車輛的行駛路徑。

1.標識站識別法

準確識別車輛的實際行駛路徑,可分為停車式和不停車兩種,以下提到的標識站均為“停車式標識站”。在收費車道上安裝非接觸式IC卡讀寫裝置,司機通過此路段時,將IC卡(通行卡)在讀寫天線的規定距離內劃過,自動欄杆開啟、車輛通行,並記錄該標識站資訊。

標識站的主要缺點是車輛每次經過標識站時必須停車,導致行車速度減慢,降低了高速公路的服務水平,與聯網收費的精神直接相違背,在實施時,輕易不採用。在國家政策方面,交通部交公路發 [1999]9號檔案《關於認真做好公路收費站點清理整頓的通知》中規定“對通行車輛一次完成通行費收繳和票證發放工作,不準設立旨在進行內部監督驗票的檢查站”。顯然,國家法律法規的規定對設定停車式標識站做出了限制,設定停車式標識站已不可行。

2.車牌照識別技術

隨著影象識別技術的發展,也可應用“車牌照識別”技術進行多路徑的識別。即高速公路入、出口以及路網內關鍵點設定車牌照抓拍系統,攝取通過車輛牌照。

車牌照識別方法雖然不影響行車速度,但是應用車牌照抓拍系統進行多路徑的判別,投資較大且系統精度根據影象識別演算法的不同效果也不同一般不能達到100%。

3.1.2概率識別

一般來說,道路使用者路徑選擇行為是基於道路使用效益最大化和運營成本最小化的原則之上的,即:花最少的時間、最少的費用、走最短的路、獲取最大的效益。因此,執行時間最少的路徑對於時間價值導向型的道路使用者來說具有更強的吸引力,使用者一般採用最短路徑法。

最短路徑法取最短路徑為行駛路徑。從起點到終點存在兩條或兩條以上的路徑,將最短路徑作為車輛選擇路徑,此方法最為簡便,投資最少。最短路徑法直接將多路徑車輛通行費分配給最短路徑業主,因此,這種方法的精確度取決於車輛在實際的路徑選擇過程中選擇最短路徑的概率。但是在高速公路中倒卡、逃費問題嚴重,因此這種演算法的拆分關係到將通行費拆分給哪個收費單位的問題,影響了一部分單位的收益。

所以在本次設計中主要研究了精確識別中的車牌照識別技術,分析研究影象處理得演算法,用以提高車牌照識別的準確度。

3.2多路徑識別演算法的理論基礎

在本文涉及到的多路徑識別演算法—車牌照識別技術中,對於一個完整的車輛牌照識別系統而言應該包括影象採集、影象預處理、車牌定位、字元切分、字元識別以及影象編碼、數碼傳輸與更新等步驟,基本可以分為硬體部分和軟體部分,硬體部分主要完成車輛影象的攝取採集,軟體部分主要完成對採集到的車輛影象進行車輛牌照定位、車牌字元切分與車牌字元識別等工作,這部分工作最為複雜,最後對識別結果進行資料傳送和儲存,將處理後的識別資訊交給管理系統進行管理。整個系統的核心是軟體部分的工作,能否通過牌照對車輛進行有效管理,很大程度上取決於軟體部分識別車牌的準確性。

3.2.1 車牌照識別的主要演算法

車牌識別的常用演算法法有很多種,如結構模式識別方法、統計模式識別、人工神經網路識別等等。下面分別介紹各種方法:

1.結構模式識別

結構模式識別可能比較複雜,但都具有相當嚴格的規律性。換句話說,字元影象含有豐富的結構資訊。可以設法提取含有這種資訊的結構特徵及其組字規律作為識別的依據,這就是結構模式識別。

結構模式識別是早期漢字識別研究的主要方法。其主要出發點是漢字的組成結構.從漢字的構成上講,漢字是由筆劃以及偏旁部首構成的;還可以認為漢字是由更小的結構基元構成的。由這些結構基元及其相互關係完全可以精確地對漢字加以描述,這種方法也叫句法模式識別。識別時,利用上述結構資訊以及句法分析地方法進行識別,類似於一個邏輯推理器。

基於這種方法來描述字元的結構在理論上是比較恰當的,其主要優點在於對字型變化的適應性強,區分相似字的能力強;但是,在實際應用中,其所面臨的問題是抗干擾能力差,因為在實際得到的文字影象中存在各種干擾,比如傾斜、斷裂、粘連、汙點等。這些因素直接影響到結構基元的提取。假如基元不能準確得到,後面的識別就成了無源之水。所以,在字元識別領域,純結構模式識別方法己經逐漸衰落。

2.統計模式識別

統計決策論發展較早,理論也比較成熟.其要點是提取待識別模式的一組統計特徵,然後按照一定準則所確定的決策函式進行分類判決。字元的統計模式識別是將字元點陣看作一個整體,其所用的特徵是從這個整體上經過大量的統計而得到的.統計特徵的特點是抗干擾能力強,匹配與分類的演算法簡單,易於實現.不足之處在於細分能力較弱,區分相似字的能力差一些。常見的統計模式識別方法有:

(1)投影直方圖法。利用字元影象在水平及垂直方向的投影作為特徵。這種方法是模式識別早期使用的方法。

(2)利用變換特徵方法。對影象進行變換,變換後對影象從空間域變到頻域,特徵的維數大大降低。但是這些方法總的特徵就是運算量太大,運算複雜度高,難以滿足實時處理的要求。

(3)傅立葉描述子和Spline曲線近似。這兩種方法都是針對字元影象輪廓的。傅立葉描述子是利用傅立葉函式模擬封閉的輪廓線,將傅立葉和函式的各個係數作為特徵,該方法致命缺點是對於輪廓線不封閉的字元影象不適用。車牌字元本身所佔象素點較少,常常會出現筆劃斷裂輪廓不封閉。Spline曲線是在輪廓上找到曲率大的折點,利用Spline曲線來近似相鄰折點之間的輪廓線,該方法的缺點在於對旋轉現象比較敏感。

(4)特徵點方法。它的主要思想是利用字元點陣中一些有代表性的點作為特徵來區分不同的字元。這些點包括端點、折點以及交叉點等等,獲得了比較好的效果。其特點是對於內部筆劃粘連的字元識別的適應性較強,直觀性好,但是不易表示為向量形式,不適合作為粗分類的特徵,匹配難度大。

(5)基於微結構特徵的方法。字元是由筆劃組成的,筆劃是由一定方向,一定位置關係和長寬比的矩形線段組成的。這些矩形則稱為微結構。利用微結構及微結構之間的關係組成的特徵對字元進行識別。其不足之處正好和特徵點的方法相反,在內部筆劃粘連時,微結構的提取會遇到困難。

統計模式識別認為影象可能包含一個或多個物體,並且每個物體屬於若干事先定義的型別、範疇或模式之一。雖然模式識別可以用多種方法實現,但我們只關心用數字影象處理技術對它的實現。字元統計模式是把字元的點陣看成一個整體,通過做大量的統計得到所需要的特徵。最常用的字元統計模式方法是模板匹配的字元識別方法。模板匹配的字元識別方法是通過一定準則確定決策函式,並進行分類判斷的方法。模板匹配的字元識別方法是指度量輸入模式與樣本之間的某種相似性,取最相似者為輸入模式所屬類別。它根據字元的直觀形象抽取特徵,用相關匹配原理進行識別。這個方法不需要特徵提取這個過程,字元影象直接作為特徵與模板進行比較,相似度最高的模板即定為識別結果。它優點是可以並行處理,簡單易行。缺點是如果進行簡單的模板匹配,只能夠識別同種字型、同樣大小的字元,對於筆劃變粗、變細、傾斜的字元適應能力比較差,特別是模板與字元筆劃的匹配失誤時,會有很大的誤差。

3人工神經網路識別

人工神經網路是模擬人腦思維方式的數學模型。神經網路是現代生物學研究人腦的組織成果基礎上提出的,用來模擬人類大腦神經網路的結構和行為,它從微觀結構和功能上對人腦進行抽象和簡化。

人工神經網路方法的優點和缺點主要表現在如下的幾個方面:

神經網路的優點:

1,能逼近任意線性函式

2,資訊的並行分散式處理和儲存

3,可以多輸入多輸出

4,便於用超大規模的積體電路或光學積體電路系統實現

5,具有自學習的能力;

6,具有聯想儲存功能;

7,具有高速尋找優化解的能力.

雖然人工神經網路有上述的優點,並且在OCR中也取得了一些成果,但是在車牌字元的識別中仍然存在很大的缺陷:

l,車牌字元象素點陣小,筆劃常常出現斷裂,通過學習規則,誤差係數相差很小,容易出現誤識;

2,神經網路在進行學習時,每次迭代的梯度值都受樣本中噪聲干擾,影響較大,整個系統收斂速度較慢,不適合實時識別的要求。用於字元識別最常用的神經網路是BP神經網路,所謂BP神經網路是指誤差反向傳播神經網路,核心方法是梯度下降法,它採用梯度搜索技術,以期使網路的實際輸值與期望的均方差為最小。

4.1影象採集

影象採集部分所採集的影象一般是採用CCD攝像機攝取的車牌前檢視或後檢視,這些通過由光照檢測裝置控制現場的光照,位置檢測裝置控制攝像機的拍攝角度而得到的。

本設計中所用到圖片是用數碼相機拍的,模型如下圖:

圖4.1 照片模型

4.2影象預處理

影象預處理部分需要對採集到的影象進行影象加強、平滑濾波等操作,目的是突出車牌的主要特徵,以便更好地提取車牌。

影象預處理一般包括以下步驟:對影象的灰度進行處理、影象平滑、影象增強、影象二值化、影象銳化、邊緣檢測。

圖4.2 二值化的影象

圖4.3影象邊緣提取的影象

採集的車輛影象為彩色影象,應將彩色影象轉化為灰度影象。由於光線不足或者反光等諸多因素,又可能造成車牌對比度較差,對接下來的紋理分析產生影響,所以有必要進行影象增強。本文對影象中特亮和特暗的地方進行灰度拉伸,有效增強影象對比度,提高車牌定位準確率。為了進一步提高定位準確率,我們通過連續的兩幀影象定出車大概位置,再在車的位置上搜索車牌,這樣不僅提高了準確率,還提高了整個程式的執行效率。同時為了減少影象中的孤立干擾點,保留車牌字元邊緣,讓車牌字元的影象灰度水平投影更有的連續性。選用 MXl的模板對灰度拉伸後的影象進行中值濾波。

完成牌照區域的定位後,再將牌照區域分割成單個字元,然後進行識別。由於字元在垂直方向上的投影必然在字元間或字元內的間隙處取得區域性最小值的附近,並且這個位置應滿足牌照的字元書寫格式、字元、尺寸限制和一些其他條件。利用投影法對複雜環境下的汽車影象中的字元分割有較好的效果。分割步驟:

圖4.9 分割後的車牌

當一幅車牌的原始影象經過車牌定位和字元分割處理後,得到這個車牌的字元影象,首先對字元影象做歸一化處理,即把字元影象歸一化成20 ×32的標準大小的影象,然後對這幅歸一化的影象呼叫設計好的模板匹配程式進行識別,字元識別流程如下:

1、識別車牌的第1個字元(若分割正確的話應該是漢字):

(1)呼叫漢字模板庫進行匹配識別,若識別結果為漢字,則最終結果為一漢字,識別結束;若識別結果為空字元,即表示不是漢字,則進行第二步。

(2)呼叫字母模板庫進行識別,若為字母,則最終結果為一個字母,識別結束;若識別結果為空字元,則表示不是字母,進行第三步。

(3)呼叫數字模板庫進行識別,若為數字,則最終結果為一數字,識別結束;若為空字元,則最終結果為空字元,識別結束。

2、識別車牌的第2個字元(若分割正確的話應該是字母):

(1)呼叫字母模板庫進行識別,若為字母,則最終結果為一個字母,識別結束;若識別結果為空字元,則表示不是字母,進行第二步。

(2)呼叫數字模板進行識別,若為數字,則最終結果為一數字,識別結束;若為空字元,則表示不是數字,進行第三步。

(3)呼叫漢字模板進行識別,若識別結果為漢字,則最終結果為一漢字,識別結束;若識別結果為空字元,則最終識別結果為空字元,識別結束。

3、識別車牌的第3、4個字元(若分割正確的話應該是字母或數字):

(1)呼叫字母模板庫進行識別,若為字母,則最終結果為一個字母,識別結束;若識別結果為空字元,則表示不是字母,進行第二步。

(2)呼叫數字模板進行識別,若為數字,則最終結果為一數字,識別結束;若為空字元,則表示不是數字,進行第三步。

(3)呼叫漢字模板進行識別,若識別結果為漢字,則最終結果為一漢字,識別結束;若識別結果為空字元,則最終識別結果為空字元,識別結束。

4、識別車牌的第5、6、7個字元(若分割結果正確的話應該是數字):呼叫數字模板進行識別,若為數字,則最終結果為一個數字,識別結束;若為空字元,則最終識別結果為空字元,識別結束。

對於車牌影象的第1、2和3個字元,進行完全的識別,主要是因為考慮到字元的分割不一定正確,即不能保證分割後的第1個車牌字元為漢字,第2個車牌字元為字母,而第3、4個車牌字元為字母或數字。對這三個字元做這樣的完全識別後,可以得到一些非常有用的資訊,這些資訊可以返回到字元分割模組,可以指導字元分割調整字元分割的策略。例如,若識別出的車牌影象的第2個字元是漢字,則說明字元模組做字元分割的時候在車牌影象的左邊提取了一個多餘的字元,因此字元分割模組要去掉這個多餘的字元,從漢字字元起,依次提取出7個字元來。