李瀟瑤,王煉紅,周怡聰,章兢
1.湖南大學(xué)電氣與信息工程學(xué)院,長沙 410082; 2.澳門大學(xué)電腦與資訊科學(xué)系,澳門 999078
圖像去噪的目的是在消除噪聲的同時最大程度地保留圖像細(xì)節(jié)信息。圖像在采集、傳輸和存儲過程中經(jīng)常受到噪聲污染,導(dǎo)致圖像質(zhì)量降低,甚至影響圖像增強(qiáng)(李健 等,2021)、識別(賀敏雪 等,2021)、分類(尹紅 等,2019)和分割(江宗康 等,2020)等后續(xù)處理工作。因此,圖像去噪是一項(xiàng)非常重要的圖像預(yù)處理工作。
濾除高斯噪聲,常見的空間域算法是基于變分法的去噪模型,可以通過最小化能量函數(shù)達(dá)到平滑圖像的目的。Rudin等人(1992)提出一種非線性濾波算法,即全變分算法(total variation,TV),可以通過減小噪聲圖像的絕對梯度的積分來濾除噪聲。Goldstein和Osher(2009)利用分裂Bregman快速算法提出了各向異性全變分和各項(xiàng)同性全變分。Adam和Paramesran(2019)為了更好地平衡消除階梯效應(yīng)和保留邊緣信息之間的關(guān)系,提出一種結(jié)合重疊群稀疏和混合非凸高階全變分模型(hybrid non-convex higher order TV with overlapping group sparsity,HNHOTV-OGS)。Parisott等人(2020)設(shè)計了一種高階方向性全變分(total direction variation,TDV),在高階梯度中加入各項(xiàng)異性方向信息。然而,由于全變分完全依賴于圖像的局部特征,在邊緣部分或梯度較大處容易受到噪聲干擾而丟失細(xì)節(jié)信息,從而產(chǎn)生階梯效應(yīng)。
針對局部濾波這一缺點(diǎn),Buades等人(2005)提出了非局部均值算法(non-local means,NLM),主要思想是將圖像塊作為一個處理單元,計算中心圖像塊與所有鄰域圖像塊之間的相似性權(quán)重,最后得到的去噪圖像塊即鄰域圖像塊的加權(quán)平均值。在NLM算法取得顯著成效后,人們對基于圖像塊的非局部去噪算法進(jìn)行改進(jìn)。例如,將全變分與非局部相似性相結(jié)合,Gilboa和Osher(2007)提出了非局部全變分(non-local total variation,NLTV),Liu等人(2014)設(shè)計了非局部廣義相對全變分(non-local version of the generalized relative TV,NLGRTV),Li等人(2017)設(shè)計了正則化非局部全變分(regularized non-local total variation,RNLTV),Wang等人(2019)提出了基于結(jié)構(gòu)相似性的非局部全變分。不同于局部全變分模型僅通過圖像像素灰度值的變化來除噪,這類非局部全變分算法利用了鄰域內(nèi)圖像塊結(jié)構(gòu)的相似性,可以更好地保留圖像的細(xì)節(jié)信息。
值得注意的是,現(xiàn)有許多去噪算法原本是針對灰度圖像提出的,在處理彩色圖像時只是簡單地對3個顏色分量進(jìn)行單獨(dú)去噪。此外,大部分去噪算法忽略了真實(shí)噪聲在圖像不同區(qū)域內(nèi)的分布差異,而是簡單假定整幅圖像的噪聲強(qiáng)度是均勻的,并設(shè)置同樣的參數(shù),導(dǎo)致這些算法在每個顏色分量和每個圖像塊上,甚至每次迭代中的去噪強(qiáng)度都是一樣的,從而造成過平滑和欠平滑共存現(xiàn)象。
為了解決以上問題,本文提出一種自適應(yīng)非局部3維全變分(adaptive non-local 3D total variation,ANL3DTV)去噪模型,利用一種非局部3維全變分正則項(xiàng)來捕獲圖像塊內(nèi)和塊間的相關(guān)性信息,同時引入一個自適應(yīng)權(quán)重矩陣,根據(jù)每次迭代后去噪圖像中殘留噪聲的特征,調(diào)整算法在不同顏色分量和不同圖像塊上的去噪強(qiáng)度。本文從數(shù)學(xué)上對ANL3DTV模型進(jìn)行推導(dǎo)求解,分析該模型的收斂性,最后通過仿真去噪實(shí)驗(yàn)驗(yàn)證了算法的有效性。
(1)
(2)
全變分去噪模型(Rudin等,1992)可以表示為
(3)
(4)
(5)
已知噪聲圖像Y∈RM×N,即Y是大小為M×N的實(shí)數(shù)矩陣,非局部全變分的去噪模型可以表示(Gilboa和Osher,2009;Lou等,2010)為
(6)
(7)
(8)
(9)
式中,xi和xj分別表示X的第i個和第j個像素值,Ω={1,2,…,M}×{1,2,…,N}。
ANL3DTV算法的主要思想是通過計算彩色圖像塊內(nèi)的局部梯度和圖像塊間的非局部梯度,并利用不同圖像塊和顏色分量上的噪聲強(qiáng)度差異,最終實(shí)現(xiàn)自適應(yīng)去噪。ANL3DTV去噪算法流程如圖1所示,具體如下:
1)將給定的噪聲圖像Y分成K個相互重疊的圖像塊,每個圖像塊大小為p×p×3,然后依次以每個圖像塊為中心圖像塊,在對應(yīng)的搜索窗內(nèi)找到前m個與中心圖像塊最相似的鄰域圖像塊,并構(gòu)成圖像塊組。
2)將圖像塊組中的每個彩色圖像塊拉直成長度為3p2列向量,得到一個2維矩陣Yi∈R3p2×m。
3)對Yi進(jìn)行去噪,得到去噪后的2維矩陣Xi∈R3p2×m。
4)將所有去噪后的Xi返回至原始位置,并對重疊區(qū)域進(jìn)行加權(quán)平均,得到最終的去噪圖像X。
步驟3)中,對Yi進(jìn)行去噪的ANL3DTV算法的去噪模型為
(10)
wij=[wij,RIp2×1;wij,GIp2×1;wij,BIp2×1]
(11)
(12)
(13)
式中,yij=[yij,R,yij,G,yij,B]、xij=[xij,R,xij,G,xij,B]和wij分別為Yi、Xi和Wi的第j個列向量,yij,c,xij,c,Ip2×1∈Rp2×1,Ip2×1是一個全1列向量,[σR,σG,σB]是彩色圖像的3個顏色分量上的噪聲強(qiáng)度,這里為噪聲標(biāo)準(zhǔn)差。
圖1 ANL3DTV去噪算法流程圖Fig.1 The flowchart of color image denoising using ANL3DTV
為了求解ANL3DTV去噪模型,引入輔助變量H,得到式(10)的增廣拉格朗日函數(shù),具體為
(14)
式中
(15)
式中,Φ是增廣拉格朗日乘子,β是懲罰因子。然后,利用交替方向乘子法求解式(12),即先優(yōu)化一個變量,同時固定其他變量,交替進(jìn)行,直至收斂。初始化相關(guān)變量,第t+1次迭代計算過程如下:
1)求解Xi。
關(guān)于Xi的優(yōu)化模型為
(16)
(17)
2)求解H。
關(guān)于H的優(yōu)化模型為
(18)
計算為
(19)
式中,Sα(b)=sign(b)·max(|b|-α,0),sign為符號函數(shù)。
3)求解Φ。
(20)
4)求解β。
β(t+1)=τβ(t)
(21)
(22)
證明 首先,利用式(18)和式(19)得到
(23)
所以,{Φ(t)}是有上界的,從而可以推出{Φ(t+1)-Φ(t)}也是有上界的。
因?yàn)棣?t+1)是函數(shù)(Θ;Φ(t),β(t))的全局最優(yōu)解,所以有(Θ(t+1);Φ(t),β(t))≤(Θ(t);Φ(t),β(t))。
令a為序列{Φ(t+1)-Φ(t)}的上界,可得
(24)
然后,利用強(qiáng)凸函數(shù)的定義和性質(zhì)(Boyd和Vandenberghe,2013)可得,存在ai>0(i=1,2)使以下不等式成立。即
(25)
由于(Θ;Φ,β)≥0,并且序列{Φ(t)}是有上界的,可得
(26)
(27)
為了測試ANL3DTV算法的去噪效果,與TV、TDV、NLTV、RNLTV、NLGRTV和HNHOTV-OGS等算法進(jìn)行對比。軟件平臺采用MATLAB R2016b,硬件平臺采用Intel Core (TM) i7-7700U CPU處理器,16 GB內(nèi)存,Windows 10操作系統(tǒng)。測試數(shù)據(jù)為從TID2013(tampere image database 2013)數(shù)據(jù)庫(Ponomarenko等,2013)和一些常用的測試圖像(例如Lena、Peppers、Baboon等)中隨機(jī)選取的20幅尺寸為341 × 256像素和256 × 256像素的彩色圖像,并用兩種方式給這些圖像添加高斯噪聲。第1種噪聲情況是給整幅圖像添加同一強(qiáng)度的高斯噪聲,σ為10、30和50;第2種噪聲情況是給圖像的3個顏色通道添加不一樣強(qiáng)度的高斯噪聲,[σR,σG,σB]為[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]。定量評價指標(biāo)采用峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity,SSIM)。ANL3DTV算法中圖像塊邊長p為7,相似塊數(shù)量m為60,參數(shù)τ為1.5。對比算法按相關(guān)文獻(xiàn)進(jìn)行參數(shù)設(shè)置。
表1列出了第1種噪聲情況下ANL3DTV和對比算法在測試數(shù)據(jù)集上的平均PSNR和平均SSIM結(jié)果。由表1可知,當(dāng)σ為10、30和50時,ANL3DTV的PSNR分別為32.33 dB、26.92 dB和24.57 dB,SSIM分別為92.99%、81.68%和73.57%。ANL3DTV在3種噪聲強(qiáng)度下的平均PSNR和平均SSIM分別比TV高出1.22 dB和3.45%,比TDV高出0.40 dB和0.92%,比NLTV高出0.33 dB和0.95%,比RNLTV高出0.61 dB和1.14%,比NLGRTV高出1.06 dB和2.39%,比HNHOTV-OGS高出0.16 dB和0.12%。
表1 第1種噪聲情況下的平均PSNR和平均SSIMTable 1 The average PSNR and average SSIM in the first noise case
表2列出了第2種噪聲情況下ANL3DTV和對比算法在測試數(shù)據(jù)集上的平均PSNR和平均SSIM結(jié)果。由表2可知,當(dāng)[σR,σG,σB]為[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]時,ANL3DTV的PSNR結(jié)果分別為31.62 dB、24.49 dB、27.47 dB和26.81 dB,SSIM分別為92.88%、73.02%、85.94% 和81.00%。ANL3DTVw為式(10)中的保真項(xiàng)內(nèi)去掉權(quán)重矩陣Wi時得到的算法。可以看出,添加權(quán)重矩陣Wi后,ANL3DTV的平均PSNR和平均SSIM分別比ANL3DTVw提升了0.89 dB和3.01%。ANL3DTV在4種噪聲情況下的平均PSNR和平均SSIM結(jié)果分別比TV高出1.32 dB和3.02%,比TDV高出1.76 dB和6.13%,比NLTV高出0.29 dB和0.19%,比HNHOTV-OGS高出0.55 dB和0.71%。
表2 第2種噪聲情況下的平均PSNR和平均SSIMTable 2 The average PSNR and average SSIM in the second noise case
圖2展示了噪聲強(qiáng)度為σ=50時ANL3DTV與其他對比算法的去噪視覺效果。從放大的細(xì)節(jié)圖可以看出,TV、TDV、RNLTV和NLGRTV過度平滑了圖像的結(jié)構(gòu),尤其是NLGRTV,幾乎完全丟失了百葉窗的結(jié)構(gòu)信息。雖然NLTV和HNHOTV-OGS保留了相對較多的細(xì)節(jié)信息,但是NLTV引入了大量明顯的偽影,HNHOTV-OGS也受到強(qiáng)噪聲的影響,誤將噪聲當(dāng)做有用的邊緣信息保留了下來。相比之下,ANL3DTV僅丟失了很少的細(xì)節(jié),而且更有效地濾除了噪聲。
圖2 噪聲強(qiáng)度σ=50時的去噪圖像Fig.2 The denoised results when σ=50((a)clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) RNLTV;(f) NLGRTV;(g) NLTV;(h) ANL3DTV(ours))
圖3和圖4分別展示了噪聲強(qiáng)度[σR,σG,σB]為[5, 15, 10]和[40, 5, 25]時ANL3DTV與對比算法的去噪視覺效果??梢钥闯?,TV、TDV、HNHOTV-OGS和NLTV丟失了較多的圖像細(xì)節(jié)。例如水面上的波紋、白墻上的文字和屋頂?shù)耐咂取T趫D4(a)中,可以看到黃色墻面上有3條很細(xì)的電線,在ANL3DTV的去噪圖像中還能隱約看出,而在對比算法的去噪圖像中均完全消失。
圖3 噪聲強(qiáng)度[σR, σG, σB]=[5, 15, 10]時的去噪圖像Fig.3 The denoised results when [σR, σG, σB]=[5, 15, 10]((a) clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) NLTV;(f) ANL3DTV(ours))
圖4 噪聲強(qiáng)度[σR, σG, σB]=[40, 5, 25]時的去噪圖像Fig.4 The denoised results when [σR, σG, σB]=[40, 5, 25]((a) clean image;(b) TV;(c) TDV;(d) HNHOTV-OGS;(e) NLTV;(f) ANL3DTV(ours))
圖5 加噪前后圖像的梯度直方圖Fig.5 Gradient histograms of clean and noisy images((a) σ= 10;(b) [σR, σG, σB]=[5, 40, 15])
圖6顯示了噪聲強(qiáng)度σ=10和σ=[5, 40, 15]時NLTV、HNHOTV-OGS和ANL3DTV等3種算法獲得的去噪圖像的梯度分布圖。可以看出,隨著噪聲強(qiáng)度σ的增加,NLTV和HNHOTV-OGS過度估計接近零梯度的像素數(shù)目,丟失了大量邊緣信息。尤其在[σR,σG,σB]=[5, 40, 15]時,NLTV和HNHOTV-OGS的梯度分布曲線明顯向左偏移。相比之下,ANL3DTV在兩種噪聲強(qiáng)度下的梯度分布都更接近未加噪圖像。實(shí)驗(yàn)表明,ANL3DTV在保持圖像紋理方面表現(xiàn)更佳,并且對噪聲更魯棒。
圖6 去噪圖像的梯度直方圖Fig.6 Gradient histograms of denoised images((a) σ=10;(b) [σR, σG, σB]=[5, 40, 15])
ANL3DTV中需要調(diào)試的參數(shù)為正則化參數(shù)λ和懲罰因子β。圖7顯示了噪聲強(qiáng)度σ= 50時不同參數(shù)值對去噪后的PSNR和SSIM的影響。由圖7可知,當(dāng)λ∈(0.07, 0.1],β∈(0.07, 0.1]時,ANL3DTV得到最優(yōu)的PSNR和SSIM值。對于其他噪聲強(qiáng)度,使用類似方法選擇得到參數(shù)設(shè)置。在第1種噪聲情況下,當(dāng)σ為10、30和50時,λ的取值范圍分別為(0.01, 0.07]、(0.04, 0.1]和(0.07, 0.1],β的取值范圍分別為(0.5, 1]、(0.07, 0.1]和(0.07, 0.1]。在第2種噪聲情況下,當(dāng)[σR,σG,σB]為[5, 15, 10]、[40, 50, 30]、[5, 40, 15]和[40, 5, 25]時,λ的取值范圍分別為(0.01, 0.07]、(0.001, 0.007]、(0.004, 0.007]和(0.007, 0.01],β的取值范圍分別為(0.01, 0.04]、(0.07, 0.1]、(0.04, 0.1]和(0.04, 0.1]。
圖7 不同參數(shù)對ANL3DTV的PSNR和SSIM值的影響Fig.7 PSNR and SSIM results of ANL3DTV with different parameters((a) λ;(b) β)
圖8展示了噪聲強(qiáng)度σ=50時,ANL3DTV的PSNR隨迭代次數(shù)t增多的變化曲線??梢钥闯?,當(dāng)t>40時,PSNR趨于穩(wěn)定。實(shí)驗(yàn)結(jié)果表明,ANL3DTV具有良好的收斂性。
圖8 ANL3DTV的PSNR隨迭代次數(shù)t增加的變化情況Fig.8 PSNR of ANL3DTV versus iteration number t
ANL3DTV和對比算法在341×256像素圖像上的平均運(yùn)行時間如表3所示??梢钥闯觯琓V所需時間最短,RNLTV和ANL3DTV所需時間相對較長。主要是因?yàn)锳NL3DTV需要為每一個圖像塊搜索相應(yīng)的非局部相似圖像塊,并計算3維全變分,而TV只需處理像素的局部梯度信息。
針對現(xiàn)有許多彩色圖像去噪算法未充分利用彩色圖像的非局部和局部相似性信息,并且忽略真實(shí)噪聲在不同圖像塊和顏色分量間的分布差異,提出了一種自適應(yīng)非局部3維全變分(ANL3DTV)去噪算法。ANL3DTV利用一個非局部3維全變分正則項(xiàng)捕獲彩色圖像塊內(nèi)和塊間的梯度信息,同時引入一個自適應(yīng)權(quán)重矩陣,可以根據(jù)噪聲強(qiáng)度的變化來調(diào)節(jié)算法在不同圖像塊和不同顏色分量上的去噪強(qiáng)度。實(shí)驗(yàn)從定量評價和視覺效果兩個方面比較ANL3DTV與6個基于全變分的算法在不同高斯噪聲強(qiáng)度下的去噪性能。結(jié)果表明,相較于對比算法,ANL3DTV在PSNR和SSIM指標(biāo)上分別增加了0.16-1.76 dB和0.12%-6.13%。同時,ANL3DTV提升了去噪視覺效果,對噪聲變化具有更強(qiáng)的魯棒性。
表3 不同算法的運(yùn)行時間Table 3 The run time of different methods
由于ANL3DTV在搜索相似性圖像塊時耗費(fèi)時間相對較長,因此不利于算法拓展至實(shí)時應(yīng)用。另外,雖然ANL3DTV在去除高斯噪聲上取得了令人滿意的結(jié)果,但對于非高斯噪聲的處理存在局限性。在后續(xù)工作中,針對彩色圖像混合噪聲的分布特點(diǎn),將考慮彩色圖像空間的幾何結(jié)構(gòu)特征,結(jié)合一些較先進(jìn)的圖像處理技術(shù),對相似性測量方式和去噪模型進(jìn)行優(yōu)化,進(jìn)一步提升算法的綜合性能。