1. 程式人生 > >Toward Convolutional Blind Denoising of Real Photographs

Toward Convolutional Blind Denoising of Real Photographs

本文提出了一個針對真實影象的盲卷積去噪網路,增強了深度去噪模型的魯棒性和實用性。

摘要

  • 作者提出了一個 CBD-Net,由噪聲估計子網路和去噪子網路兩部分組成。

  • 作者設計了一個更加真實的噪聲模型,同時考慮了訊號依賴的噪聲和相機內部處理的噪聲。

  • 基於真實噪聲模型合成的圖片和真實的噪聲圖片被聯合在一起對網路進行訓練。

噪聲模型

  • 除了高斯噪聲,真實的圖片噪聲更加複雜,並且是訊號依賴的。

  • 給定一個乾淨圖片 x,一個更加真實的噪聲模型 n(x)N(0,σ(y))n(x) ~ N(0, \sigma(y)) 可以表示為:

  • 其中,n(x)=n

    s(x)+ncn(x) = n_s (x) + n_c 包含一個訊號依賴的組成 nsn_s 和一個靜態的噪聲組成 ncn_cncn_c 是一個方差為 σc2\sigma_c ^2 的高斯噪聲, nsn_s 則和影象的畫素值有關,比如 x(i)σs2x(i) * \sigma_s^2

  • 另外,我們再把相機內部處理過程考慮進去的話,就會產生以下這個訊號依賴和通道依賴的噪聲模型。

  • yy 表示合成圖片, ff 代表相機反應函式(CRF),MM 代表將 sRGB 圖片轉化為 Bayer 圖片的函式,M

    1M^{-1}代表去馬賽克函式。

  • 此外,為了擴充套件到對壓縮圖片的處理,我們把 JPEG 壓縮也考慮進合成圖片的生成過程。

  • 針對原始圖片、無壓縮圖片和壓縮圖片,我們分別用以上三種模型來生成訓練圖片。

網路結構

  • 噪聲等級子網路由五層的卷積組成,卷積核大小為 3*3,通道數為 32,啟用函式採用 Relu,沒有采用池化和批歸一化,輸出的噪聲等級圖和原噪聲圖片大小相同。

  • 去噪子網路將噪聲等級圖和原噪聲圖片一起作為輸入,採用了 U-Net 的網路結構,卷積核大小為 3*3,啟用函式採用 Relu,學習噪聲圖片的殘差。

非對稱學習

作者用傳統的去噪方法 BM3D/FFDNet 做了一個實驗。當給定的噪聲等級和真實噪聲等級一樣時,去噪效果毋庸置疑是最好的。當給定的噪聲等級低於真實噪聲等級一樣時,去噪結果仍然有可見的噪聲;但當給定的噪聲等級高於真實噪聲等級一樣時,仍然可以取得非常滿意的結果。

  • 為了利用這種非對稱特性進行盲去噪,我們在噪聲估計中提出了不對稱損失以避免在噪聲水平上出現低估誤差。
  • 給定畫素 ii 處估計的噪聲等級 σ^(yi)\hat \sigma(y_i)和真實值 σ(yi)\sigma(y_i)。當 σ^(yi)<σ(yi)\hat \sigma(y_i) < \sigma(y_i),我們應該強加更多懲罰。 因此,噪聲等級估計子網路的不對稱損失定義如下:

  • 通過設定 0<α<0.50 < \alpha < 0.5,,我們可以強加更多懲罰給低估誤差。

  • 另外,我們引入一個總體方差正則化項來限制 σ^(yi)\hat \sigma(y_i) 的平滑性:

  • 對於去噪子網路的輸出 x^\hat x,我們定義重構誤差為:

  • 網路的總損失即為以上三部分的求和:

訓練過程

  • 基於真實噪聲模型合成的圖片和真實的噪聲圖片被聯合在一起對網路進行訓練,來增強網路處理真實影象的泛化能力。

  • 針對一個批次的合成圖片,Lrec,Lasymm,LTVL_{rec} , L_{asymm},L_{TV} 三個損失都被計算來訓練網路。

  • 針對一個批次的真實,由於噪聲等級不可知,因此只有,LrecLTVL_{rec} 和 L_{TV} 兩個損失被計算來訓練網路。

驗證和結果

  • 不同 α\alpha 值的去噪結果對比如下圖所示,可以看到,較小的 α=0.3\alpha = 0.3 會對去除未知噪聲並且保留圖片的結構有所幫助。

  • 另外,作者又對只用合成圖片、只用真實圖片和聯合真實圖片和合成圖片三種情況進行了對比,進一步驗證了聯合訓練的有效性。

  • 最後,一些實驗結果如下所示:

獲取更多精彩,請關注「seniusen」!