苑煥朝,馬杰,樊金光
(1.河北工業(yè)大學電子信息工程學院,天津300401;2.天津市電子材料與器件重點實驗室,天津300401)
改進的Beta過程因子分析圖像修復算法
苑煥朝1,2,馬杰1,2,樊金光1,2
(1.河北工業(yè)大學電子信息工程學院,天津300401;2.天津市電子材料與器件重點實驗室,天津300401)
圖像修復是利用圖像已知信息對圖像破損區(qū)域進行填充修復的過程,而非參貝葉斯技術在圖像稀疏表示中被認為是一種有效的字典學習方法,作為一種有效的非參貝葉斯算法,基于Beta過程因子分析算法(BPFA)在去噪、修復以及壓縮感知方面有很廣泛的應用.然而現有的BPFA算法在對含噪的破損圖像修復時收斂速度慢,針對這個問題本文在BFPA算法更新字典時與K-SVD算法相結合,提出一種基改進的BPFA學習算法,改進算法利用K-SVD算法簡單收斂速度快的特點,在原有算法更新參數時,利用OMP稀疏編碼更新字典候選集以達到提高算法的收斂速度的效果.得到的結果表明本文算法能夠更好地修復含噪破損圖像獲得較好的視覺效果.
圖像修復;貝葉斯;字典學習;Beta過程;K-SVD
隨著科學的進步,信息的傳輸也變得越來越重要,而圖像作為最主要的信息傳輸載體變得尤為重要,然而很多因素都會引起圖像的破損,圖像修復就是利用已有的圖像信息對破損區(qū)域填充修復的過程,圖像修復在修補破損區(qū)域、移除目標或遮擋、文物保護、影視特技制作和圖像壓縮等方面有著重大的研究意義.
現有的圖像修復技術主要包括以下3類:基于紋理合成的方法、基于偏微分方程(PDE)的方法和基于稀疏表示的方法[1].基于偏微分方程的圖像修復算法最開端是由Bertalmio等人提出的BSCB修復模型[2],BSCB主要是利用破損處的邊緣信息根據數據等照線向破損區(qū)域擴散修復破損點.隨后Shen和Chen等人提出了經典的TV算法[3],TV算法主要是利用Euler-Lagrange方程進行擴散修復;為了獲取更好的修復效果,2001年chen等在TV算法的基礎上提出了一種CDD模型[4],該模型在進行修復時不再只依賴等照線進行修復,還將圖像曲率信息考慮進去,結合梯度與曲率對圖像進行擴散修復.基于紋理合成的圖像修復算法是一種適合大面積破損區(qū)域修復的算法,2004年Criminisi等人提出了一種基于樣本塊的紋理合成方法[5],該算法先確定修復區(qū)域的優(yōu)先級,再將破損塊與已知區(qū)域進行匹配,將相似度最高的圖像塊填補到破損處.基于稀疏表示的圖像修復算法[6]是利用過完備字典以及破損圖像中有效信息進行稀疏編碼再對圖像進行修復的過程.
文獻[7]利用基于beta過程因子分析算法(簡稱BPFA)構建和學習冗余字典從而達到圖像修復的效果.在圖像修復過程中當圖像存在噪聲時BPFA算法無需輸入噪聲方差,在字典學習過程中會逐步去除噪聲,由此可見BPFA算法比一般的圖像修復算法更具有廣泛的適用性.然而BPFA算法也存在一些弊端,BPFA算法在進行修復時運行時間過長,收斂速度過慢,而且當圖像存在噪聲污染時,圖像修復效果略差.
本文根據BPFA收斂速度慢的問題,提出了將BPFA算法與K-SVD字典學習算法相結合,利用KSVD算法簡單收斂速度快的特點,在原有算法更新參數時,利用OMP稀疏編碼優(yōu)化字典候選集以達到提高算法收斂速度的效果.通過選取不同圖像進行實驗研究,結果表明改進算法比原算法峰值信噪比要高出0.2~0.4 dB,而且根據圖像的不同運行時間比原算法快100 s左右,由實驗數據證明改進算法不但有更好的收斂速度而且在對含噪圖像修復方面具有良好的性能.
近幾年,非參數貝葉斯算法[10]在各個方向都得到了廣泛的應用.BPFA算法就是基于Beta過程的非參貝葉斯字典學習算法,BPFA通過引入beta過程利用數據之間的結構先驗知識生成矩陣Y,從而使得矩陣Y具有更好的稀疏性.
BPFA算法需要通過準確表示X時所需要的字典D列數來推斷M的大小,為了達到這個目的,先假設公式(1)中然后通過推斷字典D所包含的列數來近似的推斷字典大小.由于Y∈ RK×N是稀疏的,即Y中只有有限項是非零的,因此再通過字典D表示Y時只有一小部分原子被使用.
beta過程是一種利用結構先驗知識的方法,BPFA利用雙參數beta來獲取數據的稀疏性[6、11].定義雙參數Beta過程為其中滿足一致分布則beta過程可以寫為:
K-SVD算法是由Elad和Aharon等人于2006年提出的一種經典字典學習算法[12],K-SVD在更新字典時是依次對字典中的原子進行更新,并且在更新原子時,對應的更新其稀疏表示系數,因此K-SVD是一種快速且有效的字典學習算法[13].
第2步更新字典D,K-SVD在更新字典時依次對字典中每列進行更新,令表示字典D的第j列,則此時信號的分解形式可以表示為
將上式帶入公式(6)得
K-SVD算法具有靈活度高,收斂速度快的優(yōu)點,缺點是容易陷入局部最優(yōu),學習到的字典易受樣本集選取的影響.
本文針對現有BPFA算法在對含噪的破損圖像修復時收斂速度慢的問題提出一種改進的BPFA學習算法,改進算法利用K-SVD算法簡單收斂速度快的特點,在原有算法更新參數時,利用OMP稀疏編碼更新字典候選集,使得每次更新結束后能夠得到更好的學習字典,從而達到提高算法收斂速度的效果.
4.1 改進算法求解過程
在改進算法中,首先根據破損圖像X利用beta過程初始化稀疏系數以及過完備字典D的構建,完成參數的初始化,之后根據每次更新得到的噪聲大小和字典利用K-SVD進行字典候選集更新,再利用變分貝葉斯算法更新字典以及權重系數、二值矩陣,更新圖像塊,最終輸出修復圖像.
改進算法的求解是利用變分貝葉斯算法進行快速求解.變分貝葉斯的求解過程是一個不斷迭代更新的過程.
4.1.1 更新字典候選集
編碼完成通過優(yōu)化信號分解式(6)完成Φ的更新
4.1.2 更新Z
定義
4.1.3 更新π
4.1.4 更新Φ
4.1.5 更新W
其中A,B表示如下
4.2 改進算法步驟
改進算法步驟如下
Step2初始化:設置初始字典大小K,以及字典候選集Φ以及Z,W.
while not converged do
Step3利用OMP算法進行稀疏編碼求解公式
Step5利用Z的分布式更新二值矩陣Z.
Step7通過求解Φ的均值以及方差更新Φ.
Step8通過求解W的均值以及方差更新W
end while
為檢驗本文方法的有效性,利用CPU為2.4 GHz,內存為8 GB的計算機,通過MATLAB R2015b編程進行仿真實驗.
仿真過程多幅采用256×256的圖像進行實驗分析,此處選取lena圖像、pirate圖像、barbara圖像為例進行實驗分析.為獲得噪聲圖像,給圖像加入均值為0,方差為25 dB的高斯白噪聲,并查閱文獻選取文字覆蓋作為破損對含噪圖像進行破損處理,破損部分包含像數4 838個,占總像素的7.4%,在加入噪聲以及破損后lena、pirate、barbara 3幅圖像峰值信噪比分別為17.036 7、16.918 1、16.874 9.選設定字典塊大小為8×8利用改進的BPFA算法對該含噪破損圖像進行修復,并設置最大迭代次數n=64.為了與改進算法進行對比,引入傳統(tǒng)的TV修復方法作為對比方法.
圖1為TV修復算法、BPFA算法和改進算法對256×256的lena、Pirate、barbara含噪破損圖像的修復效果圖.由圖1可以看出BPFA算法與改進算法修復效果比之傳統(tǒng)的TV修復算法要好,而改進的修復算法比原有的BPFA算法略好一些.
圖1 不同算法對不同圖像修復效果對比Fig.1 The inpainting resultsbetween different algorithm
為了更清楚的分析實驗結果,表1給出了3種算法的恢復性能,其中PSNR是指圖像修復后的峰值信噪.
表1 測試圖像的恢復性能Tab.1 image recovery performance betweendifferent algorithm
由表1可以看出TV修復算法在圖像修復方面用時較少基本都在1s以內,但修復效果不理想,在同等情況下比BPFA算法要小1.5~2 dB左右,由此可以看出BPFA算法在圖像修復中的優(yōu)勢,而本文算法與原有的BPFA算法相比平均運行時間縮短了100~200 s左右,大大的提高的收斂速度,而且在同等情況下本文算法比原有算法峰值信噪比平均高出0.2 dB左右,證明了改進算法性能的優(yōu)勢.
圖2是迭代次數與運行效果的關系圖,由圖2可以看出,隨著迭代次數增加,傳統(tǒng)的BPFA算法需要更多的迭代次數才能達到與本文相似的效果,而本文改進算法在迭代次數較少時已經超過原有算法快速的得到收斂.
圖2 迭代次數與運行效果的關系Fig.2 The relationship between iterations and performance
圖3是迭代次數與運行時間的關系圖,由圖3可以看出,隨著迭代次數增加,傳統(tǒng)的BPFA算法雖然呈波浪趨勢,但總的趨勢是在不斷增加,而本文改進算法幾乎在每次迭代時運行的時間都要比原有的算法用時少,并且改進算法在修復過程中較原有算法增長趨勢穩(wěn)定.
本文研究了1種改進的BPFA圖像修復方法,該算法可以更好的修復存在噪聲污染的破損圖像.該算法是將BPFA圖像修復算法和K-SVD字典學習算法相結合,使含有噪聲的破損圖像得到很好的修復.并且改進的BPFA算法有效的提高算法的收斂速度,并且獲得較高的峰值信噪比.通過仿真證明本文方法能夠快速、有效地修復含噪圖像中的破損區(qū)域,提高了圖像的修復效果.
圖3 迭代次數與運算時間的關系Fig.3 The relationship between iterations and times
[1]尹忠科,解梅,王建英.基于稀疏分解的圖像去噪[J].電子科技大學學報,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)學成分分析的圖像修復方法研究[J].計算機應用研究,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]張志偉,馬杰,夏克文,等.一種應用于圖像修復的非負字典學習算法[J].光電子激光,2014,25(8):1613-1619.
[9]任澍,唐向宏,康佳倫.紋理和邊緣特征相結合的圖像修復算法[J].計算機輔助設計與圖形學學報,2013,25(11):1682-1693.
[10]劉帥.基于結構信息和稀疏貝葉斯學習的圖像去噪[J].火控雷達技術,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]黃江林,劉紅,陶少杰.一種改進的基于K-SVD字典的圖像修復算法[J].安徽大學學報,2013,37(3):69-74.
[責任編輯 代俊秋]
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
國家自然科學基金(61203245)
苑煥朝(1990-),男,碩士研究生.通訊作者:馬杰(1978-),男,教授.