王 昆,王曉峰,劉 軒,郝 瀟
(1.山西大學(xué) 物理電子工程學(xué)院,山西 太原 030006;2.國(guó)網(wǎng)山西省電力公司檢修分公司,山西 太原 030000)
自動(dòng)車(chē)牌識(shí)別[1]是檢測(cè)識(shí)別技術(shù)的重要應(yīng)用,該技術(shù)一般首先進(jìn)行車(chē)輛和車(chē)牌檢測(cè),然后通過(guò)光學(xué)字符識(shí)別[2](optical character recognition,OCR)識(shí)別出車(chē)牌號(hào)。雖然該技術(shù)已經(jīng)取得了長(zhǎng)足發(fā)展,但大部分車(chē)牌識(shí)別方法主要針對(duì)車(chē)輛和車(chē)牌的正前方視角,很少考慮更寬泛的圖像采集場(chǎng)景。研究非理想情況下的車(chē)牌識(shí)別具有更高意義和價(jià)值。
隨著前沿科學(xué)的發(fā)展(如深度學(xué)習(xí)),越來(lái)越多的車(chē)牌識(shí)別技術(shù)采用新技術(shù)以獲得高精度的快速識(shí)別。如Hsu等[3]基于YOLO網(wǎng)絡(luò)[4],通過(guò)輕微改動(dòng),擴(kuò)大網(wǎng)絡(luò)輸出粒度以提升檢測(cè)數(shù)量,并為兩種類(lèi)別(車(chē)牌和背景)設(shè)定了概率。Zhang等[5]根據(jù)車(chē)牌形態(tài)的結(jié)構(gòu)化特點(diǎn),改進(jìn)Yolov2提取不同網(wǎng)絡(luò)深度的多級(jí)細(xì)粒度特征,但對(duì)于復(fù)雜清晰或較為模糊的情況下處理效果不佳,聚類(lèi)方法有待提高。Xie等[6]對(duì)兩個(gè)基于YOLO的網(wǎng)絡(luò)進(jìn)行了訓(xùn)練,以檢測(cè)旋轉(zhuǎn)后的車(chē)牌。但該方法僅考慮平面上的旋轉(zhuǎn),未考慮由于相機(jī)視角傾斜而造成的更復(fù)雜的形變。
另外,卷積神經(jīng)網(wǎng)絡(luò)[7](convolution neural network,CNN)應(yīng)用較為廣泛,如Dong等[8]提出了一個(gè)基于CNN的車(chē)牌字符識(shí)別。通過(guò)感興趣區(qū)域池化層對(duì)候選車(chē)牌區(qū)域所對(duì)應(yīng)的特征圖進(jìn)行裁剪。Selmi等[9]基于形態(tài)算子、高斯濾波、邊緣檢測(cè)等預(yù)處理方法,尋找車(chē)牌區(qū)域和字符。
為了適應(yīng)更多不同類(lèi)型和不同拍攝情況下的車(chē)牌檢測(cè),本文提出了一種檢測(cè)解扭曲-卷積神經(jīng)網(wǎng)絡(luò)(detection untwist-convolution neural network,DU-CNN),其主要工作總結(jié)如下:①采用了來(lái)自YOLOv3空間變換網(wǎng)絡(luò)理念,通過(guò)SPP模塊將不同分辨率的特征圖轉(zhuǎn)換為設(shè)計(jì)好的和全連接層相同維度的特征向量,避免了圖像的尺寸對(duì)于所提DU-CNN網(wǎng)絡(luò)的限制;②通過(guò)對(duì)仿射變化的系數(shù)進(jìn)行回歸,將發(fā)生形變的車(chē)牌重新“解扭曲”為接近正前方視角的矩形,使車(chē)牌識(shí)別的適應(yīng)性更好;③為了增強(qiáng)訓(xùn)練數(shù)據(jù)集,由真實(shí)數(shù)據(jù)和人工合成數(shù)據(jù)組成混合數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果驗(yàn)證了所提方法具有較好的魯棒性和識(shí)別精度。
本文提出的方法包括3個(gè)主要步驟:車(chē)輛檢測(cè)、車(chē)牌檢測(cè)和OCR。給定一張輸入圖像,第一個(gè)模塊檢測(cè)場(chǎng)景中的車(chē)輛。在每個(gè)檢測(cè)區(qū)域內(nèi),利用提出的檢測(cè)解扭曲-卷積神經(jīng)網(wǎng)絡(luò)(DU-CNN),搜索車(chē)牌并對(duì)每個(gè)檢測(cè)進(jìn)行一次仿射變換回歸,由此將車(chē)牌區(qū)域修正為接近正面視圖的矩形。將這些修正后的檢測(cè)輸入到OCR網(wǎng)絡(luò)中,以進(jìn)行最終的字符識(shí)別。
車(chē)輛檢測(cè)是很多經(jīng)典檢測(cè)和識(shí)別的基礎(chǔ),例如PASCAL-VOC[10]、ImageNet[11]等,因此,本文并未從頭進(jìn)行檢測(cè)器的訓(xùn)練,而是根據(jù)一些標(biāo)準(zhǔn),選擇一個(gè)已知模型來(lái)進(jìn)行車(chē)輛檢測(cè)。首先,要求具備較高的查全率,因?yàn)閷?duì)任何一輛包含可見(jiàn)車(chē)牌車(chē)輛的漏檢,都會(huì)直接造成一次車(chē)牌完全漏檢。其次,還需要具備較高的查準(zhǔn)率,以使運(yùn)行時(shí)間較低?;谶@些考量,本文使用YOLOv3網(wǎng)絡(luò),其執(zhí)行速度快(幀率約70 FPS),且在查準(zhǔn)率和查全率之間有著較好的平衡。
YOLOv3是YOLO家族的第3個(gè)版本,在執(zhí)行效率和檢測(cè)準(zhǔn)確率方面都有所提升,對(duì)于一般YOLO系列的目標(biāo)檢測(cè)方法,或者其它較為復(fù)雜的網(wǎng)絡(luò)等,檢測(cè)的準(zhǔn)確性取決于最終的分類(lèi),而分類(lèi)層由全連接層組成,由提取特征的數(shù)量確定。原始YOLOv3網(wǎng)絡(luò)的一個(gè)重要缺點(diǎn)是圖片尺寸必須是固定的,輸入到網(wǎng)絡(luò)的圖像尺寸必須是416×416像素,這在實(shí)際情況中很少遇到。
針對(duì)上述情況,很多時(shí)候?qū)⑤斎氲膱D片(或視頻)進(jìn)行一些預(yù)處理操作,例如圖像剪裁、拉伸和縮放等,這會(huì)造成圖像的有效信息的丟失,最終會(huì)導(dǎo)致圖像的檢測(cè)精度下降。因此,本文在原始YOLOv3網(wǎng)絡(luò)中添加空間金字塔池化(spatial pyramid pooling,SPP)模塊,SPP模塊結(jié)構(gòu)如圖1所示,其由何愷明等[12]提出。引入SPP的原因就是為了避免圖像剪切、旋轉(zhuǎn)、縮放等操作造成的圖像信息失真,同時(shí)解決圖像特征的重復(fù)提取的問(wèn)題,能在一定程度上降低計(jì)算成本,提高計(jì)算效率。使用SPP后,不同尺寸的圖片得到的池化特征是一樣長(zhǎng)度,通過(guò)SPP模塊將任意分辨率的特征圖轉(zhuǎn)換為設(shè)計(jì)好的和全連接層相同維度的特征向量。這是因?yàn)镾PP使用了多個(gè)池化窗口,對(duì)特征圖進(jìn)行池化,將得到的結(jié)果合并之后作為輸出結(jié)果,保證了固定長(zhǎng)度的輸出。因此,圖像的尺寸對(duì)于添加了SPP模塊的YOLOv3并沒(méi)有限制。
圖1 SPP的模塊結(jié)構(gòu)
在輸入DU-CNN前,重新調(diào)整陽(yáng)性檢測(cè)的尺寸。一般來(lái)說(shuō),較大的輸入圖像有助于較小目標(biāo)的檢測(cè),但會(huì)造成計(jì)算成本上升。在接近正前方(后方)的視圖中,車(chē)牌尺寸和車(chē)輛包圍框之間的比率較高。但該比率在傾斜(側(cè)面)視圖中會(huì)變得小得多,因?yàn)檐?chē)輛的包圍框會(huì)變得更大和更長(zhǎng)。因此,為保持車(chē)牌區(qū)域的可識(shí)別性,需要將傾斜視圖調(diào)整到比正面視圖更大的尺寸。雖然可以利用3D姿勢(shì)估計(jì)方法決定尺寸調(diào)整范圍,但為了高效快速,本文提出了一種基于車(chē)輛包圍框縱橫比的方法。當(dāng)車(chē)輛尺寸與其包圍框之間的比率接近1時(shí),可以使用較小的尺寸,隨著該比率變大則需要增加輸入圖像尺寸。具體來(lái)說(shuō),尺寸調(diào)整因子fsc給出如下
(1)
式中:Wv和Hv分別為車(chē)輛包圍框的寬度和高度。Dmin≤fscmin(Wv,Hv)≤Dmax, 因此Dmin和Dmax限定了重新調(diào)整后最小尺寸的包圍框的范圍?;趯?shí)驗(yàn)并盡量在準(zhǔn)確度和運(yùn)行時(shí)間之間保持較好的平衡,選擇Dmin=288,Dmax=608。
車(chē)牌本身是矩形的平面目標(biāo),附著在車(chē)輛上作為身份標(biāo)識(shí)。為充分利用其形狀,本文提出了一種變型的卷積神經(jīng)網(wǎng)絡(luò)DU-CNN。該網(wǎng)絡(luò)學(xué)習(xí)對(duì)發(fā)生各種不同形變的車(chē)牌進(jìn)行檢測(cè),并通過(guò)對(duì)仿射變化的系數(shù)進(jìn)行回歸,將發(fā)生形變的車(chē)牌重新“解扭曲”為接近正前方視角的矩形。雖然在仿射變換之外也可使用平面透視投影,但透視變換中涉及到的觸發(fā)可能會(huì)生成很小的分母值,由此產(chǎn)生數(shù)值不穩(wěn)定性。
本文在開(kāi)發(fā)DU-CNN時(shí)采用了來(lái)自YOLOv3空間變換網(wǎng)絡(luò)[13]理念。DU-CNN的檢測(cè)過(guò)程如圖2所示。首先,將重新調(diào)整大小后的車(chē)輛檢測(cè)模塊的輸出饋送到該網(wǎng)絡(luò)。由此生成一個(gè)8信道特征圖,其對(duì)目標(biāo)/非目標(biāo)概率和仿射變化參數(shù)進(jìn)行編碼。為提取扭曲車(chē)牌,首先考慮圍繞cell(m,n)中心的一個(gè)固定尺寸的虛構(gòu)正方形。如果該單元格的目標(biāo)概率超過(guò)某個(gè)給定的檢測(cè)閾值,則部分回歸參數(shù)用于構(gòu)建仿射矩陣,將虛擬正方形轉(zhuǎn)換為車(chē)牌區(qū)域。由此可以輕易地將車(chē)牌解扭曲為水平對(duì)齊和垂直對(duì)齊的目標(biāo)。
圖2 DU-CNN的檢測(cè)過(guò)程
1.2.1 網(wǎng)絡(luò)架構(gòu)
提出的架構(gòu)共包含17個(gè)卷積層,其中10層位于殘差區(qū)塊內(nèi),其架構(gòu)如圖3所示。所有卷積濾波器的尺寸均固定為3×3。在除檢測(cè)區(qū)塊之外的整個(gè)網(wǎng)絡(luò)中均使用線性修正單元(rectified linear unit,ReLU)激活函數(shù)。網(wǎng)絡(luò)中包含4個(gè)尺寸為2×2的最大池化層,步長(zhǎng)為2,以將輸入尺寸降低到原來(lái)的1/16。最后,檢測(cè)區(qū)塊包含兩個(gè)并行的卷積層:①一個(gè)卷積層用于推斷概率,由softmax函數(shù)激活;②另一個(gè)卷積層用于仿射參數(shù)的回歸,沒(méi)有激活函數(shù)(或等效地使用恒等式F(x)=x作為激活函數(shù))。
圖3 提出的DU-CNN網(wǎng)絡(luò)架構(gòu)
1.2.2 損失函數(shù)
設(shè)pi=[xi,yi]T,i=1,…,4, 表示帶注釋的車(chē)牌的4個(gè)角點(diǎn),以順時(shí)針從左上角開(kāi)始。同樣,設(shè)q1=[-0.5,-0.5]T,q2=[0.5,-0.5]T,q3=[0.5,0.5]T,q4=[-0.5,0.5]T表示以原點(diǎn)為中心的標(biāo)準(zhǔn)單位正方形的對(duì)應(yīng)頂點(diǎn)。
對(duì)于一張高度為H,寬度為W的輸入圖像,網(wǎng)絡(luò)步長(zhǎng)為Ns=24(4個(gè)最大池化層),則網(wǎng)絡(luò)輸出特征圖的大小為M×N×8,其中M=H/Ns,N=W/Ns。 對(duì)于特征圖中的每個(gè)點(diǎn)cell(m,n),均需要估計(jì)8個(gè)數(shù)值:前兩個(gè)數(shù)值(v1和v2)為目標(biāo)/非目標(biāo)的概率,后6個(gè)數(shù)值(v3至v8)被用于構(gòu)建局部仿射變換Tmn
(2)
式中:采用v3和v6的最大值函數(shù)以確保對(duì)角為正(避免不必要的鏡像或過(guò)度旋轉(zhuǎn))。
為匹配網(wǎng)絡(luò)輸出分辨率,通過(guò)網(wǎng)絡(luò)步長(zhǎng)的倒數(shù)重新標(biāo)定點(diǎn)pi, 并根據(jù)特征圖中的每個(gè)點(diǎn)(m,n)重新確定中心點(diǎn)。通過(guò)應(yīng)用正則化函數(shù)來(lái)實(shí)現(xiàn)這一點(diǎn)
(3)
式中:α為度量常數(shù),代表虛構(gòu)正方形的邊。設(shè)α=7.75, 即增強(qiáng)訓(xùn)練數(shù)據(jù)集內(nèi)最大和最小車(chē)牌尺寸之間的中點(diǎn)除以網(wǎng)絡(luò)步長(zhǎng)。
假定一個(gè)目標(biāo)(車(chē)牌)位于cell(m,n)位置,損失函數(shù)首先考慮標(biāo)準(zhǔn)正方形的扭曲版本,和車(chē)牌的正則化注釋點(diǎn)之間的誤差,定義如下
(4)
其次,損失函數(shù)要估計(jì)目標(biāo)是否位于(m,n)的概率。與SSD(single shot Multiplebox detector)檢測(cè)的置信損失[14]相似,損失函數(shù)基本上為兩個(gè)對(duì)數(shù)損失函數(shù)之和
fpr(m,n)=logloss(∏obj,v1)+logloss(1-∏obj,v2)
(5)
式中: ∏obj為目標(biāo)指示函數(shù),如果在點(diǎn)(m,n)存在一個(gè)目標(biāo),則返回1;如果在該點(diǎn)不存在目標(biāo),則返回0。 logloss(y,p)=-ylog(p)。 如果目標(biāo)的矩形包圍框與以(m,n)為中心的另一個(gè)相同尺寸的包圍框之間的交并比(IoU)大于閾值γobj(根據(jù)經(jīng)驗(yàn)將該閾值設(shè)為0.3),則考慮該目標(biāo)在點(diǎn)(m,n)內(nèi)。
合并式(4)和式(5)中定義的項(xiàng),最終的損失函數(shù)如下
(6)
1.2.3 訓(xùn)練
為訓(xùn)練提出的DU-CNN,本文創(chuàng)建了一個(gè)包含196張圖像的數(shù)據(jù)集,其中105張圖像來(lái)自于Cars數(shù)據(jù)集,40張圖像來(lái)自SSIG數(shù)據(jù)集(訓(xùn)練子集),51張圖像來(lái)自AOLP數(shù)據(jù)集(學(xué)習(xí)子集)。由于減少了訓(xùn)練數(shù)據(jù)集內(nèi)注釋圖像的數(shù)量,因此數(shù)據(jù)增強(qiáng)的使用是至關(guān)重要的。本文使用了如下增強(qiáng)轉(zhuǎn)換:
(1)糾正:基于車(chē)牌注釋對(duì)整個(gè)圖像進(jìn)行糾正,假定車(chē)牌位于一個(gè)平面上;
(2)縱橫比:在區(qū)間[2,4]內(nèi)隨機(jī)設(shè)定車(chē)牌的縱橫比,以適應(yīng)來(lái)自不同地區(qū)的車(chē)牌尺寸;
(3)居中:車(chē)牌的中心成為圖像中心;
(4)縮放:對(duì)車(chē)牌進(jìn)行縮放,使其寬度匹配40像素至208像素之間的一個(gè)數(shù)值(基于車(chē)牌的可讀性,根據(jù)經(jīng)驗(yàn)設(shè)定)。使用這一范圍定義式(3)中α的數(shù)值;
(5)旋轉(zhuǎn):以隨機(jī)選擇的角度執(zhí)行3D旋轉(zhuǎn),以涵蓋較大的相機(jī)范圍設(shè)置;
(6)鏡像:50%的幾率;
(7)平移:從圖像中心對(duì)車(chē)牌進(jìn)行隨機(jī)平移,僅限于移動(dòng)中心周?chē)?08×208像素的一個(gè)正方形;
(8)裁剪:在平移之前考慮車(chē)牌中心,并圍繞該中心裁剪出一個(gè)208×208的區(qū)域;
(9)顏色空間:對(duì)HSV顏色空間進(jìn)行較小修改;
(10)注釋?zhuān)菏褂门c增大輸入圖像時(shí)應(yīng)用的相同空間變換來(lái)調(diào)整車(chē)牌4個(gè)角的位置。
通過(guò)以上選擇的轉(zhuǎn)換處理,可以從單個(gè)手動(dòng)標(biāo)注的樣本中得到具有非常明顯視覺(jué)特征的各種增強(qiáng)測(cè)試圖像。本文使用ADAM優(yōu)化器,以mini-batch(批尺寸32)對(duì)網(wǎng)絡(luò)進(jìn)行100 000次迭代訓(xùn)練。學(xué)習(xí)率設(shè)為0.001,參數(shù)β1=0.9,β2=0.999。 通過(guò)從訓(xùn)練集中隨機(jī)選擇并增廣樣本,生成mini-batches,由此在每次迭代后,可得到尺寸為32×208×208×3的新輸入張量。
提出的系統(tǒng)使用修改后的YOLOv3網(wǎng)絡(luò)在經(jīng)過(guò)校正的車(chē)牌上執(zhí)行字符分割和識(shí)別,即,光學(xué)字符識(shí)別(optical character recognition,OCR),利用電子的方式從圖片中提取出文字信息,然后用于其它領(lǐng)域,如文字編輯、搜索和識(shí)別等。該網(wǎng)絡(luò)架構(gòu)與文獻(xiàn)[15]相同。但本文研究利用合成和增強(qiáng)數(shù)據(jù),極大擴(kuò)展了訓(xùn)練數(shù)據(jù)集。
人工創(chuàng)建的數(shù)據(jù)包括將一個(gè)字符串(7個(gè)字符)粘貼到有紋理的背景上,然后執(zhí)行不同操作,例如旋轉(zhuǎn)、平移、噪聲和模糊等隨機(jī)變換。圖4描述了合成數(shù)據(jù)生成的流程,合成數(shù)據(jù)的使用能夠顯著提升網(wǎng)絡(luò)通用性,從而實(shí)現(xiàn)使用完全相同的網(wǎng)絡(luò)處理來(lái)自世界不同地區(qū)的車(chē)牌。
圖4 合成數(shù)據(jù)的流程
實(shí)驗(yàn)使用的硬件配置為一個(gè)Intel i7處理器,8 Gb RAM和一個(gè)NVIDIA Titan X GPU。上述配置能夠以8 FPS 的均值(針對(duì)到所有數(shù)據(jù)集)運(yùn)行完整的ALPR系統(tǒng)。運(yùn)行時(shí)間取決于輸入圖像中檢測(cè)到的車(chē)輛數(shù)量。因此,提高車(chē)輛檢測(cè)閾值將得到更高的FPS,但會(huì)降低查全率。開(kāi)發(fā)環(huán)境為Python 3.5語(yǔ)言的PyCharm集成開(kāi)發(fā)工具,原始YOLOv3由Keras框架提供。
本文的目標(biāo)之一是開(kāi)發(fā)在各種非約束場(chǎng)景下均性能良好的識(shí)別技術(shù),因此,本文選擇了4個(gè)可用的在線數(shù)據(jù)集,即OpenALPR[16]、SSIG[17]和AOLP[17](路面巡邏),這些數(shù)據(jù)集覆蓋了大量不同的環(huán)境,見(jiàn)表1。本文考慮了3個(gè)不同的變量:車(chē)牌角度(正面和傾斜)、車(chē)輛與相機(jī)的距離(近、中、遠(yuǎn)),以及圖片拍攝的地區(qū)。
表1 數(shù)據(jù)集介紹
在車(chē)牌失真方面,AOLP-RP子集是難度較大的數(shù)據(jù)集,其試圖模擬相機(jī)安裝在巡邏車(chē)輛上(或手持)時(shí)的情況。在車(chē)輛與相機(jī)距離這一方面,SSIG數(shù)據(jù)集的難度最大。該數(shù)據(jù)集由高分辨率圖像組成,即使車(chē)輛距離較遠(yuǎn),車(chē)牌依然具備可讀性。這些數(shù)據(jù)集均不包括同時(shí)展示多個(gè)車(chē)牌的情況。
這些數(shù)據(jù)集已經(jīng)覆蓋了大量場(chǎng)景,但數(shù)據(jù)集依然缺少挑戰(zhàn)性圖像。因此,本文還手動(dòng)注釋了包含120張圖像集合,該集合包含近、中、遠(yuǎn)距離,車(chē)牌角度有很多是傾斜的,且車(chē)牌具有一定模糊,有國(guó)內(nèi)和國(guó)外的車(chē)牌。一些示例圖像如圖5所示。
圖5 本文數(shù)據(jù)集示例圖像
提出的方法的實(shí)施流程中包括3個(gè)網(wǎng)絡(luò),根據(jù)經(jīng)驗(yàn)設(shè)定以下可接受閾值:車(chē)輛(YOLOv3)和車(chē)牌(DU-CNN)檢測(cè)的可接受閾值為0.50,字符檢測(cè)和識(shí)別的可接受閾值為0.45。實(shí)驗(yàn)中,如果車(chē)牌的所有字符均被正確識(shí)別,且未檢測(cè)到額外字符,則視為一次正確識(shí)別。對(duì)所有數(shù)據(jù)集均應(yīng)用了完全相同的網(wǎng)絡(luò):對(duì)于給定類(lèi)別的車(chē)牌(例如歐洲或中國(guó)),未使用任何特定訓(xùn)練程序?qū)W(wǎng)絡(luò)進(jìn)行調(diào)整。僅針對(duì)數(shù)據(jù)集在系統(tǒng)流程中做出了微小改動(dòng)。
圖6給出了使用本文方法獲得部分具有代表性的識(shí)別案例。由圖6可以看出,對(duì)于傾斜,甚至一定的遮擋等情況,本文方法依然可以準(zhǔn)確識(shí)別出車(chē)牌的重要標(biāo)識(shí)。
圖6 部分識(shí)別案例結(jié)果
為了進(jìn)一步分析討論,本文使用了兩組訓(xùn)練數(shù)據(jù)對(duì)提出的系統(tǒng)進(jìn)行評(píng)價(jià),以展示在訓(xùn)練程序中納入全合成數(shù)據(jù)的收益:①第一組訓(xùn)練數(shù)據(jù)包括真實(shí)增強(qiáng)數(shù)據(jù),以及人工生成的增強(qiáng)數(shù)據(jù);②第二組僅包括真實(shí)增強(qiáng)數(shù)據(jù)。兩者分別表示為“真實(shí)+合成”和“無(wú)合成”,見(jiàn)表2。從表2中可以觀察到,添加全合成數(shù)據(jù)提升了準(zhǔn)確度(AOLP數(shù)據(jù)集的增益約為5%)。此外,為凸顯對(duì)檢測(cè)包圍盒進(jìn)行校正的收益,還給出了使用普通未校正包圍盒的實(shí)驗(yàn)結(jié)果,見(jiàn)表2“未校正”。與預(yù)期相符,當(dāng)使用未校正包圍盒時(shí),大部分正面視圖的數(shù)據(jù)集的結(jié)果變化較小(處理OpenALPR數(shù)據(jù)集時(shí)的性能甚至出現(xiàn)微小提升),但在包含難度較大的傾斜車(chē)牌數(shù)據(jù)集(AOLP和本文數(shù)據(jù)集)中,使用未校正包圍盒會(huì)顯著降低準(zhǔn)確度。表2還給出了商用和學(xué)術(shù)系統(tǒng)的實(shí)驗(yàn)結(jié)果比較,“/”表示沒(méi)有采用對(duì)應(yīng)數(shù)據(jù)集。結(jié)果表明提出的系統(tǒng)在受控場(chǎng)景數(shù)據(jù)集(車(chē)牌大部分在正前方,包括OpenALPR和SSIG)中的識(shí)別率與商用系統(tǒng)大致相當(dāng)或更優(yōu)。
表2 不同數(shù)據(jù)集的準(zhǔn)確率結(jié)果/%
值得一提,文獻(xiàn)[5,6,8]僅著眼于單個(gè)地區(qū)或數(shù)據(jù)集。性能比較驗(yàn)證了所提方法具有很好的通用性。值得一提,在大部分較難的數(shù)據(jù)集(AOLP和本文數(shù)據(jù)集)中,使用所提方法的車(chē)牌識(shí)別率,大大高于直接對(duì)注釋后的矩形車(chē)牌包圍盒應(yīng)用OCR模塊的識(shí)別率。該增益源自于DU-CNN所支持的解扭曲操作,該操作能夠極大提升車(chē)牌扭曲程度較強(qiáng)時(shí)的OCR性能。簡(jiǎn)單來(lái)說(shuō),通過(guò)為每個(gè)檢測(cè)單元生成一個(gè)仿射變換矩陣,實(shí)現(xiàn)對(duì)扭曲車(chē)牌的檢測(cè)和解扭曲。這一步驟降低了OCR網(wǎng)絡(luò)的工作量,減少了后者需要處理的失真情況,增強(qiáng)了總體識(shí)別性能。
為了進(jìn)行較差拍攝情況下的識(shí)別比較,本文遴選30幅較大傾斜或模糊情況下的所獲圖像,本文方法采用校準(zhǔn)后的方式,與商用“森諾”車(chē)牌識(shí)別進(jìn)行比較。由圖7可以看出基本上,在字符檢測(cè)和識(shí)別的可接受閾值在0.45左右,兩種方法均能差不多達(dá)到各自最佳準(zhǔn)確率,但對(duì)于較差情況下的識(shí)別,本文方法更勝一籌,商用系統(tǒng)“森諾”的檢測(cè)識(shí)別算法較少考慮極端情況,因?yàn)樯逃孟到y(tǒng)的CCD相機(jī)拍攝角度固定,要求的車(chē)道也是固定的,基本不考慮極端情況。若遇到不按規(guī)矩行車(chē)的司機(jī)或新手司機(jī),可能會(huì)造成無(wú)法識(shí)別的情況,LED顯示牌顯示“臨時(shí)車(chē)”,司機(jī)則不得不重新倒車(chē)再檢測(cè)。這間接驗(yàn)證了所提方法的解扭曲操作的確可以提高OCR性能,增強(qiáng)系統(tǒng)的適應(yīng)性。
圖7 與商用系統(tǒng)在較差情況下識(shí)別性能比較
本文提出了一個(gè)用于非約束場(chǎng)景基于深度學(xué)習(xí)的車(chē)牌檢測(cè)識(shí)別系統(tǒng)。通過(guò)為每個(gè)檢測(cè)單元生成一個(gè)仿射變換矩陣,實(shí)現(xiàn)對(duì)扭曲車(chē)牌的檢測(cè)和解扭曲,這一步驟降低了OCR網(wǎng)絡(luò)的工作量,減少了后者需要處理的失真情況。通過(guò)在網(wǎng)絡(luò)中添加SPP模塊,避免了不同分辨率特征圖對(duì)識(shí)別結(jié)果的影響。結(jié)果表明,所提方法在困難數(shù)據(jù)集(其中車(chē)牌以較大傾斜角度拍攝)中的性能優(yōu)于當(dāng)前其它方法,且在受控?cái)?shù)據(jù)集中也能夠取得較好結(jié)果。
未來(lái),本文可能將解決方案擴(kuò)展至摩托車(chē)的車(chē)牌檢測(cè),其主要挑戰(zhàn)是摩托車(chē)或電瓶車(chē)車(chē)牌與汽車(chē)車(chē)牌有著不同的縱橫比和布局。