/BasicSR

Open Source Image and Video Restoration Toolbox for Super-resolution, Denoise, Deblurring, etc. Currently, it includes EDSR, RCAN, SRResNet, SRGAN, ESRGAN, EDVR, BasicVSR, SwinIR, ECBSR, etc. Also support StyleGAN2, DFDNet.

Primary LanguagePython

🚀 BasicSR

LICENSE PyPI Language grade: Python python lint Publish-pip gitee mirror

English | 简体中文GitHub | Gitee码云

🚀 We add BasicSR-Examples, which provides guidance and templates of using BasicSR as a python package. 🚀

📢 技术交流QQ群320960100   入群答案:互帮互助共同进步

🧭 入群二维码 (QQ、微信)    入群指南 (腾讯文档)


google colab logo Google Colab: GitHub Link | Google Drive Link
Ⓜ️ Model Zoo: ⏬ Google Drive: Pretrained Models | Reproduced Experiments ⏬ 百度网盘: 预训练模型 | 复现实验
📁 Datasets: ⏬ Google Drive百度网盘 (提取码:basr)
📈 Training curves in wandb
💻 Commands for training and testing
HOWTOs


BasicSR (Basic Super Restoration) is an open-source image and video restoration toolbox based on PyTorch, such as super-resolution, denoise, deblurring, JPEG artifacts removal, etc.

BasicSR (Basic Super Restoration) 是一个基于 PyTorch 的开源 图像视频复原工具箱, 比如 超分辨率, 去噪, 去模糊, 去 JPEG 压缩噪声等.

🚩 New Features/Updates

  • ✅ Oct 5, 2021. Add ECBSR training and testing codes: ECBSR.

    ACMMM21: Edge-oriented Convolution Block for Real-time Super Resolution on Mobile Devices

  • ✅ Sep 2, 2021. Add SwinIR training and testing codes: SwinIR by Jingyun Liang. More details are in HOWTOs.md
  • ✅ Aug 5, 2021. Add NIQE, which produces the same results as MATLAB (both are 5.7296 for tests/data/baboon.png).
  • ✅ July 31, 2021. Add bi-directional video super-resolution codes: BasicVSR and IconVSR.

    CVPR21: BasicVSR: The Search for Essential Components in Video Super-Resolution and Beyond

  • More

Projects that use BasicSR

  • Real-ESRGAN: A practical algorithm for general image restoration
  • GFPGAN: A practical algorithm for real-world face restoration

If you use BasicSR in your open-source projects, welcome to contact me (by email or opening an issue/pull request). I will add your projects to the above list 😊


If BasicSR helps your research or work, please help to ⭐ this repo or recommend it to your friends. Thanks😊
Other recommended projects:
▶️ Real-ESRGAN: A practical algorithm for general image restoration
▶️ GFPGAN: A practical algorithm for real-world face restoration
▶️ facexlib: A collection that provides useful face-relation functions.
▶️ HandyView: A PyQt5-based image viewer that is handy for view and comparison.
(ESRGAN, EDVR, DNI, SFTGAN) (HandyView, HandyFigure, HandyCrawler, HandyWriting)


⚡ HOWTOs

We provide simple pipelines to train/test/inference models for a quick start. These pipelines/commands cannot cover all the cases and more details are in the following sections.

GAN
StyleGAN2 Train Inference
Face Restoration
DFDNet - Inference
Super Resolution
ESRGAN TODO TODO SRGAN TODO TODO
EDSR TODO TODO SRResNet TODO TODO
RCAN TODO TODO SwinIR Train Inference
EDVR TODO TODO DUF - TODO
BasicVSR TODO TODO TOF - TODO
Deblurring
DeblurGANv2 - TODO
Denoise
RIDNet - TODO CBDNet - TODO

🔧 Dependencies and Installation

For detailed instructions refer to INSTALL.md.

⏳ TODO List

Please see project boards.

🐢 Dataset Preparation

  • Please refer to DatasetPreparation.md for more details.
  • The descriptions of currently supported datasets (torch.utils.data.Dataset classes) are in Datasets.md.

💻 Train and Test

  • Training and testing commands: Please see TrainTest.md for the basic usage.
  • Options/Configs: Please refer to Config.md.
  • Logging: Please refer to Logging.md.

🏰 Model Zoo and Baselines

  • The descriptions of currently supported models are in Models.md.
  • Pre-trained models and log examples are available in ModelZoo.md.
  • We also provide training curves in wandb:

📝 Codebase Designs and Conventions

Please see DesignConvention.md for the designs and conventions of the BasicSR codebase.
The figure below shows the overall framework. More descriptions for each component:
Datasets.md | Models.md | Config.md | Logging.md

overall_structure

📜 License and Acknowledgement

This project is released under the Apache 2.0 license.
More details about license and acknowledgement are in LICENSE.

🌏 Citations

If BasicSR helps your research or work, please consider citing BasicSR.
The following is a BibTeX reference. The BibTeX entry requires the url LaTeX package.

@misc{wang2020basicsr,
  author =       {Xintao Wang and Ke Yu and Kelvin C.K. Chan and
                  Chao Dong and Chen Change Loy},
  title =        {{BasicSR}: Open Source Image and Video Restoration Toolbox},
  howpublished = {\url{https://github.com/xinntao/BasicSR}},
  year =         {2020}
}

Xintao Wang, Ke Yu, Kelvin C.K. Chan, Chao Dong and Chen Change Loy. BasicSR: Open Source Image and Video Restoration Toolbox. https://github.com/xinntao/BasicSR, 2020.

📧 Contact

If you have any questions, please email xintao.wang@outlook.com.