張慧娟
(武漢東湖學(xué)院 電子信息工程學(xué)院 ,湖北 武漢 430212)
迄今為止,數(shù)字圖像修復(fù)技術(shù)的研究與應(yīng)用主要分為“基于變分PDE模型的數(shù)字圖像修復(fù)”和“基于紋理合成的數(shù)字圖像修復(fù)”兩大技術(shù)。
A.Criticism算法是“基于樣本的紋理合成修復(fù)技術(shù)”中較為經(jīng)典的一種算法,它與其他修復(fù)算法相比,修復(fù)速度更快,修復(fù)質(zhì)量更好,特別是對大面積的缺損圖像進(jìn)行修復(fù)時(shí),其優(yōu)點(diǎn)更為突出。因此,A.Criticism算法在圖像修復(fù)、視頻修復(fù)等領(lǐng)域中受到了廣泛的應(yīng)用。
A.Criticism算法的主要步驟如下:第一,計(jì)算塊的優(yōu)先權(quán)。p點(diǎn)的優(yōu)先權(quán)P(p)=C(p)D(p),C(p)為置信度項(xiàng),D(p)為數(shù)據(jù)項(xiàng)。第二,搜索最佳匹配塊并填補(bǔ)缺損塊。A.Criticism采用了全局搜索的方法,在未破損區(qū)域內(nèi)搜索與待補(bǔ)全塊相似度最高的塊。第三,更新置信度值。P贊塊內(nèi)填充了新的像素之后,原先的這個缺損的塊就變成修補(bǔ)好的塊,成為新一次修復(fù)過程的未缺損區(qū)域,此時(shí)這個塊內(nèi)“像素點(diǎn)的置信度要及時(shí)更新”。經(jīng)過這三個步驟后,一次修補(bǔ)過程完成。反復(fù)進(jìn)行這個過程,直至整個破損區(qū)域填充完畢,結(jié)束執(zhí)行。
A.Criticism算法利用缺損區(qū)域邊界的等照度線方向與法向之間的角度,來確定修復(fù)順序,保證缺損區(qū)域的結(jié)構(gòu)部分先于紋理部分被填充。但經(jīng)分析發(fā)現(xiàn),隨著填充的不斷進(jìn)行,置信度值C(p)會下降很快,甚至可能下降為零。此時(shí),優(yōu)先權(quán)的計(jì)算就不盡合理,最終導(dǎo)致修復(fù)順序發(fā)生錯誤,進(jìn)而影響圖像的修復(fù)質(zhì)量。
圖1是采用A.Criticism算法修復(fù)一幅破損圖像的中間過程。圖中,綠色表示破損區(qū)域,從左到右排列的五幅圖,依次表示圖像從修復(fù)初期到修復(fù)后期的過程。由圖可知,隨著修復(fù)的不斷深入,綠色區(qū)域逐漸產(chǎn)生斷裂,最后,一個完整的缺損塊慢慢分成許多小的缺損塊,分別進(jìn)行著修復(fù)。這個過程,是通過編程,讓計(jì)算機(jī)自動執(zhí)行的。
人為修復(fù)這幅圖片,更多的會按圖2所示的過程進(jìn)行,這更符合人的視覺感知及操作習(xí)慣。特別是對大面積破損區(qū)域進(jìn)行修復(fù)時(shí),修復(fù)效果更好。
圖1 A.Criticism算法修復(fù)破損圖像的中間過程
圖2 人工修復(fù)破損圖像的中間過程
因此,若能做到以下兩點(diǎn):第一,修復(fù)順序從缺損區(qū)域邊界向缺損區(qū)域內(nèi)擴(kuò)散;第二,修復(fù)過程保持前后連貫和一致,盡量減少斷裂現(xiàn)象;則在修復(fù)大面積的破損區(qū)域時(shí),會取得良好的修復(fù)質(zhì)量。A.Criticism算法能夠保證第一點(diǎn),要在A.Criticism算法的基礎(chǔ)上實(shí)現(xiàn)第二點(diǎn),就需要對修復(fù)優(yōu)先權(quán)公式進(jìn)行改進(jìn)。
數(shù)據(jù)項(xiàng)D(p)包含了缺損邊界像素的等照度線方向和法向,決定著修復(fù)進(jìn)行的方向。如果給D(p)加入一個權(quán)值系數(shù)λ,使D(p)在后期的修復(fù)過程中起的作用更大,并且,這個權(quán)值系數(shù)還要動態(tài)的發(fā)生遞增的變化,這樣,才能夠?qū)崿F(xiàn)修復(fù)順序連續(xù)不間斷的朝著同一個方向有序進(jìn)行,符合人工修復(fù)的習(xí)慣。
式中,GetTickCount()是程序運(yùn)行后計(jì)算機(jī)的系統(tǒng)時(shí)刻,begintime是程序開始運(yùn)行時(shí)計(jì)算機(jī)最初的系統(tǒng)時(shí)刻,兩者的差即是修復(fù)所進(jìn)行的時(shí)間。因?yàn)橛?jì)算機(jī)的系統(tǒng)時(shí)間采用ms級計(jì)數(shù),而執(zhí)行一幅幾百乘幾百的ftp圖像大約要進(jìn)行幾萬ms到幾十萬ms,因此,兩者的差值還要除以10000,以保證k的值波動不會太大。同時(shí),為保證遞增權(quán)值算子的值不為零,k中還引入一個修正常數(shù)γ,這里令γ=1.05。這時(shí)D(p)變?yōu)?γ·D(p),作為修復(fù)優(yōu)先權(quán) P(p)的結(jié)構(gòu)信息量,和 C(p)一起,決定破損區(qū)域邊界像素點(diǎn)的修復(fù)優(yōu)先權(quán)。
對大量大塊面積的缺損圖像進(jìn)行仿真實(shí)驗(yàn)后,驗(yàn)證了該遞增權(quán)值算子是簡單有效,切實(shí)可行的。
圖3、圖4是利用改進(jìn)算法修復(fù)缺損圖像的兩個例子。
圖3 去除照片上的劃痕
圖4 去除照片上人物的特效制作
本文討論了在修復(fù)一副較大面積的破損圖像時(shí),為了能夠得到更好更合理的修復(fù)順序,引入遞增權(quán)值算子,增強(qiáng)了修復(fù)后期結(jié)構(gòu)信息量D(p)在確定缺損區(qū)域邊界像素的修復(fù)優(yōu)先權(quán)時(shí)的作用。
通過對大量較大面積的破損圖像進(jìn)行仿真實(shí)驗(yàn),驗(yàn)證了“引入遞增權(quán)值算子λ實(shí)現(xiàn)更好的修復(fù)順序”的改進(jìn)算法是切實(shí)可行的,與A.Criticism算法比起來,它獲得了更好的視覺感觀,使圖像的修復(fù)質(zhì)量得到很大改善。
本節(jié)所有的實(shí)驗(yàn)在配置為WindowsXP-2002版本、CPU 2.40Thu、RAM 512MB,仿真環(huán)境為Microcode Visual C++6.0的計(jì)算機(jī)上進(jìn)行。
[1]Criticism A,We're P,and Toward K.Region filling and object removal by exemplar-based image initiating[J].IEEE Transactions on Image Processing,2004,13(9):1200-1212.
[2]張偉彬.基于修復(fù)順序的圖像修復(fù)算法[J].計(jì)算機(jī)工程與應(yīng)用,2008,44(22):195-196.
[3]張紅英.數(shù)字圖像修復(fù)技術(shù)的研究與應(yīng)用[D]成都:電子科技大學(xué),2006.