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