安 祺,姜麗芬,孫華志,梁 妍,馬春梅
(天津師范大學 計算機與信息工程學院,天津 300387)
隨著云計算、大數據和物聯網等技術的發展,我國城市智能交通市場規模呈持續高速增長態勢,包含智能公交、電子警察、交通信號控制、卡口和交通監控等項目,其中交通監控是減少交通安全事故的一道重要防線.監控圖像包含豐富的信息,是非常重要的信息來源,然而,由于車速過快或不良照明等因素,容易造成抓拍圖像出現模糊退化等問題,這些問題不僅嚴重影響了圖像信息的價值,也給圖像信息的進一步處理,如特征提取與分析等帶來一定困難.因此,監控圖像的去模糊處理尤為重要.通過縮短曝光時間可以減少運動模糊,但代價是噪聲更高、景深更淺,對成像傳感器質量要求更高,或者需要更強的照明,所以這種方法并不總是可行的,并且需要較高的成本.近些年來,隨著數值計算設備的改進,深度學習技術快速發展.卷積神經網絡具有良好的容錯和自學能力,在樣本數據存在一定缺損的情況下,它可以處理圖像模糊、背景信息復雜等情況的模式識別問題.因此,在車輛識別系統中卷積神經網絡算法具有優勢[1].模糊圖像一般被看作由清晰圖像卷積模糊核得到:文獻[2]提出了單獨估計模糊核的方法;文獻[3]基于該方法結合貝葉斯最小均方誤差采樣算法進行反卷積,去除圖像的運動模糊;文獻[4]使用基于最大后驗估計的盲去模糊模型處理模糊車輛圖像.上述方法能夠在一定程度上去除噪聲,增強細節,有效改善運動模糊圖像的質量,但對于未知模糊核的運動模糊圖像,它們需要進行復雜的計算來估計模糊核,從而使模型計算開銷增大,響應時間變長,一旦模糊核估計錯誤還會影響圖像處理的質量,出現振鈴偽像.文獻[5]使用一個僅由卷積層和Relu 層組成的15 層卷積神經網絡來處理車牌圖像的運動模糊,但該網絡僅適用于處理模糊程度一般的模糊圖像,對于模糊程度比較高的圖像則顯得比較乏力.文獻[6]基于深度CNN 去噪器處理圖像的運動模糊,這種模型在處理模糊程度較高的圖像時得到的峰值信噪比較低.文獻[7]基于由粗到精的模式提出了一種尺度遞歸網絡,這種方法在去除圖像運動模糊方面取得了較好的效果,但是由于訓練模型時使用的數據集不具有針對性,所以在處理車輛圖像運動模糊時效果欠佳.
本文基于生成對抗網絡[8],引入多尺度遞歸網絡作為生成對抗網絡的生成器,提出一種去除圖像運動模糊的網絡模型.該模型在專門的車輛數據集上訓練網絡,實驗結果顯示,去除運動模糊后的圖像比較清晰,處理后的車輛圖像峰值信噪比達到了29.52.
模型的基本框架如圖1 所示.模糊圖像B 經生成器G 得到生成圖像G(B),判別器D 以清晰圖像S 和生成圖像G(B)作為輸入得到一個概率值表示置信度,置信度表示生成圖像G(B)是清晰圖像S 的概率,以此來判斷生成器G 的性能優劣.生成器G 的目標是盡量生成真實的圖像去欺騙判別器D,而判別器D 的目標是盡量把G 生成的圖像與清晰圖像區分開,當判別器D 無法區分清晰圖像S 和生成圖像G(B)時,認定此時生成器G 的性能達到最優.

圖1 生成對抗網絡模型框架Fig.1 Framework of genarative adversarial network
本文生成器的模型包含3 層網絡結構,由粗糙到精細.為了在保留精細級別信息的同時利用粗糙級別的信息,網絡采用高斯金字塔的形式,更精細級別的去模糊由較粗級別的特征輔助,由粗到精級別的網絡分別由不同分辨率的圖像作為輸入.生成器模型結構如圖2 所示.
在生成器模型中,本文引入了多尺度遞歸網絡.該網絡以3 個不同尺寸的模糊圖像作為輸入,輸出去模糊后的清晰圖像,每個尺寸的輸出都經過訓練,整個網絡的最終輸出是原始比例的圖像.在生成器網絡的3 個不同尺度結構中,每個尺度上都產生該尺度對應的清晰圖像,產生的清晰圖像經過圖像上采樣與下一尺寸的模糊圖像作為輸入再次產生清晰圖像.在訓練時,3 個尺寸模糊圖像的大小設置為64×64,128×128 和 256×256.

圖2 生成器模型Fig.2 Model of generator
生成器的第1 層網絡是最粗糙的網絡,第3 層網絡是最精細的網絡.為了實現更深層的網絡架構,本文使用了殘差子網.最粗糙網絡的第1 層卷積層將1/4 分辨率、64 ×64 大小的輸入圖像處理為64 個特征映射.生成器每個級別的網絡分為7 個模塊,包括1個輸入塊、2 個編碼塊、1 個 LSTM 塊、2 個解碼塊以及1 個輸出塊.每個編碼塊都由1 個卷積層和3 個殘差模塊組成,編碼塊將輸入的特征映射下采樣為原來的1/2.解碼塊與之相對應,每個解碼塊包括3 個殘差模塊和1 個反卷積層,反卷積層將輸入的特征映射上采樣到原來的2 倍.輸出塊將上采樣后的特征映射作為輸入生成圖像.在生成器的第1 層網絡運行結束時,生成最粗糙的潛在清晰圖像,第2 層和第3 層網絡將上一層生成的清晰圖像與下一級別尺寸的模糊圖像作為輸入,為了使上一層網絡的輸出圖像適應下一層網絡的輸入尺寸,需要對圖像進行上采樣.
在殘差模塊中,本文將傳統殘差進行修改,在傳統殘差網絡中去掉了BN 層,每個殘差塊中包含2 個CNN 層,這樣可以擴展感受野,也可以提高網絡訓練的收斂速度.改進后的殘差模型結構如圖3 所示.

圖3 改進的殘差模型Fig.3 Improved residual block
在生成對抗網絡中,生成器的參數更新不是直接來自于數據樣本,而是來自于判別器的反向傳播,因此,生成對抗網絡往往可以生成比其他模型更接近真實清晰圖像的樣本[8-9].本文采用生成對抗網絡的判別器層次結構如表1 所示.
該判別器模型共有9 層卷積層,每一層卷積層都使用LeakyRelu 激活層,之后連接全連接層,最后經過Sigmoid 層輸出置信度.判別器以生成器最精細網絡的輸出圖像與清晰圖像作為輸入,輸出的值是置信度.若置信度值大于0.5,則判定該輸入圖像為清晰圖像.

表1 判別器模型參數Tab.1 Model parameters of discriminator
在優化網絡參數時,本文采用多尺度內容損失和對抗性損失這2 種損失函數,將2 種損失函數進行組合,訓練模型.
由粗到精的方法希望輸出的圖像都是該尺度下清晰度最高的圖像.為了防止過擬合同時獲得更好的效果,本文使用l2范數,定義多尺度內容損失函數為

其中:Ii、Ji分別為在尺度水平i 下模型輸出圖像和對應的清晰圖像;ki為每個尺度的權重;Ni為Ii中需要標準化的元素數量.對抗性損失函數為

在訓練時,生成器試圖最小化對抗損失,而判別器則試圖最大化對抗損失.結合以上2 種損失函數,總的損失函數為

其中λ為權重系數,經過對比實驗結果,確定λ=10-4.
本文使用PKU-VD 公開數據集,選取其中的13 516 張帶有車輛牌照的汽車圖像,這些圖像均為由交通監控設備采集到的清晰圖像.數據集中訓練集占總數的80%,測試集占總數的20%.數據集部分樣本如圖4 所示.
利用Matlab 為所有圖像添加運動模糊效果來模擬汽車在運動中被拍攝時產生的運動模糊,具體方法為使用Matlab 的IPT 函數fspecial 對圖像進行模糊建模,
PSF=fspecial(′motion′,len,theta)fspecial 函數返回PSF,motion 為選用的濾波器,len為移動的像素個數,theta 為移動的角度.本文使用len值為9,theta 值為0,即在水平方向上對圖像進行9個像素的移動產生運動模糊效果.清晰圖像和添加模糊效果的圖像如圖5 所示.

圖4 數據集部分樣本Fig.4 Part of examples of datasets

圖5 原清晰圖像(左)和添加模糊效果的圖像(右)Fig.5 Ground clear image(left)and blurred image(right)
為了防止網絡過擬合,本文對數據集中的圖像進行了擴增,包括對圖像進行幾何翻轉,為圖像添加高斯噪聲等操作.
在以上數據集上訓練模型,模型采用深度學習框架TensorFlow,訓練模型時使用Adam 求解器,通過實驗并結合經驗進行參數調整,以使模型性能達到最優,最終確定參數設置為 β1=0.9,β2=0.999,ε=10-8.模型訓練在配備有英特爾i7CPU 以及NVIDIAGTX1080Ti GPU 的計算機上進行.
模型在訓練集上訓練2 ×105次后收斂,在測試集中測試模型效果.針對車輛圖像的去運動模糊效果如圖6 所示.由圖6 可見,去除車輛運動模糊后的圖像比較清晰,可以分辨細節內容.另外,本文還利用該模型處理了一些其他場景的運動模糊圖像,也取得了較好的效果,如圖7 所示.
此外,本文還采用了峰值信噪比PSNR(peak signalto-noise ratio)來衡量圖像恢復的效果.峰值信噪比PSNR 表示信號最大可能功率與影響它表示精度的破壞性噪聲功率的比值.由于許多信號都有非常寬的動態范圍,PSNR 常用對數分貝單位來表示.PSNR 越高代表恢復后的圖像與原圖像相似度越高.在測試集中利用本文算法與相關文獻的去模糊算法針對峰值信噪比做了比對實驗,包括文獻[4]中的CNN-15 算法和文獻[10]中基于l0范數的去模糊方法,實驗結果如表2 所示.由表2 結果可見,本文算法的PSNR 相比CNN-15 和基于l0范數的方法獲得了一定的提升.

圖6 車輛去運動模糊效果Fig.6 Results of removing image motion blur for vehicle

圖7 其他場景去運動模糊效果Fig.7 Result of removing image motion blur on other sences

表2 不同方法的峰值信噪比結果Tab.2 PSNR results of different methods
基于生成對抗網絡,使用多尺度卷積神經網絡作為生成器去除車輛圖像運動模糊,實驗結果表明,處理后的圖像可以分辨細節內容,模型處理每張模糊圖像僅需1.7 s,可以用于交通監控圖像的處理.下一步將繼續提升模型性能,以適用于車輛或車牌的自動識別.