閱讀筆記之——《Toward Convolutional Blind Denoising of Real Photographs》及基於pytorch的實驗

本文是CBDNet(convolutional blind denoising network)的閱讀筆記。本博文分爲兩塊,一塊是閱讀筆記,一塊是本人對CBDNet的實驗記錄

論文鏈接:https://arxiv.org/pdf/1807.04686.pdf

論文的代碼:https://github.com/GuoShi28/CBDNet

一些去噪用的數據集https://blog.csdn.net/zbwgycm/article/details/82144242

 

理論部分

Background

作者開篇寫道“Despite their success in Gaussian denoising, deep convolutional neural networks (CNNs) are still very limited on real noisy photographs, and may even perform worse than the representative traditional methods such as BM3D and K-SVD.”儘管深度卷積網絡在高斯去噪取得了重大的成就,但是對於真實的噪聲,它的Generalization ability卻是非常的差,甚至不如一些傳統的方法。大多數基於卷積網絡的去噪算法都是基於additive white Gaussian noise (AWGN),僅僅是去除高斯噪聲.但是現實中,camera的噪聲會來自於暗電流噪聲、熱噪聲、粒散噪聲等等(可以看博文《IPS流程(camera成像原理的介紹)》)因此真實噪聲跟人爲建模的高斯噪聲是差很遠的,而如果僅僅讓網絡去學習這個高斯加噪的圖片,網絡的泛化能力就會比較差。

在盲去噪中都存在着noise estimation and non-blind denoising.To the best of our knowledge, little work has been given to develop CNN-based model for the blind denoising of real photographs.

Due to that the real noise distribution is much different from Gaussian, DnCNN trained based on AWGN generally does not work well on noise removal for most real images.

 

通過incorporating network architecture, noise modeling, and asymmetric learning(非對稱學習)提出CBDNet網絡.CBDNet
is comprised of a noise estimation subnetwork and a denoising subnetwork, and is trained using a more realistic noise model by considering both signal-dependent noise and in-camera processing pipeline(信號相關噪聲與ISP流程的噪聲).

CBDNet包含了兩個子網絡:噪聲估計子網絡和非盲去噪子網絡

the asymmetric learning is presented on the noise estimation subnetwork to suppress more on under-estimation of noise level.(這是受啓發於BM3D)

To make the learned model applicable to real photographs, both synthetic images (合成的圖像)based on realistic noise model and real noisy photographs with nearly noise-free images are incorporated to train our CBDNet.

incorporate both synthetic images based on signal dependent noise model and real noisy photographs with nearly noise-free images during the training of our CBDNet, which can improve the denoising performance and generalization ability of the learned model.

 

本文的亮點:

  • 提出了一個更加真實的噪聲模型,其考慮了信號依賴噪聲和ISP流程(可參考博文《IPS流程(camera成像原理的介紹)》)對噪聲的影響,展示了圖像噪聲模型在真實噪聲圖像中起着關鍵作用。從某種程度上而言,本人覺得,這可以理解爲作者用了一個更加接近真實場景的退化模型
  • 提出了CBDNet模型,其包括了一個噪聲估計子網絡(noise level map)和一個非盲去噪子網絡,可以實現圖像的盲去噪(即未知噪聲水平)——通過噪聲估計網絡和非盲去噪網絡實現圖像的盲去噪的過程
  • 提出了非對稱學習(asymmetric learning)的損失函數,並允許用戶交互式調整去噪結果(interactively rectify the denoising result by tuning the estimated noise level map.通過調整估計的噪聲水平圖來交互地糾正去噪結果。),增強了去噪結果的魯棒性。
  • 將合成噪聲圖像與真實噪聲圖像一起用於網絡的訓練,提升網絡的去噪效果和泛化能力。
     

the introduction of noise estimation subnetwork can bring more benets to the denoising of real photographs. We note that non-blind denoisers (e.g., BM3D and FFDNet) are sensitive to under-estimation error of noise level but performs robust to over-estimation error.作者在這裏的一個重要的發現是,對於噪聲過估計,會有利於網絡去噪。就是說你估計的noise level map太小,那可能會導致效果比較差,但是你估計的noise level map估計大了,卻會使得performance更好,這就是一個asymmetric sensitivity(非對稱性的靈敏度)even the real noise is much dierent from AWGN, non-blind denoisers can still achieve satisfying non-blind denoising result by simply increasing the noise level adopted in the algorithm.(就說每次都過高的去估計noise level map可以使得結果更加好???)

如下圖所示。both non-blind BM3D and blind DnCNN fail to denoise the two real noisy photographs from DND. In contrast, our CBDNet achieves very pleasing denoising results and can retain most structure and details while well suppressing the sophisticated noise in images.

 

Real Image Noise Modeling(真實的噪聲圖片模型synthetic noisy images或稱爲Realistic Noise Model)

真實圖片的噪聲is much more sophisticated than AWGN

作者在論文裏面提到“signi cantly depends on noise model, while more realistic noise model generally bene ts denoising performance.”

The noise model plays a critical role in guaranteeing the denoising performance of CNN-based denoiser on real photographs.

更真實的加噪

把camera的ISP考慮在內:

對於噪聲RAW圖像,採用公式1來訓練CBDNet/模型。

對於噪聲未壓縮圖像,採用公式2來訓練CBDNet模型。

對於噪聲壓縮圖像,採用公式3來訓練CBDNet模型

 

Network  Architecture

 

 

Noise Estimation Network

adopts a plain five-layer fully convolutional network without pooling and batch normalization operations. In each convolution layer, the number of feature channels is set as 32, and the filter size is 3x3. The ReLU nonlinearity is deployed after each convolution (Conv) layer.

an asymmetric loss——imposing more penalty on under-estimation error of noise level(對噪聲水平的低估誤差施加更多的懲罰。)

With the asymmetric learning, our CBDNet can produce better results on real photographs in the blind denoising setting.

非對稱學習(Asymmetric Learning)

作者觀察到非盲去噪方法(如BM3D、FFDNet等)對噪聲估計的誤差具有非對稱敏感性(the asymmetric sensitivity of non-blind denoisers)。如下圖所示,分別用BM3D和FFDNet使用不同的輸入噪聲標準差去噪(標準差依次設爲5、10、15、25、35、50),其中綠色框代表輸入噪聲的標準差與真實噪聲標準差一致。可以觀察到,當輸入噪聲的標準差與真實噪聲的標準差一致時,去噪效果最好。當輸入噪聲標準差低於真實值時,去噪結果包含可察覺的噪聲;而當輸入噪聲標準差高於真實值時,去噪結果仍能保持較好的結果,雖然也平滑了部分低對比度的紋理。因此,非盲去噪方法對低估誤差比較敏感,而對高估的誤差比較魯棒。正是因爲這個特性,BM3D可以通過設置相對較高的輸入噪聲標準差得到滿意的真實圖像去噪效果。

the asymmetric sensitivity of non-blind denoisers。爲了將這種 asymmetric sensitivity 應用於盲超分。(下圖中,第一個loss對應噪聲估計網絡,第二個loss是爲了約束平滑性,第三個loss是去噪的loss)

 

The non-blind denosing subnetwork

關於網絡的總結見下圖

 

關於論文數據(Incorporating Synthetic and Real Noisy Images in Training)

Despite the progress in noise modeling, there remains a gap between the real noise and synthetic noise. It is noted that deep models tend to over-fit the training data, which may make the CBDNet learned on solely synthetic images have limited generalization ability to real photographs. Fortunately,approaches have been developed to obtain nearly noise-free image of the real noisy photographs, and several small scale datasets RENOIR(RENOIR也是人工合成的把?所以這也看來,應該是沒有作者自己做的真實的數據集,或者說,所謂的作者做的數據是synthetic images)

For the synthetic images, the ground-truth clean image and noise level map are available。

For the real noisy images, the noise is real, but only the nearly noise-free image is available and the noise level map is unavailable.

對於合成噪聲圖像,作爲ground-truth的乾淨圖像和噪聲水平圖是可用的,但噪聲模型可能與真實噪聲不太相符;而對於真實噪聲圖像,噪聲是真實的,但僅僅可以獲得接近無噪聲的圖像作爲ground truth,而噪聲水平圖是未知的。另外,一般真實噪聲圖像的ground truth比較難以獲取,而合成噪聲圖像可以比較方便的大規模合成。因此,在訓練CBDNet的過程中,結合這兩種類型的圖像,提高網絡的泛化能力。 

  • 對於合成噪聲圖像。文章使用上述的噪聲模型合成噪聲圖像。其使用了BSD500的400張圖像,Waterloo的1600張圖像,MIT-Adobe FiveK數據庫的1600張圖像作爲訓練數據。
  • 對於真實圖像。使用RENOIR數據庫的120張圖像(http://ani.stat.fsu.edu/~abarbu/Renoir.html)。 

爲了提高網絡的泛化能力,本文交替使用一批合成圖像和一批真實圖像進行訓練。

 

目前去噪數據集的建立主要分爲以下三種方式: 
1. 從現有圖像數據庫獲取高質量圖像,然後做圖像處理(如線性變化、亮度調整)並根據噪聲模型添加人工合成噪聲,生成噪聲圖像; 

這種方法比較簡單省時,高質量圖像可以直接從網上獲取,但由於噪聲是人工合成的,其與真實噪聲圖像有一定差異,使得在該數據集上訓練的網絡在真實噪聲圖像上的去噪效果受限; 
2. 針對同一場景,拍攝低ISO圖像作爲ground truth,高ISO圖像作爲噪聲圖像,並調整曝光時間等相機參數使得兩張圖像亮度一致; 

這種方法只使用單張低ISO圖像作爲ground truth,難免會殘留噪聲,且與噪聲圖像可能存在亮度差異和不對齊的問題; 
3. 對同一場景連續拍攝多張圖像,然後做圖像處理(如圖像配準、異常圖像剔除等),然後加權平均合成ground truth; 

這種方法需要拍攝大量圖像,工作量比較大,且需要對圖像進行嚴格對準,但一般得到的ground truth質量比較高; 

爲了提高去噪網絡的魯棒性和泛化能力,常常需要將輸入噪聲圖像的噪聲水平估計也作爲網絡輸入。而真實噪聲圖像的噪聲水平估計往往存在一定誤差,從這一方面考慮,合成噪聲圖像由於噪聲模型已知,所以其噪聲水平估計是準確的,有利於網絡的在不同噪聲水平上的泛化。CBDNet就考慮將真實噪聲圖像和合成噪聲圖像一起作爲訓練集,交替對網絡進行訓練以提升網絡的性能。


論文的實驗的測試集基於three real noisy image datasets來實現的DND、NC12、Nam(可是這三個數據集不是人工生成的數據麼。。。算真實的數據?所以個人感覺,這裏所說的真實圖片,其實也就是更加接近真實情景的圖片)所謂的“adopt a signal-dependent image noise, and also take in-camera image processing pipeline into account to generate synthetic training images.”是不是就是用了這裏的數據集呢?還是說作者自己處理的,並沒有公佈出來呢?但作者又說our CBDNet is trained by synthetic and real noisy images,所以這至此還是一個疑問。。。。。。。

在評價指標(quantitative metrics)上採用了PSNR和SSIM

 

#############################################################################################################

代碼實操部分

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

參考

https://blog.csdn.net/zbwgycm/article/details/82052003

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章