郭士鑫 張 豪
(長安大學(xué)信息工程學(xué)院 西安 710064)
現(xiàn)如今,社會正在逐步實(shí)現(xiàn)智能化、現(xiàn)代化,嵌入式技術(shù)的發(fā)展迅猛,嵌入式設(shè)備體積小、智能化、高集成度因此被人們廣泛關(guān)注。無論是在日常生活還是工業(yè)生產(chǎn)中,總是有嵌入式的存在,應(yīng)用領(lǐng)域比較普遍。車牌識別在車輛監(jiān)控、車輛違停、闖紅燈違章等方面都是一項具有重要意義的工作。在嵌入式設(shè)備上實(shí)現(xiàn)車牌識別[1]仍具有一定的挑戰(zhàn)性。尤其在沒有外部光源的夜間情況(如無街燈的道路)拍攝到的車牌圖片會直接影響識別效果。
近年來卷積神經(jīng)網(wǎng)絡(luò)的快速發(fā)展在圖像分類、目標(biāo)檢測和語義分割等方面具有有效性和優(yōu)越性。本文結(jié)合圖像增強(qiáng)網(wǎng)絡(luò)模型和圖像識別算法模型,在PC端進(jìn)行訓(xùn)練,將訓(xùn)練好的模型在樹莓派開發(fā)板上實(shí)現(xiàn)車牌圖像識別的應(yīng)用。此模型在圖像增強(qiáng)部分改善圖像的質(zhì)量,針對夜間極弱光圖像增強(qiáng)問題,可以通過物理方法提高低光下圖像的信噪比,但硬件設(shè)施比較復(fù)雜,耗電,可能出現(xiàn)故障導(dǎo)致不能連續(xù)工作。傳統(tǒng)的圖像增強(qiáng)處理對獲取的數(shù)據(jù),應(yīng)用白平衡、消噪、去噪、銳化、色彩空間轉(zhuǎn)換等一系列操作。使用大量的局部、線性和學(xué)習(xí)型(L3)濾波器來近似現(xiàn)代成像系統(tǒng)中的復(fù)雜非線性管道[2]。然而,傳統(tǒng)的圖像增強(qiáng)方法和L3管道都不能達(dá)到處理具有極低信噪比的圖像的效果。直方圖均衡化(HE)[3]和伽馬校正[4~5]被廣泛應(yīng)用,在直方圖上HE使亮度更好地分布,可以在不影響整體對比度的情況下增強(qiáng)局部對比度;伽馬校正通過壓縮明亮像素來增加黑暗區(qū)域的亮度。暗通道先驗方法和光照圖估計方法也被提出來解決圖像增強(qiáng)問題,美國科學(xué)家Land等在1971年提出Retinex圖像增強(qiáng)[6~8]方法,現(xiàn)在也十分流行。但這些方法處理的是有外部光源的條件下獲取的圖像。
王洪亞[9]通過最大最小優(yōu)化熵閾值分割法,加權(quán)標(biāo)定字符區(qū)域的前景及背景分布,降低了字符間的粘連,孤立了噪聲點(diǎn),提高了車牌識別率。張培玲等[10]采用圖像平滑處理增強(qiáng)弱光圖像,利用統(tǒng)計車牌圖像白色像素個數(shù)實(shí)現(xiàn)字符分割,使用基于附加動量法和改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)識別車牌。張秀玲等[11]在傳統(tǒng)LeNet-5網(wǎng)絡(luò)原結(jié)構(gòu)的基礎(chǔ)上進(jìn)行加深加寬,加BN層和Dropout層優(yōu)化網(wǎng)絡(luò),用全局池化層替換全連接層,提升了圖像特征提取的有效性和運(yùn)算速率。被廣泛使用的字符識別方法包括模板匹配法[12~13]、字符特征法[14]、神經(jīng)網(wǎng)絡(luò)法[15~16]等。其中,模板匹配法原理比較簡單、操作方便,但其易受到如光照、噪聲、字符變形等外界因素影響,從而降低整個系統(tǒng)的識別率。字符特征法存在計算量大、識別速度慢等問題。本文利用基于深度卷積神經(jīng)網(wǎng)絡(luò)的LPRNet算法[17],解決車牌識別問題,該算法通過不進(jìn)行字符分割和后續(xù)識別,忽略車牌檢測問題,以減少過程和計算復(fù)雜度,獲得較高的準(zhǔn)確率。
基于U-Net網(wǎng)絡(luò)模型[18]直接處理極弱光圖像,整個圖像增強(qiáng)過程分為三個部分:前期處理、U-Net卷積網(wǎng)絡(luò)、超分辨率重建。圖像增強(qiáng)網(wǎng)絡(luò)模型為圖1中虛線框內(nèi)部分。
圖1 網(wǎng)絡(luò)模型圖
前期處理部分將輸入圖像壓縮進(jìn)四個通道中,同時,空間分辨率在各個維度上降低為原來的1/2,按一定放大比率(例如,×10、×20或×30)對圖像數(shù)據(jù)進(jìn)行放大。構(gòu)成網(wǎng)絡(luò)核心的卷積網(wǎng)絡(luò)結(jié)構(gòu)有:使用均方誤差損失函數(shù)MSE-L2進(jìn)行訓(xùn)練的CAN網(wǎng)絡(luò)模型[19]、用于快速圖像處理的多尺度上下文聚合網(wǎng)絡(luò)[20]和使用平均絕對誤差函數(shù)MAE-L1的U-net[21]網(wǎng)絡(luò)。實(shí)驗證明U-net網(wǎng)絡(luò)結(jié)構(gòu)內(nèi)存消耗較小,能夠在GPU中處理全分辨率圖像,因此選用U-Net網(wǎng)絡(luò)作為模型增強(qiáng)處理部分的核心結(jié)構(gòu)。U-Net卷積網(wǎng)絡(luò)部分輸入為打包和放大的數(shù)據(jù),實(shí)現(xiàn)圖像的像素語義分割,輸出為12通道的圖像,空間分辨率為原來的一半。超分辨率重建部分實(shí)現(xiàn)亞像素填充恢復(fù)到原來的分辨率。
訓(xùn)練用的數(shù)據(jù)為包含幾個省的車牌圖片。其中752張用于訓(xùn)練,150張用于測試。訓(xùn)練時,網(wǎng)絡(luò)輸入是弱光圖像,并對輸入圖像進(jìn)行灰度處理,白天的圖像作為地面真實(shí)值,并對真值圖像白平衡操作。訓(xùn)練過程中U-Net卷積網(wǎng)絡(luò)采用L1損失函數(shù),該損失函數(shù)含義:預(yù)測值與真實(shí)值差值的絕對自和。公式如下:
網(wǎng)絡(luò)采用Adam優(yōu)化器[22]進(jìn)行參數(shù)更新。在每次迭代中,應(yīng)用隨機(jī)翻轉(zhuǎn)和旋轉(zhuǎn)增強(qiáng)數(shù)據(jù),初始學(xué)習(xí)率設(shè)置為10-4,經(jīng)過2000個周期后,學(xué)習(xí)率降低為10-5??偣策\(yùn)行4000個周期。
LPRNet模型是為了實(shí)現(xiàn)對上面車牌增強(qiáng)圖像的識別。圖像增強(qiáng)網(wǎng)絡(luò)的輸出作為車牌識別模型的輸入。對輸入圖像進(jìn)行空間轉(zhuǎn)換預(yù)處理,使用LocNet架構(gòu)來更新轉(zhuǎn)換參數(shù),估計最優(yōu)參數(shù)將輸入圖像轉(zhuǎn)換為更好的識別特征??臻g轉(zhuǎn)換模塊由定位網(wǎng)絡(luò)、網(wǎng)格發(fā)生器和采樣器的組成。該模塊的計算速度非???,對訓(xùn)練速度幾乎不影響。LocNet結(jié)構(gòu)如表1。
表1 LocNet網(wǎng)絡(luò)結(jié)構(gòu)
主干網(wǎng)以增強(qiáng)圖像為輸入,計算空間分布特征,1×13內(nèi)核的寬卷積基于局部字符上下文。主干網(wǎng)的結(jié)構(gòu)如表2所示。其中,基本構(gòu)建塊Small basic block見表3,在每個卷積層處理后使用批處理歸一化[23]和ReLU激活函數(shù)。主干子網(wǎng)絡(luò)輸出為車牌字符概率序列,其長度與輸入圖像像素寬度相對應(yīng)。由于譯碼器輸出字符和目標(biāo)字符序列長度不同,采用CTC loss的方法進(jìn)行無分割的端到端訓(xùn)練,CTC是一種從每個時間步驟的概率到輸出序列概率的有效方法。
表2 主干網(wǎng)絡(luò)結(jié)構(gòu)
表3 基本小模塊
使用全局上下文嵌入增強(qiáng)預(yù)譯碼器的中間特征映射來進(jìn)一步提高性能。通過在主干網(wǎng)輸出上的全連接層計算的,平鋪到所需的大小,并與主干網(wǎng)輸出連接。額外使用1×1卷積將特征映射的深度調(diào)整到字符類的數(shù)量。對于推理階段的譯碼過程,使用波束搜索達(dá)到輸出序列的總概率最大。后濾波過程與波束搜索結(jié)合應(yīng)用。后過濾過程獲得通過波束搜索找到最可能的前n個序列,并返回與國家LP規(guī)則的預(yù)定義模板集匹配的第一個序列。
數(shù)據(jù)集為經(jīng)過增強(qiáng)處理后的車牌圖片,使用批量大小為32、初始學(xué)習(xí)率為0.001和梯度噪聲規(guī)模為0.001的Adam優(yōu)化器來訓(xùn)練網(wǎng)絡(luò)模型。在每2000次迭代之后,將學(xué)習(xí)率降低10倍。在實(shí)驗中,使用的是tensorflow環(huán)境,使用例如旋轉(zhuǎn)、縮放和移位達(dá)到數(shù)據(jù)增強(qiáng)的目的。在最初的迭代后,輸出識別率較低,LocNet無法從識別器中獲得合理的梯度,因此,在5k迭代后才打開LocNet,輸出識別率。
本次實(shí)驗將訓(xùn)練好的車牌圖像的增強(qiáng)和識別算法模型在Raspberry Pi 4B(RPI)、Google Coral(GC)、Jetson Nano B01(JN)和Khadas VIM3(KV)嵌入式開發(fā)板上應(yīng)用實(shí)現(xiàn)。樹莓派上配置和軟件安裝如下。
操作系統(tǒng):下載安裝最新Raspberry Pi Image Tool和64位操作系統(tǒng)。
超頻:提高開發(fā)板上的時鐘頻率使應(yīng)用程序加速運(yùn)行,同時產(chǎn)熱增加,需加散熱器,產(chǎn)生的熱量由下面公式近似表示:
其中,Cdvn為動態(tài)電容,V為電壓,f為頻率。動態(tài)電容由MOSFET晶體管的絕緣層給定。
加散熱器和不加散熱器CPU溫度變化如圖2。
圖2 樹莓派CPU溫度對比
OpenCV和tensorflow:安裝OpenCV處理圖像和其他相關(guān)任務(wù),tensorflow框架用于網(wǎng)絡(luò)模型測試實(shí)驗。
將白天拍攝到的車牌圖片作為地面真值,然后將其調(diào)整變換為弱光圖像,以模擬在沒有光源的條件下獲取的弱光圖像。使用伽瑪變換使圖像變暗。輸出為
式中A是常數(shù),由輸入圖像Iin中的最大像素強(qiáng)度決定。當(dāng)γ>1時,給較低(較深)灰度像素強(qiáng)度值加權(quán)。使用均勻分布γ~uniform(1,6)把白天圖像變暗。γ>1的變換提高了圖像的對比度,在伽馬變換后增加了對比度調(diào)整。輸出Iout為
其中,α取值在0.1~1之間來控制對比度。
生成的效果圖如圖3。
圖3 生成的弱光圖像效果圖
4.2.1 樹莓派CPU溫度監(jiān)測
在沒有散熱器的情況下,Raspberry Pi會立即自動降低時鐘頻率來避免設(shè)備受損。加裝散熱器后使用超頻,以大約1950MHz的頻率在樹莓派上運(yùn)行模型。在執(zhí)行卷積網(wǎng)絡(luò)模型時,更高的頻率會使Raspberry Pi崩潰。增加電源電壓和時鐘頻率,Raspberry Pi會增加產(chǎn)熱。隨著頻率提高溫度上升情況如圖4。
圖4 樹莓派CPU溫度變化
4.2.2 訓(xùn)練結(jié)果
圖像增強(qiáng)過程每200次迭代結(jié)果保存一次,對不同放大倍數(shù)圖像進(jìn)行訓(xùn)練,圖5包括參考圖像和網(wǎng)絡(luò)訓(xùn)練結(jié)果圖。
圖5 由左往右放大倍數(shù)依次為×10、×20、×30車牌圖像
圖像檢測網(wǎng)絡(luò)中,第1和300個周期訓(xùn)練結(jié)果如表4。
表4 訓(xùn)練結(jié)果
4.2.3 測試結(jié)果
極弱光車牌圖像增強(qiáng)和識別網(wǎng)絡(luò)模型應(yīng)用到各個開發(fā)板上,將各平臺上的測試結(jié)果進(jìn)行比較和評價分析。評價指標(biāo)為峰值信噪比PSNR、結(jié)構(gòu)相似性SSIM[24]。圖像增強(qiáng)部分輸出結(jié)果評價指標(biāo)如表5。
表5 圖像質(zhì)量評價
本次實(shí)驗將LPRNet模型與HSV、BP和LeNet-5模型進(jìn)行對比分析。結(jié)果如表6所示。結(jié)果證明應(yīng)用LPRNet模型得到較高的識別準(zhǔn)確率和速率。
表6 模型輸出結(jié)果
在不同開發(fā)板設(shè)備上實(shí)現(xiàn)車牌圖像識別,輸出結(jié)果如表7。
表7 圖像識別輸出
由上表中得到的輸出結(jié)果可知,本次實(shí)驗提出的低照度圖像增強(qiáng)和識別結(jié)合算法能夠在嵌入式開發(fā)板上應(yīng)用實(shí)現(xiàn)。實(shí)驗結(jié)果表明樹莓派上實(shí)現(xiàn)效果較其他設(shè)備圖像增強(qiáng)效果和識別率高,速度較快。
弱光條件下的車牌識別在嵌入式平臺上的實(shí)現(xiàn)是具有挑戰(zhàn)性的課題,本次實(shí)驗結(jié)合圖像增強(qiáng)和LPRNet識別算法實(shí)現(xiàn)弱光車牌圖像識別,通過與HSV、BP和LeNet-5模型對比,驗證了結(jié)合模型具有較高的準(zhǔn)確率和速率。通過在樹莓派和其他開發(fā)板上的輸出結(jié)果對比,有效地說明了低照度車牌圖像識別在樹莓派上具有更高的識別率,速度較快,且成本較低,為智能交通做出一定貢獻(xiàn)。