張 琳 葉海良 楊 冰 曹飛龍
圖像去噪是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)基本問題,其目的是將含有噪聲的數(shù)字圖像恢復(fù)成干凈圖像.人們?cè)诓杉?、?shù)字化和傳輸圖像的過程中,不可避免地受到成像設(shè)備和外部環(huán)境噪聲干擾等影響,從而降低圖像的視覺效果,導(dǎo)致獲取的信息不準(zhǔn)確甚至錯(cuò)誤.因?yàn)閳D像去噪可從觀測(cè)值中分離噪聲并保留干凈圖像,所以受到學(xué)者們的廣泛關(guān)注,如醫(yī)學(xué)圖像[1]、圖像壓縮[2]、視頻去噪[3]、圖像分割[4]、目標(biāo)檢測(cè)[5]、衛(wèi)星成像[6]、遙感圖像[7]等.
近年來,學(xué)者們主要使用基于模型驅(qū)動(dòng)的方法進(jìn)行圖像去噪[8-9].由于傳統(tǒng)的迭代算法都是根據(jù)反映任務(wù)本質(zhì)的數(shù)學(xué)原理設(shè)計(jì)的,因此具有高度的可解釋性,但基于模型驅(qū)動(dòng)的方法也存在較明顯的弊端.除了需要人為設(shè)置參數(shù)以獲得最優(yōu)結(jié)果之外,較簡(jiǎn)單的優(yōu)化方法往往降噪效果不佳.
之后,學(xué)者們提出越來越多的基于數(shù)據(jù)驅(qū)動(dòng)的圖像去噪模型,并逐漸成為圖像去噪的主流方法,尤其是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN).但是,CNN結(jié)構(gòu)復(fù)雜多樣,并且依賴大量的訓(xùn)練數(shù)據(jù),因此,常作為黑箱使用.例如,Zhang等[10]提出DnCNNs(Denoising Convolutional Neural Networks),在分別處理圖像去噪任務(wù)和單幅圖像超分辨率任務(wù)時(shí),很難通過網(wǎng)絡(luò)參數(shù)分析網(wǎng)絡(luò)的運(yùn)行機(jī)制及清楚觀察它分別學(xué)到什么知識(shí).因此神經(jīng)網(wǎng)絡(luò)的弊端在于底層結(jié)構(gòu)的可解釋性較弱.
算法展開方法可避免神經(jīng)網(wǎng)絡(luò)方法缺乏可解釋性這一嚴(yán)重制約,結(jié)合傳統(tǒng)迭代算法和神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),同時(shí)避免各自的缺陷.具體地說,網(wǎng)絡(luò)在執(zhí)行有限次循環(huán)過程中,通過反向傳播更新參數(shù),代替?zhèn)鹘y(tǒng)算法中難以明確設(shè)計(jì)的復(fù)雜映射,而算法展開方法使網(wǎng)絡(luò)模塊和算法操作符之間具有精準(zhǔn)的一一對(duì)應(yīng)關(guān)系,因此可繼承傳統(tǒng)迭代算法的可解釋性.
表征自然圖像的數(shù)據(jù)矩陣通常是低秩或近似低秩的,可在幾乎不損失原有信息的基礎(chǔ)上,只使用其中幾個(gè)重要的特征表示圖像,如可使用奇異值分解(Singular Value Decomposition, SVD)達(dá)到壓縮原圖像的目的.因此,利用SVD將圖像去噪問題轉(zhuǎn)化成低秩矩陣逼近問題是合理的,這卻是一個(gè)NP難問題[11].針對(duì)這一問題,Candès等[12]提出使用矩陣的核范數(shù)作為秩函數(shù)的凸近似,但核范數(shù)并不是秩函數(shù)最好的逼近.因?yàn)楹朔稊?shù)對(duì)所有奇異值求和,在最小化過程中,所有的奇異值都會(huì)同時(shí)被最小化.針對(duì)這一問題,Hu等[13]提出截?cái)嗪朔稊?shù)(Truncated Nu-clear Norm, TNN),但在求TNN過程中SVD計(jì)算代價(jià)太高,很難在現(xiàn)實(shí)生活中被真正實(shí)施運(yùn)用.
因此,本文考慮結(jié)合基于數(shù)據(jù)驅(qū)動(dòng)的方法和基于模型驅(qū)動(dòng)的方法,相當(dāng)于在網(wǎng)絡(luò)中給噪聲添加一個(gè)具有約束性的先驗(yàn)信息,網(wǎng)絡(luò)在該先驗(yàn)信息的指導(dǎo)下,不僅具備較強(qiáng)的可解釋性,而且還在性能上體現(xiàn)較強(qiáng)的競(jìng)爭(zhēng)力.由此提出基于截?cái)嗪朔稊?shù)的圖像去噪展開網(wǎng)絡(luò)(TNN Based Unfolding Network for Image Denoising, TNNUNet).結(jié)合基于TNN的低秩稀疏矩陣恢復(fù)方法與圖像去噪,使用加性高斯白噪聲(Additive White Gaussian Noise, AWGN)[14]擬合待消除的噪聲.從訓(xùn)練數(shù)據(jù)集中學(xué)習(xí)奇異值矩陣,避免SVD操作計(jì)算量過大的問題.將TNNUNet用于圖像去噪任務(wù),實(shí)驗(yàn)表明,TNNUNet性能較優(yōu).
近年來,矩陣低秩稀疏分解(Low Rank and Spar- se Decomposition, LRSD)問題在許多領(lǐng)域都備受關(guān)注,如:多視圖聚類[15]、深度壓縮[16]、圖像分類[17]、高光譜異常檢測(cè)[18]等.
對(duì)于給定的觀測(cè)值X,它對(duì)應(yīng)的數(shù)據(jù)矩陣通常是低秩或近似低秩的.當(dāng)加入具有稀疏性的噪聲N后,會(huì)破壞原數(shù)據(jù)矩陣的低秩性.Wright等[19]將該問題描述為
(1)
但由于秩函數(shù)和l0范數(shù)的不連續(xù)性和非凸性,式(1)是一個(gè)NP難問題,可使用核范數(shù)近似秩函數(shù)[20-21].
同樣地,具有稀疏性的l1或l2,1范數(shù)可作為l0范數(shù)的凸近似.于是式(1)可改寫為
(2)
其中‖·‖*為矩陣的核范數(shù),可選擇l1或l2,1范數(shù),分別被定義為
盡管使用核范數(shù)代替秩函數(shù)可將式(1)轉(zhuǎn)化為凸函數(shù),但核范數(shù)也并不是秩函數(shù)最好的逼近.這是因?yàn)橹群瘮?shù)的值只與非零奇異值的個(gè)數(shù)有關(guān),而核范數(shù)是對(duì)矩陣的非零奇異值求和,它的值與非零奇異值的大小有關(guān),而與非零奇異值的個(gè)數(shù)無關(guān).因此,核范數(shù)在最小化過程中,所有奇異值無差異地一起被最小化.
為了解決這一問題,Gu等[22]提出WNNM (Wei- ghted Nuclear Norm Minimization),通過對(duì)不同奇異值賦予不同的權(quán)重以區(qū)別對(duì)待奇異值的貢獻(xiàn),但WNNM通常是非凸的.Hu等[13]提出TNN,因?yàn)槠娈愔翟谄娈愔稻仃囍惺菑拇蟮叫∨帕械模覝p少得特別快,那么任意一個(gè)矩陣都可用前r個(gè)最大的奇異值近似描述.因此在最小化過程中,只需要最小化最后min(m,n)-r個(gè)奇異值.于是式(2)可改寫為
(3)
通常使用核范數(shù)減去幾個(gè)最大奇異值之和表示TNN.同時(shí),式(3)中的lp范數(shù)簡(jiǎn)單地選擇l1范數(shù).于是式(3)可轉(zhuǎn)化為
(4)
為了求解式(4),對(duì)C進(jìn)行SVD分解,可得
U=(u1,u2,…,um)∈Rm×m,
V=(v1,v2,…,vn)∈Rn×n,
截?cái)嘀燎皉項(xiàng),得
A=(u1,u2,…,ur)T∈Rr×m,
B=(v1,v2,…,vr)T∈Rr×n,
其中A和B分別滿足AAT=Ir×r和BBT=Ir×r.根據(jù)Ye等[23]的工作,有
于是式(4)等價(jià)于
(5)
在式(5)的基礎(chǔ)上,Cao等[24]提出LRSD-TNN(Low-Rank and Sparse Decomposition Based on the TNN),并應(yīng)用于背景分離及去除面部圖像陰影特征.這是因?yàn)閷D像去噪問題轉(zhuǎn)化成低秩矩陣逼近問題具有合理性,并且容易展開到網(wǎng)絡(luò).
得益于靈活多變的網(wǎng)絡(luò)結(jié)構(gòu)和強(qiáng)大的學(xué)習(xí)能力,神經(jīng)網(wǎng)絡(luò)成為圖像去噪的主流方法.Zhang等[10]提出DnCNNs,使用17層卷積堆疊的網(wǎng)絡(luò)預(yù)測(cè)噪聲,強(qiáng)調(diào)殘差學(xué)習(xí)和批歸一化(Batch Normalization, BN)[25]相輔相成的作用.之后,Zhang等[26]提出FFDNet(Fast and Flexible Denoising CNN),在原深層CNN的基礎(chǔ)上添加全圖的噪聲水平估計(jì),更適用于真實(shí)場(chǎng)景的降噪.Tian等[27]提出DudeNet(Dual Denoising Network),其中一支子網(wǎng)絡(luò)將DnCNNs中的一部分普通卷積替換成空洞卷積,稱為“稀疏機(jī)制”,DudeNet融合兩個(gè)子網(wǎng)絡(luò)提取的特征,達(dá)到特征增強(qiáng)的目的.
這種基于空洞卷積的稀疏機(jī)制可在網(wǎng)絡(luò)深度與寬度之間進(jìn)行權(quán)衡,在減少網(wǎng)絡(luò)復(fù)雜度的同時(shí),達(dá)到提升去噪性能的目的.Tian等[28]提出BRDNet(Batch-Renormalization Denoising Network),在Dude-Net的基礎(chǔ)上,改變稀疏機(jī)制的內(nèi)部結(jié)構(gòu),即改變空洞卷積與普通卷積的個(gè)數(shù)和排列順序,并將兩個(gè)子網(wǎng)絡(luò)都更改為殘差結(jié)構(gòu)的形式.Tian等[29]提出ADNet(Attention-Guided Denoising CNN),結(jié)合稀疏機(jī)制和注意力機(jī)制,精細(xì)提取隱藏在背景中的噪聲信息.
根據(jù)上述描述可看出,在CNN中融入空洞卷積可在提升網(wǎng)絡(luò)性能的同時(shí)保證效率.
算法展開是避免神經(jīng)網(wǎng)絡(luò)黑盒性質(zhì)的一種方法,可通過算法展開生成可解釋性網(wǎng)絡(luò).Zhang等[30]提出USRNet(Deep Unfolding Super-Resolution Net-work),使用3個(gè)子網(wǎng)絡(luò)分別作為數(shù)據(jù)模塊、先驗(yàn)?zāi)K和超參模塊,代替算法中計(jì)算代價(jià)大和難以明確設(shè)計(jì)的映射.Wang等[31]提出RCDNet(Rain Con-volutional Dictionary Network),使用網(wǎng)絡(luò)代替算法中的兩個(gè)近端算子.Zhang等[32]提出AMP-Net,將AMP(Approximate Message Passing)的迭代去噪過程展開成多層網(wǎng)絡(luò).Zheng等[33]提出DCDicL(Deep Convolutional Dictionary Learning),通過4個(gè)子網(wǎng)絡(luò)分別完成初始化、學(xué)習(xí)系數(shù)先驗(yàn)知識(shí)、學(xué)習(xí)字典先驗(yàn)知識(shí)和預(yù)測(cè)超參的任務(wù),克服傳統(tǒng)算法人為設(shè)置先驗(yàn)知識(shí)的缺點(diǎn).
算法展開方法在深度神經(jīng)網(wǎng)絡(luò)方法和迭代算法之間建立具體而系統(tǒng)的聯(lián)系,可有效克服神經(jīng)網(wǎng)絡(luò)缺乏可解釋性的缺點(diǎn).
本文采用深度展開網(wǎng)絡(luò)進(jìn)行圖像去噪,該任務(wù)應(yīng)滿足如下兩點(diǎn).
1)將基于TNN的圖像去噪算法作為神經(jīng)網(wǎng)絡(luò)的原則性框架.由于每個(gè)步驟都具有傳統(tǒng)算法的邏輯性,算法展開繼承傳統(tǒng)迭代算法的可解釋性.
2)神經(jīng)網(wǎng)絡(luò)作為一個(gè)萬能逼近器,可代替算法中的復(fù)雜映射.
本文結(jié)合傳統(tǒng)迭代算法和神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì),提出基于截?cái)嗪朔稊?shù)的圖像去噪展開網(wǎng)絡(luò).
利用圖像數(shù)據(jù)矩陣的低秩性進(jìn)行圖像去噪,是將待恢復(fù)的圖像看作由退化前的數(shù)據(jù)和誤差組成,其中干凈圖像可通過低秩矩陣逼近,噪聲具有稀疏性,相應(yīng)的模型為式(5).求解這類在約束條件下的極值問題,通常做法是將其轉(zhuǎn)化為拉格朗日函數(shù)的極值問題.因此,將式(5)改寫為增廣拉格朗日函數(shù)的形式:
(6)
其中,Y表示拉格朗日乘子,
〈Y,X-C-N〉=tr(YT(X-C-N)),
表示矩陣的內(nèi)積,μ>0,表示正則化系數(shù).
此時(shí),有約束條件的優(yōu)化問題已轉(zhuǎn)化為無約束優(yōu)化問題.于是,采用交替方向乘子法(Alternating Direction Method of Multiplier, ADMM)將聯(lián)合優(yōu)化改成單獨(dú)交替迭代的形式:
其中,ρ>1,為常數(shù).
在求解式(6)中N時(shí),為了添加AWGN,使用N的F范數(shù)‖N‖F(xiàn)代替式(6)中的l1范數(shù)‖N‖1,于是,可通過求導(dǎo)得到N的解.根據(jù)文獻(xiàn)[24],可得到最后的解為
Ys+1=Ys+μs(X-Cs+1-Ns+1),
μs+1=min(ρμs,μmax),
其中求解矩陣C時(shí)采用奇異值閾值算法(Singular Value Thresholding Algorithm, SVT),被定義為
SVTμ(Q)=Udiag[max(σ-μ,0)]VT,
U∈Rm×r,V∈Rr×n,σ∈Rr×1是由任意給定的矩陣Q∈Rm×n進(jìn)行SVD得到的,即
Q=Udiag(σ)VT.
由于SVD和SVT的計(jì)算代價(jià)過高,因此本文使用神經(jīng)網(wǎng)絡(luò)代替這兩個(gè)操作,可減少模型的計(jì)算量,提升效率.
確定展開算法之后,關(guān)鍵的問題就是如何設(shè)計(jì)網(wǎng)絡(luò)取代SVD和SVT這兩個(gè)步驟.基于算法展開的思想,首先將上述算法的每個(gè)迭代步驟展開為相應(yīng)的網(wǎng)絡(luò)模塊,使用網(wǎng)絡(luò)代替SVD和SVT操作,其它運(yùn)算使用網(wǎng)絡(luò)中常用的運(yùn)算符執(zhí)行.執(zhí)行網(wǎng)絡(luò)的一個(gè)階段相當(dāng)于傳統(tǒng)算法的一次迭代,連接這些階段,形成一個(gè)深層神經(jīng)網(wǎng)絡(luò).
本文使用兩個(gè)結(jié)構(gòu)和參數(shù)設(shè)置相同的網(wǎng)絡(luò)A-net和B-net代替SVD操作,網(wǎng)絡(luò)輸出為代替奇異值矩陣的特征,分別取其前r個(gè)向量,得到
A=(u1,u2,…,ur)T∈Rr×m,
B=(v1,v2,…,vr)T∈Rr×n,
再使用一個(gè)去噪網(wǎng)絡(luò)SVT-net代替SVT操作,更新干凈圖像.其它操作按照網(wǎng)絡(luò)中常用的運(yùn)算符表示.
TNNUNet整體設(shè)計(jì)如圖1(a)所示,共有S個(gè)階段,將觀測(cè)圖像X和噪聲N作為輸入,輸出學(xué)習(xí)得到的干凈圖像C和噪聲N.從第2個(gè)階段開始,每個(gè)階段都以上一階段的輸出作為輸入,直到遍歷所有的階段.圖1(b)為TNNUNet第1、2階段的網(wǎng)絡(luò)架構(gòu)示意圖.
(a)完整結(jié)構(gòu)
本文簡(jiǎn)單使用五層卷積堆疊的A-net和B-net代替SVD操作,分別生成代替輸入矩陣的左奇異值矩陣和右奇異值矩陣的特征.具體地說,從第一層到第五層卷積的通道數(shù)都設(shè)置為64,采用3×3的卷積核.在輸入層和中間層有整流線性單元(Rectified Linear Units, ReLU)[34]激活函數(shù),最后一個(gè)卷積層后未設(shè)置激活函數(shù).并且除了第一層和最后一層,每層都與BN結(jié)合.這兩個(gè)網(wǎng)絡(luò)層數(shù)的選取將在實(shí)驗(yàn)部分進(jìn)行討論.
SVT-net的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,它的作用是代替SVT操作,每一階段生成干凈圖像都是在這一步完成的.因?yàn)樗惴ㄕ归_將所有階段連接并形成一個(gè)深層神經(jīng)網(wǎng)絡(luò),所以,采用文獻(xiàn)[35]的深度殘差網(wǎng)絡(luò)形式,避免網(wǎng)絡(luò)層數(shù)較多引起的退化現(xiàn)象.
圖2 SVT-net網(wǎng)絡(luò)結(jié)構(gòu)示意圖
SVT-net由如下3部分組成.
1)由普通卷積(Conv)和空洞卷積(Dilated Conv)對(duì)稱排列的稀疏模塊,用于初步提取輸入圖像的特征;
2)融合初步提取的特征和輸入圖像特征的特征融合模塊,當(dāng)網(wǎng)絡(luò)層數(shù)增加時(shí),強(qiáng)調(diào)淺層網(wǎng)絡(luò)對(duì)深層網(wǎng)絡(luò)的影響;
3)重構(gòu)模塊,從原始觀測(cè)圖像中去除網(wǎng)絡(luò)預(yù)測(cè)的噪聲,重構(gòu)需要的干凈圖像.
本文的損失函數(shù)由兩部分組成:學(xué)習(xí)的奇異值矩陣的正交損失和生成的干凈圖像與真實(shí)值的均方誤差損失(Mean-Square Error, MSE):
其中,S表示展開網(wǎng)絡(luò)的階段數(shù),λs表示MSE懲罰參數(shù),γs表示正交損失的懲罰參數(shù).
最終TNNUNet步驟如算法1所示.
算法1TNNUNet
輸入X,λ,μ0,μmax,ρ
輸出A,B,C
初始化C0,N0,Y0;
S表示展開網(wǎng)絡(luò)的階段數(shù);
Fors=0∶Sdo
給定干凈圖像Cs,通過網(wǎng)絡(luò)計(jì)算左奇異值矩陣U和右奇異值矩陣V:
Us+1=A-net(Cs),Vs+1=B-net(Cs).
截?cái)嘀燎皉項(xiàng),得到As+1,Bs+1.
通過網(wǎng)絡(luò)計(jì)算干凈圖像Cs+1.
由已知變量計(jì)算噪聲Ns+1.
更新拉格朗日乘子Ys+1.
更新參數(shù)μs+1.
end for
本節(jié)中,本文使用Berkeley Segmentation Dataset
(BSD)[36]中的400幅180×180的圖像合成AWGN圖像.在這400幅圖像上進(jìn)行如下三步操作以達(dá)到數(shù)據(jù)增強(qiáng)的目的.
1)分別采用尺度因子1、0.9、0.8、0.7對(duì)每幅圖像進(jìn)行縮放,得到4種尺寸的圖像.
2)以滑窗的形式,以步長(zhǎng)為10,將這4種尺寸的圖像裁剪成40×40的小塊,達(dá)到擴(kuò)大數(shù)據(jù)集的目的.
3)將得到的小塊進(jìn)行鏡像和翻轉(zhuǎn)的操作:剪裁后的原圖像上下翻轉(zhuǎn);剪裁后的原圖像逆時(shí)針旋轉(zhuǎn)90°,然后上下翻轉(zhuǎn);剪裁后的原圖像逆時(shí)針旋轉(zhuǎn)90°兩次,然后上下翻轉(zhuǎn);剪裁后的原圖像逆時(shí)針旋轉(zhuǎn)90°三次,然后上下翻轉(zhuǎn).旋轉(zhuǎn)和翻轉(zhuǎn)操作后每次生成的新圖像都放入訓(xùn)練集,達(dá)到增加訓(xùn)練集多樣性的目的.最后添加AWGN,得到合成噪聲訓(xùn)練集.
在BSD68[37]、Set12[38]數(shù)據(jù)集上評(píng)估TNNUNet.BSD68數(shù)據(jù)集包含68幅尺寸為321×481或481×321的圖像.Set12數(shù)據(jù)集包含12幅尺寸為256×256的圖像.這兩個(gè)數(shù)據(jù)集都廣泛用于評(píng)估不同場(chǎng)景灰度圖像的去噪性能,不用于訓(xùn)練.
TNNUNet每個(gè)階段的深度是23層.根據(jù)經(jīng)驗(yàn)設(shè)置初始化參數(shù)如下:初始學(xué)習(xí)率為10-3,學(xué)習(xí)率下降回合間隔數(shù)為20,學(xué)習(xí)率調(diào)整倍數(shù)為0.2,批量大小為128,訓(xùn)練模型的迭代次數(shù)為180,正則化參數(shù)λ=0.01,懲罰參數(shù)μ=100,并設(shè)置μ的上限為200,常數(shù)ρ=1.1;對(duì)于X∈Rm×n,設(shè)置
秩r=0.1min(m,n).
本文將圖像裁剪成小塊,不僅可增加訓(xùn)練集數(shù)量,還可減少計(jì)算量,加快運(yùn)算速度.小塊的大小是根據(jù)網(wǎng)絡(luò)的感受野大小設(shè)計(jì)的,考慮的主要因素是在卷積過程中接收域的變化.
本文網(wǎng)絡(luò)涉及如下3種卷積.
1)卷積核為3×3的普通卷積,具體地,對(duì)于深度為d的網(wǎng)絡(luò),對(duì)應(yīng)的感受野為(2d+1)×(2d+1).
2)卷積核為1×1的普通卷積,不會(huì)改變接收域的大小.
3)卷積核為3×3的空洞卷積,膨脹因子為2,可從更廣闊的領(lǐng)域接收更多的信息.具體地,對(duì)于深度為d的網(wǎng)絡(luò),接受域大小為(4d+1)×(4d+1).
A-net和B-net的感受野都是11×11,SVT-net的感受野大小為41×41,為了簡(jiǎn)單起見,小塊的大小選擇40×40.
本節(jié)所有的對(duì)比實(shí)驗(yàn)都在Set12數(shù)據(jù)集上進(jìn)行測(cè)試,噪聲水平σ=25.使用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)和結(jié)構(gòu)相似度(Struc-ture Similarity Index Measure, SSIM)作為評(píng)價(jià)去噪性能的指標(biāo).
PSNR定義為
其中,MAX表示圖像可能的最大像素值,MSE表示真實(shí)干凈圖像和預(yù)測(cè)值之間的均方誤差.一般來說,PSNR越大,表示圖像質(zhì)量越好.
SSIM定義為
首先對(duì)比A-net和B-net在設(shè)置不同層數(shù)時(shí)的去噪效果,結(jié)果如表1所示,表中黑體數(shù)字表示最優(yōu)值.由表可見,僅用5層卷積堆疊就可較好代替SVD操作,表現(xiàn)出良好的去噪效果.
表1 A-net和B-net在不同層數(shù)下的去噪效果
傳統(tǒng)算法的每次迭代相當(dāng)于運(yùn)行網(wǎng)絡(luò)的一個(gè)階段.傳統(tǒng)算法需要設(shè)計(jì)大量迭代,而算法展開得益于神經(jīng)網(wǎng)絡(luò)端到端的學(xué)習(xí),僅需很少量的階段數(shù)即可獲得和傳統(tǒng)算法相當(dāng)甚至更優(yōu)的結(jié)果.
下面對(duì)比不同階段數(shù)下TNNUNet的去噪效果,確定最優(yōu)的階段數(shù),結(jié)果如表2所示,表中黑體數(shù)字表示最優(yōu)值.由表可見,當(dāng)階段數(shù)為3時(shí)達(dá)到最優(yōu)去噪效果.
表2 TNNUNet在不同階段數(shù)下的去噪效果對(duì)比
最后對(duì)比在不同損失函數(shù)系數(shù)下TNNUNet的去噪效果,確定最優(yōu)損失函數(shù)系數(shù),結(jié)果講圖3所示.
圖3 損失函數(shù)系數(shù)不同時(shí)TNNUNet的去噪效果
圖3中α表示在第1階段至第S-1階段的正
交損失函數(shù)和生成干凈圖像的MSE系數(shù),β表示在最后一個(gè)階段的正交損失函數(shù)系數(shù),在最后一個(gè)階段的生成干凈圖像的均方誤差系數(shù)為1.
圖3中標(biāo)注的圓點(diǎn)為對(duì)比實(shí)驗(yàn)中的最優(yōu)結(jié)果:
α=0.1,β=0.5,PSNR=30.61 dB.
本文選擇如下對(duì)比算法:BM3D(Block Ma-tching and 3D Filtering)[9]、DnCNNs[11]、WNNM[22]、FFDNet[26]、DudeNet[27]、BRDNet[28]、ADNet[29]、EPLL(Expected Patch Log Likelihood)[39]、MLP(Multi-layer Perceptron)[40]、CSF(Inter-leaved Cascade of Shrinkage Fields)[41]、TNRD(Trainable Nonlinear Reaction Diffusion)[42]、文獻(xiàn)[43]算法.
一個(gè)好的去噪器需要在SSIM和運(yùn)行時(shí)間上都取得良好結(jié)果,同時(shí)可視化結(jié)果也是判斷去噪效果的一個(gè)重要因素.因此,本文使用PSNR和運(yùn)行時(shí)間作為評(píng)價(jià)去噪性能的指標(biāo).
各方法在BSD68數(shù)據(jù)集上去噪后的平均PSNR對(duì)比如表3所示,表中黑體數(shù)字表示最優(yōu)值,斜體數(shù)字表示次優(yōu)值.由表可看出,TNNUNet在不同的噪聲水平下都取得最優(yōu)值.
表3 各方法在BSD68數(shù)據(jù)集上的平均PSNR對(duì)比
為了方便直觀對(duì)比各方法的去噪效果,選取干凈圖像、噪聲圖像和通過不同方法恢復(fù)的干凈圖像的同個(gè)區(qū)域進(jìn)行放大,可視化結(jié)果如圖4所示.
(a)干凈圖像 (b)觀測(cè)圖像(14.17 dB) (c)BM3D(25.77 dB) (d)ADNet(26.18 dB)
各方法在Set12數(shù)據(jù)集上的去噪結(jié)果如表4~表6所示,表中黑體數(shù)字表示最優(yōu)值,斜體數(shù)字表示次優(yōu)值.由表可看出,TNNUNet在不同的噪聲水平下的降噪效果最優(yōu).
表4 σ=15時(shí)各方法在Set12數(shù)據(jù)集上的平均PSNR對(duì)比
表5 σ=25時(shí)各方法在Set12數(shù)據(jù)集上的平均PSNR對(duì)比
表6 σ=50時(shí)各方法在Set12數(shù)據(jù)集上的平均PSNR對(duì)比
圖5為相應(yīng)的可視化結(jié)果.
(a)干凈圖像 (b)觀測(cè)圖像(20.17 dB) (c)BM3D(30.6 dB) (d)ADNet(29.89 dB)
BM3D、 WNNM、 EPLL、MLP、TNRD、CSF、DnCNN、TNNUNet在不同尺寸(256×256、512×512和1 024×1 024)圖像上的測(cè)試時(shí)間對(duì)比如表7所示,表中黑體數(shù)字表示最優(yōu)值,斜體數(shù)字表示次優(yōu)值.由表可見,相比傳統(tǒng)迭代算法,深度學(xué)習(xí)為算法展開提供理想的計(jì)算優(yōu)勢(shì).相比神經(jīng)網(wǎng)絡(luò)去噪方法,雖然TNNUNet在運(yùn)行時(shí)間上取得次優(yōu)的結(jié)果,但也具有競(jìng)爭(zhēng)力,精度已超越與之對(duì)比的方法.
表7 各方法在不同尺寸噪聲圖像上的測(cè)試時(shí)間
本文結(jié)合深度學(xué)習(xí)強(qiáng)大的特征提取能力和傳統(tǒng)迭代算法的高度可解釋性,構(gòu)造TNNUNet.為了驗(yàn)證TNNUNet的優(yōu)勢(shì),在Set12數(shù)據(jù)集上分別驗(yàn)證如下3種方法的去噪效果.
1)基于模型驅(qū)動(dòng)的SVT-Net;
2)基于數(shù)據(jù)驅(qū)動(dòng)的LRSD-TNN[24];
3)基于算法展開的TNNUNet.噪聲水平σ=25.
3種方法的去噪效果如表8所示,表中黑體數(shù)字表示最優(yōu)值.由表可看出,算法展開的去噪效果優(yōu)于純模型驅(qū)動(dòng)和純數(shù)據(jù)驅(qū)動(dòng)的效果.
表8 各方法的去噪效果對(duì)比
針對(duì)計(jì)算機(jī)視覺領(lǐng)域中經(jīng)典的圖像去噪問題,本文設(shè)計(jì)基于截?cái)嗪朔稊?shù)的圖像去噪展開網(wǎng)絡(luò)(TNNUNet).網(wǎng)絡(luò)結(jié)合神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)迭代算法的優(yōu)勢(shì),將基于模型驅(qū)動(dòng)的去噪方法作為網(wǎng)絡(luò)的原則性框架,提供可解釋性.同時(shí),使用網(wǎng)絡(luò)代替算法中難以明確設(shè)計(jì)的映射,在減少計(jì)算量的同時(shí)提高去噪效果.遍歷網(wǎng)絡(luò)的所有階段,相當(dāng)于執(zhí)行有限次迭代算法,將這些階段連接后形成一個(gè)深層神經(jīng)網(wǎng)絡(luò).實(shí)驗(yàn)表明,相比其它圖像去噪方法,TNNUNet具有明顯的性能優(yōu)勢(shì).今后可考慮從網(wǎng)絡(luò)復(fù)雜度和運(yùn)行時(shí)間等方面進(jìn)行改進(jìn).