李小艷,宋亞林,樂 飛
(河南大學(xué) 軟件學(xué)院,開封 475004)
圖像在采集、存儲、記錄和傳輸過程中常常會受到眾多不良因素的干擾影響,從而導(dǎo)致圖像在一定程度上會退化失真,質(zhì)量下降,導(dǎo)致獲取的圖像中有噪聲的存在,從而影響圖像的質(zhì)量.圖像去噪是在保持原始圖像細(xì)節(jié)信息完整的同時(shí),去除圖像中的無用噪聲信息,以便于后續(xù)對圖像進(jìn)行應(yīng)用[1,2].圖像去噪是計(jì)算機(jī)視覺研究中的一個(gè)經(jīng)典問題,同時(shí)也是圖像領(lǐng)域中一個(gè)具有挑戰(zhàn)性的研究課題[3-5].
傳統(tǒng)的圖像去噪方法主要是高斯濾波降噪[6,7],這種方法屬于局部平滑濾波,這種去噪方法針對圖像的非平滑部分,不能進(jìn)行有效的處理.非局部均值降噪[8]方法可以解決圖像的非平滑這一問題,該方法利用了圖像中存在的冗余信息進(jìn)行去噪處理,能夠較好地去除圖像中存在的高斯噪聲,該方法的最大缺陷就是計(jì)算復(fù)雜度太高,程序非常耗時(shí),導(dǎo)致該算法不夠?qū)嵱?小波閾值降噪[9,10]主要是利用濾除高頻信號這一原理,小波閾值降噪如果選擇的閾值過大,會導(dǎo)致圖像中的高頻信息被無區(qū)別的抑制,從而導(dǎo)致圖像邊緣信息,紋理細(xì)節(jié)丟失.如果閾值過小,就不能對高頻噪聲進(jìn)行有效的去除.Dabov 等人在2007年提出了一種基于融合變換算法的塊匹配和三維濾波降噪方法[11],簡稱為BM3D (block matching and 3D filtering),該方法采用不同的去噪策略,通過與相鄰圖像塊進(jìn)行匹配搜索,在三維空間進(jìn)行濾波,得到塊評估值,最后通過加權(quán)求和將各個(gè)塊復(fù)原得到最終去噪效果.BM3D 降噪方法雖然去噪效果顯著,但時(shí)間復(fù)雜度比較高.采用傳統(tǒng)圖像去噪算法的復(fù)雜度較低,實(shí)時(shí)性比較強(qiáng),處理速度快,但在去噪過程中邊緣細(xì)節(jié)信息和紋理信息很容易丟失.
隨著深度學(xué)習(xí)特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN)[12,13]在計(jì)算機(jī)領(lǐng)域的逐漸發(fā)展,CNN 被眾多研究學(xué)者應(yīng)用在圖像去噪問題上并取得了較好的研究成果.Holt[14]在研究神經(jīng)網(wǎng)絡(luò)去噪的過程中,其選用的研究方法是多層感知機(jī)(multi layer perceptron,MLP).在他看來多層感知機(jī)網(wǎng)絡(luò)具有強(qiáng)大的擬合能力和非線性能力,通過學(xué)習(xí)帶噪聲的圖像和無噪聲圖像來實(shí)現(xiàn)圖像之間的映射關(guān)系,MLP 模型對各種類型的噪聲影響不大,通過對含有此類噪聲的圖像進(jìn)行分類,可以獲得良好的效果.這種模型的缺點(diǎn)是由于不能很好地處理各種等級噪聲,因此用不同等級噪聲圖像進(jìn)行訓(xùn)練,則很難獲得較好的去噪效果.Mao 等人[15]提出了一種深卷積編解碼網(wǎng)絡(luò)應(yīng)用于圖像去噪,該網(wǎng)絡(luò)具有對稱結(jié)構(gòu)的編碼(encoding)和解碼(decoding),每一層編碼卷積和解碼卷積之間都有跳躍連接,可以獲得更好的泛化能力.但是由于網(wǎng)絡(luò)變深會導(dǎo)致圖像細(xì)節(jié)的丟失.Zhang 等人[16]提出用較深層的CNN 網(wǎng)絡(luò)實(shí)現(xiàn)圖像去噪,稱為DnCNN,該網(wǎng)絡(luò)模型通過利用殘差學(xué)習(xí)[17]和歸一化[18]的共同作用,提高去噪性能,該算法使用端到端的神經(jīng)網(wǎng)絡(luò)模型來進(jìn)行降噪,同時(shí)該算法具有較好的盲去高斯噪聲的能力.但是,由于所建立的神經(jīng)網(wǎng)絡(luò)模型是由單一大小的卷積核卷積運(yùn)算完成,因此,圖像的特征信息提取很少.Zhang 等人[19]采用擴(kuò)張卷積來學(xué)習(xí)殘差圖像并提出了IRCNN 模型,該模型基于半二次方分裂(HQS)算法,利用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)快速有效的去噪器,以此來處理不同的圖像修復(fù)問題,但是該模型收斂速度慢,計(jì)算成本大,比較耗時(shí).Zhang 等人將估計(jì)的噪聲水平和圖像下采樣后的多張子圖像作為輸入,提出了快速靈活的圖像去噪網(wǎng)絡(luò)FFDNet[20],該模型能夠在較大程度上改善降噪性能,同時(shí)能較好地處理真實(shí)場景下的圖像去噪問題.該方法只有在噪聲水平較大時(shí),才能保持更好的視覺效果,當(dāng)噪聲較小時(shí),去噪后的視覺效果不佳.Creswell 等人[21]介紹了GAN 用于圖像合成、圖像超分辨率和圖像分類.Wang 等人提出了一種基于GAN 和CNN 相結(jié)合的圖像去噪網(wǎng)絡(luò)[22],該網(wǎng)絡(luò)采用GAN 進(jìn)行降噪處理,采用CNN 實(shí)現(xiàn)對圖像細(xì)節(jié)的恢復(fù).該方法存在網(wǎng)絡(luò)訓(xùn)練不穩(wěn)定,收斂速度慢,模型不可控等問題.席志紅等人[23]提出了一種深層殘差神經(jīng)網(wǎng)絡(luò)用于圖像的超分辨率重建,通過實(shí)驗(yàn)驗(yàn)證該網(wǎng)絡(luò)可以更好地還原圖像中的細(xì)節(jié)信息,消除偽影.但該方法特征表達(dá)能力不足,難以去除密集的噪聲.陳人和等人[24]采用對抗損失和重建損失的加權(quán)和,該網(wǎng)絡(luò)雖然能夠去除噪聲并且針對圖像的細(xì)節(jié)信息得到保留,然而該算法可能會導(dǎo)致圖像的邊緣模糊.秦毅等人[25]針對不同類型的圖像,通過采用一個(gè)邊緣感知損失函數(shù)去除圖像噪聲,同時(shí)恢復(fù)圖像的邊緣細(xì)節(jié).該算法的淺層像素級信息利用率低,紋理細(xì)節(jié)容易丟失.朱斯琪等人[26]提出一種循環(huán)一致性生成對抗網(wǎng)絡(luò),實(shí)現(xiàn)了從低劑量CT 圖像到標(biāo)準(zhǔn)劑量CT 圖像的端到端映射,同時(shí)將密集型殘差學(xué)習(xí)網(wǎng)絡(luò)模型引入到該網(wǎng)絡(luò)生成器中,利用殘差網(wǎng)絡(luò)的特征復(fù)用性來恢復(fù)圖像細(xì)節(jié),但是該方法在去除噪聲后仍然會有偽影存在,且該方法目前只適用于腹部CT 圖像.
上述圖像去噪算法盡管在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì),目標(biāo)損失函數(shù)以及數(shù)據(jù)集的選擇上存在差異,但是這些算法都能夠取得顯著的成果.上述這些算法在進(jìn)行網(wǎng)絡(luò)訓(xùn)練時(shí),圖像特征不能被充分學(xué)習(xí),導(dǎo)致圖像細(xì)節(jié)丟失,降低去噪效果.因此為進(jìn)一步改善圖像去噪質(zhì)量,本文在去除噪聲的過程中,保存圖像的邊緣特征信息的基礎(chǔ)上,提出一種密集連接殘差塊的卷積神經(jīng)網(wǎng)絡(luò)去噪算法.該網(wǎng)絡(luò)模型由卷積層,Leaky ReLU 層,批量歸一化,密集殘差塊組成,其中密集殘差塊通過多級殘差網(wǎng)絡(luò)和密集連接,用優(yōu)化的殘差映射代替原始的卷積層,相鄰的卷積層之間通過短連接,以提高殘差網(wǎng)絡(luò)的學(xué)習(xí)能力.該網(wǎng)絡(luò)結(jié)構(gòu)以含噪聲的圖像作為輸入,去噪后的圖片作為輸出,構(gòu)成了由噪聲圖像到去噪后圖像的非線性映射.本文算法在去除噪聲的同時(shí),能夠保留更多的圖像細(xì)節(jié)信息和圖像邊緣特征,去噪后的圖像視覺效果更好,且具有更高的峰值信噪比值和結(jié)構(gòu)相似性值.
Zhang 等人[16]設(shè)計(jì)出一種經(jīng)典的基于殘差學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)去噪模型稱為DnCNN,相比于MLP 和BM3D 等傳統(tǒng)的圖像去噪算法,去噪性能有明顯的提高.
DnCNN 網(wǎng)絡(luò)共有17 層,其中第1 層由64 個(gè)大小為3×3×1的濾波器被用來生成64 個(gè)特征映射,然后經(jīng)過ReLU 激活函數(shù).第2 至第16 層由64 個(gè)大小為3×3×1的濾波器,而后經(jīng)過BN 和ReLU 激活函數(shù); 網(wǎng)絡(luò)的最后一層采用1 個(gè)大小為3×3×64的濾波器對網(wǎng)絡(luò)模型進(jìn)行重構(gòu).DnCNN 網(wǎng)絡(luò)的訓(xùn)練通過式(1)進(jìn)行學(xué)習(xí):
其中,x為去除噪聲后的圖像,y為噪聲圖像,F(x)為網(wǎng)絡(luò)預(yù)測的噪聲.對于DnCNN 圖像去噪,實(shí)際上F(x)不可能包含全部的噪聲信息,因此x會丟失掉部分的細(xì)節(jié)信息,因此DnCNN 的去噪效果仍有待提高.
為了提高卷積神經(jīng)網(wǎng)絡(luò)的精確度,通常情況下都是通過簡單的堆疊網(wǎng)絡(luò)增加網(wǎng)絡(luò)的深度,與此同時(shí)網(wǎng)絡(luò)的加深致使網(wǎng)絡(luò)梯度發(fā)生爆炸或者衰減到很小,誤差值乘上權(quán)重后向后傳播,使得權(quán)重越來越小,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練精度先上升然后達(dá)到飽和,因此提出殘差學(xué)習(xí)用來解決網(wǎng)絡(luò)性能退化的問題.He 等人[17]提出了殘差學(xué)習(xí)的方法,其框架結(jié)構(gòu)如圖1 所示.
x為殘差模塊的輸入,F(x)+x是殘差模塊的輸出.只要F(x)=0就構(gòu)成了一個(gè)恒等映射H(x)=x,殘差為F(x),殘差學(xué)習(xí)結(jié)構(gòu)通過前向神經(jīng)網(wǎng)絡(luò)和shortcut 連接的方式實(shí)現(xiàn),shortcut 連接執(zhí)行了一個(gè)恒等映射,這種方式不會產(chǎn)生額外的參數(shù),同時(shí)也不會增加網(wǎng)絡(luò)的計(jì)算復(fù)雜度.采用殘差學(xué)習(xí)策略使得深度卷積神經(jīng)網(wǎng)絡(luò)容易被訓(xùn)練并且能更好地提升精確度.
帶泄露修正線性單元函數(shù)(Leaky ReLU)[27]是基于ReLU 激活函數(shù)的改進(jìn),帶泄露修正線性單元函數(shù)在保留ReLU 函數(shù)的優(yōu)點(diǎn)的同時(shí),還可以做到修正數(shù)據(jù)分布.激活函數(shù)如圖2 所示,通過在ReLU 函數(shù)的負(fù)半?yún)^(qū)間引入一個(gè)泄露值,解決部分神經(jīng)元因?yàn)槭Щ畈荒軈⑴c參數(shù)的更新.
圖2 Leaky ReLU 激活函數(shù)
在反向傳播過程中,經(jīng)過激活函數(shù)負(fù)區(qū)間的神經(jīng)元在參與網(wǎng)絡(luò)訓(xùn)練過程時(shí),由于泄露值的存在,神經(jīng)元對應(yīng)的權(quán)重和偏置參數(shù)也得到了更新,計(jì)算得到的梯度不會恒為0,網(wǎng)絡(luò)的擬合能力得到提高.由于圖像在噪聲環(huán)境下的有效特征信息相對來說較為有限,因此在網(wǎng)絡(luò)訓(xùn)練中對于圖像中的特性信息需要充分挖掘.Leaky ReLU 函數(shù)替換掉原始網(wǎng)絡(luò)中的ReLU 激活函數(shù),該激活函數(shù)可以實(shí)現(xiàn)網(wǎng)絡(luò)梯度更快的更新,同時(shí)擁有比原始網(wǎng)絡(luò)更好的圖像去噪效果.
卷積神經(jīng)網(wǎng)絡(luò)的輸入都是上一層的輸出,不同卷積層所提取到的特征各不相同,所以通過單一層的卷積不能盡可能多地獲取到圖像的特征信息,僅依靠殘差塊的疊加同樣會限制網(wǎng)絡(luò)的性能,所以為了優(yōu)化殘差網(wǎng)絡(luò)的性能,Huang 等人[28]提出了一種新的密集連接殘差模塊,用于緩解梯度消失問題,加強(qiáng)特征傳播與特征復(fù)用,極大地減少了參數(shù)量.本文提出了一個(gè)密集連接殘差(RRDB)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu).RRDB 模塊如圖3 所示.
圖3 RRDB 殘差塊
RRDB 模塊包括3 個(gè)dense block 塊,每一個(gè)dense block 里面又包含4 組卷積層與Leaky ReLU 激活函數(shù),卷積核的大小為3×3,每組由32 個(gè)卷積核組成,每組都通過密集連接,最后通過一個(gè)3×3的卷積層.每一個(gè)dense block 的輸出進(jìn)行殘差縮放[29,30],乘以一個(gè)0 到1 之間的數(shù),以用于防止網(wǎng)絡(luò)模型的不穩(wěn)定.
通過多級殘差網(wǎng)絡(luò)和密集連接,用優(yōu)化的殘差映射代替原始的卷積層,相鄰的卷積層之間通過短連接,以提高殘差網(wǎng)絡(luò)的學(xué)習(xí)能力.RRDB 模塊中的卷積與卷積之間以跳躍連接的方式,讓模塊中每一層卷積層的特征可以做到被充分利.RRDB 模塊提高了網(wǎng)絡(luò)的整體訓(xùn)練的速度,加深了網(wǎng)絡(luò)的深度,通過每一層特征的融合,輸出的特征圖可以更好地包含原圖像的特征信息.
圖像去噪是通過對含噪圖像進(jìn)行處理,通過非線性映射到噪聲圖像,從而得到去噪后圖像的過程.
為了對網(wǎng)絡(luò)進(jìn)行特征提取,同時(shí)為了降低網(wǎng)絡(luò)訓(xùn)練的復(fù)雜度,通過結(jié)合密集連接殘差塊,設(shè)計(jì)了一種基于密集連接殘差的卷積神經(jīng)網(wǎng)絡(luò)模型(DRCNN).圖4展示了本文算法網(wǎng)絡(luò)整體架構(gòu)示意圖,該模型結(jié)構(gòu)分為3 個(gè)部分: 特征提取模塊,密集連接殘差模塊(RRDB)和重建模塊.
圖4 網(wǎng)絡(luò)模型結(jié)構(gòu)
本文提出的去噪網(wǎng)絡(luò),共有12 層,網(wǎng)絡(luò)架構(gòu)由3 部分組成: 卷積層(Conv),激活函數(shù)(ReLU),批規(guī)范化操作處理(BN),具體如下:
網(wǎng)絡(luò)模型第1 層: Conv + Leaky ReLU,由64 個(gè)卷積核大小為3×3×c的濾波器用來生成64 個(gè)特征映射,并使用Leaky ReLU 激活函數(shù)對特征實(shí)現(xiàn)非線性變換形成非線性特征映射,步長為1×1,c表示圖像的通道數(shù),該網(wǎng)絡(luò)模型使用灰度圖像,故c=1.
網(wǎng)絡(luò)模型第2 層: dense block + dense block +dense block,結(jié)構(gòu)如圖3 所示,每一個(gè)dense block 里面又包含4 組卷積層與Leaky ReLU 激活函數(shù),卷積層由32 個(gè)卷積核大小為3×3的濾波器用來生成32 個(gè)特征映射,每組都通過密集連接,最后通過64 個(gè)卷積核大小為3×3的卷積層生成64 個(gè)特征映射.
網(wǎng)絡(luò)模型第3-11 層: Conv + BN + Leaky ReLU,由64 個(gè)卷積核大小為3×3×c的濾波器用來生成64 個(gè)特征映射,并使用Leaky ReLU 激活函數(shù)對特征實(shí)現(xiàn)非線性變換形成非線性特征映射,步長為1×1,c表示圖像的通道數(shù),該網(wǎng)絡(luò)模型使用灰度圖像,故c=1.
網(wǎng)絡(luò)模型第12 層: Conv,采用c個(gè)大小為3×3×64的濾波器進(jìn)行網(wǎng)絡(luò)重構(gòu),步長為1×1,通過式(1)的殘差學(xué)習(xí)策略進(jìn)行訓(xùn)練,最終輸出去噪后的圖片.
在網(wǎng)絡(luò)結(jié)構(gòu)中,采用0 填充的方法保持每層卷積特征圖的大小保持不變,用來防止產(chǎn)生邊界偽影.
通過從預(yù)測的噪聲圖片中恢復(fù)無噪聲圖片,訓(xùn)練數(shù)據(jù)是帶有噪聲的圖像y=x+v,去噪模塊采用殘差學(xué)習(xí)獲取到殘差映射R(y)≈v,然后得到x=y-R(y).本文所設(shè)置網(wǎng)絡(luò)訓(xùn)練的目標(biāo)損失函數(shù)為:
其中,N為訓(xùn)練樣本數(shù),xi代表原始圖像,yi表示帶噪聲的圖片.實(shí)際噪聲為(yi-xi)(噪聲圖像值減去無噪聲圖像值),θ為當(dāng)前網(wǎng)絡(luò)的訓(xùn)練參數(shù)數(shù)值,估計(jì)的噪聲殘差R(yi;θ)與圖片中實(shí)際噪聲的平方誤差是損失函數(shù)的期望值.為了計(jì)算函數(shù)L(θ)的最小值,本文采用Adam 優(yōu)化器進(jìn)行迭代和參數(shù)更新.定義如下:
其中,mt表示一階動量項(xiàng),vt表示二階動量項(xiàng),β1值為0.9,β2值為0.999,為偏移修正值,θt表示迭代t次模型的參數(shù),利用式(7)的參數(shù)更新過程,能夠通過訓(xùn)練得到網(wǎng)絡(luò)模型.
本文使用來自伯克利分割數(shù)據(jù)集(BSD)的400 幅大小為180×180的灰度圖像來訓(xùn)練高斯合成去噪模型.深度學(xué)習(xí)模型在訓(xùn)練上往往需要大量的訓(xùn)練圖像,但是訓(xùn)練集的圖片數(shù)量一般都有限,所以為了防止出現(xiàn)過擬合的情況,需要對樣本圖像進(jìn)行數(shù)據(jù)增強(qiáng).本文所設(shè)計(jì)的算法中,首先對每一張圖像進(jìn)行1、0.9、0.8、0.7 倍的縮放,然后采用40×40的裁剪框,滑動步長設(shè)置為10,隨后將每一個(gè)子圖像塊都進(jìn)行隨機(jī)旋轉(zhuǎn),原圖像進(jìn)行水平、垂直、順時(shí)針翻轉(zhuǎn)90°、180°、270°進(jìn)行數(shù)據(jù)增廣操作,將400 張圖像裁剪成238 336 個(gè) 子圖像塊,充足的訓(xùn)練圖像塊有助于促進(jìn)特征的魯棒性并提高訓(xùn)練去噪模型的效率.通過上述數(shù)據(jù)增強(qiáng)操作后的不含噪聲的原始圖像,隨后將高斯白噪聲添加到原始圖像中生成含噪圖像.為了測試不同噪聲強(qiáng)度對網(wǎng)絡(luò)性能的影響,將σ=5,σ=10,σ=25,σ=50的高斯白噪聲分別添加到原始圖像中用以生成不同的訓(xùn)練集.測試數(shù)據(jù)集采用BSD68 和Set12 組成,Set12 數(shù)據(jù)集如圖5 所示,包含5 張人像,3 張動物以及房子輪船飛機(jī)場景.BSD68 數(shù)據(jù)集包含建筑,人物,動物,植物,飛機(jī)等場景,共68 張圖片.兩個(gè)測試集均為灰度圖像.
圖5 數(shù)據(jù)集Set12 示例圖片
為了評估去噪后的圖像質(zhì)量,通常從峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)兩方面進(jìn)行定量的評估分析,其中PSNR是一種基于對應(yīng)像素點(diǎn)之間誤差的指標(biāo),PSNR和SSIM的值越大,就代表失真越少,圖像去噪效果更好.計(jì)算公式如下:
(1)峰值信噪比(PSNR)
n為每像素的比特?cái)?shù),一般取8,即像素灰階數(shù)為256,單位為dB.
(2)均方誤差(MSE)
MSE表示當(dāng)前圖像f?(i,j)和參考圖像f(i,j)的均方誤差; 其中M,N為圖像的高度和寬度.
(3)結(jié)構(gòu)相似性(SSIM)
結(jié)構(gòu)相似性分別從樣本圖像的亮度(luminance,l)、對比度(contrast,c)和結(jié)構(gòu)(structure,s)這3 個(gè)方面來度量圖像的質(zhì)量.其中亮度l、對比度c和結(jié)構(gòu)s的計(jì)算公式如下:
其中,c3=c2/2,ux代表圖像x的像素的均值,uy代表圖像y的像素的均值,σ2x代表圖像x的像素的方差,σ2y代表圖像y的像素的方差,σxy代表圖像x和圖像y的協(xié)方差,SSIM的計(jì)算公式為:
為了驗(yàn)證本文所提出的網(wǎng)絡(luò)結(jié)構(gòu)的去噪性能,將本文所提出的算法與BM3D,DnCNN,FFDNet,IRCNN 幾種常見的卷積神經(jīng)網(wǎng)絡(luò)去噪模型進(jìn)行了實(shí)驗(yàn)對比,為了驗(yàn)證圖像在不同等級噪聲下網(wǎng)絡(luò)去噪性能的影響,分別對訓(xùn)練集添加噪聲等級為5,10,15,25,50 的高斯噪聲.
為了對本文所設(shè)計(jì)的算法進(jìn)行驗(yàn)證,實(shí)驗(yàn)的硬件配置為GPU 為Tesla P4,內(nèi)存為8 GB,軟件配置為CUDA 10.1,Python 3.7,神經(jīng)網(wǎng)絡(luò)的搭建采用深度學(xué)習(xí)框架PyTorch 0.4.采用Adam 優(yōu)化器進(jìn)行訓(xùn)練,學(xué)習(xí)率設(shè)置為1×10-3,訓(xùn)練輪數(shù)為50.為了提高網(wǎng)絡(luò)訓(xùn)練效率,對網(wǎng)絡(luò)的輸入數(shù)據(jù)采用批量輸入,batchsize 為128.
為了考察不同的dense block 模塊對網(wǎng)絡(luò)去噪模型的影響,將分別對含有1,2,3 個(gè)Conv+Leaky ReLU層的dense block 模塊進(jìn)行圖像去噪性能比較,實(shí)驗(yàn)結(jié)果如表1、表2 所示.表1 表示在噪聲等級為25 時(shí),不同數(shù)量的dense block 在測試集Set12 上的PSNR和SSIM值.表2 表示在噪聲等級為25 時(shí),不同數(shù)量的dense block 在測試集BSD68 上的PSNR和SSIM值.
表1 不同dense block (DB)模塊在Set12 數(shù)據(jù)集上的PSNR/SSIM 值
表2 不同dense block (DB)模塊在BSD68 數(shù)據(jù)集上的PSNR/SSIM 值
從表1 和表2 中可以看出,將3 個(gè)dense block 模塊進(jìn)行串聯(lián)拼接,可以融合更多的圖像特征信息,在網(wǎng)絡(luò)輸出時(shí)可以對輸入圖像進(jìn)行更細(xì)節(jié)的恢復(fù),平均峰值信噪比和結(jié)構(gòu)相似性均具有較好的效果.此實(shí)驗(yàn)說明dense block 模塊的特征融合對圖像去噪是有效的.
對Set12 和BSD68 兩種數(shù)據(jù)集分別添加不同等級σ=5,σ=10,σ=15,σ=25,σ=50的高斯噪聲,由于圖像自身結(jié)構(gòu)的差異性,不同的圖像在不同的去噪算法上的結(jié)果存在差異,導(dǎo)致PSNR和SSIM的值不相同.表3 顯示在不同噪聲等級下,Set12 數(shù)據(jù)集的每一張圖片的去噪結(jié)果的PSNR值,本文提出的算法在σ=5,σ=10,σ=15,σ=25,σ=50時(shí),圖像去噪效果優(yōu)于其他去噪算法,在高噪聲σ=50場景下,本文的圖像去噪效果一般,PSNR提升較小.表4 顯示在不同噪聲等級下,Set12 數(shù)據(jù)集在不同圖像去噪算法下的平均SSIM值,本文提出算法的圖像去噪上取得了良好的效果.從表3 和表4 可以看出,本文所提出的算法在5 種噪聲等級下的PSNR與經(jīng)典的BM3D 圖像去噪算法相比平均超出了2.7 dB,SSIM平均超出了0.2776.與深度神經(jīng)網(wǎng)絡(luò)圖像去噪方法中的DnCNN 方法比較,在噪聲等級為5,10,15,25,50 時(shí),本文提出的去噪算法平均PSNR分別提高了0.09 dB,0.11 dB,0.1dB,0.12 dB,0.18 dB,平均SSIM分別提高了0.000 3,0.000 7,0.000 6,0.002 1,0.0049.表5 展示了在5 種不同噪聲等級下,本文算法在數(shù)據(jù)集BSD68 下,PSNR取得最好的平均值,表6 使用了SSIM作為評價(jià)指標(biāo),在不同噪聲等級下,不同算法在數(shù)據(jù)集BSD68 下的平均SSIM值,表明本文算法在不同強(qiáng)度的噪聲環(huán)境下,去噪性能整體效果最優(yōu).
表3 不同算法在Set12 數(shù)據(jù)集上的PSNR 值(dB)
表4 不同算法在Set12 數(shù)據(jù)集上的SSIM 值
表5 不同算法在BSD68 數(shù)據(jù)集上的PSNR 值(dB)
表6 不同算法在BSD68 數(shù)據(jù)集上的SSIM 值
圖6 選取了Set12 數(shù)據(jù)集中的5 幅圖像,在5 種不同噪聲等級下,通過不同的算法對含噪聲圖像進(jìn)行去噪,每一張去噪后的圖片給出了局部放大效果,圖片中的白框區(qū)域?yàn)榉糯髤^(qū)域,圖片右下角為局部細(xì)節(jié)放大圖,由圖可見,本文提出的方法在去噪時(shí)很好地保留了圖像的紋理細(xì)節(jié),有效地較少邊界偽影和邊緣細(xì)節(jié)損失.
圖6 不同算法不同噪聲等級下數(shù)據(jù)集Set12 的部分去噪圖片
本文針對圖像去噪存在不能充分提取圖像特征導(dǎo)致圖像細(xì)節(jié)丟失且收斂時(shí)間過長的問題,提出了一種基于殘差密集塊的卷積神經(jīng)網(wǎng)絡(luò)圖像去噪方法,該模型通過引入密集連接殘差塊并添加Leaky ReLU 激活函數(shù)操作進(jìn)一步提高網(wǎng)絡(luò)性能,能夠有效去除不同等級強(qiáng)度的噪聲,同時(shí)利用PSNR和SSIM值進(jìn)行網(wǎng)絡(luò)性能評估.與經(jīng)典圖像去噪算法相比較,實(shí)驗(yàn)結(jié)果顯示,本文提出算法的PSNR和SSIM均有明顯的提升,本文算法提高了圖像去噪的性能,提升圖像的紋理細(xì)節(jié)信息,隨著殘差結(jié)構(gòu)的加入,網(wǎng)絡(luò)訓(xùn)練的過程也隨之加快,與此同時(shí)減少了邊界偽影,但本文所提出的算法針對高噪聲環(huán)境下的圖像進(jìn)行去噪時(shí),依然存在圖像細(xì)節(jié)丟失問題,針對該問題,后續(xù)將針對該網(wǎng)絡(luò)模型作進(jìn)一步的研究.此外,結(jié)合真實(shí)場景,例如醫(yī)學(xué)成像、遙感圖像產(chǎn)生的真實(shí)噪聲問題,需要繼續(xù)研究.