車牌定位流程圖
車牌定位流程圖
車牌識別系統(tǒng) 是計算機(jī)視頻圖像識別技術(shù)在車輛牌照識別中的一種應(yīng)用。以下是學(xué)習(xí)啦小編為大家整理的關(guān)于車牌定位流程圖,給大家作為參考,歡迎閱讀!
車牌定位流程圖
車牌定位方法
1. 預(yù)處理
由于光線不足或者反光等諸多因素,有可能造成車牌對比度較差,對接下來的紋理分析產(chǎn)生影響,所以有必要進(jìn)行圖象增強(qiáng)。圖象拉伸是增加圖象對比度的一個好方法,但簡單的圖象拉伸有可能造成拉伸過度,損失了車牌區(qū)域的細(xì)節(jié)。
本文提出的方法是根據(jù)原圖象對比度采用自適應(yīng)拉伸的方法,經(jīng)實驗證明能有效增強(qiáng)圖象對比度,提高了車牌定位準(zhǔn)確率。
灰度拉伸公式如下:
p1和p2根據(jù)動態(tài)范圍p做自適應(yīng)調(diào)整。我們使用的參數(shù)是:p>0.8時,p1=p2=0.2;p>0.5時,p1=p2=0.15;其余p1=p2=0;在實驗中收到了良好的效果。圖1是原圖象,圖2是用本文的自適應(yīng)拉伸法處理后的圖象,可以看到圖2的對比度增強(qiáng)了,牌照字符的邊緣更加清晰,有利于后面的定位處理。
2. 車牌定位
當(dāng)我們從遠(yuǎn)處觀察車輛時,判別牌照區(qū)域的主要依據(jù)是車牌的顏色、亮度和車牌字符的邊緣形成的紋理。所以,充分利用這些信息就成了定位車牌的關(guān)鍵。
2.1 粗定位
牌照區(qū)域區(qū)別于其他區(qū)域的地方就在于牌照上有字符,這一特征體現(xiàn)在圖象的灰度上就是其水平投影具有較好的連續(xù)性,不會有大的起伏,體現(xiàn)在紋理信息上就是其垂直邊緣的間距較有規(guī)律。本文的車牌定位方法就是基于這兩個特征的結(jié)合進(jìn)行的,從而更有效地排除干擾區(qū)域,更快速地進(jìn)行車牌的定位。
1) 水平定位
首先,我們要找出車牌所在的水平位置。雖然車牌區(qū)域內(nèi)水平方向有著較大的灰度變化,但由于字符在豎直方向上的灰度有著較好的連續(xù)性,在車牌范圍內(nèi)的水平灰度投影不會有很大的起伏,而在車牌之外的上下區(qū)域由于車身或背景的關(guān)系投影值則明顯不同。
同時車牌區(qū)域除了在水平方向應(yīng)有的灰度連續(xù)性,還應(yīng)該具有一定灰度變化頻度。為了統(tǒng)計灰度變化頻度,經(jīng)試驗比較,在我們的算法中采用簡單快速的水平梯度算子[-1 1]。通過二值化水平梯度圖提取具有最大梯度的邊緣,同時去除了大多數(shù)噪聲的干擾。因為成像模糊等原因使提取的有些邊緣寬度大1,我們對邊緣圖象再一次做水平差分計算。經(jīng)運算后邊緣圖象輪廓清晰,車輛牌照子圖象區(qū)域完全凸現(xiàn)出來,而車體上其他部分和背景中的輪廓線特征往往并不突出。
由于搜索整幅位圖,速度非常慢,為了縮小搜索范圍,加快定位速度,算法采用如下方法:
(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))}向上和向下做區(qū)域增長,同時考慮變化頻度是否滿足要求。實際由于各種原因,有時不是車牌范圍內(nèi)的每一行都滿足灰度投影連續(xù)性和變化頻度的要求,所以我們允許對不滿足要求的連續(xù)的行數(shù)和總行數(shù)有一定的冗余。
(4) 對得到的高度區(qū)域進(jìn)行篩選,去掉高度不合格的區(qū)域。篩選到的區(qū)域送到下一步確定左右邊界。
在實驗中,一般只有1--3個有效的候選區(qū)域,減少搜索量為原來的1/2以上,但準(zhǔn)確率卻提高了50%以上,收到了很好的實效。投影和變化頻度在搜索中有效的結(jié)合不僅提高了水平定位的準(zhǔn)確性,而且使得算法對區(qū)域增長的閾值不敏感,提高了系統(tǒng)的魯棒性。
圖3中的水平長直線是用此方法得到的車牌候選區(qū)的水平位置,這三個水平位置正是圖象中包含字符串的類車牌區(qū)的所在。經(jīng)實驗證明,此方法對確定車牌的水平位置十分有效,在我們所試驗的200多張圖象中,全部找到了車牌所在的水平位置。
2) 垂直定位
接著,我們對經(jīng)水平定位得到的每個區(qū)域分別進(jìn)行垂直定位。我們發(fā)現(xiàn),不是所有的車牌都有邊框,并且當(dāng)車牌底色和車身顏色相近時車牌的邊界也不存在了。所以,如果車牌有邊框或邊界,可以以此來定位;如果沒有,可以對最左邊和最右邊的字符的邊緣定位。為了提高邊緣的抗干擾能力,我們采用動態(tài)閾值的Canny算子,上閾值用式(7)計算,下閾值為上閾值的0.7倍。由于搜索Canny邊緣是在水平定位子圖像上進(jìn)行,所以速度很快,不影響整個系統(tǒng)的實時性。從圖4可以看到用此方法提取的邊緣什分清晰準(zhǔn)確。
式(7)中c(i) 為水平定位子圖像的灰度累積直方圖。
那么怎么得到車牌的左右邊界呢?進(jìn)一步分析車牌紋理特征,除了在水平方向有一定的邊緣外,這些邊緣還應(yīng)該是集中地分布在一定范圍內(nèi),間隔較有規(guī)律。因此,方法如下:
掃描每個水平定位子圖像的每一行l(wèi) (i, j) ,( i=1……q, j=1……h (i) )。q為子圖像數(shù),h (i)為第i 個子圖像的高度。設(shè)子圖像i 的掃描起始列為c。
(1) 從行l(wèi) (i, j)的掃描起始列c開始掃描,將c后的第一個邊緣點記為這一行的起始點,即第一個有效點。
(2) 如果下一個邊緣點和上一個有效點的距離小于1.3×h (i),則這一點為有效點,否則為無效點。如果一行的連續(xù)無效點和無效點總數(shù)大于冗余閾值,這一行為無效行,繼續(xù)下一行掃描。如果一行的有效點數(shù)大于灰度變化頻度th_edge,這一行為有效行,并將最后一個有效點暫時作為行結(jié)束點。
(3) 如果行結(jié)束點后仍有有效點,則行結(jié)束點為依次為最后一個有效點。
(4) 如果一個水平子圖像沒有有效行,則這個子圖像為無效區(qū)域;否則為有效區(qū)域,記錄有效行的起始點和結(jié)束點來計算車牌的左右邊界。計算方法在后面介紹。
(5) 如果有效區(qū)域的右邊界小于圖象寬度,則可能還有其他有效區(qū)域,記c=右邊界+1,返回 (1)繼續(xù)掃描。
得到了一個區(qū)域的若干行的起始點和結(jié)束點,接下來判定這個有效區(qū)域的左右邊界。如果將此看作一個直線擬和問題,可以采用最小平方誤差法:
式(8)中t 為待估計的左邊界或右邊界,xi 為起始點或結(jié)束點。這個方法的優(yōu)點是計算簡單,但如果有幾個噪聲點干擾的話,擬和結(jié)果明顯變差,定位不準(zhǔn)確。為了解決這個問題,我們采用以下的方程:
式(9)與式(8)不同,其值越大則擬和的位置越正確。這個方程的最重要的特點是:一個點離擬和的位置越遠(yuǎn),它對方程所做的貢獻(xiàn)越小,因此少數(shù)的噪聲點不會影響擬和的結(jié)果,具有很好的抗噪聲能力。所以,定位左右邊界的過程就是一個在小范圍內(nèi)找擬和最大值的過程。
從圖3可以看到,我們的方法十分有效,圖中的4個含有字符串的類牌照區(qū)都被準(zhǔn)確地找到了左右邊界。再看圖4,車牌的左邊界位置是最左邊的字符"B"的左邊緣,右邊界位置是車牌的右邊緣,符合我們的預(yù)期。
2.2 精確定位
大多數(shù)情況下,車牌已被準(zhǔn)確定位了,但車牌字符上面和下面的鉚釘有時使水平定位過大,這會影響后面的字符分割。另外我們將臺灣省的車牌類型也考慮在內(nèi),從圖(6)中可以看到這種車牌為雙行結(jié)構(gòu),上行為中文小字,一般寫著"臺灣省",位置處于兩個鉚釘?shù)闹虚g。由于其字體很小無法做識別且信息量不大,所以應(yīng)在精確定位時把它們和其他干擾區(qū)一齊去除。
從圖(6)中可以看到,車牌下行字符和上行字符的中間是一個空白帶,基本沒有什么邊緣。用閾值來分割這種邊緣變化不具有很強(qiáng)的魯棒性,容易受到噪聲的干擾。將水平定位時獲得邊緣做水平投影,可以發(fā)現(xiàn)在鉚釘與車牌字符的中間具有較小的投影值。二次差分比率函數(shù)具有檢測波峰、波谷的能力,因此計算邊緣投影的二次差分比率如下:
式(10)中v(i)為水平邊緣投影,f(i)為二次方差比率值。這個函數(shù)的特點是值越小,鄰域的變化越大,函數(shù)值就越大,因此具有檢測波谷的能力。為了減少噪聲和車牌傾斜的影響,我們設(shè)計了一個累積加權(quán)的方法,具體如下:
(1) 我們將投影值為0,1,2的行都視為波谷,權(quán)值分別為w_0,w_1,w_2,其余的權(quán)值為1;
(2) 權(quán)值從第一行開始累加,如果是權(quán)值是1,則不累加,保持為1。因此波谷越寬,累積的權(quán)值將越大。
(3) 將累加得到的權(quán)值乘和對應(yīng)行的二次差分比率值相乘。
這樣,波谷的二次差分比率值得到了增強(qiáng),最大值所對應(yīng)的行就是我們所要的分割位置。
圖 5 式(10) 圖 6 初定位后的車牌 圖7 精確定位后的車牌
的累積加權(quán)值
圖(6)是粗定位后得到的結(jié)果的二值圖。用上述方法計算圖(6)的邊緣水平投影的加權(quán)二次差分比率,得到圖(5)。從圖(5)可以清楚地看到,上半部分和下半部分最大的值正對應(yīng)車牌字符的上邊界和下下邊界,據(jù)此我們得到準(zhǔn)確的車牌定位,見圖(7)。按照這個方法,我們能夠同時去除車牌字符上方和下方的干擾,并且這個函數(shù)對牌照傾斜不敏感。如果在粗定位階段已經(jīng)得到了準(zhǔn)確的水平定位,那么就不能得到滿足大于一定閾值的函數(shù)值,不會產(chǎn)生字符被上下切分的情況,具有良好的魯棒性和適應(yīng)能力。
3. 實驗結(jié)果及討論
為了測試我們的算法的魯棒性和適應(yīng)性,我們對從攝像機(jī)和數(shù)碼相機(jī)截取的211張圖片進(jìn)行了實驗,這些圖片有四種不同的分辨率,拍攝于不同地點,不同氣候、光照下,有汽車的前臉和后尾的遠(yuǎn)景、近景和特寫照,車型有轎車、小客車、大客車、貨車。部分情況的分類見表1:
在粗定位階段我們?nèi)空业搅塑嚺茀^(qū)域,最后有3張圖象中的車牌最后未能準(zhǔn)確定位。其中候選區(qū)選擇錯誤是由于在客車的車牌斜下方有一個字母和數(shù)字組成的標(biāo)識,是一個類牌照區(qū),由于我們采取識別反饋的方式將識別結(jié)果的語法錯誤反饋回定位階段,最后我們?nèi)阅苷_定位此車牌。有一個車牌的水平定位太窄是因為車牌對比度較低并且車牌較大造成邊緣圖象的不連續(xù)行數(shù)大于我們在實驗中設(shè)定的冗余值。另一個車牌的垂直定位太寬是因為車牌的左右兩邊的尾燈發(fā)光時成格子狀,具有同車牌字符相似的紋理特征。由于我們在字符分割階段根據(jù)車牌字符的排列特點做了字符區(qū)域篩選,根據(jù)車牌字符的邊緣和灰度做區(qū)域增長,最后我們?nèi)阅艿玫秸_的分割結(jié)果。所以,考慮字符分割和字符識別的反饋我們將進(jìn)一步提高定位的正確率和準(zhǔn)確性。
4. 結(jié)論
本文提出了一種新的快速自適應(yīng)車牌定位算法。在粗定位階段結(jié)合車牌區(qū)域的紋理特征和灰度信息定位車牌,接著利用車牌字符的邊緣特點精確定位,為下一階段的車牌字符處理打下了良好的基礎(chǔ)。經(jīng)實驗證明,本文提出的方法速度較快,滿足整個系統(tǒng)的實時性要求,對車牌大小、長寬比、車牌類型、是否有邊框等車牌信息不敏感,對不同的拍攝方式、不同的拍攝條件、不同的圖象類型同樣具用較好的魯棒性。由于抓住了車牌共有的特征,本方法有著廣泛的適用性,可應(yīng)用于道路收費、車輛監(jiān)控、停車場管理等諸多領(lǐng)域
車牌定位流程圖相關(guān)文章:
1.車牌識別流程圖