My suggested steps for quick installation:
- Clone https://github.com/ai-forever/Real-ESRGAN
- Get the models and move to project Real-ESRGAN/weights: https://huggingface.co/ai-forever/Real-ESRGAN/tree/main or https://huggingface.co/ai-forever/Real-ESRGAN
- As it's customary, a python environment is helpful and worked for me on a conda python 3.10 env
- cd into project Real-ESRGAN/
- python -m pip install -r requirements.txt
- python setup.py develop
- Set the target resolution in main.py, i.e. load_weights RealESRGAN_x8.pth and model scale (model = RealESRGAN(device, scale=4)) where scale=2/4/8
- Execute: python main.py
PyTorch implementation of a Real-ESRGAN model trained on custom dataset. This model shows better results on faces compared to the original version. It is also easier to integrate this model into your projects.
This is not an official implementation. We partially use code from the original repository
Real-ESRGAN is an upgraded ESRGAN trained with pure synthetic data is capable of enhancing details while removing annoying artifacts for common real-world images.
You can try it in google colab
- Paper (Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data)
- Original implementation
- Huggingface 🤗
pip install git+https://github.com/sberbank-ai/Real-ESRGAN.git
Basic usage:
import torch
from PIL import Image
import numpy as np
from RealESRGAN import RealESRGAN
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = RealESRGAN(device, scale=4)
model.load_weights('weights/RealESRGAN_x4.pth', download=True)
path_to_image = 'inputs/lr_image.png'
image = Image.open(path_to_image).convert('RGB')
sr_image = model.predict(image)
sr_image.save('results/sr_image.png')
Low quality image:
Real-ESRGAN result:
Low quality image:
Real-ESRGAN result:
Low quality image:
Real-ESRGAN result: