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