侯向?qū)?劉華春
(成都理工大學(xué)工程技術(shù)學(xué)院 電子信息與計(jì)算機(jī)工程系,四川 樂山 614007)
文獻(xiàn)[3]利用邊緣檢測算法進(jìn)行車牌粗定位,然后提取顏色紋理特征并輸入分類器,以實(shí)現(xiàn)精確定位;文獻(xiàn)[4]利用邊緣檢測并結(jié)合形態(tài)學(xué),從而得到連通的車牌區(qū)域;文獻(xiàn)[5]先利用彩色圖像的顏色特征對車牌圖像進(jìn)行粗定位,再利用邊緣檢測算法提取車牌區(qū)域;文獻(xiàn)[6]利用最小生成樹將圖像轉(zhuǎn)化為圖論中的圖,將獲取到的車牌候選區(qū)域進(jìn)行訓(xùn)練,從而識別出車牌區(qū)域。
以上車牌定位方式,在特定的場景下表現(xiàn)非常好,但對低光照、低對比度等自然場景下,很難同時(shí)保證車牌定位的準(zhǔn)確性、實(shí)時(shí)性和魯棒性。MSER被廣泛用于自然場景圖像本文的識別,然而很少有人將其與機(jī)器學(xué)習(xí)相結(jié)合用于車牌定位。本文在傳統(tǒng)MSER算法的基礎(chǔ)上做進(jìn)一步的改進(jìn),并結(jié)合機(jī)器學(xué)習(xí)的SVM算法,使車牌定位在復(fù)雜自然場景中的準(zhǔn)確性和魯棒性得到進(jìn)一步提高。
彩色圖像因攜帶有豐富的顏色特征,常用于車牌定位。由于RGB顏色空間不能基于人眼感知特性[7-9],因此,通常先對顏色空間進(jìn)行轉(zhuǎn)換,比如轉(zhuǎn)換為HSV顏色空間然后對彩色圖像進(jìn)行分割定位。實(shí)踐中發(fā)現(xiàn),采用顏色空間模型后,在光照適當(dāng)、色彩充足的情況下,車牌定位的效果非常好。缺點(diǎn)是當(dāng)光照不均,特別是在低光照、低對比度場景下,定位效果較差。此外,當(dāng)車牌與車身顏色相近時(shí),經(jīng)過顏色空間轉(zhuǎn)化為二值圖像后,車牌與背景完全連在一起,定位效果差強(qiáng)人意。
1.2.1 基于邊緣檢測的車牌定位 原理是將彩色車牌圖像灰度化后,突出字符邊緣及背景灰度劇烈變化的區(qū)域以實(shí)現(xiàn)定位。該方法的優(yōu)點(diǎn)在于計(jì)算量小,實(shí)時(shí)性較好,抗噪性也較好,并且一次識別可以進(jìn)行定位多張車牌;缺點(diǎn)是在背景稍復(fù)雜,垂直邊緣交錯(cuò)的場景下得到的區(qū)域比車牌要大的多,效果很不理想。
1.2.2 基于紋理特征的車牌定位 原理是將彩色車牌圖像灰度化后,按照行、列進(jìn)行掃描,統(tǒng)計(jì)車牌圖像灰度的躍變次數(shù),與預(yù)先設(shè)置的閾值進(jìn)行比較,最終實(shí)現(xiàn)車牌的定位。該方法抗噪性較差,在背景稍復(fù)雜,車牌與車身的紋理特征相近時(shí),效果很不理想。
1.2.3 基于形態(tài)學(xué)的車牌定位 原理是對圖像進(jìn)行灰度化及二值化后,根據(jù)車牌字符特征確定形態(tài)學(xué)結(jié)構(gòu)元素的大小,利用數(shù)學(xué)形態(tài)學(xué)運(yùn)算中開、閉操作得到車牌候選區(qū)域[10], 然后去除非車牌區(qū)域,最終得到車牌區(qū)域。 該方法的缺點(diǎn)是結(jié)構(gòu)元素的大小不好選取,過大會引入噪聲, 過小則無法確定連通區(qū)域。
1.2.4 基于機(jī)器學(xué)習(xí)的車牌定位 首先,收集車牌樣本集,然后用機(jī)器學(xué)習(xí)算法對車牌樣本集進(jìn)行訓(xùn)練直至算法收斂,最后用訓(xùn)練出來的算法模型對車牌進(jìn)行定位。該類算法優(yōu)點(diǎn)是具有自適應(yīng)和自學(xué)習(xí)能力,在光照不均等復(fù)雜場景下也能精確定位車牌,具有較強(qiáng)抗噪性和魯棒性。缺點(diǎn)是訓(xùn)練過程中容易陷入局部最優(yōu)。
通過上述分析可知,傳統(tǒng)的車牌定位算法在復(fù)雜的自然場景下差強(qiáng)人意,而機(jī)器學(xué)習(xí)算法具有自適應(yīng)和自學(xué)習(xí)能力,可以通過參數(shù)調(diào)優(yōu)以及調(diào)整算法結(jié)構(gòu)來解決復(fù)雜問題。
MSER因其具有良好的仿射不變性、抗噪性、實(shí)時(shí)性、高回召率及穩(wěn)定性而被廣泛應(yīng)用于自然場景下文本的定位[11-12]。首先將彩色圖像轉(zhuǎn)化為灰度圖(灰度值為0~255),然后對灰度圖像分別用[0,255]連續(xù)閾值進(jìn)行二值化。在閾值由小至大的過程中,遍歷圖像中的每一個(gè)像素灰度值,將像素灰度值小于閾值的點(diǎn)置為黑色,像素灰度值大于閾值的點(diǎn)置為白色。在得到的所有二值圖像中,圖像中的某些連通區(qū)域變化很小,甚至沒有變化,則該區(qū)域就被稱為最大穩(wěn)定極值區(qū)域[13-14]。
圖1展示了閾值遞增過程中,所生成的部分二值化圖像,其中左上角是原始彩色圖像,白色圖像代表閾值為0時(shí)的二值化圖像,右下角黑色圖像是閾值為255時(shí)的二值化圖像,觀察其余幾個(gè)圖像在閾值逐漸遞增的過程中,所生成的黑色連通區(qū)域就是最大穩(wěn)定極值區(qū)域。
圖 1不同閾值的二值化圖像Fig.1 Image binarization of different thresholds
MSER雖然被業(yè)界廣泛用于自然場景下文本的檢測,然而MSER的高回召率也檢測到了很多不是文本的區(qū)域,這是基于MSER 區(qū)域進(jìn)行文本定位的最主要挑戰(zhàn)之一。
對傳統(tǒng)MSER的算子做進(jìn)一步改進(jìn),使其能在線性時(shí)間內(nèi)完成對圖像 MSER 的運(yùn)算。并在此基礎(chǔ)上,將MSER算子和SVM算法相結(jié)合,以提高其在復(fù)雜自然場景中定位的準(zhǔn)確性、實(shí)時(shí)性以及魯棒性。MSER文本檢測的流程如圖2所示。
在圖像預(yù)處理階段,首先對原始圖像進(jìn)行高斯去噪處理,然后將其灰度化,以便為MSER算子做準(zhǔn)備。MSER階段獲取字符區(qū)域,由于其高回召率將一部分非字符區(qū)域也當(dāng)成字符區(qū)域,因此,首先通過尺寸判斷,將明顯不是字符區(qū)域的穩(wěn)定極值區(qū)剔除,剩余的候選字符區(qū)里仍然會有非字符區(qū)域,但已經(jīng)不能通過尺寸來判斷了。所以可將其輸入SVM字符區(qū)域識別模型進(jìn)行剔除,最后對得到的字符區(qū)域進(jìn)行組合,最終得到精確的車牌區(qū)域。
圖 2MSER文本檢測的流程Fig.2 The text detection process of MSER
首先進(jìn)行尺寸判斷,獲取多個(gè)候選車牌字符的MSER,這些MSER中既有車牌字符區(qū)域,也有非車牌字符區(qū)域。尺寸判斷所要做的就是從中剔除明顯不是車牌字符的區(qū)域。根據(jù)我國車牌的特點(diǎn),利用字符區(qū)域的高寬比和占空比可以將明顯不是字符的區(qū)域剔除,具體流程如下:
(1) 計(jì)算候選車牌字符區(qū)域的外接矩形。
(2) 計(jì)算候選車牌字符區(qū)域的面積Area,即矩形區(qū)域內(nèi)灰度值為零的像素點(diǎn)的個(gè)數(shù)。
(3) 計(jì)算字符的高寬比f=h/w,其中,h表示字符區(qū)域的高,w表示字符區(qū)域的寬,如果f不在[1.5, 2.5]范圍內(nèi),則可剔除該區(qū)域。
(4) 計(jì)算字符區(qū)域的占空比p=A/(hw)。如果p不在[0.2, 0.7] 范圍內(nèi),則可剔除該區(qū)域。
(5) 去除重疊矩形區(qū)域。通過第(3),(4)步可以剔除明顯不是字符區(qū)域的的部分,因?yàn)镸SER采用的是連續(xù)閾值的二值化,在這一過程中,會產(chǎn)生許多重疊的矩形區(qū)域,這些重疊的矩形區(qū)域會對之后的字符區(qū)域組合產(chǎn)生不利的影響,因此需要剔除。經(jīng)過大量實(shí)踐,發(fā)現(xiàn)如果2個(gè)矩形區(qū)域R1,R2,滿足條件SR1∩R2/SR1∪R2≥0.5,則保留R1,除去R2,其中S代表的是并或交運(yùn)算之后的面積。
(6) 最后將第(5)步得到的候選字符區(qū)域輸入已經(jīng)訓(xùn)練好的SVM分類器進(jìn)行分類[15-16],最終剔除非車牌的字符區(qū)域。顯然,SVM分類器的分類效果的優(yōu)劣將直接影響本步以及下節(jié)將要進(jìn)行的車牌精定位的效果。要利用SVM模型對候選字符區(qū)域進(jìn)行分類。首先,收集第(5)步中得到的候選字符區(qū)域,并將其歸一化為16×32像素。手工將其分為hasChar(字符區(qū)域)和noChar(非字符區(qū)域)。其次,要取得好的分類效果,還需要選取適合的核函數(shù)。本文采用直方統(tǒng)計(jì)來提取輸入數(shù)據(jù)的特征,每個(gè)樣本有16行,32列共48個(gè)維度,訓(xùn)練樣本的數(shù)目是4 200張。由于輸入數(shù)據(jù)特征的維度比較小,而訓(xùn)練樣本的數(shù)量較大,因此選取徑向基核函數(shù)做為SVM模型的核函數(shù)。這樣就將每個(gè)數(shù)據(jù)的維度轉(zhuǎn)化為4 200維,可以充分利用髙維的線型分類帶來低維空間下的非線性分類效果的優(yōu)勢。最后,利用Opencv的svm.train-auto()函數(shù)設(shè)置相應(yīng)的參數(shù),然后一步一步自動調(diào)優(yōu),最終獲取到分類效果最好的參數(shù)。
精確定位就是將車牌字符區(qū)域組合成連通域的過程,為了達(dá)到良好的聚合效果,本文采用基于強(qiáng)種子的區(qū)域生長方法[17-20],具體算法如下:
(1) 將SVM分類結(jié)果概率大于0.9的設(shè)為強(qiáng)種子,在圖3中用綠色框表示。
(2) 將相鄰的強(qiáng)種子進(jìn)行合并,并標(biāo)出穿過這些強(qiáng)種子中心的直線,在圖3中用白線表示。
(3) 在中心線的附近找SVM分類結(jié)果概率大于0.65且小于0.9的弱種子進(jìn)行合并,在圖3中用藍(lán)色框表示。
(4) 通過每個(gè)方框中心點(diǎn)之間的距離來找出夾在中間的SVM分類結(jié)果概率小于0.65的字符區(qū)域進(jìn)行合并,在圖3中用橙色框表示。
(5) 統(tǒng)計(jì)綠色框、藍(lán)色框和橙色框的個(gè)數(shù)n,如果n=7則生長結(jié)束;如果n<3可判定為不是車牌區(qū)域;如果3≤n<7則說明有缺失的字符,即通過MSER算子無法提取到,這時(shí)可以通過增加一個(gè)滑動窗口來尋找這些缺失的數(shù)字、字母或者漢字字符區(qū)域。第一步,統(tǒng)計(jì)綠色框、藍(lán)色框、橙色框以及紅色框(如果有的話)的總數(shù)n。如果n=7就結(jié)束;如果3≤n<7則進(jìn)入第二步。第二步,對綠色框、藍(lán)色框、橙色框以及紅色框按位置進(jìn)行排序。顯然,缺失的字符只能在所有框所組成區(qū)域的兩側(cè),即第一個(gè)框的左側(cè)或最后一個(gè)框的右側(cè)。在正常情況下,相鄰兩個(gè)字符區(qū)域間的距離是相等的,這里將其記為d。先將滑動窗口移到距離最后一個(gè)框的右側(cè)為d的位置,并將滑動窗口所在的區(qū)域送入SVM分類器。如果分類結(jié)果大于0.6,就認(rèn)為是缺失的字符,在圖3中用紅色框表示。否則,將滑動窗口移到距離第一個(gè)框的左側(cè)為d的位置,并將移動窗口所在的區(qū)域送入SVM分類器。如果左右兩側(cè)均未找到缺失的字符,并且所有框的個(gè)數(shù)之和是5,則表明缺失的是車牌分隔符前的字符,即整個(gè)車牌中的第二個(gè)字符,這個(gè)時(shí)候?qū)⒒瑒哟翱谝频骄嚯x第一個(gè)框的左側(cè)為1.22d的位置,并將移動窗口所在的區(qū)域送入SVM分類器。同樣,若分類結(jié)果大于0.6,就用紅色框表示。然后跳至第一步進(jìn)行下一次的循環(huán),直至n=7為止。
(6) 最后,將所有7個(gè)框所在的區(qū)域進(jìn)行合并,并求其外接矩形,在圖3中用大的紅色矩形表示,即為最終提取到的精確車牌區(qū)域。
圖 3車牌精確定位Fig.3 The accurate location of license plate
為了測試本文方案對不同場景下車牌定位的準(zhǔn)確性以及魯棒性,隨機(jī)選取不同場景下的彩色機(jī)動車圖像3 000張。從這3 000張圖像中隨機(jī)抽出1 000張圖像,對其依次進(jìn)行字符區(qū)域的高寬比和占空比以及重疊區(qū)域判斷,從而得到候選車牌字符區(qū)域,并將其歸一化為16×32的圖像樣本集合。手工從這些16×32的樣本集合中挑選出2 000張的字符區(qū)域和4 000張的非字符區(qū)域。并分別拿出其中70%做為訓(xùn)練用,剩余30%用來進(jìn)行測試。然后手工將貼好標(biāo)簽的字符區(qū)域樣本集輸入SVM模型中進(jìn)行訓(xùn)練,直至各參數(shù)調(diào)至最優(yōu)。將剩余的2 000張彩色機(jī)動車圖像分成白天(386張),晚上(403張),陰天(392張),雨天(411張),霧天(408張)5組場景來進(jìn)行實(shí)驗(yàn)。
首先采用文獻(xiàn)[4]中基于Sobel算子邊緣檢測和數(shù)學(xué)形態(tài)學(xué)的定位方法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1所示。
表 1各場景下的實(shí)驗(yàn)結(jié)果1Table 1 Result one in various scenarios
然后采用文獻(xiàn)[5]中基于顏色特征和改進(jìn)Canny算子的定位方法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表 2各場景下的實(shí)驗(yàn)結(jié)果2Table 2 Result two in various scenarios
最后采用本文基于MSER和SVM以及強(qiáng)種子區(qū)域生長的車牌定位的方法, 進(jìn)行實(shí)驗(yàn), 相關(guān)實(shí)驗(yàn)參數(shù)的選取依據(jù) 2.1和2.2節(jié)。 實(shí)驗(yàn)的結(jié)果如表3所示。
表 3各場景下的實(shí)驗(yàn)結(jié)果3Table 3 Result three in various scenarios
從實(shí)驗(yàn)結(jié)果可以看出,本方案不僅在正常光照條件下的定位成功率非常高,接近99%;而且在陰天、晚上光照不強(qiáng)及光照不均場景下的平均識別率也達(dá)到96%以上,比文獻(xiàn)[4]高出3%以上,比文獻(xiàn)[5]高出近2%。在雨天、霧天等復(fù)雜場景下的平均識別率95%以上,比文獻(xiàn)[4] 高出近3.2%,比文獻(xiàn)[5]高出近2.1%。綜合各場景下的情況,本方案的平均識別率接近97%,比文獻(xiàn)[4] 高出近3.1%,比文獻(xiàn)[5]高出近2.05%。實(shí)驗(yàn)表明,本方案在各種場景下都具有很強(qiáng)的適應(yīng)性和魯棒性,定位成功率非常高。
本文將自然場景下的文本識別算法MSER和SVM算法相結(jié)合。首先利用MSER得到最大穩(wěn)定極值區(qū)域即候選字符區(qū)域,然后對候選字符區(qū)域及位置關(guān)系進(jìn)行進(jìn)一步分析,剔除較明顯的干擾區(qū)域,接著利用SVM算法篩選出最終的字符區(qū)域,最后通過聚合字符區(qū)域提取出精確的車牌位置。通過對比實(shí)驗(yàn)表明,該方法在不同場景下的定位準(zhǔn)確率都有很好地表現(xiàn),其自適應(yīng)能力和魯棒都較好,具有較好地適用性。