• Stars
    star
    1,488
  • Rank 31,571 (Top 0.7 %)
  • Language
    Python
  • Created over 5 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Winning Solution in NTIRE19 Challenges on Video Restoration and Enhancement (CVPR19 Workshops) - Video Restoration with Enhanced Deformable Convolutional Networks. EDVR has been merged into BasicSR and this repo is a mirror of BasicSR.

EDVR has been merged into BasicSR. This GitHub repo is a mirror of BasicSR. Recommend to use BasicSR, and open issues, pull requests, etc in BasicSR.

Note that this version is not compatible with previous versions. If you want to use previous ones, please refer to the old_version branch.


๐Ÿš€ BasicSR

English | ็ฎ€ไฝ“ไธญๆ–‡ โ€ƒ GitHub | Gitee็ ไบ‘

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.
(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

  1. Clone repo

    git clone https://github.com/xinntao/BasicSR.git
  2. Install dependent packages

    cd BasicSR
    pip install -r requirements.txt
  3. 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 installing

    python 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

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},
  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 [email protected].

More Repositories

1

Real-ESRGAN

Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.
Python
27,474
star
2

ESRGAN

ECCV18 Workshops - Enhanced SRGAN. Champion PIRM Challenge on Perceptual Super-Resolution. The training codes are in BasicSR.
Python
5,914
star
3

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.
Python
3,230
star
4

Real-ESRGAN-ncnn-vulkan

NCNN implementation of Real-ESRGAN. Real-ESRGAN aims at developing Practical Algorithms for General Image Restoration.
C
1,440
star
5

facexlib

FaceXlib aims at providing ready-to-use face-related functions based on current STOA open-source methods.
Python
800
star
6

SFTGAN

CVPR18 - Recovering Realistic Texture in Image Super-resolution by Deep Spatial Feature Transform
Lua
558
star
7

HandyView

Handy image viewer based on PyQt5. Convenient for viewing and comparing :-)
Python
550
star
8

BasicSR-examples

BasicSR-Examples illustrates how to easily use BasicSR in your own project
Python
203
star
9

ProjectTemplate-Python

Python Project Template
Python
189
star
10

HandyFigure

HandyFigure provides the sources file (ususally PPT files) for paper figures
JavaScript
152
star
11

DNI

CVPR19 - Deep Network Interpolation for Continuous Imagery Effect Transition
118
star
12

open-docs

Doc sources for the Open Video Restoration and My Records in
Python
28
star
13

HandyLatex

Collections of Beautiful Latex Snippets
Python
16
star
14

matlab_functions_verification

Python
12
star
15

records

Records in gitbook
HTML
9
star
16

HandyCrawler

Python
8
star
17

xinntao.github.io

Home Page
JavaScript
7
star
18

xinntao

7
star
19

HandyInfer

Python
6
star
20

Real-ESRGAN-replicate

Python
6
star
21

HandyWriting

4
star
22

open-figures

Python
2
star
23

gitbook-plugin-theme-coolx

CSS
2
star
24

test_sync

Shell
2
star
25

public-figures

Store figures used in other public GitHub repositories
2
star
26

basictools

Some basic tools, like drawing, processing files and etc.
Lua
1
star
27

notes

1
star
28

public_figures

1
star
29

configurations

Vim Script
1
star