孫 淳
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,山東青島 266590)
系統(tǒng)首先通過圖片選擇功能選定一幅要處理的圖片,然后進(jìn)行圖像識(shí)別,最后對(duì)識(shí)別的車牌進(jìn)行語(yǔ)音播報(bào),相應(yīng)流程如圖1 所示。
Fig.1 System flow圖1 系統(tǒng)流程
針對(duì)識(shí)別模塊,圖像識(shí)別處理流程又大致分為對(duì)圖像進(jìn)行粗定位、圖像灰度化、傾斜矯正處理、二值化處理、形態(tài)學(xué)處理等,最后得到精準(zhǔn)定位的圖像。具體流程如圖2所示。
Fig.2 Image recognition processing flow圖2 圖像識(shí)別處理流程
本系統(tǒng)采用GUI 圖形處理系統(tǒng)處理車輛圖片,從中提取車牌號(hào)碼,系統(tǒng)可顯示運(yùn)行時(shí)間,且界面簡(jiǎn)潔、操作簡(jiǎn)便。系統(tǒng)主界面如圖3 所示。
Fig.3 Main interface of the system圖3 系統(tǒng)主界面
由于車牌大都是以藍(lán)底作為背景,所以系統(tǒng)首先對(duì)一幅圖片的橫坐標(biāo)和縱坐標(biāo)方向設(shè)置藍(lán)色邊界閾值;然后根據(jù)設(shè)置的長(zhǎng)寬比得到車牌圖像初步邊界。車牌號(hào)碼一般是白色的,因此設(shè)置白色像素點(diǎn)變量,之后進(jìn)行統(tǒng)計(jì);接下來(lái)根據(jù)長(zhǎng)寬比與白藍(lán)比提取車牌圖像;最后根據(jù)圖像像素面積、設(shè)置閾值對(duì)提取的圖像進(jìn)行二次修正。定位處理效果如圖4 所示。
Fig.4 Rough positioning effect圖4 粗定位效果
一般將彩色圖像轉(zhuǎn)化為灰色圖像的過程稱為灰度化處理,是一個(gè)降維處理過程[9-10]?;叶茸儞Q是數(shù)字圖像處理中常用的圖像增強(qiáng)技術(shù)[11]。目前大部分彩色圖像采用RGB 顏色模式,圖像處理時(shí)要分別對(duì)R、G、B 3 個(gè)分量進(jìn)行相應(yīng)處理。其實(shí)灰度圖像也可反映圖像形態(tài)特征,是一種R、G、B 3 個(gè)分量都相同的特殊彩色圖像,各像素點(diǎn)僅表現(xiàn)為一種顏色[12]。因此,處理彩色圖像要先進(jìn)行圖像灰度化處理,以減少圖像計(jì)算量,然后通過灰度變換增強(qiáng)圖像對(duì)比度。常見的圖像灰度化算法有:①最大值法??墒罐D(zhuǎn)化后R、G、B 的值等于轉(zhuǎn)化前3 個(gè)值中最大的一個(gè),該方法轉(zhuǎn)換的灰度圖亮度較高;②平均值法。可使轉(zhuǎn)化后R、G、B 的值為轉(zhuǎn)化前R、G、B 的平均值,該方法轉(zhuǎn)換的灰度圖較為柔和。因此,本文采取加權(quán)平均值法對(duì)圖像進(jìn)行灰度處理,公式如下:
式中,wR、wG、wB代表R、G、B 權(quán)值,不同值會(huì)生成不同的灰度圖像。通過人的視覺對(duì)顏色敏感度進(jìn)行顏色權(quán)值排序,為wG>wR>wB,能得到較易識(shí)別的灰度圖像。通常當(dāng)wR=0.299,wG=0.587,wB=0.114 時(shí)得到的灰度圖效果最好,處理效果如圖5 所示。
2011年的夏天,牧場(chǎng)城鎮(zhèn)化迅速推進(jìn),我的家也在拆遷之列。當(dāng)我拿到新樓房鑰匙的時(shí)候,心里別提有多開心了,我知道這一切都是母親的功勞,于是鄭重地把樓房鑰匙交到母親手中。
Fig.5 Grayscale treatment effect圖5 灰度化處理效果
由于處理車牌圖像時(shí)車牌可能出現(xiàn)傾斜的情況,所以需要對(duì)圖像進(jìn)行傾斜校正處理。常見的傾斜校正方法有基于投影的傾斜校正,但該方法一般需要提前知道圖像大概的傾斜狀況,然后選定角度進(jìn)行投影計(jì)算,否則會(huì)加大運(yùn)算量;此外還有Hough 變換的傾斜校正與外接矩形的傾斜校正,通過實(shí)驗(yàn)發(fā)現(xiàn),后者在整體速度和效果上要優(yōu)于前者。為了找到兩個(gè)圖像之間的幾何對(duì)應(yīng)關(guān)系,通常會(huì)計(jì)算包含平面變換(例如平移、旋轉(zhuǎn)、縮放、投影、仿射)的單應(yīng)矩陣[13],該過程稱為幾何變換。在使用外接矩形的傾斜校正方法處理圖像過程中,可使用基于連通域聚集的方式提取所需對(duì)象,形成外接矩形,然后通過選取長(zhǎng)邊與水平方向的夾角θ,以圖像左下角為圓心,利用幾何變換將圖像順時(shí)針旋轉(zhuǎn)θ角度。其幾何變換公式如下:
上式中,(x0,y0)與(x1,y1)代表旋轉(zhuǎn)前后的圖像中心點(diǎn)。圖像傾斜矯正效果如圖6 所示。
Fig.6 Image tilt correction圖6 圖像傾斜矯正
二值化處理的目的是將需要識(shí)別的目標(biāo)與背景分離開,其算法一般分為兩種:傳統(tǒng)的非機(jī)器學(xué)習(xí)方法和基于圖像分割的深度學(xué)習(xí)方法[14]。本系統(tǒng)采用灰度閾值變換方法,選取合適的閾值將背景與車牌號(hào)分離,最后獲得二值化圖像?;叶乳撝底儞Q可將一幅灰度圖像轉(zhuǎn)換成黑白二值圖像。用戶指定一個(gè)可起分界線作用的灰度值,如果圖像中某像素灰度值小于該灰度值,則將該像素灰度值設(shè)置為0,否則設(shè)置為255。這個(gè)起分界線作用的灰度值稱為閾值,灰度的閾值變換也常被稱為閾值化或二值化?;叶乳撝底儞Q的函數(shù)表達(dá)式如下:
式中,T為指定閾值?;叶乳撝底儞Q的用途很廣,可擴(kuò)展性也非常強(qiáng)。通常將一幅灰度圖像轉(zhuǎn)化為二值圖像,在復(fù)雜背景中直接提取出感興趣的目標(biāo)。
二值化處理結(jié)果如圖7 所示。
Fig.7 Binary processing圖7 二值化處理
圖像形態(tài)學(xué)處理是應(yīng)用最廣泛的圖像技術(shù)之一,其目的主要是提取圖像中對(duì)識(shí)別有意義的圖像分量,能夠抓住圖像最本質(zhì)的形狀特征。圖像形態(tài)學(xué)處理的主要運(yùn)算方法包括:膨脹、腐蝕、開運(yùn)算以及閉運(yùn)算等[15]。圖像經(jīng)過腐蝕運(yùn)算后可使邊緣變得雜亂[16]。膨脹是指一個(gè)集或?qū)ο竽繕?biāo)從其原來(lái)的形狀擴(kuò)大的過程[17]。腐蝕能夠去除圖像邊界,而膨脹與其相反,能夠擴(kuò)大圖像邊界。本系統(tǒng)運(yùn)用形態(tài)學(xué)的開運(yùn)算(先腐蝕后膨脹)進(jìn)行圖像處理,移除車牌圖像的連通與孤立像素,使圖像輪廓變得更加光滑。
使用結(jié)構(gòu)元素S對(duì)A進(jìn)行開運(yùn)算,記作A°S,可表示為:
一般來(lái)說,開運(yùn)算可使圖像輪廓變得光滑,斷開狹窄的連接并消除細(xì)毛刺。
如圖8 所示,開運(yùn)算斷開了圖中兩個(gè)小區(qū)域間的狹窄連接,并去除了右側(cè)物體上部突出的一個(gè)小于結(jié)構(gòu)元素的2×2 區(qū)域(去除細(xì)小毛刺)。但與腐蝕不同的是,圖像大的輪廓并沒有發(fā)生整體收縮,物體位置也沒有發(fā)生任何變化。
本系統(tǒng)使用開運(yùn)算運(yùn)行后的圖像形態(tài)學(xué)處理結(jié)果如圖9 所示。
Fig.8 Open operation effect圖8 開運(yùn)算效果
Fig.9 Results of image morphology processing圖9 圖像形態(tài)學(xué)處理結(jié)果
系統(tǒng)通過編寫投影函數(shù)進(jìn)一步處理裁剪圖像,使其邊框貼近字體,部分代碼如下:
精確定位圖像結(jié)果如圖10 所示。
Fig.10 Accurate positioning of image results圖10 精確定位圖像結(jié)果
圖像分割是圖像處理和計(jì)算機(jī)視覺中應(yīng)用的基本技術(shù)手段[18],國(guó)內(nèi)外廣泛使用的圖像分割方法主要包括閾值分割法、聚類分割法、區(qū)域生長(zhǎng)法、深度學(xué)習(xí)法等[19]。文獻(xiàn)[20]通過對(duì)比字符寬度對(duì)車牌圖像進(jìn)行分割,但效果不夠理想。本系統(tǒng)采用閾值分割方法,針對(duì)圖像像素灰度值的不同,選取閾值將圖片中的車牌號(hào)與背景分割開。常見的閾值分割方法有:①直方圖閾值化法。其根據(jù)直方圖谷底確定閾值,但當(dāng)圖像直方圖兩個(gè)區(qū)域峰值相差很遠(yuǎn),且圖像受噪聲影響時(shí),該算法則不適用;②迭代選擇閾值法。但該算法的閾值迭代選擇規(guī)則不容易選??;③最小均方誤差法。該算法確定閾值時(shí)使用的參數(shù)非常復(fù)雜,而且對(duì)圖像有正態(tài)分布的要求;④最大類間方差法。該方法不需要人為設(shè)定其它參數(shù),是一種自動(dòng)選擇閾值的方法,而且能得到較好的結(jié)果。最大類間方差法的原理為:對(duì)圖像進(jìn)行閾值分割時(shí),選定的分割閾值應(yīng)使前景區(qū)域、背景區(qū)域與整幅圖像的平均灰度之間差別最大,這種差異用區(qū)域的方差表示。該方法不僅適用于包含兩個(gè)區(qū)域的單閾值選擇,也適用于多區(qū)域的多閾值選擇,而且計(jì)算簡(jiǎn)單,不受圖像對(duì)比度與亮度影響,是閾值分割算法中錯(cuò)分概率最小的一種算法。
設(shè)圖像中灰度為i的像素?cái)?shù)為ni,灰度范圍為[0,L-1],則總像素?cái)?shù)為:
各灰度值出現(xiàn)概率為:
對(duì)于pi,有:
將圖像中的像素根據(jù)閾值T分成兩類C0和C1,C0由灰度值在[0,T-1]范圍內(nèi)的像素組成,C1由灰度值在[T,L-1]范圍內(nèi) 的像素組成。則區(qū)域C0和C1在整個(gè)圖像中出現(xiàn)的概率分別為:
區(qū)域C0、C1的平均灰度分別為:
其中,μ是整幅圖像的平均灰度。
兩個(gè)區(qū)域的總方差為:
在[0,L-1]范圍內(nèi)對(duì)T依次取值,使最大的T值便為最佳區(qū)域分割閾值。
接著對(duì)字母與數(shù)字進(jìn)行歸一化處理,本系統(tǒng)采用圖像矩歸一化方法校正字符傾斜度,通過圖像矩得到字體實(shí)際大小[w1,h1]與中心位置[xz,yz],修改后的區(qū)域?yàn)閇xz-,計(jì)算公式如下:
β作為經(jīng)驗(yàn)值通常取β=4,圖像矩計(jì)算公式如下:
式中,x、y為圖像坐標(biāo)像素點(diǎn),f(x,y)為圖像像素值。
最終的圖像分割效果如圖11 所示。
Fig.11 Image segmentation effect圖11 圖像分割效果
系統(tǒng)會(huì)對(duì)最后的識(shí)別結(jié)果進(jìn)行語(yǔ)音播報(bào),系統(tǒng)中有提前錄制好的數(shù)字、字母語(yǔ)音素材,系統(tǒng)通過相應(yīng)函數(shù)實(shí)現(xiàn)其功能,部分關(guān)鍵代碼如下:
本文采用GUI 圖形處理系統(tǒng)進(jìn)行車牌識(shí)別,并通過語(yǔ)音播報(bào)讀出結(jié)果,可令使用者更方便地使用。測(cè)試結(jié)果表明,系統(tǒng)對(duì)車牌識(shí)別的精確度可由95% 提高到96.5%。由于字符筆劃包含豐富的角點(diǎn)信息,后期還可采用角點(diǎn)字符檢測(cè)方法提取出圖像中的字符信息,并嘗試使用神經(jīng)網(wǎng)絡(luò)算法,以期提高識(shí)別精確度至97% 以上。