周世杰,李頂根
(1.華中科技大學(xué) 中歐清潔與可再生能源學(xué)院,湖北 武漢 430074;2.華中科技大學(xué) 能源與動(dòng)力工程學(xué)院,湖北 武漢 430074)
智能交通系統(tǒng)[1](intelligent traffic system,ITS)是將計(jì)算機(jī)技術(shù)、傳感器技術(shù)、圖像處理技術(shù)、通信技術(shù)等相關(guān)技術(shù)結(jié)合使用到交通運(yùn)輸?shù)墓芾眢w系,從而建立起來一種高效、實(shí)時(shí)、精準(zhǔn)的綜合運(yùn)輸與管理系統(tǒng)。車牌作為車輛的一個(gè)身份標(biāo)識(shí),在智能交通系統(tǒng)中有著至關(guān)重要的作用,系統(tǒng)通過車牌對(duì)車輛進(jìn)行區(qū)分從而進(jìn)行辨認(rèn)以及管理。因此,車牌識(shí)別技術(shù)在智能交通系統(tǒng)中顯得尤為重要。
Jian Yang等[2]開發(fā)了一個(gè)包括圖像采集、車牌定位、字符分割和字符識(shí)別的系統(tǒng),改進(jìn)了二值圖像定位方法,使用模板匹配方法進(jìn)行字符識(shí)別,該方法對(duì)車牌面積超過總圖像1/5的圖像能進(jìn)行很好的識(shí)別。Feng Gao等[3]提出了一種結(jié)合了垂直邊緣檢測(cè)、車牌顏色信息和數(shù)學(xué)形態(tài)學(xué)的車牌定位方法以及基于BP神經(jīng)網(wǎng)絡(luò)的字符識(shí)別方法,結(jié)果表明定位準(zhǔn)確率為96.5%,識(shí)別準(zhǔn)確率為90.5%。Dun等[4]利用垂直邊緣和滑動(dòng)窗口相結(jié)合的方式對(duì)車牌進(jìn)行檢測(cè),并用深度學(xué)習(xí)的方法進(jìn)行字符檢測(cè),準(zhǔn)確率為83.29%。劉建國等[5]基于AlexNet提出了一種車牌識(shí)別算法,該算法車牌識(shí)別準(zhǔn)確率達(dá)到96.7%。張娜等[6]在圖像預(yù)處理、車牌定位、字符分割的基礎(chǔ)上,采用改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)對(duì)字符識(shí)別,準(zhǔn)確率達(dá)到96.15%。這些車牌識(shí)別技術(shù)對(duì)圖像中車牌面積有很高的要求,不涉及到大場景下多車道車輛的車牌識(shí)別。
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的大場景下車牌識(shí)別方法,可以識(shí)別大場景下圖片里多車道的車輛車牌。該方法分兩步完成車牌識(shí)別,首先以textboxes++[7]為基礎(chǔ)網(wǎng)絡(luò)架構(gòu)進(jìn)行修改,以修改后的網(wǎng)絡(luò)作為前端車牌檢測(cè)網(wǎng)絡(luò)。檢測(cè)到車牌后,對(duì)車牌進(jìn)行裁剪并送入后端識(shí)別網(wǎng)絡(luò)進(jìn)行識(shí)別,后端識(shí)別網(wǎng)絡(luò)采用CRNN[8]框架。網(wǎng)絡(luò)訓(xùn)練在自行采集的大場景圖片中完成,總體識(shí)別準(zhǔn)確率達(dá)到94%,可以對(duì)一張圖片中多車道的車輛車牌進(jìn)行檢測(cè)與識(shí)別。
本文的研究對(duì)象為大場景下的圖像,目前網(wǎng)上開源的車牌數(shù)據(jù)集EasyPR[9]為小場景下的圖像,不包含多車道的圖片,而且車輛占據(jù)圖片中大多數(shù)的比例,因此不符合本文的要求。為了解決此問題,實(shí)驗(yàn)室分配多人分不同時(shí)段使用GoPro相機(jī)在不同地點(diǎn)進(jìn)行數(shù)據(jù)的采集工作。采集的圖像樣例如圖1所示。
圖1 車牌檢測(cè)數(shù)據(jù)集示例(4車道及3車道圖片示例)
圖片包含多個(gè)車道的車輛,采集的數(shù)據(jù)中不全是4車道,也含有雙車道、3車道的圖像,圖片中車牌的分辨率保證在150×30左右。實(shí)驗(yàn)室最終采集了5000張圖片,并對(duì)圖片進(jìn)行標(biāo)注工作,將圖片中的車牌標(biāo)注出來。隨后在5000張圖片中隨機(jī)選取1000張作為測(cè)試集,其它4000張圖片作為車牌檢測(cè)網(wǎng)絡(luò)的訓(xùn)練集。
后端車牌識(shí)別網(wǎng)絡(luò)的數(shù)據(jù)集由從實(shí)驗(yàn)室實(shí)地采集的5000張圖片中裁剪出的車牌圖片組成,對(duì)于采集的過于模糊的車牌我們未將其放在數(shù)據(jù)集內(nèi),本文也暫時(shí)沒有考慮對(duì)過于模糊的車牌進(jìn)行處理。與此同時(shí),在有車牌底框、背景的情況下生成了10 000張車牌圖片,生成車牌的過程中會(huì)進(jìn)行傾斜、加噪聲、添加背景等操作。自主生成的 10 000 張車牌圖片作為預(yù)訓(xùn)練數(shù)據(jù)集,后端的車牌識(shí)別網(wǎng)絡(luò)先在該10 000張圖片中進(jìn)行訓(xùn)練得到預(yù)訓(xùn)練模型,然后在該模型的基礎(chǔ)上用實(shí)際場景下5000張圖片中車牌的裁剪圖片進(jìn)行訓(xùn)練,從而得到最終的車牌識(shí)別模型。
前端車牌檢測(cè)網(wǎng)絡(luò)以textboxes++網(wǎng)絡(luò)架構(gòu)為基礎(chǔ)進(jìn)行修改,網(wǎng)絡(luò)的整體結(jié)構(gòu)如圖2所示。該網(wǎng)絡(luò)以VGG-16[10]的前13層為基礎(chǔ)網(wǎng)絡(luò),同時(shí)將VGG網(wǎng)絡(luò)后面的兩層全連接層(fc6以及fc7)替換為卷積層(conv6以及conv7),然后在后面額外添加8層卷積層(從conv8_1到conv11_2),接著選取整體結(jié)構(gòu)中的7個(gè)卷積層連接到“車牌框?qū)印保搶右彩蔷矸e層,將在后面對(duì)該層做詳細(xì)介紹。最后在“車牌框?qū)印焙竺媸褂梅菢O大值抑制(non-maximum suppression,NMS)。該車牌檢測(cè)網(wǎng)絡(luò)為全卷積網(wǎng)絡(luò),總共有23層卷積層。
“車牌框?qū)印睘榫矸e層,在前面7個(gè)不同的卷積層的輸出特征圖上做檢測(cè),預(yù)測(cè)車牌存在的概率以及包圍框的坐標(biāo)信息。然后通過后面的非極大值抑制篩選出最正確的預(yù)測(cè)。不同于textboxes++的網(wǎng)絡(luò)結(jié)構(gòu),本文將第10層、第13層、第15層、第16層、第18層、第20層以及最后的第23層卷積層連接到“車牌框?qū)印?,與此同時(shí)考慮到我們采集的數(shù)據(jù)中車牌在圖片中的分辨率保證在150×30左右,該卷積層的卷積核采用1×5大小。
圖2 車牌檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)
“車牌框?qū)印钡妮敵鰹榉诸惙謹(jǐn)?shù)和坐標(biāo)信息,損失函數(shù)由兩部分組成,分類損失(Lconf)以及定位損失(Lloc)。令x為默認(rèn)框和真實(shí)框匹配的系數(shù),xij=1表示在滿足閾值的情況下默認(rèn)框i與真實(shí)框j相匹配,否則xij=0。 令c為預(yù)測(cè)的置信度,l為預(yù)測(cè)的車牌框,g為實(shí)際的車牌框,則損失函數(shù)表達(dá)式為
(1)
式中:N為與真實(shí)車牌框匹配的默認(rèn)框的數(shù)量,α在文中設(shè)置為0.2,分類損失Lconf采取2分類softmax損失函數(shù)
(2)
(3)
定位損失Lloc為預(yù)測(cè)車牌框(l)與實(shí)際車牌框(g)之間的smooth L1[11]損失,令默認(rèn)框(d)中心坐標(biāo)為cx、cy,寬為w,高為h,則定位損失計(jì)算式為
(4)
(5)
(6)
車牌識(shí)別網(wǎng)絡(luò)采取CRNN網(wǎng)絡(luò)結(jié)構(gòu),它包括3個(gè)部分:卷積層、循環(huán)層以及轉(zhuǎn)錄層。卷積層由標(biāo)準(zhǔn)的卷積神經(jīng)網(wǎng)絡(luò)模型中的卷積層和池化層組成,它從輸入的圖像經(jīng)過卷積后得到的特征圖上提取出特征序列。循環(huán)層由一個(gè)深度雙向LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)成,預(yù)測(cè)特征序列中的每一個(gè)特征向量的標(biāo)簽分布。轉(zhuǎn)錄層基于詞典中的標(biāo)簽序列將LSTM循環(huán)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的特征序列轉(zhuǎn)化為最終的結(jié)果。網(wǎng)絡(luò)的具體配置見表1,其中f,k,s,p分別表示卷積核的個(gè)數(shù),卷積核的尺寸,步長以及填充。
本文采用識(shí)別準(zhǔn)確率(accuracy)來對(duì)網(wǎng)絡(luò)模型進(jìn)行評(píng)估,識(shí)別準(zhǔn)確率是正確識(shí)別的樣本數(shù)與總樣本數(shù)的比值
(7)
式中: TP=true positives, TN=true negatives, FP=false positives, FN=false negatives。 不同于傳統(tǒng)意義上的TP、TN、FP、FN,本方法中的識(shí)別準(zhǔn)確率要求既能檢測(cè)到車牌也能準(zhǔn)確識(shí)別,即TP表示圖片中有車牌被檢測(cè)到且準(zhǔn)確識(shí)別出來;TN表示圖片內(nèi)沒有車牌,檢測(cè)時(shí)沒有誤檢所以也沒有識(shí)別;FP表示圖片內(nèi)有車牌沒有檢測(cè)出來或者檢測(cè)出來后識(shí)別錯(cuò)誤;FN表示圖片內(nèi)有車牌但是沒有檢測(cè)出來。我們對(duì)提出的改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)在實(shí)驗(yàn)室做的數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),網(wǎng)絡(luò)模型的訓(xùn)練均在實(shí)驗(yàn)室服務(wù)器上完成,服務(wù)器CPU及GPU配置型號(hào)為:Intel(R)Xeon(R) CPU E5-2620 v4;GTX1080Ti。服務(wù)器共有兩塊CPU,每塊有8個(gè)核心,16個(gè)邏輯處理器;兩塊GPU,每塊GPU顯存為11 G。在訓(xùn)練集上訓(xùn)練收斂后,將模型在測(cè)試集上進(jìn)行實(shí)驗(yàn)。該方法的實(shí)驗(yàn)結(jié)果在表2中呈現(xiàn)出來,與此同時(shí),為了比較本文提出的方法和一些已有的方法,表2也包含了其它車牌識(shí)別方法的準(zhǔn)確率等信息。
表1 車牌識(shí)別網(wǎng)絡(luò)結(jié)構(gòu)
表2 車牌識(shí)別方法對(duì)比
從表2中可以看出,本文提出的方法的總體識(shí)別準(zhǔn)確率為94%,不是最高的,但是本文提出的方法是針對(duì)大場景下的圖片,圖中包含多個(gè)車道,而且計(jì)算準(zhǔn)確率的時(shí)候要求圖中所有車牌均準(zhǔn)確檢測(cè)識(shí)別出來,否則都算識(shí)別出錯(cuò),而其它方法并不具備此條件,其它方法的高識(shí)別準(zhǔn)確率是針對(duì)于普通場景而言(普通場景如圖3所示),對(duì)于大場景下的車輛圖片進(jìn)行車牌識(shí)別的時(shí)候無法正確檢測(cè)及識(shí)別出來。
圖3 普通場景
本文提出的車牌識(shí)別方法的效果如圖4所示。圖4左下角部分為整體效果。為了更加直觀地反映識(shí)別效果,特別對(duì)車牌部分進(jìn)行了局部放大(箭頭指向部分為局部放大圖)。從圖中可以看到本文提出的方法對(duì)于大場景中的4個(gè)車道上的車輛車牌進(jìn)行了很好的檢測(cè)與識(shí)別。圖5為數(shù)據(jù)集中3車道圖片識(shí)別效果。
圖4 車牌識(shí)別效果(箭頭表示局部放大)
圖5 3車道車牌識(shí)別效果(箭頭表示局部放大)
為了更加細(xì)致地了解本文提出的方法對(duì)不同車道數(shù)情況的識(shí)別效果,特意將測(cè)試集中的4車道和3車道圖片挑選出來單獨(dú)進(jìn)行識(shí)別,并單獨(dú)分別進(jìn)行識(shí)別準(zhǔn)確率的計(jì)算。計(jì)算結(jié)果見表3,4車道的車牌識(shí)別準(zhǔn)確率為89%,而3車道的車牌識(shí)別準(zhǔn)確率達(dá)到96%。3車道圖片的車牌識(shí)別準(zhǔn)確率比4車道圖片的車牌識(shí)別準(zhǔn)確率高出很多,為此將數(shù)據(jù)集中的4車道的圖片拿出來和3車道進(jìn)行對(duì)比,發(fā)現(xiàn)3車道圖片中車牌的清晰度比4車道高出很多,而且實(shí)驗(yàn)室采集的4車道圖片中雖然車道線只標(biāo)出了4條車道,但車道兩邊的延伸很多,完全超出了4車道的范圍,這是造成4車道圖片車牌識(shí)別準(zhǔn)確率低的原因之一。另外經(jīng)過對(duì)4車道圖片數(shù)據(jù)的認(rèn)真盤查后發(fā)現(xiàn),很多圖片中車牌的首個(gè)漢字或者其中一些字母比較模糊,特征不夠明顯,這也造成了識(shí)別的困難。為此把測(cè)試集中4車道圖片中車牌號(hào)比較模糊的圖片去除后重新進(jìn)行實(shí)驗(yàn),此時(shí)4車道圖片車牌識(shí)別的準(zhǔn)確率也能夠達(dá)到95%。數(shù)據(jù)集中也包含正拍的雙車道圖片(車輛在圖中占據(jù)大部分,車牌清晰可見),本文提出的方法在這些圖片中的識(shí)別準(zhǔn)確率達(dá)到98%,文中不對(duì)該類型圖片進(jìn)行展示。
表3 本文方法在不同車道數(shù)下的識(shí)別率
針對(duì)大場景下的車牌識(shí)別問題,本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的車牌識(shí)別方法,可以對(duì)圖片中多車道的車輛車牌進(jìn)行檢測(cè)識(shí)別。為了完成該研究課題,實(shí)驗(yàn)室專門采集了大場景下的車牌數(shù)據(jù)集,并在該數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,整體的車牌識(shí)別準(zhǔn)確率為94%。當(dāng)將數(shù)據(jù)集中的4車道和3車道的圖片單獨(dú)拿出來并將車牌比較模糊難以辨認(rèn)的圖片剔除后,分別進(jìn)行實(shí)驗(yàn)的時(shí)候,4車道圖片的車牌識(shí)別準(zhǔn)確率為95%,3車道圖片車牌的識(shí)別準(zhǔn)確率為96%。這些數(shù)據(jù)表明本文提出的方法能很好地應(yīng)用到大場景下多車道的車牌識(shí)別問題中去。