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