Zurück zum Ranking

swz30/Restormer

Python

[CVPR 2022--Oral] Restormer: Efficient Transformer for High-Resolution Image Restoration. SOTA for motion deblurring, image deraining, denoising (Gaussian/real data), and defocus deblurring.

image-restorationimage-derainingimage-deblurringdefocus-deblurringmotion-deblurringtransformerpytorchlow-level-visioncvpr2022high-resolutionefficient-transformers
Sterne-Wachstum
Sterne
2.6k
Forks
326
Wochenwachstum
Issues
54
1k2k
Nov. 2021Mai 2023Dez. 2024Juli 2026
ArtefaktePyPIpip install restormer
README

Restormer: Efficient Transformer for High-Resolution Image Restoration (CVPR 2022 -- Oral)

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

paper supplement video slides Summary

News

  • April 4, 2022: Integrated into Huggingface Spaces 🤗 using Gradio. Try out the web demo: Hugging Face Spaces
  • March 30, 2022: Added Colab Demo. Open In Colab
  • March 29, 2022: Restormer is selected for an ORAL presentation at CVPR 2022 :dizzy:
  • March 10, 2022: Training codes are released :fire:
  • March 3, 2022: Paper accepted at CVPR 2022 :tada:
  • Nov 21, 2021: Testing codes and pre-trained models are released!

Abstract: Since convolutional neural networks (CNNs) perform well at learning generalizable image priors from large-scale data, these models have been extensively applied to image restoration and related tasks. Recently, another class of neural architectures, Transformers, have shown significant performance gains on natural language and high-level vision tasks. While the Transformer model mitigates the shortcomings of CNNs (i.e., limited receptive field and inadaptability to input content), its computational complexity grows quadratically with the spatial resolution, therefore making it infeasible to apply to most image restoration tasks involving high-resolution images. In this work, we propose an efficient Transformer model by making several key designs in the building blocks (multi-head attention and feed-forward network) such that it can capture long-range pixel interactions, while still remaining applicable to large images. Our model, named Restoration Transformer (Restormer), achieves state-of-the-art results on several image restoration tasks, including image deraining, single-image motion deblurring, defocus deblurring (single-image and dual-pixel data), and image denoising (Gaussian grayscale/color denoising, and real image denoising).


Network Architecture

Installation

See INSTALL.md for the installation of dependencies required to run Restormer.

Demo

To test the pre-trained Restormer models of Deraining, Motion Deblurring, Defocus Deblurring, and Denoising on your own images, you can either use Google Colab Open In Colab, or command line as following

python demo.py --task Task_Name --input_dir path_to_images --result_dir save_images_here

Example usage to perform Defocus Deblurring on a directory of images:

python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/' --result_dir './demo/restored/'

Example usage to perform Defocus Deblurring on an image directly:

python demo.py --task Single_Image_Defocus_Deblurring --input_dir './demo/degraded/portrait.jpg' --result_dir './demo/restored/'

Training and Evaluation

Training and Testing instructions for Deraining, Motion Deblurring, Defocus Deblurring, and Denoising are provided in their respective directories. Here is a summary table containing hyperlinks for easy navigation:

Task Training Instructions Testing Instructions Restormer's Visual Results
Deraining Link Link Download
Motion Deblurring Link Link Download
Defocus Deblurring Link Link Download
Gaussian Denoising Link Link Download
Real Denoising Link Link Download

Results

Experiments are performed for different image processing tasks including, image deraining, single-image motion deblurring, defocus deblurring (both on single image and dual pixel data), and image denoising (both on Gaussian and real data).

Image Deraining (click to expand)
Single-Image Motion Deblurring (click to expand)

Defocus Deblurring (click to expand)

S: single-image defocus deblurring. D: dual-pixel defocus deblurring.

Gaussian Image Denoising (click to expand)

Top super-row: learning a single model to handle various noise levels. Bottom super-row: training a separate model for each noise level.

Grayscale

Color

Real Image Denoising (click to expand)

Citation

If you use Restormer, please consider citing:

@inproceedings{Zamir2021Restormer,
    title={Restormer: Efficient Transformer for High-Resolution Image Restoration}, 
    author={Syed Waqas Zamir and Aditya Arora and Salman Khan and Munawar Hayat 
            and Fahad Shahbaz Khan and Ming-Hsuan Yang},
    booktitle={CVPR},
    year={2022}
}

Contact

Should you have any question, please contact waqas.zamir@inceptioniai.org

Acknowledgment: This code is based on the BasicSR toolbox and HINet.

  • Learning Enriched Features for Fast Image Restoration and Enhancement, TPAMI 2022. Paper | Code
  • Multi-Stage Progressive Image Restoration, CVPR 2021. Paper | Code
  • Learning Enriched Features for Real Image Restoration and Enhancement, ECCV 2020. Paper | Code
  • CycleISP: Real Image Restoration via Improved Data Synthesis, CVPR 2020. Paper | Code
Ähnliche Repositories
TencentARC/GFPGAN

GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.

PythonPyPIOtherpytorchgan
37.6k6.3k
xinntao/Real-ESRGAN

Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.

PythonPyPIBSD 3-Clause "New" or "Revised" Licenseesrganpytorch
36.2k4.4k
microsoft/Bringing-Old-Photos-Back-to-Life

Bringing Old Photo Back to Life (CVPR 2020 oral)

PythonPyPIMIT Licenseimage-restorationold-photo-restoration
arxiv.org/abs/2004.09484
15.7k2.1k
JingyunLiang/SwinIR

SwinIR: Image Restoration Using Swin Transformer (official repository)

PythonPyPIApache License 2.0image-super-resolutionimage-denoising
arxiv.org/abs/2108.10257
5.6k657
XPixelGroup/DiffBIR

[ECCV 2024] codes of DiffBIR: Towards Blind Image Restoration with Generative Diffusion Prior

PythonPyPIApache License 2.0image-enhancementimage-restoration
4.1k358
cszn/KAIR

Image Restoration Toolbox (PyTorch). Training and testing codes for DPIR, USRNet, DnCNN, FFDNet, SRMD, DPSR, BSRGAN, SwinIR

PythonPyPIMIT Licenseimage-restorationdenoising
cszn.github.io
3.5k702
megvii-research/NAFNet

The state-of-the-art image restoration model without nonlinear activation functions.

PythonPyPIOtherdeblurdenoise
3.1k390
wenbihan/reproducible-image-denoising-state-of-the-art

Collection of popular and reproducible image denoising works.

image-denoisingbenchmarking
2.5k506
xinntao/Real-ESRGAN-ncnn-vulkan

NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.

COtherreal-esrganncnn
github.com/xinntao/Real-ESRGAN
2.2k286
Janspiry/Palette-Image-to-Image-Diffusion-Models

Unofficial implementation of Palette: Image-to-Image Diffusion Models by Pytorch

PythonPyPIMIT Licenseddpmimage-restoration
1.8k239
Kobaayyy/Awesome-CVPR2026-CVPR2025-CVPR2024-CVPR2021-CVPR2020-Low-Level-Vision

A Collection of Papers and Codes for CVPR2026/CVPR2025/CVPR2024/CVPR2021/CVPR2020 Low Level Vision

cvpr2020computer-vision
1.7k167
X-Lucifer/AI-Lossless-Zoomer

AI无损放大工具

C#GNU General Public License v3.0real-esrganlossless
1.7k188