車牌定位流程圖

  車牌識別系統 是計算機視訊影象識別技術在車輛牌照識別中的一種應用。以下是小編為大家整理的關於,給大家作為參考,歡迎閱讀!

  

  車牌定位方法

  1. 預處理

  由於光線不足或者反光等諸多因素,有可能造成車牌對比度較差,對接下來的紋理分析產生影響,所以有必要進行圖象增強。圖象拉伸是增加圖象對比度的一個好方法,但簡單的圖象拉伸有可能造成拉伸過度,損失了車牌區域的細節。

  本文提出的方法是根據原圖象對比度採用自適應拉伸的方法,經實驗證明能有效增強圖象對比度,提高了車牌定位準確率。

  灰度拉伸公式如下:

  p1和p2根據動態範圍p做自適應調整。我們使用的引數是:p>0.8時,p1=p2=0.2;p>0.5時,p1=p2=0.15;其餘p1=p2=0;在實驗中收到了良好的效果。圖1是原圖象,圖2是用本文的自適應拉伸法處理後的圖象,可以看到圖2的對比度增強了,牌照字元的邊緣更加清晰,有利於後面的定位處理。

  2. 車牌定位

  當我們從遠處觀察車輛時,判別牌照區域的主要依據是車牌的顏色、亮度和車牌字元的邊緣形成的紋理。所以,充分利用這些資訊就成了定位車牌的關鍵。

  2.1 粗定位

  牌照區域區別於其他區域的地方就在於牌照上有字元,這一特徵體現在圖象的灰度上就是其水平投影具有較好的連續性,不會有大的起伏,體現在紋理資訊上就是其垂直邊緣的間距較有規律。本文的車牌定位方法就是基於這兩個特徵的結合進行的,從而更有效地排除干擾區域,更快速地進行車牌的定位。

  1*** 水平定位

  首先,我們要找出車牌所在的水平位置。雖然車牌區域內水平方向有著較大的灰度變化,但由於字元在豎直方向上的灰度有著較好的連續性,在車牌範圍內的水平灰度投影不會有很大的起伏,而在車牌之外的上下區域由於車身或背景的關係投影值則明顯不同。

  同時車牌區域除了在水平方向應有的灰度連續性,還應該具有一定灰度變化頻度。為了統計灰度變化頻度,經試驗比較,在我們的演算法中採用簡單快速的水平梯度運算元[-1 1]。通過二值化水平梯度圖提取具有最大梯度的邊緣,同時去除了大多數噪聲的干擾。因為成像模糊等原因使提取的有些邊緣寬度大1,我們對邊緣圖象再一次做水平差分計算。經運算後邊緣圖象輪廓清晰,車輛牌照子圖象區域完全凸現出來,而車體上其他部分和背景中的輪廓線特徵往往並不突出。

  由於搜尋整幅點陣圖,速度非常慢,為了縮小搜尋範圍,加快定位速度,演算法採用如下方法:

  ***1*** 每間隔10行掃描一行,記下變化頻度最大的行號i 。

  ***2*** 從中選出最大的10行,R{row ***i*** | i = 0,1,…,9}。記row***i*** 的灰度投影值為pro ***row***i******,記投影變化的下門限為th_low,上門限為th_high,記水平方向灰度變化頻度的門限是th_edge。

  ***3*** 對R中每一個row ***i***向上或向下掃描灰度投影,以{th_low *pro***row***i******, th_high *pro***row***i******}向上和向下做區域增長,同時考慮變化頻度是否滿足要求。實際由於各種原因,有時不是車牌範圍內的每一行都滿足灰度投影連續性和變化頻度的要求,所以我們允許對不滿足要求的連續的行數和總行數有一定的冗餘。

  ***4*** 對得到的高度區域進行篩選,去掉高度不合格的區域。篩選到的區域送到下一步確定左右邊界。

  在實驗中,一般只有1--3個有效的候選區域,減少搜尋量為原來的1/2以上,但準確率卻提高了50%以上,收到了很好的實效。投影和變化頻度在搜尋中有效的結合不僅提高了水平定位的準確性,而且使得演算法對區域增長的閾值不敏感,提高了系統的魯棒性。

  圖3中的水平長直線是用此方法得到的車牌候選區的水平位置,這三個水平位置正是圖象中包含字串的類車牌區的所在。經實驗證明,此方法對確定車牌的水平位置十分有效,在我們所試驗的200多張圖象中,全部找到了車牌所在的水平位置。

  2*** 垂直定位

  接著,我們對經水平定位得到的每個區域分別進行垂直定位。我們發現,不是所有的車牌都有邊框,並且當車牌底色和車身顏色相近時車牌的邊界也不存在了。所以,如果車牌有邊框或邊界,可以以此來定位;如果沒有,可以對最左邊和最右邊的字元的邊緣定位。為了提高邊緣的抗干擾能力,我們採用動態閾值的Canny運算元,上閾值用式***7***計算,下閾值為上閾值的0.7倍。由於搜尋Canny邊緣是在水平定位子影象上進行,所以速度很快,不影響整個系統的實時性。從圖4可以看到用此方法提取的邊緣什分清晰準確。

  式***7***中c***i*** 為水平定位子影象的灰度累積直方圖。

  那麼怎麼得到車牌的左右邊界呢?進一步分析車牌紋理特徵,除了在水平方向有一定的邊緣外,這些邊緣還應該是集中地分佈在一定範圍內,間隔較有規律。因此,方法如下:

  掃描每個水平定位子影象的每一行l ***i, j*** ,*** i=1……q, j=1……h ***i*** ***。q為子影象數,h ***i***為第i 個子影象的高度。設子影象i 的掃描起始列為c。

  ***1*** 從行l ***i, j***的掃描起始列c開始掃描,將c後的第一個邊緣點記為這一行的起始點,即第一個有效點。

  ***2*** 如果下一個邊緣點和上一個有效點的距離小於1.3×h ***i***,則這一點為有效點,否則為無效點。如果一行的連續無效點和無效點總數大於冗餘閾值,這一行為無效行,繼續下一行掃描。如果一行的有效點數大於灰度變化頻度th_edge,這一行為有效行,並將最後一個有效點暫時作為行結束點。

  ***3*** 如果行結束點後仍有有效點,則行結束點為依次為最後一個有效點。

  ***4*** 如果一個水平子影象沒有有效行,則這個子影象為無效區域;否則為有效區域,記錄有效行的起始點和結束點來計算車牌的左右邊界。計算方法在後面介紹。

  ***5*** 如果有效區域的右邊界小於圖象寬度,則可能還有其他有效區域,記c=右邊界+1,返回 ***1***繼續掃描。

  得到了一個區域的若干行的起始點和結束點,接下來判定這個有效區域的左右邊界。如果將此看作一個直線擬和問題,可以採用最小平方誤差法:

  式***8***中t 為待估計的左邊界或右邊界,xi 為起始點或結束點。這個方法的優點是計算簡單,但如果有幾個噪聲點干擾的話,擬和結果明顯變差,定位不準確。為了解決這個問題,我們採用以下的方程:

  式***9***與式***8***不同,其值越大則擬和的位置越正確。這個方程的最重要的特點是:一個點離擬和的位置越遠,它對方程所做的貢獻越小,因此少數的噪聲點不會影響擬和的結果,具有很好的抗噪聲能力。所以,定位左右邊界的過程就是一個在小範圍內找擬和最大值的過程。

  從圖3可以看到,我們的方法十分有效,圖中的4個含有字串的類牌照區都被準確地找到了左右邊界。再看圖4,車牌的左邊界位置是最左邊的字元"B"的左邊緣,右邊界位置是車牌的右邊緣,符合我們的預期。

  2.2 精確定位

  大多數情況下,車牌已被準確定位了,但車牌字元上面和下面的鉚釘有時使水平定位過大,這會影響後面的字元分割。另外我們將臺灣省的車牌型別也考慮在內,從圖***6***中可以看到這種車牌為雙行結構,上行為中文小字,一般寫著"臺灣省",位置處於兩個鉚釘的中間。由於其字型很小無法做識別且資訊量不大,所以應在精確定位時把它們和其他干擾區一齊去除。

  從圖***6***中可以看到,車牌下行字元和上行字元的中間是一個空白帶,基本沒有什麼邊緣。用閾值來分割這種邊緣變化不具有很強的魯棒性,容易受到噪聲的干擾。將水平定位時獲得邊緣做水平投影,可以發現在鉚釘與車牌字元的中間具有較小的投影值。二次差分比率函式具有檢測波峰、波谷的能力,因此計算邊緣投影的二次差分比率如下:

  式***10***中v***i***為水平邊緣投影,f***i***為二次方差比率值。這個函式的特點是值越小,鄰域的變化越大,函式值就越大,因此具有檢測波谷的能力。為了減少噪聲和車牌傾斜的影響,我們設計了一個累積加權的方法,具體如下:

  ***1*** 我們將投影值為0,1,2的行都視為波谷,權值分別為w_0,w_1,w_2,其餘的權值為1;

  ***2*** 權值從第一行開始累加,如果是權值是1,則不累加,保持為1。因此波谷越寬,累積的權值將越大。

  ***3*** 將累加得到的權值乘和對應行的二次差分比率值相乘。

  這樣,波谷的二次差分比率值得到了增強,最大值所對應的行就是我們所要的分割位置。

  圖 5 式***10*** 圖 6 初定位後的車牌 圖7 精確定位後的車牌

  的累積加權值

  圖***6***是粗定位後得到的結果的二值圖。用上述方法計算圖***6***的邊緣水平投影的加權二次差分比率,得到圖***5***。從圖***5***可以清楚地看到,上半部分和下半部分最大的值正對應車牌字元的上邊界和下下邊界,據此我們得到準確的車牌定位,見圖***7***。按照這個方法,我們能夠同時去除車牌字元上方和下方的干擾,並且這個函式對牌照傾斜不敏感。如果在粗定位階段已經得到了準確的水平定位,那麼就不能得到滿足大於一定閾值的函式值,不會產生字元被上下切分的情況,具有良好的魯棒性和適應能力。

  3. 實驗結果及討論

  為了測試我們的演算法的魯棒性和適應性,我們對從攝像機和數碼相機擷取的211張圖片進行了實驗,這些圖片有四種不同的解析度,拍攝於不同地點,不同氣候、光照下,有汽車的前臉和後尾的遠景、近景和特寫照,車型有轎車、小客車、大客車、貨車。部分情況的分類見表1:

  在粗定位階段我們全部找到了車牌區域,最後有3張圖象中的車牌最後未能準確定位。其中候選區選擇錯誤是由於在客車的車牌斜下方有一個字母和數字組成的標識,是一個類牌照區,由於我們採取識別反饋的方式將識別結果的語法錯誤反饋回定位階段,最後我們仍能正確定位此車牌。有一個車牌的水平定位太窄是因為車牌對比度較低並且車牌較大造成邊緣圖象的不連續行數大於我們在實驗中設定的冗餘值。另一個車牌的垂直定位太寬是因為車牌的左右兩邊的尾燈發光時成格子狀,具有同車牌字元相似的紋理特徵。由於我們在字元分割階段根據車牌字元的排列特點做了字元區域篩選,根據車牌字元的邊緣和灰度做區域增長,最後我們仍能得到正確的分割結果。所以,考慮字元分割和字元識別的反饋我們將進一步提高定位的正確率和準確性。

  4. 結論

  本文提出了一種新的快速自適應車牌定位演算法。在粗定位階段結合車牌區域的紋理特徵和灰度資訊定位車牌,接著利用車牌字元的邊緣特點精確定位,為下一階段的車牌字元處理打下了良好的基礎。經實驗證明,本文提出的方法速度較快,滿足整個系統的實時性要求,對車牌大小、長寬比、車牌型別、是否有邊框等車牌資訊不敏感,對不同的拍攝方式、不同的拍攝條件、不同的圖象型別同樣具用較好的魯棒性。由於抓住了車牌共有的特徵,本方法有著廣泛的適用性,可應用於道路收費、車輛監控、停車場管理等諸多領域