張夢磊 劉 舟 任俊英 余 磊
(武漢大學(xué)電子信息學(xué)院,湖北武漢 430079)
基于稀疏表示的圖像去噪算法是近年來的研究熱點之一,其中利用稀疏表示中的字典進行圖像去噪的方法尤其受到研究人員的青睞。稀疏表示中的字典從開始的正交基發(fā)展到冗余的正交基,再到現(xiàn)在的超完備字典,而字典的選擇方法也從開始的使用單一固定的字典變化到現(xiàn)在利用圖像自身的特點和結(jié)構(gòu)進行字典學(xué)習(xí)選擇自適應(yīng)的字典,使得字典能更好的表現(xiàn)圖像的結(jié)構(gòu),從而更有利于噪聲的去除。目前研究人員已經(jīng)提出了許多有效的字典學(xué)習(xí)方法。
常用的字典學(xué)習(xí)方法包括最優(yōu)方向(MOD)算法[1],該算法字典更新方式簡單,但是算法的收斂速度很慢。在該算法的基礎(chǔ)上,一些比較著名的算法比如K-SVD 算法及其改進算法[2-5]被提出。K-SVD 算法的主要思想是:在超完備訓(xùn)練字典的前提下,不斷地對字典中的原子進行調(diào)整和更新,達到和訓(xùn)練向量集最大程度的匹配,從而完成字典學(xué)習(xí)過程。與 MOD 等算法相比,K-SVD算法的時間復(fù)雜度低,并且在圖像去噪方面也取得了不錯的效果。文獻[6]中的結(jié)果顯示經(jīng)過訓(xùn)練后的字典用于圖像去噪的效果比單一固定的字典的效果好。文獻[7]將非參稀疏貝葉斯方法用于字典學(xué)習(xí),同時引入結(jié)構(gòu)先驗,并將其應(yīng)用于圖像去噪,該方法優(yōu)點是不需要預(yù)先設(shè)置各種參數(shù),但是該方法的收斂速度較慢。
同倫(連續(xù))方法是一種啟發(fā)式的算法,它的主要思想是設(shè)置一個較為簡單的初始問題并求解,然后將初始問題不斷轉(zhuǎn)化為目標(biāo)問題,利用上一個問題的求解結(jié)果求解當(dāng)前問題,最終得到目標(biāo)問題的解。文獻[8-10] 將同倫方法用于1-范數(shù)最小化問題以及動態(tài)信號恢復(fù)問題的求解,并得到了很好的結(jié)果,充分顯示了同倫方法在解決1-范數(shù)最小化問題以及動態(tài)信號恢復(fù)問題的優(yōu)越性,即更快的收斂速度以及較高的信號恢復(fù)的準(zhǔn)確度。
本文在充分研究字典學(xué)習(xí)和同倫方法的基礎(chǔ)上,提出一種新的圖像去噪算法,該算法主要分為兩個部分,第一部分是字典學(xué)習(xí)算法,使用同倫方法來更新字典,本文算法主要由三步構(gòu)成,分別是:稀疏編碼階段、字典更新階段以及正則化參數(shù)的選擇階段。第二部分主要介紹圖像去噪算法,圖像去噪算法需要用到由字典學(xué)習(xí)算法訓(xùn)練出來的字典。實驗結(jié)果顯示本文算法具有較好的去噪效果,同時具有較快的收斂速度。
本文的貢獻如下: 1.本文提出了一種新的圖像去噪算法,將同倫方法引入到圖像去噪問題中; 2.通過實驗驗證了本文算法在不同的噪聲環(huán)境下具有較好的去噪效果;3.在與K-SVD算法關(guān)于收斂速度比較的實驗中,實驗結(jié)果充分顯示了使用同倫算法學(xué)習(xí)字典在收斂速度上的優(yōu)勢。
本文的安排如下:第2節(jié)介紹稀疏表示中的字典學(xué)習(xí)問題以及同倫方法;第3節(jié)詳細(xì)敘述本文提出的圖像去噪算法;第4節(jié)展示本文算法與當(dāng)前比較流行的圖像去噪算法的對比結(jié)果;第5節(jié)為本文的總結(jié)。
同倫(連續(xù))方法是一種啟發(fā)式的算法,它的主要思想是設(shè)置一個較為簡單的初始問題并求解,然后將初始問題不斷轉(zhuǎn)化為目標(biāo)問題,利用上一個問題的求解結(jié)果求解當(dāng)前問題,最終得到目標(biāo)問題的解。
(1)
其中λ被稱為正則化參數(shù),它控制著稀疏度和誤差之間的平衡。
文獻[8]中使用同倫算法解決(1)的思路是:若目標(biāo)函數(shù)的正則化參數(shù)為λd,則首先給λ設(shè)置一個較大的初始值為λ0,并且引入?yún)?shù)δ,δ被稱為步長,則初始問題變?yōu)椋?/p>
(2)
獲得式(2)的最優(yōu)解后,在每次迭代中更新步長δ,通過λ(n+1)←λ(n)-δ(n)不斷減小λ的值,并且求解當(dāng)λ=λ(n+1)時,相應(yīng)的稀疏表示系數(shù)x(n+1)。當(dāng)λ的大小等于目標(biāo)函數(shù)的正則化參數(shù)值λd時,此時求出x=xd即為1-范數(shù)最小化問題的最優(yōu)解。圖1形象描述了上述求解思路。
圖1 同倫方法求解問題的思路
字典學(xué)習(xí)問題是稀疏表示理論的一個主要內(nèi)容。字典的設(shè)計包括初始化字典的選擇以及字典中原子的更新,初始化字典是否合適,以及字典更新算法性能的優(yōu)劣,決定字典性能的高低。
(3)
(4)
受同倫方法的啟發(fā),文獻[11] 提出了一種自適應(yīng)選擇正則化參數(shù)進行字典學(xué)習(xí)的方法。該方法解決(3)的思路是:首先將正則化參數(shù)λ設(shè)置為一個較大的值,然后在每次迭代過程中不斷自適應(yīng)減小λ,同時更新對應(yīng)的稀疏表示系數(shù)和字典,直到λ的值等于目標(biāo)函數(shù)的正則化參數(shù)值λd。因此在第nth迭代中,優(yōu)化問題(3)轉(zhuǎn)化為:
(5)
在算法的具體實現(xiàn)中,主要分為稀疏編碼階段、字典更新階段以及正則化參數(shù)λ(n)的更新階段。對于第nth迭代中得到的(5)中的解X(n)和D(n),也會被用于第(n+1)th迭代,文獻[12]表明這種方法可以有效提高字典學(xué)習(xí)算法的速度。
(6)
(7)
在字典學(xué)習(xí)算法的迭代過程進行到第nth次時,稀疏編碼階段的第kth迭代要解決如下問題:
(8)
0∈2c(X-U(k))-λ(n)
(9)
(10)
2c(X(k)-U(k))-λ(n)P(k)=0
(11)
由式(11)可以得到稀疏表示系數(shù)X(k)的表達式。
在字典更新階段,首先固定在稀疏編碼階段獲得的稀疏表示系數(shù)X,通過梯度下降法來更新字典。
在字典學(xué)習(xí)算法的迭代過程進行到第nth次時,字典更新階段的第kth迭代的方法為:
D(k+1)=D(k)+ρ(Y-D(k)X(n))X(n)T
(12)
其中ρ為一個常數(shù)。
考慮到對字典的約束條件(4),算法需要將范數(shù)大于1的原子進行歸一化。
由于字典更新算法分成了稀疏編碼和字典更新階段,其中的難點在于如何保證每一次迭代過程中所獲得的結(jié)果是最優(yōu)的,即在兩個階段的轉(zhuǎn)換過程中,怎樣保證優(yōu)化條件式(11)的成立。因此在正則化參數(shù)更新階段,通過選擇合適的正則化參數(shù)來保證該條件成立。
令R(n)=2c(X(n)-U(n)), 通過求解下式:
(13)
獲得使優(yōu)化條件(11)成立的正則化參數(shù):
(14)
根據(jù)同倫方法的思想,需要在每一次迭代中逐漸減小正則化參數(shù),因此令λ(n+1)=(1-ε)λopt, 其中ε為一個很小的常數(shù)。隨著正則化參數(shù)的不斷減小,當(dāng)其等于目標(biāo)函數(shù)的正則化參數(shù)值λd時,字典學(xué)習(xí)算法結(jié)束。
(15)
使用正交匹配追蹤算法(OMP)[14]可以求解上式。
(16)
上式是簡單的二次項問題,求解后可以得到恢復(fù)圖像的閉式解:
(17)
表1 本文提出的算法
續(xù)表1
本實驗主要使用了Cameraman、House、Peppers、Boat、Man、Monarch、Parrot、Couple等8張經(jīng)典的標(biāo)準(zhǔn)測試圖像。本文主要研究圖像中的加性高斯白噪聲的去除。在實驗中,首先將測試圖像加上噪聲方差為σ2的高斯白噪聲,然后將帶噪圖像分為有重疊的大小為8×8圖像塊,若原圖像大小為M×N,則可以得到總數(shù)為J=(M-8+1)×(N-8+1)的圖像子塊,將每個子塊按列展開成一個列向量,則可以得到大小為64×J的訓(xùn)練向量組Y, 同時設(shè)置字典中的原子數(shù)為K=256。隨后從訓(xùn)練向量組Y中訓(xùn)練學(xué)習(xí)得到所需的字典D,然后再將該字典D用于圖像的稀疏表示,最后重構(gòu)圖像,得到去噪后的圖像。所述步驟可以用示意圖 2 說明。
本實驗中采用峰值信噪比(PSNR)來評價去噪后圖像的質(zhì)量,PSNR越大,則表明去噪后得到的圖像質(zhì)量越好。
為了更好地評價本文的算法,實驗中用到了其他三種比較經(jīng)典的圖像去噪算法作為對比算法:1)K-LLD (locally learned dictionaries)算法[15];2)BLS-GSM (Bayes least squares-Gaussian scale mixture)算法[16];3)K-SVD 算法[6]。其中 BLS-GSM算法屬于經(jīng)典的小波變換域圖像去噪算法,使用小波變換基作為固定字典,求出在該固定字典下的小波系數(shù),然后利用小波系數(shù)的統(tǒng)計特性來除噪聲,最后對處理完的小波系數(shù)使用逆小波變換得到去噪后的圖像。而K-LLD算法、K-SVD算法以及本文提出算法均是采用字典學(xué)習(xí)的思路,從噪聲圖像中訓(xùn)練學(xué)習(xí)得到自適應(yīng)的字典,然后將該自適應(yīng)的字典用于圖像去噪。但是K-LLD相比于一般的字典學(xué)習(xí)方法略有不同,它是在SKR (Steering Kernel Regression)的基礎(chǔ)上,融入字典學(xué)習(xí)的思想,自適應(yīng)的學(xué)習(xí)所需字典,同時利用了圖像的結(jié)構(gòu),但是該算法對于噪聲沒有很好的魯棒性,在噪聲較大的時候無法取得理想的效果。
圖2 圖像去噪實驗流程示意圖
本文提出算法中有許多參數(shù)需要設(shè)置,在σ=25噪聲的情況下,設(shè)置的目標(biāo)函數(shù)的正則化參數(shù)為λd=0.38,用于控制λ變化的常數(shù)ε設(shè)置為0.048,稀疏編碼階段的迭代次數(shù)Ks設(shè)置為10,字典更新階段的迭代次數(shù)Kd設(shè)置為200,用于控制梯度下降法步長的ρ設(shè)置為0.001。
表2 σ=10與σ=15時恢復(fù)圖像的 PSNR 值對比.其中最好的結(jié)果以加粗的形式標(biāo)記出來.最后一行是對所有圖像的去噪結(jié)果取平均值
表3 σ=20與σ=25時恢復(fù)圖像的PSNR值對比
表4 σ=30與σ=50時恢復(fù)圖像的PSNR值對比
本節(jié)將該算法用于標(biāo)準(zhǔn)圖像的去噪,得到實驗結(jié)果并加以分析。本文在CPU 為 Intel i5- 4590, 主頻為3.3 GHz,內(nèi)存為16 G的電腦上,使用Matlab R2015b編程實現(xiàn)了本文的算法。
首先將四種算法分別用于Cameraman、Peppers等8張經(jīng)典的標(biāo)準(zhǔn)測試圖像的去噪,進行多次實驗得到相應(yīng)的實驗結(jié)果,并將去噪后圖像的PSNR值匯總于表2、表3與表4中。
從表2、表3與表4中可以看出,在不同的噪聲等級下,相對于其他三種算法,本文方法得到的PSNR值明顯較高。這說明本文算法具有較好的去噪效果。比如σ=25時,本文方法在大多數(shù)測試圖像的PSNR都高于其他三種算法,在Cameraman 圖上的去噪結(jié)果甚至可以比K-SVD算法的結(jié)果高出0.3 dB;在σ=50這樣的強噪聲情況下,本文方法依然可以取得不俗的效果。同時可以從表中看出,使用了字典學(xué)習(xí)方法(K-SVD 和本文提出的方法)進行圖像去噪得到的效果,在不同的圖像都可以取得比較好的效果,而使用固定字典的方法(BLS-GSM)在有些圖可以取得比較好的效果,但是在其他圖像上取得的PSNR值明顯低于K-SVD和本文方法。比如σ=25的House圖, K-SVD算法和本文方法取得的PSNR 值相比BLS-GSM算法提高了0.5 dB以上。而K-LLD算法不同于K-SVD算法和本文的算法,它不僅僅有字典學(xué)習(xí)的步驟,還針對圖像結(jié)構(gòu)使用了K-means聚類的方法,然而K-means對于初始值和噪聲沒有很好的魯棒性,因此在噪聲較大(σ=50)的情況下,K-LLD 算法無法取得理想的去噪效果。
從表3與表4中還可以看出,在部分情況下本文算法的去噪性能略低于其他對比算法。比如在噪聲為σ=50的情況下,BLS-GSM 算法在部分圖像上去噪效果高于本文算法。這是因為在訓(xùn)練字典時本文算法并沒有選取圖像中全部的圖像子塊作為訓(xùn)練集,在噪聲較大的時候,學(xué)習(xí)得到的字典可能并沒有獲取圖像中足夠的結(jié)構(gòu)紋理信息,因此導(dǎo)致去噪的效果降低。KSVD 和 KLLD 算法在學(xué)習(xí)字典時也采取類似的策略,可以有效地提升算法的速度。為了公平地和上述算法進行對比,本文算法在訓(xùn)練字典時并沒有利用全部的圖像子塊。
圖3展示了四種算法對帶噪的Cameraman圖(σ=25)的去噪效果對比。從圖3中可以看到本文方法取得的結(jié)果圖像里“毛刺”更少,圖像細(xì)節(jié)更清晰,主觀視覺效果更好。
正如前文所敘述的,同倫算法相對其他算法的主要優(yōu)勢就在于,在較大的數(shù)據(jù)里進行學(xué)習(xí)的時候可以更快的收斂。因此,下面比較了本文提出的方法和經(jīng)典的K-SVD算法在收斂速度上的不同。
圖4中展示了本文算法和K-SVD算法對σ=50的House圖進行去噪的收斂速度的比較結(jié)果。從圖中可以看出,本文算法僅僅在30 s以內(nèi)就達到收斂,而K-SVD則需要超過60 s才能收斂,說明本文算法在收斂速度上具有較大的優(yōu)勢。
圖4 本文算法與K-SVD 算法對σ=50的House圖去噪的收斂速度比較
本文在深入研究稀疏表示理論和字典學(xué)習(xí)理論的基礎(chǔ)上,提出了一種新的圖像去噪算法。算法主要分為兩個部分,分別是字典學(xué)習(xí)和圖像去噪模型的建立。本文算法使用同倫方法學(xué)習(xí)字典,將字典學(xué)習(xí)階段獲得的自適應(yīng)字典用于圖像去噪模型中,實現(xiàn)圖像去噪的目的。在實驗的結(jié)果中,本文比較了K-LLD算法、BLS-GSM算法、K-SVD算法以及本文算法對標(biāo)準(zhǔn)測試圖像的去噪結(jié)果,結(jié)果顯示在不同的噪聲等級下,本文算法的PSNR值明顯較高,說明本文算法具有較好的去噪效果;同時在比較字典學(xué)習(xí)算法(比如K-SVD算法和本文算法)與使用單一固定字典的BLS-GSM算法的PSNR值可以看出,使用自適應(yīng)字典在圖像去噪上更具優(yōu)勢。在關(guān)于K-SVD算法和本文算法收斂速度比較的實驗中,從實驗結(jié)果可以看出本文算法相對K-SVD算法在收斂速度上有非常大的提升,同時去噪的結(jié)果也更好,說明使用同倫方法學(xué)習(xí)字典具有收斂速度快且信號恢復(fù)的準(zhǔn)確度高等優(yōu)點。
[1] Engan K, Aase S O, Hakon H J. Method of optimal directions for frame design[C]∥IEEE International Conference on Acoustics,Speech, and Signal Processing,1999:2443-2446.
[2] Aharon M, Elad M, Bruckstein A. K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation[J]. IEEE Transactions on Signal Processing, 2006, 54(11): 4311- 4322.
[3] Cai Shuting, Weng Shaojia, Luo Binling, et al. A dictionary-learning algorithm based on method of optimal directions and approximate K-SVD[C]∥2016 35th Chinese Control Conference, 2016: 6957- 6961.
[4] Raja H, Bajwa W U. Cloud K-SVD: A Collaborative Dictionary Learning Algorithm for Big, Distributed Data[J]. IEEE Transactions on Signal Processing, 2016, 64(1): 173-188.
[5] Dumitrescu B, Irofti P. Regularized K-SVD[J]. IEEE Signal Processing Letters, 2017, 24(3): 309-313.
[6] Elad M, Aharon M. Image denoising via sparse and redundant representations over learned dictionaries[J]. IEEE Transactions on Image Processing: a Publication of the IEEE Signal Processing Society, 2006, 15(12): 3736-3745.
[7] Liu Zhou, Yu Lei, Zhang Menglei, et al. Nonlocal structured nonparametric Bayesian dictionary learning for image denoising[C]∥2016 IEEE 13th International Conference on Signal Processing, 2016: 144-148.
[8] Asif M S. Dynamic Compressive Sensing: Sparse Recovery Algorithms for Streaming Signals and Video[D]. Georgia Institute of Technology, 2013.
[9] Asif M S, J. Romberg. Fast and Accurate Algorithms for Re-Weighted L1-Norm Minimization[J]. IEEE Transactions on Signal Processing, 2013, 61(23): 5905-5916.
[10] Asif M S, Romberg J. Dynamic Updating for L1 Minimization[J]. IEEE Journal of Selected Topics in Signal Processing, 2010, 4(2): 421- 434.
[11] Niknejad M, Sadeghi M, Babaie-Zadeh M, et al. A Dictionary Learning Method for Sparse Representation Using a Homotopy Approach[C]∥Latent Variable Analysis and Signal Separation: 12th International Conference, 2015: 271-278.
[12] Smith L N, Elad M. Improving dictionary learning: Multiple dictionary updates and coefficient reuse[J]. IEEE Signal Processing Letters, 2013, 20(1): 79- 82.
[13] Wright S J. Sparse reconstruction by separable approximation[J]. IEEE Transactions on Signal Processing, 2009, 57(7): 2479-2493.
[14] Pati Y C. Orthogonal matching pursuit: Recursive function approximation with applications to wavelet decomposition[C]∥1993 Conference Record of The Twenty-Seventh Asilomar Conference on Signals, Systems and Computers, 1993:40- 44.
[15] Chatterjee P, Milanfar P. Clustering-based denoising with locally learned dictionaries[J]. IEEE Transactions on Image Processing, 2009, 18(7): 1438-1451.
[16] Portilla J, Strela V. Image denoising using scale mixtures of Gaussians in the wavelet domain[J]. IEEE Transactions on Image Processing, 2003, 12(11): 1338-1351.