李 婷,張 靜,2,王 姮,張 華,胡浩行,劉理想
(1.西南科技大學(xué)信息工程學(xué)院,四川綿陽(yáng) 621000;2.中國(guó)科學(xué)技術(shù)大學(xué)信息科學(xué)技術(shù)學(xué)院,安徽合肥 230026)
在強(qiáng)輻照環(huán)境下的工程作業(yè)任務(wù)中,一般通過遙操作機(jī)器人上攜帶的CCD相機(jī)獲取現(xiàn)場(chǎng)視頻或圖像信息。清晰的現(xiàn)場(chǎng)視頻圖像可保障作業(yè)任務(wù)高效地完成。然而,CCD相機(jī)在強(qiáng)輻照環(huán)境下受到高能粒子影響后,產(chǎn)生的輻照損傷效應(yīng)[1]會(huì)導(dǎo)致獲取的視頻信息含有嚴(yán)重的污染噪聲,極大地影響了作業(yè)效率。因此圖像去噪工作至關(guān)重要。傳統(tǒng)的去噪算法如中值濾波算法、曲波變換和小波變換法等對(duì)去除圖像中的高斯噪聲效果良好,但對(duì)于輻照環(huán)境下受污染圖像去噪受到了限制[2]。由于輻照?qǐng)D像的噪聲具有復(fù)雜性,傳統(tǒng)的噪聲處理方法在改善圖像質(zhì)量的同時(shí)也使得很多細(xì)節(jié)信息如物體邊緣變得模糊,反而使圖像質(zhì)量降低[3]。目前,卷積神經(jīng)網(wǎng)絡(luò)作為一種典型的深度學(xué)習(xí)方法,具有自動(dòng)提取圖像特征、權(quán)值共享等優(yōu)良特性,在圖像去噪領(lǐng)域得到了廣泛的應(yīng)用[4]。Divakar N等人提出了卷積神經(jīng)網(wǎng)絡(luò)的圖像盲去噪模型,不需要先驗(yàn)信息,輸入為含噪圖像,輸出為清晰圖像[5]。但是大多數(shù)用于圖像去噪的神經(jīng)網(wǎng)絡(luò)層數(shù)都比較多,這會(huì)導(dǎo)致模型涉及大量的參數(shù),計(jì)算成本很高,耗時(shí)長(zhǎng)。He K等人提出了深度殘差學(xué)習(xí),減少了對(duì)網(wǎng)絡(luò)的訓(xùn)練時(shí)間的同時(shí),也解決了網(wǎng)絡(luò)層數(shù)過多難以訓(xùn)練等問題[6]。同時(shí),殘差學(xué)習(xí)在圖像處理方面可靠性也得到了驗(yàn)證[7-8]。本文將卷積神經(jīng)網(wǎng)絡(luò)(CNN)引入到圖像去噪中,提出了一種基于深度殘差網(wǎng)絡(luò)的強(qiáng)輻照?qǐng)D像去噪模型。該網(wǎng)絡(luò)在降低輻照噪聲的同時(shí)能較好地保持圖像細(xì)節(jié)。
圖像去噪的目標(biāo)是給定一組噪聲圖像和干凈圖像組成的訓(xùn)練數(shù)據(jù)集,CNN能自主學(xué)習(xí)噪聲圖像到干凈圖像的映射。CNN輸入二維圖像,卷積層通過滑動(dòng)窗口的形式提取和映射圖像的細(xì)節(jié)特征。特征提取時(shí),前一層的特征圖與可訓(xùn)練的濾波器進(jìn)行卷積來提取圖像信息特征,然后通過激活函數(shù)生成特征圖。將提取到的特征圖在更高層進(jìn)行組合得到全局特征。通常,設(shè)置不同的濾波器對(duì)同一特征圖進(jìn)行卷積能得到不同的特征表達(dá),進(jìn)而達(dá)到提取特征的目的。一般地,可用如下公式表示卷積操作:
(1)
網(wǎng)絡(luò)深度的增加帶來的主要問題是梯度消失和梯度爆炸。在CNN中引入殘差學(xué)習(xí)策略能很好地解決CNN隨深度增加帶來的網(wǎng)絡(luò)退化問題[6]。圖1為普通網(wǎng)絡(luò)與殘差網(wǎng)絡(luò)傳遞過程對(duì)比。假設(shè)最優(yōu)解映射H(x)=x。對(duì)于普通網(wǎng)絡(luò),直接擬合H(x)=x表示最優(yōu)解映射。但是在殘差網(wǎng)絡(luò)中,對(duì)于任意堆疊的兩層網(wǎng)絡(luò),需找到一個(gè)映射H(x)對(duì)應(yīng)的殘差元。這里是指映射H(x)和x的差值,即F(x)=H(x)-x。此時(shí)最優(yōu)解映射為
H(x)=F(x)+x
式中:F(x)為殘差映射;x為輸入信號(hào)。
圖1 普通網(wǎng)絡(luò)與殘差網(wǎng)絡(luò)傳遞過程對(duì)比
當(dāng)F(x)無(wú)限接近于0時(shí),即完成了最優(yōu)解映射H(x)=x。采用相同的卷積層擬合出F(x)比H(x)更容易。
在深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練的過程中,各層的輸入分布會(huì)隨著前一層的參數(shù)變化而變化。這將會(huì)直接影響神經(jīng)網(wǎng)絡(luò)的收斂速度和穩(wěn)定性。為了減少數(shù)據(jù)分布變化,本文通過使用批歸一化算法來解決這個(gè)問題[9]。
批歸一化算法主要的思想是變換重構(gòu)。假設(shè)某一批次輸入數(shù)據(jù)的集合為{t1,…,tm},其中,數(shù)據(jù)的數(shù)量為m。樣本進(jìn)行歸一化后輸出數(shù)據(jù)集合為{I1,…,Im}。這里引入2個(gè)可學(xué)習(xí)的重構(gòu)參數(shù)λ和μ。 為了讓網(wǎng)絡(luò)可以學(xué)習(xí)恢復(fù)出原始網(wǎng)絡(luò)需要學(xué)習(xí)的特征分布,因此構(gòu)建公式:Im=λtm+μ。算法步驟如下:
Step1:計(jì)算輸入數(shù)據(jù)均值:
(2)
Step2:計(jì)算輸入數(shù)據(jù)方差:
(3)
Step3:對(duì)數(shù)據(jù)進(jìn)行歸一化:
(4)
式中ε為防止方差為0時(shí)設(shè)置一個(gè)常量,一般取接近于0的數(shù)。
Step4:訓(xùn)練參數(shù)λ和μ:
(5)
圖像去噪過程中,輻照噪聲圖像y(x)為整個(gè)網(wǎng)絡(luò)模型的輸入,然后通過網(wǎng)絡(luò)訓(xùn)練得到殘差噪聲圖像S(x)。最后間接地獲得映射,整個(gè)過程可以表示為
X(x)=y(x)-S(x)
式中X(x)為經(jīng)過訓(xùn)練間接得到的去噪圖片。
本文的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該網(wǎng)絡(luò)是基于經(jīng)典的VGG網(wǎng)絡(luò)模型修改而得[10]。本文在原VGG網(wǎng)絡(luò)上增加了網(wǎng)絡(luò)層數(shù),去掉了池化層和全連接層。因?yàn)槌鼗瘜涌赡軐?dǎo)致圖像丟失一些細(xì)節(jié)信息,不利于圖像恢復(fù);而全連接層的作用是主要實(shí)現(xiàn)分類,不適合圖像去噪。
圖2 深度殘差神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
該網(wǎng)絡(luò)是由20層具有殘差結(jié)構(gòu)的級(jí)聯(lián)卷積層組成。為有效防止網(wǎng)絡(luò)訓(xùn)練過程中梯度消失等問題,網(wǎng)絡(luò)需設(shè)置殘差連接。在殘差結(jié)構(gòu)中,首先在模型所有殘差塊外加一個(gè)短連接支路,稱為第一級(jí)短連接支路;然后在第一級(jí)短連接支路設(shè)置了4個(gè)相同的殘差塊,且每個(gè)殘差塊均由4個(gè)卷積層和1個(gè)短連接組成。圖3為殘差塊結(jié)構(gòu)。
圖3 殘差塊結(jié)構(gòu)
為了確保輸入圖像和輸出圖像大小一致,采用了Padding=same的填充方式。該網(wǎng)絡(luò)有3種卷積方式,分別如下:
(1)卷積+relu層:輸入的噪聲圖像經(jīng)過第1層的特征提取后用修正線性單元激活函數(shù)(ReLU)進(jìn)行激活。這里特征提取的卷積核為3*3*1。
(2)卷積+批歸一化+relu層:該卷積方式在第2到第19層。在卷積層和relu層之間添加了批歸一化算法,是為了對(duì)每次前向傳播的過程中對(duì)數(shù)據(jù)進(jìn)行正態(tài)分布的歸一化調(diào)整。卷積核大小為3*3*64。
(3)卷積層:這一層作為整個(gè)網(wǎng)絡(luò)的輸出,卷積核大小為3*3*64。
由于圖像去噪的目的是得到與真實(shí)干凈圖像盡可能相近的圖像。這里采用期望殘差噪聲圖像與來自噪聲輸入的估計(jì)殘差圖像之間的平均均方誤差作為損失函數(shù)來學(xué)習(xí)可訓(xùn)練參數(shù)。對(duì)于整個(gè)網(wǎng)絡(luò),通過學(xué)習(xí)噪聲圖像得到的代價(jià)函數(shù)為
(6)
式中:N為每個(gè)訓(xùn)練批次的樣本數(shù)量;S(ym;θ)為期望的殘差噪聲圖像;ym-Xm為經(jīng)過網(wǎng)絡(luò)后生成的殘差噪聲圖像。
代價(jià)函數(shù)值越小,去噪效果越好。
實(shí)驗(yàn)采用小批量梯度下降法訓(xùn)練網(wǎng)絡(luò)。實(shí)驗(yàn)中Mini-batch大小為128,epoch設(shè)置為50;在這50個(gè)迭代次數(shù)中,學(xué)習(xí)率從10-1到10-3呈指數(shù)衰減。本實(shí)驗(yàn)使用Opencv庫(kù)進(jìn)行圖像處理,采用Tensorflow深度學(xué)習(xí)框架訓(xùn)練網(wǎng)絡(luò),均用python語(yǔ)言編寫。實(shí)驗(yàn)仿真的計(jì)算機(jī)配置為2顆intel(R)Xeon(R)E5-2620 V4CPU@2.10 GHz,GPU為2塊NVIDIA TITAN Xp,運(yùn)行內(nèi)存為64 GB。本文實(shí)驗(yàn)平臺(tái)搭載的操作系統(tǒng)為64位Ubuntu16.04.2LTS,同時(shí)使用Anaconda3集成開發(fā)工具。
實(shí)驗(yàn)的數(shù)據(jù)來源于某輻照廠60Co耐輻照性能測(cè)試時(shí)CCD相機(jī)采集的現(xiàn)場(chǎng)圖像。其中,CCD相機(jī)所處位置檢測(cè)到的γ射線輻射強(qiáng)度約為80 Gy/h、累積輻照為100 Gy。訓(xùn)練樣本選取大小均為960 pixel×576 pixel的500張的強(qiáng)輻照噪聲圖像和500張無(wú)噪聲圖像。由于深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練需要大量的數(shù)據(jù)樣本,為了提高模型的泛化能力,本文采用數(shù)據(jù)擴(kuò)增的方式對(duì)樣本集進(jìn)行擴(kuò)增。即對(duì)數(shù)據(jù)集中的圖像進(jìn)行旋轉(zhuǎn)變換和上下翻轉(zhuǎn),最終得到的2 000幅圖像作為實(shí)驗(yàn)訓(xùn)練數(shù)據(jù)集。
實(shí)驗(yàn)選取了3個(gè)標(biāo)準(zhǔn)灰度強(qiáng)輻照噪聲圖像(全景、局部1、局部2)為例說明本文算法的去噪效果。利用已訓(xùn)練好的網(wǎng)絡(luò)模型對(duì)圖像進(jìn)行測(cè)試處理,并與當(dāng)前去噪效果良好的BM3D算法、WNNM算法及TNRD算法進(jìn)行對(duì)比測(cè)試。表1給出了4種算法處理輻照噪聲圖像后的PSNR值??梢钥闯?,本文算法去噪后的PSNR均高于其他算法的0.33~1.27 dB。其中,全景圖像使用本文算法后提高了13.10 dB;局部1圖像使用本文算法后提高了12.60 dB;局部2圖像使用本文算法后提高了9.31 dB。
表1 輻照?qǐng)D像去噪PSNR值 dB
圖4為3個(gè)輻照噪聲圖像使用4種算法去噪效果直觀圖。觀察局部圖像細(xì)節(jié)可以發(fā)現(xiàn),4種去噪算法均能有效提高輻照噪聲圖像的質(zhì)量。其中,BM3D算法和WNNM算法雖然去除了噪聲,但是圖像的邊緣細(xì)節(jié)部分已經(jīng)模糊;TRND效果次之;本文算法去噪圖像輪廓清晰,紋理細(xì)節(jié)保留更加完整。
為了驗(yàn)證該網(wǎng)絡(luò)的強(qiáng)適應(yīng)性,還進(jìn)行了一個(gè)盲高斯去噪實(shí)驗(yàn)來進(jìn)一步驗(yàn)證該網(wǎng)絡(luò)的去噪能力。對(duì)選擇的30張輻照環(huán)境下低噪聲圖像分別添加標(biāo)準(zhǔn)差為25、50和75的高斯白噪聲進(jìn)行去噪。并與當(dāng)前去噪效果良好的BM3D算法、WNNM算法及TNRD算法進(jìn)行對(duì)比測(cè)試,如表2所示??梢钥闯?,當(dāng)噪聲標(biāo)準(zhǔn)差為25時(shí),本文方法去噪后的PSNR均高出其他算法0.53~0.88 dB;當(dāng)噪聲標(biāo)準(zhǔn)差為50時(shí),本文方法去噪后的PSNR均高出其他算法0.46~0.69 dB;對(duì)于3種噪聲程度不同的圖像,本文算法去噪后得到的PSNR均最高,說明有更好的圖像去噪能力。
圖4 4種算法去噪效果對(duì)比
表2 不同噪聲級(jí)別時(shí)4種算法PSNR結(jié)果 dB
在視覺可視化方面,圖5為灰度魚眼圖像添加標(biāo)準(zhǔn)差為50的高斯白噪聲環(huán)境下,與BM3D、WNNM和TNRD算法進(jìn)行對(duì)比的主觀去噪效果圖??梢钥闯?,本文的算法結(jié)果明顯優(yōu)于其他3種算法,去噪的圖像更清晰,邊緣細(xì)節(jié)保留的得更完整。
除了視覺質(zhì)量之外,圖像去噪的另一個(gè)重要方面是測(cè)試運(yùn)行時(shí)間。表3為測(cè)試核環(huán)境下魚眼圖像、局部1圖像和全景圖像使用不同算法的整體去噪時(shí)間對(duì)比結(jié)果??梢钥闯?,本文算法去噪時(shí)間最短,對(duì)比TNRD算法,計(jì)算耗時(shí)降低了約1/5,計(jì)算效率明顯提升。
表3 4種算法去噪時(shí)間對(duì)比 s
綜合以上實(shí)驗(yàn)可以得到,本文算法具有更好的去噪效果,不僅有很好的主觀去噪結(jié)果,還降低了去噪的時(shí)間復(fù)雜度,提高了去噪效率。同時(shí),算法克服了大多數(shù)算法強(qiáng)輻照環(huán)境下適應(yīng)性差的缺點(diǎn),在未獲取測(cè)試圖像噪聲先驗(yàn)的情況,也能自適應(yīng)去噪。
(a)原始圖像
(b)噪聲圖像
(c)BM3D算法
(d)WNNM算法
(e)TNRD算法
(f)本文算法
本文將卷積神經(jīng)網(wǎng)絡(luò)引入強(qiáng)輻照?qǐng)D像去噪任務(wù)中,提出了基于深度殘差神經(jīng)網(wǎng)絡(luò)的圖像去噪方法。該方法將殘差學(xué)習(xí)和批歸一化算法引入到深度卷積神經(jīng)網(wǎng)絡(luò)模型中,降低了網(wǎng)絡(luò)訓(xùn)練難度,提高了訓(xùn)練速度和性能。實(shí)驗(yàn)結(jié)果表明:所提方法在主觀視覺和客觀評(píng)價(jià)指標(biāo)上均優(yōu)于其他方法,算法的適應(yīng)性也得到了提高,且該算法不局限于強(qiáng)輻照?qǐng)D像去噪,對(duì)盲高斯噪聲圖像去噪也具有適用性。