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