楊創(chuàng)富,張昕,海燕,周飛,陳榮演,邱天
(1.五邑大學智能制造學部,廣東江門 529020;2.江門市消防局江門市消防救援支隊,廣東江門 529020)
由于在復雜環(huán)境下,傳統(tǒng)的圖像處理方法容易受強光、雨水、霧霾天氣等環(huán)境因素的影響,車牌識別準確率如何提升一直是研究的重點。文獻[1]提出基于Gabor 濾波多特征融合車牌定位算法,但該方法耗時嚴重。文獻[2]提出了一種基于支持向量機(SVM)的車牌識別方法,該算法有較好的效果,但仍有進一步提升空間。文獻[3]提出了一種采用HSV顏色空間與邊緣信息結(jié)合的方式,但精度仍可提高。為了獲得更高的準確率,該文在分析現(xiàn)有算法的條件下,考慮到深度學習分割算法可自動提取圖像的有效特征[4-5],有效應(yīng)對不同環(huán)境下的識別問題,故選其作為研究對象。
近年來,在人工智能領(lǐng)域飛速發(fā)展的深度學習算法在分割研究應(yīng)用層面?zhèn)涫芮嗖A。如FCN[6]分割網(wǎng)絡(luò)是深度學習分割網(wǎng)絡(luò)最基礎(chǔ)的結(jié)構(gòu),其提出的上采樣反卷積網(wǎng)絡(luò)搭建,卷積網(wǎng)絡(luò)采樣跳躍連接,累加融合特征圖像素值等方法,是UNet 網(wǎng)絡(luò)的借鑒部分。UNet[7]承繼前者網(wǎng)絡(luò)的優(yōu)點,同時也增加了編碼器(enconde)和解碼器(decode),通過在通道上進行拼接,在一定程度上加深卷積層數(shù),實現(xiàn)對特征層的信息有效提取。
通過對前人在分割領(lǐng)域使用的深度學習算法進行研究[8],考慮到注意力機制有利于重點信息的提取,并可抑制非重要信息的獲取。為了更準確地實現(xiàn)車牌區(qū)域分割的目標,將cSE 注意力機制[9]模塊融入到UNet 網(wǎng)絡(luò),構(gòu)建cSE-UNet 網(wǎng)絡(luò)模型,在自建車牌數(shù)據(jù)集進行對比實驗。
UNet 整體為Encoder-Decoder 的結(jié)構(gòu),主干特征提取網(wǎng)絡(luò)分五次卷積池化來提取特征信息。提取到最后的特征層再進行五輪上采樣,同時每一輪上采樣都要和之前同層下采樣網(wǎng)絡(luò)進行堆疊,以達到增強網(wǎng)絡(luò)特征信息提煉的能力,有效實現(xiàn)邊緣特征值的傳遞。最終獲得的特征圖經(jīng)過一個1×1 的卷積層壓縮為一層,通過Sigmoid 激活函數(shù)運算生成概率,可對輸入進來的圖片每一個像素點進行判斷,最終預測結(jié)果呈二值圖像顯示。UNet網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。
圖1 UNet網(wǎng)絡(luò)結(jié)構(gòu)
壓縮和激勵網(wǎng)絡(luò)模塊(cSE-Net) 是源自于SENet[10]的改進,不同之處在于全連接層的升降維度值降為1/2,經(jīng)大量數(shù)據(jù)的對比實驗,效果會更好。cSE 模塊主要分為擠壓操作(Squeeze)和激發(fā)操作(Excitation)。特征圖通過全局平均池化,從[B,C,H,W]變?yōu)閇B,C,1,1],通道數(shù)保持不變,但空間大小變?yōu)?×1,其中,H和W分別為特征圖的高和寬,B是批次數(shù),C為特征圖的通道數(shù),U為輸入特征圖。池化后的特征圖先進行1×1 卷積,把輸入的通道數(shù)變?yōu)?/2,這部分和原來SENet 的1/16 不同;再進行1×1 卷積,把輸入通道恢復到原來的狀態(tài);最后獲得的特征圖通過Sigmoid 激活函數(shù)調(diào)整權(quán)重值為[0,1]之間,再和原來的feature map 相乘,這是整個注意力機制cSE的原理流程,在這過程中特征圖被賦予不同的權(quán)重值,實現(xiàn)對特征信息有效重構(gòu)。其設(shè)計方案如圖2所示。
圖2 cSE模塊設(shè)計方案
鑒于UNet 采用encoder-decoder 形式,先進行下采樣,然后進行上采樣,得到與原圖一樣大小的方法[11]。實驗主要對編碼部分的下采樣層每個池化部分前面均添加cSE 模塊進行改進,其中每個下采樣層由三個模塊(2 個3×3 卷積層+1 個cSE 模塊+1 個2×2 最大池化層)實現(xiàn)。這種增加cSE 模塊改進方式有助于對feature map 信息的提煉[12],重構(gòu)特征信息,抑制非重要信息的利用,增強訓練網(wǎng)絡(luò)的能力。該文設(shè)計的cSE-UNet 網(wǎng)絡(luò)模型,其整體結(jié)構(gòu)如圖3所示。
整體算法流程是先對圖片進行編碼,進行2 個3×3 卷積特征提取,融合1 個cSE 注意力層,再進行一個2×2 池化下采樣,這樣的模塊組合重復四次。輸入的圖片大小開始為512×512,經(jīng)過編碼會變?yōu)?56×256、128×128、64×64、32×32 四種不同尺寸。獲得下采樣最小尺寸32×32 特征圖后進行反卷積,尺寸變?yōu)?4×64 大小,同時把上采樣獲得的特征圖再和之前同層的下采樣相同維度大小的特征圖進行通道拼接(skip connection),這樣的上采樣模塊重復四次,即可把圖片解碼成與輸入大小相同的分割特征圖,最后一層經(jīng)過1×1 卷積核進行分類,使用Sigmoid激活函數(shù),對feature map 進行概率預測,劃分出背景和車牌區(qū)域信息,實現(xiàn)對車牌的分割。
該文以1 800 張汽車車牌照片為對象,其中一部分來自網(wǎng)絡(luò)收集,一部分來自于現(xiàn)場拍攝。圖片拍攝環(huán)境包括雨天、雪天、霧天、晚上、傾斜角度等復雜狀態(tài)下進行。車牌圖片集如圖4 所示。
圖4 汽車車牌數(shù)據(jù)
根據(jù)UNet 網(wǎng)絡(luò)訓練所需的圖片大小,通過程序統(tǒng)一把圖片大小裁剪為512×512像素。再用LableMe軟件對車牌圖片進行人工標注,運行相關(guān)程序把圖片劃分為原圖片和掩碼標簽兩部分,再把掩碼標簽部分圖像二值化,二值化圖像有助提升訓練的穩(wěn)定性。最后由兩部分圖片文件隨機生成200 張驗證數(shù)據(jù)集和1 600 張訓練數(shù)據(jù)集。標注效果如圖5所示。
圖5 標注數(shù)據(jù)集處理
預測結(jié)果指標類型如表1 所示,TP、TN、FP、FN分別為真陽性、真陰性、假陽性、假陰性。
表1 預測結(jié)果指標類型
由于Miou 在所有分割度量之中代表性強,易于理解,選擇其作為測試度量的標準之一。Miou 定義是計算真實值和預測值的交值與其兩并集之比,其計算方法如下:
其次也輔助,采用Dice 相似系數(shù)加以衡量,其原理是計算預測結(jié)果和真實分割標簽進行對比,得出重疊度。Dice 相關(guān)系數(shù)越大,表示的車牌分割效果越好,其公式如下:
召回率(Recall)用于表示對待分割目標的分割覆蓋率,即表示所有正例中被正確分割出來的比例,召回率越高,代表分割的準確目標越多。
該文選用BCE 損失函數(shù)來優(yōu)化網(wǎng)絡(luò)參數(shù),其中BinaryCrossEntropyLoss 即為BCELoss 函數(shù),該損失函數(shù)主要用于二值分類問題,通過評估分割預測值和標簽值的差異程度,使得網(wǎng)絡(luò)訓練對反饋信息進行及時調(diào)整。損失函數(shù)值越低越穩(wěn)定,說明訓練的結(jié)果越趨于準確。BCELoss 公式如式(4):
其中,N為迭代的次數(shù),yi為0 或者1,p(yi)是輸出屬于yi標簽的概率。二元交叉熵是評估訓練和測試結(jié)果的好壞程度,概率p(yi)值越接近1,損失函數(shù)Loss 的值越接近0。
實驗條件如表2 所示。
表2 實驗運行環(huán)境配置
訓練采用Admin 優(yōu)化器,學習率為0.001,損失函數(shù)采用二分類交叉熵損失(BCELoss),訓練的batchsize 為4,經(jīng)過100 輪訓練后,根據(jù)損失函數(shù)和評價指標,訓練的Loss 值不斷下降最后趨于一個穩(wěn)定值,損失值為0.1,如圖6 所示。其他指標如Dice 系數(shù)穩(wěn)定在95%,Miou 達到89%,訓練整體收斂,達到較理想的狀態(tài),保存最好模型。cSE-UNet 網(wǎng)絡(luò)訓練的Dice 和Miou 值變化如圖7 所示。
圖6 損失函數(shù)Loss值變化圖
圖7 Dice和Miou值變化圖
為驗證該文算法的準確性,分別和當前在車牌分割領(lǐng)域有較高準確率的主流分割網(wǎng)絡(luò)(FCN[6]、CeNet、ResNet[13]、UNet、Attention-UNet[14]、GAU-UNet[14]、CBAM-UNet[15]等)在該文數(shù)據(jù)集上進行測試對比,實驗結(jié)果如表3 和4 所示。
表3 主流分割網(wǎng)絡(luò)實驗對比
表4 增加注意力模塊實驗對比
從表3 和4 可以看出,在平均Dice 系數(shù)和平均交并比值(Miou)上,該文方法都明顯超越以往的主流深度學習分割網(wǎng)絡(luò),F(xiàn)CN 網(wǎng)絡(luò)在各指標上表現(xiàn)較差。原始UNet 在整體分割中的召回率為84%,Dice 系數(shù)為71%,平均交并比Miou 為65%,從數(shù)據(jù)來看,對于UNet 網(wǎng)絡(luò)增加Resnet 模塊或注意力模塊(CBAM[16]、GAU、cSE)都會在一定的程度上提高分割的準確性,訓練結(jié)果都比原始的UNet 有提高。而表現(xiàn)最好的是該文的cSE-UNet分割網(wǎng)絡(luò),其中,召回率(Recall)、Dice 系數(shù)值和Miou 明顯分別比原始UNet 提高了10%、16%、15%,整體也比其他主流分割網(wǎng)絡(luò)有較大的提升。CBAM-UNet 整體略低于cSE-UNet,也說明在某些方面CBAM 模塊和cSE 模塊有相通之處,但cSE-UNet 適應(yīng)性更好。
如圖8 所示,UNet 網(wǎng)絡(luò)對車牌分割結(jié)果有些地方分割不全,一些部位被忽略,整體分割較為粗糙。而對UNet 網(wǎng)絡(luò)增加注意力機制cSE 模塊能有效提升訓練的準確性,整體效果更好。其中,CBAM 和cSE模塊效果較為相似,從數(shù)據(jù)上看,cSE 模塊的準確率只比CBAM 模塊高幾個點,但從分割效果來看,CBAM 分割出的位置太多了,有些不是車牌部分也分割出來,而cSE 網(wǎng)絡(luò)模塊分割效果恰到好處,故添加cSE 注意力機制更有效,提升的準確率更大,分割出來的邊界更加平滑。綜合以上的評估結(jié)果,cSEUNet整體效果優(yōu)于其他分割算法。
圖8 UNet各改進系列分割結(jié)果對比
為提升在復雜環(huán)境下車牌分割的精度,該文提出一種基于注意力機制的改進UNet 網(wǎng)絡(luò)算法。首先,篩選注意力模塊,其次,對UNet 增加cSE 模塊,最后,對比其他改進算法實驗,相較原創(chuàng)UNet 網(wǎng)絡(luò)有大幅提升,Dice 系數(shù)值從71%提升至87%,Miou 從65%提升至80%,比其他主流(FCN、Res-UNet、CBAM-UNet)分割方法也有明顯的提升,證明cSE 模塊方法在車牌分割領(lǐng)域是有效的。未來為進一步提升在復雜環(huán)境下網(wǎng)絡(luò)分割的準確性和穩(wěn)健性,將會加大數(shù)據(jù)集的訓練,以及引進多種優(yōu)化函數(shù),增強網(wǎng)絡(luò)各方面的性能。