明 勇,羅學剛,王華軍,楊 強, 何 東
(1.成都理工大學 地球物理學院,四川 成都 610059;2. 攀枝花學院 數學與計算機學院, 四川 攀枝花 617000;3. 成都廣播電視大學,四川 成都 610051)
數字圖像在傳輸和拍攝等過程中遭受不同類型的失真干擾,導致圖像質量下降,難以得到真實圖像數據,嚴重影響圖像的使用.為了還原圖像真實表達,在過去的數十年里,學者們提出了大量的圖像去除噪聲的方法.
近年來,非局部均值(non-local means, NLM)去噪算法[1]在不損失圖像細節(jié)的情況下表現出良好的去噪性能,受到廣大學者的關注.NLM去噪算法利用局部圖像塊(patch)冗余結構信息,根據圖像塊之間的相似性度量準則,然后采用歸一化結構相似性權重獲得去噪估計值.由于圖像塊比單個像素更好地表達圖像結構信息,其性能優(yōu)于其他經典去噪算法.然而,NLM算法在效率與參數設定方面存在一定的問題,嚴重阻礙了算法在工業(yè)上的應用.
針對這些問題,人們提出了不少改進NLM的方法.Deledalle等人采用了一種基于最大似然估計(probabilistic patch based, PPB)通過更新去噪估計權值,達到了較好的降噪效果[2].胡金蓉等人提出在離散余弦變換的低頻系數子空間內度量像素間的相似性,降低算法計算復雜度[3].Tasdizen等人提出的主鄰域字典NLM降噪方法,通過主成分分析PCA將圖像塊投影到低維子空間并在低維子空間中度量像素點之間的相似性,改進了降噪性能并降低了計算復雜度[4].NLM算法參數優(yōu)化問題,眾多學者提出對NLM關鍵參數(平滑核參數、相似鄰域的尺寸和搜索區(qū)域的大小)進行優(yōu)化,提高去噪效果[5-7].
應用PCA降維的去噪方法可以有效地將觀測圖像分解為圖像信息分量和噪聲分量,減小了圖像噪聲干擾,更好地利用圖像塊間的結構信息,性能有顯著提高,并且該方法具有降低計算復雜度的優(yōu)勢.因此,PCA-NLM是一種具有較強改進優(yōu)勢的方法之一.但該方法在PCA降維提取圖像結構信息分量時,采用統一固定參數保留圖像主特征分量,未能較好地利用圖像區(qū)域特征,特別是對于紋理區(qū)域,在去噪時容易產生過平滑而丟失圖像細節(jié)紋理信息.
根據NLM降噪模型,設定失真圖像為g,由圍繞觀察像素i的搜索窗口內全部像素的加權平均得到估計值,定義為:
其中,
N(pj)代表以j為中心大小為M×M的圖像塊像素灰度值,h控制指數函數的衰減程度.
PCA-NLM去噪方法[8]實質是將原始含噪聲信息的觀測數據空間映射到低維主分量空間,然后利用映射后的主分量進行度量鄰域塊的相似性,克服了非局部均值濾波中噪聲干擾引起的相似性度量不夠準確的問題,增強了抗噪能力.
在式(2)中的每個像素對應的圖像塊中都具有噪聲信息,無法得到真實的圖像結構信息,其計算的權重不夠準確.PCA通過構建主成分分析的降維矩陣將噪聲去除,即協方差矩陣的前d個主成分的投影向量,用行向量表示圖像塊像素為Np=[Ik1,Ik2,…,Ikn],得到協方差矩陣Xobs=Np·(Np)T.根據矩陣的特征值分解算法,Xobs也可以表示為:
Xobs=UΛUT,
(3)
式中,Λ為特征值矩陣(矩陣尺寸與X一致) ,形式由式(4)構成.
在該矩陣中,對角線元素λn為X的自相關矩陣Xobs的特征值,特征值大小決定了該特征向量是否為主成分,可簡化表示為Λv=[λ1,λ2,…,λn],其對應的向量U=[u1,u2,…,un]為特征向量.所以,通過特征值從大到小進行排序,提取對應的前m(m Up=[u1,u2,…,um]. (5) 由于噪聲從測量空間到特征空間映射時,主要集中在對應特征值較小的特征向量里,剔除特征值小的特征向量,可以有效地去除噪聲.因此,式(5)中的Up此時可以認為降低了U中的噪聲信息. 將特征值所對應的特征向量構成變換矩陣Up投射到圖像塊Np后得到的特征空間的新向量. NPCA(pi)=Up?Np(pi). (6) 利用降維新向量對NLM權重計算進行修改,得到PCA-NLM的權值公式為: 式中, 原始NLM是一個含有大量冗余信息的高維向量,采用PCA對其有效降維可以提高整體算法效率,同時還可以去除圖像本身存在的噪聲干擾,是一種優(yōu)良的改進方法.然而,PCA主要是利用特征值將圖像子窗口投影到特征空間,對應紋理和細節(jié)豐富的區(qū)域,特征向量對應的特征值區(qū)分并不明顯,直接提取前m個向量構成特征矩陣.在紋理和細節(jié)豐富區(qū)域,固定的參數得到降維矩陣在去除噪聲同時也把大量的紋理細節(jié)結構信息丟失,去噪效果不夠理想. 針對PCA-NLM存在的問題,本文利用結構張量提取紋理描述將圖像分為平坦區(qū)、邊緣區(qū)和紋理區(qū)三部分,根據紋理描述標量值自適應地選取m個向量構成的降維特征矩陣參與運算,提高去噪能力同時排除了相似度低圖像塊的計算.通過仿真實驗,從視覺和去噪性能比較中都可以驗證改進算法對于紋理區(qū)域具有較好的去噪效果. 圖像的局部結構信息通常采用邊緣與梯度來描述,但圖像的梯度或邊緣在噪聲干擾下并不準確,為了更精細地刻畫圖像的邊緣結構特征,采用局部結構張量來描述. 給定圖像f,梯度為g=f(a,b),圖像中某一像素點f(a,b)在K*K領域塊(n)的局部梯度向量為G=(g1,g2,…,gn),則局部結構張量定義如下: 對J進行SVD分解可以得到, 定義一種新的邊緣紋理特征描述函數F: PCA-NLM去噪采用圖像最小誤差提取投影基提取主成分,達到提高去噪效果的目的.然而,為了簡便和快速,算法對圖像所有區(qū)域都采用固定維數提取前m列特征向量構成特征矩陣.沒有考慮到圖像結構信息特殊性,本小節(jié)描述一種利用邊緣紋理特征描述函數自適應選取PCA維數的方法. 針對式(5)的降維矩陣Up,定義一種選取PCA維數的方法: (10) 經典的NLM算法以整個圖像區(qū)域為搜索范圍,尋找結構相似度高的圖像塊.考慮到圖像塊的結構相似度具有空間集中性,為了減少計算復雜度,改進算法都將搜索范圍限定在中心像素點的S區(qū)域內.然而,每個像素所在的圖像塊需要和搜索窗口的其他所有圖像塊通過高斯加權的歐氏距離計算相似性獲取權重,計算量大,導致方法難以應用到實際項目中. 本節(jié)提出一種基于邊緣紋理特征描述函數采用二分k均值聚類將圖像塊使用F(x)的值把整個圖像劃分為平坦區(qū)、邊緣區(qū)和紋理區(qū)三類區(qū)域.在相似性計算時,剔除非同類的圖像塊,避免不必要的計算,提高算法的運行速度. 二分k均值算法是一種改進的k-均值聚類算法[9],適用于無法確定初始質心的聚類算法.算法流程為:先用k均值算法將需要分類的數據分為兩簇,然后再從其中某簇中繼續(xù)使用k均值算法進行分裂操作,直到簇數到達設定值結束.F(x)值的聚類劃分利用二分k均值首先將紋理邊緣與平坦區(qū)域分開,閾值為T1,然后再次將紋理與邊緣像素點分開, 閾值為T2. 原算法的方形搜索窗si修改為: 根據邊緣紋理特征描述值F(i)得出像素i的簇,利用對應的閾值過濾掉其他兩種類型的搜索區(qū)域,減少計算,同時也不會影響去噪效果. 為了驗證改進算法性能,選用了3個典型圖像Barbaba、 Pepper和Lena,圖像加入標準差為σ∈{10,20,40}的零均值高斯白噪聲.在實驗中,本文改進算法分別與cNLM[1],PCA-NLM[8]從速度和性能兩方面做定性比較與分析.其中,cNLM代表優(yōu)化參數的經典NLM算法,PCA-NLM代表改進去噪性能方法.為了公平比較,三種算法的搜索窗口和圖像塊的大小參考文獻[5]分別設置為21×21和9×9. 采用PSNR(Peak Signal-to-Noise Ratio)和SSIM (Structural Similarity Index)兩個指標對去噪結果進行定量比較.SSIM是一種新的圖像質量評價指標[10],考慮到圖像結構信息,計算方法見式(13),取值范圍為[0,1],其值越大越接近,當圖像完全一致時,SSIM為1. 表1記錄了3種算法不同σ取值下的PSNR、SSIM比較結果.改進算法從PSNR、SSIM兩個指標數值上看,性能都優(yōu)于cNLM算法.表1的結果不難發(fā)現,改進算法和PCA-NLM去噪性能比cNLM有一定的提高.紋理細節(jié)豐富的Barbaba圖像PSNR和SSIM值較cNLM和PCA-NLM提高更明顯. 圖1(a)為圖像Barbara的頭巾部分.圖1(b-d)為當σ=20,各個算法去噪視覺效果圖.由于頭巾的紋理細節(jié)較豐富, cNLM和改進算法比PCA-NLM保留圖像的結構與細節(jié)更強.改進算法保留了PCA-NLM的優(yōu)點同時在細節(jié)豐富區(qū)域更好地保留紋理細節(jié)信息,其邊緣區(qū)的圖像結構信息保留更完整. 表1改進算法與cNLM和PCA-NLM在PSNR和SSIM上的性能比較 Tab. 1Theperformancecomparisonoftheproposedmethod,cNLMandPCA-NLMonthePSNRandSSIM (a)原圖 (b) 改進算法 (c) PCA-NLM (d) cNLM圖1圖像Barbara的頭巾部分的去噪細節(jié)對比σ=20Fig. 1 The detail comparison of denoising for the scarf part of Barbara image on σ=20 表2記錄了3種算法對Barbaba、Pepper和Lena 3圖像在visual C++ 2010,Dell Inspiron,Core i5,4GB內存的測試環(huán)境中平均花費時間.從表2中可以看出,cNLM計算時間花費較大,PCA-NLM降維以后計算量下降明顯,但由于需要降維計算其運行時間也較高,改進算法不僅降維,同時還根據邊緣紋理描述函數剔除大量不必要計算的圖像塊,節(jié)約了時間.隨著圖像大小的增加,時間優(yōu)勢越明顯. 表2 各種算法不同圖像大小的平均耗時比較(單位:秒) 本文針對PCA-NLM去噪方法容易丟失圖像紋理細節(jié)的問題,提出一種基于紋理特征描述的改進PCA非局部均值去噪方法.通過一種基于局部結構張量的邊緣紋理描述表征了圖像塊的結構特征,利用該描述完成了自適應地獲取PCA降維參數,并將圖像劃分為平坦區(qū)、邊緣區(qū)和紋理區(qū)三種類型,有效地剔除相似性低的像素點提高運行速度.在實驗中,本文改進算法分別與cNLM、PCA-NLM去噪算法比較,從PSNR、SSIM兩個指標和去噪視覺比較上看,該方法更好地保留了圖像細節(jié)信息同時有較好的加速,整體去噪效果也有一定的提升.2 改進PCA-NLM去噪方法
2.1 局部結構張量與紋理描述
2.2 自適應PCA改進去噪
2.3 加速策略
3 實驗結果與分析
4 結論