:rocket: BasicSR

November 29, 2020 · View on GitHub

EDVR 已经 merge 到 BasicSR 了. 这个 GitHub repo 只是 BasicSR 的一个镜像. 推荐使用 BasicSR, 以及在 BasicSR 的 GitHub repo 中提 issues, pull requests.

注意: 目前最新的版本不兼容之前的版本, 如果要使用之前的版本, 参见 old_version 分支.


:rocket: BasicSR

English | 简体中文GitHub | Gitee码云

google colab logo Google Colab: GitHub Link | Google Drive Link
:m: 模型库 :arrow_double_down: 百度网盘: 预训练模型 | 复现实验 :arrow_double_down: Google Drive: Pretrained Models | Reproduced Experiments
:file_folder: 数据 :arrow_double_down: 百度网盘 (提取码:basr) :arrow_double_down: Google Drive
:chart_with_upwards_trend: wandb的训练曲线
:computer: 训练和测试的命令
:zap: HOWTOs


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

:sparkles: 新的特性

  • Nov 29, 2020. 添加 ESRGAN and DFDNet colab demo.
  • Sep 8, 2020. 添加 盲人脸复原测试代码: DFDNet.
  • Aug 27, 2020. 添加 StyleGAN2 训练和测试 代码: StyleGAN2.
更多
  • Sep 8, 2020. 添加 盲人脸复原 测试代码: 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. 添加 StyleGAN2 训练和测试代码.
    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. 全新的 BasicSR v1.0.0 上线.

:zap: HOWTOs

我们提供了简单的流程来快速上手 训练/测试/推理 模型. 这些命令并不能涵盖所有用法, 更多的细节参见下面的部分.

GAN
StyleGAN2训练测试
Face Restoration
DFDNet-测试
Super Resolution
ESRGANTODOTODOSRGANTODOTODO
EDSRTODOTODOSRResNetTODOTODO
RCANTODOTODO
EDVRTODOTODODUF-TODO
BasicVSRTODOTODOTOF-TODO
Deblurring
DeblurGANv2-TODO
Denoise
RIDNet-TODOCBDNet-TODO

:wrench: 依赖和安装

  1. Clone repo

    git clone https://github.com/xinntao/BasicSR.git
    
  2. 安装依赖包

    cd BasicSR
    pip install -r requirements.txt
    
  3. 安装 BasicSR

    在BasicSR的根目录下运行以下命令:
    (确保 GCC 版本: gcc >= 5)
    如果你不需要以下 cuda 扩展算子:
    dcn for EDVR
    upfirdn2d and fused_act for StyleGAN2
    在安装命令后添加 --no_cuda_ext

    python setup.py develop --no_cuda_ext
    

    如果使用 EDVR 和 StyleGAN2 模型, 则需要使用上面的 cuda 扩展算子.

    python setup.py develop
    

    你或许需要指定 CUDA 路径:

    CUDA_HOME=/usr/local/cuda \
    CUDNN_INCLUDE_DIR=/usr/local/cuda \
    CUDNN_LIB_DIR=/usr/local/cuda \
    python setup.py develop
    

注意: BasicSR 仅在 Ubuntu 下进行测试,或许不支持Windows. 可以在Windows下尝试支持CUDA的Windows WSL :-) (目前只有Fast ring的预览版系统可以安装).

:hourglass_flowing_sand: TODO 清单

参见 project boards.

:turtle: 数据准备

:computer: 训练和测试

:european_castle: 模型库和基准

:memo: 代码库的设计和约定

参见 DesignConvention_CN.md.
下图概括了整体的框架. 每个模块更多的描述参见:
Datasets_CN.md | Models_CN.md | Config_CN.md | Logging_CN.md

overall_structure

:scroll: 许可

本项目使用 Apache 2.0 license.
更多关于许可致谢, 请参见 LICENSE.

:earth_asia: 引用

如果 BasicSR 对你有所帮助, 可以考虑引用BasicSR.
下面是一个 BibTex 引用条目, 它需要 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: 联系

若有任何问题, 请电邮 xintao.wang@outlook.com.