/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, 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. ๐Ÿš€

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.

๐Ÿšฉ New Features/Updates

  • โœ… 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.
  • โœ… July 20, 2021. Add dual-blind face restoration codes: HiFaceGAN codes by Lotayou.
  • โœ… Nov 29, 2020. Add ESRGAN and DFDNet colab demo
  • โœ… Sep 8, 2020. Add blind face restoration inference codes: DFDNet.
  • โœ… Aug 27, 2020. Add StyleGAN2 training and testing codes: StyleGAN2.
More
  • Sep 8, 2020. Add blind face restoration inference codes: DFDNet.
    ECCV20: Blind Face Restoration via Deep Multi-scale Component Dictionaries
    Xiaoming Li, Chaofeng Chen, Shangchen Zhou, Xianhui Lin, Wangmeng Zuo and Lei Zhang
  • Aug 27, 2020. Add StyleGAN2 training and testing codes.
    CVPR20: Analyzing and Improving the Image Quality of StyleGAN
    Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen and Timo Aila
  • Aug 19, 2020. A brand-new BasicSR v1.0.0 online.

โœจ 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.