王洪雁,王拓,潘勉,汪祖民
(1.浙江理工大學信息學院,浙江 杭州 310018;2.大連大學信息工程學院,遼寧 大連 116622;3.五邑大學智能制造學部,廣東 江門 529020;4.杭州電子科技大學電子信息學院,浙江 杭州 310018)
數(shù)字圖像在采集和傳輸過程中不可避免地受到噪聲污染,從而造成圖像細節(jié)丟失和質量下降,進而影響后續(xù)處理[1-2]。圖像去噪的目的則是從噪聲圖像y中盡可能準確地恢復原始圖像x,并保留邊緣、紋理等重要細節(jié)特征。去噪問題退化模型可表示為y=x+v,其中,v可假設為均值為0、方差為的高斯白噪聲。由于圖像去噪的不適定性,利用表征圖像統(tǒng)計特征的先驗知識去噪顯得尤其重要[3-4]。
近年來,眾多圖像降噪算法相繼被提出,其大致可分為以下兩類:基于局部先驗的方法和基于非局部自相似(NSS,nonlocal self-similarity)先驗的方法?;诰植肯闰灥姆椒ㄖ饕ɑ谛〔ㄊ湛s(WS,wavelet shrinkage)[5]、全變分(TV,total variation)[6]和基于模擬退火的改進圖像去噪(PID,progressive image denoising)[7]。然而,上述方法僅考慮局部先驗知識,忽視非局部圖像塊間相似性先驗信息,從而導致算法的去噪性能較差。非局部自相似先驗可表述為給定圖像某局部塊,利用該圖像非局部相似塊之間的線性相關特性,搜尋與給定圖像塊相似的其他局部塊。實踐表明,NSS作為先驗信息,在圖像恢復任務中效果甚佳[8]。基于此,文獻[9]提出一種非局部均值(NLM,nonlocal means)去噪算法,通過對相似圖像塊加權平均,可獲得較好的去噪性能,但當噪聲等級較高時,由于相似圖像塊包含大量噪聲,從而導致去噪圖像存在大面積模糊現(xiàn)象。針對此問題,文獻[10]提出一種三維塊匹配(BM3D,block matching 3D filtering)算法,將具有相似結構的2D圖像塊構造為三維數(shù)據(jù),而后聯(lián)合去噪來改善去噪性能,但較高時間復雜度限制了其實際應用?;诖?,文獻[11]提出一種非局部集中稀疏表示(NCSR,non-locally centralized sparse representation)算法,將相似圖像塊構造為矩陣,利用組稀疏方法改善去噪性能。然而,該算法所得去噪圖像存在關鍵細節(jié)模糊等問題[12]。針對以上問題,研究人員注意到將非局部相似圖像塊以向量形式構造為矩陣會具有低秩特性及稀疏奇異值[13],因而可以考慮利用低秩先驗信息提升去噪性能?;诖耍墨I[14]提出一種核范數(shù)最小化(NNM,nuclear norm minimization)算法,利用核范數(shù)近似秩函數(shù)來構建低秩去噪模型,從而獲得較好的去噪性能。然而該算法均衡處理各個奇異值,忽視了各奇異值不同程度地反映圖像紋理等先驗信息這一基本事實,從而導致去噪性能提升有限。針對此問題,文獻[15]提出一種加權核范數(shù)最小化(WNNM,weighted nuclear norm minimization)算法,利用加權核范數(shù)近似秩函數(shù),通過對奇異值賦予不同權值來改善去噪性能。然而,利用核范數(shù)近似秩函數(shù)將過度懲罰較大奇異值,從而導致去噪問題,只能獲得次優(yōu)解。此外,在網絡結構及學習算法的驅動下,卷積神經網絡(CNN,convolutional neural network)在圖像去噪領域的應用受到越來越多的關注[16]。其中,Zhang等[17]基于殘差學習理論提出去噪卷積神經網絡(DnCNN,denoising convolutional neural network),其通常針對單個噪聲水平學習特定模型,因而在處理包含不同噪聲水準圖像時需要生成多去噪模型,由此顯著增加了網絡復雜度,從而限制了此網絡的實際應用。針對此問題,Zhang等[18]通過將噪聲水平圖及含噪圖像作為網絡輸入,提出快速靈活去噪卷積神經網絡(FFDNet,fast and flexible denoising convolutional neural network)以處理不同噪聲水準及空域變化噪聲,由于輸入噪聲水平圖能夠靈活權衡去噪程度及圖像細節(jié)保持水平,因而此網絡可對實際圖像實現(xiàn)有效去噪。必須指出的是,盡管基于CNN的去噪方法行之有效,然而其面臨特性重用問題,并且無法充分利用層數(shù)增加和大卷積核所導致的巨量參數(shù),因而導致此類模型去噪性能提升有限[19]。
針對上述問題,基于可近乎無偏近似秩函數(shù)的非凸伽馬范數(shù)(γ-norm)[20]及低秩去噪模型,本文提出一種基于非凸伽馬范數(shù)最小化的圖像去噪算法。所提算法首先利用結構相似性(SSIM,structural similarity)搜索相似圖像塊,避免傳統(tǒng)方法相似圖像塊搜索不準確;然后利用伽馬范數(shù)近乎無偏的近似矩陣秩函數(shù)以構建低秩去噪模型,從而解決傳統(tǒng)秩函數(shù)近似方法估計精度較差的問題;最后基于奇異值分解對此非凸問題進行求解。仿真結果表明,與現(xiàn)有主流PID、NLM、BM3D、NNM、WNNM、DnCNN和FFDNet算法相比,所提算法可較顯著地消除高斯噪聲,且可以較高精度恢復原始圖像細節(jié)。
對所有重疊塊執(zhí)行上述操作并重組,即可構建原始圖像。然而,核范數(shù)為有偏估計量,其近似秩函數(shù)可能過懲罰較大奇異值,從而導致核范數(shù)最小化問題無法獲得最優(yōu)解,進而降低去噪性能[24]。針對此問題,本文采用非凸伽馬范數(shù)代替核范數(shù)以獲得秩函數(shù)近乎無偏估計,進而改善低秩去噪性能。
本節(jié)首先提出一種自適應非局部相似圖像塊搜索方法,然后簡要介紹伽馬范數(shù),并基于最小化非凸伽馬范數(shù)來構建圖像去噪模型,最后利用奇異值分解對所得優(yōu)化問題進行求解。
傳統(tǒng)基于歐氏距離的非局部相似圖像塊搜索方法未考慮圖像塊的結構相似性,從而導致非局部相似圖像塊搜索不準確[25]。為提高相似圖像塊搜索準確度,本文提出一種基于SSIM的自適應相似圖像塊搜索方法。SSIM是一種綜合圖像相似性的評價指標[26],考慮圖像間亮度、對比度和結構3 個不同特性,可較好評價兩幅圖像的相似程度。給定兩幅圖像x和y,SSIM定義為
自適應相似圖像塊搜索方法的主要思想簡述如下:給定當前圖像塊yi和目標數(shù)據(jù)集,計算當前圖像塊與目標數(shù)據(jù)集各圖像塊的SSIM,并據(jù)此搜索與當前圖像塊最相似的m個圖像塊。其中,相似塊數(shù)m需根據(jù)噪聲等級自適應確定。然后將各相似圖像塊轉換為列向量,并按相似度降序自左向右依次排列以組成相似圖像塊矩陣Yi,構建過程如圖1所示。
圖1 相似圖像塊矩陣構建過程
綜上所述,所提相似圖像塊搜索方法可充分利用圖像非局部自相似的先驗信息,提高相似圖像塊的搜索準確性。基于所獲得相似圖像塊Yi,本文所提基于伽馬范數(shù)最小化的圖像去噪模型如3.2節(jié)所述。
伽馬范數(shù)是非凸MCP(minmax concave plus)函數(shù)的矩陣擴展,相比有偏估計核范數(shù),其近乎無偏近似秩函數(shù)[27]。設矩陣X的奇異值分解為X=U ΣVT,其中,U=[u1…un],V=[v1…vn],Σ=diag(λ1…λn),且λ1≥ …≥λn≥ 0,則伽馬范數(shù)可定義為[20]
基于伽馬范數(shù)可近乎無偏地近似秩函數(shù)的特性,本文用其替換式(1)中的低秩項,構建非凸伽馬范數(shù)最小化去噪模型,可表示為
為便于表述,令X=Xi,Y=Yi,則優(yōu)化問題式(8)的解的推導過程為
由于式(14)右端第一項與待優(yōu)化變量X無關,則y(X)關于X的最小化問題等價于?(ξi)關于ξi的最小化問題,由此?(ξi)可重新表示為
對各重疊圖像塊依次求解上述優(yōu)化問題,即可求得所有去噪相似圖像塊矩陣{Xi},i=1,2,…,n,進而基于文獻[15]圖像塊重組方法重構去噪圖像x。實際應用中,可重復迭代以上步驟以獲得較好的去噪性能。綜上所述,基于非凸伽馬范數(shù)最小化的圖像去噪算法如算法1 所示,其中,步驟3)迭代正則化過程用以改善算法的去噪性能[28]。
算法1基于非凸伽馬范數(shù)最小化的圖像去噪算法
實驗基于標準圖像庫中如下6 幅圖像(如圖2 所示):256 像素×256 像素Monarch、720 像素×576 像素Boats、512 像素×512 像素Lena、512 像素×512 像素Pepper、256 像素×256 像素House和720 像素×576像素 Barbara,采用PID[7]、NLM[9]、BM3D[10]、NNM[14]、WNNM[15]、DnCNN[17]和FFDNet[18]作為對比算法,分別從去噪性能和運行時間兩方面驗證所提算法的有效性。實驗環(huán)境為Intel Core i7-8700,主頻為3.70 GHz,內存為16 GB,操作系統(tǒng)為Windows 10,仿真軟件為Python3.6。
為定量評估所提算法的去噪性能,本文采用文獻[29]所定義的峰值信噪比(PSNR,peak signal to noise ratio)作為評價指標,即
其中,MSE 表示均方誤差(mean square error),M×N為兩幅圖像x和y的尺寸。
依據(jù)實驗,確定搜索窗口尺寸L×L為30 × 30,圖像塊尺寸、相似圖像塊數(shù)m及算法迭代次數(shù)K需根據(jù)噪聲等級自適應確定。對于噪聲方差為σn≤ 20、20<σn≤ 40、40<σn≤ 60和σn>60的噪聲圖像,圖像塊尺寸分別設為6 × 6、7 × 7、8 × 8和9 × 9,相似圖像塊數(shù)m分別設為70、90、120 和140。相應地,迭代次數(shù)K分別設為8、12、14 和14。參數(shù)δ、λ和γ分別設為0.1、0.001 和100。此外,DnCNN以及FFDNet的參數(shù)設置類似于文獻[17-18],不同的是,此二者皆基于文獻[17]所用數(shù)據(jù)集中所選的200 幅圖像進行20 次迭代訓練。
圖3 各測試圖像條件下不同算法所得PSNR 隨噪聲方差的變化曲線
表1 不同去噪算法PSNR 對比
6 幅測試圖像分別添加均值為0、方差分別為σn=10,30,50,70,90,100的高斯白噪聲來生成噪聲圖像?;谒迷肼晥D像,PID、NLM、BM3D、NNM、WNNM、DnCNN、FFDNet及本文所提算法所得PSNR隨噪聲方差的變化曲線如圖3 所示。不同測試圖像及噪聲方差條件下所得PSNR的具體數(shù)據(jù)如表1 所示(由于篇幅限制,本文只列出σn=10,30,50,100條件下的去噪結果),各實驗最高PSNR用粗體表示。由圖3 及表1 可知,NLM去噪性能不明顯,這是因為NLM僅對相似圖像塊加權平均,而沒有考慮噪聲本身特性;PID基于全域搜素的模擬退火算法進行去噪,因而去噪效果稍好于NLM;NNM和WNNM考慮了含噪圖像的低秩特性,因而可獲得較好的去噪效果,且由于WNNM對含噪圖像奇異值差異性加權充分利用圖像先驗信息,從而使其降噪效果優(yōu)于NNM;BM3D由于利用了相似圖像塊結構約束聯(lián)合去噪,從而使其在非學習算法中脫穎而出,去噪效果明顯優(yōu)于上述算法。再者,基于數(shù)據(jù)驅動的DnCNN模型從訓練集中估計噪聲信息,因而僅當待去噪圖像噪聲水平接近訓練集噪聲水準時,降噪效果才較理想,而FFDNet模型則將噪聲水平圖作為先驗輸入,因而可顯著提升降噪效果。此外,所提算法在多數(shù)情況下皆可獲得較高的PSNR,且相較于PID、NLM、BM3D、NNM、WNNM、DnCNN和FFDNet算法,所提算法PSNR在噪聲水平為σn=10條件下分別平均提高0.44 dB、1.6 dB、0.33 dB、1.15 dB、0.22 dB、0.53 dB和0.43 dB,且隨著噪聲等級提高,PSNR改善更顯著,此可歸因于所提算法利用SSIM塊匹配以提高相似圖像塊搜索準確度,且基于非凸伽馬范數(shù)改善了秩函數(shù)的近似精度。由此可知,相比其他7 種算法,所提算法在不同噪聲等級下均有較好的去噪性能。
對于噪聲方差σn=50的House圖像和噪聲方差σn=100的Boats 圖像,不同算法去噪結果分別如圖4和圖5 所示。
圖4 House 圖像去噪結果(σn=50)
圖5 Boats 圖像去噪結果(σn=100)
由圖4 和圖5 可知,NLM去噪圖像存在大面積模糊現(xiàn)象,去噪效果較差,這是由于其搜索相似圖像塊中存在大量噪聲,且僅利用加權平均相似圖像塊去噪的緣故;NNM利用矩陣低秩先驗可有效避免圖像大面積模糊現(xiàn)象,然而其均衡處理各個奇異值,導致去噪圖像存在關鍵細節(jié)模糊和丟失等問題,比如圖5(e)中船只的部分桅桿明顯缺失;盡管WNNM可較有效地消除噪聲,卻存在圖像細節(jié)丟失和紋理偽影等問題,此現(xiàn)象可歸因于平均化過程中相似度度量收集了一些不相關的候選圖像塊;PID利用空域和頻域聯(lián)合處理及退火算法,有效解決去噪圖像關鍵細節(jié)丟失問題,但仍存在細節(jié)模糊現(xiàn)象;BM3D則利用聯(lián)合濾波方法,獲得了較好的去噪效果,但由于其過于平滑圖像,使圖像信息丟失較多,進而導致去噪圖像存在較強的偽影現(xiàn)象。再者,基于深度網絡的DnCNN模型的降噪效果取決于訓練集,僅當去噪圖像噪聲水平接近于訓練集噪聲水準時,才可獲得較好的去噪效果,并且此模型無法較好地保持圖像細節(jié),且存在過度平滑現(xiàn)象;當噪聲水平較低時,將噪聲水平圖作為先驗信息的FFDNet模型可保留圖像細節(jié),但在光滑區(qū)域仍具有較多噪聲;當噪聲水平較高時,F(xiàn)FDNet模型可較有效地去除噪聲,然而會平滑關鍵細節(jié)。此外,所提算法采用基于結構相似性指數(shù)的相似圖像塊搜索方法,并利用非凸伽馬范數(shù)近乎無偏近似矩陣秩函數(shù)以克服上述缺點,進而改善算法的去噪性能。由圖4(f)和圖5(f)可知,所提算法去噪圖像偽影現(xiàn)象較弱,且可較好地恢復邊緣、紋理等關鍵細節(jié)特征。
綜上所述,在不同等級高斯噪聲條件下,所提算法的去噪性能比其他7 種算法改善顯著,其不僅可有效避免去噪圖像模糊及偽影現(xiàn)象,且可較好地恢復原始圖像的關鍵細節(jié)信息。需要注意的是,盡管所提算法具有較好的去噪效果,然而由于結構相似性指數(shù)在某些區(qū)域不穩(wěn)定,且依賴于輸入參數(shù)的絕對值,因而基于結構相似性指數(shù)的相關算法穩(wěn)健性較差[30]。針對此問題,后續(xù)研究將構建區(qū)域及輸入參數(shù)不敏感的相似度量指標,以提升去噪算法的穩(wěn)健性。
實驗選取標準圖像庫中的6 幅測試圖像,并在上述計算平臺評估不同算法的平均運行時間,測試結果如表2 所示。由表2 可知,非學習算法中的BM3D運行速度快于NLM、NNM、WNNM、PID和所提算法,其主要原因在于NLM、NNM、WNNM和所提算法采用圖像塊提取及相似圖像塊搜索操作較耗時,且NNM、WNNM和所提算法因為對相似圖像塊矩陣進行奇異值分解及多次迭代去噪操作,所以算法運行時間較長,而BM3D雖然包含圖像塊提取及相似圖像塊搜索操作,但代碼優(yōu)化后算法運行速度顯著加快。其次,由表2 可知,基于深度網絡的DnCNN、FFDNet模型運行速度快于其他非學習方法,且由于FFDNet網絡深度比較淺,因此其運行時間小于DnCNN,然而,此二者需要額外的訓練時間,且在訓練樣本較少時并不具有優(yōu)勢。再者,所提算法與NNM運行時間相近,但由于所提算法采用基于SSIM的相似圖像塊搜索方法,平均耗時比NNM長。需要注意的是,犧牲運算效率所換來的收益為不同噪聲等級下所提算法較好的去噪性能,即不僅可較顯著地抑制噪聲,且可較好地避免偽影及細節(jié)模糊現(xiàn)象。此外,如前所述,所提算法基于SSIM搜素相似圖像塊,且需對相似圖像塊矩陣進行奇異值分解,因而計算復雜度相較于其他算法較高。針對此問題,在后續(xù)研究中,將基于圖像亮度等先驗信息縮小相似搜索區(qū)域,以加速搜索速度;基于相似圖像塊間強相關事實對相似圖像塊矩陣施加低秩等結構約束,以減少奇異值分解的數(shù)據(jù)量,從而降低所提算法的計算復雜度,進而提升其實時性。
表2 不同算法平均運行時間對比
針對高斯噪聲條件下去噪圖像存在偽影及細節(jié)模糊問題,基于可近乎無偏近似秩函數(shù)的非凸伽馬范數(shù)及低秩去噪模型,提出一種基于伽馬范數(shù)最小化的圖像去噪算法。首先基于綜合亮度、對比度以及結構的SSIM構造相似圖像塊矩陣,可以避免傳統(tǒng)方法相似圖像塊搜索不準確的缺點;然后利用非凸伽馬范數(shù)構建低秩去噪模型,以解決傳統(tǒng)秩函數(shù)近似方法估計精度較差的問題;最后基于奇異值分解求解所得非凸問題并重組去噪圖像塊以獲得去噪圖像。仿真結果表明,與現(xiàn)有主流PID、NLM、BM3D、NNM、WNNM、DnCNN、FFDNet等算法相比,所提算法雖因奇異值分解和多次迭代操作具有較高的計算復雜度,然而不同噪聲等級下其具有比其他算法更好的去噪性能,即所提算法可較顯著地消除高斯噪聲,且可較好地避免偽影及細節(jié)模糊,恢復邊緣及紋理等細節(jié)特征,因而可獲得較高的圖像重構精度。