馮妍舟,劉建霞,王海翼,馮國昊,白宇
(太原理工大學電子信息與光學工程學院,山西 晉中 030600)
圖像去噪是圖像處理領域至關重要的問題之一,在生產和生活中有著廣泛應用。由于傳感器具有一定的物理特性,因此在數字成像過程中不可避免地引入噪聲,尤其在某些極端場景下,如暗光、夜景拍攝時,得到的圖像往往伴隨大量噪聲,嚴重影響視覺質量。許多用于圖像識別、圖像分割、目標檢測等任務的圖像因硬件設備和采集環境的限制,導致得到的圖像中往往包含大量噪聲,嚴重影響高級視覺任務的精度,因此圖像去噪常作為某些圖像處理任務的預處理步驟[1]。因此,對含噪圖像進行快速高效的圖像恢復有著重要意義。
傳統的圖像去噪方法包括均值濾波[2]、中值濾波[3]和非局部均值濾波[4]等空間域去噪方法,以及傅里葉變換濾波[5]、小波變換濾波[6]等變換域去噪方法。均值濾波取鄰域內像素的均值代替中心點的像素值,導致邊緣等具有高頻分量的區域模糊。中值濾波對窗口中的像素排序,取中值代替中心像素值,其對椒鹽噪聲抑制效果較好,但是會造成弱紋理區域輪廓模糊,且去噪效果隨窗口的增大而減弱。與局部濾波方法不同,非局部均值濾波通過比較不同區域之間的像素相似性對中心像素進行濾波,能夠更好地保留局部細節,但需要很長的計算時間和大量的存儲空間,對于亮度和顏色變化大的圖像去噪效果不佳。變換域去噪方法是將圖像從空間域轉換到其他域,如頻率域、小波域等,在變換域將圖像和噪聲分離,再反變換到圖像域。與空間域去噪方法相比,變換域去噪方法能夠更好地處理非平穩噪聲并保留細節信息,但容易產生阻尼和振鈴效應,影響圖像的質量和清晰度,且在實際操作中常常需要調整參數,優化過程復雜費力。
相較于傳統方法,基于卷積神經網絡(CNN)的圖像去噪方法通常具有更好的去噪效果。ZHANG等[7]針對去噪模型只對特定噪聲有效的問題提出DnCNN,將批標準化和殘差學習相結合,可以去除多種任務的噪聲。TAI等[8]利用遞歸單元和門單元自適應地挖掘細節特征并恢復出干凈圖像。為減少計算成本,MARYAM等[9]將擴張卷積引入到深度殘差網絡,以更少的層數和參數量提高對低劑量電子計算機斷層掃描(CT)圖像的去噪性能。SU等[10]提出多尺度的跨路徑串聯殘差網絡,學習不同感受野下的圖像特征,并基于圖像的上下文信息促進受損像素的重建。這些方法通常使用添加合成噪聲的圖像進行訓練,無法擬合復雜的噪聲分布,在真實噪聲圖像上泛化能力弱。
研究人員對基于CNN 的真實圖像盲去噪進行研究。文獻[11]提出的FFDNet 將噪聲水平圖和含噪圖像作為輸入訓練網絡,可以有效去除未知的復雜噪聲。KIM等[12]提出的AINDNet 使用自適應實例歸一化構造去噪器,并采用遷移學習將從合成噪聲中學習的知識遷移到真實含噪圖像中。為提高深層網絡的去噪效果,KIM等[13]提出1 個分組殘差密集型網絡,考慮不同通道和同一通道不同位置像素的重要性。為解決深層網絡難以訓練和性能飽和問題,TIAN等[14]使用包含批量重正化、殘差學習和擴張卷積的對偶CNN 來處理真實的噪聲圖像。雖然基于CNN 的去噪方法可以去除真實場景的噪聲,但其通常采用上/下采樣技術提高計算效率,容易丟失細節信息,導致邊緣模糊和紋理缺失,且其較深的網絡層通常導致參數量和計算量增大,訓練時間延長。
本文以塊間復雜度低的編碼-解碼結構為基礎,提出多級殘差信息蒸餾網絡(MRIDN)對真實場景的復雜噪聲進行去除。根據特征蒸餾的思想構建1 個多級殘差信息蒸餾模塊(MRIDB)對特征進行細化分離。構建塊中保留部分特征用于不同層級間的特征融合,其余通道的特征繼續向后傳遞,通過深度提取模塊(DEM)進一步提取深層信息,提升網絡的表達能力。利用對比度感知通道注意力(CCA)機制對不同通道的特征分配權重,重點關注結構、紋理等信息,提升網絡的去噪性能。
深度學習去噪方法常使用更深的網絡結構提取更深層次的信息,會造成模型參數量多、計算量大。信息多重蒸餾模塊(IMDB)[15]是輕量級圖像超分辨率網絡(IMDN)的主要構建塊,主要用于解決過多卷積難以應用于低計算能力設備的問題,減少模型計算量以實現網絡的輕量化。受IMDB 的啟發,本文構建1 個多級殘差信息蒸餾模塊作為該網絡結構的關鍵部分,通過特征通道分化的方式,向后傳遞部分通道的特征,保留部分特征進行多級信息融合,在很大程度上減少了計算量,在逐層提取有利特征的同時實現模型的輕量化。多級殘差信息蒸餾模塊結構如圖1 所示,包括通道分割操作、多級深層特征提取、多通道信息融合、跳躍連接、通道注意力等模塊。
首先將圖像的輸入特征X1在通道維度上進行分割,將其分為2 個部分X1=X1a∪X1b,分割比例為1∶3,將X1b送入深度提取模塊(DEM)中提取深層信息得到中間特征F1,保留X1a,即:
將中間特征F1與原始圖像輸入特征X1相加,得到下一級結構的輸入圖像特征X2,即:
繼續對X2進行通道分割X2=X2a∪X2b,保留X2a,對X2b進行深層特征提取、殘差連接等操作得到X3,以此類推,得到特征X4。接著將保留的部分特征{X1a,X2a,X3a,X4}在通道維度進行拼接得到融合特征X,充分利用不同階段的局部特征,即:
進一步使用對比度感知通道注意力機制給不同通道分配權重,然后通過1×1 卷積進行特征融合生成特征Y,即:
最后將原始的輸入特征X1與融合特征Y再次進行通道維度的拼接,獲得MRIDB 的最終輸出,即:
1.1.1 深度提取模塊
MRIDB 將部分通道的特征繼續向后傳遞,利用深度提取模塊對細化特征進一步提取信息,使網絡可以更好地擬合圖像本身的復雜特征,逐層提取原始圖像信息,提高模型非線性表達的能力。DEM 由層標準化(LN)、淺殘差塊(SRB)、SimpleGate 單元、通道注意力等簡單模塊組成,在低復雜度的基礎上實現良好的學習性能,具體結構如圖2 所示。

圖2 深度提取模塊結構Fig.2 Structure of deep extraction module
將每次通道分割得到的細化特征Xb進行層標準化處理,目的是使模型訓練更加平穩,加速收斂并提升性能。通過1×1 的逐點卷積得到融合特征L,即:
將融合特征L通過1 個由3×3 的空洞卷積和LeakyReLU 激活函數構成的淺層殘差結構[16]得到殘差特征R,在不增加任何額外參數量的情況下擴大感受野,便于提取關鍵的空間上下文信息。利用更加輕巧的殘差結構實現特征的快速提取,即:
使殘差特征R通過SimpleGate 單元,即:將三維特征矩陣R?RH×W×C在通道維度上平均分為2 個部分R1,R2?RH×W×C/2,再將R1和R2中對應位置的元素逐個相乘,相乘的結果放在相同位置得到輸出矩陣SimpleGate(R)。通過1 個簡化的通道注意力機制捕獲全局信息,SCA 僅包含全局信息融合和通道信息交互2 個關鍵步驟,在保持性能的同時簡化計算,再通過1×1 的卷積得到主分支的輸出Y′,即:
最后將輸入的細化特征Xb與主分支的輸出Y′相加,獲得DEM 的最終輸出F:
1.1.2 對比度感知通道注意力機制
注意力機制模仿人類的認知系統,自動學習和計算輸入數據的不同特征對輸出結果的貢獻度。通道注意力(CA)給不同特征分配權重,讓神經網絡重點關注某些特定通道的信息。最早的通道注意力[17]被用于圖像分類任務,使用平均池化來捕獲高級視覺任務中的全局信息,重點關注激活值高的部分,有利于分類或檢測,但它很難關注到對低級視覺任務更有利的結構、紋理等信息,無法解決去噪任務在特征提取過程中丟失細節信息的問題,不利于原始圖像的重建。
為了解決這一問題,本文在MRIDB 中引入對比度感知通道注意力機制[15]。CCA 用標準差和平均值的總和代替全局平均池化評估特征圖的對比度,有利于增強圖像的結構、紋理和邊緣等細節信息。將X=[x1,x2,…,xC]作為輸入,其具有C個大小為H×W的特征圖。對比度信息值的計算式如下:
其中:zc表示輸出的第c個元素;HGC表示全局對比度信息評估函數。對比度感知通道注意力機制具體結構如圖3 所示。

圖3 對比度感知通道注意力機制結構Fig.3 Structure of contrast-aware channel attention mechanism
圖4 所示為本文所提的多級殘差信息蒸餾網絡結構,以塊間復雜度低的編碼-解碼結構為基礎,編碼部分對含噪圖像進行特征提取,解碼部分生成對應的恢復圖像,使用跳躍連接進行特征拼接,使解碼部分充分利用淺層的像素級特征,更好地恢復原始圖像的細節信息。

圖4 多級殘差信息蒸餾網絡結構Fig.4 Structure of multi-level residual information distillation network
特征提取模塊由若干個卷積層、4 個多級殘差信息蒸餾模塊和4 個下采樣層依次交替級聯組成。
假設輸入圖像尺寸為N×N,首先通過1 組1×1的卷積和3×3 的卷積對含噪圖像進行淺層特征提取,然后經過2×2 的最大池化層,圖像會縮小到原來的1/4,緊接著將(N/2×N/2)的特征圖輸入到MRIDB中進行深層特征提取,通過1×1 的卷積層調整特征通道數為原來的2 倍,再經過2×2 的最大池化層,圖像尺寸變為(N/4×N/4),特征圖繼續經過下1 組MRIDB 深層特征提取、1×1 的卷積、下采樣的編碼過程,以此類推,特征圖逐步縮小,感受野逐漸變大,經過4 次下采樣操作后,特征圖大小變為(N/16×N/16)。
解碼部分對圖像進行恢復,由8 個卷積層和4 個上采樣層交替級聯組成,每2 個3×3 的卷積層和1 個2×2 的上采樣層為一組,以經過特征提取后大小為(N/16×N/16)的特征圖作為解碼部分的輸入,經過4 組卷積和上采樣操作后得到N×N的去噪恢復圖像。經編碼模塊每次下采樣后的特征圖在向后傳遞的同時,都通過1 個跳躍連接與相對應解碼模塊上采樣后的輸出相連,將編碼部分的抽象特征與上采樣后的特征圖進行通道維度的拼接,向恢復圖像補充淺層的結構信息,減少編碼部分和解碼部分特征映射之間的語義差距,得到邊緣細節清晰、顏色失真小的干凈圖像。
本文訓練模型采用的數據集是SIDD(Smartphone Image Denoising Dataset)[18]。SIDD 使 用5 種智能 手機采集10 個場景的真實噪聲圖像,對固定場景拍攝多張圖片,通過加權平均的方式合成噪聲圖像對應的干凈圖像。訓練集是320 個包含干凈和真實噪聲圖像的圖像對,由于拍攝得到的圖像尺寸很大,因此每張圖片被裁剪成300 個256×256 像素的圖像塊。驗證集包含40 個圖像對,并將其裁剪為1 280 對256×256 像素的圖像塊。
測試使用的數據集DND(Darmstadt Noise Dataset)[19]采用3 種不同 的相機 和1 部智能 手機拍攝50 個場景,針對同一場景,使用低感光度(ISO)值獲得清晰圖像,拍攝ISO 值高的圖像作為對應的噪聲圖。數據集中的每張圖片都被切割成20 塊512×512 像素的圖像塊。本文模型的訓練和測試均使用sRGB 格式的圖像。
圖像去噪任務常用峰值信噪比(PSNR,計算中用PPSNR)和結構相似性(SSIM,計算中用SSSIM)對圖像質量進行評估。
PSNR 是使用最廣泛的一種用于評價復原圖像質量的指標,通過參考圖像與恢復圖像之間的均方根誤差(MSE,計算中用MMSE)進行定義。PSNR 常用對數值表示,單位為dB,數值越大表示恢復圖像失真越小。PSNR 和MSE 的計算式如下:
其中:MMSE表示恢復圖像x和參考圖像y的均方根誤差;m、n分別為圖像的高度和寬度表示圖像x可能的最大像素值,如果每個像素的顏色用8 位二進制數表示,則。PSNR 常被用作檢驗圖像失真程度的標準,但是由于其忽略了人眼對空間頻率和亮度的敏感度,因此有時PSNR 的評估結果無法與人類的視覺感知完全一致。
為了更全面地評估恢復圖像的質量,通常引入結構相似性作為圖像質量的評價標準。SSIM 是一種衡量2 幅圖像相似度的指標,分別用均值、標準差和協方差作為對亮度、對比度和結構相似度的度量。對于恢復圖像x和參考圖像y,2 幅圖像的SSIM計算式如下:
其中:μx,μy分別表示x,y的均值分別表示x,y的方差;σxy表示x和y的協 方差;c1和c2表示維持穩定的常數,通常為0.03,M為像素值的動態范圍。SSIM 的范圍是0~1,值越大表示恢復圖像與參考圖像誤差越小,即恢復圖像質量越高。
2.3.1 實驗配置
本文實驗使用的服務器為Dell T640,其處理器為Intel?Xeon?Gold 5120 @ 2.20 GHz 14 核×2,內存容量128 GB,顯卡為NVIDIA Tesla P4。在Windows 10系統下搭建PyTorch 框架完成對去噪模型的訓練和性能測試,使用的解釋器是Python 3.8。
2.3.2 參數設置
輸入圖像為256×256 像素大小的RGB 彩色圖像,圖像去噪算法基本都采用隨機裁剪的圖像塊進行模型訓練。使用較大的圖像塊,CNN 可以捕獲圖像的細節信息并取得更優的性能,但會導致訓練時間延長;使用較小的圖像塊,可以加快模型的訓練速度,但會導致性能下降。為了均衡訓練效率與去噪性能,本文采用一種漸進式訓練策略[20],在較小的圖像塊上進行訓練,在訓練過程中階段性地調整大圖像塊的尺寸。這種混合尺寸的學習機制不僅可以提高訓練效率,還可以學習多個尺度的圖像信息,提升模型的去噪性能。訓練的迭代總次數(epoch)設置為130,使用Adam 優化器優化網絡參數,學習率(learning rate)設置為5×10-5,使用L1 損失函數指導模型的訓練,具體參數設置如表1 所示。

表1 漸進式訓練策略參數設置Table 1 Parameter settings of progressive training strategy
本文使用SIDD 數據集訓練模型,并使用DND數據集測試模型性能。為了直觀展示本文所提去噪算法的性能指標,表2 所示為不同算法在SIDD 和DND 數據集上的PSNR 和SSIM,加粗表示最優數據,下劃線表示次優數據。代表性算法包括6 個非盲去噪模 型MLP[21]、TNRD[22]、BM3D[23]、WNNM[24]、KSVD[25]、EPLL[26]和6 個盲去 噪模型DnCNN[7]、CBDNet[27]、RIDNet[28]、AINDNet[12]、DANet[29]、VDN[30]。本文提出的MRIDN 在SIDD 數據集上的PSNR 可達39.43 dB,超過VDN 算法0.17 dB。在DND 數據集上對模型進行測試,PSNR 可達39.49 dB,優于其他先進算法。SIDD 和DND 數據集是通過不同硬件特性的攝像頭拍攝獲取的,本文模型僅在SIDD 數據集上進行訓練,使用DND 數據集測試并獲得較優的去噪性能,表明MRIDN 具有較優的泛化性能。

表2 不同模型在SIDD 和DND 數據集上的PSNR 和SSIMTable 2 PSNR and SSIM among different models on SIDD and DND datasets
圖5 將部分算法與本文算法在SIDD 數據集上的去噪效果進行可視化比較。從圖5 可以看出,本文算法能有效去除真實場景下的復雜噪聲,得到的恢復圖像在確保細節信息不丟失的情況下不引入額外的偽影,證明了本文算法的有效性。相比之下,其他算法存在噪聲殘留、紋理缺失、物體邊緣、字體模糊等問題。

圖5 不同算法在SIDD 數據集上的可視化結果對比Fig.5 Visualization results comparison among different algorithms on SIDD dataset
2.5.1 參數量分析
模型參數量是評估模型是否輕量化要考慮的關鍵因素。一般而言,參數量與模型的性能呈正相關,模型的參數量越多,則需要更大的存儲空間,通常希望在提高性能的同時減少參數量,降低模型的空間復雜度。
表3 列舉了幾個性能優越的圖像去噪模型的測試結果及其參數量。從表3 可以看出,MRIDN 與RIDNet 相比,參數量增加了5.43×106,但PSNR 提升0.72 dB。與AINDNet、DANet 和VDN 相比,本文提出的MRIDN 在使用更少參數量的同時,分別獲得0.35 dB、0.18 dB 和0.17 dB 的性能增益,尤其是MRIDN 的參數量僅為DANet 的10.98%。因此,MRIDN 在使用較少參數量的同時獲得較優的去噪性能,在兩者之間取得有效平衡。

表3 不同算法的性能與參數量對比Table 3 Comparison of performance and parameter quantity among different algorithms
2.5.2 消融實驗結果與分析
為了驗證信息蒸餾策略、深度提取模塊和對比度感知通道注意力機制對最終模型的有效性,本文基于U-Net 架構對各個模塊進行拆解重組,并在SIDD 數據集上進行對比驗證,各個模塊對模型性能增益的貢獻如表4 所示。模型1 為原始的U-Net 網絡;模型2 表示在U-Net 架構中引入通道分割(CS)策略,將MRIDB 中的深度提取模塊(DEM)全部替換為3×3 的卷積,注意力機制使用最基本的SE 模塊(Squeeze-and-Excitation block);模型3 表示在模型2的基礎上將3×3 的卷積替換為深度提取模塊;模型4表示本文最終使用的模型,在模型3 的基礎上將注意力機制替換為對比度感知通道注意力機制。

表4 消融實驗結果Table 4 Results of ablation experiments
從表4 可以看出:模型1 直接使用U-Net 對真實場景的圖像進行去噪,得到的PSNR 僅為27.30 dB;模型2 在引入信息蒸餾模塊后取得了極大的性能增益,證明在編解碼結構中使用通道分割操作可以進一步提取特征,不僅有利于模型的輕量化發展,還可以提高模型的表達能力,給PSNR 和SSIM 都帶來不小的增益,極大地提升模型的去噪性能;模型3 在通道分割操作中引入深度提取模塊,進一步提取深層信息,PSNR 提升了0.53 dB,SSIM 提升了0.007 7,證明進一步提取細化后的特征可以獲得更多的細節信息,有助于無噪圖像的恢復過程。模型4 是本文最終提出的算法,將對比度感知通道注意力機制引入每個信息蒸餾模塊中,在U-Net 架構中融合最終的主要構建塊MRIDB,相比模型3 得到了0.09 dB 的PSNR 增益和0.002 4 的SSIM 增益,證明CCA 可以關注到低級視覺任務所需要的紋理、邊緣等信息,有利于恢復圖像的重建。
圖6 將本文算法的改進過程進行可視化展示。從圖6 可以看出,模型1 用U-Net 對圖像進行去噪,恢復圖像中仍伴隨很多噪聲,紋理細節缺失,去噪效果并不理想。在引入信息蒸餾模塊后,去噪性能大大提升,圖像暗光部分的噪點得到很大程度的改善。對細化特征進行深度特征提取后,恢復圖像的細節紋理更加清晰完整。引入對比度感知通道注意力機制后,去噪結果的定量指標有所提升,即本文提出的各個模塊均有利于去噪模型的性能優化,最終使用的算法可以有效去除真實場景中的噪聲并保持原始圖像的細節特征,恢復出視覺效果較好的干凈圖像。

圖6 在消融實驗中各模型在SIDD 數據集上的可視化結果對比Fig.6 Comparison of visualization results of various models on the SIDD dataset in ablation experiments
本文提出一種基于編碼-解碼架構的深度學習圖像去噪方法。在編碼部分引入1 個多級殘差信息蒸餾模塊,根據信息蒸餾的思想對特征通道進行分割,減少模型的計算量;提出深度提取模塊,進一步提取細化后的特征通道信息,提高模型的表達能力;在多級特征融合階段引入對比度感知通道注意力機制,對不同通道的特征分配權重,著重關注圖像的結構、紋理、邊緣等細節信息,提升模型的去噪性能。在SIDD 和DND 數據集上的實驗結果表明,本文提出的MRIDN 可以在保持原始圖像細節信息的同時實現良好的去噪性能,有效提升真實場景下含噪圖像的視覺質量。