劉良鑫,林勉芬,周成菊,潘家輝
(華南師范大學 軟件學院,佛山 528225)
伴隨著我國的人口數量增長和國民經濟水平提高,在近年來,居民的汽車使用量一直在不斷的增加.因此,人們大量地利用機器與攝像頭來識別車輛,車牌等信息,達到檢測識別車輛收費,測速等目的.但在很多情況下,例如在遮擋、陰影、相機噪音、光線變化和天氣狀況等復雜環境條件下,拍攝的車牌圖片質量往往不盡人意,這也使得后續的處理過程變得愈加艱巨.因此,利用深度學習技術對模糊的車牌圖片進行修復、重建,方便機器或者人對拍攝的車輛進行后續的定位或其他操作,從而幫助人們更好地實現社會交通智能管理.
對于失真度較高的圖片進行重建這一領域來說,可以大致的分為以下3 種方法:1)最早被學者提出的方法是基于插值的圖像重建[1],雖然這方法簡單、而且重建圖像速度較快,但是這種方法會引起鋸齒、振鈴等人工效應缺點,因此很快被人所拋棄.2)基于重構的方法[2]是針對插值方法的缺點所提出的一種方法,但是該算法操作復雜,精度低,也不值得學者進行研究.3)基于深度學習的圖像超分辨率重建(super-resolution,SR)[3]作為一門能豐富圖像細節,對失真圖像進行較高質量還原的圖像處理技術,在國外學者提出后,便引起了圖片修復相關領域的研究員們的高度關注.Dong 等人[4]首次在圖像超分辨率重建運中用卷積神經網絡(CNN).Kim 等人[5,6]的研究中,通過增加卷積網絡的深度和引入殘差學習結構,提高模型中的收斂率問題.Zhang的團隊[7]利用了殘差密集結構,該模型有助于從卷積層中提取出圖像特征.Ledig 等人[8]對GAN 做出了改進,并將模型的命名為SRGAN.最近,在文獻[9]中,Wang 等人首次引入residual-in-residual dense block(RRDB),并應用于生成對抗網絡中,而且重新設計了感知損失函數的輸出形式.
本文共由6 節組成.第1 節主要介紹了圖像修復重建領域算法的相關背景,前人研究成果,以及論文規劃.第2 節介紹了GAN的原理和本文模型研究算法的貢獻.第3 節對本文提出一種新的網絡模型進行詳細的介紹.第4 節將本文提出的模型應用于中國停車場數據集(CCPD)中,并分析了實驗結果的優點與不足.第5 節結合網絡模型結構與實驗結果進行相關的討論,在第6 節中做了總結,并提出對今后工作的展望.
生成對抗網絡是Goodfellow 等人[10]在2014年提出的一種基于無監督的深度學習模型,該模型能夠學習大量的數據樣本之間的復雜的聯系,從而輸出與真實數據相似的機器數據.如圖1所示,該網絡由兩部分組成:生成器(generator)+鑒別器(discriminator).生成器主要用于生成機器數據,而鑒別器主要用于判斷數據的真假.在雙方的不斷對抗訓練中,最終使得該模型輸出極其符合現實意義的數據,并達到納什均衡[11].

圖1 生成對抗網絡原理圖
在原始的GAN 網絡中,鑒別器的主要功能在于對數據進行二分類的判別,判斷真或假.對于輸入的圖片,我們設置其標簽為1,否則為0.而生成模型G通過不斷訓練嘗試生成相似的“機器數據”,使得判別模型D判別該數據為真,所以其損失函數可以定義為:

其中,Pr是代表真實數據,Pz是代表假設的機器數據.
我們在前人研究的基礎上,提出了一種新的基于生成對抗網絡的圖片重建模型,本文的主要貢獻有以下幾點:1)我們采用RRDB 對圖片進行高級特征的提取,在圖片重建階段我們采用漸進式上采樣網絡.2)引入馬爾可夫判別器(Markovian discriminator,PatchGAN)[12]作為GAN的鑒別器,利用其輸出為矩陣的這一特點,引導生成器進行更高質量、更多細節的圖像重建.3)對車牌而言,我們將重點關注車牌字母方向與邊緣等高級特征,采用MSE (內容損失)與最小化VGG的混合作為模型的損失函數.4)引入峰值信噪比(PSNR)[13]與結構相似度(SSIM)等多種評價指標,對模型重建圖像進行客觀評價.
同時,我們還與目前較新的圖像超分辨方法進行對比.首先,在生成器方面,與羅會蘭等人[14]提出的生成對抗網絡相比,我們運用了密集連接的殘差采樣塊進行高級特征采樣.其次,在鑒別器方面,相較于傳統GAN的判別器[15],本文判別器允許任意大小的圖像作為輸入,網絡設計更加靈活.最后,在損失函數方面,與徐姝琪等人[16]運用TV 損失聯合相比,我們重點關注車牌這一特殊圖像的高級特征,如車牌邊緣、字母方向等,采用MSE 與最小化VGG的混合函數作為模型的損失函數.
對于車牌圖像分辨率不足導致無法識別,現有超分辨率算法重建的車牌圖像依然存在字符扭曲,字符斷裂等問題.因此,在生成器模型階段,我們打算采用一種基于密集殘差網絡(dense-connected residual sampling network DRSN)的車牌超分辨率重建算法.整體網絡結構如圖2所示.
由圖2可以知道,生成器網絡包含3 個模塊,分別為初始化特征提取模塊,密集連接的殘差采樣模塊,圖像重建模塊.

圖2 生成器網絡結構圖
3.1.1 初始化特征提取模塊

式(1)中,HFE1表示為卷積核為3×3 卷積層,主要目的在于將車牌圖像特征從空間維度映射到特征維度,用于提取車票的形狀邊緣信息.HFE2是一個卷積核為1×1的卷積層,用于對HFE1提取到的特征進行降維,同時提取關鍵信息.F0表示初始化特征提取模塊所提取到的特征,同時也是密集殘差連接模塊的輸入[17].
3.1.2 密集連接的殘差采樣塊
在更高級的特征提取模塊,本文采用了密集連接的殘差采樣塊.該模塊由多個殘差密集塊(RRDB)鏈接而成.密集連接的殘差采樣模塊使得不同RRDB 之間的存在著連續記憶.一個RRDB 可以鏈接所有后續的RRDB 塊,傳遞并保留圖像信息,從而使狀態延續傳遞.其次,密集連接的殘差采樣塊同時具有密集與殘差網絡兩者的優良特性,將全局特征和局部特征融合形成連續的記憶機制.
1 個RRDB 由3 個dense block (DB)塊組成.1 個DB 塊了存在著5 個卷積核(Conv) 與4 個激活函數(Leaky-ReLU),每個卷積核大小都為7×7.它們密集地連接在一起,形成了殘差密集網絡中的dense block,整體結構如圖3所示.

圖3 殘差密集網絡結構圖
3.1.3 圖像重建模塊
本文采取漸進式上采樣實現車牌重建模塊.對比普通的上采樣網絡,漸進式上采樣采用子亞像素卷積實現.這是因為子亞像素卷積能提高更多更細節的上下文信息.在子亞像素卷積中,我們假設亞像素圖像的長、寬(設為h,w),和采樣因子r,通過普通的卷積來產生h×w×r×r亞像素圖像.我們將亞像素圖像按順序進行重組,得到高分辨率的圖像.結構如圖4所示.

圖4 漸進式上采樣網絡結構圖
鑒別器借鑒了PatchGAN[18]的思想,將輸入映射為N×N的矩陣M,其中,矩陣上每一個元素Mi,j對應原圖中某個特定圖像塊(Patchi,j),通過取鑒別器網絡矩陣的均值作為最終判斷結果,設定閾值輸出0 或者1.鑒別器設計選用卷積核大小為4×4,步幅為2的卷積層,共6 層,用于增加感受野大小,加強模型探索重要信息的能力,同時利用全局池化操作去縮減特征規模,提高網絡計算速度.鑒別器的模型架構如圖5所示.

圖5 鑒別器模型結構圖
我們采用MSE 與最小化VGG的混合作為模型的損失函數.
在ESRGAN[9]中,作者定義了一種新的VGG 損失函數,該函數有利于突出原始圖像的特征.VGG 損失定義如式(4):

其中,Wi,j和Hi,j表示VGG 中特征圖的尺寸,IHR表示高分辨率圖像尺寸,Φi,j代表著網絡中第i個卷積層之前的第j個卷積層的特征圖,ILR表示低分辨率圖像尺寸,G表示生成網絡,θG表示生成網絡參數.
內容損失的作用使生成器的上采樣網絡在重建車牌時注意圖像的高級特征,如車牌邊緣,方向,事實證明,這是十分有利于車牌重建的.
整體的損失函數如式(5):

其中,VGG如式(4)所示,表示圖像參數的觀察值,Y表示圖像參數的預測值.
本文實驗在CPU為CPU Intel Xeon E5-2689C2,GPU為NVIDIA GTX970,顯存為16 GB,操作系統為Windows 10的主機上進行.模型學習率初始化為10–5,經過不斷調整,最終發現模型的最佳的學習率為10–3.
本項目采用的數據集來自于中國停車場數據集(CCPD)[19],該數據集包含了大量的不同背景下的車牌照片,數據集包含將近30 萬張圖片.顯然,我們應該對數據集進行篩選,篩選掉亮度與對比度較差的圖片.最終,我們選取了1 000 張作為實驗測試數據集.其中,800 張車牌圖片用于模型訓練,100 張圖片用于模型測試,剩下的100 張用于模型驗證.
我們的算法與目前較為先進的圖像重建技術如Bicubic、SRCNN[20]、ESPCNN、EDSR[21]進行客觀數據PSNR、SSIM的對比.結果見表1和表2.

表1 測試圖像集超分辨率重建結果比較

表2 典型圖像實驗結果對比
由表1可得,基于深度學習的SR 算法明顯優越于Bicubic 傳統算法,且基于GAN的算法較某些基于CNN的算法可以獲得更高的PSNR、SSIM 值,具有更好的圖像重建效果.比較于Bicubic和ESPCNN,本文模型重建車牌能獲得較大的PSNR、SSIM 值.
由表2可以看出,我們從測試集中選取了背景色調不同的4 張圖片作為典型圖片,并利用不同的算法進行重建,效果如圖6–圖9所示.相比于基于ESPCNN的重建算法和基于Bicubic的重建算法,本文模型算法的PSNR、SSIM 值有大幅度提高.本文算法的平均PSNR 值大約提升 2.0–4.0 dB,SSIM 值大約提升0.01–0.04.相比于EDSR、SRCNN 等較為先進的算法,本文算法模型的PSNR、SSIM 值提升得并不明顯.這顯然是美中不足的,這需要我們后續對模型進行改進.

圖6 典型示例圖1重建效果

圖7 典型示例圖2重建效果

圖8 典型示例圖3重建效果

圖9 典型示例圖4重建效果
其次,我們不僅在PSNR,SSIM 方面對模型的優越性進行了驗證,我們還對算法的運行效率進行了測試.由表3可看出,基于Bicubic的重建算法耗時最短,這是與它的簡單插值方式有關.相比于卷積神經網絡中的ESPCNN,我們的算法大約縮短了0.08 s,同時PSNR值提高了1 dB 左右,最后,在多種基于GAN 框架算法中,本文算法處理數據的平均速度最高.

表3 各算法在同一圖片上重建運行時間比較
綜上所述,本文提出的模型在保證重建精準度接近于國內外主流模型的前提下,花費了較少的重建時間,這是十分具有現實意義的.
我們采用殘差密集網絡,便于獲取各網絡層提取到的圖像特征以保留圖像更多的高頻信息,同時用漸進式上采樣方式以提升大縮放因子下超分辨率重建效果.同時在鑒別器模型上,我們借鑒了馬爾可夫判別器(PatchGAN),將鑒別器設計成6 層全卷積神經網絡,用于增加視覺感受野大小,便于豐富重建后圖像的細節.其次,我們的算法平均耗時較少,基于CNN 框架算法模型重建圖片的平均耗時較多,這是因為CNN 包含了大量的卷積計算,導致圖像重建耗時較多.
接著,我們從多維度去對本文算法進行評價.我們引入PSNR、SSIM 作為圖像超分辨率重建評判指標,根據表1、表2的數據顯示,我們的算法數值達到了目前主流算法的平均值以上,但目前處于頂級的算法模型來說,例如SRCNN、EDSR,本文模型算法還是存在較大的差距,我們通過粗略的分析是認為模型的判別器設計層數較少,無法很好的高效率的區別機器數據和真實數據.但是,值得說明的是,我們模型花費的時間也處于一個較低的值,這是我們算法的一個的優勢.
利用深度學習對圖像進行重建不僅發展的速度極快,而且修復后圖像的效果要比傳統技術修復要好.本文在基于GAN 網絡上,引入了殘差密集網絡以及漸進式上采樣方法,在車牌超分辨率重建模型上取得了令人滿意的效果.首先,模型利用了密集殘差網絡對車牌圖像進行高級,核心特征的提取,加強了特征的傳播,其次,運用漸進上采樣的方式重建大尺度因子圖像.最后,算法采用基于PatchGAN的鑒別器更加精準地判斷,從而引導生成器更高質量、高細節的圖像重建.實驗部分表明:與其他 SR 算法相比較,在花費較少的時間代價的情況下,模型輸出的圖片具有PSNR、SSIM等參考值較高和較少的邊緣陰影等優點.未來研究工作的重點在于進一步優化網絡結構,降低訓練的難度,推進使得車牌重建算法早日運用于實際生活.