---
abstract: 'While deep Convolutional Neural Networks (CNNs) have shown extraordinary capability of modelling specific noise and denoising, they still perform poorly on real-world noisy images. The main reason is that the real-world noise is more sophisticated and diverse. To tackle the issue of blind denoising, in this paper, we propose a novel pyramid real image denoising network (PRIDNet), which contains three stages. First, the noise estimation stage uses channel attention mechanism to recalibrate the channel importance of input noise. Second, at the multi-scale denoising stage, pyramid pooling is utilized to extract multi-scale features. Third, the stage of feature fusion adopts a kernel selecting operation to adaptively fuse multi-scale features. Experiments on two datasets of real noisy photographs demonstrate that our approach can achieve competitive performance in comparison with state-of-the-art denoisers in terms of both quantitative measure and visual perception quality. Code is available at <https://github.com/491506870/PRIDNet>.'
author:
- 
bibliography:
- 'VCIP.bib'
title: Pyramid Real Image Denoising Network
---

Real Image Denoising, Convolutional Neural Networks, Channel Attention, Pyramid Pooling, Kernel Selecting

Introduction
============

Image denoising aims at restoring a clean image from its noisy one, which plays an essential role in low-level visual tasks. There has been considerable research on it, and near-optimal performances have been achieved for the removal of statistical distribution-regular noise (e.g., additive white Gaussian noise (AWGN), shot noise). Nevertheless, there is still a huge difference between specific noise and real-world noise. Among the latter, the noise comes from both shooting environment and image processing pipeline, thus its forms demonstrate complexity and diversity.

Recently deep Convolutional Neural Networks (CNNs) have led to significant improvements on denoising for specific noise. Mao et al. @REDNet present a very deep fully convolutional encoding-decoding framework with symmetric skip connections for Gaussian denoising, termed REDNet. Zhang et al. @DnCNN demonstrate that by merging residual learning and batch normalization, a denoising CNN (DnCNN) could outperform traditional non-CNN based methods. Other CNN methods @N3Net [@MemNet] also obtain promising denoising performance.

However, once the methods targeting for the specific noise above generalize to real-world noise, the performance may be even worse than the representative traditional methods such as BM3D @BM3D. Few blind denoising approaches especially for real noisy images are developed. By interactively setting relatively higher noise level, FFDNet @FFDNet can deal with more complex noise. CBDNet @CBDNet further utilizes a noise estimation subnetwork, so that the entire network could achieve end-to-end blind denoising.

Yu et al. @path-restore propose a multi-path CNN named Path-Restore, which could dynamically select an appropriate route for each image region, especially for the varied noise distribution of a real noisy image. As a commercial plug-in for Photoshop, Neat Image (NI) is also for bind denoising.

\[ht\] ![image](all_network.pdf){width="\textwidth"}

Despite these methods have significantly improved the performance of real image denoising, there still remains three issues to be noticed: First, in most of CNN based denoising methods, all channel-wise features are treated equally without adjustment according to their importance. In CNNs, different feature channels capture different types of noise across all regions of a single noisy image. Among them, some noise are more significant than others, thus should be assigned more weights.

Second, the previously mentioned methods, with fixed receptive fields, fail to carry diverse information. Referring to the traditional denoising method BM3D @BM3D, it searches for similar blocks in the whole image, taking the global information into consideration. Since features are not limited to a small area, receptive fields with different scales can fully exploit hierarchical spatial features. Context information would be very helpful when the image suffers from heavy noise.

Third, for the aggregation of multi-scale features, most of existing methods simply combine them in an element-wise summation manner or just concatenate them together @REDNet. Although containing the information of all scales, they treat features with different scales indiscriminately, ignoring the spatial and channel specificity of scale-wise features. Therefore multi-scale features can not be adaptively expressed.

To address these issues, we propose a pyramid real image denoising network (PRIDNet) as shown in Fig. \[fig\_allnet\]. The main contribution of this work is three-fold:

-   *Channel attention:* Channel attention mechanism is utilized on the extracted noise features, adaptively recalibrating the channel importance.

-   *Multi-scale feature extraction:* We design a pyramid denoising structure, in which each branch pays attention to one-scale features. Benefitted from it, we can extract global information and retain local details simultaneously, thereby making preparation for following comprehensive denoising.

-   *Feature self-adaptive fusion:* Within concatenated multi-scale features, each channel represents one-scale features. We introduce a kernel selecting module. Multiple branches with different convolutional kernel sizes are fused by linear combination, allowing different feature maps to express by size-different kernels.

proposed method
===============

In this section, we will formulate the proposed PRIDNet, including network architecture and three stages.

Network Architecture
--------------------

As shown in Fig. \[fig\_allnet\], our model includes three stages: noise estimation stage, multi-scale denoising stage and feature fusion stage. The input noisy image is processed by three stages sequentially. Since all the operations are spatially invariant, it is robust enough to handle input images of arbitrary size. To avoid loss of information, the output of the first stage is concatenated with its input before fed into next stage, likewise the second stage.

Noise Estimation Stage
----------------------

This stage focuses on extracting discriminative features from input noisy images, which is regarded as an estimation of the noise level @CBDNet. We adopt a plain five-layer fully convolutional subnetwork without pooling and batch normalization, ReLU is deployed after each convolution. In each convolution layer, the number of feature channels is set to 32 (except the last layer is 1 or 3), and the filter size is 3$\times$3.

Before the last layer of stage, a channel attention module @Luyue is inserted to explicitly calibrate the interdependencies between feature channels. As shown in Fig. \[fig\_se\], the collection of channel weight $\mu=[\mu_1,\mu_2,...,\mu_c]\in\mathbb{R}^{1\times1\times{C}}$ is our goal, which is applied to rescale input feature maps $U\in\mathbb{R}^{H\times{W}\times{C}}$ to generate recalibrated features. We first squeeze global information of $U$ into a channel descriptor $\nu\in\mathbb{R}^{1\times1\times{C}}$ by using global average pooling (GAP). Then, it is followed by two fully connected layers (FC), and the number of channels in middle layer is set to 2. Above process can be formulated as $$\mu=Sigmoid(FC_2(ReLU(FC_1(GAP(U))))).$$ The final output of channel attention module (denoted as $U'\in\mathbb{R}^{H\times{W}\times{C}}$) is obtained by $$U'=U\circ\mu,$$ where $\circ$ refers to channel-wise multiplication between $U_{i}\in\mathbb{R}^{H\times{W}}$ and scalar calibration weight $\mu_{i}$, $i=1,2,...C$.

Multi-scale Denoising Stage
---------------------------

The idea of pyramid pooling is widely used in the fields of scene parsing @pspnet, image compression and so on. While to the best of our knowledge, it has never been used in the image denoising. Zhou et al. @zhou show that the empirical receptive field of CNN is much smaller than the theoretical one especially on high-level layers, which means that global information is not fully integrated when extracting features. On the contrary, for the removal of noise covering entire image, it has great help to match goal blocks with similar content in the whole image.

To mitigate this problem, we develop a five-level pyramid. Through five parallel ways, the input feature maps are downsampled to different sizes, helping branches gain relatively scale-different receptive fields to capture original, local and global information simultaneously. Pooling kernels are set to 1$\times$1, 2$\times$2, 4$\times$4, 8$\times$8 and 16$\times$16, respectively. Each pooled feature is then followed by U-Net @u-net, the network composed of deep encoding-decoding and skip connections, for studies have shown that successive upsampling and downsampling are helpful for denoising tasks. Note that five U-Nets do not share weights. At final of this stage, multi-level denoised features are upsampled by bilinear interpolation to the same size, and then concatenated together.

Feature Fusion Stage
--------------------

In order to choose size-different kernel for each channel within concatenated multi-scale results, inspired by @SKnet, a kernel selecting module is introduced. Details of a kernel selecting module is shown in Fig. \[fig\_sk\]. The given feature maps $U\in\mathbb{R}^{H\times{W}\times{C}}$ are conducted by three parallel convolutions with kernel size 3, 5 and 7, respectively, to get $U'\in\mathbb{R}^{H\times{W}\times{C}}$, $U''\in\mathbb{R}^{H\times{W}\times{C}}$ and $U'''\in\mathbb{R}^{H\times{W}\times{C}}$. We first integrate information from all branches via element-wise summation: $$\overline{U}=U'+U''+U'''.$$ Then $\overline{U}$ is shrunk and then expanded by passing through a GAP and two FCs, the same operations as in the channel attention module, but no stephensjacob@example.com. The three outputs of $FC_2$, $\alpha'\in\mathbb{R}^{1\times1\times{C}}$, $\beta'\in\mathbb{R}^{1\times1\times{C}}$ and $\gamma'\in\mathbb{R}^{1\times1\times{C}}$ are operated by Softmax, which is applied across branches on the channel-wise, like gating mechanism: $$%\gamma_c=\frac{e^{\gamma'_c}}{e^{\alpha'_c}+e^{\beta'_c}+e^{\gamma'_c}},
k_c=\frac{e^{k'_c}}{e^{\alpha'_c}+e^{\beta'_c}+e^{\gamma'_c}},k=\alpha, \beta, \gamma,$$ where $\alpha$, $\beta$ and $\gamma$ denote the soft attention vector for $U'$, $U''$ and $U'''$, respectively. Note that $\alpha_c$ is the c-th element of $\alpha$, likewise $\beta_c$ and $\gamma_c$. The final output feature maps $V$ are computed via combining various kernels with their attention weights: $$V_c=\alpha_c\cdot{U'}+\beta_c\cdot{U''}+\gamma_c\cdot{U'''},$$ where $\alpha$, $\beta$ and $\gamma$ need to satisfy $\alpha_c+\beta_c+\gamma_c=1$, and $V=[V_1,V_2,...,V_c]$, $V_c\in\mathbb{R}^{H\times{W}}$. Finally, we utilize a ${1\times1}$ convolutional layer to compress the dimension to 1 or 3 for feature fusion.

experiments
===========

Datasets {#AA}
--------

For training, we utilize 320 image pairs (noisy and clean) both in raw-RGB space and sRGB space from Smartphone Image Denoising Dataset (SIDD) @SIDD. And we set another 1280 $256\times256$ crops of 40 images in SIDD as our validation data to conduct our ablation study.

For testing, we adopt two widely used benchmark datasets: DND @DND and NC12 @NC. DND, a benchmark of 50 real high-resolution images, captured by consumer grade cameras. Since only noisy images are provided to the public, PSNR/SSIM of denoised results are obtained through the online submission system[^1]. NC12 contains 12 noisy images, we only show the denoising results for qualitative evaluation as the ground-truth clean images are unavailable.

Implementation Details
----------------------

We train two models, one targeting raw images and the other targeting sRGB images. The whole network is optimized with *$L_1$* loss, and trained by Adam with $\beta_1=0.9$, $\beta_2=0.999$ and $\epsilon=10^{-8}$. All models are trained with 4000 epochs, where the learning rate for the first 1500 epochs is $10^{-4}$, and then $10^{-5}$ to finetune the model. We set patch size to $256\times256$, and batch size is set to 2 for "raw" model while 8 for "sRGB" model. All the experiments are implemented with TensorFlow on an NVIDIA GTX 1080ti GPU.

Comparison with State-of-the-arts
---------------------------------

\[table\_DND\]

\[table\_ablation\]

**Qualitative and Quantitative Results on DND Benchmark.** Following the test protocol and tools provided by the website, we process 1000 bounding boxes in 50 real noisy images. The performance of our models with respect to prior work is shown in Table  \[table\_DND\]. Note that we do not take unpublished or anonymous work into consideration although they have released results. We can see that although state-of-the-art non-blind Gaussian methods, e.g., TNRD @TNRD, BM3D @BM3D and WNNM @WNNM, are provided by noise level, they still have poorly performance, mainly due to the much difference between AWGN and real noise. CBDNet @CBDNet and Path-Restore @path-restore are especially trained for blind denoising of real images, thus yield promising results. Our PRIDNet achieves large PSNR gains (i.e., $\sim0.9$dB for raw, and $\sim0.4$dB for sRGB) over the second best method. As for running time, PRIDNet takes about 0.05s to process an $512\times512$ image.

The visual denoising results by the various methods are shown in Fig. \[fig\_DND\] and the supplementary material. CBDNet @CBDNet still contains some noise. DnCNN @DnCNN suffers from edge distortion. BM3D, N3Net and Path-Restore introduce some color artifacts to the denoised results, while FFDNet @FFDNet suffers from the problems of over-smoothing and loss of details and structures. Compared with these state-of-the-arts, our method (PRIDNet) achieves a better denoising performance by removing almost all the noise while preserving more fine textural details of whole image.

**Qualitative Comparisons on NC12.** The methods we consider for comparison include blind denoising approaches (NC @NC, NI and CBDNet @CBDNet), blind Gaussian denoising approaches (DnCNN @DnCNN), and non-blind Gaussian denoising approaches (BM3D @BM3D and FFDNet @FFDNet). For non-blind methods, we exploit NI to estimate the noise level *std.* so that they can perform the best visual quality. Due to limited space, we leave the visual comparisons of above methods in the supplementary material.

Ablation Studies
----------------

We conduct four ablation experiments to assess the importance of three key components in our PRIDNet. All ablation experiments are evaluated on the validation data of SIDD @SIDD. We can conclude from Table  \[table\_ablation\] that the design of pyramid feature processing is the most crucial for our real image denoising task, which improves 0.22dB. The combination of three key components effectively boost network performance by 0.39dB compared with the plain network.

Conclusion
==========

In this paper, a PRIDNet is presented for blind denoising of real images. The proposed network includes three sequential stages. The first stage explores relative importance of feature channels. At the second stage, pyramid pooling is developed to denoise multi-scale features. At the last stage, the operation of self-adaptive kernel selecting is introduced for feature fusion. Both qualitative and quantitative experiments show that our method achieves competitive performance.

Acknowledgments {#acknowledgments .unnumbered}
===============

This work is supported by National Natural Science Foundation of China (No.61671077, 61671264) and the Fundamental Research Funds for the Central Universities 2019PTB-011.

\[p\]

\[p\]

[^1]: https://noise.visinf.tu-darmstadt.de/

{'source': 'arXiv_out/1908'}