蘇挺超 沈映珊
1(廣州開放大學 廣東 廣州 510091)
2(華南師范大學計算機學院 廣東 廣州 510631)
圖像在采集和傳輸過程中,受外界環(huán)境、采集設備、人為或網絡通信干擾等因素的影響會出現(xiàn)損壞、像素缺失等圖像不完整問題。圖像不完整在模式識別和計算機視覺領域中廣泛存在,如果不對缺失信息進行修復,必然會導致后續(xù)信息提取和圖像識別系統(tǒng)性能下降,因此圖像修復是當前模式識別和計算機視覺領域中的一個重要研究方向[1-3]。
圖像修復在數(shù)學角度是一個高度不適定問題,利用缺失像素周邊的先驗像素對缺失信息進行估計和概化,以達到填充和修復的效果[4]。目前國內外學者對圖像修復技術的研究主要可以分為基于偏微分方程的圖像修復方法、基于紋理合成的圖像修復方法和基于深度學習的圖像修復方法,其中基于偏微分方程的圖像修復方法采用變分原理或者邊緣恢復等準則,從缺失區(qū)域邊緣開始,利用圖像完整區(qū)域的先驗信息不斷向未知缺失區(qū)域進行擴展,使缺失區(qū)域不斷縮小,直到完全消失,典型方法有整體變分(Total Variation,TV)類模型[5-7]和曲率擴散(Curvature-Driven Diffusion,CDD)模型[8]等,該類方法在小區(qū)域信息缺失時能夠取得較好的修復效果,但是當信息缺失區(qū)域較大時,修復效果會出現(xiàn)明顯下降,不能滿足實際使用要求。針對該問題,Criminisi等[9]提出了一種經典的基于紋理合成的圖像修復方法:Criminisi算法,該算法以圖像塊為單位并對邊緣信息的優(yōu)先級進行排序,優(yōu)先對紋理特征明顯的區(qū)域進行修復,以保證結構的完整性。Criminisi算法在面對缺失面積較大的圖像修復問題時能夠獲得較好的結果,但是存在圖像修復時間長、圖像修復性能受優(yōu)先級影響較大的問題,近年來許多學者在此基礎上對Criminisi算法從不同方面進行了改進和優(yōu)化[10]。深度學習類方法是近年來興起的一種新的圖像修復手段,采用卷積神經網絡(Convolutional Neural Networks,CNN)或生成對抗網絡(Generative Adversarial Networks,GAN)等結構通過對輸入的大量已知圖像信息進行學習得到該類圖像的紋理和結構特征,并用于對缺失區(qū)域進行填充,該類方法在訓練樣本(已知圖像)足夠多的條件下能夠獲得最優(yōu)的修復性能,但是當訓練樣本數(shù)不足時,會出現(xiàn)學習不充分導致的性能下降問題[11-12]。
在上述研究的基礎上,針對目前圖像修復方法存在的運算量大、修復后圖像質量下降等問題,本文將貝葉斯決策理論引入圖像修復領域,提出一種基于分層貝葉斯模型的圖像修復算法,在高斯先驗假設前提下,將高斯分布的均值和協(xié)方差矩陣作為隨機變量,并利用Gassian-Wishart分布對其建模,在此基礎上根據(jù)貝葉斯理論推導出完整圖像的后驗分布,最后在最小重構誤差準則下利用變分貝葉斯期望最大(VBEM)算法得到模型參數(shù)的最優(yōu)估計,從而實現(xiàn)圖像修復。
對于一般的圖像修復問題,可以用式(1)所示線性模型進行分析。[13]
y=Ax+n
(1)
式中:y為存在信息缺失的觀測圖像;x為希望獲得的原始圖像;A為觀測矩陣,與y中缺失信息對應位置的矩陣元素為0;n為加性噪聲,通常服從零均值高斯分布。圖像修復問題是根據(jù)已知觀測圖像y和觀測矩陣A,在噪聲n存在的條件下實現(xiàn)對未知原始圖像x的求解,作為典型的高度不適定問題,圖像修復往往難以獲得唯一解,通常的做法是利用原始圖像的先驗信息對式(1)模型進行正則化,并將其轉化為式(2)所示的優(yōu)化問題。
(2)
式中:λ為正則化參數(shù),實現(xiàn)圖像保真度和消除誤差之間的折中;R(x)為正則項,可以為整體變分正則和稀疏正則等不同形式。采用拉格朗日算法或者二次約束對式(2)所示優(yōu)化問題進行求解可以得到模型參數(shù)并最終獲得對原始圖像的修復結果。需要指出的是,正則化參數(shù)λ和正則項R(x)的選取對圖像修復性能影響較大,當前多數(shù)方法都從不同的角度對其進行分析和優(yōu)化設置,但是不可避免地會存在運算復雜或修復后圖像質量下降等問題。
不同于傳統(tǒng)方法將模型參數(shù)認為是固定不變的,貝葉斯決策理論將模型參數(shù)看做是具有某種分布的隨機變量,在進行參數(shù)估計的同時給出置信度信息。對于式(1)所示圖像修復模型,由于n為零均值高斯白噪聲,即n~N(0,σ2I),根據(jù)概率分布的線性性質,可以得到已知x條件下y的條件概率為p(y|x)=N(Ax,σ2I),假設x的先驗分布為p(x),由貝葉斯公式可得已知y條件下x的后驗概率為:
(3)
(4)
對式(4)進行求解可以得到最小均方誤差準則下的最優(yōu)重構圖像為:
(5)
式中:E(·)為對括號內變量求期望運算符;Ex|y(·)為條件期望運算符,表示給定y條件下,求括號內變量關于x的條件期望。從式(5)可以看出,在最小均方誤差準則下,最優(yōu)重構圖像為已知y條件下,x的條件均值。
從式(3)和式(5)可以看出,要想得到最優(yōu)重構圖像,關鍵是要知道未知完整圖像x的先驗分布p(x)。目前常用的先驗模型有貝塔分布、泊松分布和高斯分布[14]。由于本文需要解決的是高斯白噪聲背景下的圖像修復問題,結合大數(shù)定理和中心極限定理,我們認為p(x)服從高斯分布,進一步假設其均值為u、協(xié)方差矩陣為D,即p(x)=N(u,D)。正如前文指出,貝葉斯決策理論認為模型參數(shù)是具有某種分布的隨機變量,因此為了構建完整的貝葉斯結構,利用Gaussian-Wishart分布分別對u和D進行建模,至此我們得到所提分層貝葉斯模型如式(6)所示。
(6)
將式(6)代入式(3)和式(5),可以得到已知y條件下x的后驗概率為:
(7)
根據(jù)1.2節(jié)的分析,最初的圖像修復問題被轉化為求模型中參數(shù)的最優(yōu)估計問題。本文采用變分貝葉斯期望最大(VBEM)算法對上述模型進行求解[15]。VBEM算法是在期望最大(Expectation Maximization,EM)算法基礎上發(fā)展起來的一種求概率模型中參數(shù)最優(yōu)估計的方法。與EM不同的是,VBEM將模型參數(shù)也作為具有某種概率分布的隨機變量,通過迭代估計其后驗概率分布,并用后驗分布的均值作為參數(shù)的最優(yōu)估計值。
VBEM算法通過對式(8)所示對數(shù)似然函數(shù)進行優(yōu)化實現(xiàn)參數(shù)估計。
Ψ=(yTy-yTAx-xTATy+xTATAx)-
ln|αI|-uH(αI)-1u-lnσ2-
(v0+1)ln|D|-tr(W0D-1)+const
(8)
式中:const表示常數(shù)。上述對數(shù)似然函數(shù)對模型參數(shù){u,D}是凸函數(shù),可以采用交替最小化方法來優(yōu)化Ψ函數(shù),即每次迭代時,首先選取參數(shù)u作為變量,固定參數(shù)D,使u對Ψ求最小化,然后進行交替,選擇D作為變量,固定u,使D對Ψ求最小化,依此類推。
1) 令u為變量,固定{D},通過對式(8)中與u有關的項進行整理,并忽略其他項可得:
q(u)=p(u|mu,Tu)
(9)
其中:
T=((αI)-1+〈D-1〉)-1
m=T〈D-1〉〈x〉
(10)
進一步可以計算得到u的后驗期望為:
〈u〉=m
(11)
2) 令D為變量,固定{u},通過對式(8)中與D有關的項進行整理,并忽略其他項可得:
(12)
其中:
(13)
式中:M×N表示圖像大小。根據(jù)式(12)和式(13)進一步可以計算得到D的后驗期望為:
(14)
3) 終止條件:重復上述迭代步驟,直到連續(xù)兩次對數(shù)似然函數(shù)的值的變化小于預設門限(例如:10-4)時,迭代終止,將此時得到的參數(shù)代入式(7)計算得到的η即為修復后的圖像。
從上述VBEM算法的推導過程可以看出,模型求解過程需要設置三個初始參數(shù):Wishart分布的參數(shù)v0和W0、噪聲方差σ2。其中:v0和W0涉及到u和D的計算并最終影響η和C的值;噪聲方差σ2直接影響η和C的值。目前常用的模型初值設置方法為經驗試湊法,對算法設計人員的經驗要求比較高,主觀性強且運算量大,一種更加合理的方式是從數(shù)據(jù)中獲取模型初值,因此本文采用如下方法得到初始參數(shù)值:
1)v0和W0的設置。由于v0和W0為Wishart分布的統(tǒng)計特征,要想準確估計通常需要較多的數(shù)據(jù),因此將觀測圖像劃分為8×8大小不重疊的圖像塊{x1,x2,…,xK},然后利用式(17)和式(18)對v0和W0進行估計:
(15)
(16)
2)σ2的設置。σ2為圖像中的噪聲方差,需要根據(jù)不同的噪聲水平進行設置,經過多次實驗我們發(fā)現(xiàn),當對于信噪比水平低于20 dB時,取σ2=0.15可以取得較好的修復性能,當信噪比水平高于20 dB時,取σ2=0.1往往能夠取得較好的修復性能,本文設置σ2=0.1。
圖1給出了本文算法流程,可以看出對于給定像素缺失圖像,利用方法對其進行修復主要包括以下步驟:
圖1 算法流程
1) 根據(jù)輸入圖像像素缺失情況構建觀測矩陣A。
2) 根據(jù)式(15)和式(16)計算得到模型求解過程中涉及的三個初始參數(shù)v0、W0和σ2的值。
3) 根據(jù)式(10)對T和m的當前值進行更新。
4) 根據(jù)步驟3)得到的結果對u的后驗期望值〈u〉進行更新。
6) 根據(jù)步驟5)得到的結果對D的后驗期望值〈D〉進行更新。
7) 根據(jù)上述參數(shù)值計算當前對數(shù)似然函數(shù)值是否滿足迭代終止條件,若是,則根據(jù)式(7)計算得到η即為重構圖像,否則轉至步驟3),重復步驟3)-步驟7)直至滿足迭代終止條件。
算法軟件實現(xiàn)流程如算法1所示。
算法1算法軟件實現(xiàn)示例
輸入:觀測缺失圖像y。
1) 初始化:
(1) 根據(jù)缺失像素位置確定觀測矩陣A。
(2) 根據(jù)式(15)和式(16)確定v0、W0和σ2。
(3) 設置式(8)所示對數(shù)似然函數(shù)初值為Ψ=0。
2) 循環(huán):迭代次數(shù)forn=1∶1 000
步驟1 〈u〉=m。
步驟4 根據(jù)式(8)計算當前對數(shù)似然函數(shù)值Ψ=Ψn。
IfΨn-Ψn-1<10-4,
elseifn=n+1,繼續(xù)循環(huán)
end
為了驗證本文方法的圖像修復性能,采用圖2所示MATLAB自帶的圖像處理領域標準圖像開展實驗,包括512×512 Lena、512×512 Peppers、512×512 Baboon、787×576 Boats、256×256 House和787×576 Airplane,涵蓋了人物、動植物、建筑物和自然環(huán)境等不同種類。實驗中設置兩種像素缺失方式:一種是從圖像中隨機選取一定數(shù)量的像素點,通過將觀測矩陣A對應位置的元素置0的方式使其成為缺失像素;另一種是從圖像中隨機選取a×b大小的矩形塊,同樣將觀測矩陣A對應區(qū)域的元素置0,使其成為缺失像素區(qū)域。采用式(17)定義的峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)和式(18)定義的結構相似度指數(shù)(Structural Similarity Index Measure,SSIM)兩種指標對圖像修復性能進行定量評估。
(a) Lena (b) Peppers
(17)
(18)
式中:l(·)、c(·)和s(·)分別為亮度、對比度和結構比較函數(shù)。對于修復后的圖像,PSNR越大表明修復前后相同位置處像素之間的差異最小,修復效果越好,同樣SSIM越接近于1,表明修復后圖像更好地保持了原圖像的結構信息,修復效果越好。
實驗中采用MATLAB R2017仿真軟件開展實驗,軟件運行平臺為Windows 10操作系統(tǒng),Intel Core I5雙核,主頻2.2 GHz,內存為4 GB的PC機。同時在相同條件下將所提分層貝葉斯模型(Hierarchical Bayesian Model,HBM)與文獻[16]和文獻[17]所提算法進行對比,兩種對比方法的參數(shù)設定來自作者論文及相關代碼中的設置。
在隨機缺失實驗中,對圖2所示6幅標準圖像分別設置隨機缺失像素數(shù)為總像素數(shù)的10%、30%、50%和70%四種情況開展實驗,利用本文方法、文獻[16]方法和文獻[17]方法進行修復,表1給出了三種方法的性能對比結果,其中數(shù)值為不同缺失率下6幅標準圖像修復結果的平均值。圖3以“Lena”為例給出了隨機缺失70%情況下的三種方法圖像修復視覺質量對比情況。
表1 隨機缺失情況下不同算法性能對比
(a) 隨機缺失70%圖像 (b) 文獻[16]算法
可以看出,在不同數(shù)據(jù)缺失率情況下,本文方法在PSNR和SSIM兩種指標方面的表現(xiàn)性能均優(yōu)于兩種對比方法,例如當缺失率為50%時,本文方法的PSNR優(yōu)于31 dB,相對于文獻[16]和文獻[17]所述方法提升了4~5 dB,同時SSIM指標優(yōu)于0.92,相對于文獻[16]和文獻[17]所述方法提升了0.3~0.4,表明本文算法具有更好的修復性能,同時在不同缺失率情況下,本文方法完成圖像修復耗時最少,實時性最高。
從圖3給出的視覺質量對比可以看出,本文算法的圖像修復質量最高,視覺效果最為自然,除了標紅的少數(shù)邊緣區(qū)域外,較好地保證了原始圖像紋理和結構的連貫性和清晰度;而文獻[16]所提算法對鼻子和嘴處紋理特征的修復效果較差;文獻[17]所提算法對頭發(fā)和背景邊緣區(qū)域的修復結果較為模糊,效果較差。究其原因在于本文算法基于高斯先驗對圖像像素的統(tǒng)計特性構建模型,本質上是以像素之間的結構信息和紋理信息相似度作為約束法則,同時Gaussian-Wishart分布的加入強化了對不適定問題的正則化,提升了參數(shù)估計的穩(wěn)定性;而文獻[16]算法采用將圖像轉換至小波域的方式獲取圖像子帶信息,根據(jù)等光點能量特征尋找子帶中優(yōu)先修復塊的填充塊,從而實現(xiàn)圖像修復,但是該方法采用固定大小的樣本塊,損失了圖像的結構信息,同時小波變換缺乏方向性的特點也會造成信息丟失,降低了該方法的圖像修復性能;文獻[17]算法首先對待修復區(qū)域的優(yōu)先級進行計算,然后利用貪婪算法搜索得到最優(yōu)填充塊,但是隨著修復時間的增加,優(yōu)先級的置信度會出現(xiàn)下降,對最終的修復效果造成影響,并且與文獻[16]算法類似,該方法同樣采用了固定大小的樣本塊,沒有充分考慮圖像的結果信息。
表2給出了當區(qū)域缺失塊的大小分別為16×16、32×32、64×64和128×128情況下的修復性能,同樣其中數(shù)值為不同缺失率下6幅標準圖像修復結果的平均值。圖3以“Baboon”為例給出了區(qū)域缺失大小128×128情況下的三種方法圖像修復視覺質量對比情況。可以看出,表2與圖4的結果一致,在區(qū)域缺失情況下,本文方法同樣可以獲得最優(yōu)的圖像修復性能,較好地保持了圖像中的紋理和結構信息,并且具有最高的實時性。
表2 區(qū)域缺失情況下不同算法性能對比
(a) 128×128缺失圖像 (b) 文獻[16]算法
圖像修復是近年來模式識別和計算機視覺領域的研究熱點,通常作為一種提升圖像質量的預處理手段用于提升后續(xù)信息提取和圖像識別的性能。本文提出一種基于分層貝葉斯模型的圖像修復方法,利用高斯先驗描述圖像像素的統(tǒng)計特性,同時為了構建完整貝葉斯模型,利用Gassian-Wishart分布對高斯先驗的均值和協(xié)方差矩陣進行建模,進而根據(jù)貝葉斯理論推導出完整圖像的后驗分布,將圖像修復問題轉換為模型參數(shù)估計問題,最后利用VBEM算法實現(xiàn)參數(shù)估計和圖像修復?;跇藴蕡D像的實驗結果表明,本文算法在PSNR、SSIM和實時性方面相對于對比方法表現(xiàn)出了明顯優(yōu)勢,并能夠獲得較好的紋理和結構連續(xù)性。
需要指出的是,本文方法在無噪聲或存在高斯噪聲但信噪比較高時能夠獲得較好的修復效果。在實際應用過程中,低信噪比和椒鹽噪聲情況普遍存在,而此時算法的圖像修復效果會出現(xiàn)下降,因此需要圖像修復算法對不同信噪比水平和噪聲形式具有更強的魯棒性,這也是接下來一項重要研究內容。