于可欣,張天周,王新蕊,吳宇航
(1. 華北理工大學 數學建模創新實驗室,河北 唐山 063210;2. 華北理工大學理學院,河北 唐山 063210;3. 華北理工大學機械工程學院,河北 唐山 063210;4. 華北理工大學冶金與能源學院,河北 唐山 063210;5. 河北省數據科學與應用重點實驗室,河北 唐山 063210;6. 唐山市數據科學重點實驗室,河北 唐山 063210)
在生活中我們經常遇到用相機拍攝圖片時,由于物體與相機的相對運動而導致圖像模糊的現象,陳云龍等[1]通過非線性迭代降質圖像復原的算法,建立了模糊圖像復原模型,獲得較好的復原效果;汪雪林等[2]提出一種基于小波域局部高斯模型的線性圖像復原算法,該算法能夠較好的再現邊緣信息,但信噪比較差;Yuka Nagashima等[3]提出了一種基于Bayesian的點擴散函數PSF原始圖像的估計方法,通過從模糊圖像的對數振幅譜估計PSF的頻帶極限來確定PSF的初始值,通過仿真模擬驗證了方法的有效性。
圖像復原技術能夠減輕圖像因某種原因造成的圖像退化問題,從而使圖像最大程度的還原真實場景。復原的方法主要有兩類:未知模糊圖像的先驗知識和已知模糊圖像的先驗條件,處理未知先驗知識的圖像可對其退化過程建立模型,根據噪聲以及退化函數選取合適的算法,盡量使模糊圖像做到清晰化,速度較慢;已知模糊圖像的先驗條件[4]可以直接建立數學模型對退化圖像進行擬合,還原效果更好。
未知先驗知識情況下的圖像復原可以看成預測估計的過程,由已給出的退化圖像g(x,y)估計出系統參數H,近而近似地恢復出f(x,y),運動模糊圖像的退化模型可以描述為一個退化函數加一個加性噪聲項n(x,y),因此圖像退化過程的數學表達式可以寫為:

上述為原始清晰圖像在被退化函數作用后繼續疊加噪聲的過程,其退化模型圖如下:

圖1 退化模型Fig.1 Degradation model
其中g(x,y)為退化圖像,f(x,y)為原始圖像,n(x,y)為加性噪聲,f′(x,y)為復原后圖像,H為h(x,y)的頻域變換,即點擴散函數PSF。
在處理運動模糊圖像的復原問題時,由于圖像的采集、傳輸和輸出等過程會給圖像混入噪聲的干擾,并且混入噪聲的種類也是不確定的,這種情況增加了噪聲處理的復雜度[5]。若對混有噪聲的圖像不經去噪處理而直接進行復原,效果往往很不理想。假設加入的噪聲僅為加性噪聲,不考慮乘性噪聲,因此,在復原模糊圖像前進行去噪處理是圖像復原重要的一步,本文對椒鹽噪聲和高斯噪聲進行去除,設置不同參數的去噪后圖像與清晰圖像進行誤差分析,得出最優去噪圖像。
本文將清晰無噪聲圖片,自行加上椒鹽噪聲和高斯噪聲[6],并對其分別進行去噪處理。
1.2.1 椒鹽噪聲
椒鹽噪聲被視為圖像中黑白相間的亮暗點,中值濾波是去除椒鹽噪聲的一種有效的方法,其原理是將數字圖像中某點的領域中各點的灰度值中值來代替該點的灰度值,鄰域一般選為二維窗口,常見的有3*3、5*5、7*7窗口等,我們將無噪聲清晰圖像進行加噪處理,再利用中值濾波對圖像進行去噪,最終對比出所建模型的去噪效果。

圖2 原始圖像Fig.2 Original image

圖3 加椒鹽噪聲后圖像Fig.3 Image with saltand pepper noise

圖4 加高斯噪聲后圖像Fig.4 Image with gauss noise

圖5 中值濾波去噪還原圖Fig.5 Median filter de-noising restoration diagram
普通中值濾波雖然能夠降低圖像的椒鹽噪聲,但會造成圖像的細節上的模糊,為了減弱中值濾波對圖像的影響,我們采用自適應特性的中值濾波[7],去除椒鹽噪聲效果顯著。

圖6 不同去噪方法效果比較Fig.6 Comparison of different denoising methods

表1 誤差比較Tab.1 Error comparison
建立誤差檢驗[8],將去噪后圖像與原圖進行MSE和NMSE進行比較,發現當自適應中值濾波閾值選擇7時去噪效果最好。
1.2.2 高斯噪聲
高斯噪聲是指概率密度符合正態分布的一類噪聲,本文使用鄰域平均法來消除高斯噪聲,鄰域平均法是用某點的鄰域內各像素點灰度值的加權來替代該點的灰度值,來抑制高斯噪聲的影響。
鄰域平均法:

閾值鄰域平均法:

S為點(x,y)的一個鄰域(不包括該點在內),M為該鄰域內包含的像素的總數。

圖7 不同去噪方法效果比較Fig.7 Comparison of different denoising methods
從結果上看,鄰域平均法能夠在一定程度上過濾高斯噪聲,但是也會使圖像的細節部分發生模糊,鄰域的半徑越大,包含的像素越多,對高斯噪聲的去除效果越好,但同時使圖像細節更加模糊[9],因此我們采用含閾值的鄰域平均法,求解出窗口內除待測點以外的所有像素點的灰度平均值,若待處理像素點灰度值與這個平均值之差的絕對值大于閾值,則用這個平均值來替代該像素點的灰度值[10],否則,該點的灰度值保持不變。
閾值的選取影響最后圖片的處理結果,閾值過大會降低去噪效果,閾值過小會降低去模糊效果,通過對比當閾值為3時,圖像處理效果最好。

表2 誤差比較Tab.2 Error comparison
模糊圖像的還原首先需要確定運動模糊角度和長度,運動模糊角度的確定能夠將非水平的運動轉化為水平方向的勻速直線運動[11],從而降低求解運動模糊長度和圖像復原難度。對于勻速直線運動模糊而言,PSF具有零點,導致模糊圖像的頻譜也出現零點,在相應的頻率處,頻譜上會出現一系列平行的暗紋,若運動模糊角度為θ,θ則模糊圖像頻譜圖上顯示θ+90,方向會出現平行暗紋。因此,我們只需要鑒別出頻譜圖上暗紋的方向,即可得到模糊運動角度值,下面通過 Sobel邊緣檢測和 Hough變換來對模糊運動角度進行求解。如圖為要求解的運動模糊圖像。
基于以上算法利用matlab得到模糊圖像邊緣檢測圖和模糊角度頻譜圖[12],如圖9、10所示。

圖8 運動模糊圖像Fig.8 Motion blurred image

圖9 模糊圖像邊緣檢測Fig.9 Edge detection of blurred images

圖10 模糊角度Fig.10 Fuzzy angle
對于一幅運動模糊圖像,其頻譜圖上出現的一系列暗線的個數原為圖像模糊運動的長度,因此可以通過統計頻譜圖上暗條紋個數來獲得模糊長度L的值。在前面已經估計出了模糊運動角度值,將圖像向相反的方向旋轉相同角度即將運動模糊轉化為水平方向[13]。設PSF的長度為d,在曝光 時間無限長的情況下點擴散函數PSF是對h(x)的截取,如 圖11所示。

圖11 h(x)截取原理圖Fig.11 h(x) interception schematic diagram
其中:

對上式進行水平方向的微分,得到:

對微分后圖像作水平方向的自相關運算[14],則求出的曲線正中間峰值左右兩邊第一個極小值間水平距離的一半即為模糊運動長度。最后利用Matlab求解得到運動模糊角度為140.75°,模糊長度為75。
根據對比幾種算法發現Lucy-Richardson濾波算法還原效果最好,對于沒有噪聲干擾的理想模糊圖像,迭代次數越高圖像還原越清晰,迭代次數的增加,解的似然性也會提高,但是會增加計算量。
根據上述所解得模糊圖像的長度和角度,建立PSF函數,并利用LR算法進行還原處理,由于迭代次數不同對圖像復原影響較大,因此我們利用誤差分析評價圖像還原的質量。比較不同迭代次數下的MSE和NMSE,發現當迭代次數為80時,其MSE值最小,圖像復原效果最好,見表3。

表3 不同迭代次數的誤差比較Tab.3 Error comparison of different iterations
根據誤差分析表我們利用Matlab得到迭代次數80時的復原圖像。如下圖所示:

圖12 復原圖像Fig.12 Restored image
在考慮了噪聲的影響下,對運動模糊圖像的建立退化模型,針對不同的噪聲采取不同的處理函數,最終復原效果十分顯著。考慮根據文中所建立的模型對運動全面分析,擴展到任何形式的動態模糊圖像復原,讓方法更具普遍性。