: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: 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 | |||||
| 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: 依赖和安装
- Python >= 3.7 (推荐使用 Anaconda 或 Miniconda)
- PyTorch >= 1.3
- NVIDIA GPU + CUDA
-
Clone repo
git clone https://github.com/xinntao/BasicSR.git -
安装依赖包
cd BasicSR pip install -r requirements.txt -
安装 BasicSR
在BasicSR的根目录下运行以下命令:
(确保 GCC 版本: gcc >= 5)
如果你不需要以下 cuda 扩展算子:
dcn for EDVR
upfirdn2d and fused_act for StyleGAN2
在安装命令后添加--no_cuda_extpython 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: 数据准备
- 数据准备步骤, 参见 DatasetPreparation_CN.md.
- 目前支持的数据集 (
torch.utils.data.Dataset类), 参见 Datasets_CN.md.
:computer: 训练和测试
- 训练和测试的命令, 参见 TrainTest_CN.md.
- Options/Configs配置文件的说明, 参见 Config_CN.md.
- Logging日志系统的说明, 参见 Logging_CN.md.
:european_castle: 模型库和基准
- 目前支持的模型描述, 参见 Models_CN.md.
- 预训练模型和log样例, 参见 ModelZoo_CN.md.
- 我们也在 wandb 上提供了训练曲线等:
:memo: 代码库的设计和约定
参见 DesignConvention_CN.md.
下图概括了整体的框架. 每个模块更多的描述参见:
Datasets_CN.md | Models_CN.md | Config_CN.md | Logging_CN.md

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