🔥 🔥 🔥 添加了针对动漫视频的小模型, 更多信息在 anime video models 中.
- Real-ESRGAN的Colab Demo .
- Real-ESRGAN的 动漫视频 的Colab Demo .
- 支持Intel/AMD/Nvidia显卡的绿色版exe文件: Windows版 / Linux版 / macOS版,详情请移步这里。NCNN的实现在 Real-ESRGAN-ncnn-vulkan。
Real-ESRGAN 的目标是开发出实用的图像修复算法。
我们在 ESRGAN 的基础上使用纯合成的数据来进行训练,以使其能被应用于实际的图片修复的场景(顾名思义:Real-ESRGAN)。
🎨 Real-ESRGAN 需要,也很欢迎你的贡献,如新功能、模型、bug修复、建议、维护等等。详情可以查看CONTRIBUTING.md,所有的贡献者都会被列在此处。
🌌 感谢大家提供了很好的反馈。这些反馈会逐步更新在 这个文档。
❓ 常见的问题可以在FAQ.md中找到答案。(好吧,现在还是空白的=-=||)
🚩 更新
- ✅ 添加了针对动漫视频的小模型, 更多信息在 anime video models 中.
- ✅ 添加了ncnn 实现:Real-ESRGAN-ncnn-vulkan.
- ✅ 添加了 RealESRGAN_x4plus_anime_6B.pth,对二次元图片进行了优化,并减少了model的大小。详情 以及 与waifu2x的对比请查看anime_model.md
- ✅ 支持用户在自己的数据上进行微调 (finetune):详情
- ✅ 支持使用GFPGAN增强人脸
- ✅ 通过Gradio添加到了Huggingface Spaces(一个机器学习应用的在线平台):Gradio在线版。感谢@AK391
- ✅ 支持任意比例的缩放:
--outscale
(实际上使用LANCZOS4
来更进一步调整输出图像的尺寸)。添加了RealESRGAN_x2plus.pth模型 - ✅ 推断脚本支持: 1) 分块处理tile; 2) 带alpha通道的图像; 3) 灰色图像; 4) 16-bit图像.
- ✅ 训练代码已经发布,具体做法可查看:Training.md。
如果 Real-ESRGAN 对你有帮助,可以给本项目一个 Star ⭐ ,或者推荐给你的朋友们,谢谢!😊
其他推荐的项目:
[论文] [项目主页] [YouTube 视频] [B站视频] [Poster] [PPT]
Xintao Wang, Liangbin Xie, Chao Dong, Ying Shan
Tencent ARC Lab; Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences
我们提供了一套训练好的模型(RealESRGAN_x4plus.pth),可以进行4倍的超分辨率。
现在的 Real-ESRGAN 还是有几率失败的,因为现实生活的降质过程比较复杂。
而且,本项目对人脸以及文字之类的效果还不是太好,但是我们会持续进行优化的。
Real-ESRGAN 将会被长期支持,我会在空闲的时间中持续维护更新。
这些是未来计划的几个新功能:
- 优化人脸
- 优化文字
- 优化动画图像
- 支持更多的超分辨率比例
- 可调节的复原
如果你有好主意或需求,欢迎在 issue 或 discussion 中提出。
如果你有一些 Real-ESRGAN 中有问题的照片,你也可以在 issue 或者 discussion 中发出来。我会留意(但是不一定能解决:stuck_out_tongue:)。如果有必要的话,我还会专门开一页来记录那些有待解决的图像。
你可以下载支持Intel/AMD/Nvidia显卡的绿色版exe文件: Windows版 / Linux版 / macOS版。
绿色版指的是这些exe你可以直接运行(放U盘里拷走都没问题),因为里面已经有所需的文件和模型了。它不需要 CUDA 或者 PyTorch运行环境。
你可以通过下面这个命令来运行(Windows版本的例子,更多信息请查看对应版本的README.md):
./realesrgan-ncnn-vulkan.exe -i 输入图像.jpg -o 输出图像.png -n 模型名字
我们提供了五种模型:
- realesrgan-x4plus(默认)
- reaesrnet-x4plus
- realesrgan-x4plus-anime(针对动漫插画图像优化,有更小的体积)
- RealESRGANv2-animevideo-xsx2 (针对动漫视频, X2)
- RealESRGANv2-animevideo-xsx4 (针对动漫视频, X4)
你可以通过-n
参数来使用其他模型,例如./realesrgan-ncnn-vulkan.exe -i 二次元图片.jpg -o 二刺螈图片.png -n realesrgan-x4plus-anime
- 更多细节可以参考 Real-ESRGAN-ncnn-vulkan.
- 注意:可执行文件并没有支持 python 脚本
inference_realesrgan.py
中所有的功能,比如outscale
选项) .
Usage: realesrgan-ncnn-vulkan.exe -i infile -o outfile [options]...
-h show this help
-v verbose output
-i input-path input image path (jpg/png/webp) or directory
-o output-path output image path (jpg/png/webp) or directory
-s scale upscale ratio (4, default=4)
-t tile-size tile size (>=32/0=auto, default=0) can be 0,0,0 for multi-gpu
-m model-path folder path to pre-trained models(default=models)
-n model-name model name (default=realesrgan-x4plus, can be realesrgan-x4plus | realesrgan-x4plus-anime | realesrnet-x4plus)
-g gpu-id gpu device to use (default=0) can be 0,1,2 for multi-gpu
-j load:proc:save thread count for load/proc/save (default=1:2:2) can be 1:2,2,2:2 for multi-gpu
-x enable tta mode
-f format output image format (jpg/png/webp, default=ext/png)
由于这些exe文件会把图像分成几个板块,然后来分别进行处理,再合成导出,输出的图像可能会有一点割裂感(而且可能跟PyTorch的输出不太一样)
这些exe文件均基于Tencent/ncnn以及nihui的realsr-ncnn-vulkan,感谢!
- Python >= 3.7 (推荐使用Anaconda或Miniconda)
- PyTorch >= 1.7
-
把项目克隆到本地
git clone https://github.com/xinntao/Real-ESRGAN.git cd Real-ESRGAN
-
安装各种依赖
# 安装 basicsr - https://github.com/xinntao/BasicSR # 我们使用BasicSR来训练以及推断 pip install basicsr # facexlib和gfpgan是用来增强人脸的 pip install facexlib pip install gfpgan pip install -r requirements.txt python setup.py develop
下载我们训练好的模型: RealESRGAN_x4plus.pth
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P experiments/pretrained_models
推断!
python inference_realesrgan.py -n RealESRGAN_x4plus -i inputs --face_enhance
结果在results
文件夹
训练好的模型: RealESRGAN_x4plus_anime_6B
有关waifu2x的更多信息和对比在anime_model.md中。
# 下载模型
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P experiments/pretrained_models
# 推断
python inference_realesrgan.py -n RealESRGAN_x4plus_anime_6B -i inputs
结果在results
文件夹
- 虽然你使用了 X4 模型,但是你可以 输出任意尺寸比例的图片,只要实用了
outscale
参数. 程序会进一步对模型的输出图像进行缩放。
Usage: python inference_realesrgan.py -n RealESRGAN_x4plus -i infile -o outfile [options]...
A common command: python inference_realesrgan.py -n RealESRGAN_x4plus -i infile --outscale 3.5 --half --face_enhance
-h show this help
-i --input Input image or folder. Default: inputs
-o --output Output folder. Default: results
-n --model_name Model name. Default: RealESRGAN_x4plus
-s, --outscale The final upsampling scale of the image. Default: 4
--suffix Suffix of the restored image. Default: out
-t, --tile Tile size, 0 for no tile during testing. Default: 0
--face_enhance Whether to use GFPGAN to enhance face. Default: False
--half Whether to use half precision during inference. Default: False
--ext Image extension. Options: auto | jpg | png, auto means using the same extension as inputs. Default: auto
这里有一份详细的指南:Training.md.
@Article{wang2021realesrgan,
title={Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data},
author={Xintao Wang and Liangbin Xie and Chao Dong and Ying Shan},
journal={arXiv:2107.10833},
year={2021}
}
如果你有任何问题,请通过 [email protected]
或 [email protected]
联系我们。
感谢所有的贡献者大大们~
- AK391: 通过Gradio添加到了Huggingface Spaces(一个机器学习应用的在线平台):Gradio在线版。
- Asiimoviet: 把 README.md 文档 翻译成了中文。
- 2ji3150: 感谢详尽并且富有价值的反馈、建议.