曹大命,翟東海,孟紅月,李夢雪,馮 炎
(1.西南交通大學(xué) 信息科學(xué)與技術(shù)學(xué)院,成都 610031; 2.西藏大學(xué) 工學(xué)院,拉薩 850000)(*通信作者電子郵箱1120490970@qq.com)
圖像修復(fù)是目前數(shù)字圖像處理領(lǐng)域的研究熱點(diǎn),它是一個病態(tài)問題,即利用圖像完好區(qū)域的信息來推測修復(fù)圖像破損區(qū)域的信息,目的在于恢復(fù)破損圖像的完整性,使其符合視覺連通性的要求。圖像修復(fù)技術(shù)已經(jīng)被廣泛用于舊照片修復(fù)、影視特效制作、文物保護(hù)等多個領(lǐng)域[1]。目前關(guān)于圖像修復(fù)研究方法主要分為三類:基于偏微分方程(Partial Differential Equation, PDE)的圖像修復(fù)算法、基于稀疏的圖像修復(fù)算法和基于樣本的圖像修復(fù)算法[2]。
基于PDE的圖像修復(fù)算法通常是從已知區(qū)域向破損區(qū)域擴(kuò)散圖像信息,該方法常用來修復(fù)圖像破損區(qū)域較小的非紋理圖像,對于大破損區(qū)域且含有幾何結(jié)構(gòu)的圖像會產(chǎn)生錯誤修復(fù)和模糊現(xiàn)象[2]。其經(jīng)典的代表算法有:Bertalmio等[3]提出的一種沿著圖像的等照度線信息從破損區(qū)域邊緣不斷擴(kuò)散信息到破損區(qū)域內(nèi)部的修復(fù)方法;Chan等[4]提出的利用全變分(Total Variation, TV)和各項(xiàng)異向擴(kuò)散來修復(fù)局部非紋理圖像的全變分修復(fù)模型。
基于稀疏的圖像修復(fù)算法主要是通過將圖像表示成一系列變換的稀疏組合,破損區(qū)域的像素可以通過自適應(yīng)更新稀疏表示被填充,在修復(fù)過程中該類方法也會產(chǎn)生模糊現(xiàn)象。該類方法中的代表算法有:Elad等[5]使用MCA(Morphological Component Analysis)將圖像分解成紋理層和結(jié)構(gòu)層,每層通過不同的字典稀疏表示出來,從而實(shí)現(xiàn)紋理和結(jié)構(gòu)的同時修復(fù); Yu等[6]提出的將結(jié)構(gòu)稀疏性引入圖像修復(fù)過程的修復(fù)方法。
基于樣本的圖像修復(fù)方法可細(xì)分為基于匹配(match)的圖像修復(fù)算法和基于圖(graph)的圖像修復(fù)算法[7]。基于匹配的圖像修復(fù)算法通常利用設(shè)置優(yōu)先權(quán)查找最佳樣本塊,再用最佳樣本塊填充破損區(qū)域,其經(jīng)典代表算法有:Efrosa等[8]提出的紋理合成的方法和Criminisi等[9]提出的基于最佳樣本的圖像修復(fù)算法;Wexler等[10]提出的定義一個全局代價函數(shù)使得被填充區(qū)域的目標(biāo)塊盡可能和完好區(qū)域的樣本塊相似從而完成圖像修復(fù)過程的圖像修復(fù)方法。但此類算法具有貪婪性,對算法初始化和所采用的優(yōu)化方法較敏感?;趫D的圖像修復(fù)算法[11-13]通常利用可爾可夫隨機(jī)場(Markov Random Field, MRF)模型重排樣本塊的位置來完成圖像修復(fù)過程,其典型代表算法有: Komodakis等[11]提出的先驗(yàn)置信傳播(priority Belief Propagation,priority-BP)算法, Pritch等[12]提出的shift-map算法等。但此類方法計(jì)算量比較大。
基于以上研究基礎(chǔ),本文提出了基于先驗(yàn)約束和統(tǒng)計(jì)的圖像修復(fù)算法,該算法主要通過約束初始化和引導(dǎo)搜索兩個步驟來達(dá)到提高匹配精度的目的;在圖像修復(fù)階段利用相似塊的偏移值具有稀疏性這一圖像統(tǒng)計(jì)特性[7],采用二維直方圖統(tǒng)計(jì)出主要偏移值,來減少樣本標(biāo)簽的數(shù)量,從而提高算法的時效性。
基于圖(graph-based)的圖像修復(fù)算法[7]通過優(yōu)化像MRF那樣的基于圖的模型,向未知像素點(diǎn)/塊分配一個偏移量(offset),未知像素點(diǎn)/塊利用這個偏移量找到其最優(yōu)匹配塊的相對位置,并從中復(fù)制最優(yōu)匹配塊的內(nèi)容到未知像素點(diǎn)/塊來完成圖像的修復(fù)過程。如何獲得最優(yōu)的圖像的偏移映射圖(shift-map)是評價此類修復(fù)算法優(yōu)劣的關(guān)鍵。由引言可知,該類算法普遍存在算法計(jì)算量大、時效性較差的問題。Barnes等[13]提出的PatchMatch算法和He等[7]提出的相似塊統(tǒng)計(jì)特性的圖像修復(fù)方法,都能在一定程度上緩解此問題。但PatchMatch算法采用隨機(jī)初始化的方法來獲得圖像的偏移映射圖,雖然可以提高算法的運(yùn)行效率,但也會降低算法的匹配精度,造成算法的修復(fù)質(zhì)量的下降。為了有效提高該算法的匹配精度,改善算法的最終修復(fù)質(zhì)量,本文提出將圖像先驗(yàn)特性作為約束條件對圖像的偏移映射圖進(jìn)行約束初始化,從而起到提高算法匹配精度的目的;考慮到本文算法的時效性,利用圖像的相似塊的偏移值具有稀疏性[7]這一圖像統(tǒng)計(jì)特性來減少用于修復(fù)圖像的標(biāo)簽集合的數(shù)量,從而起到提高算法運(yùn)行效率的目的。改進(jìn)后的算法主要分為五個步驟,其流程如圖1所示。
圖1 算法流程Fig. 1 Algorithm flowchart
步驟1利用文獻(xiàn)[14]中相對全變差的方法對破損圖像進(jìn)行預(yù)處理分離出圖像中完好部分的紋理信息和結(jié)構(gòu)信息,以此獲得圖像的先驗(yàn)信息。
步驟2利用Grab cut算法[15]和上一步驟預(yù)處理獲得的先驗(yàn)信息對破損圖像中的完好部分進(jìn)行區(qū)域分割,使得圖像中具有相同結(jié)構(gòu)信息和紋理信息的像素塊劃分到同一區(qū)域。對各子區(qū)域內(nèi)部像素塊的偏移值進(jìn)行約束,即分配給像素塊的偏移值只能來自各子區(qū)域內(nèi)部除其本身以外的其他像素塊的相對位置,以此實(shí)現(xiàn)對圖像的偏移映射圖的約束初始化。
步驟3初始化完成后,每個像素塊被分配了一個偏移值,通過這個偏移值就可以找到其匹配塊的相對位置。利用改進(jìn)的相似性度量公式對分配給像素塊的匹配塊進(jìn)行相似性判斷。若判斷結(jié)果為好的匹配塊(good match,本文通過實(shí)驗(yàn)仿真后,對于結(jié)構(gòu)塊夾角小于0.5或紋理塊差值小于0.004的塊定義為好的匹配塊),將匹配信息向鄰域像素塊傳播,鄰域像素塊等得其匹配信息后,執(zhí)行引導(dǎo)搜索看是否有更好的匹配塊(better match,其值要小于good match),若找到更好的匹配塊,則更新像素塊的偏移值,向其鄰域像素塊傳播其更新后的匹配信息;若沒有找到更好的匹配塊,則直接將接收到的匹配信息向其鄰域傳播。若判斷結(jié)果為壞的匹配塊,直接執(zhí)行引導(dǎo)搜索找到好的匹配塊后再執(zhí)行傳播。重復(fù)以上操作直至算法收斂,得到優(yōu)化的圖像偏移映射圖。
步驟4獲得優(yōu)化的圖像偏移映射圖后,對圖像的偏移映射圖進(jìn)行直方圖統(tǒng)計(jì),取峰值較高的前P(本文實(shí)驗(yàn)為P=65)個偏移值作為圖像的主要偏移值,組成圖像的修復(fù)標(biāo)簽集。
步驟5獲得圖像的修復(fù)標(biāo)簽集后,本文將圖像修復(fù)問題看成是向未知像素點(diǎn)/塊分配一個標(biāo)簽(偏移值),未知像素點(diǎn)在這個偏移值的指導(dǎo)下在完好區(qū)域找到相應(yīng)的最優(yōu)匹配塊并把匹配塊填充到未知像素點(diǎn)的位置。在上述過程中用MRF能量函數(shù)來優(yōu)化圖像的修復(fù)效果。至此就完成了整個圖像的修復(fù)過程。
基于圖的圖像修復(fù)算法[7]中對于偏移映射圖的初始化比較敏感。而PatchMatch算法中采用隨機(jī)的方式對圖像的偏移映射圖進(jìn)行初始化會降低算法的匹配精度。在圖像處理領(lǐng)域中,圖像先驗(yàn)信息對圖像修復(fù)具有重要的指導(dǎo)意義。為了提高算法的匹配精度,本文方法的主要改進(jìn)是在PatchMatch算法的初始化階段引入圖像的先驗(yàn)特性,然后利用該圖像的先驗(yàn)特性對圖像的偏移映射圖的初始化進(jìn)行約束,而不再采用原PatchMatch算法隨機(jī)初始化的方法,以提高圖像修復(fù)的最終修復(fù)效果。
由引言可知,圖像偏移映射圖的初始化的優(yōu)劣會直接影響基于圖(graph-based)的圖像修復(fù)算法[7]中修復(fù)效果的好壞。由于圖像具有局部自相似性[13]和紋理平滑性[17],可以根據(jù)紋理和結(jié)構(gòu)具有不同的先驗(yàn)信息來指導(dǎo)圖像偏移映射圖的初始化過程,以此實(shí)現(xiàn)對圖像偏移映射圖在先驗(yàn)信息指導(dǎo)下的約束初始化,從而達(dá)到提高像素塊匹配精度、減少算法誤匹配的目的。具體操作步驟如下:
首先,在圖像偏移映射圖的初始化階段采用相對總變差[14]的方法對原圖像進(jìn)行預(yù)處理,分離出原圖像紋理信息和結(jié)構(gòu)信息;然后,按照原圖像中的結(jié)構(gòu)信息和紋理信息結(jié)合Grab cut算法[15]對原圖像進(jìn)行區(qū)域分割,使得幾何結(jié)構(gòu)和紋理信息相似的像素塊劃分到同一區(qū)域內(nèi)。約束初始化的過程和處理結(jié)果如圖2所示。
圖2 約束初始化過程實(shí)例圖Fig. 2 Instance of constrained initialization process
其中:圖2(a)為含有紋理結(jié)構(gòu)和幾何結(jié)構(gòu)的測試圖像;圖2(b)為該圖經(jīng)過預(yù)處理后含有圖像細(xì)節(jié)信息的紋理子圖;圖2(c)為預(yù)處理后含有圖像幾何輪廓信息的結(jié)構(gòu)子圖;圖2(d)為預(yù)處理后的先驗(yàn)約束圖,其中的方塊表示像素塊(patch)。圖2(d)中不同的灰度代表幾何結(jié)構(gòu)和紋理信息不同的圖像局部子區(qū)域,在各子區(qū)域內(nèi)像素塊的幾何結(jié)構(gòu)和紋理信息相似。
其次,在劃分好的圖像局部區(qū)域內(nèi)采用組內(nèi)隨機(jī)初始化的方式為局部區(qū)域內(nèi)的各像素塊分配偏移值。如圖3所示,A、B、C、D分別為按照上一步圖像預(yù)處理后,按照先驗(yàn)信息分割成的圖像局部子區(qū)域,各局部子區(qū)域內(nèi)像素塊的偏移值來自各像素塊所在的區(qū)域內(nèi)部的像素塊,即分配給A區(qū)域的像素塊Ai的偏移值T(Ai)及在此偏移值下所找到Ai的匹配塊Aj也必須和Ai屬于同一區(qū)域。組內(nèi)隨機(jī)初始化的公式如式(1)所示。
T(pi)=si-random(sj);i≠j∪i,j∈N(seg)
(1)
式中:si=(xi,yi)為像素塊Ai的中心坐標(biāo),sj=(xj,yj)為Aj的中心坐標(biāo),Ai和Aj表示在同一圖像局部區(qū)域(seg)內(nèi)的像素塊;T(·)=(u,v)為像素塊的偏移值;N(seg)表示圖像局部區(qū)域(seg)的鄰域;random(·)表示采用隨機(jī)的方式獲得一個像素塊的坐標(biāo)。
圖3 組內(nèi)隨機(jī)初始化示意圖Fig. 3 Schemetic diagram of random initialization in a group
最后,為各圖像局部區(qū)域已初始化完成的偏移子圖即各個圖像局部區(qū)域內(nèi)的像素塊都分配一個偏移值。依據(jù)原圖像的尺寸大小,按照計(jì)算機(jī)的掃描順序?qū)Ω鲌D像局部區(qū)域的像素塊進(jìn)行排序,排序完成后就得到了整幅圖像的偏移映射圖,從而完成對圖像偏移映射圖的約束初始化過程。
經(jīng)過約束初始化后,圖像中每個像素塊都被分配了一個偏移值;然后,利用相似性判斷公式對分配其的匹配塊進(jìn)行相似性判斷,以判斷該匹配塊是不是最優(yōu)匹配塊。傳統(tǒng)的圖像修復(fù)算法通常采用離差平方和(Sum of Squares of Deviations,SSD)來度量兩個像素塊的相似性,此類方法不能較好地區(qū)分結(jié)構(gòu)信息和紋理信息。為了使算法能夠較好地區(qū)分像素塊中的結(jié)構(gòu)信息和紋理信息,達(dá)到提高算法的匹配精度的目的,本文利用預(yù)處理階段獲得圖像先驗(yàn)信息將圖像的像素塊分為結(jié)構(gòu)塊和紋理塊,針對不同類別的像素塊采用不同的相似性度量方法。通常情況下,結(jié)構(gòu)塊會包含較多的幾何結(jié)構(gòu)信息,而這些結(jié)構(gòu)信息在結(jié)構(gòu)塊中具有一定的方向性;因此,提取出結(jié)構(gòu)塊中的幾何結(jié)構(gòu)信息和方向信息組成結(jié)構(gòu)塊的主結(jié)構(gòu)方向向量,然后采用判斷兩個結(jié)構(gòu)塊之間主結(jié)構(gòu)方向向量夾角大小的方式判斷其相似性,夾角越小越相似。具體如式(2)所示:
(2)
式中:s(i)表示以i=(x,y)為中心的結(jié)構(gòu)patch塊的主結(jié)構(gòu)向量;T=(u,v)為偏移值;θi,i+T為以i=(x,y)為中心的patch和在偏移值T下得到的patch之間的主結(jié)構(gòu)向量夾角。
對于紋理塊,由圖像的紋理具有局部平滑性[17]的先驗(yàn)特性可知,圖像的局部區(qū)域內(nèi)紋理變化不明顯,這也表明局部區(qū)域內(nèi)的紋理塊的均值變化不明顯。據(jù)此,采用判斷圖像像素塊紋理均值之間差值的大小來判斷其相似性,差值越小越相似。具體如式(3)所示:
|E[t(i)]-E[t(i+T)]|≤ε
(3)
式中:t(i)為以i=(x,y)為中心的紋理塊;E[·] 表示紋理塊的均值;T=(u,v)為偏移值;ε為一個極小的正值。
與原算法中采用的SSD評價相似性度量的判斷相比,改進(jìn)的相似性判斷方法很好地區(qū)分了像素塊中的結(jié)構(gòu)和紋理信息,使算法的匹配精度有所提高,這可從文中第5章的實(shí)例仿真中體現(xiàn)出來。
經(jīng)過相似性度量后,獲得了圖像偏移映射圖中哪些像素塊被分配了好的匹配塊(good match)和哪些像素塊沒有被分配好的匹配塊的信息。對于那些分配給好的匹配塊的像素塊,PatchMatch算法中利用指數(shù)下降距離(exponentially decreasing distance)的方法[13]在全局范圍采用隨機(jī)的方式逐步縮小搜索范圍直至縮小到一個像素點(diǎn)大小后停止搜索,查找是否有最優(yōu)匹配塊(better match),以此來提高算法的匹配精度。
由圖像紋理平滑性和局部自相似性的圖像先驗(yàn)特性可知,目標(biāo)塊的最優(yōu)匹配塊出現(xiàn)在該目標(biāo)塊周圍區(qū)域的概率較大,且在圖像的局部區(qū)域內(nèi)相似的像素塊沿著紋理具有主要的擴(kuò)散方向。因此,相比原算法采用隨機(jī)查找的方式在全局查找更新最優(yōu)匹配塊的方法,本文采用引導(dǎo)搜索方法,即按照局部區(qū)域內(nèi)的圖像紋理擴(kuò)散的方向,在目標(biāo)塊相鄰的局部區(qū)域內(nèi)搜索其最優(yōu)匹配塊,這樣能進(jìn)一步提高算法的匹配精度。圖4為引導(dǎo)搜索的示意圖(圖中ncur(cur=i,j,p)為像素點(diǎn)cur處的法向量)。
圖4 引導(dǎo)搜索示意圖Fig. 4 Schematic diagram of guided search
引導(dǎo)搜索的詳細(xì)操作過程如下:
1)利用Canny算子分別對經(jīng)過圖像預(yù)處理后的圖像分割區(qū)域進(jìn)行邊緣檢測,以得到各分割區(qū)域的邊緣,圖中δA、δB、δC分別表示區(qū)域A、B、C的邊界。
(4)
3)確定了每個區(qū)域的主要紋理擴(kuò)散方向后,沿著該區(qū)域邊界的紋理擴(kuò)散方向,在各自區(qū)域內(nèi)對所屬區(qū)域的樣本塊按照本區(qū)域的主要紋理擴(kuò)散方向去進(jìn)行引導(dǎo)搜索,查找相應(yīng)的匹配塊(如式(5)所示),提高算法的匹配精度,迭代優(yōu)化圖像的偏移映射圖。
offset(pm)=(ncos(θm),nsin(θm))
(5)
其中:pm表示以m=(x,y)為中心的像素塊patch,offset(·)表示該像素塊的偏移值,θm為像素塊pm所在圖像分割子區(qū)域的紋理擴(kuò)散方向,n=1,2,…直到偏移值處于邊緣位置。
(6)
其中,T(i)=(x,y)表示以i為中心的像素塊的偏移值。當(dāng)上述公式成立時,δ(·)的值取1,不成立時取0。
偏移值的數(shù)量選取得越少越能提高算法的運(yùn)行速度,但對修復(fù)質(zhì)量會造成一定程度的下降,以峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和算法的運(yùn)行時間(Runtime)兩項(xiàng)作為客觀標(biāo)準(zhǔn)來驗(yàn)證偏移值的選取對算法性能的影響。對比了以下兩種實(shí)例:1)紋理結(jié)構(gòu)和幾何結(jié)構(gòu)都比較豐富的圖片(情形1),如唐卡;2)紋理結(jié)構(gòu)和幾何結(jié)構(gòu)單一或者圖片有較多重復(fù)結(jié)構(gòu)的圖片(情形2),如天空、湖面和建筑等。結(jié)果如表1所示。
表1 不同偏移值數(shù)量下峰值信噪比和運(yùn)行時間的比較Tab. 1 Comparison of PSNR and running time for different offset values
由表1數(shù)據(jù)可知:結(jié)構(gòu)和紋理單一的破損圖像(情形2)對主要偏移值數(shù)量的選取不敏感;而結(jié)構(gòu)和紋理較豐富的破損圖像(情形1)對主要偏移值的數(shù)量選取較敏感,即選取的偏移值數(shù)量和算法的修復(fù)質(zhì)量呈線性關(guān)系,選取的偏移值越多,算法的修復(fù)質(zhì)量越好,但運(yùn)行時間會增加。為了發(fā)揮出改進(jìn)算法的最佳性能,從算法的運(yùn)行時間和峰值信噪比兩方面值綜合考慮,最終選取主要偏移值的數(shù)量為P=65作為實(shí)驗(yàn)參數(shù)。
獲得了圖像的樣本標(biāo)簽集后,原算法采用最小化MRF能量函數(shù)來約束向未知像素點(diǎn)分配的標(biāo)簽來實(shí)現(xiàn)修復(fù)破損圖像的目的。但是原算法的能量函數(shù)中的平滑項(xiàng)只考慮了圖像的顏色信息,沒有將圖像的結(jié)構(gòu)信息的重要性考慮進(jìn)去,而結(jié)構(gòu)在視覺感知中作用尤為重要。在圖像修復(fù)過程中經(jīng)常先修復(fù)圖像的結(jié)構(gòu)部分以保持整體圖像一致性,若忽略結(jié)構(gòu)信息的重要性,使用紋理先進(jìn)行填充,會出現(xiàn)細(xì)節(jié)相似但整體產(chǎn)生偏差的情況。
綜上可知,在圖像的修復(fù)過程中,對圖像修復(fù)過程進(jìn)行結(jié)構(gòu)約束,以突出圖像的結(jié)構(gòu)信息的重要性,可以有效提高修復(fù)算法的修復(fù)質(zhì)量。數(shù)字圖像中,圖像的梯度變化能夠反映出圖像的結(jié)構(gòu)信息,因此,在原平滑項(xiàng)公式中引入梯度因子來約束圖像的修復(fù)過程,以使改進(jìn)后的平滑項(xiàng)公式在滿足相鄰像素塊的顏色值相似的同時也滿足梯度變化的相似性,從而有利于保持修復(fù)圖像的結(jié)構(gòu)信息,提高修復(fù)算法的修復(fù)質(zhì)量。本文算法采用優(yōu)化以下最小化能量函數(shù)來修復(fù)破損圖像:
(7)
如果向未知像素點(diǎn)分配的標(biāo)簽是有效值,即以x+T為中心的像素塊處于圖像的完好區(qū)域,數(shù)據(jù)項(xiàng)(Ed)的值為0;其他情況下,數(shù)據(jù)項(xiàng)的值為+∞。
改進(jìn)后的平滑項(xiàng)公式(Es)加入了梯度算子,使得平滑項(xiàng)公式在滿足用來懲罰接縫同時也滿足懲罰修復(fù)算法中結(jié)構(gòu)不一致的情況。改進(jìn)后的平滑項(xiàng)公式如下:
Es=α‖I(x+Ta)+I(x+Tb)‖2+
α‖I(x′+Ta)+I(x′+Tb)‖2+
β|▽I(x+Ta)+▽I(x+Tb)|+
β|▽I(x′+Ta)+▽I(x′+Tb)|
(8)
式中:I(x)是像素點(diǎn)x的RGB顏色值;Ta、Tb分別為像素點(diǎn)x分配的偏移值和為像素點(diǎn)x′分配的偏移值;I(·+Ta)、I(·+Tb)分別表示在偏移值為Ta或Tb時得到的偏移映射圖;▽I(·+Ta)、▽I(·+Tb)分別為偏移映射圖為I(·+Ta)、I(·+Tb)時的梯度值;α和β為平衡顏色信息和結(jié)構(gòu)信息所占的比重。當(dāng)未知像素點(diǎn)x和其鄰域x′被分配了不同的偏移后,出現(xiàn)接縫或者結(jié)構(gòu)斷裂的情況,上述平滑項(xiàng)會對其進(jìn)行懲罰以達(dá)到較好的修復(fù)效果。
為了驗(yàn)證本文算法的有效性,在配置Intel Core i5 2.5 GHz CPU和4 GB RAM的計(jì)算機(jī)上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為Visual Studio 2015版本。實(shí)驗(yàn)中的對比算法包括:文獻(xiàn)[7]中提出的相似塊統(tǒng)計(jì)算法、文獻(xiàn)[9]中提出的貪婪類算法、文獻(xiàn)[13]中提出的PatchMatch算法和本文算法。采用峰值信噪比和算法運(yùn)行時間作為算法的客觀評價標(biāo)準(zhǔn),峰值信噪比的計(jì)算公式如下:
(9)
圖5分別給出了四種算法對pumpkin圖像(512×512)的修復(fù)效果。文獻(xiàn)[7]中的相似塊統(tǒng)計(jì)算法在修復(fù)破損區(qū)域時在結(jié)構(gòu)的交匯處(圖中圓圈標(biāo)記處)出現(xiàn)了紋理延伸現(xiàn)象,使結(jié)構(gòu)看起來不自然;文獻(xiàn)[9]中的貪婪類算法在修復(fù)破損區(qū)域時,在玻璃處紋理延伸的同時引入了誤匹配且出現(xiàn)結(jié)構(gòu)斷裂;文獻(xiàn)[13]中的PatchMatch算法在結(jié)構(gòu)處出現(xiàn)斷裂和紋理的錯誤延伸;本文算法結(jié)構(gòu)處連續(xù),紋理擴(kuò)散自然,具有很好的視覺效果。
本文也對圖像的劃痕消除進(jìn)行了仿真,結(jié)果如圖6所示。可以看出相似塊統(tǒng)計(jì)算法、貪婪類算法和PatchMatch算法都在Lena(283×282)眼睛處進(jìn)行紋理延伸時出現(xiàn)了模糊現(xiàn)象,而本文算法雖然也出現(xiàn)了一定的模糊現(xiàn)象,但相較前者程度較輕。
本文還對紋理和結(jié)構(gòu)都比較豐富的唐卡圖像(430×596)進(jìn)行了仿真,結(jié)果如圖7所示。相似性統(tǒng)計(jì)算法由于平滑項(xiàng)中沒有考慮到結(jié)構(gòu)約束,在修復(fù)時出現(xiàn)了結(jié)構(gòu)斷裂,導(dǎo)致了紋理的錯誤延伸;貪婪類算法在填充紋理時由于本身的貪婪性會造成一定的誤匹配并產(chǎn)生了一定的模糊現(xiàn)象;PatchMatch算法紋理延伸時出現(xiàn)誤匹配,導(dǎo)致結(jié)構(gòu)斷裂使得修復(fù)結(jié)果看起來不自然;本文算法修復(fù)效果較好,且沒有出現(xiàn)誤匹配現(xiàn)象和紋理延伸。
四種對比算法的峰值信噪比和算法運(yùn)行時間對比如表2所示。從表2數(shù)據(jù)可以看出,本文算法不僅能更好地滿足人眼視覺效果要求,而且在客觀評價指標(biāo)上優(yōu)于相關(guān)算法,而且本文算法相比PatchMatch算法具有較大的優(yōu)勢。
表2 四種修復(fù)算法的峰值信噪比和運(yùn)行時間比較Tab. 2 Comparison of PSNR and running time for four kinds of inpainting algorithms
圖5 pumpkin修復(fù)效果比較Fig. 5 Inpainting effect comparison of pumpkin
圖6 Lena修復(fù)效果比較Fig. 6 Inpainting effect comparison of Lena
圖7 唐卡修復(fù)效果比較Fig. 7 Inpainting effect comparison of Thangka
本文提出的基于先驗(yàn)約束和統(tǒng)計(jì)的圖像修復(fù)算法充分利用了圖像的先驗(yàn)特性來約束圖像偏移映射圖的初始化,并對傳統(tǒng)的基于SSD值的相似性評價方法進(jìn)行了改進(jìn),使其能夠區(qū)分圖像塊中的結(jié)構(gòu)部分和紋理部分的相似性,從而提高匹配精度;最后還利用圖像的統(tǒng)計(jì)特性來減少算法的運(yùn)行時間。仿真實(shí)驗(yàn)分析結(jié)果表明,相比PatchMatchs算法和其他相關(guān)算法,本文算法不僅具有較高的匹配精度而且收斂速度有所提高,取得了更好的修復(fù)效果。但是對于結(jié)構(gòu)信息和紋理信息不是很豐富的圖像,本文的改進(jìn)算法仍難以得到自然的修復(fù)效果。在今后的研究工作中,我們將嘗試根據(jù)圖像的結(jié)構(gòu)信息和紋理信息豐富程度,使算法能自適應(yīng)地調(diào)整優(yōu)化能量函數(shù)平滑項(xiàng)中顏色信息和結(jié)構(gòu)信息所占比重的參數(shù),以此來進(jìn)一步改善算法的效率和修復(fù)效果。
參考文獻(xiàn):
[1]GUILLEMOT C, LE MEUR O. Image inpainting: overview and recent advances [J]. IEEE Signal Processing Magazine, 2013, 31(1): 127-144.
[2]王猛,翟東海,聶洪玉,等.鄰域窗口權(quán)重變分的圖像修復(fù)[J].中國圖象圖形學(xué)報(bào),2015,20(8):1000-1007. (WANG M, ZHAI D H, NIE H Y, et al. Image inpainting with weight variation of neighborhood window [J]. Journal of Image and Graphics, 2015, 20(8): 1000-1007.)
[3]BERTALMIO M, SAPIRO G, CASELLES V, et al. Image inpainting [C]// SIGGRAPH ’00: Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM, 2000: 417-424.
[4]CHAN T F, SHEN J. Mathematical models for local nontexture inpaintings [J]. SIAM Journal on Applied Mathematics, 2002, 62(3): 1019-1043.
[5]ELAD M, STARCK J-L, QUERRE P, et al. Simultaneous cartoon and texture image inpainting using Morphological Component Analysis (MCA) [J]. Applied and Computational Harmonic Analysis, 2005, 19(3): 340-358.
[6]YU G S, SAPIRO G, MALLAT S. Solving inverse problems with piecewise linear estimators: from Gaussian mixture models to structured sparsity [J]. IEEE Transactions on Image Processing, 2012, 21(5): 2481-2499.
[7]HE K, SUN J. Image completion approaches using the statistics of similar patches [J]. IEEE Transactions on Pattern Analysis And Machine Intellignce, 2014, 36(12): 2423-2435.
[8]EFROSA A, LEUNG T K. Texture synthesis by non-parametric sampling [C]// ICCV ’99: Proceedings of the Seventh IEEE International Conference on Computer Vision. Washington, DC: IEEE Computer Society, 1999, 2: 1033-1038.
[9]CRIMINISI A, PEREZ P, TOYAMA K, et al. Region filling and object removal by exemplar-based image inpainting [J]. IEEE Transactions on Image Processing, 2004, 13(9): 1200-1212.
[10]WEXLER Y, SHECHTMAN E, IRANI M. Space-time video completion [C]// CVPR ’04: Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2004: 120-127.
[11]KOMODAKIS N. Image completion using global optimization [C]// CVPR ’06: Proceedings of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2006: 442-452.
[12]PRITCH Y, KAV-VENAKI E, PELEG S. Shift-map image editing [C]// ICCV ’09: Proceedings of the IEEE 12th International Conference on Computer Vision. Piscataway, NJ: IEEE, 2009: 151-158.
[13]BARNES C. PatchMatch: a fast randomized matching algorithm with application to image and video [D]. Princeton, NJ: Princeton University, Department of Computer Science, 2011: 103-110.
[14]LI X, QIONG Y, YANG X, et al. Structure extraction from texture via relative total variation [J]. ACM Transactions on Graphics, 2012, 31(6): Article No. 139.
[15]ROTHER C, KOLMOGOROV V, ANDREW BLAKE. “GrabCut”: interactive foreground extraction using iterated graph cuts [J]. ACM Transactions on Graphics (TOG) — Proceedings of ACM SIGGRAPH 2004, 2004, 23(3): 309-314.
[16]KORMAN S, AVIDAN S. Coherency sensitive hashing [C]// ICCV ’11: Proceedings of the IEEE 2011 International Conference on Computer Vision. Washington, DC: IEEE Computer Society, 2011: 1607-1614.
[17]ZHANG J, ZHAO D, XIONG R, et al. Image restoration using joint statistical modeling in space-transform domain [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2014, 24(6): 915-928.
[18]王佳君,俞強(qiáng),張晶晶,等.基于先驗(yàn)置信傳播的圖像修復(fù)改進(jìn)算法[J].計(jì)算機(jī)應(yīng)用,2016,36(4):1115-1119. (WANG J J, YU Q, ZHANG J J, et al. Improvement algorithm of image inpainting based on priority-belief propagation [J]. Journal of Computer Applications, 2016, 36(4): 1115-1119.)
[19]SIMAKOV D, CASPI Y, SHECHTMAN E, et al. Summarizing visual data using bidirectional similarity [C]// CVPR ’08: Proceedings of the 2008 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2008: 1-8.