程春燕
摘要:為了克服傳統(tǒng)方法去噪會(huì)損失部分有用信息的缺點(diǎn),該文采用稀疏編碼和字典訓(xùn)練兩個(gè)關(guān)鍵技術(shù),準(zhǔn)確又高效地區(qū)分開(kāi)圖像的有用信號(hào)和噪聲信號(hào),更好地實(shí)現(xiàn)了去噪。針對(duì)字典訓(xùn)練的過(guò)程利用了K-SVD算法,研究了其原理和去噪流程,由于字典學(xué)習(xí)是通過(guò)機(jī)器學(xué)習(xí)獲得而不是預(yù)先選定得到的,從而可以更完整地保留圖像原有的信息,最終獲取更高的峰值信噪比。通過(guò)對(duì)不同算法的仿真分析,驗(yàn)證了該方法的有效性。
關(guān)鍵詞:機(jī)器學(xué)習(xí);字典學(xué)習(xí);稀疏表示;K-SVD;圖像去噪
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)02-0164-02
Research on Image Denoising Based on Dictionary Learning
CHENG Chun-yan
(Faculty of Information Engineering,Jiangxi University of Science and Technology,Ganzhou 341000, China)
Abstract:In order to overcome the disadvantages of the traditional methods denoising which lead to lose some of effective information,sparse coding and dictionary training are used as two key technologies. This method can distinguish the effective signal and noise signal of the image accurately and efficiently, and better realize the denoising.In view of the K-SVD algorithm that is used in dictionary training, the principle and denoising process are researched.Since dictionary learning is obtained by machine learning rather than pre-selected, it can not only better reserve the original information of the image, but also achieve higher Peak Signal to Noise Ratioultimately.The effectiveness of the method is verified by simulation analysis of different algorithms.
Key words:machine learning;dictionary learning; sparse representation;K-SVD; image denoising
1 概述
圖像去噪的目的在于降低噪聲干擾的同時(shí)盡可能完整地保留圖像本身的有效信息。常見(jiàn)的小波去噪、Contourlet變換去噪等方法雖然能夠去除噪聲信號(hào),但也造成了部分有用信息的缺失。在自然圖像分析領(lǐng)域,自適應(yīng)稀疏表示方法受到廣泛關(guān)注,字典訓(xùn)練所采用的樣本來(lái)自于原始圖像中提取的小圖像塊,圖像字典是通過(guò)求解圖像塊稀疏表示的方法而獲得的,字典中的元素特征近似于簡(jiǎn)單細(xì)胞反應(yīng)中的情況[1],可以利用這種字典表示自然圖像。近年來(lái)許多學(xué)者將字典學(xué)習(xí)算法應(yīng)用于圖像分類(lèi)、圖像去噪等諸多領(lǐng)域[2],取得一定的顯著效果。
本文所使用的K-SVD字典學(xué)習(xí)算法,通過(guò)稀疏編碼和字典更新兩步迭代學(xué)習(xí)達(dá)到去噪的效果,具有很好的自適應(yīng)性,可以更大程度地保留圖像原有的有用信息。
2 字典學(xué)習(xí)基本原理
字典學(xué)習(xí)的第一步是建立字典,字典由具有許多樣本的許多類(lèi)構(gòu)成,當(dāng)識(shí)別圖片時(shí),類(lèi)中的每個(gè)樣本就是一幅小尺寸圖片。有了這些樣本后,接著將其變成特征向量的形式,使用列向量的方式完成對(duì)圖片像素值的排列,例如,對(duì)于一個(gè)35×35的圖片,排列完成后可以獲得一個(gè)1225維的向量,學(xué)習(xí)的過(guò)程既簡(jiǎn)單又高效。
首先,使用字典學(xué)習(xí)算法對(duì)自然圖像進(jìn)行適當(dāng)?shù)挠?xùn)練,獲取所需要的字典;然后,在上一步得到的字典上,對(duì)圖像進(jìn)行相應(yīng)的稀疏分解,計(jì)算出對(duì)應(yīng)的系數(shù)矩陣;之后,把計(jì)算出的系數(shù)矩陣和字典相乘,從而獲得去噪后的圖像。
3 字典學(xué)習(xí)算法
字典學(xué)習(xí)算法可以通過(guò)對(duì)已有訓(xùn)練樣本的學(xué)習(xí)來(lái)獲得自適應(yīng)字典,該字典能夠滿(mǎn)足對(duì)重建誤差與稀疏度的要求。字典學(xué)習(xí)常用的求解方法有MOD算法[3]和K-SVD算法。K-SVD算法提出一種新的字典更新方法,操作的對(duì)象是字典的列向量,有效地克服了MOD算法涉及的矩陣求逆等一系列問(wèn)題,所以本文采用K-SVD作為字典訓(xùn)練的算法。
3.1 K-SVD算法
K-SVD算法是在K-均值聚類(lèi)算法的基礎(chǔ)上改進(jìn)的,該算法的原理是用K個(gè)原子的線性組合來(lái)恢復(fù)原始信號(hào),包含了稀疏編碼和字典更新這兩個(gè)關(guān)鍵的步驟。稀疏編碼是在字典固定不變的情況下,計(jì)算出訓(xùn)練樣本集在字典上的稀疏表示,求解稀疏系數(shù)。在求解稀疏系數(shù)時(shí),一般使用MP算法或OMP算法。本文采用了OMP算法,它是在MP算法的基礎(chǔ)上改進(jìn)而來(lái)的,不同的是,OMP算法利用的是施密特正交投影方法來(lái)實(shí)現(xiàn)對(duì)匹配追蹤進(jìn)行逼近。
3.2 字典訓(xùn)練
字典的訓(xùn)練過(guò)程:初始化:該字典的初始化是利用DCT字典來(lái)完成的,D(0)∈Rn×K。設(shè)初始迭代J=1。重復(fù)下面的過(guò)程直至達(dá)到收斂:endprint
(1) 稀疏編碼階段:對(duì)各個(gè)樣本yi求解如下最優(yōu)化問(wèn)題:
[minxyi-Dxi22] subject to [xi0≤T0]
(2) 字典更新階段:對(duì)字典矩陣R(J-1)的每一列k=1,2,…,K按以下方式更新。
①定義ωk為重構(gòu)時(shí)用到的訓(xùn)練樣本:
[ωk=i1≤i≤N,xkT(i)≠0]
②計(jì)算重構(gòu)誤差Ek:
[Ek=Y-j≠kdjxjT]
③選擇Ek中對(duì)應(yīng)ωk的列得到[ERk];
④對(duì)[ERk]進(jìn)行奇異值分解[ERk=UΔV],更新的字典[dk?]為U的第一列,更新系數(shù)向量為[xkR=Δ(1,1)×v1]。
(3) 如果滿(mǎn)足收斂條件則停止,否則J=J+1,轉(zhuǎn)到(2)。
(4) 輸出最終的全局字典或自適應(yīng)字典。
3.3 稀疏分解
稀疏分解的算法選用OMP算法。該算法的每一步都會(huì)對(duì)已經(jīng)選取的原子作施密特正交化處理。具體過(guò)程如下:
初始化:殘差r0x=x
(1) r表示的是殘差,di表示的是字典的列,找到二者的最大乘積所對(duì)應(yīng)的第k列原子:
[k=argmaxi=1,2,...mrk-1x,di]
(2) 更新索引集[∧k=∧k-1,k]
(3) 求解最優(yōu)稀疏表示系數(shù):
[αk=argminakx-D∧kαk2]
(4) 更新殘差:[rk-1x=x-D∧kαk,k=k+1]
(5) 若滿(mǎn)足k>s,則停止迭代;不滿(mǎn)足則執(zhí)行(1)。
(6) 輸出x的稀疏表示矩陣αk。
4 實(shí)驗(yàn)結(jié)果與分析
4.1 算法仿真參數(shù)
實(shí)驗(yàn)選用的噪聲類(lèi)型為高斯白噪聲,選取的字典大小為64×256,圖像大小為512×512,塊大小為8×8,冗余因子為4,K-SVD迭代次數(shù)為10。其中,字典的原子數(shù)=冗余因子×塊大小×塊大小。
4.2 仿真測(cè)試與結(jié)果
對(duì)原始圖像加入不同的高斯白噪聲進(jìn)行去噪,對(duì)DCT字典、Global字典和K-SVD自適應(yīng)學(xué)習(xí)字典進(jìn)行仿真比較,利用不同算法下的峰值信噪比對(duì)測(cè)試結(jié)果進(jìn)行評(píng)價(jià)。原始圖像如圖2所示。
上圖3分別是三種字典的訓(xùn)練結(jié)果圖,將字典原子轉(zhuǎn)化為像素進(jìn)行顯示,其中每一小塊的圖像大小都為8×8。三種算法在不同噪聲標(biāo)準(zhǔn)差下去噪后的PSNR值對(duì)比情況如下表1所示。
由上表可知,這三種算法中,基于K-SVD算法訓(xùn)練的自適應(yīng)字典去噪后的峰值信噪比(Peak Signal to Noise Ratio,PSNR)更高,也就是說(shuō)K-SVD算法訓(xùn)練的字典要比DCT字典和Global字典的去噪效果更好。
5 結(jié)束語(yǔ)
本文研究了字典學(xué)習(xí)的字典訓(xùn)練過(guò)程和稀疏分解過(guò)程,采用K-SVD字典學(xué)習(xí)算法取得自適應(yīng)字典?;诔潭炔幌嗤母咚乖肼晥D像進(jìn)行實(shí)驗(yàn)仿真,同時(shí)比較了DCT與Global兩種字典的去噪效果,實(shí)驗(yàn)仿真的結(jié)果證明:利用K-SVD算法去噪獲得的圖像可以更完整地保留圖像的有用信息,具有更好的自適應(yīng)性,去噪的效果更明顯。下一步要研究的是如何把稀疏表示應(yīng)用到非高斯噪聲以及混合噪聲下的圖像稀疏去噪中。
參考文獻(xiàn):
[1] Yibin T, Yuan S, AiminJ, Ning X, ChangpingZ.Image denoising via graph regularized K-SVD[C].Int-ernational Symposium on Circuits and Systems(ISCAS), 2013:2820-2823.
[2] 練秋生, 石保順, 陳書(shū)貞. 字典學(xué)習(xí)模型, 算法及其應(yīng)用研究進(jìn)展[J]. 自動(dòng)化學(xué)報(bào), 2015, 41(2):240-260.
[3] 楊俊, 謝勤嵐. 基于DCT過(guò)完備字典和MOD算法的圖像去噪方法[J]. 計(jì)算機(jī)與數(shù)字工程, 2012, 40(5):100-103.endprint