胡云康 姜蘇 吳志榮 楊晨霞 朱龍飛 戴磊
摘要:本文首先介紹了圖像修復(fù)領(lǐng)域中的Criminisi算法,針對這種算法的不足,從優(yōu)先級的運算、最優(yōu)匹配塊的搜索和置信值的更新三個方面進行改進。實驗結(jié)果表明,改進算法的修復(fù)效果比原算法有了進一步的提高,更符合人類視覺系統(tǒng)的特征。
關(guān)鍵詞:圖像修復(fù);優(yōu)先級;最優(yōu)匹配塊;置信值
中圖分類號:TP391.41 文獻標識碼:A DOI:10.3969/j.issn.1003-6970.2016.04.016
0 引言
數(shù)字圖像虛擬修復(fù)是指對那些局部數(shù)據(jù)信息完全丟失的圖像進行修補,以恢復(fù)其完整性和原有的視覺效果,并使觀察者無法覺察到圖像曾經(jīng)缺損或己被修復(fù)。由于該技術(shù)不需要直接處理原作,可以根據(jù)需求反復(fù)調(diào)整,最終再確定采用何種修復(fù)方法,因此安全可靠,具有很高的實用價值。近年來研究表明,計算機輔助的數(shù)字化保護和修復(fù)古代藝術(shù)作品取得了一定進展,這種方法在排除損壞文物的危險性的基礎(chǔ)上,還具有效率高、可重復(fù)性等傳統(tǒng)方法所沒有的優(yōu)點。計算機的操作不僅提高了工作效率,甚至可以完成以前某些無法完成的工作。隨著計算機技術(shù)的發(fā)展,數(shù)字圖像修復(fù)技術(shù)可以應(yīng)用到很多方面。首先,文物在保存時,不可避免會受到環(huán)境、人為等因素的影響,進而產(chǎn)生霉斑、劃痕、破損等,為了保持作品完好的視覺效果,要對這些文物和藝術(shù)作品進行修復(fù),以往主要通過專業(yè)人士進行手工修復(fù),這對人們的技術(shù)性要求非常高,同時它也是一項具有高風險的任務(wù),因為文物和藝術(shù)作品極其珍貴,如果修復(fù)失誤,將造成難以彌補的損失。加之修復(fù)大量有損傷的文物需要耗費大量的時間和人力財力,傳統(tǒng)修復(fù)方法的特殊性和局限性,使得文物的保護修復(fù)工作進展緩慢。我們可以借助于數(shù)字圖像修復(fù)技術(shù)對這些文物數(shù)字照片先進行虛擬修復(fù),為文物的實物修復(fù)提供參考。另外,在一些檔案老照片的保護上,老照片存放時間過長會存在一些折痕或烏跡,也可以借助數(shù)字圖像修復(fù)技術(shù)進行修復(fù),當然還有一些計算機特效處理以及一些富含玟理特征的照片的生成,都可以利用數(shù)字圖像修復(fù)技術(shù)得到很好的修復(fù)效果。所以將數(shù)字圖像修復(fù)技術(shù)應(yīng)用到文物修復(fù)領(lǐng)域中,成為傳統(tǒng)文物修復(fù)算法的一個新趨勢。
在當前圖像修復(fù)技術(shù)中,比較經(jīng)典的兩大類是:圖像潤飾(inpainting)的方法和基于紋理合成的圖像修復(fù)方法。圖像潤飾方法首先由Bertalmio等人引入到數(shù)字圖像,使用基于偏微方程(PDE)的修復(fù)模型。基于此思想的方法還有Chan提出的整體變分(YV)模型以及基于曲率驅(qū)動擴散(CCD)模型等。圖像潤飾適合修復(fù)有小瑕疵的圖像,但修復(fù)較大區(qū)域效果模糊,且對紋理較強的破損區(qū)域修復(fù)效果差。本文所使用的是基于紋理合成的圖像修復(fù)算法?;诩y理合成的圖像修復(fù)方法中最經(jīng)典的算法是由Criminisi等人提出,該算法在基于樣本的紋理合成算法基礎(chǔ)上再融合圖像潤飾結(jié)構(gòu)擴散的特點,修復(fù)效果較好,適用于修復(fù)大面積的破損。在此基礎(chǔ)上的改進主要有小波變換的圖像修復(fù),利用鄰域特性的圖像修復(fù)和基于匹配塊的圖像修復(fù)算法等。本文在分析了圖像修復(fù)技術(shù)中的Criminisi算法后,針對它的不足,提出一種新的改進算法。
1.1.3 更新置信值
第一優(yōu)先級的計算,隨著填充過程的進行,模板數(shù)據(jù)值會迅速下降零,這樣使得計算出的優(yōu)先級不可靠。
第二采用全局搜索算法來尋找最優(yōu)匹配塊,這樣不但會產(chǎn)生錯誤匹配,而且還會使填充速度變慢。
第三置信值的計算,對破損區(qū)域內(nèi)原有的像素點和填充上去的像素點進行相同處理,算法容易導(dǎo)致修復(fù)效果越來越差,從而形成它的貪婪性。
1.2 算法存在的問題
Criminisi算法的缺陷主要表現(xiàn)在三個方面:第一優(yōu)先級的計算,隨著填充過程的進行,模板數(shù)據(jù)值會迅速下降到零,這樣計算出的優(yōu)先級不可靠。因此,會出現(xiàn)錯誤的填充順序,并且會影響修復(fù)效果。第二采用全局搜索算法來尋找最優(yōu)匹配塊,這樣不但會產(chǎn)生錯誤匹配,而且還會使其填充速度變慢。第三置信值的計算,對破損區(qū)域內(nèi)原有的像素點和填充上去的像素點進行相同處理,也就是說破損區(qū)域原有的像素點和填充上去的像素點可靠性一樣高,沒有考慮到本次修復(fù)的效果,該算法容易導(dǎo)致修復(fù)效果越來越差。
1 Criminisi算法簡介及存在問題
1.1 Criminisi算法簡介
Criminisi算法核心是基于樣本的紋理合成,該算法主要包含以下4個步驟:1.1.1 計算優(yōu)先級
優(yōu)先級的大小取決于兩部分因素:一部分是該模板的數(shù)據(jù)值,它反映了模板的結(jié)構(gòu)信息強弱,從而保證線性結(jié)構(gòu)部分的優(yōu)先合成;另一部分是模板的置信度值,要求優(yōu)先填充那些含已填充像素較多部分的模板,因為填充這樣的模板可以依賴更多的已知像素。公式如下:
P(p)=C(p)D(p) (1)
(2)C(p)表示模板的置信度值,D(p)表示模板的數(shù)據(jù)值,C(q)表示模板內(nèi)像素點的置信值
1.1.2 擴散紋理和結(jié)構(gòu)信息
從源區(qū)域取樣,尋找和該模板最匹配的模板,搜索整幅圖像的已知信息區(qū)域后,找到SSD(顏色平方差的和)最小的模板即為最優(yōu)匹配模板,將相應(yīng)的像素點復(fù)制填充到目標區(qū)域的模板中
2 算法改進
2.1 優(yōu)先級計算的改進
原算法用乘積的形式?jīng)Q定優(yōu)先權(quán),在修復(fù)的過程中,如果數(shù)據(jù)為0,那么置信值信度項很高由于優(yōu)先級為零也不能得到優(yōu)先修復(fù)。并且在修補過程中如果多個范本塊的D(p)同時為零,會使它們的優(yōu)先級也都為零,從而使C(p)值失去了意義。
綜上所述,使用原算法計算優(yōu)先值并不準確,所以將優(yōu)先級的計算改為如下公式:
(3)
公式中α和β為調(diào)節(jié)參數(shù)(實驗中,取α=0.382,β=0.618),不考慮c(p)為零的情況(實際p點位于填充輪廓在線,待修復(fù)模版置信度值不會為零)。這樣能保證當數(shù)據(jù)項為零時,只要置信度項足夠高,也可以得到優(yōu)先修復(fù)。
2.2 匹配區(qū)域及最優(yōu)匹配塊的改進
對于根據(jù)優(yōu)先權(quán)值確定的當前待修復(fù)點p,它在上述確定的匹配區(qū)域中搜索匹配點的方式為,以點p為中心,順序搜索與p的棋盤距離為n(1≤n≤max,n∈N)的各點作為匹配點,并依次以這些點為中心生成候選塊與待修復(fù)塊做SSD計算,直至搜索完匹配區(qū)域。這樣的搜索方式使得匹配塊搜索是由近及遠,對于最優(yōu)匹配塊的選擇也是優(yōu)先考慮距離p點最近的顏色差距值最小的匹配塊。搜索中,直接對第一次搜索到的顏色差距值最小的候選塊作記錄,并將其作為最優(yōu)匹配塊,復(fù)制其信息到待修復(fù)塊相應(yīng)位置,得到的修復(fù)結(jié)果與其鄰域的相關(guān)性較大,也更加符合視覺上的效果。
2.3 置信值的改進
Criminisi算法在對破損圖像的模板更新時,只要是已經(jīng)修復(fù)的區(qū)域,就將修復(fù)好的像素置信值置為1。這也意味著在下次計算模版的C(p)時,不論是原圖像上的非破損像素點還是經(jīng)過修補之后的像素點的C(q)都是1,這樣也就相當于修補之后的像素點和原圖的非破損區(qū)域的像素點同樣可靠。算法修補一個模板后更新邊界,極有可能導(dǎo)致新邊界上優(yōu)先級最大的點就處于剛填充的范本中,然后繼續(xù)向內(nèi)部延伸。算法循環(huán)中如果某個模板被填充了不符合視覺效果的顏色信息,會導(dǎo)致不合理的顏色信息繼續(xù)延伸下去,最終導(dǎo)致修復(fù)的視覺效果不佳。
為了克服以上不足,本算法特設(shè)定一顏色閾值T。閾值T的確定,根據(jù)計算具體圖像修復(fù)模板對應(yīng)的SSD的值來確定。
(5)
上述公式中,如果最優(yōu)匹配范本對應(yīng)的SSD值小于閾值T,說明其可信度高,則待修補像素的置信值,用源圖像模板對應(yīng)像素點的置信值直接更新。如果SSD的值大于T,說明其相對于源區(qū)域中的信息來說可信度值進行更新。如匹配前某優(yōu)先級最大的范本置信度值為0.68,則匹配后其剩余待修補像素點的置信值都置為0.68。這樣保證在不斷修補的過程中越是深入待修補區(qū)域的內(nèi)部,可信度就越低,這符合一般規(guī)律。可信度越低,最后得到的優(yōu)先級P(p)就越低,填充時應(yīng)該盡量尋找整體置信度比較高的匹配模塊對待修復(fù)區(qū)域進行填充,這就保證了圖像修復(fù)的順序基本上是從外圍向中間修復(fù)。
3 實驗結(jié)果分析
本文算法采用Visual C++6.0開發(fā)平臺,算法中取α=0.382,B=0.618,顏色閾值T取為11,以下是效果圖對比:
圖1(a)這幅照片因年代久遠,有明顯的白色折痕,以照片中中間那位女士為修復(fù)對象,將折痕部分標記出來,如圖41(b),圖1(c)則是應(yīng)用Criminisi算法修復(fù)后的圖片,圖1(d)是本文算法修復(fù)后的效果圖。經(jīng)過對比,可以明顯看出本文算法修復(fù)效果比較完整,無明顯折痕。
圖2(a)是一個破損文物的圖像,我們將其裂痕標記出來如圖2(b),采用兩種算法進行修復(fù),圖2胡云康等:基于改進的紋理合成圖像修復(fù)算法(c)是Criminisi算法修復(fù)后的效果圖,可以明顯看出有一處裂縫沒有修復(fù)好,本文算法修復(fù)效果如圖2(d),修復(fù)效果比較自然,無明顯瑕疵。
實驗中分別統(tǒng)計了圖1、圖2中圖像缺失像素的個數(shù)和兩種箅法修復(fù)需要的時間,如表l所示。
4 結(jié)論
數(shù)字圖像修復(fù)技術(shù)是當下較新的研究課題,本文主要研究了基于紋理合成的數(shù)字圖像修復(fù),通過實驗結(jié)果的數(shù)據(jù)列出以下幾點總結(jié):(1)系統(tǒng)采用基于Criminisi的圖像修復(fù)算法進行改進,算法先進,修復(fù)效果好;(2)算法從優(yōu)先級的運算、匹配區(qū)域及最優(yōu)匹配塊的搜索和置信值更新三個方面進行改進;改進算法的修復(fù)效果會比原算法有進一步的提高,更符合人類視覺系統(tǒng)的特征;(3)算法采用Visual C++6.0開發(fā)平臺,便于圖像處理,同時改進算法由于只是在局部進行修復(fù)運算,大大減少了修復(fù)時間;對于缺損區(qū)域在10000像素以內(nèi)的真彩圖像,修復(fù)時間基本控制在10秒內(nèi);(4)系統(tǒng)接口直觀,交互性好,能實時顯示圖像修復(fù)過程,突破了以往圖像修復(fù)軟件只顯示圖像最終修復(fù)結(jié)果的局限性。