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