李佳雨 朱樹先
(蘇州科技大學電子與信息工程學院 江蘇 蘇州 215009)
圖像去噪是數字圖像處理領域的一個經典問題之一。出于各種原因,例如傳感器缺陷、信號干擾等,圖像系統中極易引入各種噪聲。圖像中出現的隨機噪聲總會產生各種意想不到的結果,并極大地影響各種圖像處理手段。當前已經有很多的圖像去噪算法被提出,大致分為空域濾波[1]、變換域濾波[2]和混合域濾波[3]。但是這一類的去噪手段極易導致圖像模糊及細節丟失的問題。
隨著稀疏表示的研究越來越深入及超完備字典的提出,以字典學習為代表的去噪算法開始被廣泛地研究。其中文獻[4-5]提出了KSVD算法,至此基于稀疏模型的去噪算法在去噪性能上超越了以往的傳統算法。但是由于噪聲廣泛附著在圖像上并掩蓋了部分結構信息,去噪過程永遠不會是完美的,總會有一部分信息被去噪系統平滑處理掉。同時為了自適應圖像,許多去噪算法所使用的超完備字典都是學習自含有噪聲的觀測圖像,因此字典中或多或少都會訓練出含有噪聲的原子。即使這些原子不被表達出來,其依然隱含著風險。
如何從含有噪聲的觀測圖像中恢復盡可能多的信息一直都是一個非常重要的課題?;诮浀涞腒SVD算法,本文提出一種多級去噪算法,通過加強觀測信號及提取殘差中的信息,盡可能多地利用圖像中的信息重建原始圖像;并利用字典剪枝及優化的方式,對超完備字典中的原子進行噪聲監測,盡可能降低字典中引入的噪聲對去噪系統的影響。通過對比實驗,本文算法在去噪性能上有著一定的提高,并在包含大量紋理細節的圖像中表現尤為出色。

(1)
(2)

超完備字典D是定義稀疏域信號并推廣應用它的基本要素。針對如何尋求恰當的字典,學者們做出了非常多的探索,誕生了包括K-SVD算法在內的許多優秀的算法[1-2]。KSVD算法在主迭代中進行k次SVD分解,這是其命名的來源;并利用貪婪算法近似求解式(3)獲得最佳字典和稀疏系數。該算法在圖像的去噪處理上有著非常優秀的表現力。
(3)
不過即使該類算法擁有足夠優秀的去噪性能,但是依然不可能完美地處理所有的噪聲信號,并且該算法的運算時間較長,除了像傳統算法一樣導致部分細節的平滑與丟失,還有可能自發地將噪聲引入到重構完成的圖像中。
雖然當前的圖像去噪算法足夠優秀,但是從去噪的結果來看,其結果通常是并不完美的。由于各種原因,去噪的過程必然會導致部分細節丟失。從實驗中可以發現,觀測圖像和降噪圖像之間的殘差包含了部分肉眼可見的殘留[6-7]。因此我們希望能夠從這里挖掘部分“丟失”的信息。同時,隨著噪聲強度的不斷增強(具體表現為方差σ的增加),字典訓練的過程也會不可避免地引入噪聲原子。雖然大多數時候不會被表達出來,但是考慮到噪聲強度很大時,訓練出的字典中會出現很多含有噪聲的原子,其對圖像的去噪處理依然是一種隱患。因此本文基于K-SVD算法,從多級去噪處理及字典剪枝與優化的角度考慮,挖掘針對一般性去噪算法的通用去噪算法。
考慮一個理想的圖像x∈RN,測量中存在均值為零、標準差為σ的加性高斯白噪聲ν,則有如下觀測圖像:
y=x+ν
(4)
當該含噪的觀測圖像經過一次去噪后,由于不完美的去噪過程,其殘差必然包含一定的信號殘留以及噪聲信號,記為vr,則經過去噪后的圖像可以表示為:
(5)
考慮到K-SVD去噪算法在圖像降噪中的優良表現,降噪后的圖像信噪比必然要遠高于觀測圖像:
(6)


(7)
根據式(7),有:
(8)
由于δ≤1,所以可以得出利用加強信號進行迭代去噪后的信噪比一定要好于原始觀測信號這一結論?;诖?,本文設計了基于加強信號和殘差信號的多級去噪算法,其基本框架如圖1所示。

圖1 多級去噪提升算法的框架
由于殘差信號的特殊性,這里的計算不能直接套用常規的K-SVD處理方法,需要做一些額外的工作。因為殘差信號中包含了大量的原始噪聲信號,對提升去噪性能的信號數量稀少,如果直接套用常規的處理方法,將會致使大量的噪聲信號被平滑處理成噪聲團,最終被誤處理為紋理,導致去噪性能的惡化。所以本文對常規的K-SVD算法進行一點修改,利用主信號去噪過程中的支撐集去初始化殘差的支撐集,再利用計算得到的系數去重構殘差信息,如算法1所示。
算法1固定支撐去噪模塊的算法
輸入:
(1) 利用常規KSVD算法的支撐集更新系數:
OMP(res,D,αij)→βij
(2) 計算殘差圖像的去噪信號:
輸出:Δij
由于本文2.1節嘗試了對觀測圖像和去噪圖像的殘差進行重構補充部分信息,其中的殘差除了包含部分有用信號,還包含了大量的噪聲信號[8],因此當噪聲水平達到一定程度時,超完備字典也將不可避免地引入相當量級的噪聲。盡管在常規的去噪過程中,這些無意義原子的影響可能并不大,但是當噪聲信號逐漸增強或者是針對殘差信號這種本身就包含大量噪聲的情況,其可能在一定程度上會導致去噪性能的惡化[9-10]。圖2是利用K-SVD算法,從σ=25的圖片Fingerprint中訓練得到的字典,顯然可以發現,紅色框標注的部分原子就沒有很大的意義。

圖2 K-SVD算法訓練的包含有部分無意義原子的原始字典





(9)
當G>χ2(α;3)時,Bartlett校驗將拒絕零假設,即被檢驗的原子是非噪聲原子;其中χ2(α;3)為α上分位點、自由度為3的卡方值,本文取0.005為上分位點。
采用Bartlett校驗的通用去噪框架如圖所示,本文利用K-SVD算法對字典進行更新,并在優化階段對字典進行剪枝優化,以保障在對殘差信號進行處理的時候減少噪聲原子的干擾。

圖4 字典剪枝及優化的通用框架
字典優化的方法采用原子替換,即使用DCT字典中與噪聲原子相對應的原子進行替換。

(a) 含有部分無意義 原子的原始字典 (b) Bartlett校驗后 優化的字典圖5 過完備字典的優化
實際上剪枝的方法并沒有提高去噪算法的性能,但是由于減少了噪聲原子從而降低了字典中混入噪聲的概率,為低噪重建提供了可能,并在特定的情況下依然可以提高還原質量。
本文算法的完整流程如圖6所示。

圖6 基于K奇異值分解的去噪算法流程
本文算法主要包括兩大模塊,如圖6所示。第一部分通過使用K-SVD算法對觀測圖像進行初次去噪,并利用初次去噪結果加強原始信號;同時提取了包含部分“有用”信號的殘差信號。在提取兩部分的信號之后,分別對加強信號和殘差信號進行字典訓練處理;其中殘差信號采用本文2.1節提出的方法進行訓練。
本文算法的第二部分主要包含字典的噪聲監測和優化。噪聲監測采用2.2節所述的方法對每個原子進行檢測,并利用DCT字典中的部分原子對噪聲原子進行更替,以減少在去噪階段時噪聲原子對圖像去噪的干擾。并在最后分別利用訓練完成的兩個字典對圖像進行重建及融合表示。
本節將通過對比實驗驗證本文算法的有效性。將和經典的K-SVD去噪算法[4]以及僅進行字典優化的去噪算法進行比較。測試圖像為尺寸512×512的灰度圖像Lena、Barbara、Boat和Fingerprint;并分別添加均值為0,方差為10、15、20、25、50、75、100的加性高斯白噪聲。
表1給出了用于橫向對比去噪算法的一些結果。主要對比了K-SVD去噪算法、進行了字典優化的算法和本文算法,采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)作為評價指標,其中observed和predicted分別表示估計圖像和真實圖像:
(10)
(11)
從評價指標PSNR來看:(1) 當σ較低的時候,去噪后的結果差別并不是很大,提升平均在0.2左右。這是由于本文算法是以K-SVD算法為基礎的,在σ較低的時候,前次去噪結果對觀測圖像進了信號加強,但是其中的噪聲信號本身占比就低,和觀測圖像的差距并不是很大,因此結果上來看兩者去噪結果相近;同時由于觀測圖像的信噪比就較高,其字典原子受干擾的情況較低。(2) 當σ逐漸增加的時候,本文算法對PSNR的提升改善開始顯現,尤其是在σ達到50及以上時,改善達到了相對可觀的量(最大1.46 dB)。這是由于加強信號主要加強的是干凈的區域而非噪聲,因此去噪算法能夠更好地訓練出干凈且準確的字典,從而減少了去噪重建中的錯誤;同時,噪聲較大的時候,去噪算法對信息的提取將有限,即殘差中可提取的信號較σ低的時候更多;殘差信號中的信息得到充分的提取并與之融合,提高了去噪圖像中的信息量。

表1 本文算法的去噪性能比較
在測試所用的4幅圖像中,圖像Fingerprint的指標改善尤為明顯。該幅圖像對比其他3幅圖像最大的特點就是尤為復雜的紋理結構,但是從特征上來看也較為簡單,主要由大量的不同方向線條組成。
圖7展示了本文算法與經典算法在處理圖像Fingerprint(σ=25)后的結果。由于該圖像含大量的線條紋理結構,其被噪聲影響后,一些本就不突出的部位將成為重災區,如圖7中紅框所示的區域。其中圖7(b)的框區域的紋理肉眼可見的較圖7(a)更加豐富。這部分紋理是由多級去噪算法對“丟失”的信息細節進行“找回”,從而使其更加貼近原圖像。

(a) 經典KSVD去噪算法的結果 (b) 本文算法的結果圖7 fingerprint(σ=25)的去噪結果
由于豐富且復雜的紋理結構,大量的噪聲信號附著在這些結構上,容易模糊很多細小的結構,尤其是σ較大的時候容易導致字典訓練時產生相當數量的含有噪聲的原子。實際上從表1中可以發現,字典剪枝優化并不會對去噪性能有明顯的提升,基本上都是與不優化的結果類似,這是由稀疏表示的特性所決定的;但是在Fingerprint這種圖像中就有稍明顯的提升,盡管不大,但是卻是穩定的,這可能是部分含有噪聲原子確實參與了最終的表達,并在剔除之后非常細微地改善了某些局部區域的性能。
本文對照了有無字典優化情況下的去噪性能,如表2所示。噪聲較低的情況下字典的剪枝與優化對去噪性能來說沒有任何區別,這是由于低噪聲下噪聲原子對字典的干擾相當低,也沒有機會進行表達,反而是多級去噪系統可能因為多次訓練導致某些特征的模糊,使得結果表現較差;但是當噪聲達到了相當高的水平后,噪聲信號很容易被引入到字典中。盡管因為稀疏表示的特性導致其被表達出來的概率很低,但是依然會有部分參與圖像的重建,使得圖像的一些細節部分可能出現偏差;但是當對字典中的原子進行噪聲檢測后,對其進行剪枝與替換,依然能使得其能有少量的性能提升。

表2 本文算法在有無字典優化下的性能
圖像去噪是數字圖像處理領域的經典問題,也有可能是最簡單的逆問題之一。在過去的幾十年里,眾多學者針對這個問題做了非常多的研究,包括但不限于各種自適應濾波器和統計估計器。許多傳統的算法諸如中值濾波器,在去噪過程中都容易導致圖像的模糊及細節的丟失,因此性能受限。本文從經典的K-SVD算法出發,提出了結合字典噪聲監測和多級去噪的算法;通過Bartlett校驗對字典中的噪聲原子進行監測并完成剪枝優化,并利用重構圖像及觀測圖像的殘差補充部分信息,通過多級聯合的方式對觀測圖像進行重建。通過實驗證明,本文算法在去噪的性能上有一定的提升,尤其是在針對紋理細節頗多的圖像時,其性能提升相當可觀。但是由于本身基于K-SVD算法,因此本文算法的提升有一定的桎梏。接下來如何進一步提升細節信息的提取和加速字典訓練也是課題的研究內容之一。