趙永猛,宓 超
上海海事大學(xué) 物流工程學(xué)院,上海 201306
隨著智能交通[1]的無人化發(fā)展,出現(xiàn)了諸如車牌付、自動發(fā)卡機(jī)、ETC 等多場景的應(yīng)用,但由于車型信息未聯(lián)入交通系統(tǒng)網(wǎng)絡(luò),僅靠車牌信息不能有效對應(yīng)車輛型號,一些收費場景出現(xiàn)了大量套牌漏費等現(xiàn)象,為抑制該現(xiàn)象,智能識別車型顯得尤為重要。
目前車型識別的研究大多基于車輛的外觀輪廓特征[2-3]進(jìn)行識別,這對于車型相近且處于分類區(qū)間邊緣的車輛,識別率并不理想。例如高速公路車型分類對于客車按座位數(shù)分類,但存在座位少車身長,座位多車身短的情況,僅靠外觀輪廓及輪軸特征無法有效區(qū)分。根據(jù)國家規(guī)定,大型荷載客車車身均需印刷限載字符字樣,而客車印刷的限載人數(shù)也與客車等級相對應(yīng),因此本文提出通過識別車身限載數(shù)字進(jìn)行車型識別的算法,以此作為車型識別的輔助手段。
目前自然場景下的字符識別主要分為兩個階段:文本檢測和字符識別。文本檢測階段大體歸納為傳統(tǒng)的文本檢測和基于深度學(xué)習(xí)的文本檢測,而后者針對復(fù)雜環(huán)境下的樣本,無法普遍性地進(jìn)行有效的檢測。傳統(tǒng)的文本檢測主要分為基于連通域[4]和基于滑動窗[5-6]的文本檢測?;诨瑒哟暗奈谋緳z測要求尋找區(qū)分度好的描述特征[7],但描述特征會受到光照、陰影等影響?;谶B通域分析的文本檢測算法從連通域獲取途徑來看,分為邊緣檢測算法和文本級檢測算法,后者主要采用最大穩(wěn)定極值[8]、顏色聚類[9]及筆畫寬度變換(Stroke Width Transform,SWT)[10]等來區(qū)分文本區(qū)域和背景區(qū)域,這對于受光照不均且顏色雜亂的客車樣本并不適用。文獻(xiàn)[11-12]等采用了一些邊緣檢測算子檢測出圖像的邊緣信息,然后對邊緣圖像進(jìn)行形態(tài)學(xué)處理以剔除偽文本區(qū)域,取得了不錯的效果。字符識別階段,分為傳統(tǒng)的字符識別方法和基于深度學(xué)習(xí)的方法。傳統(tǒng)的字符識別主要分為預(yù)處理、特征提取及特征分類三個階段?;谏疃葘W(xué)習(xí)的字符識別是目前研究的趨勢。如劉寶龍[13]基于遷移深度卷積神經(jīng)網(wǎng)絡(luò),對船名標(biāo)識符進(jìn)行了識別。張紹明等[14]使用深度卷積神經(jīng)網(wǎng)絡(luò)模型以及采用Faster R-CNN 的思想實現(xiàn)了集裝箱箱號的提取。但由于車身數(shù)字字符字體規(guī)范且種類較少,基于深度學(xué)習(xí)的字符識別相比基于傳統(tǒng)方法字符識別,其識別率并無顯著提升,而且其對復(fù)雜環(huán)境下的樣本識別效果不太理想,因此考慮到樣本所處的環(huán)境以及車身文本的特點,有必要尋求一種自然環(huán)境下車身文本識別算法。
自然環(huán)境下的車身文字識別存在以下難點:字體顏色和車身顏色雜亂,字體尺寸不一致,字體間隔無統(tǒng)一標(biāo)準(zhǔn),而且受光照不均以及陰影等影響。針對上述難點以及實際工程要求,本文提出的方法如下:首先通過改進(jìn)的二值化算法結(jié)合車身文本的特征實現(xiàn)文本定位,然后將分割出的限載數(shù)字字符通過神經(jīng)網(wǎng)絡(luò)進(jìn)行識別,以此實現(xiàn)車身字符識別。
本文提出通過識別車身字符進(jìn)行車型識別的方法,作為車型識別的輔助手段,以提高車型識別率。該方法相比基于外觀尺寸特征的車型識別方法,針對分類區(qū)間邊緣的客車車型,識別率得到有效的提升。識別算法流程采用了文本定位、字符分割及字符識別三階段法。其中在文本定位階段,針對客車樣本特點,要求在復(fù)雜環(huán)境下使得樣本在文本區(qū)域的保存與區(qū)分方面有較好的表現(xiàn),為此提出了改進(jìn)二值化Psauvola 方法,與其他局部二值化方法相比該方法表現(xiàn)更加優(yōu)異,且最終分割出的字符識別率更高。Psauvola 方法對光照有較強(qiáng)的魯棒性,并且能夠消除大部分陰影帶來的影響,可有效處理復(fù)雜環(huán)境下的樣本;根據(jù)格式塔特征,針對限載字符的特點,有效剔除了干擾字符。對于復(fù)雜環(huán)境下的字符識別,目前使用深度學(xué)習(xí)的方法還未得到有效解決。
算法所采用的樣本采集裝置安裝位置及應(yīng)用場景如圖1所示。
圖1 部分應(yīng)用場景及相機(jī)安裝位置
本文算法流程如下:第一階段檢測客車樣本文本區(qū)域;第二階段將定位出的文字區(qū)域分割成獨立字符;最后階段使用傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)對提取的數(shù)字字符進(jìn)行識別。
本節(jié)提出檢測車身文本區(qū)域的命題,首先根據(jù)形態(tài)學(xué)操作[15]粗定位出類字符區(qū)域,然后將類字符區(qū)域的灰度樣本通過改進(jìn)的二值化算法(Psauvola)轉(zhuǎn)化成二值圖,最后對二值圖中印刷字符的格式塔特征進(jìn)行分析與提取,以實現(xiàn)文本區(qū)域精定位。
由于車身印刷不規(guī)范,印刷顏色雜亂,且車身顏色不統(tǒng)一,灰度化后的客車樣本文本區(qū)域與周圍車身背景區(qū)域之間的灰度值無確定大小關(guān)系,如圖2 黃框處所示,圖2(a)文字區(qū)域灰度大于周圍車身灰度,而圖2(b)文字區(qū)域灰度小于周圍車身灰度。因此粗檢測區(qū)域在進(jìn)行二值化之前,應(yīng)當(dāng)先比較出文本灰度值與背景灰度值的大小,之后再以比較出的大小關(guān)系為賦值原則將樣本轉(zhuǎn)化成統(tǒng)一的二值圖。
圖2 不同灰度值大小關(guān)系的客車樣本
具體的文字區(qū)域檢測流程圖如圖3所示。
2.1.1 字符區(qū)域粗檢測
為初步檢測出字符區(qū)域,對樣本進(jìn)行預(yù)處理操作。首先采用高斯濾波的方法去除高頻部分的噪聲[15];其次采用加權(quán)平均的方法將樣本灰度化;客車圖像的采集均是由地感線圈觸發(fā)拍攝獲取,因此獲得的樣本,其客車位置基本相同,對圖像進(jìn)行剪切以排除外界環(huán)境的干擾因素。預(yù)處理后的樣本如圖4(a)所示。
圖3 文本定位總體流程圖
樣本預(yù)處理后,利用邊緣提取算子[16]結(jié)合結(jié)構(gòu)元素將字符區(qū)域膨脹成一個粘連的整體連通域,之后通過字符區(qū)域的幾何特征(長、寬及長寬比),結(jié)合連通域像素數(shù)以及黑白像素比篩除非文本區(qū)域;將最終得到的文本區(qū)域連通域通過最小外接矩形框框出,最后以此為蒙板在灰度圖像的對應(yīng)位置裁剪出來,圖4(b)為最終篩選出的類文本區(qū)域的連通域。
圖4 文本區(qū)域檢測分圖
以文本區(qū)域的外接矩形框為蒙板裁剪出的灰度圖如圖5(a)所示,圖5(b)是對灰度樣本進(jìn)行邊緣提取[10],然后由適當(dāng)大小的結(jié)構(gòu)元素膨脹得到。
圖5 根據(jù)外接矩形框剪切出的灰度圖及連通域圖
2.1.2 灰度值大小比較
由于客車樣本文本區(qū)域與周圍車身背景區(qū)域灰度值大小關(guān)系不確定,為將樣本轉(zhuǎn)化成統(tǒng)一的二值圖,需要先比較出兩者的灰度值大小?;谏弦恍」?jié)檢測出的類文本區(qū)域,對文本與車身背景之間的灰度值大小進(jìn)行比較,計算方法如下:
對 BW11(圖5(b))中的每個白色像素,對應(yīng)在Icrop1(圖5(a))中,求出相應(yīng)位置像素的平均灰度值,然后與Icrop1 中的所有像素的平均灰度值比較。具體計算如下:
式(1)中,P表示 BW11 中邏輯值為1 的坐標(biāo)集合,(i1,j1)表示BW11矩陣的坐標(biāo);
式(2)中,(i2,j2)表示Icrop1 的矩陣坐標(biāo),V(i2,j2)表示該坐標(biāo)下像素對應(yīng)的灰度值;Q表示符合(i2,j2)∈P的所有Icrop1矩陣坐標(biāo)下的像素對應(yīng)的灰度值集合。
式(3)中,sum(Q) 表示Q集合中所有像素的灰度值之和,card(Q) 表示Q集合中的元素數(shù)量;式(4)中sum(Icrop1)表示Icrop1 中所有像素的灰度值之和;m、n分別表示矩陣Icrop1 的行數(shù)與列數(shù)。
當(dāng)p1 >q1 時,說明文本區(qū)域平均灰度值大于周圍背景區(qū)域平均灰度值,當(dāng)p1 <q1 時,說明文本區(qū)域平均灰度值小于周圍背景區(qū)域平均灰度值。
2.1.3 改進(jìn)二值化算法(Psauvola)
進(jìn)行灰度值大小比較之后,下一步將樣本轉(zhuǎn)化成統(tǒng)一的二值圖。二值圖通常用于文字的掃描識別,因此字符分割與識別之前,需要對樣本進(jìn)行二值化。本節(jié)提出了計算二值化閾值的命題,該閾值要求能夠?qū)蛙噲D像文字區(qū)域在復(fù)雜的自然環(huán)境背景中更好地工作,需要對光照有很強(qiáng)的魯棒性且能克服大部分陰影影響。Sauvola算法[17]的輸入是灰度圖像,它以當(dāng)前像素點為中心,根據(jù)當(dāng)前像素點鄰域內(nèi)的灰度均值與標(biāo)準(zhǔn)方差來動態(tài)計算該像素點的閾值。Sauvola方法能夠通過在圖像中使用一系列灰度值來解決黑噪聲[18]問題,其具體取決于對標(biāo)準(zhǔn)偏差值的影響,而且當(dāng)前景與背景對比度較大時,能更有效地進(jìn)行分割,Sauvola算法的表示如下:
其中,R是灰度(128),m是r×r鄰域內(nèi)的灰度平均值,σ是r×r鄰域內(nèi)的標(biāo)準(zhǔn)偏差,k設(shè)置為 0.2(默認(rèn)值)。本文根據(jù)樣本文字寬度設(shè)置為9×9像素的鄰域像素框,k值為0.1。
由上一小節(jié)判斷出文字區(qū)域與背景區(qū)域的灰度值大小,實驗發(fā)現(xiàn),當(dāng)p1 <q1 時,采用傳統(tǒng)的Sauvola算法進(jìn)行二值化,即output=(image <T)分割效果良好;而當(dāng)p1 >q1 時,即文本區(qū)域灰度值大于背景灰度值時,僅僅輸出反目標(biāo)區(qū)域,即output=(image >T),會使結(jié)果變得很模糊,丟失很多細(xì)節(jié)信息。
實際上,由于閾值較低,Sauvola方法未能對低對比度區(qū)域進(jìn)行二值化。因此,本文傾向于在整體閾值的基礎(chǔ)上增加閾值,以便在低對比度區(qū)域?qū)π畔⑦M(jìn)行分割。但是,如果閾值較高,則會在生成的圖像上引入噪聲和人工制品,需要提出具體增加閾值的方法。鄰域均值[19]對閾值有很大的影響,結(jié)合車身文本的灰度特點,通過在鄰域均值的基礎(chǔ)上增加閾值。本文計算了最大均值以替換原始均值。最大均值方程如下:
式(6)中,m表示鄰域均值,mmin表示鄰域內(nèi)最小灰度值,mx表示替換原始均值的最大均值。此時的閾值為:
式(7)中各參數(shù)與前述相同。
二值化賦值如下:
式(8)中,output表示輸出的二值圖像,image表示灰度圖像,T是當(dāng)前像素點鄰域內(nèi)的灰度均值與標(biāo)準(zhǔn)方差計算得到的閾值(二值化賦值準(zhǔn)則1),Tx是改進(jìn)后的閾值(二值化賦值準(zhǔn)則2)。
為方便觀察,將取得的二值圖都進(jìn)行了取反操作,效果如圖6所示,灰度值大小關(guān)系不同的兩張樣本均被轉(zhuǎn)化成文本區(qū)域為白色,背景區(qū)域為黑色的二值圖。
圖6 統(tǒng)一的二值圖
2.1.4 文本區(qū)域精定位
為利于后續(xù)字符分割,本小節(jié)對文本區(qū)域進(jìn)行進(jìn)一步的精定位。劉寶龍[13]利用格式塔理論對船名標(biāo)識符進(jìn)行檢測定位,取得不錯的效果。由于車身文本與船名標(biāo)識符具有的相似特征,本小節(jié)亦借鑒格式塔理論來進(jìn)行文本精定位。
2.1.4.1 格式塔理論
格式塔[13]作為心理學(xué)術(shù)語,具有兩種含義:一指事物的一般屬性,即形式;一指事物的個別實體,即分離的整體,形式僅為其屬性之一。也就是說,假使有一種經(jīng)驗的現(xiàn)象,它的每一成分都牽連到其他成分;而且每一成分之所以有其特性,是因為它和其他部分具有關(guān)系,這種現(xiàn)象便稱為格式塔??傊袷剿皇枪铝⒉蛔兊默F(xiàn)象,而是指通體相關(guān)的完整的現(xiàn)象。完整的現(xiàn)象具有它本身完整的特性,它既不能割裂成簡單的元素,同時它的特性又不包含于任何元素之內(nèi)。
2.1.4.2 車身文本的格式塔特征
車身文本本質(zhì)上就是一串具有特定格式的字符串文本。同時,車身文本也是一類由人類設(shè)計、印刷于車身的字符標(biāo)記。因而,車身標(biāo)識字符本身也常常體現(xiàn)出格式塔完形規(guī)則中的若干規(guī)則。具體總結(jié)如下:
(1)幾何特征相似性。雖然車身文本包含的字符可能不盡相同,但是屬于同一串標(biāo)識的字符在高度、面積大小、寬高比和字符數(shù)量等幾何特征方面應(yīng)該在一個特定的范圍內(nèi)。
(2)投影臨近性。屬于同一個車身文本標(biāo)識的字符的垂直投影(X軸投影)應(yīng)該彼此相鄰,并且這些投影之間的距離相對比較均勻。
(3)字符連續(xù)性??蛙囓嚿碇袑儆谕粋€標(biāo)識的字符通常被印刷于一行之中。
(4)字符低維特征相似性。雖然來自不同客車的車身文本可能在顏色、亮度等方面各不相同,但是同一個車身文本的字符經(jīng)常在底層特征信息方面(如顏色、亮度和紋理等)相互表現(xiàn)出較高的相似性。
二值樣本中的限載字符具體特征表現(xiàn)如下:二值樣本中字符連通域個數(shù)為4~6個;數(shù)字連通域個數(shù)為兩個;字符高度基本一致且在一定的大小范圍內(nèi);字符均印刷為一行,水平投影的高度范圍與字符高度基本一致。
根據(jù)上述特征,首先對圖5(a)所示的灰度文本,從圖6 所示的二值圖對應(yīng)位置處裁剪出粗檢測區(qū)域二值圖,然后根據(jù)字符格式塔特征篩選出符合條件的字符連通域,之后以所有符合條件的連通域的最小外接矩形框為蒙板,在粗檢測灰度圖中裁剪,最終得到的精定位字符區(qū)域如圖7所示。
圖7 精確定位后的字符區(qū)域灰度圖
如圖7所示,根據(jù)連通域個數(shù)條件篩選掉了下面的總質(zhì)量標(biāo)識,保留了限載字符區(qū)域。
精確定位出的文本區(qū)域二值圖如圖8所示,并將每個字符連通域用外接矩形框框出。
圖8 目標(biāo)區(qū)域的外接矩形框
觀察圖8 可知,數(shù)字字符具有如下特點:數(shù)字寬度占比文字寬度為0.4~0.6,高度占比為0.8~1.0。
對圖8所示的二值圖像,統(tǒng)計其每一列的白色像素數(shù),得到垂直投影圖如圖9所示。
圖9 目標(biāo)區(qū)域二值圖像垂直投影圖
字符分割準(zhǔn)則如下:
(1)設(shè)置矩形框標(biāo)簽。字符之間絕大多數(shù)是相互獨立的,因此每個字符連通域?qū)?yīng)一個外接矩形框,通過設(shè)置幾何閾值初步篩選出特定高度及寬度范圍內(nèi)的矩形框,同時對矩形框按從左到右的位置進(jìn)行標(biāo)記。
(2)設(shè)置波谷點標(biāo)簽。記錄等于閾值的對應(yīng)列數(shù)值,并依次進(jìn)行標(biāo)記。對標(biāo)簽數(shù)2、3 對應(yīng)的列數(shù)值,求出兩者中間的列數(shù)值,并重新賦予標(biāo)簽1,此為第一個波谷點;標(biāo)簽數(shù)4、5對應(yīng)的列數(shù)值的中間列數(shù)值對應(yīng)第二個波谷點,賦予標(biāo)簽2;以此類推,進(jìn)行波谷點標(biāo)記。
(3)比較篩選出的矩形框,若寬度大于上閾值(將篩選出的矩形框的平均寬度的特定倍數(shù)作為上下閾值),可能存在粘連字符,根據(jù)標(biāo)記的標(biāo)簽在投影圖中對應(yīng)標(biāo)簽的波谷點處進(jìn)行切割,并增加標(biāo)簽數(shù)。
(4)若矩形框?qū)挾鹊陀谙麻撝担涓叨确蠗l件,可能存在斷裂字符,判斷連通域質(zhì)心的水平距離,來決定是否進(jìn)行矩形框合并,合并的同時減少標(biāo)簽。
(5)分析最終得到的矩形框,按照數(shù)字字符矩形框?qū)?yīng)的標(biāo)簽數(shù)字規(guī)則(標(biāo)簽數(shù)為3~5),及該標(biāo)簽對應(yīng)的字符矩形框?qū)挾认啾人芯匦慰虻钠骄鶎挾却笮?,篩選出數(shù)字字符,并按標(biāo)簽大小進(jìn)行排列。
基于數(shù)字字符的幾何特征及投影圖分割準(zhǔn)則自動分割[20-21]出數(shù)字部分。由于部分樣本數(shù)字與文字之間垂直投影存在重疊部分,分割出的數(shù)字區(qū)域會連帶極少的文字部分,通過連通域篩選進(jìn)行剔除,最后得到的單個數(shù)字字符圖像并進(jìn)行歸一化處理后如圖10所示。
圖10 樣本分割得到的字符
車身限載字符識別的最后階段是對提取的字符進(jìn)行識別。應(yīng)用于字符識別的方法是神經(jīng)網(wǎng)絡(luò)。反向傳播(Back Propagation,BP)神經(jīng)算法是學(xué)習(xí)的一個監(jiān)督形式[22]。輸入向量顯示在輸入層,并允許向前傳播以生成輸出。計算實際輸出和所需輸出之間的均方誤差(Mean Square Error,MSE),并將其傳播到各層,以便能夠根據(jù)錯誤項按比例調(diào)整每個階段的連接權(quán)重,從而將其最小化。網(wǎng)絡(luò)訓(xùn)練的BP算法是一個迭代過程。它被反復(fù)應(yīng)用于一組輸入輸出對,稱為訓(xùn)練集,直到輸出誤差達(dá)到理想的小值。BP 神經(jīng)網(wǎng)絡(luò)包括一個輸入層、一個隱藏層和一個輸出層。
在本文設(shè)計的三層神經(jīng)網(wǎng)絡(luò)中,輸入節(jié)點為128,輸出節(jié)點為 6 個,輸出單元為10(本文僅識別0 至9 的10個數(shù)字,未對文字進(jìn)行識別)。用于訓(xùn)練BP網(wǎng)絡(luò)工作的數(shù)據(jù)集,共150個樣本,每個字符約15個樣本。
在BP神經(jīng)網(wǎng)絡(luò)中,動量項設(shè)置為0.95,誤差目標(biāo)設(shè)置為0.000 1。一條測試集,創(chuàng)建約200 個字符(每個字符有20個樣本)。隱藏層選擇25個節(jié)點。
實驗樣本均采集自廣西高嶺收費站某ETC 車道入口處,采用USB 相機(jī),由地感線圈觸發(fā)拍攝,照片分辨率為1 024×768,圖片格式為JPG。在采集的所有過往車輛樣本中,選取了100張三類客車樣本,100張四類客車樣本,且白天與晚上的樣本比例為4∶1(白天過往客車數(shù)量與夜間的比例大致在4∶1)。樣本示例如圖11所示。
圖11 示例樣本原圖
所有程序都是用宏基筆記本電腦用MATLAB2018a編寫,配備Intel Core i5 1.6 GHz四核處理器和8.00 GB RAM。
為驗證本文算法的有效性,分析算法流程中的步驟對識別結(jié)果的影響,以及提出的二值化算法相比其他局部閾值二值化算法對最終識別結(jié)果的影響,設(shè)置如下實驗:對200 張樣本使用本文提出的算法流程進(jìn)行識別,統(tǒng)計其最終識別率。分別以Bernsen、Niblack 及傳統(tǒng)的Sauvola 二值化方法代替本文提出的二值化算法(Psauvola),其余步驟不變,對樣本進(jìn)行識別實驗,并統(tǒng)計識別率。
3.3.1 樣本識別結(jié)果及分析
在如圖11所示的200張樣本上進(jìn)行識別實驗,根據(jù)廣西省交通部門對過往收費站的客車分類標(biāo)準(zhǔn),若識別出的數(shù)字位于20~39區(qū)間,則判定為三類車(C);識別出的數(shù)字區(qū)間在40及以上的判定為四類車(D);其余沒識別出字符,只識別出其中一個字符的或者不在上述數(shù)字區(qū)間的識別結(jié)果均判定為錯誤。部分識別結(jié)果如表1所示。
表1 部分識別結(jié)果
所有樣本統(tǒng)計結(jié)果如表2。
表2 樣本上的識別結(jié)果統(tǒng)計
從表2得到,其綜合識別率為88.5%。
基于外觀輪廓特征的車型識別總體識別率可以達(dá)到95%左右,但樣本比例上一類車居多,占比85%以上;識別錯誤的樣本大多為鄰類車型中的邊緣車型。為說明基于外觀輪廓特征的車型識別對邊緣車型的識別準(zhǔn)確率,從收費站統(tǒng)計了某一時間段(夜間環(huán)境并不影響外觀輪廓特征的獲取,因此任意時間段對統(tǒng)計結(jié)果均不產(chǎn)生影響)三類、四類客車的識別結(jié)果,并與obu(車載電子單元)車型進(jìn)行對比,其準(zhǔn)確率僅有80%左右。結(jié)果表明,本文提出的針對邊緣車型的識別算法,準(zhǔn)確率提高了將近10個百分點。
3.3.2 改進(jìn)二值化方法結(jié)果及分析
二值圖的轉(zhuǎn)化對文本區(qū)域的精定位及字符分割至關(guān)重要,對降級文本[18]擁有很好效果的Sauvola 算法進(jìn)行改進(jìn)后(Psauvola算法)對灰度圖像樣本進(jìn)行處理,與經(jīng)典的局部閾值算法Sauvola、Niblack、Bernsen 處理的樣本進(jìn)行對比,實驗以示例樣本中的其中一張為例,處理結(jié)果如圖12所示。
從圖12 可以看出,針對文字區(qū)域大于周圍車身背景區(qū)域的樣本,Sauvola算法未能分割出目標(biāo)區(qū)域,而是錯誤地將目標(biāo)區(qū)域輪廓分割了出來;Niblack 及Bernsen算法處理的樣本存在大量的噪聲,同樣無法清晰地將文字區(qū)域從背景區(qū)域中區(qū)分開來;而Psauvola算法,如圖12(b)所示,在文字區(qū)域的保存與區(qū)分方面明顯優(yōu)于其他算法。對降級文本[18]擁有很好效果的Sauvola算法用在車身文本上也表現(xiàn)出較好的效果,但需要針對車身文本特點進(jìn)行相應(yīng)改進(jìn)。
圖12 二值化對比圖
同時,自然環(huán)境下的樣本不免會受到陰影及光照等影響,這種情形下,也要求二值化算法能有效地將目標(biāo)區(qū)域區(qū)分開來。為說明改進(jìn)后的二值化算法(Psauvola)在光照和陰影方面的效果,本文挑選了部分較差光照環(huán)境下的樣本,在Psauvola 算法及Sauvola 算法下分別得到的效果如圖13所示。
圖13 Psauvola算法與Sauvola算法效果對比圖
如圖13所示,第一行是光照有陰影的樣本,第二行是Sauvola 算法處理后的樣本,第三行是Psauvola 算法處理后的樣本。顯而易見,Psauvola算法對較差環(huán)境下的樣本,在細(xì)節(jié)上相比Sauvola算法有更好的表現(xiàn),在文字區(qū)域的區(qū)分上有了極大改進(jìn),為后續(xù)字符分割奠定了基礎(chǔ);同時Psauvola 算法對光照有更強(qiáng)的魯棒性,且極大地減少了陰影的影響。
為表明Psauvola算法的有效性,使用其他二值化算法代替本文Psauvola 算法,其余步驟不變,對樣本進(jìn)行識別實驗,具體結(jié)果如表3所示。
表3 不同二值算法的最終字符識別樣本數(shù)
從表3可以看出,三種經(jīng)典局部閾值算法為基礎(chǔ)的字符識別算法,最終識別出正確結(jié)果的樣本數(shù)均不足100張,遠(yuǎn)小于本文算法(Psauvola算法)的樣本識別數(shù)。
字符識別的基礎(chǔ)是完整的字符分割,而字符分割成功與否與字符區(qū)域的精確定位及二值化算法的效果緊密相連,同時本文提出的精確定位算法亦與二值化算法有極大關(guān)聯(lián),因此二值化對字符識別起著至關(guān)重要的作用。結(jié)合表3 以及圖14,在優(yōu)化的Sauvola 算法基礎(chǔ)上對樣本進(jìn)行識別實驗,其識別成功率遠(yuǎn)大于以其他三種二值化算法為基礎(chǔ)的樣本識別成功率,表明了優(yōu)異的二值化算法對字符識別的重要影響。
圖14 不同二值化方法的樣本識別成功率對比
3.3.3 字符分割及識別結(jié)果分析
在字符區(qū)域檢測階段,能否準(zhǔn)確檢測出字符區(qū)域,對后續(xù)字符分割至關(guān)重要。樣本剪切后,車身干擾因素是其上印刷的一些標(biāo)識,如圖15所示車身圖標(biāo)、總質(zhì)量標(biāo)識、聯(lián)系電話以及其他車身標(biāo)識;這些干擾區(qū)域以“格式塔”特征分析,與限載字符區(qū)域構(gòu)成了兩個整體,即限載字符區(qū)域作為一個整體,干擾區(qū)域是一個整體。篩選出干擾區(qū)域后最終成功檢測出的僅含文字區(qū)域的樣本為198 張。字符定位階段對后續(xù)字符分割及識別幾乎不產(chǎn)生影響。
圖15 干擾標(biāo)識及最終檢測出的限載字符區(qū)域
數(shù)字字符的識別在很大程度上取決于分割出的孤立的字符。采用基于連通域外接矩形框及像素投影圖的分割算法,從最終樣本成功識別率可以看出,樣本成功分割率不低于88.5%,其適用于絕大多數(shù)樣本。字符識別中的大多數(shù)錯誤都是由分割過程中的錯誤引起的,表1 中識別錯誤的樣本如圖16 所示(左邊為灰度樣本,右邊為相應(yīng)二值圖),對于樣本中斷裂嚴(yán)重及粘連的字符,根據(jù)連通域外接矩形框并不能分割出完整字符,且很難尋找合適的投影圖波谷點。
圖16 污損及粘連樣本
同時對于夜間環(huán)境下的部分樣本,車體受補(bǔ)光燈光源的影響很大,轉(zhuǎn)化后的二值圖如圖17所示,連通域受光斑影響,連接成一塊整體,采用基于連通域及投影圖分割方法,亦無法分割出完整字符。
圖17 夜間受燈光影響的二值化圖
神經(jīng)網(wǎng)絡(luò)的字符識別階段,在測試字符集上,最終識別率為95%。對于表1中錯誤地將“1”識別成“7”,雖識別結(jié)果不對,但對客車的歸類并無影響,如57被識別成51,但仍是四類車范疇。因為所選樣本為三類、四類客車,限載客數(shù)沒有超過70 的,而數(shù)字7 只可能出現(xiàn)在個位數(shù),這對分類結(jié)果并無影響,因此字符識別階段對整體的識別率影響也不大。
面對邊緣車型區(qū)分不理想的問題,本文提出了通過識別車身文本限載數(shù)字字符進(jìn)行車型識別的方法,以此作為車型識別的輔助手段。該算法由文本定位、字符分割、字符識別三個階段組成。其中在字符定位階段,提出的Psauvola 二值化算法結(jié)合車身文本連通域的格式塔特征精確定位出了文本區(qū)域;基于外接矩形框與投影圖的字符分割以及基于神經(jīng)網(wǎng)絡(luò)的字符識別得到了最終的車身文本識別結(jié)果,總體識別率為88.5%,相比基于外觀輪廓特征的針對邊緣車型的識別,準(zhǔn)確率提高了將近10個百分點。因此本文提出的基于圖像處理的車型識別方法在邊緣車型的識別率方面有了很大的改進(jìn)。對算法每一階段的分析可以看出,有效的二值化算法對字符識別至關(guān)重要,本文提出的Psauvola二值化算法相比其他算法不僅對光照有更強(qiáng)的魯棒性,有效抑制了陰影的影響,而且在細(xì)節(jié)以及目標(biāo)區(qū)域的區(qū)分方面表現(xiàn)更好,進(jìn)而在字符區(qū)域的保存、分割及定位方面相比其他算法表現(xiàn)優(yōu)異。字符分割階段對字符識別率影響較大,污損、粘連、受光照影響的樣本均會影響分割結(jié)果;神經(jīng)網(wǎng)絡(luò)的字符識別對最終識別率影響有限。后續(xù)通過改善夜間補(bǔ)光效果以及改進(jìn)分割算法將會提高樣本識別率,字符識別階段也可以使用模板匹配、模糊分類器等字符識別模型,以期該算法的識別率能達(dá)到實際工程應(yīng)用的要求。