《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計應(yīng)用 > 一種基于樣例的快速圖像修復(fù)算法
一種基于樣例的快速圖像修復(fù)算法
來源:微型機與應(yīng)用2010年第22期
代仕梅, 張紅英, 曾 超
(西南科技大學(xué) 信息工程學(xué)院,四川 綿陽621010)
摘要: 在研究Criminisi等人的基于樣例的修復(fù)算法基礎(chǔ)上,提出了一種快速修復(fù)算法。該算法采用梯度數(shù)據(jù)項連同置信度確定填充順序,使得優(yōu)先權(quán)的計算更加準(zhǔn)確;并采用局部窗口搜索的策略,加快了修復(fù)速度;最后利用顏色和梯度共同決定相似性,使得修復(fù)后的圖像具有更好的視覺效果。大量實驗結(jié)果表明,該算法不僅能夠快速有效地修復(fù)受損圖像,而且能夠很好地保持受損區(qū)域的紋理和結(jié)構(gòu)。
Abstract:
Key words :

摘  要: 在研究Criminisi等人的基于樣例的修復(fù)算法基礎(chǔ)上,提出了一種快速修復(fù)算法。該算法采用梯度數(shù)據(jù)項連同置信度確定填充順序,使得優(yōu)先權(quán)的計算更加準(zhǔn)確;并采用局部窗口搜索的策略,加快了修復(fù)速度;最后利用顏色和梯度共同決定相似性,使得修復(fù)后的圖像具有更好的視覺效果。大量實驗結(jié)果表明,該算法不僅能夠快速有效地修復(fù)受損圖像,而且能夠很好地保持受損區(qū)域的紋理結(jié)構(gòu)。
關(guān)鍵詞: 圖像修復(fù); 目標(biāo)去除; 紋理; 結(jié)構(gòu)

    圖像修復(fù)是圖像復(fù)原研究中的一個重要內(nèi)容,它的主要思想是:對圖像中遺失或者損壞的區(qū)域,利用未損壞的圖像信息,按照一定的規(guī)則進行填充,并且盡可能地使修復(fù)后的圖像接近或達到原來的視覺效果。隨著近幾年數(shù)字技術(shù)的發(fā)展以及數(shù)碼產(chǎn)品的普及,這一技術(shù)除了應(yīng)用于破損照片的修復(fù),還被用于文本提取、目標(biāo)移除、超分辨率、圖像壓縮/傳輸以及視頻錯誤隱藏等方面。
    目前,圖像修復(fù)中占主流的修復(fù)模型有:偏微分方程的修復(fù)模型[1-2]、紋理合成[3]的修復(fù)模型。前者計算量大、耗時長、對紋理的還原能力有限,處理大區(qū)域圖像會有明顯的模糊現(xiàn)象,因此只適合于劃痕、污跡和文字等細窄的區(qū)域修復(fù)。相比之下,后者將待修復(fù)區(qū)域周圍的圖像作為樣本,從中提取特征并選取匹配的紋理,將其合成到待修復(fù)區(qū)域內(nèi),適用于較大區(qū)域的修復(fù)。
    現(xiàn)實中的圖像不是由簡單結(jié)構(gòu)和單一紋理拼接而成的,而是同時包含復(fù)雜的結(jié)構(gòu)和多種紋理特征。參考文獻[4]將圖像分割為結(jié)構(gòu)和紋理兩部分,然后分別用偏微分方法和紋理合成技術(shù)進行處理,最后將兩種處理結(jié)果進行融合。但對實際圖像而言,該方法修復(fù)區(qū)域較小,速度較慢,對較大區(qū)域修復(fù)仍然有一定的模糊。Criminisi等人在2003年提出了一種不用分割圖像,同步處理紋理和結(jié)構(gòu)的基于樣例的圖像修復(fù)算法[5]。他們的算法取得了滿意的效果,但是耗費的時間過長,另外優(yōu)先權(quán)和相似度的計算還存在一定不足。本文改進了參考文獻[5]的圖像修補算法。為了使優(yōu)先權(quán)計算更加準(zhǔn)確,本文采用梯度數(shù)據(jù)項和置信度共同決定填充順序;為加快修復(fù)速度,本文采用局部窗口搜索的策略;最后利用顏色和梯度共同決定相似性,使得修復(fù)后的圖像具有更好的視覺效果。大量實驗結(jié)果表明,該算法提高了修復(fù)效率,同時產(chǎn)生了更滿意的視覺效果。

2 算法的實現(xiàn)細節(jié)
2.1模板大小的自適應(yīng)選擇

    在反復(fù)的實驗過程中發(fā)現(xiàn),用固定大小的模板窗口?追,修復(fù)誤差比較大。對于包含豐富的細節(jié)及邊緣的區(qū)域,應(yīng)該采用小的模板窗口,以獲取較多的細節(jié)信息,減少畸變;對于平滑的紋理區(qū)域,由于樣本塊和目標(biāo)塊的相似距離非零,修復(fù)采用直接復(fù)制樣本,應(yīng)該采用較大的窗口,減少修復(fù)后的圖像產(chǎn)生明顯的假象。因此模板窗口的大小應(yīng)當(dāng)根據(jù)圖像的局部特征自適應(yīng)地變化。本文采用梯度函數(shù)自適應(yīng)地改變模板窗口大小。模板尺寸size(p)的定義為:

2.2 塊的優(yōu)先權(quán)
    基于樣例的圖像修復(fù)算法,為了兼顧結(jié)構(gòu)和紋理部分的修復(fù)效果,填充順序是這類方法的關(guān)鍵。填充順序的優(yōu)先權(quán)函數(shù)大小要考慮兩方面的因素:一方面是模板窗口中已知信息量的多少,另一方面要考慮待修復(fù)區(qū)域周圍的結(jié)構(gòu)特征。因為已知信息多的待填充塊的周圍可以利用的信息大,結(jié)構(gòu)特征明顯的區(qū)域包含了豐富的結(jié)構(gòu)信息。Criminisi定義的優(yōu)先權(quán)函數(shù)為:P(p)=C(p)×D(p)。當(dāng)?shù)日斩染€與單位法向量垂直時,D(p)=0,這時即使C(p)很大,甚至整個塊中只有幾個未知像素,塊也得不到及時填充。這樣優(yōu)先權(quán)的計算就變得不可靠,導(dǎo)致錯誤的填充順序,進而影響修復(fù)的效果。為了解決這個問題,本文直接引入梯度信息來計算塊的優(yōu)先權(quán)。P為修復(fù)邊界dΩ上的點,ψp是以點P為中心的塊,點P的優(yōu)先權(quán)函數(shù)P(p)定義為:

2.3 匹配塊的搜索空間
    Criminisi等人采用在整幅未破損的圖像中全局搜索,這樣能夠找到與目標(biāo)區(qū)域塊最相似的匹配塊。但是許多圖像的匹配塊就在目標(biāo)區(qū)域的附近,因此全局搜索提供了巨大的搜索空間,降低了算法的效率。為了減少搜索過程的時間消耗,一些學(xué)者提出了紋理主方向的搜索方法[6](水平、垂直等)。這種紋理主方向的搜索方法對于方向性很強的圖像能達到很滿意的效果,但是對于其他的圖像修復(fù)效果達不到滿意效果。為了既要減少搜索空間,又要達到滿意的修復(fù)效果,采用局部窗口空間搜索匹配塊。在Criminisi的算法中,設(shè)置的填充塊大小為 PatchSize,然后在整幅圖像的未破損區(qū)域搜索匹配塊。局部窗口尺寸設(shè)置如下:

式中,M是目標(biāo)塊上的已知像素點的數(shù)目,CL(p)為顏色差的平方的和,W(p)為梯度的差的平方的和,分別定義為:

式中,k是一個可調(diào)參數(shù),d是前面提到的相似度函數(shù)。顯然,由這個方程可知相似度函數(shù)值越大,像素點誤差越大,置信度值越低。
3 實驗結(jié)果
    將本文所提的算法應(yīng)用于許多的自然圖像,采用對比圖像的視覺效果來判斷修復(fù)質(zhì)量的好壞,用程序的運行時間來衡量算法的效率。所有的實驗是在配置為2.1 GHz處理器、2 GB內(nèi)存的計算機上運行的,仿真環(huán)境為Matlab 7.0。本文用文本移除、單一目標(biāo)物移除和多目標(biāo)物移除,來說明本文算法的優(yōu)越性。
3.1 文本移除
    圖2為文本移除實驗。其中,(a)為原始圖像,(b)為Criminisi算法,(c)為本文算法。從原始圖像中可以看出,圖中的文字“JAPANESE ANIMATION”只在圖片的下端,其文字移走后的空白區(qū)域,修補只需要搜索不到圖片一半的空間就可以找到最佳匹配塊;而Criminisi采取全局搜索,大量的時間浪費在不必要的搜索中。對比發(fā)現(xiàn),Criminisi所用的修復(fù)時間遠遠大于本文算法,而其修復(fù)效果略好于本文算法。

3.2  單一目標(biāo)物的移除
    圖3為單一目標(biāo)物的移除。其中,(a)為原始圖像,(b)為Criminisi算法,(c)為本文算法。從Criminisi算法可以看出,臺階恢復(fù)出現(xiàn)了明顯的不相容的“垃圾塊”,而且臺階下面的綠地延伸到黑色區(qū)域中;而本文算法很好地恢復(fù)了臺階的線性結(jié)構(gòu),黑色區(qū)域內(nèi)也沒有綠地的延伸塊,幾乎看不出人工痕跡。
3.3 多目標(biāo)物的移除
    圖4為多目標(biāo)物的移除實驗。其中,圖4(a)為原始圖像,圖4(b)為Criminisi算法,圖4(c)為本文算法。從圖4中可以看出,移走多棵樹以后,本文算法修復(fù)的海平面非常自然,而Criminisi算法修復(fù)的海平面有輕微的人工痕跡。

    表1給出了這三組實驗的運行時間。從表1可以看出,運行時間與圖像本身大小、破損區(qū)域大小以及破損區(qū)域周圍的結(jié)構(gòu)復(fù)雜度都有一定關(guān)系。本文方法與參考文獻[5]所用方法相比,根據(jù)圖像自身特征局部搜索運行時間更短,然而得出的效果差不多或者更好,說明了本方法的高效優(yōu)質(zhì)性。

    圖像修復(fù)在圖像處理和計算機圖形學(xué)領(lǐng)域中有許多重要應(yīng)用。本文提出了一種能夠滿足破損圖片修復(fù)、文本移除、目標(biāo)物體去除等多類修復(fù)要求的快速算法。本算法改進了基于樣例的修復(fù)算法,為了正確地傳播信息,有效地利用梯度值來計算目標(biāo)塊的填充順序和匹配塊的相似度。因此該算法更有能力對細小結(jié)構(gòu)和復(fù)雜的紋理優(yōu)先傳播。
    文中提出的方法不需要人為干預(yù)分割紋理和結(jié)構(gòu)信息,算法根據(jù)圖像的局部特征計算出優(yōu)先權(quán),接著根據(jù)優(yōu)先權(quán)的大小先后填充。在匹配塊的搜索空間,采用局部窗口搜索,大大縮短了修復(fù)時間。然而,該算法仍然存在著一定局限性:首先,局部窗口不能完全找到最匹配的塊,如果沒有局部特性的圖像或者有明顯跳變結(jié)構(gòu)的圖像修復(fù)都會失??;其次, 圖像的破損區(qū)域周圍必須有大量的樣本塊,以滿足待修復(fù)區(qū)域內(nèi)的結(jié)構(gòu)和紋理傳播。所以,在今后的工作中,應(yīng)該對該算法的局限性進行逐步改進,擴大它的應(yīng)用范圍,使其能夠應(yīng)用到視頻和網(wǎng)格的修復(fù)工作當(dāng)中。
參考文獻
[1] BERTALMIO M, SAPIRO G, CASELLES V,et al. Image inpainting[A]. In: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 nontexture inpainting [J]. SlAM Journal of Applied Mathematics,2001,62(3):1019-1043.
[3] EFROS A A, FREEMAN W T. Image quilting for texture synthesis and transfer[A]. Computer Graphics Proceedings, Annual Conference Series, ACM SIGGRAPH[C]. Los Angeles,2001:341-347.
[4] BCAALMIO M, VESE L, SAPIRO G, et a1.Simultaneous texture and structure image inpainting[J].IEEE Transactions on Image Processing,2003,12(8):882-889.
[5] CRIMINISI A,PEREZ P, TOYAMA K. Object removal by exemplar-based inpainting[A]. in:Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition[C]. Monona Terrace Convention Center Madison,Wisconsin,USA,2003,2:18-20.
[6] 魏琳,陳秀宏.基于紋理方向的圖像修復(fù)算法[J]. 計算機應(yīng)用,2008,9(28):2315-2317.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。