江巨浪,嚴(yán)華鋒,劉國(guó)明
(安慶師范大學(xué) 電子工程與智能制造學(xué)院,安徽 安慶 246133)
數(shù)字圖像的獲取或傳輸過(guò)程不可避免地受到噪聲干擾,從而影響圖像的視覺(jué)質(zhì)量及圖像處理的后續(xù)任務(wù)。研究如何從受到噪聲干擾的圖像中恢復(fù)原始信息無(wú)疑具有重要意義[1]。圖像去噪方法通??煞譃閮纱箢?,即基于圖像先驗(yàn)的傳統(tǒng)去噪方法和基于深度學(xué)習(xí)的去噪方法。前者是基于噪聲的統(tǒng)計(jì)信息并通過(guò)設(shè)計(jì)濾波器來(lái)實(shí)現(xiàn)去噪,如中值濾波器、均值濾波器以及其眾多的改進(jìn)算法。上述濾波器模型僅考慮噪聲統(tǒng)計(jì)特性,而忽視了圖像自身結(jié)構(gòu)和卷積核的尺寸選擇對(duì)保留圖像特征的重要影響[2]。塊匹配三維濾波(Block-matching and 3D filter,BM3D)技術(shù)是一種有代表性的傳統(tǒng)圖像降噪算法[3],在保留圖像細(xì)節(jié)特征上性能較好,但計(jì)算復(fù)雜度較高?;谏疃葘W(xué)習(xí)的去噪方法,一般是通過(guò)利用成對(duì)的訓(xùn)練集訓(xùn)練網(wǎng)絡(luò),并學(xué)習(xí)噪聲圖像與去噪圖像間的映射關(guān)系以實(shí)現(xiàn)去噪[4]。近年來(lái),基于深度卷積神經(jīng)網(wǎng)絡(luò)的方法取得了較傳統(tǒng)方法更好的去噪效果。DnCNN(Denoising convolutional neural network)是一個(gè)經(jīng)典的高斯噪聲去噪網(wǎng)絡(luò)模型,其通過(guò)引入殘差思想來(lái)提升網(wǎng)絡(luò)收斂速度并解決梯度消失的問(wèn)題[5]。FFDNe(tFast and flexible denoising convolutional neural network)是一種快速與靈活的去噪網(wǎng)絡(luò)模型,其對(duì)于圖像的噪聲水平與空間復(fù)雜變化有著良好的適應(yīng)性[6]?;趥鹘y(tǒng)濾波器和特征學(xué)習(xí)的去噪方法,大多數(shù)是以仿真噪聲為研究對(duì)象。自然圖像中的真實(shí)噪聲與仿真噪聲存在較大差異,因此基于仿真噪聲設(shè)計(jì)的網(wǎng)絡(luò)在去除真實(shí)噪聲上效果并不理想。為去除圖像真實(shí)噪聲,XU等先后提出了一個(gè)在加權(quán)核范數(shù)最小化框架下真實(shí)彩色圖像去噪的多通道優(yōu)化模型(Multi-channel weighted nuclear norm minimization,MCWNNM)[7],和基于三邊加權(quán)稀疏編碼方案的真實(shí)圖像去噪算法(Trilateral weighted sparse coding,TWSC)[8]。然而,真實(shí)噪聲圖像與干凈圖像的配對(duì)訓(xùn)練集難以獲取,使得針對(duì)真實(shí)噪聲去除的深度學(xué)習(xí)方法難以取得實(shí)效。GUO 等提出了卷積盲去噪網(wǎng)絡(luò)(Convolutional blind denoising network,CBDNet),其由噪聲估計(jì)和噪聲去除兩個(gè)子網(wǎng)絡(luò)組成,采用人工合成噪聲和真實(shí)噪聲的圖片進(jìn)行聯(lián)合訓(xùn)練,在一定程度上提高了網(wǎng)絡(luò)泛化能力[9]。蔡鑫鑫等提出了一種結(jié)構(gòu)保持生成對(duì)抗網(wǎng)絡(luò)模型,能夠有效去除頻域光學(xué)相干斷層掃描(SD-OCT)中的散斑噪聲[10]。本文針對(duì)去除真實(shí)圖像噪聲的實(shí)際需要,提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的圖像真實(shí)噪聲去除算法,以進(jìn)一步提高算法去噪性能。該算法采用真實(shí)噪聲圖像訓(xùn)練集,并利用博弈思想來(lái)訓(xùn)練網(wǎng)絡(luò)模型。實(shí)驗(yàn)結(jié)果表明,該算法去除真實(shí)圖像噪聲的性能要優(yōu)于其他同類算法。
本文算法將生成網(wǎng)絡(luò)Gα與判別器網(wǎng)絡(luò)Dα進(jìn)行聯(lián)合訓(xùn)練,網(wǎng)絡(luò)架構(gòu)如圖1所示。生成器Gα將含噪圖像作為輸入,并輸出去噪圖像。判別器Dα以原始圖像和去噪圖像為輸入,而輸出是位于[0,1]的一個(gè)數(shù)值,用于表征去噪圖像與原始圖像之間的相似概率。將Gα與Dα聯(lián)合訓(xùn)練可以在提高Gα去噪性能的同時(shí),保留圖像細(xì)節(jié),同時(shí)Gα能在與Dα的博弈中解決丟失高頻特征的問(wèn)題。此外,本文還設(shè)計(jì)了一個(gè)增強(qiáng)網(wǎng)絡(luò)Gγ,其以Gα的輸出圖像作為輸入,可使生成的圖像有更高的去噪性能與視覺(jué)質(zhì)量。
算法性能的優(yōu)劣在較大程度上依賴于生成網(wǎng)絡(luò)設(shè)計(jì)[11]。本文利用U-net 和殘差密集塊(Residual dense block,RDB)來(lái)構(gòu)建生成網(wǎng)絡(luò),其結(jié)構(gòu)如圖2 所示,其中,參數(shù)k、n和s分別表示卷積核的尺寸、濾波器個(gè)數(shù)以及步長(zhǎng)。U-net是一種具有編/解碼的全卷積神經(jīng)網(wǎng)絡(luò),與普通的編/解碼結(jié)構(gòu)相比,其能通過(guò)跳躍連接將提取到的特征圖進(jìn)行拼接,從而保留像素級(jí)的細(xì)節(jié)信息[12]。RDB 是一種通過(guò)密集連接卷積層來(lái)提取豐富局部特征的網(wǎng)絡(luò)結(jié)構(gòu)[13]。生成器網(wǎng)絡(luò)由結(jié)構(gòu)相同的上下兩層卷積神經(jīng)網(wǎng)絡(luò)所構(gòu)成,有利于提取更豐富的圖像結(jié)構(gòu)特征,而編/解碼器通過(guò)對(duì)稱卷積使得含噪圖像和去噪圖像的維度相同。RDB結(jié)構(gòu)采用四個(gè)級(jí)聯(lián)方式,最后一層卷積核尺寸為1*1,另外三層的卷積核大小為3*3,卷積步長(zhǎng)設(shè)置為1,在各卷積層后接ReLU激活函數(shù)。
圖2 生成網(wǎng)絡(luò)Gα的結(jié)構(gòu)圖
判別器網(wǎng)絡(luò)Dα用于判別樣本是來(lái)自真實(shí)數(shù)據(jù)還是生成網(wǎng)絡(luò),其通過(guò)將結(jié)果反饋給生成器以改善去噪性能[14]。判別器以生成器所生成的去噪圖像和原始圖像為輸入,而輸出為兩幅圖像的相似度。判別器網(wǎng)絡(luò)也是基于RDB設(shè)計(jì)的。RDB能夠自適應(yīng)地保留低頻和高頻特征,有助于Dα判別原始圖像和生成圖像的相似度。判別器結(jié)構(gòu)如圖3所示,采用4個(gè)RDBSN模塊級(jí)聯(lián)以充分提取圖像的細(xì)節(jié)特征,其中,RDBSN 模塊最后一層卷積核的尺寸為1*1,其他層卷積核尺寸為3*3,步長(zhǎng)設(shè)置為2 以加快網(wǎng)絡(luò)速度。濾波器個(gè)數(shù)依次為64、128、256 和512。為了提高判別器穩(wěn)定性,在每一個(gè)卷積層后通過(guò)SN(Spectral normalization)對(duì)網(wǎng)絡(luò)權(quán)值進(jìn)行歸一化處理[15]。最后一層為sigmoid層,其輸出值越接近于1,則表明其生成的圖像與原始圖像的相似度越高。
圖3 判別網(wǎng)絡(luò)Dα的結(jié)構(gòu)
增強(qiáng)網(wǎng)絡(luò)Gγ通過(guò)三級(jí)生成網(wǎng)絡(luò)Gα級(jí)聯(lián)結(jié)構(gòu)來(lái)獲得更好的圖像特征信息融合,其通過(guò)跳躍連接加速了網(wǎng)絡(luò)收斂速度。當(dāng)生成網(wǎng)絡(luò)Gα與判別器網(wǎng)絡(luò)Dα的聯(lián)合訓(xùn)練結(jié)束后,可通過(guò)增強(qiáng)網(wǎng)絡(luò)Gγ以得到最終圖像去噪結(jié)果。Gγ是端到端的神經(jīng)網(wǎng)絡(luò),能夠進(jìn)一步提升生成網(wǎng)絡(luò)Gα所輸出的去噪圖像質(zhì)量。
圖4 增強(qiáng)網(wǎng)絡(luò)Gγ的結(jié)構(gòu)
采用包含真實(shí)噪聲的圖像數(shù)據(jù)集FMD和RENOIR作為訓(xùn)練集。其中,F(xiàn)MD數(shù)據(jù)集包含240幅自然圖像[16],RENOIR數(shù)據(jù)集包含220幅圖像[17],所采用的圖像均具有豐富的紋理和邊緣特征。在訓(xùn)練過(guò)程中,訓(xùn)練集的圖像被隨機(jī)裁剪為512×512 大小,網(wǎng)絡(luò)的初始學(xué)習(xí)率為0.001,迭代次數(shù)上限設(shè)置為10 000,批處理大小為64,采用Adam 算法以更新梯度,并使用學(xué)習(xí)率衰減。實(shí)驗(yàn)平臺(tái)是Windows10、GPU為NVIDIA GeForce RTX 3050 Ti,軟件環(huán)境是基于Python3.6、CUDA9.0和Pytorch1.0。分別使用SIDD 與DND 兩種真實(shí)圖像噪聲的公開(kāi)數(shù)據(jù)集對(duì)所提算法的性能進(jìn)行測(cè)試。SIDD 數(shù)據(jù)集是由PLOTZ等使用5種智能手機(jī)拍攝了多種場(chǎng)景在不同光照條件下的帶噪聲圖像集,并提供了部分對(duì)應(yīng)的“無(wú)噪聲”真實(shí)影像[18]。DND數(shù)據(jù)集是TOBIAS等用不同傳感器尺寸的消費(fèi)級(jí)相機(jī)所捕獲的50幅真實(shí)噪聲圖像集,并包含對(duì)應(yīng)的參考圖像[19]。為了檢測(cè)本文算法的性能優(yōu)勢(shì),從近期相關(guān)文獻(xiàn)中選擇了適用于處理廣泛噪聲水平的FFDNet算法[6],以及針對(duì)去除圖像真實(shí)噪聲的MC-WNNM[7]、TWSC[8]、CBDNet[9]三種典型算法作為對(duì)比,用于進(jìn)行圖像去噪性能的比較與分析。
圖4(a)為選自DND 數(shù)據(jù)集的一幅含真實(shí)噪聲的原圖像,圖4(b~f)為不同算法的去噪效果。由于FFDNet 不是基于圖像真實(shí)噪聲訓(xùn)練的去噪網(wǎng)絡(luò),該算法的去噪效果相對(duì)較差,有明顯噪聲殘留且邊緣保持能力不佳。MCWNNM 與TWSC 兩種算法都是基于去除真實(shí)圖像噪聲而提出的。其中,由于MCWNNM依賴于圖像先驗(yàn)知識(shí)且缺乏特征重建結(jié)構(gòu),圖4(c)在視覺(jué)上存在少量的噪聲遺留和圖像細(xì)節(jié)丟失。由于TWSC采用權(quán)值矩陣來(lái)表征真實(shí)噪聲和圖像先驗(yàn)的統(tǒng)計(jì)量,故圖4(d)的去噪效果優(yōu)于MCWNNM。CBDNet采用真實(shí)噪聲與干凈圖像配對(duì)來(lái)訓(xùn)練卷積盲去噪網(wǎng)絡(luò),使其對(duì)噪聲的去除能力有進(jìn)一步提升,這體現(xiàn)在圖4(e)的去噪結(jié)果比前幾種算法有更少的噪聲殘留。觀察本文算法的去噪結(jié)果,可以看出圖4(f)對(duì)圖像真實(shí)噪聲的清除效果良好,能夠使圖像邊緣與細(xì)節(jié)信息得到有效恢復(fù),明顯提高了圖像細(xì)節(jié)的可見(jiàn)性,處理后的圖像具有令人滿意的視覺(jué)質(zhì)量。
圖4 圖像真實(shí)噪聲的去噪效果。(a)含噪聲原圖像;(b)FFDNet;(c)MCWNNM;(d)TWSC;(e)CBDNet;(f)本文算法
采用峰值信噪比(Peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似度(Structural similarity index measurement,SSIM)作為算法性能的評(píng)價(jià)指標(biāo)。去噪測(cè)試圖像分別選用了DND數(shù)據(jù)集中50對(duì)真實(shí)噪聲圖像和參考圖像,以及SIDD數(shù)據(jù)集中160幅噪聲圖像與參考圖像。采用本文算法與對(duì)比算法分別處理以上兩個(gè)數(shù)據(jù)集,獲得的PSNR和SSIM性能指標(biāo)平均值如表1所示。一般來(lái)說(shuō),PSNR值越大,表明噪聲抑制效果越好;SSIM 值越大,表明圖像的邊緣結(jié)構(gòu)恢復(fù)效果越好。按照PSNR 與SSIM 的數(shù)值從小到大次序,對(duì)應(yīng)算法依次為FFDNet、MC-WNNM、TWSC、CBDNet與本文算法。其中,在DND數(shù)據(jù)集的PSNR評(píng)價(jià)指標(biāo)上,本文算法較其他四種算法和提高了13.73%、4.84%、3.32% 與2.94%,在SIDD 數(shù)據(jù)集的測(cè)試結(jié)果中分別提高了56.41%、50.16%、17.89% 和15.98%。在DND 數(shù)據(jù)集SSIM 評(píng)價(jià)指標(biāo)上,本文算法較其他四種算法提高了12.77%、2.17%、1.40 和1.29%,在SIDD數(shù)據(jù)集中分別提高了50.34%、14.40%、8.03%和7.92%。結(jié)果表明,本文算法在兩項(xiàng)去噪性能參數(shù)上均明顯優(yōu)于其他同類算法,這與圖4的主觀評(píng)價(jià)結(jié)論相吻合。
針對(duì)真實(shí)圖像噪聲的去噪需要,本文提出了一種基于生成對(duì)抗網(wǎng)絡(luò)的圖像噪聲去除算法。該算法利用殘差密集塊來(lái)提取與融合圖像特征,可保留更多的圖像信息。通過(guò)生成網(wǎng)絡(luò)與判別網(wǎng)絡(luò)的聯(lián)合訓(xùn)練以實(shí)現(xiàn)圖像去噪,最后使用增強(qiáng)網(wǎng)絡(luò)來(lái)進(jìn)一步提升圖像質(zhì)量。同時(shí)采用含真實(shí)噪聲的圖像以進(jìn)行去噪測(cè)試實(shí)驗(yàn),并與FFDNet、MCWNNM、TWSC和CBDNet四種算法進(jìn)行對(duì)比,結(jié)果表明本文算法用于去除圖像真實(shí)噪聲能夠獲得更高的PSNR和SSIM值,且輸出圖像有更高的視覺(jué)質(zhì)量。