🔥 AnimeVideo-v3模型(动漫视频小模型)。请查看[动漫视频模型]和[对比]
🔥 RealESRGAN_x4plus_anime_6B用于动漫图像**(动漫插图模型)**。请查看[动漫模型]
- :boom: 更新在线Replicate演示:
- Real-ESRGAN的在线Colab演示: | Real-ESRGAN的在线Colab演示(动漫视频):
- 便携式Windows / Linux / MacOS 可执行文件,适用于Intel/AMD/Nvidia GPU。您可以在这里找到更多信息。ncnn实现位于Real-ESRGAN-ncnn-vulkan
Real-ESRGAN旨在开发通用图像/视频修复的实用算法。
我们将强大的ESRGAN扩展到实用的修复应用(即Real-ESRGAN),它使用纯合成数据进行训练。
🌌 感谢您宝贵的反馈/建议。所有反馈都已更新在feedback.md中。
如果Real-ESRGAN对您有帮助,请给这个仓库⭐或向您的朋友推荐😊
其他推荐项目:
▶️ GFPGAN:一种实用的真实世界人脸修复算法
▶️ BasicSR:一个开源的图像和视频修复工具箱
▶️ facexlib:提供有用的人脸相关功能的集合
▶️ HandyView:一个基于PyQt5的方便查看和比较的图像查看器
▶️ HandyFigure:论文图表的开源项目
📖 Real-ESRGAN:使用纯合成数据训练真实世界盲超分辨率
[论文] [YouTube视频] [B站讲解] [海报] [PPT幻灯片]
王鑫涛,谢良彬,董超,单瑛
腾讯ARC实验室;中国科学院深圳先进技术研究院
🚩 更新
- ✅ 添加了 realesr-general-x4v3 模型 - 一个针对通用场景的小型模型。它还支持 -dn 选项来平衡噪声(避免过度平滑的结果)。-dn 是降噪强度的缩写。
- ✅ 更新了 RealESRGAN AnimeVideo-v3 模型。更多详情请参见动漫视频模型和对比。
- ✅ 为动漫视频添加了小型模型。更多详情见动漫视频模型。
- ✅ 添加了ncnn实现 Real-ESRGAN-ncnn-vulkan。
- ✅ 添加了 RealESRGAN_x4plus_anime_6B.pth,这是针对动漫图像优化的模型,模型尺寸更小。更多详情及与waifu2x的对比见anime_model.md
- ✅ 支持在您自己的数据或配对数据上进行微调(即微调ESRGAN)。参见这里
- ✅ 集成了GFPGAN以支持面部增强。
- ✅ 集成到Huggingface Spaces,使用Gradio。参见Gradio Web演示。感谢@AK391
- ✅ 通过
--outscale
支持任意比例缩放(实际上是使用LANCZOS4
进一步调整输出大小)。添加了RealESRGAN_x2plus.pth模型。 - ✅ 推理代码支持:1) tile选项;2) 带alpha通道的图像;3) 灰度图像;4) 16位图像。
- ✅ 训练代码已发布。详细指南可在Training.md中找到。
👀 演示视频
Bilibili
YouTube
🔧 依赖和安装
- 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
⚡ 快速推理
通常有三种方式进行Real-ESRGAN推理。
在线推理
- 您可以在我们的网站上尝试:ARC Demo (目前仅支持RealESRGAN_x4plus_anime_6B)
- Real-ESRGAN的Colab演示 | Real-ESRGAN(动漫视频)的Colab演示。
便携式可执行文件(NCNN)
您可以下载适用于Intel/AMD/Nvidia GPU的Windows / Linux / MacOS 可执行文件。
这个可执行文件是便携式的,包含了所有必需的二进制文件和模型。无需CUDA或PyTorch环境。
您可以简单地运行以下命令(Windows示例,每个可执行文件的README.md中有更多信息):
./realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n model_name
我们提供了五个模型:
- realesrgan-x4plus (默认)
- realesrnet-x4plus
- realesrgan-x4plus-anime (针对动漫图像优化,模型尺寸小)
- realesr-animevideov3 (动画视频)
您可以使用-n
参数选择其他模型,例如,./realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n realesrnet-x4plus
便携式可执行文件的使用
- 更多详情请参考Real-ESRGAN-ncnn-vulkan。
- 注意,它不支持Python脚本
inference_realesrgan.py
的所有功能(如outscale
)。
用法: realesrgan-ncnn-vulkan.exe -i 输入路径 -o 输出路径 [选项]...
-h 显示此帮助
-i 输入路径 输入图像路径(jpg/png/webp)或目录
-o 输出路径 输出图像路径(jpg/png/webp)或目录
-s 缩放 上采样比例(可以是2, 3, 4. 默认=4)
-t 块大小 块大小(>=32/0=自动,默认=0) 可以是0,0,0用于多GPU
-m 模型路径 预训练模型的文件夹路径。默认=models
-n 模型名称 模型名称(默认=realesr-animevideov3,可以是realesr-animevideov3 | realesrgan-x4plus | realesrgan-x4plus-anime | realesrnet-x4plus)
-g GPU-ID 使用的gpu设备(默认=自动) 可以是0,1,2用于多GPU
-j 加载:处理:保存 加载/处理/保存的线程数(默认=1:2:2) 可以是1:2,2,2:2用于多GPU
-x 启用tta模式
-f 格式 输出图像格式(jpg/png/webp,默认=ext/png)
-v 详细输出
注意,这可能会引入块不一致性(并且也会生成与PyTorch实现略有不同的结果),因为这个可执行文件首先将输入图像裁剪成几个块,然后分别处理它们,最后拼接在一起。
Python脚本
Python脚本的使用
- 您可以使用X4模型通过
outscale
参数生成任意输出大小。程序会在Real-ESRGAN输出后进行进一步的廉价调整操作。
用法: python inference_realesrgan.py -n RealESRGAN_x4plus -i 输入文件 -o 输出文件 [选项]...
常用命令: python inference_realesrgan.py -n RealESRGAN_x4plus -i 输入文件 --outscale 3.5 --face_enhance
-h 显示帮助信息
-i --input 输入图像或文件夹。默认值:inputs
-o --output 输出文件夹。默认值:results
-n --model_name 模型名称。默认值:RealESRGAN_x4plus
-s, --outscale 图像最终放大倍数。默认值:4
--suffix 恢复后图像的后缀。默认值:out
-t, --tile 分块大小,0表示测试时不分块。默认值:0
--face_enhance 是否使用GFPGAN增强人脸。默认值:False
--fp32 推理时使用fp32精度。默认值:fp16(半精度)
--ext 图像扩展名。选项:auto | jpg | png,auto表示使用与输入相同的扩展名。默认值:auto
#### 处理普通图像
下载预训练模型:[RealESRGAN_x4plus.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth)
```bash
wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P weights
开始推理!
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 weights
# 推理
python inference_realesrgan.py -n RealESRGAN_x4plus_anime_6B -i inputs
结果保存在results
文件夹中
BibTeX
@InProceedings{wang2021realesrgan,
author = {Xintao Wang and Liangbin Xie and Chao Dong and Ying Shan},
title = {Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data},
booktitle = {International Conference on Computer Vision Workshops (ICCVW)},
date = {2021}
}
📧 联系方式
如有任何问题,请发送邮件至xintao.wang@outlook.com
或xintaowang@tencent.com
。
🧩 使用Real-ESRGAN的项目
如果您在项目中开发/使用了Real-ESRGAN,欢迎告诉我。
- NCNN-Android: RealSR-NCNN-Android 由 tumuyan 开发
- VapourSynth: vs-realesrgan 由 HolyWu 开发
- NCNN: Real-ESRGAN-ncnn-vulkan
GUI
- Waifu2x-Extension-GUI 由 AaronFeng753 开发
- Squirrel-RIFE 由 Justin62628 开发
- Real-GUI 由 scifx 开发
- Real-ESRGAN_GUI 由 net2cn 开发
- Real-ESRGAN-EGUI 由 WGzeyu 开发
- anime_upscaler 由 shangar21 开发
- Upscayl 由 Nayam Amarshe 和 TGS963 开发
🤗 致谢
感谢所有贡献者。
- AK391:将RealESRGAN集成到Huggingface Spaces中,使用Gradio。请参见Gradio Web演示。
- Asiimoviet:将README.md翻译成中文。
- 2ji3150:感谢提供详细且有价值的反馈/建议。
- Jared-02:将Training.md翻译成中文。