史永祥,蔣斌,黃雍晫,楊桂生,李慶武,張志良
1.國家電網溧陽市供電公司,江蘇 溧陽 213300
2.河海大學 物聯網工程學院,江蘇 常州 213000
紅外成像技術提供了重要的目標熱輻射信息,在諸多領域都有著廣泛應用,包括熱分析、視頻監控、醫療診斷和遙感等方面。然而,由于紅外傳感器線性尺寸的關系,熱成像儀捕獲的紅外圖像空間分辨率低、清晰度差[1];同時高分辨率紅外成像儀制作困難、成本昂貴。因此,本文在不改變硬件成像設備的情況下,通過輸入低分辨率紅外圖像(low resolution infrared image,LRI),利用深度學習算法重建高分辨率紅外圖像(high resolution infrared image,HRI),提高紅外圖像的質量,以支持高層的計算機視覺任務[2]。
傳統的超分辨率重建(super resolution,SR)算法主要有3 類:插值算法[3?4]實現簡單、處理迅速,但會丟失圖像細節信息,導致重建圖像模糊;基于重建的算法通常需要利用多幀圖像,并結合先驗知識,屬于多幀圖像超分重建算法;而人工設計表示特征的局限性導致基于機器學習[5]的超分辨率重建算法也表現一般[6]。
近年興起的深度學習在圖像分類、圖像分割和目標檢測識別等計算機任務有著顯著的效果,研究人員也嘗試通過設計深度神經網絡來解決超分辨率重建問題[7]。Dong 等[8]提出的SRCNN (image super-resolution using deep convolutional networks)首次使用卷積神經網絡來完成超分辨率重建任務,模型能夠自主學習低分辨率圖像和高分辨率圖像間的非線性映射關系,不需要人工參與設計特征,與傳統算法相比,重建效果得到了顯著提升;隨后的SRGAN(photo-realistic single image superresolution using a generative adversarial network)[9]則引入了殘差網絡[10],使用殘差塊構建模型,并利用生成對抗網絡[11](generative adversarial network,GAN)輔助訓練,提高了重建圖像的視覺效果和真實感;Lim 等[12]對SRGAN 的生成網絡SRResNet網絡的結構進行了修改,去除了殘差塊內的批歸一化層(batch normalization,BN),構建了EDSR 網絡,使得重建圖像質量得到了進一步的提升;近期的SinGAN[13]網絡,創新性地提出了只通過對單幅自然圖像進行學習,通過在單個樣本上訓練應用于特定任務的模型,可用于圖像的超分辨率重建。通過構建金字塔結構的全卷積生成對抗網絡,捕捉不同尺度圖像內部塊的分布信息,從而生成保留原始目標結構和圖像塊分布的高質量的樣本。
但是,SRCNN 等[14]網絡都是為了解決可見光圖像超分辨率重建問題而構建的,不能直接應用到紅外圖像的超分辨率重建問題上。因此,本文根據紅外圖像噪聲大、圖像細節信息模糊的特性,在EDSR 網絡結構的基礎上,構建了針對紅外圖像超分辨率重建的IEDSR(enhanced deep residual networks for infrared image super-resolution)網 絡。首先,針對EDSR[11]簡單地移除BN 層可能帶來的訓練困難問題,IEDSR 引入了池化層,解決訓練過程中的梯度彌散問題,同時還能有效縮減模型參數量,提升性能;其次IEDSR 在殘差模塊中新加入了一層卷積層和激活層,通過增加網絡深度,提高網絡的學習能力,用于有效恢復圖像的邊緣、紋理等細節信息;最后模型在預測時使用了增強預測算法,通過取均值來達到提高精準度的目的,有效地優化重建圖像,提升重建高分辨率紅外圖像質量。
IEDSR 網絡以殘差網絡結構作為骨干網絡,和EDSR 網絡相似,模型只需要學習圖像高頻信息,提高了學習速度;同時在網絡輸出端都使用了反卷積層,實現圖像空間分辨率的提升。不同的是,IEDSR 網絡針對紅外圖像分辨率低、信噪比差和對比度低等特性,對殘差模塊進行了改進:加入了新的卷積層和池化層,擴大感受野,提高模型的學習能力。另外,在模型預測時使用了增強預測算法來提高精準度。
殘差網絡[15]是由多個結構相同的殘差塊通過級聯的方式連接而成,單個殘差塊如圖1 所示。殘差塊分2 條路徑處理輸入:短接路和學習路,并在輸出時融合2 條路徑的特征數據。殘差網絡減輕了網絡的學習負擔,網絡只需學習輸入與輸出的差別信息,有效地解決了深層網絡訓練困難的問題,同時也能保證良好的性能。

圖1 單個殘差塊
殘差網絡的引入,使得圖像超分辨率重建效果得到了進一步的提高。各網絡殘差塊結構如圖2 所示。在殘差模塊中,輸入經卷積處理后,還需要通過批歸一化(batch normalization,BN)層,BN層通過計算卷積處理后的數據的均值和方差,增加正則化參數,使批次數據具有相同的分布模型。因此,批歸一化層對特征進行了規范化,縮小了數據的變化范圍[16],因此EDSR 網絡去除了BN層,其殘差塊結構如圖2(b)所示。

圖2 各不同殘差模塊對比
如圖1 所示,x為輸入圖像,U(x)為學習路徑的輸出,殘差模塊的輸出為F(x),則有
F(x)=max{0,U(x)+x}
對于普通的堆疊非線性層的神經網絡,網絡需要學習的映射函數為F(x),增加短接路后,殘差網絡只需要學習映射函數U(x)=F(x)?x,原來的非線性映射函數變成了U(x)+x。通常情況下,優化殘差網絡映射函數要比優化原來的映射函數容易得多。特別地當網絡要學習的是等價映射函數時,學習U(x)=0要比學習F(x)=x簡單得多[8]。
在生物神經網絡上,一個神經元所反應的刺激區域叫做該神經元的感受野,對應卷積神經網絡,每個卷積層輸出的特征圖上的像素連接到輸入圖像上的區域即為感受野(receptive field,RF)。卷積神經網絡某一層的感受野計算如式(1)所示,感受野的計算要由后層向前層推算,且最后一層輸出的特征圖的感受野即為其卷積核的大小。

式中:R為本層感受野的大小;R′為后一卷積層感受野大小;S為卷積步長;K為卷積核的大小。由式(1)可知,卷積和池化的層數越多,層數越靠后,該層的感受野越大,網絡學習時“反應”的圖像范圍更大,整體性更強,提取的特征也更高級、抽象,表達圖像的能力更強。
因此,在構建IEDSR 網絡時,選用了殘差網絡作為骨干網絡用于訓練,同時在殘差塊的調整中,與EDSR 網絡一樣,IEDSR 網絡移除BN 層,但由于BN 層能夠使網絡模型更好地學習,避免出現梯度彌散現象,因此只是簡單地移除BN 層可能會帶來訓練困難的問題。所以在移除BN層的基礎上,加入了池化層,即使用池化層替代BN 層,提高訓練效率,同時也能進一步擴大感受野。
深層神經網絡依靠其更大的感受野范圍,能夠提取圖像更加深層次、更加抽象的特征,有利于更好地重建圖像。因此,在IEDSR 的殘差模塊中增加了卷積層和激活層的層數,通過增加局部殘差模塊的感受野,提高學習能力[17],用于有效恢復圖像的大規模結構信息,如圖2(c)所示。改進的殘差網絡通過增加殘差模塊的卷積層,能夠增強模型非線性映射能力,擴大感受野,在保證網絡深度的同時,避免出現梯度彌散現象;同時池化層能夠減少網絡參數量、減小過擬合。
增強預測[18]算法通過沿邊翻轉、旋轉等數據增強方式,生成多張輸入,再對多個預測結果取均值,得到最終輸出結果。增強預測通過平均,使模型對同一“輸入”的預測不會產生較大的偏差,保證模型預測穩定,提高重建精度。
對于卷積神經網絡,卷積運算具有平移不變性和旋轉魯棒性,旋轉等操作對特征提取不會有較大影響。因此,可以將增強預測加入到模型測試階段,提高重建精度。具體到本文,在對IEDSR模型進行測試時,分別將輸入圖像以4 條邊線為軸翻轉,再對輸入旋轉180°處理,得到5 張輸入,經過網絡重建,將單張預測復原到正常位置,取5 張預測的均值,得到最終的重建結果。
本文將可見光圖像的超分辨率重建算法EDSR引入到紅外圖像的超分辨率問題上,并根據紅外圖像的特性對網絡結構進行了改進,合理選擇網絡參數,有效減少了網絡需要學習的參數和計算量。
本文模型的殘差網絡部分由16 個具有相同結構的殘差塊級聯組成,卷積核尺寸均為3×3,其中殘差塊的特征圖的深度維數為256。相對于EDSR 網絡的32 個殘差塊、256 通道特征圖,IEDSR模型需要學習的參數大大降低。
本文訓練過程采用Adam(adaptive moment estimation)優化算法,Adam 算法通過使用指數加權平均和偏差修正算法更新權重,能夠加速梯度的下降,加快網絡收斂,具有較快的學習速度;并使學習率離散下降,在不同的迭代次數內使用不同的學習率。具體的超參數設置如下:初始學習率為0.001,學習率衰減因子設置為0.5。在DIV2K數據集上預訓練時的迭代次數為300,每經過100次迭代,學習率衰減為原來的0.5 倍;使用紅外圖像對模型進行微調時,初始學習率為0.001,訓練迭代次數為60 次,每經過20 次迭代,學習率下降為原來的0.5 倍。Adam 算法權重衰減等其他超參數采用默認值,不做調整。
原始高分辨率圖像Y經下采樣得到的低分辨率圖像為X,模型預測得到的重建圖像為。良好的超分辨率算法,其重建圖像與原始高分辨率圖像Y應該盡可能的相同。因此,本文在訓練時選用了均方根誤差(mean squared error,MSE)函數作為網絡損失函數,使與Y具有最小歐氏距離:

式中M、N為重建圖像的寬、高。
由于網絡規模較大,而紅外圖像數據資源比較稀缺,因此,為了保證模型收斂到較優的位置,在訓練時首先使用了DIV2K 數據集來對模型進行預訓練,學習可見光圖像重建映射函數;完成初步訓練后,再使用紅外圖像對模型進行微調,實現對紅外圖像的超分辨率重建。
微調訓練的數據集紅外圖像大小為320×240,由于初步訓練使用的是彩色RGB 通道圖像,因此微調時,使用了Matlab 算法對單通道紅外圖像進行了偽彩色上色處理,轉換為3 通道彩色圖像,增加圖像特征的豐富性[19]。預訓練模型放大倍數為3。為方便計算峰值信噪比(peak signal-to-noise ratio,PSNR),訓練前將圖像裁剪到318×240大小。將大小為318×240的圖像作為真值圖像(ground truth,GT),使用Matlab 的雙立方插值算法下采樣3 倍得到大小為106×80的圖像作為訓練圖像,也即LR圖像。數據集由256 張紅外圖像組成,其中240張用作訓練集,剩余的16 張作為測試集。預訓練和模型微調過程均在配置為NVIDIA-1080 的GPU,內存32 GB 的工程機上完成,網絡在PyTorch 神經網絡平臺上搭建。圖3 為訓練過程中模型在測試集上PSNR 隨迭代次數變化圖。
為了很好地表明本文算法的有效性和優越性,本節從主觀和客觀2 個方面來對本文提出的方法進行定性和定量分析。主觀定性分析主要觀察重建圖像的直觀視覺效果;定量分析主要采用常用的峰值信噪比(PSNR)和結構相似度(structural SIMilarity index,SSIM)作為重建圖像質量評價指標。PSNR 即最大像素值與均方誤差的比值,該值越大,重建圖像的失真越小。其計算為

式中:MSE 為均方根誤差,計算如式(2)所示;MAX為圖像像素的最大值,對于本文的RGB 圖像,MAX即為255。SSIM 的計算為

式中:Y、表示原始高分辨率圖像和重建圖像;μ、σ表示圖像的均值和方差;表示2 幅圖像的協方差;C、C′為接近0 的正常數。SSIM 的計算基于圖像亮度、對比度和結構信息,其值越大,表示2 幅圖像的相似度越高。

圖3 訓練過程中PSNR 增長曲線
實驗對IEDSR、雙三次插值算法(Bicubic[20])、EDSR 和SinGAN 算法重建圖像的PSNR 和SSIM進行比較。在16 張測試集中隨機選取5 張紅外圖像完成對比實驗,定性分析如圖4 所示,為了更好地對比重建效果,將局部細節放大2 倍并放置于圖像的左上方。從左往右依次為原圖(HR)、Bicubic 算法、EDSR 算法、SinGAN 算法及本文IEDSR 算法重建的圖像。可從主觀角度觀察紅外圖像的超分辨率重建效果。表1 展示了客觀評價指標的對比結果,實驗選擇的評價指標為重建圖像的PSNR 和SSIM。


圖4 不同算法實現紅外圖像重建效果

表1 不同算法放大3 倍重建紅外圖像的PSNR 和SSIM
1)針對紅外圖像超分辨率重建問題,提出了改進的殘差網絡,構建IEDSR 深度神經網絡,解決了深層網絡訓練困難問題,避免了過擬合問題,提高網絡的學習表達能力,在保證重建紅外圖像質量的同時,提高了圖像空間分辨率,更好地支持后續檢測識別等任務。
2)使用可見光圖像和紅外圖像樣本對模型進行訓練擬合,豐富了訓練數據集的容量,提高模型的泛化能力,對不同場景的紅外圖像都能夠實現較好的重建效果,利用增強預測算法增加模型的魯棒性,提升重建紅外圖像的精度。
實驗證明,本文方法重建紅外圖像清晰度高、視覺效果好,并且算法處理迅速,具有較強實用價值。不足的是,僅實現了3 倍超分辨率放大,放大后的紅外圖像尺寸相對也較小。因此,高倍數紅外圖像超分辨率重建是下一步需要研究的方向。