李靜, 劉哲, 黃文準(zhǔn)
(西京學(xué)院 信息工程學(xué)院, 陜西 西安 710123)
遙感圖像、醫(yī)學(xué)圖像、天文圖像、合成孔徑雷達(dá)圖像、軍用夜視圖像等不同領(lǐng)域的圖像,在成像和傳輸過(guò)程中都會(huì)受到設(shè)備本身和外界信號(hào)的干擾,造成圖像中伴有大量噪聲,圖像細(xì)節(jié)被淹沒(méi)在噪聲中;或者導(dǎo)致圖像分辨率降低,嚴(yán)重影響圖像質(zhì)量,致使后續(xù)的圖像分割、圖像識(shí)別等不能順利進(jìn)行。因此,圖像降噪和圖像超分辨率重建一直以來(lái)都是現(xiàn)代圖像處理領(lǐng)域的研究熱點(diǎn)。
國(guó)內(nèi)外學(xué)者利用圖像先驗(yàn)?zāi)P腿ピ?,如非局部自相?NSS)模型[1-2]、梯度模型[3]、稀疏字典學(xué)習(xí)模型[4]和馬爾可夫隨機(jī)場(chǎng)(MRF)模型[5]等,對(duì)圖像降噪算法進(jìn)行了大量研究。其中,最經(jīng)典的是基于三維相似塊匹配的去噪算法(BM3D)[2],該算法利用圖像塊之間的相似性,對(duì)具有相似結(jié)構(gòu)的圖像塊進(jìn)行三維變換域?yàn)V波,取得了很好的降噪效果。后來(lái)該算法擴(kuò)展到彩色圖像的降噪(CBM3D)[6]并用外部先驗(yàn)[7]來(lái)去除噪聲。Buades等[1]基于圖像中包含大量自相似結(jié)構(gòu)的特點(diǎn),提出了非局部均值(NLM)去噪算法。NLM算法充分利用自然圖像中存在的大量冗余信息,能更好地保持圖像的紋理和細(xì)節(jié)。
目前,深度學(xué)習(xí)已成為機(jī)器學(xué)習(xí)領(lǐng)域的發(fā)展趨勢(shì)和研究熱點(diǎn),深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)在圖像分割、圖像識(shí)別和自動(dòng)駕駛等領(lǐng)域的成功應(yīng)用為圖像降噪問(wèn)題的解決打開(kāi)了新思路[8-10],尤其是不同噪聲環(huán)境下的圖像降噪。與傳統(tǒng)圖像降噪方法相比,DCNN的學(xué)習(xí)能力更強(qiáng),網(wǎng)絡(luò)模型對(duì)不同標(biāo)準(zhǔn)噪聲的適應(yīng)能力也更好,擁有更強(qiáng)大的泛化能力。Mao等[11]提出了用于圖像降噪的深度卷積編解碼網(wǎng)絡(luò)。Zhang等[12]提出了降噪神經(jīng)網(wǎng)絡(luò)(IRCNN)模型。Zhang等[13]提出了一種針對(duì)高斯噪聲的深度殘差學(xué)習(xí)模型。蓋杉等[14]提出一種基于深度學(xué)習(xí)的高噪聲圖像去噪算法。
近幾年,基于深度學(xué)習(xí)的圖像超分辨率技術(shù)得到了學(xué)術(shù)界的廣泛研究。香港中文大學(xué)的Dong等[15]首次將卷積神經(jīng)網(wǎng)絡(luò)(CNN)引入圖像超分辨率重建,構(gòu)建了超分辨率卷積神經(jīng)網(wǎng)絡(luò)(SRCNN)模型,與傳統(tǒng)算法相比,雖然該模型取得了更優(yōu)效果,但收斂速度慢、不同放大倍數(shù)需要重新進(jìn)行訓(xùn)練。針對(duì)這些問(wèn)題, Dong等[16]改進(jìn)了SRCNN,又提出了Fast-SRCNN(FSRCNN)模型,F(xiàn)SRCNN的訓(xùn)練速度比SRCNN提高了近40倍,而且重構(gòu)效果更好。Luo等[17]也通過(guò)改進(jìn)SRCNN模型,重建了衛(wèi)星視頻序列并取得很好的效果。Ducournau等[18]將SRCNN模型的中間層參數(shù)微調(diào),對(duì)衛(wèi)星拍攝的海表面溫度(SST)圖進(jìn)行超分辨率重建,用于后續(xù)的數(shù)據(jù)處理。Shi等[19]提出了有效像素重排卷積網(wǎng)絡(luò)(ESPCN)。韓國(guó)首爾國(guó)立大學(xué)的Kim等[20]首次把殘差學(xué)習(xí)(RL)與圖像超分辨率重建進(jìn)行融合,利用小卷積核構(gòu)建了20層非常深的超分辨率卷積網(wǎng)絡(luò)(VDSR)模型,通過(guò)增加感受野來(lái)學(xué)習(xí)圖像上下文的關(guān)聯(lián)信息。美國(guó)加利福尼亞大學(xué)的Lai等[21]提出一種LapSRN模型,該模型采用金字塔結(jié)構(gòu)完成單張圖像的超分辨率重構(gòu),它既能完成放大倍數(shù)為2倍、4倍的超分辨率重建,而且在8倍放大因子處還取得了滿意的重構(gòu)效果。
圖像降噪和超分辨率本質(zhì)上都是對(duì)降質(zhì)圖像進(jìn)行恢復(fù),重建出清晰圖像。圖像降噪是去除圖像中的噪聲,受噪聲嚴(yán)重污染的圖像經(jīng)過(guò)降噪后,往往會(huì)丟失很多圖像細(xì)節(jié),導(dǎo)致圖像分辨率降低和圖像模糊,而圖像超分辨率重建就是將低分辨率圖像通過(guò)機(jī)器學(xué)習(xí),重構(gòu)細(xì)節(jié)清晰的高分辨率圖像?;诖?,本文提出了一種基于快速NLM和超分辨率重建相結(jié)合的新型圖像降噪算法。首先,建立噪聲圖像樣本庫(kù)和與之對(duì)應(yīng)的清晰圖像樣本庫(kù);接著,利用本文提出的快速NLM降噪算法對(duì)含有不同噪聲強(qiáng)度的圖像樣本進(jìn)行降噪,形成初步降噪后的圖像樣本訓(xùn)練庫(kù),本文稱之為低分辨率圖像訓(xùn)練樣本庫(kù);然后,將低分辨率圖像訓(xùn)練樣本輸入到文中提出的深度殘差卷積網(wǎng)絡(luò)(DRCNN),學(xué)習(xí)低分辨率圖像和高分辨率圖像之間的殘差;最后,將低分辨率圖像和殘差圖像相加,就得到超分辨率重建后的清晰圖像。
NLM算法利用自然圖像中普遍存在的冗余性和局部自相似性,通過(guò)對(duì)具有相似性質(zhì)的圖像塊進(jìn)行加權(quán)平均得到降噪后的圖像。假設(shè)噪聲圖像的模型為
y=x+v,
(1)
式中:x表示理想無(wú)噪聲圖像;y表示受噪聲污染圖像;v表示噪聲(此處以高斯噪聲為例)。設(shè)已知一幅含噪圖像y={y(i),i∈I},I表示圖像域,對(duì)于圖像中任意一個(gè)像素i,運(yùn)用NLM算法進(jìn)行降噪,降噪后的圖像表示為
(2)
式中:i、j表示像素;Ω表示以像素i為中心的搜索圖像區(qū)域,其大小為p×p;w為表征像素點(diǎn)i、j之間相似度的權(quán)值,
(3)
h為控制濾波器平滑程度的參數(shù),d(i,j)表示N(i)和N(j)之間的高斯加權(quán)歐氏距離,
(4)
N(i)和N(j)分別表示以像素i、j為中心,大小為k×k鄰域圖像塊,k和p滿足p>k,α為高斯核的標(biāo)準(zhǔn)差。在求歐式距離時(shí),不同位置的像素權(quán)重是不一樣的,距離塊中心越近,權(quán)重越大,距離中心越遠(yuǎn)則權(quán)重越小,權(quán)重服從高斯分布。NLM算法對(duì)像素i濾波時(shí),中心圖像塊N(i)要與搜索圖像區(qū)域Ω中的所有圖像塊N(j)進(jìn)行相似性比較。假設(shè)圖像的大小為M×M,NLM算法處理一個(gè)像素點(diǎn)需要2p2k2次乘法,處理整幅圖像需要2M2p2k2次乘法。因此,NLM算法的計(jì)算復(fù)雜度為O(M2p2k2),計(jì)算復(fù)雜度非常高。
如上所述,NLM算法需要逐像素處理,處理每個(gè)像素時(shí)需要計(jì)算以該像素為中心的圖像塊與搜索區(qū)域中每個(gè)圖像塊之間的高斯加權(quán)歐氏距離,計(jì)算加權(quán)歐氏距離需要花費(fèi)大量時(shí)間。本文從高斯加權(quán)歐氏距離上著手改進(jìn)NLM算法。由(4)式可知:
(5)
由(5)式可知:NLM算法中計(jì)算d(i,j)用時(shí)最多,主要是因?yàn)椴捎昧?-范式和高斯加權(quán),很難對(duì)算法進(jìn)行化簡(jiǎn)。為此,本文用均勻加權(quán)代替高斯加權(quán),且認(rèn)為所有均勻權(quán)系數(shù)為1.于是,(5)式變換為
(6)
根據(jù)NLM算法,N(i)和N(j)是相似塊,滿足N(i)≈N(j),將此式代入(6)式,為了保證取值的非負(fù)性,給結(jié)果取絕對(duì)值,并將2-范式用1-范式代替得到(7)式:
(7)
由(7)式可知,d(i,j)可以通過(guò)求圖像塊N(i)所有像素值和的平方減去N(j)所有像素值和的平方的絕對(duì)值得到。將(7)式代入(3)式和(2)式就得到改進(jìn)的NLM算法,通過(guò)后面的仿真實(shí)驗(yàn)可以驗(yàn)證本文所提改進(jìn)的NLM算法和NLM算法具有相近一致的降噪效果。
假設(shè)有一幅圖像I,其大小為M×M,用改進(jìn)的NLM算法對(duì)I進(jìn)行降噪。設(shè)搜索窗Ω的大小為p×p,相似窗Ws的大小為k×k,中心窗Wc的大小同為k×k,如圖1(a)所示,給出了算法示意圖。圖1(a)中藍(lán)色方框代表中心窗Wc,黑色標(biāo)記的點(diǎn)位于Wc的中心,是要處理的中心像素點(diǎn),紅色方框(包含中心的藍(lán)色方框)代表搜索窗Ω.圖1(b)中,綠色方框代表相似窗,相似窗Ws以搜索窗的像素點(diǎn)為中心,從搜索窗Ω左上角的像素點(diǎn)開(kāi)始,逐像素依次遍歷所有搜索窗的所有像素,計(jì)算中心像素點(diǎn)和搜索窗中每個(gè)像素點(diǎn)的相似權(quán)重,處理后的中心像素點(diǎn)值等于所有搜索窗像素點(diǎn)值的加權(quán)和。
圖1 快速NLM示意圖Fig.1 Schematic diagram of fast NLM algorithm
利用(7)式計(jì)算中心窗和相似窗的近似距離,如果能夠快速計(jì)算相似窗的所有像素值之和,則算法的復(fù)雜度將大大降低。本文用盒子濾波器(Boxfilter)來(lái)實(shí)現(xiàn)相似窗的所有像素的快速求和。Boxfilter的原理如圖1(c)、圖1(d)所示,綠色窗口代表相似窗,從搜索窗的左上角開(kāi)始逐像素進(jìn)行移動(dòng)。Boxfilter計(jì)算相似窗所有像素之和的步驟如下:
1)開(kāi)辟一個(gè)數(shù)組A,其長(zhǎng)度等于M.
2)對(duì)于第1個(gè)最開(kāi)始的相似窗,分別計(jì)算相似窗各列像素之和,存儲(chǔ)在數(shù)組A中,由圖1(c)可知,第1個(gè)相似窗的所有像素之和sum1=A(1)+A(2)+A(3)+A(4)+A(5)。
3)相似窗向右移動(dòng)一個(gè)像素距離,只計(jì)算新進(jìn)入一列的像素之和,存儲(chǔ)在數(shù)組A(6)中,則第2個(gè)相似窗的所有像素之和sum2=sum1-A(1)+A(6)。
4)重復(fù)上述步驟,直至遍歷完搜索窗。
Boxfilter的計(jì)算復(fù)雜度為O(1),計(jì)算一個(gè)相似窗和中心窗的近似距離需要2次乘法,總共有p2個(gè)相似窗,因此用本文算法處理一個(gè)像素需要2p2次乘法,處理整幅圖像需要2M2p2次乘法,計(jì)算復(fù)雜度為O(M2p2)。與傳統(tǒng)NLM算法復(fù)雜度O(M2p2k2)相比,本文算法的復(fù)雜度降低了很多。
本文綜合了文獻(xiàn)[15]的前饋去噪卷積神經(jīng)網(wǎng)絡(luò)(DnCNN)和文獻(xiàn)[16]的FSRCNN的特點(diǎn)和優(yōu)勢(shì),建立了如圖2所示的用于圖像超分辨率重建的DRCNN結(jié)構(gòu)。該網(wǎng)絡(luò)結(jié)構(gòu)由5個(gè)部分組成,每部分均設(shè)步長(zhǎng)為1×1,通道數(shù)為c(灰度圖像通道數(shù)為1,彩色圖像通道數(shù)為3)。這5個(gè)部分分別是:
圖2 網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.2 Network structure diagram
1)特征提取層(由特征提取核Conv+激活函數(shù)PReLU構(gòu)成):采用核尺寸為3×3×c的64個(gè)卷積核生成64個(gè)特征圖,使用參數(shù)化修正線性單元(PReLU)對(duì)特征圖進(jìn)行非線性變換,從而形成非線性特征映射圖。
2)降維層(由特征提取核Conv+激活函數(shù)PReLU構(gòu)成):為了降低網(wǎng)絡(luò)參數(shù),加速網(wǎng)絡(luò)訓(xùn)練速度,文中采用核尺寸為3×3的32個(gè)卷積核,將特征提取層的64個(gè)特征圖進(jìn)行降維,收縮成32個(gè)特征圖。
3)非線性映射層(由特征提取核Conv+批量歸一化(BN)+激活函數(shù)PReLU構(gòu)成):非線性映射層由k層Conv+BN+PReLU構(gòu)成,每層包含32個(gè)大小為3×3的卷積核,完成對(duì)32個(gè)特征圖的濾波,并且將BN加在卷積和PReLU之間,以解決網(wǎng)絡(luò)內(nèi)部協(xié)變量轉(zhuǎn)變的問(wèn)題。
4)升維層(由特征提取核Conv+激活函數(shù)PReLU構(gòu)成):對(duì)應(yīng)于降維,需要將特征圖進(jìn)行升維,以便重構(gòu)。經(jīng)過(guò)k個(gè)非線性映射層后,用64個(gè)大小為3×3的卷積核,將非線性映射層輸出的32個(gè)特征圖升維到64個(gè)特征圖。
5)重構(gòu)層(由特征提取核Conv構(gòu)成):使用c個(gè)大小為3×3×64的濾波器重構(gòu)殘差圖,在此基礎(chǔ)上疊加低分辨圖像從而重構(gòu)超分辨率圖像。
DRCNN各層都采用PReLU作為激活函數(shù),其輸出為
f(x)=max(x,0)+amin(0,x),
(8)
式中:a為可學(xué)習(xí)的參數(shù)。相比于修正線性單元(ReLU)激活函數(shù),PReLU僅僅增加少許計(jì)算量便實(shí)現(xiàn)了更高的準(zhǔn)確率,而且可以避免ReLU造成的神經(jīng)元壞死現(xiàn)象。
由于神經(jīng)網(wǎng)絡(luò)在反向傳播過(guò)程中會(huì)不斷地傳播梯度,而當(dāng)網(wǎng)絡(luò)深度增加時(shí),梯度在傳播過(guò)程中會(huì)逐漸消失,這樣會(huì)導(dǎo)致對(duì)前面網(wǎng)絡(luò)層的權(quán)重?zé)o法有效調(diào)制。因此,網(wǎng)絡(luò)深度越深,模型的準(zhǔn)確率并不是越高;相反,當(dāng)網(wǎng)絡(luò)深度增加到一定值后,訓(xùn)練精度和測(cè)試精度都會(huì)迅速下降。
大量文獻(xiàn)和實(shí)驗(yàn)表明,運(yùn)用RL可以很好地解決上述問(wèn)題。因此,本文沒(méi)有使用從低分辨率圖像到高分辨率圖像的端到端學(xué)習(xí)作為訓(xùn)練的損失函數(shù),而是用低分辨率和高分辨率之間的RL,這點(diǎn)不同于以往超分辨率重建方法。假設(shè)高分辨圖像y是由低分辨率圖像x和殘差圖像v構(gòu)成,見(jiàn)(9)式,這里的殘差圖像v的實(shí)質(zhì)是低分辨率圖像所丟失的細(xì)節(jié)圖像:
y=x+v.
(9)
接著,利用RL訓(xùn)練殘差映射R(y)≈v,然后通過(guò)y=x+R(y)計(jì)算預(yù)測(cè)殘差圖像和期望殘差圖像之間的均方誤差[14]。
目標(biāo)的損失函數(shù)l(w,b)定義如下:
(10)
(11)
式中:λ為學(xué)習(xí)率;l為參數(shù)所在的網(wǎng)絡(luò)層數(shù)。利用(11)式的迭代規(guī)則和神經(jīng)網(wǎng)絡(luò)前向與后向傳導(dǎo)算法,就能得到訓(xùn)練后的網(wǎng)絡(luò)模型。
隨機(jī)梯度下降法(SGD)廣泛應(yīng)用于CNN的訓(xùn)練方法中,該算法雖然有效簡(jiǎn)單,但是在網(wǎng)絡(luò)模型訓(xùn)練過(guò)程中容易出現(xiàn)內(nèi)部協(xié)變量轉(zhuǎn)移,進(jìn)而改變網(wǎng)絡(luò)內(nèi)部非線性輸入的分配,導(dǎo)致網(wǎng)絡(luò)訓(xùn)練效率降低,訓(xùn)練性能受到影響[14]。為了解決網(wǎng)絡(luò)內(nèi)部協(xié)變量轉(zhuǎn)移,克服深度神經(jīng)網(wǎng)絡(luò)難以訓(xùn)練,有效預(yù)防梯度彌散的缺陷,提出了BN. BN就是在每一層非線性處理之前加入標(biāo)準(zhǔn)化、縮放、移位操作來(lái)減輕內(nèi)部協(xié)變量的移位,可以給訓(xùn)練帶來(lái)更快的收斂速度,更好的表現(xiàn),降低網(wǎng)絡(luò)對(duì)初始化變量的影響。本文中,在前面提出的深度學(xué)習(xí)網(wǎng)絡(luò)非線性映射層的每一層非線性化之前引入批量歸一化操作,然后結(jié)合歸一化、縮放、移位變化等操作來(lái)解決網(wǎng)絡(luò)內(nèi)部協(xié)變量轉(zhuǎn)變的問(wèn)題。每一個(gè)激活函數(shù)在批量歸一化過(guò)程中只需要添加兩個(gè)參數(shù),它們通過(guò)反向傳播進(jìn)行更新。這種機(jī)制能夠加快訓(xùn)練過(guò)程的收斂速度,提高模型的精確度,降低模型初始化的敏感性。
根據(jù)文獻(xiàn)[11]中提出的原則,本文的網(wǎng)絡(luò)架構(gòu)移除了網(wǎng)絡(luò)中所有的池化層,選擇卷積核大小為3×3的小卷積核,此舉的好處是可以大大減少網(wǎng)絡(luò)參數(shù)。在沒(méi)有最大池化層和ReLU層的情況下:兩個(gè)3×3的卷積核組成的卷積層相當(dāng)于一個(gè)5×5的卷積核的卷積層;3個(gè)3×3的卷積核組成的卷積層相當(dāng)于一個(gè)7×7的卷積核的卷積層。設(shè)通道數(shù)為c,3個(gè)3×3的卷積核含有27×c個(gè)參數(shù),1個(gè)7×7的卷積核含有49×c個(gè)參數(shù),參數(shù)多出81%。另外,3個(gè)3×3的卷積核融合3個(gè)非線性PReLU,與僅有一個(gè)ReLU相比,決策函數(shù)更有區(qū)分性。
深度為d的卷積神經(jīng)網(wǎng)絡(luò)的感受野為(2d+1)×(2d+1),增大感受野可以充分挖掘圖像上下文信息,有助于圖像中損失信息的恢復(fù),但會(huì)增加網(wǎng)絡(luò)的計(jì)算負(fù)擔(dān),需要網(wǎng)絡(luò)以犧牲計(jì)算資源和計(jì)算效率為代價(jià)。在文獻(xiàn)[19-20]中,研究者指出降噪神經(jīng)網(wǎng)絡(luò)的感受野大小與降噪算法中的相似圖像塊大小有關(guān),即高噪聲通常需要更大的相似圖像塊來(lái)捕獲更多的上下文信息進(jìn)行恢復(fù),因此降噪神經(jīng)網(wǎng)絡(luò)需要更大的感受野來(lái)挖掘圖像上下文信息進(jìn)行降噪,相應(yīng)的也需要更深的卷積神經(jīng)網(wǎng)絡(luò)?;诖?,本文選用3×3小卷積塊和特征降維的策略,在不降低網(wǎng)絡(luò)計(jì)算速度的同時(shí),通過(guò)增加網(wǎng)絡(luò)深度達(dá)到對(duì)高噪聲進(jìn)行有效降噪的目的。本文所提DRCNN的感受野大小為35×35,網(wǎng)絡(luò)深度為17.
本文采用SGD算法對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,同時(shí)在訓(xùn)練過(guò)程中融合了RL和BN來(lái)加速訓(xùn)練速度和提高網(wǎng)絡(luò)收斂性能。圖3包含了融合以及未融合RL和BN對(duì)網(wǎng)絡(luò)性能的影響。由圖3可以看出:
圖3 RL與BN對(duì)網(wǎng)絡(luò)性能影響Fig.3 Influences of RL and BN on network performance
1)同時(shí)采用RL和BN進(jìn)行訓(xùn)練,網(wǎng)絡(luò)能更快、更穩(wěn)定的收斂(紅線所示);
2)采用RL,不管是否采用BN,相較不采用RL(藍(lán)線和黑線所示)網(wǎng)絡(luò)的收斂速度和穩(wěn)定性(紅線和綠線所示)都有明顯提高。
3)采用BN,不管是否采用RL,相較不采用BN(黑線所示)網(wǎng)絡(luò)的收斂速度和穩(wěn)定性(紅線和藍(lán)線所示)也都有顯著提高。
訓(xùn)練樣本的多少會(huì)對(duì)網(wǎng)絡(luò)性能產(chǎn)生影響,通常認(rèn)為訓(xùn)練樣本越多越有助于網(wǎng)絡(luò)性能的提高,但是樣本越多會(huì)造成網(wǎng)絡(luò)訓(xùn)練的負(fù)荷過(guò)大,導(dǎo)致訓(xùn)練效率低。選擇合適的樣本量,同時(shí)兼顧網(wǎng)絡(luò)性能和訓(xùn)練效率,這對(duì)于深度學(xué)習(xí)具有重要意義。本文選用不同數(shù)量的訓(xùn)練樣本量對(duì)DRCNN模型性能進(jìn)行測(cè)試,其結(jié)果如圖4所示。由圖4可知:當(dāng)訓(xùn)練樣本數(shù)超過(guò)200時(shí),網(wǎng)絡(luò)開(kāi)始逐步收斂;當(dāng)訓(xùn)練樣本數(shù)超過(guò)350時(shí),隨著訓(xùn)練樣本數(shù)量的增加,網(wǎng)絡(luò)性能提高的幅度已經(jīng)很小,因此本文用400個(gè)訓(xùn)練樣本對(duì)DRCNN模型進(jìn)行訓(xùn)練。
圖4 訓(xùn)練樣本數(shù)對(duì)網(wǎng)絡(luò)性能的影響Fig.4 Influence of training samples on network performance
3.3.1 訓(xùn)練集和測(cè)試集
本文使用文獻(xiàn)[22]DIV2K中400張大小為200×200的清晰圖像作為原始訓(xùn)練集。根據(jù)設(shè)計(jì)的降噪算法,分別建立噪聲樣本訓(xùn)練集、低分辨率樣本訓(xùn)練集和測(cè)試集。噪聲樣本訓(xùn)練集包括以下兩種訓(xùn)練集:
1)建立不同噪聲水平的訓(xùn)練集。使用400張大小為200×200的清晰圖片建立帶有高斯噪聲,方差σ分別為15、25、40、60的4種訓(xùn)練集,每個(gè)訓(xùn)練集包括128×1 600張大小為53×53的訓(xùn)練樣本。
2)建立噪聲水平連續(xù)變化的噪聲訓(xùn)練集。使用400張大小為200×200的清晰圖片建立高斯噪聲方差σ在區(qū)間[0,80]范圍內(nèi)變化的訓(xùn)練集,該訓(xùn)練集包括128×2 400張大小為53×53的訓(xùn)練樣本。
用本文所提的快速非局部均值降噪算法對(duì)噪聲訓(xùn)練集進(jìn)行降噪,得到相對(duì)應(yīng)的低分辨率樣本訓(xùn)練集,其樣本數(shù)量和大小與噪聲樣本集相同。對(duì)于測(cè)試圖像,使用3個(gè)不同的測(cè)試圖像集進(jìn)行全面評(píng)估:第一個(gè)是來(lái)自伯克利分割數(shù)據(jù)集的68個(gè)自然圖像(BSD68)[23];另一個(gè)是從網(wǎng)絡(luò)下載和拍攝收集的10個(gè)測(cè)試圖像,如圖5所示;最后一個(gè)是圖像處理領(lǐng)域中常用的12個(gè)測(cè)試圖像,如圖6所示。從最后一個(gè)圖像集中隨機(jī)選取兩個(gè)圖像,用本文所提算法對(duì)其進(jìn)行降噪處理。
圖5 收集的10張測(cè)試圖像Fig.5 10 collected testing images
圖6 常用的12張測(cè)試圖像集Fig.6 Set of 12 widely used testing images
3.3.2 網(wǎng)絡(luò)深度的選擇
由2.5節(jié)分析可知,降噪神經(jīng)網(wǎng)絡(luò)的感受野大小與降噪算法中的相似圖像塊大小有關(guān),即高噪聲通常需要更大的相似圖像塊來(lái)捕獲更多的上下文信息以進(jìn)行恢復(fù)。深度為d的卷積神經(jīng)網(wǎng)絡(luò)的感受野大小為(2d+1)×(2d+1)。在BM3D算法[2]中,小方差的噪聲選擇25×25大小的相似圖像塊,高方差的噪聲選擇49×49的相似圖像塊。在MLP算法[20]中,首先使用39×39的窗生成預(yù)測(cè)相似圖像塊,然后用9×9的窗對(duì)預(yù)測(cè)相似圖像塊進(jìn)行平滑。在DnCNN算法中,選擇卷積神經(jīng)網(wǎng)絡(luò)的感受野大小為35×35,則其網(wǎng)絡(luò)深度為17. 綜合以上分析,為了對(duì)不同算法進(jìn)行分析比較,結(jié)合本文降噪算法的特點(diǎn),DRCNN感受野的大小選為35×35,網(wǎng)絡(luò)深度為17.
3.3.3 參數(shù)設(shè)置與網(wǎng)絡(luò)訓(xùn)練
為了建立統(tǒng)一的網(wǎng)絡(luò)架構(gòu),本文針對(duì)低噪聲方差和高噪聲方差,網(wǎng)絡(luò)模型的深度都選擇為17. 利用快速非局部均值降噪算法對(duì)圖像降噪時(shí),選擇搜索窗的大小為35×35,相似窗的大小為7×7. 利用(10)式計(jì)算DRCNN學(xué)習(xí)的殘差映射R(y)與真實(shí)的殘差y-x之間的損失代價(jià),使其達(dá)到最小。DRCNN使用0.000 1的權(quán)重衰減系數(shù)和衰減率為0.9的SGD優(yōu)化方法,采用文獻(xiàn)[24]的方法初始化網(wǎng)絡(luò)權(quán)重,并采用BN將初始數(shù)據(jù)分布變成高斯分布,加快了收斂速度。對(duì)網(wǎng)絡(luò)的輸入數(shù)據(jù)采用小批量輸入法,mini-batch設(shè)置為128. 如果訓(xùn)練誤差大小在連續(xù)6個(gè)epoch訓(xùn)練內(nèi)固定在某一個(gè)值上不變,就停止迭代訓(xùn)練。通過(guò)實(shí)驗(yàn),最終對(duì)模型進(jìn)行10個(gè)epoch的迭代訓(xùn)練,在訓(xùn)練過(guò)程中學(xué)習(xí)率初始化為1×10-1,當(dāng)訓(xùn)練誤差停止下降時(shí),固定到1×10-4進(jìn)行模型的訓(xùn)練。
實(shí)驗(yàn)環(huán)境為基于Windows 10操作系統(tǒng),在MATLAB 2017a應(yīng)用環(huán)境下,采用Caffe深度學(xué)習(xí)框架,該框架支持GPU運(yùn)算,配置INVIDIA CUDA8.0+cuDNN-V5.1深度學(xué)習(xí)庫(kù)加速GPU運(yùn)算。用于訓(xùn)練和測(cè)試的硬件配置為:Intel Xeon E3-1230 v5處理器,INVIDIA GeForce GTX 1080 Ti顯卡,Kingston DDR4 64GB內(nèi)存。
本文所提出的降噪算法與現(xiàn)有性能優(yōu)異的DnCNN[25]、BM3D[26]、TNRD[27]、WNNM[24]經(jīng)典降噪算法分別從量化指標(biāo)和視覺(jué)效果兩個(gè)方面進(jìn)行對(duì)比分析。量化指標(biāo)采用峰值信噪比(PSNR)與結(jié)構(gòu)相似度(SSIM)來(lái)衡量模型的降噪效果,視覺(jué)效果通過(guò)對(duì)降噪后的圖像進(jìn)行定性分析來(lái)衡量模型的降噪效果。
3.4.1量化分析
表1~表3分別給出了噪聲強(qiáng)度σ為15、25、40、50、60時(shí),不同降噪算法對(duì)不同測(cè)試集圖像降噪后的平均PSNR. 表1給出了采用不同降噪算法對(duì)BSD68數(shù)據(jù)集中的15幅圖像降噪后的平均PSNR,表2給出了采用不同降噪算法對(duì)10個(gè)收集的測(cè)試圖像降噪后的平均PSNR,表3給出了采用不同降噪算法對(duì)12張常用測(cè)試圖像降噪后的平均PSNR. 由表1~表3可以看出,本文提出的算法相比于其他降噪算法,能獲得最高的PSNR值。當(dāng)σ=15時(shí),WNNM算法、TNRD算法的PSNR比BM3D算法至少提高約0.3 dB,DnCNN算法的PSNR比BM3D算法至少提高約0.6 dB,而本文算法的PSNR比BM3D算法至少提高約0.9 dB. 當(dāng)σ分別為25、40、50、60時(shí),WNNM算法、TNRD算法的PSNR比BM3D算法至少提高約0.3 dB,DnCNN算法的PSNR比BM3D算法至少提高約0.7 dB,尤其是隨著噪聲的增大,本文所提算法更有優(yōu)勢(shì),PSNR比BM3D算法至少提高約1 dB.
表1 BSD68數(shù)據(jù)集在不同噪聲強(qiáng)度下降噪后的平均PSNRTab.1 The average PSNR results of different methodson BSD68 testing images dB
表2 10個(gè)收集的測(cè)試圖像在不同噪聲強(qiáng)度下降噪后的平均PSNRTab.2 The average PSNR results of different methodson 10 collecting testing images dB
表3 12張常用圖像在不同噪聲強(qiáng)度下降噪后的平均PSNRTab.3 The average PSNR results of different methodson 12 widely used testing images dB
表4給出了在噪聲強(qiáng)度σ分別為15、25、40、50、60時(shí),不同降噪算法對(duì)所有測(cè)試集圖像降噪后的平均SSIM值。由表4可以看出,本文所提算法相比于其他降噪算法,能獲得最高的SSIM值,而且隨著噪聲強(qiáng)度的提高,本文算法的優(yōu)勢(shì)越明顯。當(dāng)σ=15時(shí),本文算法的SSIM比BM3D算法提高0.017 3;σ=25時(shí),本文算法的SSIM比BM3D算法提高0.017 8;σ=60時(shí),本文算法的SSIM比BM3D算法提高0.067 8. 而隨著噪聲強(qiáng)度的提高,WNNM算法、TNRD算法、DnCNN算法比BM3D算法的SSIM值增幅不大,不超過(guò)0.046 6. 由以上兩個(gè)量化指標(biāo)分析結(jié)果可知,本文所提算法對(duì)確定噪聲的降噪性能優(yōu)于其他經(jīng)典算法。
表4 所有測(cè)試樣本在不同噪聲強(qiáng)度下降噪后的平均SSIMTab.4 The average SSIM results of different methodson all testing images
表5給出了噪聲強(qiáng)度σ在[0,80]范圍內(nèi)變化時(shí),不同降噪算法對(duì)所有測(cè)試集圖像降噪后的平均PSNR和平均SSIM,這也揭示了不同降噪算法的盲降噪性能。由表5可看出,本文算法的盲降噪性能最優(yōu),本文算法的平均PSNR比BM3D算法、WNNM算法、TNRD算法、DnCNN算法分別至少高出0.99 dB、0.74 dB、0.8 dB、0.45 dB.
表5 所有測(cè)試樣本在盲噪聲強(qiáng)度下降噪后的平均PSNR和平均SSIMTab.5 The average PSNR and SSIM results of different methods on all testing images
3.4.2 定性分析
圖7展示了不同降噪算法對(duì)黑白圖像降噪后的視覺(jué)效果。從圖7可以看出,BM3D算法、TNRD算法和WNNM算法易于產(chǎn)生平滑的邊緣和紋理。而DnCNN算法在保留銳利邊緣和精細(xì)細(xì)節(jié)的同時(shí),很可能在平滑區(qū)域產(chǎn)生偽影。相比之下,本文降噪算法不僅可以恢復(fù)銳利的邊緣和精細(xì)的細(xì)節(jié),而且會(huì)產(chǎn)生比較好的視覺(jué)效果。
圖7 常用測(cè)試圖像在噪聲強(qiáng)度σ=30下的降噪結(jié)果Fig.7 Denoising results with noise level 30
圖8展示了本文算法與其他降噪算法對(duì)彩色圖像降噪的效果圖。由圖8可以看出,本文降噪算法能夠恢復(fù)出清晰的書(shū)籍邊緣和平行桌布的條紋,相較其他算法對(duì)圖像的恢復(fù)質(zhì)量, 本文算法有大幅提升。同樣在圖8中, 本文所提盲降噪算法也完美地重建了圖中的邊緣和條紋, 盲降噪算法的PSNR值高于其他經(jīng)典的降噪算法。而其他算法生成的圖像有明顯的振鈴現(xiàn)象,且邊緣比較模糊。
圖8 彩色圖像降噪結(jié)果Fig.8 Denoising results of color images
3.4.3 運(yùn)行時(shí)間
除了量化分析和視覺(jué)效果定性分析外,本文對(duì)不同算法的運(yùn)行時(shí)間做了比較分析,如表6表示。表6給出了在圖像尺寸分別為256×256和512×512,噪聲強(qiáng)度為25時(shí)不同降噪算法的運(yùn)行時(shí)間。從表6可以看出,當(dāng)所有降噪算法都在CPU運(yùn)行:本文算法運(yùn)行時(shí)間最短,分別用時(shí)0.33 s和1.13 s;其次是TNRD算法,用時(shí)0.41 s和 1.28 s;WNNM算法耗時(shí)最長(zhǎng),分別是194.5 s和724.6 s. 當(dāng)把TNRD算法、DnCNN算法和本文算法用GPU加速,同樣本文算法運(yùn)行時(shí)間最短,耗時(shí)分別是0.01 s和0.03 s,能進(jìn)行實(shí)時(shí)降噪處理。因此,本文算法的計(jì)算效率高于其他經(jīng)典算法的計(jì)算效率。
表6 不同算法在噪聲水平為25時(shí)的運(yùn)行時(shí)間Tab.6 Run time of different methods with noise level 25
本文設(shè)計(jì)了兩種實(shí)驗(yàn),一種是已知噪聲的降噪實(shí)驗(yàn),另一種是盲噪聲降噪實(shí)驗(yàn),這兩種實(shí)驗(yàn)都采用相同的網(wǎng)絡(luò)架構(gòu),只是網(wǎng)絡(luò)的訓(xùn)練參數(shù)不同。不同于本文算法,DnCNN算法針對(duì)兩種實(shí)驗(yàn)采用了不同的網(wǎng)絡(luò)架構(gòu),網(wǎng)絡(luò)的深度也不一樣。在盲噪聲降噪實(shí)驗(yàn)中,本文設(shè)置的噪聲強(qiáng)度變化范圍為 [0,80],DnCNN算法設(shè)置的噪聲強(qiáng)度為[0,55],而TNRD算法、WNNM算法和BM3D算法只討論已知噪聲的降噪實(shí)驗(yàn),已知噪聲降噪實(shí)驗(yàn)中的最大噪聲強(qiáng)度為50,本文算法設(shè)置的最大噪聲強(qiáng)度為80. 從實(shí)驗(yàn)結(jié)果可知,本文算法在這兩種實(shí)驗(yàn)情形下,性能都表現(xiàn)為最優(yōu),尤其是高噪聲情形,本文算法表現(xiàn)更優(yōu),且采用統(tǒng)一的網(wǎng)絡(luò)架構(gòu)能夠處理各種強(qiáng)度的噪聲,方便了應(yīng)用。
本文算法性能之所以表現(xiàn)優(yōu)異,主要源于對(duì)NLM降噪和基于DRCNN的超分辨率重建進(jìn)行了結(jié)合。NLM充分利用了自然圖像中存在的大量冗余信息,能更好地保持圖像的細(xì)節(jié)和紋理,具有較大感受野的DRCNN則是充分利用了大量樣本的上下文信息,能夠?qū)W習(xí)到樣本中隱含的細(xì)節(jié)和紋理信息。這兩方面優(yōu)勢(shì)的結(jié)合,使得本文降噪算法具有優(yōu)異的降噪性能。另外,本文的網(wǎng)絡(luò)架構(gòu)采用了降維和升維策略,相比DnCNN算法大大減少了網(wǎng)絡(luò)參數(shù),算法的運(yùn)行效率獲得了較大提高。
但是,由于基于DRCNN算法的超分辨率重建綜合了DnCNN算法和FSRCNN算法的優(yōu)勢(shì),引入了降維和升維策略,因此,網(wǎng)絡(luò)結(jié)構(gòu)會(huì)稍顯復(fù)雜。
本文提出了一種將圖像降噪和超分辨率重建相結(jié)合的新型圖像降噪算法,該算法通過(guò)將快速NLM降噪和基于DRCNN的超分辨率重建相結(jié)合,并融合RL和BN來(lái)加速訓(xùn)練速度和提高網(wǎng)絡(luò)收斂性能。本文提出的統(tǒng)一網(wǎng)絡(luò)架構(gòu),不但適用于已知噪聲水平的降噪,而且適用于噪聲水平未知的盲噪聲降噪,更為重要的是適用于從低噪聲到高噪聲變化范圍很寬的降噪,同時(shí),得到的降噪圖像不存在邊緣細(xì)節(jié)的受損、邊界偽影和清晰度變差的問(wèn)題。另外,本文提出的降噪算法在繼承和提高現(xiàn)有經(jīng)典降噪算法優(yōu)點(diǎn)的同時(shí),還彌補(bǔ)了它們存在的不足。實(shí)驗(yàn)結(jié)果表明,相比現(xiàn)有經(jīng)典降噪算法,本文算法在大大提高計(jì)算效率的同時(shí),還得到了更高的PNSR、SSIM與良好的視覺(jué)效果,具有很好的實(shí)用性和普適性。