侯海娜, 戴 芳, 楊陳東
1(西安理工大學(xué) 理學(xué)院, 西安 710054)2(西安航空學(xué)院 理學(xué)院, 西安 710077)
結(jié)合網(wǎng)函數(shù)插值與TV模型的圖像修復(fù)算法①
侯海娜1, 戴 芳1, 楊陳東2
1(西安理工大學(xué) 理學(xué)院, 西安 710054)2(西安航空學(xué)院 理學(xué)院, 西安 710077)
TV(Total Variation)模型用于圖像修復(fù)時(shí)沒(méi)有考慮缺損區(qū)域的方向信息, 并且存在收斂速度緩慢以及修復(fù)質(zhì)量較低等問(wèn)題. 針對(duì)圖像上方向特征明顯的條狀缺損區(qū)域, 提出帶方向的TV圖像修復(fù)算法(ADTV). 該算法分別針對(duì)4種方向(0度、45度、90度、135度)對(duì)TV算法離散格式進(jìn)行改進(jìn), 并引入方向判斷, 將缺損區(qū)域歸類(lèi)到此4種方向進(jìn)行修復(fù). 實(shí)驗(yàn)結(jié)果表明, 該算法充分利用了條狀缺損區(qū)域的方向信息, 有效提高了圖像修復(fù)質(zhì)量.為提高修復(fù)效率, 將網(wǎng)函數(shù)插值分別與TV算法、ADTV算法相結(jié)合提出Net-TV算法、Net-ADTV算法. 實(shí)驗(yàn)結(jié)果表明, 結(jié)合算法不但有效減少了迭代次數(shù), 降低了時(shí)間成本, 加快了收斂速度, 而且提高了圖像修復(fù)效果.
TV模型; 網(wǎng)函數(shù)插值; 圖像修復(fù)
圖像修復(fù)[1]是圖像處理的重要內(nèi)容, 通過(guò)對(duì)圖像上的信息缺損區(qū)域進(jìn)行填充, 使修復(fù)結(jié)果符合人眼視覺(jué)連通原理. 基于TV模型[2]的圖像修復(fù)方法由于容易實(shí)現(xiàn)且能夠保護(hù)圖像邊緣的優(yōu)勢(shì)而成為當(dāng)前應(yīng)用最廣泛、最成功的修復(fù)算法之一. TV模型的思想是利用物理學(xué)中的熱擴(kuò)散原理將待修復(fù)區(qū)域周?chē)囊阎畔⒀由斓饺睋p區(qū)域內(nèi)部, 通過(guò)建立能量泛函, 用變分法最小化該能量泛函, 從而對(duì)圖像的缺損區(qū)域進(jìn)行修復(fù).但該算法擴(kuò)散性能低, 在修復(fù)圖像上較大的缺損區(qū)域時(shí), 不能滿足人眼視覺(jué)連通原理, 在圖像平坦區(qū)域容易產(chǎn)生階梯效應(yīng), 且收斂速度緩慢. 針對(duì)TV模型擴(kuò)散性能低的問(wèn)題, Li等[3]通過(guò)構(gòu)建高階偏微分方程提高模型擴(kuò)散性能以修復(fù)較大的缺損區(qū)域, 并取得較好效果, 但計(jì)算量大、修復(fù)速度慢. 林云莉等[4]通過(guò)改進(jìn)TV模型, 使算法在圖像特征明顯區(qū)域采用各向異性擴(kuò)散, 而在圖像平坦區(qū)域采用各向同性擴(kuò)散, 有效避免了階梯效應(yīng)的產(chǎn)生, 但在圖像細(xì)節(jié)修復(fù)上仍不能令人滿意. Ren等[5]通過(guò)對(duì)用于求解TV模型的交替方向乘子法進(jìn)行改進(jìn), 使得具體的數(shù)值求解采用快速傅里葉變換方法, 算法有效加快了修復(fù)速度. 王相海等[6]通過(guò)對(duì)TV模型的擴(kuò)散項(xiàng)引入方向梯度和邊緣引導(dǎo)函數(shù)以確定待修復(fù)點(diǎn)紋理走向, 有效保護(hù)圖像邊緣信息,但離散過(guò)程復(fù)雜. 翟東海等[7]提出的TV雙十字算法采用待修復(fù)像素鄰域8個(gè)點(diǎn)的信息進(jìn)行修復(fù), 有效提高了修復(fù)后的圖像質(zhì)量, 但時(shí)間成本高.
網(wǎng)函數(shù)插值法[8]是一種多變?cè)瘮?shù)的插值法. 網(wǎng)函數(shù)插值算子是借助Lagrange算子, 定義在網(wǎng)函數(shù)空間的線性算子. 對(duì)于網(wǎng)函數(shù)空間中的函數(shù), 用網(wǎng)函數(shù)插值算子計(jì)算得到的值是準(zhǔn)確值, 而且結(jié)構(gòu)簡(jiǎn)單, 便于計(jì)算機(jī)操作. 在重力勘探區(qū)域場(chǎng)校正[9]、植物群落種群分布格局計(jì)算機(jī)模擬[10]、圖像恢復(fù)[11]、圖像Bowtie效應(yīng)修正[12]等方面網(wǎng)函數(shù)插值法都有著有效應(yīng)用, 并顯示出其優(yōu)越性.
本文針對(duì)TV修復(fù)模型收斂速度慢及修復(fù)質(zhì)量較低的問(wèn)題, 對(duì)缺損區(qū)域設(shè)置4種不同方向, 并推導(dǎo)相應(yīng)的離散格式, 提出帶方向的TV改進(jìn)算法, 并將其與網(wǎng)函數(shù)插值法相結(jié)合對(duì)缺損圖像進(jìn)行修復(fù). 本文算法能夠有效進(jìn)行圖像修復(fù), 而且收斂速度快. 實(shí)驗(yàn)結(jié)果驗(yàn)證了算法的有效性.
2.1 TV修復(fù)算法
基于TV模型的圖像修復(fù)算法, 最先由Rudin等人將應(yīng)用于圖像去噪領(lǐng)域的全變分模型[13]推廣得到. 其主要思想是構(gòu)造一個(gè)能量泛函, 通過(guò)變分法求解此最小能量泛函對(duì)圖像的缺損區(qū)域進(jìn)行修復(fù), 能量越小, 圖像就越平滑. 不考慮噪聲時(shí), TV模型能量函數(shù)定義為式(1):
其中,u為待修復(fù)圖像,D表示圖像缺損區(qū)域, ?u表示圖像的梯度,為圖像梯度的模值. 根據(jù)變分原理,J(u)取極小值所滿足的Euler-Lagrange方程為:
如圖1所示, 待修復(fù)像素點(diǎn)O的4鄰域?yàn)锳={E,N,W,S},A'={e,n,w,s}為對(duì)應(yīng)的4鄰域半像素點(diǎn)集合. 由差分迭代法離散(2)式得到
最終求得的uO為:
圖1 待修復(fù)點(diǎn)O及其鄰域像素點(diǎn)示
式中uP代表A={E,N,W,S}四個(gè)點(diǎn)的像素值,up代表A'={e,n,w,s}四個(gè)半像素點(diǎn)的像素值,uO為中心像素點(diǎn)O的更正值.
2.2 網(wǎng)函數(shù)插值
用于圖像修復(fù)的網(wǎng)函數(shù)插值法, 僅利用包含缺損區(qū)域最小矩形Ω的4條邊界信息, 不依賴鄰域相關(guān)性, 就可將缺損區(qū)域修復(fù), 修復(fù)后圖像具有較好的保真度[11]. 如圖2, 記矩形Ω的4個(gè)頂點(diǎn)為P1(x0,y0),P2(x1,y0),P3(x1,y1),P4(x0,y1).假設(shè)Q(x,y)為Ω內(nèi)任意一個(gè)點(diǎn), 過(guò)點(diǎn)Q作矩形Ω的邊界?Ω的平行線, 平行線與Ω的四條邊相交于四個(gè)點(diǎn):Q1(x,y0),Q2(x1,y),Q3(x,y1),Q4(x0,y).過(guò)點(diǎn)Q的平行線將矩形Ω分成四個(gè)小矩形, 小矩形的面積記作Ai(i=1,2,3,4), 如圖2所示. 矩形Ω的面積記作A.如果f(x,y)在邊界?Ω上是已知連續(xù)的函數(shù), 則網(wǎng)函數(shù)插值式為:
其中記A5≡A1.
對(duì)于相當(dāng)廣泛的函數(shù)類(lèi)f(x,y), 網(wǎng)函數(shù)插值結(jié)果F(x,y)是精確的, 其中(x,y)表示矩形內(nèi)點(diǎn)Q的坐標(biāo).對(duì)于其它函數(shù)f(x,y),F(x,y)≈f(x,y), 即F(x,y)為f(x,y)的近似值, 且誤差與Ω的面積大小有關(guān), Ω的面積越小, 誤差越小. 所以, 式(5)可以用于圖像數(shù)據(jù)修復(fù), 只要所取的區(qū)域Ω的面積充分小[11]. 本文取矩形Ω為3×3的正方形,Q為正方形的中心, 這樣點(diǎn)Q就與圖像上待修復(fù)點(diǎn)O重合, 正方形邊界上各點(diǎn)與點(diǎn)O的鄰域相對(duì)應(yīng), 對(duì)應(yīng)關(guān)系如圖1所示. 將待修復(fù)點(diǎn)鄰域8個(gè)點(diǎn)代入網(wǎng)函數(shù)插值公式(5)進(jìn)行修復(fù), 此時(shí)式(5)中Ai=1(i=1,2,3,4),A=4, 式(5)變?yōu)橄率?
經(jīng)式(6)多次循環(huán)修復(fù)后, 缺損區(qū)域周?chē)畔U(kuò)散到缺損區(qū)域內(nèi)部. 可以看出, 網(wǎng)函數(shù)插值只需進(jìn)行2次乘法運(yùn)算和7次加法運(yùn)算, 計(jì)算量很小. 因此, 本文利用網(wǎng)函數(shù)插值對(duì)圖像缺損區(qū)域進(jìn)行修復(fù), 既可以提高運(yùn)算效率, 又可以保證圖像修復(fù)效果.
圖2 矩形Ω示意圖
3.1 帶方向的TV圖像修復(fù)算法
V模型在離散過(guò)程中只考慮了待修復(fù)點(diǎn)鄰域4個(gè)點(diǎn)的信息, 如式(4),uO是由鄰域四點(diǎn)像素值加權(quán)平均得到, 并且沒(méi)有考慮待修復(fù)區(qū)域方向信息. 由于信息較少, 其修復(fù)結(jié)果精度并不高. 事實(shí)上, 修復(fù)區(qū)域方向信息對(duì)修復(fù)結(jié)果具有很大影響. 本文針對(duì)0度、45度、90度、135度四種方向條狀待修復(fù)區(qū)域構(gòu)造相應(yīng)的TV離散格式, 并將其它方向條狀待修復(fù)區(qū)域歸結(jié)到此四種改進(jìn)TV模型進(jìn)行修復(fù). 由于在離散過(guò)程中考慮更多的信息可以有效提高修復(fù)精度, 這四種離散格式均采用待修復(fù)點(diǎn)鄰域6點(diǎn)構(gòu)造得到. 將此算法稱(chēng)為帶方向的TV修復(fù)算法, 簡(jiǎn)稱(chēng)ADTV算法.
由于圖像缺損區(qū)域內(nèi)部的信息是不準(zhǔn)確的, 如果在修復(fù)過(guò)程中仍然利用這些不準(zhǔn)確的信息對(duì)圖像缺損區(qū)域進(jìn)行填充, 顯然將導(dǎo)致修復(fù)結(jié)果不佳. 對(duì)于不同方向的缺損區(qū)域, 可以通過(guò)設(shè)計(jì)算法巧妙地避免使用不精確點(diǎn)的信息. 根據(jù)缺損區(qū)域的不同方向, 分別利用待修復(fù)點(diǎn)周?chē)煌?個(gè)點(diǎn)的信息對(duì)中心像素點(diǎn)進(jìn)行修復(fù). 針對(duì)0度、45度、90度、135度四種方向的缺損區(qū)域, 依次構(gòu)造出TV0度算法、TV45度算法、TV90度算法、TV135度算法四種子算法. 此四種子算法進(jìn)行修復(fù)時(shí)采用的6個(gè)點(diǎn)的分布情況如圖3所示.容易看出, 各個(gè)子算法所采用6個(gè)點(diǎn)均呈現(xiàn)出了明顯的方向特征. 以下對(duì)ADTV算法中4個(gè)子算法的離散格式進(jìn)行詳細(xì)推導(dǎo).
圖3 ADTV算法鄰域示意圖
3.1.1 ADTV算法離散方式
a. TV0度算法
對(duì)于0度方向的缺損區(qū)域,W,E兩點(diǎn)正處于缺損區(qū)域內(nèi)部, 信息不準(zhǔn)確, 因此在對(duì)TV模型進(jìn)行離散時(shí), 分別利用此兩點(diǎn)上下鄰域的像素平均值來(lái)代替其真實(shí)像素值, 即
離散過(guò)程與原TV模型一致. 將式(7)代入式(4),可以推導(dǎo)出TV0度算法公式:
由式(8)可以看出, TV0度算法公式是采用{NW,N,NE,SW,S,SE}6個(gè)點(diǎn)的信息對(duì)待修復(fù)點(diǎn)O進(jìn)行修復(fù), 并且利用缺損區(qū)域的方向信息有效地避免了不精確點(diǎn)W,E對(duì)結(jié)果的影響.
b. TV90度算法
對(duì)于90度方向的缺損區(qū)域, 與0度方向的情況類(lèi)似. 由于N,S信息不準(zhǔn)確, 分別用其左右鄰域的像素平均值來(lái)代替其真實(shí)像素值, 即
從而推導(dǎo)出TV90度算法公式:
由式(10)可以看出, TV90度算法公式是采用{NW,W,SW,NE,E,SE} 6個(gè)點(diǎn)的信息對(duì)待修復(fù)點(diǎn)O進(jìn)行修復(fù), 避免了不精確點(diǎn)N,S對(duì)結(jié)果的影響.
c. TV45度算法
對(duì)于45度方向的缺損區(qū)域,NE,SW兩點(diǎn)的信息往往不準(zhǔn)確, 因此利用{NW,N,W,S,E,SE}這6個(gè)像素點(diǎn)對(duì)O點(diǎn)進(jìn)行修復(fù).
定義NW,NE,SE,SW四個(gè)點(diǎn)的半像素點(diǎn)分別為nw,ne,se,sw, 此四個(gè)半像素點(diǎn)均為虛擬點(diǎn),nw/2,ne/2,se/2,sw/2為其對(duì)應(yīng)的半像素點(diǎn)(對(duì)應(yīng)圖4中最內(nèi)側(cè)小正方形的四個(gè)頂點(diǎn)), 各點(diǎn)分布情況如圖4所示. 采用式(11)進(jìn)行近似:
圖4 待修復(fù)點(diǎn)O及鄰域虛擬點(diǎn)示意圖
利用nw,ne,se,sw四點(diǎn)對(duì)TV算法進(jìn)行離散, 具體而言, 令由差分表示為:
其中
的離散方式與Jne/2相同. 將式(11), 式(13)與式(14)代入式(12)得
d. TV135度算法
對(duì)于135度方向的缺損區(qū)域,NW,SE兩點(diǎn)信息往往不準(zhǔn)確, 在離散過(guò)程中采用{NE,N,E,S,W,SW}這6個(gè)像素點(diǎn)的信息. 離散過(guò)程與TV45度算法類(lèi)似, 可得到TV135度算法公式:
3.1.2 ADTV算法步驟
在進(jìn)行實(shí)驗(yàn)時(shí), 通常先人為地破壞原始圖像, 即用戶給定缺損區(qū)域的掩碼信息, 然后根據(jù)缺損區(qū)域周?chē)男畔? 利用圖像修復(fù)算法自動(dòng)填充缺損區(qū)域. ADTV算法的4個(gè)子算法是基于方向特征的圖像修復(fù)算法, 適于修復(fù)具有明顯方向特征的條狀缺損區(qū)域.因此需要先對(duì)實(shí)驗(yàn)圖進(jìn)行條狀劃痕破壞, 使每條劃痕均呈現(xiàn)出較為明顯的方向特征. 在利用ADTV算法進(jìn)行圖像修復(fù)之前, 需要先判斷出圖像上各缺損區(qū)域的方向.
本文采取的判斷方向的方法是: 找出每個(gè)缺損區(qū)域的質(zhì)心, 再分別計(jì)算質(zhì)心沿四個(gè)方向的線段長(zhǎng)度,取最長(zhǎng)線段對(duì)應(yīng)的角度作為該缺損區(qū)域的方向. 這樣處理可以使得所有的條狀缺損區(qū)域都?xì)w結(jié)于0°, 45°, 90°, 135°四個(gè)方向. 計(jì)算質(zhì)心)的公式如下:
其中(xi,yj)表示缺損區(qū)域內(nèi)點(diǎn)(i,j)的坐標(biāo). ADTV算法步驟如下:
Step1: 讀入缺損圖像u及原始圖像u0, 確定缺損區(qū)域.
Step2: 判斷圖像上每一個(gè)缺損區(qū)域的方向.
Step3: 根據(jù)當(dāng)前待修復(fù)點(diǎn)所在缺損區(qū)域的方向,選用相應(yīng)的子算法進(jìn)行修復(fù). 例如, 缺損區(qū)域方向?yàn)?5度, 則選用式(16)對(duì)像素值進(jìn)行更新, 并保存到新圖像中.
Step4: 判斷是否達(dá)到最大迭代次數(shù), 若是, 繼續(xù)修復(fù)下一個(gè)缺損區(qū)域, 否則, 返回執(zhí)行Step3.
3.2 結(jié)合網(wǎng)函數(shù)插值與TV模型的圖像修復(fù)算法
考慮到TV算法與第3.1節(jié)提出的ADTV算法雖然可以有效地保護(hù)圖像邊緣, 但需要多次循環(huán)后方能達(dá)到較好效果, 時(shí)間成本高. 而網(wǎng)函數(shù)插值法時(shí)間成本低, 但不能有效保護(hù)圖像邊緣. 因此, 研究此兩種算法的結(jié)合算法, 使其同時(shí)具有修復(fù)效果好和收斂速度快的特點(diǎn)是十分必要的. 本文將網(wǎng)函數(shù)插值法分別與TV模型、ADTV算法相結(jié)合, 提出Net-TV算法與Net-ADTV算法.
Net-TV算法在每一次迭代過(guò)程中, 都是對(duì)圖像缺損區(qū)域內(nèi)每一個(gè)點(diǎn)先執(zhí)行網(wǎng)函數(shù)插值式(6), 再執(zhí)行TV算法式(4). 結(jié)合算法可以利用網(wǎng)函數(shù)插值計(jì)算量小的特點(diǎn), 快速完成初步填充, 然后利用TV算法進(jìn)行各向異性擴(kuò)散, 完善圖像細(xì)節(jié). 這樣迭代一次后, 得到的更為精確的點(diǎn), 可以在下次迭代中得到進(jìn)一步的矯正. 從而經(jīng)多次迭代后, 得到更好的修復(fù)效果.
Net-TV算法的偽代碼如下:
Net-ADTV算法是先判斷缺損區(qū)域的方向, 并根據(jù)方向選取相應(yīng)的ADTV子算法. 同樣地, Net-ADTV算法在每一次迭代過(guò)程中, 都是對(duì)圖像缺損區(qū)域內(nèi)每一個(gè)點(diǎn)先執(zhí)行網(wǎng)函數(shù)插值式(6), 再執(zhí)行相應(yīng)的ADTV子算法. 具體算法流程如圖5.
設(shè)置最大迭代次數(shù)T, 對(duì)待修復(fù)圖像的每一個(gè)缺損區(qū)域按圖5的流程進(jìn)行修復(fù). 判斷圖像上缺損區(qū)域方向的方法與ADTV算法一致.
圖5 Net-ADTV算法流程圖
由3.1節(jié)內(nèi)容可以看到, ADTV算法比較適于修復(fù)圖像上方向特征明顯的條狀缺損區(qū)域, 局限性強(qiáng). 事實(shí)上, 圖像上的缺損區(qū)域往往并不是規(guī)則的, 對(duì)于這一類(lèi)含任意方向缺損區(qū)域的圖像, 顯然ADTV算法無(wú)法直接應(yīng)用. 若是先對(duì)缺損區(qū)域進(jìn)行分段, 用折線逼近, 再根據(jù)各段的方向, 利用ADTV算法解決, 可以作為對(duì)ADTV算法的一種擴(kuò)展. 當(dāng)然該方法仍有局限,預(yù)處理耗時(shí)多, 不容易滿足圖像處理的實(shí)時(shí)性要求.而Net-TV算法對(duì)圖像的缺損區(qū)域形狀沒(méi)有限制, 因此對(duì)于包含非規(guī)則條狀缺損區(qū)域的圖像, 可以采用Net-TV算法進(jìn)行修復(fù)處理.
本文實(shí)驗(yàn)環(huán)境: 2.70GHz Pentium(R) Dual-Core處理器、1.87GB內(nèi)存、Windows XP操作系統(tǒng)、MATLAB2010(a)開(kāi)發(fā)環(huán)境. 為驗(yàn)證本文提出的ADTV算法、Net-TV算法與Net-ADTV算法的修復(fù)效果, 將此3種算法與經(jīng)典的TV算法、文獻(xiàn)[7]中的雙十字TV算法進(jìn)行對(duì)比實(shí)驗(yàn). 對(duì)圖6中的兩幅缺損圖像分別采用五種算法迭代相同次數(shù)進(jìn)行修復(fù), 修復(fù)結(jié)果如圖7和圖8所示, 各算法修復(fù)后圖像相應(yīng)的PSNR值如表1所示. 圖7、圖8的1至5行分別表示TV算法、雙十字TV算法、ADTV算法、Net-TV算法、Net-ADTV算法迭代30次、50次、100次、300次時(shí)的修復(fù)效果.可以看出, 采用TV模型修復(fù)后的圖像, 經(jīng)多次迭代后圖像上仍然殘留有部分難以去除的痕跡, 影響視覺(jué)效果, 而且收斂速度緩慢. 雙十字TV算法是兩個(gè)TV算法的疊加, 修復(fù)后圖像較TV算法有更好的效果. Net-TV算法單次迭代效率高, 與雙十字TV算法修復(fù)效果相當(dāng). ADTV算法不但可以很好地去除圖像中的劃痕,而且比TV模型修復(fù)時(shí)收斂速度更快, 但可以明顯地看到ADTV算法在修復(fù)斜向區(qū)域時(shí)要比修復(fù)橫向或縱向缺損區(qū)域收斂速度慢. 而Net-TV算法、Net-ADTV算法在修復(fù)圖像時(shí)有效地解決了這一問(wèn)題, 甚至Net-ADTV算法只迭代50次就達(dá)到了很好的效果.
圖6 原圖像及缺損圖
從表1可以看出, ADTV算法與Net-TV算法比TV算法修復(fù)效果好, 同時(shí), 在達(dá)到相同修復(fù)效果時(shí)比TV算法迭代次數(shù)要少. 而Net-ADTV算法在保持修復(fù)效果的情況下, 進(jìn)一步減少了迭代次數(shù), 明顯優(yōu)于雙十字TV算法.
由于各個(gè)算法計(jì)算復(fù)雜度不盡相同, 迭代次數(shù)的多少不能完全說(shuō)明算法修復(fù)效率的高低, 因此需要引入時(shí)間成本對(duì)各算法進(jìn)行比較. 圖9和圖10分別為各算法在對(duì)兩幅圖像修復(fù)過(guò)程中, 消耗時(shí)間隨迭代次數(shù)變化曲線以及PSNR隨時(shí)間變化曲線. 在圖9中, TV算法與ADTV算法單次迭代時(shí)間相差不大, 而Net-TV算法與Net-ADTV算法單次迭代時(shí)間略高于其它兩種算法, 這是算法結(jié)合網(wǎng)函數(shù)插值的必然結(jié)果, 但仍然遠(yuǎn)低于雙十字TV算法單次迭代的時(shí)間. 從圖10中可以看出, 在相同時(shí)間成本下, Net-ADTV算法PSNR高于其它算法. 與此同時(shí), 當(dāng)PSNR達(dá)到同一水平時(shí), Net-ADTV算法用時(shí)最短, 這是由于Net-ADTV算法只需要迭代較少的次數(shù)就可以得到較高的質(zhì)量. 由于ADTV算法與Net-ADTV算法修復(fù)前需要判斷缺損區(qū)域方向信息, 所以圖10中曲線起初與橫軸保持平行,之后快速上升. 綜上所述, Net-ADTV算法雖然是通過(guò)增加單次迭代時(shí)間成本以提高修復(fù)質(zhì)量, 但只需要較少的迭代次數(shù), 從而降低了總體時(shí)間成本. 這表明, Net-ADTV算法不但修復(fù)效果好, 而且修復(fù)效率高.
本章通過(guò)對(duì)圖像缺損區(qū)域方向信息設(shè)置4種不同方向, 提出帶方向的TV圖像修復(fù)算法, 即ADTV算法,該算法繼承了TV算法能夠保護(hù)圖像邊緣等優(yōu)點(diǎn), 同時(shí)綜合缺損區(qū)域方向信息和待修復(fù)點(diǎn)鄰域6個(gè)點(diǎn)的信息, 有效提高了修復(fù)質(zhì)量, 但在修復(fù)斜向缺損區(qū)域時(shí)的收斂速度相對(duì)于橫向和縱向時(shí)慢了許多. 針對(duì)該問(wèn)題, 本文將TV算法、ADTV算法分別與網(wǎng)函數(shù)插值相結(jié)合提出Net-TV算法、Net-ADTV算法. 此兩種算法將網(wǎng)函數(shù)插值運(yùn)算效率高的特點(diǎn)很好地融合在TV算法與ADTV算法中, 在保持TV算法與ADTV算法修復(fù)效果的前提下, 有效減少了迭代次數(shù), 降低了時(shí)間成本, 從而加快了收斂速度. 但ADTV算法是基于四種方向的離散格式提出的, 只適合修復(fù)方向特征明顯的條狀缺損區(qū)域, 受圖像缺損區(qū)域形狀限制較大, 因此對(duì)于圖像上非規(guī)則的缺損區(qū)域, 可采用Net-TV算法進(jìn)行修復(fù).
圖7 各算法對(duì)缺損圖像B的修復(fù)效果比較
表1 各算法對(duì)缺損圖像A、B、C修復(fù)后PSNR結(jié)果
圖8 各算法對(duì)缺損圖像A的修復(fù)效果比較
圖9 各算法消耗時(shí)間隨迭代次數(shù)變化曲線
圖10 各算法PSNR隨時(shí)間變化曲線
1 Bertalmio M, Sapiro G, Caselles V, et al. Image inpainting. Annual Conference on Computer Graphics and Interactive Techniques. 2000. 417–424.
2 Shen J, Chan TF. Mathematical models for local nontexture inpaintings. SIAM Journal on Applied Mathematics, 2002, 62(3): 1019–1043.
3 Li P, Li SJ, Yao ZA, et al. Two anisotropic fourth-order partial differential equations for image inpainting. IET Image Processing, 2013, 7(3): 260–269.
4 林云莉,趙俊紅,朱學(xué)峰,等.改進(jìn)的TV 模型圖像修復(fù)算法.計(jì)算機(jī)工程與設(shè)計(jì),2010,(4):776–779.
5 Ren D, Zhang H, Zhang D, et al. Fast total-variation based image restoration based on derivative alternated direction optimization methods. Neurocomputing, 2015, 170: 201–212.
6 王相海,王爽,方玲玲.圖像修復(fù)的方向梯度TV模型研究.吉林師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,5(2):1–7.
7 翟東海,段維夏,魚(yú)江.基于雙十字TV模型的圖像修復(fù)算法.電子科技大學(xué)報(bào),2014,43(3):432–436.
8 邱佩璋,陳啟宏.網(wǎng)函數(shù)插值理論及其應(yīng)用.上海:上??茖W(xué)技術(shù)出版社,2007.
9 邱佩璋,楊真榮,崔力科.網(wǎng)函數(shù)插值法在重力場(chǎng)區(qū)域校正中的應(yīng)用.石油物探,1991,30(2):83–88.
10 楊持,郝敦元,楊在中.羊草草原群落水平格局研究.生態(tài)學(xué)報(bào),1984,4(4):345–353.
11 戴芳,許曉革,邱佩璋.Coons 型分形曲面片在靜止圖像恢復(fù)中的應(yīng)用.工程圖學(xué)學(xué)報(bào),2002,23(3):165–168.
12 宋莎莎,張杰,孟俊敏.基于網(wǎng)函數(shù)插值的MODIS Level 1B圖像Bowtie效應(yīng)修正.遙感技術(shù)與應(yīng)用,2010,(4):552–559.
13 Rudin LI, Osher S, Fatemi E. Nonlinear total variation based noise removal algorithms. Physica D: Nonlinear Phenomena, 1992, 60(1): 259–268.
Image Inpainting Based on Net Function Interpolation and TV Model
HOU Hai-Na1, DAI Fang1, YANG Chen-Dong212
(School of Science, Xi’an University of Technology, Xi’an 710054, China) (School of Science, Xi’an Aeronautical University, Xi’an 710077, China)
TV(Total Variation) model is used for image inpainting without taking the direction of damaged areas into account, while its slow convergent rate and low inpainting quality are either not as good as expected. To handle these problems, Additional Direction Total Variation (ADTV) algorithm is proposed, which aims at the strip damaged areas with obvious direction characteristic in the image. In this algorithm, discrete formats of TV model are improved in corresponding four directions (0°, 45°, 90°, 135°). The damaged areas will be inpainted in the four types by judging their directions. The experimental results show that the method makes full use of the direction information of the strip damaged areas, and effectively improves the inpainting quality. Finally, in order to improve the efficiency of inpainting, Net-TV algorithm and Net-ADTV algorithm are proposed by combining net function interpolation with TV model and ADTV algorithm respectively. The experimental results show that the combined algorithm not only effectively reduces the number of iterations and time cost, speeds up the convergence rate, but also improves the quality of image inpainting.
TV model; net function interpolation; image inpainting
陜西省工業(yè)科技攻關(guān)項(xiàng)目(2015GY004)
2016-03-13;收到修改稿時(shí)間:2016-05-03
10.15888/j.cnki.csa.005495