---
abstract: 'With the goal of recovering high-quality image content from its degraded version, image restoration enjoys numerous applications, such as in surveillance, computational photography, medical imaging, and remote sensing. Recently, convolutional neural networks (CNNs) have achieved dramatic improvements over conventional approaches for image restoration task. Existing CNN-based methods typically operate either on full-resolution or on progressively low-resolution representations. In the former case, spatially precise but contextually less robust results are achieved, while in the latter case, semantically reliable but spatially less accurate outputs are generated. In this paper, we present a novel architecture with the collective goals of maintaining spatially-precise high-resolution representations through the entire network, and receiving strong contextual information from the low-resolution representations. The core of our approach is a multi-scale residual block containing several key elements: (a) parallel multi-resolution convolution streams for extracting multi-scale features, (b) information exchange across the multi-resolution streams, (c) spatial and channel attention mechanisms for capturing contextual information, and (d) attention based multi-scale feature aggregation. In the nutshell, our approach learns an enriched set of features that combines contextual information from multiple scales, while simultaneously preserving the high-resolution spatial details. Extensive experiments on five real image benchmark datasets demonstrate that our method, named as MIRNet, achieves state-of-the-art results for a variety of image processing tasks, including image denoising, super-resolution and image enhancement.'
author:
- Syed Waqas Zamir
- Aditya Arora
- Salman Khan
- Munawar Hayat
- Fahad Shahbaz Khan
- 'Ming-Hsuan Yang'
- Ling Shao
bibliography:
- 'MIRNet.bib'
title: Learning Enriched Features for Real Image Restoration and Enhancement
---

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

Image content is exponentially growing due to the ubiquitous presence of cameras on various devices. During image acquisition, degradations of different severities are often introduced. It is either because of the physical limitations of cameras, or due to inappropriate lighting conditions. For instance, smart phone cameras come with narrow aperture, and have small sensors with limited dynamic range. Consequently, they frequently generate noisy and low-contrast images. Similarly, images captured under the unsuitable lighting are either too dark, or too bright. The art of recovering the original clean image from its corrupted measurements is studied under the image restoration task. It is an ill-posed inverse problem, due to the existence of many possible solutions.

Recently, deep learning models have made significant advancements for image restoration and enhancement, as they can learn strong (generalizable) priors from large-scale datasets. Existing CNNs typically follow one of the two architecture designs: 1) an encoder-decoder, or 2) high-resolution (single-scale) feature processing. The encoder-decoder models [@ronneberger2015u; @kupyn2019deblurgan; @chen2018; @zhang2019kindling] first progressively map the input to a low-resolution representation, and then apply a gradual reverse mapping to the original resolution. Although these approaches learn a broad context by spatial-resolution reduction, on the downside, the fine spatial details are lost, making it extremely hard to recover them in the later stages. On the other side, the high-resolution (single-scale) networks [@dong2015image; @DnCNN; @zhang2020residual; @ignatov2017dslr] do not employ any downsampling operation, and thereby produce images with spatially more accurate details. However, these networks are less effective in encoding contextual information due to their limited receptive field. Image restoration is a position-sensitive procedure, where pixel-to-pixel correspondence from the input image to the output image is needed. Therefore, it is important to remove only the undesired degraded image content, while carefully preserving the desired fine spatial details (such as true edges and texture). Such functionality for segregating the degraded content from the true signal can be better incorporated into CNNs with the help of large context, *e.g.*, by enlarging the receptive field. Towards this goal, we develop a new *multi-scale* approach that maintains the original high-resolution features along the network hierarchy, thus minimizing the loss of precise spatial details. Simultaneously, our model encodes multi-scale context by using *parallel convolution streams* that process features at lower spatial resolutions. The multi-resolution parallel branches operate in a manner that is complementary to the main high-resolution branch, thereby providing us more precise and contextually enriched feature representations.

The main difference between our method and existing multi-scale image processing approaches is the way we aggregate contextual information. First, the existing methods [@tao2018scale; @nah2017; @gu2019self] process each scale in isolation, and exchange information only in a top-down manner. In contrast, we progressively fuse information across all the scales at each resolution-level, allowing both top-down and bottom-up information exchange. Simultaneously, both fine-to-coarse and coarse-to-fine knowledge exchange is laterally performed on each stream by a new *selective kernel* fusion mechanism. Different from existing methods that employ a simple concatenation or averaging of features coming from multi-resolution branches, our fusion approach dynamically selects the useful set of kernels from each branch representations using a self-attention approach. More importantly, the proposed fusion block combines features with varying receptive fields, while preserving their distinctive complementary characteristics.

Our main contributions in this work include:

-   A novel feature extraction model that obtains a complementary set of features across multiple spatial scales, while maintaining the original high-resolution features to preserve precise spatial details.

-   A regularly repeated mechanism for information exchange, where the features across multi-resolution branches are progressively fused together for improved representation learning.

-   A new approach to fuse multi-scale features using a selective kernel network that dynamically combines variable receptive fields and faithfully preserves the original feature information at each spatial resolution.

-   A recursive residual design that progressively breaks down the input signal in order to simplify the overall learning process, and allows the construction of very deep networks.

-   Comprehensive experiments are performed on five real image benchmark datasets for different image processing tasks including, image denoising, super-resolution and image enhancement. Our method achieves state-of-the-results on *all* five datasets. Furthermore, we extensively evaluate our approach on practical challenges, such as generalization ability across datasets.

Related Work
============

With the rapidly growing image media content, there is a pressing need to develop effective image restoration and enhancement algorithms. In this paper, we propose a new approach capable of performing image denoising, super-resolution and image enhancement. Different from existing works for these problems, our approach processes features at the original resolution in order to preserve spatial details, while effectively fuses contextual information from multiple parallel branches. Next, we briefly describe the representative methods for each of the studied problems. **Image denoising.** Classic denoising methods are mainly based on modifying transform coefficients [@yaroslavsky1996local; @donoho1995noising; @simoncelli1996noise] or averaging neighborhood pixels [@smith1997susan; @tomasi1998bilateral; @perona1990scale; @rudin1992nonlinear]. Although the classical methods perform well, the self-similarity [@efros1999texture] based algorithms, *e.g.*, NLM [@NLM] and BM3D [@BM3D], demonstrate promising denoising performance. Numerous patch-based algorithms that exploit redundancy (self-similarity) in images are later developed [@dong2012nonlocal; @WNNM; @mairal2009non; @hedjam2009markovian]. Recently, deep learning-based approaches [@MLP; @RIDNet; @Brooks2019; @Gharbi2016; @CBDNet; @N3Net; @DnCNN; @FFDNetPlus] make significant advances in image denoising, yielding favorable results than those of the hand-crafted methods.

**Super-resolution (SR).** Prior to the deep-learning era, numerous SR algorithms have been proposed based on the sampling theory [@keys1981cubic; @irani1991improving], edge-guided interpolation [@allebach1996edge; @li2001new; @zhang2006edge], natural image priors [@kim2010single; @xiong2010robust], patch-exemplars [@chang2004super; @freedman2011image] and sparse representations [@yang2010image; @yang2008image]. Currently, deep-learning techniques are actively being explored, as they provide dramatically improved results over conventional algorithms. The data-driven SR approaches differ according to their architecture designs [@wang2019deep; @anwar2019deep]. Early methods [@dong2014learning; @dong2015image] take a low-resolution (LR) image as input and learn to directly generate its high-resolution (HR) version. In contrast to directly producing a latent HR image, recent SR networks [@VDSR; @tai2017memnet; @tai2017image; @hui2018fast] employ the residual learning framework [@He2016] to learn the high-frequency image detail, which is later added to the input LR image to produce the final super-resolved result. Other networks designed to perform SR include recursive learning [@kim2016deeply; @han2018image; @ahn2018fast], progressive reconstruction [@wang2015deep; @Lai2017], dense connections [@tong2017image; @wang2018esrgan; @zhang2020residual], attention mechanisms [@RCAN; @dai2019second; @zhang2019residual], multi-branch learning [@Lai2017; @EDSR; @dahl2017pixel; @li2018multi], and generative adversarial models [@wang2018esrgan; @park2018srfeat; @sajjadi2017enhancenet; @SRResNet]. **Image enhancement.** Oftentimes, cameras provide images that are less vivid and lack contrast. A number of factors contribute to the low quality of images, including unsuitable lighting conditions and physical limitations of camera devices. For image enhancement, histogram equalization is the most commonly used approach. However, it frequently produces under-enhanced or over-enhanced images. Motivated by the Retinex theory [@land1977retinex], several enhancement algorithms mimicking human vision have been proposed in the literature [@bertalmio2007; @palma2008perceptually; @jobson1997multiscale; @rizzi2004retinex]. Recently, CNNs have been successfully applied to general, as well as low-light, image enhancement problems. Notable works employ Retinex-inspired networks [@Shen2017; @wei2018deep; @zhang2019kindling], encoder-decoder networks [@chen2018encoder; @Lore2017; @ren2019low], and generative adversarial networks [@chen2018deep; @ignatov2018wespe; @deng2018aesthetic].

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   ![Framework of the proposed network MIRNet that learns enriched feature representations for image restoration and enhancement. MIRNet is based on a recursive residual design. In the core of MIRNet is the multi-scale residual block (MRB) whose main branch is dedicated to maintaining spatially-precise high-resolution representations through the entire network and the complimentary set of parallel branches provide better contextualized features. It also allows information exchange across parallel streams via selective kernel feature fusion (SKFF) in order to consolidate the high-resolution features with the help of low-resolution features, and vice versa.[]{data-label="fig:framework"}](Images/framework.png "fig:"){width="\textwidth"}
  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Proposed Method
===============

In this section, we first present an overview of the proposed MIRNet for image restoration and enhancement, illustrated in Fig. \[fig:framework\]. We then provide details of the *multi-scale residual block*, which is the fundamental building block of our method, containing several key elements: **(a)** parallel multi-resolution convolution streams for extracting (fine-to-coarse) semantically-richer and (coarse-to-fine) spatially-precise feature representations, **(b)** information exchange across multi-resolution streams, **(c)** attention-based aggregation of features arriving from multiple streams, **(d)** dual-attention units to capture contextual information in both spatial and channel dimensions, and **(e)** residual resizing modules to perform downsampling and upsampling operations.

**Overall Pipeline.** Given an image $\mathbf{I} \in \mathbb{R}^{H\times W \times 3}$, the network first applies a convolutional layer to extract low-level features $\mathbf{X_0} \in \mathbb{R}^{H\times W \times C}$. Next, the feature maps $\mathbf{X_0}$ pass through $N$ number of recursive residual groups (RRGs), yielding deep features $\mathbf{X_d} \in \mathbb{R}^{H\times W \times C}$. We note that each RRG contains several multi-scale residual blocks, which is described in Section \[sec:msrb\]. Next, we apply a convolution layer to deep features $\mathbf{X_d}$ and obtain a residual image $\mathbf{R} \in \mathbb{R}^{H\times W \times 3}$. Finally, the restored image is obtained as $\mathbf{\hat{I}} = \mathbf{I} + \mathbf{R}$. We optimize the proposed network using the Charbonnier loss [@charbonnier1994]:

$$\label{Eq:loss}
\mathcal{L}(\mathbf{\hat{I}},\mathbf{I}^*) = \sqrt{ {\|\mathbf{\hat{I}}-\mathbf{I}^*\|}^2 + {\varepsilon}^2 },$$

where $\mathbf{I}^*$ denotes the ground-truth image, and $\varepsilon$ is a constant which we empirically set to $10^{-3}$ for all the experiments.

Multi-scale Residual Block (MRB) {#sec:msrb}
--------------------------------

In order to encode context, existing CNNs [@ronneberger2015u; @newell2016stacked; @noh2015learning; @xiao2018simple; @badrinarayanan2017segnet; @peng2016recurrent] typically employ the following architecture design: **(a)** the receptive field of neurons is fixed in *each* layer/stage, **(b)** the spatial size of feature maps is *gradually* reduced to generate a semantically strong low-resolution representation, and **(c)** a high-resolution representation is *gradually* recovered from the low-resolution representation. However, it is well-understood in vision science that in the primate visual cortex, the sizes of the local receptive fields of neurons in the same region are different [@hubel1962receptive; @riesenhuber1999hierarchical; @serre2007robust; @hung2005fast]. Therefore, such a mechanism of collecting multi-scale spatial information in the same layer needs to be incorporated in CNNs [@huang2017multi; @hrnet; @fourure2017residual; @Szegedy2015]. In this paper, we propose the multi-scale residual block (MRB), as shown in Fig. \[fig:framework\]. It is capable of generating a spatially-precise output by maintaining high-resolution representations, while receiving rich contextual information from low-resolutions. The MRB consists of multiple (three in this paper) fully-convolutional streams connected in parallel. It allows information exchange across parallel streams in order to consolidate the high-resolution features with the help of low-resolution features, and vice versa. Next, we describe individual components of MRB.

**Selective kernel feature fusion (SKFF).** One fundamental property of neurons present in the visual cortex is to be able to change their receptive fields according to the stimulus [@li2019selective]. This mechanism of adaptively adjusting receptive fields can be incorporated in CNNs by using multi-scale feature generation (in the same layer) followed by feature aggregation and selection. The most commonly used approaches for feature aggregation include simple concatenation or summation. However, these choices provide limited expressive power to the network, as reported in [@li2019selective]. In MRB, we introduce a nonlinear procedure for fusing features coming from multiple resolutions using a self-attention mechanism. Motivated by [@li2019selective], we call it selective kernel feature fusion (SKFF).

The SKFF module performs dynamic adjustment of receptive fields via two operations –[*Fuse* and *Select*, as illustrated in Fig. \[fig:skff\]]{}. The *fuse* operator generates global feature descriptors by combining the information from multi-resolution streams. The *select* operator uses these descriptors to recalibrate the feature maps (of different streams) followed by their aggregation. Next, we provide details of both operators for the three-stream case, but one can easily extend it to more streams. **(1) Fuse:** SKFF receives inputs from three parallel convolution streams carrying different scales of information. We first combine these multi-scale features using an element-wise sum as: $\mathbf{L = L_1 + L_2 + L_3}$. We then apply global average pooling (GAP) across the spatial dimension of $\mathbf{L} \in \mathbb{R}^{H\times W \times C}$ to compute channel-wise statistics $\mathbf{s} \in \mathbb{R}^{1\times 1 \times C}$. Next, we apply a channel-downscaling convolution layer to generate a compact feature representation $\mathbf{z} \in \mathbb{R}^{1\times 1 \times r}$, where $r=\frac{C}{8}$ for all our experiments. Finally, the feature vector $\mathbf{z}$ passes through three parallel channel-upscaling convolution layers (one for each resolution stream) and provides us with three feature descriptors $\mathbf{v_1}, \mathbf{v_2}$ and $\mathbf{v_3}$, each with dimensions $1\times1\times C$. **(2) Select:** this operator applies the softmax function to $\mathbf{v_1}, \mathbf{v_2}$ and $\mathbf{v_3}$, yielding attention activations $\mathbf{s_1}, \mathbf{s_2}$ and $\mathbf{s_3}$ that we use to adaptively recalibrate multi-scale feature maps $\mathbf{L_1}, \mathbf{L_2}$ and $\mathbf{L_3}$, respectively. The overall process of feature recalibration and aggregation is defined as: $\mathbf{U = s_1 \cdot L_1 + s_2\cdot L_2 + s_3 \cdot L_3}$. Note that the SKFF uses $\sim6\times$ fewer parameters than aggregation with concatenation but generates more favorable results (an ablation study is provided in experiments section).

**Dual attention unit (DAU).** While the SKFF block fuses information across multi-resolution branches, we also need a mechanism to share information within a feature tensor, both along the spatial and the channel dimensions. Motivated by the advances of recent low-level vision methods [@RCAN; @RIDNet; @dai2019second; @zhang2019residual] based on the attention mechanisms [@hu2018squeeze; @wang2018non], we propose the dual attention unit (DAU) to extract features in the convolutional streams. The schematic of DAU is shown in Fig. \[fig:dau\]. The DAU suppresses less useful features and only allows more informative ones to pass further. This feature recalibration is achieved by using channel attention [@hu2018squeeze] and spatial attention [@woo2018cbam] mechanisms. **(1) Channel attention (CA)** branch exploits the inter-channel relationships of the convolutional feature maps by applying *squeeze* and *excitation* operations [@hu2018squeeze]. Given a feature map $\mathbf{M} \in \mathbb{R}^{H\times W \times C}$, the squeeze operation applies global average pooling across spatial dimensions to encode global context, thus yielding a feature descriptor $\mathbf{d} \in \mathbb{R}^{1\times 1 \times C}$. The excitation operator passes $\mathbf{d}$ through two convolutional layers followed by the sigmoid gating and generates activations $\mathbf{\hat{d}} \in \mathbb{R}^{1\times 1 \times C}$. Finally, the output of CA branch is obtained by rescaling $\mathbf{M}$ with the activations $\mathbf{\hat{d}}$. **(2) Spatial attention (SA)** branch is designed to exploit the inter-spatial dependencies of convolutional features. The goal of SA is to generate a spatial attention map and use it to recalibrate the incoming features $\mathbf{M}$. To generate the spatial attention map, the SA branch first independently applies global average pooling and max pooling operations on features $\mathbf{M}$ along the channel dimensions and concatenates the outputs to form a feature map $\mathbf{f} \in \mathbb{R}^{H\times W \times 2}$. The map $\mathbf{f}$ is passed through a convolution and sigmoid activation to obtain the spatial attention map $\mathbf{\hat{f}} \in \mathbb{R}^{H\times W \times 1}$, which we then use to rescale $\mathbf{M}$.

**Residual resizing modules.** The proposed framework employs a recursive residual design (with skip connections) to ease the flow of information during the learning process. In order to maintain the residual nature of our architecture, we introduce residual resizing modules to perform downsampling (Fig. \[fig:downsample\]) and upsampling (Fig. \[fig:upsample\]) operations. In MRB, the size of feature maps remains constant along convolution streams. On the other hand, across streams the feature map size changes depending on the input resolution index $i$ and the output resolution index $j$. If $i<j$, the input feature tensor is downsampled, and if $i>j$, the feature map is upsampled. To perform $2\times$ downsampling (halving the spatial dimension and doubling the channel dimension), we apply the module in Fig. \[fig:downsample\] only once. For $4\times$ downsampling, the module is applied twice, consecutively. Similarly, one can perform $2\times$ and $4\times$ upsampling by applying the module in Fig. \[fig:upsample\] once and twice, respectively. Note in Fig. \[fig:downsample\], we integrate anti-aliasing downsampling [@zhang2019making] to improve the shift-equivariance of our network.

[0.49]{} ![image](Images/downsample.png){width="\textwidth"}

[0.49]{} ![image](Images/upsample.png){width="\textwidth"}

Experiments
===========

In this section, we perform qualitative and quantitative assessment of the results produced by our MIRNet and compare it with the previous best methods. Next, we describe the datasets, and then provide the implementation details. Finally, we report results for **(a)** image denoising, **(b)** super-resolution and **(c)** image enhancement on five real image datasets. The source code and trained models will be released publicly[^1].

Real Image Datasets
-------------------

**Image denoising.** **(1) DND [@dnd]** consists of $50$ images captured with four consumer cameras. Since the images are of very high-resolution, the dataset providers extract $20$ crops of size $512\times512$ from each image, yielding $1000$ patches in total. All these patches are used for testing (as DND does not contain training or validation sets). The ground-truth noise-free images are not released publicly, therefore the image quality scores in terms of PSNR and SSIM can only be obtained through an online server [@dndwebsite]. **(2) SIDD [@sidd]** is particularly collected with smartphone cameras. Due to the small sensor and high-resolution, the noise levels in smartphone images are much higher than those of DSLRs. SIDD contains $320$ image pairs for training and $1280$ for validation. **Super-resolution.** **(1) RealSR [@RealSR]** contains real-world LR-HR image pairs of the same scene captured by adjusting the focal-length of the cameras. RealSR have both indoor and outdoor images taken with two cameras. The number of training image pairs for scale factors $\times2$, $\times3$ and $\times4$ are $183$, $234$ and $178$, respectively. For each scale factor, $30$ test images are also provided in RealSR.

**Image enhancement.** **(1) LoL [@wei2018deep]** is created for low-light image enhancement problem. It provides 485 images for training and 15 for testing. Each image pair in LoL consists of a low-light input image and its corresponding well-exposed reference image. **(2) MIT-Adobe FiveK [@mit_fivek]** contains $5000$ images of various indoor and outdoor scenes captured with several DSLR cameras in different lighting conditions. The tonal attributes of all images are manually adjusted by five different trained photographers (labelled as experts A to E). Same as in [@hu2018exposure; @park2018distort; @wang2019underexposed], we also consider the enhanced images of expert C as the ground-truth. Moreover, the first 4500 images are used for training and the last 500 for testing.

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

The proposed architecture is end-to-end trainable and requires no pre-training of sub-modules. We train three different networks for three different restoration tasks. The training parameters, common to all experiments, are the following. We use 3 RRGs, each of which further contains $2$ MRBs. The MRB consists of $3$ parallel streams with channel dimensions of $64, 128, 256$ at resolutions $1, \frac{1}{2}, \frac{1}{4}$, respectively. Each stream has $2$ DAUs. The models are trained with the Adam optimizer ($\beta_1 = 0.9$, and $\beta_2=0.999$) for $7\times10^5$ iterations. The initial learning rate is set to $2\times10^{-4}$. We employ the cosine annealing strategy [@loshchilov2016sgdr] to steadily decrease the learning rate from initial value to $10^{-6}$ during training. We extract patches of size $128\times128$ from training images. The batch size is set to $16$ and, for data augmentation, we perform horizontal and vertical flips.

Image Denoising
---------------

In this section, we demonstrate the effectiveness of the proposed MIRNet for image denoising. We train our network only on the training set of the SIDD [@sidd] and directly evaluate it on the test images of both SIDD and DND [@dnd] datasets. Quantitative comparisons in terms of PSNR and SSIM metrics are summarized in Table \[table:sidd\] and Table \[table:dnd\] for SIDD and DND, respectively. Both tables show that our MIRNet performs favourably against the data-driven, as well as conventional, denoising algorithms. Specifically, when compared to the recent best method VDN [@VDN], our algorithm demonstrates a performance gain of $0.44$ dB on SIDD and $0.50$ dB on DND. Furthermore, it is worth noting that CBDNet [@CBDNet] and RIDNet [@RIDNet] use additional training data, yet our method provides significantly better results. For instance, our method achieves $8.94$ dB improvement over CBDNet [@CBDNet] on the SIDD dataset and $1.82$ dB on DND.

In Fig. \[fig:dnd example\] and Fig. \[fig:sidd example\], we present visual comparisons of our results with those of other competing algorithms. It can be seen that our MIRNet is effective in removing real noise and produces perceptually-pleasing and sharp images. Moreover, it is capable of maintaining the spatial smoothness of the homogeneous regions without introducing artifacts. In contrast, most of the other methods either yield over-smooth images and thus sacrifice structural content and fine textural details, or produce images with chroma artifacts and blotchy texture.

  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --
   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_noisy "fig:"){width=".16\textwidth"}    ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_CBD "fig:"){width=".16\textwidth"}    ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_RIDNet "fig:"){width=".16\textwidth"}    ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_VDN "fig:"){width=".16\textwidth"}    ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_Ours_MSRNet "fig:"){width=".16\textwidth"}    ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB/SSID_0324_gt "fig:"){width=".16\textwidth"}   
                                                                                                                                        18.25 dB                                                                                                                                                                                                                                                                             28.84 dB                                                                                                                                                                                                                                                                              35.57 dB                                                                                                                                                                                                                                                                             36.39 dB                                                                                                                                                                                                                                                                              **36.97 dB**                                                                                                                                                                                                                                                                                                                                                                                                                            
   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_noisy "fig:"){width=".16\textwidth"}   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_CBD "fig:"){width=".16\textwidth"}   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_RIDNet "fig:"){width=".16\textwidth"}   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_VDN "fig:"){width=".16\textwidth"}   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_Ours_MSRNet "fig:"){width=".16\textwidth"}   ![Denoising examples from SIDD [@sidd]. Our method effectively removes real noise from challenging images, while better recovering structural content and fine texture.[]{data-label="fig:sidd example"}](Images/Denoising/SIDD/RGB1/SSID_3828_gt "fig:"){width=".16\textwidth"}  
                                                                                                                                        18.16 dB                                                                                                                                                                                                                                                                             20.36 dB                                                                                                                                                                                                                                                                              29.83 dB                                                                                                                                                                                                                                                                             30.31 dB                                                                                                                                                                                                                                                                              **31.36 dB**                                                                                                                                                                                                                                                                                                                                                                                                                            
                                                                                                                                          Noisy                                                                                                                                                                                                                                                                          CBDNet [@CBDNet]                                                                                                                                                                                                                                                                      RIDNet [@RIDNet]                                                                                                                                                                                                                                                                        VDN [@VDN]                                                                                                                                                                                                                                                                             MIRNet (Ours)                                                                                                                                                                                                                                                                            Reference                                                                                                                                      
  ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- --

**Generalization capability.** The DND and SIDD datasets are acquired with different sets of cameras having different noise characteristics. Since the DND benchmark does not provide training data, setting a new state-of-the-art on DND with our SIDD trained network indicates the good generalization capability of our approach.

Super-Resolution (SR)
---------------------

We compare our MIRNet against the state-of-the-art SR algorithms (VDSR [@VDSR], SRResNet [@SRResNet], RCAN [@RCAN], LP-KPN [@RealSR]) on the testing images of the RealSR [@RealSR] for upscaling factors of $\times2$, $\times3$ and $\times4$. Note that all the benchmarked algorithms are trained on the RealSR [@RealSR] dataset for fair comparison. In the experiments, we also include bicubic interpolation [@keys1981cubic], which is the most commonly used method for generating super-resolved images. Here, we compute the PSNR and SSIM scores using the Y channel (in YCbCr color space), as it is a common practice in the SR literature [@RCAN; @RealSR; @wang2019deep; @anwar2019deep]. The results in Table \[table:realSR\] show that the bicubic interpolation provides the least accurate results, thereby indicating its low suitability for dealing with real images. Moreover, the same table shows that the recent method LP-KPN [@RealSR] provides marginal improvement of only $\sim0.04$ dB over the previous best method RCAN [@RCAN]. In contrast, our method significantly advances state-of-the-art and consistently yields better image quality scores than other approaches for all three scaling factors. Particularly, compared to LP-KPN [@RealSR], our method provides performance gains of $0.45$ dB, $0.74$ dB, and $0.22$ dB for scaling factors $\times2$, $\times3$ and $\times4$, respectively. The trend is similar for the SSIM metric as well.

Visual comparisons in Fig. \[fig:sr example\] show that our MIRNet recovers content structures effectively. In contrast, VDSR [@VDSR], SRResNet [@SRResNet] and RCAN [@RCAN] reproduce results with noticeable artifacts. Furthermore, LP-KPN [@RealSR] is not able to preserve structures (see near the right edge of the crop). Several more examples are provided in Fig. \[fig:sr crop examples\] to further compare the image reproduction quality of our method against the previous best method [@RealSR]. It can be seen that LP-KPN [@RealSR] has a tendency to over-enhance the contrast (cols. 1, 3, 4) and in turn causes loss of details near dark and high-light areas. In contrast, the proposed MIRNet successfully reconstructs structural patterns and edges (col. 2) and produces images that are natural (cols. 1, 4) and have better color reproduction (col. 5).

**Cross-camera generalization.** The RealSR [@RealSR] dataset consists of images taken with Canon and Nikon cameras at three scaling factors. To test the cross-camera generalizability of our method, we train the network on the training images of one camera and directly evaluate it on the test set of the other camera. Table \[table:realSR generalization\] demonstrates the generalization of competing methods for four possible cases: (a) training and testing on Canon, (b) training on Canon, testing on Nikon, (c) training and testing on Nikon, and (d) training on Nikon, testing on Canon. It can be seen that, for all scales, LP-KPN [@RealSR] and RCAN [@RCAN] shows comparable performance. In contrast, our MIRNet exhibits more promising generalization.

Image Enhancement
-----------------

In this section, we demonstrate the effectiveness of our algorithm by evaluating it for the image enhancement task. We report PSNR/SSIM values of our method and several other techniques in Table \[table:lol\] and Table \[table:fivek\] for the LoL [@wei2018deep] and MIT-Adobe FiveK [@mit_fivek] datasets, respectively. It can be seen that our MIRNet achieves significant improvements over previous approaches. Notably, when compared to the recent best methods, MIRNet obtains $3.27$ dB performance gain over KinD [@zhang2019kindling] on the LoL dataset and $0.69$ dB improvement over DeepUPE [@wang2019underexposed] on the Adobe-Fivek dataset.

We show visual results in Fig. \[Fig:qual\_lol\] and Fig. \[Fig:qual\_fivek\]. Compared to other techniques, our method generates enhanced images that are natural and vivid in appearance and have better global and local contrast.

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_input "fig:"){width="24.40000%"}   ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_lime "fig:"){width="24.40000%"}     ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/crm "fig:"){width="24.40000%"}      ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_retx "fig:"){width="24.40000%"}
                                                                                                                                                     Input image                                                                                                                                                                                                                                                                                                  LIME [@guo2016lime]                                                                                                                                                                                                                                                                                               CRM [@ying2017bio]                                                                                                                                                                                                                                                                                           Retinex-Net [@wei2018deep]
     ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/srie "fig:"){width="24.40000%"}      ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_kind "fig:"){width="24.40000%"}   ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_ours "fig:"){width="24.40000%"}    ![Visual comparison of low-light enhancement approaches on the LoL dataset [@wei2018deep]. Our method reproduces image that is visually closer to the ground-truth in terms of brightness and global contrast.[]{data-label="Fig:qual_lol"}](Images/Enhancement/lol_images/lol_gt "fig:"){width="24.40000%"}
                                                                                                                                               SRIE [@fu2016weighted]                                                                                                                                                                                                                                                                                          KinD [@zhang2019kindling]                                                                                                                                                                                                                                                                                              MIRNet (Ours)                                                                                                                                                                                                                                                                                                     Ground-truth
  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/input "fig:"){width="32.40000%"}    ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/hdrnet "fig:"){width="32.40000%"}   ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/dpe "fig:"){width="32.40000%"}
                                                                                                                                                     Input image                                                                                                                                                                                                                                                                                                  HDRNet [@Gharbi2017]                                                                                                                                                                                                                                                                                            DPE [@chen2018deep]
   ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/deepupe "fig:"){width="32.40000%"}    ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/ours "fig:"){width="32.40000%"}    ![Visual results of image enhancement on the MIT-Adobe FiveK [@mit_fivek] dataset. Compared to the state-of-the-art, our MIRNet makes better color and contrast adjustments and produces image that is vivid, natural and pleasant in appearance. ](Images/Enhancement/fivek/gt "fig:"){width="32.40000%"}
                                                                                                                                               DeepUPE [@wei2018deep]                                                                                                                                                                                                                                                                                                MIRNet (Ours)                                                                                                                                                                                                                                                                                                   Ground-truth
  ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

\[Fig:qual\_fivek\]

Ablation Studies
================

In this section we study the impact of each of our architectural components and design choices on the final performance. All the ablation experiments are performed for the super-resolution task with $\times3$ scale factor. Table \[table:ablation main\] shows that removing skip connections causes the largest performance drop. Without skip connections, the network finds it difficult to converge and yields high training errors, and consequently low PSNR. Furthermore, we note that the information exchange among parallel convolution streams via SKFF is helpful and leads to an improved performance. Similarly, DAU also makes positive influence to the final image quality. Next, we analyze the feature aggregation strategy in Table \[table:ablation aggregation\]. It shows that the proposed SKFF generates favorable results compared to summation and concatenation. Moreover, it can be seen that our SKFF uses $\sim6\times$ fewer parameters than concatenation. Finally, in Table \[table: ablation MRB\] we study how the number of convolutional streams and columns (DAU blocks) of MRB affect the image restoration quality. We note that increasing the number of streams provides significant improvements, thereby justifying the importance of multi-scale features processing. Moreover, increasing the number of columns yields better scores, thus indicating the significance of information exchange among parallel streams for feature consolidation. Additional ablation studies and qualitative results are provided in the supplementary material.

Concluding Remarks
==================

Conventional image restoration and enhancement pipelines either stick to the full resolution features along the network hierarchy or use an encoder-decoder architecture. The first approach helps retain precise spatial details, while the latter one provides better contextualized representations. However, these methods can satisfy only one of the above two requirements, although real-world image restoration tasks demand a combination of both conditioned on the given input sample. In this work, we propose a novel architecture whose main branch is dedicated to full-resolution processing and the complementary set of parallel branches provides better contextualized features. We propose novel mechanisms to learn relationships between features within each branch as well as across multi-scale branches. Our feature fusion strategy ensures that the receptive field can be dynamically adapted without sacrificing the original feature details. Consistent achievement of state-of-the-art results on five datasets for three image restoration and enhancement tasks corroborates the effectiveness of our approach.

[^1]: <https://github.com/swz30/MIRNet>
