徐光柱,匡 婉,萬(wàn)秋波,雷幫軍,吳正平,馬國(guó)亮
(1.湖北省水電工程智能視覺(jué)監(jiān)測(cè)重點(diǎn)實(shí)驗(yàn)室(三峽大學(xué)),湖北 宜昌 443002;2.三峽大學(xué)計(jì)算機(jī)與信息學(xué)院,湖北 宜昌 443002;3.宜昌市公安局交通警察支隊(duì),湖北 宜昌 443002)
車牌自動(dòng)定位的精確程度決定著后續(xù)車牌識(shí)別的成敗。目前約束場(chǎng)景下的車牌定位技術(shù)已經(jīng)比較成熟,但在開放場(chǎng)景下,因受天氣、攝像頭角度、拍攝距離、物體遮擋和運(yùn)動(dòng)造成的拍攝模糊等不利因素影響,使得這類非約束性車牌的定位問(wèn)題仍具較大挑戰(zhàn),是近年來(lái)智能交通相關(guān)領(lǐng)域研究人員關(guān)注的熱點(diǎn)問(wèn)題[1 - 6]。
車牌定位常用技術(shù)可分為2大類:傳統(tǒng)計(jì)算機(jī)視覺(jué)方法和基于深層卷積神經(jīng)網(wǎng)絡(luò)CNN(Convolutional Neural Network)的目標(biāo)定位方法。傳統(tǒng)車牌定位方法多采用人工設(shè)計(jì)的中低層特征,而對(duì)于非約束場(chǎng)景下的車牌定位問(wèn)題,需要應(yīng)對(duì)各種因素,因此需要綜合圖像的高層語(yǔ)義特征做出判斷,傳統(tǒng)方法在這個(gè)方面有較大局限性。而深層CNN則可以充分利用大數(shù)據(jù)同步實(shí)現(xiàn)層次化特征與相應(yīng)分類器的學(xué)習(xí),理論上具有擬合各類高維空間分類面的能力,因此在圖像分析領(lǐng)域得到了廣泛關(guān)注,越來(lái)越多的研究人員開始嘗試將CNN用于車牌定位?;贑NN的車牌定位方法根據(jù)它們是否需要候選區(qū)域獲取網(wǎng)絡(luò)可粗分為單階段與多階段2大類:
(1)單階段[7 - 10]方法通過(guò)一個(gè)端到端模型直接預(yù)測(cè)車牌區(qū)域。Li等人[7]提出了一種CNN模型,并結(jié)合滑動(dòng)窗口策略對(duì)車牌定位,該方法能檢測(cè)各種類型車牌,具有較高的精度和較快的運(yùn)行速度,但其訓(xùn)練數(shù)據(jù)來(lái)源于固定攝像頭拍攝的圖像,車牌傾斜角度變化不大,模型的泛化能力有待評(píng)估。Kurpiel等人[8]提出了一種基于CNN的車牌定位方法,該方法通過(guò)建模函數(shù)為每個(gè)圖像子區(qū)域產(chǎn)生一個(gè)分?jǐn)?shù),并結(jié)合稀疏重疊區(qū)域的結(jié)果來(lái)預(yù)估車牌位置,該方法在具有挑戰(zhàn)性的數(shù)據(jù)集上精度達(dá)到了0.87,召回率達(dá)到了0.83。為了解決復(fù)雜場(chǎng)景下車牌定位問(wèn)題,Tian等人[9]提出了一種基于CNN的車牌定位方法,將目標(biāo)檢測(cè)問(wèn)題轉(zhuǎn)化為二值分類問(wèn)題。該方法使用選擇性搜索算法在滑動(dòng)窗口上生成候選區(qū)域,并利用車牌候選框與真實(shí)框之間的交并比IoU(Intersection-over-Union)確定正負(fù)樣本,最后使用支持向量機(jī)進(jìn)行分類。與傳統(tǒng)機(jī)器學(xué)習(xí)中的車牌定位方法相比,基于CNN的方法在檢測(cè)精度上具有明顯優(yōu)勢(shì),特別是在復(fù)雜場(chǎng)景中的定位精度有了顯著提高。Xu等人[10]提出了一種基于CNN的車牌定位與識(shí)別模型RPnet(Roadside Parking net),該模型通過(guò)共享特征圖進(jìn)行檢測(cè)和識(shí)別,并將檢測(cè)與識(shí)別部分的損失合并進(jìn)行優(yōu)化,在所構(gòu)建的CCPD(Chinese City Parking Dataset)數(shù)據(jù)集上,多種檢測(cè)和識(shí)別模型的對(duì)比評(píng)估結(jié)果表明,該模型在精度和速度上均具有優(yōu)勢(shì)。
(2)多階段[11 - 14]方法先確定車牌候選區(qū)域,再在該區(qū)域內(nèi)定位車牌。為了解決車牌在圖像中占比小而不易定位的問(wèn)題,Kim等人[11]提出了一種多階段方法:首先,采用基于區(qū)域的快速卷積神經(jīng)網(wǎng)絡(luò)算法檢測(cè)車輛區(qū)域;然后,結(jié)合車牌尺度信息,利用分層采樣方法提取候選車牌區(qū)域;最后,使用深度卷積神經(jīng)網(wǎng)絡(luò)過(guò)濾非車牌區(qū)域。所提出的方法在Caltech數(shù)據(jù)集[15]上的準(zhǔn)確率為98.39%,召回率為96.83%,優(yōu)于傳統(tǒng)方法。Lin等人[12]也使用基于CNN的方法,先檢測(cè)車輛,再?gòu)能囕v中提取車牌,從而減少車牌定位的誤報(bào)情況。
YOLO(You Only Look Once)[16]是一種通用的能夠兼顧準(zhǔn)確率與計(jì)算速度的目標(biāo)檢測(cè)模型,在車牌定位領(lǐng)域得到廣泛關(guān)注。針對(duì)YOLO直接定位車牌效果不佳的問(wèn)題,Hsu等人[17]通過(guò)對(duì)模型輸出特征圖尺寸進(jìn)行擴(kuò)大,設(shè)置每個(gè)網(wǎng)格單元僅預(yù)測(cè)一個(gè)邊界框,調(diào)整模型預(yù)測(cè)類別為2類(車牌和背景)等方式,提升了模型在車牌定位上的性能。Montazzolli等人[18]提出一種基于YOLO的CNN網(wǎng)絡(luò)并以級(jí)聯(lián)方式運(yùn)行,用于檢測(cè)汽車前視圖和車牌,提高了車牌定位精度,但該方法對(duì)傾斜角度大的車牌定位泛化能力還有待提升。當(dāng)車牌傾斜角度較大時(shí),上述方法獲取的車牌區(qū)域內(nèi)會(huì)包含大量冗余區(qū)域,不利于后續(xù)車牌識(shí)別。為此,Xie等人[19]提出了一個(gè)基于CNN的多方向車牌定位框架,利用旋轉(zhuǎn)角度預(yù)測(cè)機(jī)制確定車牌的精確旋轉(zhuǎn)矩形區(qū)域。該方法在定位精度和計(jì)算復(fù)雜度上均具有優(yōu)勢(shì),但只適合處理平面內(nèi)的旋轉(zhuǎn)問(wèn)題,對(duì)于三維空間內(nèi)的傾斜車牌仍然無(wú)法精確定位。
雖然基于深層神經(jīng)網(wǎng)絡(luò)的非約束車牌定位精度相對(duì)于傳統(tǒng)方法有了較大提升,但由于這些視覺(jué)目標(biāo)檢測(cè)方法通常是通過(guò)矩形框?qū)嚺七M(jìn)行定位,這在有約束的場(chǎng)景下面向正面角度拍攝的車牌圖像有效,但在非約束場(chǎng)景下拍攝角度的多樣性會(huì)造成車牌無(wú)法通過(guò)簡(jiǎn)單的矩形擬合,所獲取的車牌區(qū)域常包含冗余信息,極大地影響著后續(xù)車牌識(shí)別的準(zhǔn)確度。若能利用CNN直接獲取準(zhǔn)確的車牌頂點(diǎn)或邊界位置信息,則可更加精確地定位車牌。因此,針對(duì)非約束場(chǎng)景下的車牌精確定位問(wèn)題,本文提出了一種基于級(jí)聯(lián)CNNs的由粗到精的車牌精確定位方法,粗定位階段使用YOLOv3[20]獲取圖像中所有車牌候選區(qū)域,精定位階段利用改進(jìn)的MobileNetV3網(wǎng)絡(luò)[21]將車牌4個(gè)頂點(diǎn)的檢測(cè)問(wèn)題轉(zhuǎn)換為回歸問(wèn)題,實(shí)現(xiàn)精確定位。
如前所述,YOLO是一種主流的單階段目標(biāo)檢測(cè)深層卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)通過(guò)采用更為有效的骨干網(wǎng)、全卷積方式及多級(jí)輸出實(shí)現(xiàn)了兼顧精度與速度的端到端目標(biāo)檢測(cè)。目前應(yīng)用最為廣泛的是YOLOv3[20]、YOLOv4[21]和YOLOv5[22],雖然后兩者在YOLOv3的基礎(chǔ)上通過(guò)增設(shè)更多的訓(xùn)練策略、插件模塊及后處理方法等技巧進(jìn)一步提升了性能,但結(jié)構(gòu)更加簡(jiǎn)潔且直觀的YOLOv3仍然是目前使用最為廣泛的。
Figure 1 Diagram of MobileNetV3-Small network圖1 MobileNetV3-Small網(wǎng)絡(luò)結(jié)構(gòu)圖
YOLOv3網(wǎng)絡(luò)模型通常包括實(shí)現(xiàn)特征提取的骨干、用于特征綜合與轉(zhuǎn)換的頸部及用于輸出的首部。YOLOv3的骨干網(wǎng)絡(luò)為Darknet-53模塊的前52層,該模塊使用大量的殘差結(jié)構(gòu)來(lái)增加網(wǎng)絡(luò)深度,提升了模型對(duì)深層次特征的提取效果。在卷積神經(jīng)網(wǎng)絡(luò)中,深層次特征的表達(dá)效果優(yōu)于淺層次特征,類金字塔模塊利用該特點(diǎn),將主干網(wǎng)絡(luò)不同層的特征進(jìn)行融合,提升了目標(biāo)檢測(cè)的效果。
MobileNetV3[23]是一種典型的輕量級(jí)網(wǎng)絡(luò),常用于解決圖像分類、語(yǔ)義分割等分類問(wèn)題。MobileNetV3包括Large和Small 2種網(wǎng)絡(luò)結(jié)構(gòu),Small網(wǎng)絡(luò)相比Large更具速度優(yōu)勢(shì),因此本文在車牌精定位環(huán)節(jié)選用輕量級(jí)Small網(wǎng)絡(luò)進(jìn)行改進(jìn),使其能夠適用于車牌4個(gè)頂點(diǎn)相對(duì)坐標(biāo)的回歸問(wèn)題。Small網(wǎng)絡(luò)模型包含輸入、骨干和首部3部分(如圖1所示),輸入部分包括1個(gè)卷積層;骨干由若干個(gè)卷積層組成,用于提取特征;首部由3個(gè)卷積層和1個(gè)池化層組成,用于實(shí)現(xiàn)特征綜合及輸出。
為克服以YOLOv3為代表的單階段目標(biāo)檢測(cè)網(wǎng)絡(luò)所采用的矩形檢測(cè)框無(wú)法準(zhǔn)確地?cái)M合非約束場(chǎng)景下車牌區(qū)域的問(wèn)題,同時(shí)為了保持YOLOv3模型在車牌定位中的速度優(yōu)勢(shì),本文設(shè)計(jì)了一種將目標(biāo)檢測(cè)網(wǎng)絡(luò)與頂點(diǎn)定位網(wǎng)絡(luò)級(jí)聯(lián)的由粗到精的雙階段車牌區(qū)域提取系統(tǒng)。通過(guò)對(duì)輕量級(jí)CNN網(wǎng)絡(luò)MobileNetV3-Small進(jìn)行適當(dāng)調(diào)整,增加輸入卷積層并改變網(wǎng)絡(luò)輸出方式,將車牌4個(gè)頂點(diǎn)的精定位問(wèn)題轉(zhuǎn)換為回歸問(wèn)題,并作為YOLOv3網(wǎng)絡(luò)輸出的后處理模塊,以實(shí)現(xiàn)車牌精定位,最后利用幾何變換實(shí)現(xiàn)車牌區(qū)域的準(zhǔn)確提取。
在車牌粗定位階段,本文選用了能夠兼顧速度與精度的YOLOv3網(wǎng)絡(luò),所用訓(xùn)練參數(shù)如表1所示。網(wǎng)絡(luò)訓(xùn)練過(guò)程中輔以數(shù)據(jù)增廣操作,使得模型能夠具有較好的泛化能力,以應(yīng)對(duì)非約束場(chǎng)景下多種不利因素帶來(lái)的影響。另外,根據(jù)定位結(jié)果所獲得的以車牌區(qū)域?yàn)橹黧w的感興趣區(qū)域還可有效減少其他非車牌區(qū)域?qū)罄m(xù)精定位階段的影響,確保輕量級(jí)精定位網(wǎng)絡(luò)的精度和速度。
Table 1 Training parameters setting of YOLOv3 model表1 YOLOv3模型訓(xùn)練參數(shù)設(shè)置
Figure 2 Process of license plate location and extraction圖2 車牌定位與提取流程
為了確保粗定位階段檢測(cè)到的車牌區(qū)域能夠涵蓋車牌4個(gè)頂點(diǎn),且4個(gè)頂點(diǎn)均處于區(qū)域內(nèi)部,本文采用了一種車牌區(qū)域邊界擴(kuò)展策略,如圖3所示。圖3中的內(nèi)框?yàn)檐嚺频耐饨泳匦?,外框?yàn)榛趦?nèi)框大小所確定的最終擴(kuò)展后的包含車牌的感興趣區(qū)域。所訓(xùn)練的YOLOv3模型在粗定位階段即要實(shí)現(xiàn)感興趣區(qū)域的準(zhǔn)確定位。擴(kuò)展策略對(duì)尺度不同的車牌目標(biāo)采用不同的擴(kuò)展方式,具體如式(1)和式(2)所示:
(1)
(2)
Figure 3 Relationship between target bounding box and circumscribed rectangular box圖3 目標(biāo)邊界框與外接矩形框關(guān)系
3.1節(jié)中的粗定位模塊能夠給出圖像中含有車牌的候選區(qū)域,為了能夠?qū)@些候選區(qū)域中的車牌頂點(diǎn)位置進(jìn)行精確估計(jì),本文通過(guò)對(duì)MobileNetV3-Small網(wǎng)絡(luò)進(jìn)行適當(dāng)修改,使其能夠回歸出車牌4個(gè)頂點(diǎn)的相對(duì)坐標(biāo),實(shí)現(xiàn)精確定位。主要改進(jìn)工作包括:(1)在網(wǎng)絡(luò)輸入部分增設(shè)一層3×3的卷積層,在幾乎不增加計(jì)算量的基礎(chǔ)上進(jìn)一步提升了MobileNetV3-Small網(wǎng)絡(luò)特征抽取能力。(2)為了能夠回歸出候選區(qū)域中車牌4個(gè)頂點(diǎn)相對(duì)于該區(qū)域的相對(duì)位置(均在0~1),本文將原網(wǎng)絡(luò)輸出層中的Softmax激活函數(shù)調(diào)整為Sigmoid函數(shù),從而將用于分類的網(wǎng)絡(luò)轉(zhuǎn)換為回歸網(wǎng)絡(luò)來(lái)精確擬合4個(gè)頂點(diǎn),且同時(shí)保證了4個(gè)回歸值之間的獨(dú)立性。為了后續(xù)表述方便,本文用AL-MobileNetV3(Accurate Location Mobile- NetV3)來(lái)代表改進(jìn)后的網(wǎng)絡(luò)模型,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。其中輸入為固定的448×448×3,實(shí)驗(yàn)結(jié)果顯示,這種分辨率的輸入可以滿足CCPD數(shù)據(jù)集[10](詳見4.1節(jié))中各種尺寸車牌候選區(qū)域的頂點(diǎn)估計(jì)。網(wǎng)絡(luò)的輸出為順時(shí)針?lè)较?個(gè)車牌頂點(diǎn)相對(duì)于輸入圖像區(qū)域左上角的坐標(biāo)值,其中(x′0,y′0)為車牌左上角頂點(diǎn)相對(duì)于圖像左上角頂點(diǎn)的水平與垂直方向的坐標(biāo);(x′3,y′3)為左下角頂點(diǎn)的相對(duì)坐標(biāo)。
Figure 4 Diagram of AL-MobileNetV3 network圖4 AL-MobileNetV3網(wǎng)絡(luò)結(jié)構(gòu)圖
雖然AL-MobileNetV3相對(duì)于原模型增設(shè)了一層3×3的卷積層,增加了少許計(jì)算量,但由于MobileNetV3-Small本身是一個(gè)超輕量級(jí)網(wǎng)絡(luò),配合YOLOv3在GPU下運(yùn)行完全能夠保證實(shí)時(shí)性,因此增設(shè)的一層卷積層對(duì)速度幾乎沒(méi)有任何影響,且能夠提升網(wǎng)絡(luò)回歸輸出的精度。這種具有固定輸出的回歸網(wǎng)絡(luò)可以在所有情況下保證車牌頂點(diǎn)的輸出,即使是在車牌模糊的情況下,前提是前一階段車牌候選區(qū)域準(zhǔn)確有效。這種兩階段分離的方式,具有更好的靈活性,且利于模型改進(jìn)。另外,由于輸出包含4個(gè)頂點(diǎn)的坐標(biāo),若一個(gè)坐標(biāo)出現(xiàn)異常,理論上還可以根據(jù)車牌形狀先驗(yàn)知識(shí),排除異常估計(jì)值并反推出可能的坐標(biāo)點(diǎn)。
訓(xùn)練時(shí),本文首先根據(jù)所用數(shù)據(jù)集中的車牌頂點(diǎn)標(biāo)簽重新?lián)Q算出車牌4個(gè)頂點(diǎn)在定位階段所構(gòu)建的擴(kuò)展車牌區(qū)域中的相對(duì)坐標(biāo),然后選擇均方誤差作為損失函數(shù),如式(3)所示:
(3)
其中,(xi,yi)代表車牌頂點(diǎn)的真實(shí)相對(duì)坐標(biāo);(x′i,y′i)為所用回歸網(wǎng)絡(luò)的相應(yīng)預(yù)測(cè)值。所用AL-MobileNetV3模型網(wǎng)絡(luò)參數(shù)設(shè)置如表2所示。
Table 2 Training parameters setting of AL-MobileNetV3 model表2 AL-MobileNetV3模型參數(shù)設(shè)置
為了有效評(píng)估本文所提算法性能,采用目前規(guī)模最大的開源車牌數(shù)據(jù)集CCPD[10]開展實(shí)驗(yàn)?,F(xiàn)使用的CCPD數(shù)據(jù)集在2018年的版本上進(jìn)行了一定擴(kuò)充,包括9個(gè)子集,共30多萬(wàn)幅圖像,各個(gè)子集的劃分是根據(jù)所處拍攝環(huán)境而定的。每幅圖像包含車牌外接矩形、頂點(diǎn)坐標(biāo)和車牌號(hào)碼等標(biāo)簽信息(NP子集除外,因?yàn)槠洳缓嚺?,分辨率為720(寬)×1160(高)×3(通道)。和舊版本相比,檢測(cè)擴(kuò)充后的CCPD數(shù)據(jù)集中的車牌更具挑戰(zhàn)性。
本文在實(shí)驗(yàn)中對(duì)所用數(shù)據(jù)集進(jìn)行了如下劃分:首先將子集Base以隨機(jī)的方式等分,其中一部分作為訓(xùn)練集(含驗(yàn)證集),另一部分和CCPD中其余子集(NP子集除外)一起作為測(cè)試集。在訓(xùn)練時(shí),從訓(xùn)練集中隨機(jī)取出20%作為驗(yàn)證集,其余80% 用于訓(xùn)練。車牌粗定位階段和精定位階段的數(shù)據(jù)標(biāo)注信息均以車牌的4個(gè)頂點(diǎn)信息為基礎(chǔ)進(jìn)行設(shè)定。
在粗定位中,訓(xùn)練YOLOv3網(wǎng)絡(luò)模型所用的標(biāo)注框由2個(gè)階段得到。首先,根據(jù)原始數(shù)據(jù)集中車牌頂點(diǎn)坐標(biāo)信息得到車牌的外接矩形,然后以外接矩形為參考利用3.1節(jié)中所述式(1)和式(2),得到用于訓(xùn)練粗定位中YOLOv3網(wǎng)絡(luò)模型的擴(kuò)展矩形框。為了便于后續(xù)和未擴(kuò)展框的情況作對(duì)比,這里同時(shí)還保留了車牌的外接矩形標(biāo)注信息。圖5給出了一些帶有標(biāo)注框的圖例,圖5a中白色外框?yàn)閿U(kuò)展框,內(nèi)部的灰色小框?yàn)楦鶕?jù)車牌頂點(diǎn)得到的外接矩形框。
在精定位階段,根據(jù)上一階段的粗定位結(jié)果從原圖中截取出相應(yīng)區(qū)域可構(gòu)成所需訓(xùn)練集、驗(yàn)證集和測(cè)試集中的圖像,然后換算出車牌4個(gè)頂點(diǎn)在所截取的含有車牌的圖像框中的相對(duì)坐標(biāo)作為標(biāo)注信息,圖5b為一些帶有頂點(diǎn)標(biāo)注的圖例。所用的測(cè)試集是從粗定位測(cè)試集中那些能夠被正確檢測(cè)出車牌區(qū)域的圖像中截取來(lái)的,這樣做的目的是避免粗定位階段產(chǎn)生的錯(cuò)誤對(duì)車牌精定位階段的模型訓(xùn)練造成干擾。
Figure 5 Label examples of datasets圖5 數(shù)據(jù)集標(biāo)簽示例
實(shí)驗(yàn)所用軟件環(huán)境為安裝CUDA9.0的Ubuntu 16.04,所用深度學(xué)習(xí)框架為TensorFlow;硬件設(shè)備主要包括2.4 GHz的Intel Xeno ES-2460 CPU,NVIDIA GeForce GTX 1080 Ti GPU和DDR4 64 GB內(nèi)存。
4.2.1 粗定位實(shí)驗(yàn)及結(jié)果分析
為了更加可靠地驗(yàn)證粗定位階段所采用的邊界擴(kuò)展策略的有效性及粗定位的準(zhǔn)確性,本文進(jìn)行了2種對(duì)比實(shí)驗(yàn),這里稱其為實(shí)驗(yàn)A和實(shí)驗(yàn)B。在實(shí)驗(yàn)A中,先用帶有車牌外接矩形標(biāo)簽的數(shù)據(jù)訓(xùn)練YOLOv3模型;然后再對(duì)YOLOv3的輸出結(jié)果進(jìn)行邊界擴(kuò)展,得到適用于精定位的圖像區(qū)域。與實(shí)驗(yàn)A不同,在實(shí)驗(yàn)B中是用車牌邊界區(qū)域擴(kuò)展后的標(biāo)簽信息來(lái)指導(dǎo)訓(xùn)練,這樣得到的YOLOv3模型就能夠直接輸出用于后續(xù)精定位的候選區(qū)域。2種實(shí)驗(yàn)所用目標(biāo)錨框尺寸如表3所示,這是通過(guò)K-Means聚類算法對(duì)數(shù)據(jù)集中目標(biāo)尺寸聚類得到的。實(shí)驗(yàn)A和實(shí)驗(yàn)B所用的標(biāo)注框不同(詳見3.1小節(jié)),造成所訓(xùn)練的YOLOv3學(xué)習(xí)到的知識(shí)在本質(zhì)上也發(fā)生了變化。
由于粗定位的目的是能夠魯棒地找到包含車牌4個(gè)頂點(diǎn)的候選圖像區(qū)域,以便于后續(xù)輕量級(jí)精定位網(wǎng)絡(luò)專注于車牌4個(gè)頂點(diǎn)相對(duì)坐標(biāo)的回歸估計(jì),因此這里沒(méi)有使用基于檢測(cè)框的交并比IoU來(lái)計(jì)算精確率,而選擇依據(jù)車牌的4個(gè)頂點(diǎn)是否被包含在檢測(cè)框內(nèi)來(lái)統(tǒng)計(jì)。若4個(gè)頂點(diǎn)均在最終的檢測(cè)框內(nèi)則判為正確,否則判為錯(cuò)誤。表4給出了2種實(shí)驗(yàn)在CCPD中各個(gè)子集上的召回率。
Table 3 Size setting of anchors in YOLOv3 model表3 YOLOv3模型錨框尺寸設(shè)置
Table 4 Recall of rough location model on each subset
從表4中的數(shù)據(jù)可以看出,實(shí)驗(yàn)A與實(shí)驗(yàn)B的平均召回率都在95%以上,除個(gè)別子集如DB、Tilt外,在子集上也都能取得高于90%的召回率,這說(shuō)明所用的2種方法在多種場(chǎng)景下都能較準(zhǔn)確地發(fā)現(xiàn)車牌。實(shí)驗(yàn)B在子集Weather、Tilt、Rotate和Base(100k)上的召回率要優(yōu)于實(shí)驗(yàn)A的;在子集Blur、Challenge、FN和DB上的召回率低于實(shí)驗(yàn)A的,但相差不大,均在5%以內(nèi),但反觀Tilt子集和Rotate子集實(shí)驗(yàn)B的召回率要遠(yuǎn)高于實(shí)驗(yàn)A的,分別提升了15%和7%,這說(shuō)明實(shí)驗(yàn)B更能應(yīng)對(duì)車牌拍攝角度的變化。而在平均召回率上,實(shí)驗(yàn)B的也優(yōu)于實(shí)驗(yàn)A。對(duì)于準(zhǔn)確率,從表5中可以看出實(shí)驗(yàn)B在各個(gè)子集上都能取得優(yōu)于實(shí)驗(yàn)A的準(zhǔn)確率,且在Base、Rotate、Weather和Challenge子集上的準(zhǔn)確率均高于99%。綜合可知,本文實(shí)驗(yàn)B中所用粗定位方法在召回率和精確率上都更具優(yōu)勢(shì),驗(yàn)證了其有效性。實(shí)驗(yàn)B能夠取得更好的粗定位效果說(shuō)明邊界擴(kuò)充后的車牌數(shù)據(jù)標(biāo)簽有可能指導(dǎo)YOLOv3模型在學(xué)習(xí)過(guò)程中更加關(guān)注車牌和非車牌區(qū)域之間的區(qū)分,能夠在輸出的車牌尺寸上以區(qū)域中的車牌為核心注意區(qū)域。而在DB子集上,實(shí)驗(yàn)A和實(shí)驗(yàn)B的召回率均小于90%,這主要是因?yàn)镈B子集包含了一些車牌區(qū)域極度昏暗或高光反射的圖像,原始標(biāo)注框也存在一些錯(cuò)誤。圖6給出了本文所用車牌粗定位方法(實(shí)驗(yàn)B所用方法)在CCPD數(shù)據(jù)集中各場(chǎng)景下的一些正確檢測(cè)示例,結(jié)合表4和表5可知,本文所提粗定位方法能夠有效應(yīng)對(duì)各種非約束場(chǎng)景帶來(lái)的背景干擾、傾斜程度嚴(yán)重和光照條件差等不利因素,取得較好的粗定位檢測(cè)結(jié)果。
Table 5 Precision of rough location model on each subset
Figure 6 Correct example of rough location圖6 粗定位方法正確示例
Figure 7 Incorrect example 1 of rough location:Large label error圖7 粗定位方法錯(cuò)誤示例1:標(biāo)簽誤差大
Figure 8 Incorrect example 2 of rough location:The label is correct,the detection is incorrect圖8 粗定位方法錯(cuò)誤示例2:標(biāo)簽正確,檢測(cè)有誤
Figure 9 Incorrect example 3 of rough location:No target detected圖9 粗定位錯(cuò)誤示例3:未檢測(cè)到目標(biāo)
圖7~圖9給出了本文所用車牌粗定位方法在CCPD數(shù)據(jù)集上因多種原因粗定位失敗的一些實(shí)例,圖中的虛線框表示標(biāo)注框,實(shí)線框表示模型檢測(cè)輸出的粗定位結(jié)果。根據(jù)情況的不同,失敗的情形及其原因主要包括3類:(1)原始數(shù)據(jù)集中標(biāo)注信息不準(zhǔn)確造成定位錯(cuò)誤(如圖7所示)。這類問(wèn)題又存在2種情況:一種情況是原始標(biāo)注框錯(cuò)誤,將非車牌區(qū)域標(biāo)注為車牌,如圖7a中虛線框所示;另一種情況是原始車牌標(biāo)注框過(guò)大,如圖7b所示。這類圖像出現(xiàn)在測(cè)試集中時(shí),檢測(cè)模型即使輸出正確結(jié)果,也不能匹配標(biāo)注信息,在計(jì)算準(zhǔn)確率和召回率時(shí)會(huì)被誤認(rèn)為預(yù)測(cè)錯(cuò)誤。但是,模型的輸出有可能是正確的,從圖7a和圖7b中的實(shí)線框可以看出,模型輸出是正確的,但無(wú)法匹配標(biāo)注信息,從而被誤判。這類錯(cuò)誤可以通過(guò)再次清洗原始數(shù)據(jù)集得到糾正。(2)檢測(cè)模型自身存在不足,在有些情況下不能夠輸出正確結(jié)果。這類情況也可分為2種:一種是標(biāo)注框正確,但實(shí)際上檢測(cè)框只包含了一部分車牌區(qū)域,車牌信息不完整導(dǎo)致后續(xù)精定位失敗,如圖8a所示。這主要是由于光照條件過(guò)差,使得車牌不同區(qū)域亮度分布極度不均造成的。另一種是僅有少許車牌邊界區(qū)域沒(méi)有被檢測(cè)框包含,如圖8b所示,這種情況在精定位階段往往能夠給出正確結(jié)果,但在粗定位階段被判為定位失敗。這可以通過(guò)調(diào)整判斷標(biāo)準(zhǔn),增設(shè)檢測(cè)車牌實(shí)際區(qū)域在檢測(cè)區(qū)域的所占比例閾值解決。(3)圖像中車牌區(qū)域的圖像質(zhì)量太差,存在嚴(yán)重遮擋、極端光照或嚴(yán)重模糊等問(wèn)題,如圖9所示。
4.2.2 精定位實(shí)驗(yàn)及結(jié)果分析
為了有效評(píng)估本文所改進(jìn)的AL-MobielNetV3在車牌精定位應(yīng)用中的性能,采用常用的交并比IoU指標(biāo)(如圖10所示)來(lái)計(jì)算精定位階段輸出的4個(gè)車牌頂點(diǎn)構(gòu)成的車牌外接矩形與實(shí)際車牌外接矩形之間的重合度。
Figure 10 IoU calculation method圖10 IoU計(jì)算方式
當(dāng)IoU>0.7時(shí),說(shuō)明二者重合度較好,定位準(zhǔn)確,否則判為定位失敗。圖10中虛線框均為實(shí)際車牌的標(biāo)記框,其中虛線白框是實(shí)際標(biāo)注的4個(gè)車牌頂點(diǎn)得到的外接矩形,通過(guò)這個(gè)外接矩形,可以得出虛線黑框表示的車牌外接矩形。實(shí)線框表示實(shí)際檢測(cè)的結(jié)果,實(shí)線白框?yàn)榫ㄎ坏玫降?個(gè)頂點(diǎn)構(gòu)成的車牌外接矩形,實(shí)線黑框?yàn)閾Q算出的實(shí)際檢測(cè)到的車牌外接矩形。這種計(jì)算主要是為了方便后續(xù)和其他基于矩形檢測(cè)框的車牌目標(biāo)定位算法作對(duì)比。表6給出了精定位模型在CCPD中各個(gè)子集上的準(zhǔn)確率,可以看出,AL-MobileNetV3在所有子集對(duì)應(yīng)的場(chǎng)景中都能夠給出很好的精定位結(jié)果,平均準(zhǔn)確率為99.62%。在速度方面,沒(méi)有進(jìn)一步進(jìn)行代碼優(yōu)化的情況下,所用精定位模型推理速度約為35.4 fps,能夠滿足車牌實(shí)時(shí)檢測(cè)的需要。
Table 6 Precision of precise location model on each subset
圖11為本文所用車牌精定位模型在CCPD各子集對(duì)應(yīng)場(chǎng)景下的一些正確檢測(cè)示例,可以看出改進(jìn)的AL-MobileNetV3模型能夠較好地應(yīng)對(duì)多種傾斜、光照不佳,甚至是背景干擾大的情況,進(jìn)而估計(jì)出車牌4個(gè)頂點(diǎn)的相對(duì)坐標(biāo)值。
Figure 11 Correct examples of precise location圖11 精定位模型正確示例
但在有些特殊情況下,AL-MobileNetV3也會(huì)出現(xiàn)定位失敗或不準(zhǔn)的情況,如圖12所示,其中白色框?yàn)閷?shí)際檢測(cè)框,白色虛線框?yàn)闃?biāo)記框。這些定位錯(cuò)誤可分為3類:(1)原始標(biāo)記框有誤,精定位也示能估計(jì)出準(zhǔn)確的檢測(cè)框,如圖12a所示。這種錯(cuò)誤很可能是因?yàn)橛?xùn)練數(shù)據(jù)集中原始標(biāo)記數(shù)據(jù)存在少量不正確的情況,致使AL-MobileNetV3模型在訓(xùn)練時(shí)學(xué)習(xí)到了錯(cuò)誤知識(shí)。有趣的是,圖12a中前2幅定位結(jié)果比原始標(biāo)注框還更加擬合了實(shí)際的車牌區(qū)域,這也說(shuō)明模型從其他正確標(biāo)注的圖像中學(xué)到了關(guān)鍵知識(shí)。(2)標(biāo)注框正確,檢測(cè)框有誤,如圖12b所示。這常發(fā)生在車牌圖像傾斜角度過(guò)大或光照條件極端的情況下,這也說(shuō)明本文精定位模型在少數(shù)極端場(chǎng)景下的性能還有待提升。(3)該類錯(cuò)誤是一種偽錯(cuò)誤,模型實(shí)際輸出的檢測(cè)框是正確的,但由于原始標(biāo)記數(shù)據(jù)有誤,致使被判定為檢測(cè)失敗。對(duì)于第(1)類和第(3)類錯(cuò)誤,理論上都可以通過(guò)清洗原始數(shù)據(jù)集、校正不正確的標(biāo)簽信息來(lái)得到糾正。第(2)類錯(cuò)誤也是一種樣本不均衡現(xiàn)象的體現(xiàn),因?yàn)镃CPD中各個(gè)子集的圖像數(shù)目不完全均衡且極端情形下的車牌圖像數(shù)目偏少,致使模型無(wú)法學(xué)習(xí)到所有情況下的判別知識(shí)。
Figure 12 Incorrect example of precise location圖12 精定位模型錯(cuò)誤示例
4.2.3 車牌定位整體結(jié)果分析與對(duì)比
為了能夠更加公平且客觀地對(duì)本文所提車牌定位算法整體性能進(jìn)行評(píng)測(cè),本文和文獻(xiàn)[10,24]中相關(guān)數(shù)據(jù)進(jìn)行比較,同時(shí)施加以下約束:(1)選擇與文獻(xiàn)[10,24]相同的數(shù)據(jù)集選取方式。(2)比較時(shí),在粗定位階段選擇實(shí)驗(yàn)A所采用的方案,雖然實(shí)驗(yàn)B所采用的方案性能更佳,但為了能夠保證在粗定位階段所用訓(xùn)練數(shù)據(jù)及標(biāo)簽信息和對(duì)比方法一致,本文首先選擇實(shí)驗(yàn)A的方案進(jìn)行比較。實(shí)驗(yàn)A中是先進(jìn)行車牌直接檢測(cè),然后對(duì)檢測(cè)到的車牌區(qū)域進(jìn)行擴(kuò)展后再輸入精定位網(wǎng)絡(luò)。(3)將車牌目標(biāo)真實(shí)外接矩形框與根據(jù)精定位得到的4個(gè)頂點(diǎn)反算出的外接矩形之間的交并比IoU作為評(píng)判指標(biāo),當(dāng)IoU大于設(shè)定閾值0.7時(shí),可判定為定位正確,否則判定為定位錯(cuò)誤。
對(duì)比表7中的數(shù)據(jù)可看出,4.2.1節(jié)所述的實(shí)驗(yàn)A的方案的準(zhǔn)確率在Challenge、Weather和Base子集上相比于其他算法,具有明顯優(yōu)勢(shì),在FN子集上次優(yōu),而在DB、Rotate和Tilt子集上,特別是Tilt子集上表現(xiàn)較差。這主要是由于車牌出現(xiàn)過(guò)度傾斜后,當(dāng)粗定位的矩形框不能準(zhǔn)確框住車牌區(qū)域時(shí),經(jīng)過(guò)擴(kuò)展后會(huì)使得車牌頂點(diǎn)處于擴(kuò)展區(qū)域的邊緣或者不在擴(kuò)展區(qū)域內(nèi)。而后續(xù)精定位模型在訓(xùn)練時(shí)的數(shù)據(jù)均是在粗定位正確的情況下獲得的,所以即便進(jìn)行了區(qū)域擴(kuò)展,在一些特殊情況下精定位輸出的結(jié)果甚至可能比粗定位還更偏離正確答案。即便是在這種情況下,本文方法在平均準(zhǔn)確率AP上也是最優(yōu)。另外,由于Blur子集中圖像模糊,在CCPD原作者文章中沒(méi)有進(jìn)行評(píng)測(cè)[10],因此其他方法也沒(méi)給出Blur子集上的檢測(cè)數(shù)據(jù),本文所采用的實(shí)驗(yàn)A的方案在Blur數(shù)據(jù)集上也取得了較好的效果。
表8是利用本文所提粗定位方案B結(jié)合精定位模型在新版CCPD數(shù)據(jù)集上的定位結(jié)果。相比于文獻(xiàn)[10]中的舊版數(shù)據(jù)集,新版CCPD數(shù)據(jù)集更具挑戰(zhàn)性。如前所述,定位時(shí)粗定位方案B,先通過(guò)車牌外接矩形得到新的標(biāo)注數(shù)據(jù),然后再進(jìn)行粗定位,接著將粗定位得到的圖像區(qū)域輸入AL-MobileNetV3進(jìn)行精定位,最后得出車牌4個(gè)頂點(diǎn)的坐標(biāo)。評(píng)測(cè)時(shí),再根據(jù)4個(gè)頂點(diǎn)坐標(biāo)反算出車牌外接矩形,得到和標(biāo)注框之間的IoU值,從而計(jì)算出準(zhǔn)確率。為了全面評(píng)估出算法性能,本文還同時(shí)計(jì)算了召回率。對(duì)比召回率和準(zhǔn)確率可知,即使是在更具挑戰(zhàn)性的新版CCPD數(shù)據(jù)集上,本文所提出的粗定位方案B結(jié)合精定位的方法在所有子集上都能取得較好檢測(cè)效果,平均準(zhǔn)確率可達(dá)99.96%,平均召回率可達(dá)99.94%。
除精確率與召回率外,本文還同時(shí)計(jì)算了整個(gè)
Table 7 Comparative analysis of location precision of each model
Table 8 Precision and recall of the rough location experiment B+AL-MobileNetV3 method on each subset
算法的計(jì)算性能,略去調(diào)用函數(shù)及裝載數(shù)據(jù)的開銷,粗定位環(huán)節(jié)在CCPD數(shù)據(jù)集上每幅圖像的處理速度在0.03 s左右;精定位環(huán)節(jié)的處理速度為每幅圖像0.028 s左右。精定位中輕量級(jí)模型和粗定位中YOLOv3模型的計(jì)算速度相近,是因?yàn)閅OLOv3的實(shí)現(xiàn)是基于C版本的Darknet框架,而AL-MobileNetV3則是基于Python版本的PyTorch框架。若都統(tǒng)一在C版本的深度學(xué)習(xí)框架中,速度還有提升的空間。
4.2.4 幾何校正及車牌區(qū)域提取
經(jīng)過(guò)粗定位與精定位,可以得到車牌4個(gè)頂點(diǎn)坐標(biāo),通過(guò)透視幾何變換可方便地將非矩形區(qū)域的車牌圖像矯正為矩形,圖13給出了一些示例??梢钥闯?,經(jīng)過(guò)校正的車牌區(qū)域更便于辨識(shí),對(duì)提升后續(xù)車牌識(shí)別的準(zhǔn)確率具有重要意義。
Figure 13 Correction and extraction of license plate圖13 車牌校正與提取
為克服基于深層卷積神經(jīng)網(wǎng)絡(luò)的主流目標(biāo)檢測(cè)網(wǎng)絡(luò)所采用的矩形檢測(cè)框無(wú)法很好地?cái)M合各種開放環(huán)境下車牌區(qū)域的問(wèn)題,本文提出了一種將YOLOv3與輕量級(jí)MobileNetV3-Small網(wǎng)絡(luò)級(jí)聯(lián)實(shí)現(xiàn)由粗到精的車牌定位方案。 在粗定位階段,利用簡(jiǎn)潔有效的車牌區(qū)域擴(kuò)展辦法,提升了YOLOv3模型檢測(cè)結(jié)果的穩(wěn)健性;在精定位階段,通過(guò)適當(dāng)修改MobileNetV3-Small網(wǎng)絡(luò)使其適用于車牌頂點(diǎn)回歸問(wèn)題,在不影響實(shí)時(shí)性的情況下充分發(fā)揮2種網(wǎng)絡(luò)的優(yōu)勢(shì),解決了非約束場(chǎng)景下車牌的精確定位問(wèn)題。
從實(shí)驗(yàn)結(jié)果可以看出,在粗定位階段,車牌是否完整包含在定位區(qū)域中對(duì)后續(xù)精定位的結(jié)果具有重要影響,所以在個(gè)別極端情況下會(huì)出現(xiàn)粗定位結(jié)合精定位得出的4個(gè)頂點(diǎn)的外接矩形區(qū)域還不如直接用矩形框進(jìn)行定位準(zhǔn)確的情況。后續(xù)可以考慮在不影響精定位模型計(jì)算性能的情況下,增設(shè)額外的輸出來(lái)對(duì)輸入內(nèi)容進(jìn)行判讀,以便于進(jìn)一步確認(rèn)輸入圖像是否滿足精定位要求。另外,后續(xù)還可以通過(guò)迭代的方式篩選出標(biāo)注錯(cuò)誤的樣本,對(duì)其進(jìn)行糾正后再訓(xùn)練,以提升車牌定位準(zhǔn)確度。