Open Source Image and Video Super-Resolution Toolbox
Project description
:rocket: BasicSR
English | 简体中文 GitHub | Gitee码云
Google Colab: GitHub Link | Google Drive Link
:m: Model Zoo :arrow_double_down: Google Drive: Pretrained Models | Reproduced Experiments
:arrow_double_down: 百度网盘: 预训练模型 | 复现实验
:file_folder: Datasets :arrow_double_down: Google Drive :arrow_double_down: 百度网盘 (提取码:basr)
:chart_with_upwards_trend: Training curves in wandb
:computer: Commands for training and testing
:zap: 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.
(ESRGAN, EDVR, DNI, SFTGAN)
(HandyView, HandyFigure, HandyCrawler, HandyWriting)
:sparkles: 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.
:zap: 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 |
:wrench: Dependencies and Installation
- Python >= 3.7 (Recommend to use Anaconda or Miniconda)
- PyTorch >= 1.7
- NVIDIA GPU + CUDA
Option 1: Pip install
pip install basicsr
-
If you want to compile cuda extensions when installing, please set up the environment variable
BASICSR_EXT=True
.BASICSR_EXT=True pip install basicsr
-
If you want to use cuda extensions during running, set environment variable
BASICSR_JIT=True
. Note that every time you run the model, it will compile the extensions just time.- Example: StyleGAN2 inference colab.
Option 2: Git clone and compile
-
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 need the cuda extensions:
dcn for EDVR
upfirdn2d and fused_act for StyleGAN2
please set up the environment variableBASICSR_EXT=True
when installing.
If you use the EDVR and StyleGAN2 model, the above cuda extensions are necessary.BASICSR_EXT=True python setup.py develop
Otherwise, install without compiling cuda extensions
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).
:hourglass_flowing_sand: TODO List
Please see project boards.
:turtle: 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.
:computer: 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.
:european_castle: 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:
:memo: 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
:scroll: License and Acknowledgement
This project is released under the Apache 2.0 license.
More details about license and acknowledgement are in LICENSE.
:earth_asia: 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.
:e-mail: Contact
If you have any question, please email xintao.wang@outlook.com
.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.