田 煜 賈瑞生 鄧夢(mèng)迪 趙超越
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 山東 青島 266590)(山東科技大學(xué)山東省智慧礦山信息技術(shù)省級(jí)重點(diǎn)實(shí)驗(yàn)室 山東 青島 266590)
高分辨率車牌圖像可以提升車牌檢測(cè)、車牌識(shí)別、車牌分割等研究的質(zhì)量。然而車牌在拍攝過(guò)程中,受拍攝硬件和拍攝環(huán)境的影響,會(huì)造成得到的車牌圖像模糊不清,這對(duì)后續(xù)工作造成了極大的挑戰(zhàn)。針對(duì)如今通過(guò)改進(jìn)硬件提高圖像分辨率的方法將花費(fèi)高昂的經(jīng)濟(jì)代價(jià),并且傳統(tǒng)的提升分辨率方法效果不佳等問(wèn)題,提出一種采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)模糊車牌圖像進(jìn)行超分辨率重建的方法。采用神經(jīng)網(wǎng)絡(luò)提升模糊車牌圖像的分辨率,用低成本的軟件對(duì)分辨率進(jìn)行改善。目前超分辨率重建技術(shù)的研究成果對(duì)于醫(yī)學(xué)、車牌分割、車牌識(shí)別等領(lǐng)域具有重大意義[1-3]。
目前模糊車牌圖像的超分辨率重建方法大致分為三類:基于插值的方法,基于重構(gòu)的方法和基于學(xué)習(xí)的方法[4]。基于插值的方法是圖像超分辨率重建最早出現(xiàn)的方法[5],這種方法復(fù)雜度低、速度快,但是插值結(jié)果容易引起鋸齒、振鈴等人工效應(yīng);基于重構(gòu)的方法是針對(duì)插值方法的不足提出的一種方法,但該方法操作復(fù)雜、精度難以保證、效率較低[6-7];基于學(xué)習(xí)的算法是目前超分辨率重建領(lǐng)域中研究的熱點(diǎn)[8]。Freeman等[9]提出基于樣本學(xué)習(xí)的圖像超分辨率方法;Polatkan 等[10]提出了一種新的貝葉斯非參數(shù)模型;Timofte等[11]提出了一種基于固定鄰域回歸的方法;Yang等[12-13]提出了稀疏編碼算法是通過(guò)稀疏表示關(guān)系來(lái)學(xué)習(xí)耦合字典;Timofte等[14]提出了ANR算法;Schulter等[15]提出了SRF算法;Dong等[16]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的超分辨率重建,成功將深度學(xué)習(xí)技術(shù)引入到SR當(dāng)中,該算法被稱為SRCNN。在SRCNN的基礎(chǔ)上,Dong等[17]提出加速超分辨率卷積網(wǎng)絡(luò)(FSRCNN),彭亞麗等[18]在此基礎(chǔ)上提出了一種基于深度反卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率算法。以上算法在圖像重建領(lǐng)域取得了很好的效果,但在車牌圖像領(lǐng)域仍有以下不足:特征提取階段卷積核過(guò)于單一特征提取效果不佳;映射部分參數(shù)冗余,訓(xùn)練花費(fèi)時(shí)間過(guò)長(zhǎng);重建部分引入的人工信息過(guò)多。針對(duì)以上不足,本文提出一種雙通道深度可分離網(wǎng)絡(luò)模型。模型在特征提取階段采用雙通道代替原有的單通道,映射部分加入深度可分離卷積提升訓(xùn)練速度,重建部分采用子像素卷積操作抑制人工冗余信息。結(jié)果表明,相比其他算法,在車牌圖像重建領(lǐng)域本文算法取得更優(yōu)的效果。
深度可分離卷積[19]是把標(biāo)準(zhǔn)卷積分解成深度卷積和逐點(diǎn)卷積。深度可分離卷積可以降低網(wǎng)絡(luò)模型的參數(shù)數(shù)量,加快神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,具體結(jié)構(gòu)如圖1所示。
輸入的特征映射I尺寸為(DI,DI,M),采用標(biāo)準(zhǔn)卷積K為(F,F,M,N),輸出的特征映射O尺寸為(DO,DO,N),深度可分離卷積相對(duì)于標(biāo)準(zhǔn)卷積減少的計(jì)算量為:
(1)
式中:F為卷積核大小;DI為輸入特征圖大小;M為輸入通道數(shù);N為輸出通道數(shù)。
無(wú)論是人為放大、雙立方插值放大,還是反卷積層放大,這些手段通常會(huì)帶入過(guò)多人工因素,子像素卷積會(huì)大大降低這個(gè)風(fēng)險(xiǎn),其結(jié)構(gòu)如圖2所示。

圖2 子像素卷積結(jié)構(gòu)圖
對(duì)于待重建的一幅模糊車牌圖像I(x,y),對(duì)其放大r倍,子像素卷積層就會(huì)輸出r2個(gè)特征圖,將r2個(gè)特征圖的同一位置各取一個(gè)點(diǎn),將其組成一個(gè)r×r的小塊,對(duì)其他點(diǎn)重復(fù)此操作,最終實(shí)現(xiàn)r2倍放大。
為了實(shí)現(xiàn)車牌圖像的超分辨率重建,首先需要訓(xùn)練一個(gè)深度卷積神經(jīng)網(wǎng)絡(luò)模型,如圖3所示。訓(xùn)練首先要建立一個(gè)高分辨率車牌圖像樣本庫(kù),對(duì)高分辨率樣本庫(kù)中的車牌圖像進(jìn)行下采樣,獲得低分辨率車牌圖像樣本庫(kù),對(duì)低分辨率車牌圖像和高分辨率車牌圖像分別進(jìn)行圖像切割,得到若干低分辨率車牌圖像塊和高分辨率車牌圖像塊,將得到的低分辨率車牌圖像塊和高分辨率車牌圖像塊成對(duì)送入卷積神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,即可得到車牌圖像超分辨率重建模型。對(duì)低分辨率車牌圖像進(jìn)行重建時(shí),把低分辨率車牌圖像送入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型中,完成車牌圖像重建。

圖3 低分辨率車牌圖像超分辨率重建模型
目前在車牌圖像領(lǐng)域傳統(tǒng)的算法具有以下不足:特征提取階段卷積核過(guò)于單一特征提取效果不佳;映射部分參數(shù)冗余,訓(xùn)練花費(fèi)時(shí)間過(guò)長(zhǎng);重建部分引入的人工信息過(guò)多。針對(duì)以上不足,本文在FSRCNN基礎(chǔ)上進(jìn)行改進(jìn),提出一種雙通道深度可分離網(wǎng)絡(luò)模型。模型在特征提取階段采用雙通道代替原有的單通道,映射部分加入深度可分離卷積提升訓(xùn)練速度,重建部分采用子像素卷積操作抑制人工冗余信息,構(gòu)建的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖4所示。

圖4 本文神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖
本文算法的神經(jīng)網(wǎng)絡(luò)模型包括特征提取、非線性映射、重建三大部分。具體如下:
特征提取:使用28個(gè)3×3的卷積核與兩層28個(gè)3×3的卷積核分別進(jìn)行圖像特征提取,最后采用contact操作,最終生成56個(gè)特征圖。
映射:為了將低分辨率的特征映射為高分辨率的特征,對(duì)12個(gè)特征圖進(jìn)行2層深度可分離卷積操作,卷積核大小均采用3×3,卷積核數(shù)量為12。
重建:對(duì)拓展后的高分辨率特征進(jìn)行重建和放大,將56個(gè)特征圖與9×9的卷積核進(jìn)行子像素卷積操作,得到重建后的高分辨率圖像。其中卷積操作所采用的卷積函數(shù)為:
Fn(Y)=max(λ*(Wn*Fn-1(Y)+Bn),Wn*Fn-1(Y)+Bn)
(2)
子像素卷積操作所采用的卷積公式為:
Fn(Y)=PS(Wn*Fn-1(Y)+Bn)
(3)
式中:Wn為卷積核大小;Bn為偏置;Fn(Y)為本層輸出的特征圖;Fn-1(Y)為是本層輸入的特征圖;λ為激活函數(shù)PReLU中的參數(shù);*為卷積操作;Y為待處理的特征圖;PS是指子像素卷積操作。
卷積操作所涉及的各層參數(shù)維度設(shè)置如表1所示。

表1 本文神經(jīng)網(wǎng)絡(luò)模型參數(shù)設(shè)置圖
本文算法在每個(gè)卷積層之后使用PReLU激活函數(shù)[20],即帶修正參數(shù)的ReLU[21],對(duì)于ReLU出現(xiàn)的dead feature現(xiàn)象[22],PReLU激活函數(shù)通過(guò)增加少量計(jì)算量就可以避免,同時(shí)還能實(shí)現(xiàn)更高的準(zhǔn)確率,PReLU激活函數(shù)表達(dá)式如下:
(4)
式中:yi為第i通道的輸入;λ為PReLU的參數(shù),λ值為變量,伴隨訓(xùn)練迭代不斷更新。
本文算法采用MSE作為損失函數(shù)。對(duì)于一系列由卷積神經(jīng)網(wǎng)絡(luò)重建得到的車牌圖像Fi(Y;θ)和一系列原始的高分辨率車牌圖像Xi,為了使均方誤差達(dá)到最小,求得最優(yōu)的參數(shù)θ,均方誤差公式如下:
(5)
式中:n為樣本個(gè)數(shù);模型參數(shù)θ包括卷積核權(quán)重W、偏置b和激活函數(shù)參數(shù)λ。L(θ)值越接近0,說(shuō)明擬合效果更好,模型參數(shù)越優(yōu)。
模型采用的數(shù)據(jù)集是通過(guò)網(wǎng)絡(luò)爬蟲(chóng)以及人為拍攝得到的100幅不同車牌圖像,記作X。從X中隨機(jī)選取91幅圖像作為原始訓(xùn)練樣本,記作X1,隨機(jī)選取9幅圖像作為驗(yàn)證樣本,記為X2。訓(xùn)練樣本是由網(wǎng)絡(luò)的輸入(低分辨圖DL)和標(biāo)簽(高分辨圖DH)兩部分組成。首先對(duì)原始訓(xùn)練樣本X1進(jìn)行下采樣,得到低分辨率圖像集X′1,然后對(duì)X′1、X1進(jìn)行擴(kuò)充,分別采用大小為7×7和19×19的滑動(dòng)窗口進(jìn)行切塊得到若干7×7的低分辨率圖像塊和19×19的高分辨率圖像塊作為訓(xùn)練集。部分切割前的數(shù)據(jù)集如圖5所示。

圖5 數(shù)據(jù)集展示
目前主觀評(píng)價(jià)和客觀評(píng)價(jià)是現(xiàn)有圖像超分辨率重建的主要評(píng)測(cè)標(biāo)準(zhǔn)[18]。主觀評(píng)價(jià)是通過(guò)人眼對(duì)圖像進(jìn)行評(píng)測(cè),目前客觀量化方法主要包括:峰值信噪比(PSNR), PSNR越高,說(shuō)明重建圖像的質(zhì)量相對(duì)于高分辨率圖像的質(zhì)量越接近,具有更優(yōu)秀的重建效果;結(jié)構(gòu)相似性(SSIM),SSIM值越趨近于1,則兩幅圖相似度越高,重建效果越好。
本文算法訓(xùn)練過(guò)程的輸入為7×7的低分辨率圖像塊,采用的優(yōu)化器為SGD,動(dòng)量設(shè)置為0.9,學(xué)習(xí)率為0.000 1,學(xué)習(xí)率政策采用fixed,放大倍數(shù)為3倍,總共迭代50萬(wàn)次。訓(xùn)練完成后,從驗(yàn)證樣本集X2中選取一幅測(cè)試圖像I(x,y)。圖6(a)為網(wǎng)絡(luò)輸入圖像;(b)是對(duì)(a)人為放大3倍的結(jié)果;(c)為對(duì)(a)采用雙立方插值放大的結(jié)果;按照本文提出的神經(jīng)網(wǎng)絡(luò),對(duì)(a)進(jìn)行超分辨率重建,重建結(jié)果如(d)所示。

圖6 本文算法結(jié)果圖
從集合X2中隨機(jī)選取一幅測(cè)試圖像I(xi,yi),分別對(duì)這些圖片采用雙立方插值算法(Bicubic)[23]、SRF[15]、SRCNN[16]、SCN[24]、FSRCNN[17]、本文算法進(jìn)行重建。3倍放大重建效果如圖7所示。可以看出,本文算法相對(duì)于傳統(tǒng)算法來(lái)說(shuō),客觀評(píng)價(jià)指標(biāo)得到大幅的提高,相對(duì)于學(xué)習(xí)的算法,本文算法無(wú)論是在PSNR還是SSIM方面,均取得最高值。

圖7 放大3倍局部放大效果圖
為了驗(yàn)證實(shí)驗(yàn)結(jié)果并非偶然性,隨機(jī)選取5幅不同種類的圖像進(jìn)行測(cè)試,采用PSNR、SSIM評(píng)價(jià)指標(biāo)對(duì)6種算法進(jìn)行客觀評(píng)價(jià)。為了客觀公正,本文算法與所有表中網(wǎng)絡(luò)均采用數(shù)據(jù)集X和圖6實(shí)驗(yàn)所采用的參數(shù)。表2為客觀測(cè)試的結(jié)果,表中用粗體表示最優(yōu)的重建結(jié)果。實(shí)驗(yàn)結(jié)果表明,本文方法相對(duì)于圖中其他算法在客觀評(píng)價(jià)指標(biāo)中取得最優(yōu)值,充分說(shuō)明本文方法重建出的車牌圖像的質(zhì)量更接近于原圖的質(zhì)量,對(duì)車牌圖像的重建效果更好。

表2 不同算法評(píng)價(jià)指標(biāo)比較
為了驗(yàn)證本文算法的優(yōu)越性,本文同時(shí)采用公開(kāi)數(shù)據(jù)集上的91幅自然圖像作為訓(xùn)練樣本,采用Set5[25]、Set14[26]作為測(cè)試樣本進(jìn)行測(cè)試,測(cè)試結(jié)果如表3所示。可以看出,本文算法在公開(kāi)數(shù)據(jù)集上相對(duì)于其他算法無(wú)論是PSNR還是SSIM上都具有更優(yōu)的表現(xiàn)。

表3 不同算法公開(kāi)數(shù)據(jù)集比較
為了驗(yàn)證本文模型的時(shí)效性,從兩個(gè)數(shù)據(jù)集中隨機(jī)選取5幅不同的車牌圖像進(jìn)行重建,分別對(duì)Bicubic[23]、SRF[15]、SRCNN[16]、SCN[24]、FSRCNN[17]和本文算法計(jì)時(shí)。表4為不同方法重建一幅車牌圖像所需時(shí)間的結(jié)果。可以看出,Bicubic重建一幅車牌圖像所需的時(shí)間最少,平均只需要0.005 7 s,但其重建結(jié)果并不能達(dá)到預(yù)期的效果。本文算法的測(cè)試時(shí)間相相比其他算法都有提高,且在PSNR和SSIM方面都略優(yōu)于表中其他算法。

表4 不同算法耗時(shí)量比較
為了評(píng)估不同的卷積核數(shù)量對(duì)超分辨率重建性能的影響,在網(wǎng)絡(luò)層數(shù)為6層時(shí)分別訓(xùn)練卷積核數(shù)目為28、56、84的網(wǎng)絡(luò)模型,選擇放大倍數(shù)為3,在本文的數(shù)據(jù)集中進(jìn)行測(cè)試,結(jié)果如圖8所示。圖中X28、X56、X84分別表示特征提取部分采用的卷積核個(gè)數(shù)。可以看出,雖然采用84個(gè)卷積核收斂速度快,但造成了過(guò)擬合現(xiàn)象,采用28個(gè)卷積核收斂速度慢,效果差,因此本文采取56個(gè)卷積核用于特征提取。

圖8 不同卷積核數(shù)目對(duì)效果的影響
為了驗(yàn)證不同的映射層數(shù)對(duì)于最終重建結(jié)果的影響和對(duì)于重建速度的影響。對(duì)映射部分分別選取2、3、4層進(jìn)行測(cè)試,選擇放大倍數(shù)為3,最終的PSNR與時(shí)間的關(guān)系圖如圖9所示,X2、X3、X4分別表示本文方法在非線性映射部分采用的深度可分離卷積層數(shù)。由于SRF、SRCNN、SCN的運(yùn)行時(shí)間遠(yuǎn)大于FSRCNN與本文算法,并且重建效果不佳,故在此不進(jìn)行比較。可以看出,本文算法在非線性映射部分采用兩層深度可分離卷積層可以取得最優(yōu)效果。

圖9 不同卷積層數(shù)對(duì)效果及時(shí)間的影響
本文提出一種多層神經(jīng)網(wǎng)絡(luò)用于超分辨率重建,針對(duì)其他算法在車牌圖像領(lǐng)域具有特征提取不足、訓(xùn)練耗時(shí)以及重建引入過(guò)多人工冗余信息等問(wèn)題,通過(guò)雙通道、深度可分離卷積以及子像素卷積層來(lái)解決。本文算法在保證重建精度的基礎(chǔ)上,訓(xùn)練速度和測(cè)試速度相對(duì)于對(duì)比方法均有提高,使該放大在實(shí)際應(yīng)用中取得了更好的效果。下一步將對(duì)車牌圖像與其他圖像(遙感圖像、自然圖像等)的特點(diǎn)進(jìn)行研究,以搭建能同時(shí)適用于多類圖像的超分辨率重建的模型。