All Projects → swz30 → Mirnet

swz30 / Mirnet

Licence: other
Official repository for "Learning Enriched Features for Real Image Restoration and Enhancement" (ECCV 2020). SOTA results for image denoising, super-resolution, and image enhancement.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Mirnet

Drln
Densely Residual Laplacian Super-resolution, IEEE Pattern Analysis and Machine Intelligence (TPAMI), 2020
Stars: ✭ 120 (-51.42%)
Mutual labels:  attention-mechanism, super-resolution
Pan
[Params: Only 272K!!!] Efficient Image Super-Resolution Using Pixel Attention, in ECCV Workshop, 2020.
Stars: ✭ 151 (-38.87%)
Mutual labels:  attention-mechanism, super-resolution
PAM
[TPAMI 2020] Parallax Attention for Unsupervised Stereo Correspondence Learning
Stars: ✭ 62 (-74.9%)
Mutual labels:  attention-mechanism, super-resolution
pynmt
a simple and complete pytorch implementation of neural machine translation system
Stars: ✭ 13 (-94.74%)
Mutual labels:  attention-mechanism
TMNet
The official pytorch implemention of the CVPR paper "Temporal Modulation Network for Controllable Space-Time Video Super-Resolution".
Stars: ✭ 77 (-68.83%)
Mutual labels:  super-resolution
RAMS
Official TensorFlow code for paper "Multi-Image Super Resolution of Remotely Sensed Images Using Residual Attention Deep Neural Networks".
Stars: ✭ 55 (-77.73%)
Mutual labels:  super-resolution
Awesome-ICCV2021-Low-Level-Vision
A Collection of Papers and Codes for ICCV2021 Low Level Vision and Image Generation
Stars: ✭ 163 (-34.01%)
Mutual labels:  super-resolution
tensorrt-examples
TensorRT Examples (TensorRT, Jetson Nano, Python, C++)
Stars: ✭ 31 (-87.45%)
Mutual labels:  super-resolution
SwinIR
SwinIR: Image Restoration Using Swin Transformer (official repository)
Stars: ✭ 1,260 (+410.12%)
Mutual labels:  super-resolution
linformer
Implementation of Linformer for Pytorch
Stars: ✭ 119 (-51.82%)
Mutual labels:  attention-mechanism
transganformer
Implementation of TransGanFormer, an all-attention GAN that combines the finding from the recent GanFormer and TransGan paper
Stars: ✭ 137 (-44.53%)
Mutual labels:  attention-mechanism
Retinal-Disease-Diagnosis-With-Residual-Attention-Networks
Using Residual Attention Networks to diagnose retinal diseases in medical images
Stars: ✭ 14 (-94.33%)
Mutual labels:  attention-mechanism
DLSS
Deep Learning Super Sampling with Deep Convolutional Generative Adversarial Networks.
Stars: ✭ 88 (-64.37%)
Mutual labels:  super-resolution
attention-guided-sparsity
Attention-Based Guided Structured Sparsity of Deep Neural Networks
Stars: ✭ 26 (-89.47%)
Mutual labels:  attention-mechanism
Writing-editing-Network
Code for Paper Abstract Writing through Editing Mechanism
Stars: ✭ 72 (-70.85%)
Mutual labels:  attention-mechanism
Attention
一些不同的Attention机制代码
Stars: ✭ 17 (-93.12%)
Mutual labels:  attention-mechanism
galerkin-transformer
[NeurIPS 2021] Galerkin Transformer: a linear attention without softmax
Stars: ✭ 111 (-55.06%)
Mutual labels:  attention-mechanism
Real-ESRGAN-colab
A Real-ESRGAN model trained on a custom dataset
Stars: ✭ 18 (-92.71%)
Mutual labels:  super-resolution
ADL2019
Applied Deep Learning (2019 Spring) @ NTU
Stars: ✭ 20 (-91.9%)
Mutual labels:  attention-mechanism
srVAE
VAE with RealNVP prior and Super-Resolution VAE in PyTorch. Code release for https://arxiv.org/abs/2006.05218.
Stars: ✭ 56 (-77.33%)
Mutual labels:  super-resolution

Learning Enriched Features for Real Image Restoration and Enhancement (ECCV 2020)

Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang, and Ling Shao

Paper: https://arxiv.org/abs/2003.06792

Supplementary: pdf

Video Presentation: https://www.youtube.com/watch?v=6xSzRjAodv4

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.

Network Architecture


Overall Framework of MIRNet

Selective Kernel Feature Fusion (SKFF)

Downsampling Module

Dual Attention Unit (DAU)

Upsampling Module

Installation

The model is built in PyTorch 1.1.0 and tested on Ubuntu 16.04 environment (Python3.7, CUDA9.0, cuDNN7.5).

For installing, follow these intructions

sudo apt-get install cmake build-essential libjpeg-dev libpng-dev
conda create -n pytorch1 python=3.7
conda activate pytorch1
conda install pytorch=1.1 torchvision=0.3 cudatoolkit=9.0 -c pytorch
pip install matplotlib scikit-image opencv-python yacs joblib natsort h5py tqdm

Training

  1. Download the SIDD-Medium dataset from here
  2. Generate image patches
python generate_patches_SIDD.py --ps 256 --num_patches 300 --num_cores 10
  1. Download validation images of SIDD and place them in ../SIDD_patches/val

  2. Install warmup scheduler

cd pytorch-gradual-warmup-lr; python setup.py install; cd ..
  1. Train your model with default arguments by running
python train_denoising.py

Note: Our model is trained with 2 Nvidia Tesla-V100 GPUs. See #5 for changing the model parameters.

Evaluation

You can download, at once, the complete repository of MIRNet (including pre-trained models, datasets, results, etc) from this Google Drive link, or evaluate individual tasks with the following instructions:

Image Denoising

  • Download the model and place it in ./pretrained_models/denoising/

Testing on SIDD dataset

  • Download sRGB images of SIDD and place them in ./datasets/sidd/
  • Run
python test_sidd_rgb.py --save_images

Testing on DND dataset

  • Download sRGB images of DND and place them in ./datasets/dnd/
  • Run
python test_dnd_rgb.py --save_images

Image Super-resolution

  • Download the models and place them in ./pretrained_models/super_resolution/
  • Download images of different scaling factor and place them in ./datasets/super_resolution/
  • Run
python test_super_resolution.py --save_images --scale 3
python test_super_resolution.py --save_images --scale 4

Image Enhancement

Testing on LOL dataset

  • Download the LOL model and place it in ./pretrained_models/enhancement/
  • Download images of LOL dataset and place them in ./datasets/lol/
  • Run
python test_enhancement.py --save_images --input_dir ./datasets/lol/ --result_dir ./results/enhancement/lol/ --weights ./pretrained_models/enhancement/model_lol.pth

Testing on Adobe-MIT FiveK dataset

  • Download the FiveK model and place it in ./pretrained_models/enhancement/
  • Download some sample images of fiveK dataset and place them in ./datasets/fivek_sample_images/
  • Run
python test_enhancement.py --save_images --input_dir ./datasets/fivek_sample_images/ --result_dir ./results/enhancement/fivek/ --weights ./pretrained_models/enhancement/model_fivek.pth

Results

Experiments are performed on five real image datasets for different image processing tasks including, image denoising, super-resolution and image enhancement. Images produced by MIRNet can be downloaded from Google Drive link.

Image Denoising

Image Super-resolution

Image Enhancement

Citation

If you use MIRNet, please consider citing:

@inproceedings{Zamir2020MIRNet,
    title={Learning Enriched Features for Real Image Restoration and Enhancement},
    author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat
            and Fahad Shahbaz Khan and Ming-Hsuan Yang and Ling Shao},
    booktitle={ECCV},
    year={2020}
}

Contact

Should you have any question, please contact [email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].