曹 陽 張英俊 謝斌紅
(太原科技大學計算機科學與技術學院 太原 030024)
隨著計算機視覺技術的不斷發展,圖像處理技術已廣泛應用到各種不同的領域中。目前圖像處理的一般過程為圖像預處理、數據壓縮、特征提取、圖像分割和圖像識別[1]。圖像去噪是圖像預處理的一部分,圖像去噪即輸入未處理的含噪圖像,經過去噪處理后輸出盡可能清晰的圖像,圖像的去噪效果直接影響之后圖像識別等的圖形高級處理過程,只有盡可能地降低或者去除圖像中的噪聲,提高圖像質量,才能使去噪后的圖像達到各種應用的要求[2~3]。
目前圖像去噪領域內的算法分為傳統算法和深度學習算法[4],傳統算法包括空間域去噪算法和變換域去噪算法,而深度學習算法主要有基于多層感知模型(Multi Layer Perceptron,MLP)[5]和基于卷積神經網絡模型(Convolutional Neural Network,CNN)[6]。常見的空間域經典去噪方法主要有均值濾波[7]、中值濾波[8]和高斯濾波[9]。空間域去噪算法是直接在圖像像素上進行相應的處理,而變換域去噪算法是首先通過某種變換,將圖像從空間域轉換到變換域,從頻率上把噪聲分為高中低頻噪聲,之后再進行反變換將圖像從變換域轉換到原始空間域,從而實現去除圖像噪聲,獲得清晰圖像的目的。常見的變換域算法包括傅里葉變換[10]、小波變換[11]、基于字典學習的稀疏表示方法[12],以及與非局部去噪理論[13]相結合的BM3D[14]算法。傳統去噪算法的優點在于圖像處理速度快,實時性強,但去噪效果不好,去噪后的圖像不能很好地保留原圖像的細節和邊緣信息。而深度學習去噪算法無論從性能還是去噪圖像細節、邊緣信息保留方面都比傳統算法效果更好。
深度學習算法主要有基于多層感知機算法(MLP)和卷積神經網絡算法(CNN)。2012 年Burger 等提出了用多層感知機(MLP)的方法實現神經網絡去噪,MLP 相對CNN 的優點在于可以近似所有函數,而CNN 可學習到的函數相對有限[2];MLP的不足之處在于無法適應不同強度的噪聲,若將不同水平的噪聲圖像作為輸入進行訓練則無法達到對特定噪聲進行訓練時的結果[15]。而CNN 的優點在于不僅取得了更好的去噪效果,且參數少,不易發生過擬合,能很容易地學習圖像特征,相比MLP更適用于訓練深度的神經網絡。比如2017 年Zhang等提出了針對高斯噪聲的著名的基于殘差學習的深度卷積神經網絡去噪方法(Denoising Convolutional Neural Networks,DnCNN)[16]模型,提出使用卷積通過端到端的殘差學習,從函數回歸角度用卷積神經網絡將噪聲從噪聲圖像中分離出來,取得了顯著優于其他方法的去噪效果,但因為其全卷積的結構,訓練時間較長。2018 年Zhang 等又提出了FFDNet[17](Fast and Flexible Denoising Network)將噪聲圖像作為網絡輸入,可以快速靈活處理不同的噪聲水平及空間相關噪聲。但去噪后的圖像細節過平滑,邊緣信息丟失。2019 年由ShiGuo 等提出的卷積盲去噪網絡(Convolutional Blind Denoising Networks,CBDNet)[18]結合了網絡結構、噪聲建模和非對稱學習等特點,模擬真實場景,在對相機內部噪聲的去噪上,取得了很好的效果。
DnCNN采用常規的3×3卷積核進行卷積操作,而目前針對DnCNN 卷積操作進行的改進算法層出不窮,比如文獻[2]中通過引入空洞卷積擴大感受野,減少網絡復雜度,降低推理時間,但同時精度有所下降。而本文針對DnCNN 在特征提取方面存在提取特征不足、不豐富以及如何進一步提升圖像去噪效果的問題,引入非對稱卷積神經網絡(Asymmetric Convolutional Network,ACNet)[19],以使卷積層在不增加任何推理時間的基礎上捕獲到更多的圖像噪聲特征,輸出更清晰的去噪圖像。
為了進一步提高去噪性能,保留更多紋理細節,本文結合ACNet增強方形卷積核骨架部分從而提高精度優點,在通過學習殘差圖實現去噪的DnCNN算法基礎上進行改進。
XiaoHu Ding 等團隊提出了非對稱卷積神經網絡ACNet,該算法實驗表明常規的方形卷積核的骨架部分比邊角部分更加重要,訓練時丟棄卷積核骨架部分的權重會降低模型的精度,丟棄卷積核邊角部分的權重卻會增加模型的精度,當增強卷積核骨架部分時,可以捕獲更多的圖像特征,提升模型精度。為了增強3×3卷積核的骨架部分,如圖1所示,將三個并行的3×3,1×3 和3×1 的卷積核利用卷積的可加性替換:

圖1 ACBlock結構
其中I是一個矩陣,K(1)和K(2)是具有兼容尺寸的兩個2D核,是在對應位置的求和操作,組成非對稱卷積塊(Asymmetric Convolutional Block,ACBlock)代替原始的3×3核來增強卷積核的骨架部分。
DnACNN 網絡模型如圖2 所示,該模型利用ACNet 網絡增強方形卷積核骨架部分的方法對DnCNN 網絡進行改進并在測試階段進行權值融合,能在不增加任何參數及推理時間的前提下提升噪聲特征提取精度,從而提升性能,其關鍵在于訓練階段ACBlock 的替換和測試階段的分支融合以及BN融合。

圖2 DnACNN網絡結構
其中增強方形卷積核骨架部分的具體操作為將訓練集Train400 作為輸入,輸入到DnACNN 中進行特征提取。首先進入第1 層,采用的是步長為1的64 個c×3×3 的卷積核進行特征提取,c=1 表示灰度圖,c=3 表示彩色圖。本文使用的訓練集和測試集的圖片都是灰度圖。并采用Relu 激活函數。第2 層~16 層的結構相同:利用ACBlock 替換原始的Conv+BN操作,其中原始的64個c×3×3的卷積核進行步長為1 的卷積操作后加BN 層的操作替換成圖3 中所示的,數量分別為64,步長分別為1 的3×3conv+BN,3×1conv+BN,1×3conv+BN,然后利用卷積的可加性,將三個卷積操作后輸出的特征圖相加后再通過Relu 激活函數進行激活。第17 層采用1個c×3×3 的卷積核進行卷積操作后輸出得到殘差圖像。

圖3 訓練數據集
DnACNN 網絡模型的另一重點在于為了不增加參數和推理時間,在測試階段對訓練得到的網絡模型進行權值聚合。BN 融合通過卷積的同質性,可以使后續的BN和線性變換可以等價的融合到具有附加偏置的卷積層中,通過對每個分支構造一個新的內核γjF(j)/σj,然后加上偏置-μjγj/σj+βj,可以產生同原分支相同的輸出。分支融合通過在平方核的相對位置加入非對稱核,將三個BN 融合分支合并成標準卷積層。融合后的結果如下:
其中:表示融合后的卷積核的輸出,bj代表偏置,和分別代表1×3 和3×1 卷積核的輸出。對于任意的濾波器j可以驗證得到:

表1 本文去噪模型在BSD68數據集上測試的PSRN(dB)平均表現
其中,O:,:,j,,分別代表原始3×3,1×3 和3×1 三個分支的輸出。
本文DnACNN 模型的算法總體流程如圖4 所示,分為三個階段:數據預處理(數據量加強,添加加性高斯白噪聲)、對處理后的訓練集數據進行訓練和對測試集的數據進行測試。

圖4 模型訓練測試流程圖
數據預處理階段是對如圖3 所示的原始數據集Train400 進行縮放、裁剪、添加加性高斯白噪聲等操作,最終得到擴充后的訓練數據集。
本文采用的優化算法為Adam 算法,和傳統的隨機梯度下降不同,隨機梯度下降保持單一的學習率(即α)更新所有的權重,學習率在訓練過程中并不會改變。而Adam 通過計算梯度的一階矩估計和二階矩估計而為不同的參數設計獨立的自適應性學習率,Adam算法的參數包括α(學習率)、β1(一階矩估計的指數衰減率)、β2(二階矩估計得指數衰減率)、ε(防止分母為0 的情況),其中β1,β2,ε均采用Adam 算法提出者推薦的缺省值,即β1=0.9,β2=0.999,ε=10-8。而由于學習率的大小對于網絡訓練有如下規律:學習率大收斂更快,學習率小能訓練到更好的性能,因此本文采用學習率衰退規則,每30輪時采用更小的學習率,公式如下:
初始學習率lr=0.001,衰減周期為30epoch,學習率衰減的乘積因子gamma=0.1;訓練180epoch后終止訓練,既使訓練收斂速度加快又能獲得更好的收斂性能。batch size 設置為128,批規范化批大小設置為64。
測試階段采用BSD68數據集和Set12數據集對訓練后的模型性能進行測試。
硬件環境:CPU 型號為Intel(R)XeonCPU E2-2618L v3,顯卡型號為GeForceGTX1080Ti。
軟件環境:在Ubuntu 操作系統上,采用Py-Torch深度學習框架。
3.2.1 評價指標
對去噪后圖像進行評價的客觀指標主要為峰值信噪比(Peak Signal to Noise Ratio,PSNR)和結構相似性(Structural Similarity Index Measurement,SSIM),同時參考人眼感官對圖像去噪效果的質量判斷作為主觀評價指標。其中PSNR 的值為0~100,SSIM 的值為0~1,PSNR 和SSIM 的值越大,則去噪前后的兩張圖像越相似,即去噪效果越好,本文采用的客觀評價指標為PSNR。
3.2.2 客觀評價
將提出的改進算法同其他算法進行比較,數據均來源于文獻[16],對比算法包括BM3D、WNNM、EPLL、CSF、MLP、TNRD、DnCNN等去噪算法。
本文算法與各種算法在BSD68 測試集上不同噪聲下的去噪結果PSNR 均值對比如表1,本文算法在不同噪聲水平相比DnCNN 都有提升,雖然平均提升精度只有0.05dB~0.1dB,但是基于近幾年圖像去噪領域PSNR 提高的累計也只有1dB 左右,所以我們的結果在不損失任何去噪效率的情況下已經非常客觀。
3.2.3 主觀評價
選取Set12中的蝴蝶圖的去噪效果對比圖展示在圖7 中,蝴蝶圖的特點在于其紋理、邊緣特征較為豐富,且包含較多的淺色邊緣紋理特征,如圖5中的清晰圖片所示的蝴蝶翅膀上的淺色紋理特征及花瓣的淺色邊緣特征。由圖5 可以看出本文算法模型去噪后的圖像在視覺上的效果比其他幾種都好,且本文處理后的圖5(h)在細節紋理放面可以明顯看到跟其他圖像對比保留得更多更清晰,因此本文算法模型在保留圖像細節紋理方面有明顯優勢,去噪效果更好,驗證了本文算法在增強卷積核骨架部分后能夠捕獲更多特征、增強特征豐富性的特性。

圖5 σ=50時Set12蝴蝶圖各算法去噪效果對比圖(PSNR/dB)
3.2.4 實驗推理時間
除了圖像去噪的質量外,圖像去噪的推理時間也尤為重要,如人臉識別門禁系統對算法運算的時間要求極高,因此本文將DnCNN 算法模型同本文提出的算法模型在搭載GeForceGTX1080Ti 的同一硬件條件下對噪聲水平σ=15 的Set12 測試集進行推理時測試,測試結果如表2,由表中數據可知,在進行權值融合后本文提出的算法在推理時間方面并沒有增加,因此本文提出的算法模型不僅提升了精度且沒有增加任何額外的參數和推理時間。

表2 本文去噪模型在Set12數據集上測試的推理時間(Time/s)
本文基于DnCNN 網絡架構,結合非對稱卷積塊,將ACNet中增強卷積核骨架部分能捕獲更多圖像特征的特點用于DnCNN 的圖像噪聲特征提取中,旨在提取更多圖像噪聲特征,使去噪后的圖像更清晰,減少邊緣細節的損失;且運用權值融合的技術在模型測試階段對模型進行BN融合和分支融合,以減少模型參數及保證不增加任何額外的推理時間。通過客觀評價、主觀評價等的實驗結果分析,本文模型不管在指標還是視覺上都有一定的提升,能獲得更清晰的去噪圖像,保留更多的邊緣細節信息,且推理時間沒有任何增加,具有一定的實用價值,且本文證實了非對稱卷積核在圖像去噪領域的可行性,學者可通過非對稱卷積核以及權值融合對圖像去噪領域內的算法嘗試更多的改進。但是,實驗數據集只對附加了加性高斯白噪聲的訓練集進行訓練,含噪圖像噪聲種類較為單一。因此,在后續工作中將對附加多種噪聲的訓練集進行實驗研究。