李旭健 魏 彭
(山東科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 山東 青島 266590)
圖像在采集、傳輸和處理的各個(gè)過程中,都可能發(fā)生部分區(qū)域缺損或損失,像素灰度急劇改變,使圖像不完整的情況[17]。圖像修復(fù)是基于不完整的圖像和對(duì)原始圖像的先驗(yàn)知識(shí),通過采用相應(yīng)的方法糾正前述區(qū)域破損問題,以達(dá)到恢復(fù)圖像原貌的目的[5]。目前對(duì)圖像進(jìn)行修復(fù)的思路有兩種:針對(duì)圖像結(jié)構(gòu)性較強(qiáng)的部分所使用的擴(kuò)散方法;針對(duì)紋理明顯的部分使用紋理合成的樣本填充方法[3]。
基于擴(kuò)散的修復(fù)方法是將缺失區(qū)域周圍未損壞的像素信息向缺失區(qū)域擴(kuò)散,常用于去除劃痕或尺寸較小的區(qū)域的修復(fù)技術(shù)[9],如文獻(xiàn)[1]提出的將全變分(TV)模型應(yīng)用于圖像修復(fù)[2],其是一種非各向同性的擴(kuò)散算法,可在修復(fù)的同時(shí)保持邊緣的連續(xù)性和尖銳性[15]。但TV模型沒有考慮缺失區(qū)域的紋理特性,對(duì)于邊緣細(xì)節(jié)處和紋理區(qū)域修復(fù)效果不理想[10]。目前,對(duì)于TV模型修復(fù)圖像時(shí)所存在的問題,很多學(xué)者提出了將分?jǐn)?shù)階引入TV模型的解決方法,如文獻(xiàn)[7]將分?jǐn)?shù)階微分與TV模型相結(jié)合,相對(duì)于原始TV模型,該算法能夠在修復(fù)時(shí)保留圖像的部分紋理信息,提高了修復(fù)圖像的精度;但該方法對(duì)紋理細(xì)節(jié)和邊緣區(qū)域信息的保持仍不夠理想。文獻(xiàn)[8]則對(duì)文獻(xiàn)[7]算法進(jìn)行進(jìn)一步的改良,提出一種將分?jǐn)?shù)階TV模型與紋理合成相結(jié)合的模型修復(fù)算法。該算法進(jìn)行修復(fù)時(shí)先利用紋理合成技術(shù)獲取待修復(fù)圖像的紋理信息,以紋理信息為先驗(yàn)再使用分?jǐn)?shù)階TV模型對(duì)破損圖像進(jìn)行修復(fù),因此能夠更有效地保持圖像中的紋理細(xì)節(jié)和邊緣信息[8]。將分?jǐn)?shù)階引入TV模型,在一定程度上提高了TV模型的修復(fù)性能,但該類型算法對(duì)于紋理細(xì)節(jié)和邊緣區(qū)域的修復(fù)精度仍未達(dá)到預(yù)期水平,且由于引入了分?jǐn)?shù)階,使得算法的復(fù)雜程度進(jìn)一步加深,加大了修復(fù)圖像所需的時(shí)間和精力[7]。
馬爾可夫隨機(jī)場(chǎng)是建立在馬爾可夫模型和貝葉斯理論基礎(chǔ)之上的一個(gè)描述隨機(jī)過程的數(shù)學(xué)模型,其在計(jì)算機(jī)視覺方面被廣泛應(yīng)用[4]。文獻(xiàn)[2]中的FOE模型是一種高階馬爾可夫隨機(jī)場(chǎng)模型,自Roth等[1]提出以來(lái),由于其基于先驗(yàn)的鄰域系統(tǒng)對(duì)圖像紋理以及細(xì)節(jié)區(qū)域有著出色的處理效果,在圖像去噪、光流(Optical Flow)、超分辨率、圖像修補(bǔ)方面都有著優(yōu)異的表現(xiàn)。
故本文在文獻(xiàn)[1]和文獻(xiàn)[2]的基礎(chǔ)上提出了基于TV模型結(jié)合馬爾可夫隨機(jī)場(chǎng)模型的改進(jìn)修復(fù)算法,通過引進(jìn)混合比例參數(shù),提出一種TV-FOE模型用于對(duì)圖像的修復(fù),既能在保證對(duì)圖像結(jié)構(gòu)層次的修復(fù)效果,又能對(duì)圖像紋理方面擁有很好的復(fù)原效果。
TV模型是一種非各向同性的擴(kuò)散算法,如圖1所示一般是利用未破損的邊緣E周圍的像素信息向缺失區(qū)域D擴(kuò)散的過程[14]。
圖1 圖像修補(bǔ)各區(qū)域示意
全變分TV模型為:
(1)
轉(zhuǎn)化可得能量泛函方程:
(2)
式中:第一項(xiàng)中的Ω是圖像未破損區(qū)域E與破損區(qū)域D的并集,第二項(xiàng)則是起到數(shù)據(jù)保真的作用[6]。u是圖像中的像素點(diǎn),為初始圖像值,λ為設(shè)定的參數(shù)。
使用E-L方程,利用梯度法將式(2)轉(zhuǎn)化成為一個(gè)求極值的方程,可得到如下方程:
(3)
如圖2所示,將待修復(fù)圖像中點(diǎn)鄰域進(jìn)行離散化。其中:原點(diǎn)O為污染點(diǎn),鄰域B=(N,S,W,E),半像素鄰域B′=(n,s,w,e)。
圖2 中點(diǎn)領(lǐng)域像素示意圖
由上述可對(duì)式(3)進(jìn)行離散化得出表達(dá)式為:
(4)
式中:λe(O)為中心O處的λ參數(shù),與式(3)中λe一致;uO為O點(diǎn)修復(fù)后的像素,另一個(gè)為O點(diǎn)修復(fù)前的原始像素。
對(duì)離散化的式(4)進(jìn)行有限差分,求出u的近似解為:
(5)
使用迭代算法對(duì)式(5)進(jìn)行迭代,在新舊圖像的變化小于閉值時(shí)迭代停止[16],以當(dāng)前得到的圖像作為最終的修復(fù)結(jié)果[7]。
馬爾可夫過程是指下一個(gè)時(shí)間點(diǎn)的值只與當(dāng)前值有關(guān)系,與以前沒有關(guān)系,未來(lái)決定于現(xiàn)在而不是過去,即馬爾可夫隨機(jī)過程是一類隨機(jī)過程。具體定義如下:
設(shè)δ為S上的鄰域系統(tǒng),若隨機(jī)場(chǎng)X={Xs,s∈S}滿足如下條件:
P={X=x}>0 ?x∈A
(6)
P={Xs=xs,r≠s,?r∈δ(s)}=
P{Xs=xr,Xr=xr,?r∈δ(s)}
(7)
則稱X為以δ為鄰域系統(tǒng)的馬爾可夫隨機(jī)場(chǎng),式(7)稱為馬爾可夫隨機(jī)場(chǎng)的局部特性[11]。
FOE模型是Roth等通過結(jié)合稀疏矩陣與馬爾可夫隨機(jī)場(chǎng)提出的一種用于圖像處理模型。首先,以節(jié)點(diǎn)V表示圖像中的像素,即G={V,E},其中E是連接節(jié)點(diǎn)的邊,并由此定義了一個(gè)鄰域系統(tǒng),它將m×n矩形區(qū)域內(nèi)的所有節(jié)點(diǎn)連接起來(lái),每個(gè)以節(jié)點(diǎn)(像素)為中心的鄰域k=1,2,…,K定義圖中的最大鄰域團(tuán),通過哈默斯利-克利福德(Hammersley-Clifford)定理可以把這個(gè)圖形模型的概率密度寫成吉布斯分布:
(8)
式中:x為圖像;Vk(x(k))為鄰域團(tuán)x(k)的勢(shì)函數(shù)。不需要定義勢(shì)能函數(shù)V,而是從訓(xùn)練圖像中學(xué)習(xí)它。另設(shè)MRF是齊次的,即勢(shì)函數(shù)對(duì)于所有派系都是一樣(Vk(x(k))=V(x(k)))。在不失一般性的前提下,假設(shè)MRF中的最大群是固定大小的正方形像素塊。由此即可定義一個(gè)完整的圖像的概率密度下先驗(yàn)?zāi)P?
(9)
式中:Φi()表示專家;Ji表示線性濾波器;αi是專家的參數(shù)。
將式(9)代入式(8)得出最終的FOE模型:
(10)
TV模型是基于各向擴(kuò)散的圖像修復(fù)方法,正如式(2)所展示的泛函方程,該模型是基于擴(kuò)散系數(shù)的異性擴(kuò)散,擴(kuò)散修復(fù)時(shí)特別是邊緣紋理和細(xì)節(jié)區(qū)域會(huì)造成一定的模糊,并且在實(shí)際處理圖像的過程中,沿著邊緣方向擴(kuò)散會(huì)形成虛假邊緣,出現(xiàn)階梯效應(yīng),影響修復(fù)效果。
馬爾可夫隨機(jī)場(chǎng)中的FOE模型則是基于鄰域系統(tǒng),利用圖像先驗(yàn)信息進(jìn)行圖像修復(fù)的算法模型,如式(11)所示。通常,用戶提供一個(gè)像素掩碼,這些像素將被用于修復(fù)。不同于TV模型使用一種擴(kuò)散形式來(lái)填充掩模像素,該算法只修改掩碼指定的像素子集,因此,在這些像素處沒有使用觀察似然項(xiàng)。
(11)
式中:N表示迭代次數(shù);M表示掩模圖像;η表示學(xué)習(xí)率;*表示卷積;Ji表示線性濾波器;ψi=logφi即專家的對(duì)數(shù)。
為了使TV模型算法修復(fù)圖像能對(duì)邊緣細(xì)節(jié)處有更好的效果,鑒于FOE模型在圖像細(xì)節(jié)紋理處修復(fù)的優(yōu)異效果,故將二者模型結(jié)合,提出一種TV-FOE模型:
Rh[f]=hpFOE+(1-h)J[f]
(12)
式中:h表示混合比例參數(shù);f為待修復(fù)圖像。
通過引入混合比例參數(shù)h,使兩者模型結(jié)合起來(lái),形成h·FOE+(1-h)·TV新的圖像修復(fù)模型,在此模型中,既能利用變分模型基于擴(kuò)散的方法對(duì)結(jié)構(gòu)性區(qū)域圖像進(jìn)行填充修復(fù),又利用了馬爾可夫隨機(jī)場(chǎng)基于先驗(yàn)概率的性質(zhì)對(duì)細(xì)節(jié)邊緣和紋理區(qū)域進(jìn)行有效修復(fù)。當(dāng)h=0時(shí),式(12)的模型即為文獻(xiàn)[1]的TV模型,實(shí)際上TV-FOE模型是TV模型的一個(gè)擴(kuò)展和延伸。式中的參數(shù)h為引入的混合比例參數(shù),其大小選擇應(yīng)根據(jù)不同的修復(fù)圖像做出不同的選擇,當(dāng)h比較大時(shí)可保持銳利的邊緣,發(fā)揮FOE模型對(duì)細(xì)節(jié)紋理區(qū)域的修復(fù)特性;當(dāng)h較大時(shí)可充分利用TV模型的擴(kuò)散效果。
針對(duì)本文提出的TV-FOE模型圖像修復(fù)算法,需要設(shè)置相應(yīng)的實(shí)驗(yàn)參數(shù),包括式(2)中λ、式(11)中濾波器尺寸J、式(12)混合比例參數(shù)h。
對(duì)于保真項(xiàng)系數(shù)λ,平衡正則項(xiàng)和數(shù)據(jù)項(xiàng)之間的誤差,起著保真的作用。其值變大時(shí),解趨于光滑,反之則解的邊緣銳化。故結(jié)合此前經(jīng)驗(yàn),將其值設(shè)為。在進(jìn)行圖像修復(fù)時(shí)為了減少紋理區(qū)域的過度平滑問題,對(duì)細(xì)節(jié)區(qū)域擁有更好的修復(fù)效果,故濾波器尺寸選用處理平滑性更優(yōu)異5×5像素,共使用24個(gè)專家。TV-FOE模型目的在于保證TV模型原有修復(fù)效果的前提之下,優(yōu)化其修復(fù)邊緣和細(xì)節(jié)紋理區(qū)域的能力。故混合比例參數(shù)h的取值在0~1之間。
本文提出的TV-FOE算法針對(duì)圖像的修復(fù)算法流程可以分為三部分,如圖3所示。第一部分:使用FOE模型對(duì)圖像細(xì)節(jié)紋理、邊緣處進(jìn)行修復(fù);第二部分:利用TV模型算法的擴(kuò)散特性對(duì)圖像結(jié)構(gòu)性區(qū)域進(jìn)行修復(fù);第三部分:利用混合比例參數(shù),使用TV-FOE模型進(jìn)行后續(xù)處理。
圖3 功能流程圖
由圖3可知,本文算法的核心編程在于利用各個(gè)模型對(duì)圖像進(jìn)行修復(fù)。
其中TV模型的具體實(shí)現(xiàn)為:
1) 獲取保真項(xiàng)系數(shù)λ、待修復(fù)圖像I、掩模圖像M。
2) 使用nidm()函數(shù)獲取待修復(fù)圖像I的維度,若為灰度圖像,則繼續(xù)執(zhí)行后續(xù)過程。若為彩色圖像,則以圖像矩陣維度為變量循環(huán)執(zhí)行過程3)、4)。
3) 按圖2和式(4)所示,遍歷待修復(fù)圖像I的數(shù)組矩陣,計(jì)算離散化的每一像素矩陣的各方向的梯度,并求和。
4) 按式(5)所示,計(jì)算上述所求數(shù)據(jù),輸出修復(fù)后的圖像I。
5) 按給出次數(shù),迭代執(zhí)行上述步驟,輸出修復(fù)圖像U。
TV-FOE模型具體實(shí)現(xiàn):
1) 分別獲取TV和FOE模型修復(fù)后的圖像U、V。
2) 獲取混合比例參數(shù)h。
3) 按式(12)所示,計(jì)算上述所得數(shù)據(jù),輸出最終修復(fù)圖像。
本文算法具體流程如下:
1) 讀取受損圖像,獲取掩模圖像以及算法相關(guān)參數(shù)如濾波器尺寸、迭代次數(shù)。
2) 使用FOE算法選用指定的濾波器尺寸使用梯度上升法對(duì)圖像進(jìn)行修復(fù)。
3) 以大步長(zhǎng)按指定次數(shù)迭代執(zhí)行步驟2),使其快速收斂,輸出修復(fù)后的圖像V。
4) 讀取受損圖像,確定受損區(qū)域,獲取相應(yīng)參數(shù)如正則項(xiàng)系數(shù)、迭代次數(shù)。
5) 使用TV模型算法利用梯度下降法修復(fù)圖像。
6) 按照指定次數(shù)迭代執(zhí)行步驟5),輸出圖像U。
7) 讀取混合比例參數(shù),使用TV-FOE算法對(duì)步驟3)和步驟5)輸出圖像進(jìn)行處理,輸出最終修復(fù)圖像。
本文實(shí)驗(yàn)是以64位操作系統(tǒng)Windows 10.0下的MATLAB R2018b為平臺(tái),在Dell Inspiron 1500,配置為Intel core i5-6200U CPU,2.30 GHz,內(nèi)存8 GB的PC機(jī)上進(jìn)行驗(yàn)證的。
為證明本文算法對(duì)結(jié)構(gòu)部分和紋理部分都擁有更佳的修復(fù)能力,實(shí)驗(yàn)圖像選擇南加州大學(xué)的USI-SIPC image datebase中經(jīng)典且含有紋理信息較為明顯的Lena(圖4(a))512×512灰度圖像,此外為了凸顯本文算法更擁有信服力,另外選擇了兩幅紋理信息較為豐富的512×512灰度動(dòng)物圖像(圖4(b))以及512×512灰度巖石圖像(圖4(c))。圖4中還包含人為破損的待修復(fù)圖像以及相應(yīng)的掩模圖像。
(a) Lena
(b) 動(dòng)物
(c) 巖石圖4 實(shí)驗(yàn)圖像
(a) 實(shí)驗(yàn)1(lena)
(b) 實(shí)驗(yàn)2(動(dòng)物)
(c) 實(shí)驗(yàn)3(巖石)圖5 不同混合比例參數(shù)修復(fù)后的圖像
本文算法實(shí)驗(yàn)從混合比例參數(shù)以及模型對(duì)圖像的修復(fù)性能這兩個(gè)角度進(jìn)行驗(yàn)證,之后再對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行論證和比較。為了驗(yàn)證本文所提出模型算法的有效性,從視覺角度和數(shù)值角度兩個(gè)方面來(lái)評(píng)價(jià)修復(fù)效果。視覺角度即人眼感覺出的算法對(duì)于破損圖像的修復(fù)效果,比較算法修復(fù)后的圖像和原始實(shí)驗(yàn)圖像的差異,通過比對(duì)二者差別圖像中黑色區(qū)域所占大小來(lái)分析,數(shù)值角度則通過修復(fù)后圖像和原始圖像的灰度均方誤差MSE和峰值信噪比PSNR來(lái)評(píng)價(jià)。
均方誤差MSE計(jì)算公式為:
(13)
式中:w×h為像素個(gè)數(shù);Iv為原始圖像像素點(diǎn);Ig為修復(fù)后圖像的像素點(diǎn)。
峰值信噪比PSNR計(jì)算公式為:
(14)
均方誤差MSE值越小代表修復(fù)效果越好,在完美情況下,其值應(yīng)為0,這意味著修復(fù)后的圖像和原始圖像兩幅圖像在同一位置上點(diǎn)的灰度值相同。峰值信噪比PNSR的值越大越表明算法修復(fù)性能好,其值越大代表修復(fù)后的圖像還原效果優(yōu)良。
本實(shí)驗(yàn)選用圖4所示的三幅實(shí)驗(yàn)圖像作為參考圖像進(jìn)行實(shí)驗(yàn),為了驗(yàn)證本文所提出的算法模型的準(zhǔn)確性、合理性,對(duì)實(shí)驗(yàn)圖像進(jìn)行修復(fù)時(shí)選擇不同的混合比例參數(shù)進(jìn)行實(shí)驗(yàn),圖5是本文算法選用不同混合比例參數(shù)值所對(duì)應(yīng)的修復(fù)結(jié)果,表1、表2則是實(shí)驗(yàn)圖像選用不同混合比例參數(shù)值得出的均方誤差和峰值信噪比的對(duì)比結(jié)果。
表1 修復(fù)圖像均方誤差比較(MSE)
表2 修復(fù)圖像峰值信噪比比較(PNSR)
從表1和表2可以得出,均方差值(MSE)和峰值信噪比(PNSR)的取值隨著混合比例參數(shù)的不同而變化。當(dāng)混合比例參數(shù)h在0.25~0.35之間取值時(shí),MSE會(huì)取到最小值,PNSR則會(huì)獲得其最大值,此時(shí)對(duì)圖像擁有最佳的修復(fù)效果;當(dāng)h不在此范圍時(shí),MSE的值會(huì)隨著h取值范圍的遠(yuǎn)離逐漸增多,PNSR則會(huì)隨著h取值范圍逐漸減小,圖像的修復(fù)效果則會(huì)變差。并且本文算法實(shí)驗(yàn)選擇了3種包含不同程度紋理細(xì)節(jié)和邊緣區(qū)域的圖片,實(shí)驗(yàn)結(jié)果表明不同的照片,使其能取到最佳修復(fù)效果的h值也不同,其能達(dá)到的最佳修復(fù)效果也不同。對(duì)于實(shí)驗(yàn)圖像lena和巖石,其在h取值0.25時(shí)擁有最佳的修復(fù)效果,而對(duì)于實(shí)驗(yàn)圖像動(dòng)物,其在h值為0.35時(shí)擁有著最佳的復(fù)原性能;并且實(shí)驗(yàn)圖像中l(wèi)ena擁有最好的修復(fù)效果。即對(duì)于擁有著不同結(jié)構(gòu)和紋理的圖像,混合比例參數(shù)h同樣需要人為選擇并進(jìn)行多次實(shí)驗(yàn)。
為了驗(yàn)證本文所提出模型的實(shí)際效果,將TV-FOE模型算法分別與全變分TV模型、FOE模型、文獻(xiàn)[8]進(jìn)行修復(fù)能力比較,通過視覺和數(shù)值上進(jìn)行分析。本次實(shí)驗(yàn)仍然選擇圖4的3幅實(shí)驗(yàn)圖像,實(shí)驗(yàn)結(jié)果如圖6-圖8所示。由上一小節(jié)實(shí)驗(yàn)結(jié)果可知本文算法所擁有的最好修復(fù)結(jié)果,本節(jié)實(shí)驗(yàn)即選擇該實(shí)驗(yàn)結(jié)果和其他算法進(jìn)行比較,實(shí)驗(yàn)結(jié)果如圖6(d)、圖7(d)以及圖8(d)所示;圖6-圖8的(a)-(c)圖分別是使用全變分TV模型、FOE模型、文獻(xiàn)[8]算法得到的修復(fù)效果圖像以及差別圖像。通過視覺觀察可以得出,利用本文模型算法進(jìn)行修復(fù)后得到的差別圖像,其所包含白色像素區(qū)域最少,這證明和其他算法相比較,本文算法對(duì)于實(shí)驗(yàn)圖像擁有著更優(yōu)秀的修復(fù)能力。
(a) TV模型 (b) FOE模型 (c) 文獻(xiàn)[8]算法 (d) 本文算法圖6 lena圖像修復(fù)效果對(duì)比
(a) TV模型 (b) FOE模型 (c) 文獻(xiàn)[8]算法 (d) 本文算法圖7 動(dòng)物圖像修復(fù)效果對(duì)比
(a) TV模型 (b) FOE模型 (c) 文獻(xiàn)[8]算法 (d) 本文算法圖8 巖石圖像修復(fù)效果對(duì)比
表3和表4即是分別通過將本文算法和其他圖像修復(fù)算法進(jìn)行定量數(shù)值分析,從而得出的結(jié)果。從表3和表4中數(shù)據(jù)可以得出,和其他算法相比,本文所提出的TV-FOE模型算法對(duì)破損圖像擁有較為優(yōu)秀的修復(fù)效果。
表3 實(shí)驗(yàn)圖像修復(fù)算法均方誤差(MSE)比較
表4 實(shí)驗(yàn)圖像修復(fù)算法峰值信噪比(PNSR)比較
通過引入混合比例參數(shù),將FOE模型與TV模型結(jié)合形成TV-FOE這一新的圖像修復(fù)模型,該模型算法一方面利用TV模型基于擴(kuò)散的方法對(duì)圖像結(jié)構(gòu)性區(qū)域進(jìn)行填充修復(fù),另一方面又利用了FOE模型基于先驗(yàn)概率的特點(diǎn)對(duì)細(xì)節(jié)邊緣區(qū)域進(jìn)行有效修復(fù),從而提高了修復(fù)效果。經(jīng)過理論推理以及實(shí)驗(yàn)數(shù)據(jù)均證實(shí),本文所提出的TV-FOE模型算法對(duì)圖像的結(jié)構(gòu)部分和紋理部分都擁有更佳的修復(fù)能力,是全變分TV模型和馬爾可夫隨機(jī)場(chǎng)模型在圖像修復(fù)領(lǐng)域的一個(gè)重要延伸和擴(kuò)展。在圖像修復(fù)的應(yīng)用領(lǐng)域,古文物的修補(bǔ)與復(fù)原占據(jù)了相當(dāng)重要的比重,如古代字畫,經(jīng)過時(shí)間的侵蝕,其結(jié)構(gòu)和紋理區(qū)域或多或少會(huì)有破損。鑒
于本文算法在此方面擁有較佳的修復(fù)效果,下一步工作要繼續(xù)對(duì)本算法優(yōu)化,將其應(yīng)用于古代字畫方面的修復(fù)。