李建民,汪 琦,林振榮+,袁 梁
(1.南昌大學(xué) 信息工程學(xué)院,江西 南昌 330031;2.新余學(xué)院 中興通訊信息學(xué)院,江西 新余 338004)
數(shù)字圖像修復(fù)技術(shù)[1](digital inpainting)是由Bertalmio等通過(guò)長(zhǎng)期的探索和實(shí)驗(yàn),并建立數(shù)學(xué)模型而提出的概念。近些年,基于偏微分方程(PDE)的數(shù)字圖像修復(fù)技術(shù)一直是計(jì)算機(jī)視覺(jué)中的熱門(mén)話題之一。該技術(shù)時(shí)常用于對(duì)一些年代久遠(yuǎn)的照片和被噪聲污染的圖像進(jìn)行復(fù)原。主要有TV模型修復(fù)算法和CDD模型修復(fù)算法,它們?cè)诮鉀Q待修復(fù)區(qū)域較小的圖像上有很好的效果。TV模型是采用各向異性擴(kuò)散的形式對(duì)破損的邊緣區(qū)域來(lái)進(jìn)行修復(fù)的,然而該模型并不能較好達(dá)到連接斷裂邊緣區(qū)域的視覺(jué)連通性[2]要求,因此,CDD模型是在此基礎(chǔ)上引進(jìn)曲率驅(qū)動(dòng)而提出的高階偏微分方程模型[3],然而CDD模型仍然存在收斂性差,修復(fù)時(shí)間長(zhǎng),邊緣模糊等問(wèn)題,在近幾年的研究中,國(guó)內(nèi)外對(duì)CDD模型做了進(jìn)一步的研究與改進(jìn),文獻(xiàn)[2]提出了一種自適應(yīng)的改進(jìn)算法,引入自適應(yīng)系數(shù)使得圖像在不同的曲率區(qū)域的擴(kuò)散方式不同來(lái)保證修復(fù)的效果,文獻(xiàn)[4]提出一種結(jié)合退化模型的改進(jìn)算法,通過(guò)對(duì)待修復(fù)像素點(diǎn)梯度和曲率進(jìn)行加權(quán)處理來(lái)保證邊緣連通性。
本文針對(duì)以上的研究,通過(guò)改變曲率,定義像素點(diǎn)灰度差值比率和引入權(quán)重平滑函數(shù)的方式改進(jìn)傳導(dǎo)系數(shù)來(lái)建立一種改進(jìn)的CDD模型算法。
CDD模型是在TV模型的原理上引入了曲率項(xiàng)驅(qū)動(dòng)所提出的改進(jìn)模型。其中TV模型定義的能量函數(shù)為
(1)
并且滿足如下噪聲約束
(2)
上述公式中,ux,y表示圖像函數(shù),u0x,y為受到噪聲影響的圖像函數(shù),r為非負(fù)函數(shù),ux,y為該函數(shù)的梯度,E為破損區(qū)域,D為破損區(qū)域周圍的鄰接區(qū)域,AE表示領(lǐng)域E的面積,σ為高斯噪聲的標(biāo)準(zhǔn)差,為了達(dá)到修復(fù)邊緣并盡可能平滑破損區(qū)域的要求,取ru=u,根據(jù)拉格朗日乘子法將有約束的式(1)和式(2)轉(zhuǎn)化為無(wú)約束的泛函,其代價(jià)函數(shù)為
(3)
式(3)中第一項(xiàng)為圖像的全變分,保證待修復(fù)區(qū)域的平滑性,第二項(xiàng)為保真項(xiàng),盡可能保持去除噪聲后圖像的質(zhì)量。根據(jù)歐拉-拉格朗日方程可知,代價(jià)函數(shù)求得極值應(yīng)該滿足
·λu-u0=0
(4)
圖1 視覺(jué)上的連通原理
為了解決這個(gè)問(wèn)題,考慮到擴(kuò)散不僅僅依賴于梯度值還受到等照度線上的幾何信息影響,Chan等在TV模型原理上提出了CDD模型,用曲率來(lái)表示等照度線的幾何信息并將其作用到擴(kuò)散系數(shù)中,引入曲率函數(shù)gk,傳導(dǎo)系數(shù)修改為gku-1。函數(shù)gk的定義為
(5)
其中,k為曲率,k=·由于函數(shù)的遞增性,這樣可使圖像在曲率較大的區(qū)域擴(kuò)散強(qiáng)度變大,在曲率較小的區(qū)域擴(kuò)散強(qiáng)度逐漸消失。因此,CDD模型為
(6)
由于圖像的像素點(diǎn)的灰度值基本是一種接近平滑的變化,所以像素點(diǎn)與領(lǐng)域內(nèi)灰度差值越大的區(qū)域一定是待修復(fù)區(qū)域,擴(kuò)散速度應(yīng)該變慢。反之,則是相對(duì)平坦的區(qū)域,擴(kuò)散速度應(yīng)該加快。
通過(guò)以上分析,先將曲率函數(shù)gk的參數(shù)重新定義為k=·u,由于k中舍去了,避免了u=0的奇異性,同時(shí)也有效減少數(shù)值運(yùn)算曲率過(guò)程中參考點(diǎn)的梯度模值的時(shí)間。由于梯度是矢量,為了方便數(shù)值計(jì)算分析,本文通過(guò)定義灰度差值比率[6]來(lái)描述梯度方向和大小變化的程度
(7)
用半點(diǎn)中心差分法[7,8]對(duì)模型進(jìn)行離散化來(lái)求解偏微分方程,具體過(guò)程如下。
如圖2所示,O為待修復(fù)像素點(diǎn),引入半鄰域像素是為了數(shù)值計(jì)算的穩(wěn)定和減少誤差。記Λ={E,N,W,S},M={n,s,e,w}分別為鄰域像素點(diǎn)集合和半鄰域像素點(diǎn)的集合。
圖2 待修復(fù)像素點(diǎn)和鄰域
綜上所述,改進(jìn)的CDD模型為
(8)
改進(jìn)的CDD模型算法求解的歐拉-拉格朗日方程為
·gk·h(Tp)·u-λu-u0=0
(9)
令divv=v1,v2=gk·hT·u,對(duì)散度進(jìn)行中心差分方法可以近似離散化為
·≈
(10)
(11)
(12)
(13)
(14)
(15)
之后再計(jì)算出曲率函數(shù)參數(shù)kq的值(q為半像素點(diǎn)的集合),設(shè)I=v1,v2=u,對(duì)散度進(jìn)行離散化處理后,可得
(16)
下面以像素e為例
·
(17)
為了計(jì)算對(duì)角領(lǐng)域上像素點(diǎn)的梯度,將領(lǐng)域范圍擴(kuò)展到5×5的大小來(lái)進(jìn)行計(jì)算,如圖3所示。
圖3 5×5鄰域
(18)
(19)
(20)
(21)
下標(biāo)O表示待修復(fù)像素點(diǎn),u0為破損的像素點(diǎn)。為了簡(jiǎn)化計(jì)算,令
wq=gkq·hTq
(22)
(23)
(24)
將上述公式代入式(21)中可得
(25)
(26)
(1)讀入待修復(fù)圖像,對(duì)其進(jìn)行歸一化處理。
(2)選擇相應(yīng)的迭代次數(shù),之后確定破損區(qū)域的掩膜信息。
(3)根據(jù)式(10)至式(20),計(jì)算待修復(fù)區(qū)域每個(gè)像素點(diǎn)周圍領(lǐng)域指定點(diǎn)的擴(kuò)散系數(shù)。
(4)根據(jù)公式計(jì)算出新的像素值,替換原來(lái)的像素值并轉(zhuǎn)至第(3)步繼續(xù)執(zhí)行,直到迭代次數(shù)完成。
在Matlab2014a上對(duì)TV模型、CDD模型、文獻(xiàn)[4]、本文改進(jìn)的模型進(jìn)行了大量的仿真實(shí)驗(yàn)。
如果圖像修復(fù)后的結(jié)果需要標(biāo)準(zhǔn)規(guī)范來(lái)衡量,通常分為主觀評(píng)價(jià)和客觀評(píng)價(jià)兩種方法來(lái)進(jìn)行評(píng)判。當(dāng)修復(fù)結(jié)果不能從評(píng)價(jià)者的視覺(jué)感官做出評(píng)判時(shí),本文采用主觀與客觀相結(jié)合的方式進(jìn)行評(píng)判[9],客觀評(píng)價(jià)標(biāo)準(zhǔn)中采用峰值信噪比[10](PSNR)和修復(fù)時(shí)間結(jié)合的方式作為圖像修復(fù)后的衡量標(biāo)準(zhǔn),主觀評(píng)價(jià)標(biāo)準(zhǔn)中采用評(píng)判者對(duì)圖像的主觀感受來(lái)評(píng)判圖像修復(fù)后的效果。PSNR的計(jì)算公式如下
(27)
通過(guò)以下實(shí)驗(yàn)進(jìn)行仿真修復(fù)。迭代次數(shù)分別取n=30、50、100、200、500,ε=0.0001。
實(shí)驗(yàn)一:對(duì)容易造成視覺(jué)連通性問(wèn)題的圖4(203×40)進(jìn)行修復(fù),以100次迭代后的結(jié)果作對(duì)比,實(shí)驗(yàn)效果如表1、表2、圖4所示。
實(shí)驗(yàn)一對(duì)比結(jié)果從主觀感受可以看出,圖4(c)中圖像的4個(gè)拐點(diǎn)沒(méi)有在梯度方向得到充分的擴(kuò)散,修復(fù)效果不佳。而圖4(d)~圖4(f)中邊緣信息得到了充分的擴(kuò)散,修復(fù)效果較好。因此,可以得出TV模型無(wú)法滿足連通性原理,而CDD模型、文獻(xiàn)[4]、本文改進(jìn)的模型都滿足連通性,且通過(guò)表1和表2的數(shù)據(jù)觀察,從客觀評(píng)價(jià)中可以得出CDD模型、文獻(xiàn)[4]、本文改進(jìn)的算法模型的迭代次數(shù)對(duì)峰值信噪比(PSNR)的影響不明顯。TV模型修復(fù)時(shí)間雖然快,但修復(fù)效果差,而本文改進(jìn)的算法模型在滿足視覺(jué)連通性的情況下修復(fù)時(shí)間明顯要快于CDD模型和文獻(xiàn)[4]。
圖4 實(shí)驗(yàn)一修復(fù)對(duì)比
迭代次數(shù)PSNR/dBTV模型CDD模型文獻(xiàn)[4]本文算法304.1413.7813.7813.78504.3213.7813.7813.781004.6013.7813.7813.782004.9113.7813.7813.785005.2513.7813.7813.78
表2 迭代次數(shù)與時(shí)間關(guān)系
實(shí)驗(yàn)二:對(duì)有小面積劃痕的child圖(355×256)進(jìn)行修復(fù),以500次迭代后的結(jié)果作對(duì)比,實(shí)驗(yàn)效果如圖5、圖6和圖7所示。
圖5 實(shí)驗(yàn)二迭代次數(shù)與PSNR關(guān)系
圖6 實(shí)驗(yàn)二迭代次數(shù)與修復(fù)時(shí)間關(guān)系
圖7 實(shí)驗(yàn)二修復(fù)對(duì)比
實(shí)驗(yàn)二對(duì)比結(jié)果從主觀感受可以看出,圖7(d)中child圖的邊緣斷裂明顯,圖7(c)和圖7(e)中child圖左邊臉頰至下巴的破損區(qū)域過(guò)渡不自然,而圖7(f)中的修復(fù)效果則較為理想。CDD模型對(duì)較寬、較大的劃痕邊緣區(qū)域連接效果不好。通過(guò)圖5和圖6的數(shù)據(jù),從客觀評(píng)價(jià)中不難得出,CDD模型隨著迭代次數(shù)的增長(zhǎng),修復(fù)時(shí)間越長(zhǎng),收斂性較差。文獻(xiàn)[4]的修峰值信噪比明顯優(yōu)于CDD模型,由于仍然沒(méi)有簡(jiǎn)化數(shù)值計(jì)算曲率的過(guò)程,所以修復(fù)時(shí)間并沒(méi)有減少,本文改進(jìn)的CDD模型算法在修復(fù)時(shí)間和PSNR的大小上要明顯優(yōu)于前面兩者。
實(shí)驗(yàn)三:對(duì)有大面積文字污染的vegetables圖(256×256)進(jìn)行修復(fù),以500次迭代后的結(jié)果作對(duì)比,實(shí)驗(yàn)效果如圖8、圖9和圖10所示。
圖8 實(shí)驗(yàn)三迭代次數(shù)與PSNR關(guān)系
圖10 實(shí)驗(yàn)三修復(fù)對(duì)比
實(shí)驗(yàn)三結(jié)果從主觀感受可以看出,CDD模型對(duì)有大量文字的破損圖像的修復(fù)收斂性較差,文字區(qū)域在修復(fù)后仍然有少量細(xì)小斑點(diǎn)未連接起來(lái)。從圖8和圖9的數(shù)據(jù)來(lái)看,運(yùn)用客觀評(píng)價(jià)的方法可知文獻(xiàn)[4]和本文改進(jìn)的CDD模型能在迭代次數(shù)較少的情況下達(dá)到明顯的修復(fù)效果,PSNR較高。但是文獻(xiàn)[4]的修復(fù)時(shí)間仍然非常緩慢,本文改進(jìn)的CDD模型在收斂性、修復(fù)時(shí)間和修復(fù)效果都明顯優(yōu)于其它兩者。
本文首先介紹了TV模型和CDD模型的推導(dǎo)過(guò)程。之后,在CDD模型的基礎(chǔ)上通過(guò)簡(jiǎn)化曲率項(xiàng)運(yùn)算,引入像素點(diǎn)灰度差值比率和權(quán)重平滑函數(shù)建立了一種改進(jìn)的CDD圖像修復(fù)模型算法。從實(shí)驗(yàn)結(jié)果得出,本文改進(jìn)的修復(fù)算法不僅滿足了視覺(jué)的連通性原理,而且對(duì)小面積破損和大面積文字干擾的圖像都有較好的修復(fù)效果,能在迭代次數(shù)較少的情況下收斂,迭代次數(shù)相等的情況下,修復(fù)時(shí)間和峰值信噪比值明顯優(yōu)于CDD模型,并且同時(shí)與文獻(xiàn)[4]的對(duì)比也驗(yàn)證了本文修復(fù)模型算法在數(shù)字圖像修復(fù)方向的良好性與實(shí)用性。