🚀 BasicSR
English | 简体中文 GitHub | Gitee码云
Google Colab: GitHub Link | Google Drive Link
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.
(ESRGAN, EDVR, DNI, SFTGAN)
(HandyView, HandyFigure, HandyCrawler, HandyWriting)
✨ New Features
- 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.
⚡ HOWTOs
We provides simple pipelines to train/test/inference models for 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 | |||
EDVR | TODO | TODO | DUF | - | TODO |
BasicVSR | TODO | TODO | TOF | - | TODO |
Deblurring | |||||
DeblurGANv2 | - | TODO | |||
Denoise | |||||
RIDNet | - | TODO | CBDNet | - | TODO |
🔧 Dependencies and Installation
- Python >= 3.7 (Recommend to use Anaconda or Miniconda)
- PyTorch >= 1.3
- NVIDIA GPU + CUDA
-
Clone repo
git clone https://github.com/xinntao/BasicSR.git
-
Install dependent packages
cd BasicSR pip install -r requirements.txt
-
Install BasicSR
Please run the following commands in the BasicSR root path to install BasicSR:
(Make sure that your GCC version: gcc >= 5)
If you do not need the cuda extensions:
dcn for EDVR
upfirdn2d and fused_act for StyleGAN2
please add--no_cuda_ext
when installingpython setup.py develop --no_cuda_ext
If you use the EDVR and StyleGAN2 model, the above cuda extensions are necessary.
python setup.py develop
You may also want to specify the CUDA paths:
CUDA_HOME=/usr/local/cuda \ CUDNN_INCLUDE_DIR=/usr/local/cuda \ CUDNN_LIB_DIR=/usr/local/cuda \ python setup.py develop
Note that BasicSR is only tested in Ubuntu, and may be not suitable for Windows. You may try Windows WSL with CUDA supports :-) (It is now only available for insider build with Fast ring).
⏳ 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
📜 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},
howpublished = {\url{https://github.com/xinntao/BasicSR}},
year = {2020}
}
Xintao Wang, Ke Yu, Kelvin C.K. Chan, Chao Dong and Chen Change Loy. BasicSR. https://github.com/xinntao/BasicSR, 2020.
📧 Contact
If you have any question, please email xintao.wang@outlook.com
.