The-Learning-And-Vision-Atelier-LAVA / SMSR

Licence: other
[CVPR 2021] Exploring Sparsity in Image Super-Resolution for Efficient Inference

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SMSR

sparse-deconv-py
Official Python implementation of the 'Sparse deconvolution'-v0.3.0
Stars: ✭ 18 (-91.22%)
Mutual labels:  super-resolution
SRGAN-PyTorch
An Unofficial PyTorch Implementation for Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
Stars: ✭ 52 (-74.63%)
Mutual labels:  super-resolution
Super-Resolution-Meta-Attention-Networks
Open source single image super-resolution toolbox containing various functionality for training a diverse number of state-of-the-art super-resolution models. Also acts as the companion code for the IEEE signal processing letters paper titled 'Improving Super-Resolution Performance using Meta-Attention Layers’.
Stars: ✭ 17 (-91.71%)
Mutual labels:  super-resolution
FISR
Official repository of FISR (AAAI 2020).
Stars: ✭ 72 (-64.88%)
Mutual labels:  super-resolution
SR Framework
A generic framework which implements some famouts super-resolution models
Stars: ✭ 54 (-73.66%)
Mutual labels:  super-resolution
ECBSR
Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices, ACM Multimedia 2021
Stars: ✭ 216 (+5.37%)
Mutual labels:  super-resolution
neural-compressor
Intel® Neural Compressor (formerly known as Intel® Low Precision Optimization Tool), targeting to provide unified APIs for network compression technologies, such as low precision quantization, sparsity, pruning, knowledge distillation, across different deep learning frameworks to pursue optimal inference performance.
Stars: ✭ 666 (+224.88%)
Mutual labels:  sparsity
deepsum
DeepSUM: Deep neural network for Super-resolution of Unregistered Multitemporal images (ESA PROBA-V challenge)
Stars: ✭ 39 (-80.98%)
Mutual labels:  super-resolution
tf-bsrn-sr
Official implementation of block state-based recursive network (BSRN) for super-resolution in TensorFlow
Stars: ✭ 28 (-86.34%)
Mutual labels:  super-resolution
EDVR Keras
Keras implementation of EDVR: Video Restoration with Enhanced Deformable Convolutional Networks
Stars: ✭ 35 (-82.93%)
Mutual labels:  super-resolution
EmiyaEngine
只要蘊藏著想成為真物的意志,偽物就比真物還要來得真實。
Stars: ✭ 27 (-86.83%)
Mutual labels:  super-resolution
strollr2d icassp2017
Image Denoising Codes using STROLLR learning, the Matlab implementation of the paper in ICASSP2017
Stars: ✭ 22 (-89.27%)
Mutual labels:  sparsity
Psychic-CCTV
A video analysis tool built completely in python.
Stars: ✭ 21 (-89.76%)
Mutual labels:  super-resolution
libsrcnn
Super-Resolution imaging with Convolutional Neural Network library for G++, Non-OpenCV model.
Stars: ✭ 14 (-93.17%)
Mutual labels:  super-resolution
Super resolution Survey
A survey of recent application of deep learning on super-resolution tasks
Stars: ✭ 32 (-84.39%)
Mutual labels:  super-resolution
NRSR
Neighborhood Regression for Edge-Preserving Image Super-Resolution (ICASSP 2015)
Stars: ✭ 13 (-93.66%)
Mutual labels:  super-resolution
PNG-Upscale
AI Super - Resolution
Stars: ✭ 116 (-43.41%)
Mutual labels:  super-resolution
LightFieldReconstruction
High-Dimensional Dense Residual Convolutional Neural Network for Light Field Reconstruction
Stars: ✭ 50 (-75.61%)
Mutual labels:  super-resolution
CF-Net
Official repository of "Deep Coupled Feedback Network for Joint Exposure Fusion and Image Super-Resolution"
Stars: ✭ 55 (-73.17%)
Mutual labels:  super-resolution
NTFk.jl
Unsupervised Machine Learning: Nonnegative Tensor Factorization + k-means clustering
Stars: ✭ 36 (-82.44%)
Mutual labels:  sparsity

SMSR

Pytorch implementation of "Exploring Sparsity in Image Super-Resolution for Efficient Inference", CVPR 2021

[arXiv] [CVF] [Supp]

Highlights

  • Locate and skip redundant computation in SR networks at a fine-grained level for efficient inference.
  • Maintain state-of-the-art performance with significant FLOPs reduction and a speedup on mobile devices.
  • Efficient implementation of sparse convolution based on original Pytorch APIs for easier migration and deployment.

Motivation

Network Architecture

Implementation of Sparse Convolution

For easier migration and deployment, we use an efficient implementation of sparse convolution based on original Pytorch APIs rather than the commonly applied CUDA-based implementation. Specifically, sparse features are first extracted from the input, as shown in the following figure. Then, matrix multiplication is executed to produce the output features.

Requirements

  • Python 3.6
  • PyTorch == 1.1.0
  • numpy
  • skimage
  • imageio
  • matplotlib
  • cv2

Train

1. Prepare training data

1.1 Download DIV2K training data (800 training + 100 validtion images) from DIV2K dataset or SNU_CVLab.

1.2 Specify '--dir_data' based on the HR and LR images path. In option.py, '--ext' is set as 'sep_reset', which first convert .png to .npy. If all the training images (.png) are converted to .npy files, then set '--ext sep' to skip converting files.

For more informaiton, please refer to EDSR(PyTorch).

2. Begin to train

python main.py --model SMSR --save SMSR_X2 --scale 2 --patch_size 96 --batch_size 16

Test

1. Prepare test data

Download benchmark datasets (e.g., Set5, Set14 and other test sets) and prepare HR/LR images in testsets/benchmark following the example of testsets/benchmark/Set5.

2. Demo

python main.py --dir_data testsets --data_test Set5 --scale 2 --model SMSR --save SMSR_X2 --pre_train experiment/SMSR_X2/model/model_1000.pt --test_only --save_results

Results

Visualization of Sparse Masks

Citation

@InProceedings{Wang2020Exploring,
  author    = {Wang, Longguang and Dong, Xiaoyu and Wang, Yingqian and Ying, Xinyi and Lin, Zaiping and An, Wei and Guo, Yulan},
  title     = {Exploring Sparsity in Image Super-Resolution for Efficient Inference},
  booktitle = {CVPR},
  year      = {2021},
}

Acknowledgements

This code is built on EDSR (PyTorch). We thank the authors for sharing the codes.

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].