Review: IRCNN — Learning Deep CNN Denoiser Prior (Image Denoising & Super Resolution)

Dilated Conv+Batch Norm+Residual Learning+Iterative Optimization, Outperforms SRCNN, VDSR

Sik-Ho Tsang
4 min readApr 29, 2020


In this story, Learning Deep CNN Denoiser Prior for Image Restoration (IRCNN), by Harbin Institute of Technology and The Hong Kong Polytechnic University, is briefly reviewed. Actually, there is no short form for the CNN network. But they have the name IRCNN in GitHub. Thus, I just call it IRCNN. I believe IR stands for image restoration. In this paper, iterative optimization is applied for deblurring and super resolution. This is a paper in 2017 CVPR with over 500 citations. (Sik-Ho Tsang @ Medium)


  1. Network Architecture
  2. Image Denoising Results
  3. Deblurring Results
  4. Single Image Super Resolution Results
Network Architecture
  • The network consists of seven layers with three different blocks,
  • “Dilated Convolution+ReLU” block in the first layer, originated in DilatedNet and DeepLabv1 & DeepLabv2.
  • Five “Dilated Convolution+Batch Normalization+ReLU” blocks in the middle layers.
  • “Dilated Convolution” block in the last layer.
  • The dilation factors of (3×3) dilated convolutions from first layer to the last layer are set to 1, 2, 3, 4, 3, 2 and 1, respectively.
  • The number of feature maps in each middle layer is set to 64.
  • The reason of using dilated convolution is that increasing the filter size would not only introduce more parameters but also increase the computational burden.
  • Using Batch Normalization and Residual Learning not only enables fast and stable training but also tends to result in better denoising performance
    (Please read BN from Inception-v2 and residual learning from ResNet.)
  • A set of denoisers on noise level range [0, 50] and divided it by a step size of 2 for each model, resulting in a set of 25 denoisers for each gray and color image prior modelling. Thus, there is no need to learn many discriminative denoiser models for each noise level.

2. Image Denoising Results

Average PSNR on BSD68 (Gray Image)
  • The proposed network obtains the highest PSNR at different noise level.
Average PSNR on BSD68 (Color Image)
  • The proposed network obtains higher PSNR than CBM3D at different noise level.
Run Time in Seconds
  • The proposed network with the use of 24 feature maps has a comparable PSNR of 28.94dB to TNRD but delivers a faster speed.

3. Image Deblurring

  • Here, Half Quadratic Splitting (HQS) Method is used with the proposed CNN network to have the iterative optimization:
  • where H is the degradation matrix, here it is blurring operator. z is the auxiliary variable, and x is the denoised image.
  • Every time, we get the new z using a denoiser (25 trained denoisers at different noise levels) according to the noise level Sqrt(λ/μ). Then, based on this new z, we can get a new x. This is happened iteratively.
  • Sqrt(λ/μ) is the noise level. With λ set as constant, μ can be found.
  • (I am not going into details since I am not so familiar with HQS. And I would like to focus on the network itself. This website: mentions quite clearly about the iterations, please visit this website if you are interested in and understand Chinese.)
  • Here’s the illustrative idea:
Image from
Deblurring Results
  • Again, the proposed method got the best results.
Visual Quality

4. Single Image Super Resolution Results

  • Here, Half Quadratic Splitting (HQS) Method is also used with the proposed CNN network to have the iterative optimization:
Average PSNR(dB) results on Set5 and Set14 (G: Gray, C: Color)
  • Again, the proposed method got the best results, outperforms SRCNN and VDSR.
Visual Quality (G: Gray)

During the days of coronavirus, I hope to write 30 stories in this month to give myself a small challenge. And this is the 31st story in this month. Thanks for visiting my story…

2 Days left for this month. How about 35 stories within this month…?



Sik-Ho Tsang

PhD, Researcher. I share what I learn. :) Linktree: for Twitter, LinkedIn, etc.