趙蒙娜,李東興,趙宗超,蔡亞南,吳秀東
(山東理工大學 機械工程學院,山東 淄博 255000)
圖像去噪是指減少數字圖像中噪聲的過程.去噪算法的主要任務是在抑制噪聲的同時保留紋理和邊緣細節[1].通常,圖像去噪是基于領域進行分類的,如空間域方法,變換域方法以及基于字典學習的方法[2].空間域方法利用了大多數自然圖像中存在的相關性,空間濾波器又被分為局部和非局部濾波器.一些流行的局部濾波算法,如高斯濾波,維納濾波,雙邊濾波等已被開發用于降噪[3].然而,對于強噪聲圖像,相鄰像素之間存在的相關性已經被損壞,局部濾波器不能很好地工作.而非局部濾波器利用的是自然圖像的自相似性,所以非局部均值(NLM)及其改進已經被用于圖像去噪[4].基于稀疏表示的圖像通過從輸入的噪聲圖像中學習大量圖像片段來實現去噪,使得重構圖像中的每個圖像塊可以表示為字典中幾個原子的線性組合[5].
為了更方便快速地對信號進行采樣和處理,根據圖像的自相似的特性,對圖像進行分塊處理.具有相似結構的一類圖像塊能夠用字典中的同一組原子進行表示,因此可以對具有相似特征的不同塊集應用不同的變換.例如紋理修補可以使用某種紋理保留算法去噪,而平面修補可以使用基于稀疏的算法去噪[6].本文提出一種基于改進SVM分類與稀疏表示的混合去噪算法,首先將噪聲圖像劃分為大量重疊斑塊,然后使用SIFT從每個斑塊中提取局部特征.利用改進的支持向量機將圖像塊分為紋理塊和平面塊兩類.通過梯度直方圖保存(GHP)對紋理塊進行處理,并利用基于差異系數的稀疏度自適應SK-SVD去噪方法來稀疏重建平面塊.最后,通過合并兩個去噪過程的結果獲得重建圖像.
基于支持向量機(SVM)分類和稀疏表示的混合圖像去噪方法的框架如圖1所示.在這種方法中,我們首先將輸入噪聲圖像分解為大量重疊圖像,重疊部分不超過25%,分塊原理如圖1所示.

圖1 圖像重疊分塊的實現原理Fig.1 Implementation principle of image overlapping block
然后在每個圖像中使用SIFT進行特征提取,提取局部特征,相似的特征被聚合成為特征向量,然后聚類.利用SVM將圖像塊分為紋理塊和平面塊兩類.通過梯度直方圖保存法對紋理塊進行處理,并使用SK-SVD重建平面塊.本文提出的去噪方案主要由四部分組成:塊分類過程,使用梯度直方圖保存法進行紋理保存,使用差異系數的稀疏度自適應SK-SVD進行平面塊的去噪以及融合等.具體流程如圖2所示.

圖2 流程圖Fig.2 Flow Chart
首先將噪聲圖像采用滑塊處理分解成重疊的圖像塊,然后,使用SIFT來提取每個圖像塊的不變特征并結合FLANN(Fast Library for Approximate Nearest Neighbors)匹配算法實現快速準確地匹配.從每個圖像塊中提取的特征使用粒子群算法(PSO)進行聚類分成N組視覺詞匯簇.最后,利用SVM分類器并根據預定義的閾值將圖像塊分為兩類.圖像塊分類過程如下:
2.1.1 用SIFT提取特征
圖像的特征高度獨特且不受位置和比例的影響.特征提取方法有SIFT,SURF和Brisk等.SIFT能夠從圖像塊中提取最大特征點,其效果優于其他特征提取方法[7],使用SIFT從圖像補丁中提取特征和描述符.
SIFT提供了一種強大的機制來檢測圖像獨特的不變特征,這些特征可以提供在不同圖像之間穩健的匹配.SIFT由四個階段組成,如尺度空間極值檢測,關鍵點定位,定向計算和關鍵點描述符.
在計算的第一階段,采用高斯差分(DOG)函數來尋找關鍵點.通過執行高斯函數G(x,y,σ)和輸入圖像I(x,y)之間的卷積來計算圖像L(x,y,σ)的尺度空間.
L(x,y,σ)=G(x,y,σ)*I(x,y)
(1)

為了提高計算速度,用DOG來代替高斯,計算如下:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ)*I(x,y))=L(x,y,kσ)-L(x,y,σ)
(2)
通過消除第二階段的低對比度關鍵點來定位特征點.在第三階段,根據圖像梯度在每個關鍵點位置來分配方位.最后階段通過關鍵點測量局部圖像梯度,并且根據關鍵點方向,旋轉描述符的方向.
2.1.2 使用粒子群算法(PSO)進行聚類
在特征提取步驟中,對從每個圖像塊中提取的特征使用PSO分成N組視覺詞匯簇.使用歐幾里德距離度量將每個提取的特征映射到其最近的聚類中心.按照最鄰近法則對數據進行劃分,依照下述適應度的計算公式,計算每個粒子的適應度值,以更新個體極值.
f=1/jc
(3)
(4)
式中,jc為類內離散度之和,N為簇的個數,數據Pm屬于聚類中心Cij代表的類.
聚類后,對原始訓練樣本合并劃分,形成兩個子節點,對子節點的類別進行判斷,直到葉子節點為止,使兩個子類之間的可分性盡可能強,生成最優SVM決策樹結構,最終依據該結構來訓練子分類器[8].采用帶有線性內核的支持向量機進行分類,利用核函數將非線性樣本轉化為高維特征空間,使非線性樣本或數據的分離變得可能.SVM分類器定義了一個超平面,用于分離具有最大余量的兩個類,并表示為:
K(x,y)=xTy+c
(5)
非線性SVM定義為:
(6)
式中,xi表示訓練特征,而yi表示xi的標簽.這些最靠近分離超平面的特征向量,稱為支持向量.
SVM通過核函數K(x·xi)將樣本x映射到某個高維空間H,然后在H中對原始問題進行線性劃分.根據Mercer條件,此時相應的最優決策函數為:
(7)
通過分類將圖像塊分成平面塊和紋理塊分別對其進行去噪處理并融合.
在基于組合的稀疏模型中,假設信號可以表示為一個字典的幾個原子或列的線性組合.而基于差異系數的稀疏度自適應SK-SVD圖像去噪算法[1],能夠修正在稀疏字典去除平面斑塊的過程中的假相似問題.根據文獻[9]中自適應超完備字典的構建步驟,多次更新字典直到稀疏逼近誤差呈指數衰減,經過幾次的迭代更新,可訓練出與原始圖像f相適應的自適應稀疏字典.
計算向量a,b的向量差,分析其中大于上述限定值ε的個數來確定兩向量之前的相似度,以此產生差異系數,差異系數計算公式如下:
δab=1-nab/n
(8)
nab表示向量差中大于限定值的個數,n表示兩向量的維度.差異系數能夠提現兩向量之間的相關度,因此為解決因局部噪聲點導致的相似度計算誤差偏離的問題,將能體現整體相似性的差異系數引入相似度計算公式,原子相關性的計算公式為:
Gij=δijr(i-1),dj
(9)
將算法中每次迭代引入的固定值改為自適應地引入n列原子,n值將迭代中信號殘差與字典原子的相關度均值作為閾值自適應產生.以此產生自適應的稀疏度,并將其引入SK-SVD算法中進行去噪.

(10)
這里,R(x)表示正則化項,其具體形式取決于圖像先驗,F(▽x)表示變換梯度圖像,而▽是梯度算子.上式為GHP模型定義式,它與局部稀疏性和非局部自相似性(NSS)先驗模型相結合如下:
(11)
通過3.1節的方法獲得平面斑塊的去噪結果,通過3.2節的方法得到紋理斑塊的去噪結果,根據圖像塊的地理位置坐標,判斷拼接圖像塊是否為相鄰圖像塊,利用基于曲線的匹配方法[15]來判斷相鄰圖像塊中是否存在有效重疊區域.若存在,用傳統的相似匹配法進行拼接;若不存在,提取線特征進行匹配并判斷是否有斷裂,拼接處進行灰度融合.
在三個256×256大小的標準圖像上進行實驗,實驗結果如圖3所示.此外,將該方法與一些流行的去噪算法進行了比較,其中包括二維維納濾波、LPG-PCA以及K-SVD.峰值信噪比(PSNR)提供了各種去噪方法的定量結果.PSNR由式(12)給出,其中L代表最高像素值,MSE代表均方誤差.
(12)
為進一步評估算法的準確度以及穩定性,對重構圖像采用結構相似數SSIM(x,y)和特征相似數FSIM如式(13)(14)所示來進行評價.
(13)
(14)
式中,μx和μy表示x,y方向上的均值,σx和σy表示兩方向上的標準差,c1和c2表示兩方向上的中心點.

圖3 去噪結果對比Fig.3 Comparison of denoising results
比較實驗
根據表1中的峰值信噪比,計算三幅圖像的平均峰值信噪比如圖4所示,根據式(13)計算三幅圖像的結構相似數,采取具有顯著特征的形成表2.
表1 峰值信噪比比較
Table 1 Peak signal to noise ratio comparison

圖像標準偏差含噪圖像維納濾波LPG-PCAK-SVD本文算法Barbara3018.6325.1227.8128.4229.465015.3423.1425.0426.1328.151008.3620.1821.7722.9824.17Lena3018.6627.5628.5629.6530.555015.2624.2525.3426.1228.431008.3321.9922.2623.2925.19Camer-aman3018.8325.6927.9229.1530.665015.2524.6825.7126.7427.631008.2921.2922.5323.6924.28
為更直觀的顯示本文算法的優越性,選取結構相似數SSIM與特征相似數FSIM兩個評價指標做成折線圖進行對比,如圖5、圖6所示.

圖4 平均信噪比柱形圖Fig.4 Average signal to noise ratio histogram
從實驗結果可以看出K-SVD可以使紋理更加光滑,維納濾波在平穩噪聲的處理方面更加靈活,對局部去噪與特征保持有良好的效果.
表2 結構相似比比較
Table 2 Structural similarity comparison

圖像維納濾波LPG-PCAK-SVD本文算法Barbara0.70230.82030.88650.9132Lena0.71030.85350.89630.9243Cameraman0.70860.84920.90960.9369
從表3可以看出本文的運行時間因兩次去噪偏長,但是結合檢測結果,總體效率優于其他算法.本文算法的學習能力和紋理保持能力對偽影有較強的魯棒性,其保留邊緣和紋理成分的能力優于其他方法.K-SVD更適合于自然圖像,并通過自適應字典得到更好的去噪結果.但K-SVD字典需要大量的計算,因此K-SVD不適用于大量的圖像塊.基于圖像塊的去噪方法的主要缺點是圖像先驗是強加于中間結果,而不是最終結果.通過引入MS-EPLL(多尺度前期預期補丁對數似然)方法克服,其中對從噪聲圖像中提取的不同尺度補丁施加了相同的先驗.MS-EPLL可以獲得更好的復雜圖像的去噪結果,能夠保留更多細節,并且在紋理和平面區域的去噪效率不高.在基于粒子群聚類的SVM決策樹分類的混合去噪方案中,分析了基于差異系數的稀疏度自適應SK-SVD和紋理保持方法GHP的優點.

圖5 SSIM折線圖Fig.5 SSIMlinechart圖6 FSIM折線圖Fig.6 FSIMlinechart
表3 不同算法的平均運行時間耗費
Table 3 Average running time of different algorithms

圖像維納濾波LPG-PCAK-SVD本文算法時間(S)53.2978.45123.5680.96
本文介紹了基于改進SVM分類和稀疏表示的圖像混合去噪算法,該方法主要基于SIFT特征提取,然后將圖像分類為紋理塊和平面塊.通過GHP處理紋理塊,并使用SK-SVD分析重建平面塊.最后,通過合并兩個去噪過程的結果獲得重建圖像,能夠很好的消除高斯噪聲并保留紋理信息.去噪實驗通過與一些現有的去噪方法進行比較來證明本文算法的效率.從結果中可以看出,本文算法提供了更好的PSNR降噪性能以及結構相似性,并保留了圖像的精細結構.