田智源,李志偉,王修文,孟 珊
(上海工程技術(shù)大學(xué) 電子電子工程學(xué)院,上海 201600)
智能交通廣泛的應(yīng)用在交通管理系統(tǒng)中[1],其中起著關(guān)鍵作用的是車牌檢測(cè)與識(shí)別技術(shù),這為違章檢測(cè),車輛追蹤和停車管理提供了便捷,但由于霧霾天氣的增加,會(huì)影響計(jì)算機(jī)視覺對(duì)圖像的檢測(cè)和識(shí)別能力,所以有必要對(duì)圖像進(jìn)行圖像去霧的預(yù)處理。
傳統(tǒng)的圖像去霧算法,如暗通道先驗(yàn)[2],顏色衰減先驗(yàn)[3]等,能實(shí)現(xiàn)圖像去霧,展現(xiàn)圖像的細(xì)節(jié)信息,但這類去霧算法普遍會(huì)導(dǎo)致圖像對(duì)比度會(huì)衰減。針對(duì)此問(wèn)題,本文提出一個(gè)自適應(yīng)的對(duì)比度調(diào)節(jié)去霧模型,對(duì)霧霾天氣下的車牌圖像進(jìn)行預(yù)處理。
近年來(lái),隨著深度學(xué)習(xí)的高速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)被有效地運(yùn)用到車牌識(shí)別系統(tǒng)中。相比傳統(tǒng)的方法,基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)算法提高了車牌檢測(cè)和識(shí)別系統(tǒng)的魯棒性,能在晴朗的天氣環(huán)境下高效運(yùn)行。先前的方法將所有車牌統(tǒng)一處理,而不同尺度和類型的車牌擁有不同的特征,級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)[4]能對(duì)不同的車牌所需特征進(jìn)行融合,相互補(bǔ)充,減少非必要的特征,有效的提升學(xué)習(xí)速度。文獻(xiàn)[5]提出的殘差網(wǎng)絡(luò),有效地解決了深層網(wǎng)絡(luò)退化問(wèn)題,同等層數(shù)的前提下,收斂速度更快,同時(shí)還能防止過(guò)擬合。在目標(biāo)檢測(cè),一階全卷積網(wǎng)絡(luò)[6](FCOS)能對(duì)目標(biāo)輪廓進(jìn)行分類和回歸,該網(wǎng)絡(luò)在分類中提出中心度量(centerness),有效地降低遠(yuǎn)離對(duì)象中心的邊界框的權(quán)重,能提高檢測(cè)準(zhǔn)確率?;谏鲜龅难芯浚疚奶岢鲆环N霧霾天氣的車牌檢測(cè)與識(shí)別模型,驗(yàn)證了該模型在不同程度的霧霾天氣下的可行性和準(zhǔn)確性。
基于大氣散射模型下的去霧算法是目前傳統(tǒng)去霧算法的主流,該模型由McCartney提出,廣泛應(yīng)用于模糊圖像的建模,如式(1)、式(2)所示:
其中,x是圖像像素點(diǎn)的位置;I輸入模糊圖像;J為去模糊后的圖像;A為全局大氣光照強(qiáng)度;t是透射圖,表示未被散射和吸收掉的大氣光照強(qiáng)度值與相機(jī)獲得到的場(chǎng)景光照強(qiáng)度的比值;β稱為衰減系數(shù);d(x)為深度圖,與霧霾的濃度密切相關(guān)。其中影響圖像對(duì)比度的主要參數(shù)為A和β的值。
為了恢復(fù)出無(wú)霧的輸出圖像,由(1)可知,需要計(jì)算出A和t的值。首先,在計(jì)算透射圖t,由顏色衰減先驗(yàn)知識(shí)(CAP)可知,在HSV色彩空間中,圖像中霧霾的濃度與輸入圖像的v和s之差近似呈現(xiàn)線性關(guān)系,進(jìn)而能動(dòng)態(tài)的計(jì)算出圖像的深度圖d(x):
其中,v(x)圖像的亮度值;s(x)是圖像的飽和度;ε(x)是隨機(jī)誤差補(bǔ)償項(xiàng),且ε(x)~N(0,σ2),σ=0.041337。
假設(shè)空氣介質(zhì)是相同且均勻的,此時(shí)取初始值衰減系數(shù)β=1,在[0,2]之間變化時(shí),會(huì)影響圖像的對(duì)比度,且存在一個(gè)最佳值。由于霧霾天氣下拍攝時(shí),采集到圖像可能會(huì)產(chǎn)生色彩偏差,導(dǎo)致對(duì)比度降低,根據(jù)是否產(chǎn)生色偏特性,提出一個(gè)自適應(yīng)參數(shù)ρc來(lái)修正β值:
若根據(jù)式(3)、式(6),直接計(jì)算出的透射圖,則會(huì)有邊緣信息的缺失和模糊現(xiàn)象,因此還需要平滑處理。本文在引導(dǎo)濾波[8]的基礎(chǔ)上,提出雙層引導(dǎo)濾波。
經(jīng)過(guò)單次的濾波,輸出圖像還是會(huì)殘留不同頻段的噪聲。如圖1,雙層引導(dǎo)濾波采用兩次引導(dǎo)濾波,第一次濾波將引導(dǎo)圖像I和輸入圖像p作為輸入,第二次濾波將第一次濾波的輸出圖像q和輸入圖像p作為輸入。不同的是,第一次的引導(dǎo)濾波內(nèi)核半徑大,在消除高頻噪聲的基礎(chǔ)上,初步保留圖像的基本輪廓信息,第二次的引導(dǎo)濾波內(nèi)核半徑小,能進(jìn)一步消除低頻噪聲,使圖像更加平滑,清晰。
圖1 雙層引導(dǎo)濾波
圖2(a)表示原始理論估算圖,圖2(b)表示經(jīng)過(guò)二次引導(dǎo)濾波后的深度圖,圖中的噪聲基本被平滑去掉了,得到具有清晰輪廓和細(xì)節(jié)的透射圖,圖2(c)表示最終恢復(fù)出的透射圖。
圖2 深度圖的平滑處理和恢復(fù)
為了進(jìn)一步提升圖像的對(duì)比度,本文還修正了大氣光照值。根據(jù)圖像的亮度直方圖,提取圖像中亮度最高的2%的像素點(diǎn):
其中idx(·)是提取出的像素點(diǎn);N表示圖像像素點(diǎn)的總數(shù);r表示挑選出來(lái)的像素點(diǎn)經(jīng)過(guò)正則化后的比例,值域是[0,1]。經(jīng)過(guò)上述的處理,最終的大氣光照強(qiáng)度的計(jì)算公式:
綜合以上的分析計(jì)算,結(jié)合式(1),得到最終的去霧圖像:
為了避免透射系數(shù)可能趨于0,導(dǎo)致去霧圖像容易產(chǎn)生噪聲信號(hào),本文對(duì)t設(shè)置一個(gè)下限值,一般取0.1,在能保留模糊圖像里少量的噪聲信號(hào)的同時(shí),使圖像顯得更加自然,所以最終的去霧數(shù)學(xué)模型為:
端到端的車牌檢測(cè)和識(shí)別模型設(shè)計(jì)如圖3所示。
圖3 車牌檢測(cè)和識(shí)別模型
輸入圖像首先需要進(jìn)行圖像預(yù)處理,該過(guò)程包含霧霾天氣下圖像去霧,Harris角點(diǎn)檢測(cè)。圖像去霧為了獲取清晰無(wú)霧圖像,展現(xiàn)車牌細(xì)節(jié)信息,再進(jìn)行角點(diǎn)檢測(cè),獲取到車牌的輪廓粗坐標(biāo),然后經(jīng)過(guò)檢測(cè)網(wǎng)絡(luò)后,最終輸入到車牌識(shí)別網(wǎng)絡(luò),整個(gè)網(wǎng)絡(luò)訓(xùn)練完成后,將原始圖像輸入后,能直接輸出車牌識(shí)別后的結(jié)果圖,實(shí)現(xiàn)了端到端的霧霾天氣下的車牌檢測(cè)和識(shí)別。
車牌檢測(cè)網(wǎng)絡(luò)如圖4所示。在該網(wǎng)絡(luò)中,主要包含主干卷積網(wǎng)路,每個(gè)小塊是殘差網(wǎng)絡(luò)(ResNet),上下分支由級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)(CBNet)相連,最后分類和回歸是一階全卷積網(wǎng)絡(luò)(FCOS)。
圖4 車牌檢測(cè)網(wǎng)絡(luò)
車牌檢測(cè)過(guò)程中,主要通過(guò)卷積網(wǎng)絡(luò)進(jìn)行特征提取操作。但對(duì)于不同的尺度的車牌,如果使用同一網(wǎng)絡(luò),顯然會(huì)加重訓(xùn)練成本,為此,在原有卷積網(wǎng)絡(luò)的基礎(chǔ)上,加入了級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò),將不同尺度的車牌進(jìn)行特征融合,以降低訓(xùn)練成本。同時(shí),在特征提取的五個(gè)卷積層中,每個(gè)塊都是殘差網(wǎng)絡(luò)塊,該結(jié)構(gòu)的目的是在提升訓(xùn)練速度的同時(shí),能有效的防止過(guò)擬合和梯度爆炸問(wèn)題。結(jié)構(gòu)如圖5所示。
圖5 殘差網(wǎng)絡(luò)塊
為了得到最終準(zhǔn)確的車牌輪廓信息,在Head塊中,采用全卷積層,對(duì)學(xué)習(xí)到的車牌輪廓信息進(jìn)行分類和回歸。分類分支中,在中心度的限制下,降低遠(yuǎn)離對(duì)象中心的邊界框的權(quán)重,提高檢測(cè)性能。回歸分支中,預(yù)測(cè)出原始輸入的車牌輪廓信息。其網(wǎng)絡(luò)結(jié)構(gòu)如圖6所示。
圖6 分類、回歸網(wǎng)絡(luò)
車牌檢測(cè)網(wǎng)絡(luò)的分類采用焦點(diǎn)損失(focal loss),回歸分支采用交并比損失(IOU loss),該檢測(cè)網(wǎng)絡(luò)總的損失函數(shù)為:
傳統(tǒng)的OCR文字識(shí)別采用卷積神經(jīng)網(wǎng)絡(luò)提取特征能力較弱,部分網(wǎng)絡(luò)采用多個(gè)全連接層(Fully Connected layer)會(huì)導(dǎo)致參數(shù)的聚集,加重了訓(xùn)練成本。因此,本文采用更易訓(xùn)練的GRU(Gate Recurrent Unit)循環(huán)神經(jīng)網(wǎng)絡(luò),提出一個(gè)新的車牌識(shí)別模型,對(duì)車牌進(jìn)行特征提取,完成識(shí)別過(guò)程。
中國(guó)的車牌是由7個(gè)字符組成,第一個(gè)字符是31個(gè)省份的簡(jiǎn)稱之一(不包括港澳臺(tái)),緊接著的是一個(gè)英文字母字符,最后的五位由26個(gè)英文字母和0到9的數(shù)字組成。車牌識(shí)別模型如圖7。將前面檢測(cè)網(wǎng)絡(luò)輸出的車牌輪廓框以及內(nèi)部信息作為輸入,通過(guò)多次卷積、池化操作后,輸入到全連接層,再傳遞到GRU塊中,經(jīng)過(guò)cancat融合特性,經(jīng)過(guò)再一次的全連接層后,通過(guò)softMax層,就能輸出識(shí)別的車牌號(hào),完成車牌識(shí)別操作。
圖7 車牌識(shí)別網(wǎng)絡(luò)
本文采用的數(shù)據(jù)集是通過(guò)張清晰的包含車牌的原圖,經(jīng)過(guò)數(shù)據(jù)增強(qiáng),主要包含隨機(jī)剪裁、翻轉(zhuǎn)、添加噪聲操作后,得到張無(wú)重復(fù)、不同角度、不同背景、不同環(huán)境的真實(shí)含車牌圖像,其中也包含復(fù)雜環(huán)境下的圖像,如霧霾、下雨、下雪的車牌圖像。每張圖像是RGB三通道的,分辨率為300(寬)×300(高)。本次實(shí)驗(yàn)將數(shù)據(jù)集按8:2比例分為訓(xùn)練集和測(cè)試集。
本次實(shí)驗(yàn)環(huán)境為Ubuntu16.04操作系統(tǒng),python3.6編程語(yǔ)言,Tensor-flow1.13框架,顯卡型號(hào)Nvidia GTX 2080Ti。Batch_size設(shè)置為16,前90個(gè)epoch的學(xué)習(xí)率為,衰減率為10,一共迭代300個(gè)epochs。訓(xùn)練完成后,保存每個(gè)網(wǎng)絡(luò)參數(shù)。
圖8中,輸入的是清晰的包含車牌圖像,輸出結(jié)果包含車牌文字和識(shí)別精度。實(shí)驗(yàn)結(jié)果顯示,該端到端的車牌檢測(cè)最高精度能達(dá)99.2%左右,平均識(shí)別速率為68fps。
圖8 車牌檢測(cè)與識(shí)別結(jié)果
圖9表示能見度大概為4m左右霧霾天氣的實(shí)驗(yàn)結(jié)果,輸入是含有霧的車牌圖像,輸出結(jié)果證明該模型在霧天的有效性。
圖9 霧霾天氣下的實(shí)驗(yàn)結(jié)果
相比目前主流的目標(biāo)識(shí)別方法,在本文的數(shù)據(jù)集下,將各方法的網(wǎng)路參數(shù)調(diào)至最優(yōu)。表1顯示,本文模型的準(zhǔn)確率和識(shí)別率具有一定的優(yōu)勢(shì)。
表1 實(shí)驗(yàn)結(jié)果對(duì)比
本文提出了的一種新型的霧霾天氣下端到端的車牌檢測(cè)與識(shí)別模型,該模型將級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)、殘差網(wǎng)絡(luò)、GRU循環(huán)神經(jīng)網(wǎng)絡(luò)有效的結(jié)合起來(lái),充分的應(yīng)用每個(gè)網(wǎng)絡(luò)的優(yōu)點(diǎn),并結(jié)合去霧算法對(duì)含霧霾的車牌圖像進(jìn)行去霧處理。實(shí)驗(yàn)結(jié)果顯示,本文模型能有效的提高車牌檢測(cè)與識(shí)別系統(tǒng)的魯棒性,適用于能見度較低的應(yīng)用場(chǎng)景。未來(lái)有望改進(jìn)圖像預(yù)處理過(guò)程,使車牌識(shí)別系統(tǒng)適用于更多復(fù)雜的環(huán)境中。