翟方兵 陳 杰 邵 慧
(安徽建筑大學電子與信息工程學院 合肥 230601)
攝像機在成像時會受到光學系統的電噪聲和傳感器的誤差或抖動引起的模糊效應,嚴重影響成像質量。圖像在獲取的過程中,總是會受到外界條件和周圍環境的影響,會導致圖像的質量下降。隨著數字圖像處理技術在軍事、工業、醫學界的廣泛應用,圖像模糊恢復的問題成為一個研究熱點。
針對圖像的模糊恢復問題,人們開展了大量研究。圖像去模糊中最經典的方法是[1]基于正則化的方法,該方法雖然可以有效地抑制噪聲,但是對于模糊核的估計會有不準確性。為了克服這些固有缺陷,Xu[2]提出了基于卷積神經網絡的圖像去模糊方法,該方法利用卷積操作強大的特征提取能力,通過[3]非線性的映射函數將圖像的模糊像素映射為清晰的細節紋理信息,克服了傳統正則方法的階梯效應。但是該網絡的層次較淺,難以有效地去除模糊。當前大多數基于深度學習的方法會在圖像模糊去除的過程中丟失圖像的細節信息,容易給圖像帶來振鈴效應[4]。
去模糊的方法可以分為兩類:非盲去模糊和盲去模糊。非盲去模糊是在模糊核已知的情況下進行圖像恢復的過程;而盲去模糊是在模糊核未知的情況下進行圖像恢復的過程。
近年來隨著深度學習的發展,非盲去模糊算法和盲去模糊算法都得到了很好的發展。而絕大多數盲去模糊算法都是依據圖像的先驗分布[5]信息,再對單一的清晰圖像或者模糊核進行估計。文獻[6]中利用圖像先驗分布的信息來描述清晰圖像和模糊核,但是無法對清晰圖像獲得極小值。文獻[7]中提出了基于MAP 的方法來估計非參數模糊核,利用模糊核和清晰圖像的稀疏特性來盲復原。但是這種方法會容易產生不準確的結果。文獻[8]中針對由物體移動而導致的運動模糊以及離焦模糊圖像的處理方法。采用的是將跟蹤與時域反卷積結合的技術來實現單一圖像的去模糊。
圖像的去模糊過程在數學上可以看成清晰的圖像與模糊核卷積,加上噪聲,模型可以表示為

式中B 為模糊圖像,L 為要復原的目標清晰圖像,K為模糊核,?為二維卷積算子,N 為引入的隨機噪聲。
Xu等[9]提出基于L0范數的盲去模糊算法,該算法在保證精度和運算速度的同時,能夠較好地恢復圖像,但是在需要設置更多的參數,使得整個過程顯得更為復雜。
另一類是通過獲得的先驗信息來恢復圖像。Xu 等[10]利用兩個子網絡,中間沒有非線性激活函數。以此來進行圖像去卷積,但該算法復雜程度較高。Su[11]等提出一種基于深度卷積神經網絡的視頻去模糊方法,該方法雖然有很好的圖像恢復效果,但不適用于單一的圖像去模糊;Nah 等[12]提出了一種用于動態場景的多尺度卷積神經網絡去模糊算法,利用多尺度方式訓練由粗到細訓練網絡架構,極大地提高了網絡的收斂性。但是,網絡模型過大,加大了訓練的難度,難以達到實時性要求。
綜上,統計先驗模型的方法對圖像的精度估計不足,圖像細節恢復也很有限,而目前大多數基于先驗學習的方法僅適用于特定的參數。基于此,提出一種基于改進的深度殘差網絡的盲去模糊算法。
在本文中,通過對模糊問題的分析,將圖像的去模糊問題轉化為圖像細節預測問題[13],通過對圖像鄰域信息以及全局信息的處理,在模糊的情況下通過神經網絡直接估計圖像的細節信息,并在網絡末端將圖的細節信息加到模糊圖像上,以抑制圖像的模糊,增加圖像中的細節信息。本文的網絡結構由多尺度卷積單元級聯而成,如圖1 所示。并采用殘差學習策略提高網絡性能,如圖2所示。

圖1 多尺度卷積單元
網絡深度的加深在帶來性能提高的同時也會提升網絡的訓練難度,隨著網絡層數的增加,反向傳播的梯度更新會隨著逐級的求導而逐漸減小,由此帶來的剃度彌散現象會使得優化器喪失對網絡優化的能力。
何凱明[14]提出了殘差學習來解決梯度彌散問題。殘差網絡的結構如圖2所示。

圖2 殘差網絡的結構
殘差學習可以從數學上表示為

其中xl和xl+1分別表示的是第l個殘差單元的輸入和輸出,注意每個殘差單元一般包括多層結構。F是殘差函數,表示學習到的殘差,而h(x1)=x1表示恒等映射,f是ReLU 激活函數。基于上式,我們求得從淺層l到深層L的學習特征。
殘差網絡更容易優化,并且能夠通過增加深度來提高準確率。這種結構的核心是解決了增加網絡深度帶來的梯度彌散問題。因此,本文能在增加網絡深度的同時引入殘差學習策略,來提高網絡性能。
在傳統的卷積神經網絡中,通常采用單一尺度的卷積核進行特征提取,為了在不增加深度的情況下提升網絡的特征提取能力,本文提出了多尺度特征提取單元,分別使用1×1,3×3,5×5三種尺度的卷積核進行特征提取,并將所提出的的多尺度特征進行拼接,然后使用1×1 的卷積核進行特征融合,使得在單一層次上可以提取多尺度特征,增加了網絡的表達能力,調高了網絡的去模糊性能,在另一方面也增加了網絡對不同尺度圖像的適應性。
多尺度特征提取單元的網絡配置如表1 所示,多尺度單元有三種不同尺度的卷積組成,每個尺度的卷積核的數量設置為64 個,激活函數統一配置為非線性激活單元ReLU。

表1 多尺度特征提取單元的網絡配置
另外,采用不同大小的卷積核意味著不同大小的感受野,多尺度的卷積相融合有利于網絡在捕捉局部信息的同時考慮到更多的全局信息,從而恢復圖像中更多的細節信息。
本實驗的數據集取自伯克利數據集BSD500,并綜合利用翻轉,鏡像等數據增強方式,從種隨機截取30萬張64×64的圖像塊,并向每個圖像塊中隨即加入強度為0~15 的高斯模糊。模型的訓練與測試均利用 Keras 在 CPU 為 Inter(R)i5-7500 的計算機上實現的。網絡的初始化學習率設置為0.01,并采用SGD優化器以10倍的下降因子每20回合下降一次進行學習率調整,模型總共訓練60回合。
為了綜合驗證本模型的去模糊效果,本實驗從主觀效果和客觀評價兩方面與目前的主流算法進行對比。對比算法包括:基于L1 正則化算法[15]的圖像去模糊,基于維納濾波[16]的圖像去模糊和卷積神經網絡[2](CNN)圖像去模糊。在本實驗中,將利用PSNR和SSIM對本文算法進行綜合全面的評價。
為了驗證本算法的去模糊效果,本實驗從Set5數據集中選取了 Starfish,parrot,butterfly 三張測試圖,并加入了大小為3×3、5×5、7×7,方差為10、15、20 的高斯模糊。三種不同方法對模糊圖像的去模糊效果如圖3所示,可以看到基于L1正則化的算法難以移除強度較大的模糊。基于維納濾波的算法的去模糊效果與實際圖像對比,相差較大。CNN方法在一定程度上抑制了大多數模糊效果,但部分細節模糊的去除不明顯。而本文所提出的方法在噪聲大小為7×7,方差為20 高斯模糊的情況下,對圖像的去模糊效果更明顯。
圖3 為噪聲強度1(大小為3×3,方差為10 的高斯模糊)的去模糊效果;圖4 為噪聲強度2(大小為5×5,方差為15 的高斯模糊)去模糊效果;圖5 為噪聲強度3(大小為7×7,方差為20 的高斯模糊)去模糊效果。

圖3 噪聲強度1的去模糊效果

圖4 噪聲強度2的去模糊效果

圖5 噪聲強度3的去模糊效果
實驗的客觀指標如表2 和表3 所示,可以看到相較于其他三種方法,本文算法取得了最高的PSNR 和SSIM,取得了優秀的去模糊效果。

表2 各算法的PSNR對比

表3 各算法SSIM對比
針對目前深度學習模糊去除領域仍然存在的問題。本文提出了一種基于殘差網絡和多尺度卷積單元級聯的盲去模糊算法,能夠快速實現圖像的模糊去除。一方面,針對深度學習領域都要面臨的過擬合或者訓練模型時的優化問題,提出了殘差網絡在圖像去模糊領域的應用;另一方面,提出了多尺度卷積單元級聯的網絡結構在圖像去模糊的應用,將網絡加深又作為模型優化的一個方向。二者相結合,我們將網絡模型的優化和網絡加深同時考慮進去,來進一步進行圖像的模糊去除。實驗結果表明,和其他的深度學習去模糊算法對比,本文的去模糊效果有了一定的提高。
但是本算法的計算量巨大,難以達到實時性要求,這嚴重限制了算法的應用范圍。在以后的研究中,模型的剪枝與網絡參數的壓縮將成為重要的研究目標。并通過合理的量化精度調控,最終達到實時性性能。