◆段盼君
基于MATLAB的模糊圖像復原算法分析
◆段盼君
(沈陽師范大學軟件學院 遼寧 110000)
為了解決由相機、物體、背景間相對運動,讓場景內(nèi)的物體快速移動的效果造成的運動模糊,本文選用目前流行的數(shù)字圖像處理系統(tǒng)Matlab作為平臺進行研究。首先選用一張圖像,將其進行運動模糊,以該運動模糊圖像為研究對象,分別用維納濾波算法、最小二乘方濾波算法、Richardson-Lucy算法、循環(huán)邊界算法以及CDD等算法來修復其模糊圖像。經(jīng)過各種算法修復的圖片對比,發(fā)現(xiàn)用最小二乘方濾波算法修復的效果最好,模糊圖像幾乎都被修復了;其次是維納濾波算法,發(fā)現(xiàn)其隨著K值的不斷減少,圖像修復效果也隨之變好;最后是Richardson-Lucy算法,其隨著迭代的次數(shù)越多恢復的效果越好。循環(huán)邊界算法基本能大致修復圖像,而CDD算法跟其他幾種算法相比較修復效果較差,不能很好地滿足修復需求。進行運動模糊修復時,最小二乘方濾波算法、維納濾波算法和Richardson-Lucy算法相對于剩下的2種算法,其修復效果更好。
圖像的模糊與修復;運動模糊;維納濾波算法;最小二乘方濾波算法;Richardson-Lucy算法;循環(huán)邊界算法;CDD算法
圖像修復是指對受到損壞的圖像進行重建,從而使圖像達到理想的藝術(shù)效果。而運動模糊圖像修復是通過一些特定技術(shù),包括使用某種方式估計的退化函數(shù),進行精確的恢復處理[1-2]。針對待修復圖像,維納濾波算法需要從噪聲中分離出有用信號是整個信號,而不只是它的幾個參量[3]。維納濾波復原算法是假定圖像信號和噪聲信號均近似看出是平穩(wěn)隨機過程,然后看均方差是否達到最小[4]。維納濾波算法的誤差值是最小的,它得出的結(jié)果也是最佳的[5]。最小二乘方濾波需要求噪聲的方差和均值,但這兩樣參數(shù)可以通過給定的退化圖像計算出來。Richardson-Lucy算法也是常見的復原算法之一[6],該算法是從極大似然公式中引出來的,圖像是用泊松分布來統(tǒng)計建模的。另外常見的復原算法還有循環(huán)邊界算法。循環(huán)邊界算法是為了防止圖像的邊界區(qū)域產(chǎn)生邊緣效應(yīng),從而需要對原始圖像進行周期性的延拓處理。CDD算法是基于偏微分方程的數(shù)字圖像修復,此外還有TV模型修復算法,但該算法不能較好達到連接斷裂邊緣區(qū)域的視覺連通性要求[7-8]。CDD模型在此基礎(chǔ)上引進曲率而提出了高階偏微分方程模型。
本文針對所提算法進行圖像模糊與復原的研究,實驗結(jié)果表明所提的一些算法修復效果較好,且簡單易行。
本文選用圖像大小為700×473的一張圖片,即圖1。使用Matlab中fspecial函數(shù)中的motion類型,其中包含兩個參數(shù)len和theta,分別表示圖片逆時針方向以27°運動了27個像素。圖2是得到處理后的運動模糊圖像。
圖1 原始圖像
圖2 運動模糊圖像
該公式中誤差函數(shù)的最小值在頻域的表達式可表述為:
其中,
(,)表示退化函數(shù)
|(,)|2=*(,)(,)
*(,)=(,)的共軛
S(,)/S(,)是信噪比,一般情況下用常數(shù)表示該信噪比,因為S(,)和S(,)是未知的。
本次實驗用的是Matlab中的deconvwnr函數(shù),且分別在NSR等于0.1、0.01和0.001三種情況下進行實驗。
最小二乘方濾波是通過函數(shù)deconvreg來實現(xiàn),其語法為:
fr = deconvreg(g,PSF,NOISEPOWER,RANGE)
其中,g是被污染的圖像,fr是復原的圖像,PSF代表點擴散函數(shù)。
本次實驗直接用的是MATLAB中的deconvreg函數(shù)。
Richardson-Lucy算法是從最大似然公式中引出來的,在這個方程中,圖像是用泊松分布加以模型化的。當用下面這個公式進行迭代收斂時,模型的最大似然函數(shù)可以得到一個比較好的方程,即:
在MATLAB中,此算法是由deconvlucy函數(shù)完成的,其基本語法為:
fr = deconvlucy(g,PSF,NUMIT,DAMPAR,WEIGHT)
其中,fr代表復原圖像,g是指退化圖像,PSF是點擴散函數(shù),NUMIT表示算法的迭代次數(shù),默認值為10。
本次實驗用的是MATLAB提供的deconvlucy函數(shù),利用加速收斂的Richardson-Lucy算法進行圖像復原,其分別在當NUMIT等于0、30和60的情況下進行實驗。
為了防止圖像的邊界區(qū)域產(chǎn)生邊緣效應(yīng),循環(huán)邊界算法必須對所采集到的圖像(,)進行周期延拓,使其成為周期序列。本次實驗是先得到模糊圖像維納處理結(jié)果,其次得到該結(jié)果的循環(huán)邊界圖像,然后對該圖像維納處理,最后取其左上角圖像。
CDD模型是Chan和Shen在TV模型的基礎(chǔ)上引進了曲率驅(qū)動而形成的,解決了TV模型不能修復圖像視覺連通性的問題。他們用曲率來表示等照度線的幾何信息并將其作用到擴散系數(shù)中,引入曲率函數(shù)(||),傳導系數(shù)修改為(||)|?|-1。函數(shù)(||)的定義為
本文實驗環(huán)境為軟件MATLAB2019a。應(yīng)用本文所提相關(guān)算法對經(jīng)過處理后的運動模糊圖像進行了恢復,其恢復效果如圖3。
圖3 恢復效果
從實驗結(jié)果分析,發(fā)現(xiàn)最小二乘方濾波算法、維納濾波算法和Richardson-Lucy算法修復效果比較自然。循環(huán)邊界算法基本能大致修復圖像,而CDD算法跟其他幾種算法相比較修復效果較差,不能很好地滿足修復需求。
本文的研究重點是怎么將因為相對運動所產(chǎn)生的運動模糊圖像來進行恢復,達到一個比較好的修復效果。整個項目依托Matlab軟件,使用了5種比較經(jīng)典和常見的圖像修復算法。經(jīng)過分析研究,得出以下結(jié)論:
(1)波約束最小二乘濾波算法,調(diào)整參數(shù)可以得到修復效果較好的復原圖像;
(2)維納濾波算法,隨著K值不斷減小,圖像噪聲越來越明顯,這表明對噪聲抑制效果越不好,所以恢復就越準確。實驗表明,當K=0.001時,能取得較好的修復效果;
(3)Richardson-Lucy算法,每次迭代的時候會提高解的似然性。所以隨著迭代次數(shù)的增加,修復效果也在慢慢變好;
(4)循環(huán)邊界算法能大致修復圖像,CDD算法相較于上述所提算法來說,修復效果沒有那么好。
運動模糊圖像恢復技術(shù)現(xiàn)階段廣泛應(yīng)用在了天文、軍事、醫(yī)學圖像等科技領(lǐng)域,社會的進步和科學技術(shù)的發(fā)展使得運動模糊圖像恢復應(yīng)用的領(lǐng)域也將越來越多。最小二乘方濾波算法、維納濾波算法和Richardson-Lucy算法相對于剩下的2種算法修復效果更好,可以適用于由于相對運動造成模糊的圖像。比如監(jiān)控拍攝到肇事逃逸司機車的圖片、車牌,但由于相對運動造成了圖像模糊,用這些修復算法可以大大加快破案的速度,在實際生活中具有十分重要的意義。
[1]孫啟航. 基于運動模糊圖像的計算機復原技術(shù)研究[J]. 科技資訊,2020,018(011):4-5.
[2]黃小芬. 運動模糊車牌圖像的復原算法研究與實現(xiàn)[J]. 山西大同大學學報(自然科學版),2018, v.34;No.170(03):40-43.
[3]陳軍. 基于維納濾波算法的醫(yī)學影像圖像除噪分析研究[J]. 遼寧大學學報(自然科學版),2019,v.46;No.157(01):52-56.
[4]姜金美,胡蓉,趙全友. 基于改進的維納濾波圖像復原算法的研究[J]. 大眾科技,2020,v.22;No.245(01):6-9.
[5]岑紅. 計算機視覺技術(shù)的圖像識別與復原研究[J]. 電腦編程技巧與維護,2020,426(12):144-145+155.
[6]陳員義,楊文福,周祥明,徐華銀.基于改進R-L算法的運動模糊圖像復原方法研究[J].兵器裝備工程學報,2020,41(10):228-232.
[7]杜閃閃. 基于偏微分方程的圖像修復算法研究[D]. 2019.
[8]李建民,汪琦,林振榮,等. 改進的CDD圖像修復模型算法[J]. 計算機工程與設(shè)計,2018,v.39;No.380(08):172-177.
[9]王建新,黃培. 基于MATLAB的圖像復原算法的研究與改進[J]. 信息技術(shù)與信息化,2019,000(012):95-98.