苑煥朝,馬杰,樊金光
(1.河北工業(yè)大學(xué)電子信息工程學(xué)院,天津300401;2.天津市電子材料與器件重點(diǎn)實(shí)驗(yàn)室,天津300401)
改進(jìn)的Beta過程因子分析圖像修復(fù)算法
苑煥朝1,2,馬杰1,2,樊金光1,2
(1.河北工業(yè)大學(xué)電子信息工程學(xué)院,天津300401;2.天津市電子材料與器件重點(diǎn)實(shí)驗(yàn)室,天津300401)
圖像修復(fù)是利用圖像已知信息對(duì)圖像破損區(qū)域進(jìn)行填充修復(fù)的過程,而非參貝葉斯技術(shù)在圖像稀疏表示中被認(rèn)為是一種有效的字典學(xué)習(xí)方法,作為一種有效的非參貝葉斯算法,基于Beta過程因子分析算法(BPFA)在去噪、修復(fù)以及壓縮感知方面有很廣泛的應(yīng)用.然而現(xiàn)有的BPFA算法在對(duì)含噪的破損圖像修復(fù)時(shí)收斂速度慢,針對(duì)這個(gè)問題本文在BFPA算法更新字典時(shí)與K-SVD算法相結(jié)合,提出一種基改進(jìn)的BPFA學(xué)習(xí)算法,改進(jìn)算法利用K-SVD算法簡(jiǎn)單收斂速度快的特點(diǎn),在原有算法更新參數(shù)時(shí),利用OMP稀疏編碼更新字典候選集以達(dá)到提高算法的收斂速度的效果.得到的結(jié)果表明本文算法能夠更好地修復(fù)含噪破損圖像獲得較好的視覺效果.
圖像修復(fù);貝葉斯;字典學(xué)習(xí);Beta過程;K-SVD
隨著科學(xué)的進(jìn)步,信息的傳輸也變得越來越重要,而圖像作為最主要的信息傳輸載體變得尤為重要,然而很多因素都會(huì)引起圖像的破損,圖像修復(fù)就是利用已有的圖像信息對(duì)破損區(qū)域填充修復(fù)的過程,圖像修復(fù)在修補(bǔ)破損區(qū)域、移除目標(biāo)或遮擋、文物保護(hù)、影視特技制作和圖像壓縮等方面有著重大的研究意義.
現(xiàn)有的圖像修復(fù)技術(shù)主要包括以下3類:基于紋理合成的方法、基于偏微分方程(PDE)的方法和基于稀疏表示的方法[1].基于偏微分方程的圖像修復(fù)算法最開端是由Bertalmio等人提出的BSCB修復(fù)模型[2],BSCB主要是利用破損處的邊緣信息根據(jù)數(shù)據(jù)等照線向破損區(qū)域擴(kuò)散修復(fù)破損點(diǎn).隨后Shen和Chen等人提出了經(jīng)典的TV算法[3],TV算法主要是利用Euler-Lagrange方程進(jìn)行擴(kuò)散修復(fù);為了獲取更好的修復(fù)效果,2001年chen等在TV算法的基礎(chǔ)上提出了一種CDD模型[4],該模型在進(jìn)行修復(fù)時(shí)不再只依賴等照線進(jìn)行修復(fù),還將圖像曲率信息考慮進(jìn)去,結(jié)合梯度與曲率對(duì)圖像進(jìn)行擴(kuò)散修復(fù).基于紋理合成的圖像修復(fù)算法是一種適合大面積破損區(qū)域修復(fù)的算法,2004年Criminisi等人提出了一種基于樣本塊的紋理合成方法[5],該算法先確定修復(fù)區(qū)域的優(yōu)先級(jí),再將破損塊與已知區(qū)域進(jìn)行匹配,將相似度最高的圖像塊填補(bǔ)到破損處.基于稀疏表示的圖像修復(fù)算法[6]是利用過完備字典以及破損圖像中有效信息進(jìn)行稀疏編碼再對(duì)圖像進(jìn)行修復(fù)的過程.
文獻(xiàn)[7]利用基于beta過程因子分析算法(簡(jiǎn)稱BPFA)構(gòu)建和學(xué)習(xí)冗余字典從而達(dá)到圖像修復(fù)的效果.在圖像修復(fù)過程中當(dāng)圖像存在噪聲時(shí)BPFA算法無需輸入噪聲方差,在字典學(xué)習(xí)過程中會(huì)逐步去除噪聲,由此可見BPFA算法比一般的圖像修復(fù)算法更具有廣泛的適用性.然而BPFA算法也存在一些弊端,BPFA算法在進(jìn)行修復(fù)時(shí)運(yùn)行時(shí)間過長(zhǎng),收斂速度過慢,而且當(dāng)圖像存在噪聲污染時(shí),圖像修復(fù)效果略差.
本文根據(jù)BPFA收斂速度慢的問題,提出了將BPFA算法與K-SVD字典學(xué)習(xí)算法相結(jié)合,利用KSVD算法簡(jiǎn)單收斂速度快的特點(diǎn),在原有算法更新參數(shù)時(shí),利用OMP稀疏編碼優(yōu)化字典候選集以達(dá)到提高算法收斂速度的效果.通過選取不同圖像進(jìn)行實(shí)驗(yàn)研究,結(jié)果表明改進(jìn)算法比原算法峰值信噪比要高出0.2~0.4 dB,而且根據(jù)圖像的不同運(yùn)行時(shí)間比原算法快100 s左右,由實(shí)驗(yàn)數(shù)據(jù)證明改進(jìn)算法不但有更好的收斂速度而且在對(duì)含噪圖像修復(fù)方面具有良好的性能.
近幾年,非參數(shù)貝葉斯算法[10]在各個(gè)方向都得到了廣泛的應(yīng)用.BPFA算法就是基于Beta過程的非參貝葉斯字典學(xué)習(xí)算法,BPFA通過引入beta過程利用數(shù)據(jù)之間的結(jié)構(gòu)先驗(yàn)知識(shí)生成矩陣Y,從而使得矩陣Y具有更好的稀疏性.
BPFA算法需要通過準(zhǔn)確表示X時(shí)所需要的字典D列數(shù)來推斷M的大小,為了達(dá)到這個(gè)目的,先假設(shè)公式(1)中然后通過推斷字典D所包含的列數(shù)來近似的推斷字典大小.由于Y∈ RK×N是稀疏的,即Y中只有有限項(xiàng)是非零的,因此再通過字典D表示Y時(shí)只有一小部分原子被使用.
beta過程是一種利用結(jié)構(gòu)先驗(yàn)知識(shí)的方法,BPFA利用雙參數(shù)beta來獲取數(shù)據(jù)的稀疏性[6、11].定義雙參數(shù)Beta過程為其中滿足一致分布則beta過程可以寫為:
K-SVD算法是由Elad和Aharon等人于2006年提出的一種經(jīng)典字典學(xué)習(xí)算法[12],K-SVD在更新字典時(shí)是依次對(duì)字典中的原子進(jìn)行更新,并且在更新原子時(shí),對(duì)應(yīng)的更新其稀疏表示系數(shù),因此K-SVD是一種快速且有效的字典學(xué)習(xí)算法[13].
第2步更新字典D,K-SVD在更新字典時(shí)依次對(duì)字典中每列進(jìn)行更新,令表示字典D的第j列,則此時(shí)信號(hào)的分解形式可以表示為
將上式帶入公式(6)得
K-SVD算法具有靈活度高,收斂速度快的優(yōu)點(diǎn),缺點(diǎn)是容易陷入局部最優(yōu),學(xué)習(xí)到的字典易受樣本集選取的影響.
本文針對(duì)現(xiàn)有BPFA算法在對(duì)含噪的破損圖像修復(fù)時(shí)收斂速度慢的問題提出一種改進(jìn)的BPFA學(xué)習(xí)算法,改進(jìn)算法利用K-SVD算法簡(jiǎn)單收斂速度快的特點(diǎn),在原有算法更新參數(shù)時(shí),利用OMP稀疏編碼更新字典候選集,使得每次更新結(jié)束后能夠得到更好的學(xué)習(xí)字典,從而達(dá)到提高算法收斂速度的效果.
4.1 改進(jìn)算法求解過程
在改進(jìn)算法中,首先根據(jù)破損圖像X利用beta過程初始化稀疏系數(shù)以及過完備字典D的構(gòu)建,完成參數(shù)的初始化,之后根據(jù)每次更新得到的噪聲大小和字典利用K-SVD進(jìn)行字典候選集更新,再利用變分貝葉斯算法更新字典以及權(quán)重系數(shù)、二值矩陣,更新圖像塊,最終輸出修復(fù)圖像.
改進(jìn)算法的求解是利用變分貝葉斯算法進(jìn)行快速求解.變分貝葉斯的求解過程是一個(gè)不斷迭代更新的過程.
4.1.1 更新字典候選集
編碼完成通過優(yōu)化信號(hào)分解式(6)完成Φ的更新
4.1.2 更新Z
定義
4.1.3 更新π
4.1.4 更新Φ
4.1.5 更新W
其中A,B表示如下
4.2 改進(jìn)算法步驟
改進(jìn)算法步驟如下
Step2初始化:設(shè)置初始字典大小K,以及字典候選集Φ以及Z,W.
while not converged do
Step3利用OMP算法進(jìn)行稀疏編碼求解公式
Step5利用Z的分布式更新二值矩陣Z.
Step7通過求解Φ的均值以及方差更新Φ.
Step8通過求解W的均值以及方差更新W
end while
為檢驗(yàn)本文方法的有效性,利用CPU為2.4 GHz,內(nèi)存為8 GB的計(jì)算機(jī),通過MATLAB R2015b編程進(jìn)行仿真實(shí)驗(yàn).
仿真過程多幅采用256×256的圖像進(jìn)行實(shí)驗(yàn)分析,此處選取lena圖像、pirate圖像、barbara圖像為例進(jìn)行實(shí)驗(yàn)分析.為獲得噪聲圖像,給圖像加入均值為0,方差為25 dB的高斯白噪聲,并查閱文獻(xiàn)選取文字覆蓋作為破損對(duì)含噪圖像進(jìn)行破損處理,破損部分包含像數(shù)4 838個(gè),占總像素的7.4%,在加入噪聲以及破損后lena、pirate、barbara 3幅圖像峰值信噪比分別為17.036 7、16.918 1、16.874 9.選設(shè)定字典塊大小為8×8利用改進(jìn)的BPFA算法對(duì)該含噪破損圖像進(jìn)行修復(fù),并設(shè)置最大迭代次數(shù)n=64.為了與改進(jìn)算法進(jìn)行對(duì)比,引入傳統(tǒng)的TV修復(fù)方法作為對(duì)比方法.
圖1為TV修復(fù)算法、BPFA算法和改進(jìn)算法對(duì)256×256的lena、Pirate、barbara含噪破損圖像的修復(fù)效果圖.由圖1可以看出BPFA算法與改進(jìn)算法修復(fù)效果比之傳統(tǒng)的TV修復(fù)算法要好,而改進(jìn)的修復(fù)算法比原有的BPFA算法略好一些.
圖1 不同算法對(duì)不同圖像修復(fù)效果對(duì)比Fig.1 The inpainting resultsbetween different algorithm
為了更清楚的分析實(shí)驗(yàn)結(jié)果,表1給出了3種算法的恢復(fù)性能,其中PSNR是指圖像修復(fù)后的峰值信噪.
表1 測(cè)試圖像的恢復(fù)性能Tab.1 image recovery performance betweendifferent algorithm
由表1可以看出TV修復(fù)算法在圖像修復(fù)方面用時(shí)較少基本都在1s以內(nèi),但修復(fù)效果不理想,在同等情況下比BPFA算法要小1.5~2 dB左右,由此可以看出BPFA算法在圖像修復(fù)中的優(yōu)勢(shì),而本文算法與原有的BPFA算法相比平均運(yùn)行時(shí)間縮短了100~200 s左右,大大的提高的收斂速度,而且在同等情況下本文算法比原有算法峰值信噪比平均高出0.2 dB左右,證明了改進(jìn)算法性能的優(yōu)勢(shì).
圖2是迭代次數(shù)與運(yùn)行效果的關(guān)系圖,由圖2可以看出,隨著迭代次數(shù)增加,傳統(tǒng)的BPFA算法需要更多的迭代次數(shù)才能達(dá)到與本文相似的效果,而本文改進(jìn)算法在迭代次數(shù)較少時(shí)已經(jīng)超過原有算法快速的得到收斂.
圖2 迭代次數(shù)與運(yùn)行效果的關(guān)系Fig.2 The relationship between iterations and performance
圖3是迭代次數(shù)與運(yùn)行時(shí)間的關(guān)系圖,由圖3可以看出,隨著迭代次數(shù)增加,傳統(tǒng)的BPFA算法雖然呈波浪趨勢(shì),但總的趨勢(shì)是在不斷增加,而本文改進(jìn)算法幾乎在每次迭代時(shí)運(yùn)行的時(shí)間都要比原有的算法用時(shí)少,并且改進(jìn)算法在修復(fù)過程中較原有算法增長(zhǎng)趨勢(shì)穩(wěn)定.
本文研究了1種改進(jìn)的BPFA圖像修復(fù)方法,該算法可以更好的修復(fù)存在噪聲污染的破損圖像.該算法是將BPFA圖像修復(fù)算法和K-SVD字典學(xué)習(xí)算法相結(jié)合,使含有噪聲的破損圖像得到很好的修復(fù).并且改進(jìn)的BPFA算法有效的提高算法的收斂速度,并且獲得較高的峰值信噪比.通過仿真證明本文方法能夠快速、有效地修復(fù)含噪圖像中的破損區(qū)域,提高了圖像的修復(fù)效果.
圖3 迭代次數(shù)與運(yùn)算時(shí)間的關(guān)系Fig.3 The relationship between iterations and times
[1]尹忠科,解梅,王建英.基于稀疏分解的圖像去噪[J].電子科技大學(xué)學(xué)報(bào),2006,35(6):876-878.
[2]Marcelor Bertalmio,Luminita Vese,Guillermo Sapiro,et al.Simultaneous texture and structure image inpainting[J].IEEE Trans on Image Processing,2003,12(8):882-889.
[3]Chan T,Shen J.Mathematical models for local non-texture inpainting[J].SIAM Journal of Applied Mathematics,2001,62(3):1019-1043.
[4]Tony F Chan,Jian-hong,Nontexture inpainting by curvature-driven diffusions(CDD)[J].Journal of Visual Communication and Image Representation,2001,12(4):436-449.
[5]Criminisi A,Perez P,Toyama K.Region filling and object removal by exemplar-based image inpainting[J].IEEE Transactions on Image Processing,2004,13(9):1200-1212.
[6]黨宏社,張娜,白梅.基于貝葉斯壓縮感知與形態(tài)學(xué)成分分析的圖像修復(fù)方法研究[J].計(jì)算機(jī)應(yīng)用研究,2015,32(5):1572-1575.
[7]Paisley J,Carin L.Nonparametric factor analysis with beta process priors[M].Proc.International Conference on Machine Learning,2009.
[8]張志偉,馬杰,夏克文,等.一種應(yīng)用于圖像修復(fù)的非負(fù)字典學(xué)習(xí)算法[J].光電子激光,2014,25(8):1613-1619.
[9]任澍,唐向宏,康佳倫.紋理和邊緣特征相結(jié)合的圖像修復(fù)算法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2013,25(11):1682-1693.
[10]劉帥.基于結(jié)構(gòu)信息和稀疏貝葉斯學(xué)習(xí)的圖像去噪[J].火控雷達(dá)技術(shù),2015,44(4):12-18.
[11]Thibaux R,Jordan M I.Hierarchical beta processes and the indian buffet process[M].Proc.International Conference on Artificial Intelligence and Statistics,2007.
[12]Michal Aharon,Michael Elad,Alfred M.Bruckstein.K-SVD:design of dictionaries for sparse representation[C]//Proceedings of SPARS,2005:9-12.
[13]黃江林,劉紅,陶少杰.一種改進(jìn)的基于K-SVD字典的圖像修復(fù)算法[J].安徽大學(xué)學(xué)報(bào),2013,37(3):69-74.
[責(zé)任編輯 代俊秋]
An improved imageinpainting algorithm based on Beta process factor analysis
YUAN Huanchao1,2,MA Jie1,2,FAN Jinguang1,2
(1.School of Electronic and Information Engineering,Hebei University of Technology,Tianjin 300401,China;2.Key Laboratory of Tianjin Electronic Materials and Devices,Tianjin300401,China)
Imageinpainting is the process to fill and repair the damaged area of images based on the given information of the images,and Nonparametric Bayesian technique is known as an effective dictionary learning method in image sparse representation.As an effective method of Nonparametric Bayesian,Beta process factor analysis(BPFA)is widely used in the aspects of denoising,repair and compressed sensing.However,the convergence rate of existing BPFA is slow when repairing the damaged images with noise.In order to increase the convergence rate,an enhanced BPFA learning algorithm is proposed,the K-SVD algorithm is combined with BPFA algorithm when updating the dictionary,which means that when updating parameters,OMP algorithm is used to update dictionary candidate set to increase the convergence rate because K-SVD algorithm is simple and has fast convergence rate.The results show that the enhanced algorithm can repair the images better and obtain a preferable visual effect.
imageinpainting;Bayesian;dictionary learning;Beta process;K-SVD
TP391.9
A
1007-2373(2017)02-0017-09
10.14081/j.cnki.hgdxb.2017.02.004
2016-12-08
國家自然科學(xué)基金(61203245)
苑煥朝(1990-),男,碩士研究生.通訊作者:馬杰(1978-),男,教授.