吳長勤,王亞軍,王傳安
(安徽科技學院 安徽鳳陽233100)
圖像修復是圖像處理技術(shù)領(lǐng)域的一個分支,也是目前計算機視覺方面的研究熱點之一。數(shù)字圖像修復的本質(zhì)是利用其周圍的有用信息,按照一定的規(guī)則對圖像受損區(qū)域進行填充,使修復結(jié)果可以達到或接近人所要求的視覺效果[1]。根據(jù)受損區(qū)域的大小,圖像修復方法可分為兩類:一類是基于偏微分方程和變分的圖像修復[2-4],其基本思想是根據(jù)信息擴散原理實現(xiàn)圖像受損區(qū)域的修復,當圖像待修復區(qū)域較小時,修復效果很好,但當圖像待修復區(qū)域較大時,修復時會出現(xiàn)很強的邊界效應(yīng);另一類是基于結(jié)構(gòu)紋理的圖像修復,該類算法幾乎不受修復區(qū)域大小的影響,均能取得較好的修復效果,已逐漸成為圖像修復領(lǐng)域的主流方法,吸引眾多國內(nèi)外學者進行研究[5-7]。
先介紹Criminisi 算法中用到的幾個量,I 表示待修復的圖像,Ω 表示待修復區(qū)域,Φ 表示未受損區(qū)域,?Ω 表示區(qū)域邊界,p 表示邊界?Ω 上優(yōu)先權(quán)最高的一個像素點,如圖1 所示。
Criminisi 算法提出采用優(yōu)先權(quán)進行修復的思路,并以每次匹配時的最優(yōu)作為全局最優(yōu),其修復過程可概況如下:
1)先確定待修復區(qū)域,并標記出其邊界?Ω,若?Ω 為空,則退出。
2)計算修復優(yōu)先權(quán):選取邊界?Ω 上的某一點p,計算其優(yōu)先權(quán)P(p),并以p 為中心,確定一個矩形塊Ψp。P(p)計算公式為:
圖1 Criminisi 算法變量示意圖
其中,C(p)為置信項,D(p)為數(shù)據(jù)項,其計算公式分別如下:其中α 為歸一化因子,為矩形塊內(nèi)像素點的個數(shù),為p 點的等照度線方向,np為p 點處與邊界?Ω 正交的單位向量。由于等照度線即為灰度值相同的一條曲線,因此該曲線方向的顏色變化值最小。
3)以優(yōu)先權(quán)最大的像素點p 為中心形成待修復塊Ψp,并在未受損區(qū)域Φ 內(nèi)搜索最佳匹配塊Ψq,即與Ψp距離最小的模塊:
其中d 為感知距離,對于灰度圖是兩模塊對應(yīng)各點的灰度值平方差之和,而彩色圖像則是對應(yīng)各點的RGB 值平方差之和。
4)復制最佳匹配塊Ψq中相應(yīng)的像素點到Ψp中。
5)更新Ψp模塊中像素點的邊界和置信度等信息。根據(jù)置信度的定義,其更新方式如下:
Criminisi 算法是一種典型的貪心算法,它充分考慮了圖像結(jié)構(gòu)紋理等信息,相比其他算法其修復效果在速度和修復質(zhì)量上都有很大提升,但也存在一些值得改進的地方[8]。
Criminisi 算法在優(yōu)先權(quán)計算中采用等照度線到達邊緣的強度來計算數(shù)據(jù)項D(p),以保證處在強邊緣的像素塊能夠獲得更高的優(yōu)先權(quán),而這種優(yōu)先權(quán)計算公式不僅計算量大,且不能準確地反映出圖像的邊緣結(jié)構(gòu)信息,同時在修復過程中,由于置信項C(p)和數(shù)據(jù)項D(p)有可能出現(xiàn)一大一小兩個極端現(xiàn)象,從而導致優(yōu)先權(quán)極小,這不符合實際情況[9]。根據(jù)顏色向量角能夠檢測數(shù)字圖像邊緣的特性[10],因此,可采用構(gòu)造邊緣項來代替Criminisi 算法中的數(shù)據(jù)項,使其能更準確地反映出圖像的邊緣特性。
先將待修復圖像向外擴充一個像素,以保證后續(xù)能夠?qū)吘壪袼匾约捌渌袼刈鐾瑯拥奶幚?。在RGB顏色空間中,以圖像中任一像素點為中心P0,選取其四周3×3 鄰域內(nèi)的八個像素點P1、P2……、P7、P8,并計算P0與八個鄰域像素點的顏色向量角正弦值:
由式(6)可得出8 個顏色向量角正弦值,然后用其中最大的正弦值來表征像素間的色差:
對整個待修復圖像所有像素全部進行上述計算后,將結(jié)果組合在一起,得到一邊緣圖像IM:
式(8)中m 和n 表示待修復圖像大小為m×n。接下來,進行優(yōu)先權(quán)計算:
其中C(p)仍為置信項,而E(p)為邊緣項:
E(p)=diff(p),diff(p)∈IM(10)
在改進后的優(yōu)先權(quán)計算中,使用邊緣項取代了數(shù)據(jù)項,避免了Criminisi 算法中的等照度線和正交法向量等復雜運算。同時,改進后的優(yōu)先權(quán)為兩項和的形式,消除了因置信項迅速衰減造成的優(yōu)先權(quán)的極小值問題,從而避免了誤差過度傳播。
Criminisi 算法采用全局搜索方式搜索最佳匹配模塊,該方式不僅十分耗時,且沒有考慮到圖像的局部自相似性。實際上,待修復圖像上某一位置的像素值與其周圍鄰域的像素值有密切的關(guān)系,對于圖像修復問題而言,熵是一種圖像特征的統(tǒng)計形式,它可以反應(yīng)圖像中信息的多少[11-12]。圖像顏色信息熵可表示為:
其中k 為圖像中具有k 個灰度級,pi為第i 個灰度級出現(xiàn)的概率。
由于一副圖像不同區(qū)域的關(guān)注程度不同,會使相同的圖像信息出現(xiàn)在圖像不同區(qū)域時的信息重要程度也不盡相同。因此有必要按照圖像信息出現(xiàn)不同區(qū)域的重要程度重新對圖像信息熵進行定義,這就是區(qū)域加權(quán)信息熵[13]。圖像的區(qū)域加權(quán)信息熵定義為:
根據(jù)上述分析和定義,改進的搜索最佳匹配塊方法的步驟如下:
1)劃分待修復像素點p 的鄰域
采用同心圓劃分方法將待修復像素點p 的鄰域像素集合T 劃分為m 個模塊區(qū)域,即T={T1,T2,…,Tm},且要求每個區(qū)域不小于以像素點p 為中心的待修復塊。
2)區(qū)域劃分效果評價
對于鄰域像素集合T,采用加權(quán)信息熵方法對T 中各個區(qū)域進行熵值計算,可得到一維信息熵向量ET={ET1,ET2,…,ETm}。設(shè)ET的統(tǒng)計分布為X,用X 的方差D(X)來衡量向量ET,該衡量方法是鄰域像素集合T劃分效果的的重要評價指標。
D(X)的值越小則鄰域像素集合T 的信息熵向量ET的分布比較均勻,也就是說劃分的區(qū)域塊能夠更好描述紋理圖像的紋理性和穩(wěn)定性。
3)選擇最佳的修復匹配塊
以像素點p 為中心,確定待修復塊Ψp,并計算該修復塊的信息熵Eψp,將Eψp與ET 中的各個信息熵進行比較,若某一區(qū)域塊Ψq的信息熵Eψq等于或最接近于Eψp,Ψq即為最佳修復匹配塊。
4)平滑過渡處理
在修復好一個修復塊的情況下,再以離已修復最近的點p’為中心確定待修復塊Ψp',同時更新信息熵向量ET,將以修復塊Ψp的Eψp加入ET 中,即。將已修復的區(qū)域模塊重新加入待修復模塊集合,可以減少邊界效應(yīng),特別是模板太大時,可使兩個模塊間平滑過渡,不會出現(xiàn)明顯的修復痕跡,使得修復結(jié)果更真實。
下面對Criminisi 算法和文中提出的改進算法的圖像修復效果進行實驗比較,實驗用的PC 配置為corei5四核處理器,內(nèi)存為4G,安裝64 位windows 7 操作系統(tǒng),算法編寫語言為C++及開源庫OpenCV2.4.2。實驗結(jié)果如圖2、圖3 所示,其中圖2 是利用本文算法和Criminisi 算法修復破損圖像過程中得到的置信項、邊緣項以及優(yōu)先權(quán)曲線的對比圖,圖3 為兩算法修復圖像效果的對比圖。
從圖2 可看出,本文修復算法在圖像修復過程中獲得的參數(shù)曲線不管是邊緣項、置信項還是數(shù)據(jù)項,都不會隨修復過程的累積而迅速下降,相比Criminisi 算法取得了較好的曲線效果。從圖3 可以看出,本文修復算法修復后的圖像跟原始圖很接近,相比Criminisi 算法取得了更好的修復效果。
圖2 兩算法參數(shù)曲線對比圖
圖3 圖像修復對比
圖4 受損區(qū)域較大時的修復效果比較
從圖4 可以看出,采用本文的修復算法之后,修復效果相比Criminisi 算法不再存在很強的邊界效應(yīng),只在個別地方存在很小的塊間效應(yīng),修復效果提升較大,更加符合人的視覺要求。
為更直觀明了的驗證文中所提算法的修復效果,實驗采用客觀評價方法做為修復圖像質(zhì)量評估的客觀標準,表1 展示了兩種修復算法在均方誤差(MSE)、峰值信噪比(PSNR)和算法執(zhí)行時間方面的客觀度量。
表1 兩種修復算法的客觀度量
從表1 可以看出,本文提出的算法相對Criminisi 算法來說均方誤差比較小,峰值信噪比更大,失真較小,修復效果更好,更接近原圖,且計算量大大減少。因此與Criminisi 算法相比無論從速度上還是修復的質(zhì)量上文中所提算法都占有優(yōu)勢。
本文簡單介紹了經(jīng)典的Criminisi 算法的基本思想,分析了該算法在修復過程中存在的不足。針對優(yōu)先權(quán)極小值問題,使用邊緣項取代數(shù)據(jù)項,并優(yōu)先權(quán)改為兩項和的形式。Criminisi 算法采用全局搜索方式搜索最佳匹配模塊,且沒有考慮到圖像的局部自相似性,導致執(zhí)行時十分耗時,針對此問題,提出了區(qū)域加權(quán)信息熵對待修復區(qū)域的鄰域進行區(qū)域劃分,并采用熵值來確定最佳匹配塊,該方法在達到與Criminisi 算法相當?shù)男迯唾|(zhì)量的前提下,大大減少了搜索時間。
[1] BERTALMIO M,SAPlRO G CASELLES V,et a1.Image inpainting[C]//.Proceedings of International Conference on Computer Graphics and Interactive Techniques[C].New Orleans Louisiana USA,2000:417-424.
[2] Chan T,Shen J.Mathematical models for local non-texture inPainting[J].SIAM Journal on Applied Mathematics,2002,62(3):1019-1043.
[3] Esedoglu S,Shen J.Digital image inpainting by the Muxnford-Shah-Euler image model[Jl.EuroPean Journal of Applied Mathematics,2002(13):353-370.
[4] 葉學義,王靖,趙知勁,等.魯棒的梯度驅(qū)動圖像修復算法[J].中國圖像圖形學報,2012,17(6):630-635.
[5] Efros A.A,F(xiàn)reeman W.T.Image quilting for texture synthesis and transfer[C].Proeeedings of ACM Transactions on GraPhics(SIGGRAPH 01),USA:ACM,2001.341-346.
[6] 朱曉臨,陳曉冬,朱園珠,等.基于顯著結(jié)構(gòu)重構(gòu)與紋理合成的圖像修復算法[J].圖學學報,2014,35(3):336-342.
[7] 馬爽,談元鵬,許剛.塊關(guān)聯(lián)匹配與低秩矩陣超分辨融合的圖像修復[J].計算機輔助設(shè)計與圖形學學報,2015(2):271-278.
[8] 趙勝.基于紋理合成的圖像修復算法研究[D].成都:電子科技大學,2014.
[9] 陳曉冬,朱曉臨.基于改進優(yōu)先權(quán)的加權(quán)匹配圖像修復算法[J].合肥工業(yè)大學學報,2013(1):58-63.
[10] 葉春.數(shù)字圖像水印及修復算法研究[D].桂林:廣西師范大學,2014.
[11] Rivera M,Ocegueda O,Marroquin J.L.Entropy-controlled quadratic markov measurefield models for efficient image segmentation[J].IEEE Transactions on image Processing,2007,16(12):3047-3057.
[12] 張晴.基于樣本的數(shù)字圖像修復技術(shù)研究[D].上海:華東理工大學,2011.
[13] 李愛國,馬子龍.區(qū)域加權(quán)信息熵及其在圖像特征提取中的應(yīng)用[J].計算機應(yīng)用,2009,12(29):3340-3342.