本發(fā)明涉及視頻監(jiān)控技術(shù)領(lǐng)域,具體涉及一種車牌識別方法及終端。
背景技術(shù):
隨著交通運(yùn)輸業(yè)的快速發(fā)展,人們的出行日益便捷,但與此同時也伴隨著頻繁發(fā)生的交通事故、交通擁堵等現(xiàn)象,使得交通安全問題越來越成為人們重點關(guān)注的問題。在現(xiàn)代的科技背景下,人們引入了智能交通運(yùn)輸系統(tǒng)(Intelligent Transportation System,ITS),而車輛牌照作為目前唯一能外在的標(biāo)記汽車的屬性就顯得十分重要,因此車輛牌照識別技術(shù)(Vehicle License Plate Recognition,VLPR)對于如今的交通運(yùn)輸業(yè)來說是一個很關(guān)鍵技術(shù),車牌識別系統(tǒng)(License Plate Recognition System,LPRS)的構(gòu)建也就應(yīng)運(yùn)而生。
現(xiàn)有技術(shù)中,車牌識別系統(tǒng)由三個關(guān)鍵的模塊組成,它們分別是:車牌字符定位,車牌字符分割和車牌字符識別,這三個模塊依次進(jìn)行,相輔相成。車牌定位技術(shù)是車牌識別系統(tǒng)的主要環(huán)節(jié),旨在把車牌從整個車輛圖像中定位出來,現(xiàn)有技術(shù)中比較常見的方法有利用車牌的顏色和紋理信息結(jié)合得到車牌區(qū)域,利用車牌的邊緣特征以及形狀特征進(jìn)行定位以及機(jī)器學(xué)習(xí)訓(xùn)練樣本數(shù)據(jù)的方法。車牌字符分割則是車牌識別系統(tǒng)的關(guān)鍵成分,目的是把定位到車牌字符通過某種方法分割出來,主要分為連通域分析法和投影分析法。字符識別是車牌識別系統(tǒng)的必要因素,目的是把分割出來的車牌字符識別出確切的字符,也就是識別出車牌號,主要有模板匹配法和基于學(xué)習(xí)的方法。然而,在現(xiàn)實的應(yīng)用場景下,現(xiàn)有的車牌信息通常是來自于攝像頭的拍照或者攝影,另外又由于車輛是在行進(jìn)的過程中、夜晚路燈或者車燈的影響以及天氣氣候等各種環(huán)境的影響,這都很可能造成拍攝的成像畫面不清晰,這就使得車牌的定位、車牌字符的特征提取以及對車牌的識別工作會有很大的挑戰(zhàn)。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種車牌識別方法及終端,以期提高車牌識別的正確率。
本發(fā)明實施例第一方面提供了一種車牌識別方法,包括:
獲取待處理圖像;
對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像;
采用目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù);
使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù);
根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù);
采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列;
對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
可選地,所述對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,包括:
將所述待處理圖像轉(zhuǎn)化為灰度圖像;
對所述灰度圖像進(jìn)行填充處理,得到所述目標(biāo)圖像。
可選地,所述使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,包括:
采用行程長度平滑算法對所述N個目標(biāo)區(qū)域進(jìn)行平滑處理,得到平滑處理后的所述N個目標(biāo)區(qū)域;
將所述平滑處理后的所述N個目標(biāo)區(qū)域連接成一個區(qū)域,并采用預(yù)設(shè)字符框?qū)⑺鲎址M(jìn)行標(biāo)記,得到所述M個候選框。
可選地,所述獲取待處理圖像之前,所述方法還包括:
獲取正樣本集和負(fù)樣本集;
使用卷積神經(jīng)網(wǎng)絡(luò)算法對所述正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到所述目標(biāo)分類器。
可選地,所述對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌,包括:
采用如下公式分別對所述多個字符序列進(jìn)行評分,得到所述多個評分值,如下:
其中,m函數(shù)為字符序列中每一字符的評分函數(shù),所述字符序列的首字符的寬度為w1,所述字符序列的剩余字符寬度為w2,w1=(c1)、w2=(c2,c3,...,c7),所述字符序列分割出的斷點為所述字符序列為I∈RW×H,所述字符序列的寬度為W,高度為H,s表示評分值,所述首字符所述剩余字符
將所述多個評分值中的最大值對應(yīng)的字符序列作為所述目標(biāo)車牌。
本發(fā)明實施例第二方面提供了一種終端,包括:
獲取單元,用于獲取待處理圖像;
處理單元,用于對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像;
訓(xùn)練單元,用于采用目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù);
連接單元,用于使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù);
篩選單元,用于根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù);
分割單元,用于采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列;
識別單元,用于對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
可選地,所述處理單元包括:
轉(zhuǎn)化模塊,用于將所述待處理圖像轉(zhuǎn)化為灰度圖像;
填充模塊,用于對所述灰度圖像進(jìn)行填充處理,得到所述目標(biāo)圖像。
可選地,所述連接單元包括:
處理模塊,用于采用行程長度平滑算法對所述N個目標(biāo)區(qū)域進(jìn)行平滑處理,得到平滑處理后的所述N個目標(biāo)區(qū)域;
連接模塊,用于將所述平滑處理后的所述N個目標(biāo)區(qū)域連接成一個區(qū)域,并采用預(yù)設(shè)字符框?qū)⑺鲎址M(jìn)行標(biāo)記,得到所述M個候選框。
可選地,所述獲取單元,還具體用于:
在獲取待處理圖像之前,獲取正樣本集和負(fù)樣本集;
所述訓(xùn)練單元,還具體用于:
訓(xùn)練使用卷積神經(jīng)網(wǎng)絡(luò)算法對所述正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到所述目標(biāo)分類器。
可選地,所述識別單元包括:
評分模塊,用于采用如下公式分別對所述多個字符序列進(jìn)行評分,得到所述多個評分值,如下:
其中,m函數(shù)為字符序列中每一字符的評分函數(shù),所述字符序列的首字符的寬度為w1,所述字符序列的剩余字符寬度為w2,w1=(c1)、w2=(c2,c3,...,c7),所述字符序列分割出的斷點為所述字符序列為I∈RW×H,所述字符序列的寬度為W,高度為H,s表示評分值,所述首字符所述剩余字符
確定模塊,用于將所述多個評分值中的最大值對應(yīng)的字符序列作為所述目標(biāo)車牌。
實施本發(fā)明實施例,具有如下有益效果:
通過本發(fā)明實施例,獲取待處理圖像,對待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,采用目標(biāo)分類器對目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,N為大于1的整數(shù),使用第一預(yù)設(shè)算法對N個目標(biāo)區(qū)域?qū)個目標(biāo)區(qū)域連接起來,得到M個候選框,M為大于1的整數(shù),根據(jù)車牌的預(yù)設(shè)幾何特征對M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,K為小于M的正整數(shù),采用第二預(yù)設(shè)算法將K個目標(biāo)候選框分割為多個字符,并由多個字符得到多個字符序列,對多個字符序列進(jìn)行識別,得到目標(biāo)車牌。如此,可提高車牌識別的正確率。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種車牌識別方法的第一實施例流程示意圖;
圖2是本發(fā)明實施例提供的一種車牌識別方法的第二實施例流程示意圖;
圖3a是本發(fā)明實施例提供的一種終端的第一實施例結(jié)構(gòu)示意圖;
圖3b是本發(fā)明實施例提供的圖3a所描述的終端的處理單元的結(jié)構(gòu)示意圖;
圖3c是本發(fā)明實施例提供的圖3a所描述的終端的連接單元的結(jié)構(gòu)示意圖;
圖3d是本發(fā)明實施例提供的圖3a所描述的終端的識別單元的結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的一種終端的第二實施例結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明的說明書和權(quán)利要求書及所述附圖中的術(shù)語“第一”、“第二”、“第三”和“第四”等是用于區(qū)別不同對象,而不是用于描述特定順序。此外,術(shù)語“包括”和“具有”以及它們?nèi)魏巫冃?,意圖在于覆蓋不排他的包含。例如包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備沒有限定于已列出的步驟或單元,而是可選地還包括沒有列出的步驟或單元,或可選地還包括對于這些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
在本文中提及“實施例”意味著,結(jié)合實施例描述的特定特征、結(jié)構(gòu)或特性可以包含在本發(fā)明的至少一個實施例中。在說明書中的各個位置展示該短語并不一定均是指相同的實施例,也不是與其它實施例互斥的獨立的或備選的實施例。本領(lǐng)域技術(shù)人員顯式地和隱式地理解的是,本文所描述的實施例可以與其它實施例相結(jié)合。
本發(fā)明實施例所描述終端可以包括智能手機(jī)(如Android手機(jī)、iOS手機(jī)、Windows Phone手機(jī)等)、平板電腦、掌上電腦、筆記本電腦、移動互聯(lián)網(wǎng)設(shè)備(MID,Mobile Internet Devices)或穿戴式設(shè)備等,上述僅是舉例,而非窮舉,包含但不限于上述終端。
深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)研究中的一個新領(lǐng)域,這兩年在圖像識別、語音識別以及自然語言處理方面取得了巨大的成功。深度學(xué)習(xí)是通過構(gòu)建多層神經(jīng)網(wǎng)絡(luò)模型來訓(xùn)練數(shù)據(jù),可以學(xué)習(xí)出有用的特征,通過對大量樣本學(xué)習(xí)可以得到很高的識別正確率。但是在同時需要識別多個屬性時,已有的深度學(xué)習(xí)方法往往是通過將各個屬性獨立出來,為每一個屬性訓(xùn)練一個模型,這無疑大大增加了復(fù)雜度。因此,如何將各個屬性聯(lián)系起來,通過設(shè)計一個模型即可對多個屬性進(jìn)行識別成為當(dāng)下繼續(xù)解決的問題。
請參閱圖1,為本發(fā)明實施例提供的一種車牌識別方法的第一實施例流程示意圖。本實施例中所描述的車牌識別方法,包括以下步驟:
101、獲取待處理圖像。
其中,待處理圖像為包含車牌的圖像。
102、對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像。
可選地,上述預(yù)處理可包括但不僅限于:圖像爭搶處理,圖像縮小處理,圖像質(zhì)量評價,圖像復(fù)原、圖像去噪等等。
可選地,上述步驟102中,對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,可包括如下步驟:
對待處理圖像進(jìn)行圖像質(zhì)量評價,得到圖像質(zhì)量評價值;
若該圖像質(zhì)量評價值小于預(yù)設(shè)閾值,則對該待處理圖像進(jìn)行圖像增強(qiáng),得到目標(biāo)圖像。
其中,預(yù)設(shè)閾值可由用戶自行設(shè)置或者系統(tǒng)默認(rèn)。
進(jìn)一步可選地,可采用至少一個圖像質(zhì)量評價指標(biāo)對待處理圖像進(jìn)行圖像質(zhì)量評價,得到圖像質(zhì)量評價值,其中,圖像質(zhì)量評價指標(biāo)可包括但不僅限于:平均灰度、均方差、熵、邊緣保持度、信噪比等等。
需要說明的是,由于采用單一評價指標(biāo)對圖像質(zhì)量進(jìn)行評價時,具有一定的局限性,因此,可采用多個圖像質(zhì)量評價指標(biāo)對圖像質(zhì)量進(jìn)行評價,當(dāng)然,對圖像質(zhì)量進(jìn)行評價時,并非圖像質(zhì)量評價指標(biāo)越多越好,因為圖像質(zhì)量評價指標(biāo)越多,圖像質(zhì)量評價過程的計算復(fù)雜度越高,也不見得圖像質(zhì)量評價效果越好,因此,在對圖像質(zhì)量評價要求較高的情況下,可采用2~10個圖像質(zhì)量評價指標(biāo)對圖像質(zhì)量進(jìn)行評價。具體地,選取圖像質(zhì)量評價指標(biāo)的個數(shù)及哪個指標(biāo),依據(jù)具體實現(xiàn)情況而定。當(dāng)然,也得結(jié)合具體地場景選取圖像質(zhì)量評價指標(biāo),在暗環(huán)境下進(jìn)行圖像質(zhì)量評價和亮環(huán)境下進(jìn)行圖像質(zhì)量評價選取的圖像質(zhì)量指標(biāo)可不一樣。
可選地,在對圖像質(zhì)量評價精度要求不高的情況下,可用一個圖像質(zhì)量評價指標(biāo)進(jìn)行評價,例如,以熵對待處理圖像進(jìn)行圖像質(zhì)量評價值,可認(rèn)為熵越大,則說明圖像質(zhì)量越好,相反地,熵越小,則說明圖像質(zhì)量越差。
可選地,在對圖像質(zhì)量評價精度要求較高的情況下,可以采用多個圖像質(zhì)量評價指標(biāo)對待處理圖像進(jìn)行評價,在多個圖像質(zhì)量評價指標(biāo)對待處理圖像進(jìn)行圖像質(zhì)量評價時,可設(shè)置該多個圖像質(zhì)量評價指標(biāo)中每一圖像質(zhì)量評價指標(biāo)的權(quán)重,可得到多個圖像質(zhì)量評價值,根據(jù)該多個圖像質(zhì)量評價值及其對應(yīng)的權(quán)重可得到最終的圖像質(zhì)量評價值,例如,三個圖像質(zhì)量評價指標(biāo)分別為:A指標(biāo)、B指標(biāo)和C指標(biāo),A的權(quán)重為a1,B的權(quán)重為a2,C的權(quán)重為a3,采用A、B和C對某一圖像進(jìn)行圖像質(zhì)量評價時,A對應(yīng)的圖像質(zhì)量評價值為b1,B對應(yīng)的圖像質(zhì)量評價值為b2,C對應(yīng)的圖像質(zhì)量評價值為b3,那么,最后的圖像質(zhì)量評價值=a1b1+a2b2+a3b3。通常情況下,圖像質(zhì)量評價值越大,說明圖像質(zhì)量越好。
可選地,上述步驟102中,對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,可包括如下步驟:
21)、將所述待處理圖像轉(zhuǎn)化為灰度圖像;
22)、對所述灰度圖像進(jìn)行填充處理,得到所述目標(biāo)圖像。
其中,可對待處理圖像進(jìn)行灰度化和灰度填充處理,例如,灰度化可通過使用matlab自帶的灰度化函數(shù)rgb2gray()來實現(xiàn),灰度填充可在灰度化后使用matlab自帶的另外一個函數(shù)padarray()來實現(xiàn)。
103、采用目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù)。
在步驟101之前,可得到目標(biāo)分類器。
首先訓(xùn)練出分類器。使用卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練出一個能分類出字符或非字符的分類器,以便后面步驟車牌字符定位的需要。這個步驟需要大量的車牌圖像的訓(xùn)練樣本。
104、使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù)。
其中,第一預(yù)設(shè)算法可為行程長度平滑算法(Run Length Smoothing Algorithm,RLSA)。
可選地,上述步驟104中,使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,可包括如下步驟:
41)、采用行程長度平滑算法對所述N個目標(biāo)區(qū)域進(jìn)行平滑處理,得到平滑處理后的所述N個目標(biāo)區(qū)域;
42)、將所述平滑處理后的所述N個目標(biāo)區(qū)域連接成一個區(qū)域,并采用預(yù)設(shè)字符框?qū)⑺鲎址M(jìn)行標(biāo)記,得到所述M個候選框。
105、根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù)。
其中,上述預(yù)設(shè)幾何特征可包括但不僅限于:車牌的字符寬度、車牌的字符高度、車牌顏色、車牌的螺釘位置、車牌的尺寸比例等等。
106、采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列。
其中,第二預(yù)設(shè)算法可為行程長度平滑算法。
其中,上述行程長度平滑算法,指的是設(shè)定一個閾值,利用這個閾值可以把車牌圖像上的字符給區(qū)別出來。把行程長度平滑算法應(yīng)用于車牌字符的切割上,需要分為兩步。具體操作如下:
首先,把車牌圖像中有字符的位置的字符連接起來,以區(qū)別沒字符的部分。對于車牌字符的圖像的每行像素的平均值可以得出,記為μ;以及車牌字符的圖像的每行像素的標(biāo)準(zhǔn)差也是可以算出的,記為σ。這一步,我們設(shè)行程長度平滑算法的閾值為3μ-0.5σ,也就是說,如果有字符的部分兩邊相鄰的空格小于3μ-0.5σ時,那么就意味著此時這個字符與鄰近的字符相距小于這個閾值,則把這樣類似的鄰近區(qū)域連接起來,形成上述步驟104中所描述的一塊。
其次,經(jīng)過步驟105的篩選操作,篩選掉了不符合條件的候選區(qū)域,那么就得到了只有車牌字符的局域。然后,就是把只有車牌字符的局域(也就是車牌區(qū)域)連接起來的字符塊分割成一個一個的字符。對于這一步,先把該圖像裁剪成只有車牌區(qū)域的圖片,而且根據(jù)上一步所知,相鄰的字符其實是連接著的。然后,如果連接字符的水平間距小于字符平均水平間距線距離,則再次使用行程長度平滑算法,由此產(chǎn)生的連接塊即為單個字符單獨設(shè)立了字符框。最后,就是使用以下所述的車牌字符序列評分方法對車牌字符進(jìn)行識別。
107、對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
可選地,上述步驟107中,對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌,可包括如下步驟:
61)、采用如下公式分別對所述多個字符序列進(jìn)行評分,得到所述多個評分值,如下:
其中,m函數(shù)為字符序列中每一字符的評分函數(shù),所述字符序列的首字符的寬度為w1,所述字符序列的剩余字符寬度為w2,w1=(c1)、w2=(c2,c3,...,c7),所述字符序列分割出的斷點為所述字符序列為I∈RW×H,所述字符序列的寬度為W,高度為H,s表示評分值,所述首字符所述剩余字符
62)、將所述多個評分值中的最大值對應(yīng)的字符序列作為所述目標(biāo)車牌。其中,車牌字符序列的評分方法用于車牌字符識別。車牌字符識別要解決的問題是識別出已經(jīng)定位到的多個近似結(jié)果的車牌字符序列的車牌字符圖像,確定出最終車牌字符。本發(fā)明實施例針對車牌字符識別的評分方法,旨在根據(jù)該評分方法能較為準(zhǔn)確地識別出車牌字符。
眾所周知,車牌字符的第1個字符代表省份簡稱,大陸一共有31種車牌簡稱,則有31種情況;后面的6個字符由26個大寫字母和10個數(shù)字排列組合而成,則每個字符有36種情況。這個認(rèn)知使我們對字符識別的范圍大大地縮小了,然后對車牌進(jìn)行分割處理。為了從上述的固定范圍內(nèi)識別出車牌字符,就要使用一個評分模型對上述的多個近似結(jié)果的車牌字符圖像進(jìn)行評分,然后得分最高的結(jié)果可以認(rèn)為是最終的車牌字符識別結(jié)果。
具體地,對于車牌的第1個字符單獨處理,約占車牌的前1/7個位置,該寬度記為w1,后面的6個字符則約占車牌的6/7個位置,該寬度記為w2。對于上述的每一個近似結(jié)果的車牌字符序列可記為w1=(c1)、w2=(c2,c3,...,c7),對于車牌字符分割出的斷點可以記為對于車牌圖像可以記為I∈RW×H,其中車牌字符總長度記為W,高度記為H。另外,對于前1個字符塊可以用矩陣表示,后6個字符塊可以用矩陣表示。
最后,就要對上述每一個近似結(jié)果的車牌字符圖像進(jìn)行評分了。其車牌字符評分函數(shù)如下:
其中:m函數(shù)即為車牌單字符的評分函數(shù)。
通常情況下,車牌識別方法中車牌定位準(zhǔn)確率低,對于車輛是在行進(jìn)的過程中、夜晚路燈或者車燈的影響以及天氣氣候的影響等復(fù)雜環(huán)境下的車牌識別率低等問題。本發(fā)明實施例,可針對上述的復(fù)雜環(huán)境也能較為準(zhǔn)確的定位到并識別車牌,在拍攝到車牌畫面不清晰的情況下,仍然能保持較高的識別率,能有效的用于多種場合的車牌識別方法。
以下為上述本發(fā)明實施例的詳細(xì)闡述,具體如下:
1)、首先訓(xùn)練出分類器。使用卷積神經(jīng)網(wǎng)絡(luò)來訓(xùn)練出一個能分類出字符或非字符的分類器,以便后面步驟車牌字符定位的需要。這個步驟需要大量的車牌圖像的訓(xùn)練樣本;
2)、然后獲取車牌圖像并對圖像進(jìn)行預(yù)處理。具體的方法是對圖片進(jìn)行灰度化和灰度填充的處理,所述灰度化是通過使用matlab自帶的灰度化函數(shù)rgb2gray()來實現(xiàn),灰度填充是在灰度化后使用matlab自帶的另外一個函數(shù)padarray()來實現(xiàn);
3)、其次使用步驟1訓(xùn)練出來的分類器與步驟2預(yù)處理后的圖像上,定位到車牌圖像中有字符的位置;
4)、再使用行程長度平滑算法將車牌字符連接起來形成一塊,并用字符框把識別的區(qū)域框起來形成多個候選區(qū)域;
5)、然后根據(jù)車牌的幾何特征寬高比來篩選掉不符合條件的候選區(qū)域;
6)、然后再次使用行程長度平滑算法將連接成一塊的車牌字符分割成一個一個獨立的字符,同時也可以得到車牌字符的多種近似結(jié)果,形成一個車牌字符序列;
7)、最后對步驟6分割出來的獨立字符的多個近似結(jié)果的車牌字符序列的進(jìn)行識別,從而識別出最終得到的車牌字符。
通過本發(fā)明實施例,獲取待處理圖像,對待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,采用目標(biāo)分類器對目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,N為大于1的整數(shù),使用第一預(yù)設(shè)算法對N個目標(biāo)區(qū)域?qū)個目標(biāo)區(qū)域連接起來,得到M個候選框,M為大于1的整數(shù),根據(jù)車牌的預(yù)設(shè)幾何特征對M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,K為小于M的正整數(shù),采用第二預(yù)設(shè)算法將K個目標(biāo)候選框分割為多個字符,并由多個字符得到多個字符序列,對多個字符序列進(jìn)行識別,得到目標(biāo)車牌。如此,本發(fā)明實施例,可針對上述的復(fù)雜環(huán)境也能較為準(zhǔn)確的定位到并識別車牌,在拍攝到車牌畫面不清晰的情況下,仍然能保持較高的識別率,能有效的用于多種場合的車牌識別方法,從而,提高車牌識別的正確率。
與上述一致地,請參閱圖2,為本發(fā)明實施例提供的一種車牌識別方法的第二實施例流程示意圖。本實施例中所描述的車牌識別方法,包括以下步驟:
201、獲取車牌圖像的正樣本集和負(fù)樣本集;
其中,步驟201中的正樣本集可為車牌圖像,例如,車牌圖像的特征等等,正樣本集中包含多個正樣本。負(fù)樣本集則為用戶想檢索的車牌圖像之外的景物,負(fù)樣本集中包含多個負(fù)樣本。上述正樣本集和負(fù)樣本集的包含的樣本數(shù)量當(dāng)然越多,訓(xùn)練出來的模型越準(zhǔn)確,但是,正樣本和負(fù)樣本的數(shù)量越多,也會增加訓(xùn)練時候的計算成本。采用分類器對正樣本集和負(fù)樣本集進(jìn)行訓(xùn)練,就可以得到一個訓(xùn)練模型。其中,上述分類器可為神經(jīng)網(wǎng)絡(luò)分類器,支持向量基(Support Vector Machine,SVM)分類器、遺傳算法分類器、CNN分類器等等。
202、使用卷積神經(jīng)網(wǎng)絡(luò)算法對所述正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到目標(biāo)分類器。
203、獲取待處理圖像。
204、對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像。
205、采用所述目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù)。
206、使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù)。
207、根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù)。
208、采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列。
209、對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
其中,上述步驟203-步驟209可參照圖1所描述的車型識別方法的對應(yīng)步驟。
可以看出,通過本發(fā)明實施例,獲取車牌圖像的正樣本集和負(fù)樣本集,使用卷積神經(jīng)網(wǎng)絡(luò)算法對正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到目標(biāo)分類器,獲取待處理圖像,對待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,采用目標(biāo)分類器對目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,N為大于1的整數(shù),使用第一預(yù)設(shè)算法對N個目標(biāo)區(qū)域?qū)個目標(biāo)區(qū)域連接起來,得到M個候選框,M為大于1的整數(shù),根據(jù)車牌的預(yù)設(shè)幾何特征對M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,K為小于M的正整數(shù),采用第二預(yù)設(shè)算法將K個目標(biāo)候選框分割為多個字符,并由多個字符得到多個字符序列,對多個字符序列進(jìn)行識別,得到目標(biāo)車牌。如此,本發(fā)明實施例,可針對上述的復(fù)雜環(huán)境也能較為準(zhǔn)確的定位到并識別車牌,在拍攝到車牌畫面不清晰的情況下,仍然能保持較高的識別率,能有效的用于多種場合的車牌識別方法,從而,提高車牌識別的正確率。
與上述一致地,以下為實施上述車牌識別方法的裝置,具體如下:
請參閱圖3a,為本發(fā)明實施例提供的一種終端的第一實施例結(jié)構(gòu)示意圖。本實施例中所描述的終端,包括:獲取單元301、處理單元302、訓(xùn)練單元303、連接單元304、篩選單元305、分割單元306和識別單元307,具體如下:
獲取單元301,用于獲取待處理圖像;
處理單元302,用于對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像;
訓(xùn)練單元303,用于采用目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù);
連接單元304,用于使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù);
篩選單元305,用于根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù);
分割單元306,用于采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列;
識別單元307,用于對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
可選地,如圖3b所示,圖3b為圖3a所描述的終端的處理單元302的細(xì)化結(jié)構(gòu),所述處理單元302可包括:處理模塊3021和填充模塊3022,具體如下:
轉(zhuǎn)化模塊3021,用于將所述待處理圖像轉(zhuǎn)化為灰度圖像;
填充模塊3022,用于對所述灰度圖像進(jìn)行填充處理,得到所述目標(biāo)圖像。
可選地,如圖3c所示,圖3c為圖3a所描述的終端的連接單元304的細(xì)化結(jié)構(gòu),所述連接單元304包括:處理模塊3041和連接模塊3042,具體如下:
處理模塊3041,用于采用行程長度平滑算法對所述N個目標(biāo)區(qū)域進(jìn)行平滑處理,得到平滑處理后的所述N個目標(biāo)區(qū)域;
連接模塊3042,用于將所述平滑處理后的所述N個目標(biāo)區(qū)域連接成一個區(qū)域,并采用預(yù)設(shè)字符框?qū)⑺鲎址M(jìn)行標(biāo)記,得到所述M個候選框。
可選地,所述獲取單元301,還具體用于:
在獲取待處理圖像之前,獲取正樣本集和負(fù)樣本集;
所述訓(xùn)練單元303,還具體用于:
訓(xùn)練使用卷積神經(jīng)網(wǎng)絡(luò)算法對所述正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到所述目標(biāo)分類器。
可選地,如圖3d所示,圖3d為圖3a所描述的終端的識別單元307的細(xì)化結(jié)構(gòu),所述識別單元307可包括:評分模塊3071和確定模塊3072,具體如下:
評分模塊3071,用于采用如下公式分別對所述多個字符序列進(jìn)行評分,得到所述多個評分值,如下:
其中,m函數(shù)為字符序列中每一字符的評分函數(shù),所述字符序列的首字符的寬度為w1,所述字符序列的剩余字符寬度為w2,w1=(c1)、w2=(c2,c3,...,c7),所述字符序列分割出的斷點為所述字符序列為I∈RW×H,所述字符序列的寬度為W,高度為H,s表示評分值,所述首字符所述剩余字符
確定模塊3072,用于將所述多個評分值中的最大值對應(yīng)的字符序列作為所述目標(biāo)車牌。
可以看出,通過本發(fā)明實施例所描述的終端,可獲取待處理圖像,對待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,采用目標(biāo)分類器對目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,N為大于1的整數(shù),使用第一預(yù)設(shè)算法對N個目標(biāo)區(qū)域?qū)個目標(biāo)區(qū)域連接起來,得到M個候選框,M為大于1的整數(shù),根據(jù)車牌的預(yù)設(shè)幾何特征對M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,K為小于M的正整數(shù),采用第二預(yù)設(shè)算法將K個目標(biāo)候選框分割為多個字符,并由多個字符得到多個字符序列,對多個字符序列進(jìn)行識別,得到目標(biāo)車牌。如此,本發(fā)明實施例,可針對上述的復(fù)雜環(huán)境也能較為準(zhǔn)確的定位到并識別車牌,在拍攝到車牌畫面不清晰的情況下,仍然能保持較高的識別率,能有效的用于多種場合的車牌識別方法,從而,提高車牌識別的正確率。
與上述一致地,請參閱圖4,為本發(fā)明實施例提供的一種終端的第二實施例結(jié)構(gòu)示意圖。本實施例中所描述的終端,包括:至少一個輸入設(shè)備1000;至少一個輸出設(shè)備2000;至少一個處理器3000,例如CPU;和存儲器4000,上述輸入設(shè)備1000、輸出設(shè)備2000、處理器3000和存儲器4000通過總線5000連接。
其中,上述輸入設(shè)備1000具體可為觸控面板、物理按鍵或者鼠標(biāo)。
上述輸出設(shè)備2000具體可為顯示屏。
上述存儲器4000可以是高速RAM存儲器,也可為非易失存儲器(non-volatile memory),例如磁盤存儲器。上述存儲器4000用于存儲一組程序代碼,上述輸入設(shè)備1000、輸出設(shè)備2000和處理器3000用于調(diào)用存儲器4000中存儲的程序代碼,執(zhí)行如下操作:
上述處理器3000,用于:
獲取待處理圖像;
對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像;
采用目標(biāo)分類器對所述目標(biāo)圖像進(jìn)行訓(xùn)練,得到包含字符的N個目標(biāo)區(qū)域,所述N為大于1的整數(shù);
使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,所述M為大于1的整數(shù);
根據(jù)車牌的預(yù)設(shè)幾何特征對所述M個候選框進(jìn)行篩選,得到K個目標(biāo)候選框,所述K為小于所述M的正整數(shù);
采用第二預(yù)設(shè)算法將所述K個目標(biāo)候選框分割為多個字符,并由所述多個字符得到多個字符序列;
對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌。
可選地,上述處理器3000對所述待處理圖像進(jìn)行預(yù)處理,得到目標(biāo)圖像,包括:
將所述待處理圖像轉(zhuǎn)化為灰度圖像;
對所述灰度圖像進(jìn)行填充處理,得到所述目標(biāo)圖像。
可選地,上述處理器3000使用第一預(yù)設(shè)算法將所述N個目標(biāo)區(qū)域連接起來,得到M個候選框,包括:
采用行程長度平滑算法對所述N個目標(biāo)區(qū)域進(jìn)行平滑處理,得到平滑處理后的所述N個目標(biāo)區(qū)域;
將所述平滑處理后的所述N個目標(biāo)區(qū)域連接成一個區(qū)域,并采用預(yù)設(shè)字符框?qū)⑺鲎址M(jìn)行標(biāo)記,得到所述M個候選框。
可選地,上述處理器3000在獲取待處理圖像之前,還具體用于:
獲取車牌圖像的正樣本集和負(fù)樣本集;
使用卷積神經(jīng)網(wǎng)絡(luò)算法對所述正樣本集和所述負(fù)樣本集進(jìn)行訓(xùn)練,得到所述目標(biāo)分類器。
可選地,上述處理器3000對所述多個字符序列進(jìn)行識別,得到目標(biāo)車牌,包括:
采用如下公式分別對所述多個字符序列進(jìn)行評分,得到所述多個評分值,如下:
其中,m函數(shù)為字符序列中每一字符的評分函數(shù),所述字符序列的首字符的寬度為w1,所述字符序列的剩余字符寬度為w2,w1=(c1)、w2=(c2,c3,...,c7),所述字符序列分割出的斷點為所述字符序列為I∈RW×H,所述字符序列的寬度為W,高度為H,s表示評分值,所述首字符所述剩余字符
將所述多個評分值中的最大值對應(yīng)的字符序列作為所述目標(biāo)車牌。
本發(fā)明實施例還提供一種計算機(jī)存儲介質(zhì),其中,該計算機(jī)存儲介質(zhì)可存儲有程序,該程序執(zhí)行時包括上述方法實施例中記載的任何一種車牌識別方法的部分或全部步驟。
盡管在此結(jié)合各實施例對本發(fā)明進(jìn)行了描述,然而,在實施所要求保護(hù)的本發(fā)明過程中,本領(lǐng)域技術(shù)人員通過查看所述附圖、公開內(nèi)容、以及所附權(quán)利要求書,可理解并實現(xiàn)所述公開實施例的其他變化。在權(quán)利要求中,“包括”(comprising)一詞不排除其他組成部分或步驟,“一”或“一個”不排除多個的情況。單個處理器或其他單元可以實現(xiàn)權(quán)利要求中列舉的若干項功能。相互不同的從屬權(quán)利要求中記載了某些措施,但這并不表示這些措施不能組合起來產(chǎn)生良好的效果。
本領(lǐng)域技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、裝置(設(shè)備)、或計算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。計算機(jī)程序存儲/分布在合適的介質(zhì)中,與其它硬件一起提供或作為硬件的一部分,也可以采用其他分布形式,如通過Internet或其它有線或無線電信系統(tǒng)。
本發(fā)明是參照本發(fā)明實施例的方法、裝置(設(shè)備)和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
盡管結(jié)合具體特征及其實施例對本發(fā)明進(jìn)行了描述,顯而易見的,在不脫離本發(fā)明的精神和范圍的情況下,可對其進(jìn)行各種修改和組合。相應(yīng)地,本說明書和附圖僅僅是所附權(quán)利要求所界定的本發(fā)明的示例性說明,且視為已覆蓋本發(fā)明范圍內(nèi)的任意和所有修改、變化、組合或等同物。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。