李旭健 魏 彭
(山東科技大學計算機科學與工程學院 山東 青島 266590)
圖像在采集、傳輸和處理的各個過程中,都可能發生部分區域缺損或損失,像素灰度急劇改變,使圖像不完整的情況[17]。圖像修復是基于不完整的圖像和對原始圖像的先驗知識,通過采用相應的方法糾正前述區域破損問題,以達到恢復圖像原貌的目的[5]。目前對圖像進行修復的思路有兩種:針對圖像結構性較強的部分所使用的擴散方法;針對紋理明顯的部分使用紋理合成的樣本填充方法[3]。
基于擴散的修復方法是將缺失區域周圍未損壞的像素信息向缺失區域擴散,常用于去除劃痕或尺寸較小的區域的修復技術[9],如文獻[1]提出的將全變分(TV)模型應用于圖像修復[2],其是一種非各向同性的擴散算法,可在修復的同時保持邊緣的連續性和尖銳性[15]。但TV模型沒有考慮缺失區域的紋理特性,對于邊緣細節處和紋理區域修復效果不理想[10]。目前,對于TV模型修復圖像時所存在的問題,很多學者提出了將分數階引入TV模型的解決方法,如文獻[7]將分數階微分與TV模型相結合,相對于原始TV模型,該算法能夠在修復時保留圖像的部分紋理信息,提高了修復圖像的精度;但該方法對紋理細節和邊緣區域信息的保持仍不夠理想。文獻[8]則對文獻[7]算法進行進一步的改良,提出一種將分數階TV模型與紋理合成相結合的模型修復算法。該算法進行修復時先利用紋理合成技術獲取待修復圖像的紋理信息,以紋理信息為先驗再使用分數階TV模型對破損圖像進行修復,因此能夠更有效地保持圖像中的紋理細節和邊緣信息[8]。將分數階引入TV模型,在一定程度上提高了TV模型的修復性能,但該類型算法對于紋理細節和邊緣區域的修復精度仍未達到預期水平,且由于引入了分數階,使得算法的復雜程度進一步加深,加大了修復圖像所需的時間和精力[7]。
馬爾可夫隨機場是建立在馬爾可夫模型和貝葉斯理論基礎之上的一個描述隨機過程的數學模型,其在計算機視覺方面被廣泛應用[4]。文獻[2]中的FOE模型是一種高階馬爾可夫隨機場模型,自Roth等[1]提出以來,由于其基于先驗的鄰域系統對圖像紋理以及細節區域有著出色的處理效果,在圖像去噪、光流(Optical Flow)、超分辨率、圖像修補方面都有著優異的表現。
故本文在文獻[1]和文獻[2]的基礎上提出了基于TV模型結合馬爾可夫隨機場模型的改進修復算法,通過引進混合比例參數,提出一種TV-FOE模型用于對圖像的修復,既能在保證對圖像結構層次的修復效果,又能對圖像紋理方面擁有很好的復原效果。
TV模型是一種非各向同性的擴散算法,如圖1所示一般是利用未破損的邊緣E周圍的像素信息向缺失區域D擴散的過程[14]。

圖1 圖像修補各區域示意
全變分TV模型為:

(1)
轉化可得能量泛函方程:

(2)
式中:第一項中的Ω是圖像未破損區域E與破損區域D的并集,第二項則是起到數據保真的作用[6]。u是圖像中的像素點,為初始圖像值,λ為設定的參數。
使用E-L方程,利用梯度法將式(2)轉化成為一個求極值的方程,可得到如下方程:
(3)

如圖2所示,將待修復圖像中點鄰域進行離散化。其中:原點O為污染點,鄰域B=(N,S,W,E),半像素鄰域B′=(n,s,w,e)。

圖2 中點領域像素示意圖
由上述可對式(3)進行離散化得出表達式為:
(4)
式中:λe(O)為中心O處的λ參數,與式(3)中λe一致;uO為O點修復后的像素,另一個為O點修復前的原始像素。
對離散化的式(4)進行有限差分,求出u的近似解為:
(5)
使用迭代算法對式(5)進行迭代,在新舊圖像的變化小于閉值時迭代停止[16],以當前得到的圖像作為最終的修復結果[7]。
馬爾可夫過程是指下一個時間點的值只與當前值有關系,與以前沒有關系,未來決定于現在而不是過去,即馬爾可夫隨機過程是一類隨機過程。具體定義如下:
設δ為S上的鄰域系統,若隨機場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為以δ為鄰域系統的馬爾可夫隨機場,式(7)稱為馬爾可夫隨機場的局部特性[11]。
FOE模型是Roth等通過結合稀疏矩陣與馬爾可夫隨機場提出的一種用于圖像處理模型。首先,以節點V表示圖像中的像素,即G={V,E},其中E是連接節點的邊,并由此定義了一個鄰域系統,它將m×n矩形區域內的所有節點連接起來,每個以節點(像素)為中心的鄰域k=1,2,…,K定義圖中的最大鄰域團,通過哈默斯利-克利福德(Hammersley-Clifford)定理可以把這個圖形模型的概率密度寫成吉布斯分布:
(8)
式中:x為圖像;Vk(x(k))為鄰域團x(k)的勢函數。不需要定義勢能函數V,而是從訓練圖像中學習它。另設MRF是齊次的,即勢函數對于所有派系都是一樣(Vk(x(k))=V(x(k)))。在不失一般性的前提下,假設MRF中的最大群是固定大小的正方形像素塊。由此即可定義一個完整的圖像的概率密度下先驗模型:
(9)
式中:Φi()表示專家;Ji表示線性濾波器;αi是專家的參數。
將式(9)代入式(8)得出最終的FOE模型:
(10)
TV模型是基于各向擴散的圖像修復方法,正如式(2)所展示的泛函方程,該模型是基于擴散系數的異性擴散,擴散修復時特別是邊緣紋理和細節區域會造成一定的模糊,并且在實際處理圖像的過程中,沿著邊緣方向擴散會形成虛假邊緣,出現階梯效應,影響修復效果。
馬爾可夫隨機場中的FOE模型則是基于鄰域系統,利用圖像先驗信息進行圖像修復的算法模型,如式(11)所示。通常,用戶提供一個像素掩碼,這些像素將被用于修復。不同于TV模型使用一種擴散形式來填充掩模像素,該算法只修改掩碼指定的像素子集,因此,在這些像素處沒有使用觀察似然項。
(11)
式中:N表示迭代次數;M表示掩模圖像;η表示學習率;*表示卷積;Ji表示線性濾波器;ψi=logφi即專家的對數。
為了使TV模型算法修復圖像能對邊緣細節處有更好的效果,鑒于FOE模型在圖像細節紋理處修復的優異效果,故將二者模型結合,提出一種TV-FOE模型:
Rh[f]=hpFOE+(1-h)J[f]
(12)
式中:h表示混合比例參數;f為待修復圖像。
通過引入混合比例參數h,使兩者模型結合起來,形成h·FOE+(1-h)·TV新的圖像修復模型,在此模型中,既能利用變分模型基于擴散的方法對結構性區域圖像進行填充修復,又利用了馬爾可夫隨機場基于先驗概率的性質對細節邊緣和紋理區域進行有效修復。當h=0時,式(12)的模型即為文獻[1]的TV模型,實際上TV-FOE模型是TV模型的一個擴展和延伸。式中的參數h為引入的混合比例參數,其大小選擇應根據不同的修復圖像做出不同的選擇,當h比較大時可保持銳利的邊緣,發揮FOE模型對細節紋理區域的修復特性;當h較大時可充分利用TV模型的擴散效果。
針對本文提出的TV-FOE模型圖像修復算法,需要設置相應的實驗參數,包括式(2)中λ、式(11)中濾波器尺寸J、式(12)混合比例參數h。
對于保真項系數λ,平衡正則項和數據項之間的誤差,起著保真的作用。其值變大時,解趨于光滑,反之則解的邊緣銳化。故結合此前經驗,將其值設為。在進行圖像修復時為了減少紋理區域的過度平滑問題,對細節區域擁有更好的修復效果,故濾波器尺寸選用處理平滑性更優異5×5像素,共使用24個專家。TV-FOE模型目的在于保證TV模型原有修復效果的前提之下,優化其修復邊緣和細節紋理區域的能力。故混合比例參數h的取值在0~1之間。
本文提出的TV-FOE算法針對圖像的修復算法流程可以分為三部分,如圖3所示。第一部分:使用FOE模型對圖像細節紋理、邊緣處進行修復;第二部分:利用TV模型算法的擴散特性對圖像結構性區域進行修復;第三部分:利用混合比例參數,使用TV-FOE模型進行后續處理。

圖3 功能流程圖
由圖3可知,本文算法的核心編程在于利用各個模型對圖像進行修復。
其中TV模型的具體實現為:
1) 獲取保真項系數λ、待修復圖像I、掩模圖像M。
2) 使用nidm()函數獲取待修復圖像I的維度,若為灰度圖像,則繼續執行后續過程。若為彩色圖像,則以圖像矩陣維度為變量循環執行過程3)、4)。
3) 按圖2和式(4)所示,遍歷待修復圖像I的數組矩陣,計算離散化的每一像素矩陣的各方向的梯度,并求和。
4) 按式(5)所示,計算上述所求數據,輸出修復后的圖像I。
5) 按給出次數,迭代執行上述步驟,輸出修復圖像U。
TV-FOE模型具體實現:
1) 分別獲取TV和FOE模型修復后的圖像U、V。
2) 獲取混合比例參數h。
3) 按式(12)所示,計算上述所得數據,輸出最終修復圖像。
本文算法具體流程如下:
1) 讀取受損圖像,獲取掩模圖像以及算法相關參數如濾波器尺寸、迭代次數。
2) 使用FOE算法選用指定的濾波器尺寸使用梯度上升法對圖像進行修復。
3) 以大步長按指定次數迭代執行步驟2),使其快速收斂,輸出修復后的圖像V。
4) 讀取受損圖像,確定受損區域,獲取相應參數如正則項系數、迭代次數。
5) 使用TV模型算法利用梯度下降法修復圖像。
6) 按照指定次數迭代執行步驟5),輸出圖像U。
7) 讀取混合比例參數,使用TV-FOE算法對步驟3)和步驟5)輸出圖像進行處理,輸出最終修復圖像。
本文實驗是以64位操作系統Windows 10.0下的MATLAB R2018b為平臺,在Dell Inspiron 1500,配置為Intel core i5-6200U CPU,2.30 GHz,內存8 GB的PC機上進行驗證的。
為證明本文算法對結構部分和紋理部分都擁有更佳的修復能力,實驗圖像選擇南加州大學的USI-SIPC image datebase中經典且含有紋理信息較為明顯的Lena(圖4(a))512×512灰度圖像,此外為了凸顯本文算法更擁有信服力,另外選擇了兩幅紋理信息較為豐富的512×512灰度動物圖像(圖4(b))以及512×512灰度巖石圖像(圖4(c))。圖4中還包含人為破損的待修復圖像以及相應的掩模圖像。

(a) Lena

(b) 動物

(c) 巖石圖4 實驗圖像

(a) 實驗1(lena)

(b) 實驗2(動物)

(c) 實驗3(巖石)圖5 不同混合比例參數修復后的圖像
本文算法實驗從混合比例參數以及模型對圖像的修復性能這兩個角度進行驗證,之后再對實驗結果進行論證和比較。為了驗證本文所提出模型算法的有效性,從視覺角度和數值角度兩個方面來評價修復效果。視覺角度即人眼感覺出的算法對于破損圖像的修復效果,比較算法修復后的圖像和原始實驗圖像的差異,通過比對二者差別圖像中黑色區域所占大小來分析,數值角度則通過修復后圖像和原始圖像的灰度均方誤差MSE和峰值信噪比PSNR來評價。
均方誤差MSE計算公式為:
(13)
式中:w×h為像素個數;Iv為原始圖像像素點;Ig為修復后圖像的像素點。
峰值信噪比PSNR計算公式為:
(14)
均方誤差MSE值越小代表修復效果越好,在完美情況下,其值應為0,這意味著修復后的圖像和原始圖像兩幅圖像在同一位置上點的灰度值相同。峰值信噪比PNSR的值越大越表明算法修復性能好,其值越大代表修復后的圖像還原效果優良。
本實驗選用圖4所示的三幅實驗圖像作為參考圖像進行實驗,為了驗證本文所提出的算法模型的準確性、合理性,對實驗圖像進行修復時選擇不同的混合比例參數進行實驗,圖5是本文算法選用不同混合比例參數值所對應的修復結果,表1、表2則是實驗圖像選用不同混合比例參數值得出的均方誤差和峰值信噪比的對比結果。

表1 修復圖像均方誤差比較(MSE)

表2 修復圖像峰值信噪比比較(PNSR)
從表1和表2可以得出,均方差值(MSE)和峰值信噪比(PNSR)的取值隨著混合比例參數的不同而變化。當混合比例參數h在0.25~0.35之間取值時,MSE會取到最小值,PNSR則會獲得其最大值,此時對圖像擁有最佳的修復效果;當h不在此范圍時,MSE的值會隨著h取值范圍的遠離逐漸增多,PNSR則會隨著h取值范圍逐漸減小,圖像的修復效果則會變差。并且本文算法實驗選擇了3種包含不同程度紋理細節和邊緣區域的圖片,實驗結果表明不同的照片,使其能取到最佳修復效果的h值也不同,其能達到的最佳修復效果也不同。對于實驗圖像lena和巖石,其在h取值0.25時擁有最佳的修復效果,而對于實驗圖像動物,其在h值為0.35時擁有著最佳的復原性能;并且實驗圖像中lena擁有最好的修復效果。即對于擁有著不同結構和紋理的圖像,混合比例參數h同樣需要人為選擇并進行多次實驗。
為了驗證本文所提出模型的實際效果,將TV-FOE模型算法分別與全變分TV模型、FOE模型、文獻[8]進行修復能力比較,通過視覺和數值上進行分析。本次實驗仍然選擇圖4的3幅實驗圖像,實驗結果如圖6-圖8所示。由上一小節實驗結果可知本文算法所擁有的最好修復結果,本節實驗即選擇該實驗結果和其他算法進行比較,實驗結果如圖6(d)、圖7(d)以及圖8(d)所示;圖6-圖8的(a)-(c)圖分別是使用全變分TV模型、FOE模型、文獻[8]算法得到的修復效果圖像以及差別圖像。通過視覺觀察可以得出,利用本文模型算法進行修復后得到的差別圖像,其所包含白色像素區域最少,這證明和其他算法相比較,本文算法對于實驗圖像擁有著更優秀的修復能力。

(a) TV模型 (b) FOE模型 (c) 文獻[8]算法 (d) 本文算法圖6 lena圖像修復效果對比

(a) TV模型 (b) FOE模型 (c) 文獻[8]算法 (d) 本文算法圖7 動物圖像修復效果對比

(a) TV模型 (b) FOE模型 (c) 文獻[8]算法 (d) 本文算法圖8 巖石圖像修復效果對比
表3和表4即是分別通過將本文算法和其他圖像修復算法進行定量數值分析,從而得出的結果。從表3和表4中數據可以得出,和其他算法相比,本文所提出的TV-FOE模型算法對破損圖像擁有較為優秀的修復效果。

表3 實驗圖像修復算法均方誤差(MSE)比較

表4 實驗圖像修復算法峰值信噪比(PNSR)比較
通過引入混合比例參數,將FOE模型與TV模型結合形成TV-FOE這一新的圖像修復模型,該模型算法一方面利用TV模型基于擴散的方法對圖像結構性區域進行填充修復,另一方面又利用了FOE模型基于先驗概率的特點對細節邊緣區域進行有效修復,從而提高了修復效果。經過理論推理以及實驗數據均證實,本文所提出的TV-FOE模型算法對圖像的結構部分和紋理部分都擁有更佳的修復能力,是全變分TV模型和馬爾可夫隨機場模型在圖像修復領域的一個重要延伸和擴展。在圖像修復的應用領域,古文物的修補與復原占據了相當重要的比重,如古代字畫,經過時間的侵蝕,其結構和紋理區域或多或少會有破損。鑒
于本文算法在此方面擁有較佳的修復效果,下一步工作要繼續對本算法優化,將其應用于古代字畫方面的修復。